fix type warnings

This commit is contained in:
z3APA3A 2020-10-30 18:36:05 +03:00
parent 1f7a33d5ab
commit a0da9c97e8
10 changed files with 78 additions and 78 deletions

View File

@ -10,7 +10,7 @@
int clientnegotiate(struct chain * redir, struct clientparam * param, struct sockaddr * addr, char * hostname){ int clientnegotiate(struct chain * redir, struct clientparam * param, struct sockaddr * addr, char * hostname){
unsigned char *buf; char *buf;
char *username; char *username;
int res; int res;
int len=0; int len=0;
@ -393,8 +393,8 @@ int ACLmatches(struct ace* acentry, struct clientparam * param){
break; break;
case 2: case 2:
lname = strlen((char *)hstentry->name); lname = (int)strlen((char *)hstentry->name);
lhost = strlen((char *)param->hostname); lhost = (int)strlen((char *)param->hostname);
if(lhost > lname){ if(lhost > lname){
if(!strncasecmp((char *)param->hostname + (lhost - lname), if(!strncasecmp((char *)param->hostname + (lhost - lname),
(char *)hstentry->name, (char *)hstentry->name,
@ -1170,7 +1170,7 @@ unsigned long udpresolve(int af, char * name, char * value, unsigned *retttl, st
for(i=0; i<n; i++){ for(i=0; i<n; i++){
unsigned short nq, na; unsigned short nq, na;
char b[4098], *s1, *s2; char b[4098], *s1, *s2;
unsigned char *buf; char *buf;
int j, k, len, flen; int j, k, len, flen;
SOCKET sock; SOCKET sock;
unsigned ttl; unsigned ttl;
@ -1184,7 +1184,7 @@ unsigned long udpresolve(int af, char * name, char * value, unsigned *retttl, st
int usetcp = 0; int usetcp = 0;
unsigned short serial = 1; unsigned short serial = 1;
buf = (unsigned char*)b+2; buf = b+2;
sinsl = (param && !makeauth)? &param->sinsl : &addr; sinsl = (param && !makeauth)? &param->sinsl : &addr;
sinsr = (param && !makeauth)? &param->sinsr : &addr; sinsr = (param && !makeauth)? &param->sinsr : &addr;
@ -1221,11 +1221,11 @@ unsigned long udpresolve(int af, char * name, char * value, unsigned *retttl, st
#ifdef TCP_NODELAY #ifdef TCP_NODELAY
{ {
int opt = 1; int opt = 1;
setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char *)&opt, sizeof(opt)); setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (void *)&opt, sizeof(opt));
} }
#endif #endif
} }
len = (int)strlen((char *)name); len = (int)strlen(name);
serial = myrand(name,len); serial = myrand(name,len);
*(unsigned short*)buf = serial; /* query id */ *(unsigned short*)buf = serial; /* query id */
@ -1242,7 +1242,7 @@ unsigned long udpresolve(int af, char * name, char * value, unsigned *retttl, st
memcpy(buf + 13, name, len); memcpy(buf + 13, name, len);
len += 13; len += 13;
buf[len] = 0; buf[len] = 0;
for(s2 = buf + 12; (s1 = (char *)strchr((char *)s2 + 1, '.')); s2 = s1)*s2 = (char)((s1 - s2) - 1); for(s2 = buf + 12; (s1 = strchr(s2 + 1, '.')); s2 = s1)*s2 = (char)(unsigned char)((s1 - s2) - 1);
*s2 = (len - (int)(s2 - buf)) - 1; *s2 = (len - (int)(s2 - buf)) - 1;
len++; len++;
buf[len++] = 0; buf[len++] = 0;

View File

@ -194,7 +194,7 @@ static int calc_replydigest(char *packet, char *original, const char *secret, in
memcpy(calc_vector, packet + 4, AUTH_VECTOR_LEN); memcpy(calc_vector, packet + 4, AUTH_VECTOR_LEN);
memcpy(packet + 4, original, AUTH_VECTOR_LEN); memcpy(packet + 4, original, AUTH_VECTOR_LEN);
secretlen = strlen(secret); secretlen = (int)strlen(secret);
memcpy(packet + len, secret, secretlen); memcpy(packet + len, secret, secretlen);
md5_calc(calc_digest, (u_char *)packet, len + secretlen); md5_calc(calc_digest, (u_char *)packet, len + secretlen);
@ -212,7 +212,7 @@ static int rad_pwencode(char *passwd, int *pwlen, const char *secret, const char
int i, n, secretlen; int i, n, secretlen;
int len; int len;
len = strlen(passwd); len = (int)strlen(passwd);
if (len > 128) len = 128; if (len > 128) len = 128;
*pwlen = len; *pwlen = len;
if (len % AUTH_PASS_LEN != 0) { if (len % AUTH_PASS_LEN != 0) {
@ -222,7 +222,7 @@ static int rad_pwencode(char *passwd, int *pwlen, const char *secret, const char
len = *pwlen = i; len = *pwlen = i;
} }
secretlen = strlen(secret); secretlen = (int)strlen(secret);
memcpy(buffer, secret, secretlen); memcpy(buffer, secret, secretlen);
memcpy(buffer + secretlen, vector, AUTH_VECTOR_LEN); memcpy(buffer + secretlen, vector, AUTH_VECTOR_LEN);
md5_calc((u_char *)digest, buffer, secretlen + AUTH_VECTOR_LEN); md5_calc((u_char *)digest, buffer, secretlen + AUTH_VECTOR_LEN);
@ -325,7 +325,7 @@ static int radbuf(struct clientparam * param, unsigned char * inbuf, int auth, i
/* Acct-Session-Id */ /* Acct-Session-Id */
sprintf(buf, "%u.%u.%u", (unsigned)param->time_start, (unsigned)param->msec_start, (unsigned)param->threadid); sprintf(buf, "%u.%u.%u", (unsigned)param->time_start, (unsigned)param->msec_start, (unsigned)param->threadid);
len = strlen(buf); len = (int)strlen(buf);
*ptr++ = PW_ACCT_SESSION_ID; *ptr++ = PW_ACCT_SESSION_ID;
*ptr++ = 2+len; *ptr++ = 2+len;
memcpy(ptr, buf, len); memcpy(ptr, buf, len);
@ -365,7 +365,7 @@ static int radbuf(struct clientparam * param, unsigned char * inbuf, int auth, i
/* NAS-Identifier */ /* NAS-Identifier */
if(conf.stringtable){ if(conf.stringtable){
*ptr++ = PW_NAS_IDENTIFIER; *ptr++ = PW_NAS_IDENTIFIER;
len = strlen(conf.stringtable[SERVICES+param->service]); len = (int)strlen(conf.stringtable[SERVICES+param->service]);
*ptr++ = (2 + len); *ptr++ = (2 + len);
memcpy(ptr, conf.stringtable[SERVICES+param->service], len); memcpy(ptr, conf.stringtable[SERVICES+param->service], len);
ptr += len; ptr += len;
@ -390,7 +390,7 @@ static int radbuf(struct clientparam * param, unsigned char * inbuf, int auth, i
/* Called-Station-ID */ /* Called-Station-ID */
if(param->hostname){ if(param->hostname){
*ptr++ = PW_CALLED_STATION_ID; *ptr++ = PW_CALLED_STATION_ID;
len = strlen(param->hostname); len = (int)strlen(param->hostname);
*ptr++ = (2 + len); *ptr++ = (2 + len);
memcpy(ptr, param->hostname, len); memcpy(ptr, param->hostname, len);
ptr += len; ptr += len;
@ -432,7 +432,7 @@ static int radbuf(struct clientparam * param, unsigned char * inbuf, int auth, i
/* Username */ /* Username */
if(param->username){ if(param->username){
len = strlen(param->username); len = (int)strlen(param->username);
if(len>128)len=128; if(len>128)len=128;
*ptr++ = PW_USER_NAME; *ptr++ = PW_USER_NAME;
*ptr++ = len + 2; *ptr++ = len + 2;
@ -475,7 +475,7 @@ static int radbuf(struct clientparam * param, unsigned char * inbuf, int auth, i
} }
if(auth && param->password){ if(auth && param->password){
len = strlen(param->password); len = (int)strlen(param->password);
if(len > 128) len = 128; if(len > 128) len = 128;
*ptr++ = PW_PASSWORD; *ptr++ = PW_PASSWORD;
ptr++; ptr++;
@ -493,7 +493,7 @@ static int radbuf(struct clientparam * param, unsigned char * inbuf, int auth, i
packet.length = htons(total_length); packet.length = htons(total_length);
if(!auth){ if(!auth){
len = strlen(radiussecret); len = (int)strlen(radiussecret);
memcpy(ptr,radiussecret,len); memcpy(ptr,radiussecret,len);
md5_calc(packet.vector, (u_char *)&packet, total_length + len); md5_calc(packet.vector, (u_char *)&packet, total_length + len);
} }

View File

@ -10,7 +10,7 @@
static const char base64digits[] = static const char base64digits[] =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
#define BAD 255 #define BAD -1
static const char base64val[] = { static const char base64val[] = {
BAD,BAD,BAD,BAD, BAD,BAD,BAD,BAD, BAD,BAD,BAD,BAD, BAD,BAD,BAD,BAD, BAD,BAD,BAD,BAD, BAD,BAD,BAD,BAD, BAD,BAD,BAD,BAD, BAD,BAD,BAD,BAD,
BAD,BAD,BAD,BAD, BAD,BAD,BAD,BAD, BAD,BAD,BAD,BAD, BAD,BAD,BAD,BAD, BAD,BAD,BAD,BAD, BAD,BAD,BAD,BAD, BAD,BAD,BAD,BAD, BAD,BAD,BAD,BAD,
@ -23,7 +23,7 @@ static const char base64val[] = {
}; };
#define DECODE64(c) ((c > 32 && c<127)? base64val[(int)c] : BAD) #define DECODE64(c) ((c > 32 && c<127)? base64val[(int)c] : BAD)
unsigned char* en64 (const char *in, char *out, int inlen) char* en64 (const char *in, char *out, int inlen)
{ {
for (; inlen > 0; inlen -= 3, in+=3) for (; inlen > 0; inlen -= 3, in+=3)
{ {
@ -40,7 +40,7 @@ unsigned char* en64 (const char *in, char *out, int inlen)
int de64 (const char *in, char *out, int maxlen) int de64 (const char *in, char *out, int maxlen)
{ {
int len = 0; int len = 0;
register unsigned char digit1, digit2, digit3, digit4; register char digit1, digit2, digit3, digit4;
if (in[0] == '+' && in[1] == ' ') if (in[0] == '+' && in[1] == ' ')
in += 2; in += 2;

View File

@ -701,7 +701,7 @@ int scanipl(char *arg, struct iplist *dst){
for(i = addrlen; i>(nbytes + (nbits > 0)); i--){ for(i = addrlen; i>(nbytes + (nbits > 0)); i--){
((char *)&dst->ip_from)[i-1] = 0x00; ((char *)&dst->ip_from)[i-1] = 0x00;
((char *)&dst->ip_to)[i-1] = 0xff; ((char *)&dst->ip_to)[i-1] = (char)(unsigned char)0xff;
} }
for(;nbits;nbits--){ for(;nbits;nbits--){
((char *)&dst->ip_from)[nbytes] &= ~(0x01<<(nbits-1)); ((char *)&dst->ip_from)[nbytes] &= ~(0x01<<(nbits-1));

View File

@ -77,7 +77,7 @@ static void pr_sa(struct node *node, CBFUNC cbf, void*cb){
buf[1] = 0; buf[1] = 0;
inet_ntop(*SAFAMILY(node->value), SAADDR(node->value), buf+1, sizeof(buf)-10); inet_ntop(*SAFAMILY(node->value), SAADDR(node->value), buf+1, sizeof(buf)-10);
sprintf(buf + strlen(buf), "]:%hu", (unsigned short)*SAPORT(node->value)); sprintf(buf + strlen(buf), "]:%hu", (unsigned short)*SAPORT(node->value));
if(node->value)(*cbf)(cb, buf, strlen(buf)); if(node->value)(*cbf)(cb, buf, (int)strlen(buf));
#endif #endif
} }

View File

@ -27,7 +27,7 @@ void * dnsprchild(struct clientparam* param) {
int len; int len;
unsigned type=0; unsigned type=0;
unsigned ttl; unsigned ttl;
unsigned char addr[16]; char addr[16];
#ifdef _WIN32 #ifdef _WIN32
unsigned long ul = 1; unsigned long ul = 1;
#endif #endif
@ -83,7 +83,7 @@ void * dnsprchild(struct clientparam* param) {
type = ((unsigned)buf[len+1])*256 + (unsigned)buf[len+2]; type = ((unsigned)buf[len+1])*256 + (unsigned)buf[len+2];
if((type==0x01 || type==0x1c) && !param->srv->singlepacket){ if((type==0x01 || type==0x1c) && !param->srv->singlepacket){
ip = udpresolve((type==0x1c)?AF_INET6:AF_INET, (unsigned char *)host, addr, &ttl, param, 0); ip = udpresolve((type==0x1c)?AF_INET6:AF_INET, host, addr, &ttl, param, 0);
} }
len+=5; len+=5;
@ -170,7 +170,7 @@ void * dnsprchild(struct clientparam* param) {
if(us > 4096) RETURN(833); if(us > 4096) RETURN(833);
buf += 2; buf += 2;
len -= 2; len -= 2;
if(len < us) len += sockgetlinebuf(param, SERVER, buf+len, us - len, 0, conf.timeouts[SINGLEBYTE_L]); if(len < us) len += sockgetlinebuf(param, SERVER, (char *)buf+len, us - len, 0, conf.timeouts[SINGLEBYTE_L]);
if(len != us) RETURN(832); if(len != us) RETURN(832);
} }
if(buf[6] || buf[7]){ if(buf[6] || buf[7]){
@ -198,7 +198,7 @@ CLEANRET:
if((ip && type == 0x01) || type == 0x1c){ if((ip && type == 0x01) || type == 0x1c){
myinet_ntop(type == 0x01? AF_INET:AF_INET6, addr, (char *)buf+strlen((char *)buf), 64); myinet_ntop(type == 0x01? AF_INET:AF_INET6, addr, (char *)buf+strlen((char *)buf), 64);
} }
dolog(param, buf); dolog(param, (char *)buf);
} }
if(bbuf)myfree(bbuf); if(bbuf)myfree(bbuf);
if(host)myfree(host); if(host)myfree(host);

View File

@ -350,7 +350,7 @@ void dolog(struct clientparam * param, const char *s){
static int init = 0; static int init = 0;
if(!param || !param->srv){ if(!param || !param->srv){
stdlog(s, strlen(s), &errlogger); stdlog(s, (int)strlen(s), &errlogger);
return; return;
} }
if(conf.prelog)conf.prelog(param); if(conf.prelog)conf.prelog(param);
@ -360,9 +360,9 @@ void dolog(struct clientparam * param, const char *s){
if(!param->srv->log->logfunc) { if(!param->srv->log->logfunc) {
int slen =0, hlen=0, ulen=0; int slen =0, hlen=0, ulen=0;
slen = s?strlen(s)+1 : 0; slen = s?(int)strlen(s)+1 : 0;
hlen = param->hostname? strlen(param->hostname)+1 : 0; hlen = param->hostname? (int)strlen(param->hostname)+1 : 0;
ulen = param->username? strlen(param->username)+1 : 0; ulen = param->username? (int)strlen(param->username)+1 : 0;
if(!(evt = malloc(sizeof(struct logevent) + slen + ulen + hlen))) return; if(!(evt = malloc(sizeof(struct logevent) + slen + ulen + hlen))) return;
evt->inbuf = 0; evt->inbuf = 0;
evt->param=param; evt->param=param;
@ -502,7 +502,7 @@ char * dologname (char *buf, int bufsize, char *name, const char *ext, ROTATION
ts = localtime(&t); ts = localtime(&t);
if(strchr((char *)name, '%')){ if(strchr((char *)name, '%')){
dobuf2(&logparam, buf, bufsize - (ext?strlen(ext):0), NULL, NULL, ts, (char *)name); dobuf2(&logparam, buf, bufsize - (ext?(int)strlen(ext):0), NULL, NULL, ts, (char *)name);
} }
else switch(lt){ else switch(lt){
case NONE: case NONE:
@ -875,12 +875,12 @@ static void stdlogrotate(struct LOGGER *logger){
strcat((char *)tmpbuf, " "); strcat((char *)tmpbuf, " ");
if(!strcmp((char *)conf.archiver[i], "%A")){ if(!strcmp((char *)conf.archiver[i], "%A")){
strcat((char *)tmpbuf, "\""); strcat((char *)tmpbuf, "\"");
dologname (tmpbuf + strlen((char *)tmpbuf), sizeof(tmpbuf) - (strlen((char *)tmpbuf) + 1), logger->selector, conf.archiver[1], logger->rotate, (logger->rotated - t)); dologname (tmpbuf + strlen((char *)tmpbuf), (int)(sizeof(tmpbuf) - (strlen((char *)tmpbuf) + 1)), logger->selector, conf.archiver[1], logger->rotate, (logger->rotated - t));
strcat((char *)tmpbuf, "\""); strcat((char *)tmpbuf, "\"");
} }
else if(!strcmp((char *)conf.archiver[i], "%F")){ else if(!strcmp((char *)conf.archiver[i], "%F")){
strcat((char *)tmpbuf, "\""); strcat((char *)tmpbuf, "\"");
dologname (tmpbuf+strlen((char *)tmpbuf), sizeof(tmpbuf) - (strlen((char *)tmpbuf) + 1), logger->selector, NULL, logger->rotate, (logger->rotated-t)); dologname (tmpbuf+strlen((char *)tmpbuf), (int)(sizeof(tmpbuf) - (strlen((char *)tmpbuf) + 1)), logger->selector, NULL, logger->rotate, (logger->rotated-t));
strcat((char *)tmpbuf, "\""); strcat((char *)tmpbuf, "\"");
} }
else else

View File

@ -42,7 +42,7 @@ char * ntpwdhash (char *szHash, const char *szPassword, int ctohex)
* NT passwords are unicode. Convert plain text password * NT passwords are unicode. Convert plain text password
* to unicode by inserting a zero every other byte * to unicode by inserting a zero every other byte
*/ */
nPasswordLen = (int)strlen((char *)szPassword); nPasswordLen = (int)strlen(szPassword);
if(nPasswordLen > 255)nPasswordLen = 255; if(nPasswordLen > 255)nPasswordLen = 255;
for (i = 0; i < nPasswordLen; i++) { for (i = 0; i < nPasswordLen; i++) {
szUnicodePass[i << 1] = szPassword[i]; szUnicodePass[i << 1] = szPassword[i];
@ -51,8 +51,8 @@ char * ntpwdhash (char *szHash, const char *szPassword, int ctohex)
/* Encrypt Unicode password to a 16-byte MD4 hash */ /* Encrypt Unicode password to a 16-byte MD4 hash */
MD4Init(&ctx); MD4Init(&ctx);
MD4Update(&ctx, szUnicodePass, (nPasswordLen<<1)); MD4Update(&ctx, (unsigned char*)szUnicodePass, (nPasswordLen<<1));
MD4Final(szUnicodePass, &ctx); MD4Final((unsigned char*)szUnicodePass, &ctx);
if (ctohex){ if (ctohex){
tohex(szUnicodePass, szHash, 16); tohex(szUnicodePass, szHash, 16);
} }
@ -64,8 +64,8 @@ char * ntpwdhash (char *szHash, const char *szPassword, int ctohex)
char * mycrypt(const char *pw, const char *salt, char *passwd){ char * mycrypt(const char *pw, const char *salt, char *passwd){
const char *ep; const char *ep;
if(salt[0] == '$' && salt[1] == '1' && salt[2] == '$' && (ep = (char *)strchr((char *)salt+3, '$'))) { if(salt[0] == '$' && salt[1] == '1' && salt[2] == '$' && (ep = strchr(salt+3, '$'))) {
static char *magic = (char *)"$1$"; static char *magic = "$1$";
char *p; char *p;
const char *sp; const char *sp;
char final[MD5_SIZE]; char final[MD5_SIZE];
@ -82,39 +82,39 @@ char * mycrypt(const char *pw, const char *salt, char *passwd){
MD5Init(&ctx); MD5Init(&ctx);
/* The password first, since that is what is most unknown */ /* The password first, since that is what is most unknown */
MD5Update(&ctx,pw,strlen((char *)pw)); MD5Update(&ctx,(unsigned char*)pw,strlen(pw));
/* Then our magic string */ /* Then our magic string */
MD5Update(&ctx,magic,strlen((char *)magic)); MD5Update(&ctx,(unsigned char*)magic,strlen(magic));
/* Then the raw salt */ /* Then the raw salt */
MD5Update(&ctx,sp,sl); MD5Update(&ctx,(unsigned char*)sp,sl);
/* Then just as many characters of the MD5(pw,salt,pw) */ /* Then just as many characters of the MD5(pw,salt,pw) */
MD5Init(&ctx1); MD5Init(&ctx1);
MD5Update(&ctx1,pw,strlen((char *)pw)); MD5Update(&ctx1,(unsigned char*)pw,strlen(pw));
MD5Update(&ctx1,sp,sl); MD5Update(&ctx1,(unsigned char*)sp,sl);
MD5Update(&ctx1,pw,strlen((char *)pw)); MD5Update(&ctx1,(unsigned char*)pw,strlen(pw));
MD5Final(final,&ctx1); MD5Final((unsigned char*)final,&ctx1);
for(pl = (int)strlen((char *)pw); pl > 0; pl -= MD5_SIZE) for(pl = (int)strlen(pw); pl > 0; pl -= MD5_SIZE)
MD5Update(&ctx,final,pl>MD5_SIZE ? MD5_SIZE : pl); MD5Update(&ctx,(unsigned char*)final,pl>MD5_SIZE ? MD5_SIZE : pl);
/* Don't leave anything around in vm they could use. */ /* Don't leave anything around in vm they could use. */
memset(final,0,sizeof final); memset(final,0,sizeof final);
/* Then something really weird... */ /* Then something really weird... */
for (i = (int)strlen((char *)pw); i ; i >>= 1) for (i = (int)strlen(pw); i ; i >>= 1)
if(i&1) if(i&1)
MD5Update(&ctx, final, 1); MD5Update(&ctx, (unsigned char*)final, 1);
else else
MD5Update(&ctx, pw, 1); MD5Update(&ctx, (unsigned char*)pw, 1);
/* Now make the output string */ /* Now make the output string */
strcpy((char *)passwd,(char *)magic); strcpy(passwd,magic);
strncat((char *)passwd,(char *)sp,sl); strncat(passwd,sp,sl);
strcat((char *)passwd,"$"); strcat(passwd,"$");
MD5Final(final,&ctx); MD5Final((unsigned char*)final,&ctx);
/* /*
* and now, just to make sure things don't run too fast * and now, just to make sure things don't run too fast
@ -124,24 +124,24 @@ char * mycrypt(const char *pw, const char *salt, char *passwd){
for(i=0;i<1000;i++) { for(i=0;i<1000;i++) {
MD5Init(&ctx1); MD5Init(&ctx1);
if(i & 1) if(i & 1)
MD5Update(&ctx1,pw,strlen((char *)pw)); MD5Update(&ctx1,(unsigned char*)pw,strlen(pw));
else else
MD5Update(&ctx1,final,MD5_SIZE); MD5Update(&ctx1,(unsigned char*)final,MD5_SIZE);
if(i % 3) if(i % 3)
MD5Update(&ctx1,sp,sl); MD5Update(&ctx1,(unsigned char*)sp,sl);
if(i % 7) if(i % 7)
MD5Update(&ctx1,pw,strlen((char *)pw)); MD5Update(&ctx1,(unsigned char*)pw,strlen(pw));
if(i & 1) if(i & 1)
MD5Update(&ctx1,final,MD5_SIZE); MD5Update(&ctx1,(unsigned char*)final,MD5_SIZE);
else else
MD5Update(&ctx1,pw,strlen((char *)pw)); MD5Update(&ctx1,(unsigned char*)pw,strlen(pw));
MD5Final(final,&ctx1); MD5Final((unsigned char*)final,&ctx1);
} }
p = passwd + strlen((char *)passwd); p = passwd + strlen(passwd);
l = (final[ 0]<<16) | (final[ 6]<<8) | final[12]; l = (final[ 0]<<16) | (final[ 6]<<8) | final[12];
_crypt_to64(p,l,4); p += 4; _crypt_to64(p,l,4); p += 4;
@ -185,12 +185,12 @@ int main(int argc, char* argv[]){
return 1; return 1;
} }
if(argc == 2) { if(argc == 2) {
printf("NT:%s\n", ntpwdhash(buf, (char *)argv[1], 1)); printf("NT:%s\n", ntpwdhash(buf, argv[1], 1));
} }
else { else {
i = (int)strlen((char *)argv[1]); i = (int)strlen(argv[1]);
if (i > 64) argv[1][64] = 0; if (i > 64) argv[1][64] = 0;
sprintf((char *)buf, "$1$%s$", argv[1]); sprintf(buf, "$1$%s$", argv[1]);
printf("CR:%s\n", mycrypt(argv[2], buf, buf+256)); printf("CR:%s\n", mycrypt(argv[2], buf, buf+256));
} }
return 0; return 0;

View File

@ -159,7 +159,7 @@ void decodeurl(char *s, int allowcr){
if(allowcr && u != '\r')*d++ = u; if(allowcr && u != '\r')*d++ = u;
else if (u != '\r' && u != '\n') { else if (u != '\r' && u != '\n') {
if (u == '\"' || u == '\\') *d++ = '\\'; if (u == '\"' || u == '\\') *d++ = '\\';
else if (u == 255) *d++ = 255; else if (u == 255) *d++ = (char)(unsigned char)255;
*d++ = u; *d++ = u;
} }
s+=3; s+=3;
@ -187,7 +187,7 @@ void file2url(char *sb, char *buf, unsigned bufsize, int * inbuf, int skip255){
memcpy(buf+*inbuf, "%5C%22", 6); memcpy(buf+*inbuf, "%5C%22", 6);
(*inbuf)+=6; (*inbuf)+=6;
} }
else if(skip255 && *sb == 255 && *(sb+1) == 255) { else if(skip255 && *sb == (char)(unsigned char)255 && *(sb+1) == (char)(unsigned char)255) {
memcpy(buf+*inbuf, "%ff", 3); memcpy(buf+*inbuf, "%ff", 3);
(*inbuf)+=3; (*inbuf)+=3;
sb++; sb++;
@ -780,7 +780,7 @@ for(;;){
inbuf = 0; inbuf = 0;
#ifndef ANONYMOUS #ifndef ANONYMOUS
if(!anonymous){ if(!anonymous){
int len = strlen((char *)buf); int len = (int)strlen((char *)buf);
len += sprintf((char*)buf + len, "Forwarded: for="); len += sprintf((char*)buf + len, "Forwarded: for=");
if(*SAFAMILY(&param->sincr) == AF_INET6) len += sprintf((char*)buf + len, "\"["); if(*SAFAMILY(&param->sincr) == AF_INET6) len += sprintf((char*)buf + len, "\"[");
len += myinet_ntop(*SAFAMILY(&param->sincr), SAADDR(&param->sincr), (char *)buf + len, 128); len += myinet_ntop(*SAFAMILY(&param->sincr), SAADDR(&param->sincr), (char *)buf + len, 128);

View File

@ -10,7 +10,7 @@
#define RETURN(xxx) { param->res = xxx; goto CLEANRET; } #define RETURN(xxx) { param->res = xxx; goto CLEANRET; }
unsigned char * commands[] = {(unsigned char *)"UNKNOWN", (unsigned char *)"CONNECT", (unsigned char *)"BIND", (unsigned char *)"UDPMAP"}; char * commands[] = {"UNKNOWN", "CONNECT", "BIND", "UDPMAP"};
#define BUFSIZE 1024 #define BUFSIZE 1024
#define LARGEBUFSIZE 67000 #define LARGEBUFSIZE 67000
@ -63,11 +63,11 @@ void * sockschild(struct clientparam* param) {
if ((i = sockgetcharcli(param, conf.timeouts[SINGLEBYTE_S], 0)) == EOF) {RETURN(451);} if ((i = sockgetcharcli(param, conf.timeouts[SINGLEBYTE_S], 0)) == EOF) {RETURN(451);}
if (i && (unsigned)(res = sockgetlinebuf(param, CLIENT, buf, i, 0, conf.timeouts[STRING_S])) != i){RETURN(441);}; if (i && (unsigned)(res = sockgetlinebuf(param, CLIENT, buf, i, 0, conf.timeouts[STRING_S])) != i){RETURN(441);};
buf[i] = 0; buf[i] = 0;
if(!param->username)param->username = (unsigned char *)mystrdup((char *)buf); if(!param->username)param->username = mystrdup(buf);
if ((i = sockgetcharcli(param, conf.timeouts[SINGLEBYTE_S], 0)) == EOF) {RETURN(445);} if ((i = sockgetcharcli(param, conf.timeouts[SINGLEBYTE_S], 0)) == EOF) {RETURN(445);}
if (i && (unsigned)(res = sockgetlinebuf(param, CLIENT, buf, i, 0, conf.timeouts[STRING_S])) != i){RETURN(441);}; if (i && (unsigned)(res = sockgetlinebuf(param, CLIENT, buf, i, 0, conf.timeouts[STRING_S])) != i){RETURN(441);};
buf[i] = 0; buf[i] = 0;
if(!param->password)param->password = (unsigned char *)mystrdup((char *)buf); if(!param->password)param->password = mystrdup(buf);
buf[0] = 1; buf[0] = 1;
buf[1] = 0; buf[1] = 0;
if(socksend(param->clisock, buf, 2, conf.timeouts[STRING_S])!=2){RETURN(481);} if(socksend(param->clisock, buf, 2, conf.timeouts[STRING_S])!=2){RETURN(481);}
@ -123,7 +123,7 @@ void * sockschild(struct clientparam* param) {
if(command == 1 && SAISNULL(&param->req)) { if(command == 1 && SAISNULL(&param->req)) {
RETURN(431); RETURN(431);
} }
myinet_ntop(*SAFAMILY(&param->sinsr), SAADDR(&param->sinsr), (char *)buf, 64); myinet_ntop(*SAFAMILY(&param->sinsr), SAADDR(&param->sinsr), buf, 64);
break; break;
case 3: case 3:
if ((size = sockgetcharcli(param, conf.timeouts[SINGLEBYTE_S], 0)) == EOF) {RETURN(451);} /* nmethods */ if ((size = sockgetcharcli(param, conf.timeouts[SINGLEBYTE_S], 0)) == EOF) {RETURN(451);} /* nmethods */
@ -139,7 +139,7 @@ void * sockschild(struct clientparam* param) {
RETURN(997); RETURN(997);
} }
if(param->hostname)myfree(param->hostname); if(param->hostname)myfree(param->hostname);
param->hostname = (unsigned char *)mystrdup((char *)buf); param->hostname = mystrdup(buf);
if (ver == 5) { if (ver == 5) {
if ((res = sockgetcharcli(param, conf.timeouts[SINGLEBYTE_S], 0)) == EOF) {RETURN(441);} if ((res = sockgetcharcli(param, conf.timeouts[SINGLEBYTE_S], 0)) == EOF) {RETURN(441);}
buf[0] = (unsigned char) res; buf[0] = (unsigned char) res;
@ -151,13 +151,13 @@ void * sockschild(struct clientparam* param) {
else { else {
sockgetlinebuf(param, CLIENT, buf, BUFSIZE - 1, 0, conf.timeouts[STRING_S]); sockgetlinebuf(param, CLIENT, buf, BUFSIZE - 1, 0, conf.timeouts[STRING_S]);
buf[127] = 0; buf[127] = 0;
if(param->srv->needuser && *buf && !param->username)param->username = (unsigned char *)mystrdup((char *)buf); if(param->srv->needuser && *buf && !param->username)param->username = mystrdup(buf);
if(!memcmp(SAADDR(&param->req), "\0\0\0", 3)){ if(!memcmp(SAADDR(&param->req), "\0\0\0", 3)){
param->service = S_SOCKS45; param->service = S_SOCKS45;
sockgetlinebuf(param, CLIENT, buf, BUFSIZE - 1, 0, conf.timeouts[STRING_S]); sockgetlinebuf(param, CLIENT, buf, BUFSIZE - 1, 0, conf.timeouts[STRING_S]);
buf[127] = 0; buf[127] = 0;
if(param->hostname)myfree(param->hostname); if(param->hostname)myfree(param->hostname);
param->hostname = (unsigned char *)mystrdup((char *)buf); param->hostname = mystrdup(buf);
if(!getip46(param->srv->family, buf, (struct sockaddr *) &param->req)) RETURN(100); if(!getip46(param->srv->family, buf, (struct sockaddr *) &param->req)) RETURN(100);
param->sinsr = param->req; param->sinsr = param->req;
} }
@ -185,11 +185,11 @@ void * sockschild(struct clientparam* param) {
#ifdef SO_REUSEADDR #ifdef SO_REUSEADDR
opt = 1; opt = 1;
so._setsockopt(param->remsock, SOL_SOCKET, SO_REUSEADDR, (unsigned char *)&opt, sizeof(int)); so._setsockopt(param->remsock, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(int));
#endif #endif
#ifdef SO_REUSEPORT #ifdef SO_REUSEPORT
opt = 1; opt = 1;
so._setsockopt(param->remsock, SOL_SOCKET, SO_REUSEPORT, (unsigned char *)&opt, sizeof(int)); so._setsockopt(param->remsock, SOL_SOCKET, SO_REUSEPORT, &opt, sizeof(int));
#endif #endif
} }
#endif #endif