[SPAM] Onchange script
Drew Wells <[email protected]> Tue, 15 Sep 2015 10:15:44 +0100
| Newsgroups | gmane.mail.vpopmail |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format. --------------030903020101030307010601 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit I use the onchange functionality in vpopmail-5.5.0 but find it awkward that the script is only called once for "add_domain", instead of calling the script with "add_domain", "add_user" then "mod_user" so have written a patch to allow this. One side affect is that the order of calls in vadduser() has changed. Patch attached. !DSPAM:55f7e1c341551875619181! --------------030903020101030307010601 Content-Type: text/plain; charset=UTF-8; name="vpopmail-5.5.0-onchange-allow.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="vpopmail-5.5.0-onchange-allow.patch" ZGlmZiAtdVByIHZwb3BtYWlsLTUuNS4wLm9yaWcvYmFja2VuZHMvY2RiL3ZjZGIuYyB2cG9w bWFpbC01LjUuMC9iYWNrZW5kcy9jZGIvdmNkYi5jCi0tLSB2cG9wbWFpbC01LjUuMC5vcmln L2JhY2tlbmRzL2NkYi92Y2RiLmMJMjAxMC0xMS0wNSAxODozNzoyMy4wMDAwMDAwMDAgKzAw MDAKKysrIHZwb3BtYWlsLTUuNS4wL2JhY2tlbmRzL2NkYi92Y2RiLmMJMjAxNS0wOS0wNCAx Mjo0MjowMC4zMDYwOTU4MjIgKzAxMDAKQEAgLTY2NCwxMiArNjY0LDE2IEBACiAjZW5kaWYK IAogI2lmZGVmIE9OQ0hBTkdFX1NDUklQVAorI2lmZGVmIE9OQ0hBTkdFX1NDUklQVF9BTExP VwogICAgIGlmKCBhbGxvd19vbmNoYW5nZSApIHsKKyNlbmRpZgogICAgICAgIC8qIHRlbGwg b3RoZXIgcHJvZ3JhbXMgdGhhdCBkYXRhIGhhcyBjaGFuZ2VkICovCiAgICAgICAgc25wcmlu dGYgKCBvbmNoYW5nZV9idWYsIE1BWF9CVUZGLCAiJXNAJXMiLCBpbnB3LT5wd19uYW1lLCBk b21haW4gKSA7CiAgICAgICAgY2FsbF9vbmNoYW5nZSAoICJtb2RfdXNlciIgKSA7CisjaWZk ZWYgT05DSEFOR0VfU0NSSVBUX0FMTE9XCiAgICAgICAgfQogI2VuZGlmCisjZW5kaWYKIAog CWlmICghKHN0cmNhc2VjbXAoaW5wdy0+cHdfc2hlbGwsICJOT1FVT1RBIikpKQogCSAgIHJl bW92ZV9tYWlsZGlyc2l6ZShpbnB3LT5wd19kaXIpOwpkaWZmIC11UHIgdnBvcG1haWwtNS41 LjAub3JpZy9iYWNrZW5kcy9sZGFwL3ZsZGFwLmMgdnBvcG1haWwtNS41LjAvYmFja2VuZHMv bGRhcC92bGRhcC5jCi0tLSB2cG9wbWFpbC01LjUuMC5vcmlnL2JhY2tlbmRzL2xkYXAvdmxk YXAuYwkyMDEwLTExLTA1IDE4OjM3OjI0LjAwMDAwMDAwMCArMDAwMAorKysgdnBvcG1haWwt NS41LjAvYmFja2VuZHMvbGRhcC92bGRhcC5jCTIwMTUtMDktMDQgMTI6NDI6MDAuMzA3MDk1 NzY5ICswMTAwCkBAIC05NzIsMTIgKzk3MiwxNiBAQAogI2VuZGlmCiAKICNpZmRlZiBPTkNI QU5HRV9TQ1JJUFQKKyNpZmRlZiBPTkNIQU5HRV9TQ1JJUFRfQUxMT1cKICAgICBpZiggYWxs b3dfb25jaGFuZ2UgKSB7CisjZW5kaWYKICAgICAgICAvKiB0ZWxsIG90aGVyIHByb2dyYW1z IHRoYXQgZGF0YSBoYXMgY2hhbmdlZCAqLwogICAgICAgIHNucHJpbnRmICggb25jaGFuZ2Vf YnVmLCBNQVhfQlVGRiwgIiVzQCVzIiwgaW5wdy0+cHdfbmFtZSwgZG9tYWluICk7CiAgICAg ICAgY2FsbF9vbmNoYW5nZSAoICJtb2RfdXNlciIgKTsKKyNpZmRlZiBPTkNIQU5HRV9TQ1JJ UFRfQUxMT1cKICAgICAgICB9CiAjZW5kaWYKKyNlbmRpZgogCiAJaWYgKCEoc3RyY2FzZWNt cChpbnB3LT5wd19zaGVsbCwgIk5PUVVPVEEiKSkpCiAJICAgcmVtb3ZlX21haWxkaXJzaXpl KGlucHctPnB3X2Rpcik7CkBAIC0xNzMzLDEyICsxNzM3LDE2IEBACiAgICAgfQogCiAjaWZk ZWYgT05DSEFOR0VfU0NSSVBUCisjaWZkZWYgT05DSEFOR0VfU0NSSVBUX0FMTE9XCiAgICAg aWYoIGFsbG93X29uY2hhbmdlICkgeworI2VuZGlmCiAgICAgICAgLyogdGVsbCBvdGhlciBw cm9ncmFtcyB0aGF0IGRhdGEgaGFzIGNoYW5nZWQgKi8KICAgICAgICBzbnByaW50ZiAoIG9u Y2hhbmdlX2J1ZiwgTUFYX0JVRkYsICIlc0AlcyAtICVzIiwgYWxpYXMsIGRvbWFpbiwgYWxp YXNfbGluZSApOwogICAgICAgIGNhbGxfb25jaGFuZ2UgKCAiYWxpYXNfaW5zZXJ0IiApOwor I2lmZGVmIE9OQ0hBTkdFX1NDUklQVF9BTExPVwogICAgICAgIH0KICNlbmRpZgorI2VuZGlm CiAKICAgICByZXR1cm4oMCk7CiB9CkBAIC0xNzU2LDEyICsxNzY0LDE2IEBACiAgICAgaWYg KCAoZXJyPWxkYXBfY29ubmVjdCgpKSAhPSAwICkgcmV0dXJuKGVycik7CiAKICNpZmRlZiBP TkNIQU5HRV9TQ1JJUFQKKyNpZmRlZiBPTkNIQU5HRV9TQ1JJUFRfQUxMT1cKICAgICBpZigg YWxsb3dfb25jaGFuZ2UgKSB7CisjZW5kaWYKICAgICAgICAvKiB0ZWxsIG90aGVyIHByb2dy YW1zIHRoYXQgZGF0YSBoYXMgY2hhbmdlZCAqLwogICAgICAgIHNucHJpbnRmICggb25jaGFu Z2VfYnVmLCBNQVhfQlVGRiwgIiVzQCVzIC0gJXMiLCBhbGlhcywgZG9tYWluLCBhbGlhc19s aW5lICk7CiAgICAgICAgY2FsbF9vbmNoYW5nZSAoICJhbGlhc19yZW1vdmUiICk7CisjaWZk ZWYgT05DSEFOR0VfU0NSSVBUX0FMTE9XCiAgICAgICAgfQogI2VuZGlmCisjZW5kaWYKIAog CW1lbXNldCh1ZCwgMCwgc2l6ZW9mKHVkKSk7CiAJc25wcmludGYodWQsIHNpemVvZih1ZCks ICIlc0AlcyIsIGFsaWFzLCBkb21haW4pOwpAQCAtMTg2MywxMiArMTg3NSwxNiBAQAogICAg IGlmICggKGVycj1sZGFwX2Nvbm5lY3QoKSkgIT0gMCApIHJldHVybihlcnIpOwogCiAjaWZk ZWYgT05DSEFOR0VfU0NSSVBUCisjaWZkZWYgT05DSEFOR0VfU0NSSVBUX0FMTE9XCiAgICAg aWYoIGFsbG93X29uY2hhbmdlICkgeworI2VuZGlmCiAgICAgICAgLyogdGVsbCBvdGhlciBw cm9ncmFtcyB0aGF0IGRhdGEgaGFzIGNoYW5nZWQgKi8KICAgICAgICBzbnByaW50ZiAoIG9u Y2hhbmdlX2J1ZiwgTUFYX0JVRkYsICIlc0AlcyIsIGFsaWFzLCBkb21haW4gKTsKICAgICAg ICBjYWxsX29uY2hhbmdlICggImFsaWFzX2RlbGV0ZSIgKTsKKyNpZmRlZiBPTkNIQU5HRV9T Q1JJUFRfQUxMT1cKICAgICAgICB9CiAjZW5kaWYKKyNlbmRpZgogCiAJbWVtc2V0KHVkLCAw LCBzaXplb2YodWQpKTsKIAlzbnByaW50Zih1ZCwgc2l6ZW9mKHVkKSwgIiVzQCVzIiwgYWxp YXMsIGRvbWFpbik7CmRpZmYgLXVQciB2cG9wbWFpbC01LjUuMC5vcmlnL2JhY2tlbmRzL215 c3FsL3ZteXNxbC5jIHZwb3BtYWlsLTUuNS4wL2JhY2tlbmRzL215c3FsL3ZteXNxbC5jCi0t LSB2cG9wbWFpbC01LjUuMC5vcmlnL2JhY2tlbmRzL215c3FsL3ZteXNxbC5jCTIwMTAtMTEt MDUgMTg6Mzc6MjMuMDAwMDAwMDAwICswMDAwCisrKyB2cG9wbWFpbC01LjUuMC9iYWNrZW5k cy9teXNxbC92bXlzcWwuYwkyMDE1LTA5LTA0IDEyOjQyOjAwLjMwODA5NTcxNiArMDEwMApA QCAtODc1LDEyICs4NzUsMTYgQEAKICNlbmRpZgogCiAjaWZkZWYgT05DSEFOR0VfU0NSSVBU CisjaWZkZWYgT05DSEFOR0VfU0NSSVBUX0FMTE9XCiAgICAgaWYoIGFsbG93X29uY2hhbmdl ICkgeworI2VuZGlmCiAgICAgICAgLyogdGVsbCBvdGhlciBwcm9ncmFtcyB0aGF0IGRhdGEg aGFzIGNoYW5nZWQgKi8KICAgICAgICBzbnByaW50ZiAoIG9uY2hhbmdlX2J1ZiwgTUFYX0JV RkYsICIlc0AlcyIsIGlucHctPnB3X25hbWUsIGRvbWFpbiApOwogICAgICAgIGNhbGxfb25j aGFuZ2UgKCAibW9kX3VzZXIiICk7CisjaWZkZWYgT05DSEFOR0VfU0NSSVBUX0FMTE9XCiAg ICAgICAgfQogI2VuZGlmCisjZW5kaWYKIAogCWlmICghKHN0cmNhc2VjbXAoaW5wdy0+cHdf c2hlbGwsICJOT1FVT1RBIikpKQogCSAgIHJlbW92ZV9tYWlsZGlyc2l6ZShpbnB3LT5wd19k aXIpOwpAQCAtMTQ1OSwxMiArMTQ2MywxNiBAQAogICAgIH0KIAogI2lmZGVmIE9OQ0hBTkdF X1NDUklQVAorI2lmZGVmIE9OQ0hBTkdFX1NDUklQVF9BTExPVwogICAgIGlmKCBhbGxvd19v bmNoYW5nZSApIHsKKyNlbmRpZgogICAgICAgIC8qIHRlbGwgb3RoZXIgcHJvZ3JhbXMgdGhh dCBkYXRhIGhhcyBjaGFuZ2VkICovCiAgICAgICAgc25wcmludGYgKCBvbmNoYW5nZV9idWYs IE1BWF9CVUZGLCAiJXNAJXMgLSAlcyIsIGFsaWFzLCBkb21haW4sIGFsaWFzX2xpbmUgKTsK ICAgICAgICBjYWxsX29uY2hhbmdlICggInZhbGlhc19pbnNlcnQiICk7CisjaWZkZWYgT05D SEFOR0VfU0NSSVBUX0FMTE9XCiAgICAgICAgfQogI2VuZGlmCisjZW5kaWYKIAogICAgIHJl dHVybigwKTsKIH0KQEAgLTE0NzgsMTIgKzE0ODYsMTYgQEAKICAgICBpZiAoIChlcnI9dmF1 dGhfb3Blbl91cGRhdGUoKSkgIT0gMCApIHJldHVybihlcnIpOwogCiAjaWZkZWYgT05DSEFO R0VfU0NSSVBUCisjaWZkZWYgT05DSEFOR0VfU0NSSVBUX0FMTE9XCiAgICAgaWYoIGFsbG93 X29uY2hhbmdlICkgeworI2VuZGlmCiAgICAgICAgLyogdGVsbCBvdGhlciBwcm9ncmFtcyB0 aGF0IGRhdGEgaGFzIGNoYW5nZWQgKi8KICAgICAgICBzbnByaW50ZiAoIG9uY2hhbmdlX2J1 ZiwgTUFYX0JVRkYsICIlc0AlcyAtICVzIiwgYWxpYXMsIGRvbWFpbiwgYWxpYXNfbGluZSAp OwogICAgICAgIGNhbGxfb25jaGFuZ2UgKCAidmFsaWFzX3JlbW92ZSIgKTsKKyNpZmRlZiBP TkNIQU5HRV9TQ1JJUFRfQUxMT1cKICAgICAgICB9CiAjZW5kaWYKKyNlbmRpZgogCiAgICAg cW5wcmludGYoIFNxbEJ1ZlVwZGF0ZSwgU1FMX0JVRl9TSVpFLCAKICAgICAgICAgIkRFTEVU RSBGUk9NIHZhbGlhcyBXSEVSRSBhbGlhcyA9ICclcycgXApAQCAtMTUwOCwxMiArMTUyMCwx NiBAQAogICAgIGlmICggKGVycj12YXV0aF9vcGVuX3VwZGF0ZSgpKSAhPSAwICkgcmV0dXJu KGVycik7CiAKICNpZmRlZiBPTkNIQU5HRV9TQ1JJUFQKKyNpZmRlZiBPTkNIQU5HRV9TQ1JJ UFRfQUxMT1cKICAgICBpZiggYWxsb3dfb25jaGFuZ2UgKSB7CisjZW5kaWYKICAgICAgICAv KiB0ZWxsIG90aGVyIHByb2dyYW1zIHRoYXQgZGF0YSBoYXMgY2hhbmdlZCAqLwogICAgICAg IHNucHJpbnRmICggb25jaGFuZ2VfYnVmLCBNQVhfQlVGRiwgIiVzQCVzIiwgYWxpYXMsIGRv bWFpbiApOwogICAgICAgIGNhbGxfb25jaGFuZ2UgKCAidmFsaWFzX2RlbGV0ZSIgKTsKKyNp ZmRlZiBPTkNIQU5HRV9TQ1JJUFRfQUxMT1cKICAgICAgICB9CiAjZW5kaWYKKyNlbmRpZgog CiAgICAgcW5wcmludGYoIFNxbEJ1ZlVwZGF0ZSwgU1FMX0JVRl9TSVpFLCAKICAgICAgICAg IkRFTEVURSBGUk9NIHZhbGlhcyBXSEVSRSBhbGlhcyA9ICclcycgXApAQCAtMTUzOSwxMiAr MTU1NSwxNiBAQAogICAgIGlmICggKGVycj12YXV0aF9vcGVuX3VwZGF0ZSgpKSAhPSAwICkg cmV0dXJuKGVycik7CiAKICNpZmRlZiBPTkNIQU5HRV9TQ1JJUFQKKyNpZmRlZiBPTkNIQU5H RV9TQ1JJUFRfQUxMT1cKICAgICBpZiggYWxsb3dfb25jaGFuZ2UgKSB7CisjZW5kaWYKICAg ICAgICAvKiB0ZWxsIG90aGVyIHByb2dyYW1zIHRoYXQgZGF0YSBoYXMgY2hhbmdlZCAqLwog ICAgICAgIHNucHJpbnRmICggb25jaGFuZ2VfYnVmLCBNQVhfQlVGRiwgIiVzIiwgZG9tYWlu ICk7CiAgICAgICAgY2FsbF9vbmNoYW5nZSAoICJ2YWxpYXNfZGVsZXRlX2RvbWFpbiIgKTsK KyNpZmRlZiBPTkNIQU5HRV9TQ1JJUFRfQUxMT1cKICAgICAgICB9CiAjZW5kaWYKKyNlbmRp ZgogCiAgICAgcW5wcmludGYoIFNxbEJ1ZlVwZGF0ZSwgU1FMX0JVRl9TSVpFLCAKICAgICAg ICAgIkRFTEVURSBGUk9NIHZhbGlhcyBXSEVSRSBkb21haW4gPSAnJXMnIiwgCmRpZmYgLXVQ ciB2cG9wbWFpbC01LjUuMC5vcmlnL2JhY2tlbmRzL3Bvc3RncmVzL3ZwZ3NxbC5jIHZwb3Bt YWlsLTUuNS4wL2JhY2tlbmRzL3Bvc3RncmVzL3ZwZ3NxbC5jCi0tLSB2cG9wbWFpbC01LjUu MC5vcmlnL2JhY2tlbmRzL3Bvc3RncmVzL3ZwZ3NxbC5jCTIwMTAtMTEtMDUgMTg6Mzc6MjMu MDAwMDAwMDAwICswMDAwCisrKyB2cG9wbWFpbC01LjUuMC9iYWNrZW5kcy9wb3N0Z3Jlcy92 cGdzcWwuYwkyMDE1LTA5LTA0IDEyOjQyOjAwLjMwOTA5NTY2NyArMDEwMApAQCAtNjg3LDEy ICs2ODcsMTYgQEAKICNlbmRpZgogCiAjaWZkZWYgT05DSEFOR0VfU0NSSVBUCisjaWZkZWYg T05DSEFOR0VfU0NSSVBUX0FMTE9XCiAgICAgaWYoIGFsbG93X29uY2hhbmdlICkgeworI2Vu ZGlmCiAgICAgICAgLyogdGVsbCBvdGhlciBwcm9ncmFtcyB0aGF0IGRhdGEgaGFzIGNoYW5n ZWQgKi8KICAgICAgICBzbnByaW50ZiAoIG9uY2hhbmdlX2J1ZiwgTUFYX0JVRkYsICIlc0Al cyIsIGlucHctPnB3X25hbWUsIGRvbWFpbiApOwogICAgICAgIGNhbGxfb25jaGFuZ2UgKCAi bW9kX3VzZXIiICk7CisjaWZkZWYgT05DSEFOR0VfU0NSSVBUX0FMTE9XCiAgICAgICAgfQog I2VuZGlmCisjZW5kaWYKIAogCWlmICghKHN0cmNhc2VjbXAoaW5wdy0+cHdfc2hlbGwsICJO T1FVT1RBIikpKQogCSAgIHJlbW92ZV9tYWlsZGlyc2l6ZShpbnB3LT5wd19kaXIpOwpAQCAt MTM5NiwxMiArMTQwMCwxNiBAQAogICAgIGlmKHBncmVzKSBQUWNsZWFyKHBncmVzKTsKIAog I2lmZGVmIE9OQ0hBTkdFX1NDUklQVAorI2lmZGVmIE9OQ0hBTkdFX1NDUklQVF9BTExPVwog ICAgIGlmKCBhbGxvd19vbmNoYW5nZSApIHsKKyNlbmRpZgogICAgICAgIC8qIHRlbGwgb3Ro ZXIgcHJvZ3JhbXMgdGhhdCBkYXRhIGhhcyBjaGFuZ2VkICovCiAgICAgICAgc25wcmludGYg KCBvbmNoYW5nZV9idWYsIE1BWF9CVUZGLCAiJXNAJXMgLSAlcyIsIGFsaWFzLCBkb21haW4s IGFsaWFzX2xpbmUgKTsKICAgICAgICBjYWxsX29uY2hhbmdlICggInZhbGlhc19hZGQiICk7 CisjaWZkZWYgT05DSEFOR0VfU0NSSVBUX0FMTE9XCiAgICAgICAgfQogI2VuZGlmCisjZW5k aWYKIAogICAgIHJldHVybigwKTsKICAgfQpAQCAtMTQxNiwxMiArMTQyNCwxNiBAQAogICBp ZiAoIChlcnI9dmF1dGhfb3BlbigxKSkgIT0gMCApIHJldHVybihlcnIpOwogCiAjaWZkZWYg T05DSEFOR0VfU0NSSVBUCisjaWZkZWYgT05DSEFOR0VfU0NSSVBUX0FMTE9XCiAgIGlmKCBh bGxvd19vbmNoYW5nZSApIHsKKyNlbmRpZgogICAgICAvKiB0ZWxsIG90aGVyIHByb2dyYW1z IHRoYXQgZGF0YSBoYXMgY2hhbmdlZCAqLwogICAgICBzbnByaW50ZiAoIG9uY2hhbmdlX2J1 ZiwgTUFYX0JVRkYsICIlc0AlcyIsIGFsaWFzLCBkb21haW4gKTsKICAgICAgY2FsbF9vbmNo YW5nZSAoICJ2YWxpYXNfZGVsZXRlIiApOworI2lmZGVmIE9OQ0hBTkdFX1NDUklQVF9BTExP VwogICAgICB9CiAjZW5kaWYKKyNlbmRpZgogCiAgIHFucHJpbnRmKCBTcWxCdWZVcGRhdGUs IFNRTF9CVUZfU0laRSwgCiAJICAgICJkZWxldGUgZnJvbSB2YWxpYXMgd2hlcmUgYWxpYXM9 JyVzJyBhbmQgZG9tYWluPSclcyciLCAKQEAgLTE0NTIsMTIgKzE0NjQsMTYgQEAKICAgaWYg KCAoZXJyPXZhdXRoX29wZW4oMSkpICE9IDAgKSByZXR1cm4oZXJyKTsKIAogI2lmZGVmIE9O Q0hBTkdFX1NDUklQVAorI2lmZGVmIE9OQ0hBTkdFX1NDUklQVF9BTExPVwogICBpZiggYWxs b3dfb25jaGFuZ2UgKSB7CisjZW5kaWYKICAgICAgLyogdGVsbCBvdGhlciBwcm9ncmFtcyB0 aGF0IGRhdGEgaGFzIGNoYW5nZWQgKi8KICAgICAgc25wcmludGYgKCBvbmNoYW5nZV9idWYs IE1BWF9CVUZGLCAiJXNAJXMgLSAlcyIsIGFsaWFzLCBkb21haW4sIGFsaWFzX2xpbmUpOwog ICAgICBjYWxsX29uY2hhbmdlICggInZhbGlhc19yZW1vdmUiICk7CisjaWZkZWYgT05DSEFO R0VfU0NSSVBUX0FMTE9XCiAgICAgIH0KICNlbmRpZgorI2VuZGlmCiAKICAgcW5wcmludGYo IFNxbEJ1ZlVwZGF0ZSwgU1FMX0JVRl9TSVpFLCAKIAkgICAgImRlbGV0ZSBmcm9tIHZhbGlh cyB3aGVyZSBhbGlhcz0nJXMnIGFuZCB2YWxpYXNfbGluZT0nJXMnIGFuZCBkb21haW49JyVz JyIsIApAQCAtMTQ4NSwxMiArMTUwMSwxNiBAQAogICBpZiAoIChlcnI9dmF1dGhfb3Blbigx KSkgIT0gMCApIHJldHVybihlcnIpOwogCiAjaWZkZWYgT05DSEFOR0VfU0NSSVBUCisjaWZk ZWYgT05DSEFOR0VfU0NSSVBUX0FMTE9XCiAgIGlmKCBhbGxvd19vbmNoYW5nZSApIHsKKyNl bmRpZgogICAgICAvKiB0ZWxsIG90aGVyIHByb2dyYW1zIHRoYXQgZGF0YSBoYXMgY2hhbmdl ZCAqLwogICAgICBzbnByaW50ZiAoIG9uY2hhbmdlX2J1ZiwgTUFYX0JVRkYsICIlc0AlcyAt ICVzIiwgYWxpYXMsIGRvbWFpbiwgYWxpYXNfbGluZSk7CiAgICAgIGNhbGxfb25jaGFuZ2Ug KCAidmFsaWFzX2RlbGV0ZV9kb21haW4iICk7CisjaWZkZWYgT05DSEFOR0VfU0NSSVBUX0FM TE9XCiAgICAgIH0KICNlbmRpZgorI2VuZGlmCiAKICAgcW5wcmludGYoIFNxbEJ1ZlVwZGF0 ZSwgU1FMX0JVRl9TSVpFLCAKIAkgICAgImRlbGV0ZSBmcm9tIHZhbGlhcyB3aGVyZSBkb21h aW49JyVzJyIsIGRvbWFpbiApOwpkaWZmIC11UHIgdnBvcG1haWwtNS41LjAub3JpZy92cGFs aWFzLmMgdnBvcG1haWwtNS41LjAvdnBhbGlhcy5jCi0tLSB2cG9wbWFpbC01LjUuMC5vcmln L3ZwYWxpYXMuYwkyMDEwLTExLTA1IDE4OjM3OjI0LjAwMDAwMDAwMCArMDAwMAorKysgdnBv cG1haWwtNS41LjAvdnBhbGlhcy5jCTIwMTUtMDktMDQgMTI6NDI6MDAuMzEwMDk1NjI0ICsw MTAwCkBAIC0xNTEsMTIgKzE1MSwxNiBAQAogICAgIGZjbG9zZShmcyk7CiAKICNpZmRlZiBP TkNIQU5HRV9TQ1JJUFQKKyNpZmRlZiBPTkNIQU5HRV9TQ1JJUFRfQUxMT1cKICAgICBpZigg YWxsb3dfb25jaGFuZ2UgKSB7CisjZW5kaWYKICAgICAgICAvKiB0ZWxsIG90aGVyIHByb2dy YW1zIHRoYXQgZGF0YSBoYXMgY2hhbmdlZCAqLwogICAgICAgIHNucHJpbnRmICggb25jaGFu Z2VfYnVmLCBNQVhfQlVGRiwgIiVzQCVzIC0gJXMiLCBhbGlhcywgZG9tYWluLCBhbGlhc19s aW5lICk7CiAgICAgICAgY2FsbF9vbmNoYW5nZSAoICJ2YWxpYXNfaW5zZXJ0IiApOworI2lm ZGVmIE9OQ0hBTkdFX1NDUklQVF9BTExPVwogICAgICAgIH0KICNlbmRpZgorI2VuZGlmCiAK ICAgICByZXR1cm4oMCk7CiB9CkBAIC0yMTgsMTIgKzIyMiwxNiBAQAogICAgIGZyZWUoRGly TmV3KTsKIAogI2lmZGVmIE9OQ0hBTkdFX1NDUklQVAorI2lmZGVmIE9OQ0hBTkdFX1NDUklQ VF9BTExPVwogICAgIGlmKCBhbGxvd19vbmNoYW5nZSApIHsKKyNlbmRpZgogICAgICAgIC8q IHRlbGwgb3RoZXIgcHJvZ3JhbXMgdGhhdCBkYXRhIGhhcyBjaGFuZ2VkICovCiAgICAgICAg c25wcmludGYgKCBvbmNoYW5nZV9idWYsIE1BWF9CVUZGLCAiJXNAJXMgLSAlcyIsIGFsaWFz LCBkb21haW4sIGFsaWFzX2xpbmUgKTsKICAgICAgICBjYWxsX29uY2hhbmdlICggInZhbGlh c19yZW1vdmUiICk7CisjaWZkZWYgT05DSEFOR0VfU0NSSVBUX0FMTE9XCiAgICAgICAgfQog I2VuZGlmCisjZW5kaWYKIAogICAgIHJldHVybigwKTsKIH0KQEAgLTI0OCwxMyArMjU2LDE1 IEBACiAgICAgfQogCiAjaWZkZWYgT05DSEFOR0VfU0NSSVBUCisjaWZkZWYgT05DSEFOR0Vf U0NSSVBUX0FMTE9XCiAgICAgaWYoIGFsbG93X29uY2hhbmdlICkgeworI2VuZGlmCiAgICAg ICAgLyogdGVsbCBvdGhlciBwcm9ncmFtcyB0aGF0IGRhdGEgaGFzIGNoYW5nZWQgKi8KICAg ICAgICBzbnByaW50ZiAoIG9uY2hhbmdlX2J1ZiwgTUFYX0JVRkYsICIlc0AlcyIsIGFsaWFz LCBkb21haW4gKTsKICAgICAgICBjYWxsX29uY2hhbmdlICggInZhbGlhc19kZWxldGUiICk7 CisjaWZkZWYgT05DSEFOR0VfU0NSSVBUX0FMTE9XCiAgICAgICAgfQotCi0KKyNlbmRpZgog I2VuZGlmCiAKICAgICBzdHJuY2F0KERpciwgIi8ucW1haWwtIiwgc2l6ZW9mKERpciktc3Ry bGVuKERpciktMSk7CmRpZmYgLXVQciB2cG9wbWFpbC01LjUuMC5vcmlnL3Zwb3BtYWlsLmMg dnBvcG1haWwtNS41LjAvdnBvcG1haWwuYwotLS0gdnBvcG1haWwtNS41LjAub3JpZy92cG9w bWFpbC5jCTIwMTAtMTEtMDUgMTg6Mzc6MjQuMDAwMDAwMDAwICswMDAwCisrKyB2cG9wbWFp bC01LjUuMC92cG9wbWFpbC5jCTIwMTUtMDktMDQgMTI6NDI6MDAuMzEyMDk1NTQyICswMTAw CkBAIC0xMTEsOSArMTExLDExIEBACiAgaW50IGFsaWFzY291bnQ9MDsKIAogI2lmZGVmIE9O Q0hBTkdFX1NDUklQVAorI2lmZGVmIE9OQ0hBTkdFX1NDUklQVF9BTExPVwogICAvKiAgRG9u J3QgZXhlY3V0ZSBhbnkgaW1wbGllZCBvbmNoYW5nZSBpbiBjYWxsZWQgZnVuY3Rpb25zICAq LwogICBhbGxvd19vbmNoYW5nZSA9IDA7CiAjZW5kaWYKKyNlbmRpZgogCiAgIC8qCiAgICAq IEluIGNhc2Ugd2UgbmVlZCB0byB1c2UgZGVsZXRlX2xpbmUsIGJ1aWxkIGFuIGFycmF5IGFu ZCBjb3VudCAKQEAgLTMxOSwxMiArMzIxLDE2IEBACiAKIAogI2lmZGVmIE9OQ0hBTkdFX1ND UklQVAorI2lmZGVmIE9OQ0hBTkdFX1NDUklQVF9BTExPVwogICBhbGxvd19vbmNoYW5nZSA9 IDE7CisjZW5kaWYKICAgLyogdGVsbCBvdGhlciBwcm9ncmFtcyB0aGF0IGRhdGEgaGFzIGNo YW5nZWQgKi8KICAgc25wcmludGYgKCBvbmNoYW5nZV9idWYsIE1BWF9CVUZGLCAiJXMiLCBk b21haW4gKTsKICAgY2FsbF9vbmNoYW5nZSAoICJhZGRfZG9tYWluIiApOworI2lmZGVmIE9O Q0hBTkdFX1NDUklQVF9BTExPVwogICBhbGxvd19vbmNoYW5nZSA9IDA7CiAjZW5kaWYKKyNl bmRpZgogCiAgIC8qIHJldHVybiBiYWNrIHRvIHRoZSBjYWxsZXJzIGRpcmVjdG9yeSBhbmQg cmV0dXJuIHN1Y2Nlc3MgKi8KICAgY2hkaXIoY2FsbGluZ19kaXIpOwpAQCAtNjUxLDEwICs2 NTcsMTIgQEAKIAkKIAogI2lmZGVmIE9OQ0hBTkdFX1NDUklQVAorI2lmZGVmIE9OQ0hBTkdF X1NDUklQVF9BTExPVwogIGludCB0ZW1wX29uY2hhbmdlOwogICAgIHRlbXBfb25jaGFuZ2Ug PSBhbGxvd19vbmNoYW5nZTsKICAgICBhbGxvd19vbmNoYW5nZSA9IDA7CiAjZW5kaWYKKyNl bmRpZgogCiAgIC8qIGNoZWNrIGdlY29zIGZvciA6IGNoYXJhY3RlcnMgLSBiYWQgKi8KICAg aWYgKCBzdHJjaHIoZ2Vjb3MsJzonKSE9MCkgcmV0dXJuKFZBX0JBRF9DSEFSKTsKQEAgLTcy Miw2ICs3MzAsMTggQEAKICAgICByZXR1cm4oVkFfTk9fQVVUSF9DT05ORUNUSU9OKTsKICAg fQogCisjaWZkZWYgT05DSEFOR0VfU0NSSVBUCisjaWZkZWYgT05DSEFOR0VfU0NSSVBUX0FM TE9XCisgIGFsbG93X29uY2hhbmdlID0gdGVtcF9vbmNoYW5nZTsKKyNlbmRpZgorICAvKiB0 ZWxsIG90aGVyIHByb2dyYW1zIHRoYXQgZGF0YSBoYXMgY2hhbmdlZCAqLworICBzbnByaW50 ZiAoIG9uY2hhbmdlX2J1ZiwgTUFYX0JVRkYsICIlc0AlcyIsIHVzZXJuYW1lLCBkb21haW4g KTsKKyAgY2FsbF9vbmNoYW5nZSAoICJhZGRfdXNlciIgKTsKKyNpZmRlZiBPTkNIQU5HRV9T Q1JJUFRfQUxMT1cKKyAgYWxsb3dfb25jaGFuZ2UgPSAwOworI2VuZGlmCisjZW5kaWYKKwog ICBpZiAobGltaXRzLmRlZmF1bHRxdW90YSA+IDApIHsKICAgICBpZiAobGltaXRzLmRlZmF1 bHRtYXhtc2djb3VudCA+IDApCiAgICAgICBzbnByaW50ZiAocXVvdGEsIHNpemVvZihxdW90 YSksICIlZFMsJWRDIiwgbGltaXRzLmRlZmF1bHRxdW90YSwKQEAgLTc2NywxMiArNzg3LDEw IEBACiAgIGNoZGlyKGNhbGxpbmdfZGlyKTsKIAogI2lmZGVmIE9OQ0hBTkdFX1NDUklQVAot ICBhbGxvd19vbmNoYW5nZSA9IHRlbXBfb25jaGFuZ2U7Ci0gIC8qIHRlbGwgb3RoZXIgcHJv Z3JhbXMgdGhhdCBkYXRhIGhhcyBjaGFuZ2VkICovCi0gIHNucHJpbnRmICggb25jaGFuZ2Vf YnVmLCBNQVhfQlVGRiwgIiVzQCVzIiwgdXNlcm5hbWUsIGRvbWFpbiApOwotICBjYWxsX29u Y2hhbmdlICggImFkZF91c2VyIiApOworI2lmZGVmIE9OQ0hBTkdFX1NDUklQVF9BTExPVwog ICBhbGxvd19vbmNoYW5nZSA9IDE7CiAjZW5kaWYKKyNlbmRpZgogCiAgIHJldHVybihWQV9T VUNDRVNTKTsKIH0KQEAgLTQzNTYsMTUgKzQzNzQsMTkgQEAKICAqIDIwMDctMDctMTQgam1z MSAtIHN1cHByZXNzaW5nICJPTkNIQU5HRSBzY3JpcHQgbm90IGZvdW5kIiBtZXNzYWdlLgog ICovCiBjaGFyIG9uY2hhbmdlX2J1ZltNQVhfQlVGRl07CisjaWZkZWYgT05DSEFOR0VfU0NS SVBUX0FMTE9XCiBpbnQgYWxsb3dfb25jaGFuZ2U9MTsKKyNlbmRpZgogaW50IGNhbGxfb25j aGFuZ2UgKCBjb25zdCBjaGFyICpjbWQgKQogewogCWNoYXIgcGF0aFtNQVhfQlVGRl07CiAJ aW50IHBpZCwgcnY7CiAKKyNpZmRlZiBPTkNIQU5HRV9TQ1JJUFRfQUxMT1cKICAgICAgICAg aWYoICFhbGxvd19vbmNoYW5nZSApICB7CiAgICAgICAgICAgIHJldHVybigwKTsKICAgICAg ICAgICAgfQorI2VuZGlmCiAKIAkvKiBidWlsZCB0aGUgbmFtZSAqLwogCXNucHJpbnRmICgg cGF0aCwgc2l6ZW9mKHBhdGgpLCAiJXMvb25jaGFuZ2UiLCBWUE9QTUFJTF9ESVJfRVRDICk7 CmRpZmYgLXVQciB2cG9wbWFpbC01LjUuMC5vcmlnL3Zwb3BtYWlsLmggdnBvcG1haWwtNS41 LjAvdnBvcG1haWwuaAotLS0gdnBvcG1haWwtNS41LjAub3JpZy92cG9wbWFpbC5oCTIwMTAt MTEtMDUgMTg6Mzc6MjQuMDAwMDAwMDAwICswMDAwCisrKyB2cG9wbWFpbC01LjUuMC92cG9w bWFpbC5oCTIwMTUtMDktMDQgMTI6NDI6MDAuMzEzMDk1NTA2ICswMTAwCkBAIC0zNjcsNyAr MzY3LDkgQEAKICNpZmRlZiBPTkNIQU5HRV9TQ1JJUFQKIC8qIG9uY2hhbmdlIGZ1bmN0aW9u ICovCiBleHRlcm4gY2hhciBvbmNoYW5nZV9idWZbTUFYX0JVRkZdOworI2lmZGVmIE9OQ0hB TkdFX1NDUklQVF9BTExPVwogZXh0ZXJuIGludCBhbGxvd19vbmNoYW5nZTsKKyNlbmRpZgog aW50IGNhbGxfb25jaGFuZ2UoKTsKICNlbmRpZgogCg== --------------030903020101030307010601--