--- webmitm.c.orig 2015-01-29 00:16:20.000000000 +0100 +++ webmitm.c 2015-01-29 00:16:44.000000000 +0100 @@ -43,7 +43,7 @@ int client_fd, server_fd; SSL_CTX *ssl_client_ctx, *ssl_server_ctx; SSL *ssl_client, *ssl_server; -struct sockaddr_in csin, ssin; +struct sockaddr_in c_sin, s_sin; int do_ssl, sig_pipe[2]; in_addr_t static_host = 0; @@ -101,8 +101,8 @@ char obuf[1024]; if ((len = decode_http(buf, len, obuf, sizeof(obuf))) > 0) { - record(csin.sin_addr.s_addr, ssin.sin_addr.s_addr, - IPPROTO_TCP, ntohs(csin.sin_port), ntohs(ssin.sin_port), + record(c_sin.sin_addr.s_addr, s_sin.sin_addr.s_addr, + IPPROTO_TCP, ntohs(c_sin.sin_port), ntohs(s_sin.sin_port), "http", obuf, len); } } @@ -220,9 +220,9 @@ char *vhost; int i; - memset(&ssin, 0, sizeof(ssin)); - ssin.sin_family = AF_INET; - ssin.sin_port = do_ssl ? htons(443) : htons(80); + memset(&s_sin, 0, sizeof(s_sin)); + s_sin.sin_family = AF_INET; + s_sin.sin_port = do_ssl ? htons(443) : htons(80); if (static_host == 0) { buf_init(&msg, buf, size); @@ -242,20 +242,20 @@ word = buf_tok(&msg, "/", 1); vhost = buf_strdup(word); } - ssin.sin_addr.s_addr = libnet_name2addr4(NULL, vhost, 1); + s_sin.sin_addr.s_addr = libnet_name2addr4(NULL, vhost, 1); free(vhost); - if (ssin.sin_addr.s_addr == ntohl(INADDR_LOOPBACK) || - ssin.sin_addr.s_addr == -1) { + if (s_sin.sin_addr.s_addr == ntohl(INADDR_LOOPBACK) || + s_sin.sin_addr.s_addr == -1) { errx(1, "couldn't resolve host in request"); } } - else ssin.sin_addr.s_addr = static_host; + else s_sin.sin_addr.s_addr = static_host; if ((server_fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) err(1, "socket"); - if (connect(server_fd, (struct sockaddr *)&ssin, sizeof(ssin)) < 0) + if (connect(server_fd, (struct sockaddr *)&s_sin, sizeof(s_sin)) < 0) err(1, "connect"); if (do_ssl) { @@ -355,7 +355,7 @@ if (Opt_debug) warnx("new connection from %s.%d", - inet_ntoa(csin.sin_addr), ntohs(csin.sin_port)); + inet_ntoa(c_sin.sin_addr), ntohs(c_sin.sin_port)); client_init(); @@ -363,7 +363,7 @@ err(1, "client_request"); if (Opt_debug) - warnx("%d bytes from %s", i, inet_ntoa(csin.sin_addr)); + warnx("%d bytes from %s", i, inet_ntoa(c_sin.sin_addr)); if (Opt_debug > 1) write(STDERR_FILENO, buf, i); @@ -393,7 +393,7 @@ if (Opt_debug) warnx("%d bytes from %s", - i, inet_ntoa(csin.sin_addr)); + i, inet_ntoa(c_sin.sin_addr)); if (Opt_debug > 1) write(STDERR_FILENO, buf, i); @@ -411,7 +411,7 @@ if (Opt_debug) warnx("%d bytes from %s", - i, inet_ntoa(ssin.sin_addr)); + i, inet_ntoa(s_sin.sin_addr)); if (Opt_debug > 2) write(STDERR_FILENO, buf, i); @@ -456,7 +456,7 @@ if (errno != EINTR) err(1, "select"); } - i = sizeof(csin); + i = sizeof(c_sin); if (FD_ISSET(sig_pipe[0], &fds)) { while (read(sig_pipe[0], &i, 1) == 1) @@ -466,11 +466,11 @@ continue; } if (FD_ISSET(http_fd, &fds)) { - client_fd = accept(http_fd, (struct sockaddr *)&csin, &i); + client_fd = accept(http_fd, (struct sockaddr *)&c_sin, &i); do_ssl = 0; } else if (FD_ISSET(https_fd, &fds)) { - client_fd = accept(https_fd, (struct sockaddr *)&csin, &i); + client_fd = accept(https_fd, (struct sockaddr *)&c_sin, &i); do_ssl = 1; } else errx(1, "select failure");