aboutsummaryrefslogtreecommitdiff
path: root/server_http.c
diff options
context:
space:
mode:
Diffstat (limited to 'server_http.c')
-rw-r--r--server_http.c38
1 files changed, 16 insertions, 22 deletions
diff --git a/server_http.c b/server_http.c
index 99b6175..1a48b4a 100644
--- a/server_http.c
+++ b/server_http.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: server_http.c,v 1.66 2015/01/19 19:37:50 reyk Exp $ */
+/* $OpenBSD: server_http.c,v 1.69 2015/01/21 22:21:05 reyk Exp $ */
/*
* Copyright (c) 2006 - 2015 Reyk Floeter <reyk@openbsd.org>
@@ -18,28 +18,20 @@
#include <sys/types.h>
#include <sys/queue.h>
-#include <sys/time.h>
-#include <sys/stat.h>
#include <sys/socket.h>
-#include <sys/un.h>
#include <sys/tree.h>
-#include <net/if.h>
#include <netinet/in.h>
-#include <netinet/ip.h>
-#include <netinet/tcp.h>
+#include <arpa/inet.h>
#include <errno.h>
-#include <fcntl.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <limits.h>
#include <stdio.h>
-#include <err.h>
-#include <pwd.h>
+#include <time.h>
#include <resolv.h>
-#include <syslog.h>
#include <event.h>
#include <fnmatch.h>
@@ -163,6 +155,8 @@ server_http_authenticate(struct server_config *srv_conf, struct client *clt)
clt_user = decoded;
*clt_pass++ = '\0';
+ if ((clt->clt_remote_user = strdup(clt_user)) == NULL)
+ goto done;
if (clt_pass == NULL)
goto done;
@@ -190,9 +184,7 @@ server_http_authenticate(struct server_config *srv_conf, struct client *clt)
if (crypt_checkpass(clt_pass, pass) == 0) {
explicit_bzero(line, linelen);
- clt->clt_fcgi_remote_user = strdup(clt_user);
- if (clt->clt_fcgi_remote_user != NULL)
- ret = 0;
+ ret = 0;
break;
}
}
@@ -631,8 +623,8 @@ server_reset_http(struct client *clt)
clt->clt_line = 0;
clt->clt_done = 0;
clt->clt_chunk = 0;
- free(clt->clt_fcgi_remote_user);
- clt->clt_fcgi_remote_user = NULL;
+ free(clt->clt_remote_user);
+ clt->clt_remote_user = NULL;
clt->clt_bev->readcb = server_read_http;
clt->clt_srv_conf = &srv->srv_conf;
@@ -853,8 +845,8 @@ server_close_http(struct client *clt)
server_httpdesc_free(desc);
free(desc);
clt->clt_descresp = NULL;
- free(clt->clt_fcgi_remote_user);
- clt->clt_fcgi_remote_user = NULL;
+ free(clt->clt_remote_user);
+ clt->clt_remote_user = NULL;
}
int
@@ -1266,8 +1258,9 @@ server_log_http(struct client *clt, u_int code, size_t len)
switch (srv_conf->logformat) {
case LOG_FORMAT_COMMON:
if (evbuffer_add_printf(clt->clt_log,
- "%s %s - - [%s] \"%s %s%s%s%s%s\" %03d %zu\n",
- srv_conf->name, ip, tstamp,
+ "%s %s - %s [%s] \"%s %s%s%s%s%s\" %03d %zu\n",
+ srv_conf->name, ip, clt->clt_remote_user == NULL ? "-" :
+ clt->clt_remote_user, tstamp,
server_httpmethod_byid(desc->http_method),
desc->http_path == NULL ? "" : desc->http_path,
desc->http_query == NULL ? "" : "?",
@@ -1290,8 +1283,9 @@ server_log_http(struct client *clt, u_int code, size_t len)
agent = NULL;
if (evbuffer_add_printf(clt->clt_log,
- "%s %s - - [%s] \"%s %s%s%s%s%s\" %03d %zu \"%s\" \"%s\"\n",
- srv_conf->name, ip, tstamp,
+ "%s %s - %s [%s] \"%s %s%s%s%s%s\" %03d %zu \"%s\" \"%s\"\n",
+ srv_conf->name, ip, clt->clt_remote_user == NULL ? "-" :
+ clt->clt_remote_user, tstamp,
server_httpmethod_byid(desc->http_method),
desc->http_path == NULL ? "" : desc->http_path,
desc->http_query == NULL ? "" : "?",