From kmail-devel Sun Oct 15 17:56:55 2000 From: Don Sanders Date: Sun, 15 Oct 2000 17:56:55 +0000 To: kmail-devel Subject: Fwd: Re: Local account locking patch Fwd: Re: question about last commit in kmacctlocal.cpp... X-MARC-Message: https://marc.info/?l=kmail-devel&m=97163225926136 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--------------Boundary-00=_VIGHWMEL1X57Q1NZZLQB" --------------Boundary-00=_VIGHWMEL1X57Q1NZZLQB Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit I would like to update the Local Account Locking in KMail readme so that the fcntl option is documented. -There are four different locking options you can use: +There are five different locking options you can use: procmail_lockfile mutt_dotlock mutt_dotlock_privileged +fcntl none ... + fcntl the default option will use the fcntl system call. .. where is procmail_lockfile, mutt_dotlock, mutt_dotlock_privileged, -or none. So an actual working account group would look like: +fcntl or none. So an actual working account group would look like: I would also like to put this on the KMail website kmail.kde.org, can/should I keep your name and employer on it? With or without your email address? (It doesn't matter to me just whatever you would like) Maybe we should recommend a file locking type, how about mutt_dotlock as preferred and then mutt_dottlock_privileged as a secondary choice? BFN, Don. Local Account Locking in KMail ---------------------------------------------------------- KMail's file locking implementation uses the fcntl system calls by default. This has problems in situations where your mail account folders are mounted over nfs. There is a new hidden option where you can change the locking implementation for local mail accounts. This will enable you to use a local mail account which is mounted over nfs. To avoid the risk of losing mail when using a local account it is necessary to ensure that KMail uses the same type of locking as your mail delivery agent. There are five different locking options you can use: procmail_lockfile mutt_dotlock mutt_dotlock_privileged fcntl none procmail_lockfile will use a small utility that comes with procmail called lockfile. You can use this if your mail folder is in a directory where you have write permissions. This will not work on your /var/spool/mail/user file in most cases. It will create .lock files on your account when kmail is checking for new mail. Please note that this will only work if procmail is installed on your system. mutt_dotlock and mutt_dotlock_privileged will both use a small utility that comes with mutt called mutt_dotlock. mutt_dotlock can be used in the same way as the procmail_lockfile option, with the same limitation with regards to the /var/spool/mail/ folders. However, the mutt_dotlock_privileged option can create lock files in the /var/spool/mail directory. mutt_dotlock is a setgid program and this option will run mutt_dotlock in setgid mode. Please note that these options will only work if mutt is installed on your system. fcntl the default option will use the fcntl system call. If you don't want to use any locking, the none option is what you want. However, there are risks of losing mail when no locking is used. In your kmailrc, there are group sections for each of your mail accounts- These will typically look like: [Account 1] Folder=inbox Location=/net/ns/home/wynnw/.newmail Name=Work Type=local check-exclude=false check-interval=10 precommand= To change the account to use the locking mechanism you want, change it to: [Account 1] Folder=inbox Location=/net/ns/home/wynnw/.newmail Name=Work Type=local check-exclude=false check-interval=10 precommand= LockType= where is procmail_lockfile, mutt_dotlock, mutt_dotlock_privileged, fcntl or none. So an actual working account group would look like: [Account 1] Folder=inbox Location=/net/ns/home/wynnw/.newmail Name=Work Type=local check-exclude=false check-interval=10 precommand= LockType=mutt_dotlock Please make the changes exactly as you see them here- case sensitivity is very important, as is spelling:) -- Wynn Wilkes Caldera Systems, Inc. ------------------------------------------------------- --------------Boundary-00=_VIGHWMEL1X57Q1NZZLQB Content-Type: text/plain; name="kmail_latest.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="kmail_latest.patch" PyBteWttYWlsLnBhdGNoCj8ga21haWxfbGF0ZXN0LnBhdGNoCkluZGV4OiBrbWFjY3Rsb2NhbC5j cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUva2RlL2tkZW5ldHdvcmsva21haWwva21hY2N0 bG9jYWwuY3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjQ3CmRpZmYgLXUgLXAgLUIgLXcgLXIx LjQ3IGttYWNjdGxvY2FsLmNwcAotLS0ga21hY2N0bG9jYWwuY3BwCTIwMDAvMDkvMjYgMTM6MDA6 MjUJMS40NworKysga21hY2N0bG9jYWwuY3BwCTIwMDAvMTAvMDUgMTc6NDc6NDMKQEAgLTM2LDYg KzM2LDcgQEAgS01BY2N0TG9jYWw6OktNQWNjdExvY2FsKEtNQWNjdE1nciogYU93bgogICBLTUFj Y3RMb2NhbEluaGVyaXRlZChhT3duZXIsIGFBY2NvdW50TmFtZSkKIHsKICAgaW5pdE1ldGFPYmpl Y3QoKTsKKyAgbUxvY2sgPSBGQ05UTDsKIH0KIAogCkBAIC04Myw2ICs4NCw3IEBAIHZvaWQgS01B Y2N0TG9jYWw6OnByb2Nlc3NOZXdNYWlsKGJvb2wpCiB7CiAgIFFUaW1lIHQ7CiAgIEtNRm9sZGVy IG1haWxGb2xkZXIoTlVMTCwgbG9jYXRpb24oKSk7CisgIG1haWxGb2xkZXIuc2V0TG9ja1R5cGUo IG1Mb2NrICk7CiAgIGxvbmcgbnVtID0gMDsKICAgbG9uZyBpOwogICBpbnQgcmM7CkBAIC0xMTgs NiArMTIwLDcgQEAgdm9pZCBLTUFjY3RMb2NhbDo6cHJvY2Vzc05ld01haWwoYm9vbCkKICAgICBL TWVzc2FnZUJveDo6c29ycnkoMCwgYVN0cik7CiAgICAgcGVycm9yKCJjYW5ub3Qgb3BlbiBmaWxl ICIrbWFpbEZvbGRlci5wYXRoKCkrIi8iK21haWxGb2xkZXIubmFtZSgpKTsKICAgICBlbWl0IGZp bmlzaGVkQ2hlY2soaGFzTmV3TWFpbCk7CisgICAgS01Ccm9hZGNhc3RTdGF0dXM6Omluc3RhbmNl KCktPnNldFN0YXR1c01zZyggaTE4biggIlRyYW5zbWlzc2lvbiBjb21wbGV0ZWQuLi4iICkpOwog ICAgIHJldHVybjsKICAgfQogCkBAIC0xMjUsNiArMTI4LDcgQEAgdm9pZCBLTUFjY3RMb2NhbDo6 cHJvY2Vzc05ld01haWwoYm9vbCkKICAgICBrZERlYnVnKCkgPDwgIm1haWxGb2xkZXIgY291bGQg bm90IGJlIGxvY2tlZCIgPDwgZW5kbDsKICAgICBtYWlsRm9sZGVyLmNsb3NlKCk7CiAgICAgZW1p dCBmaW5pc2hlZENoZWNrKGhhc05ld01haWwpOworICAgIEtNQnJvYWRjYXN0U3RhdHVzOjppbnN0 YW5jZSgpLT5zZXRTdGF0dXNNc2coIGkxOG4oICJUcmFuc21pc3Npb24gY29tcGxldGVkLi4uIiAp KTsKICAgICByZXR1cm47CiAgIH0KIApAQCAtMTcxLDggKzE3NCw3IEBAIHZvaWQgS01BY2N0TG9j YWw6OnByb2Nlc3NOZXdNYWlsKGJvb2wpCiAgIHJjID0gbWFpbEZvbGRlci5leHB1bmdlKCk7CiAg IGlmIChyYykKICAgICBLTWVzc2FnZUJveDo6aW5mb3JtYXRpb24oIDAsIGkxOG4oIkNhbm5vdCBy ZW1vdmUgbWFpbCBmcm9tXG5tYWlsYm94IGAlMSc6XG4lMiIpLmFyZyhtYWlsRm9sZGVyLmxvY2F0 aW9uKCkuYXJnKHN0cmVycm9yKHJjKSkpKTsKLSAgS01Ccm9hZGNhc3RTdGF0dXM6Omluc3RhbmNl KCktPnNldFN0YXR1c01zZygKLQkJICAgICBpMThuKCAiVHJhbnNtaXNzaW9uIGNvbXBsZXRlZC4u LiIgKSk7CisgICAgS01Ccm9hZGNhc3RTdGF0dXM6Omluc3RhbmNlKCktPnNldFN0YXR1c01zZygg aTE4biggIlRyYW5zbWlzc2lvbiBjb21wbGV0ZWQuLi4iICkpOwogICB9CiAgIC8vIGVsc2Ugd2Fy bmluZyBpcyB3cml0dGVuIGFscmVhZHkKIApAQCAtMTk1LDYgKzE5NywxNyBAQCB2b2lkIEtNQWNj dExvY2FsOjpyZWFkQ29uZmlnKEtDb25maWcmIGNvCiAKICAgS01BY2N0TG9jYWxJbmhlcml0ZWQ6 OnJlYWRDb25maWcoY29uZmlnKTsKICAgbUxvY2F0aW9uID0gY29uZmlnLnJlYWRFbnRyeSgiTG9j YXRpb24iLCBkZWZhdWx0UGF0aCk7CisgIFFTdHJpbmcgbG9ja3R5cGUgPSBjb25maWcucmVhZEVu dHJ5KCJMb2NrVHlwZSIsICJmY250bCIgKTsKKworICBpZiggbG9ja3R5cGUgPT0gInByb2NtYWls X2xvY2tmaWxlIiApCisgICAgbUxvY2sgPSBwcm9jbWFpbF9sb2NrZmlsZTsKKyAgZWxzZSBpZigg bG9ja3R5cGUgPT0gIm11dHRfZG90bG9jayIgKQorICAgIG1Mb2NrID0gbXV0dF9kb3Rsb2NrOwor ICBlbHNlIGlmKCBsb2NrdHlwZSA9PSAibXV0dF9kb3Rsb2NrX3ByaXZpbGVnZWQiICkKKyAgICBt TG9jayA9IG11dHRfZG90bG9ja19wcml2aWxlZ2VkOworICBlbHNlIGlmKCBsb2NrdHlwZSA9PSAi bm9uZSIgKQorICAgIG1Mb2NrID0gTm9uZTsKKyAgZWxzZSBtTG9jayA9IEZDTlRMOwogfQogCiAK SW5kZXg6IGttYWNjdGxvY2FsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUva2RlL2tkZW5l dHdvcmsva21haWwva21hY2N0bG9jYWwuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS42CmRpZmYg LXUgLXAgLUIgLXcgLXIxLjYga21hY2N0bG9jYWwuaAotLS0ga21hY2N0bG9jYWwuaAkyMDAwLzA3 LzEwIDIyOjU0OjUxCTEuNgorKysga21hY2N0bG9jYWwuaAkyMDAwLzEwLzA1IDE3OjQ3OjQzCkBA IC01LDYgKzUsNyBAQAogI2RlZmluZSBrbWFjY3Rsb2NhbF9oCiAKICNpbmNsdWRlICJrbWFjY291 bnQuaCIKKyNpbmNsdWRlICJrbWdsb2JhbC5oIgogCiAjZGVmaW5lIEtNQWNjdExvY2FsSW5oZXJp dGVkIEtNQWNjb3VudAogCkBAIC0zMyw2ICszNCw3IEBAIHB1YmxpYzoKIHByb3RlY3RlZDoKICAg UVN0cmluZyBtTG9jYXRpb247CiAgIGJvb2wgaGFzTmV3TWFpbDsKKyAgTG9ja1R5cGUgbUxvY2s7 CiB9OwogCiAjZW5kaWYgLyprbWFjY3Rsb2NhbF9oKi8KSW5kZXg6IGttZm9sZGVyLmNwcAo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09ClJDUyBmaWxlOiAvaG9tZS9rZGUva2RlbmV0d29yay9rbWFpbC9rbWZvbGRlci5jcHAs dgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTE0CmRpZmYgLXUgLXAgLUIgLXcgLXIxLjExNCBrbWZv bGRlci5jcHAKLS0tIGttZm9sZGVyLmNwcAkyMDAwLzA5LzA4IDExOjAyOjQxCTEuMTE0CisrKyBr bWZvbGRlci5jcHAJMjAwMC8xMC8wNSAxNzo0Nzo0NApAQCAtODMsNiArODMsNyBAQCBLTUZvbGRl ciA6OiBLTUZvbGRlcihLTUZvbGRlckRpciogYVBhcmVuCiAgIG1VbnJlYWRNc2dzICAgICAgPSAt MTsKICAgbmVlZHNDb21wYWN0ICAgID0gRkFMU0U7CiAgIG1DaGlsZCAgICAgICAgICA9IDA7Cisg IG1Mb2NrVHlwZSAgICAgICA9IEZDTlRMOwogfQogCiAKQEAgLTMwNCwxNSArMzA1LDIwIEBAIGlu dCBLTUZvbGRlcjo6bG9jaygpCiAgIGZsLmxfd2hlbmNlPTA7CiAgIGZsLmxfc3RhcnQ9MDsKICAg ZmwubF9sZW49MDsKLQorICBmbC5sX3BpZD0tMTsKKyAgUVN0cmluZyBjbWRfc3RyOyAKICAgYXNz ZXJ0KG1TdHJlYW0gIT0gTlVMTCk7CiAgIG1GaWxlc0xvY2tlZCA9IEZBTFNFOwogCi0gIHJjID0g ZmNudGwoZmlsZW5vKG1TdHJlYW0pLCBGX1NFVExLLCAmZmwpOworICBzd2l0Y2goIG1Mb2NrVHlw ZSApCisgIHsKKyAgICBjYXNlIEZDTlRMOgorICAgICAgcmMgPSBmY250bChmaWxlbm8obVN0cmVh bSksIEZfU0VUTEtXLCAmZmwpOwogCiAgIGlmIChyYyA8IDApCiAgIHsKLSAgICBrZERlYnVnKCkg PDwgIkNhbm5vdCBsb2NrIGZvbGRlciBgIiA8PCAoY29uc3QgY2hhciopbG9jYXRpb24oKSA8PCAi JzogIiA8PCBzdHJlcnJvcihlcnJubykgPDwgIiAoIiA8PCBlcnJubyA8PCAiKSIgPDwgZW5kbDsK KyAgICAgICAga2REZWJ1ZygpIDw8ICJDYW5ub3QgbG9jayBmb2xkZXIgYCIgPDwgKGNvbnN0IGNo YXIqKWxvY2F0aW9uKCkgPDwgIic6ICIKKyAgICAgICAgICAgICAgICAgIDw8IHN0cmVycm9yKGVy cm5vKSA8PCAiICgiIDw8IGVycm5vIDw8ICIpIiA8PCBlbmRsOwogICAgIHJldHVybiBlcnJubzsK ICAgfQogCkBAIC0zMjIsMTQgKzMyOCw4OCBAQCBpbnQgS01Gb2xkZXI6OmxvY2soKQogCiAgICAg aWYgKHJjIDwgMCkKICAgICB7Ci0gICAgICBrZERlYnVnKCkgPDwgIkNhbm5vdCBsb2NrIGluZGV4 IG9mIGZvbGRlciBgIiA8PCAoY29uc3QgY2hhciopbG9jYXRpb24oKSA8PCAiJzogIiA8PCBzdHJl cnJvcihlcnJubykgPDwgZW5kbDsKKyAgICAgICAgICBrZERlYnVnKCkgPDwgIkNhbm5vdCBsb2Nr IGluZGV4IG9mIGZvbGRlciBgIiA8PCAoY29uc3QgY2hhciopbG9jYXRpb24oKSA8PCAiJzogIgor ICAgICAgICAgICAgICAgICAgICA8PCBzdHJlcnJvcihlcnJubykgPDwgIiAoIiA8PCBlcnJubyA8 PCAiKSIgPDwgZW5kbDsKICAgICAgIHJjID0gZXJybm87CiAgICAgICBmbC5sX3R5cGUgPSBGX1VO TENLOwogICAgICAgcmMgPSBmY250bChmaWxlbm8obUluZGV4U3RyZWFtKSwgRl9TRVRMSywgJmZs KTsKICAgICAgIHJldHVybiByYzsKICAgICB9CiAgIH0KKyAgICAgIGJyZWFrOworCisgICAgY2Fz ZSBwcm9jbWFpbF9sb2NrZmlsZToKKyAgICAgIGNtZF9zdHIgPSAibG9ja2ZpbGUgIiArIGxvY2F0 aW9uKCkgKyAiLmxvY2siOworICAgICAgcmMgPSBzeXN0ZW0oIGNtZF9zdHIubGF0aW4xKCkgKTsK KyAgICAgIGlmKCByYyAhPSAwICkKKyAgICAgIHsKKyAgICAgICAga2REZWJ1ZygpIDw8ICJDYW5u b3QgbG9jayBmb2xkZXIgYCIgPDwgKGNvbnN0IGNoYXIqKWxvY2F0aW9uKCkgPDwgIic6ICIKKyAg ICAgICAgICAgICAgICAgIDw8IHN0cmVycm9yKHJjKSA8PCAiICgiIDw8IHJjIDw8ICIpIiA8PCBl bmRsOworICAgICAgICByZXR1cm4gcmM7CisgICAgICB9CisgICAgICBpZiggbUluZGV4U3RyZWFt ICkKKyAgICAgIHsKKyAgICAgICAgY21kX3N0ciA9ICJsb2NrZmlsZSAiICsgaW5kZXhMb2NhdGlv bigpICsgIi5sb2NrIjsKKyAgICAgICAgcmMgPSBzeXN0ZW0oIGNtZF9zdHIubGF0aW4xKCkgKTsK KyAgICAgICAgaWYoIHJjICE9IDAgKQorICAgICAgICB7CisgICAgICAgICAga2REZWJ1ZygpIDw8 ICJDYW5ub3QgbG9jayBpbmRleCBvZiBmb2xkZXIgYCIgPDwgKGNvbnN0IGNoYXIqKWxvY2F0aW9u KCkgPDwgIic6ICIKKyAgICAgICAgICAgICAgICAgICAgPDwgc3RyZXJyb3IocmMpIDw8ICIgKCIg PDwgcmMgPDwgIikiIDw8IGVuZGw7CisgICAgICAgICAgcmV0dXJuIHJjOworICAgICAgICB9Cisg ICAgICB9CisgICAgICBicmVhazsKKworICAgIGNhc2UgbXV0dF9kb3Rsb2NrOgorICAgICAgY21k X3N0ciA9ICJtdXR0X2RvdGxvY2sgIiArIGxvY2F0aW9uKCk7CisgICAgICByYyA9IHN5c3RlbSgg Y21kX3N0ci5sYXRpbjEoKSApOworICAgICAgaWYoIHJjICE9IDAgKQorICAgICAgeworICAgICAg ICBrZERlYnVnKCkgPDwgIkNhbm5vdCBsb2NrIGZvbGRlciBgIiA8PCAoY29uc3QgY2hhciopbG9j YXRpb24oKSA8PCAiJzogIgorICAgICAgICAgICAgICAgICAgPDwgc3RyZXJyb3IocmMpIDw8ICIg KCIgPDwgcmMgPDwgIikiIDw8IGVuZGw7CisgICAgICAgIHJldHVybiByYzsKKyAgICAgIH0KKyAg ICAgIGlmKCBtSW5kZXhTdHJlYW0gKQorICAgICAgeworICAgICAgICBjbWRfc3RyID0gIm11dHRf ZG90bG9jayAiICsgaW5kZXhMb2NhdGlvbigpOworICAgICAgICByYyA9IHN5c3RlbSggY21kX3N0 ci5sYXRpbjEoKSApOworICAgICAgICBpZiggcmMgIT0gMCApCisgICAgICAgIHsKKyAgICAgICAg ICBrZERlYnVnKCkgPDwgIkNhbm5vdCBsb2NrIGluZGV4IG9mIGZvbGRlciBgIiA8PCAoY29uc3Qg Y2hhciopbG9jYXRpb24oKSA8PCAiJzogIgorICAgICAgICAgICAgICAgICAgICA8PCBzdHJlcnJv cihyYykgPDwgIiAoIiA8PCByYyA8PCAiKSIgPDwgZW5kbDsKKyAgICAgICAgICByZXR1cm4gcmM7 CisgICAgICAgIH0KKyAgICAgIH0KKyAgICAgIGJyZWFrOworCisgICAgY2FzZSBtdXR0X2RvdGxv Y2tfcHJpdmlsZWdlZDoKKyAgICAgIGNtZF9zdHIgPSAibXV0dF9kb3Rsb2NrIC1wICIgKyBsb2Nh dGlvbigpOworICAgICAgcmMgPSBzeXN0ZW0oIGNtZF9zdHIubGF0aW4xKCkgKTsKKyAgICAgIGlm KCByYyAhPSAwICkKKyAgICAgIHsKKyAgICAgICAga2REZWJ1ZygpIDw8ICJDYW5ub3QgbG9jayBm b2xkZXIgYCIgPDwgKGNvbnN0IGNoYXIqKWxvY2F0aW9uKCkgPDwgIic6ICIKKyAgICAgICAgICAg ICAgICAgIDw8IHN0cmVycm9yKHJjKSA8PCAiICgiIDw8IHJjIDw8ICIpIiA8PCBlbmRsOworICAg ICAgICByZXR1cm4gcmM7CisgICAgICB9CisgICAgICBpZiggbUluZGV4U3RyZWFtICkKKyAgICAg IHsKKyAgICAgICAgY21kX3N0ciA9ICJtdXR0X2RvdGxvY2sgLXAgIiArIGluZGV4TG9jYXRpb24o KTsKKyAgICAgICAgcmMgPSBzeXN0ZW0oIGNtZF9zdHIubGF0aW4xKCkgKTsKKyAgICAgICAgaWYo IHJjICE9IDAgKQorICAgICAgICB7CisgICAgICAgICAga2REZWJ1ZygpIDw8ICJDYW5ub3QgbG9j ayBpbmRleCBvZiBmb2xkZXIgYCIgPDwgKGNvbnN0IGNoYXIqKWxvY2F0aW9uKCkgPDwgIic6ICIK KyAgICAgICAgICAgICAgICAgICAgPDwgc3RyZXJyb3IocmMpIDw8ICIgKCIgPDwgcmMgPDwgIiki IDw8IGVuZGw7CisgICAgICAgICAgcmV0dXJuIHJjOworICAgICAgICB9CisgICAgICB9CisgICAg ICBicmVhazsKIAorICAgIGNhc2UgTm9uZToKKyAgICBkZWZhdWx0OgorICAgICAgYnJlYWs7Cisg IH0KKworCiAgIG1GaWxlc0xvY2tlZCA9IFRSVUU7CiAgIHJldHVybiAwOwogfQpAQCAtMzQ0LDE3 ICs0MjQsNTkgQEAgaW50IEtNRm9sZGVyOjp1bmxvY2soKQogICBmbC5sX3doZW5jZT0wOwogICBm bC5sX3N0YXJ0PTA7CiAgIGZsLmxfbGVuPTA7CisgIFFTdHJpbmcgY21kX3N0cjsKIAogICBhc3Nl cnQobVN0cmVhbSAhPSBOVUxMKTsKICAgbUZpbGVzTG9ja2VkID0gRkFMU0U7CiAKKyAgc3dpdGNo KCBtTG9ja1R5cGUgKQorICB7CisgICAgY2FzZSBGQ05UTDoKICAgaWYgKG1JbmRleFN0cmVhbSkg ZmNudGwoZmlsZW5vKG1JbmRleFN0cmVhbSksIEZfU0VUTEssICZmbCk7Ci0gIHJjID0gZmNudGwo ZmlsZW5vKG1TdHJlYW0pLCBGX1NFVExLLCBGX1VOTENLKTsKKyAgICAgIGZjbnRsKGZpbGVubyht U3RyZWFtKSwgRl9TRVRMSywgRl9VTkxDSyk7CisgICAgICByYyA9IGVycm5vOworICAgICAgYnJl YWs7CiAKLSAgcmV0dXJuIGVycm5vOworICAgIGNhc2UgcHJvY21haWxfbG9ja2ZpbGU6CisgICAg ICBjbWRfc3RyID0gInJtIC1mICIgKyBsb2NhdGlvbigpICsgIi5sb2NrIjsKKyAgICAgIHJjID0g c3lzdGVtKCBjbWRfc3RyLmxhdGluMSgpICk7CisgICAgICBpZiggbUluZGV4U3RyZWFtICkKKyAg ICAgIHsKKyAgICAgICAgY21kX3N0ciA9ICJybSAtZiAiICsgaW5kZXhMb2NhdGlvbigpICsgIi5s b2NrIjsKKyAgICAgICAgcmMgPSBzeXN0ZW0oIGNtZF9zdHIubGF0aW4xKCkgKTsKIH0KKyAgICAg IGJyZWFrOwogCisgICAgY2FzZSBtdXR0X2RvdGxvY2s6CisgICAgICBjbWRfc3RyID0gIm11dHRf ZG90bG9jayAtdSAiICsgbG9jYXRpb24oKTsKKyAgICAgIHJjID0gc3lzdGVtKCBjbWRfc3RyLmxh dGluMSgpICk7CisgICAgICBpZiggbUluZGV4U3RyZWFtICkKKyAgICAgIHsKKyAgICAgICAgY21k X3N0ciA9ICJtdXR0X2RvdGxvY2sgLXUgIiArIGluZGV4TG9jYXRpb24oKTsKKyAgICAgICAgcmMg PSBzeXN0ZW0oIGNtZF9zdHIubGF0aW4xKCkgKTsKKyAgICAgIH0KKyAgICAgIGJyZWFrOworCisg ICAgY2FzZSBtdXR0X2RvdGxvY2tfcHJpdmlsZWdlZDoKKyAgICAgIGNtZF9zdHIgPSAibXV0dF9k b3Rsb2NrIC1wIC11ICIgKyBsb2NhdGlvbigpOworICAgICAgcmMgPSBzeXN0ZW0oIGNtZF9zdHIu bGF0aW4xKCkgKTsKKyAgICAgIGlmKCBtSW5kZXhTdHJlYW0gKQorICAgICAgeworICAgICAgICBj bWRfc3RyID0gIm11dHRfZG90bG9jayAtcCAtdSAiICsgaW5kZXhMb2NhdGlvbigpOworICAgICAg ICByYyA9IHN5c3RlbSggY21kX3N0ci5sYXRpbjEoKSApOworICAgICAgfQorICAgICAgYnJlYWs7 CisKKyAgICBjYXNlIE5vbmU6CisgICAgZGVmYXVsdDoKKyAgICAgIHJjID0gMDsKKyAgICAgIGJy ZWFrOworICB9CisKKyAgcmV0dXJuIHJjOworfQogCisKIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IGJvb2wgS01Gb2xkZXI6OmlzSW5kZXhPdXRkYXRlZCgpCiB7CkBAIC0xMzg1LDQgKzE1MDcsOSBA QCB2b2lkIEtNRm9sZGVyOjpjb3JyZWN0VW5yZWFkTXNnc0NvdW50KCkKIH0KIAogLy8tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQordm9pZCBLTUZvbGRlcjo6c2V0TG9ja1R5cGUoIExvY2tUeXBlIGx0eXBl ICkKK3sKKyAgbUxvY2tUeXBlID0gbHR5cGU7Cit9CisKICNpbmNsdWRlICJrbWZvbGRlci5tb2Mi CkluZGV4OiBrbWZvbGRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL2tkZS9rZGVuZXR3 b3JrL2ttYWlsL2ttZm9sZGVyLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMzAKZGlmZiAtdSAt cCAtQiAtdyAtcjEuMzAga21mb2xkZXIuaAotLS0ga21mb2xkZXIuaAkyMDAwLzA4LzMwIDEzOjMy OjI2CTEuMzAKKysrIGttZm9sZGVyLmgJMjAwMC8xMC8wNSAxNzo0Nzo0NApAQCAtMjEsNiArMjEs NyBAQAogI2luY2x1ZGUgImttZm9sZGVybm9kZS5oIgogI2luY2x1ZGUgImttbXNnaW5mby5oIgog I2luY2x1ZGUgImttbXNnbGlzdC5oIgorI2luY2x1ZGUgImttZ2xvYmFsLmgiCiAKICNpbmNsdWRl IDxzdGRpby5oPgogI2luY2x1ZGUgPHF2ZWN0b3IuaD4KQEAgLTQ3LDYgKzQ5LDggQEAgY2xhc3Mg S01Gb2xkZXI6IHB1YmxpYyBLTUZvbGRlck5vZGUKICAgZnJpZW5kIGNsYXNzIEtNTWVzc2FnZTsK IAogcHVibGljOgorICAKKyAgCiAgIC8qKiBVc3VhbGx5IGEgcGFyZW50IGlzIGdpdmVuLiBCdXQg aW4gc29tZSBjYXNlcyB0aGVyZSBpcyBubwogICAgIGZpdHRpbmcgcGFyZW50IG9iamVjdCBhdmFp bGFibGUuIFRoZW4gdGhlIG5hbWUgb2YgdGhlIGZvbGRlcgogICAgIGlzIHVzZWQgYXMgdGhlIGFi c29sdXRlIHBhdGggdG8gdGhlIGZvbGRlciBmaWxlLiAqLwpAQCAtMjMwLDYgKzIzNCw4IEBAIHB1 YmxpYzoKICAgLyogUmV0dXJucyBhIHN0cmluZyB0aGF0IGNhbiBiZSB1c2VkIHRvIGlkZW50aWZ5 IHRoaXMgZm9sZGVyICovCiAgIHZpcnR1YWwgUVN0cmluZyBpZFN0cmluZygpOwogCisgIHZvaWQg c2V0TG9ja1R5cGUoIExvY2tUeXBlIGx0eXBlPUZDTlRMICk7CisgIAogc2lnbmFsczoKICAgLyoq IEVtaXR0ZWQgd2hlbiB0aGUgc3RhdHVzLCBuYW1lLCBvciBhc3NvY2lhdGVkIGFjY291bnRzIG9m IHRoaXMKICAgICBmb2xkZXIgY2hhbmdlZC4gKi8KQEAgLTMwOSw2ICszMTUsNyBAQCBwcm90ZWN0 ZWQ6CiAgIGludCBtVW5yZWFkTXNnczsgLy8gbnVtYmVyIG9mIHVucmVhZCBtZXNzYWdlcywgLTEg aWYgbm90IHlldCBzZXQKICAgYm9vbCBuZWVkc0NvbXBhY3Q7IC8vc3ZlbjogdHJ1ZSBpZiBvbiBk ZXN0cnVjdCBmb2xkZXIgbmVlZHMgdG8gYmUgY29tcGFjdGVkLgogICBLTUZvbGRlckRpciogbUNo aWxkOworICBMb2NrVHlwZSBtTG9ja1R5cGU7CiB9OwogCiAjZW5kaWYgLyprbWZvbGRlcl9oKi8K SW5kZXg6IGttZ2xvYmFsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUva2RlL2tkZW5ldHdv cmsva21haWwva21nbG9iYWwuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xOQpkaWZmIC11IC1w IC1CIC13IC1yMS4xOSBrbWdsb2JhbC5oCi0tLSBrbWdsb2JhbC5oCTIwMDAvMDMvMjUgMTQ6MDQ6 MjIJMS4xOQorKysga21nbG9iYWwuaAkyMDAwLzEwLzA1IDE3OjQ3OjQ0CkBAIC0xNyw2ICsxNywx NSBAQAogCiAjaW5jbHVkZSAia21rZXJuZWwuaCIKIAordHlwZWRlZiBlbnVtIAoreworICAgIEZD TlRMLAorICAgIHByb2NtYWlsX2xvY2tmaWxlLAorICAgIG11dHRfZG90bG9jaywKKyAgICBtdXR0 X2RvdGxvY2tfcHJpdmlsZWdlZCwKKyAgICBOb25lCit9IExvY2tUeXBlOworCiAvKiogVGhlICJh Ym91dCBLTWFpbCIgdGV4dC4gKi8KIGV4dGVybiBjb25zdCBjaGFyKiBhYm91dFRleHQ7CiAjZW5k aWYK --------------Boundary-00=_VIGHWMEL1X57Q1NZZLQB-- _______________________________________________ Kmail Developers mailing list Kmail@master.kde.org http://master.kde.org/mailman/listinfo/kmail