• Bug#1104484: libapache2-mod-auth-openidc: CVE-2025-3891 (4/4)

    From Moritz Schlarb@21:1/5 to All on Wed May 7 14:40:01 2025
    [continued from previous message]

    cmVkX2NsaWVudF9pZCwgcmVzcG9uc2VfY2xpZW50X2lkKSAhPSAwKSB7CisrCQlpZiAoX29pZGNf c3RyY21wKGNvbmZpZ3VyZWRfY2xpZW50X2lkLCByZXNwb25zZV9jbGllbnRfaWQpICE9IDApIHsK KyAJCQlvaWRjX2Vycm9yKHIsCisgCQkJCQkiY29uZmlndXJlZCBjbGllbnRfaWQgKCVzKSBkb2Vz IG5vdCBtYXRjaCB0aGUgY2xpZW50X2lkIHByb3ZpZGVkIGluIHRoZSByZXNwb25zZSBieSB0aGUg T1AgKCVzKSIsCisgCQkJCQljb25maWd1cmVkX2NsaWVudF9pZCwgcmVzcG9uc2VfY2xpZW50X2lk KTsKK2RpZmYgLS1naXQgYS9zcmMvc2Vzc2lvbi5jIGIvc3JjL3Nlc3Npb24uYworaW5kZXggNWVl YzM4MS4uNDNkYWJmYiAxMDA2NDQKKy0tLSBhL3NyYy9zZXNzaW9uLmMKKysrKyBiL3NyYy9zZXNz aW9uLmMKK0BAIC0xMjQsNyArMTI0LDcgQEAgYXByX2J5dGVfdCBvaWRjX3Nlc3Npb25fbG9hZF9j YWNoZV9ieV91dWlkKHJlcXVlc3RfcmVjICpyLCBvaWRjX2NmZyAqYywKKyAJCQkvKiBjb21wYXJl IHRoZSBzZXNzaW9uIGlkIGluIHRoZSBjYWNoZSB2YWx1ZSBzbyBpdCBhbGxvd3MgIHVzIHRvIGRl dGVjdCBjYWNoZSBjb3JydXB0aW9uICovCisgCQkJb2lkY19zZXNzaW9uX2dldChyLCB6LCBPSURD X1NFU1NJT05fU0VTU0lPTl9JRCwgJnN0b3JlZF91dWlkKTsKKyAJCQlpZiAoKHN0b3JlZF91dWlk ID09IE5VTEwpCistCQkJCQl8fCAoYXByX3N0cm5hdGNtcChzdG9yZWRfdXVpZCwgdXVpZCkgIT0g MCkpIHsKKysJCQkJCXx8IChfb2lkY19zdHJjbXAoc3RvcmVkX3V1aWQsIHV1aWQpICE9IDApKSB7 CisgCQkJCW9pZGNfZXJyb3IociwKKyAJCQkJCQkiY2FjaGUgY29ycnVwdGlvbiBkZXRlY3RlZDog c3RvcmVkIHNlc3Npb24gaWQgKCVzKSBpcyBub3QgZXF1YWwgdG8gcmVxdWVzdGVkIHNlc3Npb24g aWQgKCVzKSIsCisgCQkJCQkJc3RvcmVkX3V1aWQsIHV1aWQpOworQEAgLTI4Myw3ICsyODMsNyBA QCBhcHJfYnl0ZV90IG9pZGNfc2Vzc2lvbl9leHRyYWN0KHJlcXVlc3RfcmVjICpyLCBvaWRjX3Nl c3Npb25fdCAqeikgeworIAlpZiAoc2VzX3BfdGJfaWQgIT0gTlVMTCkgeworIAkJZW52X3BfdGJf aWQgPSBvaWRjX3V0aWxfZ2V0X3Byb3ZpZGVkX3Rva2VuX2JpbmRpbmdfaWQocik7CisgCQlpZiAo KGVudl9wX3RiX2lkID09IE5VTEwpCistCQkJCXx8IChhcHJfc3RybmF0Y21wKGVudl9wX3RiX2lk LCBzZXNfcF90Yl9pZCkgIT0gMCkpIHsKKysJCQkJfHwgKF9vaWRjX3N0cmNtcChlbnZfcF90Yl9p ZCwgc2VzX3BfdGJfaWQpICE9IDApKSB7CisgCQkJb2lkY19lcnJvcihyLAorIAkJCQkJInRoZSBQ cm92aWRlZCBUb2tlbiBCaW5kaW5nIElEIHN0b3JlZCBpbiB0aGUgc2Vzc2lvbiBkb2Vzbid0IG1h dGNoIHRoZSBvbmUgcHJlc2VudGVkIGJ5IHRoZSB1c2VyIGFnZW50Iik7CisgCQkJb2lkY19zZXNz aW9uX2NsZWFyKHIsIHopOworZGlmZiAtLWdpdCBhL3NyYy91dGlsLmMgYi9zcmMvdXRpbC5jCitp bmRleCA4YmNmYjk0Li4xNGEzOWExIDEwMDY0NAorLS0tIGEvc3JjL3V0aWwuYworKysrIGIvc3Jj L3V0aWwuYworQEAgLTQ5NSw4ICs0OTUsOCBAQCBzdGF0aWMgY29uc3QgY2hhciogb2lkY19nZXRf Y3VycmVudF91cmxfc2NoZW1lKGNvbnN0IHJlcXVlc3RfcmVjICpyLAorICNlbmRpZgorIAl9Cisg CWlmICgoc2NoZW1lX3N0ciA9PSBOVUxMKQorLQkJCXx8ICgoYXByX3N0cm5hdGNtcChzY2hlbWVf c3RyLCAiaHR0cCIpICE9IDApCistCQkJCQkmJiAoYXByX3N0cm5hdGNtcChzY2hlbWVfc3RyLCAi aHR0cHMiKSAhPSAwKSkpIHsKKysJCQl8fCAoKF9vaWRjX3N0cmNtcChzY2hlbWVfc3RyLCAiaHR0 cCIpICE9IDApCisrCQkJCQkmJiAoX29pZGNfc3RyY21wKHNjaGVtZV9zdHIsICJodHRwcyIpICE9 IDApKSkgeworIAkJb2lkY193YXJuKHIsICJkZXRlY3RlZCBIVFRQIHNjaGVtZSBcIiVzXCIgaXMg bm90IFwiaHR0cFwiIG5vciBcImh0dHBzXCI7IHBlcmhhcHMgeW91ciByZXZlcnNlIHByb3h5IHBh c3NlcyBhIHdyb25nbHkgY29uZmlndXJlZCBcIiVzXCIgaGVhZGVyOiBmYWxsaW5nIGJhY2sgdG8g ZGVmYXVsdCBcImh0dHBzXCIiLCBzY2hlbWVfc3RyLCBPSURDX0hUVFBfSERSX1hfRk9SV0FSREVE X1BST1RPKTsKKyAJCXNjaGVtZV9zdHIgPSAiaHR0cHMiOworIAl9CitAQCAtNTk0LDkgKzU5NCw5 IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBvaWRjX2dldF9jdXJyZW50X3VybF9wb3J0KGNvbnN0IHJl cXVlc3RfcmVjICpyLCBjb25zdCBjaGFyICpzCisgCSAqIGRldGVybWluZSB0aGUgcG9ydCBsb2Nh bGx5IGFuZCBkb24ndCBwcmludCBpdCB3aGVuIGl0J3MgdGhlIGRlZmF1bHQgZm9yIHRoZSBwcm90 b2NvbAorIAkgKi8KKyAJY29uc3QgYXByX3BvcnRfdCBwb3J0ID0gci0+Y29ubmVjdGlvbi0+bG9j YWxfYWRkci0+cG9ydDsKKy0JaWYgKChhcHJfc3RybmF0Y21wKHNjaGVtZV9zdHIsICJodHRwcyIp ID09IDApICYmIHBvcnQgPT0gNDQzKQorKwlpZiAoKF9vaWRjX3N0cmNtcChzY2hlbWVfc3RyLCAi aHR0cHMiKSA9PSAwKSAmJiBwb3J0ID09IDQ0MykKKyAJCXJldHVybiBOVUxMOworLQllbHNlIGlm ICgoYXByX3N0cm5hdGNtcChzY2hlbWVfc3RyLCAiaHR0cCIpID09IDApICYmIHBvcnQgPT0gODAp CisrCWVsc2UgaWYgKChfb2lkY19zdHJjbXAoc2NoZW1lX3N0ciwgImh0dHAiKSA9PSAwKSAmJiBw b3J0ID09IDgwKQorIAkJcmV0dXJuIE5VTEw7CisgCisgCXBvcnRfc3RyID0gYXByX3BzcHJpbnRm KHItPnBvb2wsICIldSIsIHBvcnQpOworQEAgLTc4Niw3ICs3ODYsNyBAQCBzdGF0aWMgaW50IG9p ZGNfdXRpbF9odHRwX2FkZF9mb3JtX3VybF9lbmNvZGVkX3BhcmFtKHZvaWQgKnJlYywgY29uc3Qg Y2hhciAqa2V5LAorIAkJY29uc3QgY2hhciAqdmFsdWUpIHsKKyAJb2lkY19odHRwX2VuY29kZV90 ICpjdHggPSAob2lkY19odHRwX2VuY29kZV90KikgcmVjOworIAlvaWRjX2RlYnVnKGN0eC0+ciwg InByb2Nlc3Npbmc6ICVzPSVzIiwga2V5LAorLQkJCShzdHJuY21wKGtleSwgT0lEQ19QUk9UT19D TElFTlRfU0VDUkVULCBzdHJsZW4oT0lEQ19QUk9UT19DTElFTlRfU0VDUkVUKSkgPT0gMCkgPyAi KioqIiA6IHZhbHVlKTsKKysJCQkoX29pZGNfc3RybmNtcChrZXksIE9JRENfUFJPVE9fQ0xJRU5U X1NFQ1JFVCwgc3RybGVuKE9JRENfUFJPVE9fQ0xJRU5UX1NFQ1JFVCkpID09IDApID8gIioqKiIg OiB2YWx1ZSk7CisgCWNvbnN0IGNoYXIgKnNlcCA9IGN0eC0+ZW5jb2RlZF9wYXJhbXMgPyBPSURD X1NUUl9BTVAgOiAiIjsKKyAJY3R4LT5lbmNvZGVkX3BhcmFtcyA9IGFwcl9wc3ByaW50ZihjdHgt PnItPnBvb2wsICIlcyVzJXM9JXMiLAorIAkJCWN0eC0+ZW5jb2RlZF9wYXJhbXMgPyBjdHgtPmVu Y29kZWRfcGFyYW1zIDogIiIsIHNlcCwKK0BAIC0xMTM3LDcgKzExMzcsNyBAQCBzdGF0aWMgY2hh ciogb2lkY191dGlsX2dldF9jb29raWVfcGF0aChyZXF1ZXN0X3JlYyAqcikgeworIAljaGFyICpy diA9IE5VTEwsICpyZXF1ZXN0UGF0aCA9IG9pZGNfdXRpbF9nZXRfcGF0aChyKTsKKyAJY2hhciAq Y29va2llX3BhdGggPSBvaWRjX2NmZ19kaXJfY29va2llX3BhdGgocik7CisgCWlmIChjb29raWVf cGF0aCAhPSBOVUxMKSB7CistCQlpZiAoc3RybmNtcChjb29raWVfcGF0aCwgcmVxdWVzdFBhdGgs IHN0cmxlbihjb29raWVfcGF0aCkpID09IDApCisrCQlpZiAoX29pZGNfc3RybmNtcChjb29raWVf cGF0aCwgcmVxdWVzdFBhdGgsIHN0cmxlbihjb29raWVfcGF0aCkpID09IDApCisgCQkJcnYgPSBj b29raWVfcGF0aDsKKyAJCWVsc2UgeworIAkJCW9pZGNfd2FybihyLAorQEAgLTExOTUsNyArMTE5 NSw3IEBAIHZvaWQgb2lkY191dGlsX3NldF9jb29raWUocmVxdWVzdF9yZWMgKnIsIGNvbnN0IGNo YXIgKmNvb2tpZU5hbWUsIGNvbnN0IGNoYXIgKmNvCisgCWNvbnN0IGNoYXIgKmFwcGVuZFN0cmlu ZyA9IE5VTEw7CisgCisgCS8qIHNlZSBpZiB3ZSBuZWVkIHRvIGNsZWFyIHRoZSBjb29raWUgKi8K Ky0JaWYgKGFwcl9zdHJuYXRjbXAoY29va2llVmFsdWUsICIiKSA9PSAwKQorKwlpZiAoX29pZGNf c3RyY21wKGNvb2tpZVZhbHVlLCAiIikgPT0gMCkKKyAJCWV4cGlyZXMgPSAwOworIAorIAkvKiBj b25zdHJ1Y3QgdGhlIGV4cGlyZSB2YWx1ZSAqLworQEAgLTEyNjMsNyArMTI2Myw3IEBAIGNoYXIq IG9pZGNfdXRpbF9nZXRfY29va2llKHJlcXVlc3RfcmVjICpyLCBjb25zdCBjaGFyICpjb29raWVO YW1lKSB7CisgCQkJCWNvb2tpZSsrOworIAorIAkJCS8qIHNlZSBpZiB3ZSd2ZSBmb3VuZCB0aGUg Y29va2llIHRoYXQgd2UncmUgbG9va2luZyBmb3IgKi8KKy0JCQlpZiAoKHN0cm5jbXAoY29va2ll LCBjb29raWVOYW1lLCBzdHJsZW4oY29va2llTmFtZSkpID09IDApCisrCQkJaWYgKChfb2lkY19z dHJuY21wKGNvb2tpZSwgY29va2llTmFtZSwgc3RybGVuKGNvb2tpZU5hbWUpKSA9PSAwKQorIAkJ CQkJJiYgKGNvb2tpZVtzdHJsZW4oY29va2llTmFtZSldID09IE9JRENfQ0hBUl9FUVVBTCkpIHsK KyAKKyAJCQkJLyogc2tpcCB0byB0aGUgbWVhdCBvZiB0aGUgcGFyYW1ldGVyICh0aGUgdmFsdWUg YWZ0ZXIgdGhlICc9JykgKi8KK0BAIC0xNDQ0LDcgKzE0NDQsNyBAQCBhcHJfYnl0ZV90IG9pZGNf dXRpbF9yZXF1ZXN0X21hdGNoZXNfdXJsKHJlcXVlc3RfcmVjICpyLCBjb25zdCBjaGFyICp1cmwp IHsKKyAJb2lkY19kZWJ1ZyhyLCAiY29tcGFyaW5nIFwiJXNcIj09XCIlc1wiIiwgci0+cGFyc2Vk X3VyaS5wYXRoLCB1cmkucGF0aCk7CisgCWlmICgoci0+cGFyc2VkX3VyaS5wYXRoID09IE5VTEwp IHx8ICh1cmkucGF0aCA9PSBOVUxMKSkKKyAJCXJldHVybiAoci0+cGFyc2VkX3VyaS5wYXRoID09 IHVyaS5wYXRoKTsKKy0JcmV0dXJuIChhcHJfc3RybmF0Y21wKHItPnBhcnNlZF91cmkucGF0aCwg dXJpLnBhdGgpID09IDApOworKwlyZXR1cm4gKF9vaWRjX3N0cmNtcChyLT5wYXJzZWRfdXJpLnBh dGgsIHVyaS5wYXRoKSA9PSAwKTsKKyB9CisgCisgLyoKK0BAIC0xNDc4LDcgKzE0NzgsNyBAQCBh cHJfYnl0ZV90IG9pZGNfdXRpbF9nZXRfcmVxdWVzdF9wYXJhbWV0ZXIocmVxdWVzdF9yZWMgKnIs IGNoYXIgKm5hbWUsCisgCisgCXAgPSBhcHJfc3RydG9rKGFyZ3MsIE9JRENfU1RSX0FNUCwgJnRv a2VuaXplcl9jdHgpOworIAlkbyB7CistCQlpZiAocCAmJiBzdHJuY21wKHAsIGtfcGFyYW0sIGtf cGFyYW1fc3opID09IDApIHsKKysJCWlmIChwICYmIF9vaWRjX3N0cm5jbXAocCwga19wYXJhbSwg a19wYXJhbV9zeikgPT0gMCkgeworIAkJCSp2YWx1ZSA9IGFwcl9wc3RyZHVwKHItPnBvb2wsIHAg KyBrX3BhcmFtX3N6KTsKKyAJCQkqdmFsdWUgPSBvaWRjX3V0aWxfdW5lc2NhcGVfc3RyaW5nKHIs ICp2YWx1ZSk7CisgCQl9CitAQCAtMTgyMCw3ICsxODIwLDcgQEAgYXByX2J5dGVfdCBvaWRjX3V0 aWxfcmVhZF9wb3N0X3BhcmFtcyhyZXF1ZXN0X3JlYyAqciwgYXByX3RhYmxlX3QgKnRhYmxlLAor IAlhcnIgPSBhcHJfdGFibGVfZWx0cyh0YWJsZSk7CisgCWVsdHMgPSAoY29uc3QgYXByX3RhYmxl X2VudHJ5X3QqKSBhcnItPmVsdHM7CisgCWZvciAoaSA9IDA7IGkgPCBhcnItPm5lbHRzOyBpKysp CistCQlpZiAoYXByX3N0cm5hdGNtcChlbHRzW2ldLmtleSwgc3RyaXBfcGFyYW1fbmFtZSkgIT0g MCkKKysJCWlmIChfb2lkY19zdHJjbXAoZWx0c1tpXS5rZXksIHN0cmlwX3BhcmFtX25hbWUpICE9 IDApCisgCQkJb2lkY191c2VyZGF0YV9zZXRfcG9zdF9wYXJhbShyLCBlbHRzW2ldLmtleSwgZWx0 c1tpXS52YWwpOworIAorIAllbmQ6CitAQCAtMTk2Myw3ICsxOTYzLDcgQEAgYXByX2J5dGVfdCBv aWRjX3V0aWxfZmlsZV93cml0ZShyZXF1ZXN0X3JlYyAqciwgY29uc3QgY2hhciAqcGF0aCwKKyBh cHJfYnl0ZV90IG9pZGNfdXRpbF9pc3N1ZXJfbWF0Y2goY29uc3QgY2hhciAqYSwgY29uc3QgY2hh ciAqYikgeworIAorIAkvKiBjaGVjayB0aGUgImlzc3VlciIgdmFsdWUgYWdhaW5zdCB0aGUgb25l IGNvbmZpZ3VyZSBmb3IgdGhlIHByb3ZpZGVyIHdlIGdvdCB0aGlzIGlkX3Rva2VuIGZyb20gKi8K Ky0JaWYgKGFwcl9zdHJuYXRjbXAoYSwgYikgIT0gMCkgeworKwlpZiAoX29pZGNfc3RyY21wKGEs IGIpICE9IDApIHsKKyAKKyAJCS8qIG5vIHN0cmljdCBtYXRjaCwgYnV0IHdlIGFyZSBnb2luZyB0 byBhY2NlcHQgaWYgdGhlIGRpZmZlcmVuY2UgaXMgb25seSBhIHRyYWlsaW5nIHNsYXNoICovCisg CQlpbnQgbjEgPSBzdHJsZW4oYSk7CitAQCAtMTk3Miw3ICsxOTcyLDcgQEAgYXByX2J5dGVfdCBv aWRjX3V0aWxfaXNzdWVyX21hdGNoKGNvbnN0IGNoYXIgKmEsIGNvbnN0IGNoYXIgKmIpIHsKKyAJ CQkJbjIgOgorIAkJCQkoKChuMiA9PSBuMSArIDEpICYmIChiW24yIC0gMV0gPT0gT0lEQ19DSEFS X0ZPUldBUkRfU0xBU0gpKSA/CisgCQkJCQkJbjEgOiAwKTsKKy0JCWlmICgobiA9PSAwKSB8fCAo c3RybmNtcChhLCBiLCBuKSAhPSAwKSkKKysJCWlmICgobiA9PSAwKSB8fCAoX29pZGNfc3RybmNt cChhLCBiLCBuKSAhPSAwKSkKKyAJCQlyZXR1cm4gRkFMU0U7CisgCX0KKyAKK0BAIC0xOTk2LDcg KzE5OTYsNyBAQCBhcHJfYnl0ZV90IG9pZGNfdXRpbF9qc29uX2FycmF5X2hhc192YWx1ZShyZXF1 ZXN0X3JlYyAqciwganNvbl90ICpoYXlzdGFjaywKKyAJCQkJCWVsZW0tPnR5cGUpOworIAkJCWNv bnRpbnVlOworIAkJfQorLQkJaWYgKGFwcl9zdHJuYXRjbXAoanNvbl9zdHJpbmdfdmFsdWUoZWxl bSksIG5lZWRsZSkgPT0gMCkgeworKwkJaWYgKF9vaWRjX3N0cmNtcChqc29uX3N0cmluZ192YWx1 ZShlbGVtKSwgbmVlZGxlKSA9PSAwKSB7CisgCQkJYnJlYWs7CisgCQl9CisgCX0KK0BAIC0yMTY1 LDcgKzIxNjUsNyBAQCB2b2lkIG9pZGNfdXRpbF9zZXRfYXBwX2luZm9zKHJlcXVlc3RfcmVjICpy LCBjb25zdCBqc29uX3QgKmpfYXR0cnMsCisgCisgCQkJCQkvKiBjb25jYXRlbmF0ZSB0aGUgc3Ry aW5nIHRvIHRoZSBzX2NvbmNhdCB2YWx1ZSB1c2luZyB0aGUgY29uZmlndXJlZCBzZXBhcmF0b3Ig Y2hhciAqLworIAkJCQkJLy8gVE9ETzogZXNjYXBlIHRoZSBkZWxpbWl0ZXIgaW4gdGhlIHZhbHVl cyAobWF5YmUgcmV1c2UvZXh0cmFjdCB1cmwtZm9ybWF0dGVkIGNvZGUgZnJvbSBvaWRjX3Nlc3Np b25faWRlbnRpdHlfZW5jb2RlKQorLQkJCQkJaWYgKGFwcl9zdHJuYXRjbXAoc19jb25jYXQsICIi KSAhPSAwKSB7CisrCQkJCQlpZiAoX29pZGNfc3RyY21wKHNfY29uY2F0LCAiIikgIT0gMCkgewor IAkJCQkJCXNfY29uY2F0ID0gYXByX3BzcHJpbnRmKHItPnBvb2wsICIlcyVzJXMiLCBzX2NvbmNh dCwKKyAJCQkJCQkJCWNsYWltX2RlbGltaXRlciwganNvbl9zdHJpbmdfdmFsdWUoZWxlbSkpOwor IAkJCQkJfSBlbHNlIHsKK0BAIC0yMTc1LDcgKzIxNzUsNyBAQCB2b2lkIG9pZGNfdXRpbF9zZXRf YXBwX2luZm9zKHJlcXVlc3RfcmVjICpyLCBjb25zdCBqc29uX3QgKmpfYXR0cnMsCisgCisgCQkJ CX0gZWxzZSBpZiAoanNvbl9pc19ib29sZWFuKGVsZW0pKSB7CisgCistCQkJCQlpZiAoYXByX3N0 cm5hdGNtcChzX2NvbmNhdCwgIiIpICE9IDApIHsKKysJCQkJCWlmIChfb2lkY19zdHJjbXAoc19j b25jYXQsICIiKSAhPSAwKSB7CisgCQkJCQkJc19jb25jYXQgPSBhcHJfcHNwcmludGYoci0+cG9v bCwgIiVzJXMlcyIsIHNfY29uY2F0LAorIAkJCQkJCQkJY2xhaW1fZGVsaW1pdGVyLAorIAkJCQkJ CQkJanNvbl9pc190cnVlKGVsZW0pID8gIjEiIDogIjAiKTsKK0BAIC0yNTU0LDcgKzI1NTQsNyBA QCBpbnQgb2lkY191dGlsX2Nvb2tpZV9kb21haW5fdmFsaWQoY29uc3QgY2hhciAqaG9zdG5hbWUs IGNoYXIgKmNvb2tpZV9kb21haW4pIHsKKyAJfSBlbHNlIHsKKyAJCXAgPSBzdHJzdHIoaG9zdG5h bWUsIGNoZWNrX2Nvb2tpZSk7CisgCX0KKy0JaWYgKChwID09IE5VTEwpIHx8IChhcHJfc3RybmF0 Y21wKGNoZWNrX2Nvb2tpZSwgcCkgIT0gMCkpIHsKKysJaWYgKChwID09IE5VTEwpIHx8IChfb2lk Y19zdHJjbXAoY2hlY2tfY29va2llLCBwKSAhPSAwKSkgeworIAkJcmV0dXJuIEZBTFNFOworIAl9 CisgCXJldHVybiBUUlVFOworQEAgLTI1ODcsNyArMjU4Nyw3IEBAIHN0YXRpYyBhcHJfYnl0ZV90 IG9pZGNfdXRpbF9oZHJfaW5fY29udGFpbnMoY29uc3QgcmVxdWVzdF9yZWMgKnIsCisgCQl3aGls ZSAoZWxlbSAhPSBOVUxMKSB7CisgCQkJd2hpbGUgKCplbGVtID09IE9JRENfQ0hBUl9TUEFDRSkK KyAJCQkJZWxlbSsrOworLQkJCWlmICgoc3RybmNtcChlbGVtLCBuZWVkbGUsIHN0cmxlbihuZWVk bGUpKSA9PSAwKQorKwkJCWlmICgoX29pZGNfc3RybmNtcChlbGVtLCBuZWVkbGUsIHN0cmxlbihu ZWVkbGUpKSA9PSAwKQorIAkJCQkJJiYgKChlbGVtW3N0cmxlbihuZWVkbGUpXSA9PSAnXDAnKQor IAkJCQkJCQl8fCAoZWxlbVtzdHJsZW4obmVlZGxlKV0gPT0gcG9zdGZpeF9zZXBhcmF0b3IpKSkg eworIAkJCQlyYyA9IFRSVUU7CitAQCAtMjgzNiw3ICsyODM2LDcgQEAgYXByX2J5dGVfdCBvaWRj X3V0aWxfanNvbl92YWxpZGF0ZV9jbmZfeDV0X3MyNTYocmVxdWVzdF9yZWMgKnIsCisgCQlnb3Rv IG91dF9lcnI7CisgCX0KKyAKKy0JaWYgKGFwcl9zdHJuYXRjbXAoZmluZ2VycHJpbnQsIHg1dF8y NTZfc3RyKSAhPSAwKSB7CisrCWlmIChfb2lkY19zdHJjbXAoZmluZ2VycHJpbnQsIHg1dF8yNTZf c3RyKSAhPSAwKSB7CisgCQlvaWRjX3dhcm4ociwKKyAJCQkJImZpbmdlcnByaW50IG9mIHByb3Zp ZGVkIGNlcnQgKCVzKSBkb2VzIG5vdCBtYXRjaCBjbmZbXCJ4NXQjUzI1NlwiXSAoJXMpIiwKKyAJ CQkJZmluZ2VycHJpbnQsIHg1dF8yNTZfc3RyKTsKK2RpZmYgLS1naXQgYS90ZXN0L3Rlc3QtY21k LmMgYi90ZXN0L3Rlc3QtY21kLmMKK2luZGV4IDk0MDlhMWIuLjVlZjA1OTkgMTAwNjQ0CistLS0g YS90ZXN0L3Rlc3QtY21kLmMKKysrKyBiL3Rlc3QvdGVzdC1jbWQuYworQEAgLTM5Nyw3ICszOTcs NyBAQCBpbnQgaGFzaF9iYXNlNjR1cmwoaW50IGFyZ2MsIGNoYXIgKiphcmd2LCBhcHJfcG9vbF90 ICpwb29sKSB7CisgCQkJCSJoYXNoX2Jhc2U2NHVybCA8c3RyaW5nPiBbYWxnb10gW2Jhc2U2NHVy bC1kZWNvZGUtZmlyc3RdIik7CisgCisgCWNoYXIgKmFsZ28gPSBhcmdjID4gMyA/IGFyZ3ZbM10g OiAic2hhMjU2IjsKKy0JaW50IGJhc2U2NHVybF9kZWNvZGVfZmlyc3QgPSBhcmdjID4gNCA/IChz dHJjbXAoYXJndls0XSwgInllcyIpID09IDApIDogMDsKKysJaW50IGJhc2U2NHVybF9kZWNvZGVf Zmlyc3QgPSBhcmdjID4gNCA/IChfb2lkY19zdHJjbXAoYXJndls0XSwgInllcyIpID09IDApIDog MDsKKyAJY2hhciAqb3V0cHV0ID0gTlVMTDsKKyAKKyAJcmVxdWVzdF9yZWMgKnIgPSByZXF1ZXN0 X3NldHVwKHBvb2wpOworQEAgLTQ5NSwyOCArNDk1LDI4IEBAIGludCBtYWluKGludCBhcmdjLCBj aGFyICoqYXJndiwgY2hhciAqKmVudikgeworIAlhcHJfcG9vbF90ICpwb29sID0gTlVMTDsKKyAJ YXByX3Bvb2xfY3JlYXRlKCZwb29sLCBOVUxMKTsKKyAKKy0JaWYgKHN0cmNtcChhcmd2WzFdLCAi c2lnbiIpID09IDApCisrCWlmIChfb2lkY19zdHJjbXAoYXJndlsxXSwgInNpZ24iKSA9PSAwKQor IAkJcmV0dXJuIHNpZ24oYXJnYywgYXJndiwgcG9vbCk7CisgCistCWlmIChzdHJjbXAoYXJndlsx XSwgInZlcmlmeSIpID09IDApCisrCWlmIChfb2lkY19zdHJjbXAoYXJndlsxXSwgInZlcmlmeSIp ID09IDApCisgCQlyZXR1cm4gdmVyaWZ5KGFyZ2MsIGFyZ3YsIHBvb2wpOworIAorLQlpZiAoc3Ry Y21wKGFyZ3ZbMV0sICJkZWNyeXB0IikgPT0gMCkKKysJaWYgKF9vaWRjX3N0cmNtcChhcmd2WzFd LCAiZGVjcnlwdCIpID09IDApCisgCQlyZXR1cm4gZGVjcnlwdChhcmdjLCBhcmd2LCBwb29sKTsK KyAKKy0JaWYgKHN0cmNtcChhcmd2WzFdLCAia2V5Mmp3ayIpID09IDApCisrCWlmIChfb2lkY19z dHJjbXAoYXJndlsxXSwgImtleTJqd2siKSA9PSAwKQorIAkJcmV0dXJuIGtleTJqd2soYXJnYywg YXJndiwgcG9vbCk7CisgCistCWlmIChzdHJjbXAoYXJndlsxXSwgImVuY2tleSIpID09IDApCisr CWlmIChfb2lkY19zdHJjbXAoYXJndlsxXSwgImVuY2tleSIpID09IDApCisgCQlyZXR1cm4gZW5j a2V5KGFyZ2MsIGFyZ3YsIHBvb2wpOworIAorLQlpZiAoc3RyY21wKGFyZ3ZbMV0sICJoYXNoX2Jh c2U2NHVybCIpID09IDApCisrCWlmIChfb2lkY19zdHJjbXAoYXJndlsxXSwgImhhc2hfYmFzZTY0 dXJsIikgPT0gMCkKKyAJCXJldHVybiBoYXNoX2Jhc2U2NHVybChhcmdjLCBhcmd2LCBwb29sKTsK KyAKKy0JaWYgKHN0cmNtcChhcmd2WzFdLCAidGltZXN0YW1wIikgPT0gMCkKKysJaWYgKF9vaWRj X3N0cmNtcChhcmd2WzFdLCAidGltZXN0YW1wIikgPT0gMCkKKyAJCXJldHVybiB0aW1lc3RhbXAo YXJnYywgYXJndiwgcG9vbCk7CisgCistCWlmIChzdHJjbXAoYXJndlsxXSwgInV1aWQiKSA9PSAw KQorKwlpZiAoX29pZGNfc3RyY21wKGFyZ3ZbMV0sICJ1dWlkIikgPT0gMCkKKyAJCXJldHVybiB1 dWlkKGFyZ2MsIGFyZ3YsIHBvb2wpOworIAorIAlhcHJfcG9vbF9kZXN0cm95KHBvb2wpOworZGlm ZiAtLWdpdCBhL3Rlc3QvdGVzdC5jIGIvdGVzdC90ZXN0LmMKK2luZGV4IGM3NWE5NDAuLjkxYWQy NjMgMTAwNzU1CistLS0gYS90ZXN0L3Rlc3QuYworKysrIGIvdGVzdC90ZXN0LmMKK0BAIC03OCwx NCArNzgsMTQgQEAgc3RhdGljIGludCBUU1RfUkM7CisgCQl9CisgCisgI2RlZmluZSBUU1RfQVNT RVJUX1NUUihtZXNzYWdlLCByZXN1bHQsIGV4cGVjdGVkKSBcCistCQlUU1RfUkMgPSAocmVzdWx0 ICYmIGV4cGVjdGVkKSA/IChhcHJfc3RybmF0Y21wKHJlc3VsdCwgZXhwZWN0ZWQpICE9IDApIDog KChyZXN1bHQgIT0gTlVMTCkgfHwgKGV4cGVjdGVkICE9IE5VTEwpKTsgXAorKwkJVFNUX1JDID0g KHJlc3VsdCAmJiBleHBlY3RlZCkgPyAoX29pZGNfc3RyY21wKHJlc3VsdCwgZXhwZWN0ZWQpICE9 IDApIDogKChyZXN1bHQgIT0gTlVMTCkgfHwgKGV4cGVjdGVkICE9IE5VTEwpKTsgXAorIAkJaWYg KFRTVF9SQykgeyBcCisgCQkJc3ByaW50ZihUU1RfRVJSX01TRywgVFNUX0ZPUk1BVCgiJXMiKSwg X19GVU5DVElPTl9fLCBtZXNzYWdlLCByZXN1bHQgPyByZXN1bHQgOiAiKG51bGwpIiwgZXhwZWN0 ZWQgPyBleHBlY3RlZCA6ICIobnVsbCkiKTsgXAorIAkJCXJldHVybiBUU1RfRVJSX01TRzsgXAor IAkJfQorIAorICNkZWZpbmUgVFNUX0FTU0VSVF9TVFJOKG1lc3NhZ2UsIHJlc3VsdCwgZXhwZWN0 ZWQsIGxlbikgXAorLQkJVFNUX1JDID0gKHJlc3VsdCAmJiBleHBlY3RlZCkgPyAoc3RybmNtcChy ZXN1bHQsIGV4cGVjdGVkLCBsZW4pICE9IDApIDogKChyZXN1bHQgIT0gTlVMTCkgfHwgKGV4cGVj dGVkICE9IE5VTEwpKTsgXAorKwkJVFNUX1JDID0gKHJlc3VsdCAmJiBleHBlY3RlZCkgPyAoX29p ZGNfc3RybmNtcChyZXN1bHQsIGV4cGVjdGVkLCBsZW4pICE9IDApIDogKChyZXN1bHQgIT0gTlVM TCkgfHwgKGV4cGVjdGVkICE9IE5VTEwpKTsgXAorIAkJaWYgKFRTVF9SQykgeyBcCisgCQkJc3By aW50ZihUU1RfRVJSX01TRywgVFNUX0ZPUk1BVCgiJXMiKSwgX19GVU5DVElPTl9fLCBtZXNzYWdl LCByZXN1bHQgPyByZXN1bHQgOiAiKG51bGwpIiwgZXhwZWN0ZWQgPyBleHBlY3RlZCA6ICIobnVs bCkiKTsgXAorIAkJCXJldHVybiBUU1RfRVJSX01TRzsgXApkaWZmIC1OcnUgbGliYXBhY2hlMi1t b2QtYXV0aC1vcGVuaWRjLTIuNC4xMi4zL2RlYmlhbi9wYXRjaGVzL3NlcmllcyBsaWJhcGFjaGUy LW1vZC1hdXRoLW9wZW5pZGMtMi40LjEyLjMvZGViaWFuL3BhdGNoZXMvc2VyaWVzCi0tLSBsaWJh cGFjaGUyLW1vZC1hdXRoLW9wZW5pZGMtMi40LjEyLjMvZGViaWFuL3BhdGNoZXMvc2VyaWVzCTIw MjUtMDQtMTYgMTA6NTY6NTUuMDAwMDAwMDAwICswMjAwCisrKyBsaWJhcGFjaGUyLW1vZC1hdXRo LW9wZW5pZGMtMi40LjEyLjMvZGViaWFuL3BhdGNoZXMvc2VyaWVzCTIwMjUtMDUtMDcgMTQ6MjE6 NTkuMDAwMDAwMDAwICswMjAwCkBAIC0yLDMgKzIsNCBAQAogMDAwMi1maXgtRG9TLUNWRS0yMDI0 LTI0ODE0LnBhdGNoCiAwMDAzLWF2b2lkLWNyYXNoLXdoZW4tdGhlLUZvcndhcmRlZC1oZWFkZXIt aXMtbm90LXByZXNlbnQucGF0Y2gKIDAwMDQtRml4LUNWRS0yMDI1LTMxNDkyLXByb3RlY3RlZC1j b250ZW50LWxlYWthZ2Utd2hlbi11cy5wYXRjaAorMDAwNS1GaXgtQ1ZFLTIwMjUtMzg5MS5wYXRj aAo=


    --=-V49zqyKrX+3hDEYXQQ5k--

    -----BEGIN PGP SIGNATURE-----

    iQJIBAABCgAyFiEE3wEiR7/GVQGv8oRFDCS4Qcfduq8FAmgbUh0UHG1vc2NobGFy QGRlYmlhbi5vcmcACgkQDCS4Qcfduq/hzA//WDR4WICK6BHCHtBGUqjfZPvBzYuh qwn8Tus2YpLf3WfGJBHBN39HRcK5ipT6xIi0rlsTeTK05ML3aJ40NVvMmQ7JLbnU cmOIjNJpc2AhFHjqv/kF2//Ljd8rWuXe4Y5LmvApXPlujliVpW/2HTgW6xrVFxgl 723kPbW7BoLR23jqT3Fu8+pidc+JmM+4NMuX6KW63YpaYYN9kyeamu585W8Pdbwf 0J87Olxh6kPTwGA0QF63jNNzkFn6j6uIj7vAAZGk3o57OTxeu5sfFeXbc8cFZJX3 qWLiMDzywnrJrg8cp+XTVZBi+IZLJomawM2SLcUMjXVPFC+KTJyvam88q0WN0geN YX8zw1AExpv/lkyTsdxXk3VtSk78/XvB3Z7xmEmL/c+eMZVxPwxKelR8crT9XeXy jqQO7f6cwqQhxyWEISmqDWJ0ppVje08CufgFmS30RuVRjQQbhxUdcw+aQWzvolsT nRdDIZZphmDii7V0c55xc8k6m1/Vu223Y5JRS+IiI5TO0lIwxbHVdX4NPRj+p3j4 hHwyz6gCGKjAOpi4fm2tI+uufxU4fb60+ZHg6GXL8HfmOBNo/MGDc6oLNSWFV+F0 PzUg5xISoXx9rKJL/zwcesLVXT/BCWhi1YJ9nrIfnbFcLwB8O3R4RFF8J7s2Z9Gt 4LNp8SuYr0qynRk=
    =ZH13
    -----END PGP SIGNATURE-----

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

    KHNjaGVtZV9zdHIgPT0gTlVMTCkKKy0JCQl8fCAoKGFwcl9zdHJuYXRjbXAoc2NoZW1lX3N0ciwg Imh0dHAiKSAhPSAwKQorLQkJCQkJJiYgKGFwcl9zdHJuYXRjbXAoc2NoZW1lX3N0ciwgImh0dHBz IikgIT0gMCkpKSB7CisrCQkJfHwgKChfb2lkY19zdHJjbXAoc2NoZW1lX3N0ciwgImh0dHAiKSAh PSAwKQorKwkJCQkJJiYgKF9vaWRjX3N0cmNtcChzY2hlbWVfc3RyLCAiaHR0cHMiKSAhPSAwKSkp IHsKKyAJCW9pZGNfd2FybihyLAorIAkJCQkiZGV0ZWN0ZWQgSFRUUCBzY2hlbWUgXCIlc1wiIGlz IG5vdCBcImh0dHBcIiBub3IgXCJodHRwc1wiOyBwZXJoYXBzIHlvdXIgcmV2ZXJzZSBwcm94eSBw YXNzZXMgYSB3cm9uZ2x5IGNvbmZpZ3VyZWQgXCIlc1wiIGhlYWRlcjogZmFsbGluZyBiYWNrIHRv IGRlZmF1bHQgXCJodHRwc1wiIiwKKyAJCQkJc2NoZW1lX3N0ciwgT0lEQ19IVFRQX0hEUl9YX0ZP UldBUkRFRF9QUk9UTyk7CitAQCAtNTYyLDkgKzU2Miw5IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBv aWRjX2dldF9jdXJyZW50X3VybF9wb3J0KGNvbnN0IHJlcXVlc3RfcmVjICpyLAorIAkgKiBkZXRl cm1pbmUgdGhlIHBvcnQgbG9jYWxseSBhbmQgZG9uJ3QgcHJpbnQgaXQgd2hlbiBpdCdzIHRoZSBk ZWZhdWx0IGZvciB0aGUgcHJvdG9jb2wKKyAJICovCisgCWNvbnN0IGFwcl9wb3J0X3QgcG9ydCA9 IHItPmNvbm5lY3Rpb24tPmxvY2FsX2FkZHItPnBvcnQ7CistCWlmICgoYXByX3N0cm5hdGNtcChz Y2hlbWVfc3RyLCAiaHR0cHMiKSA9PSAwKSAmJiBwb3J0ID09IDQ0MykKKysJaWYgKChfb2lkY19z dHJjbXAoc2NoZW1lX3N0ciwgImh0dHBzIikgPT0gMCkgJiYgcG9ydCA9PSA0NDMpCisgCQlyZXR1 cm4gTlVMTDsKKy0JZWxzZSBpZiAoKGFwcl9zdHJuYXRjbXAoc2NoZW1lX3N0ciwgImh0dHAiKSA9 PSAwKSAmJiBwb3J0ID09IDgwKQorKwllbHNlIGlmICgoX29pZGNfc3RyY21wKHNjaGVtZV9zdHIs ICJodHRwIikgPT0gMCkgJiYgcG9ydCA9PSA4MCkKKyAJCXJldHVybiBOVUxMOworIAorIAlwb3J0 X3N0ciA9IGFwcl9wc3ByaW50ZihyLT5wb29sLCAiJXUiLCBwb3J0KTsKK0BAIC03NDMsNyArNzQz LDcgQEAgc3RhdGljIGludCBvaWRjX3V0aWxfaHR0cF9hZGRfZm9ybV91cmxfZW5jb2RlZF9wYXJh bSh2b2lkICpyZWMsIGNvbnN0IGNoYXIgKmtleSwKKyAJCWNvbnN0IGNoYXIgKnZhbHVlKSB7Cisg CW9pZGNfaHR0cF9lbmNvZGVfdCAqY3R4ID0gKG9pZGNfaHR0cF9lbmNvZGVfdCopIHJlYzsKKyAJ b2lkY19kZWJ1ZyhjdHgtPnIsICJwcm9jZXNzaW5nOiAlcz0lcyIsIGtleSwKKy0JCQkoc3RybmNt cChrZXksIE9JRENfUFJPVE9fQ0xJRU5UX1NFQ1JFVCwgc3RybGVuKE9JRENfUFJPVE9fQ0xJRU5U X1NFQ1JFVCkpID09IDApID8gIioqKiIgOiB2YWx1ZSk7CisrCQkJKF9vaWRjX3N0cm5jbXAoa2V5 LCBPSURDX1BST1RPX0NMSUVOVF9TRUNSRVQsIHN0cmxlbihPSURDX1BST1RPX0NMSUVOVF9TRUNS RVQpKSA9PSAwKSA/ICIqKioiIDogdmFsdWUpOworIAljb25zdCBjaGFyICpzZXAgPSBjdHgtPmVu Y29kZWRfcGFyYW1zID8gT0lEQ19TVFJfQU1QIDogIiI7CisgCWN0eC0+ZW5jb2RlZF9wYXJhbXMg PSBhcHJfcHNwcmludGYoY3R4LT5yLT5wb29sLCAiJXMlcyVzPSVzIiwKKyAJCQljdHgtPmVuY29k ZWRfcGFyYW1zID8gY3R4LT5lbmNvZGVkX3BhcmFtcyA6ICIiLCBzZXAsCitAQCAtMTA5NCw3ICsx MDk0LDcgQEAgc3RhdGljIGNoYXIqIG9pZGNfdXRpbF9nZXRfY29va2llX3BhdGgocmVxdWVzdF9y ZWMgKnIpIHsKKyAJY2hhciAqcnYgPSBOVUxMLCAqcmVxdWVzdFBhdGggPSBvaWRjX3V0aWxfZ2V0 X3BhdGgocik7CisgCWNoYXIgKmNvb2tpZV9wYXRoID0gb2lkY19jZmdfZGlyX2Nvb2tpZV9wYXRo KHIpOworIAlpZiAoY29va2llX3BhdGggIT0gTlVMTCkgeworLQkJaWYgKHN0cm5jbXAoY29va2ll X3BhdGgsIHJlcXVlc3RQYXRoLCBzdHJsZW4oY29va2llX3BhdGgpKSA9PSAwKQorKwkJaWYgKF9v aWRjX3N0cm5jbXAoY29va2llX3BhdGgsIHJlcXVlc3RQYXRoLCBzdHJsZW4oY29va2llX3BhdGgp KSA9PSAwKQorIAkJCXJ2ID0gY29va2llX3BhdGg7CisgCQllbHNlIHsKKyAJCQlvaWRjX3dhcm4o ciwKK0BAIC0xMTUzLDcgKzExNTMsNyBAQCB2b2lkIG9pZGNfdXRpbF9zZXRfY29va2llKHJlcXVl c3RfcmVjICpyLCBjb25zdCBjaGFyICpjb29raWVOYW1lLAorIAljb25zdCBjaGFyICphcHBlbmRT dHJpbmcgPSBOVUxMOworIAorIAkvKiBzZWUgaWYgd2UgbmVlZCB0byBjbGVhciB0aGUgY29va2ll ICovCistCWlmIChhcHJfc3RybmF0Y21wKGNvb2tpZVZhbHVlLCAiIikgPT0gMCkKKysJaWYgKF9v aWRjX3N0cmNtcChjb29raWVWYWx1ZSwgIiIpID09IDApCisgCQlleHBpcmVzID0gMDsKKyAKKyAJ LyogY29uc3RydWN0IHRoZSBleHBpcmUgdmFsdWUgKi8KK0BAIC0xMjI0LDcgKzEyMjQsNyBAQCBj aGFyKiBvaWRjX3V0aWxfZ2V0X2Nvb2tpZShyZXF1ZXN0X3JlYyAqciwgY29uc3QgY2hhciAqY29v a2llTmFtZSkgeworIAkJCQljb29raWUrKzsKKyAKKyAJCQkvKiBzZWUgaWYgd2UndmUgZm91bmQg dGhlIGNvb2tpZSB0aGF0IHdlJ3JlIGxvb2tpbmcgZm9yICovCistCQkJaWYgKChzdHJuY21wKGNv b2tpZSwgY29va2llTmFtZSwgc3RybGVuKGNvb2tpZU5hbWUpKSA9PSAwKQorKwkJCWlmICgoX29p ZGNfc3RybmNtcChjb29raWUsIGNvb2tpZU5hbWUsIHN0cmxlbihjb29raWVOYW1lKSkgPT0gMCkK KyAJCQkJCSYmIChjb29raWVbc3RybGVuKGNvb2tpZU5hbWUpXSA9PSBPSURDX0NIQVJfRVFVQUwp KSB7CisgCisgCQkJCS8qIHNraXAgdG8gdGhlIG1lYXQgb2YgdGhlIHBhcmFtZXRlciAodGhlIHZh bHVlIGFmdGVyIHRoZSAnPScpICovCitAQCAtMTQwNSw3ICsxNDA1LDcgQEAgYXByX2J5dGVfdCBv aWRjX3V0aWxfcmVxdWVzdF9tYXRjaGVzX3VybChyZXF1ZXN0X3JlYyAqciwgY29uc3QgY2hhciAq dXJsKSB7CisgCW9pZGNfZGVidWcociwgImNvbXBhcmluZyBcIiVzXCI9PVwiJXNcIiIsIHItPnBh cnNlZF91cmkucGF0aCwgdXJpLnBhdGgpOworIAlpZiAoKHItPnBhcnNlZF91cmkucGF0aCA9PSBO VUxMKSB8fCAodXJpLnBhdGggPT0gTlVMTCkpCisgCQlyZXR1cm4gKHItPnBhcnNlZF91cmkucGF0 aCA9PSB1cmkucGF0aCk7CistCXJldHVybiAoYXByX3N0cm5hdGNtcChyLT5wYXJzZWRfdXJpLnBh dGgsIHVyaS5wYXRoKSA9PSAwKTsKKysJcmV0dXJuIChfb2lkY19zdHJjbXAoci0+cGFyc2VkX3Vy aS5wYXRoLCB1cmkucGF0aCkgPT0gMCk7CisgfQorIAorIC8qCitAQCAtMTQzOSw3ICsxNDM5LDcg QEAgYXByX2J5dGVfdCBvaWRjX3V0aWxfZ2V0X3JlcXVlc3RfcGFyYW1ldGVyKHJlcXVlc3RfcmVj ICpyLCBjaGFyICpuYW1lLAorIAorIAlwID0gYXByX3N0cnRvayhhcmdzLCBPSURDX1NUUl9BTVAs ICZ0b2tlbml6ZXJfY3R4KTsKKyAJZG8geworLQkJaWYgKHAgJiYgc3RybmNtcChwLCBrX3BhcmFt LCBrX3BhcmFtX3N6KSA9PSAwKSB7CisrCQlpZiAocCAmJiBfb2lkY19zdHJuY21wKHAsIGtfcGFy YW0sIGtfcGFyYW1fc3opID09IDApIHsKKyAJCQkqdmFsdWUgPSBhcHJfcHN0cmR1cChyLT5wb29s LCBwICsga19wYXJhbV9zeik7CisgCQkJKnZhbHVlID0gb2lkY191dGlsX3VuZXNjYXBlX3N0cmlu ZyhyLCAqdmFsdWUpOworIAkJfQorQEAgLTE3ODEsNyArMTc4MSw3IEBAIGFwcl9ieXRlX3Qgb2lk Y191dGlsX3JlYWRfcG9zdF9wYXJhbXMocmVxdWVzdF9yZWMgKnIsIGFwcl90YWJsZV90ICp0YWJs ZSwKKyAJYXJyID0gYXByX3RhYmxlX2VsdHModGFibGUpOworIAllbHRzID0gKGNvbnN0IGFwcl90 YWJsZV9lbnRyeV90KikgYXJyLT5lbHRzOworIAlmb3IgKGkgPSAwOyBpIDwgYXJyLT5uZWx0czsg aSsrKQorLQkJaWYgKGFwcl9zdHJuYXRjbXAoZWx0c1tpXS5rZXksIHN0cmlwX3BhcmFtX25hbWUp ICE9IDApCisrCQlpZiAoX29pZGNfc3RyY21wKGVsdHNbaV0ua2V5LCBzdHJpcF9wYXJhbV9uYW1l KSAhPSAwKQorIAkJCW9pZGNfdXNlcmRhdGFfc2V0X3Bvc3RfcGFyYW0ociwgZWx0c1tpXS5rZXks IGVsdHNbaV0udmFsKTsKKyAKKyAJZW5kOgorQEAgLTE5MjQsNyArMTkyNCw3IEBAIGFwcl9ieXRl X3Qgb2lkY191dGlsX2ZpbGVfd3JpdGUocmVxdWVzdF9yZWMgKnIsIGNvbnN0IGNoYXIgKnBhdGgs CisgYXByX2J5dGVfdCBvaWRjX3V0aWxfaXNzdWVyX21hdGNoKGNvbnN0IGNoYXIgKmEsIGNvbnN0 IGNoYXIgKmIpIHsKKyAKKyAJLyogY2hlY2sgdGhlICJpc3N1ZXIiIHZhbHVlIGFnYWluc3QgdGhl IG9uZSBjb25maWd1cmUgZm9yIHRoZSBwcm92aWRlciB3ZSBnb3QgdGhpcyBpZF90b2tlbiBmcm9t ICovCistCWlmIChhcHJfc3RybmF0Y21wKGEsIGIpICE9IDApIHsKKysJaWYgKF9vaWRjX3N0cmNt cChhLCBiKSAhPSAwKSB7CisgCisgCQkvKiBubyBzdHJpY3QgbWF0Y2gsIGJ1dCB3ZSBhcmUgZ29p bmcgdG8gYWNjZXB0IGlmIHRoZSBkaWZmZXJlbmNlIGlzIG9ubHkgYSB0cmFpbGluZyBzbGFzaCAq LworIAkJaW50IG4xID0gc3RybGVuKGEpOworQEAgLTE5MzMsNyArMTkzMyw3IEBAIGFwcl9ieXRl X3Qgb2lkY191dGlsX2lzc3Vlcl9tYXRjaChjb25zdCBjaGFyICphLCBjb25zdCBjaGFyICpiKSB7 CisgCQkJCW4yIDoKKyAJCQkJKCgobjIgPT0gbjEgKyAxKSAmJiAoYltuMiAtIDFdID09IE9JRENf Q0hBUl9GT1JXQVJEX1NMQVNIKSkgPworIAkJCQkJCW4xIDogMCk7CistCQlpZiAoKG4gPT0gMCkg fHwgKHN0cm5jbXAoYSwgYiwgbikgIT0gMCkpCisrCQlpZiAoKG4gPT0gMCkgfHwgKF9vaWRjX3N0 cm5jbXAoYSwgYiwgbikgIT0gMCkpCisgCQkJcmV0dXJuIEZBTFNFOworIAl9CisgCitAQCAtMTk1 Nyw3ICsxOTU3LDcgQEAgYXByX2J5dGVfdCBvaWRjX3V0aWxfanNvbl9hcnJheV9oYXNfdmFsdWUo cmVxdWVzdF9yZWMgKnIsIGpzb25fdCAqaGF5c3RhY2ssCisgCQkJCQllbGVtLT50eXBlKTsKKyAJ CQljb250aW51ZTsKKyAJCX0KKy0JCWlmIChhcHJfc3RybmF0Y21wKGpzb25fc3RyaW5nX3ZhbHVl KGVsZW0pLCBuZWVkbGUpID09IDApIHsKKysJCWlmIChfb2lkY19zdHJjbXAoanNvbl9zdHJpbmdf dmFsdWUoZWxlbSksIG5lZWRsZSkgPT0gMCkgeworIAkJCWJyZWFrOworIAkJfQorIAl9CitAQCAt MjA4OSw3ICsyMDg5LDcgQEAgdm9pZCBvaWRjX3V0aWxfc2V0X2FwcF9pbmZvcyhyZXF1ZXN0X3Jl YyAqciwgY29uc3QganNvbl90ICpqX2F0dHJzLAorIAorIAkJCQkJLyogY29uY2F0ZW5hdGUgdGhl IHN0cmluZyB0byB0aGUgc19jb25jYXQgdmFsdWUgdXNpbmcgdGhlIGNvbmZpZ3VyZWQgc2VwYXJh dG9yIGNoYXIgKi8KKyAJCQkJCS8vIFRPRE86IGVzY2FwZSB0aGUgZGVsaW1pdGVyIGluIHRoZSB2 YWx1ZXMgKG1heWJlIHJldXNlL2V4dHJhY3QgdXJsLWZvcm1hdHRlZCBjb2RlIGZyb20gb2lkY19z ZXNzaW9uX2lkZW50aXR5X2VuY29kZSkKKy0JCQkJCWlmIChhcHJfc3RybmF0Y21wKHNfY29uY2F0 LCAiIikgIT0gMCkgeworKwkJCQkJaWYgKF9vaWRjX3N0cmNtcChzX2NvbmNhdCwgIiIpICE9IDAp IHsKKyAJCQkJCQlzX2NvbmNhdCA9IGFwcl9wc3ByaW50ZihyLT5wb29sLCAiJXMlcyVzIiwgc19j b25jYXQsCisgCQkJCQkJCQljbGFpbV9kZWxpbWl0ZXIsIGpzb25fc3RyaW5nX3ZhbHVlKGVsZW0p KTsKKyAJCQkJCX0gZWxzZSB7CitAQCAtMjA5OSw3ICsyMDk5LDcgQEAgdm9pZCBvaWRjX3V0aWxf c2V0X2FwcF9pbmZvcyhyZXF1ZXN0X3JlYyAqciwgY29uc3QganNvbl90ICpqX2F0dHJzLAorIAor IAkJCQl9IGVsc2UgaWYgKGpzb25faXNfYm9vbGVhbihlbGVtKSkgeworIAorLQkJCQkJaWYgKGFw cl9zdHJuYXRjbXAoc19jb25jYXQsICIiKSAhPSAwKSB7CisrCQkJCQlpZiAoX29pZGNfc3RyY21w KHNfY29uY2F0LCAiIikgIT0gMCkgeworIAkJCQkJCXNfY29uY2F0ID0gYXByX3BzcHJpbnRmKHIt PnBvb2wsICIlcyVzJXMiLCBzX2NvbmNhdCwKKyAJCQkJCQkJCWNsYWltX2RlbGltaXRlciwKKyAJ CQkJCQkJCWpzb25faXNfdHJ1ZShlbGVtKSA/ICIxIiA6ICIwIik7CitAQCAtMjUyNiw3ICsyNTI2 LDcgQEAgaW50IG9pZGNfdXRpbF9jb29raWVfZG9tYWluX3ZhbGlkKGNvbnN0IGNoYXIgKmhvc3Ru YW1lLCBjaGFyICpjb29raWVfZG9tYWluKSB7CisgCX0gZWxzZSB7CisgCQlwID0gc3Ryc3RyKGhv c3RuYW1lLCBjaGVja19jb29raWUpOworIAl9CistCWlmICgocCA9PSBOVUxMKSB8fCAoYXByX3N0 cm5hdGNtcChjaGVja19jb29raWUsIHApICE9IDApKSB7CisrCWlmICgocCA9PSBOVUxMKSB8fCAo X29pZGNfc3RyY21wKGNoZWNrX2Nvb2tpZSwgcCkgIT0gMCkpIHsKKyAJCXJldHVybiBGQUxTRTsK KyAJfQorIAlyZXR1cm4gVFJVRTsKK0BAIC0yNTU5LDcgKzI1NTksNyBAQCBzdGF0aWMgYXByX2J5 dGVfdCBvaWRjX3V0aWxfaGRyX2luX2NvbnRhaW5zKGNvbnN0IHJlcXVlc3RfcmVjICpyLAorIAkJ d2hpbGUgKGVsZW0gIT0gTlVMTCkgeworIAkJCXdoaWxlICgqZWxlbSA9PSBPSURDX0NIQVJfU1BB Q0UpCisgCQkJCWVsZW0rKzsKKy0JCQlpZiAoKHN0cm5jbXAoZWxlbSwgbmVlZGxlLCBzdHJsZW4o bmVlZGxlKSkgPT0gMCkKKysJCQlpZiAoKF9vaWRjX3N0cm5jbXAoZWxlbSwgbmVlZGxlLCBzdHJs ZW4obmVlZGxlKSkgPT0gMCkKKyAJCQkJCSYmICgoZWxlbVtzdHJsZW4obmVlZGxlKV0gPT0gJ1ww JykKKyAJCQkJCQkJfHwgKGVsZW1bc3RybGVuKG5lZWRsZSldID09IHBvc3RmaXhfc2VwYXJhdG9y KSkpIHsKKyAJCQkJcmMgPSBUUlVFOworQEAgLTI3OTUsNyArMjc5NSw3IEBAIGFwcl9ieXRlX3Qg b2lkY191dGlsX2pzb25fdmFsaWRhdGVfY25mX3g1dF9zMjU2KHJlcXVlc3RfcmVjICpyLAorIAkJ Z290byBvdXRfZXJyOworIAl9CisgCistCWlmIChhcHJfc3RybmF0Y21wKGZpbmdlcnByaW50LCB4 NXRfMjU2X3N0cikgIT0gMCkgeworKwlpZiAoX29pZGNfc3RyY21wKGZpbmdlcnByaW50LCB4NXRf MjU2X3N0cikgIT0gMCkgeworIAkJb2lkY193YXJuKHIsCisgCQkJCSJmaW5nZXJwcmludCBvZiBw cm92aWRlZCBjZXJ0ICglcykgZG9lcyBub3QgbWF0Y2ggY25mW1wieDV0I1MyNTZcIl0gKCVzKSIs CisgCQkJCWZpbmdlcnByaW50LCB4NXRfMjU2X3N0cik7CitkaWZmIC0tZ2l0IGEvdGVzdC90ZXN0 LWNtZC5jIGIvdGVzdC90ZXN0LWNtZC5jCitpbmRleCAxMDJmMDAxLi42NWJiYWRmIDEwMDY0NAor LS0tIGEvdGVzdC90ZXN0LWNtZC5jCisrKysgYi90ZXN0L3Rlc3QtY21kLmMKK0BAIC00OTksNyAr NDk5LDcgQEAgaW50IGhhc2hfYmFzZTY0dXJsKGludCBhcmdjLCBjaGFyICoqYXJndiwgYXByX3Bv b2xfdCAqcG9vbCkgeworIAkJCQkiaGFzaF9iYXNlNjR1cmwgPHN0cmluZz4gW2FsZ29dIFtiYXNl NjR1cmwtZGVjb2RlLWZpcnN0XSIpOworIAorIAljaGFyICphbGdvID0gYXJnYyA+IDMgPyBhcmd2 WzNdIDogInNoYTI1NiI7CistCWludCBiYXNlNjR1cmxfZGVjb2RlX2ZpcnN0ID0gYXJnYyA+IDQg PyAoc3RyY21wKGFyZ3ZbNF0sICJ5ZXMiKSA9PSAwKSA6IDA7CisrCWludCBiYXNlNjR1cmxfZGVj b2RlX2ZpcnN0ID0gYXJnYyA+IDQgPyAoX29pZGNfc3RyY21wKGFyZ3ZbNF0sICJ5ZXMiKSA9PSAw KSA6IDA7CisgCWNoYXIgKm91dHB1dCA9IE5VTEw7CisgCisgCXJlcXVlc3RfcmVjICpyID0gcmVx dWVzdF9zZXR1cChwb29sKTsKK0BAIC02MDAsMzEgKzYwMCwzMSBAQCBpbnQgbWFpbihpbnQgYXJn YywgY2hhciAqKmFyZ3YsIGNoYXIgKiplbnYpIHsKKyAJYXByX3Bvb2xfdCAqcG9vbCA9IE5VTEw7 CisgCWFwcl9wb29sX2NyZWF0ZSgmcG9vbCwgTlVMTCk7CisgCistCWlmIChzdHJjbXAoYXJndlsx XSwgInNpZ24iKSA9PSAwKQorKwlpZiAoX29pZGNfc3RyY21wKGFyZ3ZbMV0sICJzaWduIikgPT0g MCkKKyAJCXJldHVybiBzaWduKGFyZ2MsIGFyZ3YsIHBvb2wpOworIAorLQlpZiAoc3RyY21wKGFy Z3ZbMV0sICJ2ZXJpZnkiKSA9PSAwKQorKwlpZiAoX29pZGNfc3RyY21wKGFyZ3ZbMV0sICJ2ZXJp ZnkiKSA9PSAwKQorIAkJcmV0dXJuIHZlcmlmeShhcmdjLCBhcmd2LCBwb29sKTsKKyAKKy0JaWYg KHN0cmNtcChhcmd2WzFdLCAiZGVjcnlwdCIpID09IDApCisrCWlmIChfb2lkY19zdHJjbXAoYXJn dlsxXSwgImRlY3J5cHQiKSA9PSAwKQorIAkJcmV0dXJuIGRlY3J5cHQoYXJnYywgYXJndiwgcG9v bCk7CisgCistCWlmIChzdHJjbXAoYXJndlsxXSwgImp3azJjZXJ0IikgPT0gMCkKKysJaWYgKF9v aWRjX3N0cmNtcChhcmd2WzFdLCAiandrMmNlcnQiKSA9PSAwKQorIAkJcmV0dXJuIGp3azJjZXJ0 KGFyZ2MsIGFyZ3YsIHBvb2wpOworIAorLQlpZiAoc3RyY21wKGFyZ3ZbMV0sICJrZXkyandrIikg PT0gMCkKKysJaWYgKF9vaWRjX3N0cmNtcChhcmd2WzFdLCAia2V5Mmp3ayIpID09IDApCisgCQly ZXR1cm4ga2V5Mmp3ayhhcmdjLCBhcmd2LCBwb29sKTsKKyAKKy0JaWYgKHN0cmNtcChhcmd2WzFd LCAiZW5ja2V5IikgPT0gMCkKKysJaWYgKF9vaWRjX3N0cmNtcChhcmd2WzFdLCAiZW5ja2V5Iikg PT0gMCkKKyAJCXJldHVybiBlbmNrZXkoYXJnYywgYXJndiwgcG9vbCk7CisgCistCWlmIChzdHJj bXAoYXJndlsxXSwgImhhc2hfYmFzZTY0dXJsIikgPT0gMCkKKysJaWYgKF9vaWRjX3N0cmNtcChh cmd2WzFdLCAiaGFzaF9iYXNlNjR1cmwiKSA9PSAwKQorIAkJcmV0dXJuIGhhc2hfYmFzZTY0dXJs KGFyZ2MsIGFyZ3YsIHBvb2wpOworIAorLQlpZiAoc3RyY21wKGFyZ3ZbMV0sICJ0aW1lc3RhbXAi KSA9PSAwKQorKwlpZiAoX29pZGNfc3RyY21wKGFyZ3ZbMV0sICJ0aW1lc3RhbXAiKSA9PSAwKQor IAkJcmV0dXJuIHRpbWVzdGFtcChhcmdjLCBhcmd2LCBwb29sKTsKKyAKKy0JaWYgKHN0cmNtcChh cmd2WzFdLCAidXVpZCIpID09IDApCisrCWlmIChfb2lkY19zdHJjbXAoYXJndlsxXSwgInV1aWQi KSA9PSAwKQorIAkJcmV0dXJuIHV1aWQoYXJnYywgYXJndiwgcG9vbCk7CisgCisgCWFwcl9wb29s X2Rlc3Ryb3kocG9vbCk7CitkaWZmIC0tZ2l0IGEvdGVzdC90ZXN0LmMgYi90ZXN0L3Rlc3QuYwor aW5kZXggM2IzZGQ3ZS4uMWQyZWY3NCAxMDA3NTUKKy0tLSBhL3Rlc3QvdGVzdC5jCisrKysgYi90 ZXN0L3Rlc3QuYworQEAgLTg3LDE0ICs4NywxNCBAQCBzdGF0aWMgaW50IFRTVF9SQzsKKyAJCX0K KyAKKyAjZGVmaW5lIFRTVF9BU1NFUlRfU1RSKG1lc3NhZ2UsIHJlc3VsdCwgZXhwZWN0ZWQpIFwK Ky0JCVRTVF9SQyA9IChyZXN1bHQgJiYgZXhwZWN0ZWQpID8gKGFwcl9zdHJuYXRjbXAocmVzdWx0 LCBleHBlY3RlZCkgIT0gMCkgOiAoKHJlc3VsdCAhPSBOVUxMKSB8fCAoZXhwZWN0ZWQgIT0gTlVM TCkpOyBcCisrCQlUU1RfUkMgPSAocmVzdWx0ICYmIGV4cGVjdGVkKSA/IChfb2lkY19zdHJjbXAo cmVzdWx0LCBleHBlY3RlZCkgIT0gMCkgOiAoKHJlc3VsdCAhPSBOVUxMKSB8fCAoZXhwZWN0ZWQg IT0gTlVMTCkpOyBcCisgCQlpZiAoVFNUX1JDKSB7IFwKKyAJCQlzcHJpbnRmKFRTVF9FUlJfTVNH LCBUU1RfRk9STUFUKCIlcyIpLCBfX0ZVTkNUSU9OX18sIG1lc3NhZ2UsIHJlc3VsdCA/IHJlc3Vs dCA6ICIobnVsbCkiLCBleHBlY3RlZCA/IGV4cGVjdGVkIDogIihudWxsKSIpOyBcCisgCQkJcmV0 dXJuIFRTVF9FUlJfTVNHOyBcCisgCQl9CisgCisgI2RlZmluZSBUU1RfQVNTRVJUX1NUUk4obWVz c2FnZSwgcmVzdWx0LCBleHBlY3RlZCwgbGVuKSBcCistCQlUU1RfUkMgPSAocmVzdWx0ICYmIGV4 cGVjdGVkKSA/IChzdHJuY21wKHJlc3VsdCwgZXhwZWN0ZWQsIGxlbikgIT0gMCkgOiAoKHJlc3Vs dCAhPSBOVUxMKSB8fCAoZXhwZWN0ZWQgIT0gTlVMTCkpOyBcCisrCQlUU1RfUkMgPSAocmVzdWx0 ICYmIGV4cGVjdGVkKSA/IChfb2lkY19zdHJuY21wKHJlc3VsdCwgZXhwZWN0ZWQsIGxlbikgIT0g MCkgOiAoKHJlc3VsdCAhPSBOVUxMKSB8fCAoZXhwZWN0ZWQgIT0gTlVMTCkpOyBcCisgCQlpZiAo VFNUX1JDKSB7IFwKKyAJCQlzcHJpbnRmKFRTVF9FUlJfTVNHLCBUU1RfRk9STUFUKCIlcyIpLCBf X0ZVTkNUSU9OX18sIG1lc3NhZ2UsIHJlc3VsdCA/IHJlc3VsdCA6ICIobnVsbCkiLCBleHBlY3Rl ZCA/IGV4cGVjdGVkIDogIihudWxsKSIpOyBcCisgCQkJcmV0dXJuIFRTVF9FUlJfTVNHOyBcCmRp ZmYgLU5ydSBsaWJhcGFjaGUyLW1vZC1hdXRoLW9wZW5pZGMtMi40LjkuNC9kZWJpYW4vcGF0Y2hl cy9zZXJpZXMgbGliYXBhY2hlMi1tb2QtYXV0aC1vcGVuaWRjLTIuNC45LjQvZGViaWFuL3BhdGNo ZXMvc2VyaWVzCi0tLSBsaWJhcGFjaGUyLW1vZC1hdXRoLW9wZW5pZGMtMi40LjkuNC9kZWJpYW4v cGF0Y2hlcy9zZXJpZXMJMjAyNS0wNC0xNiAxMToxMzoyMi4wMDAwMDAwMDAgKzAyMDAKKysrIGxp YmFwYWNoZTItbW9kLWF1dGgtb3BlbmlkYy0yLjQuOS40L2RlYmlhbi9wYXRjaGVzL3Nlcmllcwky MDI1LTA1LTA3IDE0OjM0OjQ3LjAwMDAwMDAwMCArMDIwMApAQCAtMywzICszLDQgQEAKIDAwMDMt Rml4LUNWRS0yMDIzLTI4NjI1LXNlZ2ZhdWx0LURvUy13aGVuLU9JRENTdHJpcENvb2tpZS5wYXRj aAogMDAwNC1maXgtRG9TLUNWRS0yMDI0LTI0ODE0LnBhdGNoCiAwMDA1LUZpeC1DVkUtMjAyNS0z MTQ5Mi1wcm90ZWN0ZWQtY29udGVudC1sZWFrYWdlLXdoZW4tdXMucGF0Y2gKKzAwMDYtRml4LUNW RS0yMDI1LTM4OTEucGF0Y2gK


    --=-lsAtpWGmtImsVY/kXW2G--

    -----BEGIN PGP SIGNATURE-----

    iQJIBAABCgAyFiEE3wEiR7/GVQGv8oRFDCS4Qcfduq8FAmgbVgwUHG1vc2NobGFy QGRlYmlhbi5vcmcACgkQDCS4Qcfduq/jTg/+KpkfASdP4QWxb0n+uwdHQIsF/VA5 0xJVFITua6q+M1S86yWW117sFqUPl6Fb9WxPF7Eqk21jDQWl/SFxtr1+vH4ZsFN5 aMlgTuSI4NmHow4C5A7ZgJsPYht349rqsD6pGhzwdpqBq4JmNKXGMqeDxpv8jeVA 4puLIOsUCq2mlWfwvIlVCXAx6HxepBI4jn/m9vF0BwAt57kZALsTkumeAANQYW6M WwympdEBXeo+GEtat4lBWvZO90OuSGoLTThxrV/cmlmzndpD4BO7iM0HAWxYQqwe is/Hs9CQKIPnfsBRAFC938Ejfw52qMZxzl6ZxKIXd/CtodH6CZCsoIuG3hS7Zbzm bcl0ho4HViwvB+gBCYjcIZdSV/jeq/A+Z+tGdY7UyKEaNxzTCEs/pR+NsN8Rmh7S MKudW3iLoFFUzdHcfq+QP/cEnZMi4CObemX8djhWce4m6/q5YxXfwwRaHMzvh8So 4qPMClkIpM0TXy+hk31FEgft6zHOoDwBXbPYEKsujogBlwXQ4WhZQTXkOmKx1WOv B21EYRdOKwas05Ase03QVHwubpKy9BDFJYlRyot5HX4a6lJsIwJx3KcLDcVdKfCc Fl2eAU+tezHZw0bZUNYYedBGDhX/sOQIIHP9EgqsRNQiKts2MxoAbII3ROKcOjl8 FmRBDIEWFDZvZ+I=
    =UAXU
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)