Commit Briefs
significantly reduce the amount of code linked into gitwrapper
By moving got_serve_parse_command() from lib/serve.c into lib/dial.c as got_dial_parse_command(), we can significantly reduce the amount of symbols gitwrapper depends on indirectly. As a downside, gotsh now needs to link to dial.c. But it only uses the same parsing routine, and any other routines in dial.c would likely cause pledge violations in gotsh if used. No functional change.
dial: fix quoting for git-shell
Escape the path to the repository when connecting via SSH. This is needed if the path contains spaces, quotes or other "funny" characters, but also by git-shell which requires the argument to be surrounded by single-quote characters. Issue with git-shell reported by James Cook, fix based on an initial diff by stsp@. ok stsp@
add missing freaddrinfo
also spotted by valgrind. ok stsp@
build with -Wwrite-strings
Throwing this into the mix for a while, we can always get rid of it again if it becomes annoying. No objections from stsp@
build with -Wmissing-prototypes
ok stsp@
fix level of indirection
ok stsp
rename got_fetch_parse_uri() to got_dial_parse_uri()
This function is now being used by both 'got fetch' and 'got send' so its former name was misleading.
move duplicated dial_ssh() and dial_git() functions into a common file
These functions are used by 'got send' and 'got fetch' in order to open network connections to a server. Move them into new file lib/dial.c and declare relevant functions in got_dial.h and lib/got_lib_dial.h. No functional change.