mirror of
https://github.com/3proxy/3proxy.git
synced 2025-02-22 18:15:41 +08:00
Fix windows issues
This commit is contained in:
parent
8198db8617
commit
d162ad5c38
@ -14,7 +14,7 @@ LN = link
|
||||
LDFLAGS = /nologo /subsystem:console /incremental:no /machine:I386
|
||||
DLFLAGS = /DLL
|
||||
DLSUFFICS = .dll
|
||||
LIBS = ws2_32.lib advapi32.lib odbc32.lib user32.lib kernel32.lib Gdi32.lib libcrypto_static.lib libssl_static.lib
|
||||
LIBS = ws2_32.lib advapi32.lib odbc32.lib user32.lib kernel32.lib Gdi32.lib Crypt32.lib libcrypto64MT.lib libssl64MT.lib
|
||||
LIBSOLD = libeay32MT.lib ssleay32MT.lib
|
||||
LIBSPREFIX =
|
||||
LIBSSUFFIX = .lib
|
||||
|
@ -14,7 +14,7 @@ LN = link
|
||||
LDFLAGS = /nologo /subsystem:console /incremental:no /machine:x64
|
||||
DLFLAGS = /DLL
|
||||
DLSUFFICS = .dll
|
||||
LIBS = ws2_32.lib advapi32.lib odbc32.lib user32.lib kernel32.lib Gdi32.lib libcrypto_static.lib libssl_static.lib
|
||||
LIBS = ws2_32.lib advapi32.lib odbc32.lib user32.lib kernel32.lib Gdi32.lib Crypt32.lib libcrypto64MT.lib libssl64MT.lib
|
||||
LIBSOLD = libeay32.lib ssleay32.lib
|
||||
LIBSPREFIX =
|
||||
LIBSSUFFIX = .lib
|
||||
|
11
src/common.c
11
src/common.c
@ -207,13 +207,16 @@ int
|
||||
return connect(s, name, namelen);
|
||||
}
|
||||
int WINAPI def_getpeername(void* state, SOCKET s, struct sockaddr * name, int * namelen){
|
||||
return getpeername(s, struct name, namelen);
|
||||
return getpeername(s, name, namelen);
|
||||
}
|
||||
int WINAPI def_getsockname(void* state, SOCKET s, struct sockaddr * name, int * namelen){
|
||||
return getsockname(s, name, namelen);
|
||||
}
|
||||
int WINAPI def_getsockopt(void* state, SOCKET s, int level, int optname, char * optval, int * optlen){
|
||||
return getsockopts(s, level, optname, optval, optlen);
|
||||
return getsockopt(s, level, optname, optval, optlen);
|
||||
}
|
||||
int WINAPI def_setsockopt(void* state, SOCKET s, int level, int optname, const char *optval, int optlen){
|
||||
return setsockopt(s, level, optname, optval, optlen);
|
||||
}
|
||||
int WINAPI def_poll(void* state, struct pollfd *fds, unsigned int nfds, int timeout){
|
||||
#ifndef WITH_POLL
|
||||
@ -227,10 +230,10 @@ int
|
||||
#endif
|
||||
}
|
||||
int WINAPI def_send(void* state, SOCKET s, const char *msg, int len, int flags){
|
||||
return send(state, s, msg, len, flags);
|
||||
return send(s, msg, len, flags);
|
||||
}
|
||||
int WINAPI def_sendto(void* state, SOCKET s, const char *msg, int len, int flags, const struct sockaddr *to, int tolen){
|
||||
return sendto(state, s, msg, len, flags, to, tolen);
|
||||
return sendto(s, msg, len, flags, to, tolen);
|
||||
}
|
||||
|
||||
int WINAPI def_recv(void* state, SOCKET s, char *buf, int len, int flags){
|
||||
|
@ -262,7 +262,7 @@ static void removefps(struct fp_stream * fps){
|
||||
}
|
||||
|
||||
static int WINAPI fp_connect(SOCKET s, const struct sockaddr *name, fp_size_t namelen){
|
||||
return sso._connect(s, name, namelen);
|
||||
return sso._connect(sso.state, s, name, namelen);
|
||||
}
|
||||
|
||||
void processcallbacks(struct fp_stream *fps, int what, char *msg, int size){
|
||||
@ -287,7 +287,7 @@ void processcallbacks(struct fp_stream *fps, int what, char *msg, int size){
|
||||
case GOT_SMTP_REQ:
|
||||
case GOT_SMTP_DATA:
|
||||
fps->state = FLUSH_DATA;
|
||||
pl->socksend(fps->fpd.cp->clisock, fp_stringtable[1], (int)strlen(fp_stringtable[1]), pl->conf->timeouts[STRING_S]);
|
||||
pl->socksend(fps->fpd.cp->sostate,fps->fpd.cp->clisock, fp_stringtable[1], (int)strlen(fp_stringtable[1]), pl->conf->timeouts[STRING_S]);
|
||||
fps->state = state;
|
||||
break;
|
||||
case GOT_HTTP_REQUEST:
|
||||
@ -299,7 +299,7 @@ void processcallbacks(struct fp_stream *fps, int what, char *msg, int size){
|
||||
case GOT_HTTP_SRVDATA:
|
||||
if(!fps->serversent){
|
||||
fps->state = FLUSH_DATA;
|
||||
pl->socksend(fps->fpd.cp->clisock, fp_stringtable[0], (int)strlen(fp_stringtable[0]), pl->conf->timeouts[STRING_S]);
|
||||
pl->socksend(fps->fpd.cp->sostate, fps->fpd.cp->clisock, fp_stringtable[0], (int)strlen(fp_stringtable[0]), pl->conf->timeouts[STRING_S]);
|
||||
fps->state = state;
|
||||
}
|
||||
break;
|
||||
@ -307,15 +307,15 @@ void processcallbacks(struct fp_stream *fps, int what, char *msg, int size){
|
||||
case GOT_FTP_REQ:
|
||||
case GOT_FTP_SRVDATA:
|
||||
fps->state = FLUSH_DATA;
|
||||
pl->socksend(fps->fpd.cp->ctrlsock, fp_stringtable[1], (int)strlen(fp_stringtable[1]), pl->conf->timeouts[STRING_S]);
|
||||
pl->socksend(fps->fpd.cp->sostate, fps->fpd.cp->ctrlsock, fp_stringtable[1], (int)strlen(fp_stringtable[1]), pl->conf->timeouts[STRING_S]);
|
||||
fps->state = state;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if(fps->fpd.cp->remsock != INVALID_SOCKET)sso._closesocket(fps->fpd.cp->remsock);
|
||||
if(fps->fpd.cp->remsock != INVALID_SOCKET)sso._closesocket(sso.state, fps->fpd.cp->remsock);
|
||||
fps->fpd.cp->remsock = INVALID_SOCKET;
|
||||
if(fps->fpd.cp->clisock != INVALID_SOCKET)sso._closesocket(fps->fpd.cp->clisock);
|
||||
if(fps->fpd.cp->clisock != INVALID_SOCKET)sso._closesocket(sso.state, fps->fpd.cp->clisock);
|
||||
fps->fpd.cp->clisock = INVALID_SOCKET;
|
||||
}
|
||||
}
|
||||
@ -359,7 +359,7 @@ static int copyfdtosock(struct fp_stream * fps, DIRECTION which, long len){
|
||||
if(fps->serversent >= fps->srvhdrwritten){
|
||||
sprintf(fps->buf, "%lx\r\n", len);
|
||||
sendchunk = (int)strlen(fps->buf);
|
||||
if(pl->socksend(fps->fpd.cp->clisock, fps->buf, sendchunk, pl->conf->timeouts[STRING_S]) != sendchunk){
|
||||
if(pl->socksend(fps->fpd.cp->sostate, fps->fpd.cp->clisock, fps->buf, sendchunk, pl->conf->timeouts[STRING_S]) != sendchunk){
|
||||
return -4;
|
||||
}
|
||||
}
|
||||
@ -398,20 +398,20 @@ static int copyfdtosock(struct fp_stream * fps, DIRECTION which, long len){
|
||||
#endif
|
||||
return -3;
|
||||
}
|
||||
if(pl->socksend(sock, fps->buf, res, pl->conf->timeouts[STRING_S]) != res) {
|
||||
if(pl->socksend(fps->fpd.cp->sostate, sock, fps->buf, res, pl->conf->timeouts[STRING_S]) != res) {
|
||||
return -4;
|
||||
}
|
||||
len -= res;
|
||||
}
|
||||
if(sendchunk){
|
||||
if(pl->socksend(sock, "\r\n", 2, pl->conf->timeouts[STRING_S]) != 2)
|
||||
if(pl->socksend(fps->fpd.cp->sostate, sock, "\r\n", 2, pl->conf->timeouts[STRING_S]) != 2)
|
||||
return -4;
|
||||
}
|
||||
fps->state = state;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int WINAPI fp_poll(struct pollfd *fds, unsigned int nfds, int timeout){
|
||||
static int WINAPI fp_poll(void *state, struct pollfd *fds, unsigned int nfds, int timeout){
|
||||
struct fp_stream *fps = NULL;
|
||||
int res;
|
||||
unsigned i;
|
||||
@ -456,10 +456,10 @@ static int WINAPI fp_poll(struct pollfd *fds, unsigned int nfds, int timeout){
|
||||
}
|
||||
|
||||
}
|
||||
return sso._poll(fds, nfds, timeout);
|
||||
return sso._poll(sso.state, fds, nfds, timeout);
|
||||
}
|
||||
|
||||
static fp_ssize_t WINAPI fp_send(SOCKET s, const char *msg, fp_size_t len, int flags){
|
||||
static fp_ssize_t WINAPI fp_send(void *state, SOCKET s, const char *msg, fp_size_t len, int flags){
|
||||
struct fp_stream *fps = NULL;
|
||||
int res;
|
||||
res = searchsocket(s, &fps);
|
||||
@ -474,7 +474,7 @@ static fp_ssize_t WINAPI fp_send(SOCKET s, const char *msg, fp_size_t len, int f
|
||||
}
|
||||
closefiles(fps);
|
||||
fps->state = 0;
|
||||
return sso._send(s, msg, len, flags);
|
||||
return sso._send(sso.state, s, msg, len, flags);
|
||||
}
|
||||
if((((fps->what & FP_CLIHEADER) && (fps->state == GOT_HTTP_REQUEST || fps->state == GOT_HTTP_CLI_HDR2)) || ((fps->what & FP_CLIDATA) && fps->state == GOT_HTTP_CLIDATA))){
|
||||
#ifdef _WIN32
|
||||
@ -504,7 +504,7 @@ static fp_ssize_t WINAPI fp_send(SOCKET s, const char *msg, fp_size_t len, int f
|
||||
|
||||
if(c == '\r' || c == '\n') continue;
|
||||
if((c<'0'|| c>'9') && (c<'A' || c>'F') && (c<'a' || c>'f')) {
|
||||
return sso._send(s, msg, len, flags);
|
||||
return sso._send(sso.state, s, msg, len, flags);
|
||||
}
|
||||
if(c != '0') hasnonzero = 1;
|
||||
}
|
||||
@ -519,7 +519,7 @@ static fp_ssize_t WINAPI fp_send(SOCKET s, const char *msg, fp_size_t len, int f
|
||||
}
|
||||
closefiles(fps);
|
||||
fps->state = 0;
|
||||
return sso._send(s, msg, len, flags);
|
||||
return sso._send(sso.state, s, msg, len, flags);
|
||||
}
|
||||
return len;
|
||||
}
|
||||
@ -541,9 +541,9 @@ static fp_ssize_t WINAPI fp_send(SOCKET s, const char *msg, fp_size_t len, int f
|
||||
return res;
|
||||
}
|
||||
}
|
||||
return sso._send(s, msg, len, flags);
|
||||
return sso._send(sso.state, s, msg, len, flags);
|
||||
}
|
||||
static fp_ssize_t WINAPI fp_sendto(SOCKET s, const void *msg, int len, int flags, const struct sockaddr *to, fp_size_t tolen){
|
||||
static fp_ssize_t WINAPI fp_sendto(void *state, SOCKET s, const void *msg, int len, int flags, const struct sockaddr *to, fp_size_t tolen){
|
||||
struct fp_stream *fps = NULL;
|
||||
int res;
|
||||
res = searchsocket(s, &fps);
|
||||
@ -659,15 +659,15 @@ static fp_ssize_t WINAPI fp_sendto(SOCKET s, const void *msg, int len, int flags
|
||||
return res;
|
||||
}
|
||||
}
|
||||
return sso._sendto(s, msg, len, flags, to, tolen);
|
||||
return sso._sendto(sso.state, s, msg, len, flags, to, tolen);
|
||||
}
|
||||
static fp_ssize_t WINAPI fp_recv(SOCKET s, void *buf, fp_size_t len, int flags){
|
||||
return sso._recv(s, buf, len, flags);
|
||||
static fp_ssize_t WINAPI fp_recv(void *state, SOCKET s, void *buf, fp_size_t len, int flags){
|
||||
return sso._recv(sso.state, s, buf, len, flags);
|
||||
}
|
||||
static fp_ssize_t WINAPI fp_recvfrom(SOCKET s, void * buf, fp_size_t len, int flags, struct sockaddr * from, fp_size_t * fromlen){
|
||||
return sso._recvfrom(s, buf, len, flags, from, fromlen);
|
||||
static fp_ssize_t WINAPI fp_recvfrom(void *state, SOCKET s, void * buf, fp_size_t len, int flags, struct sockaddr * from, fp_size_t * fromlen){
|
||||
return sso._recvfrom(sso.state, s, buf, len, flags, from, fromlen);
|
||||
}
|
||||
static int WINAPI fp_shutdown(SOCKET s, int how){
|
||||
static int WINAPI fp_shutdown(void *state, SOCKET s, int how){
|
||||
struct fp_stream *fps = NULL;
|
||||
|
||||
int res;
|
||||
@ -691,10 +691,10 @@ static int WINAPI fp_shutdown(SOCKET s, int how){
|
||||
}
|
||||
}
|
||||
|
||||
return sso._shutdown(s, how);
|
||||
return sso._shutdown(sso.state, s, how);
|
||||
}
|
||||
static int WINAPI fp_closesocket(SOCKET s){
|
||||
return sso._closesocket(s);
|
||||
static int WINAPI fp_closesocket(void *state, SOCKET s){
|
||||
return sso._closesocket(sso.state, s);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user