diff options
Diffstat (limited to 'server/src')
| -rw-r--r-- | server/src/httpd.cc | 13 | 
1 files changed, 13 insertions, 0 deletions
diff --git a/server/src/httpd.cc b/server/src/httpd.cc index 62e4c9f..10bd5bb 100644 --- a/server/src/httpd.cc +++ b/server/src/httpd.cc @@ -42,6 +42,11 @@  #include "debug.h" +// for inet_ntop +#include <sys/types.h> +#include <sys/socket.h> +#include <arpa/inet.h> +  typedef struct {    void *ptr;    bool firstrun; @@ -71,6 +76,14 @@ static int request_handler(void *cls,  {    time_t now = time(NULL);    DEBUG(httpd, "Request time: %s", ctime(&now)); + +  struct sockaddr *so; +  so = MHD_get_connection_info(con, MHD_CONNECTION_INFO_CLIENT_ADDRESS)->client_addr; + +  char peeraddr[INET_ADDRSTRLEN]; +  inet_ntop(AF_INET, &((struct sockaddr_in*)so)->sin_addr, peeraddr, sizeof(peeraddr)); +  DEBUG(httpd, "peer: %s\n", peeraddr); +    DEBUG(httpd, "request_handler: cls(%p) con(%p) url(%s) method(%s)"          " version(%s) *con_cls(%p)\n",          cls, con, url, method, version, *con_cls);  | 
