From: Frederic Marchal Date: Thu, 6 Jun 2013 12:25:24 +0000 (+0200) Subject: An aliased IP address is not an IP address any more X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=dc34d3451ac8dfa742f4b5161b9887b5389e0d90;p=thirdparty%2Fsarg.git An aliased IP address is not an IP address any more If the user's IP address is aliased, it must not be considered to be an IP address to be resolved by the DNS. --- diff --git a/readlog.c b/readlog.c index 75bf81b..c070338 100644 --- a/readlog.c +++ b/readlog.c @@ -144,6 +144,7 @@ static void ReadOneLogFile(struct ReadLogDataStruct *Filter,const char *arq) char download_url[MAXLEN]; char smartfilter[MAXLEN]; const char *url; + const char *user; int current_format_idx; int OutputNonZero = REPORT_EVERY_X_LINES ; int idata=0; @@ -527,7 +528,11 @@ static void ReadOneLogFile(struct ReadLogDataStruct *Filter,const char *arq) } } - log_entry.User=process_user(log_entry.User); + user=process_user(log_entry.User); + if (log_entry.User!=user) { + log_entry.User=user; + id_is_ip=false; + } if (log_entry.User[0]=='\0' || (log_entry.User[1]=='\0' && (log_entry.User[0]=='-' || log_entry.User[0]==' ' || log_entry.User[0]==':'))) { excluded_count[ER_NoUser]++; diff --git a/userinfo.c b/userinfo.c index c535cee..e933861 100644 --- a/userinfo.c +++ b/userinfo.c @@ -111,10 +111,10 @@ struct userinfostruct *userinfo_create(const char *userid,const char *ip) } user->label=user->id; //assign a label to avoid a NULL pointer in case none is provided if (ip) { - user->id_is_ip=0; + user->id_is_ip=false; user->ip=StringBuffer_Store(UserStrings,ip); } else { - user->id_is_ip=1; + user->id_is_ip=true; user->ip=user->id; }