<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>126331</bug_id>
          
          <creation_ts>2006-03-15 12:23 0000</creation_ts>
          <short_desc>Custom WAP ports for Kannel gateway patch</short_desc>
          <delta_ts>2006-05-01 05:20:22 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Unspecified</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>kolar@porcus.cz</reporter>
          <assigned_to>mobile-phone@gentoo.org</assigned_to>
          <cc>dutchj@gmail.com</cc>

      

      
          <long_desc isprivate="0">
            <who>kolar@porcus.cz</who>
            <bug_when>2006-03-15 12:23:05 0000</bug_when>
            <thetext>In the mobile Internet world, there are standard UDP ports (9200-9203) on which mobile phones are trying to connect the WAP gateway. Unfortunatelly, some mobile network operators are blocking  these ports to force users to use their (expensive) WAP gateways. Some mobile phones manufacturers (like Siemens) allow users to override the the default port. This &quot;workaround&quot; let users to use custom and free WAP gateways. Original Kannel WAP gateway uses standard ports without  possibility to change it. I made a patch which solves this problem.
User can add to the /etc/kannel/kannel.conf under section &quot;group = wapbox&quot; lines like these:

wsp-port = 1081
wtp-port = 1082
wsps-port = 1083
wtps-port = 1084</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>kolar@porcus.cz</who>
            <bug_when>2006-03-15 12:27:14 0000</bug_when>
            <thetext>Created an attachment (id=82233)
New eBuild + patch file

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mrness@gentoo.org</who>
            <bug_when>2006-03-16 04:28:16 0000</bug_when>
            <thetext>please reattach the patch without bzipping it.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>kolar@porcus.cz</who>
            <bug_when>2006-03-16 04:33:42 0000</bug_when>
            <thetext>Created an attachment (id=82293)
Patch only in plaintext

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mrness@gentoo.org</who>
            <bug_when>2006-03-16 07:44:14 0000</bug_when>
            <thetext>1) any reason for defining port_w* global variables as long instead of unsigned short?
2) did you sent this patch to upstream for inclusion in the future versions? </thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mrness@gentoo.org</who>
            <bug_when>2006-03-25 01:45:05 0000</bug_when>
            <thetext>a slightly changed version of this patch is applied in kannel-1.4.0-r1.
please send /usr/portage/app-mobilephone/kannel/files/kannel-1.4.0-custom-wap-ports.patch to upstream, for inclusion in future versions.
thanks for your contribution!</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dutchj@gmail.com</who>
            <bug_when>2006-05-01 03:41:56 0000</bug_when>
            <thetext>Please fix this patch for configurations, which do not use the WAP functionality of Kannel.

