Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Aug 2002 12:42:52 +0300
From:      Ari Suutari <ari.suutari@syncrontech.com>
To:        dan_256@yahoo.com, Greg Lewis <glewis@eyesbeyond.com>, Ernst de Haan <znerd@FreeBSD.ORG>
Cc:        dan_256@yahoo.com, K.J.Koster@kpn.com, freebsd-java@FreeBSD.ORG
Subject:   Re: Jboss3ctl update (I think I know the problem)
Message-ID:  <200208281242.52123.ari.suutari@syncrontech.com>
In-Reply-To: <20020828091158.46733.qmail@web13403.mail.yahoo.com>
References:  <20020828091158.46733.qmail@web13403.mail.yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--------------Boundary-00=_GBSJCVQZOH4PP5NTH4AB
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi,


On Wednesday 28 August 2002 12:11, Dan Hulme wrote:
> Ari is right.  This will work.  Ernst, the patch is really simple.  Jus=
t
> put the "setuid(geteuid())" in main before the strcmp.  One other littl=
e
> bug in the daemonctl.c (from tomcat) is on line 325 where it has
> "%%PORTREVISION%%" rather than "%%PORTVERSION%%" which will keep it fro=
m
> being replaced, and will print out something funny when you get the err=
or
> "[program] is already running."
>
> I included these changes in a daemonctl.c taken from
> $portsdir/www/jakarta-tomcat4/files/.  Ari, tell me if I got it wrong.

=09Your code is similar to mine. Btw, I have also modified version
=09of daemonctl.c which doesn't rely on replacing of strings
=09during installation time. Instead, it has a separate configuration
=09file for settings, ie. one has tomcat4ctl and tomcat4ctl.conf.

=09I'll include the modified version also in case somebody is interested
=09it. I have been using it myself, because I needed a way to
=09pass other parameters to java command (like: java -Dsomething=3Dvalue =
=2E...)
=09The program checks under which name it has been installed=20
=09looks up the configuration file in /usr/local/etc based on that.
=09(ie. tomcat4ctl read tomcat4ctl.conf and jboss3ctl reads jboss3ctl.con=
f,
=09they can all be the same binary, however).

=09=09Ari S.

--------------Boundary-00=_GBSJCVQZOH4PP5NTH4AB
Content-Type: text/x-csrc;
  charset="iso-8859-1";
  name="daemonctl.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="daemonctl.c"

