char tbuf2[128];
char zip[20];
char *str;
- char bufz[MAXLEN];
- char bufy[MAXLEN];
+ char bufz[2*MAXLEN];
char tmp2[MAXLEN];
char start_hour[128];
char end_hour[128];
int exstring=0;
int isa_ncols=0,isa_cols[ISACOL_Last];
int from_stdin;
+ int blen;
long totregsl=0;
long totregsg=0;
long totregsx=0;
}
while(fgets(bufz,sizeof(bufz),fp_in)!=NULL) {
+ blen=strlen(bufz);
+ if (blen>0 && bufz[blen-1]!='\r' && bufz[blen-1]!='\n' && !feof(fp_in)) {
+ fprintf(stderr,"SARG: line too long (more than %d bytes) in %s\n",sizeof(bufz)-1,arq);
+ exit(1);
+ }
if (ilf==ILF_Unknown) {
if(strncmp(bufz,"#Software: Mic",14) == 0) {
fflush (stdout);
OutputNonZero = REPORT_EVERY_X_LINES ;
}
- if(strlen(bufz) > MAXLEN-1) continue;
- if(!bufz[0]) continue;
+ if(blen < 58) continue;
if(strstr(bufz,"HTTP/0.0") != 0) continue;
if(strstr(bufz,"logfile turned over") != 0) continue;
if(bufz[0] == ' ') continue;
- if(strlen(bufz) < 58) continue;
// Record only hours usage which is required
tt = (time_t) strtoul( bufz, NULL, 10 );
// exclude_string
exstring=0;
if(ExcludeString[0] != '\0') {
- strcpy(warea,bufz);
getword_start(&gwarea,ExcludeString);
while(strchr(gwarea.current,':') != 0) {
if (getword_multisep(val1,sizeof(val1),&gwarea,':')<0) {
printf("SARG: Maybe you have a broken record or garbage in your exclusion string.\n");
exit(1);
}
- if((str=(char *) strstr(warea,val1)) != (char *) NULL )
+ if((str=(char *) strstr(bufz,val1)) != (char *) NULL )
exstring++;
}
- if((str=(char *) strstr(warea,gwarea.current)) != (char *) NULL )
+ if((str=(char *) strstr(bufz,gwarea.current)) != (char *) NULL )
exstring++;
}
if(exstring) continue;
- strcpy(bufy,bufz);
if ((str = strchr(bufz, '\n')) != NULL)
*str = '\0'; /* strip \n */
if (ilf==ILF_Squid || ilf==ILF_Common || ilf==ILF_Unknown) {
getword_start(&gwarea,bufz);
if (getword(data,sizeof(data),&gwarea,' ')<0) {
- printf("SARG: Maybe you have a broken record or garbage in your access.log file.\n");
+ printf("SARG: Maybe you have a broken time in your access.log file.\n");
exit(1);
}
if((str=(char *) strchr(data, '.')) != (char *) NULL ) {
if(ilf==ILF_Unknown || ilf==ILF_Squid) {
if (getword(elap,sizeof(elap),&gwarea,' ')<0) {
- printf("SARG: Maybe you have a broken record or garbage in your %s file.\n",arq);
+ printf("SARG: Maybe you have a broken elapsed time in your %s file.\n",arq);
exit(1);
}
while(strcmp(elap,"") == 0 && gwarea.current[0] != '\0')
if (getword(elap,sizeof(elap),&gwarea,' ')<0) {
- printf("SARG: Maybe you have a broken record or garbage in your %s file.\n",arq);
+ printf("SARG: Maybe you have a broken elapsed time in your %s file.\n",arq);
exit(1);
}
if(strlen(elap) < 1) continue;
if (getword(ip,sizeof(ip),&gwarea,' ')<0){
- printf("SARG: Maybe you have a broken record or garbage in your %s file.\n",arq);
+ printf("SARG: Maybe you have a broken client IP address in your %s file.\n",arq);
exit(1);
}
if (getword(code,sizeof(code),&gwarea,' ')<0){
- printf("SARG: Maybe you have a broken record or garbage in your %s file.\n",arq);
+ printf("SARG: Maybe you have a broken result code in your %s file.\n",arq);
exit(1);
}
if (getword(tam,sizeof(tam),&gwarea,' ')<0){
- printf("SARG: Maybe you have a broken record or garbage in your %s file.\n",arq);
+ printf("SARG: Maybe you have a broken amount of data in your %s file.\n",arq);
exit(1);
}
if (getword(fun,sizeof(fun),&gwarea,' ')<0){
- printf("SARG: Maybe you have a broken record or garbage in your %s file.\n",arq);
+ printf("SARG: Maybe you have a broken request method in your %s file.\n",arq);
exit(1);
}
if (getword(url,sizeof(url),&gwarea,' ')<0){
- printf("SARG: Maybe you have a broken record or garbage in your %s file.\n",arq);
+ printf("SARG: Maybe you have a broken URI in your %s file.\n",arq);
exit(1);
}
// while (strstr(bufz,"%20") != 0) {
// strcat(url,warea);
// }
if (getword(user,sizeof(user),&gwarea,' ')<0){
- printf("SARG: Maybe you have a broken record or garbage in your %s file.\n",arq);
+ printf("SARG: Maybe you have a broken user ID in your %s file.\n",arq);
exit(1);
}
ilf=ILF_Squid;