<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>11559</bug_id>
          
          <creation_ts>2007-04-18 15:29:19 +0400</creation_ts>
          <short_desc>apache2 не всегда отдаёт заголовки при использовании mod_ssl</short_desc>
          <delta_ts>2017-10-16 14:42:29 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>apache2</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anton Farygin">rider</reporter>
          <assigned_to name="Anton Farygin">rider</assigned_to>
          <cc>inger</cc>
    
    <cc>rider</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>49071</commentid>
    <comment_count>0</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2007-04-18 15:29:19 +0400</bug_when>
    <thetext>Метод воспроизводства:
1) ставим и приводим в рабочее состояние alterator-fbi
2) редактируем httpd2.alterator.conf, добавляем строки:
ErrorDocument 400 &quot;https://localhost:8080/fbi-bin/&quot;
ErrorDocument 404 &quot;https://localhost:8080/fbi-bin/&quot;

Смотрим:
curl -kv https://localhost:8080/dsalkfjslkjf  - поле Location в заголовках,
отданных сервером - появляется. Затем идёт HTML о необходимости сделать редирект.

смотрим:
curl -kv http://localhost:8080/dsalkfjslkjf - заголовки от сервера не приходят
вообще, открывается сразу HTML о необходимости сделать редирект

После исправления этой ошибки можно будет сделать редирект с
http://localhost:8080/ на https://localhost:8080/ при обращении к alterator-fbi</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49167</commentid>
    <comment_count>1</comment_count>
      <attachid>1913</attachid>
    <who name="solo">solo</who>
    <bug_when>2007-04-19 19:04:38 +0400</bug_when>
    <thetext>Created attachment 1913
apache2-2.2.4-alt-headers.ErrorDocument-0.1.patch

Патч для вывода отладки ap_send_error_response.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49168</commentid>
    <comment_count>2</comment_count>
    <who name="solo">solo</who>
    <bug_when>2007-04-19 19:19:26 +0400</bug_when>
    <thetext>После прикладывания apache2-2.2.4-alt-headers.ErrorDocument-0.1.patch