My setup uses only the SMS features and this patch breaks my configuration, because it expects the custom port configuration values to be present.
Startup fails with this message: PANIC: Trying to fetch variable `wsp-port&apos; in non-existing group

As I do not have a wapbox group (don&apos;t need it), this is a normal thing to happen! Sure, a workaround is to add the group and values, but this is not &quot;a nice thing&quot; to do ;)

Thanks</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mrness@gentoo.org</who>
            <bug_when>2006-05-01 05:20:22 0000</bug_when>
            <thetext>fixed in 1.4.0-r2.
thanks for reporting this!</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82233</attachid>
            <date>2006-03-15 12:27 0000</date>
            <desc>New eBuild + patch file</desc>
            <filename>kannel-patch.tar.bz2</filename>
            <type>text/plain</type>
            <data encoding="base64">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
jiKvQmyPNez67An/xdyRThQkNAzmh0A=
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82293</attachid>
            <date>2006-03-16 04:33 0000</date>
            <desc>Patch only in plaintext</desc>
            <filename>kannel-1.4.0-custom-ports.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">ZGlmZiAtciAtdSAtTiBnYXRld2F5LTEuNC4wLm9yaWcvZ3cvYmJfdWRwLmMgZ2F0ZXdheS0xLjQu
MC9ndy9iYl91ZHAuYwotLS0gZ2F0ZXdheS0xLjQuMC5vcmlnL2d3L2JiX3VkcC5jCTIwMDQtMDUt
MTUgMTA6MTY6MDEuMDAwMDAwMDAwICswMjAwCisrKyBnYXRld2F5LTEuNC4wL2d3L2JiX3VkcC5j
CTIwMDYtMDMtMTUgMjE6MDg6NTIuMDAwMDAwMDAwICswMTAwCkBAIC03OCw3ICs3OCw3IEBACiAj
aW5jbHVkZSAiZ3dsaWIvZ3dsaWIuaCIKICNpbmNsdWRlICJtc2cuaCIKICNpbmNsdWRlICJiZWFy
ZXJib3guaCIKLQorI2luY2x1ZGUgImN1c3Rwb3J0cy5oIgogLyogcGFzc2VkIGZyb20gYmVhcmVy
Ym94IGNvcmUgKi8KIAogZXh0ZXJuIHZvbGF0aWxlIHNpZ19hdG9taWNfdCBiYl9zdGF0dXM7CkBA
IC0zNTIsMTMgKzM1MiwxMyBAQAogICAgIHdoaWxlIChsaXN0X2xlbihpZnMpID4gMCkgewogICAg
ICAgICBpZmFjZSA9IGxpc3RfZXh0cmFjdF9maXJzdChpZnMpOwogCWluZm8oMCwgIkFkZGluZyBp
bnRlcmZhY2UgJXMiLCBvY3RzdHJfZ2V0X2NzdHIoaWZhY2UpKTsKLSAgICAgICAgYWRkX3NlcnZp
Y2UoOTIwMCwgb2N0c3RyX2dldF9jc3RyKGlmYWNlKSk7ICAgLyogd3NwIAkqLwotICAgICAgICBh
ZGRfc2VydmljZSg5MjAxLCBvY3RzdHJfZ2V0X2NzdHIoaWZhY2UpKTsgICAvKiB3c3Avd3RwCSov
CisgICAgICAgIGFkZF9zZXJ2aWNlKHBvcnRfd3NwLCBvY3RzdHJfZ2V0X2NzdHIoaWZhY2UpKTsg
ICAvKiB3c3AgCSovCisgICAgICAgIGFkZF9zZXJ2aWNlKHBvcnRfd3RwLCBvY3RzdHJfZ2V0X2Nz
dHIoaWZhY2UpKTsgICAvKiB3c3Avd3RwCSovCiAgICAgCiAjaWZkZWYgSEFWRV9XVExTX09QRU5T
U0wKICAgICAgICAgaWYgKGFsbG93X3d0bHMpIHsKLSAgICAgICAgICAgICBhZGRfc2VydmljZSg5
MjAyLCBvY3RzdHJfZ2V0X2NzdHIoaWZhY2UpKTsgICAvKiB3c3Avd3RscwkqLwotICAgICAgICAg
ICAgIGFkZF9zZXJ2aWNlKDkyMDMsIG9jdHN0cl9nZXRfY3N0cihpZmFjZSkpOyAgIC8qIHdzcC93
dHAvd3RscyAqLworICAgICAgICAgICAgIGFkZF9zZXJ2aWNlKHBvcnRfd3Nwcywgb2N0c3RyX2dl
dF9jc3RyKGlmYWNlKSk7ICAgLyogd3NwL3d0bHMJKi8KKyAgICAgICAgICAgICBhZGRfc2Vydmlj
ZShwb3J0X3d0cHMsIG9jdHN0cl9nZXRfY3N0cihpZmFjZSkpOyAgIC8qIHdzcC93dHAvd3RscyAq
LwogICAgICAgICB9CiAjZWxzZQogICAgICAgICBpZiAoYWxsb3dfd3RscykKZGlmZiAtciAtdSAt
TiBnYXRld2F5LTEuNC4wLm9yaWcvZ3cvYmVhcmVyYm94LmMgZ2F0ZXdheS0xLjQuMC9ndy9iZWFy
ZXJib3guYwotLS0gZ2F0ZXdheS0xLjQuMC5vcmlnL2d3L2JlYXJlcmJveC5jCTIwMDQtMDYtMjgg
MTc6NDg6MjkuMDAwMDAwMDAwICswMjAwCisrKyBnYXRld2F5LTEuNC4wL2d3L2JlYXJlcmJveC5j
CTIwMDYtMDMtMTUgMjE6MDg6NTIuMDAwMDAwMDAwICswMTAwCkBAIC03Nyw2ICs3Nyw3IEBACiAj
aW5jbHVkZSAiYmVhcmVyYm94LmgiCiAjaW5jbHVkZSAic2hhcmVkLmgiCiAjaW5jbHVkZSAiZGxy
LmgiCisjaW5jbHVkZSAiY3VzdHBvcnRzLmgiCiAKIC8qIGdsb2JhbCB2YXJpYWJsZXM7IGluY2x1
ZGVkIHRvIG90aGVyIG1vZHVsZXMgYXMgbmVlZGVkICovCiAKQEAgLTI4MCw3ICsyODEsNiBAQAog
ewogICAgIHN0YXRpYyBpbnQgc3RhcnRlZCA9IDA7CiAgICAgaWYgKHN0YXJ0ZWQpIHJldHVybiAw
OwotCiAgICAgdWRwX3N0YXJ0KGNmZyk7CiAKICAgICBzdGFydF93YXAoY2ZnKTsKQEAgLTM1Myw2
ICszNTMsNyBAQAogICAgIGludCBzc2xfZW5hYmxlZCA9IDA7CiAjZW5kaWYgLyogSEFWRV9MSUJT
U0wgKi8KIAorICAgIFJlYWRDdXN0b21Qb3J0cyhjZmcpOwogICAgIC8qIGRlZmF1bHRzOiB1c2Ug
bG9jYWx0aW1lIGFuZCBtYXJrZXJzIGZvciBhY2Nlc3MtbG9nICovCiAgICAgbGYgPSBtID0gMTsK
IAkKZGlmZiAtciAtdSAtTiBnYXRld2F5LTEuNC4wLm9yaWcvZ3cvY3VzdHBvcnRzLmMgZ2F0ZXdh
eS0xLjQuMC9ndy9jdXN0cG9ydHMuYwotLS0gZ2F0ZXdheS0xLjQuMC5vcmlnL2d3L2N1c3Rwb3J0
cy5jCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKyBnYXRld2F5LTEuNC4w
L2d3L2N1c3Rwb3J0cy5jCTIwMDYtMDMtMTUgMjE6MDg6NTIuMDAwMDAwMDAwICswMTAwCkBAIC0w
LDAgKzEsOTQgQEAKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09IAorICogVGhlIEthbm5lbCBTb2Z0d2FyZSBMaWNl
bnNlLCBWZXJzaW9uIDEuMCAKKyAqIAorICogQ29weXJpZ2h0IChjKSAyMDAxLTIwMDQgS2FubmVs
IEdyb3VwICAKKyAqIENvcHlyaWdodCAoYykgMTk5OC0yMDAxIFdhcElUIEx0ZC4gICAKKyAqIEFs
bCByaWdodHMgcmVzZXJ2ZWQuIAorICogCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgCisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgCisg
KiBhcmUgbWV0OiAKKyAqIAorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgCisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorICogCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCAKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiAKKyAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgCisgKiAgICBkaXN0cmlidXRpb24uIAor
ICogCisgKiAzLiBUaGUgZW5kLXVzZXIgZG9jdW1lbnRhdGlvbiBpbmNsdWRlZCB3aXRoIHRoZSBy
ZWRpc3RyaWJ1dGlvbiwgCisgKiAgICBpZiBhbnksIG11c3QgaW5jbHVkZSB0aGUgZm9sbG93aW5n
IGFja25vd2xlZGdtZW50OiAKKyAqICAgICAgICJUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdh
cmUgZGV2ZWxvcGVkIGJ5IHRoZSAKKyAqICAgICAgICBLYW5uZWwgR3JvdXAgKGh0dHA6Ly93d3cu
a2FubmVsLm9yZy8pLiIgCisgKiAgICBBbHRlcm5hdGVseSwgdGhpcyBhY2tub3dsZWRnbWVudCBt
YXkgYXBwZWFyIGluIHRoZSBzb2Z0d2FyZSBpdHNlbGYsIAorICogICAgaWYgYW5kIHdoZXJldmVy
IHN1Y2ggdGhpcmQtcGFydHkgYWNrbm93bGVkZ21lbnRzIG5vcm1hbGx5IGFwcGVhci4gCisgKiAK
KyAqIDQuIFRoZSBuYW1lcyAiS2FubmVsIiBhbmQgIkthbm5lbCBHcm91cCIgbXVzdCBub3QgYmUg
dXNlZCB0byAKKyAqICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IAorICogICAgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiBG
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLCBwbGVhc2UgIAorICogICAgY29udGFjdCBvcmdAa2FubmVs
Lm9yZy4gCisgKiAKKyAqIDUuIFByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIG1h
eSBub3QgYmUgY2FsbGVkICJLYW5uZWwiLCAKKyAqICAgIG5vciBtYXkgIkthbm5lbCIgYXBwZWFy
IGluIHRoZWlyIG5hbWUsIHdpdGhvdXQgcHJpb3Igd3JpdHRlbiAKKyAqICAgIHBlcm1pc3Npb24g
b2YgdGhlIEthbm5lbCBHcm91cC4gCisgKiAKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
YGBBUyBJUycnIEFORCBBTlkgRVhQUkVTU0VEIE9SIElNUExJRUQgCisgKiBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyAKKyAq
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIAorICogRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBLQU5ORUwgR1JPVVAg
T1IgSVRTIENPTlRSSUJVVE9SUyAKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgIAorICogT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgIAor
ICogT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SICAKKyAqIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCAgCisgKiBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSAgCisgKiBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCAgCisgKiBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKyAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09IAorICogCisgKiBUaGlzIHNvZnR3YXJlIGNvbnNpc3Rz
IG9mIHZvbHVudGFyeSBjb250cmlidXRpb25zIG1hZGUgYnkgbWFueSAKKyAqIGluZGl2aWR1YWxz
IG9uIGJlaGFsZiBvZiB0aGUgS2FubmVsIEdyb3VwLiAgRm9yIG1vcmUgaW5mb3JtYXRpb24gb24g
IAorICogdGhlIEthbm5lbCBHcm91cCwgcGxlYXNlIHNlZSA8aHR0cDovL3d3dy5rYW5uZWwub3Jn
Lz4uIAorICogCisgKiBQb3J0aW9ucyBvZiB0aGlzIHNvZnR3YXJlIGFyZSBiYXNlZCB1cG9uIHNv
ZnR3YXJlIG9yaWdpbmFsbHkgd3JpdHRlbiBhdCAgCisgKiBXYXBJVCBMdGQuLCBIZWxzaW5raSwg
RmlubGFuZCBmb3IgdGhlIEthbm5lbCBwcm9qZWN0LiAgCisgKi8gCisKKy8qCisgKiBndy9jdXN0
cG9ydHMuYworICoKKyAqIEltcGxlbWVudGF0aW9uIG9mIHJlYWRpbmcgY3VzdG9tIFVEUCBwb3J0
cyB1c2VkIGJ5IHdhcGJveAorICoKKyAqIEx1Ym9yIEtvbGFyIDxrb2xhckBwb3JjdXMuY3o+LCAx
NC4wMy4yMDA2CisgKi8KKyAKKyNpbmNsdWRlIDxjdXN0cG9ydHMuaD4KKworbG9uZyBwb3J0X3dz
cCA9IDkyMDA7IC8vIGNvbm5lY3Rpb25sZXNzIGRlZmF1bHQKK2xvbmcgcG9ydF93dHAgPSA5MjAx
OyAvLyBjb25uZWN0aW9uLW9yaWVudGVkIGRlZmF1bHQKK2xvbmcgcG9ydF93c3BzID0gOTIwMjsg
Ly8gY29ubmVjdGlvbmxlc3Mgc2VjdXJlIGRlZmF1bHQKK2xvbmcgcG9ydF93dHBzID0gOTIwMzsg
Ly8gY29ubmVjdGlvbi1vcmllbnRlZCBzZWN1cmUKKworCit2b2lkIFJlYWRDdXN0b21Qb3J0cyhD
ZmcgKmNvbmZpZykKK3sKKyAgICBDZmdHcm91cCAqZ3JwOworICAgIGdycCA9IGNmZ19nZXRfc2lu
Z2xlX2dyb3VwKGNvbmZpZywgb2N0c3RyX2ltbSgid2FwYm94IikpOworCSAgICAgICAgIAorICAg
IGlmKGNmZ19nZXRfaW50ZWdlcigmcG9ydF93c3AsIGdycCwgb2N0c3RyX2ltbSgid3NwLXBvcnQi
KSkgIT0gLTEpCisgICAgeworCWluZm8oMCwgIlVzaW5nIGN1c3RvbSBXU1AgcG9ydCAlZCIsIHBv
cnRfd3NwKTsKKyAgICB9CisgICAgaWYoY2ZnX2dldF9pbnRlZ2VyKCZwb3J0X3d0cCwgZ3JwLCBv
Y3RzdHJfaW1tKCJ3dHAtcG9ydCIpKSAhPSAtMSkKKyAgICB7CisJaW5mbygwLCAiVXNpbmcgY3Vz
dG9tIFdTUC9XVFAgcG9ydCAlZCIsIHBvcnRfd3RwKTsKKyAgICB9CisgICAgaWYoY2ZnX2dldF9p
bnRlZ2VyKCZwb3J0X3dzcHMsIGdycCwgb2N0c3RyX2ltbSgid3Nwcy1wb3J0IikpICE9IC0xKQor
ICAgIHsKKwlpbmZvKDAsICJVc2luZyBjdXN0b20gV1NQL1dUTFMgcG9ydCAlZCIsIHBvcnRfd3Nw
cyk7CisgICAgfQorICAgIGlmKGNmZ19nZXRfaW50ZWdlcigmcG9ydF93dHBzLCBncnAsIG9jdHN0
cl9pbW0oInd0cHMtcG9ydCIpKSAhPSAtMSkKKyAgICB7CisJaW5mbygwLCAiVXNpbmcgY3VzdG9t
IFdTUC9XVFAvV1RMUyBwb3J0ICVkIiwgcG9ydF93dHBzKTsKKyAgICB9ICAgIAorfQpkaWZmIC1y
IC11IC1OIGdhdGV3YXktMS40LjAub3JpZy9ndy9jdXN0cG9ydHMuaCBnYXRld2F5LTEuNC4wL2d3
L2N1c3Rwb3J0cy5oCi0tLSBnYXRld2F5LTEuNC4wLm9yaWcvZ3cvY3VzdHBvcnRzLmgJMTk3MC0w
MS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrIGdhdGV3YXktMS40LjAvZ3cvY3VzdHBv
cnRzLmgJMjAwNi0wMy0xNSAyMTowODo1Mi4wMDAwMDAwMDAgKzAxMDAKQEAgLTAsMCArMSw3NyBA
QAorLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0gCisgKiBUaGUgS2FubmVsIFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNp
b24gMS4wIAorICogCisgKiBDb3B5cmlnaHQgKGMpIDIwMDEtMjAwNCBLYW5uZWwgR3JvdXAgIAor
ICogQ29weXJpZ2h0IChjKSAxOTk4LTIwMDEgV2FwSVQgTHRkLiAgIAorICogQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4gCisgKiAKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCAKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyAKKyAqIGFyZSBtZXQ6
IAorICogCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodCAKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisgKiAKKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIAorICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSAKKyAqICAgIGRpc3RyaWJ1dGlvbi4gCisgKiAKKyAqIDMu
IFRoZSBlbmQtdXNlciBkb2N1bWVudGF0aW9uIGluY2x1ZGVkIHdpdGggdGhlIHJlZGlzdHJpYnV0
aW9uLCAKKyAqICAgIGlmIGFueSwgbXVzdCBpbmNsdWRlIHRoZSBmb2xsb3dpbmcgYWNrbm93bGVk
Z21lbnQ6IAorICogICAgICAgIlRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9w
ZWQgYnkgdGhlIAorICogICAgICAgIEthbm5lbCBHcm91cCAoaHR0cDovL3d3dy5rYW5uZWwub3Jn
LykuIiAKKyAqICAgIEFsdGVybmF0ZWx5LCB0aGlzIGFja25vd2xlZGdtZW50IG1heSBhcHBlYXIg
aW4gdGhlIHNvZnR3YXJlIGl0c2VsZiwgCisgKiAgICBpZiBhbmQgd2hlcmV2ZXIgc3VjaCB0aGly
ZC1wYXJ0eSBhY2tub3dsZWRnbWVudHMgbm9ybWFsbHkgYXBwZWFyLiAKKyAqIAorICogNC4gVGhl
IG5hbWVzICJLYW5uZWwiIGFuZCAiS2FubmVsIEdyb3VwIiBtdXN0IG5vdCBiZSB1c2VkIHRvIAor
ICogICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgCisgKiAgICBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIEZvciB3cml0dGVu
IHBlcm1pc3Npb24sIHBsZWFzZSAgCisgKiAgICBjb250YWN0IG9yZ0BrYW5uZWwub3JnLiAKKyAq
IAorICogNS4gUHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgbWF5IG5vdCBiZSBj
YWxsZWQgIkthbm5lbCIsIAorICogICAgbm9yIG1heSAiS2FubmVsIiBhcHBlYXIgaW4gdGhlaXIg
bmFtZSwgd2l0aG91dCBwcmlvciB3cml0dGVuIAorICogICAgcGVybWlzc2lvbiBvZiB0aGUgS2Fu
bmVsIEdyb3VwLiAKKyAqIAorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycg
QU5EIEFOWSBFWFBSRVNTRUQgT1IgSU1QTElFRCAKKyAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIAorICogT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgCisgKiBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEtBTk5FTCBHUk9VUCBPUiBJVFMgQ09O
VFJJQlVUT1JTIAorICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCAgCisgKiBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCAgCisgKiBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgIAorICogQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksICAKKyAqIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFICAKKyAqIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsICAK
KyAqIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
ICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0gCisgKiAKKyAqIFRoaXMgc29mdHdhcmUgY29uc2lzdHMgb2Ygdm9sdW50
YXJ5IGNvbnRyaWJ1dGlvbnMgbWFkZSBieSBtYW55IAorICogaW5kaXZpZHVhbHMgb24gYmVoYWxm
IG9mIHRoZSBLYW5uZWwgR3JvdXAuICBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiAgCisgKiB0aGUg
S2FubmVsIEdyb3VwLCBwbGVhc2Ugc2VlIDxodHRwOi8vd3d3Lmthbm5lbC5vcmcvPi4gCisgKiAK
KyAqIFBvcnRpb25zIG9mIHRoaXMgc29mdHdhcmUgYXJlIGJhc2VkIHVwb24gc29mdHdhcmUgb3Jp
Z2luYWxseSB3cml0dGVuIGF0ICAKKyAqIFdhcElUIEx0ZC4sIEhlbHNpbmtpLCBGaW5sYW5kIGZv
ciB0aGUgS2FubmVsIHByb2plY3QuICAKKyAqLyAKKworLyoKKyAqIGd3L2N1c3Rwb3J0cy5oCisg
KgorICogSW1wbGVtZW50YXRpb24gb2Ygd2FwYm94IGN1c3RvbSBVRFAgcG9ydHMpCisgKgorICog
THVib3IgS29sYXIgPGtvbGFyQHBvcmN1cy5jej4sIDE0LjAzLjIwMDYKKyAqLworCisjaWZuZGVm
CUNVU1RQT1JUU19ICisjZGVmaW5lCUNVU1RQT1JUU19IIDEKKworI2luY2x1ZGUgImd3bGliL2d3
bGliLmgiCisKK2V4dGVybiBsb25nIHBvcnRfd3NwOyAvLyBjb25uZWN0aW9ubGVzcyAKK2V4dGVy
biBsb25nIHBvcnRfd3RwOyAvLyBjb25uZWN0aW9uLW9yaWVudGVkCitleHRlcm4gbG9uZyBwb3J0
X3dzcHM7IC8vIGNvbm5lY3Rpb25sZXNzIHNlY3VyZQorZXh0ZXJuIGxvbmcgcG9ydF93dHBzOyAv
LyBjb25uZWN0aW9uLW9yaWVudGVkIHNlY3VyZQorCit2b2lkIFJlYWRDdXN0b21Qb3J0cyhDZmcg
KmNvbmZpZyk7CisjZW5kaWYgLyogQ1VTVFBPUlRTX0ggKi8KKwpkaWZmIC1yIC11IC1OIGdhdGV3
YXktMS40LjAub3JpZy9ndy93YXBfcHVzaF9wcGcuYyBnYXRld2F5LTEuNC4wL2d3L3dhcF9wdXNo
X3BwZy5jCi0tLSBnYXRld2F5LTEuNC4wLm9yaWcvZ3cvd2FwX3B1c2hfcHBnLmMJMjAwNC0wNi0y
MCAyMDoyNjoxNi4wMDAwMDAwMDAgKzAyMDAKKysrIGdhdGV3YXktMS40LjAvZ3cvd2FwX3B1c2hf
cHBnLmMJMjAwNi0wMy0xNSAyMTowODo1Mi4wMDAwMDAwMDAgKzAxMDAKQEAgLTg4LDYgKzg4LDcg
QEAKICNpbmNsdWRlICJ3YXBfcHVzaF9wYXBfY29tcGlsZXIuaCIKICNpbmNsdWRlICJ3YXBfcHVz
aF9wYXBfbWltZS5oIgogI2luY2x1ZGUgIndhcF9wdXNoX3BwZ19wdXNodXNlci5oIgorI2luY2x1
ZGUgImN1c3Rwb3J0cy5oIgogCiBlbnVtIHsKICAgICBUSU1FX0VYUElSRUQgPSAwLApAQCAtMTc2
NywxMCArMTc2OCwxMCBAQAogCiAgICAgaWYgKCFjbGVzc19hY2NlcHRlZCkgewogICAgICAgICBj
bGlwb3J0ID0gQ09OTkVDVEVEX0NMSVBPUlQ7Ci0gICAgICAgIHNlcnZwb3J0ID0gQ09OTkVDVEVE
X1NFUlZQT1JUOworICAgICAgICBzZXJ2cG9ydCA9IHBvcnRfd3RwOwogICAgIH0gZWxzZSB7CiAg
ICAgICAgIGNsaXBvcnQgPSBDT05ORUNUSU9OTEVTU19QVVNIX0NMSVBPUlQ7Ci0gICAgICAgIHNl
cnZwb3J0ID0gQ09OTkVDVElPTkxFU1NfU0VSVlBPUlQ7CisgICAgICAgIHNlcnZwb3J0ID0gcG9y
dF93c3A7CiAgICAgfQogICAgIAogICAgIGFkZHJlc3NfdHlwZSA9ICgqKmUpLnUuUHVzaF9NZXNz
YWdlLmFkZHJlc3NfdHlwZTsKZGlmZiAtciAtdSAtTiBnYXRld2F5LTEuNC4wLm9yaWcvZ3cvd2Fw
X3B1c2hfcHBnLmggZ2F0ZXdheS0xLjQuMC9ndy93YXBfcHVzaF9wcGcuaAotLS0gZ2F0ZXdheS0x
LjQuMC5vcmlnL2d3L3dhcF9wdXNoX3BwZy5oCTIwMDQtMDEtMjIgMTU6MDg6MjQuMDAwMDAwMDAw
ICswMTAwCisrKyBnYXRld2F5LTEuNC4wL2d3L3dhcF9wdXNoX3BwZy5oCTIwMDYtMDMtMTUgMjE6
MDg6NTIuMDAwMDAwMDAwICswMTAwCkBAIC0xNjcsOSArMTY3LDcgQEAKICAqLwogZW51bSB7CiAg
ICAgQ09OTkVDVElPTkxFU1NfUFVTSF9DTElQT1JUID0gMjk0OCwKLSAgICBDT05ORUNUSU9OTEVT
U19TRVJWUE9SVCA9IDkyMDAsCiAgICAgQ09OTkVDVEVEX0NMSVBPUlQgPSA5MjA5LAotICAgIENP
Tk5FQ1RFRF9TRVJWUE9SVCA9IDkyMDEKIH07CiAKIHN0cnVjdCBQUEdTZXNzaW9uTWFjaGluZSB7
CmRpZmYgLXIgLXUgLU4gZ2F0ZXdheS0xLjQuMC5vcmlnL2d3L3dhcGJveC5jIGdhdGV3YXktMS40
LjAvZ3cvd2FwYm94LmMKLS0tIGdhdGV3YXktMS40LjAub3JpZy9ndy93YXBib3guYwkyMDA0LTA4
LTI4IDIwOjA5OjE5LjAwMDAwMDAwMCArMDIwMAorKysgZ2F0ZXdheS0xLjQuMC9ndy93YXBib3gu
YwkyMDA2LTAzLTE1IDIxOjA4OjUyLjAwMDAwMDAwMCArMDEwMApAQCAtODQsMTcgKzg0LDExIEBA
CiAjaW5jbHVkZSAiZ3dsaWIvcGtpLmgiCiAjZW5kaWYKICNpbmNsdWRlICJyYWRpdXMvcmFkaXVz
X2FjY3QuaCIKKyNpbmNsdWRlICJjdXN0cG9ydHMuaCIKIAogc3RhdGljIHZvaWQgY29uZmlnX3Jl
bG9hZChpbnQgcmVsb2FkKTsKIHN0YXRpYyBsb25nIGxvZ2ZpbGVsZXZlbD0tMTsKIAotZW51bSB7
Ci0gICAgQ09OTkVDVElPTkxFU1NfUE9SVCA9IDkyMDAsCi0gICAgQ09OTkVDVElPTl9PUklFTlRF
RF9QT1JUID0gOTIwMSwKLSAgICBXVExTX0NPTk5FQ1RJT05MRVNTX1BPUlQgPSA5MjAyLAotICAg
IFdUTFNfQ09OTkVDVElPTl9PUklFTlRFRF9QT1JUID0gOTIwMwotfTsKLQogZW51bSB7IERFRkFV
TFRfVElNRVJfRlJFUSA9IDF9OwogCiBzdGF0aWMgT2N0c3RyICpiZWFyZXJib3hfaG9zdDsKQEAg
LTEyOCw2ICsxMjIsOCBAQAogCiAgICAgY2ZnX2R1bXAoY2ZnKTsKICAgICAKKyAgICBSZWFkQ3Vz
dG9tUG9ydHMoY2ZnKTsKKyAgICAKICAgICAvKgogICAgICAqIEV4dHJhY3QgaW5mbyBmcm9tIHRo
ZSBjb3JlIGdyb3VwLgogICAgICAqLwpAQCAtNzUxLDkgKzc0Nyw5IEBACiAJICAgICAqIFhYWFgg
aGVyZSBzaG91bGQgYmUgc3VzcGVuZC9yZXN1bWUsIGFkZCBSU04KIAkgICAgICovCiAJfSBlbHNl
IGlmIChtc2dfdHlwZShtc2cpID09IHdkcF9kYXRhZ3JhbSkgewotICAgICAgICBzd2l0Y2ggKG1z
Zy0+d2RwX2RhdGFncmFtLmRlc3RpbmF0aW9uX3BvcnQpIHsKLSAgICAgICAgY2FzZSBDT05ORUNU
SU9OTEVTU19QT1JUOgotICAgICAgICBjYXNlIENPTk5FQ1RJT05fT1JJRU5URURfUE9SVDoKKwlp
Zihtc2ctPndkcF9kYXRhZ3JhbS5kZXN0aW5hdGlvbl9wb3J0ID09IHBvcnRfd3NwIAorCSAgIHx8
IG1zZy0+d2RwX2RhdGFncmFtLmRlc3RpbmF0aW9uX3BvcnQgPT0gcG9ydF93dHApCisJewogCSAg
ICAJZGdyYW0gPSB3YXBfZXZlbnRfY3JlYXRlKFRfRFVuaXRkYXRhX0luZCk7CiAJICAgIAlkZ3Jh
bS0+dS5UX0RVbml0ZGF0YV9JbmQuYWRkcl90dXBsZSA9IHdhcF9hZGRyX3R1cGxlX2NyZWF0ZSgK
IAkJCQltc2ctPndkcF9kYXRhZ3JhbS5zb3VyY2VfYWRkcmVzcywKQEAgLTc2NCwxOSArNzYwLDIy
IEBACiAJICAgIAltc2ctPndkcF9kYXRhZ3JhbS51c2VyX2RhdGEgPSBOVUxMOwogCiAgICAgICAg
ICAgCXdhcF9kaXNwYXRjaF9kYXRhZ3JhbShkZ3JhbSk7IAotCQkJYnJlYWs7Ci0gICAgICAgIGNh
c2UgV1RMU19DT05ORUNUSU9OTEVTU19QT1JUOgotICAgICAgICBjYXNlIFdUTFNfQ09OTkVDVElP
Tl9PUklFTlRFRF9QT1JUOgorCX0KKwllbHNlCisJaWYobXNnLT53ZHBfZGF0YWdyYW0uZGVzdGlu
YXRpb25fcG9ydCA9PSBwb3J0X3dzcHMgCisJICAgfHwgbXNnLT53ZHBfZGF0YWdyYW0uZGVzdGlu
YXRpb25fcG9ydCA9PSBwb3J0X3d0cHMpCisJewogI2lmIChIQVZFX1dUTFNfT1BFTlNTTCkKICAg
ICAgICAgICAgIGRncmFtID0gd3Rsc191bnBhY2tfd2RwX2RhdGFncmFtKG1zZyk7CiAgICAgICAg
ICAgICBpZiAoZGdyYW0gIT0gTlVMTCkKICAgICAgICAgICAgICAgICB3dGxzX2Rpc3BhdGNoX2V2
ZW50KGRncmFtKTsKICNlbmRpZgotCQkJYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6CisJfQorICAg
ICAgICBlbHNlCisJewogICAgICAgICAgICAgICAgIHBhbmljKDAsIkJhZCBwYWNrZXQgcmVjZWl2
ZWQhIFRoaXMgc2hvdWxkbid0IGhhcHBlbiEiKTsKICAgICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgfSAKKyAgICAgICAgfSAJCiAJfSBlbHNlIHsKIAkgICAgd2FybmluZygwLCAiUmVjZWl2
ZWQgb3RoZXIgbWVzc2FnZSB0aGFuIHdkcC9hZG1pbiwgaWdub3JpbmchIik7CiAJfQpkaWZmIC1y
IC11IC1OIGdhdGV3YXktMS40LjAub3JpZy9nd2xpYi9jZmcuZGVmIGdhdGV3YXktMS40LjAvZ3ds
aWIvY2ZnLmRlZgotLS0gZ2F0ZXdheS0xLjQuMC5vcmlnL2d3bGliL2NmZy5kZWYJMjAwNC0wNi0y
OCAxNzoxODozNS4wMDAwMDAwMDAgKzAyMDAKKysrIGdhdGV3YXktMS40LjAvZ3dsaWIvY2ZnLmRl
ZgkyMDA2LTAzLTE1IDIxOjA5OjE0LjAwMDAwMDAwMCArMDEwMApAQCAtMTQ4LDYgKzE0OCwxMCBA
QAogICAgIE9DVFNUUihodHRwLWludGVyZmFjZS1uYW1lKQogICAgIE9DVFNUUihjb25jYXRlbmF0
aW9uKQogICAgIE9DVFNUUihtYXgtbWVzc2FnZXMpCisgICAgT0NUU1RSKHdzcC1wb3J0KQorICAg
IE9DVFNUUih3dHAtcG9ydCkKKyAgICBPQ1RTVFIod3Nwcy1wb3J0KQorICAgIE9DVFNUUih3dHBz
LXBvcnQpCiApCiAKIAo=
</data>        

          </attachment>
    </bug>

</bugzilla>