Commit Briefs
sync files from diff.git 29c010c8648ec861ee463bc8fa8c66a64dd01154
This brings in a build fix for OpenBSD/sparc64.
CHANGES for 0.78 (tags/0.78)
fix free() of wrong address in gotweb's parse.y
Found by sthen via ports-gcc: gotweb/parse.y:504:3: warning: attempt to free a non-heap object 'file'
remove casts which make older gcc versions unhappy
../lib/diffreg.c:44: error: initializer element is not constant ../lib/diffreg.c:51: error: initializer element is not constant ../lib/diffreg.c:59: error: initializer element is not constant ../lib/diffreg.c:66: error: initializer element is not constant reported by Red on Libera IRC, and by sthen@ who pointed out such failures appearing in landry's sparc64 bulk build logs.
fix reference counting of raw objects opened via privsep helpers
Such objects were never closed, resulting in memory and file descriptor leaks.
use mkstemps(3) instead of mkstemp(3) for opening named temporary files
Allows 'got commit' to use a ".diff" suffix for temporary diff files. ok op@
add respect_exportok flag, defaulting to off
allows to hide repositories if they have the magic git-daemon-export-ok file ok op@ tracey@ stsp@
gotd: propagate confpath to children as well
otherwise they end up running with default config which isn't ideal. ok stsp@
send a newline first if erroring out in plaintext mode
otherwise, the webserver might complain: 'upstream sent invalid header: "gotwebd\x20..." while reading response header from upstream' ok stsp@