Search squid archive

Re: after squid shut down redirector still working

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





Henrik Nordstrom-5 wrote:
> 
> Probably your redirectors are broken. What redirector are you using?
> 
> Regards
> Henrik
> 
> 
I think so,because the redirector is just writing ,and all this working in
test mode only.

Here is the source code of "main" function.

int main(int argc, char **argv)
{

    log_debug("Starting");
    if(argc < 2)
    {	strncpy(config,def_config,255);
        log_debug("Wrong usage of program!The second argument must be config
file absolute path");
	snprintf(TMP_MSG,LINE_MAXLEN,
		"Using default config name '%s'",config);
   log_debug(TMP_MSG);
	

    }else if (argc == 2){

        if(!(cnf_file = fopen(argv[1],"r")))
        {
	strncpy(config,def_config,255);
	snprintf(TMP_MSG,LINE_MAXLEN,
		"The specified path not found!Using default config name '%s'",config);
   log_debug(TMP_MSG);
        }else{
            strncpy(config,argv[1],255);
	}
    }
//
    if(config_read())
    {
        log_debug("Read config error!");
        emergMode = 2;

    }//label

        log_debug("Config reading done.");
	checkEmergMode();
        //
        log_debug("Ready to serve requests");
        //
       // my_debug();
	set_sig_handler();
        for(;;)
        {
            //
            now = time(NULL);
            //
            time_t diff_time = difftime(now,last_configure);
            if(((int) diff_time == reconfigure) || (((int)diff_time %
reconfigure) == 0 && (int)diff_time != 0))
            {
                reConfigure();
	checkEmergMode();
 	   sleep(1);
            }//time
	if (chdir(root_dir) != 0) {
	snprintf(TMP_MSG,Q_LINE_MAXLEN, "Can not change working directory to %s",
root_dir);
	log_debug(TMP_MSG);
	exit(EXIT_FAILURE);
	}
	if (setvbuf(stdout, NULL, _IOLBF, 0) != 0) {
	snprintf(TMP_MSG,Q_LINE_MAXLEN, "Cannot configure stdout buffer");
	log_debug(TMP_MSG);
	exit(EXIT_FAILURE);
	}
//	
	
	if(fgets(p_string, LINE_MAXLEN, stdin) != NULL){
		manageOutput(p_string);//bug with this function,need check
	
	}
	//
            usleep(1000);
            //
        }//while

    exit(EXIT_SUCCESS);
}

void manageOutput(char *stream){

char *sym;

	sym = strtok(stream," ");
	snprintf(rEntry.url,255,"%s",sym);
	sym = strtok(NULL,"");
	snprintf(rEntry.src_address,255,"%s",sym);
	sym = strtok(NULL,"");
	snprintf(rEntry.ident,255,"%s",sym);
	sym = strtok(NULL,"");
	snprintf(rEntry.user,UNAME_MAXLEN,"%s",sym);
	sym = strtok(NULL,"");
	snprintf(rEntry.method,32,"%s",sym);

if(isBlocked(rEntry.user) == 1){
	snprintf(rEntry.url,LINE_MAXLEN,"%s%s",reurl_blocked,rEntry.user);
}else if(isOverdrafted(rEntry.user) != 0) {
	snprintf(rEntry.url,LINE_MAXLEN,"%s%s",reurl_overdrafted,rEntry.user);
}//else redirect_all = 2;
//
if(redirect_all == 0){
fprintf(stdout, "%s %s %s %s %s",
	rEntry.url, 
	rEntry.src_address,
	rEntry.ident,
	rEntry.user,
	rEntry.method
);
}else fprintf(stdout,"%s","");

fflush(stdout);
}

I think all the problems are in the "manageOutput" function.
-- 
View this message in context: http://www.nabble.com/after-squid-shut-down-redirector-still-working-tf4488899.html#a12811785
Sent from the Squid - Users mailing list archive at Nabble.com.


[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux