<?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>136038</bug_id>
          
          <creation_ts>2006-06-08 02:25 0000</creation_ts>
          <short_desc>nfs-utils-1.0.8 ebuild (version bump)</short_desc>
          <delta_ts>2006-07-16 09:44:54 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>Ebuilds</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>normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>124474</dependson>
    
    <dependson>135471</dependson>
    
    <dependson>136039</dependson>
          <blocked>136486</blocked>
          
          <everconfirmed>1</everconfirmed>
          <reporter>mario.fetka@gmail.com</reporter>
          <assigned_to>net-fs@gentoo.org</assigned_to>
          <cc>ikelos@gentoo.org</cc>
    
    <cc>supermihi@web.de</cc>
    
    <cc>t4bs@internode.on.net</cc>

      

      
          <long_desc isprivate="0">
            <who>mario.fetka@gmail.com</who>
            <bug_when>2006-06-08 02:25:32 0000</bug_when>
            <thetext>Ebuild for nfs-utils ver 1.0.8</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mario.fetka@gmail.com</who>
            <bug_when>2006-06-08 02:26:23 0000</bug_when>
            <thetext>Created an attachment (id=88649)
nfs-utils-1.0.8.ebuild

The Ebuild for nfs-utils 1.0.8</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mario.fetka@gmail.com</who>
            <bug_when>2006-06-08 02:26:55 0000</bug_when>
            <thetext>Created an attachment (id=88650)
nfs-utils-1.0.8-CITI_NFS4_ALL-2.patch

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mario.fetka@gmail.com</who>
            <bug_when>2006-06-08 02:27:16 0000</bug_when>
            <thetext>Created an attachment (id=88651)
nfs-utils-1.0.8-eepro-support.patch

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mario.fetka@gmail.com</who>
            <bug_when>2006-06-08 02:28:32 0000</bug_when>
            <thetext>Created an attachment (id=88652)
nfs-utils-1.0.8-heimdal.patch

This patch makes the nfs-utils independent from the kerberos implimentation.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mario.fetka@gmail.com</who>
            <bug_when>2006-06-08 02:29:18 0000</bug_when>
            <thetext>Created an attachment (id=88653)
nfs-utils-1.0.8-nolibs.patch

Let configue find some libs</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mario.fetka@gmail.com</who>
            <bug_when>2006-06-08 02:31:36 0000</bug_when>
            <thetext>Created an attachment (id=88654)
nfs-utils-1.0.8.ebuild

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vapier@gentoo.org</who>
            <bug_when>2006-06-10 09:30:31 0000</bug_when>
            <thetext>- nfs-utils-1.0.8-CITI_NFS4_ALL-2.patch:
  i&apos;ll just fetch this from upstream

- nfs-utils-1.0.8-eepro-support.patch:
  no ... bug in the eepro driver, not nfs-utils

- nfs-utils-1.0.8-heimdal.patch:
  please get this sorted out on the nfs dev list:
  https://lists.sourceforge.net/lists/listinfo/nfs

