From kde-pim Sun Aug 29 15:06:18 2004 From: Szombathelyi "György" Date: Sun, 29 Aug 2004 15:06:18 +0000 To: kde-pim Subject: [Kde-pim] [PATCH] SASL authentication enhacement Message-Id: <200408291706.18597.gyurco () freemail ! hu> X-MARC-Message: https://marc.info/?l=kde-pim&m=109379306808694 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--Boundary-00=_qDfMBuc47mWQO5u" --Boundary-00=_qDfMBuc47mWQO5u Content-Type: text/plain;charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Hello! I wrote a patch for kio_imap4. It uses the cyrus-sasl package for SASL authentication instead of KSASL class. It has several advantages, including Kerberos support, and also can use any cyrus-sasl plugins. I didn't use QCA (Qt Cryptographic Architecture), because SASL in QCA has only a signal-slot interface, which is not optimal for ioslaves. The patch contains modifications for kio_imap4, and for the account configuration dialog in KMail (I added the GSSAPI mechanism). If accepted, I will add cyrus-sasl support to more ioslaves, namely SMTP, POP3 and SIEVE. May I commit? Bye, Gyorgy ____________________________________________________________________ Miert fizetsz az internetert? Korlatlan, ingyenes internet hozzaferes a FreeStarttol. Probald ki most! http://www.freestart.hu --Boundary-00=_qDfMBuc47mWQO5u Content-Type: text/x-diff;charset="us-ascii";name="imap-sasl.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment;filename="imap-sasl.diff" SW5kZXg6IGtpb3NsYXZlcy9pbWFwNC9NYWtlZmlsZS5hbQo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAv aG9tZS9rZGUva2RlcGltL2tpb3NsYXZlcy9pbWFwNC9NYWtlZmlsZS5hbSx2CnJldHJpZXZpbmcg cmV2aXNpb24gMS4yNApkaWZmIC11IC1wIC11IC1yMS4yNCBNYWtlZmlsZS5hbQotLS0ga2lvc2xh dmVzL2ltYXA0L01ha2VmaWxlLmFtCTIwIEF1ZyAyMDA0IDE1OjQ0OjM3IC0wMDAwCTEuMjQKKysr IGtpb3NsYXZlcy9pbWFwNC9NYWtlZmlsZS5hbQkyOSBBdWcgMjAwNCAxNDo1MzoyNCAtMDAwMApA QCAtNyw3ICs3LDcgQEAga2RlX21vZHVsZV9MVExJQlJBUklFUyA9IGtpb19pbWFwNC5sYQoga2lv X2ltYXA0X2xhX1NPVVJDRVMgPSAJaW1hcGNvbW1hbmQuY2MgaW1hcGxpc3QuY2MgbWFpbGFkZHJl c3MuY2MgXAogICBtaW1laGVhZGVyLmNjIHJmY2RlY29kZXIuY2MgaW1hcDQuY2MgaW1hcGluZm8u Y2MgaW1hcHBhcnNlci5jYyBtYWlsaGVhZGVyLmNjIFwKICAgbWltZWhkcmxpbmUuY2MgIG1pbWVp by5jYwota2lvX2ltYXA0X2xhX0xJQkFERCAgPSAtbGtkZXNhc2wgJChMSUJfS0lPKQora2lvX2lt YXA0X2xhX0xJQkFERCAgPSAtbGtkZXNhc2wgJChMSUJfS0lPKSAkKFNBU0wyX0xJQlMpCiBraW9f aW1hcDRfbGFfTERGTEFHUyA9ICQoYWxsX2xpYnJhcmllcykgJChLREVfUlBBVEgpIC1tb2R1bGUg JChLREVfUExVR0lOKQogCiBub2luc3RfSEVBREVSUyA9IGltYXA0LmgKSW5kZXg6IGtpb3NsYXZl cy9pbWFwNC9jb25maWd1cmUuaW4uaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUva2RlL2tk ZXBpbS9raW9zbGF2ZXMvaW1hcDQvY29uZmlndXJlLmluLmluLHYKcmV0cmlldmluZyByZXZpc2lv biAxLjEKZGlmZiAtdSAtcCAtdSAtcjEuMSBjb25maWd1cmUuaW4uaW4KLS0tIGtpb3NsYXZlcy9p bWFwNC9jb25maWd1cmUuaW4uaW4JMTMgQXByIDIwMDQgMTY6Mjg6MTMgLTAwMDAJMS4xCisrKyBr aW9zbGF2ZXMvaW1hcDQvY29uZmlndXJlLmluLmluCTI5IEF1ZyAyMDA0IDE0OjUzOjI0IC0wMDAw CkBAIC0xICsxLDE0IEBACiBLREVfQ0hFQ0tfU1NMCisKK3Nhc2wyX2hlYWRlcj0ibm8iCitTQVNM Ml9MSUJTPSIiCisKK0FDX0NIRUNLX0hFQURFUlMoW3Nhc2wvc2FzbC5oXSwgc2FzbDJfaGVhZGVy PSJ5ZXMiKQoraWYgdGVzdCAiJHNhc2wyX2hlYWRlciIgPSAieWVzIiA7IHRoZW4KKyAgQUNfQ0hF Q0tfTElCKHNhc2wyLCBzYXNsX2NsaWVudF9pbml0LCBTQVNMMl9MSUJTPSItbHNhc2wyIikKK2Zp CisKK2lmIHRlc3QgIngkU0FTTDJfTElCUyIgIT0gIngiIDsgdGhlbgorICBBQ19ERUZJTkVfVU5R VU9URUQoSEFWRV9MSUJTQVNMMiwgMSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBjeXJ1cy1zYXNsMiBs aWJyYXJpZXNdKQorZmkKK0FDX1NVQlNUKFNBU0wyX0xJQlMpCkluZGV4OiBraW9zbGF2ZXMvaW1h cDQvaW1hcDQuY2MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUva2RlL2tkZXBpbS9raW9zbGF2 ZXMvaW1hcDQvaW1hcDQuY2MsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTg4CmRpZmYgLXUgLXAg LXUgLXIxLjE4OCBpbWFwNC5jYwotLS0ga2lvc2xhdmVzL2ltYXA0L2ltYXA0LmNjCTIwIEF1ZyAy MDA0IDE1OjQ0OjM3IC0wMDAwCTEuMTg4CisrKyBraW9zbGF2ZXMvaW1hcDQvaW1hcDQuY2MJMjkg QXVnIDIwMDQgMTQ6NTM6MjQgLTAwMDAKQEAgLTYyLDYgKzYyLDEyIEBACiAjaW5jbHVkZSA8c3lz L3R5cGVzLmg+CiAjaW5jbHVkZSA8c3lzL3dhaXQuaD4KIAorI2lmZGVmIEhBVkVfTElCU0FTTDIK K2V4dGVybiAiQyIgeworI2luY2x1ZGUgPHNhc2wvc2FzbC5oPgorfQorI2VuZGlmCisKICNpbmNs dWRlIDxxYnVmZmVyLmg+CiAjaW5jbHVkZSA8cWRhdGV0aW1lLmg+CiAjaW5jbHVkZSA8a3Byb3Rv Y29sbWFuYWdlci5oPgpAQCAtODUsNiArOTEsMjAgQEAgZXh0ZXJuICJDIgogICBpbnQga2RlbWFp biAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KTsKIH0KIAorI2lmZGVmIEhBVkVfTElCU0FTTDIKK3N0 YXRpYyBzYXNsX2NhbGxiYWNrX3QgY2FsbGJhY2tzW10gPSB7CisgICAgeyBTQVNMX0NCX0VDSE9Q Uk9NUFQsIE5VTEwsIE5VTEwgfSwKKyAgICB7IFNBU0xfQ0JfTk9FQ0hPUFJPTVBULCBOVUxMLCBO VUxMIH0sCisgICAgeyBTQVNMX0NCX0dFVFJFQUxNLCBOVUxMLCBOVUxMIH0sCisgICAgeyBTQVNM X0NCX1VTRVIsIE5VTEwsIE5VTEwgfSwKKyAgICB7IFNBU0xfQ0JfQVVUSE5BTUUsIE5VTEwsIE5V TEwgfSwKKyAgICB7IFNBU0xfQ0JfUEFTUywgTlVMTCwgTlVMTCB9LAorICAgIHsgU0FTTF9DQl9H RVRPUFQsIE5VTEwsIE5VTEwgfSwKKyAgICB7IFNBU0xfQ0JfQ0FOT05fVVNFUiwgTlVMTCwgTlVM TCB9LAorICAgIHsgU0FTTF9DQl9MSVNUX0VORCwgTlVMTCwgTlVMTCB9Cit9OworI2VuZGlmCisK IGludAoga2RlbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogewpAQCAtOTcsNiArMTE3LDEz IEBAIGtkZW1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICA6OmV4aXQgKC0xKTsKICAg fQogCisjaWZkZWYgSEFWRV9MSUJTQVNMMgorICBpZiAoIHNhc2xfY2xpZW50X2luaXQoIGNhbGxi YWNrcyApICE9IFNBU0xfT0sgKSB7CisgICAgZnByaW50ZihzdGRlcnIsICJTQVNMIGxpYnJhcnkg aW5pdGlhbGl6YXRpb24gZmFpbGVkIVxuIik7CisgICAgOjpleGl0ICgtMSk7CisgIH0KKyNlbmRp ZgorCiAgIC8vc2V0IGRlYnVnIGhhbmRsZXIKIAogICBJTUFQNFByb3RvY29sICpzbGF2ZTsKQEAg LTEwOSw2ICsxMzYsMTAgQEAga2RlbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICBzbGF2 ZS0+ZGlzcGF0Y2hMb29wICgpOwogICBkZWxldGUgc2xhdmU7CiAKKyNpZmRlZiBIQVZFX0xJQlNB U0wyCisgIHNhc2xfZG9uZSgpOworI2VuZGlmCisgIAogICByZXR1cm4gMDsKIH0KIApAQCAtMTYz MSw2ICsxNjYyLDcgQEAgYm9vbCBJTUFQNFByb3RvY29sOjptYWtlTG9naW4gKCkKIAogICAgIG15 QXV0aCA9IG1ldGFEYXRhKCJhdXRoIik7CiAgICAgbXlUTFMgID0gbWV0YURhdGEoInRscyIpOwor ICAgIGtkRGVidWcoNzExNikgPDwgIm15QXV0aDogIiA8PCBteUF1dGggPDwgZW5kbDsKIAogICAg IGltYXBDb21tYW5kICpjbWQ7CiAKQEAgLTE3MjcsOSArMTc1OSwxMyBAQCBib29sIElNQVA0UHJv dG9jb2w6Om1ha2VMb2dpbiAoKQogICAgIH0KICAgICBlbHNlCiAgICAgewotICAgICAgaWYgKCFj bGllbnRBdXRoZW50aWNhdGUgKG15VXNlciwgbXlQYXNzLCBteUF1dGgsIG15U1NMLCByZXN1bHRJ bmZvKSkKKyNpZmRlZiBIQVZFX0xJQlNBU0wyICAgICAgCisgICAgICBpZiAoIWNsaWVudEF1dGhl bnRpY2F0ZSAobXlVc2VyLCBteVBhc3MsIG15SG9zdCwgbXlBdXRoLCBteVNTTCwgcmVzdWx0SW5m bykpCiAgICAgICAgIGVycm9yKEtJTzo6RVJSX0NPVUxEX05PVF9MT0dJTiwgaTE4bigiVW5hYmxl IHRvIGF1dGhlbnRpY2F0ZSB2aWEgJTEuXG4iCiAgICAgICAgICJUaGUgc2VydmVyIHJlcGxpZWQ6 XG4lMiIpLmFyZyhteUF1dGgpLmFyZyhyZXN1bHRJbmZvKSk7CisjZWxzZQorICAgICAgZXJyb3Io S0lPOjpFUlJfQ09VTERfTk9UX0xPR0lOLCBpMThuKCJTQVNMIGF1dGhlbnRpY2F0aW9uIGlzIG5v dCBjb21waWxlZCBpbnRvIGtpb19pbWFwNC4iKSk7CisjZW5kaWYgICAgICAgIAogICAgIH0KICAg fQogCkluZGV4OiBraW9zbGF2ZXMvaW1hcDQvaW1hcHBhcnNlci5jYwo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm aWxlOiAvaG9tZS9rZGUva2RlcGltL2tpb3NsYXZlcy9pbWFwNC9pbWFwcGFyc2VyLmNjLHYKcmV0 cmlldmluZyByZXZpc2lvbiAxLjg3CmRpZmYgLXUgLXAgLXUgLXIxLjg3IGltYXBwYXJzZXIuY2MK LS0tIGtpb3NsYXZlcy9pbWFwNC9pbWFwcGFyc2VyLmNjCTEyIEF1ZyAyMDA0IDIwOjIxOjE2IC0w MDAwCTEuODcKKysrIGtpb3NsYXZlcy9pbWFwNC9pbWFwcGFyc2VyLmNjCTI5IEF1ZyAyMDA0IDE0 OjUzOjI3IC0wMDAwCkBAIC0yMiw2ICsyMiwxMCBAQAogICoKICAqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKKyNp ZmRlZiBIQVZFX0NPTkZJR19ICisjaW5jbHVkZSA8Y29uZmlnLmg+CisjZW5kaWYKKwogI2luY2x1 ZGUgInJmY2RlY29kZXIuaCIKIAogI2luY2x1ZGUgImltYXBwYXJzZXIuaCIKQEAgLTM3LDYgKzQx LDEyIEBACiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAKKyNpZmRl ZiBIQVZFX0xJQlNBU0wyCitleHRlcm4gIkMiIHsKKyNpbmNsdWRlIDxzYXNsL3Nhc2wuaD4KK30K KyNlbmRpZgorCiAjaW5jbHVkZSA8cXJlZ2V4cC5oPgogI2luY2x1ZGUgPHFidWZmZXIuaD4KICNp bmNsdWRlIDxxc3RyaW5nLmg+CkBAIC00NSw3ICs1NSw2IEBACiAjaW5jbHVkZSA8a2RlYnVnLmg+ CiAjaW5jbHVkZSA8a21kY29kZWMuaD4KICNpbmNsdWRlIDxrdXJsLmg+Ci0jaW5jbHVkZSA8a2lv L2tkZXNhc2wuaD4KIAogaW1hcFBhcnNlcjo6aW1hcFBhcnNlciAoKQogewpAQCAtMTM2LDQyICsx NDUsMTIwIEBAIGltYXBQYXJzZXI6OmNsaWVudExvZ2luIChjb25zdCBRU3RyaW5nICYKICAgcmV0 dXJuIHJldFZhbDsKIH0KIAorI2lmZGVmIEhBVkVfTElCU0FTTDIKK3N0YXRpYyB2b2lkIHNhc2xf aW50ZXJhY3QoIGNvbnN0IFFTdHJpbmcgJmFVc2VyLCBjb25zdCBRU3RyaW5nICZhUGFzcywgdm9p ZCAqaW4gKQoreworICBrZERlYnVnKDcxMTYpIDw8ICJzYXNsX2ludGVyYWN0IiA8PCBlbmRsOwor ICBzYXNsX2ludGVyYWN0X3QgKmludGVyYWN0ID0gKCBzYXNsX2ludGVyYWN0X3QgKiApIGluOwor CisgIHdoaWxlKCBpbnRlcmFjdC0+aWQgIT0gU0FTTF9DQl9MSVNUX0VORCApIHsKKyAgICBrZERl YnVnKDcxMTYpIDw8ICJTQVNMX0lOVEVSQUNUIGlkOiAiIDw8IGludGVyYWN0LT5pZCA8PCBlbmRs OworICAgIHN3aXRjaCggaW50ZXJhY3QtPmlkICkgeworICAgICAgY2FzZSBTQVNMX0NCX0FVVEhO QU1FOgorICAgICAgICBrZERlYnVnKDcxMTYpIDw8ICJTQVNMX0NCX0FVVEhOQU1FOiAnIiA8PCBh VXNlciA8PCAiJyIgPDwgZW5kbDsKKyAgICAgICAgaW50ZXJhY3QtPnJlc3VsdCA9IHN0cmR1cCgg YVVzZXIudXRmOCgpICk7CisgICAgICAgIGludGVyYWN0LT5sZW4gPSBzdHJsZW4oIChjb25zdCBj aGFyICopIGludGVyYWN0LT5yZXN1bHQgKTsKKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlIFNB U0xfQ0JfUEFTUzoKKyAgICAgICAga2REZWJ1Zyg3MTE2KSA8PCAiU0FTTF9DQl9QQVNTOiBbaGlk ZGVuXSAiIDw8IGVuZGw7CisgICAgICAgIGludGVyYWN0LT5yZXN1bHQgPSBzdHJkdXAoIGFQYXNz LnV0ZjgoKSApOworICAgICAgICBpbnRlcmFjdC0+bGVuID0gc3RybGVuKCAoY29uc3QgY2hhciAq KSBpbnRlcmFjdC0+cmVzdWx0ICk7CisgICAgICAgIGJyZWFrOworICAgICAgZGVmYXVsdDoKKyAg ICAgICAgaW50ZXJhY3QtPnJlc3VsdCA9IE5VTEw7IGludGVyYWN0LT5sZW4gPSAwOworICAgICAg ICBicmVhazsKKyAgICB9CisgICAgaW50ZXJhY3QrKzsKKyAgfQorfQorI2VuZGlmCiAKIGJvb2wK LWltYXBQYXJzZXI6OmNsaWVudEF1dGhlbnRpY2F0ZSAoY29uc3QgUVN0cmluZyAmIGFVc2VyLCBj b25zdCBRU3RyaW5nICYgYVBhc3MsCi0gIGNvbnN0IFFTdHJpbmcgJiBhQXV0aCwgYm9vbCBpc1NT TCwgUVN0cmluZyAmIHJlc3VsdEluZm8pCitpbWFwUGFyc2VyOjpjbGllbnRBdXRoZW50aWNhdGUg KGNvbnN0IFFTdHJpbmcgJiBhVXNlciwgY29uc3QgUVN0cmluZyAmIGFQYXNzLCAKKyAgY29uc3Qg UVN0cmluZyAmIGFGUUROLCBjb25zdCBRU3RyaW5nICYgYUF1dGgsIGJvb2wgaXNTU0wsIFFTdHJp bmcgJiByZXN1bHRJbmZvKQogewotICBpbWFwQ29tbWFuZCAqY21kOwogICBib29sIHJldFZhbCA9 IGZhbHNlOworI2lmZGVmIEhBVkVfTElCU0FTTDIKKyAgaW50IHJlc3VsdDsKKyAgc2FzbF9jb25u X3QgKmNvbm4gPSBOVUxMOworICBzYXNsX2ludGVyYWN0X3QgKmNsaWVudF9pbnRlcmFjdCA9IE5V TEw7CisgIGNvbnN0IGNoYXIgKm91dCA9IE5VTEw7CisgIHVpbnQgb3V0bGVuOworICBjb25zdCBj aGFyICptZWNodXNpbmcgPSBOVUxMOworICAgIAorICBrZERlYnVnKDcxMTYpIDw8ICJhQXV0aDog IiA8PCBhQXV0aCA8PCAiIEZRRE46ICIgPDwgYUZRRE4gPDwgIiBpc1NTTDogIiA8PCBpc1NTTCA8 PCBlbmRsOwogCiAgIC8vIHNlZSBpZiBzZXJ2ZXIgc3VwcG9ydHMgdGhpcyBhdXRoZW50aWNhdG9y CiAgIGlmICghaGFzQ2FwYWJpbGl0eSAoIkFVVEg9IiArIGFBdXRoKSkKICAgICByZXR1cm4gZmFs c2U7CiAKKy8vICByZXN1bHQgPSBzYXNsX2NsaWVudF9uZXcoIGlzU1NMID8gImltYXBzIiA6ICJp bWFwIiwKKyAgcmVzdWx0ID0gc2FzbF9jbGllbnRfbmV3KCAiaW1hcCIsIC8qIEZJWE1FOiB3aXRo IGN5cnVzLWltYXBkLCBldmVuIGltYXBzJyBkaWdlc3QtdXJpIAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbXVzdCBiZSAnaW1hcCcuIEkgZG9uJ3Qga25vdyBpZiBpdCdz IGdvb2Qgb3IgYmFkLiAqLworICAgICAgICAgICAgICAgICAgICAgICBhRlFETi5sYXRpbjEoKSwK KyAgICAgICAgICAgICAgICAgICAgICAgMCwgMCwgTlVMTCwgMCwgJmNvbm4gKTsKKworICBpZiAo IHJlc3VsdCAhPSBTQVNMX09LICkgeworICAgIGtkRGVidWcoNzExNikgPDwgInNhc2xfY2xpZW50 X25ldyBmYWlsZWQgd2l0aDogIiA8PCByZXN1bHQgPDwgZW5kbDsKKyAgICByZXN1bHRJbmZvID0g UVN0cmluZzo6ZnJvbVV0ZjgoIHNhc2xfZXJyZGV0YWlsKCBjb25uICkgKTsKKyAgICByZXR1cm4g ZmFsc2U7CisgIH0KKworICBkbyB7CisgICAgcmVzdWx0ID0gc2FzbF9jbGllbnRfc3RhcnQoY29u biwgYUF1dGgubGF0aW4xKCksICZjbGllbnRfaW50ZXJhY3QsCisgICAgICAgICAgICAgICAgICAg ICAgIDAsICZvdXRsZW4sICZtZWNodXNpbmcpOworCisgICAgaWYgKHJlc3VsdCA9PSBTQVNMX0lO VEVSQUNUKSBzYXNsX2ludGVyYWN0KCBhVXNlciwgYVBhc3MsIGNsaWVudF9pbnRlcmFjdCApOwor ICB9IHdoaWxlICggcmVzdWx0ID09IFNBU0xfSU5URVJBQ1QgKTsKKworICBpZiAoIHJlc3VsdCAh PSBTQVNMX0NPTlRJTlVFICYmIHJlc3VsdCAhPSBTQVNMX09LICkgeworICAgIGtkRGVidWcoNzEx NikgPDwgInNhc2xfY2xpZW50X3N0YXJ0IGZhaWxlZCB3aXRoOiAiIDw8IHJlc3VsdCA8PCBlbmRs OworICAgIHJlc3VsdEluZm8gPSBRU3RyaW5nOjpmcm9tVXRmOCggc2FzbF9lcnJkZXRhaWwoIGNv bm4gKSApOworICAgIHNhc2xfZGlzcG9zZSggJmNvbm4gKTsKKyAgICByZXR1cm4gZmFsc2U7Cisg IH0KKyAgaW1hcENvbW1hbmQgKmNtZDsKKyAgCiAgIC8vIHRoZW4gbGV0cyB0cnkgaXQKICAgY21k ID0gc2VuZENvbW1hbmQgKG5ldyBpbWFwQ29tbWFuZCAoIkFVVEhFTlRJQ0FURSIsIGFBdXRoKSk7 Ci0gIEtERVNhc2wgc2FzbChhVXNlciwgYVBhc3MsIGlzU1NMID8gImltYXBzIiA6ICJpbWFwIik7 Ci0gIHNhc2wuc2V0TWV0aG9kKGFBdXRoLmxhdGluMSgpKTsKKwogICB3aGlsZSAoIWNtZC0+aXND b21wbGV0ZSAoKSkKICAgewogICAgIC8vcmVhZCB0aGUgbmV4dCBsaW5lCiAgICAgd2hpbGUgKHBh cnNlTG9vcCgpID09IDApOwogCi0gICAgaWYgKCFjb250aW51YXRpb24uaXNFbXB0eSAoKSkKKyAg ICBpZiAoIWNvbnRpbnVhdGlvbi5pc0VtcHR5KCkpCiAgICAgewotICAgICAgUUJ5dGVBcnJheSBj aGFsbGVuZ2U7Ci0gICAgICBjaGFsbGVuZ2UuZHVwbGljYXRlKGNvbnRpbnVhdGlvbi5kYXRhKCkg KyAyLCBjb250aW51YXRpb24uc2l6ZSgpIC0gMik7Ci0gICAgICBjaGFsbGVuZ2UucmVzaXplKGNo YWxsZW5nZS5zaXplKCkgLSAyKTsgLy8gdHJpbSBDUkxGCi0KLSAgICAgIGlmIChhQXV0aC51cHBl ciAoKSA9PSAiQU5PTllNT1VTIikKLSAgICAgIHsKLSAgICAgICAgLy8gd2Ugc2hvdWxkIHByZXNl bnQgdGhlIGNoYWxsZW5nZSB0byB0aGUgdXNlciBhbmQgYXNrCi0gICAgICAgIC8vIGhpbSBmb3Ig YSBtYWlsLWFkZHJlc3Mgb3Igd2hhdCBldmVyCi0gICAgICAgIGNoYWxsZW5nZSA9IEtDb2RlY3M6 OmJhc2U2NEVuY29kZShhVXNlci51dGY4KCkpOwotICAgICAgfSBlbHNlIHsKLSAgICAgICAgY2hh bGxlbmdlID0gc2FzbC5nZXRSZXNwb25zZShjaGFsbGVuZ2UpOwotICAgICAgfQotCisgICAgICBR Qnl0ZUFycmF5IGNoYWxsZW5nZSwgdG1wOworLy8gICAgICBrZERlYnVnKDcxMTYpIDw8ICJTOiAi IDw8IFFDU3RyaW5nKGNvbnRpbnVhdGlvbi5kYXRhKCksY29udGludWF0aW9uLnNpemUoKSsxKSA8 PCBlbmRsOworICAgICAgaWYgKCBjb250aW51YXRpb24uc2l6ZSgpID4gNCApIHsKKyAgICAgICAg dG1wLnNldFJhd0RhdGEoIGNvbnRpbnVhdGlvbi5kYXRhKCkgKyAyLCBjb250aW51YXRpb24uc2l6 ZSgpIC0gNCApOworICAgICAgICBLQ29kZWNzOjpiYXNlNjREZWNvZGUoIHRtcCwgY2hhbGxlbmdl ICk7CisvLyAgICAgICAga2REZWJ1Zyg3MTE2KSA8PCAiUy0xOiAiIDw8IFFDU3RyaW5nKGNoYWxs ZW5nZS5kYXRhKCksY2hhbGxlbmdlLnNpemUoKSsxKSA8PCBlbmRsOworICAgICAgICB0bXAucmVz ZXRSYXdEYXRhKCBjb250aW51YXRpb24uZGF0YSgpICsgMiwgY29udGludWF0aW9uLnNpemUoKSAt IDQgKTsKKyAgICAgIH0KKworICAgICAgZG8geworICAgICAgICByZXN1bHQgPSBzYXNsX2NsaWVu dF9zdGVwKGNvbm4sIGNoYWxsZW5nZS5pc0VtcHR5KCkgPyAwIDogY2hhbGxlbmdlLmRhdGEoKSwg CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbGxlbmdlLnNpemUoKSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmY2xpZW50X2ludGVyYWN0LCAgCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm91dCwgJm91dGxlbik7CisKKyAgICAgICAg aWYgKCByZXN1bHQgPT0gU0FTTF9JTlRFUkFDVCApIHNhc2xfaW50ZXJhY3QoIGFVc2VyLCBhUGFz cywgY2xpZW50X2ludGVyYWN0ICk7CisgICAgICB9IHdoaWxlICggcmVzdWx0ID09IFNBU0xfSU5U RVJBQ1QgKTsKKyAgICAgIAorICAgICAgaWYgKCByZXN1bHQgIT0gU0FTTF9DT05USU5VRSAmJiBy ZXN1bHQgIT0gU0FTTF9PSyApIHsKKyAgICAgICAga2REZWJ1Zyg3MTE2KSA8PCAic2FzbF9jbGll bnRfc3RlcCBmYWlsZWQgd2l0aDogIiA8PCByZXN1bHQgPDwgZW5kbDsKKyAgICAgICAgcmVzdWx0 SW5mbyA9IFFTdHJpbmc6OmZyb21VdGY4KCBzYXNsX2VycmRldGFpbCggY29ubiApICk7CisgICAg ICAgIHNhc2xfZGlzcG9zZSggJmNvbm4gKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg fQorICAgICAgCisgICAgICB0bXAuc2V0UmF3RGF0YSggb3V0LCBvdXRsZW4gKTsKKy8vICAgICAg a2REZWJ1Zyg3MTE2KSA8PCAiQy0xOiAiIDw8IFFDU3RyaW5nKHRtcC5kYXRhKCksdG1wLnNpemUo KSsxKSA8PCBlbmRsOworICAgICAgS0NvZGVjczo6YmFzZTY0RW5jb2RlKCB0bXAsIGNoYWxsZW5n ZSApOworICAgICAgdG1wLnJlc2V0UmF3RGF0YSggb3V0LCBvdXRsZW4gKTsKKy8vICAgICAga2RE ZWJ1Zyg3MTE2KSA8PCAiQzogIiA8PCBRQ1N0cmluZyhjaGFsbGVuZ2UuZGF0YSgpLGNoYWxsZW5n ZS5zaXplKCkrMSkgPDwgZW5kbDsKICAgICAgIHBhcnNlV3JpdGVMaW5lIChjaGFsbGVuZ2UpOwog ICAgICAgY29udGludWF0aW9uLnJlc2l6ZSgwKTsKICAgICB9CkBAIC0xODUsNiArMjcyLDggQEAg aW1hcFBhcnNlcjo6Y2xpZW50QXV0aGVudGljYXRlIChjb25zdCBRUwogICByZXN1bHRJbmZvID0g Y21kLT5yZXN1bHRJbmZvKCk7CiAgIGNvbXBsZXRlUXVldWUucmVtb3ZlUmVmIChjbWQpOwogCisg IHNhc2xfZGlzcG9zZSggJmNvbm4gKTsgLy93ZSBkb24ndCB1c2Ugc2FzbF9lbi9kZWNvZGUoKSwg c28gaXQncyBzYWZlIHRvIGRpc3Bvc2UgdGhlIGNvbm5lY3Rpb24uCisjZW5kaWYgLy9IQVZFX0xJ QlNBU0wyCiAgIHJldHVybiByZXRWYWw7CiB9CiAKSW5kZXg6IGtpb3NsYXZlcy9pbWFwNC9pbWFw cGFyc2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUva2RlL2tkZXBpbS9raW9zbGF2ZXMv aW1hcDQvaW1hcHBhcnNlci5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjM3CmRpZmYgLXUgLXAg LXUgLXIxLjM3IGltYXBwYXJzZXIuaAotLS0ga2lvc2xhdmVzL2ltYXA0L2ltYXBwYXJzZXIuaAky MSBBcHIgMjAwNCAyMToxODoyNSAtMDAwMAkxLjM3CisrKyBraW9zbGF2ZXMvaW1hcDQvaW1hcHBh cnNlci5oCTI5IEF1ZyAyMDA0IDE0OjUzOjI3IC0wMDAwCkBAIC0yMzIsNyArMjMyLDcgQEAgcHVi bGljOgogICAgKiBAcmV0dXJuIHN1Y2Nlc3Mgb3IgZmFpbHVyZQogICAgKi8KICAgYm9vbCBjbGll bnRBdXRoZW50aWNhdGUgKGNvbnN0IFFTdHJpbmcgJiBhVXNlciwgY29uc3QgUVN0cmluZyAmIGFQ YXNzLAotICAgICAgICAgICAgICAgY29uc3QgUVN0cmluZyAmIGFBdXRoLCBib29sIGlzU1NMLCBR U3RyaW5nICYgcmVzdWx0SW5mbyk7CisgICAgY29uc3QgUVN0cmluZyAmIGFGUUROLCBjb25zdCBR U3RyaW5nICYgYUF1dGgsIGJvb2wgaXNTU0wsIFFTdHJpbmcgJiByZXN1bHRJbmZvKTsKIAogICAv KioKICAgICogbWFpbiBsb29wIGZvciB0aGUgcGFyc2VyCkluZGV4OiBrbWFpbC9hY2NvdW50ZGlh bG9nLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9rZGUva2RlcGltL2ttYWlsL2FjY291 bnRkaWFsb2cuY3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE1NQpkaWZmIC11IC1wIC11IC1y MS4xNTUgYWNjb3VudGRpYWxvZy5jcHAKLS0tIGttYWlsL2FjY291bnRkaWFsb2cuY3BwCTMgQXVn IDIwMDQgMjE6Mjc6MjEgLTAwMDAJMS4xNTUKKysrIGttYWlsL2FjY291bnRkaWFsb2cuY3BwCTI5 IEF1ZyAyMDA0IDE0OjUzOjM2IC0wMDAwCkBAIC05NTQsNiArOTU0LDcgQEAgdm9pZCBBY2NvdW50 RGlhbG9nOjptYWtlSW1hcEFjY291bnRQYWdlKAogICAgICBtSW1hcC5hdXRoR3JvdXAgKTsKICAg bUltYXAuYXV0aENyYW1NZDUgPSBuZXcgUVJhZGlvQnV0dG9uKCBpMThuKCJDUkFNLU1EJjUiKSwg bUltYXAuYXV0aEdyb3VwICk7CiAgIG1JbWFwLmF1dGhEaWdlc3RNZDUgPSBuZXcgUVJhZGlvQnV0 dG9uKCBpMThuKCImRElHRVNULU1ENSIpLCBtSW1hcC5hdXRoR3JvdXAgKTsKKyAgbUltYXAuYXV0 aEdTU0FQSSA9IG5ldyBRUmFkaW9CdXR0b24oIGkxOG4oIiZHU1NBUEkiKSwgbUltYXAuYXV0aEdy b3VwICk7CiAgIG1JbWFwLmF1dGhBbm9ueW1vdXMgPSBuZXcgUVJhZGlvQnV0dG9uKCBpMThuKCIm QW5vbnltb3VzIiksIG1JbWFwLmF1dGhHcm91cCApOwogICB2bGF5LT5hZGRXaWRnZXQoIG1JbWFw LmF1dGhHcm91cCApOwogCkBAIC0xMTA2LDYgKzExMDcsOCBAQCB2b2lkIEFjY291bnREaWFsb2c6 OnNldHVwU2V0dGluZ3MoKQogICAgICAgbUltYXAuYXV0aENyYW1NZDUtPnNldENoZWNrZWQoIFRS VUUgKTsKICAgICBlbHNlIGlmIChhaS5hdXRoKCkgPT0gIkRJR0VTVC1NRDUiKQogICAgICAgbUlt YXAuYXV0aERpZ2VzdE1kNS0+c2V0Q2hlY2tlZCggVFJVRSApOworICAgIGVsc2UgaWYgKGFpLmF1 dGgoKSA9PSAiR1NTQVBJIikKKyAgICAgIG1JbWFwLmF1dGhHU1NBUEktPnNldENoZWNrZWQoIFRS VUUgKTsKICAgICBlbHNlIGlmIChhaS5hdXRoKCkgPT0gIkFOT05ZTU9VUyIpCiAgICAgICBtSW1h cC5hdXRoQW5vbnltb3VzLT5zZXRDaGVja2VkKCBUUlVFICk7CiAgICAgZWxzZSBpZiAoYWkuYXV0 aCgpID09ICJQTEFJTiIpCkBAIC0xMTU2LDYgKzExNTksOCBAQCB2b2lkIEFjY291bnREaWFsb2c6 OnNldHVwU2V0dGluZ3MoKQogICAgICAgbUltYXAuYXV0aENyYW1NZDUtPnNldENoZWNrZWQoIFRS VUUgKTsKICAgICBlbHNlIGlmIChhaS5hdXRoKCkgPT0gIkRJR0VTVC1NRDUiKQogICAgICAgbUlt YXAuYXV0aERpZ2VzdE1kNS0+c2V0Q2hlY2tlZCggVFJVRSApOworICAgIGVsc2UgaWYgKGFpLmF1 dGgoKSA9PSAiR1NTQVBJIikKKyAgICAgIG1JbWFwLmF1dGhHU1NBUEktPnNldENoZWNrZWQoIFRS VUUgKTsKICAgICBlbHNlIGlmIChhaS5hdXRoKCkgPT0gIkFOT05ZTU9VUyIpCiAgICAgICBtSW1h cC5hdXRoQW5vbnltb3VzLT5zZXRDaGVja2VkKCBUUlVFICk7CiAgICAgZWxzZSBpZiAoYWkuYXV0 aCgpID09ICJQTEFJTiIpCkBAIC0xNDcwLDYgKzE0NzUsOCBAQCB1bnNpZ25lZCBpbnQgQWNjb3Vu dERpYWxvZzo6aW1hcENhcGFiaWxpCiAgICAgICBjYXBhIHw9IENSQU1fTUQ1OwogICAgIGVsc2Ug aWYgKCBjdXIgPT0gIkFVVEg9RElHRVNULU1ENSIgKQogICAgICAgY2FwYSB8PSBEaWdlc3RfTUQ1 OworICAgIGVsc2UgaWYgKCBjdXIgPT0gIkFVVEg9R1NTQVBJIiApCisgICAgICBjYXBhIHw9IEdT U0FQSTsKICAgICBlbHNlIGlmICggY3VyID09ICJBVVRIPUFOT05ZTU9VUyIgKQogICAgICAgY2Fw YSB8PSBBbm9ueW1vdXM7CiAgICAgZWxzZSBpZiAoIGN1ciA9PSAiU1RBUlRUTFMiICkKQEAgLTE1 MDgsNiArMTUxNSw3IEBAIHZvaWQgQWNjb3VudERpYWxvZzo6ZW5hYmxlSW1hcEF1dGhNZXRob2QK ICAgbUltYXAuYXV0aExvZ2luLT5zZXRFbmFibGVkKCBjYXBhICYgTG9naW4gKTsKICAgbUltYXAu YXV0aENyYW1NZDUtPnNldEVuYWJsZWQoIGNhcGEgJiBDUkFNX01ENSApOwogICBtSW1hcC5hdXRo RGlnZXN0TWQ1LT5zZXRFbmFibGVkKCBjYXBhICYgRGlnZXN0X01ENSApOworICBtSW1hcC5hdXRo R1NTQVBJLT5zZXRFbmFibGVkKCBjYXBhICYgR1NTQVBJICk7CiAgIG1JbWFwLmF1dGhBbm9ueW1v dXMtPnNldEVuYWJsZWQoIGNhcGEgJiBBbm9ueW1vdXMgKTsKIH0KIApAQCAtMTY0Nyw2ICsxNjU1 LDggQEAgdm9pZCBBY2NvdW50RGlhbG9nOjpzYXZlU2V0dGluZ3MoKQogICAgICAgZXBhLnNldEF1 dGgoIkNSQU0tTUQ1Iik7CiAgICAgZWxzZSBpZiAobUltYXAuYXV0aERpZ2VzdE1kNS0+aXNDaGVj a2VkKCkpCiAgICAgICBlcGEuc2V0QXV0aCgiRElHRVNULU1ENSIpOworICAgIGVsc2UgaWYgKG1J bWFwLmF1dGhHU1NBUEktPmlzQ2hlY2tlZCgpKQorICAgICAgZXBhLnNldEF1dGgoIkdTU0FQSSIp OwogICAgIGVsc2UgaWYgKG1JbWFwLmF1dGhBbm9ueW1vdXMtPmlzQ2hlY2tlZCgpKQogICAgICAg ZXBhLnNldEF1dGgoIkFOT05ZTU9VUyIpOwogICAgIGVsc2UgaWYgKG1JbWFwLmF1dGhMb2dpbi0+ aXNDaGVja2VkKCkpCkBAIC0xNjk4LDYgKzE3MDgsOCBAQCB2b2lkIEFjY291bnREaWFsb2c6OnNh dmVTZXR0aW5ncygpCiAgICAgICBlcGEuc2V0QXV0aCgiQ1JBTS1NRDUiKTsKICAgICBlbHNlIGlm IChtSW1hcC5hdXRoRGlnZXN0TWQ1LT5pc0NoZWNrZWQoKSkKICAgICAgIGVwYS5zZXRBdXRoKCJE SUdFU1QtTUQ1Iik7CisgICAgZWxzZSBpZiAobUltYXAuYXV0aEdTU0FQSS0+aXNDaGVja2VkKCkp CisgICAgICBlcGEuc2V0QXV0aCgiR1NTQVBJIik7CiAgICAgZWxzZSBpZiAobUltYXAuYXV0aEFu b255bW91cy0+aXNDaGVja2VkKCkpCiAgICAgICBlcGEuc2V0QXV0aCgiQU5PTllNT1VTIik7CiAg ICAgZWxzZSBpZiAobUltYXAuYXV0aExvZ2luLT5pc0NoZWNrZWQoKSkKSW5kZXg6IGttYWlsL2Fj Y291bnRkaWFsb2cuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9rZGUva2RlcGltL2ttYWls L2FjY291bnRkaWFsb2cuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40NgpkaWZmIC11IC1wIC11 IC1yMS40NiBhY2NvdW50ZGlhbG9nLmgKLS0tIGttYWlsL2FjY291bnRkaWFsb2cuaAkyMyBNYXkg MjAwNCAyMjowNDozMSAtMDAwMAkxLjQ2CisrKyBrbWFpbC9hY2NvdW50ZGlhbG9nLmgJMjkgQXVn IDIwMDQgMTQ6NTM6MzYgLTAwMDAKQEAgLTE2OSw2ICsxNjksNyBAQCBjbGFzcyBBY2NvdW50RGlh bG9nIDogcHVibGljIEtEaWFsb2dCYXNlCiAgICAgICBRUmFkaW9CdXR0b24gKmF1dGhMb2dpbjsK ICAgICAgIFFSYWRpb0J1dHRvbiAqYXV0aENyYW1NZDU7CiAgICAgICBRUmFkaW9CdXR0b24gKmF1 dGhEaWdlc3RNZDU7CisgICAgICBRUmFkaW9CdXR0b24gKmF1dGhHU1NBUEk7CiAgICAgICBRUmFk aW9CdXR0b24gKmF1dGhBbm9ueW1vdXM7CiAgICAgICBRUHVzaEJ1dHRvbiAgKmNoZWNrQ2FwYWJp bGl0aWVzOwogICAgICAgS01Gb2xkZXJDb21ib0JveCAgKnRyYXNoQ29tYm87CkBAIC0yMzcsNiAr MjM4LDcgQEAgY2xhc3MgQWNjb3VudERpYWxvZyA6IHB1YmxpYyBLRGlhbG9nQmFzZQogICAgICAg VUlETCAgICAgICA9IDI1NiwKICAgICAgIFNUTFMgICAgICAgPSA1MTIsIC8vIFRMUyBmb3IgUE9Q CiAgICAgICBTVEFSVFRMUyAgID0gNTEyLCAvLyBUTFMgZm9yIElNQVAKKyAgICAgIEdTU0FQSSAg ICAgPSAxMDI0LAogICAgICAgQWxsQ2FwYSAgICA9IDB4ZmZmZmZmZmYKICAgICB9OwogICAgIHVu c2lnbmVkIGludCBtQ3VyQ2FwYTsK --Boundary-00=_qDfMBuc47mWQO5u Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ kde-pim mailing list kde-pim@mail.kde.org https://mail.kde.org/mailman/listinfo/kde-pim kde-pim home page at http://pim.kde.org/ --Boundary-00=_qDfMBuc47mWQO5u--