mirror of
				https://github.com/3proxy/3proxy.git
				synced 2025-11-04 07:42:39 +08:00 
			
		
		
		
	rename memory functions in pluginlink
This commit is contained in:
		
							parent
							
								
									e7e7d2fddf
								
							
						
					
					
						commit
						22cf9254c5
					
				@ -68,7 +68,7 @@ int savecounters(void)
 | 
			
		||||
    tc = tc->next;
 | 
			
		||||
    f=NULL;
 | 
			
		||||
    if(strcmp(tcd->comment,"ldapcounters")==0) {
 | 
			
		||||
      tmpbuf=mypluginlink->malloc(strlen(pat_file)+strlen(ldap_dircount)+strlen(tcd->ace->users->user));
 | 
			
		||||
      tmpbuf=malloc(strlen(pat_file)+strlen(ldap_dircount)+strlen(tcd->ace->users->user));
 | 
			
		||||
      sprintf(tmpbuf,pat_file,ldap_dircount,tcd->ace->users->user);
 | 
			
		||||
      f=fopen(tmpbuf,"w+b");
 | 
			
		||||
      fseek(f,0,SEEK_SET);
 | 
			
		||||
@ -76,7 +76,7 @@ int savecounters(void)
 | 
			
		||||
					(unsigned long)tcd->cleared,(unsigned long)tcd->updated);
 | 
			
		||||
 | 
			
		||||
      fclose(f);
 | 
			
		||||
      mypluginlink->free(tmpbuf);
 | 
			
		||||
      free(tmpbuf);
 | 
			
		||||
 | 
			
		||||
     }
 | 
			
		||||
  }
 | 
			
		||||
@ -194,15 +194,15 @@ int h_ldapconnect(int argc, unsigned char ** argv)
 | 
			
		||||
   return 1;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 ldap_serv=mypluginlink->strdup(argv[1]);
 | 
			
		||||
 ldap_user=mypluginlink->strdup(argv[2]);  
 | 
			
		||||
 ldap_serv=strdup(argv[1]);
 | 
			
		||||
 ldap_user=strdup(argv[2]);  
 | 
			
		||||
 | 
			
		||||
 ld = ldap_init( ldap_serv, 389 );
 | 
			
		||||
 ldap_unbind_s(ld);
 | 
			
		||||
 
 | 
			
		||||
 if (argc == 4) 
 | 
			
		||||
  {
 | 
			
		||||
   ldap_pass= mypluginlink->strdup(argv[3]);   
 | 
			
		||||
   ldap_pass= strdup(argv[3]);   
 | 
			
		||||
   }
 | 
			
		||||
 else
 | 
			
		||||
  {
 | 
			
		||||
@ -220,7 +220,7 @@ int h_access(int argc, unsigned char ** argv)
 | 
			
		||||
   fprintf(stderr, "Error in ldapaccess: See documentation of ldapauth plugin.\n");		
 | 
			
		||||
   return 1;
 | 
			
		||||
  }
 | 
			
		||||
 ldap_access=mypluginlink->strdup(argv[1]);
 | 
			
		||||
 ldap_access=strdup(argv[1]);
 | 
			
		||||
 return 0;
 | 
			
		||||
}
 | 
			
		||||
