<?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>204362</bug_id>
          
          <creation_ts>2008-01-05 01:31 0000</creation_ts>
          <short_desc>x11-base/xorg-server|x11-libs/libXfont Multiple vulnerabilities (CVE-2007-{5760,5958,6427,6428,6429}CVE-2008-0006)</short_desc>
          <delta_ts>2008-01-21 23:03:53 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Security</product>
          <component>Vulnerabilities</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          <bug_file_loc>http://lists.freedesktop.org/archives/xorg/2008-January/031918.html</bug_file_loc>
          <status_whiteboard>A1 [glsa]</status_whiteboard>
          
          <priority>P2</priority>
          <bug_severity>critical</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>206490</dependson>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>rbu@gentoo.org</reporter>
          <assigned_to>security@gentoo.org</assigned_to>
          <cc>arm@gentoo.org</cc>
    
    <cc>lars@chaotika.org</cc>
    
    <cc>mips@gentoo.org</cc>
    
    <cc>s390@gentoo.org</cc>
    
    <cc>x11@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>rbu@gentoo.org</who>
            <bug_when>2008-01-05 01:31:44 0000</bug_when>
            <thetext>Multiple vulnerabilities were reported in X.Org Server. 

CVE-2007-5958:
  xorg does not enforce restrictions when a user specifies a security policy,
  allowing for disclosure of the existence of a file (and an attempt to open it)

CVE-2007-5760:
  Invalid array index vulnerability in the XFree86-Misc extension when
  processing PassMessage requests, leading to arbitrary code execution.

CVE-2007-6427:
  Heap memory corruption vulnerability in various functions within
  the XInput extension.

CVE-2007-6428:
  Failure to sanitize an index value, leading to arbitrary memory access in
  the ProcGetReservedColormapEntries() function in the TOG-CUP extension.

CVE-2007-6429:
  Integer overflow in the ProcEVIGetVisualInfo() function in the EVI extension
  and in the VERIFY_SHMSIZE macro in the MIT-SHM extension leading to buffer
  overflows</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>rbu@gentoo.org</who>
            <bug_when>2008-01-05 01:35:13 0000</bug_when>
            <thetext>Donnie, I&apos;ll be attaching patches to this bug in a moment.
Please prepare updated ebuilds (at least for our stable 1.3) and attach them to this bug. Do not commit anything yet as these vulnerabilities are under embargo until Jan. 8 (delay was requested).</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>rbu@gentoo.org</who>
            <bug_when>2008-01-05 01:37:48 0000</bug_when>
            <thetext>Created an attachment (id=140148)
1.4-security-204362.patch

Upstream proposed patch</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>rbu@gentoo.org</who>
            <bug_when>2008-01-05 01:38:50 0000</bug_when>
            <thetext>Created an attachment (id=140149)
1.3.0.0-security-204362.patch

Backported version for 1.3.0.0 -- mostly declarations were changed, please check though.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jaervosz@gentoo.org</who>
            <bug_when>2008-01-06 08:52:03 0000</bug_when>
            <thetext>Delay accepted by upstream.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dberkholz@gentoo.org</who>
            <bug_when>2008-01-07 23:01:51 0000</bug_when>
            <thetext>I&apos;ll post ebuilds in the next couple of days. In case someone else wants to do it before I get to it, my plan is to add individual patches, one for each vuln, to the PATCHES variable of the ebuild. I&apos;ll make a 1.3.0.0-r3 and 1.4.0.90-r1. xorg-server-1.2 will not be supported anymore.

Just FYI, I follow upstream xorg security bugs so I have most of the info.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dberkholz@gentoo.org</who>
            <bug_when>2008-01-11 19:09:58 0000</bug_when>
            <thetext>Created an attachment (id=140734)
Tarred up x11-base/xorg-server/

Unpack this in the base of your overlay.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>rbu@gentoo.org</who>
            <bug_when>2008-01-11 23:11:22 0000</bug_when>
            <thetext>Arch Security Liaisons, please test the attached ebuild and report it stable on this bug.
Target keywords : &quot;alpha amd64 arm hppa ia64 mips ppc ppc64 sh sparc x86&quot;

CC&apos;ing current Liaisons:
  alpha : ferdy
  amd64 : welp
   hppa : jer
    ppc : dertobi123
  ppc64 : corsair
  sparc : fmccor
    x86 : opfer
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>fmccor@gentoo.org</who>
            <bug_when>2008-01-12 00:39:32 0000</bug_when>
            <thetext>So that you know, I probably can&apos;t get to this before Monday because to test X things like this (the server) I need to be physically where the system I use for testing is.  I doubt that will be possible before the 14th.

fmccor for sparc.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>rbu@gentoo.org</who>
            <bug_when>2008-01-12 01:13:48 0000</bug_when>
            <thetext>(In reply to comment #8)
&gt; So that you know, I probably can&apos;t get to this before Monday

Not a problem, we have a buffer till Thursday, 17th currently. Thanks for notifying.

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>fauli@gentoo.org</who>
            <bug_when>2008-01-12 12:32:31 0000</bug_when>
            <thetext>Good to go on x86 (tested 1.3).</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jer@gentoo.org</who>
            <bug_when>2008-01-12 16:59:20 0000</bug_when>
            <thetext>1.3 is OK for HPPA.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>corsair@gentoo.org</who>
            <bug_when>2008-01-12 21:27:23 0000</bug_when>
            <thetext>looks good on ppc64</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>fmccor@gentoo.org</who>
            <bug_when>2008-01-14 13:34:59 0000</bug_when>
            <thetext>x11-base/xorg-server-1.3.0.0-r3 good on sparc.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>armin76@gentoo.org</who>
            <bug_when>2008-01-14 18:43:45 0000</bug_when>
            <thetext>Adding Tobias (Blackb|rd) for alpha</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dertobi123@gentoo.org</who>
            <bug_when>2008-01-14 21:19:00 0000</bug_when>
            <thetext>Looks good on ppc</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>armin76@gentoo.org</who>
            <bug_when>2008-01-14 21:43:46 0000</bug_when>
            <thetext>Tobias says it looks fine on alpha.

I say it looks fine on ia64.

1.3, that is.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>rbu@gentoo.org</who>
            <bug_when>2008-01-15 16:22:00 0000</bug_when>
            <thetext>amd64 -- 1.3.0.0-r3 looks good here.

We have all security-relevant stable keywords:
  &quot;alpha amd64 hppa ia64 ppc ppc64 sparc x86&quot;
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>falco@gentoo.org</who>
            <bug_when>2008-01-17 14:13:35 0000</bug_when>
            <thetext>Hi arches, (i&apos;m back :) )

The confidential delay has expired. It&apos;s public from now.



Donnie, or X11 maintainers, could you commit the stuff please, thanks. The GLSA is ready. You did good work, thanks.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dberkholz@gentoo.org</who>
            <bug_when>2008-01-17 18:46:11 0000</bug_when>
            <thetext>(In reply to comment #18)
&gt; Donnie, or X11 maintainers, could you commit the stuff please, thanks. The GLSA
&gt; is ready. You did good work, thanks.

Working on it. We missed a libXfont patch, so we&apos;ll need to re-add arches once I get that in. It will be a few hours.
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dberkholz@gentoo.org</who>
            <bug_when>2008-01-17 18:55:50 0000</bug_when>
            <thetext>libXfont 1.3.1-r1 is in the tree, targeted for stable. Please re-add arches to get it there.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jaervosz@gentoo.org</who>
            <bug_when>2008-01-17 20:11:38 0000</bug_when>
            <thetext>Thx Donnie.

Arches please test and mark stable. Target keywords are:

libXfont-1.3.1-r1.ebuild:KEYWORDS=&quot;alpha amd64 arm hppa ia64 m68k mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd&quot;

Adding CVE-2008-0006 for the libXfont issue.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>maekke@gentoo.org</who>
            <bug_when>2008-01-17 20:49:57 0000</bug_when>
            <thetext>x86 stable</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jonas@chown.dk</who>
            <bug_when>2008-01-17 21:23:38 0000</bug_when>
            <thetext>x11-libs/libXfont-1.3.1-r1  USE=&quot;ipv6 -debug&quot;

1. Emerges on AMD64. 
2. No collisions etc. 
3. Works. XOrg still works after upgrade. 

Portage 2.1.3.19 (default-linux/amd64/2007.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.23-gentoo-r3 x86_64)
=================================================================
System uname: 2.6.23-gentoo-r3 x86_64 Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz
Timestamp of tree: Fri, 11 Jan 2008 22:46:01 +0000
distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p17-r1
dev-java/java-config: 1.3.7, 2.0.33-r1
dev-lang/python:     2.4.4-r6
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.10-r5
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.23-r2
ACCEPT_KEYWORDS=&quot;amd64&quot;
CBUILD=&quot;x86_64-pc-linux-gnu&quot;
CFLAGS=&quot;-march=nocona -Os -msse3 -pipe -fomit-frame-pointer&quot;
CHOST=&quot;x86_64-pc-linux-gnu&quot;
CONFIG_PROTECT=&quot;/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config&quot;
CONFIG_PROTECT_MASK=&quot;/etc/env.d /etc/env.d/java/ /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/udev/rules.d&quot;
CXXFLAGS=&quot;-march=nocona -Os -msse3 -pipe -fomit-frame-pointer&quot;
DISTDIR=&quot;/usr/portage/distfiles&quot;
FEATURES=&quot;ccache collision-protect distcc distlocks metadata-transfer multilib-strict parallel-fetch sandbox sfperms strict test unmerge-orphans userfetch&quot;
GENTOO_MIRRORS=&quot;http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://trumpetti.atm.tut.fi/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo http://ds.thn.htu.se/linux/gentoo&quot;
LC_ALL=&quot;en_DK.utf8&quot;
MAKEOPTS=&quot;-j6&quot;
PKGDIR=&quot;/usr/portage/packages&quot;
PORTAGE_RSYNC_OPTS=&quot;--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*&quot;
PORTAGE_TMPDIR=&quot;/var/tmp&quot;
PORTDIR=&quot;/usr/portage&quot;
PORTDIR_OVERLAY=&quot;/usr/portage/local/layman/php-testing /usr/portage/local/layman/mozilla /usr/portage/local/layman/kde /usr/local/portage&quot;
SYNC=&quot;rsync://rsync.europe.gentoo.org/gentoo-portage&quot;
USE=&quot;X a52 aac acl acpi aiglx alsa amd64 apache2 arts atk berkdb bitmap-fonts cairo cdr cli cracklib crypt cups dbus dga directfb dri dts dvd dvdr dvdread eds emboss encode evo fam fbcn ffmpeg firefox fortran ftp gd gdbm gif gphoto2 gpm gstreamer gtk hal iconv icq ieee1394 ipv6 isdnlog java jpeg kde kerberos live lm_sensors mad midi mikmod mjpeg mmx mozilla mp2 mp3 mpeg mplayer msn mudflap ncurses nls nptl nptlonly ogg oggvorbis opengl openmp pam pcre pda pdf perl png ppds pppd python qt qt3 qt3support qt4 quicktime readline reflection samba sdl session spell spl sse sse2 sse3 ssl svg tcpd test threads tiff truetype truetype-fonts type1-fonts unicode vorbis x264 xcomposite xml xorg xscreensaver xv xvid zlib&quot; ALSA_CARDS=&quot;ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci&quot; ALSA_PCM_PLUGINS=&quot;adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol&quot; APACHE2_MODULES=&quot;actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias&quot; ELIBC=&quot;glibc&quot; INPUT_DEVICES=&quot;keyboard mouse&quot; KERNEL=&quot;linux&quot; LCD_DEVICES=&quot;bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text&quot; USERLAND=&quot;GNU&quot; VIDEO_CARDS=&quot;radeon&quot;
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>ranger@gentoo.org</who>
            <bug_when>2008-01-18 01:38:57 0000</bug_when>
            <thetext>ppc64 done</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>fmccor@gentoo.org</who>
            <bug_when>2008-01-18 12:43:49 0000</bug_when>
            <thetext>libXfont-1.3.1-r1 stable on sparc, and we are done.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>armin76@gentoo.org</who>
            <bug_when>2008-01-18 12:46:51 0000</bug_when>
            <thetext>alpha/ia64 stable</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dertobi123@gentoo.org</who>
            <bug_when>2008-01-18 20:18:56 0000</bug_when>
            <thetext>ppc stable</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jaervosz@gentoo.org</who>
            <bug_when>2008-01-18 20:38:55 0000</bug_when>
            <thetext>Seems like the patch introduced a regression with xine-ui, vlc and others. Back to ebuild for now.

http://gitweb.freedesktop.org/?p=xorg/xserver.git;a=commitdiff;h=e9fa7c1c88a8130a48f772c92b186b8b777986b5

Donnie please verify and update patches accordingly. Sorry for the extra work.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dberkholz@gentoo.org</who>
            <bug_when>2008-01-18 21:33:47 0000</bug_when>
            <thetext>I just revbumped, maintaining the same keywords as in the original security-marked revisions since this is a small modification to that.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jaervosz@gentoo.org</who>
            <bug_when>2008-01-18 22:07:34 0000</bug_when>
            <thetext>Thx for the quick fix Donnie. Back to stable marking.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jaervosz@gentoo.org</who>
            <bug_when>2008-01-18 22:28:36 0000</bug_when>
            <thetext>And now even with arches CC&apos;ed :)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jer@gentoo.org</who>
            <bug_when>2008-01-19 06:17:01 0000</bug_when>
            <thetext>Stable for HPPA.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jakub@gentoo.org</who>
            <bug_when>2008-01-19 14:17:00 0000</bug_when>
            <thetext>*** Bug 206633 has been marked as a duplicate of this bug. ***</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>rbu@gentoo.org</who>
            <bug_when>2008-01-20 18:18:04 0000</bug_when>
            <thetext>libXfont-1.3.1-r1.ebuild: amd64 stable

