X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=http_send.c;h=dace5c23c6574527a6b8c26880eb63bd896b8aca;hp=086b600f0d043f928e6c2c0f71afa65104045f00;hb=e8d5da94efd6cbb0aa75f57290c76d9992ff8f47;hpb=d5738d17b54186db8c9c7f119a03b58382ae9be4 diff --git a/http_send.c b/http_send.c index 086b600f..dace5c23 100644 --- a/http_send.c +++ b/http_send.c @@ -1,27 +1,26 @@ -/* - * Copyright (C) 2005-2011 Andre Noll - * - * Licensed under the GPL v2. For licencing details see COPYING. - */ +/* Copyright (C) 2005 Andre Noll , see file COPYING. */ /** \file http_send.c paraslash's http sender */ +#include +#include #include #include -#include -#include -#include +#include +#include +#include +#include +#include "server.lsg.h" #include "para.h" #include "error.h" #include "string.h" -#include "server.cmdline.h" #include "afh.h" -#include "afs.h" #include "server.h" #include "http.h" #include "list.h" #include "send.h" +#include "sched.h" #include "vss.h" #include "close_on_fork.h" #include "net.h" @@ -54,7 +53,7 @@ static struct sender_status http_sender_status, *hss = &http_sender_status; static int http_send_msg(struct sender_client *sc, const char *msg) { - int ret = send_buffer(sc->fd, msg); + int ret = write_buffer(sc->fd, msg); if (ret < 0) shutdown_client(sc, hss); @@ -126,7 +125,7 @@ static void http_send_chunk(struct sender_client *sc, struct sender_status *ss, ret = queue_chunk_or_shutdown(sc, ss, buf, len); goto out; } - ret = write_nonblock(sc->fd, buf, len); + ret = xwrite(sc->fd, buf, len); if (ret < 0) { shutdown_client(sc, ss); goto out; @@ -231,9 +230,9 @@ static int http_com_allow(struct sender_command_data *scd) return 1; } -static char *http_info(void) +static char *http_status(void) { - return get_sender_info(hss, "http"); + return generic_sender_status(hss, "http"); } /** @@ -247,24 +246,24 @@ static char *http_info(void) void http_send_init(struct sender *s) { int ret; - s->info = http_info; + s->status = http_status; s->send = http_send; s->pre_select = http_pre_select; s->post_select = http_post_select; s->shutdown_clients = http_shutdown_clients; s->resolve_target = NULL; s->help = generic_sender_help; - s->client_cmds[SENDER_ON] = http_com_on; - s->client_cmds[SENDER_OFF] = http_com_off; - s->client_cmds[SENDER_DENY] = http_com_deny; - s->client_cmds[SENDER_ALLOW] = http_com_allow; - s->client_cmds[SENDER_ADD] = NULL; - s->client_cmds[SENDER_DELETE] = NULL; + s->client_cmds[SENDER_on] = http_com_on; + s->client_cmds[SENDER_off] = http_com_off; + s->client_cmds[SENDER_deny] = http_com_deny; + s->client_cmds[SENDER_allow] = http_com_allow; + s->client_cmds[SENDER_add] = NULL; + s->client_cmds[SENDER_delete] = NULL; - init_sender_status(hss, conf.http_access_arg, conf.http_access_given, - conf.http_port_arg, conf.http_max_clients_arg, - conf.http_default_deny_given); - if (conf.http_no_autostart_given) + init_sender_status(hss, OPT_RESULT(HTTP_ACCESS), + OPT_UINT32_VAL(HTTP_PORT), OPT_UINT32_VAL(HTTP_MAX_CLIENTS), + OPT_GIVEN(HTTP_DEFAULT_DENY)); + if (OPT_GIVEN(HTTP_NO_AUTOSTART)) return; ret = generic_com_on(hss, IPPROTO_TCP); if (ret < 0)