/* --------------------------------------------------------------------------
 | 
			
		||||
@ -233,7 +233,7 @@ int h_sbase(int argc, unsigned char ** argv)
 | 
			
		||||
   fprintf(stderr, "Error in ldapsbase: See documentation of ldapauth plugin.\n");		
 | 
			
		||||
   return 1;
 | 
			
		||||
  }
 | 
			
		||||
  ldap_sbase=mypluginlink->strdup(argv[1]);   
 | 
			
		||||
  ldap_sbase=strdup(argv[1]);   
 | 
			
		||||
 return 0;
 | 
			
		||||
}
 | 
			
		||||
/* --------------------------------------------------------------------------	
 | 
			
		||||
@ -245,7 +245,7 @@ int h_userenv(int argc, unsigned char ** argv)
 | 
			
		||||
   fprintf(stderr, "Error in ldapsbase: See documentation of ldapauth plugin.\n");		
 | 
			
		||||
   return 1;
 | 
			
		||||
  }
 | 
			
		||||
  ldap_userenv=mypluginlink->strdup(argv[1]);   
 | 
			
		||||
  ldap_userenv=strdup(argv[1]);   
 | 
			
		||||
  return 0;
 | 
			
		||||
}
 | 
			
		||||
/* --------------------------------------------------------------------------
 | 
			
		||||
@ -309,11 +309,11 @@ int h_trafgroup(int argc, unsigned char ** argv)
 | 
			
		||||
  bandwidth = atoi((char *)argv[4]);
 | 
			
		||||
 | 
			
		||||
  /* name ldap group */
 | 
			
		||||
  tmpbuf=mypluginlink->malloc(strlen(pat_group)+strlen(ldap_group_attr)+strlen(argv[1]));
 | 
			
		||||
  tmpbuf=malloc(strlen(pat_group)+strlen(ldap_group_attr)+strlen(argv[1]));
 | 
			
		||||
  sprintf(tmpbuf,pat_group,ldap_group_attr,argv[1]);
 | 
			
		||||
  rc = ldap_search_s( ld, ldap_sbase, LDAP_SCOPE_SUBTREE,
 | 
			
		||||
                                        			tmpbuf, attrs, 0, &res );
 | 
			
		||||
  mypluginlink->free(tmpbuf);
 | 
			
		||||
  free(tmpbuf);
 | 
			
		||||
 | 
			
		||||
  rc=ldap_count_entries(ld,res);
 | 
			
		||||
 
 | 
			
		||||
@ -331,7 +331,7 @@ int h_trafgroup(int argc, unsigned char ** argv)
 | 
			
		||||
             
 | 
			
		||||
             /* -------------bandlim----------
 | 
			
		||||
             create user list 	    */  
 | 
			
		||||
             newuserlist = (*mypluginlink->malloc)(sizeof (struct userlist));
 | 
			
		||||
             newuserlist = (*mypluginlink->mallocfunc)(sizeof (struct userlist));
 | 
			
		||||
             if (usercaselow  > 0)
 | 
			
		||||
                #ifdef _WIN32
 | 
			
		||||
                { CharLower(vals[0]); }
 | 
			
		||||
@ -339,15 +339,15 @@ int h_trafgroup(int argc, unsigned char ** argv)
 | 
			
		||||
                { lower(vals[0]); }
 | 
			
		||||
                #endif
 | 
			
		||||
 | 
			
		||||
             newuserlist->user = (*mypluginlink->strdup)(vals[0]);
 | 
			
		||||
             newuserlist->user = (*mypluginlink->strdupfunc)(vals[0]);
 | 
			
		||||
             newuserlist->next = NULL; 
 | 
			
		||||
             /*create user rule */
 | 
			
		||||
             newace = (*mypluginlink->malloc)(sizeof (struct ace));
 | 
			
		||||
             newace = (*mypluginlink->mallocfunc)(sizeof (struct ace));
 | 
			
		||||
             memset(newace, 0, sizeof(struct ace));
 | 
			
		||||
             newace->users = newuserlist;
 | 
			
		||||
             newace->action = BANDLIM;
 | 
			
		||||
             /*create user bandlim */
 | 
			
		||||
             newbandlim =(*mypluginlink->malloc)(sizeof (struct bandlim));
 | 
			
		||||
             newbandlim =(*mypluginlink->mallocfunc)(sizeof (struct bandlim));
 | 
			
		||||
             memset(newbandlim, 0, sizeof(struct bandlim));
 | 
			
		||||
             newbandlim->rate = bandwidth;
 | 
			
		||||
             newbandlim->ace = newace;
 | 
			
		||||
