This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mimeat_private for more info. ---2141238973-383924441-937419536=:1867 Content-Type: TEXT/PLAIN; charset=US-ASCII I just posted a patch to nmap to the nmap-hackers list which impliments yet another "stealth" scan. This one sends out packets with only the ACK bit set and looks for responses that either have th_win set to some value (0x1000, 0x2000, 0x4000 typically) or th_win is clear. Fyodor went through the nmap-os-fingerprints file and found that it was easy to use that database to find systems which are vulnerable to these kinds of scans. Vulnerable systems of note include: Digital Unix 4.0X FreeBSD <=4.0 OpenBSD <=2.5. AIX <=4.3.2 (is this current?) Notable systems which are /NOT/ vulnerable include: Solaris (all?) IRIX 6.x HP-UX 11.0 Linux (all?) Probably the only "stealth" benefit of this kind of scan would be that it should get through ipfwadm firewalls that use the ACK bit to determine weither or not packets get through (ipfwadm's -k flag), e.g: # allow incoming packets to other high numbered ports from anywhere, but # only for packets with the ACK bit set (i.e. outgoing connections) /sbin/ipfwadm -I -k -a accept -P tcp -S any/0 -D $MYNET 1024:65535 But it should be blocked by ipf's "keep state": pass out quick proto tcp from <MYNET> to any keep state It would be interesting to test this in conjunction with frag scanning against various firewalls. It might also be interesting to test this with out-of-order frag scanning (which nmap doesn't do, due to limitations in SOCK_RAW) against various firewalls (particularly ones that advertise "keep state" functions). Of course, you'll need a vulnerable test system behind the firewall to scan against. Fydoor's post with all the vulnerable systems follows. Attatched is the patch to NMAP 2.3 BETA 3 (applies cleanly to BETA 5 as well). On Wed, 15 Sep 1999, Fyodor wrote: > On Mon, 13 Sep 1999, Lamont Granquist wrote: > > > Yeah, don't know how useful it is, since the only current version of an OS > > that it seems to be effective against is Digital Unix. With only the ACK > > bit set it might be able to get through some firewall rules, though. > > I think it works against the latest FreeBSD as well. Perhaps I should > apply your patch and leave it as another undocumented scan type in the > next version of Nmap. Interestingly, the nmap-os-fingerprints database > that comes with Nmap can often enumerate the operating systems with > interesting characteristics like this. For example, here is an easy way > to get a list of OS versions that should be vulnerable to your window > scan: > > amy~/nmap>cat nmap-os-fingerprints | perl -ne 'while(<>) { chomp;if (/^fingerprint\s+([^\#]+)/i) { if (defined($owin) and defined($cwin) and $owin ne $cwin) { print "$oname ($owin vs. $cwin)\n";} $oname=$1;undef($cwin);undef($owin);} elsif (/^T(4|6)\(.*W=([^%]+)/) { if ($1 eq 4){$owin=$2;} else { $cwin = $2; }}}' | sort -f > A/UX 3.1.1 SVR2 (1000 vs. 0) > ACC Amazon 9.2.29 or Congo 9.2.35 WAN concentrator (1000 vs. 0) > Acorn Risc OS 3.6 (Acorn TCP/IP Stack 4.07) (3000 vs. 0) > Acorn RiscOS 3.7 using AcornNet TCP/IP stack (4000 vs. 0) > AGE Logic, Inc. IBM XStation (2000 vs. 0) > AIX 3.2 (4000 vs. 0) > AIX 4.0 - 4.1 (8000|4000 vs. 0) > AIX 4.02.0001.0000 (4000 vs. 0) > AIX 4.1 (4000 vs. 0) > AIX 4.2 (4000 vs. 0) > AIX 4.2 (4000 vs. 0) > AIX 4.3.2 (4000 vs. 0) > AIX v4.1 running on a C10 (4000 vs. 0) > Alcatel 1000 DSL Router / unknown OS Rev. (2000 vs. 0) > AmigaOS AmiTCP/IP 4.3 (2000 vs. 0) > AmigaOS AmiTCP/IP Genesis 4.6 (8000 vs. 0) > AmigaOS Miami 2.1-3.0 (4000 vs. 0) > AmigaOS Miami 3.0 (4000 vs. 0) > AmigaOS Miami 3.1-3.2 (4000 vs. 0) > AmigaOS Miami Deluxe 0.9 - Miami 3.2B (4000 vs. 0) > AOS/VS or VSII (1000 vs. 0) > Apollo Domain/OS SR10.4 (239C vs. 800) > Auspex Fileserver (AuspexOS 1.9.1/SunOS 4.1.4) (4000 vs. 0) > AXIS NetEye Camera Server V1.20 (100|0 vs. 0) > AXIS or Meridian Data Network CD-ROM server (200 vs. 0) > AXIS Stack -- CD-ROM Server or Printer Server or Camera Server (100|0 vs. 0) > BeOS 4 - 4.5 (3000 vs. 0) > BSDI BSD/OS 2.0 - 2.1 (2000|0 vs. 0) > CacheOS (CacheFlow 2000 proxy cache) (2000 vs. 0) > Canon photocopier/fax/scanner/printer GP30F (C00 vs. 0) > Cisco CacheEngine (2000 vs. 0) > Compaq Tru64 UNIX (formerly Digital UNIX) 4.0e (8000 vs. 0) > Convex OS Release 10.1 (7C00 vs. 0) > Cray Unicos 9.0 - 10.0 or Unicos/mk 1.5.1 (FFFF vs. 0) > Cray UNICOS 9.0.1ai - 10.0.0.2 (8000 vs. 0) > DEC OSF/1 V1.3A (8000 vs. 0) > DECNIS 600 V4.1.3B System (8000 vs. 0) > DECserver700-16, Network Access SW V2.2 (600 vs. 0) > DG/UX Release R4.11MU02 (2238 vs. 0) > Digital OpenVMS AXP 6.2 running Attachmate Pathway 3.1 TCP stack (2000 vs. 0) > Digital Unix 4.0E (7000|8000 vs. 0) > Digital UNIX OSF1 V 3.0,3.2,3.2C (8000 vs. 0) > Digital UNIX OSF1 V 4.0,4.0B,4.0D (8000 vs. 0) > Extreme Gigabit switch (unknown version) (1000 vs. 0) > FreeBSD 2.1.0 - 2.1.5 (4000 vs. 0) > FreeBSD 2.2.1 - 3.2 (4000|0 vs. 0) > FreeBSD 2.2.1 - 4.0 (4000|0 vs. 0) > HP Entria X station (running Netstation 7.x) (2000 vs. 0) > HP-BSD 2.0 (2000 vs. 0) > HP-UX 9.01 - 9.07 (2000 vs. 0) > HP-UX A.09.00 E 9000/817 - A.09.07 A 9000/777 (2000 vs. 0) > HP-UX B.10.01 A 9000/715 (8000 vs. 0) > HP-UX B.10.20 A 9000/715 or 9000/712 or 9000/871 or 9000/861 with tcp_random_seq = 0 (8000 vs. 0) > HP-UX B.10.20 A 9000/715 or 9000/712 or 9000/871 with tcp_random_seq = 1 (8000 vs. 0) > IBM LAN RouteSwitch/Xylan OmniSwitch Version 3.2.5/NeXT (1000 vs. 0) > IBM OS/2 V 2.1 (7000 vs. 0) > IBM OS/2 V.3 (7000 vs. 0) > IBM OS/2 Warp 4.0 (7000 vs. 0) > IBM OS/2 Warp Server for E-business (Aurora) Beta (8000 vs. 0) > IBM OS/2 Warp Server for E-business (Aurora) Beta (8000 vs. 0) > Intel NetportExpress(tm) 10/100 3-port ROM: V05.10a (16D0 vs. 0) > IRIX 5.2 (F000 vs. 0) > IRIX 5.3 (EF2A|F000 vs. 0) > Juniper Router running JUNOS (4000 vs. 0) > LynxOS Realtime OS -- Could be MeetingPlace 3.4, Xylogics Remote Annex 4000 terminal server (1000 vs. 0) > Mac OS X (Rhapsody 5.5) on a G3 (8000 vs. 0) > Meridian Data Network CD-ROM Server (V4.20 Nov 26 1997) (200 vs. 0) > Mirapoint M1000 (OS v 1.0.0) (4000 vs. 0) > NCD X server (SNMP says: NCD16 server 2.3.0 03/12/91 downloaded) (800 vs. 0) > Neoware (was HDS) NetOS V. 2.0.1 or HP ENTRIA C3230A (2000 vs. 0) > NetApp OnTap 3.1.6 (1000 vs. 0) > NetApp OnTap 5.1.2 - 5.2.2 (2000 vs. 0) > NetBSD 1.0 big endian arch (4000 vs. 0) > NetBSD 1.0 little endian arch (4000 vs. 0) > NetBSD 1.1 - 1.2.1 litle endian arch (4000 vs. 0) > NetBSD 1.2 - 1.2.1 big endian arch (4000 vs. 0) > Network Systems router NS6614 (NSC 6600 series) (1000 vs. 0) > NeXT Mach (1000 vs. 0) > OpenBSD 2.1 - 2.3/SPARC (4000 vs. 0) > OpenBSD 2.1/X86 (4000 vs. 0) > OpenBSD 2.2 - 2.3 (4000 vs. 0) > OpenBSD Post 2.4 (November 1998) - 2.5 (4000 vs. 0) > OpenStep 4.0 or NextStep 1.0 (Intel) (1000 vs. 0) > OpenStep 4.1/NeXTStep 3.3 (1000 vs. 0) > OpenStep 4.2/Intel (1000 vs. 0) > OpenVMS 6.1 (1000 vs. 0) > OpenVMS 6.2 (1800 vs. 0) > OpenVMS 7.1 Alpha running Digital's UCX v4.1ECO2 TCP/IP package (BB8 vs. 0) > OpenVMS Alpha 6.2 running DIGITAL TCP/IP Services (UCX) v4.0 (BB8 vs. 0) > OpenVMS Alpha V7.1-1H2 running DIGITAL TCP/IP Services (UCX) V4.2 (1000 vs. 0) > OpenVMS V6.1 on Digital VAX 4000-105A (1800 vs. 0) > OSF/1 5.60 (8000 vs. 0) > Packeteer IP-PacketShaper 2000 V3.1 (1000 vs. 0) > QNX 4.24 (2000 vs. 0) > Redback SMS1000 Router (2000 vs. 0) > Rhapsody 5.3 - 5.4 (Mac OS X Server 1.0 - 1.0-1) (2000 vs. 0) > Router/Switch (LanPlex 2500/Cisco Catalyst 5505/Trancell Webramp/Xylan Omni Switch) (1000 vs. 0) > SEQUENT DYNIX/ptx(R) V4.2.1 (1000 vs. 0) > Shiva LanRover/8E Version 3.5 (1000 vs. 0) > Snap Network Box (4470 vs. 0) > SPP-UX 5.2.1 (8000 vs. <1001) > SPP-UX 5.x on a Convex SPP-1600 (8000 vs. C00) > Stock OpenVMS 7.1 (2200 vs. 0) > SunOS 4.0.3 (1000 vs. 0) > SunOS 4.1.1 - 4.1.4 (or derivative) (1000|2000|6000|C000 vs. 0) > SunOS 4.1.3_U1 + ISI RFC1323 mods from ISI (1000 vs. 0) > Ultrix 4.1 (4000 vs. 0) > Ultrix 4.2 - 4.5 (4000 vs. 0) > Unicos 10.0.0 on Cray 90 (8000 vs. 0) > VAX 7000-610 or 4200/SPX OR 6000-430 (1800 vs. 0) > VAX/VMS 5.3 on a MicroVAX II (1000 vs. 0) > VNS V6.2 (2200 vs. 0) > VxWorks 5.3.x bases system (usually an ethernet hub or switch) (1000 vs. 0) > webcache CacheFlow 5000 with latest OS (2000 vs. 0) > Xylan OmniSwitch 5x/9x ethernet switch, Annex3 Comm server R10.0, or Hitach HI-UX/WE2 (1000 vs. 0) > > > Cheers, > Fyodor > > -- > Fyodor 'finger pgpat_private | pgp -fka' > "I might be able to shoehorn a reference count in on top of the numeric > value by disallowing multiple references on scalars with a numeric value, but > but it wouldn't be as clean. I do occasionally worry about that." -Larry Wall > -- Lamont Granquist lamontgat_private Dept. of Molecular Biotechnology (206)616-5735 fax: (206)685-7344 Box 352145 / University of Washington / Seattle, WA 98195 PGP pubkey: finger lamontgat_private | pgp -fka ---2141238973-383924441-937419536=:1867 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=ackscan-patch Content-Transfer-Encoding: BASE64 Content-ID: <Pine.SGI.4.10.9909151118560.1867at_private> Content-Description: Content-Disposition: attachment; filename=ackscan-patch LS0tIGdsb2JhbF9zdHJ1Y3R1cmVzLmh+CUZyaSBTZXAgMTAgMTg6NTg6NTAg MTk5OQ0KKysrIGdsb2JhbF9zdHJ1Y3R1cmVzLmgJRnJpIFNlcCAxMCAxOTow OTo0MyAxOTk5DQpAQCAtMTY5LDYgKzE2OSw3IEBADQogICBpbnQgeG1hc3Nj YW47DQogICBpbnQgZnJhZ3NjYW47DQogICBpbnQgc3luc2NhbjsNCisgIGlu dCBhY2tzY2FuOw0KICAgaW50IG1haW1vbnNjYW47DQogICBpbnQgZmluc2Nh bjsNCiAgIGludCB1ZHBzY2FuOw0KQEAgLTE4MCw3ICsxODEsNyBAQA0KIH07 DQogICANCiB0eXBlZGVmIHBvcnQgKnBvcnRsaXN0Ow0KLXR5cGVkZWYgZW51 bSB7IFNZTl9TQ0FOLCBGSU5fU0NBTiwgWE1BU19TQ0FOLCBVRFBfU0NBTiwg Q09OTkVDVF9TQ0FOLCBOVUxMX1NDQU4sIFJQQ19TQ0FOLCBNQUlNT05fU0NB TiB9IHN0eXBlOw0KK3R5cGVkZWYgZW51bSB7IFNZTl9TQ0FOLCBGSU5fU0NB TiwgWE1BU19TQ0FOLCBVRFBfU0NBTiwgQ09OTkVDVF9TQ0FOLCBOVUxMX1ND QU4sIEFDS19TQ0FOLCBSUENfU0NBTiwgTUFJTU9OX1NDQU4gfSBzdHlwZTsN CiANCiAjZW5kaWYgLypHTE9CQUxfU1RSVUNUVVJFU19IICovDQogDQotLS0g bm1hcC5jfglGcmkgU2VwIDEwIDE4OjQ3OjI3IDE5OTkNCisrKyBubWFwLmMJ RnJpIFNlcCAxMCAxOTowOTo0NCAxOTk5DQpAQCAtMjUzLDYgKzI1Myw3IEBA DQogCWNhc2UgJ1AnOiAgby5waW5nc2NhbiA9IDE7IGJyZWFrOw0KIAljYXNl ICdSJzogIG8ucnBjc2NhbiA9IDE7IGJyZWFrOw0KIAljYXNlICdTJzogIG8u c3luc2NhbiA9IDE7IGJyZWFrOwkgIA0KKwljYXNlICdBJzogIG8uYWNrc2Nh biA9IDE7IGJyZWFrOw0KIAljYXNlICdUJzogIG8uY29ubmVjdHNjYW4gPSAx OyBicmVhazsNCiAJY2FzZSAnVSc6ICANCiAJICBmcHJpbnRmKG8ubm1hcF9z dGRvdXQsICJXQVJOSU5HOiAgLXNVIGlzIG5vdyBVRFAgc2NhbiAtLSBmb3Ig VENQIEZJTiBzY2FuIHVzZSAtc0ZcbiIpOw0KQEAgLTI4Myw3ICsyODQsNyBA QA0KIA0KIC8qIE5vdyB3ZSBjaGVjayB0aGUgb3B0aW9uIHNhbml0eSAqLw0K IC8qIEluc3VyZSB0aGF0IGF0IGxlYXN0IG9uZSBzY2FudHlwZSBpcyBzZWxl Y3RlZCAqLw0KLWlmICghby5jb25uZWN0c2NhbiAmJiAhby51ZHBzY2FuICYm ICFvLnN5bnNjYW4gJiYgIW8uZmluc2NhbiAmJiAhby5tYWltb25zY2FuICYm ICAhby5udWxsc2NhbiAmJiAhby54bWFzc2NhbiAmJiAhby5ib3VuY2VzY2Fu ICYmICFvLnBpbmdzY2FuKSB7DQoraWYgKCFvLmNvbm5lY3RzY2FuICYmICFv LnVkcHNjYW4gJiYgIW8uc3luc2NhbiAmJiAhby5hY2tzY2FuICYmICFvLmZp bnNjYW4gJiYgIW8ubWFpbW9uc2NhbiAmJiAgIW8ubnVsbHNjYW4gJiYgIW8u eG1hc3NjYW4gJiYgIW8uYm91bmNlc2NhbiAmJiAhby5waW5nc2Nhbikgew0K ICAgby5jb25uZWN0c2NhbisrOw0KICAgaWYgKG8udmVyYm9zZSkgZXJyb3Io Ik5vIHRjcCx1ZHAsIG9yIElDTVAgc2NhbnR5cGUgc3BlY2lmaWVkLCBhc3N1 bWluZyB2YW5pbGxhIHRjcCBjb25uZWN0KCkgc2Nhbi4gVXNlIC1zUCBpZiB5 b3UgcmVhbGx5IGRvbid0IHdhbnQgdG8gcG9ydHNjYW4gKGFuZCBqdXN0IHdh bnQgdG8gc2VlIHdoYXQgaG9zdHMgYXJlIHVwKS4iKTsNCiB9DQpAQCAtMjk5 LDcgKzMwMCw3IEBADQogaWYgKGZhc3RzY2FuICYmIHBvcnRzKSB7DQogICBm YXRhbCgiWW91IGNhbiBzcGVjaWZ5IGZhc3Qgc2NhbiAoLUYpIG9yIGV4cGxp Y2l0bHkgc2VsZWN0IGluZGl2aWR1YWwgcG9ydHMgKC1wKSwgYnV0IG5vdCBi b3RoIik7DQogfSBlbHNlIGlmIChmYXN0c2Nhbikgew0KLSAgcG9ydHMgPSBn ZXRmYXN0cG9ydHMoby5zeW5zY2FufG8uY29ubmVjdHNjYW58by5mcmFnc2Nh bnxvLmZpbnNjYW58by5tYWltb25zY2FufG8uYm91bmNlc2NhbnxvLm51bGxz Y2FufG8ueG1hc3NjYW4sby51ZHBzY2FuKTsNCisgIHBvcnRzID0gZ2V0ZmFz dHBvcnRzKG8uYWNrc2NhbnxvLnN5bnNjYW58by5jb25uZWN0c2NhbnxvLmZy YWdzY2FufG8uZmluc2NhbnxvLm1haW1vbnNjYW58by5ib3VuY2VzY2FufG8u bnVsbHNjYW58by54bWFzc2NhbixvLnVkcHNjYW4pOw0KIH0NCiANCiBpZiAo by5waW5nc2NhbiAmJiBwb3J0cykgew0KQEAgLTMxMSw3ICszMTIsNyBAQA0K IH0NCiANCiBpZiAoIXBvcnRzKSB7DQotICBwb3J0cyA9IGdldGRlZmF1bHRw b3J0cyhvLnN5bnNjYW58by5jb25uZWN0c2NhbnxvLmZyYWdzY2FufG8uZmlu c2NhbnwNCisgIHBvcnRzID0gZ2V0ZGVmYXVsdHBvcnRzKG8uYWNrc2Nhbnxv LnN5bnNjYW58by5jb25uZWN0c2NhbnxvLmZyYWdzY2FufG8uZmluc2NhbnwN CiAJCQkgIG8ubWFpbW9uc2NhbnxvLmJvdW5jZXNjYW58by5udWxsc2Nhbnxv LnhtYXNzY2FuLA0KIAkJCSAgby51ZHBzY2FuKTsNCiB9DQpAQCAtMzIwLDcg KzMyMSw3IEBADQogaWYgKCFvLnRjcF9wcm9iZV9wb3J0KSBvLnRjcF9wcm9i ZV9wb3J0ID0gODA7DQogDQogDQotaWYgKG8ucGluZ3NjYW4gJiYgKG8uY29u bmVjdHNjYW4gfHwgby51ZHBzY2FuIHx8IG8uc3luc2NhbiB8fCBvLmZpbnNj YW4gfHwgby5tYWltb25zY2FuIHx8ICBvLm51bGxzY2FuIHx8IG8ueG1hc3Nj YW4gfHwgby5ib3VuY2VzY2FuKSkgew0KK2lmIChvLnBpbmdzY2FuICYmIChv LmNvbm5lY3RzY2FuIHx8IG8udWRwc2NhbiB8fCBvLmFja3NjYW4gfHwgby5z eW5zY2FuIHx8IG8uZmluc2NhbiB8fCBvLm1haW1vbnNjYW4gfHwgIG8ubnVs bHNjYW4gfHwgby54bWFzc2NhbiB8fCBvLmJvdW5jZXNjYW4pKSB7DQogICBm YXRhbCgiUGluZyBzY2FuIGlzIG5vdCB2YWxpZCB3aXRoIGFueSBvdGhlciBz Y2FuIHR5cGVzICh0aGUgb3RoZXIgb25lcyBhbGwgaW5jbHVkZSBhIHBpbmcg c2NhbiIpOw0KIH0NCiANCkBAIC0zMzIsNyArMzMzLDcgQEANCiAgICAgby5w aW5ndHlwZSA9IFBJTkdUWVBFX1RDUDsNCiAgIH0NCiANCi0gIGlmIChvLmZp bnNjYW4gfHwgby5zeW5zY2FuIHx8IG8ubWFpbW9uc2NhbiB8fCBvLm51bGxz Y2FuIHx8IG8ueG1hc3NjYW4gDQorICBpZiAoby5maW5zY2FuIHx8IG8uYWNr c2NhbiB8fCBvLnN5bnNjYW4gfHwgby5tYWltb25zY2FuIHx8IG8ubnVsbHNj YW4gfHwgby54bWFzc2NhbiANCiAgICAgICB8fCBvLnVkcHNjYW4gKSB7DQog ICAgIGZhdGFsKCJZb3UgcmVxdWVzdGVkIGEgc2NhbiB0eXBlIHdoaWNoIHJl cXVpcmVzIHIwMHQgcHJpdmlsZWdlcywgYW5kIHlvdSBkbyBub3QgaGF2ZSB0 aGVtLlxuIik7DQogICB9DQpAQCAtMzUzLDggKzM1NCw4IEBADQogaWYgKG8u Ym91bmNlc2NhbiAmJiBvLnBpbmd0eXBlICE9IFBJTkdUWVBFX05PTkUpIA0K ICAgZnByaW50ZihvLm5tYXBfc3Rkb3V0LCAiSGludDogaWYgeW91ciBib3Vu Y2Ugc2NhbiB0YXJnZXQgaG9zdHMgYXJlbid0IHJlYWNoYWJsZSBmcm9tIGhl cmUsIHJlbWVtYmVyIHRvIHVzZSAtUDAgc28gd2UgZG9uJ3QgdHJ5IGFuZCBw aW5nIHRoZW0gcHJpb3IgdG8gdGhlIHNjYW5cbiIpOw0KIA0KLWlmIChvLmNv bm5lY3RzY2FuICsgby5zeW5zY2FuICsgby5maW5zY2FuICsgby5tYWltb25z Y2FuICsgby54bWFzc2NhbiArIG8ubnVsbHNjYW4gPiAxKSB7DQotICBmYXRh bCgiWW91IHNwZWNpZmllZCBtb3JlIHRoYW4gb25lIHR5cGUgb2YgVENQIHNj YW4uICBQbGVhc2UgY2hvb3NlIG9ubHkgb25lIG9mIC1zVCwgLXNTLCAtc0Ys IC1zTSwgLXNYLCBhbmQgLXNOIik7DQoraWYgKG8uY29ubmVjdHNjYW4gKyBv LmFja3NjYW4gKyBvLnN5bnNjYW4gKyBvLmZpbnNjYW4gKyBvLm1haW1vbnNj YW4gKyBvLnhtYXNzY2FuICsgby5udWxsc2NhbiA+IDEpIHsNCisgIGZhdGFs KCJZb3Ugc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmUgdHlwZSBvZiBUQ1Agc2Nh bi4gIFBsZWFzZSBjaG9vc2Ugb25seSBvbmUgb2YgLXNULCAtc1MsIC1zRiwg LXNNLCAtc1gsIC1zQSwgYW5kIC1zTiIpOw0KIH0NCiANCiBpZiAoby5udW1k ZWNveXMgPiAwICYmIChvLmJvdW5jZXNjYW4gfHwgby5jb25uZWN0c2Nhbikp IHsNCkBAIC0zNjIsOSArMzYzLDkgQEANCiB9DQogDQogaWYgKG8uZnJhZ3Nj YW4gJiYgKG8uY29ubmVjdHNjYW4gfHwgDQotCQkgICAoby51ZHBzY2FuICYm IChvLnN5bnNjYW4gKyBvLmZpbnNjYW4gKyBvLm1haW1vbnNjYW4gKyANCisJ CSAgIChvLnVkcHNjYW4gJiYgKG8uYWNrc2NhbiArIG8uc3luc2NhbiArIG8u Zmluc2NhbiArIG8ubWFpbW9uc2NhbiArIA0KIAkJCQkgIG8ueG1hc3NjYW4g KyBvLm51bGxzY2FuID09IDApKSkpDQotICBmYXRhbCgiRnJhZ21lbnRhdGlv biBzY2FuIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCBTWU4sIEZJTiwgTWFpbW9u LCBYTUFTLCBvciBOVUxMIHNjYW4gdHlwZXMiKTsNCisgIGZhdGFsKCJGcmFn bWVudGF0aW9uIHNjYW4gY2FuIG9ubHkgYmUgdXNlZCB3aXRoIFNZTiwgRklO LCBNYWltb24sIFhNQVMsIEFDSywgb3IgTlVMTCBzY2FuIHR5cGVzIik7DQog IA0KIGlmIChvLmlkZW50c2NhbiAmJiAhby5jb25uZWN0c2Nhbikgew0KICAg ZXJyb3IoIklkZW50c2NhbiBvbmx5IHdvcmtzIHdpdGggY29ubmVjdCBzY2Fu ICgtc1QpIC4uLiBpZ25vcmluZyBvcHRpb24iKTsNCkBAIC01MzMsNyArNTM0 LDcgQEANCiAgaWYgKGN1cnJlbnRocy0+ZmxhZ3MgJiBIT1NUX1VQIC8qICYm ICFjdXJyZW50aHMtPndpZXJkX3Jlc3BvbnNlcyovICYmDQogICAgICAhby5w aW5nc2Nhbikgew0KICAgIA0KLSAgIGlmIChjdXJyZW50aHMtPmZsYWdzICYg SE9TVF9VUCAmJiAhY3VycmVudGhzLT5zb3VyY2VfaXAuc19hZGRyICYmICgg by5zeW5zY2FuIHx8IG8uZmluc2NhbiB8fCBvLm1haW1vbnNjYW4gfHwgby51 ZHBzY2FuIHx8IG8ubnVsbHNjYW4gfHwgby54bWFzc2NhbikpIHsNCisgICBp ZiAoY3VycmVudGhzLT5mbGFncyAmIEhPU1RfVVAgJiYgIWN1cnJlbnRocy0+ c291cmNlX2lwLnNfYWRkciAmJiAoIG8uYWNrc2NhbiB8fCBvLnN5bnNjYW4g fHwgby5maW5zY2FuIHx8IG8ubWFpbW9uc2NhbiB8fCBvLnVkcHNjYW4gfHwg by5udWxsc2NhbiB8fCBvLnhtYXNzY2FuKSkgew0KICAgICAgaWYgKGdldGhv c3RuYW1lKG15bmFtZSwgTUFYSE9TVE5BTUVMRU4pIHx8IA0KIAkgISh0YXJn ZXQgPSBnZXRob3N0YnluYW1lKG15bmFtZSkpKQ0KICAgICAgICBmYXRhbCgi Q2Fubm90IGdldCBob3N0bmFtZSEgIFRyeSB1c2luZyAtUyA8bXlfSVBfYWRk cmVzcz4gb3IgLWUgPGludGVyZmFjZSB0byBzY2FuIHRocm91Z2g+XG4iKTsg DQpAQCAtNTQ1LDcgKzU0Niw3IEBADQogICAgfQ0KICAgIA0KICAgIC8qIEZp Z3VyZSBvdXQgd2hhdCBsaW5rLWxheWVyIGRldmljZSAoaW50ZXJmYWNlKSB0 byB1c2UgKGllIGV0aDAsIHBwcDAsIGV0YykgKi8NCi0gICBpZiAoISpjdXJy ZW50aHMtPmRldmljZSAmJiBjdXJyZW50aHMtPmZsYWdzICYgSE9TVF9VUCAm JiAoby5udWxsc2NhbiB8fCBvLnhtYXNzY2FuIHx8IG8udWRwc2NhbiB8fCBv LmZpbnNjYW4gfHwgby5tYWltb25zY2FuIHx8ICBvLnN5bnNjYW4gfHwgby5v c3NjYW4pICYmIChpcGFkZHIyZGV2bmFtZSggY3VycmVudGhzLT5kZXZpY2Us ICZjdXJyZW50aHMtPnNvdXJjZV9pcCkgIT0gMCkpDQorICAgaWYgKCEqY3Vy cmVudGhzLT5kZXZpY2UgJiYgY3VycmVudGhzLT5mbGFncyAmIEhPU1RfVVAg JiYgKG8ubnVsbHNjYW4gfHwgby54bWFzc2NhbiB8fCBvLnVkcHNjYW4gfHwg by5maW5zY2FuIHx8IG8ubWFpbW9uc2NhbiB8fCAgby5zeW5zY2FuIHx8IG8u b3NzY2FuIHx8IG8uYWNrc2NhbikgJiYgKGlwYWRkcjJkZXZuYW1lKCBjdXJy ZW50aHMtPmRldmljZSwgJmN1cnJlbnRocy0+c291cmNlX2lwKSAhPSAwKSkN CiAgICAgIGZhdGFsKCJDb3VsZCBub3QgZmlndXJlIG91dCB3aGF0IGRldmlj ZSB0byBzZW5kIHRoZSBwYWNrZXQgb3V0IG9uISAgWW91IG1pZ2h0IHBvc3Np Ymx5IHdhbnQgdG8gdHJ5IC1TIChidXQgdGhpcyBpcyBwcm9iYWJseSBhIGJp Z2dlciBwcm9ibGVtKS4gIElmIHlvdSBhcmUgdHJ5aW5nIHRvIHNwMDBmIHRo ZSBzb3VyY2Ugb2YgYSBTWU4vRklOIHNjYW4gd2l0aCAtUyA8ZmFrZWlwPiwg dGhlbiB5b3UgbXVzdCB1c2UgLWUgZXRoMCAob3Igb3RoZXIgZGV2aWNlbmFt ZSkgdG8gdGVsbCB1cyB3aGF0IGludGVyZmFjZSB0byB1c2UuXG4iKTsNCiAg ICAvKiBTZXQgdXAgdGhlIGRlY295ICovDQogICAgby5kZWNveXNbby5kZWNv eXR1cm5dID0gY3VycmVudGhzLT5zb3VyY2VfaXA7DQpAQCAtNTU0LDYgKzU1 NSw3IEBADQogICAgDQogICAgDQogICAgaWYgKG8uc3luc2NhbikgcG9zX3Nj YW4oY3VycmVudGhzLCBwb3J0cywgU1lOX1NDQU4pOw0KKyAgIGlmIChvLmFj a3NjYW4pIHBvc19zY2FuKGN1cnJlbnRocywgcG9ydHMsIEFDS19TQ0FOKTsN CiAgICBpZiAoby5jb25uZWN0c2NhbikgcG9zX3NjYW4oY3VycmVudGhzLCBw b3J0cywgQ09OTkVDVF9TQ0FOKTsgICAgICANCiAgICANCiAgICBpZiAoby5m aW5zY2FuKSBzdXBlcl9zY2FuKGN1cnJlbnRocywgcG9ydHMsIEZJTl9TQ0FO KTsNCkBAIC0xOTkzLDcgKzE5OTUsNyBAQA0KICAgRkRfWkVSTygmY3NpLmZk c193cml0ZSk7DQogICBGRF9aRVJPKCZjc2kuZmRzX2V4Y2VwdCk7DQogDQot ICBpZiAoc2NhbnR5cGUgPT0gU1lOX1NDQU4gfHwgc2NhbnR5cGUgPT0gUlBD X1NDQU4pDQorICBpZiAoc2NhbnR5cGUgPT0gU1lOX1NDQU4gfHwgc2NhbnR5 cGUgPT0gUlBDX1NDQU4gfHwgc2NhbnR5cGUgPT0gQUNLX1NDQU4pDQogICAg IHNzLm1heF93aWR0aCA9IDE1MDsNCiAgIGVsc2Ugc3MubWF4X3dpZHRoID0g by5tYXhfc29ja2V0czsNCiANCkBAIC0yMDI1LDcgKzIwMjcsNyBAQA0KICAg fQ0KICAgIA0KICAgLyogSW5pdCBvdXIgcmF3IHNvY2tldCAqLw0KLSAgaWYg KHNjYW50eXBlID09IFNZTl9TQ0FOKSB7ICANCisgIGlmICgoc2NhbnR5cGUg PT0gU1lOX1NDQU4pIHx8IChzY2FudHlwZSA9PSBBQ0tfU0NBTikpIHsgIA0K ICAgICBpZiAoKHJhd3NkID0gc29ja2V0KEFGX0lORVQsIFNPQ0tfUkFXLCBJ UFBST1RPX1JBVykpIDwgMCApDQogICAgICAgcGZhdGFsKCJzb2NrZXQgdHJv dWJsZXMgaW4gc3VwZXJfc2NhbiIpOw0KICAgICAvKiBXZSBkbyBub3Qgd2Fu J3QgdG8gdW5ibG9jayB0aGUgc29ja2V0IHNpbmNlIHdlIHdhbnQgdG8gd2Fp dCANCkBAIC0yMDc1LDcgKzIwNzcsMTAgQEANCiAgICAgICBmYXRhbCgiRXJy b3IgY29tcGlsaW5nIG91ciBwY2FwIGZpbHRlcjogJXNcbiIsIHBjYXBfZ2V0 ZXJyKHBkKSk7DQogICAgIGlmIChwY2FwX3NldGZpbHRlcihwZCwgJmZjb2Rl KSA8IDAgKQ0KICAgICAgIGZhdGFsKCJGYWlsZWQgdG8gc2V0IHRoZSBwY2Fw IGZpbHRlcjogJXNcbiIsIHBjYXBfZ2V0ZXJyKHBkKSk7DQotICAgIHNjYW5m bGFncyA9IFRIX1NZTjsNCisgICAgaWYgKHNjYW50eXBlID09IFNZTl9TQ0FO KQ0KKyAgICAgIHNjYW5mbGFncyA9IFRIX1NZTjsNCisgICAgZWxzZQ0KKyAg ICAgIHNjYW5mbGFncyA9IFRIX0FDSzsNCiAgIH0gZWxzZSBpZiAoc2NhbnR5 cGUgPT0gQ09OTkVDVF9TQ0FOKSB7DQogICAgIHJhd3NkID0gLTE7DQogICAg IC8qIEluaXQgb3VyIHNvY2sgKi8NCkBAIC0yMTA3LDcgKzIxMTIsOSBAQA0K ICAgICAgIGZwcmludGYoby5ubWFwX3N0ZG91dCwgIkluaXRpYXRpbmcgU1lO IGhhbGYtb3BlbiBzdGVhbHRoIHNjYW4gYWdhaW5zdCAlcyAoJXMpXG4iLCB0 YXJnZXQtPm5hbWUsIGluZXRfbnRvYSh0YXJnZXQtPmhvc3QpKTsNCiAgICAg ZWxzZSBpZiAoc2NhbnR5cGUgPT0gQ09OTkVDVF9TQ0FOKQ0KICAgICAgIGZw cmludGYoby5ubWFwX3N0ZG91dCwgIkluaXRpYXRpbmcgVENQIGNvbm5lY3Qo KSBzY2FuIGFnYWluc3QgJXMgKCVzKVxuIix0YXJnZXQtPm5hbWUsIGluZXRf bnRvYSh0YXJnZXQtPmhvc3QpKTsgDQotICAgIGVsc2UgIHsNCisgICAgZWxz ZSBpZiAoc2NhbnR5cGUgPT0gQUNLX1NDQU4pDQorICAgICAgZnByaW50Zihv Lm5tYXBfc3Rkb3V0LCAiSW5pdGlhdGluZyBBQ0sgc2NhbiBhZ2FpbnN0ICVz ICglcylcbiIsdGFyZ2V0LT5uYW1lLCBpbmV0X250b2EodGFyZ2V0LT5ob3N0 KSk7DQorICAgIGVsc2Ugew0KICAgICAgIGZwcmludGYoby5ubWFwX3N0ZG91 dCwgIkluaXRpYXRpbmcgUlBDIHNjYW4gYWdhaW5zdCAlcyAoJXMpXG4iLHRh cmdldC0+bmFtZSwgaW5ldF9udG9hKHRhcmdldC0+aG9zdCkpOyANCiAgICAg fQ0KICAgfQ0KQEAgLTIxODEsNyArMjE4OCw3IEBADQogCQkgIHNjYW5bY3Vy cmVudC0+bmV4dF0ucHJldiA9IGN1cnJlbnQgLSBzY2FuOwkgICAgICANCiAJ CX0NCiAJICAgICAgfQ0KLQkgICAgICBpZiAoc2NhbnR5cGUgPT0gU1lOX1ND QU4gfHwgc2NhbnR5cGUgPT0gUlBDX1NDQU4pDQorCSAgICAgIGlmIChzY2Fu dHlwZSA9PSBTWU5fU0NBTiB8fCBzY2FudHlwZSA9PSBSUENfU0NBTiB8fCBz Y2FudHlwZSA9PSBBQ0tfU0NBTikNCiAJCXNzLm51bXF1ZXJpZXNfb3V0c3Rh bmRpbmctLTsNCiAJICAgICAgZWxzZSB7DQogCQkvKiBjbG9zZSB0aGUgYXBw cm9wcmlhdGUgc2QgZm9yIGVhY2ggdHJ5ICovDQpAQCAtMjIwMiw3ICsyMjA5 LDcgQEANCiAJICAgICAgY3VycmVudC0+dHJ5bnVtKys7DQogCSAgICAgIGdl dHRpbWVvZmRheSgmY3VycmVudC0+c2VudFtjdXJyZW50LT50cnludW1dLCBO VUxMKTsNCiAJICAgICAgbm93ID0gY3VycmVudC0+c2VudFtjdXJyZW50LT50 cnludW1dOw0KLQkgICAgICBpZiAoc2NhbnR5cGUgPT0gU1lOX1NDQU4pIHsJ ICAgICAgDQorCSAgICAgIGlmICgoc2NhbnR5cGUgPT0gU1lOX1NDQU4pIHx8 IChzY2FudHlwZSA9PSBBQ0tfU0NBTikpIHsJICAgICAgDQogCQlmb3IoZGVj b3k9MDsgZGVjb3kgPCBvLm51bWRlY295czsgZGVjb3krKykgew0KIAkJICBp ZiAoby5mcmFnc2NhbikNCiAJCSAgICBzZW5kX3NtYWxsX2ZyYWd6KHJhd3Nk LCAmby5kZWNveXNbZGVjb3ldLCAmdGFyZ2V0LT5ob3N0LCBzZXF1ZW5jZXNb Y3VycmVudC0+dHJ5bnVtXSxvLm1hZ2ljX3BvcnQgKyB0cmllcyAqIDMgKyBj dXJyZW50LT50cnludW0sIGN1cnJlbnQtPnBvcnRubywgc2NhbmZsYWdzKTsN CkBAIC0yMjkyLDcgKzIyOTksNyBAQA0KIAkgIC8qCWlmICghdGVzdGluZ2xp c3QpIHRlc3RpbmdsaXN0ID0gY3VycmVudDsgKi8NCiAJICBzcy5udW1xdWVy aWVzX291dHN0YW5kaW5nKys7DQogCSAgZ2V0dGltZW9mZGF5KCZjdXJyZW50 LT5zZW50WzBdLCBOVUxMKTsNCi0JICBpZiAoc2NhbnR5cGUgPT0gU1lOX1ND QU4pIHsJICANCisJICBpZiAoKHNjYW50eXBlID09IFNZTl9TQ0FOKSB8fCAo c2NhbnR5cGUgPT0gQUNLX1NDQU4pKSB7CSAgDQogCSAgICBmb3IoZGVjb3k9 MDsgZGVjb3kgPCBvLm51bWRlY295czsgZGVjb3krKykgew0KIAkgICAgICBp ZiAoby5mcmFnc2NhbikNCiAJCXNlbmRfc21hbGxfZnJhZ3oocmF3c2QsICZv LmRlY295c1tkZWNveV0sICZ0YXJnZXQtPmhvc3QsIHNlcXVlbmNlc1tjdXJy ZW50LT50cnludW1dLCBvLm1hZ2ljX3BvcnQgKyB0cmllcyAqIDMsIGN1cnJl bnQtPnBvcnRubywgc2NhbmZsYWdzKTsNCkBAIC0yMzQ5LDggKzIzNTYsOCBA QA0KIA0KICAgICAgIC8qIE5vdyB0aGF0IHdlIGhhdmUgc2VudCB0aGUgcGFj a2V0cyB3ZSB3YWl0IGZvciByZXNwb25zZXMgKi8NCiAgICAgICBzcy5hbHJl YWR5ZGVjcmVhc2VkcXVlcmllcyA9IDA7DQotICAgICAgaWYgKHNjYW50eXBl ID09IFNZTl9TQ0FOKQ0KLQlnZXRfc3luX3Jlc3VsdHModGFyZ2V0LCBzY2Fu LCAmc3MsICZwaWwsIHBvcnRsb29rdXAsIHBkLCBzZXF1ZW5jZXMpOw0KKyAg ICAgIGlmICgoc2NhbnR5cGUgPT0gU1lOX1NDQU4pIHx8IChzY2FudHlwZSA9 PSBBQ0tfU0NBTikpDQorCWdldF9zeW5fcmVzdWx0cyh0YXJnZXQsIHNjYW4s ICZzcywgJnBpbCwgcG9ydGxvb2t1cCwgcGQsIHNlcXVlbmNlcywgc2NhbnR5 cGUpOw0KICAgICAgIGVsc2UgaWYgKHNjYW50eXBlID09IFJQQ19TQ0FOKSB7 DQogICAgICAgLyogV2Ugb25seSBib3RoZXIgd29ycnlpbmcgYWJvdXQgcmVz cG9uc2VzIGlmIHdlIGhhdmVuJ3QgcmVhY2hlZA0KICAgICAgICAgIGEgY29u Y2x1c2lvbiB5ZXQgKi8NCkBAIC0yNDM1LDcgKzI0NDIsNyBAQA0KICAgfQ0K IA0KICAgaWYgKG8udmVyYm9zZSkNCi0gICAgZnByaW50ZihvLm5tYXBfc3Rk b3V0LCAiVGhlICVzIHNjYW4gdG9vayAlbGQgc2Vjb25kcyB0byBzY2FuICVk IHBvcnRzLlxuIiwgKHNjYW50eXBlID09IFNZTl9TQ0FOKT8gIlNZTiIgOiAo c2NhbnR5cGUgPT0gQ09OTkVDVF9TQ0FOKT8gIlRDUCBjb25uZWN0IiA6ICJS UEMiLCAgKGxvbmcpIHRpbWUoTlVMTCkgLSBzdGFydHRpbWUsIG8ubnVtcG9y dHMpOw0KKyAgICBmcHJpbnRmKG8ubm1hcF9zdGRvdXQsICJUaGUgJXMgc2Nh biB0b29rICVsZCBzZWNvbmRzIHRvIHNjYW4gJWQgcG9ydHMuXG4iLCAoc2Nh bnR5cGUgPT0gQUNLX1NDQU4pID8gIkFDSyIgOiAoc2NhbnR5cGUgPT0gU1lO X1NDQU4pPyAiU1lOIiA6IChzY2FudHlwZSA9PSBDT05ORUNUX1NDQU4pPyAi VENQIGNvbm5lY3QiIDogIlJQQyIsICAobG9uZykgdGltZShOVUxMKSAtIHN0 YXJ0dGltZSwgby5udW1wb3J0cyk7DQogICANCiAgIGZyZWUoc2Nhbik7DQog ICBpZiAocmF3c2QgPj0gMCkgDQpAQCAtMjg1Nyw3ICsyODY0LDcgQEANCiAN CiB2b2lkIGdldF9zeW5fcmVzdWx0cyhzdHJ1Y3QgaG9zdHN0cnVjdCAqdGFy Z2V0LCBzdHJ1Y3QgcG9ydGluZm8gKnNjYW4sDQogCQkgICAgIHN0cnVjdCBz Y2Fuc3RhdHMgKnNzLCBzdHJ1Y3QgcG9ydGluZm9saXN0ICpwaWwsIA0KLQkJ ICAgICBpbnQgKnBvcnRsb29rdXAsIHBjYXBfdCAqcGQsIHVuc2lnbmVkIGxv bmcgKnNlcXVlbmNlcykgew0KKwkJICAgICBpbnQgKnBvcnRsb29rdXAsIHBj YXBfdCAqcGQsIHVuc2lnbmVkIGxvbmcgKnNlcXVlbmNlcywgc3R5cGUgc2Nh bnR5cGUpIHsNCiANCiBzdHJ1Y3QgaXAgKmlwOw0KIGludCBieXRlczsNCkBA IC0yOTE2LDEyICsyOTIzLDIxIEBADQogCSAgICAgIGVycm9yKCJSZWNlaXZl ZCBTWU4gcGFja2V0IGltcGx5aW5nIHRyeW51bSAlZCBmcm9tIHBvcnQgJWhp IGV2ZW4gdGhvdWdoIHRoYXQgcG9ydCBpcyBvbmx5IG9uIHRyeW51bSAlZCAo Y291bGQgYmUgZnJvbSBhbiBlYXJsaWVyIHJvdW5kKSIsIHRyeW51bSwgbmV3 cG9ydCwgY3VycmVudC0+dHJ5bnVtKTsNCiAJICAgIHRyeW51bSA9IC0xOw0K IAkgIH0NCi0JICBpZiAoKHRjcC0+dGhfZmxhZ3MgJiAoVEhfU1lOfFRIX0FD SykpID09IChUSF9TWU58VEhfQUNLKSkgewkgIA0KLQkgICAgbmV3c3RhdGUg PSBQT1JUX09QRU47DQotCSAgfQ0KLQkgIGVsc2UgaWYgKHRjcC0+dGhfZmxh Z3MgJiBUSF9SU1QpIHsJICANCi0JICAgIG5ld3N0YXRlID0gUE9SVF9DTE9T RUQ7DQorICAgICAgICAgIGlmIChzY2FudHlwZSA9PSBTWU5fU0NBTikgew0K KwkgICAgaWYgKCh0Y3AtPnRoX2ZsYWdzICYgKFRIX1NZTnxUSF9BQ0spKSA9 PSAoVEhfU1lOfFRIX0FDSykpIHsJICANCisJICAgICAgbmV3c3RhdGUgPSBQ T1JUX09QRU47DQorCSAgICB9DQorICAgICAgICAgICAgZWxzZSBpZiAodGNw LT50aF9mbGFncyAmIFRIX1JTVCkgewkgIA0KKwkgICAgICBuZXdzdGF0ZSA9 IFBPUlRfQ0xPU0VEOw0KIAkgICAgfQkNCisgICAgICAgICAgfQ0KKyAgICAg ICAgICBpZiAoc2NhbnR5cGUgPT0gQUNLX1NDQU4pIHsNCisgICAgICAgICAg ICBpZiAodGNwLT50aF93aW4pIHsNCisgICAgICAgICAgICAgIG5ld3N0YXRl ID0gUE9SVF9PUEVOOw0KKyAgICAgICAgICAgIH0gZWxzZSB7DQorICAgICAg ICAgICAgICBuZXdzdGF0ZSA9IFBPUlRfQ0xPU0VEOw0KKyAgICAgICAgICAg IH0NCisgICAgICAgICAgfSANCiAJfSBlbHNlIGlmIChpcC0+aXBfcCA9PSBJ UFBST1RPX0lDTVApIHsNCiAJICBpY21wID0gKHN0cnVjdCBpY21wICopICgo Y2hhciAqKWlwICsgc2l6ZW9mKHN0cnVjdCBpcCkpOw0KIAkgIGlwMiA9IChz dHJ1Y3QgaXAgKikgKCgoY2hhciAqKSBpcCkgKyA0ICogaXAtPmlwX2hsICsg OCk7DQpAQCAtMjk5MCw4ICszMDA2LDggQEANCiAJCWZhdGFsKCJEZWxldGlv biBvZiBwb3J0ICVkIGZhaWxlZFxuIiwgcG9ydHNbaV0pOw0KIAkgIH0NCiAJ fQ0KLQlpZiAoby5jb25uZWN0c2NhbiB8fCBvLm51bGxzY2FuIHx8IG8ueG1h c3NjYW4gfHwgby5zeW5zY2FuIHx8IA0KLQkgICAgby5tYWltb25zY2FuIHx8 IG8uZmluc2NhbiB8fCBvLmJvdW5jZXNjYW4pIHsNCisJaWYgKG8uY29ubmVj dHNjYW4gfHwgby5udWxsc2NhbiB8fCBvLnhtYXNzY2FuIHx8IG8uc3luc2Nh biB8fA0KKyAgICAgICAgICAgIG8uYWNrc2NhbiB8fCBvLm1haW1vbnNjYW4g fHwgby5maW5zY2FuIHx8IG8uYm91bmNlc2Nhbikgew0KIAkgIGN1cnJlbnQg PSBsb29rdXBwb3J0KCpwbCwgcG9ydHNbaV0sIElQUFJPVE9fVENQKTsNCiAJ ICBpZiAoIWN1cnJlbnQpDQogCSAgICBhZGRwb3J0KHBsLCBwb3J0c1tpXSwg SVBQUk9UT19UQ1AsIE5VTEwsIFBPUlRfVU5GSVJFV0FMTEVEKTsNCi0tLSBu bWFwLmh+CUZyaSBTZXAgMTAgMTk6MDI6MTUgMTk5OQ0KKysrIG5tYXAuaAlG cmkgU2VwIDEwIDE5OjA5OjQ1IDE5OTkNCkBAIC0yNTgsNyArMjU4LDcgQEAN CiAJCSAgIHN0cnVjdCBwb3J0aW5mb2xpc3QgKnBpbCwgc3RydWN0IGNvbm5l Y3Rzb2NraW5mbyAqY3NpKTsNCiB2b2lkIGdldF9zeW5fcmVzdWx0cyhzdHJ1 Y3QgaG9zdHN0cnVjdCAqdGFyZ2V0LCBzdHJ1Y3QgcG9ydGluZm8gKnNjYW4s DQogCQkgICAgIHN0cnVjdCBzY2Fuc3RhdHMgKnNzLCBzdHJ1Y3QgcG9ydGlu Zm9saXN0ICpwaWwsIA0KLQkJICAgICBpbnQgKnBvcnRsb29rdXAsIHBjYXBf dCAqcGQsIHVuc2lnbmVkIGxvbmcgKnNlcXVlbmNlcyk7DQorCQkgICAgIGlu dCAqcG9ydGxvb2t1cCwgcGNhcF90ICpwZCwgdW5zaWduZWQgbG9uZyAqc2Vx dWVuY2VzLCBzdHlwZSBzY2FudHlwZSk7DQogaW50IGdldF9jb25uZWN0X3Jl c3VsdHMoc3RydWN0IGhvc3RzdHJ1Y3QgKnRhcmdldCwgc3RydWN0IHBvcnRp bmZvICpzY2FuLCANCiAJCQkgc3RydWN0IHNjYW5zdGF0cyAqc3MsIHN0cnVj dCBwb3J0aW5mb2xpc3QgKnBpbCwgDQogCQkJIGludCAqcG9ydGxvb2t1cCwg dW5zaWduZWQgbG9uZyAqc2VxdWVuY2VzLCANCg== ---2141238973-383924441-937419536=:1867--
This archive was generated by hypermail 2b30 : Fri Apr 13 2001 - 15:04:09 PDT