mirror of
https://github.com/3proxy/3proxy.git
synced 2025-02-23 18:45:40 +08:00
use uint16 instead of char
This commit is contained in:
parent
5861de176e
commit
92d501ff92
17
src/auth.c
17
src/auth.c
@ -255,18 +255,19 @@ int handleredirect(struct clientparam * param, struct ace * acentry){
|
|||||||
if(SAISNULL(¶m->sinsl))param->sinsl = param->sincr;
|
if(SAISNULL(¶m->sinsl))param->sinsl = param->sincr;
|
||||||
#ifndef NOIPV6
|
#ifndef NOIPV6
|
||||||
else if(cur->cidr && *SAFAMILY(¶m->sinsl) == AF_INET6){
|
else if(cur->cidr && *SAFAMILY(¶m->sinsl) == AF_INET6){
|
||||||
char c;
|
uint16_t c;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for(i = 0; i < 16; i++){
|
for(i = 0; i < 8; i++){
|
||||||
if(i%8)myrand(¶m->sincr, sizeof(param->sincr));
|
if(i==4)myrand(¶m->sincr, sizeof(param->sincr));
|
||||||
else if(i%4) myrand(¶m->req, sizeof(param->req));
|
else if(i==6) myrand(¶m->req, sizeof(param->req));
|
||||||
|
|
||||||
if(i*8 >= cur->cidr) ((char *)SAADDR(¶m->sinsl))[i] = rand();
|
if(i*16 >= cur->cidr) ((uint16_t *)SAADDR(¶m->sinsl))[i] |= rand();
|
||||||
else if ((i+1)*8 > cur->cidr){
|
else if ((i+1)*16 > cur->cidr){
|
||||||
c = rand();
|
c = rand();
|
||||||
c >>= (cur->cidr - (i*8));
|
c >>= (cur->cidr - (i*16));
|
||||||
((char *)SAADDR(¶m->sinsl))[i] |= c;
|
c |= ntohs(((uint16_t *)SAADDR(¶m->sinsl))[i]);
|
||||||
|
((uint16_t *)SAADDR(¶m->sinsl))[i] = htons(c);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user