/*
* SARG Squid Analysis Report Generator http://sarg.sourceforge.net
- * 1998, 2010
+ * 1998, 2011
*
* SARG donations:
* please look at http://sarg.sourceforge.net/donations.php
sprintf(general2,"%s/sarg-general2",outdirname);
sprintf(report,"%s/siteuser.html",outdirname);
- sprintf(csort,"sort -k 4,4 -k 1,1 -o \"%s\" \"%s\"",general2,general);
+ if (snprintf(csort,sizeof(csort),"sort -t \"\t\" -k 4,4 -k 1,1 -o \"%s\" \"%s\"",general2,general)>=sizeof(csort)) {
+ debuga(_("Sort command too long when sorting file \"%s\" to \"%s\"\n"),general,general2);
+ exit(EXIT_FAILURE);
+ }
cstatus=system(csort);
if (!WIFEXITED(cstatus) || WEXITSTATUS(cstatus)) {
debuga(_("sort command return status %d\n"),WEXITSTATUS(cstatus));
if(strcmp(item.url,ourl) != 0 && nsitesusers) {
fprintf(fp_ou,"<tr><td class=\"data\">%d</td><td class=\"data2\">",regs);
- if(BlockIt[0]!='\0') {
+ if(BlockIt[0]!='\0' && ourl[0]!=ALIAS_PREFIX) {
fprintf(fp_ou,"<a href=\"%s%s?url=",wwwDocumentRoot,BlockIt);
output_html_url(fp_ou,ourl);
fputs("\"><img src=\"../images/sarg-squidguard-block.png\"></a> ",fp_ou);
}
- fputs("<a href=\"http://",fp_ou);
- output_html_url(fp_ou,ourl);
- fputs("\">",fp_ou);
- output_html_string(fp_ou,ourl,100);
- fputs("</a></td>",fp_ou);
+ output_html_link(fp_ou,ourl,100);
+ fputs("</td>",fp_ou);
if (BytesInSitesUsersReport) {
fputs("<td class=\"data\"",fp_ou);
if(nsitesusers) {
fprintf(fp_ou,"<tr><td class=\"data\">%d</td><td class=\"data2\">",regs);
- if(BlockIt[0]!='\0') {
+ if(BlockIt[0]!='\0' && ourl[0]!=ALIAS_PREFIX) {
fprintf(fp_ou,"<a href=\"%s%s?url=",wwwDocumentRoot,BlockIt);
output_html_url(fp_ou,ourl);
fputs("\"><img src=\"../images/sarg-squidguard-block.png\"></a> ",fp_ou);
}
- fputs("<a href=\"http://",fp_ou);
- output_html_url(fp_ou,ourl);
- fputs("\">",fp_ou);
- output_html_string(fp_ou,ourl,100);
- fputs("</a></td>",fp_ou);
+ output_html_link(fp_ou,ourl,100);
+ fputs("</td>",fp_ou);
if (BytesInSitesUsersReport) {
fputs("<td class=\"data\"",fp_ou);
if (SortTableJs[0]) fprintf(fp_ou," sorttable_customkey=\"%"PRId64"\"",(int64_t)obytes);