Author: markt Date: Thu Jun 3 18:13:47 2010 New Revision: 951093 URL: http://svn.apache.org/viewvc?rev=951093&view=rev Log: Extend access logging to requests rejected in the Processors
Modified: tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java tomcat/trunk/java/org/apache/coyote/Adapter.java tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Modified: tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?rev=951093&r1=951092&r2=951093&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Thu Jun 3 18:13:47 2010 @@ -457,6 +457,41 @@ public class CoyoteAdapter implements Ad } + public void log(org.apache.coyote.Request req, + org.apache.coyote.Response res, long time) { + + Request request = (Request) req.getNote(ADAPTER_NOTES); + Response response = (Response) res.getNote(ADAPTER_NOTES); + + if (request == null) { + + // Create objects + request = connector.createRequest(); + request.setCoyoteRequest(req); + response = connector.createResponse(); + response.setCoyoteResponse(res); + + // Link objects + request.setResponse(response); + response.setRequest(request); + + // Set as notes + req.setNote(ADAPTER_NOTES, request); + res.setNote(ADAPTER_NOTES, response); + + // Set query string encoding + req.getParameters().setQueryStringEncoding + (connector.getURIEncoding()); + } + + connector.getService().getContainer().logAccess( + request, response, 0, true); + + request.recycle(); + response.recycle(); + } + + // ------------------------------------------------------ Protected Methods Modified: tomcat/trunk/java/org/apache/coyote/Adapter.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/Adapter.java?rev=951093&r1=951092&r2=951093&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/Adapter.java (original) +++ tomcat/trunk/java/org/apache/coyote/Adapter.java Thu Jun 3 18:13:47 2010 @@ -45,11 +45,13 @@ public interface Adapter { * runtime exceptions ) */ public void service(Request req, Response res) - throws Exception; + throws Exception; public boolean event(Request req, Response res, SocketStatus status) - throws Exception; + throws Exception; - public boolean asyncDispatch(Request req,Response res, SocketStatus status) throws Exception; + public boolean asyncDispatch(Request req,Response res, SocketStatus status) + throws Exception; + public void log(Request req, Response res, long time); } Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java?rev=951093&r1=951092&r2=951093&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java (original) +++ tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java Thu Jun 3 18:13:47 2010 @@ -416,6 +416,7 @@ public class AjpAprProcessor implements log.debug(sm.getString("ajpprocessor.header.error"), t); // 400 - Bad Request response.setStatus(400); + adapter.log(request, response, 0); error = true; } @@ -427,6 +428,7 @@ public class AjpAprProcessor implements log.debug(sm.getString("ajpprocessor.request.prepare"), t); // 400 - Internal Server Error response.setStatus(400); + adapter.log(request, response, 0); error = true; } @@ -441,6 +443,7 @@ public class AjpAprProcessor implements log.error(sm.getString("ajpprocessor.request.process"), t); // 500 - Internal Server Error response.setStatus(500); + adapter.log(request, response, 0); error = true; } } @@ -501,6 +504,7 @@ public class AjpAprProcessor implements log.error(sm.getString("http11processor.request.process"), t); // 500 - Internal Server Error response.setStatus(500); + adapter.log(request, response, 0); error = true; } @@ -892,6 +896,7 @@ public class AjpAprProcessor implements secret = true; if (!tmpMB.equals(requiredSecret)) { response.setStatus(403); + adapter.log(request, response, 0); error = true; } } @@ -908,6 +913,7 @@ public class AjpAprProcessor implements // Check if secret was submitted if required if ((requiredSecret != null) && !secret) { response.setStatus(403); + adapter.log(request, response, 0); error = true; } @@ -956,6 +962,7 @@ public class AjpAprProcessor implements request.serverName().duplicate(request.localName()); } catch (IOException e) { response.setStatus(400); + adapter.log(request, response, 0); error = true; } return; @@ -1007,6 +1014,7 @@ public class AjpAprProcessor implements error = true; // 400 - Bad request response.setStatus(400); + adapter.log(request, response, 0); break; } port = port + (charValue * mult); Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java?rev=951093&r1=951092&r2=951093&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original) +++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Thu Jun 3 18:13:47 2010 @@ -427,6 +427,7 @@ public class AjpProcessor implements Act log.debug(sm.getString("ajpprocessor.header.error"), t); // 400 - Bad Request response.setStatus(400); + adapter.log(request, response, 0); error = true; } @@ -438,6 +439,7 @@ public class AjpProcessor implements Act log.debug(sm.getString("ajpprocessor.request.prepare"), t); // 400 - Internal Server Error response.setStatus(400); + adapter.log(request, response, 0); error = true; } @@ -452,6 +454,7 @@ public class AjpProcessor implements Act log.error(sm.getString("ajpprocessor.request.process"), t); // 500 - Internal Server Error response.setStatus(500); + adapter.log(request, response, 0); error = true; } } @@ -505,6 +508,7 @@ public class AjpProcessor implements Act log.error(sm.getString("http11processor.request.process"), t); // 500 - Internal Server Error response.setStatus(500); + adapter.log(request, response, 0); error = true; } @@ -900,6 +904,7 @@ public class AjpProcessor implements Act secret = true; if (!tmpMB.equals(requiredSecret)) { response.setStatus(403); + adapter.log(request, response, 0); error = true; } } @@ -916,6 +921,7 @@ public class AjpProcessor implements Act // Check if secret was submitted if required if ((requiredSecret != null) && !secret) { response.setStatus(403); + adapter.log(request, response, 0); error = true; } @@ -964,6 +970,7 @@ public class AjpProcessor implements Act request.serverName().duplicate(request.localName()); } catch (IOException e) { response.setStatus(400); + adapter.log(request, response, 0); error = true; } return; @@ -1015,6 +1022,7 @@ public class AjpProcessor implements Act error = true; // 400 - Bad request response.setStatus(400); + adapter.log(request, response, 0); break; } port = port + (charValue * mult); Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java?rev=951093&r1=951092&r2=951093&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java Thu Jun 3 18:13:47 2010 @@ -734,6 +734,7 @@ public class Http11AprProcessor implemen log.error(sm.getString("http11processor.request.process"), t); // 500 - Internal Server Error response.setStatus(500); + adapter.log(request, response, 0); error = true; } @@ -821,6 +822,7 @@ public class Http11AprProcessor implemen } // 400 - Bad Request response.setStatus(400); + adapter.log(request, response, 0); error = true; } @@ -835,6 +837,7 @@ public class Http11AprProcessor implemen } // 400 - Internal Server Error response.setStatus(400); + adapter.log(request, response, 0); error = true; } } @@ -862,6 +865,7 @@ public class Http11AprProcessor implemen log.error(sm.getString("http11processor.request.process"), t); // 500 - Internal Server Error response.setStatus(500); + adapter.log(request, response, 0); error = true; } } @@ -939,6 +943,7 @@ public class Http11AprProcessor implemen log.error(sm.getString("http11processor.request.process"), t); // 500 - Internal Server Error response.setStatus(500); + adapter.log(request, response, 0); error = true; } @@ -976,6 +981,7 @@ public class Http11AprProcessor implemen log.error(sm.getString("http11processor.request.finish"), t); // 500 - Internal Server Error response.setStatus(500); + adapter.log(request, response, 0); error = true; } try { @@ -1351,6 +1357,7 @@ public class Http11AprProcessor implemen error = true; // Send 505; Unsupported HTTP version response.setStatus(505); + adapter.log(request, response, 0); } MessageBytes methodMB = request.method(); @@ -1448,6 +1455,7 @@ public class Http11AprProcessor implemen error = true; // 501 - Unimplemented response.setStatus(501); + adapter.log(request, response, 0); } startPos = commaPos + 1; commaPos = transferEncodingValue.indexOf(',', startPos); @@ -1459,6 +1467,7 @@ public class Http11AprProcessor implemen error = true; // 501 - Unimplemented response.setStatus(501); + adapter.log(request, response, 0); } } @@ -1477,6 +1486,7 @@ public class Http11AprProcessor implemen error = true; // 400 - Bad request response.setStatus(400); + adapter.log(request, response, 0); } parseHost(valueMB); @@ -1559,6 +1569,7 @@ public class Http11AprProcessor implemen error = true; // 400 - Bad request response.setStatus(400); + adapter.log(request, response, 0); break; } port = port + (charValue * mult); Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java?rev=951093&r1=951092&r2=951093&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java Thu Jun 3 18:13:47 2010 @@ -222,6 +222,7 @@ public class Http11NioProcessor extends log.error(sm.getString("http11processor.request.process"), t); // 500 - Internal Server Error response.setStatus(500); + adapter.log(request, response, 0); error = true; } @@ -279,6 +280,7 @@ public class Http11NioProcessor extends log.error(sm.getString("http11processor.request.process"), t); // 500 - Internal Server Error response.setStatus(500); + adapter.log(request, response, 0); error = true; } @@ -370,6 +372,7 @@ public class Http11NioProcessor extends } // 400 - Bad Request response.setStatus(400); + adapter.log(request, response, 0); error = true; } @@ -384,6 +387,7 @@ public class Http11NioProcessor extends } // 400 - Internal Server Error response.setStatus(400); + adapter.log(request, response, 0); error = true; } } @@ -425,6 +429,7 @@ public class Http11NioProcessor extends log.error(sm.getString("http11processor.request.process"), t); // 500 - Internal Server Error response.setStatus(500); + adapter.log(request, response, 0); error = true; } } @@ -497,6 +502,7 @@ public class Http11NioProcessor extends log.error(sm.getString("http11processor.request.finish"), t); // 500 - Internal Server Error response.setStatus(500); + adapter.log(request, response, 0); error = true; } try { @@ -839,6 +845,7 @@ public class Http11NioProcessor extends error = true; // Send 505; Unsupported HTTP version response.setStatus(505); + adapter.log(request, response, 0); } MessageBytes methodMB = request.method(); @@ -936,6 +943,7 @@ public class Http11NioProcessor extends error = true; // 501 - Unimplemented response.setStatus(501); + adapter.log(request, response, 0); } startPos = commaPos + 1; commaPos = transferEncodingValue.indexOf(',', startPos); @@ -947,6 +955,7 @@ public class Http11NioProcessor extends error = true; // 501 - Unimplemented response.setStatus(501); + adapter.log(request, response, 0); } } @@ -965,6 +974,7 @@ public class Http11NioProcessor extends error = true; // 400 - Bad request response.setStatus(400); + adapter.log(request, response, 0); } parseHost(valueMB); @@ -1048,6 +1058,7 @@ public class Http11NioProcessor extends error = true; // 400 - Bad request response.setStatus(400); + adapter.log(request, response, 0); break; } port = port + (charValue * mult); Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java?rev=951093&r1=951092&r2=951093&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Thu Jun 3 18:13:47 2010 @@ -226,6 +226,7 @@ public class Http11Processor extends Abs } // 400 - Bad Request response.setStatus(400); + adapter.log(request, response, 0); error = true; } @@ -240,6 +241,7 @@ public class Http11Processor extends Abs } // 400 - Internal Server Error response.setStatus(400); + adapter.log(request, response, 0); error = true; } } @@ -268,6 +270,7 @@ public class Http11Processor extends Abs log.error(sm.getString("http11processor.request.process"), t); // 500 - Internal Server Error response.setStatus(500); + adapter.log(request, response, 0); error = true; } } @@ -287,6 +290,7 @@ public class Http11Processor extends Abs log.error(sm.getString("http11processor.request.finish"), t); // 500 - Internal Server Error response.setStatus(500); + adapter.log(request, response, 0); error = true; } try { @@ -347,6 +351,7 @@ public class Http11Processor extends Abs log.error(sm.getString("http11processor.request.process"), t); // 500 - Internal Server Error response.setStatus(500); + adapter.log(request, response, 0); error = true; } @@ -379,6 +384,7 @@ public class Http11Processor extends Abs log.error(sm.getString("http11processor.request.finish"), t); // 500 - Internal Server Error response.setStatus(500); + adapter.log(request, response, 0); error = true; } try { @@ -681,6 +687,7 @@ public class Http11Processor extends Abs " Unsupported HTTP version \""+protocolMB+"\""); } response.setStatus(505); + adapter.log(request, response, 0); } MessageBytes methodMB = request.method(); @@ -778,6 +785,7 @@ public class Http11Processor extends Abs error = true; // 501 - Unimplemented response.setStatus(501); + adapter.log(request, response, 0); } startPos = commaPos + 1; commaPos = transferEncodingValue.indexOf(',', startPos); @@ -793,6 +801,7 @@ public class Http11Processor extends Abs " Unsupported transfer encoding \""+encodingName+"\""); } response.setStatus(501); + adapter.log(request, response, 0); } } @@ -815,6 +824,7 @@ public class Http11Processor extends Abs " host header missing"); } response.setStatus(400); + adapter.log(request, response, 0); } parseHost(valueMB); @@ -1109,6 +1119,7 @@ public class Http11Processor extends Abs error = true; // 400 - Bad request response.setStatus(400); + adapter.log(request, response, 0); break; } port = port + (charValue * mult); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org