@ -356,29 +356,29 @@ int h_trafgroup(int argc, unsigned char ** argv)
 | 
			
		||||
             
 | 
			
		||||
             /* -------------counters----------
 | 
			
		||||
             create user list */	     
 | 
			
		||||
             newuserlist = (*mypluginlink->malloc)(sizeof (struct userlist));
 | 
			
		||||
             newuserlist = (*mypluginlink->mallocfunc)(sizeof (struct userlist));
 | 
			
		||||
             if (usercaselow  > 0)
 | 
			
		||||
                #ifdef _WIN32
 | 
			
		||||
                { CharLower(vals[0]); }
 | 
			
		||||
                #else
 | 
			
		||||
                { lower(vals[0]);  }
 | 
			
		||||
                #endif
 | 
			
		||||
             newuserlist->user = (*mypluginlink->strdup)(vals[0]);
 | 
			
		||||
             newuserlist->user = (*mypluginlink->strdupfunc)(vals[0]);
 | 
			
		||||
             newuserlist->next = NULL; 
 | 
			
		||||
             /*create user rule */
 | 
			
		||||
             newace = (*mypluginlink->malloc)(sizeof (struct ace));
 | 
			
		||||
             newace = (*mypluginlink->mallocfunc)(sizeof (struct ace));
 | 
			
		||||
             memset(newace, 0, sizeof(struct ace));
 | 
			
		||||
             newace->users = newuserlist;
 | 
			
		||||
             newace->action = COUNTIN;
 | 
			
		||||
             /*create user counter */
 | 
			
		||||
             newtrafcount =(*mypluginlink->malloc)(sizeof (struct trafcount));
 | 
			
		||||
             newtrafcount =(*mypluginlink->mallocfunc)(sizeof (struct trafcount));
 | 
			
		||||
             memset(newtrafcount, 0, sizeof(struct trafcount));
 | 
			
		||||
             newtrafcount->ace = newace;
 | 
			
		||||
             newtrafcount->type=rtype;
 | 
			
		||||
             newtrafcount->traflim64  = traflimit;
 | 
			
		||||
             newtrafcount->comment=(*mypluginlink->strdup)("ldapcounters");
 | 
			
		||||
             newtrafcount->comment=(*mypluginlink->strdupfunc)("ldapcounters");
 | 
			
		||||
             newtrafcount->number=0;
 | 
			
		||||
             tmpbuf=(*mypluginlink->malloc)(strlen(pat_file)+strlen(ldap_dircount)+strlen(vals[0]));
 | 
			
		||||
             tmpbuf=malloc(strlen(pat_file)+strlen(ldap_dircount)+strlen(vals[0]));
 | 
			
		||||
             sprintf(tmpbuf,pat_file,ldap_dircount,vals[0]);
 | 
			
		||||
             f=NULL;
 | 
			
		||||
             f=fopen(tmpbuf,"rb");
 | 
			
		||||
@ -396,7 +396,7 @@ int h_trafgroup(int argc, unsigned char ** argv)
 | 
			
		||||
               newtrafcount->updated=rcounter.updated;
 | 
			
		||||
               fclose(f);
 | 
			
		||||
              }
 | 
			
		||||
             mypluginlink->free(tmpbuf);   
 | 
			
		||||
             free(tmpbuf);   
 | 
			
		||||
 | 
			
		||||
             newtrafcount->next = mypluginlink->conf->trafcounter;
 | 
			
		||||
             mypluginlink->conf->trafcounter = newtrafcount;
 | 
			
		||||
@ -422,8 +422,8 @@ int h_attrsgroup(int argc, unsigned char ** argv)
 | 
			
		||||
   fprintf(stderr, "Error in ldapattr: See documentation of ldapauth plugin.\n");		
 | 
			
		||||
   return 1;
 | 
			
		||||
  }
 | 
			
		||||
  attrs[0]=mypluginlink->strdup(argv[1]);
 | 
			
		||||
  ldap_group_attr=mypluginlink->strdup(argv[2]);   
 | 
			
		||||
  attrs[0]=strdup(argv[1]);
 | 
			
		||||
  ldap_group_attr=strdup(argv[2]);   
 | 
			
		||||
 
 | 
			
		||||
  if(argc == 4)
 | 
			
		||||
   { usercaselow=atoi(argv[3]); }
 | 
			
		||||
