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