Login
Timeline
Login

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

50 most recent check-ins

2025-07-26
21:06
Rename fsl_xfer_config::trace::flags to mask. Leaf check-in: a0a4c43cc5 user: stephan tags: trunk
13:08
Mountains of internal refactoring in the sync bits. check-in: 0c6bd4822f user: stephan tags: trunk
11:16
Add general SCM-related processing timer to fsl_xfer_metrics. Rename fsl_timer_state to fsl_timer. check-in: 7ea72e9c97 user: stephan tags: trunk
10:48
Rework the sync tracer bits to be more flexible and informative. check-in: 94c2874b72 user: stephan tags: trunk
08:25
Add wall-clock times to fsl_timer_state. Get the tracer fsl_sc impl working again. check-in: d4bb9dd128 user: stephan tags: trunk
03:48
Split the fsl_sc impls out of sync.c and into their own src/sc.c. Rename sync.c to xfer.c. check-in: a4bd400d90 user: stephan tags: trunk
03:22
Move f-clone's metrics dumper into the library, refactored to take a client-provided output callback. check-in: c052281c41 user: stephan tags: trunk
02:57
Remove more stale sync pieces. check-in: a9c6a11c46 user: stephan tags: trunk
02:55
Remove some stale stuff. check-in: 693b427aae user: stephan tags: trunk
02:31
Remove the FSL_SC_F_RESPONSE_HEADERS flag, as it turns out that we always need them to properly handle response input. Doc cleanups. check-in: b12a7b9451 user: stephan tags: trunk
02:03
Doc updates and rename the temp files again. check-in: 82a525a5b8 user: stephan tags: trunk
01:41
Delay init of request payload temp files until the first bytes would be emitted, to eliminate stray zero-byte temp files. Rename the fsl_sc_popen temp files again. check-in: 0823af4eba user: stephan tags: trunk
01:30
Minor internal cleanups. check-in: bd0a499bea user: stephan tags: trunk
2025-07-25
23:08
Fix hashing of the login card nonce, broken in recent refactoring. Rename some xfer APIs. Improve the detection of whether the xfer layer needs to decompress fossil-served bodies or not (there's an HTTP header for that). check-in: 8f03ef1f5d user: stephan tags: trunk
23:04
Add fsl_sha1sum_update_stream(). check-in: 638531eb01 user: stephan tags: trunk
21:32
Lots of tinkering. This break xfer login because something has broken in the generation of the request hash, which is on the immediate to-fix list. check-in: b69661dc18 user: stephan tags: trunk
18:29
Temporarily remove f-test-sync.c from the build. It's been broken by library refactoring and that effort is currently going into f-clone.c. check-in: 33709eb7ae user: stephan tags: trunk
06:53
Significant rejiggering of the fsl__xfer/fsl_sc relationship, working towards a public API for fsl_clone(). This breaks the f-test-sync app, but much of the same experimentation is going on over in f-clone.c, and we'll wait until that settles down before fixing it. check-in: 64ee59dcd4 user: stephan tags: trunk
01:15
Some minor reshaping of the xfer API to provide stateful fsl_sc::status callbacks. check-in: 795cc020c9 user: stephan tags: trunk
2025-07-24
22:41
Correct a missing result code check which triggered an assertion when the sync source repo file is not found. check-in: c6fe62aeb9 user: stephan tags: trunk
22:35
Get sync running on local-file repos, using (fossil test-http) for the communication layer. check-in: e8d4de863f user: stephan tags: trunk
21:58
Fix the %R format specifier from [2a7533fe6235] to set the proper output length. check-in: a287adfd95 user: stephan tags: trunk
20:59
Random cleanups and code formatting. Add fsl_to_hex(). Improve project-code handling in the clone process. check-in: ddff25b7f7 user: stephan tags: trunk
20:06
Get the skeleton of f-clone in place. It can pull a clone but not yet apply the inbound data, so it's not yet useful. check-in: 87309e591e user: stephan tags: trunk
18:48
Minor sync tinkering. check-in: 97b2c6723c user: stephan tags: trunk
18:04
Detect and report (non-fatally) project code mismatches. Add fsl_sha1sum_buffer2(). check-in: 5930b829d8 user: stephan tags: trunk
16:24
Add support for masking passwords from URLs and use that to emit a new sync message informing the app of the remote URL. check-in: 565e0e9013 user: stephan tags: trunk
15:39
Move the sync URL object from fsl__xfer to fsl_sc. Unrelated code reformatting. Add basic tests for the previous check-in. check-in: fe12d1b573 user: stephan tags: trunk
15:29
Add fsl_appendf() %R, which expects an integer argument and renders like fsl_rc_cstr(thatArg) does. Pneumonic: R for FSL_RC_... check-in: 2a7533fe62 user: stephan tags: trunk
14:50
Various tinkering. check-in: 225d682d7c user: stephan tags: trunk
07:27
Minor doc touchups. check-in: 69b71b6682 user: stephan tags: trunk
07:18
Start parsing HTTP response codes from sync input, and fail for anything but a 200 (redirects and the like are TODO). check-in: 70488d8ac2 user: stephan tags: trunk
06:14
Tinkering with the fsl__xfer configuration interface. check-in: 1a5b8933d0 user: stephan tags: trunk
05:55
Move a bunch of code from f-test-sync.c to sync.c. check-in: dfd3d5c697 user: stephan tags: trunk
05:13
Use a cookie, instead of a URL param, for the login card. check-in: a973568a20 user: stephan tags: trunk
01:59
Internal sync API cleanups. check-in: ddcdec99bf user: stephan tags: trunk
00:58
When looking up a sync user's password hash, filter out the built-in users. A minor allocation optimization in the login-card builder. check-in: 22e4893180 user: stephan tags: trunk
2025-07-23
23:30
Rework sync to build up the SHA1 signature of its request incrementally, eliminating the need for the fsl_sc impls to deal with that. Start work on fsl_sc::init() changes to support building a follow-up request while reading a remote's response, rather than having to buffer it until after the response is read. check-in: 0fde4f5f1e user: stephan tags: trunk
20:53
Add the sync login card as a URL parameter to the remote because CGI-hosted fossil cannot read it from an HTTP header. check-in: f9efc333ca user: stephan tags: trunk
12:28
Re-struct-uring to move the client-config and metrics parts of fsl__xfer into their own structs. Move the dumping of fsl__xfer metrics to a client-provided callback, called at fsl__xfer_cleanup() time. Rename fsl__scard to fsl_xfcard, with plans to move that into the public interface for use with the xfer metrics callback. check-in: efcb2bcd1f user: stephan tags: trunk
2025-07-22
22:35
Bring fsl_uperm_add() up to par with fossil's counterpart, so that some capabilities also imply others. check-in: 4a19dcec06 user: stephan tags: trunk
20:56
Route inbound 'message' sync card messages through fsl_sc_msg_emit() with message type FSL_SC_MSG_FROM_REMOTE. check-in: ee66bffb66 user: stephan tags: trunk
20:39
Remove some debug output. A micro-optimization in fsl_sha1_shared_secret2(). Fix some misinformation in the fsl_sha1_cx docs. check-in: b59364b669 user: stephan tags: trunk
19:49
Add some random bytes in a comment to the bottom of each sync request payload, as fossil does, so that the login card nonces are more random. check-in: 157648a7f2 user: stephan tags: trunk
17:51
Minor internal cleanups. libfossil sync can now log in to a fossil(1) instance running [fossil:/timeline?b=xfer-login-card | the xfer-login-card branch]. check-in: d3662155ca user: stephan tags: trunk
17:42
Fix an SHA1 init bug which caused fsl_sha1_shared_secret2() to give wrong results. This was the cause of the broken libf-to-fossil login, but this code is ancient (but also unused because sync was missing), so it did not occurr to me to look _there_ for the bug. check-in: 6e02acacfc user: stephan tags: trunk
03:04
Teach sync to fail if the remote is not exactly the expected fossil version. 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