(http://git.altlinux.org/people/solo/packages/?p=apache2.git;a=commit;h=6d9794b7d7df70303c40a03a2c654e32591364d4)
видно, что при звпросах вида &quot;curl -kv http://localhost:8080/dsalkfjslkjf&quot; при
вызове функции ap_send_error_response условие (!r-&gt;assbackwards) не выполняется
(соответственно заголовки не генерируются):

[Thu Apr 19 19:10:38 2007] [info] [client 127.0.0.1] SSL handshake failed: HTTP
spoken on HTTPS port; trying to send HTML error page
[Thu Apr 19 19:10:38 2007] [info] SSL Library Error: 336027804
error:1407609C:SSL routines:SSL23_GET_CLIENT_HELLO:http request speaking HTTP to
HTTPS port!?
[Thu Apr 19 19:10:38 2007] [debug] http_protocol.c(1107):
ap_send_error_response: start
[Thu Apr 19 19:10:38 2007] [debug] http_protocol.c(1323):
ap_send_error_response: END.

При запросах вида &quot;curl -kv https://localhost:8080/dsalkfjslkjf&quot;,
ap_send_error_response отрабатывает так:

[Thu Apr 19 19:10:18 2007] [info] Initial (No.1) HTTPS request received for
child 0 (server worksol.spb.altlinux.org:443)
[Thu Apr 19 19:10:18 2007] [error] [client 127.0.0.1] File does not exist:
/var/www/html/alkjdakshdasd
[Thu Apr 19 19:10:18 2007] [debug] http_protocol.c(1107):
ap_send_error_response: start
[Thu Apr 19 19:10:18 2007] [debug] http_protocol.c(1160):
ap_send_error_response: (!r-&gt;assbackwards) is TRUE.
[Thu Apr 19 19:10:18 2007] [debug] http_protocol.c(1176):
ap_send_error_response: (ap_is_HTTP_REDIRECT(status) || (status ==
HTTP_CREATED)) is TRUE.
[Thu Apr 19 19:10:18 2007] [debug] http_protocol.c(1181):
ap_send_error_response: ((location != NULL) &amp;&amp; *location) is TRUE.
[Thu Apr 19 19:10:18 2007] [debug] http_protocol.c(1214):
ap_send_error_response: (apr_table_get(r-&gt;subprocess_env,
&quot;suppress-error-charset&quot;) != NULL) is FALSE.
[Thu Apr 19 19:10:18 2007] [debug] http_protocol.c(1323):
ap_send_error_response: END.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49169</commentid>
    <comment_count>3</comment_count>
    <who name="solo">solo</who>
    <bug_when>2007-04-19 19:49:18 +0400</bug_when>
    <thetext>Похоже, что r-&gt;assbackwards выставляется в read_request_line (в файле
server/protocol.c)...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49539</commentid>
    <comment_count>4</comment_count>
      <attachid>1926</attachid>
    <who name="solo">solo</who>
    <bug_when>2007-04-26 17:56:35 +0400</bug_when>
    <thetext>Created attachment 1926
apache2-2.2.4-alt-headers.ErrorDocument-0.2.patch

Состав патча apache2-2.2.4-alt-headers.ErrorDocument-0.2.patch
(http://git.altlinux.org/people/solo/packages/?p=apache2.git;a=commit;h=3005718e5b8415d000ad1431c1d4286acae40edb):


1. Генерация кучи отладочных сообщений

2. _Грязный_ хак на modules/ssl/ssl_engine_io.c: в макросе HTTP_ON_HTTPS_PORT
тип протакола прописан _явно_, как HTTP/1.1.

Использование п. 2 что позволяет корректно выстовить r-&gt;assbackwards (при
запросе по HTTP/1.1, если обращение идёт по другому протоколу, например по
HTTP/0.9 -- сеё вызовет ошибку), что в свою очередь -- вызывает появление в
ответе некоторых заголовков. Location при этом непоявляется, т. к. ответ
сервера идёт с r-&gt;status=&apos;400&apos;...

На данный момент непонятно 2 вещи:

1. Как выставить правельный протокол для ответа. (Точнее, как понять что за
протокол использовался при запросе.)

2. Где и как выставляется r-&gt;status...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49540</commentid>
    <comment_count>5</comment_count>
    <who name="solo">solo</who>
    <bug_when>2007-04-26 17:58:21 +0400</bug_when>
    <thetext>(In reply to comment #4)
&gt; Created an attachment (id=1926) [edit]
&gt; apache2-2.2.4-alt-headers.ErrorDocument-0.2.patch

apache2-2.2.4-alt22.debug.1, собранный с данным патчем:
http://git.altlinux.org/people/solo/packages/?p=apache2.git;a=commit;h=4f50edcd75dcae65f6c3967b3086e16d79b8276e</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49541</commentid>
    <comment_count>6</comment_count>
    <who name="solo">solo</who>
    <bug_when>2007-04-26 20:04:51 +0400</bug_when>
    <thetext>Похоже нужный статус невыстовляется в ap_read_request: входящий запрос
невыдерживает проверки на корректность ходеров, а mod_ssl при обращении по http,
их непринимает вообще...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49626</commentid>
    <comment_count>7</comment_count>
    <who name="solo">solo</who>
    <bug_when>2007-04-28 17:23:31 +0400</bug_when>
    <thetext>Похоже надо врезаться в ssl_io_filter_error и заменять
HTTP_ON_HTTPS_PORT_BUCKET(f-&gt;c-&gt;bucket_alloc) на реально принятое сервером.

Как получить реальное значение я непонял.

Задачу откладываю.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71076</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2008-05-31 11:52:24 +0400</bug_when>
    <thetext>Судя по faq.altlinux.ru (там чуть другая проблемка -- с чарсетом), у apache1
тоже с https и хедерами не всё гладко...

OTOH альтератор съехал на свой httpd.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166361</commentid>
    <comment_count>9</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2017-10-16 14:42:29 +0300</bug_when>
    <thetext>всё уже неактуально</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>1913</attachid>
            <date>2007-04-19 19:04:38 +0400</date>
            <delta_ts>2007-04-26 17:56:35 +0400</delta_ts>
            <desc>apache2-2.2.4-alt-headers.ErrorDocument-0.1.patch</desc>
            <filename>apache2-2.2.4-alt-headers.ErrorDocument-0.1.patch</filename>
            <type>text/plain</type>
            <size>7039</size>
            <attacher name="solo">solo</attacher>
            
              <data encoding="base64">IG1vZHVsZXMvaHR0cC9odHRwX3Byb3RvY29sLmMgfCAgIDcwICsrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlcyBjaGFuZ2VkLCA3MCBpbnNlcnRpb25zKCsp
LCAwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL21vZHVsZXMvaHR0cC9odHRwX3Byb3RvY29s
LmMgYi9tb2R1bGVzL2h0dHAvaHR0cF9wcm90b2NvbC5jCmluZGV4IGQ4ODg2YWYuLjRiZjYyMjcg
MTAwNjQ0Ci0tLSBhL21vZHVsZXMvaHR0cC9odHRwX3Byb3RvY29sLmMKKysrIGIvbW9kdWxlcy9o
dHRwL2h0dHBfcHJvdG9jb2wuYwpAQCAtMTEwMSw2ICsxMTAxLDEyIEBAIEFQX0RFQ0xBUkUodm9p
ZCkgYXBfc2VuZF9lcnJvcl9yZXNwb25zZShyZXF1ZXN0X3JlYyAqciwgaW50IHJlY3Vyc2l2ZV9l
cnJvcikKICAgICBpbnQgaWR4ID0gYXBfaW5kZXhfb2ZfcmVzcG9uc2Uoc3RhdHVzKTsKICAgICBj
aGFyICpjdXN0b21fcmVzcG9uc2U7CiAgICAgY29uc3QgY2hhciAqbG9jYXRpb24gPSBhcHJfdGFi
bGVfZ2V0KHItPmhlYWRlcnNfb3V0LCAiTG9jYXRpb24iKTsKKwkvKiBzb2xvICovCisJc2VydmVy
X3JlYyAqIHNzID0gci0+c2VydmVyOworCisJYXBfbG9nX2Vycm9yKEFQTE9HX01BUkssIEFQTE9H
X0RFQlVHLCAwLCBzcywKKwkJCQkgImFwX3NlbmRfZXJyb3JfcmVzcG9uc2U6IHN0YXJ0Iik7CisJ
LyogKi8KIAogICAgIC8qIEF0IHRoaXMgcG9pbnQsIHdlIGFyZSBzdGFydGluZyB0aGUgcmVzcG9u
c2Ugb3Zlciwgc28gd2UgaGF2ZSB0byByZXNldAogICAgICAqIHRoaXMgdmFsdWUuCkBAIC0xMTIx
LDYgKzExMjcsMTAgQEAgQVBfREVDTEFSRSh2b2lkKSBhcF9zZW5kX2Vycm9yX3Jlc3BvbnNlKHJl
cXVlc3RfcmVjICpyLCBpbnQgcmVjdXJzaXZlX2Vycm9yKQogICAgICAqIGZvcm1lci4KICAgICAg
Ki8KICAgICBpZiAobG9jYXRpb24gPT0gTlVMTCkgeworCQkvKiBzb2xvICovCisJCWFwX2xvZ19l
cnJvcihBUExPR19NQVJLLCBBUExPR19ERUJVRywgMCwgc3MsCisJCQkJCSAiYXBfc2VuZF9lcnJv
cl9yZXNwb25zZTogKGxvY2F0aW9uID09IE5VTEwpIGlzIFRSVUUuIik7CisJCS8qICovCiAgICAg
ICAgIGxvY2F0aW9uID0gYXByX3RhYmxlX2dldChyLT5lcnJfaGVhZGVyc19vdXQsICJMb2NhdGlv
biIpOwogICAgIH0KICAgICAvKiBXZSBuZWVkIHRvIHNwZWNpYWwtY2FzZSB0aGUgaGFuZGxpbmcg
b2YgMjA0IGFuZCAzMDQgcmVzcG9uc2VzLApAQCAtMTEyOCwxNiArMTEzOCwyOCBAQCBBUF9ERUNM
QVJFKHZvaWQpIGFwX3NlbmRfZXJyb3JfcmVzcG9uc2UocmVxdWVzdF9yZWMgKnIsIGludCByZWN1
cnNpdmVfZXJyb3IpCiAgICAgICogbWVzc2FnZSBib2R5LiAgTm90ZSB0aGF0IGJlaW5nIGFzc2Jh
Y2t3YXJkcyBoZXJlIGlzIG5vdCBhbiBvcHRpb24uCiAgICAgICovCiAgICAgaWYgKHN0YXR1cyA9
PSBIVFRQX05PVF9NT0RJRklFRCkgeworCQkvKiBzb2xvICovCisJCWFwX2xvZ19lcnJvcihBUExP
R19NQVJLLCBBUExPR19ERUJVRywgMCwgc3MsCisJCQkJCSAiYXBfc2VuZF9lcnJvcl9yZXNwb25z
ZTogKHN0YXR1cyA9PSBIVFRQX05PVF9NT0RJRklFRCkgaXMgVFJVRS4iKTsKKwkJLyogKi8KICAg
ICAgICAgYXBfZmluYWxpemVfcmVxdWVzdF9wcm90b2NvbChyKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAogICAgIGlmIChzdGF0dXMgPT0gSFRUUF9OT19DT05URU5UKSB7CisJCS8qIHNvbG8g
Ki8KKwkJYXBfbG9nX2Vycm9yKEFQTE9HX01BUkssIEFQTE9HX0RFQlVHLCAwLCBzcywKKwkJCQkJ
ICJhcF9zZW5kX2Vycm9yX3Jlc3BvbnNlOiAoc3RhdHVzID09IEhUVFBfTk9UX0NPTlRFTlQpIGlz
IFRSVUUuIik7CisJCS8qICovCiAgICAgICAgIGFwX2ZpbmFsaXplX3JlcXVlc3RfcHJvdG9jb2wo
cik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAoIXItPmFzc2JhY2t3YXJkcykg
eworCQkvKiBzb2xvICovCisJCWFwX2xvZ19lcnJvcihBUExPR19NQVJLLCBBUExPR19ERUJVRywg
MCwgc3MsCisJCQkJCSAiYXBfc2VuZF9lcnJvcl9yZXNwb25zZTogKCFyLT5hc3NiYWNrd2FyZHMp
IGlzIFRSVUUuIik7CisJCS8qICovCiAgICAgICAgIGFwcl90YWJsZV90ICp0bXAgPSByLT5oZWFk
ZXJzX291dDsKIAogICAgICAgICAvKiBGb3IgYWxsIEhUVFAvMS54IHJlc3BvbnNlcyBmb3Igd2hp
Y2ggd2UgZ2VuZXJhdGUgdGhlIG1lc3NhZ2UsCkBAIC0xMTUwLDEwICsxMTcyLDIyIEBAIEFQX0RF
Q0xBUkUodm9pZCkgYXBfc2VuZF9lcnJvcl9yZXNwb25zZShyZXF1ZXN0X3JlYyAqciwgaW50IHJl
Y3Vyc2l2ZV9lcnJvcikKICAgICAgICAgYXByX3RhYmxlX2NsZWFyKHItPmVycl9oZWFkZXJzX291
dCk7CiAKICAgICAgICAgaWYgKGFwX2lzX0hUVFBfUkVESVJFQ1Qoc3RhdHVzKSB8fCAoc3RhdHVz
ID09IEhUVFBfQ1JFQVRFRCkpIHsKKwkJCS8qIHNvbG8gKi8KKwkJCWFwX2xvZ19lcnJvcihBUExP
R19NQVJLLCBBUExPR19ERUJVRywgMCwgc3MsCisJCQkJCQkgImFwX3NlbmRfZXJyb3JfcmVzcG9u
c2U6IChhcF9pc19IVFRQX1JFRElSRUNUKHN0YXR1cykgfHwgKHN0YXR1cyA9PSBIVFRQX0NSRUFU
RUQpKSBpcyBUUlVFLiIpOworCQkJLyogKi8KICAgICAgICAgICAgIGlmICgobG9jYXRpb24gIT0g
TlVMTCkgJiYgKmxvY2F0aW9uKSB7CisJCQkJLyogc29sbyAqLworCQkJCWFwX2xvZ19lcnJvcihB
UExPR19NQVJLLCBBUExPR19ERUJVRywgMCwgc3MsCisJCQkJCQkJICJhcF9zZW5kX2Vycm9yX3Jl
c3BvbnNlOiAoKGxvY2F0aW9uICE9IE5VTEwpICYmICpsb2NhdGlvbikgaXMgVFJVRS4iKTsKKwkJ
CQkvKiAqLwogICAgICAgICAgICAgICAgIGFwcl90YWJsZV9zZXRuKHItPmhlYWRlcnNfb3V0LCAi
TG9jYXRpb24iLCBsb2NhdGlvbik7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIHsK
KwkJCQkvKiBzb2xvICovCisJCQkJYXBfbG9nX2Vycm9yKEFQTE9HX01BUkssIEFQTE9HX0RFQlVH
LCAwLCBzcywKKwkJCQkJCQkgImFwX3NlbmRfZXJyb3JfcmVzcG9uc2U6ICgobG9jYXRpb24gIT0g
TlVMTCkgJiYgKmxvY2F0aW9uKSBpcyBGQUxTRS4iKTsKKwkJCQkvKiAqLwogICAgICAgICAgICAg
ICAgIGxvY2F0aW9uID0gIiI7ICAgLyogYXZvaWRzIGNvcmVkdW1wIHdoZW4gcHJpbnRpbmcsIGJl
bG93ICovCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTExNjQsNiArMTE5OCwxMCBAQCBB
UF9ERUNMQVJFKHZvaWQpIGFwX3NlbmRfZXJyb3JfcmVzcG9uc2UocmVxdWVzdF9yZWMgKnIsIGlu
dCByZWN1cnNpdmVfZXJyb3IpCiAKICAgICAgICAgaWYgKGFwcl90YWJsZV9nZXQoci0+c3VicHJv
Y2Vzc19lbnYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdXBwcmVzcy1lcnJvci1jaGFy
c2V0IikgIT0gTlVMTCkgeworCQkJLyogc29sbyAqLworCQkJYXBfbG9nX2Vycm9yKEFQTE9HX01B
UkssIEFQTE9HX0RFQlVHLCAwLCBzcywKKwkJCQkJCSAiYXBfc2VuZF9lcnJvcl9yZXNwb25zZTog
KGFwcl90YWJsZV9nZXQoci0+c3VicHJvY2Vzc19lbnYsIFwic3VwcHJlc3MtZXJyb3ItY2hhcnNl
dFwiKSAhPSBOVUxMKSBpcyBUUlVFLiIpOworCQkJLyogKi8KICAgICAgICAgICAgIGNvcmVfcmVx
dWVzdF9jb25maWcgKnJlcXVlc3RfY29uZiA9CiAgICAgICAgICAgICAgICAgICAgICAgICBhcF9n
ZXRfbW9kdWxlX2NvbmZpZyhyLT5yZXF1ZXN0X2NvbmZpZywgJmNvcmVfbW9kdWxlKTsKICAgICAg
ICAgICAgIHJlcXVlc3RfY29uZi0+c3VwcHJlc3NfY2hhcnNldCA9IDE7IC8qIGF2b2lkIGFkZGlu
ZyBkZWZhdWx0CkBAIC0xMTcyLDIxICsxMjEwLDM3IEBAIEFQX0RFQ0xBUkUodm9pZCkgYXBfc2Vu
ZF9lcnJvcl9yZXNwb25zZShyZXF1ZXN0X3JlYyAqciwgaW50IHJlY3Vyc2l2ZV9lcnJvcikKICAg
ICAgICAgICAgIGFwX3NldF9jb250ZW50X3R5cGUociwgInRleHQvaHRtbCIpOwogICAgICAgICB9
CiAgICAgICAgIGVsc2UgeworCQkJLyogc29sbyAqLworCQkJYXBfbG9nX2Vycm9yKEFQTE9HX01B
UkssIEFQTE9HX0RFQlVHLCAwLCBzcywKKwkJCQkJCSAiYXBfc2VuZF9lcnJvcl9yZXNwb25zZTog
KGFwcl90YWJsZV9nZXQoci0+c3VicHJvY2Vzc19lbnYsIFwic3VwcHJlc3MtZXJyb3ItY2hhcnNl
dFwiKSAhPSBOVUxMKSBpcyBGQUxTRS4iKTsKKwkJCS8qICovCiAgICAgICAgICAgICBhcF9zZXRf
Y29udGVudF90eXBlKHIsICJ0ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4NTktMSIpOwogICAgICAg
ICB9CiAKICAgICAgICAgaWYgKChzdGF0dXMgPT0gSFRUUF9NRVRIT0RfTk9UX0FMTE9XRUQpCiAg
ICAgICAgICAgICB8fCAoc3RhdHVzID09IEhUVFBfTk9UX0lNUExFTUVOVEVEKSkgeworCQkJLyog
c29sbyAqLworCQkJYXBfbG9nX2Vycm9yKEFQTE9HX01BUkssIEFQTE9HX0RFQlVHLCAwLCBzcywK
KwkJCQkJCSAiYXBfc2VuZF9lcnJvcl9yZXNwb25zZTogKChzdGF0dXMgPT0gSFRUUF9NRVRIT0Rf
Tk9UX0FMTE9XRUQpIHx8IChzdGF0dXMgPT0gSFRUUF9OT1RfSU1QTEVNRU5URUQpKSBpcyBUUlVF
LiIpOworCQkJLyogKi8KICAgICAgICAgICAgIGFwcl90YWJsZV9zZXRuKHItPmhlYWRlcnNfb3V0
LCAiQWxsb3ciLCBtYWtlX2FsbG93KHIpKTsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChyLT5o
ZWFkZXJfb25seSkgeworCQkJLyogc29sbyAqLworCQkJYXBfbG9nX2Vycm9yKEFQTE9HX01BUkss
IEFQTE9HX0RFQlVHLCAwLCBzcywKKwkJCQkJCSAiYXBfc2VuZF9lcnJvcl9yZXNwb25zZTogKHIt
PmhlYWRlcl9vbmx5KSBpcyBUUlVFLiIpOworCQkJLyogKi8KICAgICAgICAgICAgIGFwX2ZpbmFs
aXplX3JlcXVlc3RfcHJvdG9jb2wocik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K
ICAgICB9CiAKICAgICBpZiAoKGN1c3RvbV9yZXNwb25zZSA9IGFwX3Jlc3BvbnNlX2NvZGVfc3Ry
aW5nKHIsIGlkeCkpKSB7CisJCS8qIHNvbG8gKi8KKwkJYXBfbG9nX2Vycm9yKEFQTE9HX01BUkss
IEFQTE9HX0RFQlVHLCAwLCBzcywKKwkJCQkJICJhcF9zZW5kX2Vycm9yX3Jlc3BvbnNlOiAoY3Vz
dG9tX3Jlc3BvbnNlID0gYXBfcmVzcG9uc2VfY29kZV9zdHJpbmcociwgaWR4KSkgaXMgVFJVRS4i
KTsKKwkJLyogKi8KICAgICAgICAgLyoKICAgICAgICAgICogV2UgaGF2ZSBhIGN1c3RvbSByZXNw
b25zZSBvdXRwdXQuIFRoaXMgc2hvdWxkIG9ubHkgYmUKICAgICAgICAgICogYSB0ZXh0LXN0cmlu
ZyB0byB3cml0ZSBiYWNrLiBCdXQgaWYgdGhlIEVycm9yRG9jdW1lbnQKQEAgLTEyMDQsNiArMTI1
OCwxMCBAQCBBUF9ERUNMQVJFKHZvaWQpIGFwX3NlbmRfZXJyb3JfcmVzcG9uc2UocmVxdWVzdF9y
ZWMgKnIsIGludCByZWN1cnNpdmVfZXJyb3IpCiAgICAgICAgICAqIGl0IGhhc24ndCBoYXBwZW5l
ZCB5ZXQ7IHdlIG1heSBuZXZlciBrbm93IGlmIGl0IGZhaWxzLgogICAgICAgICAgKi8KICAgICAg
ICAgaWYgKGN1c3RvbV9yZXNwb25zZVswXSA9PSAnXCInKSB7CisJCQkvKiBzb2xvICovCisJCQlh
cF9sb2dfZXJyb3IoQVBMT0dfTUFSSywgQVBMT0dfREVCVUcsIDAsIHNzLAorCQkJCQkJICJhcF9z
ZW5kX2Vycm9yX3Jlc3BvbnNlOiAoY3VzdG9tX3Jlc3BvbnNlWzBdID09ICdcIicpIGlzIFRSVUUu
Iik7CisJCQkvKiAqLwogICAgICAgICAgICAgYXBfcnB1dHMoY3VzdG9tX3Jlc3BvbnNlICsgMSwg
cik7CiAgICAgICAgICAgICBhcF9maW5hbGl6ZV9yZXF1ZXN0X3Byb3RvY29sKHIpOwogICAgICAg
ICAgICAgcmV0dXJuOwpAQCAtMTIyMyw2ICsxMjgxLDEwIEBAIEFQX0RFQ0xBUkUodm9pZCkgYXBf
c2VuZF9lcnJvcl9yZXNwb25zZShyZXF1ZXN0X3JlYyAqciwgaW50IHJlY3Vyc2l2ZV9lcnJvcikK
ICAgICAgICAgICAgICYmIGFwcl9pc2RpZ2l0KHItPnN0YXR1c19saW5lWzJdKQogICAgICAgICAg
ICAgJiYgYXByX2lzc3BhY2Uoci0+c3RhdHVzX2xpbmVbM10pCiAgICAgICAgICAgICAmJiBhcHJf
aXNhbG51bShyLT5zdGF0dXNfbGluZVs0XSkpIHsKKwkJCS8qIHNvbG8gKi8KKwkJCWFwX2xvZ19l
cnJvcihBUExPR19NQVJLLCBBUExPR19ERUJVRywgMCwgc3MsCisJCQkJCQkgImFwX3NlbmRfZXJy
b3JfcmVzcG9uc2U6IChyLT5zdGF0dXNfbGluZSAhPSBOVUxMICYmIHN0cmxlbihyLT5zdGF0dXNf
bGluZSkgPiA0ICYmIC4uLikgaXMgVFJVRS4iKTsKKwkJCS8qICovCiAgICAgICAgICAgICB0aXRs
ZSA9IHItPnN0YXR1c19saW5lOwogICAgICAgICB9CiAKQEAgLTEyNDQsNiArMTMwNiwxMCBAQCBB
UF9ERUNMQVJFKHZvaWQpIGFwX3NlbmRfZXJyb3JfcmVzcG9uc2UocmVxdWVzdF9yZWMgKnIsIGlu
dCByZWN1cnNpdmVfZXJyb3IpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxM
KTsKIAogICAgICAgICBpZiAocmVjdXJzaXZlX2Vycm9yKSB7CisJCQkvKiBzb2xvICovCisJCQlh
cF9sb2dfZXJyb3IoQVBMT0dfTUFSSywgQVBMT0dfREVCVUcsIDAsIHNzLAorCQkJCQkJICJhcF9z
ZW5kX2Vycm9yX3Jlc3BvbnNlOiAocmVjdXJzaXZlX2Vycm9yKSBpcyBUUlVFLiIpOworCQkJLyog
Ki8KICAgICAgICAgICAgIGFwX3J2cHV0c19wcm90b19pbl9hc2NpaShyLCAiPHA+QWRkaXRpb25h
bGx5LCBhICIsCiAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzX2xpbmVzW2FwX2luZGV4X29m
X3Jlc3BvbnNlKHJlY3Vyc2l2ZV9lcnJvcildLAogICAgICAgICAgICAgICAgICAgICAgICJcbmVy
cm9yIHdhcyBlbmNvdW50ZXJlZCB3aGlsZSB0cnlpbmcgdG8gdXNlIGFuICIKQEAgLTEyNTMsNiAr
MTMxOSwxMCBAQCBBUF9ERUNMQVJFKHZvaWQpIGFwX3NlbmRfZXJyb3JfcmVzcG9uc2UocmVxdWVz
dF9yZWMgKnIsIGludCByZWN1cnNpdmVfZXJyb3IpCiAgICAgICAgIGFwX3J2cHV0c19wcm90b19p
bl9hc2NpaShyLCAiPC9ib2R5PjwvaHRtbD5cbiIsIE5VTEwpOwogICAgIH0KICAgICBhcF9maW5h
bGl6ZV9yZXF1ZXN0X3Byb3RvY29sKHIpOworCS8qIHNvbG8gKi8KKwlhcF9sb2dfZXJyb3IoQVBM
T0dfTUFSSywgQVBMT0dfREVCVUcsIDAsIHNzLAorCQkJCSAiYXBfc2VuZF9lcnJvcl9yZXNwb25z
ZTogRU5ELiIpOworCS8qICovCiB9CiAKIC8qCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>1926</attachid>
            <date>2007-04-26 17:56:35 +0400</date>
            <delta_ts>2007-04-26 17:56:35 +0400</delta_ts>
            <desc>apache2-2.2.4-alt-headers.ErrorDocument-0.2.patch</desc>
            <filename>apache2-2.2.4-alt-headers.ErrorDocument-0.2.patch</filename>
            <type>text/plain</type>
            <size>24218</size>
            <attacher name="solo">solo</attacher>
            
              <data encoding="base64">IG1vZHVsZXMvaHR0cC9odHRwX3Byb3RvY29sLmMgfCAgIDcwICsrKysrKysrKysrKysrKysrCiBt
b2R1bGVzL3NzbC9tb2Rfc3NsLmMgICAgICAgIHwgICAxMiArKysKIG1vZHVsZXMvc3NsL3NzbF9l
bmdpbmVfaW8uYyAgfCAgICA4ICsrLQogc2VydmVyL3Byb3RvY29sLmMgICAgICAgICAgICB8ICAx
NzQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiA0IGZpbGVzIGNo
YW5nZWQsIDI2MyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL21v
ZHVsZXMvaHR0cC9odHRwX3Byb3RvY29sLmMgYi9tb2R1bGVzL2h0dHAvaHR0cF9wcm90b2NvbC5j
CmluZGV4IGQ4ODg2YWYuLjM1YTU5ZjEgMTAwNjQ0Ci0tLSBhL21vZHVsZXMvaHR0cC9odHRwX3By
b3RvY29sLmMKKysrIGIvbW9kdWxlcy9odHRwL2h0dHBfcHJvdG9jb2wuYwpAQCAtMTEwMSw2ICsx
MTAxLDEyIEBAIEFQX0RFQ0xBUkUodm9pZCkgYXBfc2VuZF9lcnJvcl9yZXNwb25zZShyZXF1ZXN0
X3JlYyAqciwgaW50IHJlY3Vyc2l2ZV9lcnJvcikKICAgICBpbnQgaWR4ID0gYXBfaW5kZXhfb2Zf
cmVzcG9uc2Uoc3RhdHVzKTsKICAgICBjaGFyICpjdXN0b21fcmVzcG9uc2U7CiAgICAgY29uc3Qg
Y2hhciAqbG9jYXRpb24gPSBhcHJfdGFibGVfZ2V0KHItPmhlYWRlcnNfb3V0LCAiTG9jYXRpb24i
KTsKKwkvKiBzb2xvICovCisJc2VydmVyX3JlYyAqIHNzID0gci0+c2VydmVyOworCisJYXBfbG9n
X2Vycm9yKEFQTE9HX01BUkssIEFQTE9HX0RFQlVHLCAwLCBzcywKKwkJCQkgImFwX3NlbmRfZXJy
b3JfcmVzcG9uc2U6IFNUQVJUIik7CisJLyogKi8KIAogICAgIC8qIEF0IHRoaXMgcG9pbnQsIHdl
IGFyZSBzdGFydGluZyB0aGUgcmVzcG9uc2Ugb3Zlciwgc28gd2UgaGF2ZSB0byByZXNldAogICAg
ICAqIHRoaXMgdmFsdWUuCkBAIC0xMTIxLDYgKzExMjcsMTAgQEAgQVBfREVDTEFSRSh2b2lkKSBh
cF9zZW5kX2Vycm9yX3Jlc3BvbnNlKHJlcXVlc3RfcmVjICpyLCBpbnQgcmVjdXJzaXZlX2Vycm9y
KQogICAgICAqIGZvcm1lci4KICAgICAgKi8KICAgICBpZiAobG9jYXRpb24gPT0gTlVMTCkgewor
CQkvKiBzb2xvICovCisJCWFwX2xvZ19lcnJvcihBUExPR19NQVJLLCBBUExPR19ERUJVRywgMCwg
c3MsCisJCQkJCSAiYXBfc2VuZF9lcnJvcl9yZXNwb25zZTogKGxvY2F0aW9uID09IE5VTEwpIGlz
IFRSVUUuIik7CisJCS8qICovCiAgICAgICAgIGxvY2F0aW9uID0gYXByX3RhYmxlX2dldChyLT5l
cnJfaGVhZGVyc19vdXQsICJMb2NhdGlvbiIpOwogICAgIH0KICAgICAvKiBXZSBuZWVkIHRvIHNw
ZWNpYWwtY2FzZSB0aGUgaGFuZGxpbmcgb2YgMjA0IGFuZCAzMDQgcmVzcG9uc2VzLApAQCAtMTEy
OCwxNiArMTEzOCwyOCBAQCBBUF9ERUNMQVJFKHZvaWQpIGFwX3NlbmRfZXJyb3JfcmVzcG9uc2Uo
cmVxdWVzdF9yZWMgKnIsIGludCByZWN1cnNpdmVfZXJyb3IpCiAgICAgICogbWVzc2FnZSBib2R5
LiAgTm90ZSB0aGF0IGJlaW5nIGFzc2JhY2t3YXJkcyBoZXJlIGlzIG5vdCBhbiBvcHRpb24uCiAg
ICAgICovCiAgICAgaWYgKHN0YXR1cyA9PSBIVFRQX05PVF9NT0RJRklFRCkgeworCQkvKiBzb2xv
ICovCisJCWFwX2xvZ19lcnJvcihBUExPR19NQVJLLCBBUExPR19ERUJVRywgMCwgc3MsCisJCQkJ
CSAiYXBfc2VuZF9lcnJvcl9yZXNwb25zZTogKHN0YXR1cyA9PSBIVFRQX05PVF9NT0RJRklFRCkg
aXMgVFJVRS4iKTsKKwkJLyogKi8KICAgICAgICAgYXBfZmluYWxpemVfcmVxdWVzdF9wcm90b2Nv
bChyKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChzdGF0dXMgPT0gSFRUUF9O
T19DT05URU5UKSB7CisJCS8qIHNvbG8gKi8KKwkJYXBfbG9nX2Vycm9yKEFQTE9HX01BUkssIEFQ
TE9HX0RFQlVHLCAwLCBzcywKKwkJCQkJICJhcF9zZW5kX2Vycm9yX3Jlc3BvbnNlOiAoc3RhdHVz
ID09IEhUVFBfTk9UX0NPTlRFTlQpIGlzIFRSVUUuIik7CisJCS8qICovCiAgICAgICAgIGFwX2Zp
bmFsaXplX3JlcXVlc3RfcHJvdG9jb2wocik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAg
ICBpZiAoIXItPmFzc2JhY2t3YXJkcykgeworCQkvKiBzb2xvICovCisJCWFwX2xvZ19lcnJvcihB
UExPR19NQVJLLCBBUExPR19ERUJVRywgMCwgc3MsCisJCQkJCSAiYXBfc2VuZF9lcnJvcl9yZXNw
b25zZTogKCFyLT5hc3NiYWNrd2FyZHMpIGlzIFRSVUU7IHN0YXR1cz0nJWQnIiwgc3RhdHVzKTsK
KwkJLyogKi8KICAgICAgICAgYXByX3RhYmxlX3QgKnRtcCA9IHItPmhlYWRlcnNfb3V0OwogCiAg
ICAgICAgIC8qIEZvciBhbGwgSFRUUC8xLnggcmVzcG9uc2VzIGZvciB3aGljaCB3ZSBnZW5lcmF0
ZSB0aGUgbWVzc2FnZSwKQEAgLTExNTAsMTAgKzExNzIsMjIgQEAgQVBfREVDTEFSRSh2b2lkKSBh
cF9zZW5kX2Vycm9yX3Jlc3BvbnNlKHJlcXVlc3RfcmVjICpyLCBpbnQgcmVjdXJzaXZlX2Vycm9y
KQogICAgICAgICBhcHJfdGFibGVfY2xlYXIoci0+ZXJyX2hlYWRlcnNfb3V0KTsKIAogICAgICAg
ICBpZiAoYXBfaXNfSFRUUF9SRURJUkVDVChzdGF0dXMpIHx8IChzdGF0dXMgPT0gSFRUUF9DUkVB
VEVEKSkgeworCQkJLyogc29sbyAqLworCQkJYXBfbG9nX2Vycm9yKEFQTE9HX01BUkssIEFQTE9H
X0RFQlVHLCAwLCBzcywKKwkJCQkJCSAiYXBfc2VuZF9lcnJvcl9yZXNwb25zZTogKGFwX2lzX0hU
VFBfUkVESVJFQ1Qoc3RhdHVzKSB8fCAoc3RhdHVzID09IEhUVFBfQ1JFQVRFRCkpIGlzIFRSVUUu
Iik7CisJCQkvKiAqLwogICAgICAgICAgICAgaWYgKChsb2NhdGlvbiAhPSBOVUxMKSAmJiAqbG9j
YXRpb24pIHsKKwkJCQkvKiBzb2xvICovCisJCQkJYXBfbG9nX2Vycm9yKEFQTE9HX01BUkssIEFQ
TE9HX0RFQlVHLCAwLCBzcywKKwkJCQkJCQkgImFwX3NlbmRfZXJyb3JfcmVzcG9uc2U6ICgobG9j
YXRpb24gIT0gTlVMTCkgJiYgKmxvY2F0aW9uKSBpcyBUUlVFLiIpOworCQkJCS8qICovCiAgICAg
ICAgICAgICAgICAgYXByX3RhYmxlX3NldG4oci0+aGVhZGVyc19vdXQsICJMb2NhdGlvbiIsIGxv
Y2F0aW9uKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UgeworCQkJCS8qIHNvbG8g
Ki8KKwkJCQlhcF9sb2dfZXJyb3IoQVBMT0dfTUFSSywgQVBMT0dfREVCVUcsIDAsIHNzLAorCQkJ
CQkJCSAiYXBfc2VuZF9lcnJvcl9yZXNwb25zZTogKChsb2NhdGlvbiAhPSBOVUxMKSAmJiAqbG9j
YXRpb24pIGlzIEZBTFNFLiIpOworCQkJCS8qICovCiAgICAgICAgICAgICAgICAgbG9jYXRpb24g
PSAiIjsgICAvKiBhdm9pZHMgY29yZWR1bXAgd2hlbiBwcmludGluZywgYmVsb3cgKi8KICAgICAg
ICAgICAgIH0KICAgICAgICAgfQpAQCAtMTE2NCw2ICsxMTk4LDEwIEBAIEFQX0RFQ0xBUkUodm9p
ZCkgYXBfc2VuZF9lcnJvcl9yZXNwb25zZShyZXF1ZXN0X3JlYyAqciwgaW50IHJlY3Vyc2l2ZV9l
cnJvcikKIAogICAgICAgICBpZiAoYXByX3RhYmxlX2dldChyLT5zdWJwcm9jZXNzX2VudiwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInN1cHByZXNzLWVycm9yLWNoYXJzZXQiKSAhPSBOVUxM
KSB7CisJCQkvKiBzb2xvICovCisJCQlhcF9sb2dfZXJyb3IoQVBMT0dfTUFSSywgQVBMT0dfREVC
VUcsIDAsIHNzLAorCQkJCQkJICJhcF9zZW5kX2Vycm9yX3Jlc3BvbnNlOiAoYXByX3RhYmxlX2dl
dChyLT5zdWJwcm9jZXNzX2VudiwgXCJzdXBwcmVzcy1lcnJvci1jaGFyc2V0XCIpICE9IE5VTEwp
IGlzIFRSVUUuIik7CisJCQkvKiAqLwogICAgICAgICAgICAgY29yZV9yZXF1ZXN0X2NvbmZpZyAq
cmVxdWVzdF9jb25mID0KICAgICAgICAgICAgICAgICAgICAgICAgIGFwX2dldF9tb2R1bGVfY29u
ZmlnKHItPnJlcXVlc3RfY29uZmlnLCAmY29yZV9tb2R1bGUpOwogICAgICAgICAgICAgcmVxdWVz
dF9jb25mLT5zdXBwcmVzc19jaGFyc2V0ID0gMTsgLyogYXZvaWQgYWRkaW5nIGRlZmF1bHQKQEAg
LTExNzIsMjEgKzEyMTAsMzcgQEAgQVBfREVDTEFSRSh2b2lkKSBhcF9zZW5kX2Vycm9yX3Jlc3Bv
bnNlKHJlcXVlc3RfcmVjICpyLCBpbnQgcmVjdXJzaXZlX2Vycm9yKQogICAgICAgICAgICAgYXBf
c2V0X2NvbnRlbnRfdHlwZShyLCAidGV4dC9odG1sIik7CiAgICAgICAgIH0KICAgICAgICAgZWxz
ZSB7CisJCQkvKiBzb2xvICovCisJCQlhcF9sb2dfZXJyb3IoQVBMT0dfTUFSSywgQVBMT0dfREVC
VUcsIDAsIHNzLAorCQkJCQkJICJhcF9zZW5kX2Vycm9yX3Jlc3BvbnNlOiAoYXByX3RhYmxlX2dl
dChyLT5zdWJwcm9jZXNzX2VudiwgXCJzdXBwcmVzcy1lcnJvci1jaGFyc2V0XCIpICE9IE5VTEwp
IGlzIEZBTFNFLiIpOworCQkJLyogKi8KICAgICAgICAgICAgIGFwX3NldF9jb250ZW50X3R5cGUo
ciwgInRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIik7CiAgICAgICAgIH0KIAogICAgICAg
ICBpZiAoKHN0YXR1cyA9PSBIVFRQX01FVEhPRF9OT1RfQUxMT1dFRCkKICAgICAgICAgICAgIHx8
IChzdGF0dXMgPT0gSFRUUF9OT1RfSU1QTEVNRU5URUQpKSB7CisJCQkvKiBzb2xvICovCisJCQlh
cF9sb2dfZXJyb3IoQVBMT0dfTUFSSywgQVBMT0dfREVCVUcsIDAsIHNzLAorCQkJCQkJICJhcF9z
ZW5kX2Vycm9yX3Jlc3BvbnNlOiAoKHN0YXR1cyA9PSBIVFRQX01FVEhPRF9OT1RfQUxMT1dFRCkg
fHwgKHN0YXR1cyA9PSBIVFRQX05PVF9JTVBMRU1FTlRFRCkpIGlzIFRSVUUuIik7CisJCQkvKiAq
LwogICAgICAgICAgICAgYXByX3RhYmxlX3NldG4oci0+aGVhZGVyc19vdXQsICJBbGxvdyIsIG1h
a2VfYWxsb3cocikpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKHItPmhlYWRlcl9vbmx5KSB7
CisJCQkvKiBzb2xvICovCisJCQlhcF9sb2dfZXJyb3IoQVBMT0dfTUFSSywgQVBMT0dfREVCVUcs
IDAsIHNzLAorCQkJCQkJICJhcF9zZW5kX2Vycm9yX3Jlc3BvbnNlOiAoci0+aGVhZGVyX29ubHkp
IGlzIFRSVUUuIik7CisJCQkvKiAqLwogICAgICAgICAgICAgYXBfZmluYWxpemVfcmVxdWVzdF9w
cm90b2NvbChyKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KIAogICAg
IGlmICgoY3VzdG9tX3Jlc3BvbnNlID0gYXBfcmVzcG9uc2VfY29kZV9zdHJpbmcociwgaWR4KSkp
IHsKKwkJLyogc29sbyAqLworCQlhcF9sb2dfZXJyb3IoQVBMT0dfTUFSSywgQVBMT0dfREVCVUcs
IDAsIHNzLAorCQkJCQkgImFwX3NlbmRfZXJyb3JfcmVzcG9uc2U6IChjdXN0b21fcmVzcG9uc2Ug
PSBhcF9yZXNwb25zZV9jb2RlX3N0cmluZyhyLCBpZHgpKSBpcyBUUlVFLiIpOworCQkvKiAqLwog
ICAgICAgICAvKgogICAgICAgICAgKiBXZSBoYXZlIGEgY3VzdG9tIHJlc3BvbnNlIG91dHB1dC4g
VGhpcyBzaG91bGQgb25seSBiZQogICAgICAgICAgKiBhIHRleHQtc3RyaW5nIHRvIHdyaXRlIGJh
Y2suIEJ1dCBpZiB0aGUgRXJyb3JEb2N1bWVudApAQCAtMTIwNCw2ICsxMjU4LDEwIEBAIEFQX0RF
Q0xBUkUodm9pZCkgYXBfc2VuZF9lcnJvcl9yZXNwb25zZShyZXF1ZXN0X3JlYyAqciwgaW50IHJl
Y3Vyc2l2ZV9lcnJvcikKICAgICAgICAgICogaXQgaGFzbid0IGhhcHBlbmVkIHlldDsgd2UgbWF5
IG5ldmVyIGtub3cgaWYgaXQgZmFpbHMuCiAgICAgICAgICAqLwogICAgICAgICBpZiAoY3VzdG9t
X3Jlc3BvbnNlWzBdID09ICdcIicpIHsKKwkJCS8qIHNvbG8gKi8KKwkJCWFwX2xvZ19lcnJvcihB
UExPR19NQVJLLCBBUExPR19ERUJVRywgMCwgc3MsCisJCQkJCQkgImFwX3NlbmRfZXJyb3JfcmVz
cG9uc2U6IChjdXN0b21fcmVzcG9uc2VbMF0gPT0gJ1wiJykgaXMgVFJVRS4iKTsKKwkJCS8qICov
CiAgICAgICAgICAgICBhcF9ycHV0cyhjdXN0b21fcmVzcG9uc2UgKyAxLCByKTsKICAgICAgICAg
ICAgIGFwX2ZpbmFsaXplX3JlcXVlc3RfcHJvdG9jb2wocik7CiAgICAgICAgICAgICByZXR1cm47
CkBAIC0xMjIzLDYgKzEyODEsMTAgQEAgQVBfREVDTEFSRSh2b2lkKSBhcF9zZW5kX2Vycm9yX3Jl
c3BvbnNlKHJlcXVlc3RfcmVjICpyLCBpbnQgcmVjdXJzaXZlX2Vycm9yKQogICAgICAgICAgICAg
JiYgYXByX2lzZGlnaXQoci0+c3RhdHVzX2xpbmVbMl0pCiAgICAgICAgICAgICAmJiBhcHJfaXNz
cGFjZShyLT5zdGF0dXNfbGluZVszXSkKICAgICAgICAgICAgICYmIGFwcl9pc2FsbnVtKHItPnN0
YXR1c19saW5lWzRdKSkgeworCQkJLyogc29sbyAqLworCQkJYXBfbG9nX2Vycm9yKEFQTE9HX01B
UkssIEFQTE9HX0RFQlVHLCAwLCBzcywKKwkJCQkJCSAiYXBfc2VuZF9lcnJvcl9yZXNwb25zZTog
KHItPnN0YXR1c19saW5lICE9IE5VTEwgJiYgc3RybGVuKHItPnN0YXR1c19saW5lKSA+IDQgJiYg
Li4uKSBpcyBUUlVFLiIpOworCQkJLyogKi8KICAgICAgICAgICAgIHRpdGxlID0gci0+c3RhdHVz
X2xpbmU7CiAgICAgICAgIH0KIApAQCAtMTI0NCw2ICsxMzA2LDEwIEBAIEFQX0RFQ0xBUkUodm9p
ZCkgYXBfc2VuZF9lcnJvcl9yZXNwb25zZShyZXF1ZXN0X3JlYyAqciwgaW50IHJlY3Vyc2l2ZV9l
cnJvcikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOwogCiAgICAgICAg
IGlmIChyZWN1cnNpdmVfZXJyb3IpIHsKKwkJCS8qIHNvbG8gKi8KKwkJCWFwX2xvZ19lcnJvcihB
UExPR19NQVJLLCBBUExPR19ERUJVRywgMCwgc3MsCisJCQkJCQkgImFwX3NlbmRfZXJyb3JfcmVz
cG9uc2U6IChyZWN1cnNpdmVfZXJyb3IpIGlzIFRSVUUuIik7CisJCQkvKiAqLwogICAgICAgICAg
ICAgYXBfcnZwdXRzX3Byb3RvX2luX2FzY2lpKHIsICI8cD5BZGRpdGlvbmFsbHksIGEgIiwKICAg
ICAgICAgICAgICAgICAgICAgICBzdGF0dXNfbGluZXNbYXBfaW5kZXhfb2ZfcmVzcG9uc2UocmVj
dXJzaXZlX2Vycm9yKV0sCiAgICAgICAgICAgICAgICAgICAgICAgIlxuZXJyb3Igd2FzIGVuY291
bnRlcmVkIHdoaWxlIHRyeWluZyB0byB1c2UgYW4gIgpAQCAtMTI1Myw2ICsxMzE5LDEwIEBAIEFQ
X0RFQ0xBUkUodm9pZCkgYXBfc2VuZF9lcnJvcl9yZXNwb25zZShyZXF1ZXN0X3JlYyAqciwgaW50
IHJlY3Vyc2l2ZV9lcnJvcikKICAgICAgICAgYXBfcnZwdXRzX3Byb3RvX2luX2FzY2lpKHIsICI8
L2JvZHk+PC9odG1sPlxuIiwgTlVMTCk7CiAgICAgfQogICAgIGFwX2ZpbmFsaXplX3JlcXVlc3Rf
cHJvdG9jb2wocik7CisJLyogc29sbyAqLworCWFwX2xvZ19lcnJvcihBUExPR19NQVJLLCBBUExP
R19ERUJVRywgMCwgc3MsCisJCQkJICJhcF9zZW5kX2Vycm9yX3Jlc3BvbnNlOiBFTkQuIik7CisJ
LyogKi8KIH0KIAogLyoKZGlmZiAtLWdpdCBhL21vZHVsZXMvc3NsL21vZF9zc2wuYyBiL21vZHVs
ZXMvc3NsL21vZF9zc2wuYwppbmRleCAzNWQwYjg4Li4yNTcxNTZiIDEwMDY0NAotLS0gYS9tb2R1
bGVzL3NzbC9tb2Rfc3NsLmMKKysrIGIvbW9kdWxlcy9zc2wvbW9kX3NzbC5jCkBAIC0zNDQsMTIg
KzM0NCwyMCBAQCBpbnQgc3NsX2luaXRfc3NsX2Nvbm5lY3Rpb24oY29ubl9yZWMgKmMpCiAgICAg
Y2hhciAqdmhvc3RfbWQ1OwogICAgIG1vZHNzbF9jdHhfdCAqbWN0eDsKIAorCS8qIHNvbG8gKi8K
KwlhcF9sb2dfZXJyb3IoQVBMT0dfTUFSSywgQVBMT0dfREVCVUcsIDAsIGMsCisJCQkJICJzc2xf
aW5pdF9zc2xfY29ubmVjdGlvbjogU1RBUlQiKTsKKwkvKiAqLwogICAgIC8qCiAgICAgICogU2Vl
ZCB0aGUgUHNldWRvIFJhbmRvbSBOdW1iZXIgR2VuZXJhdG9yIChQUk5HKQogICAgICAqLwogICAg
IHNzbF9yYW5kX3NlZWQoYy0+YmFzZV9zZXJ2ZXIsIGMtPnBvb2wsIFNTTF9SU0NUWF9DT05ORUNU
LCAiIik7CiAKICAgICBpZiAoIXNzbGNvbm4pIHsKKwkJLyogc29sbyAqLworCQlhcF9sb2dfZXJy
b3IoQVBMT0dfTUFSSywgQVBMT0dfREVCVUcsIDAsIGMsCisJCQkJCSAic3NsX2luaXRfc3NsX2Nv
bm5lY3Rpb246ICghc3NsY29ubikgaXMgVFJVRSIpOworCQkvKiAqLwogICAgICAgICBzc2xjb25u
ID0gc3NsX2luaXRfY29ubmVjdGlvbl9jdHgoYyk7CiAgICAgfQogCkBAIC00MDEsNiArNDA5LDEw
IEBAIGludCBzc2xfaW5pdF9zc2xfY29ubmVjdGlvbihjb25uX3JlYyAqYykKIAogICAgIHNzbF9p
b19maWx0ZXJfaW5pdChjLCBzc2wpOwogCisJLyogc29sbyAqLworCWFwX2xvZ19lcnJvcihBUExP
R19NQVJLLCBBUExPR19ERUJVRywgMCwgYywKKwkJCQkgInNzbF9pbml0X3NzbF9jb25uZWN0aW9u
OiBFTkQsIHJldHVybiBBUFJfU1VDQ0VTUyIpOworCS8qICovCiAgICAgcmV0dXJuIEFQUl9TVUND
RVNTOwogfQogCmRpZmYgLS1naXQgYS9tb2R1bGVzL3NzbC9zc2xfZW5naW5lX2lvLmMgYi9tb2R1
bGVzL3NzbC9zc2xfZW5naW5lX2lvLmMKaW5kZXggZmMxOTFkMy4uYzg1ODIzOSAxMDA2NDQKLS0t
IGEvbW9kdWxlcy9zc2wvc3NsX2VuZ2luZV9pby5jCisrKyBiL21vZHVsZXMvc3NsL3NzbF9lbmdp
bmVfaW8uYwpAQCAtODMyLDcgKzgzMiw3IEBAIHN0YXRpYyBhcHJfc3RhdHVzX3Qgc3NsX2ZpbHRl
cl93cml0ZShhcF9maWx0ZXJfdCAqZiwKICAqIHJlcXVlc3QsIGFuZCB0YWNrIG9uIGFuIEVPUyBi
dWNrZXQuCiAgKi8KICNkZWZpbmUgSFRUUF9PTl9IVFRQU19QT1JUIFwKLSAgICAiR0VUIC8iIENS
TEYKKyAgICAiR0VUIC8gSFRUUC8xLjEiIENSTEYKIAogI2RlZmluZSBIVFRQX09OX0hUVFBTX1BP
UlRfQlVDS0VUKGFsbG9jKSBcCiAgICAgYXByX2J1Y2tldF9pbW1vcnRhbF9jcmVhdGUoSFRUUF9P
Tl9IVFRQU19QT1JULCBcCkBAIC04NjgsNiArODY4LDEyIEBAIHN0YXRpYyBhcHJfc3RhdHVzX3Qg
c3NsX2lvX2ZpbHRlcl9lcnJvcihhcF9maWx0ZXJfdCAqZiwKIAogICAgICAgICAgICAgLyogZmFr
ZSB0aGUgcmVxdWVzdCBsaW5lICovCiAgICAgICAgICAgICBidWNrZXQgPSBIVFRQX09OX0hUVFBT
X1BPUlRfQlVDS0VUKGYtPmMtPmJ1Y2tldF9hbGxvYyk7CisJCQkvKiBzb2xvICovCisgICAgICAg
ICAgICBhcF9sb2dfY2Vycm9yKEFQTE9HX01BUkssIEFQTE9HX0lORk8sIDAsIGYtPmMsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgInNzbF9pb19maWx0ZXJfZXJyb3I6IGYtPmMtPmJ1Y2tldF9h
bGxvYz0nJXMnIiwgZi0+Yy0+YnVja2V0X2FsbG9jKTsKKyAgICAgICAgICAgIGFwX2xvZ19jZXJy
b3IoQVBMT0dfTUFSSywgQVBMT0dfSU5GTywgMCwgZi0+YywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAic3NsX2lvX2ZpbHRlcl9lcnJvcjogYnVja2V0LT5kYXRhPSclcyciLCBidWNrZXQtPmRh
dGEpOworCQkJLyogKi8KICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICBkZWZhdWx0OgpkaWZm
IC0tZ2l0IGEvc2VydmVyL3Byb3RvY29sLmMgYi9zZXJ2ZXIvcHJvdG9jb2wuYwppbmRleCBiNzE0
NWJiLi41ZTEzMzdiIDEwMDY0NAotLS0gYS9zZXJ2ZXIvcHJvdG9jb2wuYworKysgYi9zZXJ2ZXIv
cHJvdG9jb2wuYwpAQCAtMjE2LDYgKzIxNiwxNiBAQCBBUF9ERUNMQVJFKGFwcl9zdGF0dXNfdCkg
YXBfcmdldGxpbmVfY29yZShjaGFyICoqcywgYXByX3NpemVfdCBuLAogICAgIGFwcl9zaXplX3Qg
Ynl0ZXNfaGFuZGxlZCA9IDAsIGN1cnJlbnRfYWxsb2MgPSAwOwogICAgIGNoYXIgKnBvcywgKmxh
c3RfY2hhciA9ICpzOwogICAgIGludCBkb19hbGxvYyA9ICgqcyA9PSBOVUxMKSwgc2F3X2VvcyA9
IDA7CisJLyogc29sbyAqLworCXNlcnZlcl9yZWMgKiBzcyA9IHItPnNlcnZlcjsKKworCWFwX2xv
Z19lcnJvcihBUExPR19NQVJLLCBBUExPR19ERUJVRywgMCwgc3MsCisJCQkJICJhcF9yZ2V0bGlu
ZV9jb3JlOiBTVEFSVCIpOworCWFwX2xvZ19lcnJvcihBUExPR19NQVJLLCBBUExPR19ERUJVRywg
MCwgc3MsCisJCQkJICJhcF9yZ2V0bGluZV9jb3JlOiBTVEFSVCwgci0+dGhlX3JlcXVlc3Q9JyVz
JyIsIHItPnRoZV9yZXF1ZXN0KTsKKwlhcF9sb2dfZXJyb3IoQVBMT0dfTUFSSywgQVBMT0dfREVC
VUcsIDAsIHNzLAorCQkJCSAiYXBfcmdldGxpbmVfY29yZTogU1RBUlQsIHItPmlucHV0X2ZpbHRl
cnM9JyVzJyIsIHItPmlucHV0X2ZpbHRlcnMpOworCS8qICovCiAKICAgICAvKgogICAgICAqIElu
aXRpYWxpemUgbGFzdF9jaGFyIGFzIG90aGVyd2lzZSBhIHJhbmRvbSB2YWx1ZSB3aWxsIGJlIGNv
bXBhcmVkCkBAIC0yMjgsOCArMjM4LDE4IEBAIEFQX0RFQ0xBUkUoYXByX3N0YXR1c190KSBhcF9y
Z2V0bGluZV9jb3JlKGNoYXIgKipzLCBhcHJfc2l6ZV90IG4sCiAKICAgICBmb3IgKDs7KSB7CiAg
ICAgICAgIGFwcl9icmlnYWRlX2NsZWFudXAoYmIpOworCQkvKiBzb2xvICovCisJCWFwX2xvZ19l
cnJvcihBUExPR19NQVJLLCBBUExPR19ERUJVRywgMCwgc3MsCisJCQkJCSAiYXBfcmdldGxpbmVf
Y29yZTogUG9zdCBhcHJfYnJpZ2FkZV9jbGVhbnVwKGJiKTsiKTsKKwkJLyogKi8KICAgICAgICAg
cnYgPSBhcF9nZXRfYnJpZ2FkZShyLT5pbnB1dF9maWx0ZXJzLCBiYiwgQVBfTU9ERV9HRVRMSU5F
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQUl9CTE9DS19SRUFELCAwKTsKKwkJLyog
c29sbyAqLworCQlhcF9sb2dfZXJyb3IoQVBMT0dfTUFSSywgQVBMT0dfREVCVUcsIDAsIHNzLAor
CQkJCQkgImFwX3JnZXRsaW5lX2NvcmU6IFBvc3QgYXBfZ2V0X2JyaWdhZGUoci0+aW5wdXRfZmls
dGVycywgYmIsIC4uLik7IHItPnRoZV9yZXF1ZXN0PSclcyciLCByLT50aGVfcmVxdWVzdCk7CisJ
CWFwX2xvZ19lcnJvcihBUExPR19NQVJLLCBBUExPR19ERUJVRywgMCwgc3MsCisJCQkJCSAiYXBf
cmdldGxpbmVfY29yZTogUG9zdCBhcF9nZXRfYnJpZ2FkZShyLT5pbnB1dF9maWx0ZXJzLCBiYiwg
Li4uKTsgci0+aW5wdXRfZmlsdGVycz0nJXMnIiwgci0+aW5wdXRfZmlsdGVycyk7CisJCS8qICov
CiAgICAgICAgIGlmIChydiAhPSBBUFJfU1VDQ0VTUykgewogICAgICAgICAgICAgcmV0dXJuIHJ2
OwogICAgICAgICB9CkBAIC0yNDYsNiArMjY2LDE0IEBAIEFQX0RFQ0xBUkUoYXByX3N0YXR1c190
KSBhcF9yZ2V0bGluZV9jb3JlKGNoYXIgKipzLCBhcHJfc2l6ZV90IG4sCiAgICAgICAgICAgICBj
b25zdCBjaGFyICpzdHI7CiAgICAgICAgICAgICBhcHJfc2l6ZV90IGxlbjsKIAorCQkJLyogc29s
byAqLworCQkJYXBfbG9nX2Vycm9yKEFQTE9HX01BUkssIEFQTE9HX0RFQlVHLCAwLCBzcywKKwkJ
CQkJCSAiYXBfcmdldGxpbmVfY29yZTogZm9yIChlID0gQVBSX0JSSUdBREVfRklSU1QoYmIpOy4u
LjtlID0gQVBSX0JVQ0tFVF9ORVhUKGUpKSwgKnM9JyVzJyIsICpzKTsKKwkJCWFwX2xvZ19lcnJv
cihBUExPR19NQVJLLCBBUExPR19ERUJVRywgMCwgc3MsCisJCQkJCQkgImFwX3JnZXRsaW5lX2Nv
cmU6IGZvciAoZSA9IEFQUl9CUklHQURFX0ZJUlNUKGJiKTsuLi47ZSA9IEFQUl9CVUNLRVRfTkVY
VChlKSksIHItPnRoZV9yZXF1ZXN0PSclcyciLCByLT50aGVfcmVxdWVzdCk7CisJCQlhcF9sb2df
ZXJyb3IoQVBMT0dfTUFSSywgQVBMT0dfREVCVUcsIDAsIHNzLAorCQkJCQkJICJhcF9yZ2V0bGlu
ZV9jb3JlOiBmb3IgKGUgPSBBUFJfQlJJR0FERV9GSVJTVChiYik7Li4uO2UgPSBBUFJfQlVDS0VU
X05FWFQoZSkpLCByLT5wb29sPSclcyciLCByLT5wb29sKTsKKwkJCS8qICovCiAgICAgICAgICAg
ICAvKiBJZiB3ZSBzZWUgYW4gRU9TLCBkb24ndCBib3RoZXIgZG9pbmcgYW55dGhpbmcgbW9yZS4g
Ki8KICAgICAgICAgICAgIGlmIChBUFJfQlVDS0VUX0lTX0VPUyhlKSkgewogICAgICAgICAgICAg
ICAgIHNhd19lb3MgPSAxOwpAQCAtMjU2LDYgKzI4NCwxMiBAQCBBUF9ERUNMQVJFKGFwcl9zdGF0
dXNfdCkgYXBfcmdldGxpbmVfY29yZShjaGFyICoqcywgYXByX3NpemVfdCBuLAogICAgICAgICAg
ICAgaWYgKHJ2ICE9IEFQUl9TVUNDRVNTKSB7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHJ2Owog
ICAgICAgICAgICAgfQorCQkJLyogc29sbyAqLworCQkJYXBfbG9nX2Vycm9yKEFQTE9HX01BUkss
IEFQTE9HX0RFQlVHLCAwLCBzcywKKwkJCQkJCSAiYXBfcmdldGxpbmVfY29yZTogYXByX2J1Y2tl
dF9yZWFkKGUsICZzdHIsICZsZW4sIEFQUl9CTE9DS19SRUFEKTsgc3RyPSclcyciLCBzdHIpOwor
CQkJYXBfbG9nX2Vycm9yKEFQTE9HX01BUkssIEFQTE9HX0RFQlVHLCAwLCBzcywKKwkJCQkJCSAi
YXBfcmdldGxpbmVfY29yZTogYXByX2J1Y2tldF9yZWFkKGUsICZzdHIsICZsZW4sIEFQUl9CTE9D
S19SRUFEKTsgbGVuPSclZCciLCBsZW4pOworCQkJLyogKi8KIAogICAgICAgICAgICAgaWYgKGxl
biA9PSAwKSB7CiAgICAgICAgICAgICAgICAgLyogbm8gdXNlIGF0dGVtcHRpbmcgYSB6ZXJvLWJ5
dGUgYWxsb2MgKGh1cnRzIHdoZW4KQEAgLTI2OSwxMSArMzAzLDIzIEBAIEFQX0RFQ0xBUkUoYXBy
X3N0YXR1c190KSBhcF9yZ2V0bGluZV9jb3JlKGNoYXIgKipzLCBhcHJfc2l6ZV90IG4sCiAgICAg
ICAgICAgICBpZiAobiA8IGJ5dGVzX2hhbmRsZWQgKyBsZW4pIHsKICAgICAgICAgICAgICAgICAq
cmVhZCA9IGJ5dGVzX2hhbmRsZWQ7CiAgICAgICAgICAgICAgICAgaWYgKCpzKSB7CisJCQkJCS8q
IHNvbG8gKi8KKwkJCQkJYXBfbG9nX2Vycm9yKEFQTE9HX01BUkssIEFQTE9HX0RFQlVHLCAwLCBz
cywKKwkJCQkJCQkJICJhcF9yZ2V0bGluZV9jb3JlOiAoKnMpIGlzIFRSVUUsICpzPSclcyciLCAq
cyk7CisJCQkJCWFwX2xvZ19lcnJvcihBUExPR19NQVJLLCBBUExPR19ERUJVRywgMCwgc3MsCisJ
CQkJCQkJCSAiYXBfcmdldGxpbmVfY29yZTogKCpzKSBpcyBUUlVFLCByLT50aGVfcmVxdWVzdD0n
JXMnIiwgci0+dGhlX3JlcXVlc3QpOworCQkJCQkvKiAqLwogICAgICAgICAgICAgICAgICAgICAv
KiBlbnN1cmUgdGhpcyBzdHJpbmcgaXMgTlVMIHRlcm1pbmF0ZWQgKi8KICAgICAgICAgICAgICAg
ICAgICAgaWYgKGJ5dGVzX2hhbmRsZWQgPiAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAo
KnMpW2J5dGVzX2hhbmRsZWQtMV0gPSAnXDAnOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICAgICAgICAgIGVsc2UgeworCQkJCQkvKiBzb2xvICovCisJCQkJCWFwX2xvZ19lcnJv
cihBUExPR19NQVJLLCBBUExPR19ERUJVRywgMCwgc3MsCisJCQkJCQkJCSAiYXBfcmdldGxpbmVf
Y29yZTogKCpzKSBpcyBGQUxTRSwgKnM9JyVzJyIsICpzKTsKKwkJCQkJYXBfbG9nX2Vycm9yKEFQ
TE9HX01BUkssIEFQTE9HX0RFQlVHLCAwLCBzcywKKwkJCQkJCQkJICJhcF9yZ2V0bGluZV9jb3Jl
OiAoKnMpIGlzIEZBTFNFLCByLT50aGVfcmVxdWVzdD0nJXMnIiwgci0+dGhlX3JlcXVlc3QpOwor
CQkJCQkvKiAqLwogICAgICAgICAgICAgICAgICAgICAgICAgKCpzKVswXSA9ICdcMCc7CiAgICAg
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CkBAIC0yODIsMTUgKzMyOCwzNyBA
QCBBUF9ERUNMQVJFKGFwcl9zdGF0dXNfdCkgYXBfcmdldGxpbmVfY29yZShjaGFyICoqcywgYXBy
X3NpemVfdCBuLAogCiAgICAgICAgICAgICAvKiBEbyB3ZSBoYXZlIHRvIGhhbmRsZSB0aGUgYWxs
b2NhdGlvbiBvdXJzZWx2ZXM/ICovCiAgICAgICAgICAgICBpZiAoZG9fYWxsb2MpIHsKKwkJCQkv
KiBzb2xvICovCisJCQkJYXBfbG9nX2Vycm9yKEFQTE9HX01BUkssIEFQTE9HX0RFQlVHLCAwLCBz
cywKKwkJCQkJCQkgImFwX3JnZXRsaW5lX2NvcmU6IChkb19hbGxvYykgaXMgVFJVRSwgci0+dGhl
X3JlcXVlc3Q9JyVzJyIsIHItPnRoZV9yZXF1ZXN0KTsKKwkJCQkvKiAqLwogICAgICAgICAgICAg
ICAgIC8qIFdlJ2xsIGFzc3VtZSB0aGUgY29tbW9uIGNhc2Ugd2hlcmUgb25lIGJ1Y2tldCBpcyBl
bm91Z2guICovCiAgICAgICAgICAgICAgICAgaWYgKCEqcykgeworCQkJCQkvKiBzb2xvICovCisJ
CQkJCWFwX2xvZ19lcnJvcihBUExPR19NQVJLLCBBUExPR19ERUJVRywgMCwgc3MsCisJCQkJCQkJ
CSAiYXBfcmdldGxpbmVfY29yZTogKCEqcykgaXMgVFJVRSwgKnM9JyVzJyIsICpzKTsKKwkJCQkJ
YXBfbG9nX2Vycm9yKEFQTE9HX01BUkssIEFQTE9HX0RFQlVHLCAwLCBzcywKKwkJCQkJCQkJICJh
cF9yZ2V0bGluZV9jb3JlOiAoISpzKSBpcyBUUlVFLCByLT50aGVfcmVxdWVzdD0nJXMnIiwgci0+
dGhlX3JlcXVlc3QpOworCQkJCQlhcF9sb2dfZXJyb3IoQVBMT0dfTUFSSywgQVBMT0dfREVCVUcs
IDAsIHNzLAorCQkJCQkJCQkgImFwX3JnZXRsaW5lX2NvcmU6ICghKnMpIGlzIFRSVUUsIHItPnBv
b2w9JyVzJyIsIHItPnBvb2wpOworCQkJCQkvKiAqLwogICAgICAgICAgICAgICAgICAgICBjdXJy
ZW50X2FsbG9jID0gbGVuOwogICAgICAgICAgICAgICAgICAgICBpZiAoY3VycmVudF9hbGxvYyA8
IE1JTl9MSU5FX0FMTE9DKSB7CisJCQkJCQkvKiBzb2xvICovCisJCQkJCQlhcF9sb2dfZXJyb3Io
QVBMT0dfTUFSSywgQVBMT0dfREVCVUcsIDAsIHNzLAorCQkJCQkJCQkJICJhcF9yZ2V0bGluZV9j
b3JlOiAoY3VycmVudF9hbGxvYyA8IE1JTl9MSU5FX0FMTE9DKSBpcyBUUlVFLCByLT50aGVfcmVx
dWVzdD0nJXMnIiwgci0+dGhlX3JlcXVlc3QpOworCQkJCQkJLyogKi8KICAgICAgICAgICAgICAg
ICAgICAgICAgIGN1cnJlbnRfYWxsb2MgPSBNSU5fTElORV9BTExPQzsKICAgICAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAqcyA9IGFwcl9wYWxsb2Moci0+cG9vbCwgY3Vy
cmVudF9hbGxvYyk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGVsc2UgaWYg
KGJ5dGVzX2hhbmRsZWQgKyBsZW4gPiBjdXJyZW50X2FsbG9jKSB7CisJCQkJCS8qIHNvbG8gKi8K
KwkJCQkJYXBfbG9nX2Vycm9yKEFQTE9HX01BUkssIEFQTE9HX0RFQlVHLCAwLCBzcywKKwkJCQkJ
CQkJICJhcF9yZ2V0bGluZV9jb3JlOiAoKnMpIGlzIEZBTFNFLCAoYnl0ZXNfaGFuZGxlZCArIGxl
biA+IGN1cnJlbnRfYWxsb2MpIGlzIFRSVUUsICpzPSclcyciLCAqcyk7CisJCQkJCWFwX2xvZ19l
cnJvcihBUExPR19NQVJLLCBBUExPR19ERUJVRywgMCwgc3MsCisJCQkJCQkJCSAiYXBfcmdldGxp
bmVfY29yZTogKCpzKSBpcyBGQUxTRSwgKGJ5dGVzX2hhbmRsZWQgKyBsZW4gPiBjdXJyZW50X2Fs
bG9jKSBpcyBUUlVFLCByLT50aGVfcmVxdWVzdD0nJXMnIiwgci0+dGhlX3JlcXVlc3QpOworCQkJ
CQkvKiAqLwogICAgICAgICAgICAgICAgICAgICAvKiBJbmNyZWFzZSB0aGUgYnVmZmVyIHNpemUg
Ki8KICAgICAgICAgICAgICAgICAgICAgYXByX3NpemVfdCBuZXdfc2l6ZSA9IGN1cnJlbnRfYWxs
b2MgKiAyOwogICAgICAgICAgICAgICAgICAgICBjaGFyICpuZXdfYnVmZmVyOwpAQCAtMzA1LDgg
KzM3MywyMiBAQCBBUF9ERUNMQVJFKGFwcl9zdGF0dXNfdCkgYXBfcmdldGxpbmVfY29yZShjaGFy
ICoqcywgYXByX3NpemVfdCBuLAogICAgICAgICAgICAgICAgICAgICBtZW1jcHkobmV3X2J1ZmZl
ciwgKnMsIGJ5dGVzX2hhbmRsZWQpOwogICAgICAgICAgICAgICAgICAgICBjdXJyZW50X2FsbG9j
ID0gbmV3X3NpemU7CiAgICAgICAgICAgICAgICAgICAgICpzID0gbmV3X2J1ZmZlcjsKKwkJCQkJ
Lyogc29sbyAqLworCQkJCQlhcF9sb2dfZXJyb3IoQVBMT0dfTUFSSywgQVBMT0dfREVCVUcsIDAs
IHNzLAorCQkJCQkJCQkgImFwX3JnZXRsaW5lX2NvcmU6ICgqcykgaXMgRkFMU0UsIChieXRlc19o
YW5kbGVkICsgbGVuID4gY3VycmVudF9hbGxvYykgaXMgVFJVRSwgKnMgPSBuZXdfYnVmZmVyLCAq
cz0nJXMnIiwgKnMpOworCQkJCQlhcF9sb2dfZXJyb3IoQVBMT0dfTUFSSywgQVBMT0dfREVCVUcs
IDAsIHNzLAorCQkJCQkJCQkgImFwX3JnZXRsaW5lX2NvcmU6ICgqcykgaXMgRkFMU0UsIChieXRl
c19oYW5kbGVkICsgbGVuID4gY3VycmVudF9hbGxvYykgaXMgVFJVRSwgci0+dGhlX3JlcXVlc3Q9
JyVzJyIsIHItPnRoZV9yZXF1ZXN0KTsKKwkJCQkJLyogKi8KICAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICB9CisJCQkvKiBzb2xvICovCisJCQlhcF9sb2dfZXJyb3IoQVBMT0dfTUFSSywg
QVBMT0dfREVCVUcsIDAsIHNzLAorCQkJCQkJICJhcF9yZ2V0bGluZV9jb3JlOiBQb3N0IChkb19h
bGxvYyksICpzPSclcyciLCAqcyk7CisJCQlhcF9sb2dfZXJyb3IoQVBMT0dfTUFSSywgQVBMT0df
REVCVUcsIDAsIHNzLAorCQkJCQkJICJhcF9yZ2V0bGluZV9jb3JlOiBQb3N0IChkb19hbGxvYyks
IHItPnRoZV9yZXF1ZXN0PSclcyciLCByLT50aGVfcmVxdWVzdCk7CisJCQlhcF9sb2dfZXJyb3Io
QVBMT0dfTUFSSywgQVBMT0dfREVCVUcsIDAsIHNzLAorCQkJCQkJICJhcF9yZ2V0bGluZV9jb3Jl
OiBQb3N0IChkb19hbGxvYyksIGJ5dGVzX2hhbmRsZWQ9JyVkJyIsIGJ5dGVzX2hhbmRsZWQpOwor
CQkJLyogKi8KIAogICAgICAgICAgICAgLyogSnVzdCBjb3B5IHRoZSByZXN0IG9mIHRoZSBkYXRh
IHRvIHRoZSBlbmQgb2YgdGhlIG9sZCBidWZmZXIuICovCiAgICAgICAgICAgICBwb3MgPSAqcyAr
IGJ5dGVzX2hhbmRsZWQ7CkBAIC0zMTUsMTAgKzM5NywyMCBAQCBBUF9ERUNMQVJFKGFwcl9zdGF0
dXNfdCkgYXBfcmdldGxpbmVfY29yZShjaGFyICoqcywgYXByX3NpemVfdCBuLAogCiAgICAgICAg
ICAgICAvKiBXZSd2ZSBub3cgcHJvY2Vzc2VkIHRoYXQgbmV3IGRhdGEgLSB1cGRhdGUgYWNjb3Jk
aW5nbHkuICovCiAgICAgICAgICAgICBieXRlc19oYW5kbGVkICs9IGxlbjsKKwkJCS8qIHNvbG8g
Ki8KKwkJCWFwX2xvZ19lcnJvcihBUExPR19NQVJLLCBBUExPR19ERUJVRywgMCwgc3MsCisJCQkJ
CQkgImFwX3JnZXRsaW5lX2NvcmU6IFBvc3QgMiAoZG9fYWxsb2MpLCAqcz0nJXMnIiwgKnMpOwor
CQkJYXBfbG9nX2Vycm9yKEFQTE9HX01BUkssIEFQTE9HX0RFQlVHLCAwLCBzcywKKwkJCQkJCSAi
YXBfcmdldGxpbmVfY29yZTogUG9zdCAyIChkb19hbGxvYyksIHItPnRoZV9yZXF1ZXN0PSclcyci
LCByLT50aGVfcmVxdWVzdCk7CisJCQkvKiAqLwogICAgICAgICB9CiAKICAgICAgICAgLyogSWYg
d2UgZ290IGEgZnVsbCBsaW5lIG9mIGlucHV0LCBzdG9wIHJlYWRpbmcgKi8KICAgICAgICAgaWYg
KGxhc3RfY2hhciAmJiAoKmxhc3RfY2hhciA9PSBBUFJfQVNDSUlfTEYpKSB7CisJCQkvKiBzb2xv
ICovCisJCQlhcF9sb2dfZXJyb3IoQVBMT0dfTUFSSywgQVBMT0dfREVCVUcsIDAsIHNzLAorCQkJ
CQkJICJhcF9yZ2V0bGluZV9jb3JlOiAobGFzdF9jaGFyICYmICgqbGFzdF9jaGFyID09IEFQUl9B
U0NJSV9MRikpIGlzIFRSVUUsIHItPnRoZV9yZXF1ZXN0PSclcyciLCByLT50aGVfcmVxdWVzdCk7
CisJCQkvKiAqLwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9CkBAIC0zMjYs
MTYgKzQxOCwyOCBAQCBBUF9ERUNMQVJFKGFwcl9zdGF0dXNfdCkgYXBfcmdldGxpbmVfY29yZShj
aGFyICoqcywgYXByX3NpemVfdCBuLAogICAgIC8qIE5vdyBOVUwtdGVybWluYXRlIHRoZSBzdHJp
bmcgYXQgdGhlIGVuZCBvZiB0aGUgbGluZTsKICAgICAgKiBpZiB0aGUgbGFzdC1idXQtb25lIGNo
YXJhY3RlciBpcyBhIENSLCB0ZXJtaW5hdGUgdGhlcmUgKi8KICAgICBpZiAobGFzdF9jaGFyID4g
KnMgJiYgbGFzdF9jaGFyWy0xXSA9PSBBUFJfQVNDSUlfQ1IpIHsKKwkJLyogc29sbyAqLworCQlh
cF9sb2dfZXJyb3IoQVBMT0dfTUFSSywgQVBMT0dfREVCVUcsIDAsIHNzLAorCQkJCQkgImFwX3Jn
ZXRsaW5lX2NvcmU6IChsYXN0X2NoYXIgPiAqcyAmJiBsYXN0X2NoYXJbLTFdID09IEFQUl9BU0NJ
SV9DUikgaXMgVFJVRSwgci0+dGhlX3JlcXVlc3Q9JyVzJyIsIHItPnRoZV9yZXF1ZXN0KTsKKwkJ
LyogKi8KICAgICAgICAgbGFzdF9jaGFyLS07CiAgICAgfQogICAgICpsYXN0X2NoYXIgPSAnXDAn
OwogICAgIGJ5dGVzX2hhbmRsZWQgPSBsYXN0X2NoYXIgLSAqczsKKwkvKiBzb2xvICovCisJYXBf
bG9nX2Vycm9yKEFQTE9HX01BUkssIEFQTE9HX0RFQlVHLCAwLCBzcywKKwkJCQkgImFwX3JnZXRs
aW5lX2NvcmU6IFBvc3QgKGxhc3RfY2hhciA+ICpzICYmIGxhc3RfY2hhclstMV0gPT0gQVBSX0FT
Q0lJX0NSKSwgci0+dGhlX3JlcXVlc3Q9JyVzJyIsIHItPnRoZV9yZXF1ZXN0KTsKKwkvKiAqLwog
CiAgICAgLyogSWYgd2UncmUgZm9sZGluZywgd2UgaGF2ZSBtb3JlIHdvcmsgdG8gZG8uCiAgICAg
ICoKICAgICAgKiBOb3RlIHRoYXQgaWYgYW4gRU9TIHdhcyBzZWVuLCB3ZSBrbm93IHdlIGNhbid0
IGhhdmUgYW5vdGhlciBsaW5lLgogICAgICAqLwogICAgIGlmIChmb2xkICYmIGJ5dGVzX2hhbmRs
ZWQgJiYgIXNhd19lb3MpIHsKKwkJLyogc29sbyAqLworCQlhcF9sb2dfZXJyb3IoQVBMT0dfTUFS
SywgQVBMT0dfREVCVUcsIDAsIHNzLAorCQkJCQkgImFwX3JnZXRsaW5lX2NvcmU6IChmb2xkICYm
IGJ5dGVzX2hhbmRsZWQgJiYgIXNhd19lb3MpIGlzIFRSVUUsIHItPnRoZV9yZXF1ZXN0PSclcyci
LCByLT50aGVfcmVxdWVzdCk7CisJCS8qICovCiAgICAgICAgIGZvciAoOzspIHsKICAgICAgICAg
ICAgIGNvbnN0IGNoYXIgKnN0cjsKICAgICAgICAgICAgIGFwcl9zaXplX3QgbGVuOwpAQCAtMzgw
LDggKzQ4NCwxNiBAQCBBUF9ERUNMQVJFKGFwcl9zdGF0dXNfdCkgYXBfcmdldGxpbmVfY29yZShj
aGFyICoqcywgYXByX3NpemVfdCBuLAogICAgICAgICAgICAgICovCiAgICAgICAgICAgICBjID0g
KnN0cjsKICAgICAgICAgICAgIGlmIChjID09IEFQUl9BU0NJSV9CTEFOSyB8fCBjID09IEFQUl9B
U0NJSV9UQUIpIHsKKwkJCQkvKiBzb2xvICovCisJCQkJYXBfbG9nX2Vycm9yKEFQTE9HX01BUkss
IEFQTE9HX0RFQlVHLCAwLCBzcywKKwkJCQkJCQkgImFwX3JnZXRsaW5lX2NvcmU6IChjID09IEFQ
Ul9BU0NJSV9CTEFOSyB8fCBjID09IEFQUl9BU0NJSV9UQUIpIGlzIFRSVUUsIHItPnRoZV9yZXF1
ZXN0PSclcyciLCByLT50aGVfcmVxdWVzdCk7CisJCQkJLyogKi8KICAgICAgICAgICAgICAgICAv
KiBEbyB3ZSBoYXZlIGVub3VnaCBzcGFjZT8gV2UgbWF5IGJlIGZ1bGwgbm93LiAqLwogICAgICAg
ICAgICAgICAgIGlmIChieXRlc19oYW5kbGVkID49IG4pIHsKKwkJCQkJLyogc29sbyAqLworCQkJ
CQlhcF9sb2dfZXJyb3IoQVBMT0dfTUFSSywgQVBMT0dfREVCVUcsIDAsIHNzLAorCQkJCQkJCQkg
ImFwX3JnZXRsaW5lX2NvcmU6IChieXRlc19oYW5kbGVkID49IG4pIGlzIFRSVUUsIHItPnRoZV9y
ZXF1ZXN0PSclcyciLCByLT50aGVfcmVxdWVzdCk7CisJCQkJCS8qICovCiAgICAgICAgICAgICAg
ICAgICAgICpyZWFkID0gbjsKICAgICAgICAgICAgICAgICAgICAgLyogZW5zdXJlIHRoaXMgc3Ry
aW5nIGlzIHRlcm1pbmF0ZWQgKi8KICAgICAgICAgICAgICAgICAgICAgKCpzKVtuLTFdID0gJ1ww
JzsKQEAgLTM5MSw2ICs1MDMsMTAgQEAgQVBfREVDTEFSRShhcHJfc3RhdHVzX3QpIGFwX3JnZXRs
aW5lX2NvcmUoY2hhciAqKnMsIGFwcl9zaXplX3QgbiwKICAgICAgICAgICAgICAgICAgICAgYXBy
X3NpemVfdCBuZXh0X3NpemUsIG5leHRfbGVuOwogICAgICAgICAgICAgICAgICAgICBjaGFyICp0
bXA7CiAKKwkJCQkJLyogc29sbyAqLworCQkJCQlhcF9sb2dfZXJyb3IoQVBMT0dfTUFSSywgQVBM
T0dfREVCVUcsIDAsIHNzLAorCQkJCQkJCQkgImFwX3JnZXRsaW5lX2NvcmU6IChieXRlc19oYW5k
bGVkID49IG4pIGlzIEZBTFNFLCByLT50aGVfcmVxdWVzdD0nJXMnIiwgci0+dGhlX3JlcXVlc3Qp
OworCQkJCQkvKiAqLwogICAgICAgICAgICAgICAgICAgICAvKiBJZiB3ZSdyZSBkb2luZyB0aGUg
YWxsb2NhdGlvbnMgZm9yIHRoZW0sIHdlIGhhdmUgdG8KICAgICAgICAgICAgICAgICAgICAgICog
Z2l2ZSBvdXJzZWx2ZXMgYSBOVUxMIGFuZCBjb3B5IGl0IG9uIHJldHVybi4KICAgICAgICAgICAg
ICAgICAgICAgICovCkBAIC00MTEsNiArNTI3LDEwIEBAIEFQX0RFQ0xBUkUoYXByX3N0YXR1c190
KSBhcF9yZ2V0bGluZV9jb3JlKGNoYXIgKipzLCBhcHJfc2l6ZV90IG4sCiAKICAgICAgICAgICAg
ICAgICAgICAgaWYgKGRvX2FsbG9jICYmIG5leHRfbGVuID4gMCkgewogICAgICAgICAgICAgICAg
ICAgICAgICAgY2hhciAqbmV3X2J1ZmZlcjsKKwkJCQkJCS8qIHNvbG8gKi8KKwkJCQkJCWFwX2xv
Z19lcnJvcihBUExPR19NQVJLLCBBUExPR19ERUJVRywgMCwgc3MsCisJCQkJCQkJCQkgImFwX3Jn
ZXRsaW5lX2NvcmU6IChkb19hbGxvYyAmJiBuZXh0X2xlbiA+IDApIGlzIFRSVUUsIHItPnRoZV9y
ZXF1ZXN0PSclcyciLCByLT50aGVfcmVxdWVzdCk7CisJCQkJCQkvKiAqLwogICAgICAgICAgICAg
ICAgICAgICAgICAgYXByX3NpemVfdCBuZXdfc2l6ZSA9IGJ5dGVzX2hhbmRsZWQgKyBuZXh0X2xl
biArIDE7CiAKICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHdlIG5lZWQgdG8gYWxsb2MgYW4g
ZXh0cmEgYnl0ZSBmb3IgYSBudWxsICovCkBAIC00MjksMTIgKzU0OSwyMiBAQCBBUF9ERUNMQVJF
KGFwcl9zdGF0dXNfdCkgYXBfcmdldGxpbmVfY29yZShjaGFyICoqcywgYXByX3NpemVfdCBuLAog
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UgeyAvKiBu
ZXh0IGNoYXJhY3RlciBpcyBub3QgdGFiIG9yIHNwYWNlICovCisJCQkJLyogc29sbyAqLworCQkJ
CWFwX2xvZ19lcnJvcihBUExPR19NQVJLLCBBUExPR19ERUJVRywgMCwgc3MsCisJCQkJCQkJICJh
cF9yZ2V0bGluZV9jb3JlOiAoYyA9PSBBUFJfQVNDSUlfQkxBTksgfHwgYyA9PSBBUFJfQVNDSUlf
VEFCKSBpcyBGQUxTRSwgci0+dGhlX3JlcXVlc3Q9JyVzJyIsIHItPnRoZV9yZXF1ZXN0KTsKKwkJ
CQkvKiAqLwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICB9
CiAgICAgfQogCiAgICAgKnJlYWQgPSBieXRlc19oYW5kbGVkOworCS8qIHNvbG8gKi8KKwlhcF9s
b2dfZXJyb3IoQVBMT0dfTUFSSywgQVBMT0dfREVCVUcsIDAsIHNzLAorCQkJCSAiYXBfcmdldGxp
bmVfY29yZTogRU5ELCByZXR1cm4gQVBSX1NVQ0NFU1MiKTsKKwlhcF9sb2dfZXJyb3IoQVBMT0df
TUFSSywgQVBMT0dfREVCVUcsIDAsIHNzLAorCQkJCSAiYXBfcmdldGxpbmVfY29yZTogRU5ELCBy
ZXR1cm4gQVBSX1NVQ0NFU1Mgci0+dGhlX3JlcXVlc3Q9JyVzJyIsIHItPnRoZV9yZXF1ZXN0KTsK
KwkvKiAqLwogICAgIHJldHVybiBBUFJfU1VDQ0VTUzsKIH0KIApAQCAtNTY2LDYgKzY5NiwxMiBA
QCBzdGF0aWMgaW50IHJlYWRfcmVxdWVzdF9saW5lKHJlcXVlc3RfcmVjICpyLCBhcHJfYnVja2V0
X2JyaWdhZGUgKmJiKQogICAgIGFwcl9zaXplX3QgbGVuOwogICAgIGludCBudW1fYmxhbmtfbGlu
ZXMgPSAwOwogICAgIGludCBtYXhfYmxhbmtfbGluZXMgPSByLT5zZXJ2ZXItPmxpbWl0X3JlcV9m
aWVsZHM7CisJLyogc29sbyAqLworCXNlcnZlcl9yZWMgKiBzcyA9IHItPnNlcnZlcjsKKworCWFw
X2xvZ19lcnJvcihBUExPR19NQVJLLCBBUExPR19ERUJVRywgMCwgc3MsCisJCQkJICJyZWFkX3Jl
cXVlc3RfbGluZTogU1RBUlQiKTsKKwkvKiAqLwogCiAgICAgaWYgKG1heF9ibGFua19saW5lcyA8
PSAwKSB7CiAgICAgICAgIG1heF9ibGFua19saW5lcyA9IERFRkFVTFRfTElNSVRfUkVRVUVTVF9G
SUVMRFM7CkBAIC01ODgsNiArNzI0LDEwIEBAIHN0YXRpYyBpbnQgcmVhZF9yZXF1ZXN0X2xpbmUo
cmVxdWVzdF9yZWMgKnIsIGFwcl9idWNrZXRfYnJpZ2FkZSAqYmIpCiAKICAgICBkbyB7CiAgICAg
ICAgIGFwcl9zdGF0dXNfdCBydjsKKwkJLyogc29sbyAqLworCQlhcF9sb2dfZXJyb3IoQVBMT0df
TUFSSywgQVBMT0dfREVCVUcsIDAsIHNzLAorCQkJCQkgInJlYWRfcmVxdWVzdF9saW5lOiBsb29w
LCBudW1fYmxhbmtfbGluZXM9JWQiLCBudW1fYmxhbmtfbGluZXMpOworCQkvKiAqLwogCiAgICAg
ICAgIC8qIGluc3VyZSBhcF9yZ2V0bGluZSBhbGxvY2F0ZXMgbWVtb3J5IGVhY2ggdGltZSB0aHJ1
IHRoZSBsb29wCiAgICAgICAgICAqIGlmIHRoZXJlIGFyZSBlbXB0eSBsaW5lcwpAQCAtNTk1LDYg
KzczNSwxMCBAQCBzdGF0aWMgaW50IHJlYWRfcmVxdWVzdF9saW5lKHJlcXVlc3RfcmVjICpyLCBh
cHJfYnVja2V0X2JyaWdhZGUgKmJiKQogICAgICAgICByLT50aGVfcmVxdWVzdCA9IE5VTEw7CiAg
ICAgICAgIHJ2ID0gYXBfcmdldGxpbmUoJihyLT50aGVfcmVxdWVzdCksIChhcHJfc2l6ZV90KShy
LT5zZXJ2ZXItPmxpbWl0X3JlcV9saW5lICsgMiksCiAgICAgICAgICAgICAgICAgICAgICAgICAg
JmxlbiwgciwgMCwgYmIpOworCQkvKiBzb2xvICovCisJCWFwX2xvZ19lcnJvcihBUExPR19NQVJL
LCBBUExPR19ERUJVRywgMCwgc3MsCisJCQkJCSAicmVhZF9yZXF1ZXN0X2xpbmU6IGxvb3AsIHIt
PnRoZV9yZXF1ZXN0PSclcyciLCByLT50aGVfcmVxdWVzdCk7CisJCS8qICovCiAKICAgICAgICAg
aWYgKHJ2ICE9IEFQUl9TVUNDRVNTKSB7CiAgICAgICAgICAgICByLT5yZXF1ZXN0X3RpbWUgPSBh
cHJfdGltZV9ub3coKTsKQEAgLTYxNiw2ICs3NjAsMTIgQEAgc3RhdGljIGludCByZWFkX3JlcXVl
c3RfbGluZShyZXF1ZXN0X3JlYyAqciwgYXByX2J1Y2tldF9icmlnYWRlICpiYikKIAogICAgIHIt
PnJlcXVlc3RfdGltZSA9IGFwcl90aW1lX25vdygpOwogICAgIGxsID0gci0+dGhlX3JlcXVlc3Q7
CisJLyogc29sbyAqLworCWFwX2xvZ19lcnJvcihBUExPR19NQVJLLCBBUExPR19ERUJVRywgMCwg
c3MsCisJCQkJICJyZWFkX3JlcXVlc3RfbGluZTogZmlyc3QsIGxsPSclcyciLCBsbCk7CisJYXBf
bG9nX2Vycm9yKEFQTE9HX01BUkssIEFQTE9HX0RFQlVHLCAwLCBzcywKKwkJCQkgInJlYWRfcmVx
dWVzdF9saW5lOiBmaXJzdCwgbGxbMF09JWQiLCBsbFswXSk7CisJLyogKi8KICAgICByLT5tZXRo
b2QgPSBhcF9nZXR3b3JkX3doaXRlKHItPnBvb2wsICZsbCk7CiAKICNpZiAwCkBAIC02MjcsNiAr
Nzc3LDEyIEBAIHN0YXRpYyBpbnQgcmVhZF9yZXF1ZXN0X2xpbmUocmVxdWVzdF9yZWMgKnIsIGFw
cl9idWNrZXRfYnJpZ2FkZSAqYmIpCiAjZW5kaWYKIAogICAgIHVyaSA9IGFwX2dldHdvcmRfd2hp
dGUoci0+cG9vbCwgJmxsKTsKKwkvKiBzb2xvICovCisJYXBfbG9nX2Vycm9yKEFQTE9HX01BUkss
IEFQTE9HX0RFQlVHLCAwLCBzcywKKwkJCQkgInJlYWRfcmVxdWVzdF9saW5lOiBwb3N0ICd1cmkg
PSBhcF9nZXR3b3JkX3doaXRlKHItPnBvb2wsICZsbCknLCBsbD0nJXMnIiwgbGwpOworCWFwX2xv
Z19lcnJvcihBUExPR19NQVJLLCBBUExPR19ERUJVRywgMCwgc3MsCisJCQkJICJyZWFkX3JlcXVl
c3RfbGluZTogcG9zdCAndXJpID0gYXBfZ2V0d29yZF93aGl0ZShyLT5wb29sLCAmbGwpJywgbGxb
MF09JWQiLCBsbFswXSk7CisJLyogKi8KIAogICAgIC8qIFByb3ZpZGUgcXVpY2sgaW5mb3JtYXRp
b24gYWJvdXQgdGhlIHJlcXVlc3QgbWV0aG9kIGFzIHNvb24gYXMga25vd24gKi8KIApAQCAtNjM2
LDEyICs3OTIsMjYgQEAgc3RhdGljIGludCByZWFkX3JlcXVlc3RfbGluZShyZXF1ZXN0X3JlYyAq
ciwgYXByX2J1Y2tldF9icmlnYWRlICpiYikKICAgICB9CiAKICAgICBhcF9wYXJzZV91cmkociwg
dXJpKTsKKwkvKiBzb2xvICovCisJYXBfbG9nX2Vycm9yKEFQTE9HX01BUkssIEFQTE9HX0RFQlVH
LCAwLCBzcywKKwkJCQkgInJlYWRfcmVxdWVzdF9saW5lOiBwb3N0ICdhcF9wYXJzZV91cmkociwg
dXJpKScsIGxsPSclcyciLCBsbCk7CisJYXBfbG9nX2Vycm9yKEFQTE9HX01BUkssIEFQTE9HX0RF
QlVHLCAwLCBzcywKKwkJCQkgInJlYWRfcmVxdWVzdF9saW5lOiBwb3N0ICdhcF9wYXJzZV91cmko
ciwgdXJpKScsIGxsWzBdPSVkIiwgbGxbMF0pOworCS8qICovCiAKICAgICBpZiAobGxbMF0pIHsK
KwkJLyogc29sbyAqLworCQlhcF9sb2dfZXJyb3IoQVBMT0dfTUFSSywgQVBMT0dfREVCVUcsIDAs
IHNzLAorCQkJCQkgInJlYWRfcmVxdWVzdF9saW5lOiAobGxbMF0pIGlzIFRSVUUiKTsKKwkJLyog
Ki8KICAgICAgICAgci0+YXNzYmFja3dhcmRzID0gMDsKICAgICAgICAgcHJvID0gbGw7CiAgICAg
ICAgIGxlbiA9IHN0cmxlbihsbCk7CiAgICAgfSBlbHNlIHsKKwkJLyogc29sbyAqLworCQlhcF9s
b2dfZXJyb3IoQVBMT0dfTUFSSywgQVBMT0dfREVCVUcsIDAsIHNzLAorCQkJCQkgInJlYWRfcmVx
dWVzdF9saW5lOiAobGxbMF0pIGlzIEZBTFNFIik7CisJCS8qICovCiAgICAgICAgIHItPmFzc2Jh
Y2t3YXJkcyA9IDE7CiAgICAgICAgIHBybyA9ICJIVFRQLzAuOSI7CiAgICAgICAgIGxlbiA9IDg7
CkBAIC02NjQsNiArODM0LDEwIEBAIHN0YXRpYyBpbnQgcmVhZF9yZXF1ZXN0X2xpbmUocmVxdWVz
dF9yZWMgKnIsIGFwcl9idWNrZXRfYnJpZ2FkZSAqYmIpCiAgICAgZWxzZQogICAgICAgICByLT5w
cm90b19udW0gPSBIVFRQX1ZFUlNJT04oMSwgMCk7CiAKKwkvKiBzb2xvICovCisJYXBfbG9nX2Vy
cm9yKEFQTE9HX01BUkssIEFQTE9HX0RFQlVHLCAwLCBzcywKKwkJCQkgInJlYWRfcmVxdWVzdF9s
aW5lOiBFTkQsIHJldHVybiAxIik7CisJLyogKi8KICAgICByZXR1cm4gMTsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>