You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by rj...@apache.org on 2014/03/31 21:00:34 UTC
svn commit: r1583399 - in /tomcat/jk/trunk: native/common/jk_ajp_common.c
native/common/jk_connect.c native/common/jk_connect.h
native/common/jk_status.c xdocs/miscellaneous/changelog.xml
Author: rjung
Date: Mon Mar 31 19:00:34 2014
New Revision: 1583399
URL: http://svn.apache.org/r1583399
Log:
Fix status worker display of worker IP address
after name or port was changed.
Use a function to copy jk_sockaddr_t instead of
memcpy, because ipaddr_ptr member must be corrected.
Modified:
tomcat/jk/trunk/native/common/jk_ajp_common.c
tomcat/jk/trunk/native/common/jk_connect.c
tomcat/jk/trunk/native/common/jk_connect.h
tomcat/jk/trunk/native/common/jk_status.c
tomcat/jk/trunk/xdocs/miscellaneous/changelog.xml
Modified: tomcat/jk/trunk/native/common/jk_ajp_common.c
URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/common/jk_ajp_common.c?rev=1583399&r1=1583398&r2=1583399&view=diff
==============================================================================
--- tomcat/jk/trunk/native/common/jk_ajp_common.c (original)
+++ tomcat/jk/trunk/native/common/jk_ajp_common.c Mon Mar 31 19:00:34 2014
@@ -1117,7 +1117,7 @@ void jk_ajp_pull(ajp_worker_t * aw, int
aw->s->connected--;
}
}
- memcpy(&(aw->worker_inet_addr), &inet_addr, sizeof(inet_addr));
+ jk_clone_sockaddr(&(aw->worker_inet_addr), &inet_addr);
JK_LEAVE_CS(&aw->cs);
}
}
Modified: tomcat/jk/trunk/native/common/jk_connect.c
URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/common/jk_connect.c?rev=1583399&r1=1583398&r2=1583399&view=diff
==============================================================================
--- tomcat/jk/trunk/native/common/jk_connect.c (original)
+++ tomcat/jk/trunk/native/common/jk_connect.c Mon Mar 31 19:00:34 2014
@@ -328,6 +328,20 @@ in_addr_t jk_inet_addr(const char * addr
#endif
+/** Clone a jk_sockaddr_t
+ * @param out The source structure
+ * @param in The target structure
+ */
+void jk_clone_sockaddr(jk_sockaddr_t *out, jk_sockaddr_t *in)
+{
+ memcpy(out, in, sizeof(*in));
+ /* The ipaddr_ptr member points to memory inside the struct.
+ * Do not copy the pointer but use the same offset relative
+ * to the struct start
+ */
+ out->ipaddr_ptr = (void *)out + (in->ipaddr_ptr - (void *)in);
+}
+
/** Resolve the host IP
* @param host host or ip address
* @param port port
Modified: tomcat/jk/trunk/native/common/jk_connect.h
URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/common/jk_connect.h?rev=1583399&r1=1583398&r2=1583399&view=diff
==============================================================================
--- tomcat/jk/trunk/native/common/jk_connect.h (original)
+++ tomcat/jk/trunk/native/common/jk_connect.h Mon Mar 31 19:00:34 2014
@@ -38,6 +38,8 @@ extern "C"
#define JK_SOCKET_EOF (-2)
+void jk_clone_sockaddr(jk_sockaddr_t *out, jk_sockaddr_t *in);
+
int jk_resolve(const char *host, int port, jk_sockaddr_t *rc, void *pool,
int prefer_ipv6, jk_logger_t *l);
Modified: tomcat/jk/trunk/native/common/jk_status.c
URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/common/jk_status.c?rev=1583399&r1=1583398&r2=1583399&view=diff
==============================================================================
--- tomcat/jk/trunk/native/common/jk_status.c (original)
+++ tomcat/jk/trunk/native/common/jk_status.c Mon Mar 31 19:00:34 2014
@@ -3390,7 +3390,7 @@ static int commit_member(jk_ws_service_t
/* This is not atomic and not thread safe */
aw->port = port;
strncpy(aw->host, host, JK_SHM_STR_SIZ);
- memcpy(&(aw->worker_inet_addr), &inet_addr, sizeof(inet_addr));
+ jk_clone_sockaddr(&(aw->worker_inet_addr), &inet_addr);
*side_effect |= JK_STATUS_NEEDS_PUSH | JK_STATUS_NEEDS_ADDR_PUSH;
}
}
Modified: tomcat/jk/trunk/xdocs/miscellaneous/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/xdocs/miscellaneous/changelog.xml?rev=1583399&r1=1583398&r2=1583399&view=diff
==============================================================================
--- tomcat/jk/trunk/xdocs/miscellaneous/changelog.xml (original)
+++ tomcat/jk/trunk/xdocs/miscellaneous/changelog.xml Mon Mar 31 19:00:34 2014
@@ -40,6 +40,16 @@
new documentation project for JK was started.
</p>
</section>
+<section name="Changes between 1.2.39 and 1.2.40">
+ <br />
+ <subsection name="Native">
+ <changelog>
+ <fix>
+ Fix status worker display of worker IP address after name or port
+ was changed. (rjung)
+ </fix>
+ </changelog>
+ </subsection>
<section name="Changes between 1.2.37 and 1.2.39">
<br />
<subsection name="Native">
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org