Skip to content
go-libfossil Check-in [2237a3781a]
Login

Check-in [2237a3781a]

Overview
Comment:fix: validate carried hashes and check FOSSIL_USER first

A carried file outside a sparse store's cone skips the held check, so any caller text of 40 bytes or more reached the F card verbatim, including a newline that writes a card of its own into the check-in. checkCarried now refuses a UUID that is not a lowercase SHA1 or SHA3-256 hash, which covers FileToCommit.UUID and the sparse checkout path alike (tracked in #486).

The default login follows fossil's db_create_default_users, which checks FOSSIL_USER before USER, LOGNAME and USERNAME (tracked in #487).

Timelines: family | ancestors | descendants | both | main | trunk | feat/carried-uuid-default-login
Files: files | file ages | folders
SHA3-256: 2237a3781a2fe53e2ce93d013dcbbf5f817ae0300889b8fa91245f341be1f724
User & Date: [email protected] on 2026-10-25 21:08:25.000
Other Links: branch diff | manifest | tags
Context
2026-10-25
22:23
Merge pull request #494 from danmestas/feat/carried-uuid-default-login

feat(commit): carry files by UUID; fix Create's default login check-in: d0abc1b3fa user: [email protected] tags: main, trunk

21:08
fix: validate carried hashes and check FOSSIL_USER first

A carried file outside a sparse store's cone skips the held check, so any caller text of 40 bytes or more reached the F card verbatim, including a newline that writes a card of its own into the check-in. checkCarried now refuses a UUID that is not a lowercase SHA1 or SHA3-256 hash, which covers FileToCommit.UUID and the sparse checkout path alike (tracked in #486).

The default login follows fossil's db_create_default_users, which checks FOSSIL_USER before USER, LOGNAME and USERNAME (tracked in #487). leaf check-in: 2237a3781a user: [email protected] tags: feat/carried-uuid-default-login, main, trunk

21:05
fix(create): seed fossil's fallback login when no user is configured

Create with an empty CreateOpts.User read only $USER and then panicked in db.SeedUser on the empty login whenever that variable was unset, as it is in many containers and CI runners. The default login is now chosen as fossil(1)'s db_initial_setup chooses it: the first of USER, LOGNAME and USERNAME that is set, else "root". check-in: c15a6c60e9 user: [email protected] tags: feat/carried-uuid-default-login, main, trunk

Changes