From e29509833078a2309ddf590580c8e99699e41c25 Mon Sep 17 00:00:00 2001 From: Joel Martin Date: Thu, 31 May 2012 09:20:01 -0500 Subject: [PATCH] Fix wrap mode when used with --web option. - The --web option changes directory so the wrap mode needs to get an absolute path to the rebinder. - Also, use long instead of int in rebind.c so avoid compile warnings. --- rebind.c | 4 ++-- websockify | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/rebind.c b/rebind.c index f6c5ed0..d7b004d 100644 --- a/rebind.c +++ b/rebind.c @@ -72,7 +72,7 @@ int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen) if (! do_move) { /* Just pass everything right through to the real bind */ - ret = (int) func(sockfd, addr, addrlen); + ret = (long) func(sockfd, addr, addrlen); DEBUG("<< bind(%d, _, %d) ret %d\n", sockfd, addrlen, ret); return ret; } @@ -87,7 +87,7 @@ int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen) /* Bind to other port on the loopback instead */ addr_tmp.sin_addr.s_addr = htonl(INADDR_LOOPBACK); addr_tmp.sin_port = htons(newport); - ret = (int) func(sockfd, &addr_tmp, addrlen_tmp); + ret = (long) func(sockfd, &addr_tmp, addrlen_tmp); DEBUG("<< bind(%d, _, %d) ret %d\n", sockfd, addrlen, ret); return ret; diff --git a/websockify b/websockify index 1c04a5b..bebe885 100755 --- a/websockify +++ b/websockify @@ -60,6 +60,7 @@ Traffic Legend: if not self.rebinder: raise Exception("rebind.so not found, perhaps you need to run make") + self.rebinder = os.path.abspath(self.rebinder) self.target_host = "127.0.0.1" # Loopback # Find a free high port