[tpop3d-discuss] multiple mysql servers patch

Yann GROSSEL olrick at phear.org
Thu, 17 Oct 2002 19:37:23 +0200


This is a multi-part message in MIME format.

--Multipart_Thu__17_Oct_2002_19:37:23_+0200_0844fee0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit


Hi

I've finished my patch (rewritten from scratch). I've tested it
this afternoon and it seems to work well.

Please tell me what you think about it.

Regards

Yann

--Multipart_Thu__17_Oct_2002_19:37:23_+0200_0844fee0
Content-Type: application/octet-stream;
 name="tpop3d-CVS-multiple-mysql.2.patch"
Content-Disposition: attachment;
 filename="tpop3d-CVS-multiple-mysql.2.patch"
Content-Transfer-Encoding: base64

ZGlmZiAtcnVOIHRwb3AzZC1DVlMtb3JpZy9hdXRoX215c3FsLmMgdHBvcDNkLUNWUy9hdXRoX215
c3FsLmMKLS0tIHRwb3AzZC1DVlMtb3JpZy9hdXRoX215c3FsLmMJMjAwMi0wOS0yMCAxODozMTow
NS4wMDAwMDAwMDAgKzAyMDAKKysrIHRwb3AzZC1DVlMvYXV0aF9teXNxbC5jCTIwMDItMTAtMTcg
MTk6MjI6MDMuMDAwMDAwMDAwICswMjAwCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAibWQ1
LmgiCiAjaW5jbHVkZSAic3RyaW5nbWFwLmgiCiAjaW5jbHVkZSAidXRpbC5oIgorI2luY2x1ZGUg
InRva2VuaXNlLmgiCiAKIC8qIERlZmF1bHQgcXVlcnkgdGVtcGxhdGVzLiBUaGUgcmV0dXJuZWQg
ZmllbGRzIGFyZToKICAqICBbMF0gbG9jYXRpb24gb2YgbWFpbGJveApAQCAtMjU2LDQyICsyNTcs
ODggQEAKIAogLyogTXlTUUwgUEFTU1dPUkQoKSByb3V0aW5lcyBlbmQuICovCiAKK01ZU1FMICpt
eXNxbCA9IE5VTEw7Cit0b2tlbnMgbXlzcWxfc2VydmVyczsKIAotLyogc3RyY2xyOgotICogQ2xl
YXIgYSBzdHJpbmcuICovCi1zdGF0aWMgdm9pZCBzdHJjbHIoY2hhciAqcykgewotICAgIG1lbXNl
dChzLCAwLCBzdHJsZW4ocykpOworLyogZ2V0X215c3FsX3NlcnZlcjoKKyAqIElmIHdlIGFyZSBu
b3QgY3VycmVudGx5IGNvbm5lY3RlZCB0byBhIE15U1FMIHNlcnZlciwgb3IgaWYgdGhlIGN1cnJl
bnQgTXlTUUwgc2VydmVyIGRvZXNuJ3QKKyAqIHJlc3BvbmQgYW55IG1vcmUsIHRyeSB0byBjb25u
ZWN0IHRvIGFsbCBkZWZpbmVkIE15U1FMIHNlcnZlcnMuIElmIG5vbmUgd29yaywgd2UgZ2l2ZSB1
cC4KKyAqIFJldHVybiAwIGlmIE9LLCAtMSBpZiB3ZSBjYW4ndCBjb25uZWN0IHRvIGFueSBzZXJ2
ZXIuICovCitpbnQgZ2V0X215c3FsX3NlcnZlcihjaGFyICp3aGVyZSkgeworCisgICAgaW50IG47
CisgICAgc3RhdGljIE1ZU1FMIG15c3FsX2hhbmRsZTsKKyAgICBjaGFyICpwYXNzd29yZDsKKyAg
ICB1bnNpZ25lZCBpbnQgdGltZW91dDsKKworICAgIGlmIChteXNxbCAmJiBteXNxbF9waW5nKG15
c3FsKSA9PSAwKQorICAgICAgICAvKiBUaGUgY3VycmVudCBzZXJ2ZXIgaXMgdXAgYW5kIHJ1bm5p
bmcgKi8KKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBpZiAobXlzcWwpCisgICAgICAgIC8qIFRo
ZSBjdXJyZW50IHNlcnZlciBkb2Vzbid0IHJlc3BvbmQgYW55bW9yZSAqLworICAgICAgICBteXNx
bF9jbG9zZShteXNxbCk7CisKKyAgICBteXNxbCA9IG15c3FsX2luaXQoJm15c3FsX2hhbmRsZSk7
CisKKyAgICBpZiAoIW15c3FsKSB7CisgICAgICAgIGxvZ19wcmludChMT0dfRVJSLCBfKCJnZXRf
bXlzcWxfc2VydmVyIGluICVzOiBteXNxbF9pbml0OiBmYWlsZWQiKSwgd2hlcmUpOworICAgICAg
ICByZXR1cm4gLTE7CisgICAgfQorCisgICAgaWYgKCEocGFzc3dvcmQgPSBjb25maWdfZ2V0X3N0
cmluZygiYXV0aC1teXNxbC1wYXNzd29yZCIpKSkKKyAgICAgICAgcGFzc3dvcmQgPSAiIjsKKwor
ICAgIGZvciAobiA9IDA7IG4gPCBteXNxbF9zZXJ2ZXJzLT5udW07IG4rKykgeworCisgICAgICAg
LyogVG8gcHJldmVudCB0aGUgbWFpbiBwcm9jZXNzIGZyb20gYmVlaW5nIGJsb2NrZWQgZm9yIHRv
byBsb25nLCB3ZSBzZXQgdGhlIHRpbWVvdXQKKyAgICAgICAgKiB3aGVuIGNvbm5lY3RpbmcgdG8g
YSByZW1vdGUgbXlzcWwgc2VydmVyIHRvIDUgc2Vjb25kcy4gT2YgY291cnNlIHlvdSBuZWVkIHRv
IGhhdmUKKyAgICAgICAgKiBhIG5ldHdvcmsgZmFzdCBlbm91Z2ggdG8gYWxsb3cgVENQIGNvbm5l
Y3Rpb25zIHRvIHRoZSBteXNxbCBzZXJ2ZXJzIHRvIGJlIHN0YXJ0ZWQKKyAgICAgICAgKiBpbiBs
ZXNzIHRoYXQgNSBzZWNvbmRzLi4uICovCisKKyAgICAgICAgdGltZW91dCA9IDU7CisgICAgICAg
IG15c3FsX29wdGlvbnMobXlzcWwsIE1ZU1FMX09QVF9DT05ORUNUX1RJTUVPVVQsIChjaGFyICop
ICYodGltZW91dCkpOworCisgICAgICAgIGlmIChteXNxbF9yZWFsX2Nvbm5lY3QobXlzcWwsIG15
c3FsX3NlcnZlcnMtPnRva3Nbbl0sCisgICAgICAgICAgICAgICAgY29uZmlnX2dldF9zdHJpbmco
ImF1dGgtbXlzcWwtdXNlcm5hbWUiKSwKKyAgICAgICAgICAgICAgICBwYXNzd29yZCwKKyAgICAg
ICAgICAgICAgICBjb25maWdfZ2V0X3N0cmluZygiYXV0aC1teXNxbC1kYXRhYmFzZSIpLAorICAg
ICAgICAgICAgICAgIDAsIE5VTEwsIDApICE9IG15c3FsKSB7CisgICAgICAgICAgICBsb2dfcHJp
bnQoTE9HX1dBUk5JTkcsICJnZXRfbXlzcWxfc2VydmVyIGZvciAlczogc2VydmVyICVzOiAlcyIs
IHdoZXJlLCBteXNxbF9zZXJ2ZXJzLT50b2tzW25dLCBteXNxbF9lcnJvcihteXNxbCkpOworICAg
ICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICBsb2dfcHJpbnQoTE9HX0RF
QlVHLCAiZ2V0X215c3FsX3NlcnZlciBmb3IgJXM6IG5vdyB1c2luZyBzZXJ2ZXIgJXMiLCB3aGVy
ZSwgbXlzcWxfc2VydmVycy0+dG9rc1tuXSk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKwor
ICAgIGxvZ19wcmludChMT0dfRVJSLCAiZ2V0X215c3FsX3NlcnZlciBmb3IgJXM6IGNhbid0IGZp
bmQgYW55IHdvcmtpbmcgTXlTUUwgc2VydmVyLCBnaXZpbmcgdXAuIiwgd2hlcmUpOworCisgICAg
bXlzcWwgPSBOVUxMOworCisgICAgcmV0dXJuIC0xOwogfQogCiAvKiBhdXRoX215c3FsX2luaXQ6
CiAgKiBJbml0aWFsaXNlIHRoZSBkYXRhYmFzZSBjb25uZWN0aW9uIGRyaXZlci4gQ2xlYXJzIHRo
ZSBjb25maWcgZGlyZWN0aXZlcwogICogYXNzb2NpYXRlZCB3aXRoIHRoZSBkYXRhYmFzZSBzbyB0
aGF0IGEgdXNlciBjYW5ub3QgcmVjb3ZlciB0aGVtIHdpdGggYQogICogZGVidWdnZXIuICovCi1N
WVNRTCAqbXlzcWw7CiAKIGludCBhdXRoX215c3FsX2luaXQoKSB7Ci0gICAgY2hhciAqdXNlcm5h
bWUgPSBOVUxMLCAqcGFzc3dvcmQgPSBOVUxMLCAqaG9zdG5hbWUgPSBOVUxMLCAqZGF0YWJhc2Ug
PSBOVUxMLCAqbG9jYWxob3N0ID0gImxvY2FsaG9zdCIsICpzOwotICAgIGludCByZXQgPSAwOwor
ICAgIGNoYXIgKmhvc3RuYW1lID0gTlVMTCwgKmxvY2FsaG9zdCA9ICJsb2NhbGhvc3QiLCAqczsK
IAotICAgIGlmICgocyA9IGNvbmZpZ19nZXRfc3RyaW5nKCJhdXRoLW15c3FsLXVzZXJuYW1lIikp
KQotICAgICAgICB1c2VybmFtZSA9IHM7Ci0gICAgZWxzZSB7CisgICAgaWYgKCFjb25maWdfZ2V0
X3N0cmluZygiYXV0aC1teXNxbC11c2VybmFtZSIpKSB7CiAgICAgICAgIGxvZ19wcmludChMT0df
RVJSLCBfKCJhdXRoX215c3FsX2luaXQ6IG5vIGF1dGgtbXlzcWwtdXNlcm5hbWUgZGlyZWN0aXZl
IGluIGNvbmZpZyIpKTsKLSAgICAgICAgZ290byBmYWlsOworICAgICAgICByZXR1cm4gMDsKICAg
ICB9CiAKLSAgICBpZiAoKHMgPSBjb25maWdfZ2V0X3N0cmluZygiYXV0aC1teXNxbC1wYXNzd29y
ZCIpKSkKLSAgICAgICAgcGFzc3dvcmQgPSBzOwotICAgIGVsc2UgeworICAgIGlmICghY29uZmln
X2dldF9zdHJpbmcoImF1dGgtbXlzcWwtcGFzc3dvcmQiKSkgewogICAgICAgICBsb2dfcHJpbnQo
TE9HX1dBUk5JTkcsIF8oImF1dGhfbXlzcWxfaW5pdDogbm8gYXV0aC1teXNxbC1wYXNzd29yZCBk
aXJlY3RpdmUgaW4gY29uZmlnOyB1c2luZyBibGFuayBwYXNzd29yZCIpKTsKLSAgICAgICAgcGFz
c3dvcmQgPSAiIjsKICAgICB9CiAKLSAgICBpZiAoKHMgPSBjb25maWdfZ2V0X3N0cmluZygiYXV0
aC1teXNxbC1kYXRhYmFzZSIpKSkKLSAgICAgICAgZGF0YWJhc2UgPSBzOwotICAgIGVsc2Ugewor
ICAgIGlmICghY29uZmlnX2dldF9zdHJpbmcoImF1dGgtbXlzcWwtZGF0YWJhc2UiKSkgewogICAg
ICAgICBsb2dfcHJpbnQoTE9HX0VSUiwgXygiYXV0aF9teXNxbF9pbml0OiBubyBhdXRoLW15c3Fs
LWRhdGFiYXNlIGRpcmVjdGl2ZSBpbiBjb25maWciKSk7Ci0gICAgICAgIGdvdG8gZmFpbDsKKyAg
ICAgICAgcmV0dXJuIDA7CiAgICAgfQogCiAgICAgaWYgKChzID0gY29uZmlnX2dldF9zdHJpbmco
ImF1dGgtbXlzcWwtaG9zdG5hbWUiKSkpCkBAIC0zMDQsNyArMzUxLDcgQEAKICAgICAgICAgdXNl
cl9wYXNzX3F1ZXJ5X3RlbXBsYXRlID0gczsKICAgICBpZiAoc3RyY21wKHVzZXJfcGFzc19xdWVy
eV90ZW1wbGF0ZSwgIm5vbmUiKSA9PSAwKQogICAgICAgICB1c2VyX3Bhc3NfcXVlcnlfdGVtcGxh
dGUgPSBOVUxMOwotICAgIAorCiAgICAgaWYgKChzID0gY29uZmlnX2dldF9zdHJpbmcoImF1dGgt
bXlzcWwtYXBvcC1xdWVyeSIpKSkKICAgICAgICAgYXBvcF9xdWVyeV90ZW1wbGF0ZSA9IHM7CiAg
ICAgaWYgKHN0cmNtcChhcG9wX3F1ZXJ5X3RlbXBsYXRlLCAibm9uZSIpID09IDApCkBAIC0zMTks
MzMgKzM2NiwyMCBAQAogICAgIGlmICgocyA9IGNvbmZpZ19nZXRfc3RyaW5nKCJhdXRoLW15c3Fs
LW1haWwtZ3JvdXAiKSkpIHsKICAgICAgICAgaWYgKCFwYXJzZV9naWQocywgJm1haWxfZ2lkKSkg
ewogICAgICAgICAgICAgbG9nX3ByaW50KExPR19FUlIsIF8oImF1dGhfbXlzcWxfaW5pdDogYXV0
aC1teXNxbC1tYWlsLWdyb3VwIGRpcmVjdGl2ZSBgJXMnIGRvZXMgbm90IG1ha2Ugc2Vuc2UiKSwg
cyk7Ci0gICAgICAgICAgICBnb3RvIGZhaWw7CisgICAgICAgICAgICByZXR1cm4gMDsKICAgICAg
ICAgfQogICAgICAgICB1c2VfZ2lkID0gMTsKICAgICB9CiAKLSAgICBteXNxbCA9IG15c3FsX2lu
aXQoTlVMTCk7Ci0gICAgaWYgKCFteXNxbCkgewotICAgICAgICBsb2dfcHJpbnQoTE9HX0VSUiwg
XygiYXV0aF9teXNxbF9pbml0OiBteXNxbF9pbml0OiBmYWlsZWQiKSk7Ci0gICAgICAgIGdvdG8g
ZmFpbDsKLSAgICB9CisgICAgbXlzcWxfc2VydmVycyA9IHRva2Vuc19uZXcoaG9zdG5hbWUsICIg
XHQiKTsKIAotICAgIGlmIChteXNxbF9yZWFsX2Nvbm5lY3QobXlzcWwsIGhvc3RuYW1lLCB1c2Vy
bmFtZSwgcGFzc3dvcmQsIGRhdGFiYXNlLCAwLCBOVUxMLCAwKSAhPSBteXNxbCkgewotICAgICAg
ICBsb2dfcHJpbnQoTE9HX0VSUiwgImF1dGhfbXlzcWxfaW5pdDogbXlzcWxfcmVhbF9jb25uZWN0
OiAlcyIsIG15c3FsX2Vycm9yKG15c3FsKSk7Ci0gICAgICAgIG15c3FsX2Nsb3NlKG15c3FsKTsK
LSAgICAgICAgbXlzcWwgPSBOVUxMOwotICAgICAgICBnb3RvIGZhaWw7CisgICAgaWYgKGdldF9t
eXNxbF9zZXJ2ZXIoImF1dGhfbXlzcWxfaW5pdCIpID09IC0xKSB7CisgICAgICAgIC8qIE5vIHNl
cnZlciBoYXMgYmVlbiBmb3VuZCB3b3JraW5nLiAqLworICAgICAgICB0b2tlbnNfZGVsZXRlKG15
c3FsX3NlcnZlcnMpOworICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICByZXQgPSAxOwot
Ci1mYWlsOgotICAgIGlmICh1c2VybmFtZSkgc3RyY2xyKHVzZXJuYW1lKTsKLSAgICBpZiAocGFz
c3dvcmQpIHN0cmNscihwYXNzd29yZCk7Ci0gICAgaWYgKGhvc3RuYW1lICYmIGhvc3RuYW1lICE9
IGxvY2FsaG9zdCkgc3RyY2xyKGhvc3RuYW1lKTsKLSAgICBpZiAoZGF0YWJhc2UpIHN0cmNscihk
YXRhYmFzZSk7Ci0KLSAgICByZXR1cm4gcmV0OworICAgIHJldHVybiAxOwogfQogCiBleHRlcm4g
aW50IHZlcmJvc2U7IC8qIGluIG1haW4uYyAqLwpAQCAtMzYyLDEwICszOTYsNyBAQAogCiAgICAg
aWYgKCFteXNxbCB8fCAhYXBvcF9xdWVyeV90ZW1wbGF0ZSkgcmV0dXJuIE5VTEw7CiAKLSAgICBp
ZiAobXlzcWxfcGluZyhteXNxbCkgPT0gLTEpIHsKLSAgICAgICAgbG9nX3ByaW50KExPR19FUlIs
ICJhdXRoX215c3FsX25ld19hcG9wOiBteXNxbF9waW5nOiAlcyIsIG15c3FsX2Vycm9yKG15c3Fs
KSk7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KKyAgICBpZiAoZ2V0X215c3FsX3NlcnZl
cigiYXV0aF9teXNxbF9uZXdfYXBvcCIpID09IC0xKSByZXR1cm4gTlVMTDsKIAogICAgIC8qIE9i
dGFpbiB0aGUgYWN0dWFsIHF1ZXJ5IHRvIHVzZS4gKi8KICAgICBpZiAoIShxdWVyeSA9IHN1YnN0
aXR1dGVfcXVlcnlfcGFyYW1zKGFwb3BfcXVlcnlfdGVtcGxhdGUsIG5hbWUsIGxvY2FsX3BhcnQs
IGRvbWFpbiwgTlVMTCwgc2VydmVyaG9zdCkpKQpAQCAtNDcxLDEwICs0OTksNyBAQAogICAgIAog
ICAgIGlmICghbXlzcWwgfHwgIXVzZXJfcGFzc19xdWVyeV90ZW1wbGF0ZSkgcmV0dXJuIE5VTEw7
CiAKLSAgICBpZiAobXlzcWxfcGluZyhteXNxbCkgPT0gLTEpIHsKLSAgICAgICAgbG9nX3ByaW50
KExPR19FUlIsICJhdXRoX215c3FsX25ld191c2VyX3Bhc3M6IG15c3FsX3Bpbmc6ICVzIiwgbXlz
cWxfZXJyb3IobXlzcWwpKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQorICAgIGlmIChn
ZXRfbXlzcWxfc2VydmVyKCJhdXRoX215c3FsX25ld191c2VyX3Bhc3MiKSA9PSAtMSkgcmV0dXJu
IE5VTEw7CiAKICAgICAvKiBPYnRhaW4gdGhlIGFjdHVhbCBxdWVyeSB0byB1c2UuICovCiAgICAg
aWYgKCEocXVlcnkgPSBzdWJzdGl0dXRlX3F1ZXJ5X3BhcmFtcyh1c2VyX3Bhc3NfcXVlcnlfdGVt
cGxhdGUsIHVzZXIsIGxvY2FsX3BhcnQsIGRvbWFpbiwgTlVMTCwgc2VydmVyaG9zdCkpKQpAQCAt
NjE2LDEwICs2MzksNyBAQAogCiAgICAgaWYgKCFteXNxbCB8fCAhb25sb2dpbl9xdWVyeV90ZW1w
bGF0ZSkgcmV0dXJuOwogCi0gICAgaWYgKG15c3FsX3BpbmcobXlzcWwpID09IC0xKSB7Ci0gICAg
ICAgIGxvZ19wcmludChMT0dfRVJSLCAiYXV0aF9teXNxbF9vbmxvZ2luOiBteXNxbF9waW5nOiAl
cyIsIG15c3FsX2Vycm9yKG15c3FsKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgaWYg
KGdldF9teXNxbF9zZXJ2ZXIoImF1dGhfbXlzcWxfb25sb2dpbiIpID09IC0xKSByZXR1cm47CiAK
ICAgICBxdWVyeSA9IHN1YnN0aXR1dGVfcXVlcnlfcGFyYW1zKG9ubG9naW5fcXVlcnlfdGVtcGxh
dGUsIEEtPnVzZXIsIEEtPmxvY2FsX3BhcnQsIEEtPmRvbWFpbiwgY2xpZW50aG9zdCwgc2VydmVy
aG9zdCk7CiAgICAgaWYgKCFxdWVyeSkKZGlmZiAtcnVOIHRwb3AzZC1DVlMtb3JpZy90cG9wM2Qu
Y29uZi41IHRwb3AzZC1DVlMvdHBvcDNkLmNvbmYuNQotLS0gdHBvcDNkLUNWUy1vcmlnL3Rwb3Az
ZC5jb25mLjUJMjAwMi0wOS0wNiAxNDowODowMi4wMDAwMDAwMDAgKzAyMDAKKysrIHRwb3AzZC1D
VlMvdHBvcDNkLmNvbmYuNQkyMDAyLTEwLTE3IDEzOjA0OjAzLjAwMDAwMDAwMCArMDIwMApAQCAt
MzQ3LDcgKzM0Nyw5IEBACiB0aGUgdmlydHVhbCBkb21haW4uCiAuVFAKIFxmQmF1dGgtbXlzcWwt
aG9zdG5hbWVcZkk6IFxmSWhvc3RuYW1lXGZQCi1Ib3N0IG9uIHdoaWNoIHRvIGNvbm5lY3QgdG8g
TXlTUUwsIGJ5IGRlZmF1bHQgXGZCbG9jYWxob3N0XGZQLgorSG9zdCBvbiB3aGljaCB0byBjb25u
ZWN0IHRvIE15U1FMLCBieSBkZWZhdWx0IFxmQmxvY2FsaG9zdFxmUC4gWW91IG1heSBzcGVjaWZ5
CitzZXZlcmFsIGhvc3RzLCBzZXBhcmF0ZWQgYnkgc3BhY2VzIG9yIHRhYnMuIFRoZXNlIGhvc3Rz
IGFyZSB0cmllZCBpbiBvcmRlciB1bnRpbAorb25lIGlzIGZvdW5kIHdvcmtpbmcuCiAuVFAKIFxm
QmF1dGgtbXlzcWwtZGF0YWJhc2VcZlA6IFxmSWRhdGFiYXNlXGZQCiBNeVNRTCBkYXRhYmFzZSB0
byB1c2UgZm9yIGF1dGhlbnRpY2F0aW9uLgo=

--Multipart_Thu__17_Oct_2002_19:37:23_+0200_0844fee0--