Let&apos;s get the GLSA out.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>rbu@gentoo.org</who>
            <bug_when>2008-01-20 21:41:22 0000</bug_when>
            <thetext>GLSA 200801-09, thanks.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>something-bz@sodium.serveirc.com</who>
            <bug_when>2008-01-21 22:23:53 0000</bug_when>
            <thetext>Failed to update libXfont for me, probably because it was typoed as libxfont. According to glsa-check --dump 200801-09:

...
Affected package:  x11-libs/libxfont
Affected archs:    All
Vulnerable:        &lt;1.3.1-r1
Unaffected:        &gt;=1.3.1-r1
...</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>rbu@gentoo.org</who>
            <bug_when>2008-01-21 23:03:53 0000</bug_when>
            <thetext>(In reply to comment #36)
&gt; Failed to update libXfont for me, probably because it was typoed as libxfont.
&gt; According to glsa-check --dump 200801-09:

Sorry, the error is fixed in CVS, please emerge --sync.
I don&apos;t think this warrants an errata mail, as the &quot;Resolution&quot; section was correct and the affected/unaffected section is mostly used by automated tools, which will get the updated XML.</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140148</attachid>
            <date>2008-01-05 01:37 0000</date>
            <desc>1.4-security-204362.patch</desc>
            <filename>1.4-security-204362.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">ZGlmZiAtLWdpdCBhL1hleHQvRVZJLmMgYi9YZXh0L0VWSS5jCmluZGV4IDhmZTM0ODEuLjEzYmQz
MmEgMTAwNjQ0Ci0tLSBhL1hleHQvRVZJLmMKKysrIGIvWGV4dC9FVkkuYwpAQCAtMzQsNiArMzQs
NyBAQCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCiAjaW5jbHVkZSA8
WDExL2V4dGVuc2lvbnMvWEVWSXN0ci5oPgogI2luY2x1ZGUgIkVWSXN0cnVjdC5oIgogI2luY2x1
ZGUgIm1vZGluaXQuaCIKKyNpbmNsdWRlICJzY3JuaW50c3RyLmgiCiAKICNpZiAwCiBzdGF0aWMg
dW5zaWduZWQgY2hhciBYRVZJUmVxQ29kZSA9IDA7CkBAIC04NywxMCArODgsMjIgQEAgUHJvY0VW
SUdldFZpc3VhbEluZm8oQ2xpZW50UHRyIGNsaWVudCkKIHsKICAgICBSRVFVRVNUKHhFVklHZXRW
aXN1YWxJbmZvUmVxKTsKICAgICB4RVZJR2V0VmlzdWFsSW5mb1JlcGx5IHJlcDsKLSAgICBpbnQg
biwgbl9jb25mbGljdCwgbl9pbmZvLCBzel9pbmZvLCBzel9jb25mbGljdDsKKyAgICBpbnQgaSwg
biwgbl9jb25mbGljdCwgbl9pbmZvLCBzel9pbmZvLCBzel9jb25mbGljdDsKICAgICBWaXN1YWxJ
RDMyICpjb25mbGljdDsKKyAgICB1bnNpZ25lZCBpbnQgdG90YWxfdmlzdWFscyA9IDA7CiAgICAg
eEV4dGVuZGVkVmlzdWFsSW5mbyAqZXZpSW5mbzsKICAgICBpbnQgc3RhdHVzOworCisgICAgLyoK
KyAgICAgKiBkbyB0aGlzIGZpcnN0LCBvdGhlcndpc2UgUkVRVUVTVF9GSVhFRF9TSVpFIGNhbiBv
dmVyZmxvdy4gIHdlIGFzc3VtZQorICAgICAqIGhlcmUgdGhhdCB5b3UgZG9uJ3QgaGF2ZSBtb3Jl
IHRoYW4gMl4zMiB2aXN1YWxzIG92ZXIgYWxsIHlvdXIgc2NyZWVuczsKKyAgICAgKiB0aGlzIHNl
ZW1zIGxpa2UgYSBzYWZlIGFzc3VtcHRpb24uCisgICAgICovCisgICAgZm9yIChpID0gMDsgaSA8
IHNjcmVlbkluZm8ubnVtU2NyZWVuczsgaSsrKQorCXRvdGFsX3Zpc3VhbHMgKz0gc2NyZWVuSW5m
by5zY3JlZW5zW2ldLT5udW1WaXN1YWxzOworICAgIGlmIChzdHVmZi0+bl92aXN1YWwgPiB0b3Rh
bF92aXN1YWxzKQorCXJldHVybiBCYWRWYWx1ZTsKKwogICAgIFJFUVVFU1RfRklYRURfU0laRSh4
RVZJR2V0VmlzdWFsSW5mb1JlcSwgc3R1ZmYtPm5fdmlzdWFsICogc3pfVmlzdWFsSUQzMik7CiAg
ICAgc3RhdHVzID0gZXZpUHJpdi0+Z2V0VmlzdWFsSW5mbygoVmlzdWFsSUQzMiAqKSZzdHVmZlsx
XSwgKGludClzdHVmZi0+bl92aXN1YWwsCiAJCSZldmlJbmZvLCAmbl9pbmZvLCAmY29uZmxpY3Qs
ICZuX2NvbmZsaWN0KTsKZGlmZiAtLWdpdCBhL1hleHQvY3VwLmMgYi9YZXh0L2N1cC5jCmluZGV4
IDZiZmEyNzguLjc4MWI5Y2UgMTAwNjQ0Ci0tLSBhL1hleHQvY3VwLmMKKysrIGIvWGV4dC9jdXAu
YwpAQCAtMTk2LDYgKzE5Niw5IEBAIGludCBQcm9jR2V0UmVzZXJ2ZWRDb2xvcm1hcEVudHJpZXMo
CiAKICAgICBSRVFVRVNUX1NJWkVfTUFUQ0ggKHhYY3VwR2V0UmVzZXJ2ZWRDb2xvcm1hcEVudHJp
ZXNSZXEpOwogCisgICAgaWYgKHN0dWZmLT5zY3JlZW4gPj0gc2NyZWVuSW5mby5udW1TY3JlZW5z
KQorCXJldHVybiBCYWRWYWx1ZTsKKwogI2lmbmRlZiBIQVZFX1NQRUNJQUxfREVTS1RPUF9DT0xP
UlMKICAgICBjaXRlbXNbQ1VQX0JMQUNLX1BJWEVMXS5waXhlbCA9IAogCXNjcmVlbkluZm8uc2Ny
ZWVuc1tzdHVmZi0+c2NyZWVuXS0+YmxhY2tQaXhlbDsKZGlmZiAtLWdpdCBhL1hleHQvc2FtcGxl
RVZJLmMgYi9YZXh0L3NhbXBsZUVWSS5jCmluZGV4IDc1MDhhYTcuLmI4ZjM5YzcgMTAwNjQ0Ci0t
LSBhL1hleHQvc2FtcGxlRVZJLmMKKysrIGIvWGV4dC9zYW1wbGVFVkkuYwpAQCAtMzQsNiArMzQs
MTMgQEAgVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgogI2luY2x1ZGUg
PFgxMS9leHRlbnNpb25zL1hFVklzdHIuaD4KICNpbmNsdWRlICJFVklzdHJ1Y3QuaCIKICNpbmNs
dWRlICJzY3JuaW50c3RyLmgiCisKKyNpZiBIQVZFX1NURElOVF9ICisjaW5jbHVkZSA8c3RkaW50
Lmg+CisjZWxpZiAhZGVmaW5lZChJTlRfTUFYKQorI2RlZmluZSBJTlRfTUFYIDB4N2ZmZmZmZmYK
KyNlbmRpZgorCiBzdGF0aWMgaW50IHNhbXBsZUdldFZpc3VhbEluZm8oCiAgICAgVmlzdWFsSUQz
MiAqdmlzdWFsLAogICAgIGludCBuX3Zpc3VhbCwKQEAgLTQyLDI0ICs0OSwzNiBAQCBzdGF0aWMg
aW50IHNhbXBsZUdldFZpc3VhbEluZm8oCiAgICAgVmlzdWFsSUQzMiAqKmNvbmZsaWN0X3JuLAog
ICAgIGludCAqbl9jb25mbGljdF9ybikKIHsKLSAgICBpbnQgbWF4X3N6X2V2aSA9IG5fdmlzdWFs
ICogc3pfeEV4dGVuZGVkVmlzdWFsSW5mbyAqIHNjcmVlbkluZm8ubnVtU2NyZWVuczsKKyAgICB1
bnNpZ25lZCBpbnQgbWF4X3N6X2V2aTsKICAgICBWaXN1YWxJRDMyICp0ZW1wX2NvbmZsaWN0Owog
ICAgIHhFeHRlbmRlZFZpc3VhbEluZm8gKmV2aTsKLSAgICBpbnQgbWF4X3Zpc3VhbHMgPSAwLCBt
YXhfc3pfY29uZmxpY3QsIHN6X2NvbmZsaWN0ID0gMDsKKyAgICB1bnNpZ25lZCBpbnQgbWF4X3Zp
c3VhbHMgPSAwLCBtYXhfc3pfY29uZmxpY3QsIHN6X2NvbmZsaWN0ID0gMDsKICAgICByZWdpc3Rl
ciBpbnQgdmlzdWFsSSwgc2NySSwgc3pfZXZpID0gMCwgY29uZmxpY3RJLCBuX2NvbmZsaWN0Owot
ICAgICpldmlfcm4gPSBldmkgPSAoeEV4dGVuZGVkVmlzdWFsSW5mbyAqKXhhbGxvYyhtYXhfc3pf
ZXZpKTsKLSAgICBpZiAoISpldmlfcm4pCi0gICAgICAgICByZXR1cm4gQmFkQWxsb2M7CisKKyAg
ICBpZiAobl92aXN1YWwgPiBVSU5UMzJfTUFYLyhzel94RXh0ZW5kZWRWaXN1YWxJbmZvICogc2Ny
ZWVuSW5mby5udW1TY3JlZW5zKSkKKwlyZXR1cm4gQmFkQWxsb2M7CisgICAgbWF4X3N6X2V2aSA9
IG5fdmlzdWFsICogc3pfeEV4dGVuZGVkVmlzdWFsSW5mbyAqIHNjcmVlbkluZm8ubnVtU2NyZWVu
czsKKyAgICAKICAgICBmb3IgKHNjckkgPSAwOyBzY3JJIDwgc2NyZWVuSW5mby5udW1TY3JlZW5z
OyBzY3JJKyspIHsKICAgICAgICAgaWYgKHNjcmVlbkluZm8uc2NyZWVuc1tzY3JJXS0+bnVtVmlz
dWFscyA+IG1heF92aXN1YWxzKQogICAgICAgICAgICAgbWF4X3Zpc3VhbHMgPSBzY3JlZW5JbmZv
LnNjcmVlbnNbc2NySV0tPm51bVZpc3VhbHM7CiAgICAgfQorCisgICAgaWYgKG5fdmlzdWFsID4g
VUlOVDMyX01BWC8oc3pfVmlzdWFsSUQzMiAqIHNjcmVlbkluZm8ubnVtU2NyZWVucyAKKwkJCSAg
ICAgICAqIG1heF92aXN1YWxzKSkgCisJcmV0dXJuIEJhZEFsbG9jOwogICAgIG1heF9zel9jb25m
bGljdCA9IG5fdmlzdWFsICogc3pfVmlzdWFsSUQzMiAqIHNjcmVlbkluZm8ubnVtU2NyZWVucyAq
IG1heF92aXN1YWxzOworCisgICAgKmV2aV9ybiA9IGV2aSA9ICh4RXh0ZW5kZWRWaXN1YWxJbmZv
ICopeGFsbG9jKG1heF9zel9ldmkpOworICAgIGlmICghKmV2aV9ybikKKyAgICAgICAgIHJldHVy
biBCYWRBbGxvYzsKKwogICAgIHRlbXBfY29uZmxpY3QgPSAoVmlzdWFsSUQzMiAqKXhhbGxvYyht
YXhfc3pfY29uZmxpY3QpOwogICAgIGlmICghdGVtcF9jb25mbGljdCkgewogICAgICAgICB4ZnJl
ZSgqZXZpX3JuKTsKICAgICAgICAgcmV0dXJuIEJhZEFsbG9jOwogICAgIH0KKwogICAgIGZvciAo
c2NySSA9IDA7IHNjckkgPCBzY3JlZW5JbmZvLm51bVNjcmVlbnM7IHNjckkrKykgewogICAgICAg
ICBmb3IgKHZpc3VhbEkgPSAwOyB2aXN1YWxJIDwgbl92aXN1YWw7IHZpc3VhbEkrKykgewogCSAg
ICBldmlbc3pfZXZpXS5jb3JlX3Zpc3VhbF9pZCA9IHZpc3VhbFt2aXN1YWxJXTsKZGlmZiAtLWdp
dCBhL1hleHQvc2VjdXJpdHkuYyBiL1hleHQvc2VjdXJpdHkuYwppbmRleCBiYTA1N2RlLi5lOWQ0
OGM5IDEwMDY0NAotLS0gYS9YZXh0L3NlY3VyaXR5LmMKKysrIGIvWGV4dC9zZWN1cml0eS5jCkBA
IC0xNTYzLDcgKzE1NjMsNyBAQCBTZWN1cml0eUxvYWRQcm9wZXJ0eUFjY2Vzc0xpc3Qodm9pZCkK
ICAgICBpZiAoIVNlY3VyaXR5UG9saWN5RmlsZSkKIAlyZXR1cm47CiAKLSAgICBmID0gZm9wZW4o
U2VjdXJpdHlQb2xpY3lGaWxlLCAiciIpOworICAgIGYgPSBGb3BlbihTZWN1cml0eVBvbGljeUZp
bGUsICJyIik7CiAgICAgaWYgKCFmKQogICAgIHsKIAlFcnJvckYoImVycm9yIG9wZW5pbmcgc2Vj
dXJpdHkgcG9saWN5IGZpbGUgJXNcbiIsCkBAIC0xNjQ2LDcgKzE2NDYsNyBAQCBTZWN1cml0eUxv
YWRQcm9wZXJ0eUFjY2Vzc0xpc3Qodm9pZCkKICAgICB9CiAjZW5kaWYgLyogUFJPUERFQlVHICov
CiAKLSAgICBmY2xvc2UoZik7CisgICAgRmNsb3NlKGYpOwogfSAvKiBTZWN1cml0eUxvYWRQcm9w
ZXJ0eUFjY2Vzc0xpc3QgKi8KIAogCmRpZmYgLS1naXQgYS9YZXh0L3NobS5jIGIvWGV4dC9zaG0u
YwppbmRleCBhYzU4N2JlLi41NjMzYmU5IDEwMDY0NAotLS0gYS9YZXh0L3NobS5jCisrKyBiL1hl
eHQvc2htLmMKQEAgLTcxMSw2ICs3MTEsOCBAQCBQcm9jUGFub3JhbWlYU2htQ3JlYXRlUGl4bWFw
KAogICAgIGludCBpLCBqLCByZXN1bHQsIHJjOwogICAgIFNobURlc2NQdHIgc2htZGVzYzsKICAg
ICBSRVFVRVNUKHhTaG1DcmVhdGVQaXhtYXBSZXEpOworICAgIHVuc2lnbmVkIGludCB3aWR0aCwg
aGVpZ2h0LCBkZXB0aDsKKyAgICB1bnNpZ25lZCBsb25nIHNpemU7CiAgICAgUGFub3JhbWlYUmVz
ICpuZXdQaXg7CiAKICAgICBSRVFVRVNUX1NJWkVfTUFUQ0goeFNobUNyZWF0ZVBpeG1hcFJlcSk7
CkBAIC03MjQsMTEgKzcyNiwyNiBAQCBQcm9jUGFub3JhbWlYU2htQ3JlYXRlUGl4bWFwKAogCXJl
dHVybiByYzsKIAogICAgIFZFUklGWV9TSE1QVFIoc3R1ZmYtPnNobXNlZywgc3R1ZmYtPm9mZnNl
dCwgVFJVRSwgc2htZGVzYywgY2xpZW50KTsKLSAgICBpZiAoIXN0dWZmLT53aWR0aCB8fCAhc3R1
ZmYtPmhlaWdodCkKKworICAgIHdpZHRoID0gc3R1ZmYtPndpZHRoOworICAgIGhlaWdodCA9IHN0
dWZmLT5oZWlnaHQ7CisgICAgZGVwdGggPSBzdHVmZi0+ZGVwdGg7CisgICAgaWYgKCF3aWR0aCB8
fCAhaGVpZ2h0IHx8ICFkZXB0aCkKICAgICB7CiAJY2xpZW50LT5lcnJvclZhbHVlID0gMDsKICAg
ICAgICAgcmV0dXJuIEJhZFZhbHVlOwogICAgIH0KKyAgICBpZiAod2lkdGggPiAzMjc2NyB8fCBo
ZWlnaHQgPiAzMjc2NykKKyAgICAgICAgcmV0dXJuIEJhZEFsbG9jOworICAgIHNpemUgPSBQaXht
YXBCeXRlUGFkKHdpZHRoLCBkZXB0aCkgKiBoZWlnaHQ7CisgICAgaWYgKHNpemVvZihzaXplKSA9
PSA0KSB7CisgICAgICAgIGlmIChzaXplIDwgd2lkdGggKiBoZWlnaHQpCisgICAgICAgICAgICBy
ZXR1cm4gQmFkQWxsb2M7CisgICAgICAgIC8qIHRoYW5rZnVsbHksIG9mZnNldCBpcyB1bnNpZ25l
ZCAqLworICAgICAgICBpZiAoc3R1ZmYtPm9mZnNldCArIHNpemUgPCBzaXplKQorICAgICAgICAg
ICAgcmV0dXJuIEJhZEFsbG9jOworICAgIH0KKwogICAgIGlmIChzdHVmZi0+ZGVwdGggIT0gMSkK
ICAgICB7CiAgICAgICAgIHBEZXB0aCA9IHBEcmF3LT5wU2NyZWVuLT5hbGxvd2VkRGVwdGhzOwpA
QCAtNzM5LDkgKzc1Niw3IEBAIFByb2NQYW5vcmFtaVhTaG1DcmVhdGVQaXhtYXAoCiAgICAgICAg
IHJldHVybiBCYWRWYWx1ZTsKICAgICB9CiBDcmVhdGVQbWFwOgotICAgIFZFUklGWV9TSE1TSVpF
KHNobWRlc2MsIHN0dWZmLT5vZmZzZXQsCi0JCSAgIFBpeG1hcEJ5dGVQYWQoc3R1ZmYtPndpZHRo
LCBzdHVmZi0+ZGVwdGgpICogc3R1ZmYtPmhlaWdodCwKLQkJICAgY2xpZW50KTsKKyAgICBWRVJJ
RllfU0hNU0laRShzaG1kZXNjLCBzdHVmZi0+b2Zmc2V0LCBzaXplLCBjbGllbnQpOwogCiAgICAg
aWYoIShuZXdQaXggPSAoUGFub3JhbWlYUmVzICopIHhhbGxvYyhzaXplb2YoUGFub3JhbWlYUmVz
KSkpKQogCXJldHVybiBCYWRBbGxvYzsKQEAgLTEwNDAsNiArMTA1NSw4IEBAIFByb2NTaG1DcmVh
dGVQaXhtYXAoY2xpZW50KQogICAgIHJlZ2lzdGVyIGludCBpLCByYzsKICAgICBTaG1EZXNjUHRy
IHNobWRlc2M7CiAgICAgUkVRVUVTVCh4U2htQ3JlYXRlUGl4bWFwUmVxKTsKKyAgICB1bnNpZ25l
ZCBpbnQgd2lkdGgsIGhlaWdodCwgZGVwdGg7CisgICAgdW5zaWduZWQgbG9uZyBzaXplOwogCiAg
ICAgUkVRVUVTVF9TSVpFX01BVENIKHhTaG1DcmVhdGVQaXhtYXBSZXEpOwogICAgIGNsaWVudC0+
ZXJyb3JWYWx1ZSA9IHN0dWZmLT5waWQ7CkBAIC0xMDUyLDExICsxMDY5LDI2IEBAIFByb2NTaG1D
cmVhdGVQaXhtYXAoY2xpZW50KQogCXJldHVybiByYzsKIAogICAgIFZFUklGWV9TSE1QVFIoc3R1
ZmYtPnNobXNlZywgc3R1ZmYtPm9mZnNldCwgVFJVRSwgc2htZGVzYywgY2xpZW50KTsKLSAgICBp
ZiAoIXN0dWZmLT53aWR0aCB8fCAhc3R1ZmYtPmhlaWdodCkKKyAgICAKKyAgICB3aWR0aCA9IHN0
dWZmLT53aWR0aDsKKyAgICBoZWlnaHQgPSBzdHVmZi0+aGVpZ2h0OworICAgIGRlcHRoID0gc3R1
ZmYtPmRlcHRoOworICAgIGlmICghd2lkdGggfHwgIWhlaWdodCB8fCAhZGVwdGgpCiAgICAgewog
CWNsaWVudC0+ZXJyb3JWYWx1ZSA9IDA7CiAgICAgICAgIHJldHVybiBCYWRWYWx1ZTsKICAgICB9
CisgICAgaWYgKHdpZHRoID4gMzI3NjcgfHwgaGVpZ2h0ID4gMzI3NjcpCisJcmV0dXJuIEJhZEFs
bG9jOworICAgIHNpemUgPSBQaXhtYXBCeXRlUGFkKHdpZHRoLCBkZXB0aCkgKiBoZWlnaHQ7Cisg
ICAgaWYgKHNpemVvZihzaXplKSA9PSA0KSB7CisJaWYgKHNpemUgPCB3aWR0aCAqIGhlaWdodCkK
KwkgICAgcmV0dXJuIEJhZEFsbG9jOworCS8qIHRoYW5rZnVsbHksIG9mZnNldCBpcyB1bnNpZ25l
ZCAqLworCWlmIChzdHVmZi0+b2Zmc2V0ICsgc2l6ZSA8IHNpemUpCisJICAgIHJldHVybiBCYWRB
bGxvYzsKKyAgICB9CisKICAgICBpZiAoc3R1ZmYtPmRlcHRoICE9IDEpCiAgICAgewogICAgICAg
ICBwRGVwdGggPSBwRHJhdy0+cFNjcmVlbi0+YWxsb3dlZERlcHRoczsKQEAgLTEwNjcsOSArMTA5
OSw3IEBAIFByb2NTaG1DcmVhdGVQaXhtYXAoY2xpZW50KQogICAgICAgICByZXR1cm4gQmFkVmFs
dWU7CiAgICAgfQogQ3JlYXRlUG1hcDoKLSAgICBWRVJJRllfU0hNU0laRShzaG1kZXNjLCBzdHVm
Zi0+b2Zmc2V0LAotCQkgICBQaXhtYXBCeXRlUGFkKHN0dWZmLT53aWR0aCwgc3R1ZmYtPmRlcHRo
KSAqIHN0dWZmLT5oZWlnaHQsCi0JCSAgIGNsaWVudCk7CisgICAgVkVSSUZZX1NITVNJWkUoc2ht
ZGVzYywgc3R1ZmYtPm9mZnNldCwgc2l6ZSwgY2xpZW50KTsKICAgICBwTWFwID0gKCpzaG1GdW5j
c1twRHJhdy0+cFNjcmVlbi0+bXlOdW1dLT5DcmVhdGVQaXhtYXApKAogCQkJICAgIHBEcmF3LT5w
U2NyZWVuLCBzdHVmZi0+d2lkdGgsCiAJCQkgICAgc3R1ZmYtPmhlaWdodCwgc3R1ZmYtPmRlcHRo
LApkaWZmIC0tZ2l0IGEvWGkvY2hnZmN0bC5jIGIvWGkvY2hnZmN0bC5jCmluZGV4IDJlMGUxM2Mu
LjIzNWQ2NTkgMTAwNjQ0Ci0tLSBhL1hpL2NoZ2ZjdGwuYworKysgYi9YaS9jaGdmY3RsLmMKQEAg
LTMyNywxOCArMzI3LDEzIEBAIENoYW5nZVN0cmluZ0ZlZWRiYWNrKENsaWVudFB0ciBjbGllbnQs
IERldmljZUludFB0ciBkZXYsCiAJCSAgICAgeFN0cmluZ0ZlZWRiYWNrQ3RsICogZikKIHsKICAg
ICBjaGFyIG47Ci0gICAgbG9uZyAqcDsKICAgICBpbnQgaSwgajsKICAgICBLZXlTeW0gKnN5bXMs
ICpzdXBfc3ltczsKIAogICAgIHN5bXMgPSAoS2V5U3ltICopIChmICsgMSk7CiAgICAgaWYgKGNs
aWVudC0+c3dhcHBlZCkgewogCXN3YXBzKCZmLT5sZW5ndGgsIG4pOwkvKiBzd2FwcGVkIG51bV9r
ZXlzeW1zIGluIGNhbGxpbmcgcHJvYyAqLwotCXAgPSAobG9uZyAqKShzeW1zKTsKLQlmb3IgKGkg
PSAwOyBpIDwgZi0+bnVtX2tleXN5bXM7IGkrKykgewotCSAgICBzd2FwbChwLCBuKTsKLQkgICAg
cCsrOwotCX0KKwlTd2FwTG9uZ3MoKENBUkQzMiAqKSBzeW1zLCBmLT5udW1fa2V5c3ltcyk7CiAg
ICAgfQogCiAgICAgaWYgKGYtPm51bV9rZXlzeW1zID4gcy0+Y3RybC5tYXhfc3ltYm9scykgewpk
aWZmIC0tZ2l0IGEvWGkvY2hna21hcC5jIGIvWGkvY2hna21hcC5jCmluZGV4IGVhYzUyMGYuLjc1
ZWU5ZjUgMTAwNjQ0Ci0tLSBhL1hpL2NoZ2ttYXAuYworKysgYi9YaS9jaGdrbWFwLmMKQEAgLTc5
LDE4ICs3OSwxNCBAQCBpbnQKIFNQcm9jWENoYW5nZURldmljZUtleU1hcHBpbmcoQ2xpZW50UHRy
IGNsaWVudCkKIHsKICAgICBjaGFyIG47Ci0gICAgbG9uZyAqcDsKLSAgICBpbnQgaSwgY291bnQ7
CisgICAgdW5zaWduZWQgaW50IGNvdW50OwogCiAgICAgUkVRVUVTVCh4Q2hhbmdlRGV2aWNlS2V5
TWFwcGluZ1JlcSk7CiAgICAgc3dhcHMoJnN0dWZmLT5sZW5ndGgsIG4pOwogICAgIFJFUVVFU1Rf
QVRfTEVBU1RfU0laRSh4Q2hhbmdlRGV2aWNlS2V5TWFwcGluZ1JlcSk7Ci0gICAgcCA9IChsb25n
ICopJnN0dWZmWzFdOwogICAgIGNvdW50ID0gc3R1ZmYtPmtleUNvZGVzICogc3R1ZmYtPmtleVN5
bXNQZXJLZXlDb2RlOwotICAgIGZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7Ci0Jc3dhcGwo
cCwgbik7Ci0JcCsrOwotICAgIH0KKyAgICBSRVFVRVNUX0ZJWEVEX1NJWkUoeENoYW5nZURldmlj
ZUtleU1hcHBpbmdSZXEsIGNvdW50ICogc2l6ZW9mKENBUkQzMikpOworICAgIFN3YXBMb25ncygo
Q0FSRDMyICopICgmc3R1ZmZbMV0pLCBjb3VudCk7CiAgICAgcmV0dXJuIChQcm9jWENoYW5nZURl
dmljZUtleU1hcHBpbmcoY2xpZW50KSk7CiB9CiAKQEAgLTEwNiwxMCArMTAyLDE0IEBAIFByb2NY
Q2hhbmdlRGV2aWNlS2V5TWFwcGluZyhDbGllbnRQdHIgY2xpZW50KQogICAgIGludCByZXQ7CiAg
ICAgdW5zaWduZWQgbGVuOwogICAgIERldmljZUludFB0ciBkZXY7CisgICAgdW5zaWduZWQgaW50
IGNvdW50OwogCiAgICAgUkVRVUVTVCh4Q2hhbmdlRGV2aWNlS2V5TWFwcGluZ1JlcSk7CiAgICAg
UkVRVUVTVF9BVF9MRUFTVF9TSVpFKHhDaGFuZ2VEZXZpY2VLZXlNYXBwaW5nUmVxKTsKIAorICAg
IGNvdW50ID0gc3R1ZmYtPmtleUNvZGVzICogc3R1ZmYtPmtleVN5bXNQZXJLZXlDb2RlOworICAg
IFJFUVVFU1RfRklYRURfU0laRSh4Q2hhbmdlRGV2aWNlS2V5TWFwcGluZ1JlcSwgY291bnQgKiBz
aXplb2YoQ0FSRDMyKSk7CisKICAgICBkZXYgPSBMb29rdXBEZXZpY2VJbnRSZWMoc3R1ZmYtPmRl
dmljZWlkKTsKICAgICBpZiAoZGV2ID09IE5VTEwpIHsKIAlTZW5kRXJyb3JUb0NsaWVudChjbGll
bnQsIElSZXFDb2RlLCBYX0NoYW5nZURldmljZUtleU1hcHBpbmcsIDAsCmRpZmYgLS1naXQgYS9Y
aS9jaGdwcm9wLmMgYi9YaS9jaGdwcm9wLmMKaW5kZXggNTlhOTNjNi4uMjFiZGE1YiAxMDA2NDQK
LS0tIGEvWGkvY2hncHJvcC5jCisrKyBiL1hpL2NoZ3Byb3AuYwpAQCAtODEsMTkgKzgxLDE1IEBA
IGludAogU1Byb2NYQ2hhbmdlRGV2aWNlRG9udFByb3BhZ2F0ZUxpc3QoQ2xpZW50UHRyIGNsaWVu
dCkKIHsKICAgICBjaGFyIG47Ci0gICAgbG9uZyAqcDsKLSAgICBpbnQgaTsKIAogICAgIFJFUVVF
U1QoeENoYW5nZURldmljZURvbnRQcm9wYWdhdGVMaXN0UmVxKTsKICAgICBzd2Fwcygmc3R1ZmYt
Pmxlbmd0aCwgbik7CiAgICAgUkVRVUVTVF9BVF9MRUFTVF9TSVpFKHhDaGFuZ2VEZXZpY2VEb250
UHJvcGFnYXRlTGlzdFJlcSk7CiAgICAgc3dhcGwoJnN0dWZmLT53aW5kb3csIG4pOwogICAgIHN3
YXBzKCZzdHVmZi0+Y291bnQsIG4pOwotICAgIHAgPSAobG9uZyAqKSZzdHVmZlsxXTsKLSAgICBm
b3IgKGkgPSAwOyBpIDwgc3R1ZmYtPmNvdW50OyBpKyspIHsKLQlzd2FwbChwLCBuKTsKLQlwKys7
Ci0gICAgfQorICAgIFJFUVVFU1RfRklYRURfU0laRSh4Q2hhbmdlRGV2aWNlRG9udFByb3BhZ2F0
ZUxpc3RSZXEsCisgICAgICAgICAgICAgICAgICAgICAgc3R1ZmYtPmNvdW50ICogc2l6ZW9mKENB
UkQzMikpOworICAgIFN3YXBMb25ncygoQ0FSRDMyICopICgmc3R1ZmZbMV0pLCBzdHVmZi0+Y291
bnQpOwogICAgIHJldHVybiAoUHJvY1hDaGFuZ2VEZXZpY2VEb250UHJvcGFnYXRlTGlzdChjbGll
bnQpKTsKIH0KIApkaWZmIC0tZ2l0IGEvWGkvZ3JhYmRldi5jIGIvWGkvZ3JhYmRldi5jCmluZGV4
IGUyODA5ZWYuLmQwYjRhZTcgMTAwNjQ0Ci0tLSBhL1hpL2dyYWJkZXYuYworKysgYi9YaS9ncmFi
ZGV2LmMKQEAgLTgyLDggKzgyLDYgQEAgaW50CiBTUHJvY1hHcmFiRGV2aWNlKENsaWVudFB0ciBj
bGllbnQpCiB7CiAgICAgY2hhciBuOwotICAgIGxvbmcgKnA7Ci0gICAgaW50IGk7CiAKICAgICBS
RVFVRVNUKHhHcmFiRGV2aWNlUmVxKTsKICAgICBzd2Fwcygmc3R1ZmYtPmxlbmd0aCwgbik7CkBA
IC05MSwxMSArODksMTEgQEAgU1Byb2NYR3JhYkRldmljZShDbGllbnRQdHIgY2xpZW50KQogICAg
IHN3YXBsKCZzdHVmZi0+Z3JhYldpbmRvdywgbik7CiAgICAgc3dhcGwoJnN0dWZmLT50aW1lLCBu
KTsKICAgICBzd2Fwcygmc3R1ZmYtPmV2ZW50X2NvdW50LCBuKTsKLSAgICBwID0gKGxvbmcgKikm
c3R1ZmZbMV07Ci0gICAgZm9yIChpID0gMDsgaSA8IHN0dWZmLT5ldmVudF9jb3VudDsgaSsrKSB7
Ci0Jc3dhcGwocCwgbik7Ci0JcCsrOwotICAgIH0KKworICAgIGlmIChzdHVmZi0+bGVuZ3RoICE9
IChzaXplb2YoeEdyYWJEZXZpY2VSZXEpID4+IDIpICsgc3R1ZmYtPmV2ZW50X2NvdW50KQorICAg
ICAgIHJldHVybiBCYWRMZW5ndGg7CisgICAgCisgICAgU3dhcExvbmdzKChDQVJEMzIgKikgKCZz
dHVmZlsxXSksIHN0dWZmLT5ldmVudF9jb3VudCk7CiAKICAgICByZXR1cm4gKFByb2NYR3JhYkRl
dmljZShjbGllbnQpKTsKIH0KZGlmZiAtLWdpdCBhL1hpL2dyYWJkZXZiLmMgYi9YaS9ncmFiZGV2
Yi5jCmluZGV4IGRmNjJkMGMuLjE4ZGIxZjcgMTAwNjQ0Ci0tLSBhL1hpL2dyYWJkZXZiLmMKKysr
IGIvWGkvZ3JhYmRldmIuYwpAQCAtODAsOCArODAsNiBAQCBpbnQKIFNQcm9jWEdyYWJEZXZpY2VC
dXR0b24oQ2xpZW50UHRyIGNsaWVudCkKIHsKICAgICBjaGFyIG47Ci0gICAgbG9uZyAqcDsKLSAg
ICBpbnQgaTsKIAogICAgIFJFUVVFU1QoeEdyYWJEZXZpY2VCdXR0b25SZXEpOwogICAgIHN3YXBz
KCZzdHVmZi0+bGVuZ3RoLCBuKTsKQEAgLTg5LDExICs4Nyw5IEBAIFNQcm9jWEdyYWJEZXZpY2VC
dXR0b24oQ2xpZW50UHRyIGNsaWVudCkKICAgICBzd2FwbCgmc3R1ZmYtPmdyYWJXaW5kb3csIG4p
OwogICAgIHN3YXBzKCZzdHVmZi0+bW9kaWZpZXJzLCBuKTsKICAgICBzd2Fwcygmc3R1ZmYtPmV2
ZW50X2NvdW50LCBuKTsKLSAgICBwID0gKGxvbmcgKikmc3R1ZmZbMV07Ci0gICAgZm9yIChpID0g
MDsgaSA8IHN0dWZmLT5ldmVudF9jb3VudDsgaSsrKSB7Ci0Jc3dhcGwocCwgbik7Ci0JcCsrOwot
ICAgIH0KKyAgICBSRVFVRVNUX0ZJWEVEX1NJWkUoeEdyYWJEZXZpY2VCdXR0b25SZXEsCisgICAg
ICAgICAgICAgICAgICAgICAgc3R1ZmYtPmV2ZW50X2NvdW50ICogc2l6ZW9mKENBUkQzMikpOwor
ICAgIFN3YXBMb25ncygoQ0FSRDMyICopICgmc3R1ZmZbMV0pLCBzdHVmZi0+ZXZlbnRfY291bnQp
OwogCiAgICAgcmV0dXJuIChQcm9jWEdyYWJEZXZpY2VCdXR0b24oY2xpZW50KSk7CiB9CmRpZmYg
LS1naXQgYS9YaS9ncmFiZGV2ay5jIGIvWGkvZ3JhYmRldmsuYwppbmRleCBiNzQ1OTJmLi40Mjli
MmY3IDEwMDY0NAotLS0gYS9YaS9ncmFiZGV2ay5jCisrKyBiL1hpL2dyYWJkZXZrLmMKQEAgLTgw
LDggKzgwLDYgQEAgaW50CiBTUHJvY1hHcmFiRGV2aWNlS2V5KENsaWVudFB0ciBjbGllbnQpCiB7
CiAgICAgY2hhciBuOwotICAgIGxvbmcgKnA7Ci0gICAgaW50IGk7CiAKICAgICBSRVFVRVNUKHhH
cmFiRGV2aWNlS2V5UmVxKTsKICAgICBzd2Fwcygmc3R1ZmYtPmxlbmd0aCwgbik7CkBAIC04OSwx
MSArODcsOCBAQCBTUHJvY1hHcmFiRGV2aWNlS2V5KENsaWVudFB0ciBjbGllbnQpCiAgICAgc3dh
cGwoJnN0dWZmLT5ncmFiV2luZG93LCBuKTsKICAgICBzd2Fwcygmc3R1ZmYtPm1vZGlmaWVycywg
bik7CiAgICAgc3dhcHMoJnN0dWZmLT5ldmVudF9jb3VudCwgbik7Ci0gICAgcCA9IChsb25nICop
JnN0dWZmWzFdOwotICAgIGZvciAoaSA9IDA7IGkgPCBzdHVmZi0+ZXZlbnRfY291bnQ7IGkrKykg
ewotCXN3YXBsKHAsIG4pOwotCXArKzsKLSAgICB9CisgICAgUkVRVUVTVF9GSVhFRF9TSVpFKHhH
cmFiRGV2aWNlS2V5UmVxLCBzdHVmZi0+ZXZlbnRfY291bnQgKiBzaXplb2YoQ0FSRDMyKSk7Cisg
ICAgU3dhcExvbmdzKChDQVJEMzIgKikgKCZzdHVmZlsxXSksIHN0dWZmLT5ldmVudF9jb3VudCk7
CiAgICAgcmV0dXJuIChQcm9jWEdyYWJEZXZpY2VLZXkoY2xpZW50KSk7CiB9CiAKZGlmZiAtLWdp
dCBhL1hpL3NlbGVjdGV2LmMgYi9YaS9zZWxlY3Rldi5jCmluZGV4IGQ1MmRiMWIuLjE5NDE1YzUg
MTAwNjQ0Ci0tLSBhL1hpL3NlbGVjdGV2LmMKKysrIGIvWGkvc2VsZWN0ZXYuYwpAQCAtMTMxLDE5
ICsxMzEsMTYgQEAgaW50CiBTUHJvY1hTZWxlY3RFeHRlbnNpb25FdmVudChDbGllbnRQdHIgY2xp
ZW50KQogewogICAgIGNoYXIgbjsKLSAgICBsb25nICpwOwotICAgIGludCBpOwogCiAgICAgUkVR
VUVTVCh4U2VsZWN0RXh0ZW5zaW9uRXZlbnRSZXEpOwogICAgIHN3YXBzKCZzdHVmZi0+bGVuZ3Ro
LCBuKTsKICAgICBSRVFVRVNUX0FUX0xFQVNUX1NJWkUoeFNlbGVjdEV4dGVuc2lvbkV2ZW50UmVx
KTsKICAgICBzd2FwbCgmc3R1ZmYtPndpbmRvdywgbik7CiAgICAgc3dhcHMoJnN0dWZmLT5jb3Vu
dCwgbik7Ci0gICAgcCA9IChsb25nICopJnN0dWZmWzFdOwotICAgIGZvciAoaSA9IDA7IGkgPCBz
dHVmZi0+Y291bnQ7IGkrKykgewotCXN3YXBsKHAsIG4pOwotCXArKzsKLSAgICB9CisgICAgUkVR
VUVTVF9GSVhFRF9TSVpFKHhTZWxlY3RFeHRlbnNpb25FdmVudFJlcSwKKyAgICAgICAgICAgICAg
ICAgICAgICBzdHVmZi0+Y291bnQgKiBzaXplb2YoQ0FSRDMyKSk7CisgICAgU3dhcExvbmdzKChD
QVJEMzIgKikgKCZzdHVmZlsxXSksIHN0dWZmLT5jb3VudCk7CisKICAgICByZXR1cm4gKFByb2NY
U2VsZWN0RXh0ZW5zaW9uRXZlbnQoY2xpZW50KSk7CiB9CiAKZGlmZiAtLWdpdCBhL1hpL3NlbmRl
eGV2LmMgYi9YaS9zZW5kZXhldi5jCmluZGV4IGVhYzlhYmUuLjk4MDNjZjMgMTAwNjQ0Ci0tLSBh
L1hpL3NlbmRleGV2LmMKKysrIGIvWGkvc2VuZGV4ZXYuYwpAQCAtODMsNyArODMsNyBAQCBpbnQK
IFNQcm9jWFNlbmRFeHRlbnNpb25FdmVudChDbGllbnRQdHIgY2xpZW50KQogewogICAgIGNoYXIg
bjsKLSAgICBsb25nICpwOworICAgIENBUkQzMiAqcDsKICAgICBpbnQgaTsKICAgICB4RXZlbnQg
ZXZlbnRUOwogICAgIHhFdmVudCAqZXZlbnRQOwpAQCAtOTQsNiArOTQsMTEgQEAgU1Byb2NYU2Vu
ZEV4dGVuc2lvbkV2ZW50KENsaWVudFB0ciBjbGllbnQpCiAgICAgUkVRVUVTVF9BVF9MRUFTVF9T
SVpFKHhTZW5kRXh0ZW5zaW9uRXZlbnRSZXEpOwogICAgIHN3YXBsKCZzdHVmZi0+ZGVzdGluYXRp
b24sIG4pOwogICAgIHN3YXBzKCZzdHVmZi0+Y291bnQsIG4pOworCisgICAgaWYgKHN0dWZmLT5s
ZW5ndGggIT0gKHNpemVvZih4U2VuZEV4dGVuc2lvbkV2ZW50UmVxKSA+PiAyKSArIHN0dWZmLT5j
b3VudCArCisgICAgICAgKHN0dWZmLT5udW1fZXZlbnRzICogKHNpemVvZih4RXZlbnQpID4+IDIp
KSkKKyAgICAgICByZXR1cm4gQmFkTGVuZ3RoOworCiAgICAgZXZlbnRQID0gKHhFdmVudCAqKSAm
IHN0dWZmWzFdOwogICAgIGZvciAoaSA9IDA7IGkgPCBzdHVmZi0+bnVtX2V2ZW50czsgaSsrLCBl
dmVudFArKykgewogCXByb2MgPSBFdmVudFN3YXBWZWN0b3JbZXZlbnRQLT51LnUudHlwZSAmIDAx
NzddOwpAQCAtMTAzLDExICsxMDgsOCBAQCBTUHJvY1hTZW5kRXh0ZW5zaW9uRXZlbnQoQ2xpZW50
UHRyIGNsaWVudCkKIAkqZXZlbnRQID0gZXZlbnRUOwogICAgIH0KIAotICAgIHAgPSAobG9uZyAq
KSgoKHhFdmVudCAqKSAmIHN0dWZmWzFdKSArIHN0dWZmLT5udW1fZXZlbnRzKTsKLSAgICBmb3Ig
KGkgPSAwOyBpIDwgc3R1ZmYtPmNvdW50OyBpKyspIHsKLQlzd2FwbChwLCBuKTsKLQlwKys7Ci0g
ICAgfQorICAgIHAgPSAoQ0FSRDMyICopKCgoeEV2ZW50ICopICYgc3R1ZmZbMV0pICsgc3R1ZmYt
Pm51bV9ldmVudHMpOworICAgIFN3YXBMb25ncyhwLCBzdHVmZi0+Y291bnQpOwogICAgIHJldHVy
biAoUHJvY1hTZW5kRXh0ZW5zaW9uRXZlbnQoY2xpZW50KSk7CiB9CiAKZGlmZiAtLWdpdCBhL2Rp
eC9kaXhmb250cy5jIGIvZGl4L2RpeGZvbnRzLmMKaW5kZXggYzIxYjNlYy4uN2JiMjQwNCAxMDA2
NDQKLS0tIGEvZGl4L2RpeGZvbnRzLmMKKysrIGIvZGl4L2RpeGZvbnRzLmMKQEAgLTMyNSw2ICsz
MjUsMTMgQEAgZG9PcGVuRm9udChDbGllbnRQdHIgY2xpZW50LCBPRmNsb3N1cmVQdHIgYykKIAll
cnIgPSBCYWRGb250TmFtZTsKIAlnb3RvIGJhaWw7CiAgICAgfQorICAgIC8qIGNoZWNrIHZhbHVl
cyBmb3IgZmlyc3RDb2wsIGxhc3RDb2wsIGZpcnN0Um93LCBhbmQgbGFzdFJvdyAqLworICAgIGlm
IChwZm9udC0+aW5mby5maXJzdENvbCA+IHBmb250LT5pbmZvLmxhc3RDb2wgfHwKKyAgICAgICBw
Zm9udC0+aW5mby5maXJzdFJvdyA+IHBmb250LT5pbmZvLmxhc3RSb3cgfHwKKyAgICAgICBwZm9u
dC0+aW5mby5sYXN0Q29sIC0gcGZvbnQtPmluZm8uZmlyc3RDb2wgPiAyNTUpIHsKKyAgICAgICBl
cnIgPSBBbGxvY0Vycm9yOworICAgICAgIGdvdG8gYmFpbDsKKyAgICB9CiAgICAgaWYgKCFwZm9u
dC0+ZnBlKQogCXBmb250LT5mcGUgPSBmcGU7CiAgICAgcGZvbnQtPnJlZmNudCsrOwpkaWZmIC0t
Z2l0IGEvaHcveGZyZWU4Ni9jb21tb24veGY4Nk1pc2NFeHQuYyBiL2h3L3hmcmVlODYvY29tbW9u
L3hmODZNaXNjRXh0LmMKaW5kZXggNjU1MzA0ZS4uY2NiNGY3NSAxMDA2NDQKLS0tIGEvaHcveGZy
ZWU4Ni9jb21tb24veGY4Nk1pc2NFeHQuYworKysgYi9ody94ZnJlZTg2L2NvbW1vbi94Zjg2TWlz
Y0V4dC5jCkBAIC01NjgsNiArNTY4LDEwIEBAIE1pc2NFeHRQYXNzTWVzc2FnZShpbnQgc2Nybklu
ZGV4LCBjb25zdCBjaGFyICptc2d0eXBlLCBjb25zdCBjaGFyICptc2d2YWwsCiAKICAgICBERUJV
R19QKCJNaXNjRXh0UGFzc01lc3NhZ2UiKTsKIAorICAgIC8qIHNob3VsZCBjaGVjayB0aGlzIGlu
IHRoZSBwcm90b2NvbCwgYnV0IHhmODZOdW1TY3JlZW5zIGlzbid0IGV4cG9ydGVkICovCisgICAg
aWYgKHNjcm5JbmRleCA+PSB4Zjg2TnVtU2NyZWVucykKKwlyZXR1cm4gQmFkVmFsdWU7CisKICAg
ICBpZiAoKnBTY3ItPkhhbmRsZU1lc3NhZ2UgPT0gTlVMTCkKIAkgICAgcmV0dXJuIEJhZEltcGxl
bWVudGF0aW9uOwogICAgIHJldHVybiAoKnBTY3ItPkhhbmRsZU1lc3NhZ2UpKHNjcm5JbmRleCwg
bXNndHlwZSwgbXNndmFsLCByZXRzdHIpOwo=
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140149</attachid>
            <date>2008-01-05 01:38 0000</date>
            <desc>1.3.0.0-security-204362.patch</desc>
            <filename>1.3.0.0-security-204362.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">SW5kZXg6IHhvcmctc2VydmVyLTEuMy4wLjAvWGV4dC9FVkkuYwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB4b3Jn
LXNlcnZlci0xLjMuMC4wLm9yaWcvWGV4dC9FVkkuYworKysgeG9yZy1zZXJ2ZXItMS4zLjAuMC9Y
ZXh0L0VWSS5jCkBAIC0zNCw2ICszNCw3IEBAIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJ
UyBTT0ZUV0FSRS4KICNpbmNsdWRlIDxYMTEvZXh0ZW5zaW9ucy9YRVZJc3RyLmg+CiAjaW5jbHVk
ZSAiRVZJc3RydWN0LmgiCiAjaW5jbHVkZSAibW9kaW5pdC5oIgorI2luY2x1ZGUgInNjcm5pbnRz
dHIuaCIKIAogI2lmIDAKIHN0YXRpYyB1bnNpZ25lZCBjaGFyIFhFVklSZXFDb2RlID0gMDsKQEAg
LTg3LDEwICs4OCwyMiBAQCBQcm9jRVZJR2V0VmlzdWFsSW5mbyhDbGllbnRQdHIgY2xpZW50KQog
ewogICAgIFJFUVVFU1QoeEVWSUdldFZpc3VhbEluZm9SZXEpOwogICAgIHhFVklHZXRWaXN1YWxJ
bmZvUmVwbHkgcmVwOwotICAgIGludCBuLCBuX2NvbmZsaWN0LCBuX2luZm8sIHN6X2luZm8sIHN6
X2NvbmZsaWN0OworICAgIGludCBpLCBuLCBuX2NvbmZsaWN0LCBuX2luZm8sIHN6X2luZm8sIHN6
X2NvbmZsaWN0OwogICAgIFZpc3VhbElEMzIgKmNvbmZsaWN0OworICAgIHVuc2lnbmVkIGludCB0
b3RhbF92aXN1YWxzID0gMDsKICAgICB4RXh0ZW5kZWRWaXN1YWxJbmZvICpldmlJbmZvOwogICAg
IGludCBzdGF0dXM7CisKKyAgICAvKgorICAgICAqIGRvIHRoaXMgZmlyc3QsIG90aGVyd2lzZSBS
RVFVRVNUX0ZJWEVEX1NJWkUgY2FuIG92ZXJmbG93LiAgd2UgYXNzdW1lCisgICAgICogaGVyZSB0
aGF0IHlvdSBkb24ndCBoYXZlIG1vcmUgdGhhbiAyXjMyIHZpc3VhbHMgb3ZlciBhbGwgeW91ciBz
Y3JlZW5zOworICAgICAqIHRoaXMgc2VlbXMgbGlrZSBhIHNhZmUgYXNzdW1wdGlvbi4KKyAgICAg
Ki8KKyAgICBmb3IgKGkgPSAwOyBpIDwgc2NyZWVuSW5mby5udW1TY3JlZW5zOyBpKyspCisJdG90
YWxfdmlzdWFscyArPSBzY3JlZW5JbmZvLnNjcmVlbnNbaV0tPm51bVZpc3VhbHM7CisgICAgaWYg
KHN0dWZmLT5uX3Zpc3VhbCA+IHRvdGFsX3Zpc3VhbHMpCisJcmV0dXJuIEJhZFZhbHVlOworCiAg
ICAgUkVRVUVTVF9GSVhFRF9TSVpFKHhFVklHZXRWaXN1YWxJbmZvUmVxLCBzdHVmZi0+bl92aXN1
YWwgKiBzel9WaXN1YWxJRDMyKTsKICAgICBzdGF0dXMgPSBldmlQcml2LT5nZXRWaXN1YWxJbmZv
KChWaXN1YWxJRDMyICopJnN0dWZmWzFdLCAoaW50KXN0dWZmLT5uX3Zpc3VhbCwKIAkJJmV2aUlu
Zm8sICZuX2luZm8sICZjb25mbGljdCwgJm5fY29uZmxpY3QpOwpJbmRleDogeG9yZy1zZXJ2ZXIt
MS4zLjAuMC9YZXh0L2N1cC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHhvcmctc2VydmVyLTEuMy4wLjAub3Jp
Zy9YZXh0L2N1cC5jCisrKyB4b3JnLXNlcnZlci0xLjMuMC4wL1hleHQvY3VwLmMKQEAgLTE5Niw2
ICsxOTYsOSBAQCBpbnQgUHJvY0dldFJlc2VydmVkQ29sb3JtYXBFbnRyaWVzKAogCiAgICAgUkVR
VUVTVF9TSVpFX01BVENIICh4WGN1cEdldFJlc2VydmVkQ29sb3JtYXBFbnRyaWVzUmVxKTsKIAor
ICAgIGlmIChzdHVmZi0+c2NyZWVuID49IHNjcmVlbkluZm8ubnVtU2NyZWVucykKKwlyZXR1cm4g
QmFkVmFsdWU7CisKICNpZm5kZWYgSEFWRV9TUEVDSUFMX0RFU0tUT1BfQ09MT1JTCiAgICAgY2l0
ZW1zW0NVUF9CTEFDS19QSVhFTF0ucGl4ZWwgPSAKIAlzY3JlZW5JbmZvLnNjcmVlbnNbc3R1ZmYt
PnNjcmVlbl0tPmJsYWNrUGl4ZWw7CkluZGV4OiB4b3JnLXNlcnZlci0xLjMuMC4wL1hleHQvc2Ft
cGxlRVZJLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0geG9yZy1zZXJ2ZXItMS4zLjAuMC5vcmlnL1hleHQvc2Ft
cGxlRVZJLmMKKysrIHhvcmctc2VydmVyLTEuMy4wLjAvWGV4dC9zYW1wbGVFVkkuYwpAQCAtMzUs
NiArMzUsMTMgQEAgVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgogI2lu
Y2x1ZGUgPFgxMS9leHRlbnNpb25zL1hFVklzdHIuaD4KICNpbmNsdWRlICJFVklzdHJ1Y3QuaCIK
ICNpbmNsdWRlICJzY3JuaW50c3RyLmgiCisKKyNpZiBIQVZFX1NURElOVF9ICisjaW5jbHVkZSA8
c3RkaW50Lmg+CisjZWxpZiAhZGVmaW5lZChJTlRfTUFYKQorI2RlZmluZSBJTlRfTUFYIDB4N2Zm
ZmZmZmYKKyNlbmRpZgorCiBzdGF0aWMgaW50IHNhbXBsZUdldFZpc3VhbEluZm8oCiAgICAgVmlz
dWFsSUQzMiAqdmlzdWFsLAogICAgIGludCBuX3Zpc3VhbCwKQEAgLTQzLDI0ICs1MCwzNiBAQCBz
dGF0aWMgaW50IHNhbXBsZUdldFZpc3VhbEluZm8oCiAgICAgVmlzdWFsSUQzMiAqKmNvbmZsaWN0
X3JuLAogICAgIGludCAqbl9jb25mbGljdF9ybikKIHsKLSAgICBpbnQgbWF4X3N6X2V2aSA9IG5f
dmlzdWFsICogc3pfeEV4dGVuZGVkVmlzdWFsSW5mbyAqIHNjcmVlbkluZm8ubnVtU2NyZWVuczsK
KyAgICB1bnNpZ25lZCBpbnQgbWF4X3N6X2V2aTsKICAgICBWaXN1YWxJRDMyICp0ZW1wX2NvbmZs
aWN0OwogICAgIHhFeHRlbmRlZFZpc3VhbEluZm8gKmV2aTsKLSAgICBpbnQgbWF4X3Zpc3VhbHMg
PSAwLCBtYXhfc3pfY29uZmxpY3QsIHN6X2NvbmZsaWN0ID0gMDsKKyAgICB1bnNpZ25lZCBpbnQg
bWF4X3Zpc3VhbHMgPSAwLCBtYXhfc3pfY29uZmxpY3QsIHN6X2NvbmZsaWN0ID0gMDsKICAgICBy
ZWdpc3RlciBpbnQgdmlzdWFsSSwgc2NySSwgc3pfZXZpID0gMCwgY29uZmxpY3RJLCBuX2NvbmZs
aWN0OwotICAgICpldmlfcm4gPSBldmkgPSAoeEV4dGVuZGVkVmlzdWFsSW5mbyAqKXhhbGxvYyht
YXhfc3pfZXZpKTsKLSAgICBpZiAoISpldmlfcm4pCi0gICAgICAgICByZXR1cm4gQmFkQWxsb2M7
CisKKyAgICBpZiAobl92aXN1YWwgPiBVSU5UMzJfTUFYLyhzel94RXh0ZW5kZWRWaXN1YWxJbmZv
ICogc2NyZWVuSW5mby5udW1TY3JlZW5zKSkKKwlyZXR1cm4gQmFkQWxsb2M7CisgICAgbWF4X3N6
X2V2aSA9IG5fdmlzdWFsICogc3pfeEV4dGVuZGVkVmlzdWFsSW5mbyAqIHNjcmVlbkluZm8ubnVt
U2NyZWVuczsKKyAgICAKICAgICBmb3IgKHNjckkgPSAwOyBzY3JJIDwgc2NyZWVuSW5mby5udW1T
Y3JlZW5zOyBzY3JJKyspIHsKICAgICAgICAgaWYgKHNjcmVlbkluZm8uc2NyZWVuc1tzY3JJXS0+
bnVtVmlzdWFscyA+IG1heF92aXN1YWxzKQogICAgICAgICAgICAgbWF4X3Zpc3VhbHMgPSBzY3Jl
ZW5JbmZvLnNjcmVlbnNbc2NySV0tPm51bVZpc3VhbHM7CiAgICAgfQorCisgICAgaWYgKG5fdmlz
dWFsID4gVUlOVDMyX01BWC8oc3pfVmlzdWFsSUQzMiAqIHNjcmVlbkluZm8ubnVtU2NyZWVucyAK
KwkJCSAgICAgICAqIG1heF92aXN1YWxzKSkgCisJcmV0dXJuIEJhZEFsbG9jOwogICAgIG1heF9z
el9jb25mbGljdCA9IG5fdmlzdWFsICogc3pfVmlzdWFsSUQzMiAqIHNjcmVlbkluZm8ubnVtU2Ny
ZWVucyAqIG1heF92aXN1YWxzOworCisgICAgKmV2aV9ybiA9IGV2aSA9ICh4RXh0ZW5kZWRWaXN1
YWxJbmZvICopeGFsbG9jKG1heF9zel9ldmkpOworICAgIGlmICghKmV2aV9ybikKKyAgICAgICAg
IHJldHVybiBCYWRBbGxvYzsKKwogICAgIHRlbXBfY29uZmxpY3QgPSAoVmlzdWFsSUQzMiAqKXhh
bGxvYyhtYXhfc3pfY29uZmxpY3QpOwogICAgIGlmICghdGVtcF9jb25mbGljdCkgewogICAgICAg
ICB4ZnJlZSgqZXZpX3JuKTsKICAgICAgICAgcmV0dXJuIEJhZEFsbG9jOwogICAgIH0KKwogICAg
IGZvciAoc2NySSA9IDA7IHNjckkgPCBzY3JlZW5JbmZvLm51bVNjcmVlbnM7IHNjckkrKykgewog
ICAgICAgICBmb3IgKHZpc3VhbEkgPSAwOyB2aXN1YWxJIDwgbl92aXN1YWw7IHZpc3VhbEkrKykg
ewogCSAgICBldmlbc3pfZXZpXS5jb3JlX3Zpc3VhbF9pZCA9IHZpc3VhbFt2aXN1YWxJXTsKSW5k
ZXg6IHhvcmctc2VydmVyLTEuMy4wLjAvWGV4dC9zZWN1cml0eS5jCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHhv
cmctc2VydmVyLTEuMy4wLjAub3JpZy9YZXh0L3NlY3VyaXR5LmMKKysrIHhvcmctc2VydmVyLTEu
My4wLjAvWGV4dC9zZWN1cml0eS5jCkBAIC0xNTY3LDcgKzE1NjcsNyBAQCBTZWN1cml0eUxvYWRQ
cm9wZXJ0eUFjY2Vzc0xpc3Qodm9pZCkKIAlyZXR1cm47CiAKICNpZm5kZWYgX19VTklYT1MyX18K
LSAgICBmID0gZm9wZW4oU2VjdXJpdHlQb2xpY3lGaWxlLCAiciIpOworICAgIGYgPSBGb3BlbihT
ZWN1cml0eVBvbGljeUZpbGUsICJyIik7CiAjZWxzZQogICAgIGYgPSBmb3BlbigoY2hhciopX19Y
T1MyUmVkaXJSb290KFNlY3VyaXR5UG9saWN5RmlsZSksICJyIik7CiAjZW5kaWYgICAgCkBAIC0x
NjUzLDcgKzE2NTMsNyBAQCBTZWN1cml0eUxvYWRQcm9wZXJ0eUFjY2Vzc0xpc3Qodm9pZCkKICAg
ICB9CiAjZW5kaWYgLyogUFJPUERFQlVHICovCiAKLSAgICBmY2xvc2UoZik7CisgICAgRmNsb3Nl
KGYpOwogfSAvKiBTZWN1cml0eUxvYWRQcm9wZXJ0eUFjY2Vzc0xpc3QgKi8KIAogCkluZGV4OiB4
b3JnLXNlcnZlci0xLjMuMC4wL1hleHQvc2htLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0geG9yZy1zZXJ2ZXIt
MS4zLjAuMC5vcmlnL1hleHQvc2htLmMKKysrIHhvcmctc2VydmVyLTEuMy4wLjAvWGV4dC9zaG0u
YwpAQCAtNzIzLDYgKzcyMyw4IEBAIFByb2NQYW5vcmFtaVhTaG1DcmVhdGVQaXhtYXAoCiAgICAg
aW50IGksIGosIHJlc3VsdDsKICAgICBTaG1EZXNjUHRyIHNobWRlc2M7CiAgICAgUkVRVUVTVCh4
U2htQ3JlYXRlUGl4bWFwUmVxKTsKKyAgICB1bnNpZ25lZCBpbnQgd2lkdGgsIGhlaWdodCwgZGVw
dGg7CisgICAgdW5zaWduZWQgbG9uZyBzaXplOwogICAgIFBhbm9yYW1pWFJlcyAqbmV3UGl4Owog
CiAgICAgUkVRVUVTVF9TSVpFX01BVENIKHhTaG1DcmVhdGVQaXhtYXBSZXEpOwpAQCAtNzMyLDEx
ICs3MzQsMjYgQEAgUHJvY1Bhbm9yYW1pWFNobUNyZWF0ZVBpeG1hcCgKICAgICBMRUdBTF9ORVdf
UkVTT1VSQ0Uoc3R1ZmYtPnBpZCwgY2xpZW50KTsKICAgICBWRVJJRllfR0VPTUVUUkFCTEUocERy
YXcsIHN0dWZmLT5kcmF3YWJsZSwgY2xpZW50KTsKICAgICBWRVJJRllfU0hNUFRSKHN0dWZmLT5z
aG1zZWcsIHN0dWZmLT5vZmZzZXQsIFRSVUUsIHNobWRlc2MsIGNsaWVudCk7Ci0gICAgaWYgKCFz
dHVmZi0+d2lkdGggfHwgIXN0dWZmLT5oZWlnaHQpCisKKyAgICB3aWR0aCA9IHN0dWZmLT53aWR0
aDsKKyAgICBoZWlnaHQgPSBzdHVmZi0+aGVpZ2h0OworICAgIGRlcHRoID0gc3R1ZmYtPmRlcHRo
OworICAgIGlmICghd2lkdGggfHwgIWhlaWdodCB8fCAhZGVwdGgpCiAgICAgewogCWNsaWVudC0+
ZXJyb3JWYWx1ZSA9IDA7CiAgICAgICAgIHJldHVybiBCYWRWYWx1ZTsKICAgICB9CisgICAgaWYg
KHdpZHRoID4gMzI3NjcgfHwgaGVpZ2h0ID4gMzI3NjcpCisgICAgICAgIHJldHVybiBCYWRBbGxv
YzsKKyAgICBzaXplID0gUGl4bWFwQnl0ZVBhZCh3aWR0aCwgZGVwdGgpICogaGVpZ2h0OworICAg
IGlmIChzaXplb2Yoc2l6ZSkgPT0gNCkgeworICAgICAgICBpZiAoc2l6ZSA8IHdpZHRoICogaGVp
Z2h0KQorICAgICAgICAgICAgcmV0dXJuIEJhZEFsbG9jOworICAgICAgICAvKiB0aGFua2Z1bGx5
LCBvZmZzZXQgaXMgdW5zaWduZWQgKi8KKyAgICAgICAgaWYgKHN0dWZmLT5vZmZzZXQgKyBzaXpl
IDwgc2l6ZSkKKyAgICAgICAgICAgIHJldHVybiBCYWRBbGxvYzsKKyAgICB9CisKICAgICBpZiAo
c3R1ZmYtPmRlcHRoICE9IDEpCiAgICAgewogICAgICAgICBwRGVwdGggPSBwRHJhdy0+cFNjcmVl
bi0+YWxsb3dlZERlcHRoczsKQEAgLTc0Nyw5ICs3NjQsNyBAQCBQcm9jUGFub3JhbWlYU2htQ3Jl
YXRlUGl4bWFwKAogICAgICAgICByZXR1cm4gQmFkVmFsdWU7CiAgICAgfQogQ3JlYXRlUG1hcDoK
LSAgICBWRVJJRllfU0hNU0laRShzaG1kZXNjLCBzdHVmZi0+b2Zmc2V0LAotCQkgICBQaXhtYXBC
eXRlUGFkKHN0dWZmLT53aWR0aCwgc3R1ZmYtPmRlcHRoKSAqIHN0dWZmLT5oZWlnaHQsCi0JCSAg
IGNsaWVudCk7CisgICAgVkVSSUZZX1NITVNJWkUoc2htZGVzYywgc3R1ZmYtPm9mZnNldCwgc2l6
ZSwgY2xpZW50KTsKIAogICAgIGlmKCEobmV3UGl4ID0gKFBhbm9yYW1pWFJlcyAqKSB4YWxsb2Mo
c2l6ZW9mKFBhbm9yYW1pWFJlcykpKSkKIAlyZXR1cm4gQmFkQWxsb2M7CkBAIC0xMDQ3LDYgKzEw
NjIsOCBAQCBQcm9jU2htQ3JlYXRlUGl4bWFwKGNsaWVudCkKICAgICByZWdpc3RlciBpbnQgaTsK
ICAgICBTaG1EZXNjUHRyIHNobWRlc2M7CiAgICAgUkVRVUVTVCh4U2htQ3JlYXRlUGl4bWFwUmVx
KTsKKyAgICB1bnNpZ25lZCBpbnQgd2lkdGgsIGhlaWdodCwgZGVwdGg7CisgICAgdW5zaWduZWQg
bG9uZyBzaXplOwogCiAgICAgUkVRVUVTVF9TSVpFX01BVENIKHhTaG1DcmVhdGVQaXhtYXBSZXEp
OwogICAgIGNsaWVudC0+ZXJyb3JWYWx1ZSA9IHN0dWZmLT5waWQ7CkBAIC0xMDU1LDExICsxMDcy
LDI2IEBAIFByb2NTaG1DcmVhdGVQaXhtYXAoY2xpZW50KQogICAgIExFR0FMX05FV19SRVNPVVJD
RShzdHVmZi0+cGlkLCBjbGllbnQpOwogICAgIFZFUklGWV9HRU9NRVRSQUJMRShwRHJhdywgc3R1
ZmYtPmRyYXdhYmxlLCBjbGllbnQpOwogICAgIFZFUklGWV9TSE1QVFIoc3R1ZmYtPnNobXNlZywg
c3R1ZmYtPm9mZnNldCwgVFJVRSwgc2htZGVzYywgY2xpZW50KTsKLSAgICBpZiAoIXN0dWZmLT53
aWR0aCB8fCAhc3R1ZmYtPmhlaWdodCkKKyAgICAKKyAgICB3aWR0aCA9IHN0dWZmLT53aWR0aDsK
KyAgICBoZWlnaHQgPSBzdHVmZi0+aGVpZ2h0OworICAgIGRlcHRoID0gc3R1ZmYtPmRlcHRoOwor
ICAgIGlmICghd2lkdGggfHwgIWhlaWdodCB8fCAhZGVwdGgpCiAgICAgewogCWNsaWVudC0+ZXJy
b3JWYWx1ZSA9IDA7CiAgICAgICAgIHJldHVybiBCYWRWYWx1ZTsKICAgICB9CisgICAgaWYgKHdp
ZHRoID4gMzI3NjcgfHwgaGVpZ2h0ID4gMzI3NjcpCisJcmV0dXJuIEJhZEFsbG9jOworICAgIHNp
emUgPSBQaXhtYXBCeXRlUGFkKHdpZHRoLCBkZXB0aCkgKiBoZWlnaHQ7CisgICAgaWYgKHNpemVv
ZihzaXplKSA9PSA0KSB7CisJaWYgKHNpemUgPCB3aWR0aCAqIGhlaWdodCkKKwkgICAgcmV0dXJu
IEJhZEFsbG9jOworCS8qIHRoYW5rZnVsbHksIG9mZnNldCBpcyB1bnNpZ25lZCAqLworCWlmIChz
dHVmZi0+b2Zmc2V0ICsgc2l6ZSA8IHNpemUpCisJICAgIHJldHVybiBCYWRBbGxvYzsKKyAgICB9
CisKICAgICBpZiAoc3R1ZmYtPmRlcHRoICE9IDEpCiAgICAgewogICAgICAgICBwRGVwdGggPSBw
RHJhdy0+cFNjcmVlbi0+YWxsb3dlZERlcHRoczsKQEAgLTEwNzAsOSArMTEwMiw3IEBAIFByb2NT
aG1DcmVhdGVQaXhtYXAoY2xpZW50KQogICAgICAgICByZXR1cm4gQmFkVmFsdWU7CiAgICAgfQog
Q3JlYXRlUG1hcDoKLSAgICBWRVJJRllfU0hNU0laRShzaG1kZXNjLCBzdHVmZi0+b2Zmc2V0LAot
CQkgICBQaXhtYXBCeXRlUGFkKHN0dWZmLT53aWR0aCwgc3R1ZmYtPmRlcHRoKSAqIHN0dWZmLT5o
ZWlnaHQsCi0JCSAgIGNsaWVudCk7CisgICAgVkVSSUZZX1NITVNJWkUoc2htZGVzYywgc3R1ZmYt
Pm9mZnNldCwgc2l6ZSwgY2xpZW50KTsKICAgICBwTWFwID0gKCpzaG1GdW5jc1twRHJhdy0+cFNj
cmVlbi0+bXlOdW1dLT5DcmVhdGVQaXhtYXApKAogCQkJICAgIHBEcmF3LT5wU2NyZWVuLCBzdHVm
Zi0+d2lkdGgsCiAJCQkgICAgc3R1ZmYtPmhlaWdodCwgc3R1ZmYtPmRlcHRoLApJbmRleDogeG9y
Zy1zZXJ2ZXItMS4zLjAuMC9YaS9jaGdmY3RsLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0geG9yZy1zZXJ2ZXIt
MS4zLjAuMC5vcmlnL1hpL2NoZ2ZjdGwuYworKysgeG9yZy1zZXJ2ZXItMS4zLjAuMC9YaS9jaGdm
Y3RsLmMKQEAgLTQ1MSwxOCArNDUxLDEzIEBAIENoYW5nZVN0cmluZ0ZlZWRiYWNrKENsaWVudFB0
ciBjbGllbnQsIEQKIAkJICAgICB4U3RyaW5nRmVlZGJhY2tDdGwgKiBmKQogewogICAgIHJlZ2lz
dGVyIGNoYXIgbjsKLSAgICByZWdpc3RlciBsb25nICpwOwogICAgIGludCBpLCBqOwogICAgIEtl
eVN5bSAqc3ltcywgKnN1cF9zeW1zOwogCiAgICAgc3ltcyA9IChLZXlTeW0gKikgKGYgKyAxKTsK
ICAgICBpZiAoY2xpZW50LT5zd2FwcGVkKSB7CiAJc3dhcHMoJmYtPmxlbmd0aCwgbik7CS8qIHN3
YXBwZWQgbnVtX2tleXN5bXMgaW4gY2FsbGluZyBwcm9jICovCi0JcCA9IChsb25nICopKHN5bXMp
OwotCWZvciAoaSA9IDA7IGkgPCBmLT5udW1fa2V5c3ltczsgaSsrKSB7Ci0JICAgIHN3YXBsKHAs
IG4pOwotCSAgICBwKys7Ci0JfQorCVN3YXBMb25ncygoQ0FSRDMyICopIHN5bXMsIGYtPm51bV9r
ZXlzeW1zKTsKICAgICB9CiAKICAgICBpZiAoZi0+bnVtX2tleXN5bXMgPiBzLT5jdHJsLm1heF9z
eW1ib2xzKSB7CkluZGV4OiB4b3JnLXNlcnZlci0xLjMuMC4wL1hpL2NoZ2ttYXAuYwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSB4b3JnLXNlcnZlci0xLjMuMC4wLm9yaWcvWGkvY2hna21hcC5jCisrKyB4b3JnLXNl
cnZlci0xLjMuMC4wL1hpL2NoZ2ttYXAuYwpAQCAtNzksMTggKzc5LDE0IEBAIGludAogU1Byb2NY
Q2hhbmdlRGV2aWNlS2V5TWFwcGluZyhyZWdpc3RlciBDbGllbnRQdHIgY2xpZW50KQogewogICAg
IHJlZ2lzdGVyIGNoYXIgbjsKLSAgICByZWdpc3RlciBsb25nICpwOwotICAgIHJlZ2lzdGVyIGlu
dCBpLCBjb3VudDsKKyAgICByZWdpc3RlciB1bnNpZ25lZCBpbnQgY291bnQ7CiAKICAgICBSRVFV
RVNUKHhDaGFuZ2VEZXZpY2VLZXlNYXBwaW5nUmVxKTsKICAgICBzd2Fwcygmc3R1ZmYtPmxlbmd0
aCwgbik7CiAgICAgUkVRVUVTVF9BVF9MRUFTVF9TSVpFKHhDaGFuZ2VEZXZpY2VLZXlNYXBwaW5n
UmVxKTsKLSAgICBwID0gKGxvbmcgKikmc3R1ZmZbMV07CiAgICAgY291bnQgPSBzdHVmZi0+a2V5
Q29kZXMgKiBzdHVmZi0+a2V5U3ltc1BlcktleUNvZGU7Ci0gICAgZm9yIChpID0gMDsgaSA8IGNv
dW50OyBpKyspIHsKLQlzd2FwbChwLCBuKTsKLQlwKys7Ci0gICAgfQorICAgIFJFUVVFU1RfRklY
RURfU0laRSh4Q2hhbmdlRGV2aWNlS2V5TWFwcGluZ1JlcSwgY291bnQgKiBzaXplb2YoQ0FSRDMy
KSk7CisgICAgU3dhcExvbmdzKChDQVJEMzIgKikgKCZzdHVmZlsxXSksIGNvdW50KTsKICAgICBy
ZXR1cm4gKFByb2NYQ2hhbmdlRGV2aWNlS2V5TWFwcGluZyhjbGllbnQpKTsKIH0KIApAQCAtMTA2
LDEwICsxMDIsMTQgQEAgUHJvY1hDaGFuZ2VEZXZpY2VLZXlNYXBwaW5nKHJlZ2lzdGVyIENsaQog
ICAgIGludCByZXQ7CiAgICAgdW5zaWduZWQgbGVuOwogICAgIERldmljZUludFB0ciBkZXY7Cisg
ICAgdW5zaWduZWQgaW50IGNvdW50OwogCiAgICAgUkVRVUVTVCh4Q2hhbmdlRGV2aWNlS2V5TWFw
cGluZ1JlcSk7CiAgICAgUkVRVUVTVF9BVF9MRUFTVF9TSVpFKHhDaGFuZ2VEZXZpY2VLZXlNYXBw
aW5nUmVxKTsKIAorICAgIGNvdW50ID0gc3R1ZmYtPmtleUNvZGVzICogc3R1ZmYtPmtleVN5bXNQ
ZXJLZXlDb2RlOworICAgIFJFUVVFU1RfRklYRURfU0laRSh4Q2hhbmdlRGV2aWNlS2V5TWFwcGlu
Z1JlcSwgY291bnQgKiBzaXplb2YoQ0FSRDMyKSk7CisKICAgICBkZXYgPSBMb29rdXBEZXZpY2VJ
bnRSZWMoc3R1ZmYtPmRldmljZWlkKTsKICAgICBpZiAoZGV2ID09IE5VTEwpIHsKIAlTZW5kRXJy
b3JUb0NsaWVudChjbGllbnQsIElSZXFDb2RlLCBYX0NoYW5nZURldmljZUtleU1hcHBpbmcsIDAs
CkluZGV4OiB4b3JnLXNlcnZlci0xLjMuMC4wL1hpL2NoZ3Byb3AuYwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB4
b3JnLXNlcnZlci0xLjMuMC4wLm9yaWcvWGkvY2hncHJvcC5jCisrKyB4b3JnLXNlcnZlci0xLjMu
MC4wL1hpL2NoZ3Byb3AuYwpAQCAtODEsMTkgKzgxLDE1IEBAIGludAogU1Byb2NYQ2hhbmdlRGV2
aWNlRG9udFByb3BhZ2F0ZUxpc3QocmVnaXN0ZXIgQ2xpZW50UHRyIGNsaWVudCkKIHsKICAgICBy
ZWdpc3RlciBjaGFyIG47Ci0gICAgcmVnaXN0ZXIgbG9uZyAqcDsKLSAgICByZWdpc3RlciBpbnQg
aTsKIAogICAgIFJFUVVFU1QoeENoYW5nZURldmljZURvbnRQcm9wYWdhdGVMaXN0UmVxKTsKICAg
ICBzd2Fwcygmc3R1ZmYtPmxlbmd0aCwgbik7CiAgICAgUkVRVUVTVF9BVF9MRUFTVF9TSVpFKHhD
aGFuZ2VEZXZpY2VEb250UHJvcGFnYXRlTGlzdFJlcSk7CiAgICAgc3dhcGwoJnN0dWZmLT53aW5k
b3csIG4pOwogICAgIHN3YXBzKCZzdHVmZi0+Y291bnQsIG4pOwotICAgIHAgPSAobG9uZyAqKSZz
dHVmZlsxXTsKLSAgICBmb3IgKGkgPSAwOyBpIDwgc3R1ZmYtPmNvdW50OyBpKyspIHsKLQlzd2Fw
bChwLCBuKTsKLQlwKys7Ci0gICAgfQorICAgIFJFUVVFU1RfRklYRURfU0laRSh4Q2hhbmdlRGV2
aWNlRG9udFByb3BhZ2F0ZUxpc3RSZXEsCisgICAgICAgICAgICAgICAgICAgICAgc3R1ZmYtPmNv
dW50ICogc2l6ZW9mKENBUkQzMikpOworICAgIFN3YXBMb25ncygoQ0FSRDMyICopICgmc3R1ZmZb
MV0pLCBzdHVmZi0+Y291bnQpOwogICAgIHJldHVybiAoUHJvY1hDaGFuZ2VEZXZpY2VEb250UHJv
cGFnYXRlTGlzdChjbGllbnQpKTsKIH0KIApJbmRleDogeG9yZy1zZXJ2ZXItMS4zLjAuMC9YaS9n
cmFiZGV2LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0geG9yZy1zZXJ2ZXItMS4zLjAuMC5vcmlnL1hpL2dyYWJk
ZXYuYworKysgeG9yZy1zZXJ2ZXItMS4zLjAuMC9YaS9ncmFiZGV2LmMKQEAgLTgyLDggKzgyLDYg
QEAgaW50CiBTUHJvY1hHcmFiRGV2aWNlKHJlZ2lzdGVyIENsaWVudFB0ciBjbGllbnQpCiB7CiAg
ICAgcmVnaXN0ZXIgY2hhciBuOwotICAgIHJlZ2lzdGVyIGxvbmcgKnA7Ci0gICAgcmVnaXN0ZXIg
aW50IGk7CiAKICAgICBSRVFVRVNUKHhHcmFiRGV2aWNlUmVxKTsKICAgICBzd2Fwcygmc3R1ZmYt
Pmxlbmd0aCwgbik7CkBAIC05MSwxMSArODksMTEgQEAgU1Byb2NYR3JhYkRldmljZShyZWdpc3Rl
ciBDbGllbnRQdHIgY2xpZQogICAgIHN3YXBsKCZzdHVmZi0+Z3JhYldpbmRvdywgbik7CiAgICAg
c3dhcGwoJnN0dWZmLT50aW1lLCBuKTsKICAgICBzd2Fwcygmc3R1ZmYtPmV2ZW50X2NvdW50LCBu
KTsKLSAgICBwID0gKGxvbmcgKikmc3R1ZmZbMV07Ci0gICAgZm9yIChpID0gMDsgaSA8IHN0dWZm
LT5ldmVudF9jb3VudDsgaSsrKSB7Ci0Jc3dhcGwocCwgbik7Ci0JcCsrOwotICAgIH0KKworICAg
IGlmIChzdHVmZi0+bGVuZ3RoICE9IChzaXplb2YoeEdyYWJEZXZpY2VSZXEpID4+IDIpICsgc3R1
ZmYtPmV2ZW50X2NvdW50KQorICAgICAgIHJldHVybiBCYWRMZW5ndGg7CisgICAgCisgICAgU3dh
cExvbmdzKChDQVJEMzIgKikgKCZzdHVmZlsxXSksIHN0dWZmLT5ldmVudF9jb3VudCk7CiAKICAg
ICByZXR1cm4gKFByb2NYR3JhYkRldmljZShjbGllbnQpKTsKIH0KSW5kZXg6IHhvcmctc2VydmVy
LTEuMy4wLjAvWGkvZ3JhYmRldmIuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB4b3JnLXNlcnZlci0xLjMuMC4w
Lm9yaWcvWGkvZ3JhYmRldmIuYworKysgeG9yZy1zZXJ2ZXItMS4zLjAuMC9YaS9ncmFiZGV2Yi5j
CkBAIC04MCw4ICs4MCw2IEBAIGludAogU1Byb2NYR3JhYkRldmljZUJ1dHRvbihyZWdpc3RlciBD
bGllbnRQdHIgY2xpZW50KQogewogICAgIHJlZ2lzdGVyIGNoYXIgbjsKLSAgICByZWdpc3RlciBs
b25nICpwOwotICAgIHJlZ2lzdGVyIGludCBpOwogCiAgICAgUkVRVUVTVCh4R3JhYkRldmljZUJ1
dHRvblJlcSk7CiAgICAgc3dhcHMoJnN0dWZmLT5sZW5ndGgsIG4pOwpAQCAtODksMTEgKzg3LDkg
QEAgU1Byb2NYR3JhYkRldmljZUJ1dHRvbihyZWdpc3RlciBDbGllbnRQdAogICAgIHN3YXBsKCZz
dHVmZi0+Z3JhYldpbmRvdywgbik7CiAgICAgc3dhcHMoJnN0dWZmLT5tb2RpZmllcnMsIG4pOwog
ICAgIHN3YXBzKCZzdHVmZi0+ZXZlbnRfY291bnQsIG4pOwotICAgIHAgPSAobG9uZyAqKSZzdHVm
ZlsxXTsKLSAgICBmb3IgKGkgPSAwOyBpIDwgc3R1ZmYtPmV2ZW50X2NvdW50OyBpKyspIHsKLQlz
d2FwbChwLCBuKTsKLQlwKys7Ci0gICAgfQorICAgIFJFUVVFU1RfRklYRURfU0laRSh4R3JhYkRl
dmljZUJ1dHRvblJlcSwKKyAgICAgICAgICAgICAgICAgICAgICBzdHVmZi0+ZXZlbnRfY291bnQg
KiBzaXplb2YoQ0FSRDMyKSk7CisgICAgU3dhcExvbmdzKChDQVJEMzIgKikgKCZzdHVmZlsxXSks
IHN0dWZmLT5ldmVudF9jb3VudCk7CiAKICAgICByZXR1cm4gKFByb2NYR3JhYkRldmljZUJ1dHRv
bihjbGllbnQpKTsKIH0KSW5kZXg6IHhvcmctc2VydmVyLTEuMy4wLjAvWGkvZ3JhYmRldmsuYwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSB4b3JnLXNlcnZlci0xLjMuMC4wLm9yaWcvWGkvZ3JhYmRldmsuYworKysg
eG9yZy1zZXJ2ZXItMS4zLjAuMC9YaS9ncmFiZGV2ay5jCkBAIC04MCw4ICs4MCw2IEBAIGludAog
U1Byb2NYR3JhYkRldmljZUtleShyZWdpc3RlciBDbGllbnRQdHIgY2xpZW50KQogewogICAgIHJl
Z2lzdGVyIGNoYXIgbjsKLSAgICByZWdpc3RlciBsb25nICpwOwotICAgIHJlZ2lzdGVyIGludCBp
OwogCiAgICAgUkVRVUVTVCh4R3JhYkRldmljZUtleVJlcSk7CiAgICAgc3dhcHMoJnN0dWZmLT5s
ZW5ndGgsIG4pOwpAQCAtODksMTEgKzg3LDggQEAgU1Byb2NYR3JhYkRldmljZUtleShyZWdpc3Rl
ciBDbGllbnRQdHIgYwogICAgIHN3YXBsKCZzdHVmZi0+Z3JhYldpbmRvdywgbik7CiAgICAgc3dh
cHMoJnN0dWZmLT5tb2RpZmllcnMsIG4pOwogICAgIHN3YXBzKCZzdHVmZi0+ZXZlbnRfY291bnQs
IG4pOwotICAgIHAgPSAobG9uZyAqKSZzdHVmZlsxXTsKLSAgICBmb3IgKGkgPSAwOyBpIDwgc3R1
ZmYtPmV2ZW50X2NvdW50OyBpKyspIHsKLQlzd2FwbChwLCBuKTsKLQlwKys7Ci0gICAgfQorICAg
IFJFUVVFU1RfRklYRURfU0laRSh4R3JhYkRldmljZUtleVJlcSwgc3R1ZmYtPmV2ZW50X2NvdW50
ICogc2l6ZW9mKENBUkQzMikpOworICAgIFN3YXBMb25ncygoQ0FSRDMyICopICgmc3R1ZmZbMV0p
LCBzdHVmZi0+ZXZlbnRfY291bnQpOwogICAgIHJldHVybiAoUHJvY1hHcmFiRGV2aWNlS2V5KGNs
aWVudCkpOwogfQogCkluZGV4OiB4b3JnLXNlcnZlci0xLjMuMC4wL1hpL3NlbGVjdGV2LmMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0geG9yZy1zZXJ2ZXItMS4zLjAuMC5vcmlnL1hpL3NlbGVjdGV2LmMKKysrIHhv
cmctc2VydmVyLTEuMy4wLjAvWGkvc2VsZWN0ZXYuYwpAQCAtODQsMTkgKzg0LDE2IEBAIGludAog
U1Byb2NYU2VsZWN0RXh0ZW5zaW9uRXZlbnQocmVnaXN0ZXIgQ2xpZW50UHRyIGNsaWVudCkKIHsK
ICAgICByZWdpc3RlciBjaGFyIG47Ci0gICAgcmVnaXN0ZXIgbG9uZyAqcDsKLSAgICByZWdpc3Rl
ciBpbnQgaTsKIAogICAgIFJFUVVFU1QoeFNlbGVjdEV4dGVuc2lvbkV2ZW50UmVxKTsKICAgICBz
d2Fwcygmc3R1ZmYtPmxlbmd0aCwgbik7CiAgICAgUkVRVUVTVF9BVF9MRUFTVF9TSVpFKHhTZWxl
Y3RFeHRlbnNpb25FdmVudFJlcSk7CiAgICAgc3dhcGwoJnN0dWZmLT53aW5kb3csIG4pOwogICAg
IHN3YXBzKCZzdHVmZi0+Y291bnQsIG4pOwotICAgIHAgPSAobG9uZyAqKSZzdHVmZlsxXTsKLSAg
ICBmb3IgKGkgPSAwOyBpIDwgc3R1ZmYtPmNvdW50OyBpKyspIHsKLQlzd2FwbChwLCBuKTsKLQlw
Kys7Ci0gICAgfQorICAgIFJFUVVFU1RfRklYRURfU0laRSh4U2VsZWN0RXh0ZW5zaW9uRXZlbnRS
ZXEsCisgICAgICAgICAgICAgICAgICAgICAgc3R1ZmYtPmNvdW50ICogc2l6ZW9mKENBUkQzMikp
OworICAgIFN3YXBMb25ncygoQ0FSRDMyICopICgmc3R1ZmZbMV0pLCBzdHVmZi0+Y291bnQpOwor
CiAgICAgcmV0dXJuIChQcm9jWFNlbGVjdEV4dGVuc2lvbkV2ZW50KGNsaWVudCkpOwogfQogCklu
ZGV4OiB4b3JnLXNlcnZlci0xLjMuMC4wL1hpL3NlbmRleGV2LmMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0geG9y
Zy1zZXJ2ZXItMS4zLjAuMC5vcmlnL1hpL3NlbmRleGV2LmMKKysrIHhvcmctc2VydmVyLTEuMy4w
LjAvWGkvc2VuZGV4ZXYuYwpAQCAtODMsNyArODMsNyBAQCBpbnQKIFNQcm9jWFNlbmRFeHRlbnNp
b25FdmVudChyZWdpc3RlciBDbGllbnRQdHIgY2xpZW50KQogewogICAgIHJlZ2lzdGVyIGNoYXIg
bjsKLSAgICByZWdpc3RlciBsb25nICpwOworICAgIHJlZ2lzdGVyIENBUkQzMiAqcDsKICAgICBy
ZWdpc3RlciBpbnQgaTsKICAgICB4RXZlbnQgZXZlbnRUOwogICAgIHhFdmVudCAqZXZlbnRQOwpA
QCAtOTQsNiArOTQsMTEgQEAgU1Byb2NYU2VuZEV4dGVuc2lvbkV2ZW50KHJlZ2lzdGVyIENsaWVu
dAogICAgIFJFUVVFU1RfQVRfTEVBU1RfU0laRSh4U2VuZEV4dGVuc2lvbkV2ZW50UmVxKTsKICAg
ICBzd2FwbCgmc3R1ZmYtPmRlc3RpbmF0aW9uLCBuKTsKICAgICBzd2Fwcygmc3R1ZmYtPmNvdW50
LCBuKTsKKworICAgIGlmIChzdHVmZi0+bGVuZ3RoICE9IChzaXplb2YoeFNlbmRFeHRlbnNpb25F
dmVudFJlcSkgPj4gMikgKyBzdHVmZi0+Y291bnQgKworICAgICAgIChzdHVmZi0+bnVtX2V2ZW50
cyAqIChzaXplb2YoeEV2ZW50KSA+PiAyKSkpCisgICAgICAgcmV0dXJuIEJhZExlbmd0aDsKKwog
ICAgIGV2ZW50UCA9ICh4RXZlbnQgKikgJiBzdHVmZlsxXTsKICAgICBmb3IgKGkgPSAwOyBpIDwg
c3R1ZmYtPm51bV9ldmVudHM7IGkrKywgZXZlbnRQKyspIHsKIAlwcm9jID0gRXZlbnRTd2FwVmVj
dG9yW2V2ZW50UC0+dS51LnR5cGUgJiAwMTc3XTsKQEAgLTEwMywxMSArMTA4LDggQEAgU1Byb2NY
U2VuZEV4dGVuc2lvbkV2ZW50KHJlZ2lzdGVyIENsaWVudAogCSpldmVudFAgPSBldmVudFQ7CiAg
ICAgfQogCi0gICAgcCA9IChsb25nICopKCgoeEV2ZW50ICopICYgc3R1ZmZbMV0pICsgc3R1ZmYt
Pm51bV9ldmVudHMpOwotICAgIGZvciAoaSA9IDA7IGkgPCBzdHVmZi0+Y291bnQ7IGkrKykgewot
CXN3YXBsKHAsIG4pOwotCXArKzsKLSAgICB9CisgICAgcCA9IChDQVJEMzIgKikoKCh4RXZlbnQg
KikgJiBzdHVmZlsxXSkgKyBzdHVmZi0+bnVtX2V2ZW50cyk7CisgICAgU3dhcExvbmdzKHAsIHN0
dWZmLT5jb3VudCk7CiAgICAgcmV0dXJuIChQcm9jWFNlbmRFeHRlbnNpb25FdmVudChjbGllbnQp
KTsKIH0KIApJbmRleDogeG9yZy1zZXJ2ZXItMS4zLjAuMC9kaXgvZGl4Zm9udHMuYwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSB4b3JnLXNlcnZlci0xLjMuMC4wLm9yaWcvZGl4L2RpeGZvbnRzLmMKKysrIHhvcmct
c2VydmVyLTEuMy4wLjAvZGl4L2RpeGZvbnRzLmMKQEAgLTMyOSw2ICszMjksMTMgQEAgZG9PcGVu
Rm9udChDbGllbnRQdHIgY2xpZW50LCBPRmNsb3N1cmVQdAogCWVyciA9IEJhZEZvbnROYW1lOwog
CWdvdG8gYmFpbDsKICAgICB9CisgICAgLyogY2hlY2sgdmFsdWVzIGZvciBmaXJzdENvbCwgbGFz
dENvbCwgZmlyc3RSb3csIGFuZCBsYXN0Um93ICovCisgICAgaWYgKHBmb250LT5pbmZvLmZpcnN0
Q29sID4gcGZvbnQtPmluZm8ubGFzdENvbCB8fAorICAgICAgIHBmb250LT5pbmZvLmZpcnN0Um93
ID4gcGZvbnQtPmluZm8ubGFzdFJvdyB8fAorICAgICAgIHBmb250LT5pbmZvLmxhc3RDb2wgLSBw
Zm9udC0+aW5mby5maXJzdENvbCA+IDI1NSkgeworICAgICAgIGVyciA9IEFsbG9jRXJyb3I7Cisg
ICAgICAgZ290byBiYWlsOworICAgIH0KICAgICBpZiAoIXBmb250LT5mcGUpCiAJcGZvbnQtPmZw
ZSA9IGZwZTsKICAgICBwZm9udC0+cmVmY250Kys7CkluZGV4OiB4b3JnLXNlcnZlci0xLjMuMC4w
L2h3L3hmcmVlODYvY29tbW9uL3hmODZNaXNjRXh0LmMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0geG9yZy1zZXJ2
ZXItMS4zLjAuMC5vcmlnL2h3L3hmcmVlODYvY29tbW9uL3hmODZNaXNjRXh0LmMKKysrIHhvcmct
c2VydmVyLTEuMy4wLjAvaHcveGZyZWU4Ni9jb21tb24veGY4Nk1pc2NFeHQuYwpAQCAtNjQwLDYg
KzY0MCwxMCBAQCBNaXNjRXh0UGFzc01lc3NhZ2UoaW50IHNjcm5JbmRleCwgY29uc3QgCiAKICAg
ICBERUJVR19QKCJNaXNjRXh0UGFzc01lc3NhZ2UiKTsKIAorICAgIC8qIHNob3VsZCBjaGVjayB0
aGlzIGluIHRoZSBwcm90b2NvbCwgYnV0IHhmODZOdW1TY3JlZW5zIGlzbid0IGV4cG9ydGVkICov
CisgICAgaWYgKHNjcm5JbmRleCA+PSB4Zjg2TnVtU2NyZWVucykKKwlyZXR1cm4gQmFkVmFsdWU7
CisKICAgICBpZiAoKnBTY3ItPkhhbmRsZU1lc3NhZ2UgPT0gTlVMTCkKIAkgICAgcmV0dXJuIEJh
ZEltcGxlbWVudGF0aW9uOwogICAgIHJldHVybiAoKnBTY3ItPkhhbmRsZU1lc3NhZ2UpKHNjcm5J
bmRleCwgbXNndHlwZSwgbXNndmFsLCByZXRzdHIpOwo=
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>140734</attachid>
            <date>2008-01-11 19:09 0000</date>
            <desc>Tarred up x11-base/xorg-server/</desc>
            <filename>x11-base.tar.bz2</filename>
            <type>application/octet-stream</type>
            <data encoding="base64">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
Si//i7kinChIfIam+YA=
</data>        

          </attachment>
    </bug>

</bugzilla>