wsproxy: Mac OS X build fixes

- 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 <revol@free.fr>
This commit is contained in:
François Revol 2010-11-06 14:49:59 +01:00 committed by Joel Martin
parent 1f758e87d3
commit f61274c827
4 changed files with 9 additions and 5 deletions

View File

@ -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

View File

@ -36,6 +36,10 @@
# endif
#endif
#ifndef __THROW
#define __THROW
#endif
#include "md5.h"
#ifdef _LIBC

View File

@ -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;
}

View File

@ -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");
}
}