]> git.ipfire.org Git - thirdparty/sarg.git/commitdiff
An aliased IP address is not an IP address any more
authorFrederic Marchal <fmarchal@users.sourceforge.net>
Thu, 6 Jun 2013 12:25:24 +0000 (14:25 +0200)
committerFrederic Marchal <fmarchal@users.sourceforge.net>
Thu, 6 Jun 2013 12:25:24 +0000 (14:25 +0200)
If the user's IP address is aliased, it must not be considered to be an
IP address to be resolved by the DNS.

readlog.c
userinfo.c

index 75bf81bdab0496e28dc05af10adc5f35129e0310..c070338175288ed3d5339109ebaf96436379254d 100644 (file)
--- 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]++;
index c535ceed4ec02cf4af68e615800c546702242722..e9338616fba518efc36b1da31ca86d6454a04887 100644 (file)
@@ -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;
        }