Pop-Up Thingie
Sidebar
>>> Magnum BBS <<<
Home
Forum
Files
Dark
Log in
Username
Password
Sidebar
Forum
Usenet
LINUX.DEBIAN.BUGS.DIST
Bug#1104484: libapache2-mod-auth-openidc: CVE-2025-3891 (2/4)
From
Moritz Schlarb
@21:1/5 to
All
on Wed May 7 14:40:01 2025
[continued from previous message]
bmcoYXByX3Bvb2xfdCAqcG9vbCwgY29uc3QgY2hhciAqYWxnLAorICAqIHJldHVybiBoYXNoIGxl bmd0aAorICAqLworIGludCBvaWRjX2pvc2VfaGFzaF9sZW5ndGgoY29uc3QgY2hhciAqYWxnKSB7 CistCWlmICgoc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19SUzI1NikgPT0gMCkKKy0JCQl8fCAo c3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19QUzI1NikgPT0gMCkKKy0JCQl8fCAoc3RyY21wKGFs ZywgQ0pPU0VfSERSX0FMR19IUzI1NikgPT0gMCkKKy0JCQl8fCAoc3RyY21wKGFsZywgQ0pPU0Vf SERSX0FMR19FUzI1NikgPT0gMCkpIHsKKysJaWYgKChfb2lkY19zdHJjbXAoYWxnLCBDSk9TRV9I RFJfQUxHX1JTMjU2KSA9PSAwKQorKwkJCXx8IChfb2lkY19zdHJjbXAoYWxnLCBDSk9TRV9IRFJf QUxHX1BTMjU2KSA9PSAwKQorKwkJCXx8IChfb2lkY19zdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxH X0hTMjU2KSA9PSAwKQorKwkJCXx8IChfb2lkY19zdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX0VT MjU2KSA9PSAwKSkgeworIAkJcmV0dXJuIDMyOworIAl9CistCWlmICgoc3RyY21wKGFsZywgQ0pP U0VfSERSX0FMR19SUzM4NCkgPT0gMCkKKy0JCQl8fCAoc3RyY21wKGFsZywgQ0pPU0VfSERSX0FM R19QUzM4NCkgPT0gMCkKKy0JCQl8fCAoc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19IUzM4NCkg PT0gMCkKKy0JCQl8fCAoc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19FUzM4NCkgPT0gMCkpIHsK KysJaWYgKChfb2lkY19zdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX1JTMzg0KSA9PSAwKQorKwkJ CXx8IChfb2lkY19zdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX1BTMzg0KSA9PSAwKQorKwkJCXx8 IChfb2lkY19zdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX0hTMzg0KSA9PSAwKQorKwkJCXx8IChf b2lkY19zdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX0VTMzg0KSA9PSAwKSkgeworIAkJcmV0dXJu IDQ4OworIAl9CistCWlmICgoc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19SUzUxMikgPT0gMCkK Ky0JCQl8fCAoc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19QUzUxMikgPT0gMCkKKy0JCQl8fCAo c3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19IUzUxMikgPT0gMCkKKy0JCQl8fCAoc3RyY21wKGFs ZywgQ0pPU0VfSERSX0FMR19FUzUxMikgPT0gMCkpIHsKKysJaWYgKChfb2lkY19zdHJjbXAoYWxn LCBDSk9TRV9IRFJfQUxHX1JTNTEyKSA9PSAwKQorKwkJCXx8IChfb2lkY19zdHJjbXAoYWxnLCBD Sk9TRV9IRFJfQUxHX1BTNTEyKSA9PSAwKQorKwkJCXx8IChfb2lkY19zdHJjbXAoYWxnLCBDSk9T RV9IRFJfQUxHX0hTNTEyKSA9PSAwKQorKwkJCXx8IChfb2lkY19zdHJjbXAoYWxnLCBDSk9TRV9I RFJfQUxHX0VTNTEyKSA9PSAwKSkgeworIAkJcmV0dXJuIDY0OworIAl9CisgCXJldHVybiAwOwor ZGlmZiAtLWdpdCBhL3NyYy9qb3NlLmggYi9zcmMvam9zZS5oCitpbmRleCA4NmFmY2Y3Li41NGI5 YzQ5IDEwMDY0NAorLS0tIGEvc3JjL2pvc2UuaAorKysrIGIvc3JjL2pvc2UuaAorQEAgLTU2LDYg KzU2LDkgQEAKKyAKKyAjaW5jbHVkZSAiY2pvc2UvY2pvc2UuaCIKKyAKKysjZGVmaW5lIF9vaWRj X3N0cmNtcChhLCBiKSAoIChhICYmIGIpID8gYXByX3N0cm5hdGNtcChhLCBiKSA6IC0xICkKKysj ZGVmaW5lIF9vaWRjX3N0cm5jbXAoYSwgYiwgc2l6ZSkgKCAoYSAmJiBiKSA/IHN0cm5jbXAoYSwg Yiwgc2l6ZSkgOiAtMSApCisrCisgI2RlZmluZSBPSURDX0pPU0VfQUxHX1NIQTEgInNoYTEiCisg I2RlZmluZSBPSURDX0pPU0VfQUxHX1NIQTI1NiAic2hhMjU2IgorIAorZGlmZiAtLWdpdCBhL3Ny Yy9tZXRhZGF0YS5jIGIvc3JjL21ldGFkYXRhLmMKK2luZGV4IGM5MTM2ZDAuLjEzMThmODcgMTAw NjQ0CistLS0gYS9zcmMvbWV0YWRhdGEuYworKysrIGIvc3JjL21ldGFkYXRhLmMKK0BAIC05MDMs NyArOTAzLDcgQEAgYXByX2J5dGVfdCBvaWRjX21ldGFkYXRhX2xpc3QocmVxdWVzdF9yZWMgKnIs IG9pZGNfY2ZnICpjZmcsCisgCQkvKiBza2lwIG90aGVyIG5vbi1wcm92aWRlciBlbnRyaWVzICov CisgCQljaGFyICpleHQgPSBzdHJyY2hyKGZpLm5hbWUsIE9JRENfQ0hBUl9ET1QpOworIAkJaWYg KChleHQgPT0gTlVMTCkKKy0JCQkJfHwgKHN0cmNtcCgrK2V4dCwgT0lEQ19NRVRBREFUQV9TVUZG SVhfUFJPVklERVIpICE9IDApKQorKwkJCQl8fCAoX29pZGNfc3RyY21wKCsrZXh0LCBPSURDX01F VEFEQVRBX1NVRkZJWF9QUk9WSURFUikgIT0gMCkpCisgCQkJY29udGludWU7CisgCisgCQkvKiBn ZXQgdGhlIGlzc3VlciBmcm9tIHRoZSBmaWxlbmFtZSAqLworQEAgLTExNjYsNyArMTE2Niw3IEBA IHN0YXRpYyB2b2lkIG9pZGNfbWV0YWRhdGFfZ2V0X2p3a3MocmVxdWVzdF9yZWMgKnIsIGpzb25f dCAqanNvbiwKKyAJCWVsZW0gPSBqc29uX2FycmF5X2dldChrZXlzLCBpKTsKKyAKKyAJCXVzZSA9 IGpzb25fc3RyaW5nX3ZhbHVlKGpzb25fb2JqZWN0X2dldChlbGVtLCBPSURDX0pXS19VU0UpKTsK Ky0JCWlmICgodXNlICE9IE5VTEwpICYmIChzdHJjbXAodXNlLCBzX3VzZSkgIT0gMCkpIHsKKysJ CWlmICgodXNlICE9IE5VTEwpICYmIChfb2lkY19zdHJjbXAodXNlLCBzX3VzZSkgIT0gMCkpIHsK KyAJCQlvaWRjX2RlYnVnKHIsCisgCQkJCQkic2tpcHBpbmcga2V5IGJlY2F1c2Ugb2Ygbm9uLW1h dGNoaW5nIFwiJXNcIjogXCIlc1wiICE9IFwiJXNcIiIsCisgCQkJCQlPSURDX0pXS19VU0UsIHVz ZSwgc191c2UpOworZGlmZiAtLWdpdCBhL3NyYy9tb2RfYXV0aF9vcGVuaWRjLmMgYi9zcmMvbW9k X2F1dGhfb3BlbmlkYy5jCitpbmRleCA5ZjE5YjYzLi5hODAxODQ0IDEwMDY0NAorLS0tIGEvc3Jj L21vZF9hdXRoX29wZW5pZGMuYworKysrIGIvc3JjL21vZF9hdXRoX29wZW5pZGMuYworQEAgLTEy NCw3ICsxMjQsNyBAQCB2b2lkIG9pZGNfc2NydWJfaGVhZGVycyhyZXF1ZXN0X3JlYyAqcikgewor IAljb25zdCBjaGFyICpwcmVmaXggPSBvaWRjX2NmZ19jbGFpbV9wcmVmaXgocik7CisgCWFwcl9o YXNoX3QgKmhkcnMgPSBhcHJfaGFzaF9tYWtlKHItPnBvb2wpOworIAorLQlpZiAoYXByX3N0cm5h dGNtcChwcmVmaXgsICIiKSA9PSAwKSB7CisrCWlmIChfb2lkY19zdHJjbXAocHJlZml4LCAiIikg PT0gMCkgeworIAkJaWYgKChjZmctPndoaXRlX2xpc3RlZF9jbGFpbXMgIT0gTlVMTCkKKyAJCQkJ JiYgKGFwcl9oYXNoX2NvdW50KGNmZy0+d2hpdGVfbGlzdGVkX2NsYWltcykgPiAwKSkKKyAJCQlo ZHJzID0gYXByX2hhc2hfb3ZlcmxheShyLT5wb29sLCBjZmctPndoaXRlX2xpc3RlZF9jbGFpbXMs IGhkcnMpOworQEAgLTE3OSw3ICsxNzksNyBAQCB2b2lkIG9pZGNfc3RyaXBfY29va2llcyhyZXF1 ZXN0X3JlYyAqcikgeworIAkJCQlicmVhazsKKyAJCQlmb3IgKGkgPSAwOyBpIDwgc3RyaXAtPm5l bHRzOyBpKyspIHsKKyAJCQkJbmFtZSA9ICgoY29uc3QgY2hhcioqKSBzdHJpcC0+ZWx0cylbaV07 CistCQkJCWlmICgoc3RybmNtcChjb29raWUsIG5hbWUsIHN0cmxlbihuYW1lKSkgPT0gMCkKKysJ CQkJaWYgKChfb2lkY19zdHJuY21wKGNvb2tpZSwgbmFtZSwgc3RybGVuKG5hbWUpKSA9PSAwKQor IAkJCQkJCSYmIChjb29raWVbc3RybGVuKG5hbWUpXSA9PSBPSURDX0NIQVJfRVFVQUwpKSB7Cisg CQkJCQlvaWRjX2RlYnVnKHIsICJzdHJpcHBpbmc6ICVzIiwgbmFtZSk7CisgCQkJCQlicmVhazsK K0BAIC0zOTQsNyArMzk0LDcgQEAgc3RhdGljIGNvbnN0IGNoYXIqIG9pZGNfb3JpZ2luYWxfcmVx dWVzdF9tZXRob2QocmVxdWVzdF9yZWMgKnIsIG9pZGNfY2ZnICpjZmcsCisgCQkJcmV0dXJuIE9J RENfTUVUSE9EX0dFVDsKKyAKKyAJCWNvbnN0IGNoYXIgKmNvbnRlbnRfdHlwZSA9IG9pZGNfdXRp bF9oZHJfaW5fY29udGVudF90eXBlX2dldChyKTsKKy0JCWlmICgoci0+bWV0aG9kX251bWJlciA9 PSBNX1BPU1QpICYmIChhcHJfc3RybmF0Y21wKGNvbnRlbnRfdHlwZSwKKysJCWlmICgoci0+bWV0 aG9kX251bWJlciA9PSBNX1BPU1QpICYmIChfb2lkY19zdHJjbXAoY29udGVudF90eXBlLAorIAkJ CQlPSURDX0NPTlRFTlRfVFlQRV9GT1JNX0VOQ09ERUQpID09IDApKQorIAkJCW1ldGhvZCA9IE9J RENfTUVUSE9EX0ZPUk1fUE9TVDsKKyAJfQorQEAgLTQyMCw3ICs0MjAsNyBAQCBhcHJfYnl0ZV90 IG9pZGNfcG9zdF9wcmVzZXJ2ZV9qYXZhc2NyaXB0KHJlcXVlc3RfcmVjICpyLCBjb25zdCBjaGFy ICpsb2NhdGlvbiwKKyAKKyAJY29uc3QgY2hhciAqbWV0aG9kID0gb2lkY19vcmlnaW5hbF9yZXF1 ZXN0X21ldGhvZChyLCBjZmcsIEZBTFNFKTsKKyAKKy0JaWYgKGFwcl9zdHJuYXRjbXAobWV0aG9k LCBPSURDX01FVEhPRF9GT1JNX1BPU1QpICE9IDApCisrCWlmIChfb2lkY19zdHJjbXAobWV0aG9k LCBPSURDX01FVEhPRF9GT1JNX1BPU1QpICE9IDApCisgCQlyZXR1cm4gRkFMU0U7CisgCisgCS8q IHJlYWQgdGhlIHBhcmFtZXRlcnMgdGhhdCBhcmUgUE9TVC1lZCB0byB1cyAqLworQEAgLTU2OCw3 ICs1NjgsNyBAQCBzdGF0aWMgaW50IG9pZGNfY2xlYW5fZXhwaXJlZF9zdGF0ZV9jb29raWVzKHJl cXVlc3RfcmVjICpyLCBvaWRjX2NmZyAqYywKKyAJCQkJCSpjb29raWUgPSAnXDAnOworIAkJCQkJ Y29va2llKys7CisgCQkJCQlpZiAoKGN1cnJlbnRDb29raWVOYW1lID09IE5VTEwpCistCQkJCQkJ CXx8IChhcHJfc3RybmF0Y21wKGNvb2tpZU5hbWUsIGN1cnJlbnRDb29raWVOYW1lKSAhPSAwKSkg eworKwkJCQkJCQl8fCAoX29pZGNfc3RyY21wKGNvb2tpZU5hbWUsIGN1cnJlbnRDb29raWVOYW1l KSAhPSAwKSkgeworIAkJCQkJCW9pZGNfcHJvdG9fc3RhdGVfdCAqcHJvdG9fc3RhdGUgPQorIAkJ CQkJCQkJb2lkY19wcm90b19zdGF0ZV9mcm9tX2Nvb2tpZShyLCBjLCBjb29raWUpOworIAkJCQkJ CWlmIChwcm90b19zdGF0ZSAhPSBOVUxMKSB7CitAQCAtNjQwLDcgKzY0MCw3IEBAIHN0YXRpYyBh cHJfYnl0ZV90IG9pZGNfcmVzdG9yZV9wcm90b19zdGF0ZShyZXF1ZXN0X3JlYyAqciwgb2lkY19j ZmcgKmMsIGNvbnN0IGNoCisgCS8qIGNhbGN1bGF0ZSB0aGUgaGFzaCBvZiB0aGUgYnJvd3NlciBm aW5nZXJwcmludCBjb25jYXRlbmF0ZWQgd2l0aCB0aGUgbm9uY2UgKi8KKyAJY2hhciAqY2FsYyA9 IG9pZGNfZ2V0X2Jyb3dzZXJfc3RhdGVfaGFzaChyLCBjLCBub25jZSk7CisgCS8qIGNvbXBhcmUg dGhlIGNhbGN1bGF0ZWQgaGFzaCB3aXRoIHRoZSB2YWx1ZSBwcm92aWRlZCBpbiB0aGUgYXV0aG9y aXphdGlvbiByZXNwb25zZSAqLworLQlpZiAoYXByX3N0cm5hdGNtcChjYWxjLCBzdGF0ZSkgIT0g MCkgeworKwlpZiAoX29pZGNfc3RyY21wKGNhbGMsIHN0YXRlKSAhPSAwKSB7CisgCQlvaWRjX2Vy cm9yKHIsICJjYWxjdWxhdGVkIHN0YXRlIGZyb20gY29va2llIGRvZXMgbm90IG1hdGNoIHN0YXRl IHBhcmFtZXRlciBwYXNzZWQgYmFjayBpbiBVUkw6IFwiJXNcIiAhPSBcIiVzXCIiLCBzdGF0ZSwg Y2FsYyk7CisgCQlvaWRjX3Byb3RvX3N0YXRlX2Rlc3Ryb3koKnByb3RvX3N0YXRlKTsKKyAJCXJl dHVybiBGQUxTRTsKK0BAIC05NDYsNyArOTQ2LDcgQEAgc3RhdGljIGFwcl9ieXRlX3Qgb2lkY19j aGVja19jb29raWVfZG9tYWluKHJlcXVlc3RfcmVjICpyLCBvaWRjX2NmZyAqY2ZnLAorIAkJCQkJ Y2ZnLT5jb29raWVfZG9tYWluIDogb2lkY19nZXRfY3VycmVudF91cmxfaG9zdChyLCBjZmctPnhf Zm9yd2FyZGVkX2hlYWRlcnMpOworIAljb25zdCBjaGFyICpzX2Nvb2tpZV9kb21haW4gPSBvaWRj X3Nlc3Npb25fZ2V0X2Nvb2tpZV9kb21haW4ociwgc2Vzc2lvbik7CisgCWlmICgoc19jb29raWVf ZG9tYWluID09IE5VTEwpCistCQkJfHwgKGFwcl9zdHJuYXRjbXAoY19jb29raWVfZG9tYWluLCBz X2Nvb2tpZV9kb21haW4pICE9IDApKSB7CisrCQkJfHwgKF9vaWRjX3N0cmNtcChjX2Nvb2tpZV9k b21haW4sIHNfY29va2llX2RvbWFpbikgIT0gMCkpIHsKKyAJCW9pZGNfd2FybihyLAorIAkJCQki YWJvcnRpbmc6IGRldGVjdGVkIGF0dGVtcHQgdG8gcGxheSBjb29raWUgYWdhaW5zdCBhIGRpZmZl cmVudCBkb21haW4vaG9zdCB0aGFuIGlzc3VlZCBmb3IhIChpc3N1ZWQ9JXMsIGN1cnJlbnQ9JXMp IiwKKyAJCQkJc19jb29raWVfZG9tYWluLCBjX2Nvb2tpZV9kb21haW4pOworQEAgLTE1MjMsNyAr MTUyMyw3IEBAIHN0YXRpYyBhcHJfYnl0ZV90IG9pZGNfYXV0aG9yaXphdGlvbl9yZXNwb25zZV9t YXRjaF9zdGF0ZShyZXF1ZXN0X3JlYyAqciwKKyAKKyAJb2lkY19kZWJ1ZyhyLCAiZW50ZXIgKHN0 YXRlPSVzKSIsIHN0YXRlKTsKKyAKKy0JaWYgKChzdGF0ZSA9PSBOVUxMKSB8fCAoYXByX3N0cm5h dGNtcChzdGF0ZSwgIiIpID09IDApKSB7CisrCWlmICgoc3RhdGUgPT0gTlVMTCkgfHwgKF9vaWRj X3N0cmNtcChzdGF0ZSwgIiIpID09IDApKSB7CisgCQlvaWRjX2Vycm9yKHIsICJzdGF0ZSBwYXJh bWV0ZXIgaXMgbm90IHNldCIpOworIAkJcmV0dXJuIEZBTFNFOworIAl9CitAQCAtMTU3NCw3ICsx NTc0LDcgQEAgc3RhdGljIGludCBvaWRjX2F1dGhvcml6YXRpb25fcmVzcG9uc2VfZXJyb3IocmVx dWVzdF9yZWMgKnIsIG9pZGNfY2ZnICpjLAorIAkJcHJvbXB0ID0gYXByX3BzdHJkdXAoci0+cG9v bCwgcHJvbXB0KTsKKyAJb2lkY19wcm90b19zdGF0ZV9kZXN0cm95KHByb3RvX3N0YXRlKTsKKyAJ aWYgKChwcm9tcHQgIT0gTlVMTCkKKy0JCQkmJiAoYXByX3N0cm5hdGNtcChwcm9tcHQsIE9JRENf UFJPVE9fUFJPTVBUX05PTkUpID09IDApKSB7CisrCQkJJiYgKF9vaWRjX3N0cmNtcChwcm9tcHQs IE9JRENfUFJPVE9fUFJPTVBUX05PTkUpID09IDApKSB7CisgCQlyZXR1cm4gb2lkY19zZXNzaW9u X3JlZGlyZWN0X3BhcmVudF93aW5kb3dfdG9fbG9nb3V0KHIsIGMpOworIAl9CisgCXJldHVybiBv aWRjX3V0aWxfaHRtbF9zZW5kX2Vycm9yKHIsIGMtPmVycm9yX3RlbXBsYXRlLAorQEAgLTE4NzMs NyArMTg3Myw3IEBAIHN0YXRpYyBhcHJfYnl0ZV90IG9pZGNfaGFuZGxlX2Jyb3dzZXJfYmFjayhy ZXF1ZXN0X3JlYyAqciwgY29uc3QgY2hhciAqcl9zdGF0ZSwKKyAJCW9fdXJsID0gb2lkY19zZXNz aW9uX2dldF9vcmlnaW5hbF91cmwociwgc2Vzc2lvbik7CisgCisgCQlpZiAoKHJfc3RhdGUgIT0g TlVMTCkgJiYgKHNfc3RhdGUgIT0gTlVMTCkKKy0JCQkJJiYgKGFwcl9zdHJuYXRjbXAocl9zdGF0 ZSwgc19zdGF0ZSkgPT0gMCkpIHsKKysJCQkJJiYgKF9vaWRjX3N0cmNtcChyX3N0YXRlLCBzX3N0 YXRlKSA9PSAwKSkgeworIAorIAkJCS8qIGxvZyB0aGUgYnJvd3NlciBiYWNrIGV2ZW50IGRldGVj dGlvbiAqLworIAkJCW9pZGNfd2FybihyLAorQEAgLTE5MjQsNyArMTkyNCw3IEBAIHN0YXRpYyBp bnQgb2lkY19oYW5kbGVfYXV0aG9yaXphdGlvbl9yZXNwb25zZShyZXF1ZXN0X3JlYyAqciwgb2lk Y19jZmcgKmMsCisgCQkJCSJpbnZhbGlkIGF1dGhvcml6YXRpb24gcmVzcG9uc2Ugc3RhdGUgYW5k IG5vIGRlZmF1bHQgU1NPIFVSTCBpcyBzZXQsIHNlbmRpbmcgYW4gZXJyb3IuLi4iKTsKKyAJCS8v IGlmIGNvbnRlbnQgd2FzIGFscmVhZHkgcmV0dXJuZWQgdmlhIGh0bWwvaHR0cCBzZW5kIHRoZW4g ZG9uJ3QgcmV0dXJuIDUwMAorIAkJLy8gYnV0IHNlbmQgMjAwIHRvIGF2b2lkIGV4dHJhbmVvdXMg aW50ZXJuYWwgZXJyb3IgZG9jdW1lbnQgdGV4dCB0byBiZSBzZW50CistCQlyZXR1cm4gKChyLT51 c2VyKSAmJiAoc3RybmNtcChyLT51c2VyLCAiIiwgMSkgPT0gMCkpID8KKysJCXJldHVybiAoKHIt PnVzZXIpICYmIChfb2lkY19zdHJuY21wKHItPnVzZXIsICIiLCAxKSA9PSAwKSkgPworIAkJCQlP SyA6CisgCQkJCUhUVFBfQkFEX1JFUVVFU1Q7CisgCX0KK0BAIC0xOTc0LDEyICsxOTc0LDEyIEBA IHN0YXRpYyBpbnQgb2lkY19oYW5kbGVfYXV0aG9yaXphdGlvbl9yZXNwb25zZShyZXF1ZXN0X3Jl YyAqciwgb2lkY19jZmcgKmMsCisgCisgCQkvKiBzZXNzaW9uIG1hbmFnZW1lbnQ6IGlmIHRoZSB1 c2VyIGluIHRoZSBuZXcgcmVzcG9uc2UgaXMgbm90IGVxdWFsIHRvIHRoZSBvbGQgb25lLCBlcnJv ciBvdXQgKi8KKyAJCWlmICgocHJvbXB0ICE9IE5VTEwpCistCQkJCSYmIChhcHJfc3RybmF0Y21w KHByb21wdCwgT0lEQ19QUk9UT19QUk9NUFRfTk9ORSkgPT0gMCkpIHsKKysJCQkJJiYgKF9vaWRj X3N0cmNtcChwcm9tcHQsIE9JRENfUFJPVE9fUFJPTVBUX05PTkUpID09IDApKSB7CisgCQkJLy8g VE9PRDogYWN0dWFsbHkgbmVlZCB0byBjb21wYXJlIHN1Yj8gKG5lZWQgdG8gc3RvcmUgaXQgaW4g dGhlIHNlc3Npb24gc2VwYXJhdGVseSB0aGVuCisgCQkJLy9jb25zdCBjaGFyICpzdWIgPSBOVUxM OworIAkJCS8vb2lkY19zZXNzaW9uX2dldChyLCBzZXNzaW9uLCAic3ViIiwgJnN1Yik7CistCQkJ Ly9pZiAoYXByX3N0cm5hdGNtcChzdWIsIGp3dC0+cGF5bG9hZC5zdWIpICE9IDApIHsKKy0JCQlp ZiAoYXByX3N0cm5hdGNtcChzZXNzaW9uLT5yZW1vdGVfdXNlciwgci0+dXNlcikgIT0gMCkgewor KwkJCS8vaWYgKF9vaWRjX3N0cmNtcChzdWIsIGp3dC0+cGF5bG9hZC5zdWIpICE9IDApIHsKKysJ CQlpZiAoX29pZGNfc3RyY21wKHNlc3Npb24tPnJlbW90ZV91c2VyLCByLT51c2VyKSAhPSAwKSB7 CisgCQkJCW9pZGNfd2FybihyLAorIAkJCQkJCSJ1c2VyIHNldCBmcm9tIG5ldyBpZF90b2tlbiBp cyBkaWZmZXJlbnQgZnJvbSBjdXJyZW50IG9uZSIpOworIAkJCQlvaWRjX2p3dF9kZXN0cm95KGp3 dCk7CitAQCAtMjAyNSw3ICsyMDI1LDcgQEAgc3RhdGljIGludCBvaWRjX2hhbmRsZV9hdXRob3Jp emF0aW9uX3Jlc3BvbnNlKHJlcXVlc3RfcmVjICpyLCBvaWRjX2NmZyAqYywKKyAJCQlvcmlnaW5h bF91cmwsIG9yaWdpbmFsX21ldGhvZCk7CisgCisgCS8qIGNoZWNrIHdoZXRoZXIgZm9ybSBwb3N0 IGRhdGEgd2FzIHByZXNlcnZlZDsgaWYgc28gcmVzdG9yZSBpdCAqLworLQlpZiAoYXByX3N0cm5h dGNtcChvcmlnaW5hbF9tZXRob2QsIE9JRENfTUVUSE9EX0ZPUk1fUE9TVCkgPT0gMCkgeworKwlp ZiAoX29pZGNfc3RyY21wKG9yaWdpbmFsX21ldGhvZCwgT0lEQ19NRVRIT0RfRk9STV9QT1NUKSA9 PSAwKSB7CisgCQlyZXR1cm4gb2lkY19yZXF1ZXN0X3Bvc3RfcHJlc2VydmVkX3Jlc3RvcmUociwg b3JpZ2luYWxfdXJsKTsKKyAJfQorIAorQEAgLTIwNTgsNyArMjA1OCw3IEBAIHN0YXRpYyBpbnQg b2lkY19oYW5kbGVfcG9zdF9hdXRob3JpemF0aW9uX3Jlc3BvbnNlKHJlcXVlc3RfcmVjICpyLCBv aWRjX2NmZyAqYywKKyAJaWYgKChhcHJfdGFibGVfZWx0cyhwYXJhbXMpLT5uZWx0cyA8IDEpCisg CQkJfHwgKChhcHJfdGFibGVfZWx0cyhwYXJhbXMpLT5uZWx0cyA9PSAxKQorIAkJCQkJJiYgYXBy X3RhYmxlX2dldChwYXJhbXMsIE9JRENfUFJPVE9fUkVTUE9OU0VfTU9ERSkKKy0JCQkJCSYmIChh cHJfc3RybmF0Y21wKAorKwkJCQkJJiYgKF9vaWRjX3N0cmNtcCgKKyAJCQkJCQkJYXByX3RhYmxl X2dldChwYXJhbXMsIE9JRENfUFJPVE9fUkVTUE9OU0VfTU9ERSksCisgCQkJCQkJCU9JRENfUFJP VE9fUkVTUE9OU0VfTU9ERV9GUkFHTUVOVCkgPT0gMCkpKSB7CisgCQlyZXR1cm4gb2lkY191dGls X2h0bWxfc2VuZF9lcnJvcihyLCBjLT5lcnJvcl90ZW1wbGF0ZSwKK0BAIC0yMzQzLDggKzIzNDMs OCBAQCBzdGF0aWMgaW50IG9pZGNfYXV0aGVudGljYXRlX3VzZXIocmVxdWVzdF9yZWMgKnIsIG9p ZGNfY2ZnICpjLAorIAltZW1zZXQoJnJfdXJpLCAwLCBzaXplb2YoYXByX3VyaV90KSk7CisgCWFw cl91cmlfcGFyc2Uoci0+cG9vbCwgb3JpZ2luYWxfdXJsLCAmb191cmkpOworIAlhcHJfdXJpX3Bh cnNlKHItPnBvb2wsIG9pZGNfZ2V0X3JlZGlyZWN0X3VyaShyLCBjKSwgJnJfdXJpKTsKKy0JaWYg KChhcHJfc3RybmF0Y21wKG9fdXJpLnNjaGVtZSwgcl91cmkuc2NoZW1lKSAhPSAwKQorLQkJCSYm IChhcHJfc3RybmF0Y21wKHJfdXJpLnNjaGVtZSwgImh0dHBzIikgPT0gMCkpIHsKKysJaWYgKChf b2lkY19zdHJjbXAob191cmkuc2NoZW1lLCByX3VyaS5zY2hlbWUpICE9IDApCisrCQkJJiYgKF9v aWRjX3N0cmNtcChyX3VyaS5zY2hlbWUsICJodHRwcyIpID09IDApKSB7CisgCQlvaWRjX2Vycm9y KHIsCisgCQkJCSJ0aGUgVVJMIHNjaGVtZSAoJXMpIG9mIHRoZSBjb25maWd1cmVkICIgT0lEQ1Jl ZGlyZWN0VVJJICIgZG9lcyBub3QgbWF0Y2ggdGhlIFVSTCBzY2hlbWUgb2YgdGhlIFVSTCBiZWlu ZyBhY2Nlc3NlZCAoJXMpOiB0aGUgXCJzdGF0ZVwiIGFuZCBcInNlc3Npb25cIiBjb29raWVzIHdp bGwgbm90IGJlIHNoYXJlZCBiZXR3ZWVuIHRoZSB0d28hIiwKKyAJCQkJcl91cmkuc2NoZW1lLCBv X3VyaS5zY2hlbWUpOworQEAgLTIzNTMsOSArMjM1Myw5IEBAIHN0YXRpYyBpbnQgb2lkY19hdXRo ZW50aWNhdGVfdXNlcihyZXF1ZXN0X3JlYyAqciwgb2lkY19jZmcgKmMsCisgCX0KKyAKKyAJaWYg KGMtPmNvb2tpZV9kb21haW4gPT0gTlVMTCkgeworLQkJaWYgKGFwcl9zdHJuYXRjbXAob191cmku aG9zdG5hbWUsIHJfdXJpLmhvc3RuYW1lKSAhPSAwKSB7CisrCQlpZiAoX29pZGNfc3RyY21wKG9f dXJpLmhvc3RuYW1lLCByX3VyaS5ob3N0bmFtZSkgIT0gMCkgeworIAkJCWNoYXIgKnAgPSBzdHJz dHIob191cmkuaG9zdG5hbWUsIHJfdXJpLmhvc3RuYW1lKTsKKy0JCQlpZiAoKHAgPT0gTlVMTCkg fHwgKGFwcl9zdHJuYXRjbXAocl91cmkuaG9zdG5hbWUsIHApICE9IDApKSB7CisrCQkJaWYgKChw ID09IE5VTEwpIHx8IChfb2lkY19zdHJjbXAocl91cmkuaG9zdG5hbWUsIHApICE9IDApKSB7Cisg CQkJCW9pZGNfZXJyb3IociwKKyAJCQkJCQkidGhlIFVSTCBob3N0bmFtZSAoJXMpIG9mIHRoZSBj b25maWd1cmVkICIgT0lEQ1JlZGlyZWN0VVJJICIgZG9lcyBub3QgbWF0Y2ggdGhlIFVSTCBob3N0 bmFtZSBvZiB0aGUgVVJMIGJlaW5nIGFjY2Vzc2VkICglcyk6IHRoZSBcInN0YXRlXCIgYW5kIFwi c2Vzc2lvblwiIGNvb2tpZXMgd2lsbCBub3QgYmUgc2hhcmVkIGJldHdlZW4gdGhlIHR3byEiLAor IAkJCQkJCXJfdXJpLmhvc3RuYW1lLCBvX3VyaS5ob3N0bmFtZSk7CitAQCAtMjQwMCw5ICsyNDAw LDkgQEAgc3RhdGljIGludCBvaWRjX3RhcmdldF9saW5rX3VyaV9tYXRjaGVzX2NvbmZpZ3VyYXRp b24ocmVxdWVzdF9yZWMgKnIsCisgCisgCWlmIChjZmctPmNvb2tpZV9kb21haW4gPT0gTlVMTCkg eworIAkJLyogY29va2llX2RvbWFpbiBzZXQ6IHNlZSBpZiB0aGUgdGFyZ2V0X2xpbmtfdXJpIG1h dGNoZXMgdGhlIHJlZGlyZWN0X3VyaSBob3N0IChiZWNhdXNlIHRoZSBzZXNzaW9uIGNvb2tpZSB3 aWxsIGJlIHNldCBob3N0LXdpZGUpICovCistCQlpZiAoYXByX3N0cm5hdGNtcChvX3VyaS5ob3N0 bmFtZSwgcl91cmkuaG9zdG5hbWUpICE9IDApIHsKKysJCWlmIChfb2lkY19zdHJjbXAob191cmku aG9zdG5hbWUsIHJfdXJpLmhvc3RuYW1lKSAhPSAwKSB7CisgCQkJY2hhciAqcCA9IHN0cnN0cihv X3VyaS5ob3N0bmFtZSwgcl91cmkuaG9zdG5hbWUpOworLQkJCWlmICgocCA9PSBOVUxMKSB8fCAo YXByX3N0cm5hdGNtcChyX3VyaS5ob3N0bmFtZSwgcCkgIT0gMCkpIHsKKysJCQlpZiAoKHAgPT0g TlVMTCkgfHwgKF9vaWRjX3N0cmNtcChyX3VyaS5ob3N0bmFtZSwgcCkgIT0gMCkpIHsKKyAJCQkJ b2lkY19lcnJvcihyLAorIAkJCQkJCSJ0aGUgVVJMIGhvc3RuYW1lICglcykgb2YgdGhlIGNvbmZp Z3VyZWQgIiBPSURDUmVkaXJlY3RVUkkgIiBkb2VzIG5vdCBtYXRjaCB0aGUgVVJMIGhvc3RuYW1l IG9mIHRoZSBcInRhcmdldF9saW5rX3VyaVwiICglcyk6IGFib3J0aW5nIHRvIHByZXZlbnQgYW4g b3BlbiByZWRpcmVjdC4iLAorIAkJCQkJCXJfdXJpLmhvc3RuYW1lLCBvX3VyaS5ob3N0bmFtZSk7 CitAQCAtMjQxMiw3ICsyNDEyLDcgQEAgc3RhdGljIGludCBvaWRjX3RhcmdldF9saW5rX3VyaV9t YXRjaGVzX2NvbmZpZ3VyYXRpb24ocmVxdWVzdF9yZWMgKnIsCisgCX0gZWxzZSB7CisgCQkvKiBj b29raWVfZG9tYWluIHNldDogc2VlIGlmIHRoZSB0YXJnZXRfbGlua191cmkgaXMgd2l0aGluIHRo ZSBjb29raWVfZG9tYWluICovCisgCQljaGFyICpwID0gc3Ryc3RyKG9fdXJpLmhvc3RuYW1lLCBj ZmctPmNvb2tpZV9kb21haW4pOworLQkJaWYgKChwID09IE5VTEwpIHx8IChhcHJfc3RybmF0Y21w KGNmZy0+Y29va2llX2RvbWFpbiwgcCkgIT0gMCkpIHsKKysJCWlmICgocCA9PSBOVUxMKSB8fCAo X29pZGNfc3RyY21wKGNmZy0+Y29va2llX2RvbWFpbiwgcCkgIT0gMCkpIHsKKyAJCQlvaWRjX2Vy cm9yKHIsCisgCQkJCQkidGhlIGRvbWFpbiAoJXMpIGNvbmZpZ3VyZWQgaW4gIiBPSURDQ29va2ll RG9tYWluICIgZG9lcyBub3QgbWF0Y2ggdGhlIFVSTCBob3N0bmFtZSAoJXMpIG9mIHRoZSBcInRh cmdldF9saW5rX3VyaVwiICglcyk6IGFib3J0aW5nIHRvIHByZXZlbnQgYW4gb3BlbiByZWRpcmVj dC4iLAorIAkJCQkJY2ZnLT5jb29raWVfZG9tYWluLCBvX3VyaS5ob3N0bmFtZSwgdGFyZ2V0X2xp bmtfdXJpKTsKK0BAIC0yNTg4LDcgKzI1ODgsNyBAQCBzdGF0aWMgaW50IG9pZGNfaGFuZGxlX2Rp c2NvdmVyeV9yZXNwb25zZShyZXF1ZXN0X3JlYyAqciwgb2lkY19jZmcgKmMpIHsKKyAKKyAJCS8q IGNvbXBhcmUgQ1NSRiBjb29raWUgdmFsdWUgd2l0aCBxdWVyeSBwYXJhbWV0ZXIgdmFsdWUgKi8K KyAJCWlmICgoY3NyZl9xdWVyeSA9PSBOVUxMKQorLQkJCQl8fCBhcHJfc3RybmF0Y21wKGNzcmZf cXVlcnksIGNzcmZfY29va2llKSAhPSAwKSB7CisrCQkJCXx8IF9vaWRjX3N0cmNtcChjc3JmX3F1 ZXJ5LCBjc3JmX2Nvb2tpZSkgIT0gMCkgeworIAkJCW9pZGNfd2FybihyLAorIAkJCQkJIkNTUkYg cHJvdGVjdGlvbiBmYWlsZWQsIG5vIERpc2NvdmVyeSBhbmQgZHluYW1pYyBjbGllbnQgcmVnaXN0 cmF0aW9uIHdpbGwgYmUgYWxsb3dlZCIpOworIAkJCWNzcmZfY29va2llID0gTlVMTDsKK0BAIC0y NjMyLDcgKzI2MzIsNyBAQCBzdGF0aWMgaW50IG9pZGNfaGFuZGxlX2Rpc2NvdmVyeV9yZXNwb25z ZShyZXF1ZXN0X3JlYyAqciwgb2lkY19jZmcgKmMpIHsKKyAJaWYgKGMtPm1ldGFkYXRhX2RpciA9 PSBOVUxMKSB7CisgCQlpZiAoKG9pZGNfcHJvdmlkZXJfc3RhdGljX2NvbmZpZyhyLCBjLCAmcHJv dmlkZXIpID09IFRSVUUpCisgCQkJCSYmIChpc3N1ZXIgIT0gTlVMTCkpIHsKKy0JCQlpZiAoYXBy X3N0cm5hdGNtcChwcm92aWRlci0+aXNzdWVyLCBpc3N1ZXIpICE9IDApIHsKKysJCQlpZiAoX29p ZGNfc3RyY21wKHByb3ZpZGVyLT5pc3N1ZXIsIGlzc3VlcikgIT0gMCkgeworIAkJCQlyZXR1cm4g b2lkY191dGlsX2h0bWxfc2VuZF9lcnJvcihyLCBjLT5lcnJvcl90ZW1wbGF0ZSwKKyAJCQkJCQki SW52YWxpZCBSZXF1ZXN0IiwKKyAJCQkJCQlhcHJfcHNwcmludGYoci0+cG9vbCwKK0BAIC0yNzM1 LDE0ICsyNzM1LDE0IEBAIHN0YXRpYyBhcHJfdWludDMyX3Qgb2lkY190cmFuc3BhcmVudF9waXhl bFsxN10gPSB7IDB4NDc0ZTUwODksIDB4MGExYTBhMGQsCisgCisgc3RhdGljIGFwcl9ieXRlX3Qg b2lkY19pc19mcm9udF9jaGFubmVsX2xvZ291dChjb25zdCBjaGFyICpsb2dvdXRfcGFyYW1fdmFs dWUpIHsKKyAJcmV0dXJuICgobG9nb3V0X3BhcmFtX3ZhbHVlICE9IE5VTEwpCistCQkJJiYgKChh cHJfc3RybmF0Y21wKGxvZ291dF9wYXJhbV92YWx1ZSwKKysJCQkmJiAoKF9vaWRjX3N0cmNtcChs b2dvdXRfcGFyYW1fdmFsdWUsCisgCQkJCQlPSURDX0dFVF9TVFlMRV9MT0dPVVRfUEFSQU1fVkFM VUUpID09IDApCistCQkJCQl8fCAoYXByX3N0cm5hdGNtcChsb2dvdXRfcGFyYW1fdmFsdWUsCisr CQkJCQl8fCAoX29pZGNfc3RyY21wKGxvZ291dF9wYXJhbV92YWx1ZSwKKyAJCQkJCQkJT0lEQ19J TUdfU1RZTEVfTE9HT1VUX1BBUkFNX1ZBTFVFKSA9PSAwKSkpOworIH0KKyAKKyBzdGF0aWMgYXBy X2J5dGVfdCBvaWRjX2lzX2JhY2tfY2hhbm5lbF9sb2dvdXQoY29uc3QgY2hhciAqbG9nb3V0X3Bh cmFtX3ZhbHVlKSB7CistCXJldHVybiAoKGxvZ291dF9wYXJhbV92YWx1ZSAhPSBOVUxMKSAmJiAo YXByX3N0cm5hdGNtcChsb2dvdXRfcGFyYW1fdmFsdWUsCisrCXJldHVybiAoKGxvZ291dF9wYXJh bV92YWx1ZSAhPSBOVUxMKSAmJiAoX29pZGNfc3RyY21wKGxvZ291dF9wYXJhbV92YWx1ZSwKKyAJ CQlPSURDX0JBQ0tDSEFOTkVMX1NUWUxFX0xPR09VVF9QQVJBTV9WQUxVRSkgPT0gMCkpOworIH0K KyAKK0BAIC0yOTMxLDcgKzI5MzEsNyBAQCBzdGF0aWMgaW50IG9pZGNfaGFuZGxlX2xvZ291dF9y ZXF1ZXN0KHJlcXVlc3RfcmVjICpyLCBvaWRjX2NmZyAqYywKKyAKKyAJCS8qIHNlZSBpZiB0aGlz IGlzIFBGLVBBIHN0eWxlIGxvZ291dCBpbiB3aGljaCBjYXNlIHdlIHJldHVybiBhIHRyYW5zcGFy ZW50IHBpeGVsICovCisgCQljb25zdCBjaGFyICphY2NlcHQgPSBvaWRjX3V0aWxfaGRyX2luX2Fj Y2VwdF9nZXQocik7CistCQlpZiAoKGFwcl9zdHJuYXRjbXAodXJsLCBPSURDX0lNR19TVFlMRV9M T0dPVVRfUEFSQU1fVkFMVUUpID09IDApCisrCQlpZiAoKF9vaWRjX3N0cmNtcCh1cmwsIE9JRENf SU1HX1NUWUxFX0xPR09VVF9QQVJBTV9WQUxVRSkgPT0gMCkKKyAJCQkJfHwgKChhY2NlcHQpICYm IHN0cnN0cihhY2NlcHQsIE9JRENfQ09OVEVOVF9UWVBFX0lNQUdFX1BORykpKSB7CisgCQkJcmV0 dXJuIG9pZGNfdXRpbF9odHRwX3NlbmQociwgKGNvbnN0IGNoYXIqKSAmb2lkY190cmFuc3BhcmVu dF9waXhlbCwKKyAJCQkJCXNpemVvZihvaWRjX3RyYW5zcGFyZW50X3BpeGVsKSwgT0lEQ19DT05U RU5UX1RZUEVfSU1BR0VfUE5HLAorQEAgLTI5OTksNyArMjk5OSw3IEBAIHN0YXRpYyBpbnQgb2lk Y19oYW5kbGVfbG9nb3V0X2JhY2tjaGFubmVsKHJlcXVlc3RfcmVjICpyLCBvaWRjX2NmZyAqY2Zn KSB7CisgCQlnb3RvIG91dDsKKyAJfQorIAorLQlpZiAoKGp3dC0+aGVhZGVyLmFsZyA9PSBOVUxM KSB8fCAoc3RyY21wKGp3dC0+aGVhZGVyLmFsZywgIm5vbmUiKSA9PSAwKSkgeworKwlpZiAoKGp3 dC0+aGVhZGVyLmFsZyA9PSBOVUxMKSB8fCAoX29pZGNfc3RyY21wKGp3dC0+aGVhZGVyLmFsZywg Im5vbmUiKSA9PSAwKSkgeworIAkJb2lkY19lcnJvcihyLCAibG9nb3V0IHRva2VuIGlzIG5vdCBz aWduZWQiKTsKKyAJCWdvdG8gb3V0OworIAl9CitAQCAtMzAxMCw3ICszMDEwLDcgQEAgc3RhdGlj IGludCBvaWRjX2hhbmRsZV9sb2dvdXRfYmFja2NoYW5uZWwocmVxdWVzdF9yZWMgKnIsIG9pZGNf Y2ZnICpjZmcpIHsKKyAJCWdvdG8gb3V0OworIAl9CisgCistCWlmICgocHJvdmlkZXItPmlkX3Rv a2VuX3NpZ25lZF9yZXNwb25zZV9hbGcgIT0gTlVMTCkgJiYgKGFwcl9zdHJuYXRjbXAocHJvdmlk ZXItPmlkX3Rva2VuX3NpZ25lZF9yZXNwb25zZV9hbGcsIGp3dC0+aGVhZGVyLmFsZykgIT0gMCkp IHsKKysJaWYgKChwcm92aWRlci0+aWRfdG9rZW5fc2lnbmVkX3Jlc3BvbnNlX2FsZyAhPSBOVUxM KSAmJiAoX29pZGNfc3RyY21wKHByb3ZpZGVyLT5pZF90b2tlbl9zaWduZWRfcmVzcG9uc2VfYWxn LCBqd3QtPmhlYWRlci5hbGcpICE9IDApKSB7CisgCQlvaWRjX2Vycm9yKHIsICJsb2dvdXQgdG9r ZW4gaXMgc2lnbmVkIHVzaW5nIHdyb25nIGFsZ29yaXRobTogJXMgIT0gJXMiLCBqd3QtPmhlYWRl ci5hbGcsIHByb3ZpZGVyLT5pZF90b2tlbl9zaWduZWRfcmVzcG9uc2VfYWxnKTsKKyAJCWdvdG8g b3V0OworIAl9CitAQCAtMzE1OCw3ICszMTU4LDcgQEAgc3RhdGljIGludCBvaWRjX2hhbmRsZV9s b2dvdXQocmVxdWVzdF9yZWMgKnIsIG9pZGNfY2ZnICpjLAorIAkJcmV0dXJuIG9pZGNfaGFuZGxl X2xvZ291dF9iYWNrY2hhbm5lbChyLCBjKTsKKyAJfQorIAorLQlpZiAoKHVybCA9PSBOVUxMKSB8 fCAoYXByX3N0cm5hdGNtcCh1cmwsICIiKSA9PSAwKSkgeworKwlpZiAoKHVybCA9PSBOVUxMKSB8 fCAoX29pZGNfc3RyY21wKHVybCwgIiIpID09IDApKSB7CisgCisgCQl1cmwgPSBjLT5kZWZhdWx0 X3Nsb191cmw7CisgCitAQCAtMzM2Myw3ICszMzYzLDcgQEAgc3RhdGljIGludCBvaWRjX2hhbmRs ZV9zZXNzaW9uX21hbmFnZW1lbnQocmVxdWVzdF9yZWMgKnIsIG9pZGNfY2ZnICpjLAorIAl9Cisg CisgCS8qIHNlZSBpZiB0aGlzIGlzIGEgbG9jYWwgbG9nb3V0IGR1cmluZyBzZXNzaW9uIG1hbmFn ZW1lbnQgKi8KKy0JaWYgKGFwcl9zdHJuYXRjbXAoImxvZ291dCIsIGNtZCkgPT0gMCkgeworKwlp ZiAoX29pZGNfc3RyY21wKCJsb2dvdXQiLCBjbWQpID09IDApIHsKKyAJCW9pZGNfZGVidWcociwK KyAJCQkJIltzZXNzaW9uPWxvZ291dF0gY2FsbGluZyBvaWRjX2hhbmRsZV9sb2dvdXRfcmVxdWVz dCBiZWNhdXNlIG9mIHNlc3Npb24gbWdtdCBsb2NhbCBsb2dvdXQgY2FsbC4iKTsKKyAJCXJldHVy biBvaWRjX2hhbmRsZV9sb2dvdXRfcmVxdWVzdChyLCBjLCBzZXNzaW9uLCBjLT5kZWZhdWx0X3Ns b191cmwpOworQEAgLTMzNzYsNyArMzM3Niw3IEBAIHN0YXRpYyBpbnQgb2lkY19oYW5kbGVfc2Vz c2lvbl9tYW5hZ2VtZW50KHJlcXVlc3RfcmVjICpyLCBvaWRjX2NmZyAqYywKKyAJfQorIAorIAkv KiBzZWUgaWYgdGhpcyBpcyBhIHJlcXVlc3QgZm9yIHRoZSBPUCBpZnJhbWUgKi8KKy0JaWYgKGFw cl9zdHJuYXRjbXAoImlmcmFtZV9vcCIsIGNtZCkgPT0gMCkgeworKwlpZiAoX29pZGNfc3RyY21w KCJpZnJhbWVfb3AiLCBjbWQpID09IDApIHsKKyAJCWlmIChwcm92aWRlci0+Y2hlY2tfc2Vzc2lv bl9pZnJhbWUgIT0gTlVMTCkgeworIAkJCXJldHVybiBvaWRjX2hhbmRsZV9zZXNzaW9uX21hbmFn ZW1lbnRfaWZyYW1lX29wKHIsIGMsIHNlc3Npb24sCisgCQkJCQlwcm92aWRlci0+Y2hlY2tfc2Vz c2lvbl9pZnJhbWUpOworQEAgLTMzODUsNyArMzM4NSw3IEBAIHN0YXRpYyBpbnQgb2lkY19oYW5k bGVfc2Vzc2lvbl9tYW5hZ2VtZW50KHJlcXVlc3RfcmVjICpyLCBvaWRjX2NmZyAqYywKKyAJfQor IAorIAkvKiBzZWUgaWYgdGhpcyBpcyBhIHJlcXVlc3QgZm9yIHRoZSBSUCBpZnJhbWUgKi8KKy0J aWYgKGFwcl9zdHJuYXRjbXAoImlmcmFtZV9ycCIsIGNtZCkgPT0gMCkgeworKwlpZiAoX29pZGNf c3RyY21wKCJpZnJhbWVfcnAiLCBjbWQpID09IDApIHsKKyAJCWlmICgocHJvdmlkZXItPmNsaWVu dF9pZCAhPSBOVUxMKQorIAkJCQkmJiAocHJvdmlkZXItPmNoZWNrX3Nlc3Npb25faWZyYW1lICE9 IE5VTEwpKSB7CisgCQkJcmV0dXJuIG9pZGNfaGFuZGxlX3Nlc3Npb25fbWFuYWdlbWVudF9pZnJh bWVfcnAociwgYywgc2Vzc2lvbiwKK0BAIC0zMzk4LDcgKzMzOTgsNyBAQCBzdGF0aWMgaW50IG9p ZGNfaGFuZGxlX3Nlc3Npb25fbWFuYWdlbWVudChyZXF1ZXN0X3JlYyAqciwgb2lkY19jZmcgKmMs CisgCX0KKyAKKyAJLyogc2VlIGlmIHRoaXMgaXMgYSByZXF1ZXN0IGNoZWNrIHRoZSBsb2dpbiBz dGF0ZSB3aXRoIHRoZSBPUCAqLworLQlpZiAoYXByX3N0cm5hdGNtcCgiY2hlY2siLCBjbWQpID09 IDApIHsKKysJaWYgKF9vaWRjX3N0cmNtcCgiY2hlY2siLCBjbWQpID09IDApIHsKKyAJCWlkX3Rv a2VuX2hpbnQgPSBvaWRjX3Nlc3Npb25fZ2V0X2lkdG9rZW4ociwgc2Vzc2lvbik7CisgCQkvKgor IAkJICogVE9ETzogdGhpcyBkb2Vzbid0IHdvcmsgd2l0aCBwZXItcGF0aCBwcm92aWRlZCBhdXRo X3JlcXVlc3RfcGFyYW1zIGFuZCBzY29wZXMKK0BAIC0zNDY5LDcgKzM0NjksNyBAQCBzdGF0aWMg aW50IG9pZGNfaGFuZGxlX3JlZnJlc2hfdG9rZW5fcmVxdWVzdChyZXF1ZXN0X3JlYyAqciwgb2lk Y19jZmcgKmMsCisgCX0KKyAKKyAJLyogY29tcGFyZSB0aGUgYWNjZXNzX3Rva2VuIHBhcmFtZXRl ciB1c2VkIGZvciBYU1JGIHByb3RlY3Rpb24gKi8KKy0JaWYgKGFwcl9zdHJuYXRjbXAoc19hY2Nl c3NfdG9rZW4sIHJfYWNjZXNzX3Rva2VuKSAhPSAwKSB7CisrCWlmIChfb2lkY19zdHJjbXAoc19h Y2Nlc3NfdG9rZW4sIHJfYWNjZXNzX3Rva2VuKSAhPSAwKSB7CisgCQlvaWRjX2Vycm9yKHIsCisg CQkJCSJhY2Nlc3NfdG9rZW4gcGFzc2VkIGluIHJlZnJlc2ggcmVxdWVzdCBkb2VzIG5vdCBtYXRj aCB0aGUgb25lIHN0b3JlZCBpbiB0aGUgc2Vzc2lvbiIpOworIAkJZXJyb3JfY29kZSA9ICJub19h Y2Nlc3NfdG9rZW5fbWF0Y2giOworQEAgLTM1OTgsOCArMzU5OCw4IEBAIHN0YXRpYyBpbnQgb2lk Y19oYW5kbGVfaW5mb19yZXF1ZXN0KHJlcXVlc3RfcmVjICpyLCBvaWRjX2NmZyAqYywKKyAJCQlP SURDX0lORk9fUEFSQU1fQUNDRVNTX1RPS0VOX1JFRlJFU0hfSU5URVJWQUwsICZzX2ludGVydmFs KTsKKyAKKyAJLyogc2VlIGlmIHRoaXMgaXMgYSByZXF1ZXN0IGZvciBhIGZvcm1hdCB0aGF0IGlz IHN1cHBvcnRlZCAqLworLQlpZiAoKGFwcl9zdHJuYXRjbXAoT0lEQ19IT09LX0lORk9fRk9STUFU X0pTT04sIHNfZm9ybWF0KSAhPSAwKQorLQkJCSYmIChhcHJfc3RybmF0Y21wKE9JRENfSE9PS19J TkZPX0ZPUk1BVF9IVE1MLCBzX2Zvcm1hdCkgIT0gMCkpIHsKKysJaWYgKChfb2lkY19zdHJjbXAo T0lEQ19IT09LX0lORk9fRk9STUFUX0pTT04sIHNfZm9ybWF0KSAhPSAwKQorKwkJCSYmIChfb2lk Y19zdHJjbXAoT0lEQ19IT09LX0lORk9fRk9STUFUX0hUTUwsIHNfZm9ybWF0KSAhPSAwKSkgewor IAkJb2lkY193YXJuKHIsICJyZXF1ZXN0IGZvciB1bmtub3duIGZvcm1hdDogJXMiLCBzX2Zvcm1h dCk7CisgCQlyZXR1cm4gSFRUUF9VTlNVUFBPUlRFRF9NRURJQV9UWVBFOworIAl9CitAQCAtMzc1 OSwxMyArMzc1OSwxMyBAQCBzdGF0aWMgaW50IG9pZGNfaGFuZGxlX2luZm9fcmVxdWVzdChyZXF1 ZXN0X3JlYyAqciwgb2lkY19jZmcgKmMsCisgCQl9CisgCX0KKyAKKy0JaWYgKGFwcl9zdHJuYXRj bXAoT0lEQ19IT09LX0lORk9fRk9STUFUX0pTT04sIHNfZm9ybWF0KSA9PSAwKSB7CisrCWlmIChf b2lkY19zdHJjbXAoT0lEQ19IT09LX0lORk9fRk9STUFUX0pTT04sIHNfZm9ybWF0KSA9PSAwKSB7 CisgCQkvKiBKU09OLWVuY29kZSB0aGUgcmVzdWx0ICovCisgCQlyX3ZhbHVlID0gb2lkY191dGls X2VuY29kZV9qc29uX29iamVjdChyLCBqc29uLCAwKTsKKyAJCS8qIHJldHVybiB0aGUgc3RyaW5n aWZpZWQgSlNPTiByZXN1bHQgKi8KKyAJCXJjID0gb2lkY191dGlsX2h0dHBfc2VuZChyLCByX3Zh bHVlLCBzdHJsZW4ocl92YWx1ZSksCisgCQkJCU9JRENfQ09OVEVOVF9UWVBFX0pTT04sIE9LKTsK Ky0JfSBlbHNlIGlmIChhcHJfc3RybmF0Y21wKE9JRENfSE9PS19JTkZPX0ZPUk1BVF9IVE1MLCBz X2Zvcm1hdCkgPT0gMCkgeworKwl9IGVsc2UgaWYgKF9vaWRjX3N0cmNtcChPSURDX0hPT0tfSU5G T19GT1JNQVRfSFRNTCwgc19mb3JtYXQpID09IDApIHsKKyAJCS8qIEpTT04tZW5jb2RlIHRoZSBy ZXN1bHQgKi8KKyAJCXJfdmFsdWUgPSBvaWRjX3V0aWxfZW5jb2RlX2pzb25fb2JqZWN0KHIsIGpz b24sIEpTT05fSU5ERU5UKDIpKTsKKyAJCXJjID0gb2lkY191dGlsX2h0bWxfc2VuZChyLCAiU2Vz c2lvbiBJbmZvIiwgTlVMTCwgTlVMTCwKK0BAIC0zODY5LDcgKzM4NjksNyBAQCBpbnQgb2lkY19o YW5kbGVfcmVkaXJlY3RfdXJpX3JlcXVlc3QocmVxdWVzdF9yZWMgKnIsIG9pZGNfY2ZnICpjLAor IAorIAkJcmV0dXJuIHJjOworIAorLQl9IGVsc2UgaWYgKChyLT5hcmdzID09IE5VTEwpIHx8IChh cHJfc3RybmF0Y21wKHItPmFyZ3MsICIiKSA9PSAwKSkgeworKwl9IGVsc2UgaWYgKChyLT5hcmdz ID09IE5VTEwpIHx8IChfb2lkY19zdHJjbXAoci0+YXJncywgIiIpID09IDApKSB7CisgCisgCQkv KiB0aGlzIGlzIGEgImJhcmUiIHJlcXVlc3QgdG8gdGhlIHJlZGlyZWN0IFVSSSwgaW5kaWNhdGlu ZyBpbXBsaWNpdCBmbG93IHVzaW5nIHRoZSBmcmFnbWVudCByZXNwb25zZV9tb2RlICovCisgCQly ZXR1cm4gb2lkY19wcm90b19qYXZhc2NyaXB0X2ltcGxpY2l0KHIsIGMpOworZGlmZiAtLWdpdCBh L3NyYy9vYXV0aC5jIGIvc3JjL29hdXRoLmMKK2luZGV4IGJmYzI0NWQuLmE5ZTM2YWEgMTAwNjQ0 CistLS0gYS9zcmMvb2F1dGguYworKysrIGIvc3JjL29hdXRoLmMKK0BAIC0xNDUsNyArMTQ1LDcg QEAgc3RhdGljIGFwcl9ieXRlX3Qgb2lkY19vYXV0aF92YWxpZGF0ZV9hY2Nlc3NfdG9rZW4ocmVx dWVzdF9yZWMgKnIsIG9pZGNfY2ZnICpjLAorIAorIAljb25zdCBjaGFyICpiZWFyZXJfYWNjZXNz X3Rva2VuX2F1dGggPQorIAkJCSgoYy0+b2F1dGguaW50cm9zcGVjdGlvbl9jbGllbnRfYXV0aF9i ZWFyZXJfdG9rZW4gIT0gTlVMTCkKKy0JCQkJCSYmIHN0cmNtcChjLT5vYXV0aC5pbnRyb3NwZWN0 aW9uX2NsaWVudF9hdXRoX2JlYXJlcl90b2tlbiwKKysJCQkJCSYmIF9vaWRjX3N0cmNtcChjLT5v YXV0aC5pbnRyb3NwZWN0aW9uX2NsaWVudF9hdXRoX2JlYXJlcl90b2tlbiwKKyAJCQkJCQkJIiIp ID09IDApID8KKyAJCQkJCQkJCQl0b2tlbiA6IGMtPm9hdXRoLmludHJvc3BlY3Rpb25fY2xpZW50 X2F1dGhfYmVhcmVyX3Rva2VuOworIAorQEAgLTE1OCw3ICsxNTgsNyBAQCBzdGF0aWMgYXByX2J5 dGVfdCBvaWRjX29hdXRoX3ZhbGlkYXRlX2FjY2Vzc190b2tlbihyZXF1ZXN0X3JlYyAqciwgb2lk Y19jZmcgKmMsCisgCQlyZXR1cm4gRkFMU0U7CisgCisgCS8qIGNhbGwgdGhlIGVuZHBvaW50IHdp dGggdGhlIGNvbnN0cnVjdGVkIHBhcmFtZXRlciBzZXQgYW5kIHJldHVybiB0aGUgcmVzdWx0aW5n IHJlc3BvbnNlICovCistCXJldHVybiBhcHJfc3RybmF0Y21wKGMtPm9hdXRoLmludHJvc3BlY3Rp b25fZW5kcG9pbnRfbWV0aG9kLAorKwlyZXR1cm4gX29pZGNfc3RyY21wKGMtPm9hdXRoLmludHJv c3BlY3Rpb25fZW5kcG9pbnRfbWV0aG9kLAorIAkJCU9JRENfSU5UUk9TUEVDVElPTl9NRVRIT0Rf R0VUKSA9PSAwID8KKyAJCQkJCW9pZGNfdXRpbF9odHRwX2dldChyLCBjLT5vYXV0aC5pbnRyb3Nw ZWN0aW9uX2VuZHBvaW50X3VybCwgcGFyYW1zLAorIAkJCQkJCQliYXNpY19hdXRoLCBiZWFyZXJf YXV0aCwgYy0+b2F1dGguc3NsX3ZhbGlkYXRlX3NlcnZlciwKK0BAIC01MDgsNyArNTA4LDcgQEAg c3RhdGljIGFwcl9ieXRlX3Qgb2lkY19vYXV0aF9yZXNvbHZlX2FjY2Vzc190b2tlbihyZXF1ZXN0 X3JlYyAqciwgb2lkY19jZmcgKmMsCisgCisgCQkJaWYgKG9pZGNfb2F1dGhfcGFyc2VfYW5kX2Nh Y2hlX3Rva2VuX2V4cGlyeShyLCBjLCByZXN1bHQsCisgCQkJCQljLT5vYXV0aC5pbnRyb3NwZWN0 aW9uX3Rva2VuX2V4cGlyeV9jbGFpbV9uYW1lLAorLQkJCQkJYXByX3N0cm5hdGNtcCgKKysJCQkJ CV9vaWRjX3N0cmNtcCgKKyAJCQkJCQkJYy0+b2F1dGguaW50cm9zcGVjdGlvbl90b2tlbl9leHBp cnlfY2xhaW1fZm9ybWF0LAorIAkJCQkJCQlPSURDX0NMQUlNX0ZPUk1BVF9BQlNPTFVURSkgPT0g MCwKKyAJCQkJCQkJYy0+b2F1dGguaW50cm9zcGVjdGlvbl90b2tlbl9leHBpcnlfY2xhaW1fcmVx dWlyZWQsCitkaWZmIC0tZ2l0IGEvc3JjL3BhcnNlLmMgYi9zcmMvcGFyc2UuYworaW5kZXggN2Ix MzJkNC4uYjE3ZmU2YSAxMDA2NDQKKy0tLSBhL3NyYy9wYXJzZS5jCisrKysgYi9zcmMvcGFyc2Uu YworQEAgLTY0LDggKzY0LDggQEAgc3RhdGljIGNvbnN0IGNoYXIgKiBvaWRjX3ZhbGlkX3VybF9z Y2hlbWUoYXByX3Bvb2xfdCAqcG9vbCwgY29uc3QgY2hhciAqYXJnLAorIAkJCQkiJyVzJyBjYW5u b3QgYmUgcGFyc2VkIGFzIGEgVVJMIChubyBzY2hlbWUgc2V0KSIsIGFyZyk7CisgCX0KKyAKKy0J aWYgKChzY2hlbWUxICE9IE5VTEwpICYmIChhcHJfc3RybmF0Y21wKHVyaS5zY2hlbWUsIHNjaGVt ZTEpICE9IDApKSB7CistCQlpZiAoKHNjaGVtZTIgIT0gTlVMTCkgJiYgKGFwcl9zdHJuYXRjbXAo dXJpLnNjaGVtZSwgc2NoZW1lMikgIT0gMCkpIHsKKysJaWYgKChzY2hlbWUxICE9IE5VTEwpICYm IChfb2lkY19zdHJjbXAodXJpLnNjaGVtZSwgc2NoZW1lMSkgIT0gMCkpIHsKKysJCWlmICgoc2No ZW1lMiAhPSBOVUxMKSAmJiAoX29pZGNfc3RyY21wKHVyaS5zY2hlbWUsIHNjaGVtZTIpICE9IDAp KSB7CisgCQkJcmV0dXJuIGFwcl9wc3ByaW50Zihwb29sLAorIAkJCQkJIiclcycgY2Fubm90IGJl IHBhcnNlZCBhcyBhIFwiJXNcIiBvciBcIiVzXCIgVVJMIChzY2hlbWUgPT0gJXMpISIsCisgCQkJ CQlhcmcsIHNjaGVtZTEsIHNjaGVtZTIsIHVyaS5zY2hlbWUpOworQEAgLTI0MSw3ICsyNDEsNyBA QCBzdGF0aWMgY29uc3QgY2hhciAqb2lkY192YWxpZF9zdHJpbmdfb3B0aW9uKGFwcl9wb29sX3Qg KnBvb2wsIGNvbnN0IGNoYXIgKmFyZywKKyAJCWNoYXIgKm9wdGlvbnNbXSkgeworIAlpbnQgaSA9 IDA7CisgCXdoaWxlIChvcHRpb25zW2ldICE9IE5VTEwpIHsKKy0JCWlmIChhcHJfc3RybmF0Y21w KGFyZywgb3B0aW9uc1tpXSkgPT0gMCkKKysJCWlmIChfb2lkY19zdHJjbXAoYXJnLCBvcHRpb25z W2ldKSA9PSAwKQorIAkJCWJyZWFrOworIAkJaSsrOworIAl9CitAQCAtMjc3LDE2ICsyNzcsMTYg QEAgY29uc3QgY2hhciAqb2lkY19wYXJzZV9jYWNoZV90eXBlKGFwcl9wb29sX3QgKnBvb2wsIGNv bnN0IGNoYXIgKmFyZywKKyAJaWYgKHJ2ICE9IE5VTEwpCisgCQlyZXR1cm4gcnY7CisgCistCWlm IChhcHJfc3RybmF0Y21wKGFyZywgT0lEQ19DQUNIRV9UWVBFX1NITSkgPT0gMCkgeworKwlpZiAo X29pZGNfc3RyY21wKGFyZywgT0lEQ19DQUNIRV9UWVBFX1NITSkgPT0gMCkgeworIAkJKnR5cGUg PSAmb2lkY19jYWNoZV9zaG07CisgI2lmZGVmIFVTRV9NRU1DQUNIRQorLQl9IGVsc2UgaWYgKGFw cl9zdHJuYXRjbXAoYXJnLCBPSURDX0NBQ0hFX1RZUEVfTUVNQ0FDSEUpID09IDApIHsKKysJfSBl bHNlIGlmIChfb2lkY19zdHJjbXAoYXJnLCBPSURDX0NBQ0hFX1RZUEVfTUVNQ0FDSEUpID09IDAp IHsKKyAJCSp0eXBlID0gJm9pZGNfY2FjaGVfbWVtY2FjaGU7CisgI2VuZGlmCistCX0gZWxzZSBp ZiAoYXByX3N0cm5hdGNtcChhcmcsIE9JRENfQ0FDSEVfVFlQRV9GSUxFKSA9PSAwKSB7CisrCX0g ZWxzZSBpZiAoX29pZGNfc3RyY21wKGFyZywgT0lEQ19DQUNIRV9UWVBFX0ZJTEUpID09IDApIHsK KyAJCSp0eXBlID0gJm9pZGNfY2FjaGVfZmlsZTsKKyAjaWZkZWYgVVNFX0xJQkhJUkVESVMKKy0J fSBlbHNlIGlmIChhcHJfc3RybmF0Y21wKGFyZywgT0lEQ19DQUNIRV9UWVBFX1JFRElTKSA9PSAw KSB7CisrCX0gZWxzZSBpZiAoX29pZGNfc3RyY21wKGFyZywgT0lEQ19DQUNIRV9UWVBFX1JFRElT KSA9PSAwKSB7CisgCQkqdHlwZSA9ICZvaWRjX2NhY2hlX3JlZGlzOworICNlbmRpZgorIAl9CitA QCAtMzI2LDIwICszMjYsMjAgQEAgY29uc3QgY2hhciogb2lkY19wYXJzZV9zZXNzaW9uX3R5cGUo YXByX3Bvb2xfdCAqcG9vbCwgY29uc3QgY2hhciAqYXJnLCBpbnQgKnR5cGUKKyAJCXArKzsKKyAJ fQorIAorLQlpZiAoYXByX3N0cm5hdGNtcChzLCBPSURDX1NFU1NJT05fVFlQRV9TRVJWRVJfQ0FD SEVfU1RSKSA9PSAwKSB7CisrCWlmIChfb2lkY19zdHJjbXAocywgT0lEQ19TRVNTSU9OX1RZUEVf U0VSVkVSX0NBQ0hFX1NUUikgPT0gMCkgeworIAkJKnR5cGUgPSBPSURDX1NFU1NJT05fVFlQRV9T RVJWRVJfQ0FDSEU7CistCX0gZWxzZSBpZiAoYXByX3N0cm5hdGNtcChzLCBPSURDX1NFU1NJT05f VFlQRV9DTElFTlRfQ09PS0lFX1NUUikgPT0gMCkgeworKwl9IGVsc2UgaWYgKF9vaWRjX3N0cmNt cChzLCBPSURDX1NFU1NJT05fVFlQRV9DTElFTlRfQ09PS0lFX1NUUikgPT0gMCkgeworIAkJKnR5
[continued in next message]
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
From
Moritz Schlarb
@21:1/5 to
All
on Wed May 7 15:00:01 2025
[continued from previous message]
X1JTNTEyKSA9PSAwKQorKwkJCXx8IChfb2lkY19zdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX1BT NTEyKSA9PSAwKQorKwkJCXx8IChfb2lkY19zdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX0hTNTEy KSA9PSAwKQorKwkJCXx8IChfb2lkY19zdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX0VTNTEyKSA9 PSAwKSkgeworIAkJcmV0dXJuIExOX3NoYTUxMjsKKyAJfQorIAlyZXR1cm4gTlVMTDsKK0BAIC0x MTA5LDIyICsxMTA5LDIyIEBAIGFwcl9ieXRlX3Qgb2lkY19qb3NlX2hhc2hfc3RyaW5nKGFwcl9w b29sX3QgKnBvb2wsIGNvbnN0IGNoYXIgKmFsZywKKyAgKiByZXR1cm4gaGFzaCBsZW5ndGgKKyAg Ki8KKyBpbnQgb2lkY19qb3NlX2hhc2hfbGVuZ3RoKGNvbnN0IGNoYXIgKmFsZykgeworLQlpZiAo KHN0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfUlMyNTYpID09IDApCistCQkJfHwgKHN0cmNtcChh bGcsIENKT1NFX0hEUl9BTEdfUFMyNTYpID09IDApCistCQkJfHwgKHN0cmNtcChhbGcsIENKT1NF X0hEUl9BTEdfSFMyNTYpID09IDApCistCQkJfHwgKHN0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdf RVMyNTYpID09IDApKSB7CisrCWlmICgoX29pZGNfc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19S UzI1NikgPT0gMCkKKysJCQl8fCAoX29pZGNfc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19QUzI1 NikgPT0gMCkKKysJCQl8fCAoX29pZGNfc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19IUzI1Nikg PT0gMCkKKysJCQl8fCAoX29pZGNfc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19FUzI1NikgPT0g MCkpIHsKKyAJCXJldHVybiAzMjsKKyAJfQorLQlpZiAoKHN0cmNtcChhbGcsIENKT1NFX0hEUl9B TEdfUlMzODQpID09IDApCistCQkJfHwgKHN0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfUFMzODQp ID09IDApCistCQkJfHwgKHN0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfSFMzODQpID09IDApCist CQkJfHwgKHN0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfRVMzODQpID09IDApKSB7CisrCWlmICgo X29pZGNfc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19SUzM4NCkgPT0gMCkKKysJCQl8fCAoX29p ZGNfc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19QUzM4NCkgPT0gMCkKKysJCQl8fCAoX29pZGNf c3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19IUzM4NCkgPT0gMCkKKysJCQl8fCAoX29pZGNfc3Ry Y21wKGFsZywgQ0pPU0VfSERSX0FMR19FUzM4NCkgPT0gMCkpIHsKKyAJCXJldHVybiA0ODsKKyAJ fQorLQlpZiAoKHN0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfUlM1MTIpID09IDApCistCQkJfHwg KHN0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfUFM1MTIpID09IDApCistCQkJfHwgKHN0cmNtcChh bGcsIENKT1NFX0hEUl9BTEdfSFM1MTIpID09IDApCistCQkJfHwgKHN0cmNtcChhbGcsIENKT1NF X0hEUl9BTEdfRVM1MTIpID09IDApKSB7CisrCWlmICgoX29pZGNfc3RyY21wKGFsZywgQ0pPU0Vf SERSX0FMR19SUzUxMikgPT0gMCkKKysJCQl8fCAoX29pZGNfc3RyY21wKGFsZywgQ0pPU0VfSERS X0FMR19QUzUxMikgPT0gMCkKKysJCQl8fCAoX29pZGNfc3RyY21wKGFsZywgQ0pPU0VfSERSX0FM R19IUzUxMikgPT0gMCkKKysJCQl8fCAoX29pZGNfc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19F UzUxMikgPT0gMCkpIHsKKyAJCXJldHVybiA2NDsKKyAJfQorIAlyZXR1cm4gMDsKK2RpZmYgLS1n aXQgYS9zcmMvam9zZS5oIGIvc3JjL2pvc2UuaAoraW5kZXggNWJiYzIwZi4uNDgzNGQ1OCAxMDA2 NDQKKy0tLSBhL3NyYy9qb3NlLmgKKysrKyBiL3NyYy9qb3NlLmgKK0BAIC01Niw2ICs1Niw5IEBA CisgCisgI2luY2x1ZGUgImNqb3NlL2Nqb3NlLmgiCisgCisrI2RlZmluZSBfb2lkY19zdHJjbXAo YSwgYikgKCAoYSAmJiBiKSA/IGFwcl9zdHJuYXRjbXAoYSwgYikgOiAtMSApCisrI2RlZmluZSBf b2lkY19zdHJuY21wKGEsIGIsIHNpemUpICggKGEgJiYgYikgPyBzdHJuY21wKGEsIGIsIHNpemUp IDogLTEgKQorKworICNkZWZpbmUgT0lEQ19KT1NFX0FMR19TSEExICJzaGExIgorICNkZWZpbmUg T0lEQ19KT1NFX0FMR19TSEEyNTYgInNoYTI1NiIKKyAKK2RpZmYgLS1naXQgYS9zcmMvbWV0YWRh dGEuYyBiL3NyYy9tZXRhZGF0YS5jCitpbmRleCAxNGRkMzBmLi5mOTE0Yjg5IDEwMDY0NAorLS0t IGEvc3JjL21ldGFkYXRhLmMKKysrKyBiL3NyYy9tZXRhZGF0YS5jCitAQCAtOTAwLDcgKzkwMCw3 IEBAIGFwcl9ieXRlX3Qgb2lkY19tZXRhZGF0YV9saXN0KHJlcXVlc3RfcmVjICpyLCBvaWRjX2Nm ZyAqY2ZnLAorIAkJLyogc2tpcCBvdGhlciBub24tcHJvdmlkZXIgZW50cmllcyAqLworIAkJY2hh ciAqZXh0ID0gc3RycmNocihmaS5uYW1lLCBPSURDX0NIQVJfRE9UKTsKKyAJCWlmICgoZXh0ID09 IE5VTEwpCistCQkJCXx8IChzdHJjbXAoKytleHQsIE9JRENfTUVUQURBVEFfU1VGRklYX1BST1ZJ REVSKSAhPSAwKSkKKysJCQkJfHwgKF9vaWRjX3N0cmNtcCgrK2V4dCwgT0lEQ19NRVRBREFUQV9T VUZGSVhfUFJPVklERVIpICE9IDApKQorIAkJCWNvbnRpbnVlOworIAorIAkJLyogZ2V0IHRoZSBp c3N1ZXIgZnJvbSB0aGUgZmlsZW5hbWUgKi8KK0BAIC0xMTYzLDcgKzExNjMsNyBAQCBzdGF0aWMg dm9pZCBvaWRjX21ldGFkYXRhX2dldF9qd2tzKHJlcXVlc3RfcmVjICpyLCBqc29uX3QgKmpzb24s CisgCQllbGVtID0ganNvbl9hcnJheV9nZXQoa2V5cywgaSk7CisgCisgCQl1c2UgPSBqc29uX3N0 cmluZ192YWx1ZShqc29uX29iamVjdF9nZXQoZWxlbSwgT0lEQ19KV0tfVVNFKSk7CistCQlpZiAo KHVzZSAhPSBOVUxMKSAmJiAoc3RyY21wKHVzZSwgc191c2UpICE9IDApKSB7CisrCQlpZiAoKHVz ZSAhPSBOVUxMKSAmJiAoX29pZGNfc3RyY21wKHVzZSwgc191c2UpICE9IDApKSB7CisgCQkJb2lk Y19kZWJ1ZyhyLAorIAkJCQkJInNraXBwaW5nIGtleSBiZWNhdXNlIG9mIG5vbi1tYXRjaGluZyBc IiVzXCI6IFwiJXNcIiAhPSBcIiVzXCIiLAorIAkJCQkJT0lEQ19KV0tfVVNFLCB1c2UsIHNfdXNl KTsKK2RpZmYgLS1naXQgYS9zcmMvbW9kX2F1dGhfb3BlbmlkYy5jIGIvc3JjL21vZF9hdXRoX29w ZW5pZGMuYworaW5kZXggMjYxNzA4Yi4uMWVlMGM1ZSAxMDA2NDQKKy0tLSBhL3NyYy9tb2RfYXV0 aF9vcGVuaWRjLmMKKysrKyBiL3NyYy9tb2RfYXV0aF9vcGVuaWRjLmMKK0BAIC0xNDAsNyArMTQw LDcgQEAgdm9pZCBvaWRjX3NjcnViX2hlYWRlcnMocmVxdWVzdF9yZWMgKnIpIHsKKyAJY29uc3Qg Y2hhciAqcHJlZml4ID0gb2lkY19jZmdfY2xhaW1fcHJlZml4KHIpOworIAlhcHJfaGFzaF90ICpo ZHJzID0gYXByX2hhc2hfbWFrZShyLT5wb29sKTsKKyAKKy0JaWYgKGFwcl9zdHJuYXRjbXAocHJl Zml4LCAiIikgPT0gMCkgeworKwlpZiAoX29pZGNfc3RyY21wKHByZWZpeCwgIiIpID09IDApIHsK KyAJCWlmICgoY2ZnLT53aGl0ZV9saXN0ZWRfY2xhaW1zICE9IE5VTEwpCisgCQkJCSYmIChhcHJf aGFzaF9jb3VudChjZmctPndoaXRlX2xpc3RlZF9jbGFpbXMpID4gMCkpCisgCQkJaGRycyA9IGFw cl9oYXNoX292ZXJsYXkoci0+cG9vbCwgY2ZnLT53aGl0ZV9saXN0ZWRfY2xhaW1zLCBoZHJzKTsK K0BAIC0xOTUsNyArMTk1LDcgQEAgdm9pZCBvaWRjX3N0cmlwX2Nvb2tpZXMocmVxdWVzdF9yZWMg KnIpIHsKKyAJCQkJYnJlYWs7CisgCQkJZm9yIChpID0gMDsgaSA8IHN0cmlwLT5uZWx0czsgaSsr KSB7CisgCQkJCW5hbWUgPSAoKGNvbnN0IGNoYXIqKikgc3RyaXAtPmVsdHMpW2ldOworLQkJCQlp ZiAoKHN0cm5jbXAoY29va2llLCBuYW1lLCBzdHJsZW4obmFtZSkpID09IDApCisrCQkJCWlmICgo X29pZGNfc3RybmNtcChjb29raWUsIG5hbWUsIHN0cmxlbihuYW1lKSkgPT0gMCkKKyAJCQkJCQkm JiAoY29va2llW3N0cmxlbihuYW1lKV0gPT0gT0lEQ19DSEFSX0VRVUFMKSkgeworIAkJCQkJb2lk Y19kZWJ1ZyhyLCAic3RyaXBwaW5nOiAlcyIsIG5hbWUpOworIAkJCQkJYnJlYWs7CitAQCAtNDEw LDcgKzQxMCw3IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBvaWRjX29yaWdpbmFsX3JlcXVlc3RfbWV0 aG9kKHJlcXVlc3RfcmVjICpyLCBvaWRjX2NmZyAqY2ZnLAorIAkJCXJldHVybiBPSURDX01FVEhP RF9HRVQ7CisgCisgCQljb25zdCBjaGFyICpjb250ZW50X3R5cGUgPSBvaWRjX3V0aWxfaGRyX2lu X2NvbnRlbnRfdHlwZV9nZXQocik7CistCQlpZiAoKHItPm1ldGhvZF9udW1iZXIgPT0gTV9QT1NU KSAmJiAoYXByX3N0cm5hdGNtcChjb250ZW50X3R5cGUsCisrCQlpZiAoKHItPm1ldGhvZF9udW1i ZXIgPT0gTV9QT1NUKSAmJiAoX29pZGNfc3RyY21wKGNvbnRlbnRfdHlwZSwKKyAJCQkJT0lEQ19D T05URU5UX1RZUEVfRk9STV9FTkNPREVEKSA9PSAwKSkKKyAJCQltZXRob2QgPSBPSURDX01FVEhP RF9GT1JNX1BPU1Q7CisgCX0KK0BAIC00MzYsNyArNDM2LDcgQEAgYXByX2J5dGVfdCBvaWRjX3Bv c3RfcHJlc2VydmVfamF2YXNjcmlwdChyZXF1ZXN0X3JlYyAqciwgY29uc3QgY2hhciAqbG9jYXRp b24sCisgCisgCWNvbnN0IGNoYXIgKm1ldGhvZCA9IG9pZGNfb3JpZ2luYWxfcmVxdWVzdF9tZXRo b2QociwgY2ZnLCBGQUxTRSk7CisgCistCWlmIChhcHJfc3RybmF0Y21wKG1ldGhvZCwgT0lEQ19N RVRIT0RfRk9STV9QT1NUKSAhPSAwKQorKwlpZiAoX29pZGNfc3RyY21wKG1ldGhvZCwgT0lEQ19N RVRIT0RfRk9STV9QT1NUKSAhPSAwKQorIAkJcmV0dXJuIEZBTFNFOworIAorIAkvKiByZWFkIHRo ZSBwYXJhbWV0ZXJzIHRoYXQgYXJlIFBPU1QtZWQgdG8gdXMgKi8KK0BAIC01ODgsNyArNTg4LDcg QEAgc3RhdGljIGludCBvaWRjX2NsZWFuX2V4cGlyZWRfc3RhdGVfY29va2llcyhyZXF1ZXN0X3Jl YyAqciwgb2lkY19jZmcgKmMsCisgCQkJCQkqY29va2llID0gJ1wwJzsKKyAJCQkJCWNvb2tpZSsr OworIAkJCQkJaWYgKChjdXJyZW50Q29va2llTmFtZSA9PSBOVUxMKQorLQkJCQkJCQl8fCAoYXBy X3N0cm5hdGNtcChjb29raWVOYW1lLCBjdXJyZW50Q29va2llTmFtZSkKKysJCQkJCQkJfHwgKF9v aWRjX3N0cmNtcChjb29raWVOYW1lLCBjdXJyZW50Q29va2llTmFtZSkKKyAJCQkJCQkJCQkhPSAw KSkgeworIAkJCQkJCW9pZGNfcHJvdG9fc3RhdGVfdCAqcHJvdG9fc3RhdGUgPQorIAkJCQkJCQkJ b2lkY19wcm90b19zdGF0ZV9mcm9tX2Nvb2tpZShyLCBjLCBjb29raWUpOworQEAgLTY3Niw3ICs2 NzYsNyBAQCBzdGF0aWMgYXByX2J5dGVfdCBvaWRjX3Jlc3RvcmVfcHJvdG9fc3RhdGUocmVxdWVz dF9yZWMgKnIsIG9pZGNfY2ZnICpjLAorIAkvKiBjYWxjdWxhdGUgdGhlIGhhc2ggb2YgdGhlIGJy b3dzZXIgZmluZ2VycHJpbnQgY29uY2F0ZW5hdGVkIHdpdGggdGhlIG5vbmNlICovCisgCWNoYXIg KmNhbGMgPSBvaWRjX2dldF9icm93c2VyX3N0YXRlX2hhc2gociwgYywgbm9uY2UpOworIAkvKiBj b21wYXJlIHRoZSBjYWxjdWxhdGVkIGhhc2ggd2l0aCB0aGUgdmFsdWUgcHJvdmlkZWQgaW4gdGhl IGF1dGhvcml6YXRpb24gcmVzcG9uc2UgKi8KKy0JaWYgKGFwcl9zdHJuYXRjbXAoY2FsYywgc3Rh dGUpICE9IDApIHsKKysJaWYgKF9vaWRjX3N0cmNtcChjYWxjLCBzdGF0ZSkgIT0gMCkgeworIAkJ b2lkY19lcnJvcihyLAorIAkJCQkiY2FsY3VsYXRlZCBzdGF0ZSBmcm9tIGNvb2tpZSBkb2VzIG5v dCBtYXRjaCBzdGF0ZSBwYXJhbWV0ZXIgcGFzc2VkIGJhY2sgaW4gVVJMOiBcIiVzXCIgIT0gXCIl c1wiIiwKKyAJCQkJc3RhdGUsIGNhbGMpOworQEAgLTk3Miw3ICs5NzIsNyBAQCBzdGF0aWMgYXBy X2J5dGVfdCBvaWRjX2NoZWNrX2Nvb2tpZV9kb21haW4ocmVxdWVzdF9yZWMgKnIsIG9pZGNfY2Zn ICpjZmcsCisgCQkJCQljZmctPmNvb2tpZV9kb21haW4gOiBvaWRjX2dldF9jdXJyZW50X3VybF9o b3N0KHIpOworIAljb25zdCBjaGFyICpzX2Nvb2tpZV9kb21haW4gPSBvaWRjX3Nlc3Npb25fZ2V0 X2Nvb2tpZV9kb21haW4ociwgc2Vzc2lvbik7CisgCWlmICgoc19jb29raWVfZG9tYWluID09IE5V TEwpCistCQkJfHwgKGFwcl9zdHJuYXRjbXAoY19jb29raWVfZG9tYWluLCBzX2Nvb2tpZV9kb21h aW4pICE9IDApKSB7CisrCQkJfHwgKF9vaWRjX3N0cmNtcChjX2Nvb2tpZV9kb21haW4sIHNfY29v a2llX2RvbWFpbikgIT0gMCkpIHsKKyAJCW9pZGNfd2FybihyLAorIAkJCQkiYWJvcnRpbmc6IGRl dGVjdGVkIGF0dGVtcHQgdG8gcGxheSBjb29raWUgYWdhaW5zdCBhIGRpZmZlcmVudCBkb21haW4v aG9zdCB0aGFuIGlzc3VlZCBmb3IhIChpc3N1ZWQ9JXMsIGN1cnJlbnQ9JXMpIiwKKyAJCQkJc19j b29raWVfZG9tYWluLCBjX2Nvb2tpZV9kb21haW4pOworQEAgLTEwOTcsNyArMTA5Nyw3IEBAIHN0 YXRpYyBhcHJfYnl0ZV90IG9pZGNfcmVmcmVzaF9hY2Nlc3NfdG9rZW4ocmVxdWVzdF9yZWMgKnIs IG9pZGNfY2ZnICpjLAorIAkvKiBpZiB3ZSBoYXZlIGEgbmV3IGlkX3Rva2VuLCBzdG9yZSBpdCBp biB0aGUgc2Vzc2lvbiBhbmQgdXBkYXRlIHRoZSBzZXNzaW9uIG1heCBsaWZldGltZSBpZiByZXF1 aXJlZCAqLworIAlpZiAoc19pZF90b2tlbiAhPSBOVUxMKSB7CisgCQkvKiBvbmx5IHN0b3JlIHRo ZSBzZXJpYWxpemVkIHJlcHJlc2VudGF0aW9uIHdoZW4gY2xpZW50IGNvb2tpZSBiYXNlZCBzZXNz aW9uIHRyYWNraW5nIGlzIG5vdCBpbiB1c2UgKi8KKy0JCWlmIChjLT5zZXNzaW9uX3R5cGUgIT0g T0lEQ19TRVNTSU9OX1RZUEVfQ0xJRU5UX0NPT0tJRSkgCisrCQlpZiAoYy0+c2Vzc2lvbl90eXBl ICE9IE9JRENfU0VTU0lPTl9UWVBFX0NMSUVOVF9DT09LSUUpCisgCQkJb2lkY19zZXNzaW9uX3Nl dF9pZHRva2VuKHIsIHNlc3Npb24sIHNfaWRfdG9rZW4pOworIAkJCisgCQlvaWRjX2p3dF90ICpp ZF90b2tlbl9qd3QgPSBOVUxMOworQEAgLTE1NDcsNyArMTU0Nyw3IEBAIHN0YXRpYyBhcHJfYnl0 ZV90IG9pZGNfYXV0aG9yaXphdGlvbl9yZXNwb25zZV9tYXRjaF9zdGF0ZShyZXF1ZXN0X3JlYyAq ciwKKyAKKyAJb2lkY19kZWJ1ZyhyLCAiZW50ZXIgKHN0YXRlPSVzKSIsIHN0YXRlKTsKKyAKKy0J aWYgKChzdGF0ZSA9PSBOVUxMKSB8fCAoYXByX3N0cm5hdGNtcChzdGF0ZSwgIiIpID09IDApKSB7 CisrCWlmICgoc3RhdGUgPT0gTlVMTCkgfHwgKF9vaWRjX3N0cmNtcChzdGF0ZSwgIiIpID09IDAp KSB7CisgCQlvaWRjX2Vycm9yKHIsICJzdGF0ZSBwYXJhbWV0ZXIgaXMgbm90IHNldCIpOworIAkJ cmV0dXJuIEZBTFNFOworIAl9CitAQCAtMTU5OCw3ICsxNTk4LDcgQEAgc3RhdGljIGludCBvaWRj X2F1dGhvcml6YXRpb25fcmVzcG9uc2VfZXJyb3IocmVxdWVzdF9yZWMgKnIsIG9pZGNfY2ZnICpj LAorIAkJcHJvbXB0ID0gYXByX3BzdHJkdXAoci0+cG9vbCwgcHJvbXB0KTsKKyAJb2lkY19wcm90 b19zdGF0ZV9kZXN0cm95KHByb3RvX3N0YXRlKTsKKyAJaWYgKChwcm9tcHQgIT0gTlVMTCkKKy0J CQkmJiAoYXByX3N0cm5hdGNtcChwcm9tcHQsIE9JRENfUFJPVE9fUFJPTVBUX05PTkUpID09IDAp KSB7CisrCQkJJiYgKF9vaWRjX3N0cmNtcChwcm9tcHQsIE9JRENfUFJPVE9fUFJPTVBUX05PTkUp ID09IDApKSB7CisgCQlyZXR1cm4gb2lkY19zZXNzaW9uX3JlZGlyZWN0X3BhcmVudF93aW5kb3df dG9fbG9nb3V0KHIsIGMpOworIAl9CisgCXJldHVybiBvaWRjX3V0aWxfaHRtbF9zZW5kX2Vycm9y KHIsIGMtPmVycm9yX3RlbXBsYXRlLAorQEAgLTE4OTYsNyArMTg5Niw3IEBAIHN0YXRpYyBhcHJf Ynl0ZV90IG9pZGNfaGFuZGxlX2Jyb3dzZXJfYmFjayhyZXF1ZXN0X3JlYyAqciwgY29uc3QgY2hh ciAqcl9zdGF0ZSwKKyAJCW9fdXJsID0gb2lkY19zZXNzaW9uX2dldF9vcmlnaW5hbF91cmwociwg c2Vzc2lvbik7CisgCisgCQlpZiAoKHJfc3RhdGUgIT0gTlVMTCkgJiYgKHNfc3RhdGUgIT0gTlVM TCkKKy0JCQkJJiYgKGFwcl9zdHJuYXRjbXAocl9zdGF0ZSwgc19zdGF0ZSkgPT0gMCkpIHsKKysJ CQkJJiYgKF9vaWRjX3N0cmNtcChyX3N0YXRlLCBzX3N0YXRlKSA9PSAwKSkgeworIAorIAkJCS8q IGxvZyB0aGUgYnJvd3NlciBiYWNrIGV2ZW50IGRldGVjdGlvbiAqLworIAkJCW9pZGNfd2Fybihy LAorQEAgLTE5NDcsNyArMTk0Nyw3IEBAIHN0YXRpYyBpbnQgb2lkY19oYW5kbGVfYXV0aG9yaXph dGlvbl9yZXNwb25zZShyZXF1ZXN0X3JlYyAqciwgb2lkY19jZmcgKmMsCisgCQkJCSJpbnZhbGlk IGF1dGhvcml6YXRpb24gcmVzcG9uc2Ugc3RhdGUgYW5kIG5vIGRlZmF1bHQgU1NPIFVSTCBpcyBz ZXQsIHNlbmRpbmcgYW4gZXJyb3IuLi4iKTsKKyAJCS8vIGlmIGNvbnRlbnQgd2FzIGFscmVhZHkg cmV0dXJuZWQgdmlhIGh0bWwvaHR0cCBzZW5kIHRoZW4gZG9uJ3QgcmV0dXJuIDUwMAorIAkJLy8g YnV0IHNlbmQgMjAwIHRvIGF2b2lkIGV4dHJhbmVvdXMgaW50ZXJuYWwgZXJyb3IgZG9jdW1lbnQg dGV4dCB0byBiZSBzZW50CistCQlyZXR1cm4gKChyLT51c2VyKSAmJiAoc3RybmNtcChyLT51c2Vy LCAiIiwgMSkgPT0gMCkpID8KKysJCXJldHVybiAoKHItPnVzZXIpICYmIChfb2lkY19zdHJuY21w KHItPnVzZXIsICIiLCAxKSA9PSAwKSkgPworIAkJCQlPSyA6CisgCQkJCUhUVFBfQkFEX1JFUVVF U1Q7CisgCX0KK0BAIC0xOTk3LDEyICsxOTk3LDEyIEBAIHN0YXRpYyBpbnQgb2lkY19oYW5kbGVf YXV0aG9yaXphdGlvbl9yZXNwb25zZShyZXF1ZXN0X3JlYyAqciwgb2lkY19jZmcgKmMsCisgCisg CQkvKiBzZXNzaW9uIG1hbmFnZW1lbnQ6IGlmIHRoZSB1c2VyIGluIHRoZSBuZXcgcmVzcG9uc2Ug aXMgbm90IGVxdWFsIHRvIHRoZSBvbGQgb25lLCBlcnJvciBvdXQgKi8KKyAJCWlmICgocHJvbXB0 ICE9IE5VTEwpCistCQkJCSYmIChhcHJfc3RybmF0Y21wKHByb21wdCwgT0lEQ19QUk9UT19QUk9N UFRfTk9ORSkgPT0gMCkpIHsKKysJCQkJJiYgKF9vaWRjX3N0cmNtcChwcm9tcHQsIE9JRENfUFJP VE9fUFJPTVBUX05PTkUpID09IDApKSB7CisgCQkJLy8gVE9PRDogYWN0dWFsbHkgbmVlZCB0byBj b21wYXJlIHN1Yj8gKG5lZWQgdG8gc3RvcmUgaXQgaW4gdGhlIHNlc3Npb24gc2VwYXJhdGVseSB0 aGVuCisgCQkJLy9jb25zdCBjaGFyICpzdWIgPSBOVUxMOworIAkJCS8vb2lkY19zZXNzaW9uX2dl dChyLCBzZXNzaW9uLCAic3ViIiwgJnN1Yik7CistCQkJLy9pZiAoYXByX3N0cm5hdGNtcChzdWIs IGp3dC0+cGF5bG9hZC5zdWIpICE9IDApIHsKKy0JCQlpZiAoYXByX3N0cm5hdGNtcChzZXNzaW9u LT5yZW1vdGVfdXNlciwgci0+dXNlcikgIT0gMCkgeworKwkJCS8vaWYgKF9vaWRjX3N0cmNtcChz dWIsIGp3dC0+cGF5bG9hZC5zdWIpICE9IDApIHsKKysJCQlpZiAoX29pZGNfc3RyY21wKHNlc3Np b24tPnJlbW90ZV91c2VyLCByLT51c2VyKSAhPSAwKSB7CisgCQkJCW9pZGNfd2FybihyLAorIAkJ CQkJCSJ1c2VyIHNldCBmcm9tIG5ldyBpZF90b2tlbiBpcyBkaWZmZXJlbnQgZnJvbSBjdXJyZW50 IG9uZSIpOworIAkJCQlvaWRjX2p3dF9kZXN0cm95KGp3dCk7CitAQCAtMjA0Niw3ICsyMDQ2LDcg QEAgc3RhdGljIGludCBvaWRjX2hhbmRsZV9hdXRob3JpemF0aW9uX3Jlc3BvbnNlKHJlcXVlc3Rf cmVjICpyLCBvaWRjX2NmZyAqYywKKyAJCQlvcmlnaW5hbF91cmwsIG9yaWdpbmFsX21ldGhvZCk7 CisgCisgCS8qIGNoZWNrIHdoZXRoZXIgZm9ybSBwb3N0IGRhdGEgd2FzIHByZXNlcnZlZDsgaWYg c28gcmVzdG9yZSBpdCAqLworLQlpZiAoYXByX3N0cm5hdGNtcChvcmlnaW5hbF9tZXRob2QsIE9J RENfTUVUSE9EX0ZPUk1fUE9TVCkgPT0gMCkgeworKwlpZiAoX29pZGNfc3RyY21wKG9yaWdpbmFs X21ldGhvZCwgT0lEQ19NRVRIT0RfRk9STV9QT1NUKSA9PSAwKSB7CisgCQlyZXR1cm4gb2lkY19y ZXF1ZXN0X3Bvc3RfcHJlc2VydmVkX3Jlc3RvcmUociwgb3JpZ2luYWxfdXJsKTsKKyAJfQorIAor QEAgLTIwNzksNyArMjA3OSw3IEBAIHN0YXRpYyBpbnQgb2lkY19oYW5kbGVfcG9zdF9hdXRob3Jp emF0aW9uX3Jlc3BvbnNlKHJlcXVlc3RfcmVjICpyLCBvaWRjX2NmZyAqYywKKyAJaWYgKChhcHJf dGFibGVfZWx0cyhwYXJhbXMpLT5uZWx0cyA8IDEpCisgCQkJfHwgKChhcHJfdGFibGVfZWx0cyhw YXJhbXMpLT5uZWx0cyA9PSAxKQorIAkJCQkJJiYgYXByX3RhYmxlX2dldChwYXJhbXMsIE9JRENf UFJPVE9fUkVTUE9OU0VfTU9ERSkKKy0JCQkJCSYmIChhcHJfc3RybmF0Y21wKAorKwkJCQkJJiYg KF9vaWRjX3N0cmNtcCgKKyAJCQkJCQkJYXByX3RhYmxlX2dldChwYXJhbXMsIE9JRENfUFJPVE9f UkVTUE9OU0VfTU9ERSksCisgCQkJCQkJCU9JRENfUFJPVE9fUkVTUE9OU0VfTU9ERV9GUkFHTUVO VCkgPT0gMCkpKSB7CisgCQlyZXR1cm4gb2lkY191dGlsX2h0bWxfc2VuZF9lcnJvcihyLCBjLT5l cnJvcl90ZW1wbGF0ZSwKK0BAIC0yMzU3LDggKzIzNTcsOCBAQCBzdGF0aWMgaW50IG9pZGNfYXV0 aGVudGljYXRlX3VzZXIocmVxdWVzdF9yZWMgKnIsIG9pZGNfY2ZnICpjLAorIAltZW1zZXQoJnJf dXJpLCAwLCBzaXplb2YoYXByX3VyaV90KSk7CisgCWFwcl91cmlfcGFyc2Uoci0+cG9vbCwgb3Jp Z2luYWxfdXJsLCAmb191cmkpOworIAlhcHJfdXJpX3BhcnNlKHItPnBvb2wsIG9pZGNfZ2V0X3Jl ZGlyZWN0X3VyaShyLCBjKSwgJnJfdXJpKTsKKy0JaWYgKChhcHJfc3RybmF0Y21wKG9fdXJpLnNj aGVtZSwgcl91cmkuc2NoZW1lKSAhPSAwKQorLQkJCSYmIChhcHJfc3RybmF0Y21wKHJfdXJpLnNj aGVtZSwgImh0dHBzIikgPT0gMCkpIHsKKysJaWYgKChfb2lkY19zdHJjbXAob191cmkuc2NoZW1l LCByX3VyaS5zY2hlbWUpICE9IDApCisrCQkJJiYgKF9vaWRjX3N0cmNtcChyX3VyaS5zY2hlbWUs ICJodHRwcyIpID09IDApKSB7CisgCQlvaWRjX2Vycm9yKHIsCisgCQkJCSJ0aGUgVVJMIHNjaGVt ZSAoJXMpIG9mIHRoZSBjb25maWd1cmVkICIgT0lEQ1JlZGlyZWN0VVJJICIgZG9lcyBub3QgbWF0 Y2ggdGhlIFVSTCBzY2hlbWUgb2YgdGhlIFVSTCBiZWluZyBhY2Nlc3NlZCAoJXMpOiB0aGUgXCJz dGF0ZVwiIGFuZCBcInNlc3Npb25cIiBjb29raWVzIHdpbGwgbm90IGJlIHNoYXJlZCBiZXR3ZWVu IHRoZSB0d28hIiwKKyAJCQkJcl91cmkuc2NoZW1lLCBvX3VyaS5zY2hlbWUpOworQEAgLTIzNjcs OSArMjM2Nyw5IEBAIHN0YXRpYyBpbnQgb2lkY19hdXRoZW50aWNhdGVfdXNlcihyZXF1ZXN0X3Jl YyAqciwgb2lkY19jZmcgKmMsCisgCX0KKyAKKyAJaWYgKGMtPmNvb2tpZV9kb21haW4gPT0gTlVM TCkgeworLQkJaWYgKGFwcl9zdHJuYXRjbXAob191cmkuaG9zdG5hbWUsIHJfdXJpLmhvc3RuYW1l KSAhPSAwKSB7CisrCQlpZiAoX29pZGNfc3RyY21wKG9fdXJpLmhvc3RuYW1lLCByX3VyaS5ob3N0 bmFtZSkgIT0gMCkgeworIAkJCWNoYXIgKnAgPSBzdHJzdHIob191cmkuaG9zdG5hbWUsIHJfdXJp Lmhvc3RuYW1lKTsKKy0JCQlpZiAoKHAgPT0gTlVMTCkgfHwgKGFwcl9zdHJuYXRjbXAocl91cmku aG9zdG5hbWUsIHApICE9IDApKSB7CisrCQkJaWYgKChwID09IE5VTEwpIHx8IChfb2lkY19zdHJj bXAocl91cmkuaG9zdG5hbWUsIHApICE9IDApKSB7CisgCQkJCW9pZGNfZXJyb3IociwKKyAJCQkJ CQkidGhlIFVSTCBob3N0bmFtZSAoJXMpIG9mIHRoZSBjb25maWd1cmVkICIgT0lEQ1JlZGlyZWN0 VVJJICIgZG9lcyBub3QgbWF0Y2ggdGhlIFVSTCBob3N0bmFtZSBvZiB0aGUgVVJMIGJlaW5nIGFj Y2Vzc2VkICglcyk6IHRoZSBcInN0YXRlXCIgYW5kIFwic2Vzc2lvblwiIGNvb2tpZXMgd2lsbCBu b3QgYmUgc2hhcmVkIGJldHdlZW4gdGhlIHR3byEiLAorIAkJCQkJCXJfdXJpLmhvc3RuYW1lLCBv X3VyaS5ob3N0bmFtZSk7CitAQCAtMjQxNCw5ICsyNDE0LDkgQEAgc3RhdGljIGludCBvaWRjX3Rh cmdldF9saW5rX3VyaV9tYXRjaGVzX2NvbmZpZ3VyYXRpb24ocmVxdWVzdF9yZWMgKnIsCisgCisg CWlmIChjZmctPmNvb2tpZV9kb21haW4gPT0gTlVMTCkgeworIAkJLyogY29va2llX2RvbWFpbiBz ZXQ6IHNlZSBpZiB0aGUgdGFyZ2V0X2xpbmtfdXJpIG1hdGNoZXMgdGhlIHJlZGlyZWN0X3VyaSBo b3N0IChiZWNhdXNlIHRoZSBzZXNzaW9uIGNvb2tpZSB3aWxsIGJlIHNldCBob3N0LXdpZGUpICov CistCQlpZiAoYXByX3N0cm5hdGNtcChvX3VyaS5ob3N0bmFtZSwgcl91cmkuaG9zdG5hbWUpICE9 IDApIHsKKysJCWlmIChfb2lkY19zdHJjbXAob191cmkuaG9zdG5hbWUsIHJfdXJpLmhvc3RuYW1l KSAhPSAwKSB7CisgCQkJY2hhciAqcCA9IHN0cnN0cihvX3VyaS5ob3N0bmFtZSwgcl91cmkuaG9z dG5hbWUpOworLQkJCWlmICgocCA9PSBOVUxMKSB8fCAoYXByX3N0cm5hdGNtcChyX3VyaS5ob3N0 bmFtZSwgcCkgIT0gMCkpIHsKKysJCQlpZiAoKHAgPT0gTlVMTCkgfHwgKF9vaWRjX3N0cmNtcChy X3VyaS5ob3N0bmFtZSwgcCkgIT0gMCkpIHsKKyAJCQkJb2lkY19lcnJvcihyLAorIAkJCQkJCSJ0 aGUgVVJMIGhvc3RuYW1lICglcykgb2YgdGhlIGNvbmZpZ3VyZWQgIiBPSURDUmVkaXJlY3RVUkkg IiBkb2VzIG5vdCBtYXRjaCB0aGUgVVJMIGhvc3RuYW1lIG9mIHRoZSBcInRhcmdldF9saW5rX3Vy aVwiICglcyk6IGFib3J0aW5nIHRvIHByZXZlbnQgYW4gb3BlbiByZWRpcmVjdC4iLAorIAkJCQkJ CXJfdXJpLmhvc3RuYW1lLCBvX3VyaS5ob3N0bmFtZSk7CitAQCAtMjQyNiw3ICsyNDI2LDcgQEAg c3RhdGljIGludCBvaWRjX3RhcmdldF9saW5rX3VyaV9tYXRjaGVzX2NvbmZpZ3VyYXRpb24ocmVx dWVzdF9yZWMgKnIsCisgCX0gZWxzZSB7CisgCQkvKiBjb29raWVfZG9tYWluIHNldDogc2VlIGlm IHRoZSB0YXJnZXRfbGlua191cmkgaXMgd2l0aGluIHRoZSBjb29raWVfZG9tYWluICovCisgCQlj aGFyICpwID0gc3Ryc3RyKG9fdXJpLmhvc3RuYW1lLCBjZmctPmNvb2tpZV9kb21haW4pOworLQkJ aWYgKChwID09IE5VTEwpIHx8IChhcHJfc3RybmF0Y21wKGNmZy0+Y29va2llX2RvbWFpbiwgcCkg IT0gMCkpIHsKKysJCWlmICgocCA9PSBOVUxMKSB8fCAoX29pZGNfc3RyY21wKGNmZy0+Y29va2ll X2RvbWFpbiwgcCkgIT0gMCkpIHsKKyAJCQlvaWRjX2Vycm9yKHIsCisgCQkJCQkidGhlIGRvbWFp biAoJXMpIGNvbmZpZ3VyZWQgaW4gIiBPSURDQ29va2llRG9tYWluICIgZG9lcyBub3QgbWF0Y2gg dGhlIFVSTCBob3N0bmFtZSAoJXMpIG9mIHRoZSBcInRhcmdldF9saW5rX3VyaVwiICglcyk6IGFi b3J0aW5nIHRvIHByZXZlbnQgYW4gb3BlbiByZWRpcmVjdC4iLAorIAkJCQkJY2ZnLT5jb29raWVf ZG9tYWluLCBvX3VyaS5ob3N0bmFtZSwgdGFyZ2V0X2xpbmtfdXJpKTsKK0BAIC0yNTk0LDcgKzI1 OTQsNyBAQCBzdGF0aWMgaW50IG9pZGNfaGFuZGxlX2Rpc2NvdmVyeV9yZXNwb25zZShyZXF1ZXN0 X3JlYyAqciwgb2lkY19jZmcgKmMpIHsKKyAKKyAJCS8qIGNvbXBhcmUgQ1NSRiBjb29raWUgdmFs dWUgd2l0aCBxdWVyeSBwYXJhbWV0ZXIgdmFsdWUgKi8KKyAJCWlmICgoY3NyZl9xdWVyeSA9PSBO VUxMKQorLQkJCQl8fCBhcHJfc3RybmF0Y21wKGNzcmZfcXVlcnksIGNzcmZfY29va2llKSAhPSAw KSB7CisrCQkJCXx8IF9vaWRjX3N0cmNtcChjc3JmX3F1ZXJ5LCBjc3JmX2Nvb2tpZSkgIT0gMCkg eworIAkJCW9pZGNfd2FybihyLAorIAkJCQkJIkNTUkYgcHJvdGVjdGlvbiBmYWlsZWQsIG5vIERp c2NvdmVyeSBhbmQgZHluYW1pYyBjbGllbnQgcmVnaXN0cmF0aW9uIHdpbGwgYmUgYWxsb3dlZCIp OworIAkJCWNzcmZfY29va2llID0gTlVMTDsKK0BAIC0yNjM4LDcgKzI2MzgsNyBAQCBzdGF0aWMg aW50IG9pZGNfaGFuZGxlX2Rpc2NvdmVyeV9yZXNwb25zZShyZXF1ZXN0X3JlYyAqciwgb2lkY19j ZmcgKmMpIHsKKyAJaWYgKGMtPm1ldGFkYXRhX2RpciA9PSBOVUxMKSB7CisgCQlpZiAoKG9pZGNf cHJvdmlkZXJfc3RhdGljX2NvbmZpZyhyLCBjLCAmcHJvdmlkZXIpID09IFRSVUUpCisgCQkJCSYm IChpc3N1ZXIgIT0gTlVMTCkpIHsKKy0JCQlpZiAoYXByX3N0cm5hdGNtcChwcm92aWRlci0+aXNz dWVyLCBpc3N1ZXIpICE9IDApIHsKKysJCQlpZiAoX29pZGNfc3RyY21wKHByb3ZpZGVyLT5pc3N1 ZXIsIGlzc3VlcikgIT0gMCkgeworIAkJCQlyZXR1cm4gb2lkY191dGlsX2h0bWxfc2VuZF9lcnJv cihyLCBjLT5lcnJvcl90ZW1wbGF0ZSwKKyAJCQkJCQkiSW52YWxpZCBSZXF1ZXN0IiwKKyAJCQkJ CQlhcHJfcHNwcmludGYoci0+cG9vbCwKK0BAIC0yNzIzLDE0ICsyNzIzLDE0IEBAIHN0YXRpYyBh cHJfdWludDMyX3Qgb2lkY190cmFuc3BhcmVudF9waXhlbFsxN10gPSB7IDB4NDc0ZTUwODksIDB4 MGExYTBhMGQsCisgCisgc3RhdGljIGFwcl9ieXRlX3Qgb2lkY19pc19mcm9udF9jaGFubmVsX2xv Z291dChjb25zdCBjaGFyICpsb2dvdXRfcGFyYW1fdmFsdWUpIHsKKyAJcmV0dXJuICgobG9nb3V0 X3BhcmFtX3ZhbHVlICE9IE5VTEwpCistCQkJJiYgKChhcHJfc3RybmF0Y21wKGxvZ291dF9wYXJh bV92YWx1ZSwKKysJCQkmJiAoKF9vaWRjX3N0cmNtcChsb2dvdXRfcGFyYW1fdmFsdWUsCisgCQkJ CQlPSURDX0dFVF9TVFlMRV9MT0dPVVRfUEFSQU1fVkFMVUUpID09IDApCistCQkJCQl8fCAoYXBy X3N0cm5hdGNtcChsb2dvdXRfcGFyYW1fdmFsdWUsCisrCQkJCQl8fCAoX29pZGNfc3RyY21wKGxv Z291dF9wYXJhbV92YWx1ZSwKKyAJCQkJCQkJT0lEQ19JTUdfU1RZTEVfTE9HT1VUX1BBUkFNX1ZB TFVFKSA9PSAwKSkpOworIH0KKyAKKyBzdGF0aWMgYXByX2J5dGVfdCBvaWRjX2lzX2JhY2tfY2hh bm5lbF9sb2dvdXQoY29uc3QgY2hhciAqbG9nb3V0X3BhcmFtX3ZhbHVlKSB7CistCXJldHVybiAo KGxvZ291dF9wYXJhbV92YWx1ZSAhPSBOVUxMKSAmJiAoYXByX3N0cm5hdGNtcChsb2dvdXRfcGFy YW1fdmFsdWUsCisrCXJldHVybiAoKGxvZ291dF9wYXJhbV92YWx1ZSAhPSBOVUxMKSAmJiAoX29p ZGNfc3RyY21wKGxvZ291dF9wYXJhbV92YWx1ZSwKKyAJCQlPSURDX0JBQ0tDSEFOTkVMX1NUWUxF X0xPR09VVF9QQVJBTV9WQUxVRSkgPT0gMCkpOworIH0KKyAKK0BAIC0yODM3LDcgKzI4MzcsNyBA QCBzdGF0aWMgaW50IG9pZGNfaGFuZGxlX2xvZ291dF9yZXF1ZXN0KHJlcXVlc3RfcmVjICpyLCBv aWRjX2NmZyAqYywKKyAKKyAJCS8qIHNlZSBpZiB0aGlzIGlzIFBGLVBBIHN0eWxlIGxvZ291dCBp biB3aGljaCBjYXNlIHdlIHJldHVybiBhIHRyYW5zcGFyZW50IHBpeGVsICovCisgCQljb25zdCBj aGFyICphY2NlcHQgPSBvaWRjX3V0aWxfaGRyX2luX2FjY2VwdF9nZXQocik7CistCQlpZiAoKGFw cl9zdHJuYXRjbXAodXJsLCBPSURDX0lNR19TVFlMRV9MT0dPVVRfUEFSQU1fVkFMVUUpID09IDAp CisrCQlpZiAoKF9vaWRjX3N0cmNtcCh1cmwsIE9JRENfSU1HX1NUWUxFX0xPR09VVF9QQVJBTV9W QUxVRSkgPT0gMCkKKyAJCQkJfHwgKChhY2NlcHQpICYmIHN0cnN0cihhY2NlcHQsIE9JRENfQ09O VEVOVF9UWVBFX0lNQUdFX1BORykpKSB7CisgCQkJcmV0dXJuIG9pZGNfdXRpbF9odHRwX3NlbmQo ciwgKGNvbnN0IGNoYXIqKSAmb2lkY190cmFuc3BhcmVudF9waXhlbCwKKyAJCQkJCXNpemVvZihv aWRjX3RyYW5zcGFyZW50X3BpeGVsKSwgT0lEQ19DT05URU5UX1RZUEVfSU1BR0VfUE5HLAorQEAg LTI5MDIsNyArMjkwMiw3IEBAIHN0YXRpYyBpbnQgb2lkY19oYW5kbGVfbG9nb3V0X2JhY2tjaGFu bmVsKHJlcXVlc3RfcmVjICpyLCBvaWRjX2NmZyAqY2ZnKSB7CisgCQlnb3RvIG91dDsKKyAJfQor IAorLQlpZiAoKGp3dC0+aGVhZGVyLmFsZyA9PSBOVUxMKSB8fCAoc3RyY21wKGp3dC0+aGVhZGVy LmFsZywgIm5vbmUiKSA9PSAwKSkgeworKwlpZiAoKGp3dC0+aGVhZGVyLmFsZyA9PSBOVUxMKSB8 fCAoX29pZGNfc3RyY21wKGp3dC0+aGVhZGVyLmFsZywgIm5vbmUiKSA9PSAwKSkgeworIAkJb2lk Y19lcnJvcihyLCAibG9nb3V0IHRva2VuIGlzIG5vdCBzaWduZWQiKTsKKyAJCWdvdG8gb3V0Owor IAl9CitAQCAtMzA4NSw3ICszMDg1LDcgQEAgc3RhdGljIGludCBvaWRjX2hhbmRsZV9sb2dvdXQo cmVxdWVzdF9yZWMgKnIsIG9pZGNfY2ZnICpjLAorIAkJcmV0dXJuIG9pZGNfaGFuZGxlX2xvZ291 dF9iYWNrY2hhbm5lbChyLCBjKTsKKyAJfQorIAorLQlpZiAoKHVybCA9PSBOVUxMKSB8fCAoYXBy X3N0cm5hdGNtcCh1cmwsICIiKSA9PSAwKSkgeworKwlpZiAoKHVybCA9PSBOVUxMKSB8fCAoX29p ZGNfc3RyY21wKHVybCwgIiIpID09IDApKSB7CisgCisgCQl1cmwgPSBjLT5kZWZhdWx0X3Nsb191 cmw7CisgCitAQCAtMzI5MCw3ICszMjkwLDcgQEAgc3RhdGljIGludCBvaWRjX2hhbmRsZV9zZXNz aW9uX21hbmFnZW1lbnQocmVxdWVzdF9yZWMgKnIsIG9pZGNfY2ZnICpjLAorIAl9CisgCisgCS8q IHNlZSBpZiB0aGlzIGlzIGEgbG9jYWwgbG9nb3V0IGR1cmluZyBzZXNzaW9uIG1hbmFnZW1lbnQg Ki8KKy0JaWYgKGFwcl9zdHJuYXRjbXAoImxvZ291dCIsIGNtZCkgPT0gMCkgeworKwlpZiAoX29p ZGNfc3RyY21wKCJsb2dvdXQiLCBjbWQpID09IDApIHsKKyAJCW9pZGNfZGVidWcociwKKyAJCQkJ IltzZXNzaW9uPWxvZ291dF0gY2FsbGluZyBvaWRjX2hhbmRsZV9sb2dvdXRfcmVxdWVzdCBiZWNh dXNlIG9mIHNlc3Npb24gbWdtdCBsb2NhbCBsb2dvdXQgY2FsbC4iKTsKKyAJCXJldHVybiBvaWRj X2hhbmRsZV9sb2dvdXRfcmVxdWVzdChyLCBjLCBzZXNzaW9uLCBjLT5kZWZhdWx0X3Nsb191cmwp OworQEAgLTMzMDMsNyArMzMwMyw3IEBAIHN0YXRpYyBpbnQgb2lkY19oYW5kbGVfc2Vzc2lvbl9t YW5hZ2VtZW50KHJlcXVlc3RfcmVjICpyLCBvaWRjX2NmZyAqYywKKyAJfQorIAorIAkvKiBzZWUg aWYgdGhpcyBpcyBhIHJlcXVlc3QgZm9yIHRoZSBPUCBpZnJhbWUgKi8KKy0JaWYgKGFwcl9zdHJu YXRjbXAoImlmcmFtZV9vcCIsIGNtZCkgPT0gMCkgeworKwlpZiAoX29pZGNfc3RyY21wKCJpZnJh bWVfb3AiLCBjbWQpID09IDApIHsKKyAJCWlmIChwcm92aWRlci0+Y2hlY2tfc2Vzc2lvbl9pZnJh bWUgIT0gTlVMTCkgeworIAkJCXJldHVybiBvaWRjX2hhbmRsZV9zZXNzaW9uX21hbmFnZW1lbnRf aWZyYW1lX29wKHIsIGMsIHNlc3Npb24sCisgCQkJCQlwcm92aWRlci0+Y2hlY2tfc2Vzc2lvbl9p ZnJhbWUpOworQEAgLTMzMTIsNyArMzMxMiw3IEBAIHN0YXRpYyBpbnQgb2lkY19oYW5kbGVfc2Vz c2lvbl9tYW5hZ2VtZW50KHJlcXVlc3RfcmVjICpyLCBvaWRjX2NmZyAqYywKKyAJfQorIAorIAkv KiBzZWUgaWYgdGhpcyBpcyBhIHJlcXVlc3QgZm9yIHRoZSBSUCBpZnJhbWUgKi8KKy0JaWYgKGFw cl9zdHJuYXRjbXAoImlmcmFtZV9ycCIsIGNtZCkgPT0gMCkgeworKwlpZiAoX29pZGNfc3RyY21w KCJpZnJhbWVfcnAiLCBjbWQpID09IDApIHsKKyAJCWlmICgocHJvdmlkZXItPmNsaWVudF9pZCAh PSBOVUxMKQorIAkJCQkmJiAocHJvdmlkZXItPmNoZWNrX3Nlc3Npb25faWZyYW1lICE9IE5VTEwp KSB7CisgCQkJcmV0dXJuIG9pZGNfaGFuZGxlX3Nlc3Npb25fbWFuYWdlbWVudF9pZnJhbWVfcnAo ciwgYywgc2Vzc2lvbiwKK0BAIC0zMzI1LDcgKzMzMjUsNyBAQCBzdGF0aWMgaW50IG9pZGNfaGFu ZGxlX3Nlc3Npb25fbWFuYWdlbWVudChyZXF1ZXN0X3JlYyAqciwgb2lkY19jZmcgKmMsCisgCX0K KyAKKyAJLyogc2VlIGlmIHRoaXMgaXMgYSByZXF1ZXN0IGNoZWNrIHRoZSBsb2dpbiBzdGF0ZSB3 aXRoIHRoZSBPUCAqLworLQlpZiAoYXByX3N0cm5hdGNtcCgiY2hlY2siLCBjbWQpID09IDApIHsK KysJaWYgKF9vaWRjX3N0cmNtcCgiY2hlY2siLCBjbWQpID09IDApIHsKKyAJCWlkX3Rva2VuX2hp bnQgPSBvaWRjX3Nlc3Npb25fZ2V0X2lkdG9rZW4ociwgc2Vzc2lvbik7CisgCQkvKgorIAkJICog VE9ETzogdGhpcyBkb2Vzbid0IHdvcmsgd2l0aCBwZXItcGF0aCBwcm92aWRlZCBhdXRoX3JlcXVl c3RfcGFyYW1zIGFuZCBzY29wZXMKK0BAIC0zMzk2LDcgKzMzOTYsNyBAQCBzdGF0aWMgaW50IG9p ZGNfaGFuZGxlX3JlZnJlc2hfdG9rZW5fcmVxdWVzdChyZXF1ZXN0X3JlYyAqciwgb2lkY19jZmcg KmMsCisgCX0KKyAKKyAJLyogY29tcGFyZSB0aGUgYWNjZXNzX3Rva2VuIHBhcmFtZXRlciB1c2Vk IGZvciBYU1JGIHByb3RlY3Rpb24gKi8KKy0JaWYgKGFwcl9zdHJuYXRjbXAoc19hY2Nlc3NfdG9r ZW4sIHJfYWNjZXNzX3Rva2VuKSAhPSAwKSB7CisrCWlmIChfb2lkY19zdHJjbXAoc19hY2Nlc3Nf dG9rZW4sIHJfYWNjZXNzX3Rva2VuKSAhPSAwKSB7CisgCQlvaWRjX2Vycm9yKHIsCisgCQkJCSJh Y2Nlc3NfdG9rZW4gcGFzc2VkIGluIHJlZnJlc2ggcmVxdWVzdCBkb2VzIG5vdCBtYXRjaCB0aGUg b25lIHN0b3JlZCBpbiB0aGUgc2Vzc2lvbiIpOworIAkJZXJyb3JfY29kZSA9ICJub19hY2Nlc3Nf dG9rZW5fbWF0Y2giOworQEAgLTM1MDYsOCArMzUwNiw4IEBAIHN0YXRpYyBpbnQgb2lkY19oYW5k bGVfaW5mb19yZXF1ZXN0KHJlcXVlc3RfcmVjICpyLCBvaWRjX2NmZyAqYywKKyAJCQlPSURDX0lO Rk9fUEFSQU1fQUNDRVNTX1RPS0VOX1JFRlJFU0hfSU5URVJWQUwsICZzX2ludGVydmFsKTsKKyAK KyAJLyogc2VlIGlmIHRoaXMgaXMgYSByZXF1ZXN0IGZvciBhIGZvcm1hdCB0aGF0IGlzIHN1cHBv cnRlZCAqLworLQlpZiAoKGFwcl9zdHJuYXRjbXAoT0lEQ19IT09LX0lORk9fRk9STUFUX0pTT04s IHNfZm9ybWF0KSAhPSAwKQorLQkJCSYmIChhcHJfc3RybmF0Y21wKE9JRENfSE9PS19JTkZPX0ZP Uk1BVF9IVE1MLCBzX2Zvcm1hdCkgIT0gMCkpIHsKKysJaWYgKChfb2lkY19zdHJjbXAoT0lEQ19I T09LX0lORk9fRk9STUFUX0pTT04sIHNfZm9ybWF0KSAhPSAwKQorKwkJCSYmIChfb2lkY19zdHJj bXAoT0lEQ19IT09LX0lORk9fRk9STUFUX0hUTUwsIHNfZm9ybWF0KSAhPSAwKSkgeworIAkJb2lk Y193YXJuKHIsICJyZXF1ZXN0IGZvciB1bmtub3duIGZvcm1hdDogJXMiLCBzX2Zvcm1hdCk7Cisg CQlyZXR1cm4gSFRUUF9VTlNVUFBPUlRFRF9NRURJQV9UWVBFOworIAl9CitAQCAtMzY2NywxMyAr MzY2NywxMyBAQCBzdGF0aWMgaW50IG9pZGNfaGFuZGxlX2luZm9fcmVxdWVzdChyZXF1ZXN0X3Jl YyAqciwgb2lkY19jZmcgKmMsCisgCQl9CisgCX0KKyAKKy0JaWYgKGFwcl9zdHJuYXRjbXAoT0lE Q19IT09LX0lORk9fRk9STUFUX0pTT04sIHNfZm9ybWF0KSA9PSAwKSB7CisrCWlmIChfb2lkY19z dHJjbXAoT0lEQ19IT09LX0lORk9fRk9STUFUX0pTT04sIHNfZm9ybWF0KSA9PSAwKSB7CisgCQkv KiBKU09OLWVuY29kZSB0aGUgcmVzdWx0ICovCisgCQlyX3ZhbHVlID0gb2lkY191dGlsX2VuY29k ZV9qc29uX29iamVjdChyLCBqc29uLCAwKTsKKyAJCS8qIHJldHVybiB0aGUgc3RyaW5naWZpZWQg SlNPTiByZXN1bHQgKi8KKyAJCXJjID0gb2lkY191dGlsX2h0dHBfc2VuZChyLCByX3ZhbHVlLCBz dHJsZW4ocl92YWx1ZSksCisgCQkJCU9JRENfQ09OVEVOVF9UWVBFX0pTT04sIE9LKTsKKy0JfSBl bHNlIGlmIChhcHJfc3RybmF0Y21wKE9JRENfSE9PS19JTkZPX0ZPUk1BVF9IVE1MLCBzX2Zvcm1h dCkgPT0gMCkgeworKwl9IGVsc2UgaWYgKF9vaWRjX3N0cmNtcChPSURDX0hPT0tfSU5GT19GT1JN QVRfSFRNTCwgc19mb3JtYXQpID09IDApIHsKKyAJCS8qIEpTT04tZW5jb2RlIHRoZSByZXN1bHQg Ki8KKyAJCXJfdmFsdWUgPSBvaWRjX3V0aWxfZW5jb2RlX2pzb25fb2JqZWN0KHIsIGpzb24sIEpT T05fSU5ERU5UKDIpKTsKKyAJCXJjID0gb2lkY191dGlsX2h0bWxfc2VuZChyLCAiU2Vzc2lvbiBJ bmZvIiwgTlVMTCwgTlVMTCwKK0BAIC0zNzY4LDcgKzM3NjgsNyBAQCBpbnQgb2lkY19oYW5kbGVf cmVkaXJlY3RfdXJpX3JlcXVlc3QocmVxdWVzdF9yZWMgKnIsIG9pZGNfY2ZnICpjLAorIAkJci0+ dXNlciA9ICIiOworIAkJcmV0dXJuIE9LOworIAorLQl9IGVsc2UgaWYgKChyLT5hcmdzID09IE5V TEwpIHx8IChhcHJfc3RybmF0Y21wKHItPmFyZ3MsICIiKSA9PSAwKSkgeworKwl9IGVsc2UgaWYg KChyLT5hcmdzID09IE5VTEwpIHx8IChfb2lkY19zdHJjbXAoci0+YXJncywgIiIpID09IDApKSB7 CisgCisgCQkvKiB0aGlzIGlzIGEgImJhcmUiIHJlcXVlc3QgdG8gdGhlIHJlZGlyZWN0IFVSSSwg aW5kaWNhdGluZyBpbXBsaWNpdCBmbG93IHVzaW5nIHRoZSBmcmFnbWVudCByZXNwb25zZV9tb2Rl ICovCisgCQlyZXR1cm4gb2lkY19wcm90b19qYXZhc2NyaXB0X2ltcGxpY2l0KHIsIGMpOworZGlm ZiAtLWdpdCBhL3NyYy9vYXV0aC5jIGIvc3JjL29hdXRoLmMKK2luZGV4IDUyY2E4OTkuLmRiMjE0 MTUgMTAwNjQ0CistLS0gYS9zcmMvb2F1dGguYworKysrIGIvc3JjL29hdXRoLmMKK0BAIC0xNTMs NyArMTUzLDcgQEAgc3RhdGljIGFwcl9ieXRlX3Qgb2lkY19vYXV0aF92YWxpZGF0ZV9hY2Nlc3Nf dG9rZW4ocmVxdWVzdF9yZWMgKnIsIG9pZGNfY2ZnICpjLAorIAorIAljb25zdCBjaGFyICpiZWFy ZXJfYWNjZXNzX3Rva2VuX2F1dGggPQorIAkJCSgoYy0+b2F1dGguaW50cm9zcGVjdGlvbl9jbGll bnRfYXV0aF9iZWFyZXJfdG9rZW4gIT0gTlVMTCkKKy0JCQkJCSYmIHN0cmNtcChjLT5vYXV0aC5p bnRyb3NwZWN0aW9uX2NsaWVudF9hdXRoX2JlYXJlcl90b2tlbiwKKysJCQkJCSYmIF9vaWRjX3N0 cmNtcChjLT5vYXV0aC5pbnRyb3NwZWN0aW9uX2NsaWVudF9hdXRoX2JlYXJlcl90b2tlbiwKKyAJ CQkJCQkJIiIpID09IDApID8KKyAJCQkJCQkJCQl0b2tlbiA6IGMtPm9hdXRoLmludHJvc3BlY3Rp b25fY2xpZW50X2F1dGhfYmVhcmVyX3Rva2VuOworIAorQEAgLTE2Niw3ICsxNjYsNyBAQCBzdGF0 aWMgYXByX2J5dGVfdCBvaWRjX29hdXRoX3ZhbGlkYXRlX2FjY2Vzc190b2tlbihyZXF1ZXN0X3Jl YyAqciwgb2lkY19jZmcgKmMsCisgCQlyZXR1cm4gRkFMU0U7CisgCisgCS8qIGNhbGwgdGhlIGVu ZHBvaW50IHdpdGggdGhlIGNvbnN0cnVjdGVkIHBhcmFtZXRlciBzZXQgYW5kIHJldHVybiB0aGUg cmVzdWx0aW5nIHJlc3BvbnNlICovCistCXJldHVybiBhcHJfc3RybmF0Y21wKGMtPm9hdXRoLmlu dHJvc3BlY3Rpb25fZW5kcG9pbnRfbWV0aG9kLAorKwlyZXR1cm4gX29pZGNfc3RyY21wKGMtPm9h dXRoLmludHJvc3BlY3Rpb25fZW5kcG9pbnRfbWV0aG9kLAorIAkJCU9JRENfSU5UUk9TUEVDVElP Tl9NRVRIT0RfR0VUKSA9PSAwID8KKyAJCQkJCW9pZGNfdXRpbF9odHRwX2dldChyLCBjLT5vYXV0 aC5pbnRyb3NwZWN0aW9uX2VuZHBvaW50X3VybCwgcGFyYW1zLAorIAkJCQkJCQliYXNpY19hdXRo LCBiZWFyZXJfYXV0aCwgYy0+b2F1dGguc3NsX3ZhbGlkYXRlX3NlcnZlciwKK0BAIC01MTYsNyAr NTE2LDcgQEAgc3RhdGljIGFwcl9ieXRlX3Qgb2lkY19vYXV0aF9yZXNvbHZlX2FjY2Vzc190b2tl bihyZXF1ZXN0X3JlYyAqciwgb2lkY19jZmcgKmMsCisgCisgCQkJaWYgKG9pZGNfb2F1dGhfcGFy c2VfYW5kX2NhY2hlX3Rva2VuX2V4cGlyeShyLCBjLCByZXN1bHQsCisgCQkJCQljLT5vYXV0aC5p bnRyb3NwZWN0aW9uX3Rva2VuX2V4cGlyeV9jbGFpbV9uYW1lLAorLQkJCQkJYXByX3N0cm5hdGNt cCgKKysJCQkJCV9vaWRjX3N0cmNtcCgKKyAJCQkJCQkJYy0+b2F1dGguaW50cm9zcGVjdGlvbl90 b2tlbl9leHBpcnlfY2xhaW1fZm9ybWF0LAorIAkJCQkJCQlPSURDX0NMQUlNX0ZPUk1BVF9BQlNP TFVURSkgPT0gMCwKKyAJCQkJCQkJYy0+b2F1dGguaW50cm9zcGVjdGlvbl90b2tlbl9leHBpcnlf Y2xhaW1fcmVxdWlyZWQsCitkaWZmIC0tZ2l0IGEvc3JjL3BhcnNlLmMgYi9zcmMvcGFyc2UuYwor aW5kZXggZTIwYjQ4ZC4uYzI2ZmNlYiAxMDA2NDQKKy0tLSBhL3NyYy9wYXJzZS5jCisrKysgYi9z cmMvcGFyc2UuYworQEAgLTY1LDggKzY1LDggQEAgc3RhdGljIGNvbnN0IGNoYXIgKiBvaWRjX3Zh bGlkX3VybF9zY2hlbWUoYXByX3Bvb2xfdCAqcG9vbCwgY29uc3QgY2hhciAqYXJnLAorIAkJCQki JyVzJyBjYW5ub3QgYmUgcGFyc2VkIGFzIGEgVVJMIChubyBzY2hlbWUgc2V0KSIsIGFyZyk7Cisg CX0KKyAKKy0JaWYgKChzY2hlbWUxICE9IE5VTEwpICYmIChhcHJfc3RybmF0Y21wKHVyaS5zY2hl bWUsIHNjaGVtZTEpICE9IDApKSB7CistCQlpZiAoKHNjaGVtZTIgIT0gTlVMTCkgJiYgKGFwcl9z dHJuYXRjbXAodXJpLnNjaGVtZSwgc2NoZW1lMikgIT0gMCkpIHsKKysJaWYgKChzY2hlbWUxICE9 IE5VTEwpICYmIChfb2lkY19zdHJjbXAodXJpLnNjaGVtZSwgc2NoZW1lMSkgIT0gMCkpIHsKKysJ CWlmICgoc2NoZW1lMiAhPSBOVUxMKSAmJiAoX29pZGNfc3RyY21wKHVyaS5zY2hlbWUsIHNjaGVt ZTIpICE9IDApKSB7CisgCQkJcmV0dXJuIGFwcl9wc3ByaW50Zihwb29sLAorIAkJCQkJIiclcycg Y2Fubm90IGJlIHBhcnNlZCBhcyBhIFwiJXNcIiBvciBcIiVzXCIgVVJMIChzY2hlbWUgPT0gJXMp ISIsCisgCQkJCQlhcmcsIHNjaGVtZTEsIHNjaGVtZTIsIHVyaS5zY2hlbWUpOworQEAgLTI0Miw3 ICsyNDIsNyBAQCBzdGF0aWMgY29uc3QgY2hhciAqb2lkY192YWxpZF9zdHJpbmdfb3B0aW9uKGFw cl9wb29sX3QgKnBvb2wsIGNvbnN0IGNoYXIgKmFyZywKKyAJCWNoYXIgKm9wdGlvbnNbXSkgewor IAlpbnQgaSA9IDA7CisgCXdoaWxlIChvcHRpb25zW2ldICE9IE5VTEwpIHsKKy0JCWlmIChhcHJf c3RybmF0Y21wKGFyZywgb3B0aW9uc1tpXSkgPT0gMCkKKysJCWlmIChfb2lkY19zdHJjbXAoYXJn LCBvcHRpb25zW2ldKSA9PSAwKQorIAkJCWJyZWFrOworIAkJaSsrOworIAl9CitAQCAtMjc4LDE2 ICsyNzgsMTYgQEAgY29uc3QgY2hhciAqb2lkY19wYXJzZV9jYWNoZV90eXBlKGFwcl9wb29sX3Qg KnBvb2wsIGNvbnN0IGNoYXIgKmFyZywKKyAJaWYgKHJ2ICE9IE5VTEwpCisgCQlyZXR1cm4gcnY7 CisgCistCWlmIChhcHJfc3RybmF0Y21wKGFyZywgT0lEQ19DQUNIRV9UWVBFX1NITSkgPT0gMCkg eworKwlpZiAoX29pZGNfc3RyY21wKGFyZywgT0lEQ19DQUNIRV9UWVBFX1NITSkgPT0gMCkgewor IAkJKnR5cGUgPSAmb2lkY19jYWNoZV9zaG07CisgI2lmZGVmIFVTRV9NRU1DQUNIRQorLQl9IGVs c2UgaWYgKGFwcl9zdHJuYXRjbXAoYXJnLCBPSURDX0NBQ0hFX1RZUEVfTUVNQ0FDSEUpID09IDAp IHsKKysJfSBlbHNlIGlmIChfb2lkY19zdHJjbXAoYXJnLCBPSURDX0NBQ0hFX1RZUEVfTUVNQ0FD SEUpID09IDApIHsKKyAJCSp0eXBlID0gJm9pZGNfY2FjaGVfbWVtY2FjaGU7CisgI2VuZGlmCist CX0gZWxzZSBpZiAoYXByX3N0cm5hdGNtcChhcmcsIE9JRENfQ0FDSEVfVFlQRV9GSUxFKSA9PSAw KSB7CisrCX0gZWxzZSBpZiAoX29pZGNfc3RyY21wKGFyZywgT0lEQ19DQUNIRV9UWVBFX0ZJTEUp ID09IDApIHsKKyAJCSp0eXBlID0gJm9pZGNfY2FjaGVfZmlsZTsKKyAjaWZkZWYgVVNFX0xJQkhJ UkVESVMKKy0JfSBlbHNlIGlmIChhcHJfc3RybmF0Y21wKGFyZywgT0lEQ19DQUNIRV9UWVBFX1JF RElTKSA9PSAwKSB7CisrCX0gZWxzZSBpZiAoX29pZGNfc3RyY21wKGFyZywgT0lEQ19DQUNIRV9U WVBFX1JFRElTKSA9PSAwKSB7CisgCQkqdHlwZSA9ICZvaWRjX2NhY2hlX3JlZGlzOworICNlbmRp ZgorIAl9CitAQCAtMzI0LDkgKzMyNCw5IEBAIGNvbnN0IGNoYXIgKm9pZGNfcGFyc2Vfc2Vzc2lv bl90eXBlKGFwcl9wb29sX3QgKnBvb2wsIGNvbnN0IGNoYXIgKmFyZywKKyAJCSpwID0gJ1wwJzsK KyAJfQorIAorLQlpZiAoYXByX3N0cm5hdGNtcChzLCBPSURDX1NFU1NJT05fVFlQRV9TRVJWRVJf Q0FDSEVfU1RSKSA9PSAwKSB7CisrCWlmIChfb2lkY19zdHJjbXAocywgT0lEQ19TRVNTSU9OX1RZ UEVfU0VSVkVSX0NBQ0hFX1NUUikgPT0gMCkgeworIAkJKnR5cGUgPSBPSURDX1NFU1NJT05fVFlQ
[continued in next message]
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
Who's Online
Recent Visitors
Bob Worm
Fri Jun 13 10:37:24 2025
from
Wales, Uk
via
Telnet
Centurion
Fri Jun 13 08:09:26 2025
from
Berea, Ohio
via
Telnet
Centurion
Fri Jun 13 05:19:00 2025
from
Berea, Ohio
via
Telnet
Centurion
Thu Jun 12 18:57:30 2025
from
Berea, Ohio
via
Telnet
Bob Worm
Thu Jun 12 18:29:11 2025
from
Wales, Uk
via
Telnet
Centurion
Thu Jun 12 17:59:25 2025
from
Berea, Ohio
via
Telnet
Plume
Thu Jun 12 15:49:12 2025
from
Uk
via
SSH
Plume
Thu Jun 12 15:10:05 2025
from
Uk
via
SSH
System Info
Sysop:
Keyop
Location:
Huddersfield, West Yorkshire, UK
Users:
491
Nodes:
16 (
2
/
14
)
Uptime:
119:03:34
Calls:
9,687
Calls today:
3
Files:
13,728
Messages:
6,176,410