Login
Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

50 most recent check-ins

2025-07-22
03:04
Teach sync to fail if the remote is not exactly the expected fossil version. Leaf check-in: 0d4f93b36b user: stephan tags: trunk
02:39
Sync now sends a login card header. This requires an experimental version of fossil ([fossil:/timeline?b=xfer-login-card]) and that that feature actually be enabled (which requires a source edit). Also: the login is failing, apparently do to some as-yet-unrecognized failure in how this side is constructing the login card signature. check-in: c6de4a0086 user: stephan tags: trunk
2025-07-21
17:51
More work on fsl_uperm. Add a sketch impl for how to handle the login card from the popen() fsl_sc impl, which isn't pretty but should work (once we start actually generating login cards). check-in: 64994439a8 user: stephan tags: trunk
15:44
Add fsl_uperm_add() support for the inheritance of 'developer' and 'reader' permissions. Add some fsl_uperm tests to f-sanity. check-in: bc9eabe0f2 user: stephan tags: trunk
14:28
Bikeshedding via minor docs and internal cleanups. check-in: a8d9625008 user: stephan tags: trunk
14:03
Remove some duplicated docs. check-in: a089812f09 user: stephan tags: trunk
14:01
Add fsl_uperm to model fossil(1) permissions and start adding APIs to deal with them, as the sync layer will want this sooner rather than later. We won't actually make any use of permissions until we can receive sync data, as local users always have full permission, but it'll be easier to get those checks into the sync layer early on than trying to figure out where they should go later. check-in: 9eec05bc8f user: stephan tags: trunk
2025-07-20
13:17
Account for fsl_cx being made opaque since this code was last updated. check-in: a0ddbd70fd user: stephan tags: trunk
12:58
Remove a lingering check for the --loud flag. Use msg-result instead of puts where it's applicable so that those places honor autosetup's --quite flag. check-in: 856bc7d4c0 user: stephan tags: trunk
12:54
Remove the --loud configure flag: it hasn't done anything since the last build rewrite. check-in: 55a2028ffd user: stephan tags: trunk
12:33
Move the configure-time version info around to avoid having to pass it as CFLAGS to specific files and embed that info in the amalgamation's libfossil.h. check-in: 430cd9a747 user: stephan tags: trunk
11:44
Add fsl_buildinfo(). Move some of the configure-calculated pieces around to reduce their overall impact on the build to just where they are needed. The goal here is to be able to eliminate libfossil-config.h for the amalgamation build, but we're not quite there yet. check-in: edd6aae612 user: stephan tags: trunk
2025-07-19
13:54
Pull in latest upstream fnc. check-in: 45b8eee7fa user: stephan tags: trunk
12:38
Correct the new 'upload' makefile target to actually do the upload instead of telling the invoker how to do it. check-in: cde2406a11 user: stephan tags: trunk
12:36
Add a top-level include guard around the generated libfossil.h. check-in: 2e2b5a081b user: stephan tags: trunk
2025-07-17
19:22
Pedantic internal build doc fix. check-in: b63fb62d6a user: stephan tags: trunk
2025-07-10
00:41
Replace some hard-coded 'trunk' branch references to the value from fsl_branch_main(). check-in: e410338e43 user: stephan tags: trunk
00:11
Minor internal query optimizations based on learnings from the fossil(1) tree today. check-in: 44fa4c0dbe user: stephan tags: trunk
2025-07-09
23:09
Generic cleanups. Add fsl_branch_main() as a way to get (and cache) the 'main-branch' repo setting, so that it can be used in some queries which currently hard-code 'trunk'. Fix a memleak in an f-sanity test. check-in: b735efb1d8 user: stephan tags: trunk
22:02
Move some of the lib-level init around and change how some of it's initialized. Register the regexp extension along with the other fossil-specific functions rather than as an auto-extension (that's simpler, actually). check-in: 1cf7331167 user: stephan tags: trunk
21:05
More tinkering with the as-yet-unused mutex bits. check-in: 6448435aba user: stephan tags: trunk
21:04
Compile sqlite3.c with SQLITE_THREADSAFE=1 if pthreads is found. check-in: 0d52114f9f user: stephan tags: trunk
21:03
Add the regex extension to the amalgamation. check-in: 11f1233481 user: stephan tags: trunk
20:31
Internal cleanups for the as-yet-unused mutex bits. check-in: 577d0dc19a user: stephan tags: trunk
11:52
fsl_appendfv(): avoid allocating a temp buffer for %/ when the path is shorter than the stack-local buffer size. check-in: 21127b781f user: stephan tags: trunk
2025-07-08
13:58
Tiny cleanups to the previous checkin. check-in: 58ff499a67 user: stephan tags: trunk
13:55
Get the old regexp sqlite3 extension building again, but keep it deactivated for the time being (it's always been a solution looking for a problem). check-in: a5620f2f0f user: stephan tags: trunk
13:18
Add deps generation to the C++ pieces. check-in: fdaaa2c895 user: stephan tags: trunk
13:04
Another C++ fix (how was this compiling? Stale build due to deps bug?). Rename fsl_error_move() to fsl_error_swap() and #define fsl_error_move fsl_error_swap to avoid potential downstream breakage. check-in: 155efb740a user: stephan tags: trunk
12:50
Doc touchups. Fix some C++ breakage caused by C-side API changes. check-in: 27e1a1119b user: stephan tags: trunk
12:34
Doc tweaks and internal API renaming. No functional changes. check-in: 547beaa0c7 user: stephan tags: trunk
12:33
Remove some 'else's in C++ code which gcc 13.3.0 is misdiagnosing as failing to return when the if() body unconditionally throws and the else body unconditionally returns. check-in: 1532dc986f user: stephan tags: trunk
11:57
Transform an assert() to a proper error. Remove an unused header. check-in: e732b84c90 user: stephan tags: trunk
11:26
EOL whitespace removal and update the C++ bits to work with recent changes. check-in: e10aed43d9 user: stephan tags: trunk
2025-06-30
10:38
Simplify how fcli finds the fossil binary. Add fsl__find_bin(). Minor tinkering with the sync pieces. check-in: 21143f6cc2 user: stephan tags: trunk
10:07
Fix test cases broken by an API change in [9cb314549426]. check-in: 90878aa9fb user: stephan tags: trunk
2025-06-29
08:57
Portability fix: do not shift 32 bits in an enum. check-in: 620b0c8e7d user: stephan tags: trunk
2025-06-27
12:43
Ensure that fsl_buffer_escape_arg() always sets the buffer's error code on error. Shorten temp file names a bit. Cleanup handling of the curl URL CLI arg. Remove some duplicate debug output. check-in: 9cb3145494 user: stephan tags: trunk
12:19
Fix the tracer fsl_sc by copying the flags of the channel it proxies. Add missing sealRequest() method to the tracer. check-in: ef71a875e6 user: stephan tags: trunk
12:07
Remove two broken asserts and some debug output which cannot work since changes in the previous checkin. check-in: 71fe58ddb6 user: stephan tags: trunk
12:03
Move the sync URL from the fsl_sc_popen class to the fsl_sc class, as we need it there for fsl__xfer to be able to construct the request headers. Start creating such headers, but don't feed them to the fsl_sc yet. check-in: b273e21603 user: stephan tags: trunk
10:22
Internal refactoring in prep for some fsl_sc experimentation. check-in: be6e412cfa user: stephan tags: trunk
09:10
Remove a bunch of dead code. Start extending the fsl_sc interface to be able to farm out generation of the HTTP request headers to fsl__xfer (which opens new question about how to handle the login sync card from the curl-based impl), but it's still in flux. Start adding a fsl_sc_popen impl which uses (fossil test-http) for the transport (like fossil itself does), but that one will require lib-side generation of HTTP headers, so we need to sidetrack a bit. check-in: 9eb9331fa2 user: stephan tags: trunk
2025-06-26
18:17
Add the FSL_SC_F_NO_READ_LINE support. It has caveats, like being well more than an order of magnitude slower than a "native" read-one-line operation. Teach fsl__xfer, in conjunction with FSL_SC_F_RESPONSE_HEADERS, to look for the Content-Length header and, if appropriate for the current mode, use that value to pre-allocate the response payload buffer. check-in: d18c63d0e8 user: stephan tags: trunk
14:12
Replace a magic number (blob upper size limit) with FSL_BLOB_MAX_SIZE. Add fsl_flag32_t typedef. check-in: 69fd413c05 user: stephan tags: trunk
12:57
Latest upstream sqlite3. check-in: 0ba44a1f27 user: stephan tags: trunk
12:34
Add some as-yet-untested code to have fsl__xfer be able to strip HTTP headers from a response. Add fsl_timer_scope(). Remove many extraneous const qualifiers from func decls (as opposed to impls) because it's not actually part of the formal function signature, so is just noise. check-in: a8d0b624f2 user: stephan tags: trunk
10:19
Remove a done TODO comment. Add the fsl_rc_cstr() to the fsl_sc_error() error string prefix. check-in: 54f7425dfe user: stephan tags: trunk
09:58
Fix the new compressed size comparison to be >= instead of > because that's how fossil does it. check-in: 578cecec20 user: stephan tags: trunk
09:56
Strengthen fsl_data_is_compressed() a bit against false positives by ruling out data where the first 4 bytes do not add up to a value in range for a fossil-encoded buffer. check-in: 90c030cf58 user: stephan tags: trunk