Commit Briefs


Omar Polo

fix snprintf error handling

follow the "proper secure idiom" described in the CAVEATS section of printf(3). reminded by tb@ and millert@


Omar Polo

convert two snprintf to strlcpy

"looks good to me" millert@




Stefan Sperling

plug memory leaks in got-fetch-pack and got-send-pack

ok naddy


Stefan Sperling

let 'got fetch' send all references to the server to avoid redundant downloads

Problem reported by naddy. ok naddy



Stefan Sperling

de-duplicate a constant used by both 'got fetch' and 'got send'

Both GOT_FETCH_PKTMAX and GOT_SEND_PKTMAX had the same value. Declare this value as GOT_PKT_MAX in got_lib_pkt.h instead.


Stefan Sperling

move more code used by got-send-pack and got-fetch-pack to a common file

Move functions and data structures which implement Git protocol features required for fetching and sending pack files to new files lib/gitproto.c and lib/got_lib_gitproto.h. This code was duplicated in got-fetch-pack and got-send-pack. No functional change.


Stefan Sperling

move pkt code used by got-fetch-pack and got-send-pack to a common file

The Git protocol uses a simple packet framing format. The got-fetch-pack and got-send-pack programs contained identical copies of functions to support this format. Move related functions to new file lib/pkt.c and link both programs against this common implementation. No functional change.


Stefan Sperling

add a missing bounds-check in got-fetch-pack when parsing server response

The tokenize_refline() function could end up reading past the end of the buffer if the refline is not terminated with whitespace or \0.


Stefan Sperling

prevent NULL deref in got-fetch-pack if server does not announce capabilities

The my_capabilities pointer may remain NULL. Check for NULL before use.


Stefan Sperling

fix the error message shown when the server sends a bad ref line

Exposed by trying to run got clone -l against shithub.us over git:// found by abieber@