This is the mail archive of the java-prs@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

libgcj/7752: connection with a POST http request


>Number:         7752
>Category:       libgcj
>Synopsis:       connection with a POST http request
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Aug 28 13:16:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Christophe Roux
>Release:        gcc-3.1.1
>Organization:
>Environment:
tomcat3.2.3 from rhug
>Description:
The gnu.gcj.protocol.http.Connection.java allows only Get requests as the function getHttpHeaders is invoked before getOutputStream so that I can't send data before read.
>How-To-Repeat:
try a http POST request
>Fix:
The solution consist in calling getHttpHeaders from getInputStream, after the  stuff for sending data with getOutputStream is done.
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/x-java; name="Connection.java"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="Connection.java"

Ly8gQ29ubmVjdGlvbi5qYXZhIC0gSW1wbGVtZW50YXRpb24gb2YgSHR0cFVSTENvbm5lY3Rpb24g
Zm9yIGh0dHAgcHJvdG9jb2wuCgovKiBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDAgIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbgoKICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgbGliZ2NqLgoKVGhpcyBz
b2Z0d2FyZSBpcyBjb3B5cmlnaHRlZCB3b3JrIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUKTGliZ2NqIExpY2Vuc2UuICBQbGVhc2UgY29uc3VsdCB0aGUgZmlsZSAiTElCR0NKX0xJQ0VO
U0UiIGZvcgpkZXRhaWxzLiAgKi8KCnBhY2thZ2UgZ251Lmdjai5wcm90b2NvbC5odHRwOwoKaW1w
b3J0IGphdmEubmV0Lio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwuVmVjdG9y
OwppbXBvcnQgamF2YS51dGlsLkhhc2h0YWJsZTsKaW1wb3J0IGphdmEudXRpbC5FbnVtZXJhdGlv
bjsKCi8qKgogKiBAYXV0aG9yIFdhcnJlbiBMZXZ5IDx3YXJyZW5sQGN5Z251cy5jb20+CiAqIEBk
YXRlIE1hcmNoIDI5LCAxOTk5LgogKi8KCi8qKgogKiBXcml0dGVuIHVzaW5nIG9uLWxpbmUgSmF2
YSBQbGF0Zm9ybSAxLjIgQVBJIFNwZWNpZmljYXRpb24sIGFzIHdlbGwKICogYXMgIlRoZSBKYXZh
IENsYXNzIExpYnJhcmllcyIsIDJuZCBlZGl0aW9uIChBZGRpc29uLVdlc2xleSwgMTk5OCkuCiAq
IFN0YXR1czogIE1pbmltYWwgc3Vic2V0IG9mIGZ1bmN0aW9uYWxpdHkuICBQcm94aWVzIGFuZCBS
ZWRpcmVjdHMKICogICAgICBub3QgeWV0IGhhbmRsZWQuICBGaWxlTmFtZU1hcCBoYW5kbGluZyBu
ZWVkcyB0byBiZSBjb25zaWRlcmVkLgogKiAgICAgIHVzZUNhY2hlcywgaWZNb2RpZmllZFNpbmNl
LCBhbmQgYWxsb3dVc2VySW50ZXJhY3Rpb24gbmVlZAogKiAgICAgIGNvbnNpZGVyYXRpb24gYXMg
d2VsbCBhcyBkb0lucHV0IGFuZCBkb091dHB1dC4KICovCgpjbGFzcyBDb25uZWN0aW9uIGV4dGVu
ZHMgSHR0cFVSTENvbm5lY3Rpb24KewogIHByb3RlY3RlZCBTb2NrZXQgc29jayA9IG51bGw7CiAg
cHJpdmF0ZSBzdGF0aWMgSGFzaHRhYmxlIGRlZlJlcXVlc3RQcm9wZXJ0aWVzID0gbmV3IEhhc2h0
YWJsZSgpOwogIHByaXZhdGUgSGFzaHRhYmxlIHJlcXVlc3RQcm9wZXJ0aWVzOwogIHByaXZhdGUg
SGFzaHRhYmxlIGhkckhhc2ggPSBuZXcgSGFzaHRhYmxlKCk7CiAgcHJpdmF0ZSBWZWN0b3IgaGRy
VmVjID0gbmV3IFZlY3RvcigpOwogIHByaXZhdGUgQnVmZmVyZWRJbnB1dFN0cmVhbSBidWZmZXJl
ZEluOwogIHByaXZhdGUgYm9vbGVhbiBoZWFkZXJzID0gZmFsc2U7CgogIHB1YmxpYyBDb25uZWN0
aW9uKFVSTCB1cmwpCiAgewogICAgc3VwZXIodXJsKTsKICAgIHJlcXVlc3RQcm9wZXJ0aWVzID0g
KEhhc2h0YWJsZSkgZGVmUmVxdWVzdFByb3BlcnRpZXMuY2xvbmUoKTsKICB9CgogIC8vIE92ZXJy
aWRlIG1ldGhvZCBpbiBVUkxDb25uZWN0aW9uLgogIHB1YmxpYyBzdGF0aWMgdm9pZCBzZXREZWZh
dWx0UmVxdWVzdFByb3BlcnR5KFN0cmluZyBrZXksIFN0cmluZyB2YWx1ZSkKICB7CiAgICBkZWZS
ZXF1ZXN0UHJvcGVydGllcy5wdXQoa2V5LCB2YWx1ZSk7CiAgfQoKICAvLyBPdmVycmlkZSBtZXRo
b2QgaW4gVVJMQ29ubmVjdGlvbi4KICBwdWJsaWMgc3RhdGljIFN0cmluZyBnZXREZWZhdWx0UmVx
dWVzdFByb3BlcnR5KFN0cmluZyBrZXkpCiAgewogICAgcmV0dXJuIChTdHJpbmcpIGRlZlJlcXVl
c3RQcm9wZXJ0aWVzLmdldChrZXkpOwogIH0KCiAgLy8gT3ZlcnJpZGUgbWV0aG9kIGluIFVSTENv
bm5lY3Rpb24uCiAgcHVibGljIHZvaWQgc2V0UmVxdWVzdFByb3BlcnR5KFN0cmluZyBrZXksIFN0
cmluZyB2YWx1ZSkKICB7CiAgICBpZiAoY29ubmVjdGVkKQogICAgICB0aHJvdyBuZXcgSWxsZWdh
bEFjY2Vzc0Vycm9yKCJDb25uZWN0aW9uIGFscmVhZHkgZXN0YWJsaXNoZWQuIik7CgogICAgcmVx
dWVzdFByb3BlcnRpZXMucHV0KGtleSwgdmFsdWUpOwogIH0KCiAgLy8gT3ZlcnJpZGUgbWV0aG9k
IGluIFVSTENvbm5lY3Rpb24uCiAgcHVibGljIFN0cmluZyBnZXRSZXF1ZXN0UHJvcGVydHkoU3Ry
aW5nIGtleSkKICB7CiAgICBpZiAoY29ubmVjdGVkKQogICAgICB0aHJvdyBuZXcgSWxsZWdhbEFj
Y2Vzc0Vycm9yKCJDb25uZWN0aW9uIGFscmVhZHkgZXN0YWJsaXNoZWQuIik7CgogICAgcmV0dXJu
IChTdHJpbmcpIHJlcXVlc3RQcm9wZXJ0aWVzLmdldChrZXkpOwogIH0KCiAgLy8gSW1wbGVtZW50
YXRpb24gb2YgYWJzdHJhY3QgbWV0aG9kLgogIHB1YmxpYyB2b2lkIGNvbm5lY3QoKSB0aHJvd3Mg
SU9FeGNlcHRpb24KICB7CiAgICAvLyBDYWxsIGlzIGlnbm9yZWQgaWYgYWxyZWFkeSBjb25uZWN0
ZWQuCiAgICBpZiAoY29ubmVjdGVkKQogICAgICByZXR1cm47CgogICAgLy8gR2V0IGFkZHJlc3Mg
YW5kIHBvcnQgbnVtYmVyLgogICAgaW50IHBvcnQ7CiAgICBJbmV0QWRkcmVzcyBkZXN0QWRkciA9
IEluZXRBZGRyZXNzLmdldEJ5TmFtZSh1cmwuZ2V0SG9zdCgpKTsKICAgIGlmICgocG9ydCA9IHVy
bC5nZXRQb3J0KCkpID09IC0xKQogICAgICBwb3J0ID0gODA7CgogICAgLy8gT3BlbiBzb2NrZXQg
YW5kIG91dHB1dCBzdHJlYW0uCiAgICBzb2NrID0gbmV3IFNvY2tldChkZXN0QWRkciwgcG9ydCk7
CgogICAgUHJpbnRXcml0ZXIgb3V0ID0gbmV3IFByaW50V3JpdGVyKHNvY2suZ2V0T3V0cHV0U3Ry
ZWFtKCkpOwoKICAgIC8vIFNlbmQgcmVxdWVzdCBpbmNsdWRpbmcgYW55IHJlcXVlc3QgcHJvcGVy
dGllcyB0aGF0IHdlcmUgc2V0LgogICAgb3V0LnByaW50KGdldFJlcXVlc3RNZXRob2QoKSArICIg
IiArIHVybC5nZXRGaWxlKCkgKyAiIEhUVFAvMS4wXHJcbiIpOwogICAgb3V0LnByaW50KCJIb3N0
OiAiICsgdXJsLmdldEhvc3QoKSArICI6IiArIHBvcnQgKyAiXHJcbiIpOwogICAgRW51bWVyYXRp
b24gcmVxS2V5cyA9IHJlcXVlc3RQcm9wZXJ0aWVzLmtleXMoKTsKICAgIEVudW1lcmF0aW9uIHJl
cVZhbHMgPSByZXF1ZXN0UHJvcGVydGllcy5lbGVtZW50cygpOwogICAgd2hpbGUgKHJlcUtleXMu
aGFzTW9yZUVsZW1lbnRzKCkpCiAgICAgIG91dC5wcmludChyZXFLZXlzLm5leHRFbGVtZW50KCkg
KyAiOiAiICsgcmVxVmFscy5uZXh0RWxlbWVudCgpICsgIlxyXG4iKTsKICAgIG91dC5wcmludCgi
XHJcbiIpOwogICAgb3V0LmZsdXNoKCk7ICAgIAogICAgY29ubmVjdGVkID0gdHJ1ZTsKICAgIGhl
YWRlcnMgPSBmYWxzZTsKICB9CgogIC8vIEltcGxlbWVudGF0aW9uIG9mIGFic3RyYWN0IG1ldGhv
ZC4KICBwdWJsaWMgdm9pZCBkaXNjb25uZWN0KCkKICB7CiAgICBpZiAoc29jayAhPSBudWxsKQog
ICAgICB7CiAgICAgICAgdHJ5CiAgICAgICAgICB7CiAgICAgICAgICAgIHNvY2suY2xvc2UoKTsK
ICAgICAgICAgIH0KICAgICAgICBjYXRjaCAoSU9FeGNlcHRpb24gZXgpCiAgICAgICAgICB7CiAg
ICAgICAgICAgIDsgLy8gSWdub3JlIGVycm9ycyBpbiBjbG9zaW5nIHNvY2tldC4KICAgICAgICAg
IH0KICAgICAgICBzb2NrID0gbnVsbDsKICAgICAgfQogIH0KCiAgLy8gVE9ETzogcHVibGljIGJv
b2xlYW4gdXNpbmdQcm94eSgpCiAgcHVibGljIGJvb2xlYW4gdXNpbmdQcm94eSgpCiAgewogICAg
dGhyb3cgbmV3IEludGVybmFsRXJyb3IoIkh0dHBVUkxDb25uZWN0aW9uLnVzaW5nUHJveHkgbm90
IGltcGxlbWVudGVkIik7CiAgfQoKICAvLyBPdmVycmlkZSBkZWZhdWx0IG1ldGhvZCBpbiBVUkxD
b25uZWN0aW9uLgogIHB1YmxpYyBJbnB1dFN0cmVhbSBnZXRJbnB1dFN0cmVhbSgpIHRocm93cyBJ
T0V4Y2VwdGlvbgogIHsKICAgIGlmICghY29ubmVjdGVkKQogICAgICBjb25uZWN0KCk7CgogICAg
aWYgKCAhaGVhZGVycyApCiAgICAJZ2V0SHR0cEhlYWRlcnMoKTsKICAgIAogICAgaWYgKCFkb0lu
cHV0KQogICAgICB0aHJvdyBuZXcgUHJvdG9jb2xFeGNlcHRpb24oIkNhbid0IG9wZW4gSW5wdXRT
dHJlYW0gaWYgZG9JbnB1dCBpcyBmYWxzZSIpOwogICAgcmV0dXJuIGJ1ZmZlcmVkSW47CiAgfQoK
ICAvLyBPdmVycmlkZSBkZWZhdWx0IG1ldGhvZCBpbiBVUkxDb25uZWN0aW9uLgogIHB1YmxpYyBP
dXRwdXRTdHJlYW0gZ2V0T3V0cHV0U3RyZWFtKCkgdGhyb3dzIElPRXhjZXB0aW9uCiAgewogICAg
aWYgKCFjb25uZWN0ZWQpCiAgICAgIGNvbm5lY3QoKTsKCiAgICBpZiAoISBkb091dHB1dCkKICAg
ICAgdGhyb3cgbmV3CiAgICAgICAgUHJvdG9jb2xFeGNlcHRpb24oIkNhbid0IG9wZW4gT3V0cHV0
U3RyZWFtIGlmIGRvT3V0cHV0IGlzIGZhbHNlIik7CiAgICByZXR1cm4gc29jay5nZXRPdXRwdXRT
dHJlYW0oKTsKICB9CgogIC8vIE92ZXJyaWRlIGRlZmF1bHQgbWV0aG9kIGluIFVSTENvbm5lY3Rp
b24uCiAgcHVibGljIFN0cmluZyBnZXRIZWFkZXJGaWVsZChTdHJpbmcgbmFtZSkKICB7CiAgICBp
ZiAoIWNvbm5lY3RlZCkKICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgY29ubmVjdCgpOwog
ICAgICAgIH0KICAgICAgY2F0Y2ggKElPRXhjZXB0aW9uIHgpCiAgICAgICAgewogICAgICAgICAg
cmV0dXJuIG51bGw7CiAgICAgICAgfQoKICAgIHJldHVybiAoU3RyaW5nKSBoZHJIYXNoLmdldChu
YW1lLnRvTG93ZXJDYXNlKCkpOwogIH0KCiAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBtZXRob2QgaW4g
VVJMQ29ubmVjdGlvbi4KICBwdWJsaWMgU3RyaW5nIGdldEhlYWRlckZpZWxkKGludCBuKQogIHsK
ICAgIGlmICghY29ubmVjdGVkKQogICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICBjb25uZWN0
KCk7CiAgICAgICAgfQogICAgICBjYXRjaCAoSU9FeGNlcHRpb24geCkKICAgICAgICB7CiAgICAg
ICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgaWYgKG4gPCBoZHJWZWMuc2l6ZSgpKQog
ICAgICByZXR1cm4gZ2V0RmllbGQoKFN0cmluZykgaGRyVmVjLmVsZW1lbnRBdChuKSk7CiAgICBy
ZXR1cm4gbnVsbDsKICB9CgogIC8vIE92ZXJyaWRlIGRlZmF1bHQgbWV0aG9kIGluIFVSTENvbm5l
Y3Rpb24uCiAgcHVibGljIFN0cmluZyBnZXRIZWFkZXJGaWVsZEtleShpbnQgbikKICB7CiAgICBp
ZiAoIWNvbm5lY3RlZCkKICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgY29ubmVjdCgpOwog
ICAgICAgIH0KICAgICAgY2F0Y2ggKElPRXhjZXB0aW9uIHgpCiAgICAgICAgewogICAgICAgICAg
cmV0dXJuIG51bGw7CiAgICAgICAgfQoKICAgIGlmIChuIDwgaGRyVmVjLnNpemUoKSkKICAgICAg
cmV0dXJuIGdldEtleSgoU3RyaW5nKSBoZHJWZWMuZWxlbWVudEF0KG4pKTsKICAgIHJldHVybiBu
dWxsOwogIH0KCiAgcHJpdmF0ZSBTdHJpbmcgZ2V0S2V5KFN0cmluZyBzdHIpCiAgewogICAgaWYg
KHN0ciA9PSBudWxsKQogICAgICByZXR1cm4gbnVsbDsKICAgIGludCBpbmRleCA9IHN0ci5pbmRl
eE9mKCc6Jyk7CiAgICBpZiAoaW5kZXggPj0gMCkKICAgICAgcmV0dXJuIHN0ci5zdWJzdHJpbmco
MCwgaW5kZXgpOwogICAgZWxzZQogICAgICByZXR1cm4gbnVsbDsKICB9CgogIHByaXZhdGUgU3Ry
aW5nIGdldEZpZWxkKFN0cmluZyBzdHIpCiAgewogICAgaWYgKHN0ciA9PSBudWxsKQogICAgICBy
ZXR1cm4gbnVsbDsKICAgIGludCBpbmRleCA9IHN0ci5pbmRleE9mKCc6Jyk7CiAgICBpZiAoaW5k
ZXggPj0gMCkKICAgICAgcmV0dXJuIHN0ci5zdWJzdHJpbmcoaW5kZXggKyAxKS50cmltKCk7CiAg
ICBlbHNlCiAgICAgIHJldHVybiBzdHI7CiAgfQoKICBwcml2YXRlIHZvaWQgZ2V0SHR0cEhlYWRl
cnMoKSB0aHJvd3MgSU9FeGNlcHRpb24KICB7CiAgICAvLyBPcmlnaW5hbGx5IHRyaWVkIHVzaW5n
IGEgQnVmZmVyZWRSZWFkZXIgaGVyZSB0byB0YWtlIGFkdmFudGFnZSBvZgogICAgLy8gdGhlIHJl
YWRMaW5lIG1ldGhvZCBhbmQgYXZvaWQgdGhlIGZvbGxvd2luZywgYnV0IHRoZSBidWZmZXIgcmVh
ZAogICAgLy8gcGFzdCB0aGUgZW5kIG9mIHRoZSBoZWFkZXJzIHNvIHRoZSBmaXJzdCBwYXJ0IG9m
IHRoZSBjb250ZW50IHdhcyBsb3N0LgogICAgLy8gSXQgaXMgcHJvYmFibHkgbW9yZSByb2J1c3Qg
dGhhbiBpdCBuZWVkcyB0byBiZSwgZS5nLiB0aGUgYnl0ZVtdCiAgICAvLyBpcyB1bmxpa2VseSB0
byBvdmVyZmxvdyBhbmQgYSAnXHInIHNob3VsZCBhbHdheXMgYmUgZm9sbG93ZWQgYnkgYSAnXG4n
LAogICAgLy8gYnV0IGl0IGlzIGJldHRlciB0byBiZSBzYWZlIGp1c3QgaW4gY2FzZS4KICAgIHNv
Y2suc2V0UmVjZWl2ZUJ1ZmZlclNpemUoNDA5Nik7CiAgICBidWZmZXJlZEluID0gbmV3IEJ1ZmZl
cmVkSW5wdXRTdHJlYW0oc29jay5nZXRJbnB1dFN0cmVhbSgpKTsKCiAgICBpbnQgYnVmbGVuID0g
MTAwOwogICAgYnl0ZVtdIGJ1ZiA9IG5ldyBieXRlW2J1Zmxlbl07CiAgICBTdHJpbmcgbGluZSA9
ICIiOwogICAgYm9vbGVhbiBnb3RubCA9IGZhbHNlOwogICAgYnl0ZVtdIGNoID0gbmV3IGJ5dGVb
MV07CiAgICBjaFswXSA9IChieXRlKSAnXG4nOwoKICAgIHdoaWxlICh0cnVlKQogICAgICB7CiAg
ICAgICAgLy8gQ2hlY2sgZm9yIGxlZnRvdmVyIGJ5dGUgZnJvbSBub24tJ1xuJyBhZnRlciBhICdc
cicuCiAgICAgICAgaWYgKGNoWzBdICE9ICdcbicpCiAgICAgICAgICBsaW5lID0gbGluZSArICdc
cicgKyBuZXcgU3RyaW5nKGNoLCAwLCAxKTsKCiAgICAgICAgaW50IGk7CiAgICAgICAgLy8gRklY
TUU6IFRoaXMgaXMgcmF0aGVyIGluZWZmaWNpZW50LgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBi
dWZsZW47IGkrKykKICAgICAgICAgIHsKICAgICAgICAgICAgYnVmW2ldID0gKGJ5dGUpIGJ1ZmZl
cmVkSW4ucmVhZCgpOwogICAgICAgICAgICBpZiAoYnVmW2ldID09IC0xKQogICAgICAgICAgICAg
IHRocm93IG5ldyBJT0V4Y2VwdGlvbigiTWFsZm9ybWVkIEhUVFAgaGVhZGVyIik7CiAgICAgICAg
ICAgIGlmIChidWZbaV0gPT0gJ1xyJykKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBi
dWZmZXJlZEluLnJlYWQoY2gsIDAsIDEpOwogICAgICAgICAgICAgICAgaWYgKGNoWzBdID09ICdc
bicpCiAgICAgICAgICAgICAgICAgIGdvdG5sID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICBsaW5lID0gbGluZSArIG5ldyBT
dHJpbmcoYnVmLCAwLCBpKTsKCiAgICAgICAgLy8gQSAnXHInICdcbicgY29tYm8gaW5kaWNhdGVz
IHRoZSBlbmQgb2YgdGhlIGhlYWRlciBlbnRyeS4KICAgICAgICAvLyBJZiBpdCB3YXNuJ3QgZm91
bmQsIGN5Y2xlIGJhY2sgdGhyb3VnaCB0aGUgbG9vcCBhbmQgYXBwZW5kCiAgICAgICAgLy8gdG8g
J2xpbmUnIHVudGlsIG9uZSBpcyBmb3VuZC4KICAgICAgICBpZiAoZ290bmwpCiAgICAgICAgICB7
CiAgICAgICAgICAgIC8vIEEgemVybyBsZW5ndGggZW50cnkgc2lnbmFscyB0aGUgZW5kIG9mIHRo
ZSBoZWFkZXJzLgogICAgICAgICAgICBpZiAobGluZS5sZW5ndGgoKSA9PSAwKQogICAgICAgICAg
ICAgIGJyZWFrOwoKICAgICAgICAgICAgLy8gU3RvcmUgdGhlIGhlYWRlciBhbmQgcmVpbml0aWFs
aXplIGZvciBuZXh0IGN5Y2xlLgogICAgICAgICAgICBoZHJWZWMuYWRkRWxlbWVudChsaW5lKTsK
ICAgICAgICAgICAgU3RyaW5nIGtleSA9IGdldEtleShsaW5lKTsKICAgICAgICAgICAgaWYgKGtl
eSAhPSBudWxsKQogICAgICAgICAgICAgIGhkckhhc2gucHV0KGtleS50b0xvd2VyQ2FzZSgpLCBn
ZXRGaWVsZChsaW5lKSk7CiAgICAgICAgICAgIGxpbmUgPSAiIjsKICAgICAgICAgICAgY2hbMF0g
PSAoYnl0ZSkgJ1xuJzsKICAgICAgICAgICAgZ290bmwgPSBmYWxzZTsKICAgICAgICAgIH0KICAg
ICAgfQogIH0KfQoKCg==


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]