From f61274c827716081f95001f6bc483258f6448467 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= Date: Sat, 6 Nov 2010 14:49:59 +0100 Subject: [PATCH] wsproxy: Mac OS X build fixes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - pass CFLAGS and LDFLAGS in case one needs to use -m32 - link to libcrypto for _ERR_print_errors_fp - __THROW is non-standard define it to nothing by default - use b64_ntop and b64_pton instead of mangled versions, OSX doesn't mangle them in the same way - access() takes two arguments! Signed-off-by: François Revol --- utils/Makefile | 4 ++-- utils/md5.c | 4 ++++ utils/websocket.c | 4 ++-- utils/wsproxy.c | 2 +- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/utils/Makefile b/utils/Makefile index 00c8dc69..6cd166b4 100644 --- a/utils/Makefile +++ b/utils/Makefile @@ -1,10 +1,10 @@ wsproxy: wsproxy.o websocket.o md5.o - $(CC) $^ -l ssl -l resolv -o $@ + $(CC) $(LDFLAGS) $^ -l ssl -lcrypto -l resolv -o $@ websocket.o: websocket.c websocket.h md5.h wsproxy.o: wsproxy.c websocket.h md5.o: md5.c md5.h - $(CC) -c -o $@ $*.c -DHAVE_MEMCPY -DSTDC_HEADERS + $(CC) $(CFLAGS) -c -o $@ $*.c -DHAVE_MEMCPY -DSTDC_HEADERS clean: rm -f wsproxy wsproxy.o websocket.o md5.o diff --git a/utils/md5.c b/utils/md5.c index 31a57a8c..b89c29db 100644 --- a/utils/md5.c +++ b/utils/md5.c @@ -36,6 +36,10 @@ # endif #endif +#ifndef __THROW +#define __THROW +#endif + #include "md5.h" #ifdef _LIBC diff --git a/utils/websocket.c b/utils/websocket.c index 087085d4..4205721f 100644 --- a/utils/websocket.c +++ b/utils/websocket.c @@ -191,7 +191,7 @@ int encode(u_char const *src, size_t srclength, char *target, size_t targsize) { int i, sz = 0, len = 0; unsigned char chr; target[sz++] = '\x00'; - len = __b64_ntop(src, srclength, target+sz, targsize-sz); + len = b64_ntop(src, srclength, target+sz, targsize-sz); if (len < 0) { return len; } @@ -213,7 +213,7 @@ int decode(char *src, size_t srclength, u_char *target, size_t targsize) { /* We may have more than one frame */ end = memchr(start, '\xff', srclength); *end = '\x00'; - len = __b64_pton(start, target+retlen, targsize-retlen); + len = b64_pton(start, target+retlen, targsize-retlen); if (len < 0) { return len; } diff --git a/utils/wsproxy.c b/utils/wsproxy.c index 928b2ee8..7e1b5685 100644 --- a/utils/wsproxy.c +++ b/utils/wsproxy.c @@ -324,7 +324,7 @@ int main(int argc, char *argv[]) if (ssl_only) { printf("cert: %s\n", settings.cert); - if (!settings.cert || !access(settings.cert)) { + if (!settings.cert || !access(settings.cert, R_OK)) { usage("SSL only and cert file not found\n"); } }