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

    From Moritz Schlarb@21:1/5 to All on Wed May 7 14:40:01 2025
    --=-V49zqyKrX+3hDEYXQQ5k
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable

    Hi all,

    On Wed, 2025-05-07 at 10:59 +0000, Moritz Mühlenhoff wrote:

    Let's also fix that one via a DSA. Moritz, could you please prepare an update for bookworm-security?

    Please see the attached debdiff and give me a go ahead to upload.

    I tested this patch on our fleet of webservers running bookworm and verified it still works and I can't crash it anymore.

    Regards,
    Moritz

    --=-V49zqyKrX+3hDEYXQQ5k
    Content-Disposition: attachment;
    filename="libapache2-mod-auth-openidc_2.4.12.3-2+deb12u4.debdiff" Content-Type: text/x-patch;
    name="libapache2-mod-auth-openidc_2.4.12.3-2+deb12u4.debdiff";
    charset="UTF-8"
    Content-Transfer-Encoding: base64

    ZGlmZiAtTnJ1IGxpYmFwYWNoZTItbW9kLWF1dGgtb3BlbmlkYy0yLjQuMTIuMy9kZWJpYW4vY2hh bmdlbG9nIGxpYmFwYWNoZTItbW9kLWF1dGgtb3BlbmlkYy0yLjQuMTIuMy9kZWJpYW4vY2hhbmdl bG9nCi0tLSBsaWJhcGFjaGUyLW1vZC1hdXRoLW9wZW5pZGMtMi40LjEyLjMvZGViaWFuL2NoYW5n ZWxvZwkyMDI1LTA0LTE2IDEwOjU2OjU1LjAwMDAwMDAwMCArMDIwMAorKysgbGliYXBhY2hlMi1t b2QtYXV0aC1vcGVuaWRjLTIuNC4xMi4zL2RlYmlhbi9jaGFuZ2Vsb2cJMjAyNS0wNS0wNyAxNDoy MzozOS4wMDAwMDAwMDAgKzAyMDAKQEAgLTEsMyArMSw5IEBACitsaWJhcGFjaGUyLW1vZC1hdXRo LW9wZW5pZGMgKDIuNC4xMi4zLTIrZGViMTJ1NCkgYm9va3dvcm0tc2VjdXJpdHk7IHVyZ2VuY3k9 aGlnaAorCisgICogQWRkIHVwc3RyZWFtIHBhdGNoIHRvIGZpeCBDVkUtMjAyNS0zODkxCisKKyAt LSBNb3JpdHogU2NobGFyYiA8bW9zY2hsYXJAZGViaWFuLm9yZz4gIFdlZCwgMDcgTWF5IDIwMjUg MTQ6MjM6MzkgKzAyMDAKKwogbGliYXBhY2hlMi1tb2QtYXV0aC1vcGVuaWRjICgyLjQuMTIuMy0y K2RlYjEydTMpIGJvb2t3b3JtLXNlY3VyaXR5OyB1cmdlbmN5PWhpZ2gKIAogICAqIEZpeCBDVkUt MjAyNS0zMTQ5MgpkaWZmIC1OcnUgbGliYXBhY2hlMi1tb2QtYXV0aC1vcGVuaWRjLTIuNC4xMi4z L2RlYmlhbi9wYXRjaGVzLzAwMDUtRml4LUNWRS0yMDI1LTM4OTEucGF0Y2ggbGliYXBhY2hlMi1t b2QtYXV0aC1vcGVuaWRjLTIuNC4xMi4zL2RlYmlhbi9wYXRjaGVzLzAwMDUtRml4LUNWRS0yMDI1 LTM4OTEucGF0Y2gKLS0tIGxpYmFwYWNoZTItbW9kLWF1dGgtb3BlbmlkYy0yLjQuMTIuMy9kZWJp YW4vcGF0Y2hlcy8wMDA1LUZpeC1DVkUtMjAyNS0zODkxLnBhdGNoCTE5NzAtMDEtMDEgMDE6MDA6 MDAuMDAwMDAwMDAwICswMTAwCisrKyBsaWJhcGFjaGUyLW1vZC1hdXRoLW9wZW5pZGMtMi40LjEy LjMvZGViaWFuL3BhdGNoZXMvMDAwNS1GaXgtQ1ZFLTIwMjUtMzg5MS5wYXRjaAkyMDI1LTA1LTA3 IDE0OjIxOjU5LjAwMDAwMDAwMCArMDIwMApAQCAtMCwwICsxLDE3MjkgQEAKK0Zyb206IEhhbnMg WmFuZGJlbHQgPGhhbnMuemFuZGJlbHRAb3BlbmlkYy5jb20+CitEYXRlOiBUdWUsIDI4IE1hciAy MDIzIDIxOjA2OjI4ICswMjAwCitTdWJqZWN0OiBGaXggQ1ZFLTIwMjUtMzg5MQorCitEb1Mgd2hl biBzZW5kaW5nIGVtcHR5IENvbnRlbnQtVHlwZSBoZWFkZXIgd2l0aCBPSURDUHJlc2VydmVQb3N0 IE9uCitodHRwczovL2dpdGh1Yi5jb20vT3BlbklEQy9tb2RfYXV0aF9vcGVuaWRjL3NlY3VyaXR5 L2Fkdmlzb3JpZXMvR0hTQS14N2NmLTh3Z3YtNWo4NgorCitQYXRjaCBmcm9tIGh0dHBzOi8vZ2l0 aHViLmNvbS9PcGVuSURDL21vZF9hdXRoX29wZW5pZGMvY29tbWl0LzI5ZWE3OWRlYTk3Y2RhYjFi MGQxNTBhZjJjOWE1MGE0NDJlNzIxNmUKKworcmVwbGFjZSBhcHJfc3RybmF0Y21wL3N0cmNtcCB3 aXRoIF9vaWRjX3N0cmNtcAorCithbmQgcmVwbGFjZSBzdHJuY21wIHdpdGggX29pZGNfc3RybmNt cAorCitTaWduZWQtb2ZmLWJ5OiBIYW5zIFphbmRiZWx0IDxoYW5zLnphbmRiZWx0QG9wZW5pZGMu Y29tPgorCitPcmlnaW46IHVwc3RyZWFtLCBodHRwczovL2dpdGh1Yi5jb20vT3BlbklEQy9tb2Rf YXV0aF9vcGVuaWRjL2NvbW1pdC8yOWVhNzlkZWE5N2NkYWIxYjBkMTUwYWYyYzlhNTBhNDQyZTcy MTZlCitCdWctRGViaWFuOiBodHRwczovL2J1Z3MuZGViaWFuLm9yZy8xMTA0NDg0CistLS0KKyBz cmMvYXV0aHouYyAgICAgICAgICAgIHwgIDE3ICsrKystLS0tCisgc3JjL2NhY2hlL2ZpbGUuYyAg ICAgICB8ICAgMiArLQorIHNyYy9jYWNoZS9zaG0uYyAgICAgICAgfCAgIDQgKy0KKyBzcmMvY29u ZmlnLmMgICAgICAgICAgIHwgIDU4ICsrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KKyBzcmMvam9z ZS5jICAgICAgICAgICAgIHwgIDk4ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgc3JjL2pvc2UuaCAgICAgICAgICAgICB8ICAgMyArKworIHNyYy9tZXRhZGF0YS5j ICAgICAgICAgfCAgIDQgKy0KKyBzcmMvbW9kX2F1dGhfb3BlbmlkYy5jIHwgIDg0ICsrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCisgc3JjL29hdXRoLmMgICAgICAgICAgICB8ICAg NiArLS0KKyBzcmMvcGFyc2UuYyAgICAgICAgICAgIHwgMTE2ICsrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBzcmMvcHJvdG8uYyAgICAgICAgICAgIHwg IDU2ICsrKysrKysrKysrKy0tLS0tLS0tLS0tLQorIHNyYy9zZXNzaW9uLmMgICAgICAgICAgfCAg IDQgKy0KKyBzcmMvdXRpbC5jICAgICAgICAgICAgIHwgIDM4ICsrKysrKysrLS0tLS0tLS0KKyB0 ZXN0L3Rlc3QtY21kLmMgICAgICAgIHwgIDE4ICsrKystLS0tCisgdGVzdC90ZXN0LmMgICAgICAg ICAgICB8ICAgNCArLQorIDE1IGZpbGVzIGNoYW5nZWQsIDI1OCBpbnNlcnRpb25zKCspLCAyNTQg ZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvYXV0aHouYyBiL3NyYy9hdXRoei5jCitp bmRleCBiNWQ3MzVmLi40OWUwY2ZlIDEwMDY0NAorLS0tIGEvc3JjL2F1dGh6LmMKKysrKyBiL3Ny Yy9hdXRoei5jCitAQCAtNjAsNyArNjAsNyBAQCBzdGF0aWMgYXByX2J5dGVfdCBvaWRjX2F1dGh6 X21hdGNoX3ZhbHVlKHJlcXVlc3RfcmVjICpyLCBjb25zdCBjaGFyICpzcGVjX2MsCisgCS8qIHNl ZSBpZiBpdCBpcyBhIHN0cmluZyBhbmQgaXQgKGNhc2UtaW5zZW5zaXRpdmVseSkgbWF0Y2hlcyB0 aGUgUmVxdWlyZSdkIHZhbHVlICovCisgCWlmIChqc29uX2lzX3N0cmluZyh2YWwpKSB7CisgCist CQlpZiAoYXByX3N0cm5hdGNtcChqc29uX3N0cmluZ192YWx1ZSh2YWwpLCBzcGVjX2MpID09IDAp CisrCQlpZiAoX29pZGNfc3RyY21wKGpzb25fc3RyaW5nX3ZhbHVlKHZhbCksIHNwZWNfYykgPT0g MCkKKyAJCQlyZXR1cm4gVFJVRTsKKyAKKyAJCS8qIHNlZSBpZiBpdCBpcyBhIGludGVnZXIgYW5k IGl0IGVxdWFscyB0aGUgUmVxdWlyZSdkIHZhbHVlICovCitAQCAtNzIsNyArNzIsNyBAQCBzdGF0 aWMgYXByX2J5dGVfdCBvaWRjX2F1dGh6X21hdGNoX3ZhbHVlKHJlcXVlc3RfcmVjICpyLCBjb25z dCBjaGFyICpzcGVjX2MsCisgCQkvKiBzZWUgaWYgaXQgaXMgYSBib29sZWFuIGFuZCBpdCAoY2Fz ZS1pbnNlbnNpdGl2ZWx5KSBtYXRjaGVzIHRoZSBSZXF1aXJlJ2QgdmFsdWUgKi8KKyAJfSBlbHNl IGlmIChqc29uX2lzX2Jvb2xlYW4odmFsKSkgeworIAorLQkJaWYgKGFwcl9zdHJuYXRjbXAoanNv bl9pc190cnVlKHZhbCkgPyAidHJ1ZSIgOiAiZmFsc2UiLCBzcGVjX2MpID09IDApCisrCQlpZiAo X29pZGNfc3RyY21wKChqc29uX2lzX3RydWUodmFsKSA/ICJ0cnVlIiA6ICJmYWxzZSIpLCBzcGVj X2MpID09IDApCisgCQkJcmV0dXJuIFRSVUU7CisgCisgCQkvKiBpZiBpdCBpcyBhbiBhcnJheSwg d2UnbGwgd2FsayBpdCAqLworQEAgLTg5LDEzICs4OSwxNCBAQCBzdGF0aWMgYXByX2J5dGVfdCBv aWRjX2F1dGh6X21hdGNoX3ZhbHVlKHJlcXVlc3RfcmVjICpyLCBjb25zdCBjaGFyICpzcGVjX2Ms CisgCQkJCSAqIHdoaXRlc3BhY2UpLiBBdCB0aGlzIHBvaW50LCBzcGVjX2MgcG9pbnRzIHRvIHRo ZQorIAkJCQkgKiBOVUxMLXRlcm1pbmF0ZWQgdmFsdWUgcGF0dGVybi4KKyAJCQkJICovCistCQkJ CWlmIChhcHJfc3RybmF0Y21wKGpzb25fc3RyaW5nX3ZhbHVlKGVsZW0pLCBzcGVjX2MpID09IDAp CisrCQkJCWlmIChfb2lkY19zdHJjbXAoanNvbl9zdHJpbmdfdmFsdWUoZWxlbSksIHNwZWNfYykg PT0gMCkKKyAJCQkJCXJldHVybiBUUlVFOworIAorIAkJCX0gZWxzZSBpZiAoanNvbl9pc19ib29s ZWFuKGVsZW0pKSB7CisgCistCQkJCWlmIChhcHJfc3RybmF0Y21wKAorLQkJCQkJCWpzb25faXNf dHJ1ZShlbGVtKSA/ICJ0cnVlIiA6ICJmYWxzZSIsIHNwZWNfYykgPT0gMCkKKysJCQkJaWYgKF9v aWRjX3N0cmNtcCgoanNvbl9pc190cnVlKGVsZW0pID8gInRydWUiIDogImZhbHNlIiksCisrCQkJ CQkJc3BlY19jKQorKwkJCQkJCT09IDApCisgCQkJCQlyZXR1cm4gVFJVRTsKKyAKKyAJCQl9IGVs c2UgaWYgKGpzb25faXNfaW50ZWdlcihlbGVtKSkgeworQEAgLTEwNywxNCArMTA4LDE0IEBAIHN0 YXRpYyBhcHJfYnl0ZV90IG9pZGNfYXV0aHpfbWF0Y2hfdmFsdWUocmVxdWVzdF9yZWMgKnIsIGNv bnN0IGNoYXIgKnNwZWNfYywKKyAKKyAJCQkJb2lkY193YXJuKHIsCisgCQkJCQkJInVuaGFuZGxl ZCBpbi1hcnJheSBKU09OIG9iamVjdCB0eXBlIFslZF0gZm9yIGtleSBcIiVzXCIiLAorLQkJCQkJ CWVsZW0tPnR5cGUsIChjb25zdCBjaGFyICogKSBrZXkpOworKwkJCQkJCWVsZW0tPnR5cGUsIChj b25zdCBjaGFyKiApIGtleSk7CisgCQkJfQorIAorIAkJfQorIAorIAl9IGVsc2UgeworIAkJb2lk Y193YXJuKHIsICJ1bmhhbmRsZWQgSlNPTiBvYmplY3QgdHlwZSBbJWRdIGZvciBrZXkgXCIlc1wi IiwKKy0JCQkJdmFsLT50eXBlLCAoY29uc3QgY2hhciAqICkga2V5KTsKKysJCQkJdmFsLT50eXBl LCAoY29uc3QgY2hhciogKSBrZXkpOworIAl9CisgCisgCXJldHVybiBGQUxTRTsKK0BAIC0yNzYs NyArMjc3LDcgQEAgc3RhdGljIGFwcl9ieXRlX3QganFfcGFyc2UocmVxdWVzdF9yZWMgKnIsIGpx X3N0YXRlICpqcSwgc3RydWN0IGp2X3BhcnNlciAqcGFyc2UKKyAJCQlqdiBkdW1wZWQgPSBqdl9k dW1wX3N0cmluZyhyZXN1bHQsIDApOworIAkJCWNvbnN0IGNoYXIgKnN0ciA9IGp2X3N0cmluZ192 YWx1ZShkdW1wZWQpOworIAkJCW9pZGNfZGVidWcociwgImR1bXBlZDogJXMiLCBzdHIpOworLQkJ CXJ2ID0gKGFwcl9zdHJuYXRjbXAoc3RyLCAidHJ1ZSIpID09IDApOworKwkJCXJ2ID0gKF9vaWRj X3N0cmNtcChzdHIsICJ0cnVlIikgPT0gMCk7CisgCQl9CisgCisgCQlqdl9mcmVlKHJlc3VsdCk7 CitkaWZmIC0tZ2l0IGEvc3JjL2NhY2hlL2ZpbGUuYyBiL3NyYy9jYWNoZS9maWxlLmMKK2luZGV4 IDNiOTY1NGQuLjA3ZjhkNmUgMTAwNjQ0CistLS0gYS9zcmMvY2FjaGUvZmlsZS5jCisrKysgYi9z cmMvY2FjaGUvZmlsZS5jCitAQCAtMzEzLDcgKzMxMyw3IEBAIHN0YXRpYyBhcHJfc3RhdHVzX3Qg b2lkY19jYWNoZV9maWxlX2NsZWFuKHJlcXVlc3RfcmVjICpyKSB7CisgCQkJLyogc2tpcCBub24t Y2FjaGUgZW50cmllcywgY3EuIHRoZSAiLiIsICIuLiIgYW5kIHRoZSBtZXRhZGF0YSBmaWxlICov CisgCQkJaWYgKChmaS5uYW1lWzBdID09IE9JRENfQ0hBUl9ET1QpCisgCQkJCQl8fCAoc3Ryc3Ry KGZpLm5hbWUsIE9JRENfQ0FDSEVfRklMRV9QUkVGSVgpICE9IGZpLm5hbWUpCistCQkJCQl8fCAo KGFwcl9zdHJuYXRjbXAoZmkubmFtZSwKKysJCQkJCXx8ICgoX29pZGNfc3RyY21wKGZpLm5hbWUs CisgCQkJCQkJCW9pZGNfY2FjaGVfZmlsZV9uYW1lKHIsICJjYWNoZS1maWxlIiwKKyAJCQkJCQkJ CQlPSURDX0NBQ0hFX0ZJTEVfTEFTVF9DTEVBTkVEKSkgPT0gMCkpKQorIAkJCQljb250aW51ZTsK K2RpZmYgLS1naXQgYS9zcmMvY2FjaGUvc2htLmMgYi9zcmMvY2FjaGUvc2htLmMKK2luZGV4IGIz NDIyMzIuLjIxN2E1YjAgMTAwNjQ0CistLS0gYS9zcmMvY2FjaGUvc2htLmMKKysrKyBiL3NyYy9j YWNoZS9zaG0uYworQEAgLTE5MCw3ICsxOTAsNyBAQCBzdGF0aWMgYXByX2J5dGVfdCBvaWRjX2Nh Y2hlX3NobV9nZXQocmVxdWVzdF9yZWMgKnIsIGNvbnN0IGNoYXIgKnNlY3Rpb24sCisgCQkJaSsr LCBPSURDX0NBQ0hFX1NITV9BRERfT0ZGU0VUKHQsIGNmZy0+Y2FjaGVfc2htX2VudHJ5X3NpemVf bWF4KSkgeworIAkJY29uc3QgY2hhciAqdGFibGVrZXkgPSB0LT5zZWN0aW9uX2tleTsKKyAKKy0J CWlmICgodGFibGVrZXkgIT0gTlVMTCkgJiYgKGFwcl9zdHJuYXRjbXAodGFibGVrZXksIHNlY3Rp b25fa2V5KSA9PSAwKSkgeworKwkJaWYgKCh0YWJsZWtleSAhPSBOVUxMKSAmJiAoX29pZGNfc3Ry Y21wKHRhYmxla2V5LCBzZWN0aW9uX2tleSkgPT0gMCkpIHsKKyAKKyAJCQkvKiBmb3VuZCBhIG1h dGNoLCBjaGVjayBpZiBpdCBoYXMgZXhwaXJlZCAqLworIAkJCWlmICh0LT5leHBpcmVzID4gYXBy X3RpbWVfbm93KCkpIHsKK0BAIC0yNzYsNyArMjc2LDcgQEAgc3RhdGljIGFwcl9ieXRlX3Qgb2lk Y19jYWNoZV9zaG1fc2V0KHJlcXVlc3RfcmVjICpyLCBjb25zdCBjaGFyICpzZWN0aW9uLAorIAkJ fQorIAorIAkJLyogc2VlIGlmIGEgdmFsdWUgYWxyZWFkeSBleGlzdHMgZm9yIHRoaXMga2V5ICov CistCQlpZiAoYXByX3N0cm5hdGNtcCh0LT5zZWN0aW9uX2tleSwgc2VjdGlvbl9rZXkpID09IDAp IHsKKysJCWlmIChfb2lkY19zdHJjbXAodC0+c2VjdGlvbl9rZXksIHNlY3Rpb25fa2V5KSA9PSAw KSB7CisgCQkJbWF0Y2ggPSB0OworIAkJCWJyZWFrOworIAkJfQorZGlmZiAtLWdpdCBhL3NyYy9j b25maWcuYyBiL3NyYy9jb25maWcuYworaW5kZXggOThjN2RjYi4uZjM4NWI5YiAxMDA2NDQKKy0t LSBhL3NyYy9jb25maWcuYworKysrIGIvc3JjL2NvbmZpZy5jCitAQCAtNTQzLDcgKzU0Myw3IEBA IHN0YXRpYyBjb25zdCBjaGFyKiBvaWRjX3NldF9wYXNzcGhyYXNlX3Nsb3QoY21kX3Bhcm1zICpj bWQsIHZvaWQgKnN0cnVjdF9wdHIsCisgCWNoYXIgKiphcmd2ID0gTlVMTDsKKyAJY2hhciAqcmVz dWx0ID0gTlVMTDsKKyAJLyogQmFzZWQgb24gY29kZSBmcm9tIG1vZF9zZXNzaW9uX2NyeXB0by4g Ki8KKy0JaWYgKGFyZ2xlbiA+IDUgJiYgc3RybmNtcChhcmcsICJleGVjOiIsIDUpID09IDApIHsK KysJaWYgKGFyZ2xlbiA+IDUgJiYgX29pZGNfc3RybmNtcChhcmcsICJleGVjOiIsIDUpID09IDAp IHsKKyAJCWlmIChhcHJfdG9rZW5pemVfdG9fYXJndihhcmcgKyA1LCAmYXJndiwgY21kLT50ZW1w X3Bvb2wpICE9IEFQUl9TVUNDRVNTKSB7CisgCQkJcmV0dXJuIGFwcl9wc3RyY2F0KGNtZC0+cG9v bCwKKyAJCQkJCSJVbmFibGUgdG8gcGFyc2UgZXhlYyBhcmd1bWVudHMgZnJvbSAiLCBhcmcgKyA1 LCBOVUxMKTsKK0BAIC02ODgsMTEgKzY4OCwxMSBAQCBjb25zdCBjaGFyKiBvaWRjX3BhcnNlX3Br Y2VfdHlwZShhcHJfcG9vbF90ICpwb29sLCBjb25zdCBjaGFyICphcmcsCisgCWlmIChydiAhPSBO VUxMKQorIAkJcmV0dXJuIHJ2OworIAorLQlpZiAoYXByX3N0cm5hdGNtcChhcmcsIE9JRENfUEtD RV9NRVRIT0RfUExBSU4pID09IDApIHsKKysJaWYgKF9vaWRjX3N0cmNtcChhcmcsIE9JRENfUEtD RV9NRVRIT0RfUExBSU4pID09IDApIHsKKyAJCSp0eXBlID0gJm9pZGNfcGtjZV9wbGFpbjsKKy0J fSBlbHNlIGlmIChhcHJfc3RybmF0Y21wKGFyZywgT0lEQ19QS0NFX01FVEhPRF9TMjU2KSA9PSAw KSB7CisrCX0gZWxzZSBpZiAoX29pZGNfc3RyY21wKGFyZywgT0lEQ19QS0NFX01FVEhPRF9TMjU2 KSA9PSAwKSB7CisgCQkqdHlwZSA9ICZvaWRjX3BrY2VfczI1NjsKKy0JfSBlbHNlIGlmIChhcHJf c3RybmF0Y21wKGFyZywgT0lEQ19QS0NFX01FVEhPRF9SRUZFUlJFRF9UQikgPT0gMCkgeworKwl9 IGVsc2UgaWYgKF9vaWRjX3N0cmNtcChhcmcsIE9JRENfUEtDRV9NRVRIT0RfUkVGRVJSRURfVEIp ID09IDApIHsKKyAJCSp0eXBlID0gJm9pZGNfcGtjZV9yZWZlcnJlZF90YjsKKyAJfQorIAorQEAg LTEwNjEsOSArMTA2MSw5IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBvaWRjX3NldF9wYXNzX2NsYWlt c19hcyhjbWRfcGFybXMgKmNtZCwgdm9pZCAqbSwKKyAJCQkmZGlyX2NmZy0+cGFzc19pbmZvX2lu X2hlYWRlcnMsICZkaXJfY2ZnLT5wYXNzX2luZm9faW5fZW52X3ZhcnMpOworIAlpZiAocnYgPT0g TlVMTCkgeworIAkJaWYgKGFyZzIgIT0gTlVMTCkgeworLQkJCWlmIChhcHJfc3RybmF0Y21wKGFy ZzIsICJiYXNlNjR1cmwiKSA9PSAwKSB7CisrCQkJaWYgKF9vaWRjX3N0cmNtcChhcmcyLCAiYmFz ZTY0dXJsIikgPT0gMCkgeworIAkJCQlkaXJfY2ZnLT5wYXNzX2luZm9fYXMgPSBPSURDX1BBU1Nf QVBQX0lORk9fQVNfQkFTRTY0VVJMOworLQkJCX0gZWxzZSBpZiAoYXByX3N0cm5hdGNtcChhcmcy LCAibGF0aW4xIikgPT0gMCkgeworKwkJCX0gZWxzZSBpZiAoX29pZGNfc3RyY21wKGFyZzIsICJs YXRpbjEiKSA9PSAwKSB7CisgCQkJCQlkaXJfY2ZnLT5wYXNzX2luZm9fYXMgPSBPSURDX1BBU1Nf QVBQX0lORk9fQVNfTEFUSU4xOworIAkJCX0gZWxzZSB7CisgCQkJCXJ2ID0gYXByX3BzdHJjYXQo Y21kLT50ZW1wX3Bvb2wsICJ1bmtub3duIGVuY29kaW5nIG9wdGlvbiBcIiIsCitAQCAtMTM5Myw3 ICsxMzkzLDcgQEAgY2hhciogb2lkY19jZmdfZGlyX3N0YXRlX2Nvb2tpZV9wcmVmaXgocmVxdWVz dF9yZWMgKnIpIHsKKyAJCQkmYXV0aF9vcGVuaWRjX21vZHVsZSk7CisgCWlmICgoZGlyX2NmZy0+ c3RhdGVfY29va2llX3ByZWZpeCA9PSBOVUxMKQorIAkJCXx8ICgoZGlyX2NmZy0+c3RhdGVfY29v a2llX3ByZWZpeCAhPSBOVUxMKQorLQkJCQkJJiYgKGFwcl9zdHJuYXRjbXAoZGlyX2NmZy0+c3Rh dGVfY29va2llX3ByZWZpeCwKKysJCQkJCSYmIChfb2lkY19zdHJjbXAoZGlyX2NmZy0+c3RhdGVf Y29va2llX3ByZWZpeCwKKyAJCQkJCQkJT0lEQ19DT05GSUdfU1RSSU5HX1VOU0VUKSA9PSAwKSkp CisgCQlyZXR1cm4gT0lEQ19ERUZBVUxUX1NUQVRFX0NPT0tJRV9QUkVGSVg7CisgCXJldHVybiBk aXJfY2ZnLT5zdGF0ZV9jb29raWVfcHJlZml4OworQEAgLTE2OTIsNyArMTY5Miw3IEBAIHZvaWQq IG9pZGNfbWVyZ2Vfc2VydmVyX2NvbmZpZyhhcHJfcG9vbF90ICpwb29sLCB2b2lkICpCQVNFLCB2 b2lkICpBREQpIHsKKyAJCQkJCWFkZC0+cHJvdmlkZXIudmFsaWRhdGVfaXNzdWVyIDoKKyAJCQkJ CWJhc2UtPnByb3ZpZGVyLnZhbGlkYXRlX2lzc3VlcjsKKyAJYy0+cHJvdmlkZXIuY2xpZW50X25h bWUgPQorLQkJCWFwcl9zdHJuYXRjbXAoYWRkLT5wcm92aWRlci5jbGllbnRfbmFtZSwgT0lEQ19E RUZBVUxUX0NMSUVOVF9OQU1FKQorKwkJCV9vaWRjX3N0cmNtcChhZGQtPnByb3ZpZGVyLmNsaWVu dF9uYW1lLCBPSURDX0RFRkFVTFRfQ0xJRU5UX05BTUUpCisgCQkJIT0gMCA/CisgCQkJCQlhZGQt PnByb3ZpZGVyLmNsaWVudF9uYW1lIDogYmFzZS0+cHJvdmlkZXIuY2xpZW50X25hbWU7CisgCWMt PnByb3ZpZGVyLmNsaWVudF9jb250YWN0ID0KK0BAIC0xNzA0LDEwICsxNzA0LDEwIEBAIHZvaWQq IG9pZGNfbWVyZ2Vfc2VydmVyX2NvbmZpZyhhcHJfcG9vbF90ICpwb29sLCB2b2lkICpCQVNFLCB2 b2lkICpBREQpIHsKKyAJCQkJCWFkZC0+cHJvdmlkZXIucmVnaXN0cmF0aW9uX3Rva2VuIDoKKyAJ CQkJCWJhc2UtPnByb3ZpZGVyLnJlZ2lzdHJhdGlvbl90b2tlbjsKKyAJYy0+cHJvdmlkZXIuc2Nv cGUgPQorLQkJCWFwcl9zdHJuYXRjbXAoYWRkLT5wcm92aWRlci5zY29wZSwgT0lEQ19ERUZBVUxU X1NDT1BFKSAhPSAwID8KKysJCQlfb2lkY19zdHJjbXAoYWRkLT5wcm92aWRlci5zY29wZSwgT0lE Q19ERUZBVUxUX1NDT1BFKSAhPSAwID8KKyAJCQkJCWFkZC0+cHJvdmlkZXIuc2NvcGUgOiBiYXNl LT5wcm92aWRlci5zY29wZTsKKyAJYy0+cHJvdmlkZXIucmVzcG9uc2VfdHlwZSA9CistCQkJYXBy X3N0cm5hdGNtcChhZGQtPnByb3ZpZGVyLnJlc3BvbnNlX3R5cGUsCisrCQkJX29pZGNfc3RyY21w KGFkZC0+cHJvdmlkZXIucmVzcG9uc2VfdHlwZSwKKyAJCQkJCU9JRENfREVGQVVMVF9SRVNQT05T RV9UWVBFKSAhPSAwID8KKyAJCQkJCQkJYWRkLT5wcm92aWRlci5yZXNwb25zZV90eXBlIDogYmFz ZS0+cHJvdmlkZXIucmVzcG9uc2VfdHlwZTsKKyAJYy0+cHJvdmlkZXIucmVzcG9uc2VfbW9kZSA9 CitAQCAtMTgxMSw3ICsxODExLDcgQEAgdm9pZCogb2lkY19tZXJnZV9zZXJ2ZXJfY29uZmlnKGFw cl9wb29sX3QgKnBvb2wsIHZvaWQgKkJBU0UsIHZvaWQgKkFERCkgeworIAkJCQkJYWRkLT5vYXV0 aC5pbnRyb3NwZWN0aW9uX2VuZHBvaW50X3VybCA6CisgCQkJCQliYXNlLT5vYXV0aC5pbnRyb3Nw ZWN0aW9uX2VuZHBvaW50X3VybDsKKyAJYy0+b2F1dGguaW50cm9zcGVjdGlvbl9lbmRwb2ludF9t ZXRob2QgPQorLQkJCWFwcl9zdHJuYXRjbXAoYWRkLT5vYXV0aC5pbnRyb3NwZWN0aW9uX2VuZHBv aW50X21ldGhvZCwKKysJCQlfb2lkY19zdHJjbXAoYWRkLT5vYXV0aC5pbnRyb3NwZWN0aW9uX2Vu ZHBvaW50X21ldGhvZCwKKyAJCQkJCU9JRENfREVGQVVMVF9PQVVUSF9FTkRQT0lOVF9NRVRIT0Qp ICE9IDAgPworIAkJCQkJCQlhZGQtPm9hdXRoLmludHJvc3BlY3Rpb25fZW5kcG9pbnRfbWV0aG9k IDoKKyAJCQkJCQkJYmFzZS0+b2F1dGguaW50cm9zcGVjdGlvbl9lbmRwb2ludF9tZXRob2Q7CitA QCAtMTgyOCwxOCArMTgyOCwxOCBAQCB2b2lkKiBvaWRjX21lcmdlX3NlcnZlcl9jb25maWcoYXBy X3Bvb2xfdCAqcG9vbCwgdm9pZCAqQkFTRSwgdm9pZCAqQUREKSB7CisgCQkJCQlhZGQtPm9hdXRo LmludHJvc3BlY3Rpb25fY2xpZW50X2F1dGhfYmVhcmVyX3Rva2VuIDoKKyAJCQkJCWJhc2UtPm9h dXRoLmludHJvc3BlY3Rpb25fY2xpZW50X2F1dGhfYmVhcmVyX3Rva2VuOworIAljLT5vYXV0aC5p bnRyb3NwZWN0aW9uX3Rva2VuX3BhcmFtX25hbWUgPQorLQkJCWFwcl9zdHJuYXRjbXAoYWRkLT5v YXV0aC5pbnRyb3NwZWN0aW9uX3Rva2VuX3BhcmFtX25hbWUsCisrCQkJX29pZGNfc3RyY21wKGFk ZC0+b2F1dGguaW50cm9zcGVjdGlvbl90b2tlbl9wYXJhbV9uYW1lLAorIAkJCQkJT0lEQ19ERUZB VUxUX09BVVRIX1RPS0VOX1BBUkFNX05BTUUpICE9IDAgPworIAkJCQkJCQlhZGQtPm9hdXRoLmlu dHJvc3BlY3Rpb25fdG9rZW5fcGFyYW1fbmFtZSA6CisgCQkJCQkJCWJhc2UtPm9hdXRoLmludHJv c3BlY3Rpb25fdG9rZW5fcGFyYW1fbmFtZTsKKyAKKyAJYy0+b2F1dGguaW50cm9zcGVjdGlvbl90 b2tlbl9leHBpcnlfY2xhaW1fbmFtZSA9CistCQkJYXByX3N0cm5hdGNtcChhZGQtPm9hdXRoLmlu dHJvc3BlY3Rpb25fdG9rZW5fZXhwaXJ5X2NsYWltX25hbWUsCisrCQkJX29pZGNfc3RyY21wKGFk ZC0+b2F1dGguaW50cm9zcGVjdGlvbl90b2tlbl9leHBpcnlfY2xhaW1fbmFtZSwKKyAJCQkJCU9J RENfREVGQVVMVF9PQVVUSF9FWFBJUllfQ0xBSU1fTkFNRSkgIT0gMCA/CisgCQkJCQkJCWFkZC0+ b2F1dGguaW50cm9zcGVjdGlvbl90b2tlbl9leHBpcnlfY2xhaW1fbmFtZSA6CisgCQkJCQkJCWJh c2UtPm9hdXRoLmludHJvc3BlY3Rpb25fdG9rZW5fZXhwaXJ5X2NsYWltX25hbWU7CisgCWMtPm9h dXRoLmludHJvc3BlY3Rpb25fdG9rZW5fZXhwaXJ5X2NsYWltX2Zvcm1hdCA9CistCQkJYXByX3N0 cm5hdGNtcChhZGQtPm9hdXRoLmludHJvc3BlY3Rpb25fdG9rZW5fZXhwaXJ5X2NsYWltX2Zvcm1h dCwKKysJCQlfb2lkY19zdHJjbXAoYWRkLT5vYXV0aC5pbnRyb3NwZWN0aW9uX3Rva2VuX2V4cGly eV9jbGFpbV9mb3JtYXQsCisgCQkJCQlPSURDX0RFRkFVTFRfT0FVVEhfRVhQSVJZX0NMQUlNX0ZP Uk1BVCkgIT0gMCA/CisgCQkJCQkJCWFkZC0+b2F1dGguaW50cm9zcGVjdGlvbl90b2tlbl9leHBp cnlfY2xhaW1fZm9ybWF0IDoKKyAJCQkJCQkJYmFzZS0+b2F1dGguaW50cm9zcGVjdGlvbl90b2tl bl9leHBpcnlfY2xhaW1fZm9ybWF0OworQEAgLTE4NTAsNyArMTg1MCw3IEBAIHZvaWQqIG9pZGNf bWVyZ2Vfc2VydmVyX2NvbmZpZyhhcHJfcG9vbF90ICpwb29sLCB2b2lkICpCQVNFLCB2b2lkICpB REQpIHsKKyAJCQkJCWJhc2UtPm9hdXRoLmludHJvc3BlY3Rpb25fdG9rZW5fZXhwaXJ5X2NsYWlt X3JlcXVpcmVkOworIAorIAljLT5vYXV0aC5yZW1vdGVfdXNlcl9jbGFpbS5jbGFpbV9uYW1lID0K Ky0JCQlhcHJfc3RybmF0Y21wKGFkZC0+b2F1dGgucmVtb3RlX3VzZXJfY2xhaW0uY2xhaW1fbmFt ZSwKKysJCQlfb2lkY19zdHJjbXAoYWRkLT5vYXV0aC5yZW1vdGVfdXNlcl9jbGFpbS5jbGFpbV9u YW1lLAorIAkJCQkJT0lEQ19ERUZBVUxUX09BVVRIX0NMQUlNX1JFTU9URV9VU0VSKSAhPSAwID8K KyAJCQkJCQkJYWRkLT5vYXV0aC5yZW1vdGVfdXNlcl9jbGFpbS5jbGFpbV9uYW1lIDoKKyAJCQkJ CQkJYmFzZS0+b2F1dGgucmVtb3RlX3VzZXJfY2xhaW0uY2xhaW1fbmFtZTsKK0BAIC0xOTk5LDEy ICsxOTk5LDEyIEBAIHZvaWQqIG9pZGNfbWVyZ2Vfc2VydmVyX2NvbmZpZyhhcHJfcG9vbF90ICpw b29sLCB2b2lkICpCQVNFLCB2b2lkICpBREQpIHsKKyAJCQlhZGQtPmNvb2tpZV9kb21haW4gIT0g TlVMTCA/CisgCQkJCQlhZGQtPmNvb2tpZV9kb21haW4gOiBiYXNlLT5jb29raWVfZG9tYWluOwor IAljLT5jbGFpbV9kZWxpbWl0ZXIgPQorLQkJCWFwcl9zdHJuYXRjbXAoYWRkLT5jbGFpbV9kZWxp bWl0ZXIsIE9JRENfREVGQVVMVF9DTEFJTV9ERUxJTUlURVIpCisrCQkJX29pZGNfc3RyY21wKGFk ZC0+Y2xhaW1fZGVsaW1pdGVyLCBPSURDX0RFRkFVTFRfQ0xBSU1fREVMSU1JVEVSKQorIAkJCSE9 IDAgPyBhZGQtPmNsYWltX2RlbGltaXRlciA6IGJhc2UtPmNsYWltX2RlbGltaXRlcjsKKyAJYy0+ Y2xhaW1fcHJlZml4ID0KKyAJCQlhZGQtPmNsYWltX3ByZWZpeCAhPSBOVUxMID8gYWRkLT5jbGFp bV9wcmVmaXggOiBiYXNlLT5jbGFpbV9wcmVmaXg7CisgCWMtPnJlbW90ZV91c2VyX2NsYWltLmNs YWltX25hbWUgPQorLQkJCWFwcl9zdHJuYXRjbXAoYWRkLT5yZW1vdGVfdXNlcl9jbGFpbS5jbGFp bV9uYW1lLAorKwkJCV9vaWRjX3N0cmNtcChhZGQtPnJlbW90ZV91c2VyX2NsYWltLmNsYWltX25h bWUsCisgCQkJCQlPSURDX0RFRkFVTFRfQ0xBSU1fUkVNT1RFX1VTRVIpICE9IDAgPworIAkJCQkJ CQlhZGQtPnJlbW90ZV91c2VyX2NsYWltLmNsYWltX25hbWUgOgorIAkJCQkJCQliYXNlLT5yZW1v dGVfdXNlcl9jbGFpbS5jbGFpbV9uYW1lOworQEAgLTIxNTgsNyArMjE1OCw3IEBAIHZvaWQqIG9p ZGNfY3JlYXRlX2Rpcl9jb25maWcoYXByX3Bvb2xfdCAqcG9vbCwgY2hhciAqcGF0aCkgeworIGNo YXIqIG9pZGNfY2ZnX2Rpcl9kaXNjb3Zlcl91cmwocmVxdWVzdF9yZWMgKnIpIHsKKyAJb2lkY19k aXJfY2ZnICpkaXJfY2ZnID0gYXBfZ2V0X21vZHVsZV9jb25maWcoci0+cGVyX2Rpcl9jb25maWcs CisgCQkJJmF1dGhfb3BlbmlkY19tb2R1bGUpOworLQlpZiAoKGRpcl9jZmctPmRpc2NvdmVyX3Vy bCAhPSBOVUxMKSAmJiAoYXByX3N0cm5hdGNtcChkaXJfY2ZnLT5kaXNjb3Zlcl91cmwsCisrCWlm ICgoZGlyX2NmZy0+ZGlzY292ZXJfdXJsICE9IE5VTEwpICYmIChfb2lkY19zdHJjbXAoZGlyX2Nm Zy0+ZGlzY292ZXJfdXJsLAorIAkJCU9JRENfQ09ORklHX1NUUklOR19VTlNFVCkgPT0gMCkpCisg CQlyZXR1cm4gTlVMTDsKKyAJcmV0dXJuIGRpcl9jZmctPmRpc2NvdmVyX3VybDsKK0BAIC0yMTY5 LDcgKzIxNjksNyBAQCBjaGFyKiBvaWRjX2NmZ19kaXJfY29va2llKHJlcXVlc3RfcmVjICpyKSB7 CisgCQkJJmF1dGhfb3BlbmlkY19tb2R1bGUpOworIAlpZiAoKGRpcl9jZmctPmNvb2tpZSA9PSBO VUxMKQorIAkJCXx8ICgoZGlyX2NmZy0+Y29va2llICE9IE5VTEwpCistCQkJCQkmJiAoYXByX3N0 cm5hdGNtcChkaXJfY2ZnLT5jb29raWUsIE9JRENfQ09ORklHX1NUUklOR19VTlNFVCkKKysJCQkJ CSYmIChfb2lkY19zdHJjbXAoZGlyX2NmZy0+Y29va2llLCBPSURDX0NPTkZJR19TVFJJTkdfVU5T RVQpCisgCQkJCQkJCT09IDApKSkKKyAJCXJldHVybiBPSURDX0RFRkFVTFRfQ09PS0lFOworIAly ZXR1cm4gZGlyX2NmZy0+Y29va2llOworQEAgLTIxODAsNyArMjE4MCw3IEBAIGNoYXIqIG9pZGNf Y2ZnX2Rpcl9jb29raWVfcGF0aChyZXF1ZXN0X3JlYyAqcikgeworIAkJCSZhdXRoX29wZW5pZGNf bW9kdWxlKTsKKyAJaWYgKChkaXJfY2ZnLT5jb29raWVfcGF0aCA9PSBOVUxMKQorIAkJCXx8ICgo ZGlyX2NmZy0+Y29va2llX3BhdGggIT0gTlVMTCkKKy0JCQkJCSYmIChhcHJfc3RybmF0Y21wKGRp cl9jZmctPmNvb2tpZV9wYXRoLAorKwkJCQkJJiYgKF9vaWRjX3N0cmNtcChkaXJfY2ZnLT5jb29r aWVfcGF0aCwKKyAJCQkJCQkJT0lEQ19DT05GSUdfU1RSSU5HX1VOU0VUKSA9PSAwKSkpCisgCQly ZXR1cm4gT0lEQ19ERUZBVUxUX0NPT0tJRV9QQVRIOworIAlyZXR1cm4gZGlyX2NmZy0+Y29va2ll X3BhdGg7CitAQCAtMjE5MSw3ICsyMTkxLDcgQEAgY2hhciogb2lkY19jZmdfZGlyX2F1dGhuX2hl YWRlcihyZXF1ZXN0X3JlYyAqcikgeworIAkJCSZhdXRoX29wZW5pZGNfbW9kdWxlKTsKKyAJaWYg KChkaXJfY2ZnLT5hdXRobl9oZWFkZXIgPT0gTlVMTCkKKyAJCQl8fCAoKGRpcl9jZmctPmF1dGhu X2hlYWRlciAhPSBOVUxMKQorLQkJCQkJJiYgKGFwcl9zdHJuYXRjbXAoZGlyX2NmZy0+YXV0aG5f aGVhZGVyLAorKwkJCQkJJiYgKF9vaWRjX3N0cmNtcChkaXJfY2ZnLT5hdXRobl9oZWFkZXIsCisg CQkJCQkJCU9JRENfQ09ORklHX1NUUklOR19VTlNFVCkgPT0gMCkpKQorIAkJcmV0dXJuIE9JRENf REVGQVVMVF9BVVRITl9IRUFERVI7CisgCXJldHVybiBkaXJfY2ZnLT5hdXRobl9oZWFkZXI7CitA QCAtMjM2MiwxNiArMjM2MiwxNiBAQCB2b2lkKiBvaWRjX21lcmdlX2Rpcl9jb25maWcoYXByX3Bv b2xfdCAqcG9vbCwgdm9pZCAqQkFTRSwgdm9pZCAqQUREKSB7CisgCW9pZGNfZGlyX2NmZyAqYmFz ZSA9IEJBU0U7CisgCW9pZGNfZGlyX2NmZyAqYWRkID0gQUREOworIAljLT5kaXNjb3Zlcl91cmwg PQorLQkJCShhcHJfc3RybmF0Y21wKGFkZC0+ZGlzY292ZXJfdXJsLCBPSURDX0NPTkZJR19TVFJJ TkdfVU5TRVQpICE9IDApID8KKysJCQkoX29pZGNfc3RyY21wKGFkZC0+ZGlzY292ZXJfdXJsLCBP SURDX0NPTkZJR19TVFJJTkdfVU5TRVQpICE9IDApID8KKyAJCQkJCWFkZC0+ZGlzY292ZXJfdXJs IDogYmFzZS0+ZGlzY292ZXJfdXJsOworIAljLT5jb29raWUgPQorLQkJCShhcHJfc3RybmF0Y21w KGFkZC0+Y29va2llLCBPSURDX0NPTkZJR19TVFJJTkdfVU5TRVQpICE9IDApID8KKysJCQkoX29p ZGNfc3RyY21wKGFkZC0+Y29va2llLCBPSURDX0NPTkZJR19TVFJJTkdfVU5TRVQpICE9IDApID8K KyAJCQkJCWFkZC0+Y29va2llIDogYmFzZS0+Y29va2llOworIAljLT5jb29raWVfcGF0aCA9Cist CQkJKGFwcl9zdHJuYXRjbXAoYWRkLT5jb29raWVfcGF0aCwgT0lEQ19DT05GSUdfU1RSSU5HX1VO U0VUKSAhPSAwKSA/CisrCQkJKF9vaWRjX3N0cmNtcChhZGQtPmNvb2tpZV9wYXRoLCBPSURDX0NP TkZJR19TVFJJTkdfVU5TRVQpICE9IDApID8KKyAJCQkJCWFkZC0+Y29va2llX3BhdGggOiBiYXNl LT5jb29raWVfcGF0aDsKKyAJYy0+YXV0aG5faGVhZGVyID0KKy0JCQkoYXByX3N0cm5hdGNtcChh ZGQtPmF1dGhuX2hlYWRlciwgT0lEQ19DT05GSUdfU1RSSU5HX1VOU0VUKSAhPSAwKSA/CisrCQkJ KF9vaWRjX3N0cmNtcChhZGQtPmF1dGhuX2hlYWRlciwgT0lEQ19DT05GSUdfU1RSSU5HX1VOU0VU KSAhPSAwKSA/CisgCQkJCQlhZGQtPmF1dGhuX2hlYWRlciA6IGJhc2UtPmF1dGhuX2hlYWRlcjsK KyAJYy0+dW5hdXRoX2FjdGlvbiA9CisgCQkJYWRkLT51bmF1dGhfYWN0aW9uICE9IE9JRENfQ09O RklHX1BPU19JTlRfVU5TRVQgPworQEAgLTI0NDYsNyArMjQ0Niw3IEBAIHZvaWQqIG9pZGNfbWVy Z2VfZGlyX2NvbmZpZyhhcHJfcG9vbF90ICpwb29sLCB2b2lkICpCQVNFLCB2b2lkICpBREQpIHsK KyAJCQkJCWJhc2UtPmxvZ291dF9vbl9lcnJvcl9yZWZyZXNoOworIAorIAljLT5zdGF0ZV9jb29r aWVfcHJlZml4ID0KKy0JCQkoYXByX3N0cm5hdGNtcChhZGQtPnN0YXRlX2Nvb2tpZV9wcmVmaXgs IE9JRENfQ09ORklHX1NUUklOR19VTlNFVCkKKysJCQkoX29pZGNfc3RyY21wKGFkZC0+c3RhdGVf Y29va2llX3ByZWZpeCwgT0lEQ19DT05GSUdfU1RSSU5HX1VOU0VUKQorIAkJCQkJIT0gMCkgPwor IAkJCQkJCQlhZGQtPnN0YXRlX2Nvb2tpZV9wcmVmaXggOiBiYXNlLT5zdGF0ZV9jb29raWVfcHJl Zml4OworIAorQEAgLTI0OTMsNyArMjQ5Myw3IEBAIHN0YXRpYyBpbnQgb2lkY19jaGVja19jb25m aWdfb3BlbmlkX29wZW5pZGMoc2VydmVyX3JlYyAqcywgb2lkY19jZmcgKmMpIHsKKyAJCX0gZWxz ZSB7CisgCQkJYXByX3VyaV9wYXJzZShzLT5wcm9jZXNzLT5wY29uZiwgYy0+cHJvdmlkZXIubWV0 YWRhdGFfdXJsLCAmcl91cmkpOworIAkJCWlmICgocl91cmkuc2NoZW1lID09IE5VTEwpCistCQkJ CQl8fCAoYXByX3N0cm5hdGNtcChyX3VyaS5zY2hlbWUsICJodHRwcyIpICE9IDApKSB7CisrCQkJ CQl8fCAoX29pZGNfc3RyY21wKHJfdXJpLnNjaGVtZSwgImh0dHBzIikgIT0gMCkpIHsKKyAJCQkJ b2lkY19zd2FybihzLAorIAkJCQkJCSJ0aGUgVVJMIHNjaGVtZSAoJXMpIG9mIHRoZSBjb25maWd1 cmVkICIgT0lEQ1Byb3ZpZGVyTWV0YWRhdGFVUkwgIiBTSE9VTEQgYmUgXCJodHRwc1wiIGZvciBz ZWN1cml0eSByZWFzb25zISIsCisgCQkJCQkJcl91cmkuc2NoZW1lKTsKK0BAIC0yNTExLDcgKzI1 MTEsNyBAQCBzdGF0aWMgaW50IG9pZGNfY2hlY2tfY29uZmlnX29wZW5pZF9vcGVuaWRjKHNlcnZl cl9yZWMgKnMsIG9pZGNfY2ZnICpjKSB7CisgCisgCWFwcl91cmlfcGFyc2Uocy0+cHJvY2Vzcy0+ cGNvbmYsIGMtPnJlZGlyZWN0X3VyaSwgJnJfdXJpKTsKKyAJaWYgKCFyZWRpcmVjdF91cmlfaXNf cmVsYXRpdmUpIHsKKy0JCWlmIChhcHJfc3RybmF0Y21wKHJfdXJpLnNjaGVtZSwgImh0dHBzIikg IT0gMCkgeworKwkJaWYgKF9vaWRjX3N0cmNtcChyX3VyaS5zY2hlbWUsICJodHRwcyIpICE9IDAp IHsKKyAJCQlvaWRjX3N3YXJuKHMsCisgCQkJCQkidGhlIFVSTCBzY2hlbWUgKCVzKSBvZiB0aGUg Y29uZmlndXJlZCAiIE9JRENSZWRpcmVjdFVSSSAiIFNIT1VMRCBiZSBcImh0dHBzXCIgZm9yIHNl Y3VyaXR5IHJlYXNvbnMgKG1vcmVvdmVyOiBzb21lIFByb3ZpZGVycyBtYXkgcmVqZWN0IG5vbi1I VFRQUyBVUkxzKSIsCisgCQkJCQlyX3VyaS5zY2hlbWUpOworQEAgLTI1NDcsNyArMjU0Nyw3IEBA IHN0YXRpYyBpbnQgb2lkY19jaGVja19jb25maWdfb2F1dGgoc2VydmVyX3JlYyAqcywgb2lkY19j ZmcgKmMpIHsKKyAJaWYgKGMtPm9hdXRoLm1ldGFkYXRhX3VybCAhPSBOVUxMKSB7CisgCQlhcHJf dXJpX3BhcnNlKHMtPnByb2Nlc3MtPnBjb25mLCBjLT5vYXV0aC5tZXRhZGF0YV91cmwsICZyX3Vy aSk7CisgCQlpZiAoKHJfdXJpLnNjaGVtZSA9PSBOVUxMKQorLQkJCQl8fCAoYXByX3N0cm5hdGNt cChyX3VyaS5zY2hlbWUsICJodHRwcyIpICE9IDApKSB7CisrCQkJCXx8IChfb2lkY19zdHJjbXAo cl91cmkuc2NoZW1lLCAiaHR0cHMiKSAhPSAwKSkgeworIAkJCW9pZGNfc3dhcm4ocywKKyAJCQkJ CSJ0aGUgVVJMIHNjaGVtZSAoJXMpIG9mIHRoZSBjb25maWd1cmVkICIgT0lEQ09BdXRoU2VydmVy TWV0YWRhdGFVUkwgIiBTSE9VTEQgYmUgXCJodHRwc1wiIGZvciBzZWN1cml0eSByZWFzb25zISIs CisgCQkJCQlyX3VyaS5zY2hlbWUpOworZGlmZiAtLWdpdCBhL3NyYy9qb3NlLmMgYi9zcmMvam9z ZS5jCitpbmRleCBjMjAwYTQwLi44ZjA2NWFmIDEwMDY0NAorLS0tIGEvc3JjL2pvc2UuYworKysr IGIvc3JjL2pvc2UuYworQEAgLTE3OSw3ICsxNzksNyBAQCBjaGFyKiBvaWRjX2p3dF9zZXJpYWxp emUoYXByX3Bvb2xfdCAqcG9vbCwgb2lkY19qd3RfdCAqand0LAorIAkJb2lkY19qb3NlX2Vycm9y X3QgKmVycikgeworIAljam9zZV9lcnIgY2pvc2VfZXJyOworIAljb25zdCBjaGFyICpjc2VyID0g TlVMTDsKKy0JaWYgKHN0cmNtcChqd3QtPmhlYWRlci5hbGcsIENKT1NFX0hEUl9BTEdfTk9ORSkg IT0gMCkgeworKwlpZiAoX29pZGNfc3RyY21wKGp3dC0+aGVhZGVyLmFsZywgQ0pPU0VfSERSX0FM R19OT05FKSAhPSAwKSB7CisgCQlpZiAoY2pvc2VfandzX2V4cG9ydChqd3QtPmNqb3NlX2p3cywg JmNzZXIsICZjam9zZV9lcnIpID09IEZBTFNFKSB7CisgCQkJb2lkY19qb3NlX2Vycm9yKGVyciwg ImNqb3NlX2p3c19leHBvcnQgZmFpbGVkOiAlcyIsCisgCQkJCQlvaWRjX2Nqb3NlX2Uycyhwb29s LCBjam9zZV9lcnIpKTsKK0BAIC0yMDksMjQgKzIwOSwyNCBAQCBjaGFyKiBvaWRjX2p3dF9zZXJp YWxpemUoYXByX3Bvb2xfdCAqcG9vbCwgb2lkY19qd3RfdCAqand0LAorICAqIHJldHVybiB0aGUg a2V5IHR5cGUgZm9yIGFuIGFsZ29yaXRobQorICAqLworIHN0YXRpYyBpbnQgb2lkY19hbGcya3R5 KGNvbnN0IGNoYXIgKmFsZykgeworLQlpZiAoc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19ESVIp ID09IDApCisrCWlmIChfb2lkY19zdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX0RJUikgPT0gMCkK KyAJCXJldHVybiBDSk9TRV9KV0tfS1RZX09DVDsKKy0JaWYgKHN0cm5jbXAoYWxnLCAiUlMiLCAy KSA9PSAwKQorKwlpZiAoX29pZGNfc3RybmNtcChhbGcsICJSUyIsIDIpID09IDApCisgCQlyZXR1 cm4gQ0pPU0VfSldLX0tUWV9SU0E7CistCWlmIChzdHJuY21wKGFsZywgIlBTIiwgMikgPT0gMCkK KysJaWYgKF9vaWRjX3N0cm5jbXAoYWxnLCAiUFMiLCAyKSA9PSAwKQorIAkJcmV0dXJuIENKT1NF X0pXS19LVFlfUlNBOworLQlpZiAoc3RybmNtcChhbGcsICJIUyIsIDIpID09IDApCisrCWlmIChf b2lkY19zdHJuY21wKGFsZywgIkhTIiwgMikgPT0gMCkKKyAJCXJldHVybiBDSk9TRV9KV0tfS1RZ X09DVDsKKyAjaWYgKE9JRENfSk9TRV9FQ19TVVBQT1JUKQorLQlpZiAoc3RybmNtcChhbGcsICJF UyIsIDIpID09IDApCisrCWlmIChfb2lkY19zdHJuY21wKGFsZywgIkVTIiwgMikgPT0gMCkKKyAJ CXJldHVybiBDSk9TRV9KV0tfS1RZX0VDOworICNlbmRpZgorLQlpZiAoKHN0cmNtcChhbGcsIENK T1NFX0hEUl9BTEdfQTEyOEtXKSA9PSAwKQorLQkJCXx8IChzdHJjbXAoYWxnLCBDSk9TRV9IRFJf QUxHX0ExOTJLVykgPT0gMCkKKy0JCQl8fCAoc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19BMjU2 S1cpID09IDApKQorKwlpZiAoKF9vaWRjX3N0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfQTEyOEtX KSA9PSAwKQorKwkJCXx8IChfb2lkY19zdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX0ExOTJLVykg PT0gMCkKKysJCQl8fCAoX29pZGNfc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19BMjU2S1cpID09 IDApKQorIAkJcmV0dXJuIENKT1NFX0pXS19LVFlfT0NUOworLQlpZiAoKHN0cmNtcChhbGcsIENK T1NFX0hEUl9BTEdfUlNBMV81KSA9PSAwKQorLQkJCXx8IChzdHJjbXAoYWxnLCBDSk9TRV9IRFJf QUxHX1JTQV9PQUVQKSA9PSAwKSkKKysJaWYgKChfb2lkY19zdHJjbXAoYWxnLCBDSk9TRV9IRFJf QUxHX1JTQTFfNSkgPT0gMCkKKysJCQl8fCAoX29pZGNfc3RyY21wKGFsZywgQ0pPU0VfSERSX0FM R19SU0FfT0FFUCkgPT0gMCkpCisgCQlyZXR1cm4gQ0pPU0VfSldLX0tUWV9SU0E7CisgCXJldHVy biAtMTsKKyB9CitAQCAtMjQ2LDI0ICsyNDYsMjQgQEAgdW5zaWduZWQgaW50IG9pZGNfYWxnMmtl eXNpemUoY29uc3QgY2hhciAqYWxnKSB7CisgCWlmIChhbGcgPT0gTlVMTCkKKyAJCXJldHVybiAw OworIAorLQlpZiAoc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19BMTI4S1cpID09IDApCisrCWlm IChfb2lkY19zdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX0ExMjhLVykgPT0gMCkKKyAJCXJldHVy biAxNjsKKy0JaWYgKHN0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfQTE5MktXKSA9PSAwKQorKwlp ZiAoX29pZGNfc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19BMTkyS1cpID09IDApCisgCQlyZXR1 cm4gMjQ7CistCWlmIChzdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX0EyNTZLVykgPT0gMCkKKysJ aWYgKF9vaWRjX3N0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfQTI1NktXKSA9PSAwKQorIAkJcmV0 dXJuIDMyOworIAorLQlpZiAoKHN0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfUlMyNTYpID09IDAp CistCQkJfHwgKHN0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfUFMyNTYpID09IDApCistCQkJfHwg KHN0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfSFMyNTYpID09IDApKQorKwlpZiAoKF9vaWRjX3N0 cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfUlMyNTYpID09IDApCisrCQkJfHwgKF9vaWRjX3N0cmNt cChhbGcsIENKT1NFX0hEUl9BTEdfUFMyNTYpID09IDApCisrCQkJfHwgKF9vaWRjX3N0cmNtcChh bGcsIENKT1NFX0hEUl9BTEdfSFMyNTYpID09IDApKQorIAkJcmV0dXJuIDMyOworLQlpZiAoKHN0 cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfUlMzODQpID09IDApCistCQkJfHwgKHN0cmNtcChhbGcs IENKT1NFX0hEUl9BTEdfUFMzODQpID09IDApCistCQkJfHwgKHN0cmNtcChhbGcsIENKT1NFX0hE Ul9BTEdfSFMzODQpID09IDApKQorKwlpZiAoKF9vaWRjX3N0cmNtcChhbGcsIENKT1NFX0hEUl9B TEdfUlMzODQpID09IDApCisrCQkJfHwgKF9vaWRjX3N0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdf UFMzODQpID09IDApCisrCQkJfHwgKF9vaWRjX3N0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfSFMz ODQpID09IDApKQorIAkJcmV0dXJuIDQ4OworLQlpZiAoKHN0cmNtcChhbGcsIENKT1NFX0hEUl9B TEdfUlM1MTIpID09IDApCistCQkJfHwgKHN0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfUFM1MTIp ID09IDApCistCQkJfHwgKHN0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfSFM1MTIpID09IDApKQor KwlpZiAoKF9vaWRjX3N0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfUlM1MTIpID09IDApCisrCQkJ fHwgKF9vaWRjX3N0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfUFM1MTIpID09IDApCisrCQkJfHwg KF9vaWRjX3N0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfSFM1MTIpID09IDApKQorIAkJcmV0dXJu IDY0OworIAorIAlyZXR1cm4gMDsKK0BAIC0zMDgsNyArMzA4LDcgQEAgc3RhdGljIGNqb3NlX2p3 a190KiBvaWRjX2p3a19wYXJzZV9yc2FfeDVjX3NwZWMoYXByX3Bvb2xfdCAqcG9vbCwKKyAJCWdv dG8gZW5kOworIAl9CisgCistCWlmIChhcHJfc3RybmF0Y21wKGt0eSwgT0lEQ19KT1NFX0hEUl9L VFlfUlNBKSAhPSAwKSB7CisrCWlmIChfb2lkY19zdHJjbXAoa3R5LCBPSURDX0pPU0VfSERSX0tU WV9SU0EpICE9IDApIHsKKyAJCW9pZGNfam9zZV9lcnJvcihlcnIsCisgCQkJCSJubyBcIiIgT0lE Q19KT1NFX0hEUl9LVFlfUlNBICJcIiBrZXkgdHlwZSBmb3VuZCBKV0sgSlNPTiB2YWx1ZSIpOwor IAkJZ290byBlbmQ7CitAQCAtNTE5LDcgKzUxOSw3IEBAIHN0YXRpYyBhcHJfYnl0ZV90IG9pZGNf am9zZV9hcnJheV9oYXNfc3RyaW5nKGFwcl9hcnJheV9oZWFkZXJfdCAqaGF5c3RhY2ssCisgCQlj b25zdCBjaGFyICpuZWVkbGUpIHsKKyAJaW50IGkgPSAwOworIAl3aGlsZSAoaSA8IGhheXN0YWNr LT5uZWx0cykgeworLQkJaWYgKGFwcl9zdHJuYXRjbXAoKChjb25zdCBjaGFyKiopIGhheXN0YWNr LT5lbHRzKVtpXSwgbmVlZGxlKSA9PSAwKQorKwkJaWYgKF9vaWRjX3N0cmNtcCgoKGNvbnN0IGNo YXIqKikgaGF5c3RhY2stPmVsdHMpW2ldLCBuZWVkbGUpID09IDApCisgCQkJcmV0dXJuIFRSVUU7 CisgCQlpKys7CisgCX0KK0BAIC0xMDczLDIyICsxMDczLDIyIEBAIGFwcl9ieXRlX3Qgb2lkY19q b3NlX2hhc2hfYnl0ZXMoYXByX3Bvb2xfdCAqcG9vbCwgY29uc3QgY2hhciAqc19kaWdlc3QsCisg ICogcmV0dXJuIHRoZSBPcGVuU1NMIGhhc2ggYWxnb3JpdGhtIGFzc29jaWF0ZWQgd2l0aCBhIHNw ZWNpZmllZCBKV1QgYWxnb3JpdGhtCisgICovCisgc3RhdGljIGNoYXIqIG9pZGNfam9zZV9hbGdf dG9fb3BlbnNzbF9kaWdlc3QoY29uc3QgY2hhciAqYWxnKSB7CistCWlmICgoc3RyY21wKGFsZywg Q0pPU0VfSERSX0FMR19SUzI1NikgPT0gMCkKKy0JCQl8fCAoc3RyY21wKGFsZywgQ0pPU0VfSERS X0FMR19QUzI1NikgPT0gMCkKKy0JCQl8fCAoc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19IUzI1 NikgPT0gMCkKKy0JCQl8fCAoc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19FUzI1NikgPT0gMCkp IHsKKysJaWYgKChfb2lkY19zdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX1JTMjU2KSA9PSAwKQor KwkJCXx8IChfb2lkY19zdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX1BTMjU2KSA9PSAwKQorKwkJ CXx8IChfb2lkY19zdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX0hTMjU2KSA9PSAwKQorKwkJCXx8 IChfb2lkY19zdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX0VTMjU2KSA9PSAwKSkgeworIAkJcmV0 dXJuIExOX3NoYTI1NjsKKyAJfQorLQlpZiAoKHN0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfUlMz ODQpID09IDApCistCQkJfHwgKHN0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfUFMzODQpID09IDAp CistCQkJfHwgKHN0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfSFMzODQpID09IDApCistCQkJfHwg KHN0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfRVMzODQpID09IDApKSB7CisrCWlmICgoX29pZGNf c3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19SUzM4NCkgPT0gMCkKKysJCQl8fCAoX29pZGNfc3Ry Y21wKGFsZywgQ0pPU0VfSERSX0FMR19QUzM4NCkgPT0gMCkKKysJCQl8fCAoX29pZGNfc3RyY21w KGFsZywgQ0pPU0VfSERSX0FMR19IUzM4NCkgPT0gMCkKKysJCQl8fCAoX29pZGNfc3RyY21wKGFs ZywgQ0pPU0VfSERSX0FMR19FUzM4NCkgPT0gMCkpIHsKKyAJCXJldHVybiBMTl9zaGEzODQ7Cisg CX0KKy0JaWYgKChzdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX1JTNTEyKSA9PSAwKQorLQkJCXx8 IChzdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX1BTNTEyKSA9PSAwKQorLQkJCXx8IChzdHJjbXAo YWxnLCBDSk9TRV9IRFJfQUxHX0hTNTEyKSA9PSAwKQorLQkJCXx8IChzdHJjbXAoYWxnLCBDSk9T RV9IRFJfQUxHX0VTNTEyKSA9PSAwKSkgeworKwlpZiAoKF9vaWRjX3N0cmNtcChhbGcsIENKT1NF X0hEUl9BTEdfUlM1MTIpID09IDApCisrCQkJfHwgKF9vaWRjX3N0cmNtcChhbGcsIENKT1NFX0hE Ul9BTEdfUFM1MTIpID09IDApCisrCQkJfHwgKF9vaWRjX3N0cmNtcChhbGcsIENKT1NFX0hEUl9B TEdfSFM1MTIpID09IDApCisrCQkJfHwgKF9vaWRjX3N0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdf RVM1MTIpID09IDApKSB7CisgCQlyZXR1cm4gTE5fc2hhNTEyOworIAl9CisgCXJldHVybiBOVUxM OworQEAgLTExMTcsMjIgKzExMTcsMjIgQEAgYXByX2J5dGVfdCBvaWRjX2pvc2VfaGFzaF9zdHJp

    [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
    --=-lsAtpWGmtImsVY/kXW2G
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable

    Dear LTS Team.

    On Wed, 2025-05-07 at 10:59 +0000, Moritz Mühlenhoff wrote:

    So RedHat has provided more information and we know it's fixed by https://github.com/OpenIDC/mod_auth_openidc/commit/29ea79dea97cdab1b0d150af2c9a50a442e7216e
    and as you are already aware as well upstream has created https://github.com/OpenIDC/mod_auth_openidc/security/advisories/GHSA-x7cf-8wgv-5j86

    Let's also fix that one via a DSA. Moritz, could you please prepare an update for
    bookworm-security?

    I have also prepared a fixed version for Bullseye (see attached debdiff), but now I have a workflow question:
    The package/issue is not yet claimed in dla-needed.txt and [1] insists that this should be done before all else by front desk. If that is true, somebody please do so, otherwise, I assume I could then go ahead with uploading the package and claiming and issuing the DLA, right?

    [1]: https://lts-team.pages.debian.net/wiki/Development.html

    Regards,
    Moritz

    --=-lsAtpWGmtImsVY/kXW2G
    Content-Disposition: attachment;
    filename="libapache2-mod-auth-openidc_2.4.9.4-0+deb11u6.debdiff" Content-Transfer-Encoding: base64
    Content-Type: text/x-patch; name="libapache2-mod-auth-openidc_2.4.9.4-0+deb11u6.debdiff";
    charset="UTF-8"

    ZGlmZiAtTnJ1IGxpYmFwYWNoZTItbW9kLWF1dGgtb3BlbmlkYy0yLjQuOS40L2RlYmlhbi9jaGFu Z2Vsb2cgbGliYXBhY2hlMi1tb2QtYXV0aC1vcGVuaWRjLTIuNC45LjQvZGViaWFuL2NoYW5nZWxv ZwotLS0gbGliYXBhY2hlMi1tb2QtYXV0aC1vcGVuaWRjLTIuNC45LjQvZGViaWFuL2NoYW5nZWxv ZwkyMDI1LTA0LTE2IDExOjEzOjIyLjAwMDAwMDAwMCArMDIwMAorKysgbGliYXBhY2hlMi1tb2Qt YXV0aC1vcGVuaWRjLTIuNC45LjQvZGViaWFuL2NoYW5nZWxvZwkyMDI1LTA1LTA3IDE0OjM2OjI0 LjAwMDAwMDAwMCArMDIwMApAQCAtMSwzICsxLDkgQEAKK2xpYmFwYWNoZTItbW9kLWF1dGgtb3Bl bmlkYyAoMi40LjkuNC0wK2RlYjExdTYpIGJ1bGxzZXllLXNlY3VyaXR5OyB1cmdlbmN5PWhpZ2gK KworICAqIEFkZCB1cHN0cmVhbSBwYXRjaCB0byBmaXggQ1ZFLTIwMjUtMzg5MQorCisgLS0gTW9y aXR6IFNjaGxhcmIgPG1vc2NobGFyQGRlYmlhbi5vcmc+ICBXZWQsIDA3IE1heSAyMDI1IDE0OjM2 OjI0ICswMjAwCisKIGxpYmFwYWNoZTItbW9kLWF1dGgtb3BlbmlkYyAoMi40LjkuNC0wK2RlYjEx dTUpIGJ1bGxzZXllLXNlY3VyaXR5OyB1cmdlbmN5PWhpZ2gKIAogICAqIEZpeCBDVkUtMjAyNS0z MTQ5MgpkaWZmIC1OcnUgbGliYXBhY2hlMi1tb2QtYXV0aC1vcGVuaWRjLTIuNC45LjQvZGViaWFu L3BhdGNoZXMvMDAwNi1GaXgtQ1ZFLTIwMjUtMzg5MS5wYXRjaCBsaWJhcGFjaGUyLW1vZC1hdXRo LW9wZW5pZGMtMi40LjkuNC9kZWJpYW4vcGF0Y2hlcy8wMDA2LUZpeC1DVkUtMjAyNS0zODkxLnBh dGNoCi0tLSBsaWJhcGFjaGUyLW1vZC1hdXRoLW9wZW5pZGMtMi40LjkuNC9kZWJpYW4vcGF0Y2hl cy8wMDA2LUZpeC1DVkUtMjAyNS0zODkxLnBhdGNoCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAw MDAwICswMTAwCisrKyBsaWJhcGFjaGUyLW1vZC1hdXRoLW9wZW5pZGMtMi40LjkuNC9kZWJpYW4v cGF0Y2hlcy8wMDA2LUZpeC1DVkUtMjAyNS0zODkxLnBhdGNoCTIwMjUtMDUtMDcgMTQ6MzQ6NDcu MDAwMDAwMDAwICswMjAwCkBAIC0wLDAgKzEsMTY5NSBAQAorRnJvbTogSGFucyBaYW5kYmVsdCA8 aGFucy56YW5kYmVsdEBvcGVuaWRjLmNvbT4KK0RhdGU6IFR1ZSwgMjggTWFyIDIwMjMgMjE6MDY6 MjggKzAyMDAKK1N1YmplY3Q6IEZpeCBDVkUtMjAyNS0zODkxCisKK0RvUyB3aGVuIHNlbmRpbmcg ZW1wdHkgQ29udGVudC1UeXBlIGhlYWRlciB3aXRoIE9JRENQcmVzZXJ2ZVBvc3QgT24KK2h0dHBz Oi8vZ2l0aHViLmNvbS9PcGVuSURDL21vZF9hdXRoX29wZW5pZGMvc2VjdXJpdHkvYWR2aXNvcmll cy9HSFNBLXg3Y2YtOHdndi01ajg2CisKK1BhdGNoIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL09w ZW5JREMvbW9kX2F1dGhfb3BlbmlkYy9jb21taXQvMjllYTc5ZGVhOTdjZGFiMWIwZDE1MGFmMmM5 YTUwYTQ0MmU3MjE2ZQorCityZXBsYWNlIGFwcl9zdHJuYXRjbXAvc3RyY21wIHdpdGggX29pZGNf c3RyY21wCisKK2FuZCByZXBsYWNlIHN0cm5jbXAgd2l0aCBfb2lkY19zdHJuY21wCisKK1NpZ25l ZC1vZmYtYnk6IEhhbnMgWmFuZGJlbHQgPGhhbnMuemFuZGJlbHRAb3BlbmlkYy5jb20+CisKK09y aWdpbjogdXBzdHJlYW0sIGh0dHBzOi8vZ2l0aHViLmNvbS9PcGVuSURDL21vZF9hdXRoX29wZW5p ZGMvY29tbWl0LzI5ZWE3OWRlYTk3Y2RhYjFiMGQxNTBhZjJjOWE1MGE0NDJlNzIxNmUKK0J1Zy1E ZWJpYW46IGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzExMDQ0ODQKKy0tLQorIHNyYy9hdXRoei5j ICAgICAgICAgICAgfCAgMTcgKysrKystLS0tCisgc3JjL2NhY2hlL2ZpbGUuYyAgICAgICB8ICAg MiArLQorIHNyYy9jYWNoZS9zaG0uYyAgICAgICAgfCAgIDQgKy0KKyBzcmMvY29uZmlnLmMgICAg ICAgICAgIHwgIDU2ICsrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQorIHNyYy9qb3NlLmMgICAg ICAgICAgICAgfCAgOTggKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgc3JjL2pvc2UuaCAgICAgICAgICAgICB8ICAgMyArKworIHNyYy9tZXRhZGF0YS5j ICAgICAgICAgfCAgIDQgKy0KKyBzcmMvbW9kX2F1dGhfb3BlbmlkYy5jIHwgIDg0ICsrKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgc3JjL29hdXRoLmMgICAgICAgICAg ICB8ICAgNiArLS0KKyBzcmMvcGFyc2UuYyAgICAgICAgICAgIHwgMTAwICsrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBzcmMvcHJvdG8uYyAgICAgICAg ICAgIHwgIDU2ICsrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQorIHNyYy9zZXNzaW9uLmMgICAg ICAgICAgfCAgIDQgKy0KKyBzcmMvdXRpbC5jICAgICAgICAgICAgIHwgIDM4ICsrKysrKysrKy0t LS0tLS0tLS0KKyB0ZXN0L3Rlc3QtY21kLmMgICAgICAgIHwgIDIwICsrKysrLS0tLS0KKyB0ZXN0 L3Rlc3QuYyAgICAgICAgICAgIHwgICA0ICstCisgMTUgZmlsZXMgY2hhbmdlZCwgMjUwIGluc2Vy dGlvbnMoKyksIDI0NiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9hdXRoei5jIGIv c3JjL2F1dGh6LmMKK2luZGV4IGZjMmRiYTkuLjcyNjY0NzcgMTAwNjQ0CistLS0gYS9zcmMvYXV0 aHouYworKysrIGIvc3JjL2F1dGh6LmMKK0BAIC02NSw3ICs2NSw3IEBAIHN0YXRpYyBhcHJfYnl0 ZV90IG9pZGNfYXV0aHpfbWF0Y2hfdmFsdWUocmVxdWVzdF9yZWMgKnIsIGNvbnN0IGNoYXIgKnNw ZWNfYywKKyAJLyogc2VlIGlmIGl0IGlzIGEgc3RyaW5nIGFuZCBpdCAoY2FzZS1pbnNlbnNpdGl2 ZWx5KSBtYXRjaGVzIHRoZSBSZXF1aXJlJ2QgdmFsdWUgKi8KKyAJaWYgKGpzb25faXNfc3RyaW5n KHZhbCkpIHsKKyAKKy0JCWlmIChhcHJfc3RybmF0Y21wKGpzb25fc3RyaW5nX3ZhbHVlKHZhbCks IHNwZWNfYykgPT0gMCkKKysJCWlmIChfb2lkY19zdHJjbXAoanNvbl9zdHJpbmdfdmFsdWUodmFs KSwgc3BlY19jKSA9PSAwKQorIAkJCXJldHVybiBUUlVFOworIAorIAkJLyogc2VlIGlmIGl0IGlz IGEgaW50ZWdlciBhbmQgaXQgZXF1YWxzIHRoZSBSZXF1aXJlJ2QgdmFsdWUgKi8KK0BAIC03Nyw3 ICs3Nyw3IEBAIHN0YXRpYyBhcHJfYnl0ZV90IG9pZGNfYXV0aHpfbWF0Y2hfdmFsdWUocmVxdWVz dF9yZWMgKnIsIGNvbnN0IGNoYXIgKnNwZWNfYywKKyAJCS8qIHNlZSBpZiBpdCBpcyBhIGJvb2xl YW4gYW5kIGl0IChjYXNlLWluc2Vuc2l0aXZlbHkpIG1hdGNoZXMgdGhlIFJlcXVpcmUnZCB2YWx1 ZSAqLworIAl9IGVsc2UgaWYgKGpzb25faXNfYm9vbGVhbih2YWwpKSB7CisgCistCQlpZiAoYXBy X3N0cm5hdGNtcChqc29uX2lzX3RydWUodmFsKSA/ICJ0cnVlIiA6ICJmYWxzZSIsIHNwZWNfYykg PT0gMCkKKysJCWlmIChfb2lkY19zdHJjbXAoKGpzb25faXNfdHJ1ZSh2YWwpID8gInRydWUiIDog ImZhbHNlIiksIHNwZWNfYykgPT0gMCkKKyAJCQlyZXR1cm4gVFJVRTsKKyAKKyAJCS8qIGlmIGl0 IGlzIGFuIGFycmF5LCB3ZSdsbCB3YWxrIGl0ICovCitAQCAtOTQsMTMgKzk0LDE0IEBAIHN0YXRp YyBhcHJfYnl0ZV90IG9pZGNfYXV0aHpfbWF0Y2hfdmFsdWUocmVxdWVzdF9yZWMgKnIsIGNvbnN0 IGNoYXIgKnNwZWNfYywKKyAJCQkJICogd2hpdGVzcGFjZSkuIEF0IHRoaXMgcG9pbnQsIHNwZWNf YyBwb2ludHMgdG8gdGhlCisgCQkJCSAqIE5VTEwtdGVybWluYXRlZCB2YWx1ZSBwYXR0ZXJuLgor IAkJCQkgKi8KKy0JCQkJaWYgKGFwcl9zdHJuYXRjbXAoanNvbl9zdHJpbmdfdmFsdWUoZWxlbSks IHNwZWNfYykgPT0gMCkKKysJCQkJaWYgKF9vaWRjX3N0cmNtcChqc29uX3N0cmluZ192YWx1ZShl bGVtKSwgc3BlY19jKSA9PSAwKQorIAkJCQkJcmV0dXJuIFRSVUU7CisgCisgCQkJfSBlbHNlIGlm IChqc29uX2lzX2Jvb2xlYW4oZWxlbSkpIHsKKyAKKy0JCQkJaWYgKGFwcl9zdHJuYXRjbXAoCist CQkJCQkJanNvbl9pc190cnVlKGVsZW0pID8gInRydWUiIDogImZhbHNlIiwgc3BlY19jKSA9PSAw KQorKwkJCQlpZiAoX29pZGNfc3RyY21wKChqc29uX2lzX3RydWUoZWxlbSkgPyAidHJ1ZSIgOiAi ZmFsc2UiKSwKKysJCQkJCQlzcGVjX2MpCisrCQkJCQkJPT0gMCkKKyAJCQkJCXJldHVybiBUUlVF OworIAorIAkJCX0gZWxzZSBpZiAoanNvbl9pc19pbnRlZ2VyKGVsZW0pKSB7CitAQCAtMTEyLDE0 ICsxMTMsMTQgQEAgc3RhdGljIGFwcl9ieXRlX3Qgb2lkY19hdXRoel9tYXRjaF92YWx1ZShyZXF1 ZXN0X3JlYyAqciwgY29uc3QgY2hhciAqc3BlY19jLAorIAorIAkJCQlvaWRjX3dhcm4ociwKKyAJ CQkJCQkidW5oYW5kbGVkIGluLWFycmF5IEpTT04gb2JqZWN0IHR5cGUgWyVkXSBmb3Iga2V5IFwi JXNcIiIsCistCQkJCQkJZWxlbS0+dHlwZSwgKGNvbnN0IGNoYXIgKiApIGtleSk7CisrCQkJCQkJ ZWxlbS0+dHlwZSwgKGNvbnN0IGNoYXIqICkga2V5KTsKKyAJCQl9CisgCisgCQl9CisgCisgCX0g ZWxzZSB7CisgCQlvaWRjX3dhcm4ociwgInVuaGFuZGxlZCBKU09OIG9iamVjdCB0eXBlIFslZF0g Zm9yIGtleSBcIiVzXCIiLAorLQkJCQl2YWwtPnR5cGUsIChjb25zdCBjaGFyICogKSBrZXkpOwor KwkJCQl2YWwtPnR5cGUsIChjb25zdCBjaGFyKiApIGtleSk7CisgCX0KKyAKKyAJcmV0dXJuIEZB TFNFOworQEAgLTI3Miw3ICsyNzMsNyBAQCBzdGF0aWMgYXByX2J5dGVfdCBqcV9wYXJzZShyZXF1 ZXN0X3JlYyAqciwganFfc3RhdGUgKmpxLCBzdHJ1Y3QganZfcGFyc2VyICpwYXJzZQorIAkJCWp2 IGR1bXBlZCA9IGp2X2R1bXBfc3RyaW5nKHJlc3VsdCwgMCk7CisgCQkJY29uc3QgY2hhciAqc3Ry ID0ganZfc3RyaW5nX3ZhbHVlKGR1bXBlZCk7CisgCQkJb2lkY19kZWJ1ZyhyLCAiZHVtcGVkOiAl cyIsIHN0cik7CistCQkJcnYgPSAoYXByX3N0cm5hdGNtcChzdHIsICJ0cnVlIikgPT0gMCk7Cisr CQkJcnYgPSAoX29pZGNfc3RyY21wKHN0ciwgInRydWUiKSA9PSAwKTsKKyAJCX0KKyAKKyAJCWp2 X2ZyZWUocmVzdWx0KTsKK2RpZmYgLS1naXQgYS9zcmMvY2FjaGUvZmlsZS5jIGIvc3JjL2NhY2hl L2ZpbGUuYworaW5kZXggMDA3Yzc2ZC4uMjAzY2MyZSAxMDA2NDQKKy0tLSBhL3NyYy9jYWNoZS9m aWxlLmMKKysrKyBiL3NyYy9jYWNoZS9maWxlLmMKK0BAIC0zMjEsNyArMzIxLDcgQEAgc3RhdGlj IGFwcl9zdGF0dXNfdCBvaWRjX2NhY2hlX2ZpbGVfY2xlYW4ocmVxdWVzdF9yZWMgKnIpIHsKKyAJ CQkvKiBza2lwIG5vbi1jYWNoZSBlbnRyaWVzLCBjcS4gdGhlICIuIiwgIi4uIiBhbmQgdGhlIG1l dGFkYXRhIGZpbGUgKi8KKyAJCQlpZiAoKGZpLm5hbWVbMF0gPT0gT0lEQ19DSEFSX0RPVCkKKyAJ CQkJCXx8IChzdHJzdHIoZmkubmFtZSwgT0lEQ19DQUNIRV9GSUxFX1BSRUZJWCkgIT0gZmkubmFt ZSkKKy0JCQkJCXx8ICgoYXByX3N0cm5hdGNtcChmaS5uYW1lLAorKwkJCQkJfHwgKChfb2lkY19z dHJjbXAoZmkubmFtZSwKKyAJCQkJCQkJb2lkY19jYWNoZV9maWxlX25hbWUociwgImNhY2hlLWZp bGUiLAorIAkJCQkJCQkJCU9JRENfQ0FDSEVfRklMRV9MQVNUX0NMRUFORUQpKSA9PSAwKSkpCisg CQkJCWNvbnRpbnVlOworZGlmZiAtLWdpdCBhL3NyYy9jYWNoZS9zaG0uYyBiL3NyYy9jYWNoZS9z aG0uYworaW5kZXggMzFmYWJmMi4uZTQ4ZDA0NCAxMDA2NDQKKy0tLSBhL3NyYy9jYWNoZS9zaG0u YworKysrIGIvc3JjL2NhY2hlL3NobS5jCitAQCAtMTkwLDcgKzE5MCw3IEBAIHN0YXRpYyBhcHJf Ynl0ZV90IG9pZGNfY2FjaGVfc2htX2dldChyZXF1ZXN0X3JlYyAqciwgY29uc3QgY2hhciAqc2Vj dGlvbiwKKyAJCQlpKyssIE9JRENfQ0FDSEVfU0hNX0FERF9PRkZTRVQodCwgY2ZnLT5jYWNoZV9z aG1fZW50cnlfc2l6ZV9tYXgpKSB7CisgCQljb25zdCBjaGFyICp0YWJsZWtleSA9IHQtPnNlY3Rp b25fa2V5OworIAorLQkJaWYgKCh0YWJsZWtleSAhPSBOVUxMKSAmJiAoYXByX3N0cm5hdGNtcCh0 YWJsZWtleSwgc2VjdGlvbl9rZXkpID09IDApKSB7CisrCQlpZiAoKHRhYmxla2V5ICE9IE5VTEwp ICYmIChfb2lkY19zdHJjbXAodGFibGVrZXksIHNlY3Rpb25fa2V5KSA9PSAwKSkgeworIAorIAkJ CS8qIGZvdW5kIGEgbWF0Y2gsIGNoZWNrIGlmIGl0IGhhcyBleHBpcmVkICovCisgCQkJaWYgKHQt PmV4cGlyZXMgPiBhcHJfdGltZV9ub3coKSkgeworQEAgLTI3Niw3ICsyNzYsNyBAQCBzdGF0aWMg YXByX2J5dGVfdCBvaWRjX2NhY2hlX3NobV9zZXQocmVxdWVzdF9yZWMgKnIsIGNvbnN0IGNoYXIg KnNlY3Rpb24sCisgCQl9CisgCisgCQkvKiBzZWUgaWYgYSB2YWx1ZSBhbHJlYWR5IGV4aXN0cyBm b3IgdGhpcyBrZXkgKi8KKy0JCWlmIChhcHJfc3RybmF0Y21wKHQtPnNlY3Rpb25fa2V5LCBzZWN0 aW9uX2tleSkgPT0gMCkgeworKwkJaWYgKF9vaWRjX3N0cmNtcCh0LT5zZWN0aW9uX2tleSwgc2Vj dGlvbl9rZXkpID09IDApIHsKKyAJCQltYXRjaCA9IHQ7CisgCQkJYnJlYWs7CisgCQl9CitkaWZm IC0tZ2l0IGEvc3JjL2NvbmZpZy5jIGIvc3JjL2NvbmZpZy5jCitpbmRleCAyZjVkNDJlLi4yZTY2 Nzg0IDEwMDY0NAorLS0tIGEvc3JjL2NvbmZpZy5jCisrKysgYi9zcmMvY29uZmlnLmMKK0BAIC00 NDEsNyArNDQxLDcgQEAgc3RhdGljIGNvbnN0IGNoYXIqIG9pZGNfc2V0X3Bhc3NwaHJhc2Vfc2xv dChjbWRfcGFybXMgKmNtZCwgdm9pZCAqc3RydWN0X3B0ciwKKyAJY2hhciAqKmFyZ3YgPSBOVUxM OworIAljaGFyICpyZXN1bHQgPSBOVUxMOworIAkvKiBCYXNlZCBvbiBjb2RlIGZyb20gbW9kX3Nl c3Npb25fY3J5cHRvLiAqLworLQlpZiAoYXJnbGVuID4gNSAmJiBzdHJuY21wKGFyZywgImV4ZWM6 IiwgNSkgPT0gMCkgeworKwlpZiAoYXJnbGVuID4gNSAmJiBfb2lkY19zdHJuY21wKGFyZywgImV4 ZWM6IiwgNSkgPT0gMCkgeworIAkJaWYgKGFwcl90b2tlbml6ZV90b19hcmd2KGFyZyArIDUsICZh cmd2LCBjbWQtPnRlbXBfcG9vbCkgIT0gQVBSX1NVQ0NFU1MpIHsKKyAJCQlyZXR1cm4gYXByX3Bz dHJjYXQoY21kLT5wb29sLAorIAkJCQkJIlVuYWJsZSB0byBwYXJzZSBleGVjIGFyZ3VtZW50cyBm cm9tICIsIGFyZyArIDUsIE5VTEwpOworQEAgLTU4NywxMSArNTg3LDExIEBAIGNvbnN0IGNoYXIq IG9pZGNfcGFyc2VfcGtjZV90eXBlKGFwcl9wb29sX3QgKnBvb2wsIGNvbnN0IGNoYXIgKmFyZywK KyAJaWYgKHJ2ICE9IE5VTEwpCisgCQlyZXR1cm4gcnY7CisgCistCWlmIChhcHJfc3RybmF0Y21w KGFyZywgT0lEQ19QS0NFX01FVEhPRF9QTEFJTikgPT0gMCkgeworKwlpZiAoX29pZGNfc3RyY21w KGFyZywgT0lEQ19QS0NFX01FVEhPRF9QTEFJTikgPT0gMCkgeworIAkJKnR5cGUgPSAmb2lkY19w a2NlX3BsYWluOworLQl9IGVsc2UgaWYgKGFwcl9zdHJuYXRjbXAoYXJnLCBPSURDX1BLQ0VfTUVU SE9EX1MyNTYpID09IDApIHsKKysJfSBlbHNlIGlmIChfb2lkY19zdHJjbXAoYXJnLCBPSURDX1BL Q0VfTUVUSE9EX1MyNTYpID09IDApIHsKKyAJCSp0eXBlID0gJm9pZGNfcGtjZV9zMjU2OworLQl9 IGVsc2UgaWYgKGFwcl9zdHJuYXRjbXAoYXJnLCBPSURDX1BLQ0VfTUVUSE9EX1JFRkVSUkVEX1RC KSA9PSAwKSB7CisrCX0gZWxzZSBpZiAoX29pZGNfc3RyY21wKGFyZywgT0lEQ19QS0NFX01FVEhP RF9SRUZFUlJFRF9UQikgPT0gMCkgeworIAkJKnR5cGUgPSAmb2lkY19wa2NlX3JlZmVycmVkX3Ri OworIAl9CisgCitAQCAtOTYwLDcgKzk2MCw3IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBvaWRjX3Nl dF9wYXNzX2NsYWltc19hcyhjbWRfcGFybXMgKmNtZCwgdm9pZCAqbSwKKyAJCQkmZGlyX2NmZy0+ cGFzc19pbmZvX2luX2hlYWRlcnMsICZkaXJfY2ZnLT5wYXNzX2luZm9faW5fZW52X3ZhcnMpOwor IAlpZiAocnYgPT0gTlVMTCkgeworIAkJaWYgKGFyZzIgIT0gTlVMTCkgeworLQkJCWlmIChhcHJf c3RybmF0Y21wKGFyZzIsICJiYXNlNjR1cmwiKSA9PSAwKSB7CisrCQkJaWYgKF9vaWRjX3N0cmNt cChhcmcyLCAiYmFzZTY0dXJsIikgPT0gMCkgeworIAkJCQlkaXJfY2ZnLT5wYXNzX2luZm9fYmFz ZTY0dXJsID0gMTsKKyAJCQl9IGVsc2UgeworIAkJCQlydiA9IGFwcl9wc3RyY2F0KGNtZC0+dGVt cF9wb29sLCAidW5rbm93biBlbmNvZGluZyBvcHRpb24gXCIiLAorQEAgLTEyMjUsNyArMTIyNSw3 IEBAIGNoYXIqIG9pZGNfY2ZnX2Rpcl9zdGF0ZV9jb29raWVfcHJlZml4KHJlcXVlc3RfcmVjICpy KSB7CisgCQkJJmF1dGhfb3BlbmlkY19tb2R1bGUpOworIAlpZiAoKGRpcl9jZmctPnN0YXRlX2Nv b2tpZV9wcmVmaXggPT0gTlVMTCkKKyAJCQl8fCAoKGRpcl9jZmctPnN0YXRlX2Nvb2tpZV9wcmVm aXggIT0gTlVMTCkKKy0JCQkJCSYmIChhcHJfc3RybmF0Y21wKGRpcl9jZmctPnN0YXRlX2Nvb2tp ZV9wcmVmaXgsCisrCQkJCQkmJiAoX29pZGNfc3RyY21wKGRpcl9jZmctPnN0YXRlX2Nvb2tpZV9w cmVmaXgsCisgCQkJCQkJCU9JRENfQ09ORklHX1NUUklOR19VTlNFVCkgPT0gMCkpKQorIAkJcmV0 dXJuIE9JRENfREVGQVVMVF9TVEFURV9DT09LSUVfUFJFRklYOworIAlyZXR1cm4gZGlyX2NmZy0+ c3RhdGVfY29va2llX3ByZWZpeDsKK0BAIC0xNTEzLDcgKzE1MTMsNyBAQCB2b2lkKiBvaWRjX21l cmdlX3NlcnZlcl9jb25maWcoYXByX3Bvb2xfdCAqcG9vbCwgdm9pZCAqQkFTRSwgdm9pZCAqQURE KSB7CisgCQkJCQlhZGQtPnByb3ZpZGVyLnZhbGlkYXRlX2lzc3VlciA6CisgCQkJCQliYXNlLT5w cm92aWRlci52YWxpZGF0ZV9pc3N1ZXI7CisgCWMtPnByb3ZpZGVyLmNsaWVudF9uYW1lID0KKy0J CQlhcHJfc3RybmF0Y21wKGFkZC0+cHJvdmlkZXIuY2xpZW50X25hbWUsIE9JRENfREVGQVVMVF9D TElFTlRfTkFNRSkKKysJCQlfb2lkY19zdHJjbXAoYWRkLT5wcm92aWRlci5jbGllbnRfbmFtZSwg T0lEQ19ERUZBVUxUX0NMSUVOVF9OQU1FKQorIAkJCSE9IDAgPworIAkJCQkJYWRkLT5wcm92aWRl ci5jbGllbnRfbmFtZSA6IGJhc2UtPnByb3ZpZGVyLmNsaWVudF9uYW1lOworIAljLT5wcm92aWRl ci5jbGllbnRfY29udGFjdCA9CitAQCAtMTUyNSwxMCArMTUyNSwxMCBAQCB2b2lkKiBvaWRjX21l cmdlX3NlcnZlcl9jb25maWcoYXByX3Bvb2xfdCAqcG9vbCwgdm9pZCAqQkFTRSwgdm9pZCAqQURE KSB7CisgCQkJCQlhZGQtPnByb3ZpZGVyLnJlZ2lzdHJhdGlvbl90b2tlbiA6CisgCQkJCQliYXNl LT5wcm92aWRlci5yZWdpc3RyYXRpb25fdG9rZW47CisgCWMtPnByb3ZpZGVyLnNjb3BlID0KKy0J CQlhcHJfc3RybmF0Y21wKGFkZC0+cHJvdmlkZXIuc2NvcGUsIE9JRENfREVGQVVMVF9TQ09QRSkg IT0gMCA/CisrCQkJX29pZGNfc3RyY21wKGFkZC0+cHJvdmlkZXIuc2NvcGUsIE9JRENfREVGQVVM VF9TQ09QRSkgIT0gMCA/CisgCQkJCQlhZGQtPnByb3ZpZGVyLnNjb3BlIDogYmFzZS0+cHJvdmlk ZXIuc2NvcGU7CisgCWMtPnByb3ZpZGVyLnJlc3BvbnNlX3R5cGUgPQorLQkJCWFwcl9zdHJuYXRj bXAoYWRkLT5wcm92aWRlci5yZXNwb25zZV90eXBlLAorKwkJCV9vaWRjX3N0cmNtcChhZGQtPnBy b3ZpZGVyLnJlc3BvbnNlX3R5cGUsCisgCQkJCQlPSURDX0RFRkFVTFRfUkVTUE9OU0VfVFlQRSkg IT0gMCA/CisgCQkJCQkJCWFkZC0+cHJvdmlkZXIucmVzcG9uc2VfdHlwZSA6IGJhc2UtPnByb3Zp ZGVyLnJlc3BvbnNlX3R5cGU7CisgCWMtPnByb3ZpZGVyLnJlc3BvbnNlX21vZGUgPQorQEAgLTE2 MzIsNyArMTYzMiw3IEBAIHZvaWQqIG9pZGNfbWVyZ2Vfc2VydmVyX2NvbmZpZyhhcHJfcG9vbF90 ICpwb29sLCB2b2lkICpCQVNFLCB2b2lkICpBREQpIHsKKyAJCQkJCWFkZC0+b2F1dGguaW50cm9z cGVjdGlvbl9lbmRwb2ludF91cmwgOgorIAkJCQkJYmFzZS0+b2F1dGguaW50cm9zcGVjdGlvbl9l bmRwb2ludF91cmw7CisgCWMtPm9hdXRoLmludHJvc3BlY3Rpb25fZW5kcG9pbnRfbWV0aG9kID0K Ky0JCQlhcHJfc3RybmF0Y21wKGFkZC0+b2F1dGguaW50cm9zcGVjdGlvbl9lbmRwb2ludF9tZXRo b2QsCisrCQkJX29pZGNfc3RyY21wKGFkZC0+b2F1dGguaW50cm9zcGVjdGlvbl9lbmRwb2ludF9t ZXRob2QsCisgCQkJCQlPSURDX0RFRkFVTFRfT0FVVEhfRU5EUE9JTlRfTUVUSE9EKSAhPSAwID8K KyAJCQkJCQkJYWRkLT5vYXV0aC5pbnRyb3NwZWN0aW9uX2VuZHBvaW50X21ldGhvZCA6CisgCQkJ CQkJCWJhc2UtPm9hdXRoLmludHJvc3BlY3Rpb25fZW5kcG9pbnRfbWV0aG9kOworQEAgLTE2NDks MTggKzE2NDksMTggQEAgdm9pZCogb2lkY19tZXJnZV9zZXJ2ZXJfY29uZmlnKGFwcl9wb29sX3Qg KnBvb2wsIHZvaWQgKkJBU0UsIHZvaWQgKkFERCkgeworIAkJCQkJYWRkLT5vYXV0aC5pbnRyb3Nw ZWN0aW9uX2NsaWVudF9hdXRoX2JlYXJlcl90b2tlbiA6CisgCQkJCQliYXNlLT5vYXV0aC5pbnRy b3NwZWN0aW9uX2NsaWVudF9hdXRoX2JlYXJlcl90b2tlbjsKKyAJYy0+b2F1dGguaW50cm9zcGVj dGlvbl90b2tlbl9wYXJhbV9uYW1lID0KKy0JCQlhcHJfc3RybmF0Y21wKGFkZC0+b2F1dGguaW50 cm9zcGVjdGlvbl90b2tlbl9wYXJhbV9uYW1lLAorKwkJCV9vaWRjX3N0cmNtcChhZGQtPm9hdXRo LmludHJvc3BlY3Rpb25fdG9rZW5fcGFyYW1fbmFtZSwKKyAJCQkJCU9JRENfREVGQVVMVF9PQVVU SF9UT0tFTl9QQVJBTV9OQU1FKSAhPSAwID8KKyAJCQkJCQkJYWRkLT5vYXV0aC5pbnRyb3NwZWN0 aW9uX3Rva2VuX3BhcmFtX25hbWUgOgorIAkJCQkJCQliYXNlLT5vYXV0aC5pbnRyb3NwZWN0aW9u X3Rva2VuX3BhcmFtX25hbWU7CisgCisgCWMtPm9hdXRoLmludHJvc3BlY3Rpb25fdG9rZW5fZXhw aXJ5X2NsYWltX25hbWUgPQorLQkJCWFwcl9zdHJuYXRjbXAoYWRkLT5vYXV0aC5pbnRyb3NwZWN0 aW9uX3Rva2VuX2V4cGlyeV9jbGFpbV9uYW1lLAorKwkJCV9vaWRjX3N0cmNtcChhZGQtPm9hdXRo LmludHJvc3BlY3Rpb25fdG9rZW5fZXhwaXJ5X2NsYWltX25hbWUsCisgCQkJCQlPSURDX0RFRkFV TFRfT0FVVEhfRVhQSVJZX0NMQUlNX05BTUUpICE9IDAgPworIAkJCQkJCQlhZGQtPm9hdXRoLmlu dHJvc3BlY3Rpb25fdG9rZW5fZXhwaXJ5X2NsYWltX25hbWUgOgorIAkJCQkJCQliYXNlLT5vYXV0 aC5pbnRyb3NwZWN0aW9uX3Rva2VuX2V4cGlyeV9jbGFpbV9uYW1lOworIAljLT5vYXV0aC5pbnRy b3NwZWN0aW9uX3Rva2VuX2V4cGlyeV9jbGFpbV9mb3JtYXQgPQorLQkJCWFwcl9zdHJuYXRjbXAo YWRkLT5vYXV0aC5pbnRyb3NwZWN0aW9uX3Rva2VuX2V4cGlyeV9jbGFpbV9mb3JtYXQsCisrCQkJ X29pZGNfc3RyY21wKGFkZC0+b2F1dGguaW50cm9zcGVjdGlvbl90b2tlbl9leHBpcnlfY2xhaW1f Zm9ybWF0LAorIAkJCQkJT0lEQ19ERUZBVUxUX09BVVRIX0VYUElSWV9DTEFJTV9GT1JNQVQpICE9 IDAgPworIAkJCQkJCQlhZGQtPm9hdXRoLmludHJvc3BlY3Rpb25fdG9rZW5fZXhwaXJ5X2NsYWlt X2Zvcm1hdCA6CisgCQkJCQkJCWJhc2UtPm9hdXRoLmludHJvc3BlY3Rpb25fdG9rZW5fZXhwaXJ5 X2NsYWltX2Zvcm1hdDsKK0BAIC0xNjcxLDcgKzE2NzEsNyBAQCB2b2lkKiBvaWRjX21lcmdlX3Nl cnZlcl9jb25maWcoYXByX3Bvb2xfdCAqcG9vbCwgdm9pZCAqQkFTRSwgdm9pZCAqQUREKSB7Cisg CQkJCQliYXNlLT5vYXV0aC5pbnRyb3NwZWN0aW9uX3Rva2VuX2V4cGlyeV9jbGFpbV9yZXF1aXJl ZDsKKyAKKyAJYy0+b2F1dGgucmVtb3RlX3VzZXJfY2xhaW0uY2xhaW1fbmFtZSA9CistCQkJYXBy X3N0cm5hdGNtcChhZGQtPm9hdXRoLnJlbW90ZV91c2VyX2NsYWltLmNsYWltX25hbWUsCisrCQkJ X29pZGNfc3RyY21wKGFkZC0+b2F1dGgucmVtb3RlX3VzZXJfY2xhaW0uY2xhaW1fbmFtZSwKKyAJ CQkJCU9JRENfREVGQVVMVF9PQVVUSF9DTEFJTV9SRU1PVEVfVVNFUikgIT0gMCA/CisgCQkJCQkJ CWFkZC0+b2F1dGgucmVtb3RlX3VzZXJfY2xhaW0uY2xhaW1fbmFtZSA6CisgCQkJCQkJCWJhc2Ut Pm9hdXRoLnJlbW90ZV91c2VyX2NsYWltLmNsYWltX25hbWU7CitAQCAtMTgwMSwxMiArMTgwMSwx MiBAQCB2b2lkKiBvaWRjX21lcmdlX3NlcnZlcl9jb25maWcoYXByX3Bvb2xfdCAqcG9vbCwgdm9p ZCAqQkFTRSwgdm9pZCAqQUREKSB7CisgCQkJYWRkLT5jb29raWVfZG9tYWluICE9IE5VTEwgPwor IAkJCQkJYWRkLT5jb29raWVfZG9tYWluIDogYmFzZS0+Y29va2llX2RvbWFpbjsKKyAJYy0+Y2xh aW1fZGVsaW1pdGVyID0KKy0JCQlhcHJfc3RybmF0Y21wKGFkZC0+Y2xhaW1fZGVsaW1pdGVyLCBP SURDX0RFRkFVTFRfQ0xBSU1fREVMSU1JVEVSKQorKwkJCV9vaWRjX3N0cmNtcChhZGQtPmNsYWlt X2RlbGltaXRlciwgT0lEQ19ERUZBVUxUX0NMQUlNX0RFTElNSVRFUikKKyAJCQkhPSAwID8gYWRk LT5jbGFpbV9kZWxpbWl0ZXIgOiBiYXNlLT5jbGFpbV9kZWxpbWl0ZXI7CisgCWMtPmNsYWltX3By ZWZpeCA9CisgCQkJYWRkLT5jbGFpbV9wcmVmaXggIT0gTlVMTCA/IGFkZC0+Y2xhaW1fcHJlZml4 IDogYmFzZS0+Y2xhaW1fcHJlZml4OworIAljLT5yZW1vdGVfdXNlcl9jbGFpbS5jbGFpbV9uYW1l ID0KKy0JCQlhcHJfc3RybmF0Y21wKGFkZC0+cmVtb3RlX3VzZXJfY2xhaW0uY2xhaW1fbmFtZSwK KysJCQlfb2lkY19zdHJjbXAoYWRkLT5yZW1vdGVfdXNlcl9jbGFpbS5jbGFpbV9uYW1lLAorIAkJ CQkJT0lEQ19ERUZBVUxUX0NMQUlNX1JFTU9URV9VU0VSKSAhPSAwID8KKyAJCQkJCQkJYWRkLT5y ZW1vdGVfdXNlcl9jbGFpbS5jbGFpbV9uYW1lIDoKKyAJCQkJCQkJYmFzZS0+cmVtb3RlX3VzZXJf Y2xhaW0uY2xhaW1fbmFtZTsKK0BAIC0xOTQ3LDcgKzE5NDcsNyBAQCB2b2lkKiBvaWRjX2NyZWF0 ZV9kaXJfY29uZmlnKGFwcl9wb29sX3QgKnBvb2wsIGNoYXIgKnBhdGgpIHsKKyBjaGFyKiBvaWRj X2NmZ19kaXJfZGlzY292ZXJfdXJsKHJlcXVlc3RfcmVjICpyKSB7CisgCW9pZGNfZGlyX2NmZyAq ZGlyX2NmZyA9IGFwX2dldF9tb2R1bGVfY29uZmlnKHItPnBlcl9kaXJfY29uZmlnLAorIAkJCSZh dXRoX29wZW5pZGNfbW9kdWxlKTsKKy0JaWYgKChkaXJfY2ZnLT5kaXNjb3Zlcl91cmwgIT0gTlVM TCkgJiYgKGFwcl9zdHJuYXRjbXAoZGlyX2NmZy0+ZGlzY292ZXJfdXJsLAorKwlpZiAoKGRpcl9j ZmctPmRpc2NvdmVyX3VybCAhPSBOVUxMKSAmJiAoX29pZGNfc3RyY21wKGRpcl9jZmctPmRpc2Nv dmVyX3VybCwKKyAJCQlPSURDX0NPTkZJR19TVFJJTkdfVU5TRVQpID09IDApKQorIAkJcmV0dXJu IE5VTEw7CisgCXJldHVybiBkaXJfY2ZnLT5kaXNjb3Zlcl91cmw7CitAQCAtMTk1OCw3ICsxOTU4 LDcgQEAgY2hhciogb2lkY19jZmdfZGlyX2Nvb2tpZShyZXF1ZXN0X3JlYyAqcikgeworIAkJCSZh dXRoX29wZW5pZGNfbW9kdWxlKTsKKyAJaWYgKChkaXJfY2ZnLT5jb29raWUgPT0gTlVMTCkKKyAJ CQl8fCAoKGRpcl9jZmctPmNvb2tpZSAhPSBOVUxMKQorLQkJCQkJJiYgKGFwcl9zdHJuYXRjbXAo ZGlyX2NmZy0+Y29va2llLCBPSURDX0NPTkZJR19TVFJJTkdfVU5TRVQpCisrCQkJCQkmJiAoX29p ZGNfc3RyY21wKGRpcl9jZmctPmNvb2tpZSwgT0lEQ19DT05GSUdfU1RSSU5HX1VOU0VUKQorIAkJ CQkJCQk9PSAwKSkpCisgCQlyZXR1cm4gT0lEQ19ERUZBVUxUX0NPT0tJRTsKKyAJcmV0dXJuIGRp cl9jZmctPmNvb2tpZTsKK0BAIC0xOTY5LDcgKzE5NjksNyBAQCBjaGFyKiBvaWRjX2NmZ19kaXJf Y29va2llX3BhdGgocmVxdWVzdF9yZWMgKnIpIHsKKyAJCQkmYXV0aF9vcGVuaWRjX21vZHVsZSk7 CisgCWlmICgoZGlyX2NmZy0+Y29va2llX3BhdGggPT0gTlVMTCkKKyAJCQl8fCAoKGRpcl9jZmct PmNvb2tpZV9wYXRoICE9IE5VTEwpCistCQkJCQkmJiAoYXByX3N0cm5hdGNtcChkaXJfY2ZnLT5j b29raWVfcGF0aCwKKysJCQkJCSYmIChfb2lkY19zdHJjbXAoZGlyX2NmZy0+Y29va2llX3BhdGgs CisgCQkJCQkJCU9JRENfQ09ORklHX1NUUklOR19VTlNFVCkgPT0gMCkpKQorIAkJcmV0dXJuIE9J RENfREVGQVVMVF9DT09LSUVfUEFUSDsKKyAJcmV0dXJuIGRpcl9jZmctPmNvb2tpZV9wYXRoOwor QEAgLTE5ODAsNyArMTk4MCw3IEBAIGNoYXIqIG9pZGNfY2ZnX2Rpcl9hdXRobl9oZWFkZXIocmVx dWVzdF9yZWMgKnIpIHsKKyAJCQkmYXV0aF9vcGVuaWRjX21vZHVsZSk7CisgCWlmICgoZGlyX2Nm Zy0+YXV0aG5faGVhZGVyID09IE5VTEwpCisgCQkJfHwgKChkaXJfY2ZnLT5hdXRobl9oZWFkZXIg IT0gTlVMTCkKKy0JCQkJCSYmIChhcHJfc3RybmF0Y21wKGRpcl9jZmctPmF1dGhuX2hlYWRlciwK KysJCQkJCSYmIChfb2lkY19zdHJjbXAoZGlyX2NmZy0+YXV0aG5faGVhZGVyLAorIAkJCQkJCQlP SURDX0NPTkZJR19TVFJJTkdfVU5TRVQpID09IDApKSkKKyAJCXJldHVybiBPSURDX0RFRkFVTFRf QVVUSE5fSEVBREVSOworIAlyZXR1cm4gZGlyX2NmZy0+YXV0aG5faGVhZGVyOworQEAgLTIxMjUs MTYgKzIxMjUsMTYgQEAgdm9pZCogb2lkY19tZXJnZV9kaXJfY29uZmlnKGFwcl9wb29sX3QgKnBv b2wsIHZvaWQgKkJBU0UsIHZvaWQgKkFERCkgeworIAlvaWRjX2Rpcl9jZmcgKmJhc2UgPSBCQVNF OworIAlvaWRjX2Rpcl9jZmcgKmFkZCA9IEFERDsKKyAJYy0+ZGlzY292ZXJfdXJsID0KKy0JCQko YXByX3N0cm5hdGNtcChhZGQtPmRpc2NvdmVyX3VybCwgT0lEQ19DT05GSUdfU1RSSU5HX1VOU0VU KSAhPSAwKSA/CisrCQkJKF9vaWRjX3N0cmNtcChhZGQtPmRpc2NvdmVyX3VybCwgT0lEQ19DT05G SUdfU1RSSU5HX1VOU0VUKSAhPSAwKSA/CisgCQkJCQlhZGQtPmRpc2NvdmVyX3VybCA6IGJhc2Ut PmRpc2NvdmVyX3VybDsKKyAJYy0+Y29va2llID0KKy0JCQkoYXByX3N0cm5hdGNtcChhZGQtPmNv b2tpZSwgT0lEQ19DT05GSUdfU1RSSU5HX1VOU0VUKSAhPSAwKSA/CisrCQkJKF9vaWRjX3N0cmNt cChhZGQtPmNvb2tpZSwgT0lEQ19DT05GSUdfU1RSSU5HX1VOU0VUKSAhPSAwKSA/CisgCQkJCQlh ZGQtPmNvb2tpZSA6IGJhc2UtPmNvb2tpZTsKKyAJYy0+Y29va2llX3BhdGggPQorLQkJCShhcHJf c3RybmF0Y21wKGFkZC0+Y29va2llX3BhdGgsIE9JRENfQ09ORklHX1NUUklOR19VTlNFVCkgIT0g MCkgPworKwkJCShfb2lkY19zdHJjbXAoYWRkLT5jb29raWVfcGF0aCwgT0lEQ19DT05GSUdfU1RS SU5HX1VOU0VUKSAhPSAwKSA/CisgCQkJCQlhZGQtPmNvb2tpZV9wYXRoIDogYmFzZS0+Y29va2ll X3BhdGg7CisgCWMtPmF1dGhuX2hlYWRlciA9CistCQkJKGFwcl9zdHJuYXRjbXAoYWRkLT5hdXRo bl9oZWFkZXIsIE9JRENfQ09ORklHX1NUUklOR19VTlNFVCkgIT0gMCkgPworKwkJCShfb2lkY19z dHJjbXAoYWRkLT5hdXRobl9oZWFkZXIsIE9JRENfQ09ORklHX1NUUklOR19VTlNFVCkgIT0gMCkg PworIAkJCQkJYWRkLT5hdXRobl9oZWFkZXIgOiBiYXNlLT5hdXRobl9oZWFkZXI7CisgCWMtPnVu YXV0aF9hY3Rpb24gPQorIAkJCWFkZC0+dW5hdXRoX2FjdGlvbiAhPSBPSURDX0NPTkZJR19QT1Nf SU5UX1VOU0VUID8KK0BAIC0yMTk4LDcgKzIxOTgsNyBAQCB2b2lkKiBvaWRjX21lcmdlX2Rpcl9j b25maWcoYXByX3Bvb2xfdCAqcG9vbCwgdm9pZCAqQkFTRSwgdm9pZCAqQUREKSB7CisgCQkJCQli YXNlLT5sb2dvdXRfb25fZXJyb3JfcmVmcmVzaDsKKyAKKyAJYy0+c3RhdGVfY29va2llX3ByZWZp eCA9CistCQkJKGFwcl9zdHJuYXRjbXAoYWRkLT5zdGF0ZV9jb29raWVfcHJlZml4LCBPSURDX0NP TkZJR19TVFJJTkdfVU5TRVQpCisrCQkJKF9vaWRjX3N0cmNtcChhZGQtPnN0YXRlX2Nvb2tpZV9w cmVmaXgsIE9JRENfQ09ORklHX1NUUklOR19VTlNFVCkKKyAJCQkJCSE9IDApID8KKyAJCQkJCQkJ YWRkLT5zdGF0ZV9jb29raWVfcHJlZml4IDogYmFzZS0+c3RhdGVfY29va2llX3ByZWZpeDsKKyAK K0BAIC0yMjQ1LDcgKzIyNDUsNyBAQCBzdGF0aWMgaW50IG9pZGNfY2hlY2tfY29uZmlnX29wZW5p ZF9vcGVuaWRjKHNlcnZlcl9yZWMgKnMsIG9pZGNfY2ZnICpjKSB7CisgCQl9IGVsc2UgeworIAkJ CWFwcl91cmlfcGFyc2Uocy0+cHJvY2Vzcy0+cGNvbmYsIGMtPnByb3ZpZGVyLm1ldGFkYXRhX3Vy bCwgJnJfdXJpKTsKKyAJCQlpZiAoKHJfdXJpLnNjaGVtZSA9PSBOVUxMKQorLQkJCQkJfHwgKGFw cl9zdHJuYXRjbXAocl91cmkuc2NoZW1lLCAiaHR0cHMiKSAhPSAwKSkgeworKwkJCQkJfHwgKF9v aWRjX3N0cmNtcChyX3VyaS5zY2hlbWUsICJodHRwcyIpICE9IDApKSB7CisgCQkJCW9pZGNfc3dh cm4ocywKKyAJCQkJCQkidGhlIFVSTCBzY2hlbWUgKCVzKSBvZiB0aGUgY29uZmlndXJlZCAiIE9J RENQcm92aWRlck1ldGFkYXRhVVJMICIgU0hPVUxEIGJlIFwiaHR0cHNcIiBmb3Igc2VjdXJpdHkg cmVhc29ucyEiLAorIAkJCQkJCXJfdXJpLnNjaGVtZSk7CitAQCAtMjI2Myw3ICsyMjYzLDcgQEAg c3RhdGljIGludCBvaWRjX2NoZWNrX2NvbmZpZ19vcGVuaWRfb3BlbmlkYyhzZXJ2ZXJfcmVjICpz LCBvaWRjX2NmZyAqYykgeworIAorIAlhcHJfdXJpX3BhcnNlKHMtPnByb2Nlc3MtPnBjb25mLCBj LT5yZWRpcmVjdF91cmksICZyX3VyaSk7CisgCWlmICghcmVkaXJlY3RfdXJpX2lzX3JlbGF0aXZl KSB7CistCQlpZiAoYXByX3N0cm5hdGNtcChyX3VyaS5zY2hlbWUsICJodHRwcyIpICE9IDApIHsK KysJCWlmIChfb2lkY19zdHJjbXAocl91cmkuc2NoZW1lLCAiaHR0cHMiKSAhPSAwKSB7CisgCQkJ b2lkY19zd2FybihzLAorIAkJCQkJInRoZSBVUkwgc2NoZW1lICglcykgb2YgdGhlIGNvbmZpZ3Vy ZWQgIiBPSURDUmVkaXJlY3RVUkkgIiBTSE9VTEQgYmUgXCJodHRwc1wiIGZvciBzZWN1cml0eSBy ZWFzb25zIChtb3Jlb3Zlcjogc29tZSBQcm92aWRlcnMgbWF5IHJlamVjdCBub24tSFRUUFMgVVJM cykiLAorIAkJCQkJcl91cmkuc2NoZW1lKTsKK0BAIC0yMjk5LDcgKzIyOTksNyBAQCBzdGF0aWMg aW50IG9pZGNfY2hlY2tfY29uZmlnX29hdXRoKHNlcnZlcl9yZWMgKnMsIG9pZGNfY2ZnICpjKSB7 CisgCWlmIChjLT5vYXV0aC5tZXRhZGF0YV91cmwgIT0gTlVMTCkgeworIAkJYXByX3VyaV9wYXJz ZShzLT5wcm9jZXNzLT5wY29uZiwgYy0+b2F1dGgubWV0YWRhdGFfdXJsLCAmcl91cmkpOworIAkJ aWYgKChyX3VyaS5zY2hlbWUgPT0gTlVMTCkKKy0JCQkJfHwgKGFwcl9zdHJuYXRjbXAocl91cmku c2NoZW1lLCAiaHR0cHMiKSAhPSAwKSkgeworKwkJCQl8fCAoX29pZGNfc3RyY21wKHJfdXJpLnNj aGVtZSwgImh0dHBzIikgIT0gMCkpIHsKKyAJCQlvaWRjX3N3YXJuKHMsCisgCQkJCQkidGhlIFVS TCBzY2hlbWUgKCVzKSBvZiB0aGUgY29uZmlndXJlZCAiIE9JRENPQXV0aFNlcnZlck1ldGFkYXRh VVJMICIgU0hPVUxEIGJlIFwiaHR0cHNcIiBmb3Igc2VjdXJpdHkgcmVhc29ucyEiLAorIAkJCQkJ cl91cmkuc2NoZW1lKTsKK2RpZmYgLS1naXQgYS9zcmMvam9zZS5jIGIvc3JjL2pvc2UuYworaW5k ZXggOTQyMzUwMC4uODU2M2FiOSAxMDA2NDQKKy0tLSBhL3NyYy9qb3NlLmMKKysrKyBiL3NyYy9q b3NlLmMKK0BAIC0xNzUsNyArMTc1LDcgQEAgY2hhciogb2lkY19qd3Rfc2VyaWFsaXplKGFwcl9w b29sX3QgKnBvb2wsIG9pZGNfand0X3QgKmp3dCwKKyAJCW9pZGNfam9zZV9lcnJvcl90ICplcnIp IHsKKyAJY2pvc2VfZXJyIGNqb3NlX2VycjsKKyAJY29uc3QgY2hhciAqY3NlciA9IE5VTEw7Cist CWlmIChzdHJjbXAoand0LT5oZWFkZXIuYWxnLCBDSk9TRV9IRFJfQUxHX05PTkUpICE9IDApIHsK KysJaWYgKF9vaWRjX3N0cmNtcChqd3QtPmhlYWRlci5hbGcsIENKT1NFX0hEUl9BTEdfTk9ORSkg IT0gMCkgeworIAkJaWYgKGNqb3NlX2p3c19leHBvcnQoand0LT5jam9zZV9qd3MsICZjc2VyLCAm Y2pvc2VfZXJyKSA9PSBGQUxTRSkgeworIAkJCW9pZGNfam9zZV9lcnJvcihlcnIsICJjam9zZV9q d3NfZXhwb3J0IGZhaWxlZDogJXMiLAorIAkJCQkJb2lkY19jam9zZV9lMnMocG9vbCwgY2pvc2Vf ZXJyKSk7CitAQCAtMjA1LDI0ICsyMDUsMjQgQEAgY2hhciogb2lkY19qd3Rfc2VyaWFsaXplKGFw cl9wb29sX3QgKnBvb2wsIG9pZGNfand0X3QgKmp3dCwKKyAgKiByZXR1cm4gdGhlIGtleSB0eXBl IGZvciBhbiBhbGdvcml0aG0KKyAgKi8KKyBzdGF0aWMgaW50IG9pZGNfYWxnMmt0eShjb25zdCBj aGFyICphbGcpIHsKKy0JaWYgKHN0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfRElSKSA9PSAwKQor KwlpZiAoX29pZGNfc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19ESVIpID09IDApCisgCQlyZXR1 cm4gQ0pPU0VfSldLX0tUWV9PQ1Q7CistCWlmIChzdHJuY21wKGFsZywgIlJTIiwgMikgPT0gMCkK KysJaWYgKF9vaWRjX3N0cm5jbXAoYWxnLCAiUlMiLCAyKSA9PSAwKQorIAkJcmV0dXJuIENKT1NF X0pXS19LVFlfUlNBOworLQlpZiAoc3RybmNtcChhbGcsICJQUyIsIDIpID09IDApCisrCWlmIChf b2lkY19zdHJuY21wKGFsZywgIlBTIiwgMikgPT0gMCkKKyAJCXJldHVybiBDSk9TRV9KV0tfS1RZ X1JTQTsKKy0JaWYgKHN0cm5jbXAoYWxnLCAiSFMiLCAyKSA9PSAwKQorKwlpZiAoX29pZGNfc3Ry bmNtcChhbGcsICJIUyIsIDIpID09IDApCisgCQlyZXR1cm4gQ0pPU0VfSldLX0tUWV9PQ1Q7Cisg I2lmIChPSURDX0pPU0VfRUNfU1VQUE9SVCkKKy0JaWYgKHN0cm5jbXAoYWxnLCAiRVMiLCAyKSA9 PSAwKQorKwlpZiAoX29pZGNfc3RybmNtcChhbGcsICJFUyIsIDIpID09IDApCisgCQlyZXR1cm4g Q0pPU0VfSldLX0tUWV9FQzsKKyAjZW5kaWYKKy0JaWYgKChzdHJjbXAoYWxnLCBDSk9TRV9IRFJf QUxHX0ExMjhLVykgPT0gMCkKKy0JCQl8fCAoc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19BMTky S1cpID09IDApCistCQkJfHwgKHN0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfQTI1NktXKSA9PSAw KSkKKysJaWYgKChfb2lkY19zdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX0ExMjhLVykgPT0gMCkK KysJCQl8fCAoX29pZGNfc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19BMTkyS1cpID09IDApCisr CQkJfHwgKF9vaWRjX3N0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfQTI1NktXKSA9PSAwKSkKKyAJ CXJldHVybiBDSk9TRV9KV0tfS1RZX09DVDsKKy0JaWYgKChzdHJjbXAoYWxnLCBDSk9TRV9IRFJf QUxHX1JTQTFfNSkgPT0gMCkKKy0JCQl8fCAoc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19SU0Ff T0FFUCkgPT0gMCkpCisrCWlmICgoX29pZGNfc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19SU0Ex XzUpID09IDApCisrCQkJfHwgKF9vaWRjX3N0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfUlNBX09B RVApID09IDApKQorIAkJcmV0dXJuIENKT1NFX0pXS19LVFlfUlNBOworIAlyZXR1cm4gLTE7Cisg fQorQEAgLTI0MiwyNCArMjQyLDI0IEBAIHVuc2lnbmVkIGludCBvaWRjX2FsZzJrZXlzaXplKGNv bnN0IGNoYXIgKmFsZykgeworIAlpZiAoYWxnID09IE5VTEwpCisgCQlyZXR1cm4gMDsKKyAKKy0J aWYgKHN0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfQTEyOEtXKSA9PSAwKQorKwlpZiAoX29pZGNf c3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19BMTI4S1cpID09IDApCisgCQlyZXR1cm4gMTY7Cist CWlmIChzdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX0ExOTJLVykgPT0gMCkKKysJaWYgKF9vaWRj X3N0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfQTE5MktXKSA9PSAwKQorIAkJcmV0dXJuIDI0Owor LQlpZiAoc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19BMjU2S1cpID09IDApCisrCWlmIChfb2lk Y19zdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX0EyNTZLVykgPT0gMCkKKyAJCXJldHVybiAzMjsK KyAKKy0JaWYgKChzdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX1JTMjU2KSA9PSAwKQorLQkJCXx8 IChzdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX1BTMjU2KSA9PSAwKQorLQkJCXx8IChzdHJjbXAo YWxnLCBDSk9TRV9IRFJfQUxHX0hTMjU2KSA9PSAwKSkKKysJaWYgKChfb2lkY19zdHJjbXAoYWxn LCBDSk9TRV9IRFJfQUxHX1JTMjU2KSA9PSAwKQorKwkJCXx8IChfb2lkY19zdHJjbXAoYWxnLCBD Sk9TRV9IRFJfQUxHX1BTMjU2KSA9PSAwKQorKwkJCXx8IChfb2lkY19zdHJjbXAoYWxnLCBDSk9T RV9IRFJfQUxHX0hTMjU2KSA9PSAwKSkKKyAJCXJldHVybiAzMjsKKy0JaWYgKChzdHJjbXAoYWxn LCBDSk9TRV9IRFJfQUxHX1JTMzg0KSA9PSAwKQorLQkJCXx8IChzdHJjbXAoYWxnLCBDSk9TRV9I RFJfQUxHX1BTMzg0KSA9PSAwKQorLQkJCXx8IChzdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX0hT Mzg0KSA9PSAwKSkKKysJaWYgKChfb2lkY19zdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX1JTMzg0 KSA9PSAwKQorKwkJCXx8IChfb2lkY19zdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX1BTMzg0KSA9 PSAwKQorKwkJCXx8IChfb2lkY19zdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX0hTMzg0KSA9PSAw KSkKKyAJCXJldHVybiA0ODsKKy0JaWYgKChzdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX1JTNTEy KSA9PSAwKQorLQkJCXx8IChzdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX1BTNTEyKSA9PSAwKQor LQkJCXx8IChzdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX0hTNTEyKSA9PSAwKSkKKysJaWYgKChf b2lkY19zdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX1JTNTEyKSA9PSAwKQorKwkJCXx8IChfb2lk Y19zdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX1BTNTEyKSA9PSAwKQorKwkJCXx8IChfb2lkY19z dHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX0hTNTEyKSA9PSAwKSkKKyAJCXJldHVybiA2NDsKKyAK KyAJcmV0dXJuIDA7CitAQCAtMzA0LDcgKzMwNCw3IEBAIHN0YXRpYyBjam9zZV9qd2tfdCogb2lk Y19qd2tfcGFyc2VfcnNhX3g1Y19zcGVjKGFwcl9wb29sX3QgKnBvb2wsCisgCQlnb3RvIGVuZDsK KyAJfQorIAorLQlpZiAoYXByX3N0cm5hdGNtcChrdHksIE9JRENfSk9TRV9IRFJfS1RZX1JTQSkg IT0gMCkgeworKwlpZiAoX29pZGNfc3RyY21wKGt0eSwgT0lEQ19KT1NFX0hEUl9LVFlfUlNBKSAh PSAwKSB7CisgCQlvaWRjX2pvc2VfZXJyb3IoZXJyLAorIAkJCQkibm8gXCIiIE9JRENfSk9TRV9I RFJfS1RZX1JTQSAiXCIga2V5IHR5cGUgZm91bmQgSldLIEpTT04gdmFsdWUiKTsKKyAJCWdvdG8g ZW5kOworQEAgLTUxNSw3ICs1MTUsNyBAQCBzdGF0aWMgYXByX2J5dGVfdCBvaWRjX2pvc2VfYXJy YXlfaGFzX3N0cmluZyhhcHJfYXJyYXlfaGVhZGVyX3QgKmhheXN0YWNrLAorIAkJY29uc3QgY2hh ciAqbmVlZGxlKSB7CisgCWludCBpID0gMDsKKyAJd2hpbGUgKGkgPCBoYXlzdGFjay0+bmVsdHMp IHsKKy0JCWlmIChhcHJfc3RybmF0Y21wKCgoY29uc3QgY2hhcioqKSBoYXlzdGFjay0+ZWx0cylb aV0sIG5lZWRsZSkgPT0gMCkKKysJCWlmIChfb2lkY19zdHJjbXAoKChjb25zdCBjaGFyKiopIGhh eXN0YWNrLT5lbHRzKVtpXSwgbmVlZGxlKSA9PSAwKQorIAkJCXJldHVybiBUUlVFOworIAkJaSsr OworIAl9CitAQCAtMTA2NSwyMiArMTA2NSwyMiBAQCBhcHJfYnl0ZV90IG9pZGNfam9zZV9oYXNo X2J5dGVzKGFwcl9wb29sX3QgKnBvb2wsIGNvbnN0IGNoYXIgKnNfZGlnZXN0LAorICAqIHJldHVy biB0aGUgT3BlblNTTCBoYXNoIGFsZ29yaXRobSBhc3NvY2lhdGVkIHdpdGggYSBzcGVjaWZpZWQg SldUIGFsZ29yaXRobQorICAqLworIHN0YXRpYyBjaGFyKiBvaWRjX2pvc2VfYWxnX3RvX29wZW5z c2xfZGlnZXN0KGNvbnN0IGNoYXIgKmFsZykgeworLQlpZiAoKHN0cmNtcChhbGcsIENKT1NFX0hE Ul9BTEdfUlMyNTYpID09IDApCistCQkJfHwgKHN0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfUFMy NTYpID09IDApCistCQkJfHwgKHN0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfSFMyNTYpID09IDAp CistCQkJfHwgKHN0cmNtcChhbGcsIENKT1NFX0hEUl9BTEdfRVMyNTYpID09IDApKSB7CisrCWlm ICgoX29pZGNfc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19SUzI1NikgPT0gMCkKKysJCQl8fCAo X29pZGNfc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19QUzI1NikgPT0gMCkKKysJCQl8fCAoX29p ZGNfc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19IUzI1NikgPT0gMCkKKysJCQl8fCAoX29pZGNf c3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19FUzI1NikgPT0gMCkpIHsKKyAJCXJldHVybiBMTl9z aGEyNTY7CisgCX0KKy0JaWYgKChzdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX1JTMzg0KSA9PSAw KQorLQkJCXx8IChzdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX1BTMzg0KSA9PSAwKQorLQkJCXx8 IChzdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxHX0hTMzg0KSA9PSAwKQorLQkJCXx8IChzdHJjbXAo YWxnLCBDSk9TRV9IRFJfQUxHX0VTMzg0KSA9PSAwKSkgeworKwlpZiAoKF9vaWRjX3N0cmNtcChh bGcsIENKT1NFX0hEUl9BTEdfUlMzODQpID09IDApCisrCQkJfHwgKF9vaWRjX3N0cmNtcChhbGcs IENKT1NFX0hEUl9BTEdfUFMzODQpID09IDApCisrCQkJfHwgKF9vaWRjX3N0cmNtcChhbGcsIENK T1NFX0hEUl9BTEdfSFMzODQpID09IDApCisrCQkJfHwgKF9vaWRjX3N0cmNtcChhbGcsIENKT1NF X0hEUl9BTEdfRVMzODQpID09IDApKSB7CisgCQlyZXR1cm4gTE5fc2hhMzg0OworIAl9CistCWlm ICgoc3RyY21wKGFsZywgQ0pPU0VfSERSX0FMR19SUzUxMikgPT0gMCkKKy0JCQl8fCAoc3RyY21w KGFsZywgQ0pPU0VfSERSX0FMR19QUzUxMikgPT0gMCkKKy0JCQl8fCAoc3RyY21wKGFsZywgQ0pP U0VfSERSX0FMR19IUzUxMikgPT0gMCkKKy0JCQl8fCAoc3RyY21wKGFsZywgQ0pPU0VfSERSX0FM R19FUzUxMikgPT0gMCkpIHsKKysJaWYgKChfb2lkY19zdHJjbXAoYWxnLCBDSk9TRV9IRFJfQUxH

    [continued in next message]

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