1
2
3
4
5
6
7
8
9
10
11
12
13
14 package org.eclipse.jetty.ajp;
15
16 import java.io.IOException;
17
18 import org.eclipse.jetty.http.HttpSchemes;
19 import org.eclipse.jetty.io.Connection;
20 import org.eclipse.jetty.io.EndPoint;
21 import org.eclipse.jetty.server.Request;
22 import org.eclipse.jetty.server.bio.SocketConnector;
23 import org.eclipse.jetty.util.log.Log;
24 import org.eclipse.jetty.util.log.Logger;
25
26
27
28
29
30
31 public class Ajp13SocketConnector extends SocketConnector
32 {
33 private static final Logger LOG = Log.getLogger(Ajp13SocketConnector.class);
34
35 static String __secretWord = null;
36 static boolean __allowShutdown = false;
37 public Ajp13SocketConnector()
38 {
39 super.setRequestHeaderSize(Ajp13Packet.MAX_PACKET_SIZE);
40 super.setResponseHeaderSize(Ajp13Packet.MAX_PACKET_SIZE);
41 super.setRequestBufferSize(Ajp13Packet.MAX_PACKET_SIZE);
42 super.setResponseBufferSize(Ajp13Packet.MAX_PACKET_SIZE);
43
44
45 super.setMaxIdleTime(0);
46 }
47
48 @Override
49 protected void doStart() throws Exception
50 {
51 super.doStart();
52 LOG.info("AJP13 is not a secure protocol. Please protect port {}",Integer.toString(getLocalPort()));
53 }
54
55
56
57
58
59
60
61 @Override
62 public void customize(EndPoint endpoint, Request request) throws IOException
63 {
64 super.customize(endpoint,request);
65 if (request.isSecure())
66 request.setScheme(HttpSchemes.HTTPS);
67 }
68
69
70 @Override
71 protected Connection newConnection(EndPoint endpoint)
72 {
73 return new Ajp13Connection(this,endpoint,getServer());
74 }
75
76
77
78 @Override
79 public boolean isConfidential(Request request)
80 {
81 return ((Ajp13Request) request).isSslSecure();
82 }
83
84
85
86 @Override
87 public boolean isIntegral(Request request)
88 {
89 return ((Ajp13Request) request).isSslSecure();
90 }
91
92
93 @Deprecated
94 public void setHeaderBufferSize(int headerBufferSize)
95 {
96 LOG.debug(Log.IGNORED);
97 }
98
99
100 @Override
101 public void setRequestBufferSize(int requestBufferSize)
102 {
103 LOG.debug(Log.IGNORED);
104 }
105
106
107 @Override
108 public void setResponseBufferSize(int responseBufferSize)
109 {
110 LOG.debug(Log.IGNORED);
111 }
112
113
114 public void setAllowShutdown(boolean allowShutdown)
115 {
116 LOG.warn("AJP13: Shutdown Request is: " + allowShutdown);
117 __allowShutdown = allowShutdown;
118 }
119
120
121 public void setSecretWord(String secretWord)
122 {
123 LOG.warn("AJP13: Shutdown Request secret word is : " + secretWord);
124 __secretWord = secretWord;
125 }
126
127 }