- nfs-utils-1.0.8-nolibs.patch:
  could you explain this patch please ?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mario.fetka@gmail.com</who>
            <bug_when>2006-06-11 02:02:19 0000</bug_when>
            <thetext>(In reply to comment #7)
&gt; - nfs-utils-1.0.8-CITI_NFS4_ALL-2.patch:
&gt;   i&apos;ll just fetch this from upstream
yes this would be the right way to do it.
&gt; 
&gt; - nfs-utils-1.0.8-eepro-support.patch:
&gt;   no ... bug in the eepro driver, not nfs-utils
ok i will try to get the error fixed upstream.
&gt; 
&gt; - nfs-utils-1.0.8-heimdal.patch:
&gt;   please get this sorted out on the nfs dev list:
&gt;   https://lists.sourceforge.net/lists/listinfo/nfs
this has nothing to do with ustream error.
it is only a fix to get nfs-utils nfs4 patch to use the libgssapi includet in heimdal to use. this only corrects th detction. of the required lib.
it wants to use the external lib with a pkgconfig file detection only correct it.
i will try to get the missing function upstream.
&gt; 
&gt; - nfs-utils-1.0.8-nolibs.patch:
&gt;   could you explain this patch please ?
&gt; 
this patch avoid unnecessary -lnsl linking.
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vapier@gentoo.org</who>
            <bug_when>2006-06-11 03:20:38 0000</bug_when>
            <thetext>- nfs-utils-1.0.8-nolibs.patch:

i imagine you&apos;re doing this to avoid linking with some libs, but i can only guess at the mechanism ... you first try to see if the system libc provides the function and if not, fall back to checking external libs ?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mario.fetka@gmail.com</who>
            <bug_when>2006-06-11 05:48:28 0000</bug_when>
            <thetext>(In reply to comment #9)
&gt; - nfs-utils-1.0.8-nolibs.patch:
&gt; 
&gt; i imagine you&apos;re doing this to avoid linking with some libs, but i can only
&gt; guess at the mechanism ... you first try to see if the system libc provides the
&gt; function and if not, fall back to checking external libs ?
&gt; 
you are right
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>ikelos@gentoo.org</who>
            <bug_when>2006-06-11 10:01:23 0000</bug_when>
            <thetext>Seems this hit the tree before the two bugs it depended on were fixed.  As such, with mit-krb5, I&apos;m getting:

checking for RPCSECGSS... configure: error: Unable to locate information required to use librpcsecgss.
       If you have pkgconfig installed, you might try setting environment
       variable PKG_CONFIG_PATH to /usr/local/lib/pkgconfig

Any chance of p.masking this until the dependencies are fixed?  5:)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mario.fetka@gmail.com</who>
            <bug_when>2006-06-11 22:42:16 0000</bug_when>
            <thetext>(In reply to comment #4)
&gt; Created an attachment (id=88652) [edit]
&gt; nfs-utils-1.0.8-heimdal.patch
&gt; 
the reason for this patch ist a dependency tree:
libgssapi --&gt; mit-krb5 --&gt; librpcsecgss --&gt; nfs-utils
or
heimdal --&gt; librpcsecgss --&gt; nfs-utils
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>supermihi@web.de</who>
            <bug_when>2006-06-13 07:05:29 0000</bug_when>
            <thetext>This ebuild shoud depend on libgssapi, since id doesn&apos;t compile without it.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mario.fetka@gmail.com</who>
            <bug_when>2006-06-13 09:41:52 0000</bug_when>
            <thetext>(In reply to comment #13)
&gt; This ebuild shoud depend on libgssapi, since id doesn&apos;t compile without it.
&gt; 
this ebuild depends on (mit-krb5 and libgssapi) bug 136039 or heimdal

this is the reason for the nfs-utils-*-heimdal.patch 
heimdal already provides libgssapi so there is no reason for the extra package.
mit-krb5 has a modified version libgssapi_krb5 so add it.
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>supermihi@web.de</who>
            <bug_when>2006-06-13 10:07:14 0000</bug_when>
            <thetext>Sorry, I was in the wrong bug. :(</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mario.fetka@gmail.com</who>
            <bug_when>2006-06-19 10:27:59 0000</bug_when>
            <thetext>

http://www.citi.umich.edu/projects/nfsv4/linux/nfs-utils-patches/1.0.8-3/

Changes since 1.0.8-CITI_NFS4_ALL-2:

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mario.fetka@gmail.com</who>
            <bug_when>2006-06-19 10:27:59 0000</bug_when>
            <thetext>

http://www.citi.umich.edu/projects/nfsv4/linux/nfs-utils-patches/1.0.8-3/

Changes since 1.0.8-CITI_NFS4_ALL-2:

 * Patch to nfsstat from Shankar Anand&lt;shanand@novell.com&gt; to
   read /proc/net/rpc/nfsd for nfsv4 server statistics

 * Patch from Olga Kornievskaia &lt;aglo@citi.umich.edu&gt; to update
   the lucid context for spkm3 which is passed down to the kernel

 * Patch from Fred Isaman &lt;iisaman@citi.umich.edu&gt; to add support
   to exportfs for new options for doing fslocations.

 * A configuration fix to work correctly with older MIT Kerberos
   releases.

 * A configuration fix to use the right CFLAGS to build
   gss_clnt_send_err(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; - nfs-utils-1.0.8-CITI_NFS4_ALL-2.patch:
&gt; &gt;   i&apos;ll just fetch this from upstream
&gt; yes this would be the right way to do it.
&gt; &gt; 
&gt; &gt; - nfs-utils-1.0.8-eepro-support.patch:
&gt; &gt;   no ... bug in the eepro driver, not nfs-utils
&gt; ok i will try to get the error fixed upstream.
&gt; &gt; 
&gt; &gt; - nfs-utils-1.0.8-heimdal.patch:
&gt; &gt;   please get this sorted out on the nfs dev list:
&gt; &gt;   https://lists.sourceforge.net/lists/listinfo/nfs
&gt; this has nothing to do with ustream error.
&gt; it is only a fix to get nfs-utils nfs4 patch to use the libgssapi includet in
&gt; heimdal to use. this only corrects th detction. of the required lib.
&gt; it wants to use the external lib with a pkgconfig file detection only correct
&gt; it.
&gt; i will try to get the missing function upstream.
&gt; &gt; 
&gt; &gt; - nfs-utils-1.0.8-nolibs.patch:
&gt; &gt;   could you explain this patch please ?
&gt; &gt; 
&gt; this patch avoid unnecessary -lnsl linking.
&gt; 

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>betelgeuse@gentoo.org</who>
            <bug_when>2006-06-23 03:41:46 0000</bug_when>
            <thetext>*nfs-utils-1.0.8 (10 Jun 2006)

  10 Jun 2006; Mike Frysinger &lt;vapier@gentoo.org&gt; +nfs-utils-1.0.8.ebuild:
  Version bump #136038 by Mario Fetka.

Is there any reason to still keep this bug open?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mario.fetka@gmail.com</who>
            <bug_when>2006-06-23 06:49:28 0000</bug_when>
            <thetext>(In reply to comment #17)
&gt; *nfs-utils-1.0.8 (10 Jun 2006)
&gt; 
&gt;   10 Jun 2006; Mike Frysinger &lt;vapier@gentoo.org&gt; +nfs-utils-1.0.8.ebuild:
&gt;   Version bump #136038 by Mario Fetka.
&gt; 
&gt; Is there any reason to still keep this bug open?
&gt; 
yes the heimdal patch

how shoud we manage the dependency problem
heimdal installs libgssapi.so.4
and there is also a package that provides libgssapi.so.2
we will end with 2 libgssapi&apos;s on the system.
the heimdal patch (Hack) makes it possible to get nfs-utils to compile against heimdals gssapi. (mit-krb5 should depend on the package until mit-krb5 1.5 is out then also mit-krb5 provides a libgssapi that provides all the needet functions) 


</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vapier@gentoo.org</who>
            <bug_when>2006-07-16 01:04:00 0000</bug_when>
            <thetext>please send the heimdal patch upstream:
https://lists.sourceforge.net/lists/listinfo/nfs

i dont work with kerberos stuff so i cant really review it</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mario.fetka@gmail.com</who>
            <bug_when>2006-07-16 09:44:54 0000</bug_when>
            <thetext>(In reply to comment #19)
&gt; please send the heimdal patch upstream:
&gt; https://lists.sourceforge.net/lists/listinfo/nfs
&gt; 
&gt; i dont work with kerberos stuff so i cant really review it
&gt; this patch will be obsoled with the upcomming heimdal

A new version of libgssapi is now available from:

http://www.citi.umich.edu/projects/nfsv4/linux/libgssapi/libgssapi-0.10.tar.gz

Changes since libgssapi-0.9:
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mario.fetka@gmail.com</who>
            <bug_when>2006-07-16 09:44:54 0000</bug_when>
            <thetext>(In reply to comment #19)
&gt; please send the heimdal patch upstream:
&gt; https://lists.sourceforge.net/lists/listinfo/nfs
&gt; 
&gt; i dont work with kerberos stuff so i cant really review it
&gt; this patch will be obsoled with the upcomming heimdal

A new version of libgssapi is now available from:

http://www.citi.umich.edu/projects/nfsv4/linux/libgssapi/libgssapi-0.10.tar.gz

Changes since libgssapi-0.9:
        - Add symbol versioning script and use it when linking
          the library.  This allows us to use the gss_* symbols
          from MIT gssapi_krb5 libraries without namespace
          collision problems.  This is required for use with
          MIT release 1.5 which no longer exports the krb5_gss_*
          symbols.  (In addition, this should also allow us to
          work with Heimdal. Currently untested.)

        - Remove code that tries to get symbols with names krb5_gss_*.

        - Open dynamic libraries with RTLD_LOCAL

so lets wait the next heimdal releeas.

wfg
Mario

</thetext>
          </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>88649</attachid>
            <date>2006-06-08 02:26 0000</date>
            <desc>nfs-utils-1.0.8.ebuild</desc>
            <filename>nfs-utils-1.0.8.ebuild</filename>
            <type>text/plain</type>
            <data encoding="base64">IyBDb3B5cmlnaHQgMTk5OS0yMDA2IEdlbnRvbyBGb3VuZGF0aW9uCiMgRGlzdHJpYnV0ZWQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MgojICRIZWFk
ZXI6IC92YXIvY3Zzcm9vdC9nZW50b28teDg2L25ldC1mcy9uZnMtdXRpbHMvbmZzLXV0aWxzLTEu
MC43LXIyLmVidWlsZCx2IDEuNCAyMDA2LzAzLzA5IDAwOjQzOjQwIHZhcGllciBFeHAgJAoKaW5o
ZXJpdCBldXRpbHMgZmxhZy1vLW1hdGljIGF1dG90b29scyBsaWJ0b29sCgpERVNDUklQVElPTj0i
TkZTIGNsaWVudCBhbmQgc2VydmVyIGRhZW1vbnMiCkhPTUVQQUdFPSJodHRwOi8vbmZzLnNvdXJj
ZWZvcmdlLm5ldC8iClNSQ19VUkk9Im1pcnJvcjovL3NvdXJjZWZvcmdlL25mcy8ke1B9LnRhci5n
eiIKCkxJQ0VOU0U9IkdQTC0yIgpTTE9UPSIwIgpLRVlXT1JEUz0ifmFscGhhIH5hbWQ2NCB+YXJt
IH5ocHBhIH5pYTY0IH5taXBzIH5wcGMgfnBwYzY0IH5zMzkwIH5zcGFyYyB+eDg2IgpJVVNFPSJu
b25mc3Y0IHRjcGQga2VyYmVyb3MiCgpBVF9HTlVDT05GX1VQREFURT1ubwoKIyBrdGgta3JiIGRv
ZXNuJ3QgcHJvdmlkZSB0aGUgcmlnaHQgaW5jbHVkZQojIGZpbGVzLCBhbmQgbmZzLXV0aWxzIGRv
ZXNuJ3QgYnVpbGQgYWdhaW5zdCBoZWltZGFsIGVpdGhlciwgCiMgc28gZG9uJ3QgZGVwZW5kIG9u
IHZpcnR1YWwva3JiLgojICgwNCBGZWIgMjAwNSBhZ3JpZmZpcykKUkRFUEVORD0idGNwZD8gKCBz
eXMtYXBwcy90Y3Atd3JhcHBlcnMgKQoJPj1uZXQtbmRzL3BvcnRtYXAtNWItcjYKCSFub25mc3Y0
PyAoCgkJPj1kZXYtbGlicy9saWJldmVudC0xLjBiCgkJPj1kZXYtbGlicy9saWJuZnNpZG1hcC0w
LjkKCQk+PWRldi1saWJzL2xpYnJwY3NlY2dzcy0wLjEwCgkpCglrZXJiZXJvcz8gKCB2aXJ0dWFs
L2tyYjUgKSIKREVQRU5EPSIke1JERVBFTkR9Cgk+PXN5cy1hcHBzL3BvcnRhZ2UtMi4wLjUxIgoK
c3JjX3VucGFjaygpIHsKCXVucGFjayAke0F9CgljZCAiJHtTfSIKCgkjIGdldHJwY2J5bnVtYmVy
X3IgaXMgbm90IGluIHRoZSBTdVN2MyBzcGVjLiBkaXNhYmxlIGl0IGZvciB1Q2xpYmMKCWVwYXRj
aCAiJHtGSUxFU0RJUn0iL25mcy11dGlscy0xLjAuNi11Y2xpYmMucGF0Y2gKCQoJZXBhdGNoICIk
e0ZJTEVTRElSfSIvJHtQfS1lZXByby1zdXBwb3J0LnBhdGNoCgllcGF0Y2ggIiR7RklMRVNESVJ9
Ii8ke1B9LW5vbGlicy5wYXRjaAoJZXBhdGNoICIke0ZJTEVTRElSfSIvJHtQfS1DSVRJX05GUzRf
QUxMLTIucGF0Y2gKCgllcGF0Y2ggIiR7RklMRVNESVJ9Ii8ke1B9LWhlaW1kYWwucGF0Y2gKCglz
ZWQgLWkgLWUgJ3MjbGlicm9rZW4uYSNsaWJyb2tlbi5zbyNnJyBhY2xvY2FsL2tlcmJlcm9zNS5t
NAkKIwlzZWQgLWkgLWUgJ3MjL2xpYi8jLyV7X2xpYn0vI2cnIGFjbG9jYWwva2VyYmVyb3M1Lm00
CglBVF9NNERJUj0iYWNsb2NhbCIgZWF1dG9yZWNvbmYKfQoKc3JjX2NvbXBpbGUoKSB7CgllY29u
ZiBcCgkJLS1tYW5kaXI9L3Vzci9zaGFyZS9tYW4gXAoJCS0td2l0aC1zdGF0ZWRpcj0vdmFyL2xp
Yi9uZnMgXAoJCS0tZGlzYWJsZS1ycXVvdGFkIFwKCQktLWVuYWJsZS1uZnN2MyBcCgkJLS1lbmFi
bGUtc2VjdXJlLXN0YXRkIFwKCQktLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2VyIFwKCQkkKHVz
ZV9lbmFibGUgIW5vbmZzdjQgbmZzdjQpIFwKCQkkKHVzZV9lbmFibGUga2VyYmVyb3MgZ3NzKSBc
CgkJJCh1c2Vfd2l0aCB0Y3BkIHRjcC13cmFwcGVycykgXAoJCXx8IGRpZSAiQ29uZmlndXJlIGZh
aWxlZCIKCgkjIHBhcmFsbGVsIG1ha2UgZmFpbHMgZm9yIGRlcGVuZCB0YXJnZXQKCWVtYWtlIHx8
IGRpZSAiRmFpbGVkIHRvIGNvbXBpbGUiCn0KCnNyY19pbnN0YWxsKCkgewoJbWFrZSBERVNURElS
PSIke0R9IiBpbnN0YWxsIHx8IGRpZQoKCSMgRG9uJ3Qgb3ZlcndyaXRlIGV4aXN0aW5nIHh0YWIv
ZXRhYiwgaW5zdGFsbCB0aGUgb3JpZ2luYWwKCSMgdmVyc2lvbnMgc29tZXdoZXJlIHNhZmUuLi4g
IG1vcmUgaW5mbyBpbiBwa2dfcG9zdGluc3QKCWRvZGlyIC91c3IvbGliL25mcwoJa2VlcGRpciAv
dmFyL2xpYi9uZnMve3NtLHNtLmJha30KCW12ICIke0R9Ii92YXIvbGliL25mcy8qICIke0R9Ii91
c3IvbGliL25mcwoJa2VlcGRpciAvdmFyL2xpYi9uZnMKCgkjIEluc3RhbGwgc29tZSBjbGllbnQt
c2lkZSBiaW5hcmllcyBpbiAvc2JpbgoJZG9kaXIgL3NiaW4KCW12ICIke0R9Ii91c3Ivc2Jpbi9y
cGMue2xvY2tkLHN0YXRkfSAiJHtEfSIvc2Jpbi8KCglkb2RvYyBDaGFuZ2VMb2cgUkVBRE1FCglk
b2NpbnRvIGxpbnV4LW5mcyA7IGRvZG9jIGxpbnV4LW5mcy8qCgoJaW5zaW50byAvZXRjCglkb2lu
cyAiJHtGSUxFU0RJUn0iL2V4cG9ydHMKCXVzZSAhbm9uZnN2NCAmJiBkb2lucyB1dGlscy9pZG1h
cGQvaWRtYXBkLmNvbmYKCXVzZSBrZXJiZXJvcyAmJiBuZXdpbnMgc3VwcG9ydC9nc3NhcGkvU0FN
UExFX2dzc2FwaV9tZWNoLmNvbmYKCglkb2luaXRkICIke0ZJTEVTRElSfSIvbmZzICIke0ZJTEVT
RElSfSIvbmZzbW91bnQKCW5ld2NvbmZkICIke0ZJTEVTRElSfSIvbmZzLmNvbmZkIG5mcwoKCSMg
dUNsaWJjIGRvZXNuJ3QgcHJvdmlkZSBycGNnZW4gbGlrZSBnbGliYywgc28gbGV0cyBzdGVhbCBp
dCBmcm9tIG5mcy11dGlscwoJaWYgISB1c2UgZWxpYmNfZ2xpYmMgOyB0aGVuCgkJZG9iaW4gdG9v
bHMvcnBjZ2VuL3JwY2dlbiB8fCBkaWUgInJwY2dlbiIKCQluZXdkb2MgdG9vbHMvcnBjZ2VuL1JF
QURNRSBSRUFETUUucnBjZ2VuCglmaQp9Cgpwa2dfcHJlaW5zdCgpIHsKCWlmIFtbIC1zICR7Uk9P
VH0vZXRjL2V4cG9ydHMgXV0gOyB0aGVuCgkJcm0gLWYgIiR7SU1BR0V9Ii9ldGMvZXhwb3J0cwoJ
ZmkKfQoKcGtnX3Bvc3RpbnN0KCkgewoJIyBJbnN0YWxsIGRlZmF1bHQgeHRhYiBhbmQgZnJpZW5k
cyBpZiB0aGVyZSdzIG5vbmUgZXhpc3RpbmcuCgkjIEluIHNyY19pbnN0YWxsIHdlIHB1dCB0aGVt
IGluIC91c3IvbGliL25mcyBmb3Igc2FmZS1rZWVwaW5nLCBidXQKCSMgdGhlIGRhZW1vbnMgYWN0
dWFsbHkgdXNlIHRoZSBmaWxlcyBpbiAvdmFyL2xpYi9uZnMuICBUaGlzIGZpeGVzCgkjIGJ1ZyAz
MDQ4NgoJbG9jYWwgZgoJZm9yIGYgaW4gIiR7Uk9PVH0iL3Vzci9saWIvbmZzLyo7IGRvCgkJW1sg
LWYgJHtST09UfS92YXIvbGliL25mcy8ke2YjIyovfSBdXSAmJiBjb250aW51ZQoJCWVpbmZvICJD
b3B5aW5nIGRlZmF1bHQgJHtmIyMqL30gZnJvbSAvdXNyL2xpYi9uZnMgdG8gL3Zhci9saWIvbmZz
IgoJCWNwIC1wUFIgJHtmfSAiJHtST09UfSIvdmFyL2xpYi9uZnMvCglkb25lCn0K
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88650</attachid>
            <date>2006-06-08 02:26 0000</date>
            <desc>nfs-utils-1.0.8-CITI_NFS4_ALL-2.patch</desc>
            <filename>nfs-utils-1.0.8-CITI_NFS4_ALL-2.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">CgpUaGUgY29tcGxldGUgc2V0IG9mIENJVEkgbmZzLXV0aWxzIHBhdGNoZXMgcm9sbGVkIGludG8g
b25lIHBhdGNoLgoKQ2hhbmdlcyBzaW5jZSAxLjAuOC1DSVRJX05GUzRfQUxMLTE6CgogKiBNb2Rp
ZnkgdGhlIHByaW50ZXJyKCkgZnVuY3Rpb24gdG86CiAgIC0gYmUgbW9yZSBlZmZpY2llbnQKICAg
LSB1c2UgYSBzaW5nbGUgYnVmZmVyIHJhdGhlciB0aGFuIHR3bwogICAtIG5vdCBjb21wbGV0ZWx5
IHRvc3MgbWVzc2FnZXMgdGhhdCBhcmUgdG9vIGxvbmcKICAgLSBzdG9wIHByaW50aW5nIG1lc3Nh
Z2VzIHRvIHN5c2xvZyBERUJVRyBsZXZlbAogCiAqIENoYW5nZSB0aGUgZGVmYXVsdCBidWZmZXIg
c2l6ZSBpbiByZWFkbGluZSBmdW5jdGlvbi4gIFdlIGFyZQogICBwYXNzaW5nIG11Y2ggbGFyZ2Vy
IG1lc3NhZ2VzIHRoYW4gaXQgd2FzIHdyaXR0ZW4gdG8gZXhwZWN0LgogICBUaGlzIHNhdmVzIG1h
bnkgY2FsbHMgdG8gcmVhbGxvYygpIHRvIHJlc2l6ZSB0aGUgYnVmZmVyLgoKICogVXNlIHRoZSBj
b3JyZWN0IGRlZmluaXRpb24gb2YgbWVjaF91c2VkIGluIHRoZSBnc3MgY29udGV4dCBhbmQgdXNl
CiAgIGEgdV9pbnQgcmF0aGVyIHRoYW4gc2l6ZV90IGluIGNhbGN1bGF0aW9ucy4gIFRoZXNlIGZp
eCBwcm9ibGVtcyBvbgogICA2NC1iaXQgYmlnLWVuZGlhbiBtYWNoaW5lcy4KCgotLS0KCiBuZnMt
dXRpbHMtMS4wLjgta3djL3V0aWxzL2dzc2QvY2FjaGVpby5jICAgICAgfCAgIDE4IAogbmZzLXV0
aWxzLTEuMC44LWt3Yy91dGlscy9nc3NkL2NvbnRleHRfbWl0LmMgIHwgIDUxMSArKysrKysrKysr
KysrKysrKysrKysrKystLQogbmZzLXV0aWxzLTEuMC44LWt3Yy91dGlscy9nc3NkL2Vycl91dGls
LmMgICAgIHwgICA2MSArLS0KIG5mcy11dGlscy0xLjAuOC1rd2MvdXRpbHMvZ3NzZC9nc3NfdXRp
bC5jICAgICB8ICAgMjUgKwogbmZzLXV0aWxzLTEuMC44LWt3Yy91dGlscy9nc3NkL2dzc191dGls
LmggICAgIHwgICAgMSAKIG5mcy11dGlscy0xLjAuOC1rd2MvdXRpbHMvZ3NzZC9nc3NkLmMgICAg
ICAgICB8ICAgIDUgCiBuZnMtdXRpbHMtMS4wLjgta3djL3V0aWxzL2dzc2Qva3JiNV91dGlsLmMg
ICAgfCAgMjIxICsrKysrKysrLS0tCiBuZnMtdXRpbHMtMS4wLjgta3djL3V0aWxzL2dzc2Qva3Ji
NV91dGlsLmggICAgfCAgICAyIAogbmZzLXV0aWxzLTEuMC44LWt3Yy91dGlscy9nc3NkL3N2Y2dz
c2QuYyAgICAgIHwgICAgNSAKIG5mcy11dGlscy0xLjAuOC1rd2MvdXRpbHMvZ3NzZC9zdmNnc3Nk
X3Byb2MuYyB8ICAgMTkgCiBuZnMtdXRpbHMtMS4wLjgta3djL3V0aWxzL2dzc2Qvd3JpdGVfYnl0
ZXMuaCAgfCAgIDE1IAogMTEgZmlsZXMgY2hhbmdlZCwgNzYxIGluc2VydGlvbnMoKyksIDEyMiBk
ZWxldGlvbnMoLSkKCmRpZmYgLXB1TiB1dGlscy9nc3NkL2Vycl91dGlsLmN+Q0lUSV9ORlM0X0FM
TCB1dGlscy9nc3NkL2Vycl91dGlsLmMKLS0tIG5mcy11dGlscy0xLjAuOC91dGlscy9nc3NkL2Vy
cl91dGlsLmN+Q0lUSV9ORlM0X0FMTAkyMDA2LTA1LTI2IDExOjAzOjA0LjIwMjQzNzAwMCAtMDQw
MAorKysgbmZzLXV0aWxzLTEuMC44LWt3Yy91dGlscy9nc3NkL2Vycl91dGlsLmMJMjAwNi0wNS0y
NiAxMTowMzowNC4yOTM0MzcwMDAgLTA0MDAKQEAgLTM4LDcgKzM4LDYgQEAgc3RhdGljIGludCB2
ZXJib3NpdHkgPSAwOwogc3RhdGljIGludCBmZyA9IDA7CiAKIHN0YXRpYyBjaGFyIG1lc3NhZ2Vf
YnVmWzUwMF07Ci1zdGF0aWMgY2hhciB0bXBfYnVmWzUwMF07CiAKIHZvaWQgaW5pdGVycihjaGFy
ICpwcm9nbmFtZSwgaW50IHNldF92ZXJib3NpdHksIGludCBzZXRfZmcpCiB7CkBAIC00OCw0NSAr
NDcsNDcgQEAgdm9pZCBpbml0ZXJyKGNoYXIgKnByb2duYW1lLCBpbnQgc2V0X3ZlcgogCQlvcGVu
bG9nKHByb2duYW1lLCBMT0dfUElELCBMT0dfREFFTU9OKTsKIH0KIAorCiB2b2lkIHByaW50ZXJy
KGludCBwcmlvcml0eSwgY2hhciAqZm9ybWF0LCAuLi4pCiB7CiAJdmFfbGlzdCBhcmdzOwogCWlu
dCByZXQ7CisJaW50IGJ1Zl91c2VkLCBidWZfYXZhaWxhYmxlOworCWNoYXIgKmJ1ZjsKKworCS8q
IERvbid0IGJvdGhlciBmb3JtYXR0aW5nIGEgbWVzc2FnZSB3ZSdyZSBuZXZlciBnb2luZyB0byBw
cmludCEgKi8KKwlpZiAocHJpb3JpdHkgPiB2ZXJib3NpdHkpCisJCXJldHVybjsKKworCWJ1Zl91
c2VkID0gc3RybGVuKG1lc3NhZ2VfYnVmKTsKKwkvKiBzdWJ0cmFjdCA0IHRvIGxlYXZlIHJvb20g
Zm9yICIuLi5cbiIgaWYgbmVjZXNzYXJ5ICovCisJYnVmX2F2YWlsYWJsZSA9IHNpemVvZihtZXNz
YWdlX2J1ZikgLSBidWZfdXNlZCAtIDQ7CisJYnVmID0gbWVzc2FnZV9idWYgKyBidWZfdXNlZDsK
IAotCS8qIGFnZ3JlZ2F0ZSBsaW5lczogb25seSBwcmludCBidWZmZXIgd2hlbiB3ZSBnZXQgdG8g
dGhlIGVuZCBvZiBhCi0JICogbGluZSBvciBydW4gb3V0IG9mIHNwYWNlOiAqLworCS8qCisJICog
QWdncmVnYXRlIGxpbmVzOiBvbmx5IHByaW50IGJ1ZmZlciB3aGVuIHdlIGdldCB0byB0aGUKKwkg
KiBlbmQgb2YgYSBsaW5lIG9yIHJ1biBvdXQgb2Ygc3BhY2UKKwkgKi8KIAl2YV9zdGFydChhcmdz
LCBmb3JtYXQpOwotCXJldCA9IHZzbnByaW50Zih0bXBfYnVmLCBzaXplb2YodG1wX2J1ZiksIGZv
cm1hdCwgYXJncyk7CisJcmV0ID0gdnNucHJpbnRmKGJ1ZiwgYnVmX2F2YWlsYWJsZSwgZm9ybWF0
LCBhcmdzKTsKIAl2YV9lbmQoYXJncyk7Ci0JaWYgKChyZXQgPCAwKSB8fCAocmV0ID49IHNpemVv
Zih0bXBfYnVmKSkpCi0JCWdvdG8gb3V0cHV0OwotCWlmIChzdHJsZW4odG1wX2J1ZikgKyBzdHJs
ZW4obWVzc2FnZV9idWYpICsgMSA+IHNpemVvZihtZXNzYWdlX2J1ZikpCi0JCQlnb3RvIG91dHB1
dDsKLQlzdHJjYXQobWVzc2FnZV9idWYsIHRtcF9idWYpOwotCWlmICh0bXBfYnVmW3N0cmxlbih0
bXBfYnVmKSAtIDFdID09ICdcbicpCi0JCWdvdG8gb3V0cHV0OworCisJaWYgKHJldCA8IDApCisJ
CWdvdG8gcHJpbnRpdDsKKwlpZiAocmV0ID49IGJ1Zl9hdmFpbGFibGUpIHsKKwkJLyogSW5kaWNh
dGUgd2UncmUgdHJ1bmNhdGluZyAqLworCQlzdHJjYXQobWVzc2FnZV9idWYsICIuLi5cbiIpOwor
CQlnb3RvIHByaW50aXQ7CisJfQorCWlmIChtZXNzYWdlX2J1ZltzdHJsZW4obWVzc2FnZV9idWYp
IC0gMV0gPT0gJ1xuJykKKwkJZ290byBwcmludGl0OwogCXJldHVybjsKLW91dHB1dDoKLQlwcmlv
cml0eSAtPSB2ZXJib3NpdHk7Ci0JaWYgKHByaW9yaXR5IDwgMCkKLQkJcHJpb3JpdHkgPSAwOwor
cHJpbnRpdDoKIAlpZiAoZmcpIHsKLQkJaWYgKHByaW9yaXR5ID09IDApCi0JCQlmcHJpbnRmKHN0
ZGVyciwgIiVzIiwgbWVzc2FnZV9idWYpOworCQlmcHJpbnRmKHN0ZGVyciwgIiVzIiwgbWVzc2Fn
ZV9idWYpOwogCX0gZWxzZSB7Ci0JCWludCBzeXNfcHJpOwotCQlzd2l0Y2ggKHByaW9yaXR5KSB7
Ci0JCQljYXNlIDA6Ci0JCQkJc3lzX3ByaSA9IExPR19FUlI7Ci0JCQkJYnJlYWs7Ci0JCQljYXNl
IDE6Ci0JCQkJc3lzX3ByaSA9IExPR19ERUJVRzsKLQkJCQlicmVhazsKLQkJCWRlZmF1bHQ6Ci0J
CQkJZ290byBvdXQ7Ci0JCX0KLQkJc3lzbG9nKHN5c19wcmksICIlcyIsIG1lc3NhZ2VfYnVmKTsK
KwkJc3lzbG9nKExPR19FUlIsICIlcyIsIG1lc3NhZ2VfYnVmKTsKIAl9Ci1vdXQ6CisJLyogcmVz
ZXQgdGhlIGJ1ZmZlciAqLwogCW1lbXNldChtZXNzYWdlX2J1ZiwgMCwgc2l6ZW9mKG1lc3NhZ2Vf
YnVmKSk7CiB9CmRpZmYgLXB1TiB1dGlscy9nc3NkL2dzc2QuY35DSVRJX05GUzRfQUxMIHV0aWxz
L2dzc2QvZ3NzZC5jCi0tLSBuZnMtdXRpbHMtMS4wLjgvdXRpbHMvZ3NzZC9nc3NkLmN+Q0lUSV9O
RlM0X0FMTAkyMDA2LTA1LTI2IDExOjAzOjA1LjE4NTk4NjAwMCAtMDQwMAorKysgbmZzLXV0aWxz
LTEuMC44LWt3Yy91dGlscy9nc3NkL2dzc2QuYwkyMDA2LTA1LTI2IDExOjAzOjEyLjI1MTgzMTAw
MCAtMDQwMApAQCAtMTQ1LDYgKzE0NSw5IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkK
IAkJCSAgICAic3VwcG9ydCBzZXR0aW5nIGRlYnVnIGxldmVsXG4iKTsKICNlbmRpZgogCisJaWYg
KGdzc2RfY2hlY2tfbWVjaHMoKSAhPSAwKQorCQllcnJ4KDEsICJQcm9ibGVtIHdpdGggZ3NzYXBp
IGxpYnJhcnkiKTsKKwogCWlmICghZmcgJiYgZGFlbW9uKDAsIDApIDwgMCkKIAkJZXJyeCgxLCAi
Zm9yayIpOwogCkBAIC0xNTQsNiArMTU3LDggQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltd
KQogCiAJLyogUHJvY2VzcyBrZXl0YWIgZmlsZSBhbmQgZ2V0IG1hY2hpbmUgY3JlZGVudGlhbHMg
Ki8KIAlnc3NkX3JlZnJlc2hfa3JiNV9tYWNoaW5lX2NyZWRzKCk7CisJLyogRGV0ZXJtaW5lIEtl
cmJlcm9zIGluZm9ybWF0aW9uIGZyb20gdGhlIGtlcm5lbCAqLworCWdzc2Rfb2J0YWluX2tlcm5l
bF9rcmI1X2luZm8oKTsKIAogCWdzc2RfcnVuKCk7CiAJcHJpbnRlcnIoMCwgImdzc2RfcnVuIHJl
dHVybmVkIVxuIik7CmRpZmYgLXB1TiB1dGlscy9nc3NkL2dzc191dGlsLmN+Q0lUSV9ORlM0X0FM
TCB1dGlscy9nc3NkL2dzc191dGlsLmMKLS0tIG5mcy11dGlscy0xLjAuOC91dGlscy9nc3NkL2dz
c191dGlsLmN+Q0lUSV9ORlM0X0FMTAkyMDA2LTA1LTI2IDExOjAzOjA2LjIyMzUzNTAwMCAtMDQw
MAorKysgbmZzLXV0aWxzLTEuMC44LWt3Yy91dGlscy9nc3NkL2dzc191dGlsLmMJMjAwNi0wNS0y
NiAxMTowMzowOS41MjYxNDIwMDAgLTA0MDAKQEAgLTIyNCwzICsyMjQsMjggQEAgZ3NzZF9hY3F1
aXJlX2NyZWQoY2hhciAqc2VydmVyX25hbWUpCiAKIAlyZXR1cm4gKG1hal9zdGF0ID09IEdTU19T
X0NPTVBMRVRFKTsKIH0KKworaW50IGdzc2RfY2hlY2tfbWVjaHModm9pZCkKK3sKKwl1X2ludDMy
X3QgbWFqX3N0YXQsIG1pbl9zdGF0OworCWdzc19PSURfc2V0IHN1cHBvcnRlZF9tZWNocyA9IEdT
U19DX05PX09JRF9TRVQ7CisJaW50IHJldHZhbCA9IC0xOworCisJbWFqX3N0YXQgPSBnc3NfaW5k
aWNhdGVfbWVjaHMoJm1pbl9zdGF0LCAmc3VwcG9ydGVkX21lY2hzKTsKKwlpZiAobWFqX3N0YXQg
IT0gR1NTX1NfQ09NUExFVEUpIHsKKwkJcHJpbnRlcnIoMCwgIlVuYWJsZSB0byBvYnRhaW4gbGlz
dCBvZiBzdXBwb3J0ZWQgbWVjaGFuaXNtcy4gIgorCQkJICJDaGVjayB0aGF0IGdzcyBsaWJyYXJ5
IGlzIHByb3Blcmx5IGNvbmZpZ3VyZWQuXG4iKTsKKwkJZ290byBvdXQ7CisJfQorCWlmIChzdXBw
b3J0ZWRfbWVjaHMgPT0gR1NTX0NfTk9fT0lEX1NFVCB8fAorCSAgICBzdXBwb3J0ZWRfbWVjaHMt
PmNvdW50ID09IDApIHsKKwkJcHJpbnRlcnIoMCwgIlVuYWJsZSB0byBvYnRhaW4gbGlzdCBvZiBz
dXBwb3J0ZWQgbWVjaGFuaXNtcy4gIgorCQkJICJDaGVjayB0aGF0IGdzcyBsaWJyYXJ5IGlzIHBy
b3Blcmx5IGNvbmZpZ3VyZWQuXG4iKTsKKwkJZ290byBvdXQ7CisJfQorCW1hal9zdGF0ID0gZ3Nz
X3JlbGVhc2Vfb2lkX3NldCgmbWluX3N0YXQsICZzdXBwb3J0ZWRfbWVjaHMpOworCXJldHZhbCA9
IDA7CitvdXQ6CisJcmV0dXJuIHJldHZhbDsKK30KKwpkaWZmIC1wdU4gdXRpbHMvZ3NzZC9nc3Nf
dXRpbC5ofkNJVElfTkZTNF9BTEwgdXRpbHMvZ3NzZC9nc3NfdXRpbC5oCi0tLSBuZnMtdXRpbHMt
MS4wLjgvdXRpbHMvZ3NzZC9nc3NfdXRpbC5ofkNJVElfTkZTNF9BTEwJMjAwNi0wNS0yNiAxMTow
MzowNy40NjAwODQwMDAgLTA0MDAKKysrIG5mcy11dGlscy0xLjAuOC1rd2MvdXRpbHMvZ3NzZC9n
c3NfdXRpbC5oCTIwMDYtMDUtMjYgMTE6MDM6MDkuNTc2MDcxMDAwIC0wNDAwCkBAIC00MCw1ICs0
MCw2IEBAIGV4dGVybiBnc3NfY3JlZF9pZF90CWdzc2RfY3JlZHM7CiBpbnQgZ3NzZF9hY3F1aXJl
X2NyZWQoY2hhciAqc2VydmVyX25hbWUpOwogdm9pZCBwZ3NzZXJyKGNoYXIgKm1zZywgdV9pbnQz
Ml90IG1hal9zdGF0LCB1X2ludDMyX3QgbWluX3N0YXQsCiAJY29uc3QgZ3NzX09JRCBtZWNoKTsK
K2ludCBnc3NkX2NoZWNrX21lY2hzKHZvaWQpOwogCiAjZW5kaWYgLyogX0dTU19VVElMX0hfICov
CmRpZmYgLXB1TiB1dGlscy9nc3NkL3N2Y2dzc2QuY35DSVRJX05GUzRfQUxMIHV0aWxzL2dzc2Qv
c3ZjZ3NzZC5jCi0tLSBuZnMtdXRpbHMtMS4wLjgvdXRpbHMvZ3NzZC9zdmNnc3NkLmN+Q0lUSV9O
RlM0X0FMTAkyMDA2LTA1LTI2IDExOjAzOjA3Ljc2MDc4NzAwMCAtMDQwMAorKysgbmZzLXV0aWxz
LTEuMC44LWt3Yy91dGlscy9nc3NkL3N2Y2dzc2QuYwkyMDA2LTA1LTI2IDExOjAzOjA5LjY0MTAw
NjAwMCAtMDQwMApAQCAtMjA0LDYgKzIwNCwxMSBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2
W10pCiAJCQkgICAgInN1cHBvcnQgc2V0dGluZyBkZWJ1ZyBsZXZlbFxuIik7CiAjZW5kaWYKIAor
CWlmIChnc3NkX2NoZWNrX21lY2hzKCkgIT0gMCkgeworCQlwcmludGVycigwLCAiRVJST1I6IFBy
b2JsZW0gd2l0aCBnc3NhcGkgbGlicmFyeVxuIik7CisJCWV4aXQoMSk7CisJfQorCiAJaWYgKCFm
ZykKIAkJbXlkYWVtb24oMCwgMCk7CiAKZGlmZiAtcHVOIHV0aWxzL2dzc2Qva3JiNV91dGlsLmN+
Q0lUSV9ORlM0X0FMTCB1dGlscy9nc3NkL2tyYjVfdXRpbC5jCi0tLSBuZnMtdXRpbHMtMS4wLjgv
dXRpbHMvZ3NzZC9rcmI1X3V0aWwuY35DSVRJX05GUzRfQUxMCTIwMDYtMDUtMjYgMTE6MDM6MTAu
OTAyMjk0MDAwIC0wNDAwCisrKyBuZnMtdXRpbHMtMS4wLjgta3djL3V0aWxzL2dzc2Qva3JiNV91
dGlsLmMJMjAwNi0wNS0yNiAxMTowMzoxMi40NTE4MjkwMDAgLTA0MDAKQEAgLTk3LDYgKzk3LDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KICNpbmNsdWRl
IDxycGMvcnBjLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAjaW5jbHVkZSA8c3lzL3N0YXQu
aD4KICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CiAjaW5jbHVkZSA8YXJwYS9pbmV0Lmg+CkBAIC0x
MDUsNiArMTA2LDcgQEAKICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4K
ICNpbmNsdWRlIDxkaXJlbnQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgogI2luY2x1ZGUgPGVycm5v
Lmg+CiAjaW5jbHVkZSA8dGltZS5oPgogI2luY2x1ZGUgPGdzc2FwaS9nc3NhcGkuaD4KQEAgLTEy
Myw2ICsxMjUsMTAgQEAKIC8qIEdsb2JhbCBsaXN0IG9mIHByaW5jaXBhbHMvY2FjaGUgZmlsZSBu
YW1lcyBmb3IgbWFjaGluZSBjcmVkZW50aWFscyAqLwogc3RydWN0IGdzc2RfazVfa3RfcHJpbmMg
Kmdzc2RfazVfa3RfcHJpbmNfbGlzdCA9IE5VTEw7CiAKKy8qIEVuY3J5cHRpb24gdHlwZXMgc3Vw
cG9ydGVkIGJ5IHRoZSBrZXJuZWwgcnBjc2VjX2dzcyBjb2RlICovCitpbnQgbnVtX2tyYjVfZW5j
dHlwZXMgPSAwOwora3JiNV9lbmN0eXBlICprcmI1X2VuY3R5cGVzID0gTlVMTDsKKwogLyo9PT09
PT09PT09PT09PT09PT09PT09PT09PSovCiAvKj09PSAgSW50ZXJuYWwgcm91dGluZXMgPT09Ki8K
IC8qPT09PT09PT09PT09PT09PT09PT09PT09PT0qLwpAQCAtMjYxLDUxICsyNjcsNiBAQCBnc3Nk
X2ZpbmRfZXhpc3Rpbmdfa3JiNV9jY2FjaGUodWlkX3QgdWlkCiB9CiAKIAotI2lmZGVmIEhBVkVf
U0VUX0FMTE9XQUJMRV9FTkNUWVBFUwotLyoKLSAqIHRoaXMgcm91dGluZSBvYnRhaW5zIGEgY3Jl
ZGVudGlhbHMgaGFuZGxlIHZpYSBnc3NfYWNxdWlyZV9jcmVkKCkKLSAqIHRoZW4gY2FsbHMgZ3Nz
X2tyYjVfc2V0X2FsbG93YWJsZV9lbmN0eXBlcygpIHRvIGxpbWl0IHRoZSBlbmNyeXB0aW9uCi0g
KiB0eXBlcyBuZWdvdGlhdGVkLgotICoKLSAqIFhYWCBTaG91bGQgY2FsbCBzb21lIGZ1bmN0aW9u
IHRvIGRldGVybWluZSB0aGUgZW5jdHlwZXMgc3VwcG9ydGVkCi0gKiBieSB0aGUga2VybmVsLiAo
T25seSBuZWVkIHRvIGRvIHRoYXQgb25jZSEpCi0gKgotICogUmV0dXJuczoKLSAqCTAgPT4gYWxs
IHdlbnQgd2VsbAotICogICAgIC0xID0+IHRoZXJlIHdhcyBhbiBlcnJvcgotICovCi0KLWludAot
bGltaXRfa3JiNV9lbmN0eXBlcyhzdHJ1Y3QgcnBjX2dzc19zZWMgKnNlYywgdWlkX3QgdWlkKQot
ewotCXVfaW50IG1hal9zdGF0LCBtaW5fc3RhdDsKLQlnc3NfY3JlZF9pZF90IGNyZWRoOwotCWty
YjVfZW5jdHlwZSBlbmN0eXBlc1tdID0geyBFTkNUWVBFX0RFU19DQkNfQ1JDIH07Ci0JaW50IG51
bV9lbmN0eXBlcyA9IHNpemVvZihlbmN0eXBlcykgLyBzaXplb2YoZW5jdHlwZXNbMF0pOwotCi0J
bWFqX3N0YXQgPSBnc3NfYWNxdWlyZV9jcmVkKCZtaW5fc3RhdCwgTlVMTCwgMCwKLQkJCQkgICAg
R1NTX0NfTlVMTF9PSURfU0VULCBHU1NfQ19JTklUSUFURSwKLQkJCQkgICAgJmNyZWRoLCBOVUxM
LCBOVUxMKTsKLQotCWlmIChtYWpfc3RhdCAhPSBHU1NfU19DT01QTEVURSkgewotCQlwZ3NzZXJy
KCJnc3NfYWNxdWlyZV9jcmVkIiwKLQkJCW1hal9zdGF0LCBtaW5fc3RhdCwgJmtyYjVvaWQpOwot
CQlyZXR1cm4gLTE7Ci0JfQotCi0JbWFqX3N0YXQgPSBnc3Nfc2V0X2FsbG93YWJsZV9lbmN0eXBl
cygmbWluX3N0YXQsIGNyZWRoLCAma3JiNW9pZCwKLQkJCQkJICAgICBudW1fZW5jdHlwZXMsICZl
bmN0eXBlcyk7Ci0JaWYgKG1hal9zdGF0ICE9IEdTU19TX0NPTVBMRVRFKSB7Ci0JCXBnc3NlcnIo
Imdzc19zZXRfYWxsb3dhYmxlX2VuY3R5cGVzIiwKLQkJCW1hal9zdGF0LCBtaW5fc3RhdCwgJmty
YjVvaWQpOwotCQlyZXR1cm4gLTE7Ci0JfQotCXNlYy0+Y3JlZCA9IGNyZWRoOwotCi0JcmV0dXJu
IDA7Ci19Ci0jZW5kaWYJLyogSEFWRV9TRVRfQUxMT1dBQkxFX0VOQ1RZUEVTICovCi0KIC8qCiAg
KiBPYnRhaW4gY3JlZGVudGlhbHMgdmlhIGEga2V5IGluIHRoZSBrZXl0YWIgZ2l2ZW4KICAqIGEg
a2V5dGFiIGhhbmRsZSBhbmQgYSBnc3NkX2s1X2t0X3ByaW5jIHN0cnVjdHVyZS4KQEAgLTYwMyw2
ICs1NjQsNTYgQEAgZ3NzZF9zZXRfa3JiNV9jY2FjaGVfbmFtZShjaGFyICpjY25hbWUpCiAjZW5k
aWYKIH0KIAorLyoKKyAqIFBhcnNlIHRoZSBzdXBwb3J0ZWQgZW5jcnlwdGlvbiB0eXBlIGluZm9y
bWF0aW9uCisgKi8KK3N0YXRpYyBpbnQKK3BhcnNlX2VuY3R5cGVzKGNoYXIgKmVuY3R5cGVzKQor
eworCWludCBuID0gMDsKKwljaGFyICpjdXJyLCAqY29tbWE7CisJaW50IGk7CisKKwkvKiBKdXN0
IGluIGNhc2UgdGhpcyBldmVyIGdldHMgY2FsbGVkIG1vcmUgdGhhbiBvbmNlICovCisJaWYgKGty
YjVfZW5jdHlwZXMgIT0gTlVMTCkgeworCQlmcmVlKGtyYjVfZW5jdHlwZXMpOworCQlrcmI1X2Vu
Y3R5cGVzID0gTlVMTDsKKwkJbnVtX2tyYjVfZW5jdHlwZXMgPSAwOworCX0KKworCS8qIGNvdW50
IHRoZSBudW1iZXIgb2YgY29tbWFzICovCisJZm9yIChjdXJyID0gZW5jdHlwZXM7IGN1cnIgJiYg
KmN1cnIgIT0gJ1wwJzsgY3VyciA9ICsrY29tbWEpIHsKKwkJY29tbWEgPSBzdHJjaHIoY3Vyciwg
JywnKTsKKwkJaWYgKGNvbW1hICE9IE5VTEwpCisJCQluKys7CisJCWVsc2UKKwkJCWJyZWFrOwor
CX0KKwkvKiBJZiBubyBtb3JlIGNvbW1hcyBhbmQgd2UncmUgbm90IGF0IHRoZSBlbmQsIHRoZXJl
J3Mgb25lIG1vcmUgdmFsdWUgKi8KKwlpZiAoKmN1cnIgIT0gJ1wwJykKKwkJbisrOworCisJLyog
RW1wdHkgc3RyaW5nLCByZXR1cm4gYW4gZXJyb3IgKi8KKwlpZiAobiA9PSAwKQorCQlyZXR1cm4g
RU5PRU5UOworCisJLyogQWxsb2NhdGUgc3BhY2UgZm9yIGVuY3R5cGVzIGFycmF5ICovCisJaWYg
KChrcmI1X2VuY3R5cGVzID0gKGludCAqKSBjYWxsb2Mobiwgc2l6ZW9mKGludCkpKSA9PSBOVUxM
KSB7CisJCXJldHVybiBFTk9NRU07CisJfQorCisJLyogTm93IHBhcnNlIGVhY2ggdmFsdWUgaW50
byB0aGUgYXJyYXkgKi8KKwlmb3IgKGN1cnIgPSBlbmN0eXBlcywgaSA9IDA7IGN1cnIgJiYgKmN1
cnIgIT0gJ1wwJzsgY3VyciA9ICsrY29tbWEpIHsKKwkJa3JiNV9lbmN0eXBlc1tpKytdID0gYXRv
aShjdXJyKTsKKwkJY29tbWEgPSBzdHJjaHIoY3VyciwgJywnKTsKKwkJaWYgKGNvbW1hID09IE5V
TEwpCisJCQlicmVhazsKKwl9CisKKwludW1fa3JiNV9lbmN0eXBlcyA9IG47CisJcmV0dXJuIDA7
Cit9CisKIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT0qLwogLyo9PT0gIEV4dGVybmFsIHJv
dXRpbmVzID09PSovCiAvKj09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KQEAgLTg1NCwzICs4
NjUsMTIzIEBAIGdzc2RfZGVzdHJveV9rcmI1X21hY2hpbmVfY3JlZHModm9pZCkKIAlrcmI1X2Zy
ZWVfY29udGV4dChjb250ZXh0KTsKIH0KIAorI2lmZGVmIEhBVkVfU0VUX0FMTE9XQUJMRV9FTkNU
WVBFUworLyoKKyAqIHRoaXMgcm91dGluZSBvYnRhaW5zIGEgY3JlZGVudGlhbHMgaGFuZGxlIHZp
YSBnc3NfYWNxdWlyZV9jcmVkKCkKKyAqIHRoZW4gY2FsbHMgZ3NzX2tyYjVfc2V0X2FsbG93YWJs
ZV9lbmN0eXBlcygpIHRvIGxpbWl0IHRoZSBlbmNyeXB0aW9uCisgKiB0eXBlcyBuZWdvdGlhdGVk
LgorICoKKyAqIFJldHVybnM6CisgKgkwID0+IGFsbCB3ZW50IHdlbGwKKyAqICAgICAtMSA9PiB0
aGVyZSB3YXMgYW4gZXJyb3IKKyAqLworCitpbnQKK2xpbWl0X2tyYjVfZW5jdHlwZXMoc3RydWN0
IHJwY19nc3Nfc2VjICpzZWMsIHVpZF90IHVpZCkKK3sKKwl1X2ludCBtYWpfc3RhdCwgbWluX3N0
YXQ7CisJZ3NzX2NyZWRfaWRfdCBjcmVkaDsKKwlnc3NfT0lEX3NldF9kZXNjICBkZXNpcmVkX21l
Y2hzOworCWtyYjVfZW5jdHlwZSBlbmN0eXBlc1tdID0ge0VOQ1RZUEVfREVTX0NCQ19DUkN9Owor
CWludCBudW1fZW5jdHlwZXMgPSBzaXplb2YoZW5jdHlwZXMpIC8gc2l6ZW9mKGVuY3R5cGVzWzBd
KTsKKworCS8qIFdlIG9ubHkgY2FyZSBhYm91dCBnZXR0aW5nIGEga3JiNSBjcmVkICovCisJZGVz
aXJlZF9tZWNocy5jb3VudCA9IDE7CisJZGVzaXJlZF9tZWNocy5lbGVtZW50cyA9ICZrcmI1b2lk
OworCisJbWFqX3N0YXQgPSBnc3NfYWNxdWlyZV9jcmVkKCZtaW5fc3RhdCwgTlVMTCwgMCwKKwkJ
CQkgICAgJmRlc2lyZWRfbWVjaHMsIEdTU19DX0lOSVRJQVRFLAorCQkJCSAgICAmY3JlZGgsIE5V
TEwsIE5VTEwpOworCisJaWYgKG1hal9zdGF0ICE9IEdTU19TX0NPTVBMRVRFKSB7CisJCXBnc3Nl
cnIoImdzc19hY3F1aXJlX2NyZWQiLAorCQkJbWFqX3N0YXQsIG1pbl9zdGF0LCAma3JiNW9pZCk7
CisJCXJldHVybiAtMTsKKwl9CisKKwkvKgorCSAqIElmIHdlIGZhaWxlZCBmb3IgYW55IHJlYXNv
biB0byBwcm9kdWNlIGdsb2JhbAorCSAqIGxpc3Qgb2Ygc3VwcG9ydGVkIGVuY3R5cGVzLCB1c2Ug
bG9jYWwgZGVmYXVsdCBoZXJlLgorCSAqLworCWlmIChrcmI1X2VuY3R5cGVzID09IE5VTEwpCisJ
CW1hal9zdGF0ID0gZ3NzX3NldF9hbGxvd2FibGVfZW5jdHlwZXMoJm1pbl9zdGF0LCBjcmVkaCwK
KwkJCQkJJmtyYjVvaWQsIG51bV9lbmN0eXBlcywgJmVuY3R5cGVzKTsKKwllbHNlCisJCW1hal9z
dGF0ID0gZ3NzX3NldF9hbGxvd2FibGVfZW5jdHlwZXMoJm1pbl9zdGF0LCBjcmVkaCwKKwkJCQkJ
JmtyYjVvaWQsIG51bV9rcmI1X2VuY3R5cGVzLAorCQkJCQlrcmI1X2VuY3R5cGVzKTsKKwlpZiAo
bWFqX3N0YXQgIT0gR1NTX1NfQ09NUExFVEUpIHsKKwkJcGdzc2VycigiZ3NzX3NldF9hbGxvd2Fi
bGVfZW5jdHlwZXMiLAorCQkJbWFqX3N0YXQsIG1pbl9zdGF0LCAma3JiNW9pZCk7CisJCXJldHVy
biAtMTsKKwl9CisJc2VjLT5jcmVkID0gY3JlZGg7CisKKwlyZXR1cm4gMDsKK30KKyNlbmRpZgkv
KiBIQVZFX1NFVF9BTExPV0FCTEVfRU5DVFlQRVMgKi8KKworLyoKKyAqIE9idGFpbiBzdXBwb3J0
ZWQgZW5jdHlwZXMgZnJvbSBrZXJuZWwuCisgKiBTZXQgZGVmYXVsdHMgaWYgaW5mbyBpcyBub3Qg
YXZhaWxhYmxlLgorICovCit2b2lkCitnc3NkX29idGFpbl9rZXJuZWxfa3JiNV9pbmZvKHZvaWQp
Cit7CisJY2hhciBlbmN0eXBlX2ZpbGVfbmFtZVsxMjhdOworCWNoYXIgYnVmWzEwMjRdOworCWNo
YXIgZW5jdHlwZXNbMTI4XTsKKwljaGFyIGV4dHJhaW5mb1sxMDI0XTsKKwlpbnQgZmQ7CisJaW50
IHVzZV9kZWZhdWx0X2VuY3R5cGVzID0gMDsKKwlpbnQgbmJ5dGVzLCBudW1maWVsZHM7CisJY2hh
ciBkZWZhdWx0X2VuY3R5cGVzW10gPSAiMSwzLDIiOworCWludCBjb2RlOworCisJc25wcmludGYo
ZW5jdHlwZV9maWxlX25hbWUsIHNpemVvZihlbmN0eXBlX2ZpbGVfbmFtZSksCisJCSAiJXMvJXMi
LCBwaXBlZnNkaXIsICJrcmI1X2luZm8iKTsKKworCWlmICgoZmQgPSBvcGVuKGVuY3R5cGVfZmls
ZV9uYW1lLCBPX1JET05MWSkpID09IC0xKSB7CisJCXByaW50ZXJyKDEsICJXQVJOSU5HOiBnc3Nk
X29idGFpbl9rZXJuZWxfa3JiNV9pbmZvOiAiCisJCQkgIlVuYWJsZSB0byBvcGVuICclcycuIFVu
YWJsZSB0byBkZXRlcm1pbmUgIgorCQkJICJLZXJiZXJvcyBlbmNyeXB0aW9uIHR5cGVzIHN1cHBv
cnRlZCBieSB0aGUgIgorCQkJICJrZXJuZWw7IHVzaW5nIGRlZmF1bHRzICglcykuXG4iLAorCQkJ
IGVuY3R5cGVfZmlsZV9uYW1lLCBkZWZhdWx0X2VuY3R5cGVzKTsKKwkJdXNlX2RlZmF1bHRfZW5j
dHlwZXMgPSAxOworCQlnb3RvIGRvX3RoZV9wYXJzZTsKKwl9CisJaWYgKChuYnl0ZXMgPSByZWFk
KGZkLCBidWYsIHNpemVvZihidWYpKSkgPT0gLTEpIHsKKwkJcHJpbnRlcnIoMCwgIldBUk5JTkc6
IGdzc2Rfb2J0YWluX2tlcm5lbF9rcmI1X2luZm86ICIKKwkJCSAiRXJyb3IgcmVhZGluZyBLZXJi
ZXJvcyBlbmNyeXB0aW9uIHR5cGUgIgorCQkJICJpbmZvcm1hdGlvbiBmaWxlICclcyc7IHVzaW5n
IGRlZmF1bHRzICglcykuXG4iLAorCQkJIGVuY3R5cGVfZmlsZV9uYW1lLCBkZWZhdWx0X2VuY3R5
cGVzKTsKKwkJdXNlX2RlZmF1bHRfZW5jdHlwZXMgPSAxOworCQlnb3RvIGRvX3RoZV9wYXJzZTsK
Kwl9CisJbnVtZmllbGRzID0gc3NjYW5mKGJ1ZiwgImVuY3R5cGVzOiAlc1xuJXMiLCBlbmN0eXBl
cywgZXh0cmFpbmZvKTsKKwlpZiAobnVtZmllbGRzIDwgMSkgeworCQlwcmludGVycigwLCAiV0FS
TklORzogZ3NzZF9vYnRhaW5fa2VybmVsX2tyYjVfaW5mbzogIgorCQkJICJlcnJvciBwYXJzaW5n
IEtlcmJlcm9zIGVuY3J5cHRpb24gdHlwZSAiCisJCQkgImluZm9ybWF0aW9uIGZyb20gZmlsZSAn
JXMnOyB1c2luZyBkZWZhdWx0cyAoJXMpLlxuIiwKKwkJCSBlbmN0eXBlX2ZpbGVfbmFtZSwgZGVm
YXVsdF9lbmN0eXBlcyk7CisJCXVzZV9kZWZhdWx0X2VuY3R5cGVzID0gMTsKKwkJZ290byBkb190
aGVfcGFyc2U7CisJfQorCWlmIChudW1maWVsZHMgPiAxKSB7CisJCXByaW50ZXJyKDAsICJXQVJO
SU5HOiBnc3NkX29idGFpbl9rZXJuZWxfa3JiNV9pbmZvOiAiCisJCQkgIkV4dHJhIGluZm9ybWF0
aW9uLCAnJXMnLCBmcm9tICclcycgaXMgaWdub3JlZFxuIiwKKwkJCSBlbmN0eXBlX2ZpbGVfbmFt
ZSwgZXh0cmFpbmZvKTsKKwkJdXNlX2RlZmF1bHRfZW5jdHlwZXMgPSAxOworCQlnb3RvIGRvX3Ro
ZV9wYXJzZTsKKwl9CisgIGRvX3RoZV9wYXJzZToKKyAgCWlmICh1c2VfZGVmYXVsdF9lbmN0eXBl
cykKKwkJc3RyY3B5KGVuY3R5cGVzLCBkZWZhdWx0X2VuY3R5cGVzKTsKKworCWlmICgoY29kZSA9
IHBhcnNlX2VuY3R5cGVzKGVuY3R5cGVzKSkgIT0gMCkgeworCQlwcmludGVycigwLCAiRVJST1I6
IGdzc2Rfb2J0YWluX2tlcm5lbF9rcmI1X2luZm86ICIKKwkJCSAicGFyc2VfZW5jdHlwZXMlcyBm
YWlsZWQgd2l0aCBjb2RlICVkXG4iLAorCQkJIHVzZV9kZWZhdWx0X2VuY3R5cGVzID8gIiAod2l0
aCBkZWZhdWx0IGVuY3R5cGVzKSIgOiAiIiwKKwkJCSBjb2RlKTsKKwl9Cit9CmRpZmYgLXB1TiB1
dGlscy9nc3NkL2tyYjVfdXRpbC5ofkNJVElfTkZTNF9BTEwgdXRpbHMvZ3NzZC9rcmI1X3V0aWwu
aAotLS0gbmZzLXV0aWxzLTEuMC44L3V0aWxzL2dzc2Qva3JiNV91dGlsLmh+Q0lUSV9ORlM0X0FM
TAkyMDA2LTA1LTI2IDExOjAzOjEyLjE0NzgyOTAwMCAtMDQwMAorKysgbmZzLXV0aWxzLTEuMC44
LWt3Yy91dGlscy9nc3NkL2tyYjVfdXRpbC5oCTIwMDYtMDUtMjYgMTE6MDM6MTIuNDk4Nzk3MDAw
IC0wNDAwCkBAIC0yMiw2ICsyMiw4IEBAIGludCAgZ3NzZF9yZWZyZXNoX2tyYjVfbWFjaGluZV9j
cmVkcyh2b2kKIHZvaWQgZ3NzZF9mcmVlX2tyYjVfbWFjaGluZV9jcmVkX2xpc3QoY2hhciAqKmxp
c3QpOwogdm9pZCBnc3NkX3NldHVwX2tyYjVfbWFjaGluZV9nc3NfY2NhY2hlKGNoYXIgKnNlcnZl
cm5hbWUpOwogdm9pZCBnc3NkX2Rlc3Ryb3lfa3JiNV9tYWNoaW5lX2NyZWRzKHZvaWQpOwordm9p
ZCBnc3NkX29idGFpbl9rZXJuZWxfa3JiNV9pbmZvKHZvaWQpOworCiAKICNpZmRlZiBIQVZFX1NF
VF9BTExPV0FCTEVfRU5DVFlQRVMKIGludCBsaW1pdF9rcmI1X2VuY3R5cGVzKHN0cnVjdCBycGNf
Z3NzX3NlYyAqc2VjLCB1aWRfdCB1aWQpOwpkaWZmIC1wdU4gdXRpbHMvZ3NzZC9jb250ZXh0X21p
dC5jfkNJVElfTkZTNF9BTEwgdXRpbHMvZ3NzZC9jb250ZXh0X21pdC5jCi0tLSBuZnMtdXRpbHMt
MS4wLjgvdXRpbHMvZ3NzZC9jb250ZXh0X21pdC5jfkNJVElfTkZTNF9BTEwJMjAwNi0wNS0yNiAx
MTowMzoxMy4wMjkzNzgwMDAgLTA0MDAKKysrIG5mcy11dGlscy0xLjAuOC1rd2MvdXRpbHMvZ3Nz
ZC9jb250ZXh0X21pdC5jCTIwMDYtMDUtMjYgMTE6MDM6MTQuMDQ1OTI3MDAwIC0wNDAwCkBAIC0z
Miw2ICszMiw3IEBACiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxzeXNsb2cuaD4KICNp
bmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgogI2luY2x1ZGUgPGdzc2FwaS9n
c3NhcGkuaD4KICNpbmNsdWRlIDxycGMvcnBjLmg+CiAjaW5jbHVkZSA8cnBjL2F1dGhfZ3NzLmg+
CkBAIC00Myw5ICs0NCw1MyBAQAogI2lmZGVmIEhBVkVfS1JCNQogI2luY2x1ZGUgPGtyYjUuaD4K
IAorLyogZm9yIDNERVMgKi8KKyNkZWZpbmUgS0dfVVNBR0VfU0VBTCAyMgorI2RlZmluZSBLR19V
U0FHRV9TSUdOIDIzCisjZGVmaW5lIEtHX1VTQUdFX1NFUSAgMjQKKworLyogZm9yIHJmYz8/Pz8g
Ki8KKyNkZWZpbmUgS0dfVVNBR0VfQUNDRVBUT1JfU0VBTCAgMjIKKyNkZWZpbmUgS0dfVVNBR0Vf
QUNDRVBUT1JfU0lHTiAgMjMKKyNkZWZpbmUgS0dfVVNBR0VfSU5JVElBVE9SX1NFQUwgMjQKKyNk
ZWZpbmUgS0dfVVNBR0VfSU5JVElBVE9SX1NJR04gMjUKKworLyogTGlmdGVkIGZyb20gbWl0IHNy
Yy9saWIvZ3NzYXBpL2tyYjUvZ3NzYXBpUF9rcmI1LmggKi8KK2VudW0gc2VhbF9hbGcgeworICBT
RUFMX0FMR19OT05FICAgICAgICAgICAgPSAweGZmZmYsCisgIFNFQUxfQUxHX0RFUyAgICAgICAg
ICAgICA9IDB4MDAwMCwKKyAgU0VBTF9BTEdfMSAgICAgICAgICAgICAgID0gMHgwMDAxLCAvKiBu
b3QgcHVibGlzaGVkICovCisgIFNFQUxfQUxHX01JQ1JPU09GVF9SQzQgICA9IDB4MDAxMCwgLyog
bWljcm9zb2Z0IHcyazsgICovCisgIFNFQUxfQUxHX0RFUzNLRCAgICAgICAgICA9IDB4MDAwMgor
fTsKKworI2RlZmluZSBLRVlfVVNBR0VfU0VFRF9FTkNSWVBUSU9OCTB4QUEKKyNkZWZpbmUgS0VZ
X1VTQUdFX1NFRURfSU5URUdSSVRZCTB4NTUKKyNkZWZpbmUgS0VZX1VTQUdFX1NFRURfQ0hFQ0tT
VU0JCTB4OTkKKyNkZWZpbmUgSzVDTEVOR1RIIDUKKworLyogRmxhZ3MgZm9yIHZlcnNpb24gMiBj
b250ZXh0IGZsYWdzICovCisjZGVmaW5lIEtSQjVfQ1RYX0ZMQUdfSU5JVElBVE9SCQkweDAwMDAw
MDAxCisjZGVmaW5lIEtSQjVfQ1RYX0ZMQUdfQ0ZYCQkweDAwMDAwMDAyCisjZGVmaW5lIEtSQjVf
Q1RYX0ZMQUdfQUNDRVBUT1JfU1VCS0VZCTB4MDAwMDAwMDQKKworLyoKKyAqIFhYWCBIYWNrIGFs
ZXJ0LiAgV2UgZG9uJ3QgaGF2ZSAibGVnYWwiIGFjY2VzcyB0byB0aGVzZQorICogc3RydWN0dXJl
cyBsb2NhdGVkIGluIGxpYms1Y3J5cHRvCisgKi8KK2V4dGVybiB2b2lkIGtyYjVpbnRfZW5jX2Fy
Y2ZvdXI7CitleHRlcm4gdm9pZCBrcmI1aW50X2VuY19kZXMzOworZXh0ZXJuIHZvaWQga3JiNWlu
dF9lbmNfYWVzMTI4OworZXh0ZXJuIHZvaWQga3JiNWludF9lbmNfYWVzMjU2OworZXh0ZXJuIGlu
dCBrcmI1X2Rlcml2ZV9rZXkoKTsKKwordm9pZCAqZ2V0X2VuY19wcm92aWRlcigpOworCiAvKiBY
WFggc3BrbTMgc2VlbXMgdG8gYWN0dWFsbHkgd2FudCBpdCB0aGlzIGJpZywgeWlwZXMuICovCiAj
ZGVmaW5lIE1BWF9DVFhfTEVOIDQwOTYKIAorCisKICNpZmRlZiBIQVZFX0xVQ0lEX0NPTlRFWFRf
U1VQUE9SVAogCiAvKiBEb24ndCB1c2UgdGhlIHByaXZhdGUgc3RydWN0dXJlLCB1c2UgdGhlIGV4
cG9ydGVkIGx1Y2lkIHN0cnVjdHVyZSAqLwpAQCAtODYsNyArMTMxLDcgQEAgdHlwZWRlZiBzdHJ1
Y3QgX2tyYjVfZ3NzX2N0eF9pZF9yZWMgewogICAgdWludDY0X3Qgc2VxX3JlY3Y7CQkvKiBnc3Np
bnRfdWludDY0ICovCiAgICB2b2lkICpzZXFzdGF0ZTsKICAgIGtyYjVfYXV0aF9jb250ZXh0IGF1
dGhfY29udGV4dDsKLSAgIGdzc19idWZmZXJfZGVzYyAqbWVjaF91c2VkOwkvKiBnc3NfT0lEX2Rl
c2MgKi8KKyAgIGdzc19PSURfZGVzYyAqbWVjaF91c2VkOwkvKiBnc3NfT0lEX2Rlc2MgKi8KICAg
ICAvKiBQcm90b2NvbCBzcGVjIHJldmlzaW9uCiAgICAgICAgMCA9PiBSRkMgMTk2NCB3aXRoIDNE
RVMgYW5kIFJDNCBlbmhhbmNlbWVudHMKICAgICAgICAxID0+IGRyYWZ0LWlldGYta3JiLXdnLWdz
c2FwaS1jZngtMDEKQEAgLTEyMyw3ICsxNjgsNyBAQCB0eXBlZGVmIHN0cnVjdCBfa3JiNV9nc3Nf
Y3R4X2lkX3JlYyB7CiAJaW50IGVzdGFibGlzaGVkOwogCWludCBiaWdfZW5kaWFuOwogCWtyYjVf
YXV0aF9jb250ZXh0IGF1dGhfY29udGV4dDsKLQlnc3NfYnVmZmVyX2Rlc2MgKm1lY2hfdXNlZDsK
Kwlnc3NfT0lEX2Rlc2MgKm1lY2hfdXNlZDsKIAlpbnQgbmN0eXBlczsKIAlrcmI1X2Nrc3VtdHlw
ZSAqY3R5cGVzOwogfSBrcmI1X2dzc19jdHhfaWRfcmVjLCAqa3JiNV9nc3NfY3R4X2lkX3Q7CkBA
IC0xNDQsNiArMTg5LDk2IEBAIHdyaXRlX2x1Y2lkX2tleWJsb2NrKGNoYXIgKipwLCBjaGFyICpl
bmQKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHZvaWQKK2tleV9sdWNpZF90b19rcmI1KGNvbnN0
IGdzc19rcmI1X2x1Y2lkX2tleV90ICpsaW4sIGtyYjVfa2V5YmxvY2sgKmtvdXQpCit7CisJbWVt
c2V0KGtvdXQsICdcMCcsIHNpemVvZihrb3V0KSk7CisJa291dC0+ZW5jdHlwZSA9IGxpbi0+dHlw
ZTsKKwlrb3V0LT5sZW5ndGggPSBsaW4tPmxlbmd0aDsKKwlrb3V0LT5jb250ZW50cyA9IGxpbi0+
ZGF0YTsKK30KKworc3RhdGljIHZvaWQKK2tleV9rcmI1X3RvX2x1Y2lkKGNvbnN0IGtyYjVfa2V5
YmxvY2sgKmtpbiwgZ3NzX2tyYjVfbHVjaWRfa2V5X3QgKmxvdXQpCit7CisJbWVtc2V0KGxvdXQs
ICdcMCcsIHNpemVvZihsb3V0KSk7CisJbG91dC0+dHlwZSA9IGtpbi0+ZW5jdHlwZTsKKwlsb3V0
LT5sZW5ndGggPSBraW4tPmxlbmd0aDsKKwlsb3V0LT5kYXRhID0ga2luLT5jb250ZW50czsKK30K
KworLyoKKyAqIEZ1bmN0aW9uIHRvIGRlcml2ZSBhIG5ldyBrZXkgZnJvbSBhIGdpdmVuIGtleSBh
bmQgZ2l2ZW4gY29uc3RhbnQgZGF0YS4KKyAqLworc3RhdGljIGtyYjVfZXJyb3JfY29kZQorZGVy
aXZlX2tleV9sdWNpZChjb25zdCBnc3Nfa3JiNV9sdWNpZF9rZXlfdCAqaW4sIGdzc19rcmI1X2x1
Y2lkX2tleV90ICpvdXQsCisJCSBpbnQgdXNhZ2UsIGNoYXIgZXh0cmEpCit7CisJa3JiNV9lcnJv
cl9jb2RlIGNvZGU7CisJdW5zaWduZWQgY2hhciBjb25zdGFudF9kYXRhW0s1Q0xFTkdUSF07CisJ
a3JiNV9kYXRhIGRhdGFpbjsKKwlpbnQga2V5bGVuZ3RoOworCXZvaWQgKmVuYzsKKwlrcmI1X2tl
eWJsb2NrIGtpbiwga291dDsgIC8qIG11c3Qgc2VuZCBrcmI1X2tleWJsb2NrLCBub3QgbHVjaWQh
ICovCisKKwkvKgorCSAqIFhYWCBIYWNrIGFsZXJ0LiAgV2UgZG9uJ3QgaGF2ZSAibGVnYWwiIGFj
Y2VzcyB0byB0aGVzZQorCSAqIHZhbHVlcyBhbmQgc3RydWN0dXJlcyBsb2NhdGVkIGluIGxpYms1
Y3J5cHRvCisJICovCisJc3dpdGNoIChpbi0+dHlwZSkgeworCWNhc2UgRU5DVFlQRV9ERVMzX0NC
Q19SQVc6CisJCWtleWxlbmd0aCA9IDI0OworCQllbmMgPSAma3JiNWludF9lbmNfZGVzMzsKKwkJ
YnJlYWs7CisJY2FzZSBFTkNUWVBFX0FFUzEyOF9DVFNfSE1BQ19TSEExXzk2OgorCQlrZXlsZW5n
dGggPSAxNjsKKwkJZW5jID0gJmtyYjVpbnRfZW5jX2FlczEyODsKKwkJYnJlYWs7CisJY2FzZSBF
TkNUWVBFX0FFUzI1Nl9DVFNfSE1BQ19TSEExXzk2OgorCQlrZXlsZW5ndGggPSAzMjsKKwkJZW5j
ID0gJmtyYjVpbnRfZW5jX2FlczI1NjsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJY29kZSA9IEtS
QjVfQkFEX0VOQ1RZUEU7CisJCWdvdG8gb3V0OworCX0KKworCS8qIGFsbG9jYXRlIG1lbW9yeSBm
b3Igb3V0cHV0IGtleSAqLworCWlmICgob3V0LT5kYXRhID0gbWFsbG9jKGtleWxlbmd0aCkpID09
IE5VTEwpIHsKKwkJY29kZSA9IEVOT01FTTsKKwkJZ290byBvdXQ7CisJfQorCW91dC0+bGVuZ3Ro
ID0ga2V5bGVuZ3RoOworCW91dC0+dHlwZSA9IGluLT50eXBlOworCisJLyogQ29udmVydCB0byBj
b3JyZWN0IGZvcm1hdCBmb3IgY2FsbCB0byBrcmI1X2Rlcml2ZV9rZXkgKi8KKwlrZXlfbHVjaWRf
dG9fa3JiNShpbiwgJmtpbik7CisJa2V5X2x1Y2lkX3RvX2tyYjUob3V0LCAma291dCk7CisKKwlk
YXRhaW4uZGF0YSA9IChjaGFyICopIGNvbnN0YW50X2RhdGE7CisJZGF0YWluLmxlbmd0aCA9IEs1
Q0xFTkdUSDsKKworCWRhdGFpbi5kYXRhWzBdID0gKHVzYWdlPj4yNCkmMHhmZjsKKwlkYXRhaW4u
ZGF0YVsxXSA9ICh1c2FnZT4+MTYpJjB4ZmY7CisJZGF0YWluLmRhdGFbMl0gPSAodXNhZ2U+Pjgp
JjB4ZmY7CisJZGF0YWluLmRhdGFbM10gPSB1c2FnZSYweGZmOworCisJZGF0YWluLmRhdGFbNF0g
PSAoY2hhcikgZXh0cmE7CisKKwlpZiAoKGNvZGUgPSBrcmI1X2Rlcml2ZV9rZXkoZW5jLCAma2lu
LCAma291dCwgJmRhdGFpbikpKSB7CisJCWZyZWUob3V0LT5kYXRhKTsKKwkJb3V0LT5kYXRhID0g
TlVMTDsKKwkJZ290byBvdXQ7CisJfQorCWtleV9rcmI1X3RvX2x1Y2lkKCZrb3V0LCBvdXQpOwor
CisgIG91dDoKKyAgCWlmIChjb2RlKQorCQlwcmludGVycigwLCAiRVJST1I6IGRlcml2ZV9rZXlf
bHVjaWQgcmV0dXJuaW5nIGVycm9yICVkICglcylcbiIsCisJCQkgY29kZSwgZXJyb3JfbWVzc2Fn
ZShjb2RlKSk7CisJcmV0dXJuIChjb2RlKTsKK30KKwogc3RhdGljIGludAogcHJlcGFyZV9rcmI1
X3JmYzE5NjRfYnVmZmVyKGdzc19rcmI1X2x1Y2lkX2NvbnRleHRfdjFfdCAqbGN0eCwKIAlnc3Nf
YnVmZmVyX2Rlc2MgKmJ1ZikKQEAgLTE4Myw3ICszMTgsNyBAQCBwcmVwYXJlX2tyYjVfcmZjMTk2
NF9idWZmZXIoZ3NzX2tyYjVfbHVjCiAJaWYgKFdSSVRFX0JZVEVTKCZwLCBlbmQsIGxjdHgtPmVu
ZHRpbWUpKSBnb3RvIG91dF9lcnI7CiAJd29yZF9zZW5kX3NlcSA9IGxjdHgtPnNlbmRfc2VxOwkv
KiBYWFggc2VuZF9zZXEgaXMgNjQtYml0ICovCiAJaWYgKFdSSVRFX0JZVEVTKCZwLCBlbmQsIHdv
cmRfc2VuZF9zZXEpKSBnb3RvIG91dF9lcnI7Ci0JaWYgKHdyaXRlX2J1ZmZlcigmcCwgZW5kLCAo
Z3NzX2J1ZmZlcl9kZXNjKikma3JiNW9pZCkpIGdvdG8gb3V0X2VycjsKKwlpZiAod3JpdGVfb2lk
KCZwLCBlbmQsICZrcmI1b2lkKSkgZ290byBvdXRfZXJyOwogCiAJcHJpbnRlcnIoMiwgInByZXBh
cmVfa3JiNV9yZmMxOTY0X2J1ZmZlcjogc2VyaWFsaXppbmcga2V5cyB3aXRoICIKIAkJICJlbmN0
eXBlICVkIGFuZCBsZW5ndGggJWRcbiIsCkBAIC0yMTIsMTcgKzM0NywxODAgQEAgcHJlcGFyZV9r
cmI1X3JmYzE5NjRfYnVmZmVyKGdzc19rcmI1X2x1YwogCXJldHVybiAwOwogb3V0X2VycjoKIAlw
cmludGVycigwLCAiRVJST1I6IGZhaWxlZCBzZXJpYWxpemluZyBrcmI1IGNvbnRleHQgZm9yIGtl
cm5lbFxuIik7Ci0JaWYgKGJ1Zi0+dmFsdWUpIGZyZWUoYnVmLT52YWx1ZSk7CisJaWYgKGJ1Zi0+
dmFsdWUpIHsKKwkJZnJlZShidWYtPnZhbHVlKTsKKwkJYnVmLT52YWx1ZSA9IE5VTEw7CisJfQog
CWJ1Zi0+bGVuZ3RoID0gMDsKLQlpZiAoZW5jX2tleS5kYXRhKSBmcmVlKGVuY19rZXkuZGF0YSk7
CisJaWYgKGVuY19rZXkuZGF0YSkgeworCQlmcmVlKGVuY19rZXkuZGF0YSk7CisJCWVuY19rZXku
ZGF0YSA9IE5VTEw7CisJfQogCXJldHVybiAtMTsKIH0KIAorLyoKKyAqIFByZXBhcmUgYSBuZXct
c3R5bGUgYnVmZmVyIHRvIHNlbmQgdG8gdGhlIGtlcm5lbCBmb3IgbmV3ZXIgZW5jcnlwdGlvbgor
ICogdHlwZXMgLS0gb3IgZm9yIERFUzMuCisgKgorICogVGhlIG5ldyBmb3JtYXQgaXM6CisgKgor
ICoJdTMyIHZlcnNpb247ICAgICAgICAgIFRoaXMgaXMgdHdvICgyKQorICoJczMyIGVuZHRpbWU7
CisgKgl1MzIgZmxhZ3M7CisgKgkjZGVmaW5lIEtSQjVfQ1RYX0ZMQUdfSU5JVElBVE9SCQkweDAw
MDAwMDAxCisgKgkjZGVmaW5lIEtSQjVfQ1RYX0ZMQUdfQ0ZYCQkweDAwMDAwMDAyCisgKgkjZGVm
aW5lIEtSQjVfQ1RYX0ZMQUdfQUNDRVBUT1JfU1VCS0VZCTB4MDAwMDAwMDQKKyAqCXU2NCBzZXFf
c2VuZDsKKyAqCXUzMiAgZW5jdHlwZTsJCQkoIGVuY3JwdGlvbiB0eXBlIG9mIGtleXMgKQorICoJ
dTMyICBzaXplX29mX2VhY2hfa2V5OwkJKCBzaXplIG9mIGVhY2gga2V5IGluIGJ5dGVzICkKKyAq
CXUzMiAgbnVtYmVyX29mX2tleXM7CQkoIE4gLS0gc2hvdWxkIGFsd2F5cyBiZSAzIGZvciBub3cg
KQorICoJa2V5ZGF0YS0xOyAgICAgICAgICAgICAgICAgICAgICAoIEtlICkKKyAqCWtleWRhdGEt
MjsgICAgICAgICAgICAgICAgICAgICAgKCBLaSApCisgKglrZXlkYXRhLTM7ICAgICAgICAgICAg
ICAgICAgICAgICggS2MgKQorICoKKyAqLwogc3RhdGljIGludAotcHJlcGFyZV9rcmI1X3JmY19j
ZnhfYnVmZmVyKGdzc19rcmI1X2x1Y2lkX2NvbnRleHRfdjFfdCAqbGN0eCwKK3ByZXBhcmVfa3Ji
NV9jdHhfdjJfYnVmZmVyKGdzc19rcmI1X2x1Y2lkX2NvbnRleHRfdjFfdCAqbGN0eCwKIAlnc3Nf
YnVmZmVyX2Rlc2MgKmJ1ZikKIHsKLQlwcmludGVycigwLCAiRVJST1I6IHByZXBhcmVfa3JiNV9y
ZmNfY2Z4X2J1ZmZlcjogbm90IGltcGxlbWVudGVkXG4iKTsKKwljaGFyICpwLCAqZW5kOworCXN0
YXRpYyB1aW50MzJfdCB2ZXJzaW9uID0gMjsKKwl1aW50MzJfdCB2Ml9mbGFncyA9IDA7CisJZ3Nz
X2tyYjVfbHVjaWRfa2V5X3QgZW5jX2tleTsKKwlnc3Nfa3JiNV9sdWNpZF9rZXlfdCBkZXJpdmVk
X2tleTsKKwlnc3NfYnVmZmVyX2Rlc2MgZmFrZW9pZDsKKwl1aW50MzJfdCBlbmN0eXBlOworCXVp
bnQzMl90IGtleXNpemU7CisJdWludDMyX3QgbnVta2V5czsKKworCW1lbXNldCgmZW5jX2tleSwg
MCwgc2l6ZW9mKGVuY19rZXkpKTsKKwltZW1zZXQoJmZha2VvaWQsIDAsIHNpemVvZihmYWtlb2lk
KSk7CisKKwlpZiAoIShidWYtPnZhbHVlID0gY2FsbG9jKDEsIE1BWF9DVFhfTEVOKSkpCisJCWdv
dG8gb3V0X2VycjsKKwlwID0gYnVmLT52YWx1ZTsKKwllbmQgPSBidWYtPnZhbHVlICsgTUFYX0NU
WF9MRU47CisKKwkvKiBWZXJzaW9uIDIgKi8KKwlpZiAoV1JJVEVfQllURVMoJnAsIGVuZCAsIHZl
cnNpb24pKSBnb3RvIG91dF9lcnI7CisJaWYgKFdSSVRFX0JZVEVTKCZwLCBlbmQsIGxjdHgtPmVu
ZHRpbWUpKSBnb3RvIG91dF9lcnI7CisKKwlpZiAobGN0eC0+aW5pdGlhdGUpCisJCXYyX2ZsYWdz
IHw9IEtSQjVfQ1RYX0ZMQUdfSU5JVElBVE9SOworCWlmIChsY3R4LT5wcm90b2NvbCAhPSAwKQor
CQl2Ml9mbGFncyB8PSBLUkI1X0NUWF9GTEFHX0NGWDsKKwlpZiAobGN0eC0+cHJvdG9jb2wgIT0g
MCAmJiBsY3R4LT5jZnhfa2QuaGF2ZV9hY2NlcHRvcl9zdWJrZXkgPT0gMSkKKwkJdjJfZmxhZ3Mg
fD0gS1JCNV9DVFhfRkxBR19BQ0NFUFRPUl9TVUJLRVk7CisKKwlpZiAoV1JJVEVfQllURVMoJnAs
IGVuZCwgdjJfZmxhZ3MpKSBnb3RvIG91dF9lcnI7CisKKwlpZiAoV1JJVEVfQllURVMoJnAsIGVu
ZCwgbGN0eC0+c2VuZF9zZXEpKSBnb3RvIG91dF9lcnI7CisKKwkvKiBQcm90b2NvbCAwIGhlcmUg
aW1wbGllcyBERVMzIG9yIFJDNCAqLworCWlmIChsY3R4LT5wcm90b2NvbCA9PSAwKSB7CisJCWVu
Y3R5cGUgPSBsY3R4LT5yZmMxOTY0X2tkLmN0eF9rZXkudHlwZTsKKwkJa2V5c2l6ZSA9IGxjdHgt
PnJmYzE5NjRfa2QuY3R4X2tleS5sZW5ndGg7CisJCW51bWtleXMgPSAzOwkvKiBYWFggaXMgYWx3
YXlzIGdvbm5hIGJlIHRocmVlPyAqLworCX0gZWxzZSB7CisJCWlmIChsY3R4LT5jZnhfa2QuaGF2
ZV9hY2NlcHRvcl9zdWJrZXkpIHsKKwkJCWVuY3R5cGUgPSBsY3R4LT5jZnhfa2QuYWNjZXB0b3Jf
c3Via2V5LnR5cGU7CisJCQlrZXlzaXplID0gbGN0eC0+Y2Z4X2tkLmFjY2VwdG9yX3N1YmtleS5s
ZW5ndGg7CisJCX0gZWxzZSB7CisJCQllbmN0eXBlID0gbGN0eC0+Y2Z4X2tkLmN0eF9rZXkudHlw
ZTsKKwkJCWtleXNpemUgPSBsY3R4LT5jZnhfa2QuY3R4X2tleS5sZW5ndGg7CisJCX0KKwkJbnVt
a2V5cyA9IDM7CisJfQorCXByaW50ZXJyKDIsICJwcmVwYXJlX2tyYjVfY3R4X3YyX2J1ZmZlcjog
c2VyaWFsaXppbmcgJWQga2V5cyB3aXRoICIKKwkJICJlbmN0eXBlICVkIGFuZCBzaXplICVkXG4i
LCBudW1rZXlzLCBlbmN0eXBlLCBrZXlzaXplKTsKKwlpZiAoV1JJVEVfQllURVMoJnAsIGVuZCwg
ZW5jdHlwZSkpIGdvdG8gb3V0X2VycjsKKwlpZiAoV1JJVEVfQllURVMoJnAsIGVuZCwga2V5c2l6
ZSkpIGdvdG8gb3V0X2VycjsKKwlpZiAoV1JJVEVfQllURVMoJnAsIGVuZCwgbnVta2V5cykpIGdv
dG8gb3V0X2VycjsKKworCWlmIChsY3R4LT5wcm90b2NvbCA9PSAwKSB7CisJCS8qIGRlcml2ZSBh
bmQgc2VuZCBkb3duOiBLZSwgS2ksIGFuZCBLYyAqLworCQkvKiBLZSAqLworCQlpZiAod3JpdGVf
Ynl0ZXMoJnAsIGVuZCwgbGN0eC0+cmZjMTk2NF9rZC5jdHhfa2V5LmRhdGEsCisJCQkJbGN0eC0+
cmZjMTk2NF9rZC5jdHhfa2V5Lmxlbmd0aCkpCisJCQlnb3RvIG91dF9lcnI7CisKKwkJLyogS2kg
Ki8KKwkJaWYgKHdyaXRlX2J5dGVzKCZwLCBlbmQsIGxjdHgtPnJmYzE5NjRfa2QuY3R4X2tleS5k
YXRhLAorCQkJCWxjdHgtPnJmYzE5NjRfa2QuY3R4X2tleS5sZW5ndGgpKQorCQkJZ290byBvdXRf
ZXJyOworCisJCS8qIEtjICovCisJCWlmIChkZXJpdmVfa2V5X2x1Y2lkKCZsY3R4LT5yZmMxOTY0
X2tkLmN0eF9rZXksCisJCQkJJmRlcml2ZWRfa2V5LAorCQkJCUtHX1VTQUdFX1NJR04sIEtFWV9V
U0FHRV9TRUVEX0NIRUNLU1VNKSkKKwkJCWdvdG8gb3V0X2VycjsKKwkJaWYgKHdyaXRlX2J5dGVz
KCZwLCBlbmQsIGRlcml2ZWRfa2V5LmRhdGEsCisJCQkJZGVyaXZlZF9rZXkubGVuZ3RoKSkKKwkJ
CWdvdG8gb3V0X2VycjsKKwkJZnJlZShkZXJpdmVkX2tleS5kYXRhKTsKKwl9IGVsc2UgeworCQln
c3Nfa3JiNV9sdWNpZF9rZXlfdCAqa2V5cHRyOworCQl1aW50MzJfdCBzaWduX3VzYWdlLCBzZWFs
X3VzYWdlOworCisJCWlmIChsY3R4LT5jZnhfa2QuaGF2ZV9hY2NlcHRvcl9zdWJrZXkpCisJCQlr
ZXlwdHIgPSAmbGN0eC0+Y2Z4X2tkLmFjY2VwdG9yX3N1YmtleTsKKwkJZWxzZQorCQkJa2V5cHRy
ID0gJmxjdHgtPmNmeF9rZC5jdHhfa2V5OworCisJCWlmIChsY3R4LT5pbml0aWF0ZSA9PSAxKSB7
CisJCQlzaWduX3VzYWdlID0gS0dfVVNBR0VfSU5JVElBVE9SX1NJR047CisJCQlzZWFsX3VzYWdl
ID0gS0dfVVNBR0VfSU5JVElBVE9SX1NFQUw7CisJCX0gZWxzZSB7CisJCQlzaWduX3VzYWdlID0g
S0dfVVNBR0VfQUNDRVBUT1JfU0lHTjsKKwkJCXNlYWxfdXNhZ2UgPSBLR19VU0FHRV9BQ0NFUFRP
Ul9TRUFMOworCQl9CisKKwkJLyogZGVyaXZlIGFuZCBzZW5kIGRvd246IEtlLCBLaSwgYW5kIEtj
ICovCisKKwkJLyogS2UgKi8KKwkJaWYgKGRlcml2ZV9rZXlfbHVjaWQoa2V5cHRyLCAmZGVyaXZl
ZF9rZXksCisJCQkgICAgICAgc2VhbF91c2FnZSwgS0VZX1VTQUdFX1NFRURfRU5DUllQVElPTikp
CisJCQlnb3RvIG91dF9lcnI7CisJCWlmICh3cml0ZV9ieXRlcygmcCwgZW5kLCBkZXJpdmVkX2tl
eS5kYXRhLAorCQkJCWRlcml2ZWRfa2V5Lmxlbmd0aCkpCisJCQlnb3RvIG91dF9lcnI7CisJCWZy
ZWUoZGVyaXZlZF9rZXkuZGF0YSk7CisKKwkJLyogS2kgKi8KKwkJaWYgKGRlcml2ZV9rZXlfbHVj
aWQoa2V5cHRyLCAmZGVyaXZlZF9rZXksCisJCQkgICAgICAgc2VhbF91c2FnZSwgS0VZX1VTQUdF
X1NFRURfSU5URUdSSVRZKSkKKwkJCWdvdG8gb3V0X2VycjsKKwkJaWYgKHdyaXRlX2J5dGVzKCZw
LCBlbmQsIGRlcml2ZWRfa2V5LmRhdGEsCisJCQkJZGVyaXZlZF9rZXkubGVuZ3RoKSkKKwkJCWdv
dG8gb3V0X2VycjsKKwkJZnJlZShkZXJpdmVkX2tleS5kYXRhKTsKKworCQkvKiBLYyAqLworCQlp
ZiAoZGVyaXZlX2tleV9sdWNpZChrZXlwdHIsICZkZXJpdmVkX2tleSwKKwkJCSAgICAgICBzaWdu
X3VzYWdlLCBLRVlfVVNBR0VfU0VFRF9DSEVDS1NVTSkpCisJCQlnb3RvIG91dF9lcnI7CisJCWlm
ICh3cml0ZV9ieXRlcygmcCwgZW5kLCBkZXJpdmVkX2tleS5kYXRhLAorCQkJCWRlcml2ZWRfa2V5
Lmxlbmd0aCkpCisJCQlnb3RvIG91dF9lcnI7CisJCWZyZWUoZGVyaXZlZF9rZXkuZGF0YSk7CisJ
fQorCisJYnVmLT5sZW5ndGggPSBwIC0gKGNoYXIgKilidWYtPnZhbHVlOworCXJldHVybiAwOwor
CitvdXRfZXJyOgorCXByaW50ZXJyKDAsICJFUlJPUjogcHJlcGFyZV9rcmI1X2N0eF92Ml9idWZm
ZXI6ICIKKwkJICJmYWlsZWQgc2VyaWFsaXppbmcga3JiNSBjb250ZXh0IGZvciBrZXJuZWxcbiIp
OworCWlmIChidWYtPnZhbHVlKSB7CisJCWZyZWUoYnVmLT52YWx1ZSk7CisJCWJ1Zi0+dmFsdWUg
PSBOVUxMOworCX0KKwlidWYtPmxlbmd0aCA9IDA7CisJaWYgKGVuY19rZXkuZGF0YSkgeworCQlm
cmVlKGVuY19rZXkuZGF0YSk7CisJCWVuY19rZXkuZGF0YSA9IE5VTEw7CisJfQogCXJldHVybiAt
MTsKIH0KIApAQCAtMjU4LDExICs1NTYsMjEgQEAgc2VyaWFsaXplX2tyYjVfY3R4KGdzc19jdHhf
aWRfdCBjdHgsIGdzcwogCQlicmVhazsKIAl9CiAKLQkvKiBOb3cgbGN0eCBwb2ludHMgdG8gYSBs
dWNpZCBjb250ZXh0IHRoYXQgd2UgY2FuIHNlbmQgZG93biB0byBrZXJuZWwgKi8KLQlpZiAobGN0
eC0+cHJvdG9jb2wgPT0gMCkKKwkvKgorCSAqIE5vdyBsY3R4IHBvaW50cyB0byBhIGx1Y2lkIGNv
bnRleHQgdGhhdCB3ZSBjYW4gc2VuZCBkb3duIHRvIGtlcm5lbAorCSAqCisJICogTm90ZTogd2Ug
c2VuZCBkb3duIGRpZmZlcmVudCBpbmZvcm1hdGlvbiB0byB0aGUga2VybmVsIGRlcGVuZGluZwor
CSAqIG9uIHRoZSBwcm90b2NvbCB2ZXJzaW9uIGFuZCB0aGUgZW5jdHlwdGlvbiB0eXBlLgorCSAq
IEZvciBwcm90b2NvbCB2ZXJzaW9uIDAgd2l0aCBhbGwgZW5jdHlwZXMgYmVzaWRlcyBERVMzLCB3
ZSB1c2UKKwkgKiB0aGUgb3JpZ2luYWwgZm9ybWF0LiAgRm9yIHByb3RvY29sIHZlcnNpb24gIT0g
MCBvciBERVMzLCB3ZQorCSAqIHNlbmQgZG93biB0aGUgbmV3IHN0eWxlIGluZm9ybWF0aW9uLgor
CSAqLworCisJaWYgKGxjdHgtPnByb3RvY29sID09IDAgJiYKKwkJbGN0eC0+cmZjMTk2NF9rZC5j
dHhfa2V5LnR5cGUgPT0gRU5DVFlQRV9ERVNfQ0JDX1JBVykKIAkJcmV0Y29kZSA9IHByZXBhcmVf
a3JiNV9yZmMxOTY0X2J1ZmZlcihsY3R4LCBidWYpOwogCWVsc2UKLQkJcmV0Y29kZSA9IHByZXBh
cmVfa3JiNV9yZmNfY2Z4X2J1ZmZlcihsY3R4LCBidWYpOworCQlyZXRjb2RlID0gcHJlcGFyZV9r
cmI1X2N0eF92Ml9idWZmZXIobGN0eCwgYnVmKTsKIAogCW1hal9zdGF0ID0gZ3NzX2ZyZWVfbHVj
aWRfc2VjX2NvbnRleHQoJm1pbl9zdGF0LCBjdHgsIHJldHVybl9jdHgpOwogCWlmIChtYWpfc3Rh
dCAhPSBHU1NfU19DT01QTEVURSkgewpAQCAtMzAwLDYgKzYwOCw2NiBAQCB3cml0ZV9rZXlibG9j
ayhjaGFyICoqcCwgY2hhciAqZW5kLCBzdHJ1CiB9CiAKIC8qCisgKiBGdW5jdGlvbiB0byBkZXJp
dmUgYSBuZXcga2V5IGZyb20gYSBnaXZlbiBrZXkgYW5kIGdpdmVuIGNvbnN0YW50IGRhdGEuCisg
Ki8KK3N0YXRpYyBrcmI1X2Vycm9yX2NvZGUKK2Rlcml2ZV9rZXkoY29uc3Qga3JiNV9rZXlibG9j
ayAqaW4sIGtyYjVfa2V5YmxvY2sgKm91dCwgaW50IHVzYWdlLCBjaGFyIGV4dHJhKQoreworCWty
YjVfZXJyb3JfY29kZSBjb2RlOworCXVuc2lnbmVkIGNoYXIgY29uc3RhbnRfZGF0YVtLNUNMRU5H
VEhdOworCWtyYjVfZGF0YSBkYXRhaW47CisJaW50IGtleWxlbmd0aDsKKwl2b2lkICplbmM7CisK
KwkvKgorCSAqIFhYWCBIYWNrIGFsZXJ0LiAgV2UgZG9uJ3QgaGF2ZSAibGVnYWwiIGFjY2VzcyB0
byB0aGVzZQorCSAqIHZhbHVlcyBhbmQgc3RydWN0dXJlcyBsb2NhdGVkIGluIGxpYms1Y3J5cHRv
CisJICovCisJc3dpdGNoIChpbi0+ZW5jdHlwZSkgeworCWNhc2UgRU5DVFlQRV9ERVMzX0NCQ19S
QVc6CisJCWtleWxlbmd0aCA9IDI0OworCQllbmMgPSAma3JiNWludF9lbmNfZGVzMzsKKwkJYnJl
YWs7CisJY2FzZSBFTkNUWVBFX0FSQ0ZPVVJfSE1BQzoKKwkJa2V5bGVuZ3RoID0gMTY7CisJCWVu
YyA9ICZrcmI1aW50X2VuY19hcmNmb3VyOworCQlicmVhazsKKwlkZWZhdWx0OgorCQljb2RlID0g
S1JCNV9CQURfRU5DVFlQRTsKKwkJZ290byBvdXQ7CisJfQorCisJLyogYWxsb2NhdGUgbWVtb3J5
IGZvciBvdXRwdXQga2V5ICovCisJaWYgKChvdXQtPmNvbnRlbnRzID0gbWFsbG9jKGtleWxlbmd0
aCkpID09IE5VTEwpIHsKKwkJY29kZSA9IEVOT01FTTsKKwkJZ290byBvdXQ7CisJfQorCW91dC0+
bGVuZ3RoID0ga2V5bGVuZ3RoOworCW91dC0+ZW5jdHlwZSA9IGluLT5lbmN0eXBlOworCisJZGF0
YWluLmRhdGEgPSAoY2hhciAqKSBjb25zdGFudF9kYXRhOworCWRhdGFpbi5sZW5ndGggPSBLNUNM
RU5HVEg7CisKKwlkYXRhaW4uZGF0YVswXSA9ICh1c2FnZT4+MjQpJjB4ZmY7CisJZGF0YWluLmRh
dGFbMV0gPSAodXNhZ2U+PjE2KSYweGZmOworCWRhdGFpbi5kYXRhWzJdID0gKHVzYWdlPj44KSYw
eGZmOworCWRhdGFpbi5kYXRhWzNdID0gdXNhZ2UmMHhmZjsKKworCWRhdGFpbi5kYXRhWzRdID0g
KGNoYXIpIGV4dHJhOworCisJaWYgKChjb2RlID0ga3JiNV9kZXJpdmVfa2V5KGVuYywgaW4sIG91
dCwgJmRhdGFpbikpKSB7CisJCWZyZWUob3V0LT5jb250ZW50cyk7CisJCW91dC0+Y29udGVudHMg
PSBOVUxMOworCX0KKworICBvdXQ6CisgIAlpZiAoY29kZSkKKwkJcHJpbnRlcnIoMCwgIkVSUk9S
OiBkZXJpdmVfa2V5IHJldHVybmluZyBlcnJvciAlZCAoJXMpXG4iLAorCQkJIGNvZGUsIGVycm9y
X21lc3NhZ2UoY29kZSkpOworCXJldHVybiAoY29kZSk7Cit9CisKKy8qCiAgKiBXZSByZWFsbHkg
c2hvdWxkbid0IGtub3cgYWJvdXQgZ2x1ZS1sYXllciBjb250ZXh0IHN0cnVjdHVyZSwgYnV0CiAg
KiB3ZSBuZWVkIHRvIGdldCBhdCB0aGUgcmVhbCBrcmI1IGNvbnRleHQgcG9pbnRlci4gIFRoaXMg
c2hvdWxkIGJlCiAgKiByZW1vdmVkIGFzIHNvb24gYXMgd2Ugc2F5IHRoZXJlIGlzIG5vIHN1cHBv
cnQgZm9yIE1JVCBLZXJiZXJvcwpAQCAtMzE1LDQ1ICs2ODMsMTE0IEBAIHNlcmlhbGl6ZV9rcmI1
X2N0eChnc3NfY3R4X2lkX3QgY3R4LCBnc3MKIHsKIAlrcmI1X2dzc19jdHhfaWRfdCBrY3R4ID0g
KChnc3NfdW5pb25fY3R4X2lkX3QpY3R4KS0+aW50ZXJuYWxfY3R4X2lkOwogCWNoYXIgKnAsICpl
bmQ7Ci0Jc3RhdGljIGludCBjb25zdGFudF9vbmUgPSAxOwogCXN0YXRpYyBpbnQgY29uc3RhbnRf
emVybyA9IDA7CisJc3RhdGljIGludCBjb25zdGFudF9vbmUgPSAxOworCXN0YXRpYyBpbnQgY29u
c3RhbnRfdHdvID0gMjsKIAl1aW50MzJfdCB3b3JkX3NlcV9zZW5kOworCXVfaW50NjRfdCBzZXFf
c2VuZF82NGJpdDsKKwl1aW50MzJfdCB2Ml9mbGFncyA9IDA7CisJa3JiNV9rZXlibG9jayBkZXJp
dmVkX2tleTsKKwl1aW50MzJfdCBudW1rZXlzOwogCiAJaWYgKCEoYnVmLT52YWx1ZSA9IGNhbGxv
YygxLCBNQVhfQ1RYX0xFTikpKQogCQlnb3RvIG91dF9lcnI7CiAJcCA9IGJ1Zi0+dmFsdWU7CiAJ
ZW5kID0gYnVmLT52YWx1ZSArIE1BWF9DVFhfTEVOOwogCi0JaWYgKGtjdHgtPmluaXRpYXRlKSB7
Ci0JCWlmIChXUklURV9CWVRFUygmcCwgZW5kLCBjb25zdGFudF9vbmUpKSBnb3RvIG91dF9lcnI7
Ci0JfQotCWVsc2UgewotCQlpZiAoV1JJVEVfQllURVMoJnAsIGVuZCwgY29uc3RhbnRfemVybykp
IGdvdG8gb3V0X2VycjsKLQl9Ci0JaWYgKGtjdHgtPnNlZWRfaW5pdCkgewotCQlpZiAoV1JJVEVf
QllURVMoJnAsIGVuZCwgY29uc3RhbnRfb25lKSkgZ290byBvdXRfZXJyOwotCX0KLQllbHNlIHsK
LQkJaWYgKFdSSVRFX0JZVEVTKCZwLCBlbmQsIGNvbnN0YW50X3plcm8pKSBnb3RvIG91dF9lcnI7
Ci0JfQotCWlmICh3cml0ZV9ieXRlcygmcCwgZW5kLCAma2N0eC0+c2VlZCwgc2l6ZW9mKGtjdHgt
PnNlZWQpKSkKLQkJZ290byBvdXRfZXJyOwotCWlmIChXUklURV9CWVRFUygmcCwgZW5kLCBrY3R4
LT5zaWduYWxnKSkgZ290byBvdXRfZXJyOwotCWlmIChXUklURV9CWVRFUygmcCwgZW5kLCBrY3R4
LT5zZWFsYWxnKSkgZ290byBvdXRfZXJyOwotCWlmIChXUklURV9CWVRFUygmcCwgZW5kLCBrY3R4
LT5lbmR0aW1lKSkgZ290byBvdXRfZXJyOwotCXdvcmRfc2VxX3NlbmQgPSBrY3R4LT5zZXFfc2Vu
ZDsKLQlpZiAoV1JJVEVfQllURVMoJnAsIGVuZCwgd29yZF9zZXFfc2VuZCkpIGdvdG8gb3V0X2Vy
cjsKLQlpZiAod3JpdGVfYnVmZmVyKCZwLCBlbmQsIGtjdHgtPm1lY2hfdXNlZCkpIGdvdG8gb3V0
X2VycjsKLQotCXByaW50ZXJyKDIsICJzZXJpYWxpemVfa3JiNV9jdHg6IHNlcmlhbGl6aW5nIGtl
eXMgd2l0aCAiCi0JCSAiZW5jdHlwZSAlZCBhbmQgbGVuZ3RoICVkXG4iLAotCQkga2N0eC0+ZW5j
LT5lbmN0eXBlLCBrY3R4LT5lbmMtPmxlbmd0aCk7CisJc3dpdGNoIChrY3R4LT5zZWFsYWxnKSB7
CisJY2FzZSBTRUFMX0FMR19ERVM6CisJCS8qIFZlcnNpb25zIDAgYW5kIDEgKi8KKwkJaWYgKGtj
dHgtPmluaXRpYXRlKSB7CisJCQlpZiAoV1JJVEVfQllURVMoJnAsIGVuZCwgY29uc3RhbnRfb25l
KSkgZ290byBvdXRfZXJyOworCQl9CisJCWVsc2UgeworCQkJaWYgKFdSSVRFX0JZVEVTKCZwLCBl
bmQsIGNvbnN0YW50X3plcm8pKSBnb3RvIG91dF9lcnI7CisJCX0KKwkJaWYgKGtjdHgtPnNlZWRf
aW5pdCkgeworCQkJaWYgKFdSSVRFX0JZVEVTKCZwLCBlbmQsIGNvbnN0YW50X29uZSkpIGdvdG8g
b3V0X2VycjsKKwkJfQorCQllbHNlIHsKKwkJCWlmIChXUklURV9CWVRFUygmcCwgZW5kLCBjb25z
dGFudF96ZXJvKSkgZ290byBvdXRfZXJyOworCQl9CisJCWlmICh3cml0ZV9ieXRlcygmcCwgZW5k
LCAma2N0eC0+c2VlZCwgc2l6ZW9mKGtjdHgtPnNlZWQpKSkKKwkJCWdvdG8gb3V0X2VycjsKKwkJ
aWYgKFdSSVRFX0JZVEVTKCZwLCBlbmQsIGtjdHgtPnNpZ25hbGcpKSBnb3RvIG91dF9lcnI7CisJ
CWlmIChXUklURV9CWVRFUygmcCwgZW5kLCBrY3R4LT5zZWFsYWxnKSkgZ290byBvdXRfZXJyOwor
CQlpZiAoV1JJVEVfQllURVMoJnAsIGVuZCwga2N0eC0+ZW5kdGltZSkpIGdvdG8gb3V0X2VycjsK
KwkJd29yZF9zZXFfc2VuZCA9IGtjdHgtPnNlcV9zZW5kOworCQlpZiAoV1JJVEVfQllURVMoJnAs
IGVuZCwgd29yZF9zZXFfc2VuZCkpIGdvdG8gb3V0X2VycjsKKwkJaWYgKHdyaXRlX29pZCgmcCwg
ZW5kLCBrY3R4LT5tZWNoX3VzZWQpKSBnb3RvIG91dF9lcnI7CisKKwkJcHJpbnRlcnIoMiwgInNl
cmlhbGl6ZV9rcmI1X2N0eDogc2VyaWFsaXppbmcga2V5cyB3aXRoICIKKwkJCSAiZW5jdHlwZSAl
ZCBhbmQgbGVuZ3RoICVkXG4iLAorCQkJIGtjdHgtPmVuYy0+ZW5jdHlwZSwga2N0eC0+ZW5jLT5s
ZW5ndGgpOwogCi0JaWYgKHdyaXRlX2tleWJsb2NrKCZwLCBlbmQsIGtjdHgtPmVuYykpIGdvdG8g
b3V0X2VycjsKLQlpZiAod3JpdGVfa2V5YmxvY2soJnAsIGVuZCwga2N0eC0+c2VxKSkgZ290byBv
dXRfZXJyOworCQlpZiAod3JpdGVfa2V5YmxvY2soJnAsIGVuZCwga2N0eC0+ZW5jKSkgZ290byBv
dXRfZXJyOworCQlpZiAod3JpdGVfa2V5YmxvY2soJnAsIGVuZCwga2N0eC0+c2VxKSkgZ290byBv
dXRfZXJyOworCQlicmVhazsKKwljYXNlIFNFQUxfQUxHX01JQ1JPU09GVF9SQzQ6CisJY2FzZSBT
RUFMX0FMR19ERVMzS0Q6CisJCS8qIHUzMiB2ZXJzaW9uOyAgICggMiApCisJCSAqIHMzMiBlbmR0
aW1lOworCQkgKiB1MzIgZmxhZ3M7CisJCSAqICNkZWZpbmUgS1JCNV9DVFhfRkxBR19JTklUSUFU
T1IgICAgICAgIDB4MDAwMDAwMDEKKwkJICogI2RlZmluZSBLUkI1X0NUWF9GTEFHX0NGWCAgICAg
ICAgICAgICAgMHgwMDAwMDAwMgorCQkgKiAjZGVmaW5lIEtSQjVfQ1RYX0ZMQUdfQUNDRVBUT1Jf
U1VCS0VZICAweDAwMDAwMDA0CisJCSAqIHU2NCBzZXFfc2VuZDsKKwkJICogdTMyICBlbmN0eXBl
OworCQkgKiB1MzIgIHNpemVfb2ZfZWFjaF9rZXk7ICAgICggIHNpemUgaW4gYnl0ZXMgKQorCQkg
KiB1MzIgIG51bWJlcl9vZl9rZXlzOyAgICAgICggIE4gKGFzc3VtZWQgdG8gYmUgMyBmb3Igbm93
KSApCisJCSAqIGtleWRhdGEtMTsgICAgICAgICAgICAgICAgKCAgS2UgIChLZW5jIGZvciBERVMz
KSApCisJCSAqIGtleWRhdGEtMjsgICAgICAgICAgICAgICAgKCAgS2kgIChLc2VxIGZvciBERVMz
KSApCisJCSAqIGtleWRhdGEtMzsgICAgICAgICAgICAgICAgKCAgS2MgKGRlcml2ZWQgY2hlY2tz
dW0ga2V5KSApCisJCSAqLworCQkgLyogVmVyc2lvbiAyICovCisJCWlmIChXUklURV9CWVRFUygm
cCwgZW5kICwgY29uc3RhbnRfdHdvKSkgZ290byBvdXRfZXJyOworCQlpZiAoV1JJVEVfQllURVMo
JnAsIGVuZCwga2N0eC0+ZW5kdGltZSkpIGdvdG8gb3V0X2VycjsKKworCQkvKiBPbmx5IGFwcGxp
Y2FibGUgZmxhZyBmb3IgaXMgaW5pdGlhdG9yICovCisJCWlmIChrY3R4LT5pbml0aWF0ZSkgdjJf
ZmxhZ3MgfD0gS1JCNV9DVFhfRkxBR19JTklUSUFUT1I7CisJCWlmIChXUklURV9CWVRFUygmcCwg
ZW5kLCB2Ml9mbGFncykpIGdvdG8gb3V0X2VycjsKKworCQlzZXFfc2VuZF82NGJpdCA9IGtjdHgt
PnNlcV9zZW5kOworCQlpZiAoV1JJVEVfQllURVMoJnAsIGVuZCwgc2VxX3NlbmRfNjRiaXQpKSBn
b3RvIG91dF9lcnI7CisKKwkJaWYgKFdSSVRFX0JZVEVTKCZwLCBlbmQsIGtjdHgtPmVuYy0+ZW5j
dHlwZSkpIGdvdG8gb3V0X2VycjsKKwkJaWYgKFdSSVRFX0JZVEVTKCZwLCBlbmQsIGtjdHgtPmVu
Yy0+bGVuZ3RoKSkgZ290byBvdXRfZXJyOworCQludW1rZXlzID0gMzsKKwkJaWYgKFdSSVRFX0JZ
VEVTKCZwLCBlbmQsIG51bWtleXMpKSBnb3RvIG91dF9lcnI7CisJCXByaW50ZXJyKDIsICJzZXJp
YWxpemVfa3JiNV9jdHg6IHNlcmlhbGl6aW5nICVkIGtleXMgd2l0aCAiCisJCQkgImVuY3R5cGUg
JWQgYW5kIHNpemUgJWRcbiIsCisJCQkgbnVta2V5cywga2N0eC0+ZW5jLT5lbmN0eXBlLCBrY3R4
LT5lbmMtPmxlbmd0aCk7CisKKwkJLyogS2UgKi8KKwkJaWYgKHdyaXRlX2J5dGVzKCZwLCBlbmQs
IGtjdHgtPmVuYy0+Y29udGVudHMsCisJCQkJa2N0eC0+ZW5jLT5sZW5ndGgpKQorCQkJZ290byBv
dXRfZXJyOworCisJCS8qIEtpICovCisJCWlmICh3cml0ZV9ieXRlcygmcCwgZW5kLCBrY3R4LT5l
bmMtPmNvbnRlbnRzLAorCQkJCWtjdHgtPmVuYy0+bGVuZ3RoKSkKKwkJCWdvdG8gb3V0X2VycjsK
KworCQkvKiBLYyAqLworCQlpZiAoZGVyaXZlX2tleShrY3R4LT5zZXEsICZkZXJpdmVkX2tleSwK
KwkJCSAgICAgICBLR19VU0FHRV9TSUdOLCBLRVlfVVNBR0VfU0VFRF9DSEVDS1NVTSkpCisJCQln
b3RvIG91dF9lcnI7CisJCWlmICh3cml0ZV9ieXRlcygmcCwgZW5kLCBkZXJpdmVkX2tleS5jb250
ZW50cywKKwkJCQlkZXJpdmVkX2tleS5sZW5ndGgpKQorCQkJZ290byBvdXRfZXJyOworCQlmcmVl
KGRlcml2ZWRfa2V5LmNvbnRlbnRzKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcHJpbnRlcnIo
MCwgIkVSUk9SOiBzZXJpYWxpemVfa3JiNV9jdHg6IHVuc3VwcG9ydGVkIHNlYWwgIgorCQkJICJh
bGdvcml0aG0gJWRcbiIsIGtjdHgtPnNlYWxhbGcpOworCQlnb3RvIG91dF9lcnI7CisJfQogCiAJ
YnVmLT5sZW5ndGggPSBwIC0gKGNoYXIgKilidWYtPnZhbHVlOwogCXJldHVybiAwOworCiBvdXRf
ZXJyOgogCXByaW50ZXJyKDAsICJFUlJPUjogZmFpbGVkIHNlcmlhbGl6aW5nIGtyYjUgY29udGV4
dCBmb3Iga2VybmVsXG4iKTsKIAlpZiAoYnVmLT52YWx1ZSkgZnJlZShidWYtPnZhbHVlKTsKZGlm
ZiAtcHVOIHV0aWxzL2dzc2Qvd3JpdGVfYnl0ZXMuaH5DSVRJX05GUzRfQUxMIHV0aWxzL2dzc2Qv
d3JpdGVfYnl0ZXMuaAotLS0gbmZzLXV0aWxzLTEuMC44L3V0aWxzL2dzc2Qvd3JpdGVfYnl0ZXMu
aH5DSVRJX05GUzRfQUxMCTIwMDYtMDUtMjYgMTE6MDM6MTMuMzYwMzc4MDAwIC0wNDAwCisrKyBu
ZnMtdXRpbHMtMS4wLjgta3djL3V0aWxzL2dzc2Qvd3JpdGVfYnl0ZXMuaAkyMDA2LTA1LTI2IDEx
OjAzOjEzLjg2Nzk3NzAwMCAtMDQwMApAQCAtNTYsMTMgKzU2LDI2IEBAIHdyaXRlX2J1ZmZlcihj
aGFyICoqcCwgY2hhciAqZW5kLCBnc3NfYnUKIAlpbnQgbGVuID0gKGludClhcmctPmxlbmd0aDsJ
CS8qIG1ha2UgYW4gaW50IG91dCBvZiBzaXplX3QgKi8KIAlpZiAoV1JJVEVfQllURVMocCwgZW5k
LCBsZW4pKQogCQlyZXR1cm4gLTE7Ci0JaWYgKCpwICsgYXJnLT5sZW5ndGggPiBlbmQpCisJaWYg
KCpwICsgbGVuID4gZW5kKQogCQlyZXR1cm4gLTE7CiAJbWVtY3B5KCpwLCBhcmctPnZhbHVlLCBs
ZW4pOwogCSpwICs9IGxlbjsKIAlyZXR1cm4gMDsKIH0KIAoraW5saW5lIHN0YXRpYyBpbnQKK3dy
aXRlX29pZChjaGFyICoqcCwgY2hhciAqZW5kLCBnc3NfT0lEX2Rlc2MgKmFyZykKK3sKKwlpbnQg
bGVuID0gKGludClhcmctPmxlbmd0aDsJCS8qIG1ha2UgYW4gaW50IG91dCBvZiBzaXplX3QgKi8K
KwlpZiAoV1JJVEVfQllURVMocCwgZW5kLCBsZW4pKQorCQlyZXR1cm4gLTE7CisJaWYgKCpwICsg
YXJnLT5sZW5ndGggPiBlbmQpCisJCXJldHVybiAtMTsKKwltZW1jcHkoKnAsIGFyZy0+ZWxlbWVu
dHMsIGxlbik7CisJKnAgKz0gbGVuOworCXJldHVybiAwOworfQorCiBzdGF0aWMgaW5saW5lIGlu
dAogZ2V0X2J5dGVzKGNoYXIgKipwdHIsIGNvbnN0IGNoYXIgKmVuZCwgdm9pZCAqcmVzLCBpbnQg
bGVuKQogewpkaWZmIC1wdU4gdXRpbHMvZ3NzZC9jYWNoZWlvLmN+Q0lUSV9ORlM0X0FMTCB1dGls
cy9nc3NkL2NhY2hlaW8uYwotLS0gbmZzLXV0aWxzLTEuMC44L3V0aWxzL2dzc2QvY2FjaGVpby5j
fkNJVElfTkZTNF9BTEwJMjAwNi0wNS0yNiAxMTowMzoxNC40NDM5MzAwMDAgLTA0MDAKKysrIG5m
cy11dGlscy0xLjAuOC1rd2MvdXRpbHMvZ3NzZC9jYWNoZWlvLmMJMjAwNi0wNS0yNiAxMTowMzox
NS42MTYzMjgwMDAgLTA0MDAKQEAgLTU1LDYgKzU1LDcgQEAKICNpbmNsdWRlIDx0aW1lLmg+CiAj
aW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8u
aD4KICNpbmNsdWRlICJlcnJfdXRpbC5oIgogCiB2b2lkIHF3b3JkX2FkZChjaGFyICoqYnBwLCBp
bnQgKmxwLCBjaGFyICpzdHIpCkBAIC0yNDQsNiArMjQ1LDggQEAgaW50IHF3b3JkX2dldF9pbnQo
Y2hhciAqKmJwcCwgaW50ICphbmludAogCXJldHVybiAwOwogfQogCisjZGVmaW5lIFJFQURMSU5F
X0JVRkZFUl9JTkNSRU1FTlQgMjA0OAorCiBpbnQgcmVhZGxpbmUoaW50IGZkLCBjaGFyICoqYnVm
LCBpbnQgKmxlbnApCiB7CiAJLyogcmVhZCBhIGxpbmUgaW50byAqYnVmLCB3aGljaCBpcyBtYWxs
b2NlZCAqbGVuIGxvbmcKQEAgLTI1NCwxNSArMjU3LDE2IEBAIGludCByZWFkbGluZShpbnQgZmQs
IGNoYXIgKipidWYsIGludCAqbGUKIAlpbnQgbGVuOwogCiAJaWYgKCpsZW5wID09IDApIHsKLQkJ
Y2hhciAqYiA9IG1hbGxvYygxMjgpOworCQljaGFyICpiID0gbWFsbG9jKFJFQURMSU5FX0JVRkZF
Ul9JTkNSRU1FTlQpOwogCQlpZiAoYiA9PSBOVUxMKQogCQkJcmV0dXJuIDA7CiAJCSpidWYgPSBi
OwotCQkqbGVucCA9IDEyODsKKwkJKmxlbnAgPSBSRUFETElORV9CVUZGRVJfSU5DUkVNRU5UOwog
CX0KIAlsZW4gPSByZWFkKGZkLCAqYnVmLCAqbGVucCk7CiAJaWYgKGxlbiA8PSAwKSB7Ci0JCXBy
aW50ZXJyKDIsICJyZWFkIGVycm9yIGluIHJlYWRsaW5lOiAlZFxuIiwgbGVuKTsKKwkJcHJpbnRl
cnIoMCwgInJlYWRsaW5lOiByZWFkIGVycm9yOiBsZW4gJWQgZXJybm8gJWQgKCVzKVxuIiwKKwkJ
CSBsZW4sIGVycm5vLCBzdHJlcnJvcihlcnJubykpOwogCQlyZXR1cm4gMDsKIAl9CiAJd2hpbGUg
KCgqYnVmKVtsZW4tMV0gIT0gJ1xuJykgewpAQCAtMjcxLDE5ICsyNzUsMjEgQEAgaW50IHJlYWRs
aW5lKGludCBmZCwgY2hhciAqKmJ1ZiwgaW50ICpsZQogCSAqLwogCQljaGFyICpuZXc7CiAJCWlu
dCBubDsKLQkJKmxlbnAgKz0gMTI4OworCQkqbGVucCArPSBSRUFETElORV9CVUZGRVJfSU5DUkVN
RU5UOwogCQluZXcgPSByZWFsbG9jKCpidWYsICpsZW5wKTsKIAkJaWYgKG5ldyA9PSBOVUxMKQog
CQkJcmV0dXJuIDA7CiAJCSpidWYgPSBuZXc7CiAJCW5sID0gcmVhZChmZCwgKmJ1ZiArbGVuLCAq
bGVucCAtIGxlbik7CiAJCWlmIChubCA8PSAwICkgewotCQkJcHJpbnRlcnIoMiwgInJlYWQgZXJy
b3IgaW4gcmVhZGxpbmU6ICVkXG4iLCBubCk7CisJCQlwcmludGVycigwLCAicmVhZGxpbmU6IHJl
YWQgZXJyb3I6IGxlbiAlZCAiCisJCQkJICJlcnJubyAlZCAoJXMpXG4iLCBubCwgZXJybm8sIHN0
cmVycm9yKGVycm5vKSk7CiAJCQlyZXR1cm4gMDsKIAkJfQogCQlsZW4gKz0gbmw7CiAJfQogCSgq
YnVmKVtsZW4tMV0gPSAwOwotCXByaW50ZXJyKDEsICJyZWFkIGxpbmUgd2l0aCAlZCBjaGFyYWN0
ZXJzOlxuJXNcbiIsICpsZW5wLCAqYnVmKTsKKwlwcmludGVycigzLCAicmVhZGxpbmU6IHJlYWQg
JWQgY2hhcnMgaW50byBidWZmZXIgb2Ygc2l6ZSAlZDpcbiVzXG4iLAorCQkgbGVuLCAqbGVucCwg
KmJ1Zik7CiAJcmV0dXJuIDE7CiB9CmRpZmYgLXB1TiB1dGlscy9nc3NkL3N2Y2dzc2RfcHJvYy5j
fkNJVElfTkZTNF9BTEwgdXRpbHMvZ3NzZC9zdmNnc3NkX3Byb2MuYwotLS0gbmZzLXV0aWxzLTEu
MC44L3V0aWxzL2dzc2Qvc3ZjZ3NzZF9wcm9jLmN+Q0lUSV9ORlM0X0FMTAkyMDA2LTA1LTI2IDEx
OjAzOjE1LjQ1MzQ3NjAwMCAtMDQwMAorKysgbmZzLXV0aWxzLTEuMC44LWt3Yy91dGlscy9nc3Nk
L3N2Y2dzc2RfcHJvYy5jCTIwMDYtMDUtMjYgMTE6MDM6MTYuMjgyMDI1MDAwIC0wNDAwCkBAIC0x
NDAsNyArMTQwLDcgQEAgc2VuZF9yZXNwb25zZShGSUxFICpmLCBnc3NfYnVmZmVyX2Rlc2MgKgog
CQlyZXR1cm4gLTE7CiAJfQogCSpicCA9ICdcMCc7Ci0JcHJpbnRlcnIoMSwgIndyaXRpbmcgbWVz
c2FnZTogJXMiLCBidWYpOworCXByaW50ZXJyKDMsICJ3cml0aW5nIG1lc3NhZ2U6ICVzIiwgYnVm
KTsKIAlpZiAod3JpdGUoZywgYnVmLCBicCAtIGJ1ZikgPT0gLTEpIHsKIAkJcHJpbnRlcnIoMCwg
IldBUk5JTkc6IGZhaWxlZCB0byB3cml0ZSBtZXNzYWdlXG4iKTsKIAkJY2xvc2UoZyk7CkBAIC0y
MjAsOCArMjIwLDIxIEBAIGdldF9pZHMoZ3NzX25hbWVfdCBjbGllbnRfbmFtZSwgZ3NzX09JRCAK
IAluZnM0X2luaXRfbmFtZV9tYXBwaW5nKE5VTEwpOyAvKiBYWFg6IHNob3VsZCBvbmx5IGRvIHRo
aXMgb25jZSAqLwogCXJlcyA9IG5mczRfZ3NzX3ByaW5jX3RvX2lkcyhzZWNuYW1lLCBzbmFtZSwg
JnVpZCwgJmdpZCk7CiAJaWYgKHJlcyA8IDApIHsKLQkJcHJpbnRlcnIoMCwgIldBUk5JTkc6IGdl
dF9pZHM6IHVuYWJsZSB0byBtYXAgIgotCQkJIm5hbWUgJyVzJyB0byBhIHVpZFxuIiwgc25hbWUp
OworCQkvKgorCQkgKiAtRU5PRU5UIG1lYW5zIHRoZXJlIHdhcyBubyBtYXBwaW5nLCBhbnkgb3Ro
ZXIgZXJyb3IKKwkJICogdmFsdWUgbWVhbnMgdGhlcmUgd2FzIGFuIGVycm9yIHRyeWluZyB0byBk
byB0aGUKKwkJICogbWFwcGluZy4KKwkJICovCisJCWlmIChyZXMgPT0gLUVOT0VOVCkgeworCQkJ
Y3JlZC0+Y3JfdWlkID0gLTI7CS8qIFhYWCAqLworCQkJY3JlZC0+Y3JfZ2lkID0gLTI7CS8qIFhY
WCAqLworCQkJY3JlZC0+Y3JfZ3JvdXBzWzBdID0gLTI7LyogWFhYICovCisJCQljcmVkLT5jcl9u
Z3JvdXBzID0gMTsKKwkJCXJlcyA9IDA7CisJCQlnb3RvIG91dF9mcmVlOworCQl9CisJCXByaW50
ZXJyKDAsICJXQVJOSU5HOiBnZXRfaWRzOiBmYWlsZWQgdG8gbWFwIG5hbWUgJyVzJyAiCisJCQki
dG8gdWlkL2dpZDogJXNcbiIsIHNuYW1lLCBzdHJlcnJvcigtcmVzKSk7CiAJCWdvdG8gb3V0X2Zy
ZWU7CiAJfQogCWNyZWQtPmNyX3VpZCA9IHVpZDsKCl8K
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88651</attachid>
            <date>2006-06-08 02:27 0000</date>
            <desc>nfs-utils-1.0.8-eepro-support.patch</desc>
            <filename>nfs-utils-1.0.8-eepro-support.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">ZGlmZiAtdU5yIG5mcy11dGlscy0wLjIuMS9zdXBwb3J0L25mcy9ycGNtaXNjLmMgbmZzLXV0aWxz
LTAuMi4xLWVlcHJvMTAwL3N1cHBvcnQvbmZzL3JwY21pc2MuYwotLS0gbmZzLXV0aWxzLTAuMi4x
L3N1cHBvcnQvbmZzL3JwY21pc2MuYwlTdW4gQXByIDMwIDAwOjE0OjU2IDIwMDAKKysrIG5mcy11
dGlscy0wLjIuMS1lZXBybzEwMC9zdXBwb3J0L25mcy9ycGNtaXNjLmMJRnJpIEphbiAxOSAxMzo1
MTo0NSAyMDAxCkBAIC0xNzYsNyArMTc2LDggQEAKIAkJaW50IHNibGVuLCByYmxlbjsKIAogCQkv
KiAxMDI0IGZvciBycGMgJiB0cmFuc3BvcnQgb3ZlcmhlYWRzICovCi0JCXNibGVuID0gcmJsZW4g
PSBzb2Nrc3ogKyAxMDI0OworCQkvKiBidXQsIDIwNDggbmVlZGVkIGZvciBlZXBybzEwMCAqLwor
CQlzYmxlbiA9IHJibGVuID0gc29ja3N6ICsgMjA0ODsKIAkJaWYgKHNldHNvY2tvcHQocywgU09M
X1NPQ0tFVCwgU09fU05EQlVGLCAmc2JsZW4sIHNpemVvZiBzYmxlbikgPCAwIHx8CiAJCSAgICBz
ZXRzb2Nrb3B0KHMsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgJnJibGVuLCBzaXplb2YgcmJsZW4p
IDwgMCkKIAkJCXhsb2coTF9FUlJPUiwgInNldHNvY2tvcHQgZmFpbGVkOiAlc1xuIiwgc3RyZXJy
b3IoZXJybm8pKTsK
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88652</attachid>
            <date>2006-06-08 02:28 0000</date>
            <desc>nfs-utils-1.0.8-heimdal.patch</desc>
            <filename>nfs-utils-1.0.8-heimdal.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIG5mcy11dGlscy0xLjAuOC9jb25maWd1cmUuaW5+CTIwMDYtMDUtMDUgMTk6NTU6MTIuMDAw
MDAwMDAwICswMjAwCisrKyBuZnMtdXRpbHMtMS4wLjgvY29uZmlndXJlLmluCTIwMDYtMDUtMDUg
MTk6NTc6MTEuMDAwMDAwMDAwICswMjAwCkBAIC0xNTcsNyArMTU3LDggQEAKICAgICAgICB2YXJp
YWJsZSBQS0dfQ09ORklHX1BBVEggdG8gL3Vzci9sb2NhbC9saWIvcGtnY29uZmlnXSkKICAgICAg
IF0KICAgICAgKQotICAgIFBLR19DSEVDS19NT0RVTEVTKFtHU1NBUEldLCBbbGliZ3NzYXBpID49
IDAuOV0pCisgICAgQUNfQ0hFQ0tfTElCKGdzc2FwaSwgbWFpbiwgW0dTU0FQSV9MSUJTPSItbGdz
c2FwaSJdLCBbQUNfTVNHX0VSUk9SKFtVbmFibGUgdG8gbG9jYXRlIGxpYmdzc2FwaV0pXSkKKyAg
ICBBQ19TVUJTVChHU1NBUElfTElCUykKICAgICBmaQogCiBmaQpkaWZmIC11ck4gbmZzLXV0aWxz
LTEuMC43Lm9yZy91dGlscy9nc3NkL2NvbnRleHRfaGVpbWRhbC5jIG5mcy11dGlscy0xLjAuNy91
dGlscy9nc3NkL2NvbnRleHRfaGVpbWRhbC5jCi0tLSBuZnMtdXRpbHMtMS4wLjcub3JnL3V0aWxz
L2dzc2QvY29udGV4dF9oZWltZGFsLmMJMjAwNS0wNy0xMCAxMjoxNDowMS41MjY4NjcwMDAgKzAy
MDAKKysrIG5mcy11dGlscy0xLjAuNy91dGlscy9nc3NkL2NvbnRleHRfaGVpbWRhbC5jCTIwMDUt
MDctMTAgMTI6MTQ6MzIuODE1MTEwNzM2ICswMjAwCkBAIC00Niw2ICs0NiwyMCBAQAogI2luY2x1
ZGUgImdzc19vaWRzLmgiCiAjaW5jbHVkZSAid3JpdGVfYnl0ZXMuaCIKIAordHlwZWRlZiBzdHJ1
Y3QgZ3NzX2N0eF9pZF90X2Rlc2Nfc3RydWN0IHsKKyAgc3RydWN0IGtyYjVfYXV0aF9jb250ZXh0
X2RhdGEgKmF1dGhfY29udGV4dDsKKyAgZ3NzX25hbWVfdCBzb3VyY2UsIHRhcmdldDsKKyAgT01f
dWludDMyIGZsYWdzOworICBlbnVtIHsgTE9DQUwgPSAxLCBPUEVOID0gMiwKKyAgICAgICAgIENP
TVBBVF9PTERfREVTMyA9IDQsCisgICAgICAgICBDT01QQVRfT0xEX0RFUzNfU0VMRUNURUQgPSA4
LAorICB9IG1vcmVfZmxhZ3M7CisgIHN0cnVjdCBrcmI1X3RpY2tldCAqdGlja2V0OworICBPTV91
aW50MzIgbGlmZXRpbWU7CisgIHB0aHJlYWRfbXV0ZXhfdCBjdHhfaWRfbXV0ZXg7CisgIHN0cnVj
dCBnc3NfbXNnX29yZGVyICpvcmRlcjsKK30gZ3NzX2N0eF9pZF90X2Rlc2M7CisKICNkZWZpbmUg
TUFYX0NUWF9MRU4gNDA5NgogCiBpbnQgd3JpdGVfaGVpbWRhbF9rZXlibG9jayhjaGFyICoqcCwg
Y2hhciAqZW5kLCBrcmI1X2tleWJsb2NrICprZXkpCg==
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88653</attachid>
            <date>2006-06-08 02:29 0000</date>
            <desc>nfs-utils-1.0.8-nolibs.patch</desc>
            <filename>nfs-utils-1.0.8-nolibs.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIG5mcy11dGlscy0xLjAuNy9jb25maWd1cmUuaW4ub3JpZwkyMDA0LTEyLTE3IDA1OjA5OjA5
LjAwMDAwMDAwMCArMDEwMAorKysgbmZzLXV0aWxzLTEuMC43L2NvbmZpZ3VyZS5pbgkyMDA0LTEy
LTIyIDEzOjI4OjA2LjAwMDAwMDAwMCArMDEwMApAQCAtMTEzLDggKzExMyw4IEBACiBkbmwgKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KgogZG5sICogQ2hlY2sgZm9yIHJlcXVpcmVkIGxpYnJhcnVlcwogZG5sICoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLUFDX0NIRUNL
X0xJQihzb2NrZXQsIG1haW4sIFtMSUJTT0NLRVQ9Ii1sbnNsIl0pCi1BQ19DSEVDS19MSUIobnNs
LCBtYWluLAlbTElCTlNMPSItbG5zbCJdKQorQUNfQ0hFQ0tfRlVOQyhzb2NrZXQsIFtMSUJTT0NL
RVQ9IiJdLCBbQUNfQ0hFQ0tfTElCKHNvY2tldCwgbWFpbiwgW0xJQlNPQ0tFVD0iLWxzb2NrZXQi
XSldKQorQUNfQ0hFQ0tfRlVOQyhnZXRob3N0YnluYW1lLCBbTElCTlNMPSIiXSwgW0FDX0NIRUNL
X0xJQihuc2wsIG1haW4sIFtMSUJOU0w9Ii1sbnNsIl0pXSkKIEFDX0NIRUNLX0xJQihjcnlwdCwg
Y3J5cHQsIFtMSUJDUllQVD0iLWxjcnlwdCJdKQogaWYgdGVzdCAiJGVuYWJsZV9uZnN2NCIgPSB5
ZXM7IHRoZW4KICAgICBBQ19DSEVDS19MSUIoZXZlbnQsIGV2ZW50X2Rpc3BhdGNoLCAsIFtBQ19N
U0dfRVJST1IobGliZXZlbnQgbmVlZGVkIGZvciBuZnN2NCBzdXBwb3J0KV0pCkBAIC0xMjMsNyAr
MTIzLDcgQEAKICAgICBBQ19DSEVDS19IRUFERVJTKG5mc2lkbWFwLmgsICxbQUNfTVNHX0VSUk9S
KGxpYm5mc2lkbWFwIG5lZWRlZCBmb3IgbmZzdjQgc3VwcG9ydCldKQogZmkKIGlmIHRlc3QgIiRr
bmZzZF9jdl9nbGliYzIiID0gbm87IHRoZW4KLSAgICBBQ19DSEVDS19MSUIoYnNkLCBkYWVtb24s
IFtMSUJCU0Q9Ii1sYnNkIl0pCisgICAgQUNfQ0hFQ0tfRlVOQyhkYWVtb24sICwgW0FDX0NIRUNL
X0xJQihic2QsIGRhZW1vbiwgW0xJQkJTRD0iLWxic2QiXSldKQogZmkKIEFDX1NVQlNUKExJQlNP
Q0tFVCkKIEFDX1NVQlNUKExJQk5TTCkK
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>88654</attachid>
            <date>2006-06-08 02:31 0000</date>
            <desc>nfs-utils-1.0.8.ebuild</desc>
            <filename>nfs-utils-1.0.8.ebuild</filename>
            <type>text/plain</type>
            <data encoding="base64">IyBDb3B5cmlnaHQgMTk5OS0yMDA2IEdlbnRvbyBGb3VuZGF0aW9uCiMgRGlzdHJpYnV0ZWQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MgojICRIZWFk
ZXI6IC92YXIvY3Zzcm9vdC9nZW50b28teDg2L25ldC1mcy9uZnMtdXRpbHMvbmZzLXV0aWxzLTEu
MC43LXIyLmVidWlsZCx2IDEuNCAyMDA2LzAzLzA5IDAwOjQzOjQwIHZhcGllciBFeHAgJAoKaW5o
ZXJpdCBldXRpbHMgZmxhZy1vLW1hdGljIGF1dG90b29scyBsaWJ0b29sCgpERVNDUklQVElPTj0i
TkZTIGNsaWVudCBhbmQgc2VydmVyIGRhZW1vbnMiCkhPTUVQQUdFPSJodHRwOi8vbmZzLnNvdXJj
ZWZvcmdlLm5ldC8iClNSQ19VUkk9Im1pcnJvcjovL3NvdXJjZWZvcmdlL25mcy8ke1B9LnRhci5n
eiIKCkxJQ0VOU0U9IkdQTC0yIgpTTE9UPSIwIgpLRVlXT1JEUz0ifmFscGhhIH5hbWQ2NCB+YXJt
IH5ocHBhIH5pYTY0IH5taXBzIH5wcGMgfnBwYzY0IH5zMzkwIH5zcGFyYyB+eDg2IgpJVVNFPSJu
b25mc3Y0IHRjcGQga2VyYmVyb3MiCgpBVF9HTlVDT05GX1VQREFURT1ubwoKIyBrdGgta3JiIGRv
ZXNuJ3QgcHJvdmlkZSB0aGUgcmlnaHQgaW5jbHVkZQojIGZpbGVzLCBhbmQgbmZzLXV0aWxzIGRv
ZXNuJ3QgYnVpbGQgYWdhaW5zdCBoZWltZGFsIGVpdGhlciwgCiMgc28gZG9uJ3QgZGVwZW5kIG9u
IHZpcnR1YWwva3JiLgojICgwNCBGZWIgMjAwNSBhZ3JpZmZpcykKUkRFUEVORD0idGNwZD8gKCBz
eXMtYXBwcy90Y3Atd3JhcHBlcnMgKQoJPj1uZXQtbmRzL3BvcnRtYXAtNWItcjYKCSFub25mc3Y0
PyAoCgkJPj1kZXYtbGlicy9saWJldmVudC0xLjBiCgkJPj1uZXQtbGlicy9saWJuZnNpZG1hcC0w
LjkKCQk+PWRldi1saWJzL2xpYnJwY3NlY2dzcy0wLjEwCgkpCglrZXJiZXJvcz8gKCB2aXJ0dWFs
L2tyYjUgKSIKREVQRU5EPSIke1JERVBFTkR9Cgk+PXN5cy1hcHBzL3BvcnRhZ2UtMi4wLjUxIgoK
c3JjX3VucGFjaygpIHsKCXVucGFjayAke0F9CgljZCAiJHtTfSIKCgkjIGdldHJwY2J5bnVtYmVy
X3IgaXMgbm90IGluIHRoZSBTdVN2MyBzcGVjLiBkaXNhYmxlIGl0IGZvciB1Q2xpYmMKCWVwYXRj
aCAiJHtGSUxFU0RJUn0iL25mcy11dGlscy0xLjAuNi11Y2xpYmMucGF0Y2gKCQoJZXBhdGNoICIk
e0ZJTEVTRElSfSIvJHtQfS1lZXByby1zdXBwb3J0LnBhdGNoCgllcGF0Y2ggIiR7RklMRVNESVJ9
Ii8ke1B9LW5vbGlicy5wYXRjaAoJZXBhdGNoICIke0ZJTEVTRElSfSIvJHtQfS1DSVRJX05GUzRf
QUxMLTIucGF0Y2gKCgllcGF0Y2ggIiR7RklMRVNESVJ9Ii8ke1B9LWhlaW1kYWwucGF0Y2gKCglz
ZWQgLWkgLWUgJ3MjbGlicm9rZW4uYSNsaWJyb2tlbi5zbyNnJyBhY2xvY2FsL2tlcmJlcm9zNS5t
NAkKIwlzZWQgLWkgLWUgJ3MjL2xpYi8jLyV7X2xpYn0vI2cnIGFjbG9jYWwva2VyYmVyb3M1Lm00
CglBVF9NNERJUj0iYWNsb2NhbCIgZWF1dG9yZWNvbmYKfQoKc3JjX2NvbXBpbGUoKSB7CgllY29u
ZiBcCgkJLS1tYW5kaXI9L3Vzci9zaGFyZS9tYW4gXAoJCS0td2l0aC1zdGF0ZWRpcj0vdmFyL2xp
Yi9uZnMgXAoJCS0tZGlzYWJsZS1ycXVvdGFkIFwKCQktLWVuYWJsZS1uZnN2MyBcCgkJLS1lbmFi
bGUtc2VjdXJlLXN0YXRkIFwKCQktLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2VyIFwKCQkkKHVz
ZV9lbmFibGUgIW5vbmZzdjQgbmZzdjQpIFwKCQkkKHVzZV9lbmFibGUga2VyYmVyb3MgZ3NzKSBc
CgkJJCh1c2Vfd2l0aCB0Y3BkIHRjcC13cmFwcGVycykgXAoJCXx8IGRpZSAiQ29uZmlndXJlIGZh
aWxlZCIKCgkjIHBhcmFsbGVsIG1ha2UgZmFpbHMgZm9yIGRlcGVuZCB0YXJnZXQKCWVtYWtlIHx8
IGRpZSAiRmFpbGVkIHRvIGNvbXBpbGUiCn0KCnNyY19pbnN0YWxsKCkgewoJbWFrZSBERVNURElS
PSIke0R9IiBpbnN0YWxsIHx8IGRpZQoKCSMgRG9uJ3Qgb3ZlcndyaXRlIGV4aXN0aW5nIHh0YWIv
ZXRhYiwgaW5zdGFsbCB0aGUgb3JpZ2luYWwKCSMgdmVyc2lvbnMgc29tZXdoZXJlIHNhZmUuLi4g
IG1vcmUgaW5mbyBpbiBwa2dfcG9zdGluc3QKCWRvZGlyIC91c3IvbGliL25mcwoJa2VlcGRpciAv
dmFyL2xpYi9uZnMve3NtLHNtLmJha30KCW12ICIke0R9Ii92YXIvbGliL25mcy8qICIke0R9Ii91
c3IvbGliL25mcwoJa2VlcGRpciAvdmFyL2xpYi9uZnMKCgkjIEluc3RhbGwgc29tZSBjbGllbnQt
c2lkZSBiaW5hcmllcyBpbiAvc2JpbgoJZG9kaXIgL3NiaW4KCW12ICIke0R9Ii91c3Ivc2Jpbi9y
cGMue2xvY2tkLHN0YXRkfSAiJHtEfSIvc2Jpbi8KCglkb2RvYyBDaGFuZ2VMb2cgUkVBRE1FCglk
b2NpbnRvIGxpbnV4LW5mcyA7IGRvZG9jIGxpbnV4LW5mcy8qCgoJaW5zaW50byAvZXRjCglkb2lu
cyAiJHtGSUxFU0RJUn0iL2V4cG9ydHMKCXVzZSAhbm9uZnN2NCAmJiBkb2lucyB1dGlscy9pZG1h
cGQvaWRtYXBkLmNvbmYKCXVzZSBrZXJiZXJvcyAmJiBuZXdpbnMgc3VwcG9ydC9nc3NhcGkvU0FN
UExFX2dzc2FwaV9tZWNoLmNvbmYKCglkb2luaXRkICIke0ZJTEVTRElSfSIvbmZzICIke0ZJTEVT
RElSfSIvbmZzbW91bnQKCW5ld2NvbmZkICIke0ZJTEVTRElSfSIvbmZzLmNvbmZkIG5mcwoKCSMg
dUNsaWJjIGRvZXNuJ3QgcHJvdmlkZSBycGNnZW4gbGlrZSBnbGliYywgc28gbGV0cyBzdGVhbCBp
dCBmcm9tIG5mcy11dGlscwoJaWYgISB1c2UgZWxpYmNfZ2xpYmMgOyB0aGVuCgkJZG9iaW4gdG9v
bHMvcnBjZ2VuL3JwY2dlbiB8fCBkaWUgInJwY2dlbiIKCQluZXdkb2MgdG9vbHMvcnBjZ2VuL1JF
QURNRSBSRUFETUUucnBjZ2VuCglmaQp9Cgpwa2dfcHJlaW5zdCgpIHsKCWlmIFtbIC1zICR7Uk9P
VH0vZXRjL2V4cG9ydHMgXV0gOyB0aGVuCgkJcm0gLWYgIiR7SU1BR0V9Ii9ldGMvZXhwb3J0cwoJ
ZmkKfQoKcGtnX3Bvc3RpbnN0KCkgewoJIyBJbnN0YWxsIGRlZmF1bHQgeHRhYiBhbmQgZnJpZW5k
cyBpZiB0aGVyZSdzIG5vbmUgZXhpc3RpbmcuCgkjIEluIHNyY19pbnN0YWxsIHdlIHB1dCB0aGVt
IGluIC91c3IvbGliL25mcyBmb3Igc2FmZS1rZWVwaW5nLCBidXQKCSMgdGhlIGRhZW1vbnMgYWN0
dWFsbHkgdXNlIHRoZSBmaWxlcyBpbiAvdmFyL2xpYi9uZnMuICBUaGlzIGZpeGVzCgkjIGJ1ZyAz
MDQ4NgoJbG9jYWwgZgoJZm9yIGYgaW4gIiR7Uk9PVH0iL3Vzci9saWIvbmZzLyo7IGRvCgkJW1sg
LWYgJHtST09UfS92YXIvbGliL25mcy8ke2YjIyovfSBdXSAmJiBjb250aW51ZQoJCWVpbmZvICJD
b3B5aW5nIGRlZmF1bHQgJHtmIyMqL30gZnJvbSAvdXNyL2xpYi9uZnMgdG8gL3Zhci9saWIvbmZz
IgoJCWNwIC1wUFIgJHtmfSAiJHtST09UfSIvdmFyL2xpYi9uZnMvCglkb25lCn0K
</data>        

          </attachment>
    </bug>

</bugzilla>