X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=libs%2Fshttpd%2Flog.c;fp=libs%2Fshttpd%2Flog.c;h=0000000000000000000000000000000000000000;hb=dec33c63afafabf83c3039e916725cac6faef9b3;hp=583142f3e0e61a050756e0aa75e4aeb714d5160c;hpb=9b22dd53fe62e312c1647310b7ec43aa127090af;p=fms.git diff --git a/libs/shttpd/log.c b/libs/shttpd/log.c deleted file mode 100644 index 583142f..0000000 --- a/libs/shttpd/log.c +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright (c) 2004-2005 Sergey Lyubka - * All rights reserved - * - * "THE BEER-WARE LICENSE" (Revision 42): - * Sergey Lyubka wrote this file. As long as you retain this notice you - * can do whatever you want with this stuff. If we meet some day, and you think - * this stuff is worth it, you can buy me a beer in return. - */ - -#include "defs.h" - -/* - * Log function - */ -void -elog(int flags, struct conn *c, const char *fmt, ...) -{ - char date[64], buf[URI_MAX]; - int len; - FILE *fp = c == NULL ? NULL : c->ctx->error_log; - va_list ap; - - /* Print to stderr */ - if (c == NULL || !IS_TRUE(c->ctx, OPT_INETD)) { - va_start(ap, fmt); - (void) vfprintf(stderr, fmt, ap); - (void) fputc('\n', stderr); - va_end(ap); - } - - strftime(date, sizeof(date), "%a %b %d %H:%M:%S %Y", - localtime(¤t_time)); - - len = my_snprintf(buf, sizeof(buf), - "[%s] [error] [client %s] \"%s\" ", - date, c ? inet_ntoa(c->sa.u.sin.sin_addr) : "-", - c && c->request ? c->request : "-"); - - va_start(ap, fmt); - (void) vsnprintf(buf + len, sizeof(buf) - len, fmt, ap); - va_end(ap); - - buf[sizeof(buf) - 1] = '\0'; - - if (fp != NULL && (flags & (E_FATAL | E_LOG))) { - (void) fprintf(fp, "%s\n", buf); - (void) fflush(fp); - } - - if (flags & E_FATAL) - exit(EXIT_FAILURE); -} - -void -log_access(FILE *fp, const struct conn *c) -{ - static const struct vec dash = {"-", 1}; - - const struct vec *user = &c->ch.user.v_vec; - const struct vec *referer = &c->ch.referer.v_vec; - const struct vec *user_agent = &c->ch.useragent.v_vec; - char date[64], buf[URI_MAX], *q1 = "\"", *q2 = "\""; - - if (user->len == 0) - user = ‐ - - if (referer->len == 0) { - referer = ‐ - q1 = ""; - } - - if (user_agent->len == 0) { - user_agent = ‐ - q2 = ""; - } - - (void) strftime(date, sizeof(date), "%d/%b/%Y:%H:%M:%S", - localtime(&c->birth_time)); - - (void) my_snprintf(buf, sizeof(buf), - "%s - %.*s [%s %+05d] \"%s\" %d %lu %s%.*s%s %s%.*s%s", - inet_ntoa(c->sa.u.sin.sin_addr), user->len, user->ptr, - date, tz_offset, c->request ? c->request : "-", - c->status, (unsigned long) c->loc.io.total, - q1, referer->len, referer->ptr, q1, - q2, user_agent->len, user_agent->ptr, q2); - - if (fp != NULL) { - (void) fprintf(fp, "%s\n", buf); - (void) fflush(fp); - } -}