From 46af643ca8be2b426283c4c8d5566475f71095e7 Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Wed, 6 Jan 2016 17:45:35 +0000
Subject: [PATCH] Change default source logging from b64 to b32. To change back
 to b64, add the following to the RequestLogImpl section of jetty.xml:    
 <Set name="b64">true</Set>

---
 .../java/src/net/i2p/jetty/I2PLogger.java     |  8 +++----
 .../java/src/net/i2p/jetty/I2PRequestLog.java | 24 +++++++++++++++----
 installer/resources/eepsite/jetty.xml         |  2 ++
 3 files changed, 25 insertions(+), 9 deletions(-)

diff --git a/apps/jetty/java/src/net/i2p/jetty/I2PLogger.java b/apps/jetty/java/src/net/i2p/jetty/I2PLogger.java
index 5d3e421293..00b8593116 100644
--- a/apps/jetty/java/src/net/i2p/jetty/I2PLogger.java
+++ b/apps/jetty/java/src/net/i2p/jetty/I2PLogger.java
@@ -31,12 +31,12 @@ public class I2PLogger implements Logger
 {    
     private final Log _log;
     
-    StringBuilder _buffer = new StringBuilder();
+    private final StringBuilder _buffer = new StringBuilder();
     
-    static {
+    //static {
         // So people don't wonder where the logs went
-        System.out.println("INFO: Jetty " + Server.getVersion() + " logging to I2P logs using class " + Server.class.getName());
-    }
+        //System.out.println("INFO: Jetty " + Server.getVersion() + " logging to I2P logs using class " + Server.class.getName());
+    //}
 
     public I2PLogger()
     {
diff --git a/apps/jetty/java/src/net/i2p/jetty/I2PRequestLog.java b/apps/jetty/java/src/net/i2p/jetty/I2PRequestLog.java
index 723e069f77..222960780c 100644
--- a/apps/jetty/java/src/net/i2p/jetty/I2PRequestLog.java
+++ b/apps/jetty/java/src/net/i2p/jetty/I2PRequestLog.java
@@ -76,6 +76,7 @@ public class I2PRequestLog extends AbstractLifeCycle implements RequestLog
     private boolean _logLatency = false;
     private boolean _logCookies = false;
     private boolean _logServer = false;
+    private boolean _b64;
     
     private transient OutputStream _out;
     private transient OutputStream _fileOut;
@@ -242,6 +243,15 @@ public class I2PRequestLog extends AbstractLifeCycle implements RequestLog
         _preferProxiedForAddress = preferProxiedForAddress;
     }
 
+    /**
+     * @param b64 true to enable base 64 logging. False for base 32 logging. Default false.
+     * @since 0.9.24
+     */
+    public void setB64(boolean b64) 
+    {
+        _b64 = b64;
+    }
+
     /* ------------------------------------------------------------ */
     public void log(Request request, Response response)
     {
@@ -280,11 +290,15 @@ public class I2PRequestLog extends AbstractLifeCycle implements RequestLog
                 }
 
                 if (addr == null) {
-                    // TODO offer B32 option
-                    addr = request.getHeader("X-I2P-DestHash");
-                    if(addr != null)
-                        addr += ".i2p";
-                    else
+                    if (_b64) {
+                        addr = request.getHeader("X-I2P-DestHash");
+                        if (addr != null)
+                            addr += ".i2p";
+                    } else {
+                        // 52chars.b32.i2p
+                        addr = request.getHeader("X-I2P-DestB32");
+                    }
+                    if (addr == null)
                         addr = request.getRemoteAddr();
                 }
 
diff --git a/installer/resources/eepsite/jetty.xml b/installer/resources/eepsite/jetty.xml
index 432bb347e3..61734c4328 100644
--- a/installer/resources/eepsite/jetty.xml
+++ b/installer/resources/eepsite/jetty.xml
@@ -310,6 +310,8 @@
           <Set name="extended">false</Set>
           <Set name="logCookies">false</Set>
           <Set name="LogTimeZone">GMT</Set>
+          <!-- False for b32 logging. True for b64 logging. Default false -->
+          <Set name="b64">false</Set>
         </New>
       </Set>
     </Ref>
-- 
GitLab