diff options
Diffstat (limited to 'daemon.c')
| -rw-r--r-- | daemon.c | 27 |
1 files changed, 12 insertions, 15 deletions
@@ -1,20 +1,10 @@ -#include <signal.h> -#include <sys/wait.h> -#include <sys/socket.h> -#include <sys/time.h> -#include <sys/poll.h> -#include <netdb.h> -#include <netinet/in.h> -#include <arpa/inet.h> -#include <syslog.h> -#include <pwd.h> -#include <grp.h> -#include <limits.h> -#include "pkt-line.h" #include "cache.h" +#include "pkt-line.h" #include "exec_cmd.h" #include "interpolate.h" +#include <syslog.h> + #ifndef HOST_NAME_MAX #define HOST_NAME_MAX 256 #endif @@ -112,7 +102,7 @@ static void logreport(int priority, const char *err, va_list params) buf[buflen++] = '\n'; buf[buflen] = '\0'; - write(2, buf, buflen); + write_in_full(2, buf, buflen); } static void logerror(const char *err, ...) @@ -382,9 +372,16 @@ static int upload_archive(void) return -1; } +static int receive_pack(void) +{ + execl_git_cmd("receive-pack", ".", NULL); + return -1; +} + static struct daemon_service daemon_service[] = { { "upload-archive", "uploadarch", upload_archive, 0, 1 }, { "upload-pack", "uploadpack", upload_pack, 1, 1 }, + { "receive-pack", "receivepack", receive_pack, 0, 1 }, }; static void enable_service(const char *name, int ena) { @@ -411,7 +408,7 @@ static void make_service_overridable(const char *name, int ena) { /* * Separate the "extra args" information as supplied by the client connection. - * Any resulting data is squirrelled away in the given interpolation table. + * Any resulting data is squirreled away in the given interpolation table. */ static void parse_extra_args(struct interp *table, char *extra_args, int buflen) { |
