mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 17:59:20 -04:00
net/tsocks: Fix erroneous substitution
When patching the wrapper script for /usr to ${PREFIX} a part in a sed statement gets substituted that should be escaped. Adjust sed statement in a way that it doesn't break after patching ${PREFIX}. While here: - move a REINPLACE_CMD operation to a pre-existing patch file - pacify portclippy - reformat with portfmt PR: 267670 Reported by: chris@mumac.de
This commit is contained in:
parent
83bd2b9827
commit
d9f28ee265
3 changed files with 145 additions and 22 deletions
|
@ -1,6 +1,6 @@
|
|||
PORTNAME= tsocks
|
||||
DISTVERSION= 1.8.b5
|
||||
PORTREVISION= 8
|
||||
PORTREVISION= 9
|
||||
CATEGORIES= net security
|
||||
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/1.8%20beta%205 \
|
||||
http://ftp1.sourceforge.net/tsocks/ \
|
||||
|
@ -17,29 +17,27 @@ USES= gmake
|
|||
USE_LDCONFIG= yes
|
||||
|
||||
GNU_CONFIGURE= yes
|
||||
|
||||
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:C/.b.*//}
|
||||
|
||||
CONFIGURE_ARGS= --with-conf=${PREFIX}/etc/tsocks.conf \
|
||||
--libdir=${PREFIX}/lib
|
||||
|
||||
OPTIONS_DEFINE= DOCS EXAMPLES HOSTNAMES MUTE OLDMETHOD SOCKSDNS
|
||||
OPTIONS_DEFAULT=HOSTNAMES
|
||||
|
||||
HOSTNAMES_DESC= Enable DNS lookups
|
||||
OLDMETHOD_DESC= Do not use RTLD_NEXT parameter to dlsym
|
||||
MUTE_DESC= Disable all error messages
|
||||
SOCKSDNS_DESC= Intercept DNS requests and attempt to force them to use TCP
|
||||
|
||||
HOSTNAMES_CONFIGURE_OFF= --disable-hostnames
|
||||
MUTE_CONFIGURE_ON= --disable-debug
|
||||
OLDMETHOD_CONFIGURE_ON= --enable-oldmethod
|
||||
SOCKSDNS_CONFIGURE_ON= --enable-socksdns
|
||||
CONFIGURE_ARGS= --libdir=${PREFIX}/lib \
|
||||
--with-conf=${PREFIX}/etc/tsocks.conf
|
||||
|
||||
SUB_FILES= pkg-message
|
||||
|
||||
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:C/.b.*//}
|
||||
|
||||
OPTIONS_DEFINE= DOCS EXAMPLES HOSTNAMES MUTE OLDMETHOD SOCKSDNS
|
||||
OPTIONS_DEFAULT= HOSTNAMES
|
||||
|
||||
HOSTNAMES_DESC= Enable DNS lookups
|
||||
MUTE_DESC= Disable all error messages
|
||||
OLDMETHOD_DESC= Do not use RTLD_NEXT parameter to dlsym
|
||||
SOCKSDNS_DESC= Intercept DNS requests and attempt to force them to use TCP
|
||||
|
||||
HOSTNAMES_CONFIGURE_OFF= --disable-hostnames
|
||||
MUTE_CONFIGURE_ON= --disable-debug
|
||||
OLDMETHOD_CONFIGURE_ON= --enable-oldmethod
|
||||
SOCKSDNS_CONFIGURE_ON= --enable-socksdns
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e 's|ufds|fds|g' ${WRKSRC}/tsocks.c
|
||||
@${REINPLACE_CMD} -e 's|/usr|${PREFIX}|' ${WRKSRC}/tsocks
|
||||
|
||||
post-install:
|
||||
|
|
11
net/tsocks/files/patch-tsocks
Normal file
11
net/tsocks/files/patch-tsocks
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- tsocks.orig 2002-03-16 10:27:18 UTC
|
||||
+++ tsocks
|
||||
@@ -53,7 +53,7 @@ case "$1" in
|
||||
fi
|
||||
;;
|
||||
off)
|
||||
- export LD_PRELOAD=`echo -n $LD_PRELOAD | sed 's/\/usr\/lib\/libtsocks.so \?//'`
|
||||
+ export LD_PRELOAD=`echo -n $LD_PRELOAD | sed 's|/usr/lib/libtsocks.so[[:blank:]]*||'`
|
||||
if [ -z "$LD_PRELOAD" ]
|
||||
then
|
||||
unset LD_PRELOAD
|
|
@ -1,6 +1,120 @@
|
|||
--- tsocks.c.orig 2002-07-15 22:50:52 UTC
|
||||
+++ tsocks.c
|
||||
@@ -852,7 +852,7 @@ static int connect_server(struct connreq
|
||||
@@ -531,12 +531,12 @@ int poll(POLL_SIGNATURE) {
|
||||
/* If we're not currently managing any requests we can just
|
||||
* leave here */
|
||||
if (!requests)
|
||||
- return(realpoll(ufds, nfds, timeout));
|
||||
+ return(realpoll(fds, nfds, timeout));
|
||||
|
||||
get_environment();
|
||||
|
||||
show_msg(MSGDEBUG, "Intercepted call to poll with %d fds, "
|
||||
- "0x%08x timeout %d\n", nfds, ufds, timeout);
|
||||
+ "0x%08x timeout %d\n", nfds, fds, timeout);
|
||||
|
||||
for (conn = requests; conn != NULL; conn = conn->next)
|
||||
conn->selectevents = 0;
|
||||
@@ -544,16 +544,16 @@ int poll(POLL_SIGNATURE) {
|
||||
/* Record what events on our sockets the caller was interested
|
||||
* in */
|
||||
for (i = 0; i < nfds; i++) {
|
||||
- if (!(conn = find_socks_request(ufds[i].fd, 0)))
|
||||
+ if (!(conn = find_socks_request(fds[i].fd, 0)))
|
||||
continue;
|
||||
show_msg(MSGDEBUG, "Have event checks for socks enabled socket %d\n",
|
||||
conn->sockid);
|
||||
- conn->selectevents = ufds[i].events;
|
||||
+ conn->selectevents = fds[i].events;
|
||||
monitoring = 1;
|
||||
}
|
||||
|
||||
if (!monitoring)
|
||||
- return(realpoll(ufds, nfds, timeout));
|
||||
+ return(realpoll(fds, nfds, timeout));
|
||||
|
||||
/* This is our poll loop. In it we repeatedly call poll(). We
|
||||
* pass select the same event list as provided by the caller except we
|
||||
@@ -566,25 +566,25 @@ int poll(POLL_SIGNATURE) {
|
||||
do {
|
||||
/* Enable our sockets for the events WE want to hear about */
|
||||
for (i = 0; i < nfds; i++) {
|
||||
- if (!(conn = find_socks_request(ufds[i].fd, 0)))
|
||||
+ if (!(conn = find_socks_request(fds[i].fd, 0)))
|
||||
continue;
|
||||
|
||||
/* We always want to know about socket exceptions but they're
|
||||
* always returned (i.e they don't need to be in the list of
|
||||
* wanted events to be returned by the kernel */
|
||||
- ufds[i].events = 0;
|
||||
+ fds[i].events = 0;
|
||||
|
||||
/* If we're waiting for a connect or to be able to send
|
||||
* on a socket we want to get write events */
|
||||
if ((conn->state == SENDING) || (conn->state == CONNECTING))
|
||||
- ufds[i].events |= POLLOUT;
|
||||
+ fds[i].events |= POLLOUT;
|
||||
/* If we're waiting to receive data we want to get
|
||||
* read events */
|
||||
if (conn->state == RECEIVING)
|
||||
- ufds[i].events |= POLLIN;
|
||||
+ fds[i].events |= POLLIN;
|
||||
}
|
||||
|
||||
- nevents = realpoll(ufds, nfds, timeout);
|
||||
+ nevents = realpoll(fds, nfds, timeout);
|
||||
/* If there were no events we must have timed out or had an error */
|
||||
if (nevents <= 0)
|
||||
break;
|
||||
@@ -597,29 +597,29 @@ int poll(POLL_SIGNATURE) {
|
||||
continue;
|
||||
|
||||
/* Find the socket in the poll list */
|
||||
- for (i = 0; ((i < nfds) && (ufds[i].fd != conn->sockid)); i++)
|
||||
+ for (i = 0; ((i < nfds) && (fds[i].fd != conn->sockid)); i++)
|
||||
/* Empty Loop */;
|
||||
if (i == nfds)
|
||||
continue;
|
||||
|
||||
show_msg(MSGDEBUG, "Checking socket %d for events\n", conn->sockid);
|
||||
|
||||
- if (!ufds[i].revents) {
|
||||
+ if (!fds[i].revents) {
|
||||
show_msg(MSGDEBUG, "No events on socket\n");
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Clear any read or write events on the socket, we'll reset
|
||||
* any that are necessary later. */
|
||||
- setevents = ufds[i].revents;
|
||||
+ setevents = fds[i].revents;
|
||||
if (setevents & POLLIN) {
|
||||
show_msg(MSGDEBUG, "Socket had read event\n");
|
||||
- ufds[i].revents &= ~POLLIN;
|
||||
+ fds[i].revents &= ~POLLIN;
|
||||
nevents--;
|
||||
}
|
||||
if (setevents & POLLOUT) {
|
||||
show_msg(MSGDEBUG, "Socket had write event\n");
|
||||
- ufds[i].revents &= ~POLLOUT;
|
||||
+ fds[i].revents &= ~POLLOUT;
|
||||
nevents--;
|
||||
}
|
||||
if (setevents & (POLLERR | POLLNVAL | POLLHUP))
|
||||
@@ -669,10 +669,10 @@ int poll(POLL_SIGNATURE) {
|
||||
|
||||
/* Now restore the events polled in each of the blocks */
|
||||
for (i = 0; i < nfds; i++) {
|
||||
- if (!(conn = find_socks_request(ufds[i].fd, 1)))
|
||||
+ if (!(conn = find_socks_request(fds[i].fd, 1)))
|
||||
continue;
|
||||
|
||||
- ufds[i].events = conn->selectevents;
|
||||
+ fds[i].events = conn->selectevents;
|
||||
}
|
||||
|
||||
return(nevents);
|
||||
@@ -852,7 +852,7 @@ static int connect_server(struct connreq *conn) {
|
||||
sizeof(conn->serveraddr));
|
||||
|
||||
show_msg(MSGDEBUG, "Connect returned %d, errno is %d\n", rc, errno);
|
||||
|
@ -9,7 +123,7 @@
|
|||
if (errno != EINPROGRESS) {
|
||||
show_msg(MSGERR, "Error %d attempting to connect to SOCKS "
|
||||
"server (%s)\n", errno, strerror(errno));
|
||||
@@ -862,6 +862,7 @@ static int connect_server(struct connreq
|
||||
@@ -862,6 +862,7 @@ static int connect_server(struct connreq *conn) {
|
||||
conn->state = CONNECTING;
|
||||
}
|
||||
} else {
|
||||
|
|
Loading…
Add table
Reference in a new issue