mirror of
https://github.com/3proxy/3proxy.git
synced 2026-02-25 13:42:25 +08:00
Compare commits
3 Commits
26b6a5616d
...
b85a6b3862
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b85a6b3862 | ||
|
|
12c9039ea4 | ||
|
|
1a970c5c98 |
22
src/conf.c
22
src/conf.c
@ -105,6 +105,10 @@ unsigned char * dologname (unsigned char *buf, unsigned char *name, const unsign
|
|||||||
struct tm *ts;
|
struct tm *ts;
|
||||||
|
|
||||||
ts = localtime(&t);
|
ts = localtime(&t);
|
||||||
|
if(strlen((char *)name) >= 4096){
|
||||||
|
*buf = 0;
|
||||||
|
return buf;
|
||||||
|
}
|
||||||
if(strchr((char *)name, '%')){
|
if(strchr((char *)name, '%')){
|
||||||
struct clientparam fakecli;
|
struct clientparam fakecli;
|
||||||
|
|
||||||
@ -905,7 +909,7 @@ struct ace * make_ace (int argc, unsigned char ** argv){
|
|||||||
if(argc > 0 && strcmp("*", (char *)argv[0])) {
|
if(argc > 0 && strcmp("*", (char *)argv[0])) {
|
||||||
arg = argv[0];
|
arg = argv[0];
|
||||||
arg = (unsigned char *)strtok((char *)arg, ",");
|
arg = (unsigned char *)strtok((char *)arg, ",");
|
||||||
do {
|
if(arg) do {
|
||||||
if(!acl->users) {
|
if(!acl->users) {
|
||||||
acl->users = userl = myalloc(sizeof(struct userlist));
|
acl->users = userl = myalloc(sizeof(struct userlist));
|
||||||
}
|
}
|
||||||
@ -924,7 +928,7 @@ struct ace * make_ace (int argc, unsigned char ** argv){
|
|||||||
}
|
}
|
||||||
if(argc > 1 && strcmp("*", (char *)argv[1])) {
|
if(argc > 1 && strcmp("*", (char *)argv[1])) {
|
||||||
arg = (unsigned char *)strtok((char *)argv[1], ",");
|
arg = (unsigned char *)strtok((char *)argv[1], ",");
|
||||||
do {
|
if(arg) do {
|
||||||
if(!acl->src) {
|
if(!acl->src) {
|
||||||
acl->src = ipl = myalloc(sizeof(struct iplist));
|
acl->src = ipl = myalloc(sizeof(struct iplist));
|
||||||
}
|
}
|
||||||
@ -945,7 +949,7 @@ struct ace * make_ace (int argc, unsigned char ** argv){
|
|||||||
}
|
}
|
||||||
if(argc > 2 && strcmp("*", (char *)argv[2])) {
|
if(argc > 2 && strcmp("*", (char *)argv[2])) {
|
||||||
arg = (unsigned char *)strtok((char *)argv[2], ",");
|
arg = (unsigned char *)strtok((char *)argv[2], ",");
|
||||||
do {
|
if(arg) do {
|
||||||
int arglen;
|
int arglen;
|
||||||
unsigned char *pattern;
|
unsigned char *pattern;
|
||||||
struct iplist tmpip={NULL};
|
struct iplist tmpip={NULL};
|
||||||
@ -1002,7 +1006,7 @@ struct ace * make_ace (int argc, unsigned char ** argv){
|
|||||||
}
|
}
|
||||||
if(argc > 3 && strcmp("*", (char *)argv[3])) {
|
if(argc > 3 && strcmp("*", (char *)argv[3])) {
|
||||||
arg = (unsigned char *)strtok((char *)argv[3], ",");
|
arg = (unsigned char *)strtok((char *)argv[3], ",");
|
||||||
do {
|
if(arg) do {
|
||||||
if(!acl->ports) {
|
if(!acl->ports) {
|
||||||
acl->ports = portl = myalloc(sizeof(struct portlist));
|
acl->ports = portl = myalloc(sizeof(struct portlist));
|
||||||
}
|
}
|
||||||
@ -1025,7 +1029,7 @@ struct ace * make_ace (int argc, unsigned char ** argv){
|
|||||||
}
|
}
|
||||||
if(argc > 4 && strcmp("*", (char *)argv[4])) {
|
if(argc > 4 && strcmp("*", (char *)argv[4])) {
|
||||||
arg = (unsigned char *)strtok((char *)argv[4], ",");
|
arg = (unsigned char *)strtok((char *)argv[4], ",");
|
||||||
do {
|
if(arg) do {
|
||||||
if(!strcmp((char *)arg, "CONNECT")){
|
if(!strcmp((char *)arg, "CONNECT")){
|
||||||
acl->operation |= CONNECT;
|
acl->operation |= CONNECT;
|
||||||
}
|
}
|
||||||
@ -1682,7 +1686,7 @@ int parsestr (unsigned char *str, unsigned char **argm, int nitems, unsigned cha
|
|||||||
}
|
}
|
||||||
switch(*str){
|
switch(*str){
|
||||||
case '\0':
|
case '\0':
|
||||||
if(comment) return -1;
|
if(comment || incbegin) return -1;
|
||||||
argm[argc] = 0;
|
argm[argc] = 0;
|
||||||
return argc;
|
return argc;
|
||||||
case '$':
|
case '$':
|
||||||
@ -1709,14 +1713,14 @@ int parsestr (unsigned char *str, unsigned char **argm, int nitems, unsigned cha
|
|||||||
argc--;
|
argc--;
|
||||||
if((fd = open((char *)incbegin+1, O_RDONLY)) <= 0){
|
if((fd = open((char *)incbegin+1, O_RDONLY)) <= 0){
|
||||||
fprintf(stderr, "Failed to open %s\n", incbegin+1);
|
fprintf(stderr, "Failed to open %s\n", incbegin+1);
|
||||||
break;
|
return -1;
|
||||||
}
|
}
|
||||||
if((*bufsize - *inbuf) <STRINGBUF){
|
if((*bufsize - *inbuf) <STRINGBUF){
|
||||||
*bufsize += STRINGBUF;
|
*bufsize += STRINGBUF;
|
||||||
if(!(buf = myrealloc(buf, *bufsize))){
|
if(!(buf = myrealloc(buf, *bufsize))){
|
||||||
fprintf(stderr, "Failed to allocate memory for %s\n", incbegin+1);
|
fprintf(stderr, "Failed to allocate memory for %s\n", incbegin+1);
|
||||||
close(fd);
|
close(fd);
|
||||||
break;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
len = 0;
|
len = 0;
|
||||||
@ -1727,7 +1731,7 @@ int parsestr (unsigned char *str, unsigned char **argm, int nitems, unsigned cha
|
|||||||
if((res = read(fd, buf+*inbuf+len, STRINGBUF-(1+len))) <= 0) {
|
if((res = read(fd, buf+*inbuf+len, STRINGBUF-(1+len))) <= 0) {
|
||||||
perror((char *)incbegin+1);
|
perror((char *)incbegin+1);
|
||||||
close(fd);
|
close(fd);
|
||||||
break;
|
return -1;
|
||||||
}
|
}
|
||||||
close(fd);
|
close(fd);
|
||||||
buf[*inbuf+res+len] = 0;
|
buf[*inbuf+res+len] = 0;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user