]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Fix %un logging external ACL username
authorAmos Jeffries <squid3@treenet.co.nz>
Mon, 15 Feb 2016 12:33:03 +0000 (01:33 +1300)
committerAmos Jeffries <squid3@treenet.co.nz>
Mon, 15 Feb 2016 12:33:03 +0000 (01:33 +1300)
src/format/Format.cc

index dcaccb7981c2999a28e340d2f89d12e8128bc72b..71e656a69f9325a9d63b5e53960ffe426865b826 100644 (file)
@@ -810,8 +810,14 @@ Format::Format::assemble(MemBuf &mb, const AccessLogEntry::Pointer &al, int logS
             if (al->request && al->request->auth_user_request != NULL)
                 out = strOrNull(al->request->auth_user_request->username());
 #endif
+            if (!out && al->request && al->request->extacl_user.size()) {
+                if (const char *t = al->request->extacl_user.termedBuf())
+                    out = t;
+            }
+
             if (!out)
                 out = strOrNull(al->cache.extuser);
+
 #if USE_OPENSSL
             if (!out)
                 out = strOrNull(al->cache.ssluser);
@@ -832,7 +838,13 @@ Format::Format::assemble(MemBuf &mb, const AccessLogEntry::Pointer &al, int logS
             break;
 
         case LFT_USER_EXTERNAL:
-            out = strOrNull(al->cache.extuser);
+            if (al->request && al->request->extacl_user.size()) {
+                if (const char *t = al->request->extacl_user.termedBuf())
+                    out = t;
+            }
+
+            if (!out)
+                out = strOrNull(al->cache.extuser);
             break;
 
         /* case LFT_USER_REALM: */