LyoKICogLSotIG1vZGU6IEZ1bmRhbWVudGFsOyB0YWItd2lkdGg6IDQ7IC0qLQogKiBleDp0cz00
CiAqCiAqIERhZW1vbiBjb250cm9sIHByb2dyYW0uCiAqCiAqICRGcmVlQlNEOiBwb3J0cy93d3cv
amFrYXJ0YS10b21jYXQ0L2ZpbGVzL2RhZW1vbmN0bC5jLHYgMS42IDIwMDIvMDUvMDggMjI6MDA6
MDQgem5lcmQgRXhwICQKICovCgojaW5jbHVkZSA8YXNzZXJ0Lmg+CiNpbmNsdWRlIDxmY250bC5o
PgojaW5jbHVkZSA8c2lnbmFsLmg+CiNpbmNsdWRlIDxzdGRhcmcuaD4KI2luY2x1ZGUgPHN0ZGlv
Lmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0cmluZy5oPgojaW5jbHVkZSA8c3lz
bG9nLmg+CiNpbmNsdWRlIDx1bmlzdGQuaD4KI2luY2x1ZGUgPHN5cy9lcnJuby5oPgojaW5jbHVk
ZSA8c3lzL3N0YXQuaD4KI2luY2x1ZGUgPHN5cy90eXBlcy5oPgojaW5jbHVkZSA8c3lzL3Vpby5o
PgoKLyogVGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgUElEIGZpbGUsIGluIGJ5dGVzICovCiNkZWZp
bmUgTUFYX0ZJTEVfU0laRQkJCTMyCiNkZWZpbmUJTUFYX0FSR1MJCQkJNTAKCi8qIFRoZSBpbnRl
cnZhbCBpbiBzZWNvbmRzIGJldHdlZW4gdGhlIGNoZWNrcyB0byBtYWtlIHN1cmUgdGhlIHByb2Nl
c3MKICAgZGllZCBhZnRlciBhIGtpbGwgKi8KI2RlZmluZSBTVE9QX1RJTUVfSU5URVJWQUwJCTEK
CiNkZWZpbmUgRVJSX0lMTEVHQUxfQVJHVU1FTlQJCQkJMQojZGVmaW5lIEVSUl9QSURfRklMRV9O
T1RfRk9VTkQJCQkJMgojZGVmaW5lIEVSUl9QSURfRklMRV9UT09fTEFSR0UJCQkJMwojZGVmaW5l
IEVSUl9QSURfRklMRV9DT05UQUlOU19JTExFR0FMX0NIQVIJNAojZGVmaW5lIEVSUl9LSUxMX0ZB
SUxFRAkJCQkJCTUKI2RlZmluZSBFUlJfQUxSRUFEWV9SVU5OSU5HCQkJCQk2CiNkZWZpbmUgRVJS
X05PVF9SVU5OSU5HCQkJCQkJNwojZGVmaW5lIEVSUl9DSERJUl9UT19BUFBfSE9NRQkJCQk4CiNk
ZWZpbmUgRVJSX0FDQ0VTU19KQVJfRklMRQkJCQkJMTcKI2RlZmluZSBFUlJfU1RET1VUX0xPR0ZJ
TEVfT1BFTgkJCQk5CiNkZWZpbmUgRVJSX1NUREVSUl9MT0dGSUxFX09QRU4JCQkJMTAKI2RlZmlu
ZSBFUlJfRk9SS19GQUlMRUQJCQkJCQkxMQojZGVmaW5lIEVSUl9TVEFUX0pBVkFfSE9NRQkJCQkJ
MTIKI2RlZmluZSBFUlJfSkFWQV9IT01FX05PVF9ESVIJCQkJMTMKI2RlZmluZSBFUlJfU1RBVF9K
QVZBX0NNRAkJCQkJMTQKI2RlZmluZSBFUlJfSkFWQV9DTURfTk9UX0ZJTEUJCQkJMTUKI2RlZmlu
ZSBFUlJfSkFWQV9DTURfTk9UX0VYRUNVVEFCTEUJCQkxNgojZGVmaW5lIEVSUl9DT05GX0ZJTEVf
T1BFTgkJCQkJMTcKI2RlZmluZQlFUlJfQ09ORl9GSUxFX0VSUk9SCQkJCQkxOAojZGVmaW5lCUVS
Ul9NQUxMT0MJCQkJCQkJMTkKI2RlZmluZQlFUlJfVE9PX01BTllfQVJHUwkJCQkJMjAKI2RlZmlu
ZQlFUlJfQ09ORklHX01JU1NJTkcJCQkJCTIxCgojZGVmaW5lIHByaXZhdGUgc3RhdGljCgp0eXBl
ZGVmIHN0cnVjdCBfY29uZk5vZGUgewoKCWNoYXIqCQkJCW5hbWU7CgljaGFyKgkJCQl2YWx1ZTsK
CXN0cnVjdCBfY29uZk5vZGUqCW5leHQ7Cn0gQ29uZk5vZGU7CgkKCnByaXZhdGUgQ29uZk5vZGUq
CWNvbmZMaXN0ID0gTlVMTDsKcHJpdmF0ZSBjaGFyKgkJbXlOYW1lID0gImRhZW1vbmN0bCI7Cgpw
cml2YXRlIHZvaWQgcHJpbnRVc2FnZSh2b2lkKTsKcHJpdmF0ZSBpbnQgb3BlblBJREZpbGUodm9p
ZCk7CnByaXZhdGUgaW50IHJlYWRQSUQoaW50KTsKcHJpdmF0ZSB2b2lkIHdyaXRlUElEKGludCBm
aWxlLCBpbnQgcGlkKTsKcHJpdmF0ZSB2b2lkIHN0YXJ0KHZvaWQpOwpwcml2YXRlIHZvaWQgc3Rv
cCh2b2lkKTsKcHJpdmF0ZSB2b2lkIHJlc3RhcnQodm9pZCk7CnByaXZhdGUgdm9pZCByZWFkQ29u
ZihjaGFyKik7CnByaXZhdGUgY2hhciogZ2V0Q29uZlN0cihjaGFyKik7CnByaXZhdGUgaW50ICAg
Z2V0Q29uZkludChjaGFyKik7CgoKLyoqCiAqIE1haW4gZnVuY3Rpb24uIFRoaXMgZnVuY3Rpb24g
aXMgY2FsbGVkIHdoZW4gdGhpcyBwcm9ncmFtIGlzIGV4ZWN1dGVkLgogKgogKiBAcGFyYW0gYXJn
YwogKiAgICB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cyBwbHVzIG9uZSwgc28gYWx3YXlzIGdyZWF0
ZXIgdGhhbiAwLgogKgogKiBAcGFyYW0gYXJndgogKiAgICB0aGUgYXJndW1lbnRzIGluIGFuIGFy
cmF5IG9mIGNoYXJhY3RlciBwb2ludGVycywgd2hlcmUgdGhlIGxhc3QgYXJndW1lbnQKICogICAg
ZWxlbWVudCBpcyBmb2xsb3dlZCBieSBhIE5VTEwgZWxlbWVudC4KICovCmludCBtYWluKGludCBh
cmdjLCBjaGFyICphcmd2W10pIHsKCgkvKiBEZWNsYXJlIHZhcmlhYmxlcywgbGlrZSBhbGwgb3Ro
ZXIgZ29vZCBBTlNJIEMgcHJvZ3JhbXMgZG8gOikgKi8KCWNoYXIgKmFyZ3VtZW50OwoKICAgIHJl
YWRDb25mKGFyZ3ZbMF0pOwoKCS8qIFBhcnNlIHRoZSBhcmd1bWVudHMgKi8KCWlmIChhcmdjIDwg
MikgewoJCXByaW50VXNhZ2UoKTsKCQlyZXR1cm4gMDsKCX0KCglzZXR1aWQoZ2V0ZXVpZCgpKTsK
CWFyZ3VtZW50ID0gYXJndlsxXTsKCWlmIChzdHJjbXAoInN0YXJ0IiwgYXJndW1lbnQpID09IDAp
IHsKCQlzdGFydCgpOwoJfSBlbHNlIGlmIChzdHJjbXAoInN0b3AiLCBhcmd1bWVudCkgPT0gMCkg
ewoJCXN0b3AoKTsKCX0gZWxzZSBpZiAoc3RyY21wKCJyZXN0YXJ0IiwgYXJndW1lbnQpID09IDAp
IHsKCQlyZXN0YXJ0KCk7Cgl9IGVsc2UgewoJCWZwcmludGYoc3RkZXJyLCAiJXM6IElsbGVnYWwg
YXJndW1lbnQgXCIlc1wiLlxuIiwgbXlOYW1lLCBhcmd1bWVudCk7CgkJcHJpbnRVc2FnZSgpOwoJ
CWV4aXQoRVJSX0lMTEVHQUxfQVJHVU1FTlQpOwoJfQoKCXJldHVybiAwOwp9CgoKLyoqCiAqIFBy
aW50cyB1c2FnZSBpbmZvcm1hdGlvbiB0byBzdGRvdXQuCiAqLwp2b2lkIHByaW50VXNhZ2Uodm9p
ZCkgewoJcHJpbnRmKCJVc2FnZTogJXMgWyBzdGFydCB8IHN0b3AgfCByZXN0YXJ0IF1cbiIsIG15
TmFtZSk7Cn0KCgovKioKICogQXR0ZW1wdHMgdG8gb3BlbiB0aGUgUElEIGZpbGUuIElmIHRoYXQg
ZmlsZSBpcyBzdWNjZXNzZnVsbHkgb3BlbmVkLCB0aGVuCiAqIHRoZSBmaWxlIGhhbmRsZSAoYW4g
aW50KSB3aWxsIGJlIHJldHVybmVkLgogKgogKiBAcmV0dXJuCiAqICAgIHRoZSBmaWxlIGhhbmRs
ZS4KICovCmludCBvcGVuUElERmlsZSh2b2lkKSB7CgogCWludCBmaWxlOwoKCS8qIEF0dGVtcHQg
dG8gb3BlbiB0aGUgUElEIGZpbGUgKi8KCWZpbGUgPSBvcGVuKGdldENvbmZTdHIoIlBJRF9GSUxF
IiksIE9fUkRXUik7CglpZiAoZmlsZSA8IDApIHsKCQlwcmludGYoIiBbIEZBSUxFRCBdXG4iKTsK
CQlmcHJpbnRmKHN0ZGVyciwgIiVzOiBVbmFibGUgdG8gb3BlbiAlcyBmb3IgcmVhZGluZyBhbmQg
d3JpdGluZzogIiwgbXlOYW1lLCBnZXRDb25mU3RyKCJQSURfRklMRSIpKTsKCQlwZXJyb3IoTlVM
TCk7CgkJZXhpdChFUlJfUElEX0ZJTEVfTk9UX0ZPVU5EKTsKCX0KCglyZXR1cm4gZmlsZTsKfQoK
Ci8qKgogKiBSZWFkcyBhIFBJRCBmcm9tIHRoZSBzcGVjaWZpZWQgZmlsZS4gVGhlIGZpbGUgaXMg
aWRlbnRpZmllZCBieSBhIGZpbGUKICogaGFuZGxlLgogKgogKiBAcGFyYW0gZmlsZQogKiAgICB0
aGUgZmlsZSBoYW5kbGUuCiAqCiAqIEByZXR1cm4KICogICAgdGhlIFBJRCwgb3IgLTEgaWYgdGhl
IGZpbGUgd2FzIGVtcHR5LgogKi8KaW50IHJlYWRQSUQoaW50IGZpbGUpIHsKCgljaGFyICpidWZm
ZXI7CglpbnQgaGFkTmV3bGluZSA9IDA7Cgl1bnNpZ25lZCBpbnQgY291bnQ7Cgl1bnNpZ25lZCBp
bnQgaTsKCWludCBwaWQ7CgoJLyogUmVhZCB0aGUgUElEIGZpbGUgY29udGVudHMgKi8KCWJ1ZmZl
ciA9IChjaGFyICopIG1hbGxvYygoTUFYX0ZJTEVfU0laRSArIDEpICogc2l6ZW9mKGNoYXIpKTsK
CWNvdW50ID0gcmVhZChmaWxlLCBidWZmZXIsIE1BWF9GSUxFX1NJWkUgKyAxKTsKCWlmIChjb3Vu
dCA+IE1BWF9GSUxFX1NJWkUpIHsKCQlwcmludGYoIiBbIEZBSUxFRCBdXG4iKTsKCQlmcHJpbnRm
KHN0ZGVyciwgIiVzOiBUaGUgZmlsZSAlcyBjb250YWlucyBtb3JlIHRoYW4gJWQgYnl0ZXMuXG4i
LCBteU5hbWUsIGdldENvbmZTdHIoIlBJRF9GSUxFIiksIE1BWF9GSUxFX1NJWkUpOwoJCWV4aXQo
RVJSX1BJRF9GSUxFX1RPT19MQVJHRSk7Cgl9CgoJLyogQ29udmVydCB0aGUgYnl0ZXMgdG8gYSBu
dW1iZXIgKi8KCXBpZCA9IDA7Cglmb3IgKGk9MDsgaTxjb3VudDsgaSsrKSB7CgkJY2hhciBjID0g
YnVmZmVyW2ldOwoJCWlmIChjID49ICcwJyAmJiBjIDw9ICc5JykgewoJCQljaGFyIGRpZ2l0ID0g
YyAtICcwJzsKCQkJcGlkICo9IDEwOwoJCQlwaWQgKz0gZGlnaXQ7CgkJfSBlbHNlIGlmIChpID09
IChjb3VudCAtIDEpICYmIGMgPT0gJ1xuJykgewoJCQkvKiBYWFg6IElnbm9yZSBhIG5ld2xpbmUg
YXQgdGhlIGVuZCBvZiB0aGUgZmlsZSAqLwoJCQloYWROZXdsaW5lID0gMTsKCQl9IGVsc2UgewoJ
CQlwcmludGYoIiBbIEZBSUxFRCBdXG4iKTsKCQkJZnByaW50ZihzdGRlcnIsICIlczogVGhlIGZp
bGUgJXMgY29udGFpbnMgYW4gaWxsZWdhbCBjaGFyYWN0ZXIgKCVkKSBhdCBwb3NpdGlvbiAlZC5c
biIsIG15TmFtZSwgZ2V0Q29uZlN0cigiUElEX0ZJTEUiKSwgYywgaSk7CgkJCWV4aXQoRVJSX1BJ
RF9GSUxFX0NPTlRBSU5TX0lMTEVHQUxfQ0hBUik7CgkJfQoJfQoJcHJpbnRmKCIgWyBET05FIF1c
biIpOwoKCWlmIChjb3VudCA9PSAwIHx8IChjb3VudCA9PSAxICYmIGhhZE5ld2xpbmUgPT0gMSkp
IHsKCQlyZXR1cm4gLTE7Cgl9CgoJcmV0dXJuIHBpZDsKfQoKCi8qKgogKiBXcml0ZXMgYSBwcm9j
ZXNzIElEIHRvIHRoZSBzcGVjaWZpZWQgZmlsZS4gVGhlIGZpbGUgaXMgaWRlbnRpZmllZCBieSBh
IGZpbGUKICogaGFuZGxlLgogKgogKiBAcGFyYW0gZmlsZQogKiAgICB0aGUgZmlsZSBoYW5kbGUs
IGFsd2F5cyBncmVhdGVyIHRoYW4gMC4KICoKICogQHBhcmFtIHBpZAogKiAgICB0aGUgUElEIHRv
IHN0b3JlLCBhbHdheXMgZ3JlYXRlciB0aGFuIDAuCiAqLwp2b2lkIHdyaXRlUElEKGludCBmaWxl
LCBpbnQgcGlkKSB7CgoJY2hhciAqYnVmZmVyOwoJaW50IG5ieXRlczsKCgkvKiBDaGVjayBwcmVj
b25kaXRpb25zICovCglhc3NlcnQoZmlsZSA+IDApOwoJYXNzZXJ0KHBpZCA+IDApOwoKCXByaW50
ZigiPj4gV3JpdGluZyBQSUQgZmlsZS4uLiIpOwoKCWxzZWVrKGZpbGUsIChvZmZfdCkgMCwgU0VF
S19TRVQpOwoJZnRydW5jYXRlKGZpbGUsIChvZmZfdCkgMCk7CgluYnl0ZXMgPSBhc3ByaW50Zigm
YnVmZmVyLCAiJWRcbiIsIHBpZCk7Cgl3cml0ZShmaWxlLCBidWZmZXIsIG5ieXRlcyk7Cglwcmlu
dGYoIiBbIERPTkUgXVxuIik7Cn0KCgovKioKICogQ2hlY2tzIGlmIHRoZSBzcGVjaWZpZWQgcHJv
Y2VzcyBpcyBydW5uaW5nLgogKgogKiBAcGFyYW0gcGlkCiAqICAgIHRoZSBwcm9jZXNzIGlkLCBn
cmVhdGVyIHRoYW4gMC4KICoKICogQHJldHVybgogKiAgICAwIGlmIHRoZSBzcGVjaWZpZWQgcHJv
Y2VzcyBpcyBub3QgcnVubmluZywgYSBkaWZmZXJlbnQgdmFsdWUgb3RoZXJ3aXNlLgogKi8KaW50
IGV4aXN0c1Byb2Nlc3MoaW50IHBpZCkgewoKCWludCByZXN1bHQ7CgoJLyogQ2hlY2sgcHJlY29u
ZGl0aW9ucyAqLwoJYXNzZXJ0KHBpZCA+IDApOwoKCS8qIFNlZSBpZiB0aGUgcHJvY2VzcyBleGlz
dHMgKi8KICAgCXJlc3VsdCA9IGtpbGwocGlkLCAwKTsKCgkvKiBJZiB0aGUgcmVzdWx0IGlzIDAs
IHRoZW4gdGhlIHByb2Nlc3MgZXhpc3RzICovCglpZiAocmVzdWx0ID09IDApIHsKCQlyZXR1cm4g
MTsKCX0gZWxzZSB7CgkJcmV0dXJuIDA7Cgl9Cn0KCgovKioKICogS2lsbHMgdGhlIHByb2Nlc3Mg
aWRlbnRpZmllZCBieSB0aGUgc3BlY2lmaWVkIElELgogKgogKiBAcGFyYW0gcGlkCiAqICAgIHRo
ZSBwcm9jZXNzIGlkLCBncmVhdGVyIHRoYW4gMC4KICovCnZvaWQga2lsbFByb2Nlc3MoaW50IHBp
ZCkgewoKCWludCByZXN1bHQ7Cgl1bnNpZ25lZCBpbnQgd2FpdGVkOwoJdW5zaWduZWQgaW50IGZv
cmNlZDsKCXVuc2lnbmVkIGludCBpbnRlcnZhbCA9IFNUT1BfVElNRV9JTlRFUlZBTDsKCXVuc2ln
bmVkIGludCB0aW1lb3V0ICA9IGdldENvbmZJbnQoIlNUT1BfVElNRU9VVCIpOwoKCS8qIENoZWNr
IHByZWNvbmRpdGlvbnMgKi8KCWFzc2VydChwaWQgPiAwKTsKCglwcmludGYoIj4+IFRlcm1pbmF0
aW5nIHByb2Nlc3MgJWQuLi4iLCBwaWQpOwoJcmVzdWx0ID0ga2lsbChwaWQsIFNJR1RFUk0pOwoJ
aWYgKHJlc3VsdCA8IDApIHsKCQlwcmludGYoIiBbIEZBSUxFRCBdXG4iKTsKCQlmcHJpbnRmKHN0
ZGVyciwgIiVzOiBVbmFibGUgdG8ga2lsbCBwcm9jZXNzICVkOiAiLCBteU5hbWUsIHBpZCk7CgkJ
cGVycm9yKE5VTEwpOwoJCWV4aXQoRVJSX0tJTExfRkFJTEVEKTsKCX0KCgkvKiBXYWl0IHVudGls
IHRoZSBwcm9jZXNzIGlzIGFjdHVhbGx5IGtpbGxlZCAqLwogICAgcmVzdWx0ID0gZXhpc3RzUHJv
Y2VzcyhwaWQpOwoJZm9yICh3YWl0ZWQ9MDsgcmVzdWx0ID09IDEgJiYgd2FpdGVkIDwgdGltZW91
dDsgd2FpdGVkICs9IGludGVydmFsKQoJewoJCXByaW50ZigiLiIpOwoJCWZmbHVzaChOVUxMKTsK
CQlzbGVlcChpbnRlcnZhbCk7CiAgICAJcmVzdWx0ID0gZXhpc3RzUHJvY2VzcyhwaWQpOwoJfQoK
CS8qIElmIHRoZSBwcm9jZXNzIHN0aWxsIGV4aXN0cywgdGhlbiBoYXZlIG5vIG1lcmN5IGFuZCBr
aWxsIGl0ICovCglmb3JjZWQgPSAwOwoJaWYgKHJlc3VsdCA9PSAxKSB7CgoJCS8qIEZvcmNlIHRo
ZSBwcm9jZXNzIHRvIGRpZSAqLwoJCXJlc3VsdCA9IGtpbGwocGlkLCBTSUdLSUxMKTsKCQlpZiAo
cmVzdWx0ID09IDApIHsKCQkJZm9yY2VkID0gMTsKCQkJcHJpbnRmKCIgWyBET05FIF1cbiIpOwoJ
CQlmcHJpbnRmKHN0ZGVyciwgIiVzOiBQcm9jZXNzICVkIGRpZCBub3QgdGVybWluYXRlIHdpdGhp
biAlZCBzZWMuIEtpbGxlZC5cbiIsIG15TmFtZSwgdGltZW91dCwgcGlkKTsKCQl9IGVsc2UgaWYg
KHJlc3VsdCAhPSBFU1JDSCkgewoJCQlwcmludGYoIiBbIEZBSUxFRCBdXG4iKTsKCQkJZnByaW50
ZihzdGRlcnIsICIlczogVW5hYmxlIHRvIGtpbGwgcHJvY2VzcyAlZDogIiwgbXlOYW1lLCBwaWQp
OwoJCQlwZXJyb3IoTlVMTCk7CgkJCWV4aXQoRVJSX0tJTExfRkFJTEVEKTsKCQl9Cgl9CgoJaWYg
KGZvcmNlZCA9PSAwKSB7CgkJcHJpbnRmKCIgWyBET05FIF1cbiIpOwoJfQp9CgoKLyoqCiAqIFN0
YXJ0cyB0aGUgZGFlbW9uLgogKi8Kdm9pZCBzdGFydCh2b2lkKSB7CgoJaW50IGZpbGU7CglpbnQg
cGlkOwoJaW50IHJlc3VsdDsKCWludCBzdGRvdXRMb2dGaWxlOwoJaW50IHN0ZGVyckxvZ0ZpbGU7
CglzdHJ1Y3Qgc3RhdCBzYjsKCWNoYXIJYnVmWzUxMl07CgljaGFyKgl0b2tlbjsKCWNoYXIqCWFy
Z3NbTUFYX0FSR1NdOwoJaW50CQlhcmdDb3VudDsKCgkvKiBPcGVuIGFuZCByZWFkIHRoZSBQSUQg
ZmlsZSAqLwoJcHJpbnRmKCI+PiBSZWFkaW5nIFBJRCBmaWxlICglcykuLi4iLCBnZXRDb25mU3Ry
KCJQSURfRklMRSIpKTsKCWZpbGUgPSBvcGVuUElERmlsZSgpOwoJcGlkID0gcmVhZFBJRChmaWxl
KTsKCglwcmludGYoIj4+IFN0YXJ0aW5nICVzICVzLi4uIiwgZ2V0Q29uZlN0cigiQVBQX1RJVExF
IiksIGdldENvbmZTdHIoIlBPUlRWRVJTSU9OIikpOwoJaWYgKHBpZCAhPSAtMSkgewoKCQkvKiBD
aGVjayBpZiB0aGUgcHJvY2VzcyBhY3R1YWxseSBleGlzdHMgKi8KCQlyZXN1bHQgPSBleGlzdHNQ
cm9jZXNzKHBpZCk7CgkJaWYgKHJlc3VsdCA9PSAxKSB7CgkJCXByaW50ZigiIFsgRkFJTEVEIF1c
biIpOwoJCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiAlcyAlcyBpcyBhbHJlYWR5IHJ1bm5pbmcsIFBJ
RCBpcyAlZC5cbiIsIG15TmFtZSwgZ2V0Q29uZlN0cigiQVBQX1RJVExFIiksIGdldENvbmZTdHIo
IlBPUlRWRVJTSU9OIiksIHBpZCk7CgkJCWV4aXQoRVJSX0FMUkVBRFlfUlVOTklORyk7CgkJfQoJ
fQoKCS8qIENoZWNrIGlmIHRoZSBKREsgaG9tZSBkaXJlY3RvcnkgaXMgYWN0dWFsbHkgYSBkaXJl
Y3RvcnkgKi8KCXJlc3VsdCA9IHN0YXQoZ2V0Q29uZlN0cigiSkFWQV9IT01FIiksICZzYik7Cglp
ZiAocmVzdWx0ICE9IDApIHsKCQlwcmludGYoIiBbIEZBSUxFRCBdXG4iKTsKCQlmcHJpbnRmKHN0
ZGVyciwgIiVzOiBVbmFibGUgdG8gc3RhdCAlczogIiwgbXlOYW1lLCBnZXRDb25mU3RyKCJKQVZB
X0hPTUUiKSk7CgkJcGVycm9yKE5VTEwpOwoJCWV4aXQoRVJSX1NUQVRfSkFWQV9IT01FKTsKCX0K
CWlmICghU19JU0RJUihzYi5zdF9tb2RlKSkgewoJCXByaW50ZigiIFsgRkFJTEVEIF1cbiIpOwoJ
CWZwcmludGYoc3RkZXJyLCAiJXM6IEphdmEgaG9tZSBkaXJlY3RvcnkgJXMgaXMgbm90IGEgZGly
ZWN0b3J5LlxuIiwgbXlOYW1lLCBnZXRDb25mU3RyKCJKQVZBX0hPTUUiKSk7CgkJZXhpdChFUlJf
SkFWQV9IT01FX05PVF9ESVIpOwoJfQoKCS8qIENoZWNrIGlmIHRoZSBKYXZhIGNvbW1hbmQgaXMg
YWN0dWFsbHkgYW4gZXhlY3V0YWJsZSByZWd1bGFyIGZpbGUgKi8KICAgIHNwcmludGYgKGJ1Ziwg
IiVzLyVzIiwgZ2V0Q29uZlN0cigiSkFWQV9IT01FIiksIGdldENvbmZTdHIoIkpBVkFfQ01EIikp
OwoJcmVzdWx0ID0gc3RhdChidWYsICZzYik7CglpZiAocmVzdWx0ICE9IDApIHsKCQlwcmludGYo
IiBbIEZBSUxFRCBdXG4iKTsKCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiBVbmFibGUgdG8gc3RhdCAl
czogIiwgbXlOYW1lLCBidWYpOwoJCXBlcnJvcihOVUxMKTsKCQlleGl0KEVSUl9TVEFUX0pBVkFf
Q01EKTsKCX0KCWlmICghU19JU1JFRyhzYi5zdF9tb2RlKSkgewoJCXByaW50ZigiIFsgRkFJTEVE
IF1cbiIpOwoJCWZwcmludGYoc3RkZXJyLCAiJXM6IEphdmEgY29tbWFuZCAlcyBpcyBub3QgYSBy
ZWd1bGFyIGZpbGUuXG4iLCBteU5hbWUsIGJ1Zik7CgkJZXhpdChFUlJfSkFWQV9DTURfTk9UX0ZJ
TEUpOwoJfQoJcmVzdWx0ID0gYWNjZXNzKGJ1ZiwgWF9PSyk7CglpZiAocmVzdWx0ICE9IDApIHsK
CQlwcmludGYoIiBbIEZBSUxFRCBdXG4iKTsKCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiBKYXZhIGNv
bW1hbmQgJXMgaXMgbm90IGV4ZWN1dGFibGU6ICIsIG15TmFtZSwgYnVmKTsKCQlwZXJyb3IoTlVM
TCk7CgkJZXhpdChFUlJfSkFWQV9DTURfTk9UX0VYRUNVVEFCTEUpOwoJfQoKCS8qIENoYW5nZSBk
aXJlY3RvcnkgKi8KCXJlc3VsdCA9IGNoZGlyKGdldENvbmZTdHIoIkFQUF9IT01FIikpOwoJaWYg
KHJlc3VsdCA8IDApIHsKCQlwcmludGYoIiBbIEZBSUxFRCBdXG4iKTsKCQlmcHJpbnRmKHN0ZGVy
ciwgIiVzOiBVbmFibGUgdG8gYWNjZXNzIGRpcmVjdG9yeSAlczogIiwgbXlOYW1lLCBnZXRDb25m
U3RyKCJBUFBfSE9NRSIpKTsKCQlwZXJyb3IoTlVMTCk7CgkJZXhpdChFUlJfQ0hESVJfVE9fQVBQ
X0hPTUUpOwoJfQoKCS8qIFNlZSBpZiB0aGUgSkFSIGZpbGUgZXhpc3RzICovCglzcHJpbnRmKGJ1
ZiwgIiVzLyVzIiwgZ2V0Q29uZlN0cigiQVBQX0hPTUUiKSwgZ2V0Q29uZlN0cigiSkFSX0ZJTEUi
KSk7CglyZXN1bHQgPSBhY2Nlc3MoYnVmLCBSX09LKTsKCWlmIChyZXN1bHQgPCAwKSB7CgkJcHJp
bnRmKCIgWyBGQUlMRUQgXVxuIik7CgkJZnByaW50ZihzdGRlcnIsICIlczogVW5hYmxlIHRvIGFj
Y2VzcyBKQVIgZmlsZSAlczogIiwgbXlOYW1lLCBidWYpOwoJCXBlcnJvcihOVUxMKTsKCQlleGl0
KEVSUl9BQ0NFU1NfSkFSX0ZJTEUpOwoJfQoKCS8qIE9wZW4gdGhlIHN0ZG91dCBsb2cgZmlsZSAq
LwoJc3Rkb3V0TG9nRmlsZSA9IG9wZW4oZ2V0Q29uZlN0cigiU1RET1VUX0xPRyIpLCBPX1dST05M
WSk7CglpZiAoc3Rkb3V0TG9nRmlsZSA8IDApIHsKCQlwcmludGYoIiBbIEZBSUxFRCBdXG4iKTsK
CQlmcHJpbnRmKHN0ZGVyciwgIiVzOiBVbmFibGUgdG8gb3BlbiAlcyBmb3Igd3JpdGluZzogIiwg
bXlOYW1lLCBnZXRDb25mU3RyKCJTVERPVVRfTE9HIikpOwoJCXBlcnJvcihOVUxMKTsKCQlleGl0
KEVSUl9TVERPVVRfTE9HRklMRV9PUEVOKTsKCX0KCWxzZWVrKHN0ZG91dExvZ0ZpbGUsIChvZmZf
dCkgMCwgU0VFS19FTkQpOwoKCS8qIE9wZW4gdGhlIHN0ZGVyciBsb2cgZmlsZSAqLwoJc3RkZXJy
TG9nRmlsZSA9IG9wZW4oZ2V0Q29uZlN0cigiU1RERVJSX0xPRyIpLCBPX1dST05MWSk7CglpZiAo
c3RkZXJyTG9nRmlsZSA8IDApIHsKCQlwcmludGYoIiBbIEZBSUxFRCBdXG4iKTsKCQlmcHJpbnRm
KHN0ZGVyciwgIiVzOiBVbmFibGUgdG8gb3BlbiAlcyBmb3Igd3JpdGluZzogIiwgbXlOYW1lLCBn
ZXRDb25mU3RyKCJTVERFUlJfTE9HIikpOwoJCXBlcnJvcihOVUxMKTsKCQlleGl0KEVSUl9TVERF
UlJfTE9HRklMRV9PUEVOKTsKCX0KCWxzZWVrKHN0ZGVyckxvZ0ZpbGUsIChvZmZfdCkgMCwgU0VF
S19FTkQpOwoKCWFyZ0NvdW50ID0gMDsKCXNwcmludGYoYnVmLCAiJXMvJXMiLCBnZXRDb25mU3Ry
KCJKQVZBX0hPTUUiKSwgZ2V0Q29uZlN0cigiSkFWQV9DTUQiKSk7CglhcmdzW2FyZ0NvdW50Kytd
ID0gc3RyZHVwKGJ1Zik7CiAgICB0b2tlbiA9IHN0cnRvayhnZXRDb25mU3RyKCJKQVZBX0FSR1Mi
KSwgIiAiKTsKICAgIHdoaWxlICh0b2tlbiAhPSBOVUxMKSB7CiAgICAgICAgIAoJCWlmIChhcmdD
b3VudCA9PSBNQVhfQVJHUyAtIDEpIHsKCgkJCXByaW50ZigiIFsgRkFJTEVEIF1cbiIpOwoJCQlm
cHJpbnRmIChzdGRlcnIsICJUb28gbWFueSBhcmdzXG4iKTsKCQkJZXhpdCAoRVJSX1RPT19NQU5Z
X0FSR1MpOwoJCX0KCgkJYXJnc1thcmdDb3VudCsrXSA9IHN0cmR1cCAodG9rZW4pOwoJCXRva2Vu
ID0gc3RydG9rKE5VTEwsICIgIik7Cgl9CgoJaWYgKGFyZ0NvdW50ID49IE1BWF9BUkdTIC0gMikg
ewoKCQlwcmludGYoIiBbIEZBSUxFRCBdXG4iKTsKCQlmcHJpbnRmIChzdGRlcnIsICJUb28gbWFu
eSBhcmdzXG4iKTsKCQlleGl0IChFUlJfVE9PX01BTllfQVJHUyk7Cgl9CgoJYXJnc1thcmdDb3Vu
dCsrXSA9ICItamFyIjsKCWFyZ3NbYXJnQ291bnQrK10gPSBnZXRDb25mU3RyKCJKQVJfRklMRSIp
OwoKICAgIHRva2VuID0gc3RydG9rKGdldENvbmZTdHIoIkpBUl9BUkdTIiksICIgIik7CiAgICB3
aGlsZSAodG9rZW4gIT0gTlVMTCkgewogICAgICAgICAKCQlpZiAoYXJnQ291bnQgPT0gTUFYX0FS
R1MgLSAxKSB7CgoJCSAgICBwcmludGYoIiBbIEZBSUxFRCBdXG4iKTsKCQkJZnByaW50ZiAoc3Rk
ZXJyLCAiVG9vIG1hbnkgYXJnc1xuIik7CgkJCWV4aXQgKEVSUl9UT09fTUFOWV9BUkdTKTsKCQl9
CgoJCWFyZ3NbYXJnQ291bnQrK10gPSBzdHJkdXAgKHRva2VuKTsKCQl0b2tlbiA9IHN0cnRvayhO
VUxMLCAiICIpOwoJfQoKCWFyZ3NbYXJnQ291bnQrK10gPSBOVUxMOwoKCS8qIFNwbGl0IHRoaXMg
cHJvY2VzcyBpbiB0d28gKi8KCXBpZCA9IGZvcmsoKTsKCWlmIChwaWQgPT0gLTEpIHsKCQlwcmlu
dGYoIiBbIEZBSUxFRCBdXG4iKTsKCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiBVbmFibGUgdG8gZm9y
azogIik7CgkJcGVycm9yKE5VTEwpOwoJCWV4aXQoRVJSX0ZPUktfRkFJTEVEKTsKCX0KCglpZiAo
cGlkID09IDApIHsKCgkJLyogUmVkaXJlY3Qgc3Rkb3V0IHRvIGxvZyBmaWxlICovCgkJZHVwMihz
dGRvdXRMb2dGaWxlLCBTVERPVVRfRklMRU5PKTsKCgkJLyogUmVkaXJlY3Qgc3RkZXJyIHRvIGxv
ZyBmaWxlICovCgkJZHVwMihzdGRlcnJMb2dGaWxlLCBTVERFUlJfRklMRU5PKTsKCgkJLyogVE9E
TzogU3VwcG9ydCByZWRpcmVjdGlvbiBvZiBib3RoIHN0ZG91dCBhbmQgc3RkZXJyIHRvIHRoZSBz
YW1lCgkJICAgICAgICAgZmlsZSB1c2luZyBwaXBlKDIpICovCgoJCS8qIEV4ZWN1dGUgdGhlIGNv
bW1hbmQgKi8KCQlleGVjdihhcmdzWzBdLCBhcmdzKTsKCgkJZnByaW50ZihzdGRlcnIsICIlczog
VW5hYmxlIHRvIHN0YXJ0ICVzICVzIHNpbmNlICclcy8lcyAtamFyICVzJyBpbiAlczogIiwgbXlO
YW1lLCBnZXRDb25mU3RyKCJBUFBfVElUTEUiKSwgZ2V0Q29uZlN0cigiUE9SVFZFUlNJT04iKSwg
Z2V0Q29uZlN0cigiSkFWQV9IT01FIiksIGdldENvbmZTdHIoIkpBVkFfQ01EIiksIGdldENvbmZT
dHIoIkpBUl9GSUxFIiksIGdldENvbmZTdHIoIkFQUF9IT01FIikpOwoJCXBlcnJvcihOVUxMKTsK
CX0gZWxzZSB7CgkJcHJpbnRmKCIgWyBET05FIF1cbiIpOwoJCXdyaXRlUElEKGZpbGUsIHBpZCk7
Cgl9Cn0KCi8qKgogKiBTdG9wcyB0aGUgZGFlbW9uLgogKi8Kdm9pZCBzdG9wKHZvaWQpIHsKCglp
bnQgZmlsZTsKCWludCBwaWQ7CgoJLyogT3BlbiBhbmQgcmVhZCB0aGUgUElEIGZpbGUgKi8KCXBy
aW50ZigiPj4gUmVhZGluZyBQSUQgZmlsZSAoJXMpLi4uIiwgZ2V0Q29uZlN0cigiUElEX0ZJTEUi
KSk7CglmaWxlID0gb3BlblBJREZpbGUoKTsKCXBpZCA9IHJlYWRQSUQoZmlsZSk7CgoJcHJpbnRm
KCI+PiBDaGVja2luZyBpZiAlcyAlcyBpcyBydW5uaW5nLi4uIiwgZ2V0Q29uZlN0cigiQVBQX1RJ
VExFIiksIGdldENvbmZTdHIoIlBPUlRWRVJTSU9OIikpOwoKCS8qIElmIHRoZXJlIGlzIGEgUElE
LCBzZWUgaWYgdGhlIHByb2Nlc3Mgc3RpbGwgZXhpc3RzICovCglpZiAocGlkICE9IC0xKSB7CgkJ
aW50IHJlc3VsdCA9IGtpbGwocGlkLCAwKTsKCQlpZiAocmVzdWx0ICE9IDAgJiYgZXJybm8gPT0g
RVNSQ0gpIHsKCQkJZnRydW5jYXRlKGZpbGUsIChvZmZfdCkgMCk7CgkJCXBpZCA9IC0xOwoJCX0K
CX0KCgkvKiBJZiB0aGVyZSBpcyBubyBydW5uaW5nIHByb2Nlc3MsIHByb2R1Y2UgYW4gZXJyb3Ig
Ki8KCWlmIChwaWQgPT0gLTEpIHsKCQlwcmludGYoIiBbIEZBSUxFRCBdXG4iKTsKCQlmcHJpbnRm
KHN0ZGVyciwgIiVzOiAlcyAlcyBpcyBjdXJyZW50bHkgbm90IHJ1bm5pbmcuXG4iLCBteU5hbWUs
IGdldENvbmZTdHIoIkFQUF9USVRMRSIpLCBnZXRDb25mU3RyKCJQT1JUVkVSU0lPTiIpKTsKCQll
eGl0KEVSUl9OT1RfUlVOTklORyk7Cgl9CglwcmludGYoIiBbIERPTkUgXVxuIik7CgoJLyogVGVy
bWluYXRlIHRoZSBwcm9jZXNzICovCglraWxsUHJvY2VzcyhwaWQpOwoKCS8qIENsZWFyIHRoZSBQ
SUQgZmlsZSAqLwoJZnRydW5jYXRlKGZpbGUsIChvZmZfdCkgMCk7Cn0KCgovKioKICogUmVzdGFy
dHMgdGhlIHByb2Nlc3MuIElmIGl0IG5vdCBjdXJyZW50bHkgcnVubmluZywgdGhlbiBpdCB3aWxs
IGZhaWwuCiAqLwp2b2lkIHJlc3RhcnQodm9pZCkgewoJc3RvcCgpOwoJc3RhcnQoKTsKfQoKCnZv
aWQgcmVhZENvbmYoY2hhciogcHJvZykKewogICAgRklMRSoJCWNvbmZGaWxlOwoJY2hhcioJCXB0
cjsKCWNoYXIJCWNvbmZOYW1lWzgwXTsKCWNoYXIJCWJ1ZlsyNTZdOwoJQ29uZk5vZGUqCW5vZGU7
CgogICAgcHRyID0gc3RycmNocihwcm9nLCAnLycpOwogICAgaWYgKHB0ciA9PSBOVUxMKQogICAg
ICAgIHB0ciA9IHByb2c7CiAgICBlbHNlCiAgICAgICAgIHB0cisrOwoKCW15TmFtZSA9IHN0cmR1
cChwdHIpOwoJc3ByaW50ZiAoY29uZk5hbWUsICIvdXNyL2xvY2FsL2V0Yy8lcy5jb25mIiwgcHRy
KTsKICAgIHByaW50ZiAoIlJlYWRpbmcgY29uZiBmaWxlICVzLi4uXG4iLCBjb25mTmFtZSk7Cgog
ICAgY29uZkZpbGUgPSBmb3Blbihjb25mTmFtZSwgInIiKTsKICAgIGlmIChjb25mRmlsZSA9PSBO
VUxMKSB7CgoJCWZwcmludGYgKHN0ZGVyciwgIkNhbm5vdCBvcGVuIGNvbmZpZ3VyYXRpb24gZmls
ZSAlcyAiLCBjb25mTmFtZSk7CgkJcGVycm9yKE5VTEwpOwoJCWV4aXQgKEVSUl9DT05GX0ZJTEVf
T1BFTik7Cgl9CgoJd2hpbGUgKGZnZXRzIChidWYsIHNpemVvZihidWYpLCBjb25mRmlsZSkgIT0g
TlVMTCkgewoKCQlpZiAoYnVmWzBdID09ICcjJykKCQkJY29udGludWU7CgoJCXB0ciA9IHN0cmNo
cihidWYsICdcbicpOwoJCWlmIChwdHIgPT0gTlVMTCkgewoKCQkJZnByaW50ZiAoc3RkZXJyLCAi
VG9vIGxvbmcgbGluZTogJXNcbiIsIGJ1Zik7CgkJCWV4aXQoRVJSX0NPTkZfRklMRV9FUlJPUik7
CgkJfQoKCQkqcHRyID0gJ1wwJzsKCQlwdHIgPSBzdHJjaHIoYnVmLCAnPScpOwoJCWlmIChwdHIg
PT0gTlVMTCkgewoKCQkJZnByaW50ZiAoc3RkZXJyLCAiTm8gZXF1YWwgc2lnbiBmb3VuZDogJXNc
biIsIGJ1Zik7CgkJCWV4aXQgKEVSUl9DT05GX0ZJTEVfRVJST1IpOwoJCX0KCgkJbm9kZSA9IG1h
bGxvYyhzaXplb2YoQ29uZk5vZGUpKTsKCQlpZiAobm9kZSA9PSBOVUxMKSB7CgoJCQlmcHJpbnRm
IChzdGRlcnIsICJPdXQgb2YgbWVtb3J5LlxuIik7CgkJCWV4aXQgKEVSUl9NQUxMT0MpOwoJCX0K
CgkJKnB0ciA9ICdcMCc7CgkJbm9kZS0+bmFtZSAgPSBzdHJkdXAgKGJ1Zik7CgkJbm9kZS0+dmFs
dWUgPSBzdHJkdXAocHRyICsgMSk7CgkJbm9kZS0+bmV4dCAgPSBjb25mTGlzdDsKCQljb25mTGlz
dCAgICA9IG5vZGU7Cgl9CgoJZmNsb3NlIChjb25mRmlsZSk7Cn0KCmNoYXIqIGdldENvbmZTdHIo
Y2hhciogbmFtZSkKewoJQ29uZk5vZGUqCW5vZGU7CgoJbm9kZSA9IGNvbmZMaXN0OwoJd2hpbGUg
KG5vZGUgIT0gTlVMTCkgewoKCQlpZiAoIXN0cmNtcChub2RlLT5uYW1lLCBuYW1lKSkKCQkJcmV0
dXJuIG5vZGUtPnZhbHVlOwoKCQlub2RlID0gbm9kZS0+bmV4dDsKCX0KCglmcHJpbnRmIChzdGRl
cnIsICJDb25maWd1cmF0aW9uIHZhbHVlIG1pc3NpbmcgZm9yICVzXG4iLCBuYW1lKTsKCWV4aXQg
KEVSUl9DT05GSUdfTUlTU0lORyk7CglyZXR1cm4gTlVMTDsKfQoKaW50IGdldENvbmZJbnQoY2hh
ciogbmFtZSkKewoJcmV0dXJuIGF0b2koZ2V0Q29uZlN0cihuYW1lKSk7CgkKfQo=

