#! /bin/sh /usr/share/dpatch/dpatch-run ## 02_use_ntohs.dpatch by Daniel Kahn Gillmor ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: use ntohs() to generate comprehensible debug()s and syslog()s. @DPATCH@ diff -urNad redir-2.2.1~/redir.c redir-2.2.1/redir.c --- redir-2.2.1~/redir.c 1999-12-26 15:50:06.000000000 -0500 +++ redir-2.2.1/redir.c 2005-10-22 21:29:55.491735272 -0400 @@ -745,7 +745,7 @@ } debug1("peer IP is %s\n", inet_ntoa(client.sin_addr)); - debug1("peer socket is %d\n", client.sin_port); + debug1("peer socket is %d\n", ntohs(client.sin_port)); /* * Double fork here so we don't have to wait later @@ -871,8 +871,8 @@ strcpy(tmp2, inet_ntoa(target->sin_addr)); syslog(LOG_NOTICE, "connecting %s/%d to %s/%d", - tmp1, client.sin_port, - tmp2, target->sin_port); + tmp1, ntohs(client.sin_port), + tmp2, ntohs(target->sin_port)); } /* do proxy stuff */ @@ -1066,7 +1066,7 @@ if (!getpeername(0, (struct sockaddr *) &client, &client_size)) { debug1("peer IP is %s\n", inet_ntoa(client.sin_addr)); - debug1("peer socket is %d\n", client.sin_port); + debug1("peer socket is %d\n", ntohs(client.sin_port)); } if ((targetsock = socket(AF_INET, SOCK_STREAM, 0)) < 0) { perror("target: socket"); @@ -1109,8 +1109,8 @@ if (dosyslog) { syslog(LOG_NOTICE, "connecting %s/%d to %s/%d", - inet_ntoa(client.sin_addr), client.sin_port, - target_ip, target.sin_port); + inet_ntoa(client.sin_addr), ntohs(client.sin_port), + target_ip, ntohs(target.sin_port)); } /* Just start copying - one side of the loop is stdin - 0 */