[PATCH] sbin/ip6fw WARNS=6
------=_Part_156_5814627.1114244260084
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
WARNS=3D6 cleanup
------=_Part_156_5814627.1114244260084
Content-Type: text/plain; name="patch-ip6fw.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="patch-ip6fw.txt"
MSkgcmVtb3ZlIHVudXNlZCBnbG9iYWwgdmFyaWFibGUgKGxpbmVubykKMikgYWRkIGBjb25zdCcK
Mykgc3RhdGljaXplIGZ1bmN0aW9ucwo0KSBhZGp1c3Qge30gYXJyb3VuZCBpZi9lbHNlL3N3aXRj
aAo1KSBtYWtlIHNvbWUgaW5kZXggdmFyaWFibGUgdW5zaWduZWQoc2l6ZV90KQo2KSBhZGQgKCkg
YWZ0ZXIgc2l6ZW9mIHRvIG1ha2UgY29kZSBjbGVhcgo3KSByZW5hbWUgc3RhY2sgdmFyaWJsZSB0
byBhdm9pZCBzaGFkb3dpbmcKOCkgbWVyZ2Ugc3lzdGVtIGNhbGwgcmV0dXJuIHZhbHVlIGNoZWNr
IGludG8gYGlmJyBjbGF1c2UsIHdoaWNoIGVsaW1pbmF0ZXMgc29tZSBzdGFjayB2YXJpYWJsZQo5
KSB3YXJuKCIlcyIsICJYWFhYIikgLS0+IHdhcm4oIlhYWFgiKQoxMCkgaW4gbWFpbigpCiAgICBh
ZGQgcV9vcHQgdG8gYXZvaWQgZXhjZXNzaXZlIHN0cmR1cCgpIGNhbGwgaW4gYXJndW1lbnQgcGFy
c2UKICAgIGFzc2lnbiBhcmd2W29wdGluZCAtIDJdIHRvIG5vbi1jb25zdCB2YXJpYWJsZSB0byBi
eXBhc3MgdGhlIGNvbnN0IHdhcm5pbmcKCgpJbmRleDogaXA2ZncuYwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm
aWxlOiAvb3B0L2RmX2N2cy9zcmMvc2Jpbi9pcDZmdy9pcDZmdy5jLHYKcmV0cmlldmluZyByZXZp
c2lvbiAxLjgKZGlmZiAtdSAtcjEuOCBpcDZmdy5jCi0tLSBpcDZmdy5jCTE4IERlYyAyMDA0IDIx
OjQzOjM4IC0wMDAwCTEuOAorKysgaXA2ZncuYwkyMyBBcHIgMjAwNSAwODowODo0OSAtMDAwMApA
QCAtODMsOCArODMsNiBAQAogI2luY2x1ZGUgPG5ldGluZXQvdGNwLmg+CiAjaW5jbHVkZSA8YXJw
YS9pbmV0Lmg+CiAKLWludCAJCWxpbmVubyA9IC0xOwotCiBpbnQgCQlzOwkJCQkvKiBtYWluIFJB
VyBzb2NrZXQgCSAgICovCiBpbnQgCQlkb19yZXNvbHY9MDsJCQkvKiBXb3VsZCB0cnkgdG8gcmVz
b2x2IGFsbCAqLwogaW50CQlkb19hY2N0PTA7CQkJLyogU2hvdyBwYWNrZXQvYnl0ZSBjb3VudCAg
Ki8KQEAgLTkzLDggKzkxLDggQEAKIGludAkJZG9fZm9yY2U9MDsJCQkvKiBEb24ndCBhc2sgZm9y
IGNvbmZpcm1hdGlvbiAqLwogCiBzdHJ1Y3QgaWNtcGNvZGUgewotCWludAljb2RlOwotCWNoYXIJ
KnN0cjsKKwlpbnQJCSBjb2RlOworCWNvbnN0IGNoYXIJKnN0cjsKIH07CiAKIHN0YXRpYyBzdHJ1
Y3QgaWNtcGNvZGUgaWNtcDZjb2Rlc1tdID0gewpAQCAtMTM4LDcgKzEzNiw4IEBACiAKIHN0YXRp
YyBpbnQgcGwybVs5XSA9IHsgMHgwMCwgMHg4MCwgMHhjMCwgMHhlMCwgMHhmMCwgMHhmOCwgMHhm
YywgMHhmZSwgMHhmZiB9OwogCi1zdHJ1Y3QgaW42X2FkZHIgKnBsZW4ybWFzayhpbnQgbikKK3N0
YXRpYyBzdHJ1Y3QgaW42X2FkZHIgKgorcGxlbjJtYXNrKGludCBuKQogewogCXN0YXRpYyBzdHJ1
Y3QgaW42X2FkZHIgaWE7CiAJdV9jaGFyCSpwOwpAQCAtMTU3LDcgKzE1Niw3IEBACiAJcmV0dXJu
ICZpYTsKIH0KIAotdm9pZAorc3RhdGljIHZvaWQKIHByaW50X3BvcnQodV9jaGFyIHByb3QsIHVf
c2hvcnQgcG9ydCwgY29uc3QgY2hhciAqY29tbWEpCiB7CiAJc3RydWN0IHNlcnZlbnQgKnNlOwpA
QCAtMTgzLDcgKzE4Miw3IEBACiB9CiAKIHN0YXRpYyB2b2lkCi1wcmludF9pZmFjZShjaGFyICpr
ZXksIHVuaW9uIGlwNl9md19pZiAqdW4sIGludCBieW5hbWUpCitwcmludF9pZmFjZShjb25zdCBj
aGFyICprZXksIHVuaW9uIGlwNl9md19pZiAqdW4sIGludCBieW5hbWUpCiB7CiAKIAlpZiAoYnlu
YW1lKSB7CkBAIC0yMTAsNyArMjA5LDcgQEAKIHN0YXRpYyB2b2lkCiBzaG93X2lwNmZ3KHN0cnVj
dCBpcDZfZncgKmNoYWluKQogewotCWNoYXIgKmNvbW1hOworCWNvbnN0IGNoYXIgKmNvbW1hOwog
CXN0cnVjdCBob3N0ZW50ICpoZTsKIAlzdHJ1Y3QgcHJvdG9lbnQgKnBlOwogCWludCBpLCBtYjsK
QEAgLTIyNSwyMiArMjI0LDE4IEBACiAJaWYgKGRvX2FjY3QpCiAJCXByaW50ZigiJTEwbHUgJTEw
bHUgIixjaGFpbi0+ZndfcGNudCxjaGFpbi0+ZndfYmNudCk7CiAKLQlpZiAoZG9fdGltZSkKLQl7
Ci0JCWlmIChjaGFpbi0+dGltZXN0YW1wKQotCQl7CisJaWYgKGRvX3RpbWUpIHsKKwkJaWYgKGNo
YWluLT50aW1lc3RhbXApIHsKIAkJCWNoYXIgdGltZXN0clszMF07CiAKIAkJCXN0cmNweSh0aW1l
c3RyLCBjdGltZSgodGltZV90ICopJmNoYWluLT50aW1lc3RhbXApKTsKIAkJCSpzdHJjaHIodGlt
ZXN0ciwgJ1xuJykgPSAnXDAnOwogCQkJcHJpbnRmKCIlcyAiLCB0aW1lc3RyKTsKLQkJfQotCQll
bHNlCisJCX0gZWxzZQogCQkJcHJpbnRmKCIgICAgICAgICAgICAgICAgICAgICAgICAgIik7CiAJ
fQogCi0Jc3dpdGNoIChjaGFpbi0+ZndfZmxnICYgSVBWNl9GV19GX0NPTU1BTkQpCi0JeworCXN3
aXRjaCAoY2hhaW4tPmZ3X2ZsZyAmIElQVjZfRldfRl9DT01NQU5EKSB7CiAJCWNhc2UgSVBWNl9G
V19GX0FDQ0VQVDoKIAkJCXByaW50ZigiYWxsb3ciKTsKIAkJCWJyZWFrOwpAQCAtNDE1LDcgKzQx
MCw3IEBACiAJCWlmIChjaGFpbi0+ZndfdGNwbmYgJiBJUFY2X0ZXX1RDUEZfVVJHKSAgUFJJTlRG
TEcoIiF1cmciKTsKIAl9CiAJaWYgKGNoYWluLT5md19mbGcgJiBJUFY2X0ZXX0ZfSUNNUEJJVCkg
ewotCQlpbnQgdHlwZV9pbmRleDsKKwkJc2l6ZV90IHR5cGVfaW5kZXg7CiAJCWludCBmaXJzdCA9
IDE7CiAKIAkJcHJpbnRmKCIgaWNtcHR5cGUiKTsKQEAgLTQzMiwxOSArNDI3LDIwIEBACiAJCWVu
ZHNlcnZlbnQoKTsKIH0KIAotdm9pZAorc3RhdGljIHZvaWQKIGxpc3QoaW50IGFjLCBjaGFyICoq
YXYpCiB7CiAJc3RydWN0IGlwNl9mdyAqciwgKnJ1bGVzLCAqbjsKLQlpbnQgbCxpOworCWludCBp
OworCXNpemVfdCBsOwogCXVuc2lnbmVkIGxvbmcgcnVsZW51bTsKIAlpbnQgbmFsbG9jLCBieXRl
cywgbWF4Ynl0ZXM7CiAKIAkvKiBleHRyYWN0IHJ1bGVzIGZyb20ga2VybmVsLCByZXNpemluZyBh
cnJheSBhcyBuZWNlc3NhcnkgKi8KIAlydWxlcyA9IE5VTEw7Ci0JbmFsbG9jID0gc2l6ZW9mICpy
dWxlczsKKwluYWxsb2MgPSBzaXplb2YoKnJ1bGVzKTsKIAlieXRlcyA9IG5hbGxvYzsKLQltYXhi
eXRlcyA9IDY1NTM2ICogc2l6ZW9mICpydWxlczsKKwltYXhieXRlcyA9IDY1NTM2ICogc2l6ZW9m
KCpydWxlcyk7CiAJd2hpbGUgKGJ5dGVzID49IG5hbGxvYykgewogCQlpZiAoKG4gPSByZWFsbG9j
KHJ1bGVzLCBuYWxsb2MgKiAyICsgMjAwKSkgPT0gTlVMTCkKIAkJCWVycihFWF9PU0VSUiwgInJl
YWxsb2MiKTsKQEAgLTQ1NiwxMSArNDUyLDEwIEBACiAJfQogCWlmICghYWMpIHsKIAkJLyogZGlz
cGxheSBhbGwgcnVsZXMgKi8KLQkJZm9yIChyID0gcnVsZXMsIGwgPSBieXRlczsgbCA+PSBzaXpl
b2YgcnVsZXNbMF07Ci0JCQkgcisrLCBsLT1zaXplb2YgcnVsZXNbMF0pCisJCWZvciAociA9IHJ1
bGVzLCBsID0gYnl0ZXM7IGwgPj0gc2l6ZW9mKHJ1bGVzWzBdKTsKKwkJCSByKyssIGwtPXNpemVv
ZihydWxlc1swXSkpCiAJCQlzaG93X2lwNmZ3KHIpOwotCX0KLQllbHNlIHsKKwl9IGVsc2Ugewog
CQkvKiBkaXNwbGF5IHNwZWNpZmljIHJ1bGVzIHJlcXVlc3RlZCBvbiBjb21tYW5kIGxpbmUgKi8K
IAkJaW50IGV4aXR2YWwgPSAwOwogCkBAIC01NDUsMTMgKzU0MCwxMyBAQAogCXJldHVybigwKTsK
IH0KIAotdm9pZAorc3RhdGljIHZvaWQKIGZpbGxfaXA2KHN0cnVjdCBpbjZfYWRkciAqaXBubywg
c3RydWN0IGluNl9hZGRyICptYXNrLCBpbnQgKmFjcCwgY2hhciAqKiphdnApCiB7CiAJaW50IGFj
ID0gKmFjcDsKIAljaGFyICoqYXYgPSAqYXZwOwogCWNoYXIgKnAgPSAwLCBtZCA9IDA7Ci0JaW50
IGk7CisJc2l6ZV90IGk7CiAKIAlpZiAoYWMgJiYgIXN0cm5jbXAoKmF2LCJhbnkiLHN0cmxlbigq
YXYpKSkgewogCQkqaXBubyA9ICptYXNrID0gaW42YWRkcl9hbnk7IGF2Kys7IGFjLS07CkBAIC01
OTIsMTAgKzU4NywxMCBAQAogewogCXN0cnVjdCBpY21wY29kZSAqaWM7CiAJdV9sb25nIHZhbDsK
LQljaGFyICpzOworCWNoYXIgKmVwOwogCi0JdmFsID0gc3RydG91bChzdHIsICZzLCAwKTsKLQlp
ZiAocyAhPSBzdHIgJiYgKnMgPT0gJ1wwJyAmJiB2YWwgPCAweDEwMCkgeworCXZhbCA9IHN0cnRv
dWwoc3RyLCAmZXAsIDApOworCWlmIChlcCAhPSBzdHIgJiYgKmVwID09ICdcMCcgJiYgdmFsIDwg
MHgxMDApIHsKIAkJKmNvZGVwID0gdmFsOwogCQlyZXR1cm47CiAJfQpAQCAtNjIxLDE1ICs2MTYs
MTUgQEAKIHsKIAlpbnQJCXZhbDsKIAljaGFyCQkqZWFyZywgYnVmWzMyXTsKLQlzdHJ1Y3Qgc2Vy
dmVudAkqczsKIAogCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlcyIsIGFyZyk7CiAJYnVm
W3N0cmNzcG4oYXJnLCBub2Rhc2ggPyAiLSwiIDogIiwiKV0gPSAwOwogCXZhbCA9IChpbnQpIHN0
cnRvdWwoYnVmLCAmZWFyZywgMCk7CiAJaWYgKCEqYnVmIHx8ICplYXJnKSB7CisJCXN0cnVjdCBz
ZXJ2ZW50CSpzdjsKIAkJc2V0c2VydmVudCgxKTsKLQkJaWYgKChzID0gZ2V0c2VydmJ5bmFtZShi
dWYsIE5VTEwpKSkgewotCQkJdmFsID0gaHRvbnMocy0+c19wb3J0KTsKKwkJaWYgKChzdiA9IGdl
dHNlcnZieW5hbWUoYnVmLCBOVUxMKSkpIHsKKwkJCXZhbCA9IGh0b25zKHN2LT5zX3BvcnQpOwog
CQl9IGVsc2UgewogCQkJaWYgKCF0ZXN0KSB7CiAJCQkJZXJyeCgxLCAidW5rbm93biBwb3J0IGBg
JXMnJyIsIGFyZyk7CkBAIC02NDcsMzcgKzY0MiwzNyBAQAogCXJldHVybih2YWwpOwogfQogCi1p
bnQKK3N0YXRpYyBpbnQKIGZpbGxfcG9ydCh1X3Nob3J0ICpjbnQsIHVfc2hvcnQgKnB0ciwgdV9z
aG9ydCBvZmYsIGNoYXIgKmFyZykKIHsKLQljaGFyICpzOworCWNoYXIgKnA7CiAJaW50IGluaXRp
YWxfcmFuZ2UgPSAwOwogCi0JcyA9IGFyZyArIHN0cmNzcG4oYXJnLCAiLSwiKTsJLyogZmlyc3Qg
cG9ydCBuYW1lIGNhbid0IGhhdmUgYSBkYXNoICovCi0JaWYgKCpzID09ICctJykgewotCQkqcysr
ID0gJ1wwJzsKKwlwID0gYXJnICsgc3RyY3NwbihhcmcsICItLCIpOwkvKiBmaXJzdCBwb3J0IG5h
bWUgY2FuJ3QgaGF2ZSBhIGRhc2ggKi8KKwlpZiAoKnAgPT0gJy0nKSB7CisJCSpwKysgPSAnXDAn
OwogCQlpZiAoc3RyY2hyKGFyZywgJywnKSkKIAkJCWVycngoMSwgInBvcnQgcmFuZ2UgbXVzdCBi
ZSBmaXJzdCBpbiBsaXN0Iik7CiAJCWFkZF9wb3J0KGNudCwgcHRyLCBvZmYsICphcmcgPyBsb29r
dXBfcG9ydChhcmcsIDAsIDApIDogMHgwMDAwKTsKLQkJYXJnID0gczsKLQkJcyA9IHN0cmNocihh
cmcsJywnKTsKLQkJaWYgKHMpCi0JCQkqcysrID0gJ1wwJzsKKwkJYXJnID0gcDsKKwkJcCA9IHN0
cmNocihhcmcsJywnKTsKKwkJaWYgKHApCisJCQkqcCsrID0gJ1wwJzsKIAkJYWRkX3BvcnQoY250
LCBwdHIsIG9mZiwgKmFyZyA/IGxvb2t1cF9wb3J0KGFyZywgMCwgMCkgOiAweGZmZmYpOwotCQlh
cmcgPSBzOworCQlhcmcgPSBwOwogCQlpbml0aWFsX3JhbmdlID0gMTsKIAl9CiAJd2hpbGUgKGFy
ZyAhPSBOVUxMKSB7Ci0JCXMgPSBzdHJjaHIoYXJnLCcsJyk7Ci0JCWlmIChzKQotCQkJKnMrKyA9
ICdcMCc7CisJCXAgPSBzdHJjaHIoYXJnLCcsJyk7CisJCWlmIChwKQorCQkJKnArKyA9ICdcMCc7
CiAJCWFkZF9wb3J0KGNudCwgcHRyLCBvZmYsIGxvb2t1cF9wb3J0KGFyZywgMCwgMCkpOwotCQlh
cmcgPSBzOworCQlhcmcgPSBwOwogCX0KIAlyZXR1cm4gaW5pdGlhbF9yYW5nZTsKIH0KIAotdm9p
ZAorc3RhdGljIHZvaWQKIGZpbGxfdGNwZmxhZyh1X2NoYXIgKnNldCwgdV9jaGFyICpyZXNldCwg
Y2hhciAqKnZwKQogewogCWNoYXIgKnAgPSAqdnAsKnE7CkBAIC02ODUsNyArNjgwLDcgQEAKIAog
CXdoaWxlIChwICYmICpwKSB7CiAJCXN0cnVjdCB0cGNmbGFncyB7Ci0JCQljaGFyICogbmFtZTsK
KwkJCWNvbnN0IGNoYXIgKiBuYW1lOwogCQkJdV9jaGFyIHZhbHVlOwogCQl9IGZsYWdzW10gPSB7
CiAJCQl7ICJzeW4iLCBJUFY2X0ZXX1RDUEZfU1lOIH0sCkBAIC02OTUsNyArNjkwLDcgQEAKIAkJ
CXsgInJzdCIsIElQVjZfRldfVENQRl9SU1QgfSwKIAkJCXsgInVyZyIsIElQVjZfRldfVENQRl9V
UkcgfQogCQl9OwotCQlpbnQgaTsKKwkJc2l6ZV90IGk7CiAKIAkJaWYgKCpwID09ICchJykgewog
CQkJcCsrOwpAQCAtNzQ0LDcgKzczOSw3IEBACiAJfQogfQogCi12b2lkCitzdGF0aWMgdm9pZAog
ZmlsbF9pY21wdHlwZXModW5zaWduZWQgKnR5cGVzLCBjaGFyICoqdnAsIHVfc2hvcnQgKmZ3X2Zs
ZykKIHsKIAljaGFyICpjID0gKnZwOwpAQCAtNzcwLDExICs3NjUsMTAgQEAKIAl9CiB9CiAKLXZv
aWQKK3N0YXRpYyB2b2lkCiBkZWxldGUoaW50IGFjLCBjaGFyICoqYXYpCiB7CiAJc3RydWN0IGlw
Nl9mdyBydWxlOwotCWludCBpOwogCWludCBleGl0dmFsID0gMDsKIAogCW1lbXNldCgmcnVsZSwg
MCwgc2l6ZW9mIHJ1bGUpOwpAQCAtNzg0LDEwICs3NzgsMTAgQEAKIAkvKiBSdWxlIG51bWJlciAq
LwogCXdoaWxlIChhYyAmJiBpc2RpZ2l0KCoqYXYpKSB7CiAJCXJ1bGUuZndfbnVtYmVyID0gYXRv
aSgqYXYpOyBhdisrOyBhYy0tOwotCQlpID0gc2V0c29ja29wdChzLCBJUFBST1RPX0lQVjYsIElQ
VjZfRldfREVMLCAmcnVsZSwgc2l6ZW9mIHJ1bGUpOwotCQlpZiAoaSkgeworCQlpZiAoc2V0c29j
a29wdChzLCBJUFBST1RPX0lQVjYsIElQVjZfRldfREVMLAorCQkJICAgICAgICZydWxlLCBzaXpl
b2YocnVsZSkpIDwgMCkgewogCQkJZXhpdHZhbCA9IDE7Ci0JCQl3YXJuKCJydWxlICV1OiBzZXRz
b2Nrb3B0KCVzKSIsIHJ1bGUuZndfbnVtYmVyLCAiSVBWNl9GV19ERUwiKTsKKwkJCXdhcm4oInJ1
bGUgJXU6IHNldHNvY2tvcHQoSVBWNl9GV19ERUwpIiwgcnVsZS5md19udW1iZXIpOwogCQl9CiAJ
fQogCWlmIChleGl0dmFsICE9IDApCkBAIC04MDYsNyArODAwLDggQEAKIH0KIAogc3RhdGljIHZv
aWQKLWZpbGxfaWZhY2UoY2hhciAqd2hpY2gsIHVuaW9uIGlwNl9md19pZiAqaWZ1LCBpbnQgKmJ5
bmFtZSwgaW50IGFjLCBjaGFyICphcmcpCitmaWxsX2lmYWNlKGNvbnN0IGNoYXIgKndoaWNoLCB1
bmlvbiBpcDZfZndfaWYgKmlmdSwgaW50ICpieW5hbWUsCisJICAgaW50IGFjLCBjaGFyICphcmcp
CiB7CiAJaWYgKCFhYykKIAkgICAgc2hvd191c2FnZSgibWlzc2luZyBhcmd1bWVudCBmb3IgYGAl
cycnIiwgd2hpY2gpOwpAQCAtODM4LDcgKzgzMyw2IEBACiBhZGQoaW50IGFjLCBjaGFyICoqYXYp
CiB7CiAJc3RydWN0IGlwNl9mdyBydWxlOwotCWludCBpOwogCXVfY2hhciBwcm90bzsKIAlzdHJ1
Y3QgcHJvdG9lbnQgKnBlOwogCWludCBzYXdfeG1yYyA9IDAsIHNhd192aWEgPSAwOwpAQCAtMTEx
Nyw5ICsxMTExLDggQEAKIAogCWlmICghZG9fcXVpZXQpCiAJCXNob3dfaXA2ZncoJnJ1bGUpOwot
CWkgPSBzZXRzb2Nrb3B0KHMsIElQUFJPVE9fSVBWNiwgSVBWNl9GV19BREQsICZydWxlLCBzaXpl
b2YgcnVsZSk7Ci0JaWYgKGkpCi0JCWVycihFWF9VTkFWQUlMQUJMRSwgInNldHNvY2tvcHQoJXMp
IiwgIklQVjZfRldfQUREIik7CisJaWYgKHNldHNvY2tvcHQocywgSVBQUk9UT19JUFY2LCBJUFY2
X0ZXX0FERCwgJnJ1bGUsIHNpemVvZiBydWxlKSA8IDApCisJCWVycihFWF9VTkFWQUlMQUJMRSwg
InNldHNvY2tvcHQoSVBWNl9GV19BREQpIik7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC0xMTMwLDcg
KzExMjMsNyBAQAogCWlmICghYWMpIHsKIAkJLyogY2xlYXIgYWxsIGVudHJpZXMgKi8KIAkJaWYg
KHNldHNvY2tvcHQocyxJUFBST1RPX0lQVjYsSVBWNl9GV19aRVJPLE5VTEwsMCk8MCkKLQkJCWVy
cihFWF9VTkFWQUlMQUJMRSwgInNldHNvY2tvcHQoJXMpIiwgIklQVjZfRldfWkVSTyIpOworCQkJ
ZXJyKEVYX1VOQVZBSUxBQkxFLCAic2V0c29ja29wdChJUFY2X0ZXX1pFUk8pIik7CiAJCWlmICgh
ZG9fcXVpZXQpCiAJCQlwcmludGYoIkFjY291bnRpbmcgY2xlYXJlZC5cbiIpOwogCX0gZWxzZSB7
CkBAIC0xMTQ0LDExICsxMTM3LDkgQEAKIAkJCQlydWxlLmZ3X251bWJlciA9IGF0b2koKmF2KTsg
YXYrKzsgYWMtLTsKIAkJCQlpZiAoc2V0c29ja29wdChzLCBJUFBST1RPX0lQVjYsCiAJCQkJICAg
IElQVjZfRldfWkVSTywgJnJ1bGUsIHNpemVvZiBydWxlKSkgewotCQkJCQl3YXJuKCJydWxlICV1
OiBzZXRzb2Nrb3B0KCVzKSIsIHJ1bGUuZndfbnVtYmVyLAotCQkJCQkJICJJUFY2X0ZXX1pFUk8i
KTsKKwkJCQkJd2FybigicnVsZSAldTogc2V0c29ja29wdChJUFY2X0ZXX1pFUk8pIiwgcnVsZS5m
d19udW1iZXIpOwogCQkJCQlmYWlsZWQgPSAxOwotCQkJCX0KLQkJCQllbHNlIGlmICghZG9fcXVp
ZXQpCisJCQkJfSBlbHNlIGlmICghZG9fcXVpZXQpCiAJCQkJCXByaW50ZigiRW50cnkgJWQgY2xl
YXJlZFxuIiwKIAkJCQkJICAgIHJ1bGUuZndfbnVtYmVyKTsKIAkJCX0gZWxzZQpAQCAtMTE1OSwx
MSArMTE1MCwxMCBAQAogCX0KIH0KIAotaW50CitzdGF0aWMgaW50CiBpcDZmd19tYWluKGludCBh
YywgY2hhciAqKmF2KQogewogCWludCAJCWNoOwotCWV4dGVybiBpbnQgCW9wdGluZDsKIAogCS8q
IGluaXQgb3B0aW5kIHRvIDEgKi8KIAlvcHRpbmQgPSAxOwpAQCAtMTIyOCw3ICsxMjE4LDcgQEAK
IAkJfQogCQlpZiAoIGRvX2ZsdXNoICkgewogCQkJaWYgKHNldHNvY2tvcHQocyxJUFBST1RPX0lQ
VjYsSVBWNl9GV19GTFVTSCxOVUxMLDApIDwgMCkKLQkJCQllcnIoRVhfVU5BVkFJTEFCTEUsICJz
ZXRzb2Nrb3B0KCVzKSIsICJJUFY2X0ZXX0ZMVVNIIik7CisJCQkJZXJyKEVYX1VOQVZBSUxBQkxF
LCAic2V0c29ja29wdChJUFY2X0ZXX0ZMVVNIKSIpOwogCQkJaWYgKCFkb19xdWlldCkKIAkJCQlw
cmludGYoIkZsdXNoZWQgYWxsIHJ1bGVzLlxuIik7CiAJCX0KQEAgLTEyNTQsNyArMTI0NCw3IEBA
CiAjZGVmaW5lCVdISVRFU1AJCSIgXHRcZlx2XG5cciIKIAljaGFyCWJ1ZltCVUZTSVpdOwogCWNo
YXIJKmEsICpwLCAqYXJnc1tNQVhfQVJHU10sICpjbWQgPSBOVUxMOwotCWNoYXIJbGluZW5hbWVb
MTBdOworCWNoYXIJbGluZW5hbWVbMTBdLCBxX29wdFszXTsKIAlpbnQgCWksIGMsIGxpbmVubywg
cWZsYWcsIHBmbGFnLCBzdGF0dXM7CiAJRklMRQkqZiA9IE5VTEw7CiAJcGlkX3QJcHJlcHJvYyA9
IDA7CkBAIC0xMjcwLDYgKzEyNjAsNyBAQAogCSAqIGJlIHByZXByb2Nlc3NlZCBpZiBpdCBpcyBz
cGVjaWZpZWQgYXMgYW4gYWJzb2x1dGUgcGF0aG5hbWUuCiAJICovCiAKKwlzdHJjcHkocV9vcHQs
ICItcSIpOwogCWlmIChhYyA+IDEgJiYgYXZbYWMgLSAxXVswXSA9PSAnLycgJiYgYWNjZXNzKGF2
W2FjIC0gMV0sIFJfT0spID09IDApIHsKIAkJcWZsYWcgPSBwZmxhZyA9IGkgPSAwOwogCQlsaW5l
bm8gPSAwOwpAQCAtMTI4Miw3ICsxMjczLDcgQEAKIAkJCQlpZiAoaSA+IE1BWF9BUkdTIC0gMikK
IAkJCQkJZXJyeChFWF9VU0FHRSwKIAkJCQkJICAgICAidG9vIG1hbnkgLUQgb3IgLVUgb3B0aW9u
cyIpOwotCQkJCWFyZ3NbaSsrXSA9ICItRCI7CisJCQkJYXJnc1tpKytdID0gYXZbb3B0aW5kIC0g
Ml07CiAJCQkJYXJnc1tpKytdID0gb3B0YXJnOwogCQkJCWJyZWFrOwogCkBAIC0xMjkyLDcgKzEy
ODMsNyBAQAogCQkJCWlmIChpID4gTUFYX0FSR1MgLSAyKQogCQkJCQllcnJ4KEVYX1VTQUdFLAog
CQkJCQkgICAgICJ0b28gbWFueSAtRCBvciAtVSBvcHRpb25zIik7Ci0JCQkJYXJnc1tpKytdID0g
Ii1VIjsKKwkJCQlhcmdzW2krK10gPSBhdltvcHRpbmQgLSAyXTsKIAkJCQlhcmdzW2krK10gPSBv
cHRhcmc7CiAJCQkJYnJlYWs7CiAKQEAgLTEzNjcsNyArMTM1OCw4IEBACiAJCQlpZiAoKHAgPSBz
dHJjaHIoYnVmLCAnIycpKSAhPSBOVUxMKQogCQkJCSpwID0gJ1wwJzsKIAkJCWk9MTsKLQkJCWlm
IChxZmxhZykgYXJnc1tpKytdPSItcSI7CisJCQlpZiAocWZsYWcpCisJCQkJYXJnc1tpKytdID0g
cV9vcHQ7CiAJCQlmb3IgKGEgPSBzdHJ0b2soYnVmLCBXSElURVNQKTsKIAkJCSAgICBhICYmIGkg
PCBNQVhfQVJHUzsgYSA9IHN0cnRvayhOVUxMLCBXSElURVNQKSwgaSsrKQogCQkJCWFyZ3NbaV0g
PSBhOwo=
------=_Part_156_5814627.1114244260084--