--------------Boundary-00=_GBSJCVQZOH4PP5NTH4AB
Content-Type: text/plain;
  charset="iso-8859-1";
  name="tomcat4ctl.conf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="tomcat4ctl.conf"

QVBQX0hPTUU9L3Vzci9sb2NhbC9qYWthcnRhLXRvbWNhdDQuMC4zCkpBVkFfSE9NRT0vdXNyL2xv
Y2FsL2pkazEuMy4xClNURE9VVF9MT0c9L3Vzci9sb2NhbC9qYWthcnRhLXRvbWNhdDQuMC4zL2xv
Z3Mvc3Rkb3V0LmxvZwpTVERFUlJfTE9HPS91c3IvbG9jYWwvamFrYXJ0YS10b21jYXQ0LjAuMy9s
b2dzL3N0ZGVyci5sb2cKU1RPUF9USU1FT1VUPTUKUElEX0ZJTEU9L3Zhci9ydW4vdG9tY2F0NC5w
aWQKUE9SVFZFUlNJT049NC4wLjMKQVBQX1RJVExFPUpha2FydGEgVG9tY2F0CkpBVkFfQ01EPWJp
bi9qYXZhCkpBUl9GSUxFPWJpbi9ib290c3RyYXAuamFyCkpBVkFfQVJHUz0tRGNhdGFsaW5hLmhv
bWU9L3Vzci9sb2NhbC9qYWthcnRhLXRvbWNhdDQuMC4zCkpBUl9BUkdTPXN0YXJ0Cg==

--------------Boundary-00=_GBSJCVQZOH4PP5NTH4AB--


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-java" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200208281242.52123.ari.suutari>