Re: [SPAM] valias remove alias
Drew Wells <[email protected]> Fri, 18 Sep 2015 14:11:12 +0100
| Newsgroups | gmane.mail.vpopmail |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format. --------------090402080607020604080101 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 09/17/2015 04:55 PM, Matt Brookings wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On 09/17/2015 10:52 AM, Drew Wells wrote: >>>> I basically did a diff from 5.4.29 to 5.4.33 and implemented that diff to 5.5.0, some of it >>>> had already been done to 5.5.0 and alot of it centered around the snprintf tidy up's and the >>>> string_list implementation. The attached patch does not include any of the changes I >>>> recently sent to the mailing list, just the changes from 5.4.[29->33]. >> This patch was generated from the 5.5.0 .tar.bz2, I had a look at SVN trunk and from what I could >> see, it was 5.4.34. > The trunk on Sourceforge is the current 5.5.0. The 5.4 series only appears in the tags and branches > area now. I'll look over this patch and get it applied. Thanks for putting it together! > And lastly for now, someone has done a lot of work in tidying up/making safe all the calls to snprintf(), the attached patch completes this work (I think). This patch comes after the 5.4.[29->33] patch I did. !DSPAM:55fc0d7341552094314991! --------------090402080607020604080101 Content-Type: text/plain; charset=UTF-8; name="vpopmail-5.5.0-snprintf.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="vpopmail-5.5.0-snprintf.patch" ZGlmZiAtdVByIHZwb3BtYWlsLTUuNS4wLm9yaWcvdnBvcG1haWxkLmMgdnBvcG1haWwtNS41 LjAvdnBvcG1haWxkLmMKLS0tIHZwb3BtYWlsLTUuNS4wLm9yaWcvdnBvcG1haWxkLmMJMjAx NS0wOS0xOCAxMzo1ODoyMi4wNDgwOTM2NDIgKzAxMDAKKysrIHZwb3BtYWlsLTUuNS4wL3Zw b3BtYWlsZC5jCTIwMTUtMDktMTggMTQ6MDg6MTEuMTE3MDk1MTIyICswMTAwCkBAIC00Mjks NyArNDI5LDcgQEAKICAgICByZXR1cm4oLTIpOwogICB9IAogCi0vLyAgc25wcmludGYoV3Jp dGVCdWYsc2l6ZW9mKFdyaXRlQnVmKSwgUkVUX09LX01PUkUpOworLy8gIHNucHJpbnRmKFdy aXRlQnVmLHNpemVvZihXcml0ZUJ1ZiksICIlcyIsIFJFVF9PS19NT1JFKTsKIC8vICB3YWl0 X3dyaXRlKCk7CiAKICAgQXV0aFZwdy5wd19uYW1lID0gc3RyZHVwKHRtcHZwdy0+cHdfbmFt ZSk7CkBAIC00NjAsNyArNDYwLDcgQEAKICAgICBsb2dnZWRfaW4gPSAxOwogCiAgIGlmKG91 dHB1dF90eXBlIDwgMiApIHsKLSAgICBzbnByaW50ZihXcml0ZUJ1ZixzaXplb2YoV3JpdGVC dWYpLCBSRVRfT0tfTU9SRSk7CisgICAgc25wcmludGYoV3JpdGVCdWYsc2l6ZW9mKFdyaXRl QnVmKSwgIiVzIiwgUkVUX09LX01PUkUpOwogICAgIHdhaXRfd3JpdGUoKTsKIAogICAgIHNu cHJpbnRmKFdyaXRlQnVmLHNpemVvZihXcml0ZUJ1ZiksICJ2cG9wbWFpbF9kaXJfYmluICVz IiBSRVRfQ1JMRiwgVlBPUE1BSUxfRElSX0JJTik7CkBAIC00ODUsMTAgKzQ4NSwxMCBAQAog CiAgICAgc2VuZF91c2VyX2luZm8oJkF1dGhWcHcpOwogCi0gICAgc25wcmludGYoV3JpdGVC dWYsIHNpemVvZihXcml0ZUJ1ZiksICIuIiBSRVRfQ1JMRik7CisgICAgc25wcmludGYoV3Jp dGVCdWYsIHNpemVvZihXcml0ZUJ1ZiksICIlcyIsICIuIiBSRVRfQ1JMRik7CiAgIH0KICAg ZWxzZQotICAgIHNucHJpbnRmKFdyaXRlQnVmLHNpemVvZihXcml0ZUJ1ZiksIFJFVF9PSyk7 CisgICAgc25wcmludGYoV3JpdGVCdWYsc2l6ZW9mKFdyaXRlQnVmKSwgIiVzIiwgUkVUX09L KTsKIAogICByZXR1cm4oMCk7CiB9CkBAIC01MjUsNyArNTI1LDcgQEAKICAgICByZXR1cm4o LTEpOwogICB9CiAKLSAgc25wcmludGYoV3JpdGVCdWYsc2l6ZW9mKFdyaXRlQnVmKSwgUkVU X09LKTsKKyAgc25wcmludGYoV3JpdGVCdWYsc2l6ZW9mKFdyaXRlQnVmKSwgIiVzIiwgUkVU X09LKTsKICAgaWYgKChyZXQ9dmFkZHVzZXIoVG1wVXNlciwgVG1wRG9tYWluLCBwYXNzd29y ZCwgVG1wVXNlciwgVVNFX1BPUCApKSA8IDAgKSB7CiAgICAgc25wcmludGYoV3JpdGVCdWYs c2l6ZW9mKFdyaXRlQnVmKSxSRVRfRVJSICIwLjMwNSAlcyIgUkVUX0NSTEYsIHZlcnJvcihy ZXQpKTsKICAgICByZXR1cm4oLTEpOwpAQCAtNTY0LDcgKzU2NCw3IEBACiAgICAgcmV0dXJu KC0xKTsKICAgfQogCi0gIHNucHJpbnRmKFdyaXRlQnVmLHNpemVvZihXcml0ZUJ1ZiksIFJF VF9PSyk7CisgIHNucHJpbnRmKFdyaXRlQnVmLHNpemVvZihXcml0ZUJ1ZiksICIlcyIsIFJF VF9PSyk7CiAgIHJldHVybigwKTsKIH0KIApAQCAtNjI2LDcgKzYyNiw3IEBACiAgIH0KICAg CiAKLSAgc25wcmludGYoV3JpdGVCdWYsc2l6ZW9mKFdyaXRlQnVmKSwgUkVUX09LKTsKKyAg c25wcmludGYoV3JpdGVCdWYsc2l6ZW9mKFdyaXRlQnVmKSwgIiVzIiwgUkVUX09LKTsKICAg d2FpdF93cml0ZSgpOwogCiAgIHdoaWxlKGZnZXRzKFJlYWRCdWYsc2l6ZW9mKFJlYWRCdWYp LHN0ZGluKSE9TlVMTCApIHsKQEAgLTc1MSw3ICs3NTEsNyBAQAogICBpZiAoIChyZXQ9dmF1 dGhfc2V0cHcoIHRtcHZwdywgVG1wRG9tYWluICkpICE9IDAgKSB7CiAgICAgc25wcmludGYo V3JpdGVCdWYsc2l6ZW9mKFdyaXRlQnVmKSxSRVRfRVJSICIwLjUwNyAlcyIgUkVUX0NSTEYs IHZlcnJvcihyZXQpKTsgCiAgIH0gZWxzZSB7Ci0gICAgc25wcmludGYoV3JpdGVCdWYsc2l6 ZW9mKFdyaXRlQnVmKSwgUkVUX09LKTsKKyAgICBzbnByaW50ZihXcml0ZUJ1ZixzaXplb2Yo V3JpdGVCdWYpLCAiJXMiLCBSRVRfT0spOwogICB9CiAKICAgcmV0dXJuKDApOwpAQCAtNzg3 LDExICs3ODcsMTEgQEAKICAgICByZXR1cm4oLTEpOwogICB9IAogCi0gIHNucHJpbnRmKFdy aXRlQnVmLHNpemVvZihXcml0ZUJ1ZiksIFJFVF9PS19NT1JFKTsKKyAgc25wcmludGYoV3Jp dGVCdWYsc2l6ZW9mKFdyaXRlQnVmKSwgIiVzIiwgUkVUX09LX01PUkUpOwogICB3YWl0X3dy aXRlKCk7CiAKICAgc2VuZF91c2VyX2luZm8odG1wdnB3KTsKLSAgc25wcmludGYoV3JpdGVC dWYsIHNpemVvZihXcml0ZUJ1ZiksICIuIiBSRVRfQ1JMRik7CisgIHNucHJpbnRmKFdyaXRl QnVmLCBzaXplb2YoV3JpdGVCdWYpLCAiJXMiLCAiLiIgUkVUX0NSTEYpOwogICByZXR1cm4o MCk7CiAKIH0KQEAgLTgyNiwxMjAgKzgyNiw3OSBAQAogCiAgIH0gZWxzZSB7CiAKLSAgICBp ZiAoIHRtcHZwdy0+cHdfZ2lkICYgTk9fUEFTU1dEX0NITkcgKSB7Ci0gICAgICBzbnByaW50 ZihXcml0ZUJ1Ziwgc2l6ZW9mKFdyaXRlQnVmKSwgIm5vX3Bhc3N3b3JkX2NoYW5nZSAxIiBS RVRfQ1JMRik7Ci0gICAgfSBlbHNlIHsKLSAgICAgIHNucHJpbnRmKFdyaXRlQnVmLCBzaXpl b2YoV3JpdGVCdWYpLCAibm9fcGFzc3dvcmRfY2hhbmdlIDAiIFJFVF9DUkxGKTsKLSAgICB9 CisgICAgc25wcmludGYoV3JpdGVCdWYsIHNpemVvZihXcml0ZUJ1ZiksICJub19wYXNzd29y ZF9jaGFuZ2UgJWQiIFJFVF9DUkxGLAorICAgICAgdG1wdnB3LT5wd19naWQgJiBOT19QQVNT V0RfQ0hORyA/IDEgOiAwKTsKICAgICB3YWl0X3dyaXRlKCk7CiAKLSAgICBpZiAoIHRtcHZw dy0+cHdfZ2lkICYgTk9fUE9QICkgewotICAgICAgc25wcmludGYoV3JpdGVCdWYsIHNpemVv ZihXcml0ZUJ1ZiksICJub19wb3AgMSIgUkVUX0NSTEYpOwotICAgIH0gZWxzZSB7Ci0gICAg ICBzbnByaW50ZihXcml0ZUJ1Ziwgc2l6ZW9mKFdyaXRlQnVmKSwgIm5vX3BvcCAwIiBSRVRf Q1JMRik7Ci0gICAgfQorICAgIHNucHJpbnRmKFdyaXRlQnVmLCBzaXplb2YoV3JpdGVCdWYp LCAibm9fcG9wICVkIiBSRVRfQ1JMRiwKKyAgICAgIHRtcHZwdy0+cHdfZ2lkICYgTk9fUE9Q ID8gMSA6IDApOwogICAgIHdhaXRfd3JpdGUoKTsKIAotICAgIGlmICggdG1wdnB3LT5wd19n aWQgJiBOT19XRUJNQUlMICkgewotICAgICAgc25wcmludGYoV3JpdGVCdWYsIHNpemVvZihX cml0ZUJ1ZiksICJub193ZWJtYWlsIDEiIFJFVF9DUkxGKTsKLSAgICB9IGVsc2UgewotICAg ICAgc25wcmludGYoV3JpdGVCdWYsIHNpemVvZihXcml0ZUJ1ZiksICJub193ZWJtYWlsIDAi IFJFVF9DUkxGKTsKLSAgICB9CisgICAgc25wcmludGYoV3JpdGVCdWYsIHNpemVvZihXcml0 ZUJ1ZiksICJub193ZWJtYWlsICVkIiBSRVRfQ1JMRiwKKyAgICAgIHRtcHZwdy0+cHdfZ2lk ICYgTk9fV0VCTUFJTCA/IDEgOiAwKTsKICAgICB3YWl0X3dyaXRlKCk7CiAKLSAgICBpZiAo IHRtcHZwdy0+cHdfZ2lkICYgTk9fSU1BUCApIHsKLSAgICAgIHNucHJpbnRmKFdyaXRlQnVm LCBzaXplb2YoV3JpdGVCdWYpLCAibm9faW1hcCAxIiBSRVRfQ1JMRik7Ci0gICAgfSBlbHNl IHsKLSAgICAgIHNucHJpbnRmKFdyaXRlQnVmLCBzaXplb2YoV3JpdGVCdWYpLCAibm9faW1h cCAwIiBSRVRfQ1JMRik7Ci0gICAgfQorICAgIHNucHJpbnRmKFdyaXRlQnVmLCBzaXplb2Yo V3JpdGVCdWYpLCAibm9faW1hcCAlZCIgUkVUX0NSTEYsCisgICAgICB0bXB2cHctPnB3X2dp ZCAmIE5PX0lNQVAgPyAxIDogMCk7CiAgICAgd2FpdF93cml0ZSgpOwogCi0gICAgaWYgKCB0 bXB2cHctPnB3X2dpZCAmIEJPVU5DRV9NQUlMICkgewotICAgICAgc25wcmludGYoV3JpdGVC dWYsIHNpemVvZihXcml0ZUJ1ZiksICJib3VuY2VfbWFpbCAxIiBSRVRfQ1JMRik7Ci0gICAg fSBlbHNlIHsKLSAgICAgIHNucHJpbnRmKFdyaXRlQnVmLCBzaXplb2YoV3JpdGVCdWYpLCAi Ym91bmNlX21haWwgMCIgUkVUX0NSTEYpOwotICAgIH0KKyAgICBzbnByaW50ZihXcml0ZUJ1 Ziwgc2l6ZW9mKFdyaXRlQnVmKSwgImJvdW5jZV9tYWlsICVkIiBSRVRfQ1JMRiwKKyAgICAg IHRtcHZwdy0+cHdfZ2lkICYgQk9VTkNFX01BSUwgPyAxIDogMCk7CiAgICAgd2FpdF93cml0 ZSgpOwotICAgIGlmICggdG1wdnB3LT5wd19naWQgJiBOT19SRUxBWSApIHsKLSAgICAgIHNu cHJpbnRmKFdyaXRlQnVmLCBzaXplb2YoV3JpdGVCdWYpLCAibm9fcmVsYXkgMSIgUkVUX0NS TEYpOwotICAgIH0gZWxzZSB7Ci0gICAgICBzbnByaW50ZihXcml0ZUJ1Ziwgc2l6ZW9mKFdy aXRlQnVmKSwgIm5vX3JlbGF5IDAiIFJFVF9DUkxGKTsKLSAgICB9CisKKyAgICBzbnByaW50 ZihXcml0ZUJ1Ziwgc2l6ZW9mKFdyaXRlQnVmKSwgIm5vX3JlbGF5ICVkIiBSRVRfQ1JMRiwK KyAgICAgIHRtcHZwdy0+cHdfZ2lkICYgTk9fUkVMQVkgPyAxIDogMCwgIFJFVF9DUkxGKTsK ICAgICB3YWl0X3dyaXRlKCk7Ci0gICAgaWYgKCB0bXB2cHctPnB3X2dpZCAmIE5PX0RJQUxV UCApIHsKLSAgICAgIHNucHJpbnRmKFdyaXRlQnVmLCBzaXplb2YoV3JpdGVCdWYpLCAibm9f ZGlhbHVwIDEiIFJFVF9DUkxGKTsKLSAgICB9IGVsc2UgewotICAgICAgc25wcmludGYoV3Jp dGVCdWYsIHNpemVvZihXcml0ZUJ1ZiksICJub19kaWFsdXAgMCIgUkVUX0NSTEYpOwotICAg IH0KKworICAgIHNucHJpbnRmKFdyaXRlQnVmLCBzaXplb2YoV3JpdGVCdWYpLCAibm9fZGlh bHVwICVkIiBSRVRfQ1JMRiwKKyAgICAgIHRtcHZwdy0+cHdfZ2lkICYgTk9fRElBTFVQID8g MSA6IDApOwogICAgIHdhaXRfd3JpdGUoKTsKLSAgICBpZiAoIHRtcHZwdy0+cHdfZ2lkICYg Vl9VU0VSMCApIHsKLSAgICAgIHNucHJpbnRmKFdyaXRlQnVmLCBzaXplb2YoV3JpdGVCdWYp LCAidXNlcl9mbGFnXzAgMSIgUkVUX0NSTEYpOwotICAgIH0gZWxzZSB7Ci0gICAgICBzbnBy aW50ZihXcml0ZUJ1Ziwgc2l6ZW9mKFdyaXRlQnVmKSwgInVzZXJfZmxhZ18wIDAiIFJFVF9D UkxGKTsKLSAgICB9CisKKyAgICBzbnByaW50ZihXcml0ZUJ1Ziwgc2l6ZW9mKFdyaXRlQnVm KSwgInVzZXJfZmxhZ18wICVkIiBSRVRfQ1JMRiwKKyAgICAgIHRtcHZwdy0+cHdfZ2lkICYg Vl9VU0VSMCA/IDEgOiAwKTsKICAgICB3YWl0X3dyaXRlKCk7Ci0gICAgaWYgKCB0bXB2cHct PnB3X2dpZCAmIFZfVVNFUjEgKSB7Ci0gICAgICBzbnByaW50ZihXcml0ZUJ1Ziwgc2l6ZW9m KFdyaXRlQnVmKSwgInVzZXJfZmxhZ18xIDEiIFJFVF9DUkxGKTsKLSAgICB9IGVsc2Ugewot ICAgICAgc25wcmludGYoV3JpdGVCdWYsIHNpemVvZihXcml0ZUJ1ZiksICJ1c2VyX2ZsYWdf MSAwIiBSRVRfQ1JMRik7Ci0gICAgfQorCisgICAgc25wcmludGYoV3JpdGVCdWYsIHNpemVv ZihXcml0ZUJ1ZiksICJ1c2VyX2ZsYWdfMSAlZCIgUkVUX0NSTEYsCisgICAgICB0bXB2cHct PnB3X2dpZCAmIFZfVVNFUjEgPyAxIDogMCk7CiAgICAgd2FpdF93cml0ZSgpOwotICAgIGlm ICggdG1wdnB3LT5wd19naWQgJiBWX1VTRVIyICkgewotICAgICAgc25wcmludGYoV3JpdGVC dWYsIHNpemVvZihXcml0ZUJ1ZiksICJ1c2VyX2ZsYWdfMiAxIiBSRVRfQ1JMRik7Ci0gICAg fSBlbHNlIHsKLSAgICAgIHNucHJpbnRmKFdyaXRlQnVmLCBzaXplb2YoV3JpdGVCdWYpLCAi dXNlcl9mbGFnXzIgMCIgUkVUX0NSTEYpOwotICAgIH0KKworICAgIHNucHJpbnRmKFdyaXRl QnVmLCBzaXplb2YoV3JpdGVCdWYpLCAidXNlcl9mbGFnXzIgJWQiIFJFVF9DUkxGLAorICAg ICAgdG1wdnB3LT5wd19naWQgJiBWX1VTRVIyID8gMSA6IDApOwogICAgIHdhaXRfd3JpdGUo KTsKLSAgICBpZiAoIHRtcHZwdy0+cHdfZ2lkICYgVl9VU0VSMyApIHsKLSAgICAgIHNucHJp bnRmKFdyaXRlQnVmLCBzaXplb2YoV3JpdGVCdWYpLCAidXNlcl9mbGFnXzMgMSIgUkVUX0NS TEYpOwotICAgIH0gZWxzZSB7Ci0gICAgICBzbnByaW50ZihXcml0ZUJ1Ziwgc2l6ZW9mKFdy aXRlQnVmKSwgInVzZXJfZmxhZ18zIDAiIFJFVF9DUkxGKTsKLSAgICB9CisKKyAgICBzbnBy aW50ZihXcml0ZUJ1Ziwgc2l6ZW9mKFdyaXRlQnVmKSwgInVzZXJfZmxhZ18zICVkIiBSRVRf Q1JMRiwKKyAgICAgIHRtcHZwdy0+cHdfZ2lkICYgVl9VU0VSMyA/IDEgOiAwKTsKICAgICB3 YWl0X3dyaXRlKCk7Ci0gICAgaWYgKCB0bXB2cHctPnB3X2dpZCAmIE5PX1NNVFAgKSB7Ci0g ICAgICBzbnByaW50ZihXcml0ZUJ1Ziwgc2l6ZW9mKFdyaXRlQnVmKSwgIm5vX3NtdHAgMSIg UkVUX0NSTEYpOwotICAgIH0gZWxzZSB7Ci0gICAgICBzbnByaW50ZihXcml0ZUJ1Ziwgc2l6 ZW9mKFdyaXRlQnVmKSwgIm5vX3NtdHAgMCIgUkVUX0NSTEYpOwotICAgIH0KKworICAgIHNu cHJpbnRmKFdyaXRlQnVmLCBzaXplb2YoV3JpdGVCdWYpLCAibm9fc210cCAlZCIgUkVUX0NS TEYsCisgICAgICB0bXB2cHctPnB3X2dpZCAmIE5PX1NNVFAgPyAxIDogMCk7CiAgICAgd2Fp dF93cml0ZSgpOwotICAgIGlmICggdG1wdnB3LT5wd19naWQgJiBRQV9BRE1JTiApIHsKLSAg ICAgIHNucHJpbnRmKFdyaXRlQnVmLCBzaXplb2YoV3JpdGVCdWYpLCAiZG9tYWluX2FkbWlu X3ByaXZpbGVnZXMgMSIgUkVUX0NSTEYpOwotICAgIH0gZWxzZSB7Ci0gICAgICBzbnByaW50 ZihXcml0ZUJ1Ziwgc2l6ZW9mKFdyaXRlQnVmKSwgImRvbWFpbl9hZG1pbl9wcml2aWxlZ2Vz IDAiIFJFVF9DUkxGKTsKLSAgICB9CisKKyAgICBzbnByaW50ZihXcml0ZUJ1Ziwgc2l6ZW9m KFdyaXRlQnVmKSwgImRvbWFpbl9hZG1pbl9wcml2aWxlZ2VzICVkIiBSRVRfQ1JMRiwKKyAg ICAgIHRtcHZwdy0+cHdfZ2lkICYgUUFfQURNSU4gPyAxIDogMCk7CiAgICAgd2FpdF93cml0 ZSgpOwotICAgIGlmICggdG1wdnB3LT5wd19naWQgJiBWX09WRVJSSURFICkgewotICAgICAg c25wcmludGYoV3JpdGVCdWYsIHNpemVvZihXcml0ZUJ1ZiksICJvdmVycmlkZV9kb21haW5f bGltaXRzIDEiIFJFVF9DUkxGKTsKLSAgICB9IGVsc2UgewotICAgICAgc25wcmludGYoV3Jp dGVCdWYsIHNpemVvZihXcml0ZUJ1ZiksICJvdmVycmlkZV9kb21haW5fbGltaXRzIDAiIFJF VF9DUkxGKTsKLSAgICB9CisKKyAgICBzbnByaW50ZihXcml0ZUJ1Ziwgc2l6ZW9mKFdyaXRl QnVmKSwgIm92ZXJyaWRlX2RvbWFpbl9saW1pdHMgJWQiIFJFVF9DUkxGLAorICAgICAgdG1w dnB3LT5wd19naWQgJiBWX09WRVJSSURFID8gMSA6IDApOwogICAgIHdhaXRfd3JpdGUoKTsK LSAgICBpZiAoIHRtcHZwdy0+cHdfZ2lkICYgTk9fU1BBTUFTU0FTU0lOICkgewotICAgICAg c25wcmludGYoV3JpdGVCdWYsIHNpemVvZihXcml0ZUJ1ZiksICJub19zcGFtYXNzYXNzaW4g MSIgUkVUX0NSTEYpOwotICAgIH0gZWxzZSB7Ci0gICAgICBzbnByaW50ZihXcml0ZUJ1Ziwg c2l6ZW9mKFdyaXRlQnVmKSwgIm5vX3NwYW1hc3Nhc3NpbiAwIiBSRVRfQ1JMRik7Ci0gICAg fQorCisgICAgc25wcmludGYoV3JpdGVCdWYsIHNpemVvZihXcml0ZUJ1ZiksICJub19zcGFt YXNzYXNzaW4gJWQiIFJFVF9DUkxGLAorICAgICAgdG1wdnB3LT5wd19naWQgJiBOT19TUEFN QVNTQVNTSU4gPyAxIDogMCk7CiAgICAgd2FpdF93cml0ZSgpOwotICAgIGlmICggdG1wdnB3 LT5wd19naWQgJiBERUxFVEVfU1BBTSApIHsKLSAgICAgIHNucHJpbnRmKFdyaXRlQnVmLCBz aXplb2YoV3JpdGVCdWYpLCAiZGVsZXRlX3NwYW0gMSIgUkVUX0NSTEYpOwotICAgIH0gZWxz ZSB7Ci0gICAgICBzbnByaW50ZihXcml0ZUJ1Ziwgc2l6ZW9mKFdyaXRlQnVmKSwgImRlbGV0 ZV9zcGFtIDAiIFJFVF9DUkxGKTsKLSAgICB9CisKKyAgICBzbnByaW50ZihXcml0ZUJ1Ziwg c2l6ZW9mKFdyaXRlQnVmKSwgImRlbGV0ZV9zcGFtICVkIiBSRVRfQ1JMRiwKKyAgICAgIHRt cHZwdy0+cHdfZ2lkICYgREVMRVRFX1NQQU0gPyAxIDogMCk7CiAgICAgd2FpdF93cml0ZSgp OwotICAgIGlmICggdG1wdnB3LT5wd19naWQgJiBOT19NQUlMRFJPUCApIHsKLSAgICAgIHNu cHJpbnRmKFdyaXRlQnVmLCBzaXplb2YoV3JpdGVCdWYpLCAibm9fbWFpbGRyb3AgMSIgUkVU X0NSTEYpOwotICAgIH0gZWxzZSB7Ci0gICAgICBzbnByaW50ZihXcml0ZUJ1Ziwgc2l6ZW9m KFdyaXRlQnVmKSwgIm5vX21haWxkcm9wIDAiIFJFVF9DUkxGKTsKLSAgICB9CisKKyAgICBz bnByaW50ZihXcml0ZUJ1Ziwgc2l6ZW9mKFdyaXRlQnVmKSwgIm5vX21haWxkcm9wICVkIiBS RVRfQ1JMRiwKKyAgICAgIHRtcHZwdy0+cHdfZ2lkICYgTk9fTUFJTERST1ApOwogICAgIHdh aXRfd3JpdGUoKTsKLSAgICBpZiAoIHRtcHZwdy0+cHdfZ2lkICYgU0FfQURNSU4gKSB7Ci0g ICAgICBzbnByaW50ZihXcml0ZUJ1Ziwgc2l6ZW9mKFdyaXRlQnVmKSwgInN5c3RlbV9hZG1p bl9wcml2aWxlZ2VzIDEiIFJFVF9DUkxGKTsKLSAgICB9IGVsc2UgewotICAgICAgc25wcmlu dGYoV3JpdGVCdWYsIHNpemVvZihXcml0ZUJ1ZiksICJzeXN0ZW1fYWRtaW5fcHJpdmlsZWdl cyAwIiBSRVRfQ1JMRik7Ci0gICAgfQorCisgICAgc25wcmludGYoV3JpdGVCdWYsIHNpemVv ZihXcml0ZUJ1ZiksICJzeXN0ZW1fYWRtaW5fcHJpdmlsZWdlcyAlZCIgUkVUX0NSTEYsCisg ICAgICB0bXB2cHctPnB3X2dpZCAmIFNBX0FETUlOID8gMSA6IDApOwogICAgIHdhaXRfd3Jp dGUoKTsKICAgfQotICBzbnByaW50ZihXcml0ZUJ1Ziwgc2l6ZW9mKFdyaXRlQnVmKSwgIi4i IFJFVF9DUkxGKTsKKyAgc25wcmludGYoV3JpdGVCdWYsIHNpemVvZihXcml0ZUJ1ZiksICIl cyIsICIuIiBSRVRfQ1JMRik7CiAKIH0KIApAQCAtOTgzLDcgKzk0Miw3IEBACiAgICAgcmV0 dXJuKC0xKTsKICAgfQogCi0gIHNucHJpbnRmKFdyaXRlQnVmLHNpemVvZihXcml0ZUJ1Ziks IFJFVF9PSyk7CisgIHNucHJpbnRmKFdyaXRlQnVmLHNpemVvZihXcml0ZUJ1ZiksICIlcyIs IFJFVF9PSyk7CiAgIHJldHVybigwKTsKIH0KIApAQCAtMTAzMiw3ICs5OTEsNyBAQAogICAg IHJldHVybigtMSk7CiAgIH0KIAotICBzbnByaW50ZihXcml0ZUJ1ZixzaXplb2YoV3JpdGVC dWYpLCBSRVRfT0spOworICBzbnByaW50ZihXcml0ZUJ1ZixzaXplb2YoV3JpdGVCdWYpLCAi JXMiLCBSRVRfT0spOwogICByZXR1cm4oMCk7CiB9CiAKQEAgLTEwODEsNyArMTA0MCw3IEBA CiAgICAgcmV0dXJuKC0xKTsKICAgfQogCi0gIHNucHJpbnRmKFdyaXRlQnVmLHNpemVvZihX cml0ZUJ1ZiksIFJFVF9PSyk7CisgIHNucHJpbnRmKFdyaXRlQnVmLHNpemVvZihXcml0ZUJ1 ZiksICIlcyIsIFJFVF9PSyk7CiAgIHJldHVybigwKTsKIH0KIApAQCAtMTEyNSw3ICsxMDg0 LDcgQEAKICAgICByZXR1cm4oLTEpOwogICB9CiAKLSAgc25wcmludGYoV3JpdGVCdWYsc2l6 ZW9mKFdyaXRlQnVmKSwgUkVUX09LKTsKKyAgc25wcmludGYoV3JpdGVCdWYsc2l6ZW9mKFdy aXRlQnVmKSwgIiVzIiwgUkVUX09LKTsKICAgcmV0dXJuKDApOwogfQogCkBAIC0xMTY2LDcg KzExMjUsNyBAQAogICAgIHJldHVybigtMSk7CiAgIH0KIAotICBzbnByaW50ZihXcml0ZUJ1 ZixzaXplb2YoV3JpdGVCdWYpLCBSRVRfT0spOworICBzbnByaW50ZihXcml0ZUJ1ZixzaXpl b2YoV3JpdGVCdWYpLCAiJXMiLCBSRVRfT0spOwogICByZXR1cm4oMCk7CiB9CiAKQEAgLTEx OTQsNyArMTE1Myw3IEBACiAgIC8qICBDbGVhciB0aGUgZG9tYWluIGluZm8gY2FjaGUgICov CiAgIHZnZXRfYXNzaWduKGR1bW15LCBOVUxMLCAwLCBOVUxMLCBOVUxMICk7CiAKLSAgc25w cmludGYoV3JpdGVCdWYsc2l6ZW9mKFdyaXRlQnVmKSwgUkVUX09LKTsKKyAgc25wcmludGYo V3JpdGVCdWYsc2l6ZW9mKFdyaXRlQnVmKSwgIiVzIiwgUkVUX09LKTsKICAgcmV0dXJuKDAp OwogfQogCkBAIC0xMjI5LDcgKzExODgsNyBAQAogICAgIH0KICAgfQogCi0gIHNucHJpbnRm KFdyaXRlQnVmLHNpemVvZihXcml0ZUJ1ZiksIFJFVF9PS19NT1JFKTsKKyAgc25wcmludGYo V3JpdGVCdWYsc2l6ZW9mKFdyaXRlQnVmKSwgIiVzIiwgUkVUX09LX01PUkUpOwogICB3YWl0 X3dyaXRlKCk7CiAKICAgc3RyaW5nX2xpc3RfaW5pdCgmYWxpYXNlcywgMTApOwpAQCAtMTI2 Nyw3ICsxMjI2LDcgQEAKIAogICBzdHJpbmdfbGlzdF9mcmVlKCZhbGlhc2VzKTsKIAotICBz bnByaW50ZihXcml0ZUJ1Ziwgc2l6ZW9mKFdyaXRlQnVmKSwgIi4iIFJFVF9DUkxGKTsKKyAg c25wcmludGYoV3JpdGVCdWYsIHNpemVvZihXcml0ZUJ1ZiksICIlcyIsICIuIiBSRVRfQ1JM Rik7CiAgIHJldHVybigwKTsKIH0KIApAQCAtMTcxOCw3ICsxNjc3LDcgQEAKICAgICByZXR1 cm4oLTEpOwogICB9CiAKLSAgc25wcmludGYoV3JpdGVCdWYsc2l6ZW9mKFdyaXRlQnVmKSwg UkVUX09LX01PUkUpOworICBzbnByaW50ZihXcml0ZUJ1ZixzaXplb2YoV3JpdGVCdWYpLCAi JXMiLCBSRVRfT0tfTU9SRSk7CiAgIHdhaXRfd3JpdGUoKTsKIAogICBjb3VudCA9IDA7CkBA IC0yMjM2LDcgKzIxOTUsNyBAQAogCiAgIGlmICh2YXV0aF9tb2R1bGVfZmVhdHVyZSgiSVBf QUxJQVNfRE9NQUlOUyIpKSB7CiAgIGlmICggdmRlbF9pcF9tYXAoaXAsZG9tYWluKSA8IDAg KSB7Ci0gICAgc25wcmludGYoV3JpdGVCdWYsc2l6ZW9mKFdyaXRlQnVmKSwgUkVUX0VSUiAi MC4zMjA0IGVycm9yIiBSRVRfQ1JMRik7CisgICAgc25wcmludGYoV3JpdGVCdWYsc2l6ZW9m KFdyaXRlQnVmKSwgIiVzIiwgUkVUX0VSUiAiMC4zMjA0IGVycm9yIiBSRVRfQ1JMRik7CiAg ICAgcmV0dXJuKC0xKTsKICAgfQogCkBAIC0yMzIzLDY2ICsyMjgyLDI2IEBACiAgIHNucHJp bnRmKFdyaXRlQnVmLHNpemVvZihXcml0ZUJ1ZiksICJkZWZhdWx0X21heG1zZ2NvdW50ICVs bHUiIFJFVF9DUkxGLCAKICAgICBteWxpbWl0cy5kZWZhdWx0bWF4bXNnY291bnQpOyB3YWl0 X3dyaXRlKCk7CiAKLSAgaWYgKG15bGltaXRzLmRpc2FibGVfcG9wKSAKLSAgICBzbnByaW50 ZihXcml0ZUJ1ZixzaXplb2YoV3JpdGVCdWYpLCAiJXMiLCAiZGlzYWJsZV9wb3AgMSIgUkVU X0NSTEYpOyAKLSAgZWxzZSAKLSAgICBzbnByaW50ZihXcml0ZUJ1ZixzaXplb2YoV3JpdGVC dWYpLCAiJXMiLCAiZGlzYWJsZV9wb3AgMCIgUkVUX0NSTEYpOyAKLQotICB3YWl0X3dyaXRl KCk7Ci0KLSAgaWYgKG15bGltaXRzLmRpc2FibGVfaW1hcCkgCi0gICAgc25wcmludGYoV3Jp dGVCdWYsc2l6ZW9mKFdyaXRlQnVmKSwgIiVzIiwgImRpc2FibGVfaW1hcCAxIiBSRVRfQ1JM Rik7Ci0gIGVsc2UKLSAgICBzbnByaW50ZihXcml0ZUJ1ZixzaXplb2YoV3JpdGVCdWYpLCAi JXMiLCAiZGlzYWJsZV9pbWFwIDAiIFJFVF9DUkxGKTsKLSAgd2FpdF93cml0ZSgpOwotCi0g IGlmIChteWxpbWl0cy5kaXNhYmxlX2RpYWx1cCkgCi0gICAgc25wcmludGYoV3JpdGVCdWYs c2l6ZW9mKFdyaXRlQnVmKSwgIiVzIiwgImRpc2FibGVfZGlhbHVwIDEiIFJFVF9DUkxGKTsK LSAgZWxzZSAKLSAgICBzbnByaW50ZihXcml0ZUJ1ZixzaXplb2YoV3JpdGVCdWYpLCAiJXMi LCAiZGlzYWJsZV9kaWFsdXAgMCIgUkVUX0NSTEYpOwotICB3YWl0X3dyaXRlKCk7Ci0KLSAg aWYgKG15bGltaXRzLmRpc2FibGVfcGFzc3dvcmRjaGFuZ2luZykgCi0gICAgc25wcmludGYo V3JpdGVCdWYsc2l6ZW9mKFdyaXRlQnVmKSwgIiVzIiwgImRpc2FibGVfcGFzc3dvcmRfY2hh bmdpbmcgMSIgUkVUX0NSTEYpOwotICBlbHNlIAotICAgIHNucHJpbnRmKFdyaXRlQnVmLHNp emVvZihXcml0ZUJ1ZiksICIlcyIsICJkaXNhYmxlX3Bhc3N3b3JkX2NoYW5naW5nIDAiIFJF VF9DUkxGKTsKLSAgd2FpdF93cml0ZSgpOwotCi0gIGlmIChteWxpbWl0cy5kaXNhYmxlX3dl Ym1haWwpCi0gICAgc25wcmludGYoV3JpdGVCdWYsc2l6ZW9mKFdyaXRlQnVmKSwgIiVzIiwg ImRpc2FibGVfd2VibWFpbCAxIiBSRVRfQ1JMRik7Ci0gIGVsc2UKLSAgICBzbnByaW50ZihX cml0ZUJ1ZixzaXplb2YoV3JpdGVCdWYpLCAiJXMiLCAiZGlzYWJsZV93ZWJtYWlsIDAiIFJF VF9DUkxGKTsKLSAgd2FpdF93cml0ZSgpOwotCi0gIGlmIChteWxpbWl0cy5kaXNhYmxlX3Jl bGF5KQotICAgIHNucHJpbnRmKFdyaXRlQnVmLHNpemVvZihXcml0ZUJ1ZiksICIlcyIsICJk aXNhYmxlX2V4dGVybmFsX3JlbGF5IDEiIFJFVF9DUkxGKTsKLSAgZWxzZQotICAgIHNucHJp bnRmKFdyaXRlQnVmLHNpemVvZihXcml0ZUJ1ZiksICIlcyIsICJkaXNhYmxlX2V4dGVybmFs X3JlbGF5IDAiIFJFVF9DUkxGKTsKLSAgd2FpdF93cml0ZSgpOwotCi0gIGlmIChteWxpbWl0 cy5kaXNhYmxlX3NtdHApCi0gICAgc25wcmludGYoV3JpdGVCdWYsc2l6ZW9mKFdyaXRlQnVm KSwgIiVzIiwgImRpc2FibGVfc210cCAxIiBSRVRfQ1JMRik7Ci0gIGVsc2UKLSAgICBzbnBy aW50ZihXcml0ZUJ1ZixzaXplb2YoV3JpdGVCdWYpLCAiJXMiLCAiZGlzYWJsZV9zbXRwIDAi IFJFVF9DUkxGKTsKLSAgd2FpdF93cml0ZSgpOwotCi0gIGlmIChteWxpbWl0cy5kaXNhYmxl X3NwYW1hc3Nhc3NpbikgCi0gICAgc25wcmludGYoV3JpdGVCdWYsc2l6ZW9mKFdyaXRlQnVm KSwgIiVzIiwgImRpc2FibGVfc3BhbWFzc2Fzc2luIDEiIFJFVF9DUkxGKTsKLSAgZWxzZSAK LSAgICBzbnByaW50ZihXcml0ZUJ1ZixzaXplb2YoV3JpdGVCdWYpLCAiJXMiLCAiZGlzYWJs ZV9zcGFtYXNzYXNzaW4gMCIgUkVUX0NSTEYpOwotICB3YWl0X3dyaXRlKCk7Ci0KLSAgaWYg KG15bGltaXRzLmRlbGV0ZV9zcGFtKQotICAgIHNucHJpbnRmKFdyaXRlQnVmLHNpemVvZihX cml0ZUJ1ZiksICIlcyIsICJkZWxldGVfc3BhbSAxIiBSRVRfQ1JMRik7Ci0gIGVsc2UKLSAg ICBzbnByaW50ZihXcml0ZUJ1ZixzaXplb2YoV3JpdGVCdWYpLCAiJXMiLCAiZGVsZXRlX3Nw YW0gMCIgUkVUX0NSTEYpOwotICB3YWl0X3dyaXRlKCk7Ci0KLSAgaWYgKG15bGltaXRzLmRp c2FibGVfbWFpbGRyb3ApIAotICAgIHNucHJpbnRmKFdyaXRlQnVmLHNpemVvZihXcml0ZUJ1 ZiksICIlcyIsICJkaXNhYmxlX21haWxkcm9wIDEiIFJFVF9DUkxGKTsKLSAgZWxzZSAKLSAg ICBzbnByaW50ZihXcml0ZUJ1ZixzaXplb2YoV3JpdGVCdWYpLCAiJXMiLCAiZGlzYWJsZV9t YWlsZHJvcCAwIiBSRVRfQ1JMRik7Ci0gIHdhaXRfd3JpdGUoKTsKKyAgc25wcmludGYoV3Jp dGVCdWYsc2l6ZW9mKFdyaXRlQnVmKSwgImRpc2FibGVfcG9wICVkIiBSRVRfQ1JMRiwKKyAg ICBteWxpbWl0cy5kaXNhYmxlX3BvcCA/IDEgOiAwKTsgd2FpdF93cml0ZSgpOworICBzbnBy aW50ZihXcml0ZUJ1ZixzaXplb2YoV3JpdGVCdWYpLCAiZGlzYWJsZV9pbWFwICVkIiBSRVRf Q1JMRiwKKyAgICBteWxpbWl0cy5kaXNhYmxlX2ltYXAgPyAxIDogMCk7IHdhaXRfd3JpdGUo KTsKKyAgc25wcmludGYoV3JpdGVCdWYsc2l6ZW9mKFdyaXRlQnVmKSwgImRpc2FibGVfZGlh bHVwICVkIiBSRVRfQ1JMRiwKKyAgICBteWxpbWl0cy5kaXNhYmxlX2RpYWx1cCA/IDEgOiAw KTsgd2FpdF93cml0ZSgpOworICBzbnByaW50ZihXcml0ZUJ1ZixzaXplb2YoV3JpdGVCdWYp LCAiZGlzYWJsZV9wYXNzd29yZF9jaGFuZ2luZyAlZCIgUkVUX0NSTEYsCisgICAgbXlsaW1p dHMuZGlzYWJsZV9wYXNzd29yZGNoYW5naW5nID8gMSA6IDApOyB3YWl0X3dyaXRlKCk7Cisg IHNucHJpbnRmKFdyaXRlQnVmLHNpemVvZihXcml0ZUJ1ZiksICJkaXNhYmxlX3dlYm1haWwg JWQiIFJFVF9DUkxGLAorICAgIG15bGltaXRzLmRpc2FibGVfd2VibWFpbCA/IDEgOiAwKTsg d2FpdF93cml0ZSgpOworICBzbnByaW50ZihXcml0ZUJ1ZixzaXplb2YoV3JpdGVCdWYpLCAi ZGlzYWJsZV9leHRlcm5hbF9yZWxheSAlZCIgUkVUX0NSTEYsCisgICAgbXlsaW1pdHMuZGlz YWJsZV9yZWxheSA/IDEgOiAwKTsgd2FpdF93cml0ZSgpOworICBzbnByaW50ZihXcml0ZUJ1 ZixzaXplb2YoV3JpdGVCdWYpLCAiZGlzYWJsZV9zbXRwICVkIiBSRVRfQ1JMRiwKKyAgICBt eWxpbWl0cy5kaXNhYmxlX3NtdHAgPyAxIDogMCk7IHdhaXRfd3JpdGUoKTsKKyAgc25wcmlu dGYoV3JpdGVCdWYsc2l6ZW9mKFdyaXRlQnVmKSwgImRpc2FibGVfc3BhbWFzc2Fzc2luICVk IiBSRVRfQ1JMRiwKKyAgICBteWxpbWl0cy5kaXNhYmxlX3NwYW1hc3Nhc3NpbiA/IDEgOiAw KTsgd2FpdF93cml0ZSgpOworICBzbnByaW50ZihXcml0ZUJ1ZixzaXplb2YoV3JpdGVCdWYp LCAiZGVsZXRlX3NwYW0gJWQiIFJFVF9DUkxGLAorICAgIG15bGltaXRzLmRlbGV0ZV9zcGFt ID8gMSA6IDApOyB3YWl0X3dyaXRlKCk7CisgIHNucHJpbnRmKFdyaXRlQnVmLHNpemVvZihX cml0ZUJ1ZiksICJkaXNhYmxlX21haWxkcm9wICVkIiBSRVRfQ1JMRiwKKyAgICBteWxpbWl0 cy5kaXNhYmxlX21haWxkcm9wID8gMSA6IDApOyB3YWl0X3dyaXRlKCk7CiAKICAgc25wcmlu dGYoV3JpdGVCdWYsc2l6ZW9mKFdyaXRlQnVmKSwgInBlcm1fYWNjb3VudCAlZCIgUkVUX0NS TEYsIAogICAgIG15bGltaXRzLnBlcm1fYWNjb3VudCk7IHdhaXRfd3JpdGUoKTsKQEAgLTI3 ODksNyArMjcwOCw3IEBACiAgICAgICB3YWl0X3dyaXRlKCk7CiAgICAgfQogICB9Ci0gIHNu cHJpbnRmKFdyaXRlQnVmLHNpemVvZihXcml0ZUJ1ZiksICIuIiBSRVRfQ1JMRik7CisgIHNu cHJpbnRmKFdyaXRlQnVmLHNpemVvZihXcml0ZUJ1ZiksICIlcyIsICIuIiBSRVRfQ1JMRik7 CiAKICAgcmV0dXJuKDEpOyAKIH0K --------------090402080607020604080101--