Commits
- Commit:
b16893ba284e90739fc814673523878e8874dc0f
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
add some helper functions to compute hashes
This adds a set of functions to abstract over SHA1Init, SHA1Update,
SHA1Final, their respective SHA256 variants and how to compare digests.
Replace all the SHA1*() usage with the new APIs. It's a preparatory
step for sha256 handling.
ok stsp@
- Commit:
b221ffcbb1a5002260d0a678b8734656f6e18670
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: remove endian.h
This is included portably.
- Commit:
98670ba726486c39efff220ab1e074c62023aae7
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: rework SHA detection
Simply the SHA detection by not predicating on libcrypto, but instead
checking individual header files.
- Commit:
4680f704353811c8bb6ce65eac3714d1bd200c26
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: remove sha1.h; found portably
Remove sha1.h as this is found portably across systems.
- Commit:
be288a59f42e0b5e203e2c5545bf3e042ff4b79f
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
rename lib/sha1.c to lib/hash.c
It will soon grow functions to deal with sha256 too. stsp@ agrees.
- Commit:
588a8092bc282294ee23585991e81586905a8fd4
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
include sha2.h too where sha1.h is included
In preparation for wide sha256 support; stsp@ agrees. Change done
mechanically with
find . -iname \*.[cy] -exec sam {} +
X ,x/<sha1\.h>/i/\n#include <sha2.h>
- Commit:
4907b168fc2d1b3b9b6be5a6d707d9dc584cc717
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
use SHA1_DIGEST_LENGTH instead of sizeof(id)
ok stsp
- Commit:
c44c7d6e16104afbe967e70415d98e2e58ec1b23
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
avoid copying reused deltas to delta cache file; copy from pack file instead
ok op@
- Commit:
b1fad72fdca8c2a237161cac88778e31a58bccb1
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
add missing free() of delta buffers in several error paths
- Commit:
e485d53ccedd8763e8b66aefb2d491487e6d73c0
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
change add_delta to take an off_t instead of size_t.
add_delta already calls got_delta_open casting the size_t to off_t, and
all the add_delta callers pass an off_t anyway; fixes an implicit off_t
truncation.
ok stsp@
- Commit:
66e6097f5d9b6050841626edfd5c094114eeae28
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
convert got_pack' filesize to off_t; ok stsp@
- Commit:
aa75acde9c5f406b658c54827bc596cf96d7c64e
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
check size before calling mmap(2)
It's only a preparatory step, as checking whether a size_t is less than
SIZE_MAX is moot. In a follow-up commit, however, the `filesize' field
of the struct got_pack will become off_t and these checks will kick in.
This also makes consistent how we guard mmap(2) against empty files.
ok and improvements stsp@
- Commit:
30d415a5040946f62a5e9e8c6bf6ccf7f5509541
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
add missing `goto done;' on error path; ok stsp@
- Commit:
04fb0dd80d172753f311cfa4fdd0e15b107240bd
- From:
- Christian Weisgerber <naddy@mips.inka.de>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
fix off_t type mismatch
off_t is a signed type and depending on the platform, it can be
"long" or "long long", so cast to long long for printf().
- Commit:
2424a69df90c2e63ec0640ae982b316106698760
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
change got_pack_parse_offset_delta tslen argument to size_t
The tslen argument is always in the (1..9) range so `int' is technically
fine (even int8_t would be!) but all the callers are passing a size_t,
so change the type accordingly.
ok stsp@
- Commit:
a6ca45d5dd6d6fe622d1a0c2bf771551f13c20dd
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
close parent's end of imsg pipe before waiting for a child process to exit
Prevents a dead-lock in 'tog log' where tog wants to exit (e.g. because
the user pressed Ctrl-C) while a got-read-pack child process wants to
send more commits.
Closing the parent's pipe descriptor makes writes to the pipe fail in
the child process. The child then unwinds via an ERR_EOF error and
exits, instead of forever polling its end of the pipe in order to
write more data.
ok jamsek
- Commit:
eac8a74152aaeefa13523d08f355cfd630a8c799
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
provide a more useful error if the size of a packed object won't fit in 64 bits
- Commit:
723ed5ad7b6b4e64fb94f1b356e4cfbf4c86edac
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
do not crash if no delta cache is present while parsing deltas
- Commit:
e4a6dbc6cd4d9ac4f616b16388061ef0f8fec303
- From:
- Christian Weisgerber <naddy@mips.inka.de>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
fix off_t type mismatches
off_t is a signed type and depending on the platform, it can be
"long" or "long long", so cast to long long for printf().
ok stsp
- Commit:
8b925c6ccd3968917253ea191906a1710c40ed2d
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: add back sys/queue.h
Now that the handling of including sys/queue.h is better, there's no
need to remove those lines from the source. Copy the location of those
original sys/queue.h lines from upstream at the same line number, so as
to avoid any conflicts in the future.
- Commit:
68036464ea72a92fd21d72135814faed6abad71a
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
allow start_pack_privsep_child() to be called from outside lib/object.c
- Commit:
bfb5ee0b7372ae375143b9dee5552b8bec26cf05
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
open temporary files needed for delta application in got_repo_open()
This prepares for callers of got_repo_open() that cannot afford to
open files in /tmp, such as gotwebd. In a follow-up change, we could
ask such callers to pass in the required amount of open temporary files.
One consequence is that got_repo_open() now requires the "cpath" pledge
promise. Add the "cpath" promise to affected callers and remove it once
the repository has been opened.
ok tracey
- Commit:
6c85883bcc71c13fe4fa5bfba2ddf30edabc92b9
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
avoid get_delta_chain_max_size() in dump_delta_chain_to_mem()
- Commit:
210941d5b54452c8d6c17e171bae6b701622a014
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
avoid get_delta_chain_max_size() in dump_delta_chain_to_file()
- Commit:
9249e7e337edcfd344dc416d11ad4274c90a02f5
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
store deltas in compressed form while packing, both in memory and cache file
This reduces memory and disk space consumption during packing.
with tweaks + memleak on error fix from op@
ok op@