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--