@ -439,7 +439,7 @@ int h_dircount(int argc, unsigned char ** argv)
 | 
			
		||||
   fprintf(stderr, "Error in ldapdircount: See documentation of ldapauth plugin.\n");		
 | 
			
		||||
   return 1;
 | 
			
		||||
  }
 | 
			
		||||
  ldap_dircount=mypluginlink->strdup(argv[1]);
 | 
			
		||||
  ldap_dircount=strdup(argv[1]);
 | 
			
		||||
  return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -460,15 +460,15 @@ PLUGINAPI int PLUGINCALL start(struct pluginlink * pluginlink,
 | 
			
		||||
 | 
			
		||||
 if (already_loaded != 0)
 | 
			
		||||
   {
 | 
			
		||||
    pluginlink->free(ldap_access);
 | 
			
		||||
    pluginlink->free(ldap_sbase);
 | 
			
		||||
    pluginlink->free(ldap_serv);
 | 
			
		||||
    pluginlink->free(ldap_user);
 | 
			
		||||
    pluginlink->free(ldap_pass);
 | 
			
		||||
    pluginlink->free(ldap_userenv);
 | 
			
		||||
    pluginlink->free(ldap_dircount);
 | 
			
		||||
    pluginlink->free(ldap_group_attr);
 | 
			
		||||
    pluginlink->free(attrs[0]);
 | 
			
		||||
    free(ldap_access);
 | 
			
		||||
    free(ldap_sbase);
 | 
			
		||||
    free(ldap_serv);
 | 
			
		||||
    free(ldap_user);
 | 
			
		||||
    free(ldap_pass);
 | 
			
		||||
    free(ldap_userenv);
 | 
			
		||||
    free(ldap_dircount);
 | 
			
		||||
    free(ldap_group_attr);
 | 
			
		||||
    free(attrs[0]);
 | 
			
		||||
    return (0);
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -84,10 +84,10 @@ static void pcre_data_free(struct pcre_filter_data *pcrefd){
 | 
			
		||||
	pthread_mutex_lock(&pcre_mutex);
 | 
			
		||||
	pcrefd->users--;
 | 
			
		||||
	if(!pcrefd->users){
 | 
			
		||||
		if(pcrefd->re) pl->free(pcrefd->re);
 | 
			
		||||
		if(pcrefd->re) pl->freefunc(pcrefd->re);
 | 
			
		||||
		if(pcrefd->acl) pl->freeacl(pcrefd->acl);
 | 
			
		||||
		if(pcrefd->replace) pl->free(pcrefd->replace);
 | 
			
		||||
		pl->free(pcrefd);
 | 
			
		||||
		if(pcrefd->replace) pl->freefunc(pcrefd->replace);
 | 
			
		||||
		pl->freefunc(pcrefd);
 | 
			
		||||
	}
 | 
			
		||||
	pthread_mutex_unlock(&pcre_mutex);
 | 
			
		||||
}
 | 
			
		||||
@ -167,7 +167,7 @@ static FILTER_ACTION pcre_filter_buffer(void *fc, struct clientparam *param, uns
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		tmpbuf =  (*pl->malloc)(replen);
 | 
			
		||||
		tmpbuf =  pl->mallocfunc(replen);
 | 
			
		||||
		if(!tmpbuf) return CONTINUE;
 | 
			
		||||
		for(target = tmpbuf, replace = pcrefd->replace; *replace; ){
 | 
			
		||||
			if(*replace == '\\' && *(replace +1)){
 | 
			
		||||
@ -188,18 +188,18 @@ static FILTER_ACTION pcre_filter_buffer(void *fc, struct clientparam *param, uns
 | 
			
		||||
		}
 | 
			
		||||
		memcpy(target, *buf_p + ovector[1], *length_p - ovector[1]);
 | 
			
		||||
		if((ovector[0] + replen + 1) > *bufsize_p){
 | 
			
		||||
			newbuf = (*pl->malloc)(ovector[0] + replen + 1);
 | 
			
		||||
			newbuf = pl->mallocfunc(ovector[0] + replen + 1);
 | 
			
		||||
			if(!newbuf){
 | 
			
		||||
				(*pl->free)(tmpbuf);
 | 
			
		||||
				pl->freefunc(tmpbuf);
 | 
			
		||||
				return CONTINUE;
 | 
			
		||||
			}
 | 
			
		||||
			memcpy(newbuf, *buf_p, ovector[0]);
 | 
			
		||||
			(*pl->free)(*buf_p);
 | 
			
		||||
			pl->freefunc(*buf_p);
 | 
			
		||||
			*buf_p = (unsigned char *)newbuf;
 | 
			
		||||
			*bufsize_p = ovector[0] + replen + 1;
 | 
			
		||||
		}
 | 
			
		||||
		memcpy(*buf_p + ovector[0], tmpbuf, replen);
 | 
			
		||||
		(*pl->free)(tmpbuf);
 | 
			
		||||
		pl->freefunc(tmpbuf);
 | 
			
		||||
		(*buf_p)[ovector[0] + replen] = 0;
 | 
			
		||||
		*length_p = ovector[0] + replen;
 | 
			
		||||
		if(ovector[0] + replen <= offset){
 | 
			
		||||
@ -237,7 +237,7 @@ static int h_pcre(int argc, unsigned char **argv){
 | 
			
		||||
	if(!strncmp((char *)argv[0], "pcre_rewrite", 12)) {
 | 
			
		||||
		int i,j;
 | 
			
		||||
		offset = 5;
 | 
			
		||||
		replace = pl->strdup((char *)argv[4]);
 | 
			
		||||
		replace = pl->strdupfunc((char *)argv[4]);
 | 
			
		||||
		if(!replace) return 9;
 | 
			
		||||
		for(i=0, j=0; replace[i]; i++, j++){
 | 
			
		||||
			if(replace[i] == '\\'){
 | 
			
		||||
@ -270,19 +270,19 @@ static int h_pcre(int argc, unsigned char **argv){
 | 
			
		||||
	if(*argv[3] && !(*argv[3] == '*' && !argv[3][1]) ){
 | 
			
		||||
		re = pcre_compile((char *)argv[3], pcre_options, &errptr, &offset, NULL);
 | 
			
		||||
		if(!re) {
 | 
			
		||||
			pl->free(acl);
 | 
			
		||||
			if(replace) pl->free(replace);
 | 
			
		||||
			pl->freefunc(acl);
 | 
			
		||||
			if(replace) pl->freefunc(replace);
 | 
			
		||||
			return 3;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	flt = pl->malloc(sizeof(struct pcre_filter_data));
 | 
			
		||||
	newf = pl->malloc(sizeof(struct filter));
 | 
			
		||||
	flt = pl->mallocfunc(sizeof(struct pcre_filter_data));
 | 
			
		||||
	newf = pl->mallocfunc(sizeof(struct filter));
 | 
			
		||||
	
 | 
			
		||||
	if(!flt || !newf) {
 | 
			
		||||
		pl->free(acl);
 | 
			
		||||
		pl->free(re);
 | 
			
		||||
		if(replace) pl->free(replace);
 | 
			
		||||
		if(flt) pl->free(flt);
 | 
			
		||||
		pl->freefunc(acl);
 | 
			
		||||
		pl->freefunc(re);
 | 
			
		||||
		if(replace) pl->freefunc(replace);
 | 
			
		||||
		if(flt) pl->freefunc(flt);
 | 
			
		||||
		return 4;
 | 
			
		||||
	}
 | 
			
		||||
	memset(flt, 0, sizeof(struct pcre_filter_data));
 | 
			
		||||
@ -367,11 +367,11 @@ PLUGINAPI int PLUGINCALL pcre_plugin (struct pluginlink * pluginlink,
 | 
			
		||||
	pl = pluginlink;
 | 
			
		||||
	pcre_options = 0;
 | 
			
		||||
	if(!pcre_loaded){
 | 
			
		||||
		pcre_malloc = pl->malloc;
 | 
			
		||||
		pcre_free = pl->free;
 | 
			
		||||
		pcre_malloc = pl->mallocfunc;
 | 
			
		||||
		pcre_free = pl->freefunc;
 | 
			
		||||
		pcre_loaded = 1;
 | 
			
		||||
		pthread_mutex_init(&pcre_mutex, NULL);
 | 
			
		||||
		regexp_symbols[6].value = pl->free;
 | 
			
		||||
		regexp_symbols[6].value = pl->freefunc;
 | 
			
		||||
		regexp_symbols[6].next = pl->symbols.next;
 | 
			
		||||
		pl->symbols.next = regexp_symbols;
 | 
			
		||||
		pcre_commandhandlers[3].next = pl->commandhandlers->next;
 | 
			
		||||
@ -386,7 +386,7 @@ PLUGINAPI int PLUGINCALL pcre_plugin (struct pluginlink * pluginlink,
 | 
			
		||||
			tmpflt = flt->next;
 | 
			
		||||
			if(flt->data)
 | 
			
		||||
				pcre_data_free((struct pcre_filter_data *)flt->data);
 | 
			
		||||
			pl->free(flt);
 | 
			
		||||
			pl->freefunc(flt);
 | 
			
		||||
			if(flt == pcre_last_filter) break;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -131,8 +131,8 @@ PLUGINAPI int PLUGINCALL start(struct pluginlink * pluginlink, int argc, unsigne
 | 
			
		||||
  
 | 
			
		||||
 if(argc < 2) return 1;
 | 
			
		||||
 pl = pluginlink;
 | 
			
		||||
 if(service) pl->free(service);
 | 
			
		||||
 service=(unsigned char *)pl->strdup((char *)argv[1]); 
 | 
			
		||||
 if(service) free(service);
 | 
			
		||||
 service=strdup((char *)argv[1]); 
 | 
			
		||||
 | 
			
		||||
 if (already_loaded) { return (0); }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -44,7 +44,7 @@ char **load_string(FILE *f,int max_count_str, int *countloadstr,
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 /*create table for old strings */
 | 
			
		||||
 old_table=(char **)mypl->malloc(max_count_str*sizeof(char *));
 | 
			
		||||
 old_table=(char **)malloc(max_count_str*sizeof(char *));
 | 
			
		||||
 memset(old_table,0,max_count_str*sizeof(char *)); 
 | 
			
		||||
 | 
			
		||||
 /*load from file new  strings */
 | 
			
		||||
@ -77,13 +77,13 @@ char **load_string(FILE *f,int max_count_str, int *countloadstr,
 | 
			
		||||
 | 
			
		||||
         cstr=cstr+(int)strlen(tmpbuf1)+1;
 | 
			
		||||
 | 
			
		||||
         p = (char *)mypl->malloc(cstr);
 | 
			
		||||
         p = (char *)malloc(cstr);
 | 
			
		||||
   
 | 
			
		||||
         if (pt!=NULL)
 | 
			
		||||
          { 
 | 
			
		||||
            strcpy(p, pt);  
 | 
			
		||||
            strcat(p, tmpbuf1);  
 | 
			
		||||
            mypl->free(pt); 
 | 
			
		||||
            free(pt); 
 | 
			
		||||
          }
 | 
			
		||||
         else   
 | 
			
		||||
          {  strcpy(p, tmpbuf1);  }
 | 
			
		||||
@ -104,9 +104,9 @@ char **load_string(FILE *f,int max_count_str, int *countloadstr,
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  if(pt)mypl->free(pt);
 | 
			
		||||
  if(pt)free(pt);
 | 
			
		||||
  *countloadstr=i;
 | 
			
		||||
  if (i==0) { mypl->free(old_table); old_table=NULL; }
 | 
			
		||||
  if (i==0) { free(old_table); old_table=NULL; }
 | 
			
		||||
 
 | 
			
		||||
 return old_table;
 | 
			
		||||
 | 
			
		||||
@ -124,9 +124,9 @@ static int restore_old_table(void * v)
 | 
			
		||||
    for(i=0; i < count_str_proxy_in_3proxy; i++){
 | 
			
		||||
       p=mypl->proxy_table[i];
 | 
			
		||||
       mypl->proxy_table[i]=old_proxy_table[i];
 | 
			
		||||
       mypl->free(p);
 | 
			
		||||
       free(p);
 | 
			
		||||
      }
 | 
			
		||||
    mypl->free(old_proxy_table);
 | 
			
		||||
    free(old_proxy_table);
 | 
			
		||||
    old_proxy_table = NULL;
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
@ -140,9 +140,9 @@ static int restore_old_table(void * v)
 | 
			
		||||
   for(i=0; i < count_str_admin_in_3proxy; i++){
 | 
			
		||||
       p=mypl->admin_table[i];
 | 
			
		||||
       mypl->admin_table[i]=old_admin_table[i];
 | 
			
		||||
       mypl->free(p);
 | 
			
		||||
       free(p);
 | 
			
		||||
      }
 | 
			
		||||
    mypl->free(old_admin_table);
 | 
			
		||||
    free(old_admin_table);
 | 
			
		||||
    old_admin_table = NULL;
 | 
			
		||||
  }
 | 
			
		||||
 /*return 1  delete job, 0 no delete!!! :)*/
 | 
			
		||||
 | 
			
		||||
@ -74,7 +74,7 @@ static void killtrafcorrect() {
 | 
			
		||||
	while (p) {
 | 
			
		||||
		d = p;
 | 
			
		||||
		p = p->next;
 | 
			
		||||
		pl->free(d);
 | 
			
		||||
		free(d);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -94,7 +94,7 @@ int h_trafcorrect(int argc, unsigned char ** argv) {
 | 
			
		||||
			}
 | 
			
		||||
			return 1;
 | 
			
		||||
		}
 | 
			
		||||
		newitem = (struct trafcorrect *)pl->malloc(sizeof(struct trafcorrect));
 | 
			
		||||
		newitem = (struct trafcorrect *)malloc(sizeof(struct trafcorrect));
 | 
			
		||||
		newitem->next = NULL;
 | 
			
		||||
		newitem->type = MULTIPLAY;
 | 
			
		||||
 | 
			
		||||
@ -112,7 +112,7 @@ int h_trafcorrect(int argc, unsigned char ** argv) {
 | 
			
		||||
		newitem->coeff = atof((char *)argv[4]);
 | 
			
		||||
		/* ďđîâĺđęŕ íŕ ęîđđĺęňíîńňü ââîäŕ */
 | 
			
		||||
		if ((newitem->port>65535) | (newitem->coeff<=0) | (newitem->coeff>100)) {
 | 
			
		||||
			pl->free(newitem);
 | 
			
		||||
			free(newitem);
 | 
			
		||||
			if(DBGLEVEL == 1)fprintf(stdout, "Port must be 0<p<65535 and coefficient must be 0<c<100.\n");
 | 
			
		||||
			return 2;
 | 
			
		||||
		}
 | 
			
		||||
@ -130,7 +130,7 @@ int h_trafcorrect(int argc, unsigned char ** argv) {
 | 
			
		||||
			return 1;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		newitem = (struct trafcorrect *)pl->malloc(sizeof(struct trafcorrect));	
 | 
			
		||||
		newitem = (struct trafcorrect *)malloc(sizeof(struct trafcorrect));	
 | 
			
		||||
		newitem->next = NULL;
 | 
			
		||||
		newitem->type = IPCORRECT;
 | 
			
		||||
 | 
			
		||||
@ -158,7 +158,7 @@ int h_trafcorrect(int argc, unsigned char ** argv) {
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if ((newitem->port>65535) | (newitem->psize<=0)) {
 | 
			
		||||
			pl->free(newitem);
 | 
			
		||||
			free(newitem);
 | 
			
		||||
			if(DBGLEVEL == 1)fprintf(stdout, "Port must be 0<p<65535.\n");
 | 
			
		||||
			return 2;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
@ -62,8 +62,8 @@ static FILTER_ACTION transparent_filter_client(void *fo, struct clientparam * pa
 | 
			
		||||
	param->sincl = param->srv->intsa;
 | 
			
		||||
#endif
 | 
			
		||||
	pl->myinet_ntop(*SAFAMILY(¶m->req), SAADDR(¶m->req), (char *)addrbuf, sizeof(addrbuf));
 | 
			
		||||
	if(param->hostname) pl->free(param->hostname);
 | 
			
		||||
	param->hostname = pl->strdup(addrbuf);
 | 
			
		||||
	if(param->hostname) pl->freefunc(param->hostname);
 | 
			
		||||
	param->hostname = pl->strdupfunc(addrbuf);
 | 
			
		||||
	param->sinsr = param->req;
 | 
			
		||||
	return PASS;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -138,6 +138,11 @@ void daemonize(void);
 | 
			
		||||
 | 
			
		||||
#define DEFLOGFORMAT "G%y%m%d%H%M%S.%. %p %E %U %C:%c %R:%r %O %I %h %T"
 | 
			
		||||
 | 
			
		||||
#define myalloc malloc
 | 
			
		||||
#define myfree free
 | 
			
		||||
#define myrealloc realloc
 | 
			
		||||
#define mystrdup strdup
 | 
			
		||||
 | 
			
		||||
extern RESOLVFUNC resolvfunc;
 | 
			
		||||
 | 
			
		||||
extern int wday;
 | 
			
		||||
 | 
			
		||||
@ -237,7 +237,7 @@ CLEANRET:
 | 
			
		||||
	int repcode;
 | 
			
		||||
 | 
			
		||||
	sasize = sizeof(sin);
 | 
			
		||||
	if(command != 3) so._getsockname(param->remsock, (struct sockaddr *)&sin,  &sasize);
 | 
			
		||||
	if(command != 3 && param->remsock != INVALID_SOCKET) so._getsockname(param->remsock, (struct sockaddr *)&sin,  &sasize);
 | 
			
		||||
	else so._getsockname(param->clisock, (struct sockaddr *)&sin,  &sasize);
 | 
			
		||||
#if SOCKSTRACE > 0
 | 
			
		||||
fprintf(stderr, "Sending confirmation to client with code %d for %s with %s:%hu\n",
 | 
			
		||||
 | 
			
		||||
@ -197,11 +197,6 @@ typedef void * (*EXTENDFUNC) (struct node *node);
 | 
			
		||||
typedef void (*CBFUNC)(void *cb, char * buf, int inbuf);
 | 
			
		||||
typedef void (*PRINTFUNC) (struct node *node, CBFUNC cbf, void*cb);
 | 
			
		||||
 | 
			
		||||
#define myalloc malloc
 | 
			
		||||
#define myfree free
 | 
			
		||||
#define myrealloc realloc
 | 
			
		||||
#define mystrdup strdup
 | 
			
		||||
 | 
			
		||||
#ifdef WIN32
 | 
			
		||||
 | 
			
		||||
#define PLUGINAPI __declspec(dllexport)
 | 
			
		||||
@ -754,10 +749,10 @@ struct pluginlink {
 | 
			
		||||
	void (*decodeurl)(unsigned char *s, int allowcr);
 | 
			
		||||
	int (*parsestr) (unsigned char *str, unsigned char **argm, int nitems, unsigned char ** buff, int *inbuf, int *bufsize);
 | 
			
		||||
	struct ace * (*make_ace) (int argc, unsigned char ** argv);
 | 
			
		||||
	void * (*malloc)(size_t size);
 | 
			
		||||
	void (*free)(void *ptr);
 | 
			
		||||
	void *(*realloc)(void *ptr, size_t size);
 | 
			
		||||
	char * (*strdup)(const char *str);
 | 
			
		||||
	void * (*mallocfunc)(size_t size);
 | 
			
		||||
	void (*freefunc)(void *ptr);
 | 
			
		||||
	void *(*reallocfunc)(void *ptr, size_t size);
 | 
			
		||||
	char * (*strdupfunc)(const char *str);
 | 
			
		||||
	TRAFCOUNTFUNC trafcountfunc;
 | 
			
		||||
	char ** proxy_table;
 | 
			
		||||
	struct schedule ** schedule;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user