Author: markt
Date: Wed Sep 22 15:03:28 2010
New Revision: 1000020
URL: http://svn.apache.org/viewvc?rev=1000020&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=49521
- Disable scanning for a free port in Jk AJP/1.3 connector by default.
- Do not change maxPort field value of ChannelSocket in its #setPort()
and #init() methods.
- Add support for "maxPort" attribute on a <Connector> element as a synonym
for channelSocket.maxPort
Modified:
tomcat/tc6.0.x/trunk/STATUS.txt
tomcat/tc6.0.x/trunk/java/org/apache/jk/common/ChannelNioSocket.java
tomcat/tc6.0.x/trunk/java/org/apache/jk/common/ChannelSocket.java
tomcat/tc6.0.x/trunk/java/org/apache/jk/server/JkMain.java
tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1000020&r1=1000019&r2=1000020&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Wed Sep 22 15:03:28 2010
@@ -138,16 +138,6 @@ PATCHES PROPOSED TO BACKPORT:
but from debugging it looks that it is called by Tomcat code only
(JspServlet).
-* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=49521
- http://people.apache.org/~kkolinko/patches/2010-07-17_tc6_bug49521.patch
- - Disable scanning for a free port in Jk AJP/1.3 connector by default.
- - Do not change maxPort field value of ChannelSocket in its #setPort()
- and #init() methods.
- - Add support for "maxPort" attribute on a <Connector> element as a synonym
- for channelSocket.maxPort
- +1: kkolinko, markt, kfujino
- -1:
-
* Allow off-line building of the extras packages. Also saves downloading deps
every build
http://people.apache.org/~markt/patches/2010-08-23-offline-extras-tc6.patch
Modified: tomcat/tc6.0.x/trunk/java/org/apache/jk/common/ChannelNioSocket.java
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/jk/common/ChannelNioSocket.java?rev=1000020&r1=1000019&r2=1000020&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/jk/common/ChannelNioSocket.java
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/jk/common/ChannelNioSocket.java Wed
Sep 22 15:03:28 2010
@@ -91,7 +91,7 @@ public class ChannelNioSocket extends Jk
org.apache.juli.logging.LogFactory.getLog( ChannelNioSocket.class );
private int startPort=8009;
- private int maxPort=8019; // 0 for backward compat.
+ private int maxPort=0; // 0 disables free port scanning
private int port=startPort;
private InetAddress inet;
private int serverTimeout = 0;
@@ -142,7 +142,6 @@ public class ChannelNioSocket extends Jk
public void setPort( int port ) {
this.startPort=port;
this.port=port;
- this.maxPort=port+10;
}
public int getPort() {
@@ -386,11 +385,12 @@ public class ChannelNioSocket extends Jk
running = true;
return;
}
- if (maxPort < startPort)
- maxPort = startPort;
+ int endPort = maxPort;
+ if (endPort < startPort)
+ endPort = startPort;
ServerSocketChannel ssc = ServerSocketChannel.open();
ssc.configureBlocking(false);
- for( int i=startPort; i<=maxPort; i++ ) {
+ for( int i=startPort; i<=endPort; i++ ) {
try {
InetSocketAddress iddr = null;
if( inet == null ) {
@@ -410,7 +410,7 @@ public class ChannelNioSocket extends Jk
}
if( sSocket==null ) {
- log.error("Can't find free port " + startPort + " " + maxPort );
+ log.error("Can't find free port " + startPort + " " + endPort );
return;
}
if(log.isInfoEnabled())
Modified: tomcat/tc6.0.x/trunk/java/org/apache/jk/common/ChannelSocket.java
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/jk/common/ChannelSocket.java?rev=1000020&r1=1000019&r2=1000020&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/jk/common/ChannelSocket.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/jk/common/ChannelSocket.java Wed Sep
22 15:03:28 2010
@@ -81,7 +81,7 @@ public class ChannelSocket extends JkHan
org.apache.juli.logging.LogFactory.getLog( ChannelSocket.class );
private int startPort=8009;
- private int maxPort=8019; // 0 for backward compat.
+ private int maxPort=0; // 0 disables free port scanning
private int port=startPort;
private int backlog = 0;
private InetAddress inet;
@@ -125,7 +125,6 @@ public class ChannelSocket extends JkHan
public void setPort( int port ) {
this.startPort=port;
this.port=port;
- this.maxPort=port+10;
}
public int getPort() {
@@ -367,9 +366,10 @@ public class ChannelSocket extends JkHan
running = true;
return;
}
- if (maxPort < startPort)
- maxPort = startPort;
- for( int i=startPort; i<=maxPort; i++ ) {
+ int endPort = maxPort;
+ if (endPort < startPort)
+ endPort = startPort;
+ for( int i=startPort; i<=endPort; i++ ) {
try {
if( inet == null ) {
sSocket = new ServerSocket( i, backlog );
@@ -386,7 +386,7 @@ public class ChannelSocket extends JkHan
}
if( sSocket==null ) {
- log.error("Can't find free port " + startPort + " " + maxPort );
+ log.error("Can't find free port " + startPort + " " + endPort );
return;
}
if(log.isInfoEnabled())
Modified: tomcat/tc6.0.x/trunk/java/org/apache/jk/server/JkMain.java
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/jk/server/JkMain.java?rev=1000020&r1=1000019&r2=1000020&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/jk/server/JkMain.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/jk/server/JkMain.java Wed Sep 22
15:03:28 2010
@@ -521,6 +521,7 @@ public class JkMain implements MBeanRegi
static Hashtable replacements=new Hashtable();
static {
replacements.put("port","channelSocket.port");
+ replacements.put("maxPort", "channelSocket.maxPort");
replacements.put("maxThreads", "channelSocket.maxThreads");
replacements.put("minSpareThreads", "channelSocket.minSpareThreads");
replacements.put("maxSpareThreads", "channelSocket.maxSpareThreads");
Modified: tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml?rev=1000020&r1=1000019&r2=1000020&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Wed Sep 22 15:03:28 2010
@@ -96,6 +96,13 @@
session before the current request has a chance to send the replication
message. (markt)
</fix>
+ <fix>
+ <bug>49521</bug>: Disable scanning for a free port in Jk AJP/1.3
+ connector by default. Do not change maxPort field value of
ChannelSocket
+ in its <code>setPort()</code> and <code>init()</code> methods. Add
+ support for <code>maxPort</code> attribute on a <code>Connector</code>
+ element as a synonym for channelSocket.maxPort
+ </fix>
</changelog>
</subsection>
<subsection name="Cluster">
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]