diff --git a/Makefile.win b/Makefile.win index edcb889..55b0f0c 100644 --- a/Makefile.win +++ b/Makefile.win @@ -13,7 +13,7 @@ CC = gcc CFLAGS = -O2 -s -c -mthreads -DWITH_STD_MALLOC -DNOIPV6 COUT = -o LN = gcc -LDFLAGS = -O2 -s -mthreads +LDFLAGS = -O2 -s -mthreads DLFLAGS = -shared DLSUFFICS = .dll LIBS = -lws2_32 -lodbc32 -ladvapi32 diff --git a/src/3proxy.c b/src/3proxy.c index f5b7f07..5e5f66c 100644 --- a/src/3proxy.c +++ b/src/3proxy.c @@ -87,7 +87,7 @@ void __stdcall CommandHandler( DWORD dwCommand ) void __stdcall ServiceMain(int argc, unsigned char* argv[] ) { - hSrv = RegisterServiceCtrlHandler(conf.stringtable[1], (LPHANDLER_FUNCTION)CommandHandler); + hSrv = RegisterServiceCtrlHandler((LPCSTR)conf.stringtable[1], (LPHANDLER_FUNCTION)CommandHandler); if( hSrv == 0 ) return; SetStatus( SERVICE_START_PENDING, 0, 1 ); @@ -394,7 +394,7 @@ int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int "By clicking Yes you confirm you read and accepted License Agreement.\n" "You can use Administration/Services to control %s service.", conf.stringtable[1], conf.stringtable[2]); - if(MessageBox(NULL, (char *)tmpbuf, conf.stringtable[2], MB_YESNO|MB_ICONASTERISK) != IDYES) return 1; + if(MessageBox(NULL, (LPCSTR)tmpbuf, (LPCSTR)conf.stringtable[2], MB_YESNO|MB_ICONASTERISK) != IDYES) return 1; *tmpbuf = '\"'; @@ -415,7 +415,7 @@ int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int perror("Failed to open Service Manager"); RETURN(101); } - if (!(sch = CreateService(sch, conf.stringtable[1], conf.stringtable[2], GENERIC_EXECUTE, SERVICE_WIN32_OWN_PROCESS, SERVICE_AUTO_START, SERVICE_ERROR_IGNORE, (char *)tmpbuf, NULL, NULL, NULL, NULL, NULL))){ + if (!(sch = CreateService(sch, (LPCSTR)conf.stringtable[1], (LPCSTR)conf.stringtable[2], GENERIC_EXECUTE, SERVICE_WIN32_OWN_PROCESS, SERVICE_AUTO_START, SERVICE_ERROR_IGNORE, (char *)tmpbuf, NULL, NULL, NULL, NULL, NULL))){ perror("Failed to create service"); RETURN(103); } @@ -436,10 +436,10 @@ int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int RETURN(104); } if(RegSetValueEx( runsrv, - conf.stringtable[1], + (LPCSTR)conf.stringtable[1], 0, REG_EXPAND_SZ, - (char *)tmpbuf, + (BYTE *)tmpbuf, (int)strlen((char *)tmpbuf)+1)!=ERROR_SUCCESS){ perror("Failed to set registry value"); RETURN(105); @@ -457,7 +457,7 @@ int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int perror("Failed to open Service Manager\n"); RETURN(106); } - if (!(sch = OpenService(sch, conf.stringtable[1], DELETE))){ + if (!(sch = OpenService(sch, (LPCSTR)conf.stringtable[1], DELETE))){ perror("Failed to open service"); RETURN(107); } @@ -476,7 +476,7 @@ int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int perror("Failed to open registry"); RETURN(109); } - if(RegDeleteValue(runsrv, conf.stringtable[1]) != ERROR_SUCCESS){ + if(RegDeleteValue(runsrv, (LPCSTR)conf.stringtable[1]) != ERROR_SUCCESS){ perror("Failed to clear registry"); RETURN(110); } @@ -528,7 +528,7 @@ int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int if(service){ SERVICE_TABLE_ENTRY ste[] = { - { conf.stringtable[1], (LPSERVICE_MAIN_FUNCTION)ServiceMain}, + { (LPSTR)conf.stringtable[1], (LPSERVICE_MAIN_FUNCTION)ServiceMain}, { NULL, NULL } }; if(!StartServiceCtrlDispatcher( ste ))cyclestep(); diff --git a/src/auth.c b/src/auth.c index d42d5c5..05c9e2e 100644 --- a/src/auth.c +++ b/src/auth.c @@ -43,9 +43,9 @@ int clientnegotiate(struct chain * redir, struct clientparam * param, struct soc len = sprintf((char *)buf, "CONNECT "); if(redir->type == R_CONNECTP && param->hostname) { char * needreplace; - needreplace = strchr(param->hostname, ':'); + needreplace = strchr((char *)param->hostname, ':'); if(needreplace) buf[len++] = '['; - len =+ sprintf((char *)buf + len, "%.256s", param->hostname); + len += sprintf((char *)buf + len, "%.256s", (char *)param->hostname); if(needreplace) buf[len++] = ']'; } else { @@ -372,19 +372,19 @@ int ACLmatches(struct ace* acentry, struct clientparam * param){ for(hstentry = acentry->dstnames; hstentry; hstentry = hstentry->next){ switch(hstentry->matchtype){ case 0: - if(strstr(param->hostname, hstentry->name)) match = 1; + if(strstr((char *)param->hostname, (char *)hstentry->name)) match = 1; break; case 1: - if(strstr(param->hostname, hstentry->name) == (char *)param->hostname) match = 1; + if(strstr((char *)param->hostname, (char *)hstentry->name) == (char *)param->hostname) match = 1; break; case 2: - if(strstr(param->hostname, hstentry->name) == (char *)(param->hostname + i - (strlen(hstentry->name)))) match = 1; + if(strstr((char *)param->hostname, (char *)hstentry->name) == (char *)(param->hostname + i - (strlen((char *)hstentry->name)))) match = 1; break; default: - if(!strcmp(param->hostname, hstentry->name)) match = 1; + if(!strcmp((char *)param->hostname, (char *)hstentry->name)) match = 1; break; } if(match) break; @@ -654,13 +654,13 @@ int cacheauth(struct clientparam * param){ continue; } - if(((!(conf.authcachetype&2)) || (param->username && ac->username && !strcmp(ac->username, param->username))) && + if(((!(conf.authcachetype&2)) || (param->username && ac->username && !strcmp(ac->username, (char *)param->username))) && ((!(conf.authcachetype&1)) || (*SAFAMILY(&ac->sa) == *SAFAMILY(¶m->sincr) && !memcmp(SAADDR(&ac->sa), ¶m->sincr, SAADDRLEN(&ac->sa)))) && - (!(conf.authcachetype&4) || (ac->password && param->password && !strcmp(ac->password, param->password)))) { + (!(conf.authcachetype&4) || (ac->password && param->password && !strcmp(ac->password, (char *)param->password)))) { if(param->username){ myfree(param->username); } - param->username = mystrdup(ac->username); + param->username = (unsigned char *)mystrdup(ac->username); pthread_mutex_unlock(&hash_mutex); return 0; } @@ -688,18 +688,18 @@ int doauth(struct clientparam * param){ if(conf.authcachetype && authfuncs->authenticate && authfuncs->authenticate != cacheauth && param->username && (!(conf.authcachetype&4) || (!param->pwtype && param->password))){ pthread_mutex_lock(&hash_mutex); for(ac = authc; ac; ac = ac->next){ - if((!(conf.authcachetype&2) || !strcmp(ac->username, param->username)) && + if((!(conf.authcachetype&2) || !strcmp(ac->username, (char *)param->username)) && (!(conf.authcachetype&1) || (*SAFAMILY(&ac->sa) == *SAFAMILY(¶m->sincr) && !memcmp(SAADDR(&ac->sa), ¶m->sincr, SAADDRLEN(&ac->sa)))) && - (!(conf.authcachetype&4) || (ac->password && !strcmp(ac->password, param->password)))) { + (!(conf.authcachetype&4) || (ac->password && !strcmp(ac->password, (char *)param->password)))) { ac->expires = conf.time + conf.authcachetime; - if(strcmp(ac->username, param->username)){ + if(strcmp(ac->username, (char *)param->username)){ tmp = ac->username; - ac->username = mystrdup(param->username); + ac->username = mystrdup((char *)param->username); myfree(tmp); } if((conf.authcachetype&4)){ tmp = ac->password; - ac->password = mystrdup(param->password); + ac->password = mystrdup((char *)param->password); myfree(tmp); } ac->sa = param->sincr; @@ -710,10 +710,10 @@ int doauth(struct clientparam * param){ ac = myalloc(sizeof(struct authcache)); if(ac){ ac->expires = conf.time + conf.authcachetime; - ac->username = mystrdup(param->username); + ac->username = mystrdup((char *)param->username); ac->sa = param->sincr; ac->password = NULL; - if((conf.authcachetype&4) && param->password) ac->password = mystrdup(param->password); + if((conf.authcachetype&4) && param->password) ac->password = mystrdup((char *)param->password); } ac->next = authc; authc = ac; @@ -775,7 +775,7 @@ int dnsauth(struct clientparam * param){ ((u&0xFF000000)>>24)); } - if(!udpresolve(*SAFAMILY(¶m->sincr), buf, addr, NULL, param, 1)) return 6; + if(!udpresolve(*SAFAMILY(¶m->sincr), (unsigned char *)buf, (unsigned char *)addr, NULL, param, 1)) return 6; if(!memcmp(SAADDR(¶m->sincr), addr, SAADDRLEN(¶m->sincr))) return 6; return param->username? 0:4; @@ -1187,7 +1187,7 @@ unsigned long udpresolve(int af, unsigned char * name, unsigned char * value, un } *s2 = 0; if(param->username)myfree(param->username); - param->username = mystrdup (buf + k + 13); + param->username = (unsigned char *)mystrdup ((char *)buf + k + 13); return udpresolve(af,param->username, value, NULL, NULL, 2); } @@ -1324,20 +1324,20 @@ void logsql(struct clientparam * param, const unsigned char *s) { if(param->nolog) return; pthread_mutex_lock(&log_mutex); - len = dobuf(param, tmpbuf, s, "\'"); + len = dobuf(param, tmpbuf, s, (unsigned char *)"\'"); if(attempt > 5){ time_t t; t = time(0); if (t - attempt_time < 180){ - sqlerr(tmpbuf); + sqlerr((char *)tmpbuf); return; } } if(!hstmt){ if(!init_sql(sqlstring)) { - sqlerr(tmpbuf); + sqlerr((char *)tmpbuf); return; } } @@ -1346,13 +1346,13 @@ void logsql(struct clientparam * param, const unsigned char *s) { if(ret != SQL_SUCCESS && ret != SQL_SUCCESS_WITH_INFO){ close_sql(); if(!init_sql(sqlstring)){ - sqlerr(tmpbuf); + sqlerr((char *)tmpbuf); return; } if(hstmt) { ret = SQLExecDirect(hstmt, (SQLCHAR *)tmpbuf, (SQLINTEGER)len); if(ret != SQL_SUCCESS && ret != SQL_SUCCESS_WITH_INFO){ - sqlerr(tmpbuf); + sqlerr((char *)tmpbuf); return; } attempt = 0; diff --git a/src/common.c b/src/common.c index 9ae590a..29f81c4 100644 --- a/src/common.c +++ b/src/common.c @@ -216,12 +216,12 @@ int ceparseargs(const char *str){ #endif -void parsehost(int family, char *host, struct sockaddr *sa){ +void parsehost(int family, unsigned char *host, struct sockaddr *sa){ char *sp=NULL,*se=NULL; unsigned short port; - if(*host == '[') se=strchr(host, ']'); - if ( (sp = strchr(se?se:host, ':')) ) *sp = 0; + if(*host == '[') se=strchr((char *)host, ']'); + if ( (sp = strchr(se?se:(char *)host, ':')) ) *sp = 0; if(se){ *se = 0; } @@ -297,7 +297,7 @@ int parseconnusername(char *username, struct clientparam *param, int extpasswd, if(!username || !*username) return 1; if ((sb=strchr(username, conf.delimchar)) == NULL){ if(!param->hostname && param->remsock == INVALID_SOCKET) return 2; - if(param->hostname)parsehostname(param->hostname, param, port); + if(param->hostname)parsehostname((char *)param->hostname, param, port); return parseusername(username, param, extpasswd); } while ((se=strchr(sb+1, conf.delimchar)))sb=se; @@ -466,7 +466,7 @@ int dobuf2(struct clientparam * param, unsigned char * buf, const unsigned char break; case 'N': - if(param->service >=0 && param->service < 15) { + if(param->service < 15) { len = (conf.stringtable)? (int)strlen((char *)conf.stringtable[SERVICES + param->service]) : 0; if(len > 20) len = 20; memcpy(buf+i, (len)?conf.stringtable[SERVICES + param->service]:(unsigned char*)"-", (len)?len:1); @@ -648,14 +648,14 @@ int doconnect(struct clientparam * param){ } if(!*SAPORT(¶m->sinsr))*SAPORT(¶m->sinsr) = *SAPORT(¶m->req); if ((param->remsock=so._socket(SASOCK(¶m->sinsr), SOCK_STREAM, IPPROTO_TCP)) == INVALID_SOCKET) {return (11);} - so._setsockopt(param->remsock, SOL_SOCKET, SO_LINGER, (unsigned char *)&lg, sizeof(lg)); + so._setsockopt(param->remsock, SOL_SOCKET, SO_LINGER, (char *)&lg, sizeof(lg)); #ifdef REUSE { int opt; #ifdef SO_REUSEADDR opt = 1; - so._setsockopt(param->remsock, SOL_SOCKET, SO_REUSEADDR, (unsigned char *)&opt, sizeof(int)); + so._setsockopt(param->remsock, SOL_SOCKET, SO_REUSEADDR, (char *)&opt, sizeof(int)); #endif #ifdef SO_REUSEPORT opt = 1; diff --git a/src/conf.c b/src/conf.c index 68318a3..e4b3caf 100644 --- a/src/conf.c +++ b/src/conf.c @@ -735,7 +735,7 @@ static int h_nolog(int argc, unsigned char **argv){ return(1); } while(acl->next) acl = acl->next; - if(!strcmp(argv[0],"nolog")) acl->nolog = 1; + if(!strcmp((char *)argv[0],"nolog")) acl->nolog = 1; else acl->weight = atoi((char*)argv[1]); return 0; } @@ -748,14 +748,14 @@ int scanipl(unsigned char *arg, struct iplist *dst){ #endif char * slash, *dash; int masklen, addrlen; - if((slash = strchr(arg, '/'))) *slash = 0; - if((dash = strchr(arg,'-'))) *dash = 0; + if((slash = strchr((char *)arg, '/'))) *slash = 0; + if((dash = strchr((char *)arg,'-'))) *dash = 0; if(!getip46(46, arg, (struct sockaddr *)&sa)) return 1; memcpy(&dst->ip_from, SAADDR(&sa), SAADDRLEN(&sa)); dst->family = *SAFAMILY(&sa); if(dash){ - if(!getip46(46, dash+1, (struct sockaddr *)&sa)) return 2; + if(!getip46(46, (unsigned char *)dash+1, (struct sockaddr *)&sa)) return 2; memcpy(&dst->ip_to, SAADDR(&sa), SAADDRLEN(&sa)); if(*SAFAMILY(&sa) != dst->family || memcmp(&dst->ip_to, &dst->ip_from, SAADDRLEN(&sa)) < 0) return 3; return 0; @@ -1262,7 +1262,7 @@ static int h_plugin(int argc, unsigned char **argv){ #ifdef _WINCE hi = LoadLibraryW((LPCWSTR)CEToUnicode(argv[1])); #else - hi = LoadLibrary(argv[1]); + hi = LoadLibrary((char *)argv[1]); #endif if(!hi) { fprintf(stderr, "Failed to load %s, code %d\n", argv[1], (int)GetLastError()); @@ -1271,7 +1271,7 @@ static int h_plugin(int argc, unsigned char **argv){ #ifdef _WINCE fp = GetProcAddressW(hi, (LPCWSTR)CEToUnicode(argv[2])); #else - fp = GetProcAddress(hi, argv[2]); + fp = GetProcAddress(hi, (char *)argv[2]); #endif if(!fp) { printf("%s not found in %s, code: %d\n", argv[2], argv[1], (int)GetLastError()); diff --git a/src/dighosts.c b/src/dighosts.c index 2df5150..ccf9c43 100644 --- a/src/dighosts.c +++ b/src/dighosts.c @@ -19,7 +19,7 @@ int sockgetchar(SOCKET sock, int timeosec, int timeousec){ FD_ZERO(&fds); FD_SET(sock, &fds); if (select (((int)sock)+1, &fds, NULL, NULL, &tv)!=1) return EOF; - if (recv(sock, &buf, 1, 0)!=1) return EOF; + if (recv(sock, (char *)&buf, 1, 0)!=1) return EOF; return((int)buf); } @@ -95,7 +95,7 @@ int main(int argc, char *argv[]){ fprintf(stderr, "Unable to connect: %s\n", host); return 8; } - if(send(sock, buf, (int)strlen((char *)buf), 0) != (int)strlen((char *)buf)) return 9; + if(send(sock, (char *)buf, (int)strlen((char *)buf), 0) != (int)strlen((char *)buf)) return 9; while( (i = sockgetline(sock, buf, sizeof(buf) - 1, '\n', 30)) > 2); if(i<1) return 9; if(!(fp = fopen(argv[argc-1], "w"))) { diff --git a/src/dnspr.c b/src/dnspr.c index 45d4355..078447c 100644 --- a/src/dnspr.c +++ b/src/dnspr.c @@ -39,7 +39,7 @@ void * dnsprchild(struct clientparam* param) { } buf = bbuf+2; size = sizeof(param->sincr); - i = so._recvfrom(param->srv->srvsock, buf, BUFSIZE, 0, (struct sockaddr *)¶m->sincr, &size); + i = so._recvfrom(param->srv->srvsock, (char *)buf, BUFSIZE, 0, (struct sockaddr *)¶m->sincr, &size); size = sizeof(param->sinsl); getsockname(param->srv->srvsock, (struct sockaddr *)¶m->sincl, &size); #ifdef _WIN32 @@ -47,7 +47,7 @@ void * dnsprchild(struct clientparam* param) { RETURN(818); } ioctlsocket(param->clisock, FIONBIO, &ul); - if(so._setsockopt(param->clisock, SOL_SOCKET, SO_REUSEADDR, (unsigned char *)&ul, sizeof(int))) {RETURN(820);}; + if(so._setsockopt(param->clisock, SOL_SOCKET, SO_REUSEADDR, (char *)&ul, sizeof(int))) {RETURN(820);}; if(so._bind(param->clisock,(struct sockaddr *)¶m->sincl,SASIZE(¶m->sincl))) { RETURN(822); } @@ -195,8 +195,8 @@ CLEANRET: sprintf((char *)buf, "%04x/%s/", (unsigned)type, host?host:""); - if(ip && type == 0x01 || type == 0x1c){ - myinet_ntop(type == 0x01? AF_INET:AF_INET6, addr, buf+strlen(buf), 64); + if((ip && type == 0x01) || type == 0x1c){ + myinet_ntop(type == 0x01? AF_INET:AF_INET6, addr, (char *)buf+strlen((char *)buf), 64); } (*param->srv->logfunc)(param, buf); } diff --git a/src/ftppr.c b/src/ftppr.c index 7c9cb00..820e9cc 100644 --- a/src/ftppr.c +++ b/src/ftppr.c @@ -76,7 +76,7 @@ void * ftpprchild(struct clientparam* param) { { int action, reqbufsize, reqsize; reqbufsize = BUFSIZE; - reqsize = (int)strlen(buf) + 1; + reqsize = (int)strlen((char *)buf) + 1; action = handlereqfilters(param, &buf, &reqbufsize, 0, &reqsize); if(action == HANDLED){ @@ -94,7 +94,7 @@ void * ftpprchild(struct clientparam* param) { { int action, reqbufsize, reqsize; reqbufsize = BUFSIZE; - reqsize = (int)strlen(buf) + 1; + reqsize = (int)strlen((char *)buf) + 1; action = handlehdrfilterscli(param, &buf, &reqbufsize, 0, &reqsize); if(action == HANDLED){ @@ -150,13 +150,13 @@ void * ftpprchild(struct clientparam* param) { clidatasock = INVALID_SOCKET; RETURN(826); } - sprintf(buf, "200 OK\r\n"); + sprintf((char *)buf, "200 OK\r\n"); } #ifndef WITHMAIN { int action, reqbufsize, reqsize; reqbufsize = BUFSIZE; - reqsize = (int)strlen(buf) + 1; + reqsize = (int)strlen((char *)buf) + 1; action = handlehdrfilterssrv(param, &buf, &reqbufsize, 0, &reqsize); if(action == HANDLED){ @@ -184,7 +184,7 @@ void * ftpprchild(struct clientparam* param) { { int action, reqbufsize, reqsize; reqbufsize = BUFSIZE; - reqsize = (int)strlen(buf) + 1; + reqsize = (int)strlen((char *)buf) + 1; action = handlehdrfilterscli(param, &buf, &reqbufsize, 0, &reqsize); if(action == HANDLED){ @@ -239,8 +239,8 @@ void * ftpprchild(struct clientparam* param) { } sc = param->remsock; param->remsock = ss; - so._setsockopt(param->remsock, SOL_SOCKET, SO_LINGER, (unsigned char *)&lg, sizeof(lg)); - so._setsockopt(clidatasock, SOL_SOCKET, SO_LINGER, (unsigned char *)&lg, sizeof(lg)); + so._setsockopt(param->remsock, SOL_SOCKET, SO_LINGER, (char *)&lg, sizeof(lg)); + so._setsockopt(clidatasock, SOL_SOCKET, SO_LINGER, (char *)&lg, sizeof(lg)); param->clisock = clidatasock; res = sockmap(param, conf.timeouts[CONNECTION_S]); if(param->remsock != INVALID_SOCKET) { diff --git a/src/icqpr.c b/src/icqpr.c index 74ac8e7..bd45687 100644 --- a/src/icqpr.c +++ b/src/icqpr.c @@ -128,11 +128,11 @@ static int searchcookie(struct clientparam *param, struct flap_header * flap, in icq_cookie_mutex_init = 1; } pthread_mutex_lock(&icq_cookie_mutex); - for(ic = icq_cookies; ic; ic = ic->next)if(!strcmp(param->username, ic->id))break; + for(ic = icq_cookies; ic; ic = ic->next)if(!strcmp((char *)param->username, ic->id))break; if(!ic){ ic = myalloc(sizeof(struct icq_cookie)); memset(ic, 0, sizeof(struct icq_cookie)); - ic->id = mystrdup(param->username); + ic->id = mystrdup((char *)param->username); ic->next = icq_cookies; icq_cookies = ic; } @@ -202,10 +202,10 @@ static FILTER_ACTION icq_srv(void *fc, struct clientparam * param, unsigned char state->state = ONCHAN; } else { - if(!state->leftinstate)param->srv->logfunc(param, "Warning: need resync"); + if(!state->leftinstate)param->srv->logfunc(param, (unsigned char *)"Warning: need resync"); state->leftinstate++; if(state->leftinstate > 65535){ - param->srv->logfunc(param, "Out of Sync"); + param->srv->logfunc(param, (unsigned char *)"Out of Sync"); return REJECT; } } @@ -214,7 +214,7 @@ static FILTER_ACTION icq_srv(void *fc, struct clientparam * param, unsigned char break; case ONCHAN: if (*start >= 10){ - param->srv->logfunc(param, "Warning: Wrong channel"); + param->srv->logfunc(param, (unsigned char *)"Warning: Wrong channel"); state->state = ONBEGIN; } else { @@ -234,15 +234,15 @@ static FILTER_ACTION icq_srv(void *fc, struct clientparam * param, unsigned char case ONSEQ2: state->gotseq += *start; if(state->gotseq != state->srvseq){ - char smallbuf[64]; + unsigned char smallbuf[64]; if(((state->gotseq < state->srvseq) || ((state->gotseq - state->srvseq) > 10 )) && (!state->resyncseq || state->gotseq != state->resyncseq)){ - sprintf(smallbuf, "Warning: Wrong sequence, expected: %04hx got: %04hx", state->srvseq, state->gotseq); + sprintf((char *)smallbuf, "Warning: Wrong sequence, expected: %04hx got: %04hx", state->srvseq, state->gotseq); param->srv->logfunc(param, smallbuf); state->state = ONBEGIN; state->resyncseq = state->gotseq; break; } - sprintf(smallbuf, "Warning: %hu flaps are lost on resync", state->gotseq - state->srvseq ); + sprintf((char *)smallbuf, "Warning: %d flaps are lost on resync", state->gotseq - state->srvseq ); param->srv->logfunc(param, smallbuf); state->srvseq = state->gotseq; *(start-1) = (state->seq>>8); @@ -339,7 +339,7 @@ static int readflap(struct clientparam * param, int direction, unsigned char *bu if(flap->id != 0x2a) return 2; len = ntohs(flap->size); if(len > buflen-6) return 3; - i = sockgetlinebuf(param, direction, flap->data, len, EOF, conf.timeouts[STRING_S]); + i = sockgetlinebuf(param, direction, (unsigned char *)flap->data, len, EOF, conf.timeouts[STRING_S]); if(len != i) return 4; return 0; @@ -418,7 +418,7 @@ void * icqprchild(struct clientparam* param) { for(ic = icq_cookies; ic; ic=ic->next){ if(ic->size && ic->size == tlv->size && !memcmp(ic->cookie, tlv->data, ntohs(tlv->size))){ parsehostname((char *)ic->connectstring, param, ntohs(param->srv->targetport)); - if(!param->username && ic->id) param->username = mystrdup(ic->id); + if(!param->username && ic->id) param->username = (unsigned char *)mystrdup(ic->id); break; } } diff --git a/src/plugins/PCREPlugin/pcre_plugin.c b/src/plugins/PCREPlugin/pcre_plugin.c index f04d9c1..f7b74ee 100644 --- a/src/plugins/PCREPlugin/pcre_plugin.c +++ b/src/plugins/PCREPlugin/pcre_plugin.c @@ -144,7 +144,7 @@ static FILTER_ACTION pcre_filter_buffer(void *fc, struct clientparam *param, uns if(!pcrefd->re) return pcrefd->action; for(; offset < *length_p; nreplaces++){ - count = pcre_exec(pcrefd->re, NULL, *buf_p, *length_p, offset, 0, ovector, 48); + count = pcre_exec(pcrefd->re, NULL, (char *)*buf_p, *length_p, offset, 0, ovector, 48); if(count <= 0) break; if(!(replace = pcrefd->replace) || param->nooverwritefilter) return pcrefd->action; @@ -195,7 +195,7 @@ static FILTER_ACTION pcre_filter_buffer(void *fc, struct clientparam *param, uns } memcpy(newbuf, *buf_p, ovector[0]); (*pl->myfree)(*buf_p); - *buf_p = newbuf; + *buf_p = (unsigned char *)newbuf; *bufsize_p = ovector[0] + replen + 1; } memcpy(*buf_p + ovector[0], tmpbuf, replen); @@ -229,15 +229,15 @@ static int h_pcre(int argc, unsigned char **argv){ struct filter *newf; char *replace = NULL; - if(!strncmp(argv[2], "allow",5)) action = PASS; - else if(!strncmp(argv[2], "deny",4)) action = REJECT; - else if(!strncmp(argv[2], "remove",6)) action = REMOVE; - else if(!strncmp(argv[2], "dunno",5)) action = CONTINUE; + if(!strncmp((char *)argv[2], "allow",5)) action = PASS; + else if(!strncmp((char *)argv[2], "deny",4)) action = REJECT; + else if(!strncmp((char *)argv[2], "remove",6)) action = REMOVE; + else if(!strncmp((char *)argv[2], "dunno",5)) action = CONTINUE; else return 1; - if(!strncmp(argv[0], "pcre_rewrite", 12)) { + if(!strncmp((char *)argv[0], "pcre_rewrite", 12)) { int i,j; offset = 5; - replace = pl->mystrdup(argv[4]); + replace = pl->mystrdup((char *)argv[4]); if(!replace) return 9; for(i=0, j=0; replace[i]; i++, j++){ if(replace[i] == '\\'){ @@ -266,7 +266,7 @@ static int h_pcre(int argc, unsigned char **argv){ replace[j] = 0; } if(!(acl = pl->make_ace(argc - offset, argv + offset))) return 2; - acl->nolog = (strstr(argv[2],"log") == 0); + acl->nolog = (strstr((char *)argv[2],"log") == 0); if(*argv[3] && !(*argv[3] == '*' && !argv[3][1]) ){ re = pcre_compile((char *)argv[3], pcre_options, &errptr, &offset, NULL); if(!re) { @@ -296,11 +296,11 @@ static int h_pcre(int argc, unsigned char **argv){ newf->data = flt; newf->filter_open = pcre_filter_open; newf->filter_client = pcre_filter_client; - if(strstr(argv[1], "request"))newf->filter_request = pcre_filter_buffer; - if(strstr(argv[1], "cliheader"))newf->filter_header_cli = pcre_filter_buffer; - if(strstr(argv[1], "clidata"))newf->filter_data_cli = pcre_filter_buffer; - if(strstr(argv[1], "srvheader"))newf->filter_header_srv = pcre_filter_buffer; - if(strstr(argv[1], "srvdata"))newf->filter_data_srv = pcre_filter_buffer; + if(strstr((char *)argv[1], "request"))newf->filter_request = pcre_filter_buffer; + if(strstr((char *)argv[1], "cliheader"))newf->filter_header_cli = pcre_filter_buffer; + if(strstr((char *)argv[1], "clidata"))newf->filter_data_cli = pcre_filter_buffer; + if(strstr((char *)argv[1], "srvheader"))newf->filter_header_srv = pcre_filter_buffer; + if(strstr((char *)argv[1], "srvdata"))newf->filter_data_srv = pcre_filter_buffer; newf->filter_clear = pcre_filter_clear; newf->filter_close = pcre_filter_close; @@ -334,7 +334,7 @@ static int h_pcre_options(int argc, unsigned char **argv){ pcre_options = 0; for(j=1; jusername, dom?(char *)param->username:NULL, - param->password, + (char *)param->password, LOGON32_LOGON_NETWORK, LOGON32_PROVIDER_DEFAULT, &h))return 5; @@ -54,7 +54,7 @@ extern "C" { if(GetLengthSid(ptg->Groups[i].Sid)==sidlen){ if(!memcmp((void *)ptg->Groups[i].Sid, (void *)psid, sidlen)) { setlocale(LC_CTYPE, ".ACP"); - _strlwr(param->username); + _strlwr((char *)param->username); return 0; } } diff --git a/src/plugins/utf8tocp1251/utf8tocp1251.c b/src/plugins/utf8tocp1251/utf8tocp1251.c index 4294065..866cebc 100644 --- a/src/plugins/utf8tocp1251/utf8tocp1251.c +++ b/src/plugins/utf8tocp1251/utf8tocp1251.c @@ -26,7 +26,7 @@ extern "C" { #endif unsigned char * conv_utf8_to_cp1251(unsigned char *s){ - int i, j=0, n=(int)strlen(s); + int i, j=0, n=(int)strlen((char *)s); int byte2 = 0; int c1, new_c1, new_c2, new_i; for(i = 0; i < n; i++){ diff --git a/src/proxy.c b/src/proxy.c index 09ee60f..b7c1e8b 100644 --- a/src/proxy.c +++ b/src/proxy.c @@ -328,7 +328,7 @@ for(;;){ prefix = (int)(se - buf); su = (unsigned char*)strrchr((char *)sb, '@'); if(su) { - su = mystrdup(sb); + su = (unsigned char *)mystrdup((char *)sb); decodeurl(su, 0); parseconnusername((char *)su, (struct clientparam *)param, 1, (unsigned short)((ftp)?21:80)); myfree(su); @@ -490,7 +490,7 @@ for(;;){ if(!sb)continue; ++sb; while(isspace(*sb))sb++; - sscanf(sb, "%"PRINTF_INT64_MODIFIER"u",&contentlength64); + sscanf((char *)sb, "%"PRINTF_INT64_MODIFIER"u",&contentlength64); if(param->maxtrafout64 && (param->maxtrafout64 < param->statscli64 || contentlength64 > param->maxtrafout64 - param->statscli64)){ RETURN(10); } @@ -510,7 +510,7 @@ for(;;){ buf[inbuf] = 0; - reqsize = (int)strlen(req); + reqsize = (int)strlen((char *)req); reqbufsize = reqsize + 1; #ifndef WITHMAIN @@ -529,7 +529,7 @@ for(;;){ uint64_t newlen64; newlen64 = sockfillbuffcli(param, (unsigned long)contentlength64, CONNECTION_S); if(newlen64 == contentlength64) { - action = handledatfltcli(param, ¶m->clibuf, ¶m->clibufsize, 0, ¶m->cliinbuf); + action = handledatfltcli(param, ¶m->clibuf, (int *)¶m->clibufsize, 0, (int *)¶m->cliinbuf); if(action == HANDLED){ RETURN(0); } @@ -803,7 +803,8 @@ for(;;){ else { redirect = 1; - if(socksend(param->remsock, req , (res = (int)strlen((char *)req)), conf.timeouts[STRING_L]) != res) { + res = (int)strlen((char *)req); + if(socksend(param->remsock, req , res, conf.timeouts[STRING_L]) != res) { RETURN(518); } param->statscli64 += res; @@ -893,7 +894,7 @@ for(;;){ if(!sb)continue; ++sb; while(isspace(*sb))sb++; - sscanf(sb, "%"PRINTF_INT64_MODIFIER"u", &contentlength64); + sscanf((char *)sb, "%"PRINTF_INT64_MODIFIER"u", &contentlength64); hascontent = 1; if(param->unsafefilter && param->ndatfilterssrv > 0) { hascontent = 2; @@ -909,7 +910,7 @@ for(;;){ if(!sb)continue; ++sb; while(isspace(*sb))sb++; - if(!strncasecmp(sb, "chunked", 7)){ + if(!strncasecmp((char *)sb, "chunked", 7)){ param->chunked = 1; } } @@ -959,7 +960,7 @@ for(;;){ uint64_t newlen; newlen = (uint64_t)sockfillbuffsrv(param, (unsigned long) contentlength64, CONNECTION_S); if(newlen == contentlength64) { - action = handledatfltsrv(param, ¶m->srvbuf, ¶m->srvbufsize, 0, ¶m->srvinbuf); + action = handledatfltsrv(param, ¶m->srvbuf, (int *)¶m->srvbufsize, 0, (int *)¶m->srvinbuf); param->nolongdatfilter = 1; if(action == HANDLED){ RETURN(0); @@ -992,7 +993,7 @@ for(;;){ if((param->chunked || contentlength64 > 0) && param->operation != HTTP_HEAD && res != 204 && res != 304) { do { if(param->chunked){ - char smallbuf[32]; + unsigned char smallbuf[32]; while ((i = sockgetlinebuf(param, SERVER, smallbuf, 30, '\n', conf.timeouts[STRING_S])) == 2) { if (socksend(param->clisock, smallbuf, i, conf.timeouts[STRING_S]) != i){ RETURN(533); @@ -1015,7 +1016,7 @@ for(;;){ } smallbuf[i] = 0; contentlength64 = 0; - sscanf(smallbuf, "%"PRINTF_INT64_MODIFIER"x", &contentlength64); + sscanf((char *)smallbuf, "%"PRINTF_INT64_MODIFIER"x", &contentlength64); if(contentlength64 == 0) { param->chunked = 2; } @@ -1048,7 +1049,7 @@ REQUESTEND: RETURN(0); } if(param->transparent && (!ckeepalive || !keepalive)) {RETURN (0);} - logurl(param, buf, (char *)req, ftp); + logurl(param, (char *)buf, (char *)req, ftp); param->status = 0; } @@ -1095,7 +1096,7 @@ CLEANRET: socksend(param->clisock, (unsigned char *)proxy_stringtable[0], (int)strlen(proxy_stringtable[0]), conf.timeouts[STRING_S]); } } - logurl(param, buf, (char *)req, ftp); + logurl(param, (char *)buf, (char *)req, ftp); if(req)myfree(req); if(buf)myfree(buf); if(ftpbase)myfree(ftpbase); diff --git a/src/proxy.h b/src/proxy.h index 3ae14c2..8310c4c 100644 --- a/src/proxy.h +++ b/src/proxy.h @@ -233,7 +233,7 @@ void mschap(const unsigned char *win_password, struct hashtable; void hashadd(struct hashtable *ht, const unsigned char* name, unsigned char* value, time_t expires); -void parsehost(int family, char *host, struct sockaddr *sa); +void parsehost(int family, unsigned char *host, struct sockaddr *sa); int parsehostname(char *hostname, struct clientparam *param, unsigned short port); int parseusername(char *username, struct clientparam *param, int extpasswd); int parseconnusername(char *username, struct clientparam *param, int extpasswd, unsigned short port); diff --git a/src/proxymain.c b/src/proxymain.c index d99580f..4f429d4 100644 --- a/src/proxymain.c +++ b/src/proxymain.c @@ -24,21 +24,21 @@ void * threadfunc (void *p) { param->remsock = so._accept(param->srv->cbsock, (struct sockaddr*)¶m->sinsr, &size); if(param->remsock == INVALID_SOCKET) { param->res = 13; - param->srv->logfunc(param, "Connect back accept() failed"); + param->srv->logfunc(param, (unsigned char *)"Connect back accept() failed"); continue; } #ifndef WITHMAIN param->req = param->sinsr; if(param->srv->acl) param->res = checkACL(param); if(param->res){ - param->srv->logfunc(param, "Connect back ACL failed"); + param->srv->logfunc(param, (unsigned char *)"Connect back ACL failed"); so._closesocket(param->remsock); param->remsock = INVALID_SOCKET; continue; } #endif if(so._sendto(param->remsock, "C", 1, 0, (struct sockaddr*)¶m->sinsr, size) != 1){ - param->srv->logfunc(param, "Connect back sending command failed"); + param->srv->logfunc(param, (unsigned char *)"Connect back sending command failed"); so._closesocket(param->remsock); param->remsock = INVALID_SOCKET; continue; @@ -214,7 +214,7 @@ int MODULEMAINFUNC (int argc, char** argv){ case 'l': srv.logfunc = logstdout; if(srv.logtarget) myfree(srv.logtarget); - srv.logtarget = mystrdup((unsigned char*)argv[i] + 2); + srv.logtarget = (unsigned char *)mystrdup(argv[i] + 2); if(argv[i][2]) { if(argv[i][2]=='@'){ @@ -237,7 +237,7 @@ int MODULEMAINFUNC (int argc, char** argv){ } break; case 'i': - getip46(46, argv[i]+2, (struct sockaddr *)&srv.intsa); + getip46(46, (unsigned char *)argv[i]+2, (struct sockaddr *)&srv.intsa); break; case 'e': { @@ -250,7 +250,7 @@ int MODULEMAINFUNC (int argc, char** argv){ else srv.extsa6 = sa6; } #else - error = !getip46(46, argv[i]+2, (struct sockaddr *)&srv.extsa); + error = !getip46(46, (unsigned char *)argv[i]+2, (struct sockaddr *)&srv.extsa); #endif } break; @@ -280,7 +280,7 @@ int MODULEMAINFUNC (int argc, char** argv){ #endif case 'f': if(srv.logformat)myfree(srv.logformat); - srv.logformat = mystrdup((unsigned char *)argv[i] + 2); + srv.logformat = (unsigned char *)mystrdup(argv[i] + 2); break; case 't': srv.silent = 1; @@ -289,11 +289,11 @@ int MODULEMAINFUNC (int argc, char** argv){ hostname = argv[i] + 2; break; case 'r': - cbc_string = mystrdup(argv[i] + 2); + cbc_string = (unsigned char *)mystrdup(argv[i] + 2); iscbc = 1; break; case 'R': - cbl_string = mystrdup(argv[i] + 2); + cbl_string = (unsigned char *)mystrdup(argv[i] + 2); iscbl = 1; break; case 'u': @@ -452,10 +452,10 @@ int MODULEMAINFUNC (int argc, char** argv){ #endif srv.srvsock = sock; opt = 1; - if(so._setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (unsigned char *)&opt, sizeof(int)))perror("setsockopt()"); + if(so._setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char *)&opt, sizeof(int)))perror("setsockopt()"); #ifdef SO_REUSEPORT opt = 1; - so._setsockopt(sock, SOL_SOCKET, SO_REUSEPORT, (unsigned char *)&opt, sizeof(int)); + so._setsockopt(sock, SOL_SOCKET, SO_REUSEPORT, (char *)&opt, sizeof(int)); #endif } size = sizeof(srv.intsa); @@ -486,22 +486,22 @@ int MODULEMAINFUNC (int argc, char** argv){ if(iscbl){ parsehost(srv.family, cbl_string, (struct sockaddr *)&cbsa); if((srv.cbsock=so._socket(SASOCK(&cbsa), SOCK_STREAM, IPPROTO_TCP))==INVALID_SOCKET) { - (*srv.logfunc)(&defparam, "Failed to allocate connect back socket"); + (*srv.logfunc)(&defparam, (unsigned char *)"Failed to allocate connect back socket"); return -6; } opt = 1; - so._setsockopt(srv.cbsock, SOL_SOCKET, SO_REUSEADDR, (unsigned char *)&opt, sizeof(int)); + so._setsockopt(srv.cbsock, SOL_SOCKET, SO_REUSEADDR, (char *)&opt, sizeof(int)); #ifdef SO_REUSEPORT opt = 1; - so._setsockopt(srv.cbsock, SOL_SOCKET, SO_REUSEPORT, (unsigned char *)&opt, sizeof(int)); + so._setsockopt(srv.cbsock, SOL_SOCKET, SO_REUSEPORT, (char *)&opt, sizeof(int)); #endif if(so._bind(srv.cbsock, (struct sockaddr*)&cbsa, SASIZE(&cbsa))==-1) { - (*srv.logfunc)(&defparam, "Failed to bind connect back socket"); + (*srv.logfunc)(&defparam, (unsigned char *)"Failed to bind connect back socket"); return -7; } if(so._listen(srv.cbsock, 1 + (srv.maxchild>>4))==-1) { - (*srv.logfunc)(&defparam, "Failed to listen connect back socket"); + (*srv.logfunc)(&defparam, (unsigned char *)"Failed to listen connect back socket"); return -8; } } @@ -552,7 +552,7 @@ int MODULEMAINFUNC (int argc, char** argv){ usleep(SLEEPTIME); continue; } - if(so._recvfrom(new_sock,buf,1,0,(struct sockaddr*)&defparam.sincr, &size) != 1) { + if(so._recvfrom(new_sock,(char *)buf,1,0,(struct sockaddr*)&defparam.sincr, &size) != 1) { so._closesocket(new_sock); new_sock = INVALID_SOCKET; usleep(SLEEPTIME); @@ -622,8 +622,8 @@ int MODULEMAINFUNC (int argc, char** argv){ #else fcntl(new_sock,F_SETFL,O_NONBLOCK); #endif - so._setsockopt(new_sock, SOL_SOCKET, SO_LINGER, (unsigned char *)&lg, sizeof(lg)); - so._setsockopt(new_sock, SOL_SOCKET, SO_OOBINLINE, (unsigned char *)&opt, sizeof(int)); + so._setsockopt(new_sock, SOL_SOCKET, SO_LINGER, (char *)&lg, sizeof(lg)); + so._setsockopt(new_sock, SOL_SOCKET, SO_OOBINLINE, (char *)&opt, sizeof(int)); } else { srv.fds.events = 0; @@ -636,7 +636,7 @@ int MODULEMAINFUNC (int argc, char** argv){ continue; }; *newparam = defparam; - if(defparam.hostname)newparam->hostname=strdup(defparam.hostname); + if(defparam.hostname)newparam->hostname=(unsigned char *)strdup((char *)defparam.hostname); clearstat(newparam); if(!isudp) newparam->clisock = new_sock; #ifndef STDMAIN @@ -716,7 +716,7 @@ void srvinit(struct srvparam * srv, struct clientparam *param){ srv->version = conf.paused; srv->logfunc = conf.logfunc; if(srv->logformat)myfree(srv->logformat); - srv->logformat = conf.logformat? mystrdup(conf.logformat) : NULL; + srv->logformat = conf.logformat? (unsigned char *)mystrdup((char *)conf.logformat) : NULL; srv->authfunc = conf.authfunc; srv->usentlm = 0; srv->maxchild = conf.maxchild; @@ -724,7 +724,7 @@ void srvinit(struct srvparam * srv, struct clientparam *param){ srv->time_start = time(NULL); if(conf.logtarget){ if(srv->logtarget) myfree(srv->logtarget); - srv->logtarget = mystrdup(conf.logtarget); + srv->logtarget = (unsigned char *)mystrdup((char *)conf.logtarget); } srv->srvsock = INVALID_SOCKET; srv->logdumpsrv = conf.logdumpsrv; @@ -747,7 +747,7 @@ void srvinit2(struct srvparam * srv, struct clientparam *param){ if(srv->logformat){ char *s; if(*srv->logformat == '-' && (s = strchr((char *)srv->logformat + 1, '+')) && s[1]){ - char* logformat = srv->logformat; + unsigned char* logformat = srv->logformat; *s = 0; srv->nonprintable = (unsigned char *)mystrdup((char *)srv->logformat + 1); diff --git a/src/smtpp.c b/src/smtpp.c index 097c66a..048f883 100644 --- a/src/smtpp.c +++ b/src/smtpp.c @@ -37,7 +37,7 @@ int readreply (struct clientparam* param) { return 0; } buf[i] = 0; - res = atoi(buf); + res = atoi((char *)buf); myfree(buf); return res; } @@ -51,7 +51,7 @@ int readcommand (struct clientparam* param) { i = sockgetlinebuf(param, CLIENT, buf, bufsize-1, '\n', conf.timeouts[STRING_L]); if(i < 4) return 0; #ifndef WITHMAIN - if(!strncasecmp(buf, "MAIL", 4) || !strncasecmp(buf, "RCPT", 4) || !strncasecmp(buf, "STARTTLS", 8) || !strncasecmp(buf, "TURN", 4)){ + if(!strncasecmp((char *)buf, "MAIL", 4) || !strncasecmp((char *)buf, "RCPT", 4) || !strncasecmp((char *)buf, "STARTTLS", 8) || !strncasecmp((char *)buf, "TURN", 4)){ res = handlehdrfilterscli(param, &buf, &bufsize, 0, &i); if(res != PASS) { myfree(buf); @@ -62,7 +62,7 @@ int readcommand (struct clientparam* param) { #endif socksend(param->remsock, buf, i, conf.timeouts[STRING_S]); myfree(buf); - if(!strncasecmp(buf, "STARTTLS", 8) || !strncasecmp(buf, "TURN", 4)){ + if(!strncasecmp((char *)buf, "STARTTLS", 8) || !strncasecmp((char *)buf, "TURN", 4)){ ret = 22; } return ret; @@ -118,22 +118,22 @@ void * smtppchild(struct clientparam* param) { else { login = -1; buf[i] = 0; - command = mystrdup(buf); + command = mystrdup((char *)buf); break; } i = sockgetlinebuf(param, CLIENT, buf, sizeof(buf) - 10, '\n', conf.timeouts[STRING_S]); } if(!login) {RETURN(662);} if(login == 1){ - socksend(param->clisock, "334 VXNlcm5hbWU6\r\n", 18,conf.timeouts[STRING_S]); + socksend(param->clisock, (unsigned char *)"334 VXNlcm5hbWU6\r\n", 18,conf.timeouts[STRING_S]); i = sockgetlinebuf(param, CLIENT, buf, sizeof(buf) - 10, '\n', conf.timeouts[STRING_S]); if(i < 3) {RETURN(663);} buf[i-2] = 0; i = de64(buf,username,255); if(i < 1) {RETURN(664);} username[i] = 0; - parseconnusername(username, param, 0, 25); - socksend(param->clisock, "334 UGFzc3dvcmQ6\r\n", 18,conf.timeouts[STRING_S]); + parseconnusername((char *)username, param, 0, 25); + socksend(param->clisock, (unsigned char *)"334 UGFzc3dvcmQ6\r\n", 18,conf.timeouts[STRING_S]); i = sockgetlinebuf(param, CLIENT, buf, sizeof(buf) - 10, '\n', conf.timeouts[STRING_S]); if(i < 2) {RETURN(665);} buf[i-2] = 0; @@ -141,7 +141,7 @@ void * smtppchild(struct clientparam* param) { if(i < 0) {RETURN(666);} username[i] = 0; if(param->extpassword) myfree(param->extpassword); - param->extpassword = mystrdup(username); + param->extpassword = (unsigned char *)mystrdup((char *)username); } else if(login == 2){ if(i > 13) { @@ -149,7 +149,7 @@ void * smtppchild(struct clientparam* param) { i = de64(buf+11,username,255); } else { - socksend(param->clisock, "334\r\n", 5,conf.timeouts[STRING_S]); + socksend(param->clisock, (unsigned char *)"334\r\n", 5,conf.timeouts[STRING_S]); i = sockgetlinebuf(param, CLIENT, buf, sizeof(buf) - 10, '\n', conf.timeouts[STRING_S]); if(i < 3) {RETURN(667);} buf[i-2] = 0; @@ -157,18 +157,18 @@ void * smtppchild(struct clientparam* param) { } if(i < 3 || *username) {RETURN(668);} username[i] = 0; - parseconnusername(username+1, param, 0, 25); - res = (int)strlen(username+1) + 2; + parseconnusername((char *)username+1, param, 0, 25); + res = (int)strlen((char *)username+1) + 2; if(res < i){ if(param->extpassword) myfree(param->extpassword); - param->extpassword = mystrdup(username + res); + param->extpassword = (unsigned char *)mystrdup((char *)username + res); } } #ifndef WITHMAIN { int action, reqbufsize, reqsize; - reqbufsize = reqsize = (int)strlen(param->hostname) + 1; + reqbufsize = reqsize = (int)strlen((char *)param->hostname) + 1; action = handlereqfilters(param, ¶m->hostname, &reqbufsize, 0, &reqsize); if(action == HANDLED){ RETURN(0); @@ -186,9 +186,9 @@ void * smtppchild(struct clientparam* param) { if( i < 3 ) {RETURN(671);} buf[i] = 0; if(strncasecmp((char *)buf, "220", 3)||!strncasecmp((char *)buf+4, "PROXY", 5)){RETURN(672);} - i = sprintf(buf, "EHLO ["); - i += myinet_ntop(*SAFAMILY(¶m->sinsl), SAADDR(¶m->sinsl), buf+strlen(buf), 64); - i += sprintf(buf+strlen(buf), "]\r\n"); + i = sprintf((char *)buf, "EHLO ["); + i += myinet_ntop(*SAFAMILY(¶m->sinsl), SAADDR(¶m->sinsl), (char *)buf+strlen((char *)buf), 64); + i += sprintf((char *)buf+strlen((char *)buf), "]\r\n"); if(socksend(param->remsock, buf, i, conf.timeouts[STRING_S])!= i) {RETURN(673);} param->statscli64+=i; param->nwrites++; @@ -204,44 +204,44 @@ void * smtppchild(struct clientparam* param) { if(i<3) {RETURN(672);} if(!command || (param->extusername && param->extpassword)){ if(!param->extusername || !*param->extusername || !param->extpassword || !*param->extpassword || !login){ - socksend(param->clisock, "235 auth required\r\n", 19,conf.timeouts[STRING_S]); + socksend(param->clisock, (unsigned char *)"235 auth required\r\n", 19,conf.timeouts[STRING_S]); } if ((login & 1)) { - socksend(param->remsock, "AUTH LOGIN\r\n", 12, conf.timeouts[STRING_S]); + socksend(param->remsock, (unsigned char *)"AUTH LOGIN\r\n", 12, conf.timeouts[STRING_S]); param->statscli64+=12; param->nwrites++; i = sockgetlinebuf(param, SERVER, buf, sizeof(buf) - 1, '\n', conf.timeouts[STRING_L]); if(i<4 || strncasecmp((char *)buf, "334", 3)) {RETURN(680);} - en64(param->extusername, buf, (int)strlen(param->extusername)); - socksend(param->remsock, buf, (int)strlen(buf), conf.timeouts[STRING_S]); - socksend(param->remsock, "\r\n", 2, conf.timeouts[STRING_S]); + en64(param->extusername, buf, (int)strlen((char *)param->extusername)); + socksend(param->remsock, buf, (int)strlen((char *)buf), conf.timeouts[STRING_S]); + socksend(param->remsock, (unsigned char *)"\r\n", 2, conf.timeouts[STRING_S]); param->statscli64+=(i+2); param->nwrites+=2; i = sockgetlinebuf(param, SERVER, buf, sizeof(buf) - 1, '\n', conf.timeouts[STRING_L]); if(i<4 || strncasecmp((char *)buf, "334", 3)) {RETURN(681);} - en64(param->extpassword, buf, (int)strlen(param->extpassword)); - socksend(param->remsock, buf, (int)strlen(buf), conf.timeouts[STRING_S]); - socksend(param->remsock, "\r\n", 2, conf.timeouts[STRING_S]); + en64(param->extpassword, buf, (int)strlen((char *)param->extpassword)); + socksend(param->remsock, buf, (int)strlen((char *)buf), conf.timeouts[STRING_S]); + socksend(param->remsock, (unsigned char *)"\r\n", 2, conf.timeouts[STRING_S]); param->statscli64+=(i+2); param->nwrites+=2; } else if((login & 2)){ - socksend(param->remsock, "AUTH PLAIN\r\n", 12, conf.timeouts[STRING_S]); + socksend(param->remsock, (unsigned char *)"AUTH PLAIN\r\n", 12, conf.timeouts[STRING_S]); param->statscli64+=(12); param->nwrites++; i = sockgetlinebuf(param, SERVER, buf, sizeof(buf) - 1, '\n', conf.timeouts[STRING_L]); if(i<4 || strncasecmp((char *)buf, "334", 3)) {RETURN(682);} *username = 0; - i = (int)strlen(param->extusername) + 1; + i = (int)strlen((char *)param->extusername) + 1; memcpy(username+1, param->extusername, i); i++; - res = (int)strlen(param->extpassword); + res = (int)strlen((char *)param->extpassword); memcpy(username + i, param->extpassword, res); i+=res; en64(username, buf, i); - i = (int)strlen(buf); + i = (int)strlen((char *)buf); socksend(param->remsock, buf, i, conf.timeouts[STRING_S]); - socksend(param->remsock, "\r\n", 2, conf.timeouts[STRING_S]); + socksend(param->remsock, (unsigned char *)"\r\n", 2, conf.timeouts[STRING_S]); param->statscli64+=(i+2); param->nwrites+=2; } @@ -266,7 +266,7 @@ void * smtppchild(struct clientparam* param) { } #endif i = (int)strlen(command); - if(res != 2) socksend(param->remsock, command, i, conf.timeouts[STRING_S]); + if(res != 2) socksend(param->remsock, (unsigned char *)command, i, conf.timeouts[STRING_S]); } #ifndef WITHMAIN diff --git a/src/sockgetchar.c b/src/sockgetchar.c index cfaa0f1..af9e281 100644 --- a/src/sockgetchar.c +++ b/src/sockgetchar.c @@ -22,7 +22,7 @@ int socksend(SOCKET sock, unsigned char * buf, int bufsize, int to){ res = so._poll(&fds, 1, to*1000); if(res < 0 && (errno == EAGAIN || errno == EINTR)) continue; if(res < 1) break; - res = so._send(sock, buf + sent, bufsize - sent, 0); + res = so._send(sock, (char *)buf + sent, bufsize - sent, 0); if(res < 0) { if(errno == EAGAIN || errno == EINTR) continue; break; @@ -45,7 +45,7 @@ int socksendto(SOCKET sock, struct sockaddr * sin, unsigned char * buf, int bufs res = so._poll(&fds, 1, to); if(res < 0 && (errno == EAGAIN || errno == EINTR)) continue; if(res < 1) break; - res = so._sendto(sock, buf + sent, bufsize - sent, 0, sin, SASIZE(sin)); + res = so._sendto(sock, (char *)buf + sent, bufsize - sent, 0, sin, SASIZE(sin)); if(res < 0) { if(errno != EAGAIN && errno != EINTR) break; continue; @@ -66,7 +66,7 @@ int sockrecvfrom(SOCKET sock, struct sockaddr * sin, unsigned char * buf, int bu if (so._poll(&fds, 1, to)<1) return 0; sasize = SASIZE(sin); do { - res = so._recvfrom(sock, buf, bufsize, 0, (struct sockaddr *)sin, &sasize); + res = so._recvfrom(sock, (char *)buf, bufsize, 0, (struct sockaddr *)sin, &sasize); } while (res < 0 && (errno == EAGAIN || errno == EINTR)); return res; } diff --git a/src/sockmap.c b/src/sockmap.c index e5203f5..c3a9241 100644 --- a/src/sockmap.c +++ b/src/sockmap.c @@ -49,14 +49,14 @@ int sockmap(struct clientparam * param, int timeo){ if(action != PASS) return 19; if(!param->nolongdatfilter){ if(param->cliinbuf > param->clioffset){ - action = handledatfltcli(param, ¶m->clibuf, ¶m->clibufsize, param->clioffset, ¶m->cliinbuf); + action = handledatfltcli(param, ¶m->clibuf, (int *)¶m->clibufsize, param->clioffset, (int *)¶m->cliinbuf); if(action == HANDLED){ return 0; } if(action != PASS) return 19; } if(param->srvinbuf > param->srvoffset){ - action = handledatfltsrv(param, ¶m->srvbuf, ¶m->srvbufsize, param->srvoffset, ¶m->srvinbuf); + action = handledatfltsrv(param, ¶m->srvbuf, (int *)¶m->srvbufsize, param->srvoffset, (int *)¶m->srvinbuf); if(action == HANDLED){ return 0; } @@ -127,7 +127,7 @@ int sockmap(struct clientparam * param, int timeo){ if(param->bandlimfunc) { sleeptime = (*param->bandlimfunc)(param, param->srvinbuf - param->srvoffset, 0); } - res = so._sendto(param->clisock, param->srvbuf + param->srvoffset,(!param->waitserver64 || (param->waitserver64 - received) > (param->srvinbuf - param->srvoffset))? param->srvinbuf - param->srvoffset : (int)(param->waitserver64 - received), 0, (struct sockaddr*)¶m->sincr, sasize); + res = so._sendto(param->clisock, (char *)param->srvbuf + param->srvoffset,(!param->waitserver64 || (param->waitserver64 - received) > (param->srvinbuf - param->srvoffset))? param->srvinbuf - param->srvoffset : (int)(param->waitserver64 - received), 0, (struct sockaddr*)¶m->sincr, sasize); if(res < 0) { if(errno != EAGAIN && errno != EINTR) return 96; if(errno == EINTR) usleep(SLEEPTIME); @@ -153,7 +153,7 @@ int sockmap(struct clientparam * param, int timeo){ sl1 = (*param->bandlimfunc)(param, 0, param->cliinbuf - param->clioffset); if(sl1 > sleeptime) sleeptime = sl1; } - res = so._sendto(param->remsock, param->clibuf + param->clioffset, (!param->waitclient64 || (param->waitclient64 - sent) > (param->cliinbuf - param->clioffset))? param->cliinbuf - param->clioffset : (int)(param->waitclient64 - sent), 0, (struct sockaddr*)¶m->sinsr, sasize); + res = so._sendto(param->remsock, (char *)param->clibuf + param->clioffset, (!param->waitclient64 || (param->waitclient64 - sent) > (param->cliinbuf - param->clioffset))? param->cliinbuf - param->clioffset : (int)(param->waitclient64 - sent), 0, (struct sockaddr*)¶m->sinsr, sasize); if(res < 0) { if(errno != EAGAIN && errno != EINTR) return 97; if(errno == EINTR) usleep(SLEEPTIME); @@ -172,7 +172,7 @@ int sockmap(struct clientparam * param, int timeo){ #if DEBUGLEVEL > 2 (*param->srv->logfunc)(param, "recv from client"); #endif - res = so._recvfrom(param->clisock, param->clibuf + param->cliinbuf, param->clibufsize - param->cliinbuf, 0, (struct sockaddr *)¶m->sincr, &sasize); + res = so._recvfrom(param->clisock, (char *)param->clibuf + param->cliinbuf, param->clibufsize - param->cliinbuf, 0, (struct sockaddr *)¶m->sincr, &sasize); if (res==0) { so._shutdown(param->clisock, SHUT_RDWR); so._closesocket(param->clisock); @@ -187,7 +187,7 @@ int sockmap(struct clientparam * param, int timeo){ } param->cliinbuf += res; if(!param->nolongdatfilter){ - action = handledatfltcli(param, ¶m->clibuf, ¶m->clibufsize, param->cliinbuf - res, ¶m->cliinbuf); + action = handledatfltcli(param, ¶m->clibuf, (int *)¶m->clibufsize, param->cliinbuf - res, (int *)¶m->cliinbuf); if(action == HANDLED){ return 0; } @@ -203,7 +203,7 @@ int sockmap(struct clientparam * param, int timeo){ #endif sasize = sizeof(sin); - res = so._recvfrom(param->remsock, param->srvbuf + param->srvinbuf, param->srvbufsize - param->srvinbuf, 0, (struct sockaddr *)&sin, &sasize); + res = so._recvfrom(param->remsock, (char *)param->srvbuf + param->srvinbuf, param->srvbufsize - param->srvinbuf, 0, (struct sockaddr *)&sin, &sasize); if (res==0) { so._shutdown(param->remsock, SHUT_RDWR); so._closesocket(param->remsock); @@ -220,7 +220,7 @@ int sockmap(struct clientparam * param, int timeo){ param->nreads++; param->statssrv64 += res; if(!param->nolongdatfilter){ - action = handledatfltsrv(param, ¶m->srvbuf, ¶m->srvbufsize, param->srvinbuf - res, ¶m->srvinbuf); + action = handledatfltsrv(param, ¶m->srvbuf, (int *)¶m->srvbufsize, param->srvinbuf - res, (int *)¶m->srvinbuf); if(action == HANDLED){ return 0; } diff --git a/src/socks.c b/src/socks.c index b9c6b2b..16a98b0 100644 --- a/src/socks.c +++ b/src/socks.c @@ -349,7 +349,7 @@ fflush(stderr); } if (fds[1].revents) { sasize = sizeof(sin); - if((len = so._recvfrom(param->clisock, buf, 65535, 0, (struct sockaddr *)&sin, &sasize)) <= 10) { + if((len = so._recvfrom(param->clisock, (char *)buf, 65535, 0, (struct sockaddr *)&sin, &sasize)) <= 10) { param->res = 464; break; } @@ -413,7 +413,7 @@ fflush(stderr); sasize = sizeof(param->sinsr); buf[0]=buf[1]=buf[2]=0; buf[3]=(*SAFAMILY(¶m->sinsl) == AF_INET)?1:4; - if((len = so._recvfrom(param->remsock, buf+6+SAADDRLEN(¶m->sinsl), 65535 - 10, 0, (struct sockaddr *)¶m->sinsr, &sasize)) <= 0) { + if((len = so._recvfrom(param->remsock, (char *)buf+6+SAADDRLEN(¶m->sinsl), 65535 - 10, 0, (struct sockaddr *)¶m->sinsr, &sasize)) <= 0) { param->res = 468; break; } diff --git a/src/structures.h b/src/structures.h index 202a5b3..b239eec 100644 --- a/src/structures.h +++ b/src/structures.h @@ -613,13 +613,13 @@ struct sockfuncs { int (WINAPI *_connect)(SOCKET s, const struct sockaddr *name, int namelen); int (WINAPI *_getpeername)(SOCKET s, struct sockaddr * name, int * namelen); int (WINAPI *_getsockname)(SOCKET s, struct sockaddr * name, int * namelen); - int (WINAPI *_getsockopt)(SOCKET s, int level, int optname, void * optval, int * optlen); - int (WINAPI *_setsockopt)(SOCKET s, int level, int optname, const void *optval, int optlen); + int (WINAPI *_getsockopt)(SOCKET s, int level, int optname, char * optval, int * optlen); + int (WINAPI *_setsockopt)(SOCKET s, int level, int optname, const char *optval, int optlen); int (WINAPI *_poll)(struct pollfd *fds, unsigned int nfds, int timeout); - int (WINAPI *_send)(SOCKET s, const void *msg, int len, int flags); - int (WINAPI *_sendto)(SOCKET s, const void *msg, int len, int flags, const struct sockaddr *to, int tolen); - int (WINAPI *_recv)(SOCKET s, void *buf, int len, int flags); - int (WINAPI *_recvfrom)(SOCKET s, void * buf, int len, int flags, struct sockaddr * from, int * fromlen); + int (WINAPI *_send)(SOCKET s, const char *msg, int len, int flags); + int (WINAPI *_sendto)(SOCKET s, const char *msg, int len, int flags, const struct sockaddr *to, int tolen); + int (WINAPI *_recv)(SOCKET s, char *buf, int len, int flags); + int (WINAPI *_recvfrom)(SOCKET s, char * buf, int len, int flags, struct sockaddr * from, int * fromlen); int (WINAPI *_shutdown)(SOCKET s, int how); int (WINAPI *_closesocket)(SOCKET s); #else diff --git a/src/udppm.c b/src/udppm.c index a629886..7e19828 100644 --- a/src/udppm.c +++ b/src/udppm.c @@ -59,7 +59,7 @@ void * udppmchild(struct clientparam* param) { if((param->clisock=so._socket(SASOCK(¶m->sincr), SOCK_DGRAM, IPPROTO_UDP)) == INVALID_SOCKET) { RETURN(818); } - if(so._setsockopt(param->clisock, SOL_SOCKET, SO_REUSEADDR, (unsigned char *)&ul, sizeof(int))) {RETURN(820);}; + if(so._setsockopt(param->clisock, SOL_SOCKET, SO_REUSEADDR, (char *)&ul, sizeof(int))) {RETURN(820);}; ioctlsocket(param->clisock, FIONBIO, &ul); size = sizeof(param->sinsl); if(so._getsockname(param->srv->srvsock, (struct sockaddr *)¶m->sinsl, &size)) {RETURN(21);};