JBoss Native SVN: r1712 - trunk/httpd/httpd-2.2/modules/advertise.
by jbossnative-commits@lists.jboss.org
Author: jfrederic.clere(a)jboss.com
Date: 2008-06-17 10:54:43 -0400 (Tue, 17 Jun 2008)
New Revision: 1712
Removed:
trunk/httpd/httpd-2.2/modules/advertise/modules.mk
Log:
Remove generated file.
Deleted: trunk/httpd/httpd-2.2/modules/advertise/modules.mk
===================================================================
--- trunk/httpd/httpd-2.2/modules/advertise/modules.mk 2008-06-17 14:50:09 UTC (rev 1711)
+++ trunk/httpd/httpd-2.2/modules/advertise/modules.mk 2008-06-17 14:54:43 UTC (rev 1712)
@@ -1,5 +0,0 @@
-mod_advertise.la: mod_advertise.slo
- $(SH_LINK) -rpath $(libexecdir) -module -avoid-version mod_advertise.lo $(MOD_MANAGER_LDADD)
-DISTCLEAN_TARGETS = modules.mk
-static =
-shared = mod_advertise.la
16 years, 6 months
JBoss Native SVN: r1711 - trunk/httpd/httpd-2.2/modules/mod_slotmem.
by jbossnative-commits@lists.jboss.org
Author: jfrederic.clere(a)jboss.com
Date: 2008-06-17 10:50:09 -0400 (Tue, 17 Jun 2008)
New Revision: 1711
Added:
trunk/httpd/httpd-2.2/modules/mod_slotmem/Makefile.in
trunk/httpd/httpd-2.2/modules/mod_slotmem/config5.m4
Log:
Add in httpd source build files.
Added: trunk/httpd/httpd-2.2/modules/mod_slotmem/Makefile.in
===================================================================
--- trunk/httpd/httpd-2.2/modules/mod_slotmem/Makefile.in (rev 0)
+++ trunk/httpd/httpd-2.2/modules/mod_slotmem/Makefile.in 2008-06-17 14:50:09 UTC (rev 1711)
@@ -0,0 +1,3 @@
+
+include $(top_srcdir)/build/special.mk
+
Added: trunk/httpd/httpd-2.2/modules/mod_slotmem/config5.m4
===================================================================
--- trunk/httpd/httpd-2.2/modules/mod_slotmem/config5.m4 (rev 0)
+++ trunk/httpd/httpd-2.2/modules/mod_slotmem/config5.m4 2008-06-17 14:50:09 UTC (rev 1711)
@@ -0,0 +1,9 @@
+dnl modules enabled in this directory by default
+
+APACHE_MODPATH_INIT(mod_slotmem)
+
+slotmem_objects="mod_sharedmem.lo sharedmem_util.lo"
+
+APACHE_MODULE(slotmem, A slotmem provider for mod_cluster, $slotmem_objects, , no)
+
+APACHE_MODPATH_FINISH
16 years, 6 months
JBoss Native SVN: r1710 - trunk/httpd/httpd-2.2/modules/mod_manager.
by jbossnative-commits@lists.jboss.org
Author: jfrederic.clere(a)jboss.com
Date: 2008-06-17 10:36:57 -0400 (Tue, 17 Jun 2008)
New Revision: 1710
Added:
trunk/httpd/httpd-2.2/modules/mod_manager/Makefile.in
trunk/httpd/httpd-2.2/modules/mod_manager/config5.m4
Log:
Add in httpd source build files.
Added: trunk/httpd/httpd-2.2/modules/mod_manager/Makefile.in
===================================================================
--- trunk/httpd/httpd-2.2/modules/mod_manager/Makefile.in (rev 0)
+++ trunk/httpd/httpd-2.2/modules/mod_manager/Makefile.in 2008-06-17 14:36:57 UTC (rev 1710)
@@ -0,0 +1,3 @@
+
+include $(top_srcdir)/build/special.mk
+
Added: trunk/httpd/httpd-2.2/modules/mod_manager/config5.m4
===================================================================
--- trunk/httpd/httpd-2.2/modules/mod_manager/config5.m4 (rev 0)
+++ trunk/httpd/httpd-2.2/modules/mod_manager/config5.m4 2008-06-17 14:36:57 UTC (rev 1710)
@@ -0,0 +1,13 @@
+dnl modules enabled in this directory by default
+
+APACHE_MODPATH_INIT(mod_manager)
+
+manager_objects="mod_manager.lo balancer.lo context.lo host.lo node.lo"
+
+APACHE_MODULE(manager, Manager for mod_cluster, $manager_objects, , no)
+
+if test "$manager_enable" != "no"; then
+ APR_ADDTO(INCLUDES, [-I\$(top_srcdir)/../proxy/])
+fi
+
+APACHE_MODPATH_FINISH
16 years, 6 months
JBoss Native SVN: r1709 - trunk/mod_cluster/native/mod_manager.
by jbossnative-commits@lists.jboss.org
Author: jfrederic.clere(a)jboss.com
Date: 2008-06-17 10:36:14 -0400 (Tue, 17 Jun 2008)
New Revision: 1709
Modified:
trunk/mod_cluster/native/mod_manager/mod_manager.c
Log:
Remove lbset here too.
Modified: trunk/mod_cluster/native/mod_manager/mod_manager.c
===================================================================
--- trunk/mod_cluster/native/mod_manager/mod_manager.c 2008-06-17 13:34:15 UTC (rev 1708)
+++ trunk/mod_cluster/native/mod_manager/mod_manager.c 2008-06-17 14:36:14 UTC (rev 1709)
@@ -733,8 +733,8 @@
id[i], ou->mess.id, ou->mess.JVMRoute, ou->mess.Domain,
ou->mess.Host, ou->mess.Port, ou->mess.Type);
proxystat = (proxy_worker_stat *) ou->stat;
- ap_rprintf(r, " [%d:%d] status: %d elected: %d lbstatus: %d lbfactor: %d lbset: %d\n",
- id[i], ou->mess.id, proxystat->status, proxystat->elected, proxystat->lbstatus, proxystat->lbfactor, proxystat->lbset);
+ ap_rprintf(r, " [%d:%d] status: %d elected: %d lbstatus: %d lbfactor: %d\n",
+ id[i], ou->mess.id, proxystat->status, proxystat->elected, proxystat->lbstatus, proxystat->lbfactor);
}
return NULL;
16 years, 6 months
JBoss Native SVN: r1708 - trunk/mod_cluster/native/mod_proxy_cluster.
by jbossnative-commits@lists.jboss.org
Author: jfrederic.clere(a)jboss.com
Date: 2008-06-17 09:34:15 -0400 (Tue, 17 Jun 2008)
New Revision: 1708
Modified:
trunk/mod_cluster/native/mod_proxy_cluster/mod_proxy_cluster.c
Log:
typo.
Modified: trunk/mod_cluster/native/mod_proxy_cluster/mod_proxy_cluster.c
===================================================================
--- trunk/mod_cluster/native/mod_proxy_cluster/mod_proxy_cluster.c 2008-06-17 13:28:42 UTC (rev 1707)
+++ trunk/mod_cluster/native/mod_proxy_cluster/mod_proxy_cluster.c 2008-06-17 13:34:15 UTC (rev 1708)
@@ -131,7 +131,7 @@
(*worker)->ping_timeout_set = 1;
(*worker)->acquire_set = 1;
#else
- helperping- = (*worker)->opaque;
+ helperping = (*worker)->opaque;
helperping->ping_timeout = node->mess.ping;
helperping->ping_timeout_set = 1;
#endif
16 years, 6 months
JBoss Native SVN: r1707 - trunk/mod_cluster/native/mod_proxy_cluster.
by jbossnative-commits@lists.jboss.org
Author: jfrederic.clere(a)jboss.com
Date: 2008-06-17 09:28:42 -0400 (Tue, 17 Jun 2008)
New Revision: 1707
Modified:
trunk/mod_cluster/native/mod_proxy_cluster/mod_proxy_cluster.c
Log:
Still missing stuff for 2.2.3
Modified: trunk/mod_cluster/native/mod_proxy_cluster/mod_proxy_cluster.c
===================================================================
--- trunk/mod_cluster/native/mod_proxy_cluster/mod_proxy_cluster.c 2008-06-17 13:16:59 UTC (rev 1706)
+++ trunk/mod_cluster/native/mod_proxy_cluster/mod_proxy_cluster.c 2008-06-17 13:28:42 UTC (rev 1707)
@@ -73,6 +73,10 @@
char url[SCHEMENDSZ+HOSTNODESZ+PORTNODESZ+5]; /* Type :// Host : Port */
char *ptr;
int reuse = 0;
+#if AP_MODULE_MAGIC_AT_LEAST(20051115,4)
+#else
+ proxy_cluster_helper *helperping;
+#endif
/* build the name (scheme and port) when needed */
strcpy(url, node->mess.Type);
@@ -1008,7 +1012,9 @@
worker->s->status &= ~PROXY_WORKER_IN_ERROR;
worker->s->status &= ~PROXY_WORKER_STOPPED;
worker->s->status &= ~PROXY_WORKER_DISABLED;
+#if AP_MODULE_MAGIC_AT_LEAST(20051115,4)
worker->s->status &= ~PROXY_WORKER_HOT_STANDBY;
+#endif
worker->s->lbfactor = load;
}
return 0;
16 years, 6 months
JBoss Native SVN: r1706 - trunk/mod_cluster/native/mod_proxy_cluster.
by jbossnative-commits@lists.jboss.org
Author: jfrederic.clere(a)jboss.com
Date: 2008-06-17 09:16:59 -0400 (Tue, 17 Jun 2008)
New Revision: 1706
Modified:
trunk/mod_cluster/native/mod_proxy_cluster/mod_proxy_cluster.c
Log:
Remove the lbset logic.
Modified: trunk/mod_cluster/native/mod_proxy_cluster/mod_proxy_cluster.c
===================================================================
--- trunk/mod_cluster/native/mod_proxy_cluster/mod_proxy_cluster.c 2008-06-17 13:13:35 UTC (rev 1705)
+++ trunk/mod_cluster/native/mod_proxy_cluster/mod_proxy_cluster.c 2008-06-17 13:16:59 UTC (rev 1706)
@@ -145,7 +145,6 @@
(*worker)->s->route[PROXY_WORKER_MAX_ROUTE_SIZ] = '\0';
/* XXX: We need that information from TC */
(*worker)->s->redirect[0] = '\0';
- (*worker)->s->lbset = 0;
}
(*worker)->s->lbstatus = 1;
@@ -708,8 +707,6 @@
int total_factor = 0;
proxy_worker *worker;
proxy_worker *mycandidate = NULL;
- int cur_lbset = 0;
- int max_lbset = 0;
int checking_standby;
int checked_standby;
void *sconf = r->server->module_config;
@@ -729,12 +726,6 @@
while (!mycandidate && !checked_standby) {
worker = (proxy_worker *)balancer->workers->elts;
for (i = 0; i < balancer->workers->nelts; i++, worker++) {
- if (!checking_standby) { /* first time through */
- if (worker->s->lbset > max_lbset)
- max_lbset = worker->s->lbset;
- }
- if (worker->s->lbset > cur_lbset)
- continue;
/* standby logic
* lbfactor: -1 broken node.
@@ -768,8 +759,7 @@
}
checked_standby = checking_standby++;
}
- cur_lbset++;
- } while (cur_lbset <= max_lbset && !mycandidate);
+ } while (!mycandidate);
if (mycandidate) {
mycandidate->s->lbstatus -= total_factor;
16 years, 6 months
JBoss Native SVN: r1705 - trunk/mod_cluster/native/mod_proxy_cluster.
by jbossnative-commits@lists.jboss.org
Author: jfrederic.clere(a)jboss.com
Date: 2008-06-17 09:13:35 -0400 (Tue, 17 Jun 2008)
New Revision: 1705
Modified:
trunk/mod_cluster/native/mod_proxy_cluster/mod_proxy_cluster.c
Log:
Allow to compile with 2.2.3.
Modified: trunk/mod_cluster/native/mod_proxy_cluster/mod_proxy_cluster.c
===================================================================
--- trunk/mod_cluster/native/mod_proxy_cluster/mod_proxy_cluster.c 2008-06-17 09:51:01 UTC (rev 1704)
+++ trunk/mod_cluster/native/mod_proxy_cluster/mod_proxy_cluster.c 2008-06-17 13:13:35 UTC (rev 1705)
@@ -47,6 +47,12 @@
struct proxy_cluster_helper {
int count_active; /* currently active request using the worker */
+#if AP_MODULE_MAGIC_AT_LEAST(20051115,4)
+#else
+ apr_interval_time_t ping_timeout;
+ char ping_timeout_set;
+#endif
+
};
typedef struct proxy_cluster_helper proxy_cluster_helper;
@@ -116,12 +122,18 @@
}
(*worker)->flush_packets = node->mess.flushpackets;
(*worker)->flush_wait = node->mess.flushwait;
+#if AP_MODULE_MAGIC_AT_LEAST(20051115,4)
(*worker)->ping_timeout = node->mess.ping;
(*worker)->ping_timeout_set = 1;
+ (*worker)->acquire_set = 1;
+#else
+ helperping- = (*worker)->opaque;
+ helperping->ping_timeout = node->mess.ping;
+ helperping->ping_timeout_set = 1;
+#endif
(*worker)->keepalive = 1;
(*worker)->keepalive_set = 1;
(*worker)->is_address_reusable = 1;
- (*worker)->acquire_set = 1;
(*worker)->acquire = apr_time_make(0, 2 * 1000); /* 2 ms */
/*
@@ -176,6 +188,8 @@
proxy_worker *worker = NULL;
if (!balancer) {
/* Create one */
+ int sizebal, i;
+ int *bal;
ap_log_error(APLOG_MARK, APLOG_NOTICE|APLOG_NOERRNO, 0, server,
"add_workers_node: Create balancer %s", name);
balancer = apr_array_push(conf->balancers);
@@ -192,6 +206,24 @@
"add_workers_node: Can't create lock for balancer");
}
#endif
+
+ /* XXX: Missing logic to copy the shared memory information to the balancer */
+ /* the balancer must be searched using the name (node->balancer) */
+ /* read the ident of the nodes */
+ bal = apr_pcalloc(pool, sizeof(int) * balancer_storage->get_max_size_balancer());
+ sizebal = balancer_storage->get_ids_used_balancer(bal);
+ for (i=0; i<sizebal; i++) {
+ balancerinfo_t *balan;
+ balancer_storage->read_balancer(bal[i], &balan);
+ if (strcmp(balan->balancer, balancer->name) == 0) {
+ /* XXX: not yet finished
+ balancer->sticky
+ balancer->sticky_force */
+ balancer->max_attempts = balan->Maxattempts;
+ balancer->max_attempts_set = 1;
+ break;
+ }
+ }
}
if (balancer) {
create_worker(conf, balancer, server, &worker, node);
@@ -824,6 +856,10 @@
apr_status_t rv;
proxy_conn_rec *conn;
apr_interval_time_t timeout;
+#if AP_MODULE_MAGIC_AT_LEAST(20051115,4)
+#else
+ proxy_cluster_helper *helperping;
+#endif
/* get the proxy_conn_rec: from ap_proxy_acquire_connection */
#if APR_HAS_THREADS
/* prefork() is not "safe" as we have now 2 threads... */
@@ -902,7 +938,12 @@
return rv;
}
+#if AP_MODULE_MAGIC_AT_LEAST(20051115,4)
timeout = worker->ping_timeout;
+#else
+ helperping = worker->opaque;
+ timeout = helperping->ping_timeout;
+#endif
if (timeout <= 0)
timeout = apr_time_from_sec(10); /* 10 seconds */
@@ -969,7 +1010,9 @@
* mark worker in error for the moment
*/
worker->s->status |= PROXY_WORKER_IN_ERROR;
+#if AP_MODULE_MAGIC_AT_LEAST(20051115,4)
worker->s->status |= PROXY_WORKER_HOT_STANDBY;
+#endif
}
else {
worker->s->status &= ~PROXY_WORKER_IN_ERROR;
16 years, 6 months
JBoss Native SVN: r1704 - trunk/build/unix.
by jbossnative-commits@lists.jboss.org
Author: jfrederic.clere(a)jboss.com
Date: 2008-06-17 05:51:01 -0400 (Tue, 17 Jun 2008)
New Revision: 1704
Modified:
trunk/build/unix/buildsrc.rhel-httpd.sh
Log:
Failed the build if svn failed.
Modified: trunk/build/unix/buildsrc.rhel-httpd.sh
===================================================================
--- trunk/build/unix/buildsrc.rhel-httpd.sh 2008-06-17 09:31:09 UTC (rev 1703)
+++ trunk/build/unix/buildsrc.rhel-httpd.sh 2008-06-17 09:51:01 UTC (rev 1704)
@@ -134,6 +134,10 @@
dirnmake=${build_svn_root}/httpd/httpd-2.2/
if [ -d ${dirnmake} ]; then
svn export --force ${dirnmake} ${dirsources}
+ if [ $? -ne 0 ]; then
+ echo "svn export --force ${dirnmake} ${dirsources} FAILED"
+ exit 1
+ fi
else
echo "Cannot find package sources in ${dirnmake}"
exit 1
16 years, 6 months
JBoss Native SVN: r1703 - trunk/build/unix.
by jbossnative-commits@lists.jboss.org
Author: jfrederic.clere(a)jboss.com
Date: 2008-06-17 05:31:09 -0400 (Tue, 17 Jun 2008)
New Revision: 1703
Added:
trunk/build/unix/buildsrc.cluster.sh
Modified:
trunk/build/unix/build.sh
trunk/build/unix/buildsrc.rhel-httpd.sh
trunk/build/unix/package.list
Log:
Add mod_cluster.
Modified: trunk/build/unix/build.sh
===================================================================
--- trunk/build/unix/build.sh 2008-06-16 17:21:34 UTC (rev 1702)
+++ trunk/build/unix/build.sh 2008-06-17 09:31:09 UTC (rev 1703)
@@ -59,11 +59,13 @@
has_jk=false
has_iconv=false
has_expat=false
+has_cluster=false
build_api=false
build_zlib=false
build_iconv=false
build_expat=false
+build_cluster=false
has_cache=false
has_version=false
@@ -239,6 +241,12 @@
has_expat=true
expat_sversion="expat:$expat_type:$expat_version"
;;
+ cluster:*)
+ cluster_version=`echo "${arg}" | ${awk} -F':' '{print $3}'`
+ cluster_type=`echo "${arg}" | ${awk} -F':' '{print $2}'`
+ has_cluster=true
+ cluster_sversion="cluster:$cluster_type:$cluster_version"
+ export cluster_version
esac
fi
done
@@ -362,8 +370,12 @@
if $has_expat; then
echo "using expat: ${expat_version}"
fi
+if $has_cluster; then
+echo "using mod_cluster: ${cluster_version}"
+fi
export has_jk
+export has_cluster
export so_extension
export build_iconv
export build_expat
@@ -1079,6 +1091,7 @@
mkdir -p ${package_src_dir}/util
cp util/*.sh ${package_src_dir}/util
# TODO: Generate package list instead copying
+# XXX: The part below is fishy
cat > ${package_src_dir}/package.build << EOF
# THIS FILE WAS AUTOGENERATED BY `basename $0`
Added: trunk/build/unix/buildsrc.cluster.sh
===================================================================
--- trunk/build/unix/buildsrc.cluster.sh (rev 0)
+++ trunk/build/unix/buildsrc.cluster.sh 2008-06-17 09:31:09 UTC (rev 1703)
@@ -0,0 +1,71 @@
+#!/bin/sh
+# Copyright(c) 2008 Red Hat Middleware, LLC,
+# and individual contributors as indicated by the @authors tag.
+# See the copyright.txt in the distribution for a
+# full listing of individual contributors.
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library in the file COPYING.LIB;
+# if not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# @author Jean-Frederic Clere
+#
+echo ""
+echo "Running : `basename $0` $LastChangedDate: 2007-06-01 18:00:27 +0200 (Fri, 01 Jun 2007) $"
+echo ""
+echo "Started : `date`"
+echo "Tag : $1"
+echo "Target : $2"
+echo "Destdir : $3"
+echo ""
+
+# parameters
+# $1: The tag to use something like 2.2.6 or trunk
+# $2: Directory where to put the sources.
+
+tag=$1
+dist=$2
+destdir=$3
+
+# we need something like:
+# http://anonsvn.jboss.org/repos/jbossnative/trunk/mod_cluster/
+if [ "$tag" = "trunk" ]; then
+ URLBASE=http://anonsvn.jboss.org/repos/jbossnative/trunk/mod_cluster/
+else
+ URLBASE=http://anonsvn.jboss.org/repos/jbossnative/tag/${tag}/mod_cluster/
+fi
+
+(cd $package_src_dir/srclib
+svn co ${URLBASE} mod_cluster
+)
+if [ $? -ne 0 ]; then
+ echo "svn co ${URLBASE} mod_cluster FAILED"
+ exit 1
+fi
+
+#
+# Copy the files to httpd src.
+mkdir -p ${destdir}/modules/advertise
+mkdir -p ${destdir}/modules/mod_manager
+mkdir -p ${destdir}/modules/mod_slotmem
+cp -p $package_src_dir/srclib/mod_cluster/native/advertise/* ${destdir}/modules/advertise
+cp -p $package_src_dir/srclib/mod_cluster/native/mod_manager/* ${destdir}/modules/mod_manager
+cp -p $package_src_dir/srclib/mod_cluster/native/mod_slotmem/* ${destdir}/modules/mod_slotmem
+
+cp -p $package_src_dir/srclib/mod_cluster/native/include/* ${destdir}/modules/proxy
+cp -p $package_src_dir/srclib/mod_cluster/native/mod_proxy_cluster/mod_proxy_cluster.c ${destdir}/modules/proxy
+cp -p $package_src_dir/srclib/mod_cluster/native/mod_proxy_cluster/patch.txt ${destdir}/modules/proxy
+(cd ${destdir}/modules/proxy
+ patch -p0 < patch.txt
+)
Property changes on: trunk/build/unix/buildsrc.cluster.sh
___________________________________________________________________
Name: svn:executable
+ *
Modified: trunk/build/unix/buildsrc.rhel-httpd.sh
===================================================================
--- trunk/build/unix/buildsrc.rhel-httpd.sh 2008-06-16 17:21:34 UTC (rev 1702)
+++ trunk/build/unix/buildsrc.rhel-httpd.sh 2008-06-17 09:31:09 UTC (rev 1703)
@@ -119,6 +119,17 @@
fi
#
+# Add mod_cluster sources.
+if $has_cluster; then
+ ${build_top}/util/override.sh ${build_top}/buildsrc.cluster.sh ${cluster_version} ${package_src_dir} ${dirsources}
+ if [ $? -ne 0 ]; then
+ echo "buildsrc.cluster.sh failed"
+ exit 1
+ fi
+ cp ${build_top}/buildsrc.cluster.sh ${package_src_dir}
+fi
+
+#
# Copy the windows NMAKE files (and additional stuff).
dirnmake=${build_svn_root}/httpd/httpd-2.2/
if [ -d ${dirnmake} ]; then
Modified: trunk/build/unix/package.list
===================================================================
--- trunk/build/unix/package.list 2008-06-16 17:21:34 UTC (rev 1702)
+++ trunk/build/unix/package.list 2008-06-17 09:31:09 UTC (rev 1703)
@@ -13,3 +13,4 @@
# httpd
jboss-httpd|0.0.1|2.2.8|api:v:1.2.1|ssl:v:0.9.8e|zlib:v:1.2.3
rhel-httpd|2.2.3-11.el5_1.3|httpd-2_2_3-11_el5_1_3|apr:r:apr-1_2_7-11|apu:r:apr-util-1_2_7-7_el5|api:v:1.2.1|ssl:r:openssl-0_9_8b-8_3_el5_0_2|zlib:v:1.2.3|jk:v:1.2.26|iconv:v:1.11|expat:v:1.95.8
+rhel-httpd|2.2.3-11.el5_1.3|httpd-2_2_3-11_el5_1_3|apr:r:apr-1_2_7-11|apu:r:apr-util-1_2_7-7_el5|api:v:1.2.1|ssl:r:openssl-0_9_8b-8_3_el5_0_2|zlib:v:1.2.3|jk:v:1.2.26|iconv:v:1.11|expat:v:1.95.8|cluster:t:trunk
16 years, 6 months