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