From 4d2a6d53441d801de1a13fffaf851a1f8c101a06 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fr=C3=A9d=C3=A9ric=20Marchal?= Date: Fri, 31 Aug 2012 22:06:39 +0200 Subject: [PATCH] Report the IP address from which the user visited some site The IP address makes sense in that report to detect users visiting sites from another computer but still identified by their credential. --- report.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/report.c b/report.c index 67bc5f9..6798776 100644 --- a/report.c +++ b/report.c @@ -47,12 +47,13 @@ void gerarel(void) FILE *fp_tmp=NULL; char *buf; - char accdia[11], acchora[9], accip[MAXLEN], *accurl; - char oldaccdia[11], oldacchora[9], oldaccip[MAXLEN]; + char accdia[11], acchora[9], accip[256], *accurl; + char oldaccdia[11], oldacchora[9], oldaccip[256]; + char oldacciptt[256]; char wdirname[MAXLEN]; char *oldurl=NULL; char oldmsg[50], acccode[MAXLEN/2 - 1], oldacccode[MAXLEN/2 - 1]; - char ipantes[MAXLEN], nameantes[MAXLEN]; + char ipantes[256], nameantes[MAXLEN]; char accsmart[MAXLEN]; char crc2[MAXLEN/2 -1]; char siteind[MAX_TRUNCATED_URL]; @@ -131,7 +132,7 @@ void gerarel(void) strcpy(u2,uinfo->id); if(Ip2Name && uinfo->id_is_ip) { - strcpy(ipantes,u2); + safe_strcpy(ipantes,u2,sizeof(ipantes)); ip2name(u2,sizeof(u2)); strcpy(nameantes,u2); } @@ -147,6 +148,7 @@ void gerarel(void) ourltt_size=0; memset(oldaccdiatt,0,sizeof(oldaccdiatt)); memset(oldacchoratt,0,sizeof(oldacchoratt)); + memset(oldacciptt,0,sizeof(oldacciptt)); new_user=true; nacc=0; nbytes=0; @@ -188,7 +190,7 @@ void gerarel(void) strcpy(ipantes,accip); ip2name(accip,sizeof(accip)); strcpy(nameantes,accip); - } else strcpy(accip,nameantes); + } else safe_strcpy(accip,nameantes,sizeof(accip)); } if (!indexonly) { @@ -235,7 +237,8 @@ void gerarel(void) nelap+=accelap; if ((ReportType & REPORT_TYPE_SITE_USER_TIME_DATE) != 0 && !indexonly && - (!oldurltt || strcmp(oldurltt,accurl) || strcmp(oldaccdiatt,accdia) || strcmp(oldacchoratt,acchora))) { + (!oldurltt || strcmp(oldurltt,accurl) || strcmp(oldaccdiatt,accdia) || strcmp(oldacchoratt,acchora) || + strcmp(oldacciptt,accip))) { if(!ttopen) { snprintf(arqtt,sizeof(arqtt),"%s/%s",outdirname,uinfo->filename); @@ -266,12 +269,16 @@ void gerarel(void) close_html_header(fp_tt); fputs("
\n",fp_tt); - fprintf(fp_tt,"\n",_("ACCESSED SITE"),_("DATE"),_("TIME")); + fprintf(fp_tt,"",_("ACCESSED SITE")); + fprintf(fp_tt,"",_("IP")); + fprintf(fp_tt,"\n",_("DATE"),_("TIME")); } fputs("\n",accdia,acchora); + fputs("",fp_tt); + fprintf(fp_tt,"",accip); + fprintf(fp_tt,"\n",accdia,acchora); url_len=strlen(accurl); if (!oldurltt || url_len>=ourltt_size) { @@ -285,6 +292,7 @@ void gerarel(void) strcpy(oldurltt,accurl); strcpy(oldaccdiatt,accdia); strcpy(oldacchoratt,acchora); + strcpy(oldacciptt,accip); } strcpy(crc2,acccode); -- 2.47.3
%s%s%s
%s%s%s%s
",fp_tt); output_html_string(fp_tt,accurl,100); - fprintf(fp_tt,"%s%s
%s%s%s