Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:42657 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 20895 invoked from network); 16 Jan 2009 11:54:00 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 16 Jan 2009 11:54:00 -0000 Authentication-Results: pb1.pair.com header.from=leon.kukovec@gmail.com; sender-id=pass; domainkeys=bad Authentication-Results: pb1.pair.com smtp.mail=leon.kukovec@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.218.21 as permitted sender) DomainKey-Status: bad X-DomainKeys: Ecelerity dk_validate implementing draft-delany-domainkeys-base-01 X-PHP-List-Original-Sender: leon.kukovec@gmail.com X-Host-Fingerprint: 209.85.218.21 mail-bw0-f21.google.com Received: from [209.85.218.21] ([209.85.218.21:59236] helo=mail-bw0-f21.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id FC/40-27029-65570794 for ; Fri, 16 Jan 2009 06:54:00 -0500 Received: by bwz14 with SMTP id 14so4348148bwz.23 for ; Fri, 16 Jan 2009 03:53:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:in-reply-to:mime-version:content-type:references; bh=yVjtjjrFsLBmfwX9cU+eP4lc7/UL0wDloAhHWEbb5Ys=; b=kM4H2hzOXi2EMpHATShuJQKnUE5FwC18MRLze0FZYHel0u3HcNT9ucHo+lnS8PWHPZ ReXOTkIgl1Wkanw/RBdgFF0totzAwjCPNG3Ix/lHy66/1rekdvd0/+rj25deob/Olxbg IyPCvdGnEAVoWuL5gEcPGOrAw8WfEcN4BK0uY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version :content-type:references; b=f/+Fq/2VCCXhUpkGDVUPwlrc93n4jtxQyF7XSaUlZyg2TZhKrc8YOVIzvlv+Rx82Xu Yyoos6XbHeVHW6ISy/9tv3xN3rtbuglCT1GU4RS48PKw4BUOAzP5I/ezX3A0oPf8riwd uvJy2v7Wi0ogoKhIkXax5gBQdSLbop/UaRlYs= Received: by 10.181.5.1 with SMTP id h1mr823530bki.56.1232106836142; Fri, 16 Jan 2009 03:53:56 -0800 (PST) Received: by 10.181.141.19 with HTTP; Fri, 16 Jan 2009 03:53:56 -0800 (PST) Message-ID: <6d093fa10901160353n414f153cw7bd92fdcadc632dd@mail.gmail.com> Date: Fri, 16 Jan 2009 12:53:56 +0100 To: "PHP Internals" In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_23830_3113703.1232106836137" References: <6d093fa10901160223y5b4fc38j472927289df6148e@mail.gmail.com> Subject: Re: [PHP-DEV] snmpget/snmpgetnext improvement From: leon.kukovec@gmail.com ("Leon KUKOVEC") ------=_Part_23830_3113703.1232106836137 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hello, >> I have modified snmpget and snmpgetnext to accept >> mixed type object_id. It can be a string, specifying a single object_id, or an >> array of strings specifying multiple object_ids. >> >> The patch is against PHP 5.2.5. Please comment. > > The patch is missing, please use a .txt extension. A patch attached with .txt extension. -- Best Regards, Leon ------=_Part_23830_3113703.1232106836137 Content-Type: text/plain; name=php-5.2.5_multi-varbinds-in-snmpget-pdu.patch.txt Content-Transfer-Encoding: base64 X-Attachment-Id: f_fq0sk5140 Content-Disposition: attachment; filename=php-5.2.5_multi-varbinds-in-snmpget-pdu.patch.txt LS0tIHBocC01LjIuNS12YW5pbGxhL2V4dC9zbm1wL3NubXAuYwkyMDA3LTA3LTA5IDE1OjQyOjA1 LjAwMDAwMDAwMCArMDIwMAorKysgcGhwLTUuMi41L2V4dC9zbm1wL3NubXAuYwkyMDA5LTAxLTE2 IDAwOjEyOjI3LjAwMDAwMDAwMCArMDEwMApAQCAtMzQxLDYgKzM0MSwxMDEgQEAKIAkJYWRkX3By b3BlcnR5X3p2YWwoc25tcHZhbCwgInZhbHVlIiwgdmFsKTsKIAl9CiB9CisvKiB9fX0gKi8KKwor Lyoge3t7IHBocF9zbm1wX2FkZF92YXJfdG9fcGR1CisqCisqIGFkZCBhbiBvYmplY3RfaWQgaW50 byB0aGUgU05NUCBQRFUuIFRoZSBQRFUgY2FuIGJlIGEgU05NUC1HRVQsIFNOTVAtR0VUTkVYVAor Ki8KK3N0YXRpYyBpbnQgcGhwX3NubXBfYWRkX3Zhcl90b19wZHUoc3RydWN0IHNubXBfcGR1ICAq cGR1LAorCQkgICAgICAgICAgICAgICAgICAgY2hhciAgICAgICAgICAgICAqb2JqZWN0X2lkKQor eworCW9pZCBuYW1lW01BWF9OQU1FX0xFTl07CisJc2l6ZV90IG5hbWVfbGVuZ3RoOworCisJbmFt ZV9sZW5ndGggPSBNQVhfT0lEX0xFTjsKKwlpZiAoIXNubXBfcGFyc2Vfb2lkKG9iamVjdF9pZCwg bmFtZSwgJm5hbWVfbGVuZ3RoKSkgeworCQlwaHBfZXJyb3JfZG9jcmVmKE5VTEwgVFNSTUxTX0ND LAorCQkJCUVfV0FSTklORywKKwkJCQkiSW52YWxpZCBvYmplY3QgaWRlbnRpZmllcjogJXMiLCAK KwkJCQlvYmplY3RfaWQpOworCQlyZXR1cm4gRkFJTFVSRTsKKwl9CisKKwlzbm1wX2FkZF9udWxs X3ZhcihwZHUsIG5hbWUsIG5hbWVfbGVuZ3RoKTsKKworCXJldHVybiBTVUNDRVNTOworfQorLyog fX19ICovCisKKy8qIHt7eyBwaHBfc25tcF9hZGRfYXJyYXlfdG9fcGR1CisqCisqIGFkZCBhbGwg b2JqZWN0X2lkcyBzcGVjaWZpZWQgaW4gdGhlIGFycmF5IGludG8gdGhlIFNOTVAgUERVLgorKi8K K3N0YXRpYyBpbnQgcGhwX3NubXBfYWRkX2FycmF5X3RvX3BkdShzdHJ1Y3Qgc25tcF9wZHUgICpw ZHUsCisJCUhhc2hUYWJsZSAqYXJyYXksIGludCAqdmJfY291bnQpCit7CisJenZhbCAgICAgICAg ICoqdmFsOworCUhhc2hQb3NpdGlvbiAgIHBvczsKKwlpbnQgICAgICAgICAgICBzdGF0dXM7CisK KwkqdmJfY291bnQgPSAwOworCisJemVuZF9oYXNoX2ludGVybmFsX3BvaW50ZXJfcmVzZXRfZXgo YXJyYXksICZwb3MpOworCisJd2hpbGUgKHplbmRfaGFzaF9nZXRfY3VycmVudF9kYXRhX2V4KAor CQkJCWFycmF5LCAodm9pZCAqKikmdmFsLCAmcG9zKSA9PSBTVUNDRVNTKSB7CisKKwkJY29udmVy dF90b19zdHJpbmdfZXggKHZhbCk7CisJCQorCQlzdGF0dXMgPSBwaHBfc25tcF9hZGRfdmFyX3Rv X3BkdSAocGR1LCBaX1NUUlZBTF9QUCh2YWwpKTsKKwkJaWYgKHN0YXR1cyAhPSBTVUNDRVNTKQor CQl7CisJCQlyZXR1cm4gRkFJTFVSRTsKKwkJfQorCisJCSgqdmJfY291bnQpKys7CisJCXplbmRf aGFzaF9tb3ZlX2ZvcndhcmRfZXgoYXJyYXksICZwb3MpOworCX0KKwkKKwlyZXR1cm4gU1VDQ0VT UzsKK30KKy8qIH19fSAqLworCisvKiB7e3sgcGhwX3NubXBfYWRkX3ZhcnNfdG9fcGR1CisqCisq IEFkZCBvYmplY3RfaWQgdG8gdGhlIFNOTVAgUERVLiBvYmplY3RfaWQgY2FuIGJlIGEgc2luZ2xl IG9yIAorKiBtdWx0aXBsZSBvYmplY3RfaWRzLCBzcGVjaWZlZCBpbiBhcnJheS4KKyoKKyovCitz dGF0aWMgaW50IHBocF9zbm1wX2FkZF92YXJzX3RvX3BkdShzdHJ1Y3Qgc25tcF9wZHUgICpwZHUs CisJCSAgICAgICAgICAgICAgICAgICAgenZhbCAgICAgICAgICAgICoqb2JqaWQsCisJCQkJCQkJ aW50ICAgICAgICAgICAgICAqdmJfY291bnQpCit7CisJaW50IHN0YXR1czsKKworCXN3aXRjaCAo Wl9UWVBFX1BQKG9iamlkKSkKKwl7CisJCWNhc2UgSVNfU1RSSU5HOgorCQkJc3RhdHVzID0gcGhw X3NubXBfYWRkX3Zhcl90b19wZHUgKAorCQkJCQlwZHUsIFpfU1RSVkFMX1BQIChvYmppZCkpOwor CQkJKnZiX2NvdW50ID0gMTsKKwkJCWJyZWFrOworCQljYXNlIElTX0FSUkFZOgorCQkJc3RhdHVz ID0gcGhwX3NubXBfYWRkX2FycmF5X3RvX3BkdSAoCisJCQkJCXBkdSwgWl9BUlJWQUxfUFAgKG9i amlkKSwgdmJfY291bnQpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQljb252ZXJ0X3RvX3N0 cmluZ19leCAob2JqaWQpOworCQkJc3RhdHVzID0gcGhwX3NubXBfYWRkX3Zhcl90b19wZHUgKAor CQkJCQlwZHUsIFpfU1RSVkFMX1BQIChvYmppZCkpOworCQkJKnZiX2NvdW50ID0gMTsKKwkJCWJy ZWFrOworCX0KKworCXJldHVybiBzdGF0dXM7Cit9CisvKiB9fX0gKi8KIAogLyoge3t7IHBocF9z bm1wX2ludGVybmFsCiAqCkBAIC0zNTYsMTAgKzQ1MSwxMCBAQAogKgogKi8KIHN0YXRpYyB2b2lk IHBocF9zbm1wX2ludGVybmFsKElOVEVSTkFMX0ZVTkNUSU9OX1BBUkFNRVRFUlMsIGludCBzdCwg Ci0JCQkJCQkJc3RydWN0IHNubXBfc2Vzc2lvbiAqc2Vzc2lvbiwKLQkJCQkJCQljaGFyICpvYmpp ZCwKLQkJCQkJCQljaGFyIHR5cGUsCi0JCQkJCQkJY2hhciogdmFsdWUpIAorCQlzdHJ1Y3Qgc25t cF9zZXNzaW9uICAqc2Vzc2lvbiwKKwkJenZhbCAgICAgICAgICAgICAgICAqKm9iamlkLAorCQlj aGFyICAgICAgICAgICAgICAgICAgdHlwZSwKKwkJY2hhciAgICAgICAgICAgICAgICAgKnZhbHVl KSAKIHsKIAlzdHJ1Y3Qgc25tcF9zZXNzaW9uICpzczsKIAlzdHJ1Y3Qgc25tcF9wZHUgKnBkdT1O VUxMLCAqcmVzcG9uc2U7CkBAIC0zNzUsMTQgKzQ3MCwyNiBAQAogCWludCBrZWVwd2Fsa2luZz0x OwogCWNoYXIgKmVycjsKIAl6dmFsICpzbm1wdmFsID0gTlVMTDsKKwljaGFyICpvYmplY3RfaWQg PSBOVUxMOworCWludCAgIHZiX2NvdW50OwogCiAJaWYgKHN0ID49IFNOTVBfQ01EX1dBTEspIHsg Lyogd2FsayAqLworCQkvKiB3YWxrIHN1cHBvcnRzIHN0cmluZyBvbmx5IG9iamlkICovCisJCWlm IChJU19TVFJJTkcgIT0gWl9UWVBFX1BQKG9iamlkKSkgeworCQkJcGhwX2Vycm9yX2RvY3JlZihO VUxMIFRTUk1MU19DQywKKwkJCQkJRV9XQVJOSU5HLAorCQkJCQkib2JqZWN0X2lkIHNob3VsZCBi ZSBhIHN0cmluZyIpOworCQkJUkVUVVJOX0ZBTFNFOworCQl9CisKKwkJb2JqZWN0X2lkID0gWl9T VFJWQUxfUFAob2JqaWQpOworCiAJCXJvb3RsZW4gPSBNQVhfTkFNRV9MRU47Ci0JCWlmIChzdHJs ZW4ob2JqaWQpKSB7IC8qIG9uIGEgd2FsaywgYW4gZW1wdHkgc3RyaW5nIG1lYW5zIHRvcCBvZiB0 cmVlIC0gbm8gZXJyb3IgKi8KLQkJCWlmIChzbm1wX3BhcnNlX29pZChvYmppZCwgcm9vdCwgJnJv b3RsZW4pKSB7CisJCWlmIChzdHJsZW4ob2JqZWN0X2lkKSkgeyAvKiBvbiBhIHdhbGssIGFuIGVt cHR5IHN0cmluZyBtZWFucyB0b3Agb2YgdHJlZSAtIG5vIGVycm9yICovCisJCQlpZiAoc25tcF9w YXJzZV9vaWQob2JqZWN0X2lkLCByb290LCAmcm9vdGxlbikpIHsKIAkJCQlnb3Ryb290ID0gMTsK IAkJCX0gZWxzZSB7Ci0JCQkJcGhwX2Vycm9yX2RvY3JlZihOVUxMIFRTUk1MU19DQywgRV9XQVJO SU5HLCAiSW52YWxpZCBvYmplY3QgaWRlbnRpZmllcjogJXMiLCBvYmppZCk7CisJCQkJcGhwX2Vy cm9yX2RvY3JlZihOVUxMIFRTUk1MU19DQywgRV9XQVJOSU5HLCAiSW52YWxpZCBvYmplY3QgaWRl bnRpZmllcjogJXMiLCBvYmplY3RfaWQpOwogCQkJfQogCQl9CiAKQEAgLTQxOCwxMyArNTI1LDI3 IEBACiAJCWtlZXB3YWxraW5nID0gMDsKIAkJaWYgKChzdCA9PSBTTk1QX0NNRF9HRVQpIHx8IChz dCA9PSBTTk1QX0NNRF9HRVRORVhUKSkgewogCQkJcGR1ID0gc25tcF9wZHVfY3JlYXRlKChzdCA9 PSBTTk1QX0NNRF9HRVQpID8gU05NUF9NU0dfR0VUIDogU05NUF9NU0dfR0VUTkVYVCk7Ci0JCQlu YW1lX2xlbmd0aCA9IE1BWF9PSURfTEVOOwotCQkJaWYgKCFzbm1wX3BhcnNlX29pZChvYmppZCwg bmFtZSwgJm5hbWVfbGVuZ3RoKSkgewotCQkJCXBocF9lcnJvcl9kb2NyZWYoTlVMTCBUU1JNTFNf Q0MsIEVfV0FSTklORywgIkludmFsaWQgb2JqZWN0IGlkZW50aWZpZXI6ICVzIiwgb2JqaWQpOwor CQkJdmJfY291bnQgPSAwOworCQkJc3RhdHVzID0gcGhwX3NubXBfYWRkX3ZhcnNfdG9fcGR1IChw ZHUsIG9iamlkLCAmdmJfY291bnQpOworCQkJaWYgKHN0YXR1cyAhPSBTVUNDRVNTKSB7CiAJCQkJ c25tcF9jbG9zZShzcyk7CiAJCQkJUkVUVVJOX0ZBTFNFOwogCQkJfQotCQkJc25tcF9hZGRfbnVs bF92YXIocGR1LCBuYW1lLCBuYW1lX2xlbmd0aCk7CisKKwkJCWlmICghdmJfY291bnQpIHsKKwkJ CQlwaHBfZXJyb3JfZG9jcmVmKE5VTEwgVFNSTUxTX0NDLCBFX1dBUk5JTkcsIAorCQkJCQkJIm5v IG9iamVjdF9pZChzKSBzcGVjaWZpZWQgaW4gYXJyYXkiKTsKKwkJCQlzbm1wX2Nsb3NlKHNzKTsK KwkJCQlSRVRVUk5fRkFMU0U7CisJCQl9CisKKwkJCS8qCisJCQkgKiBpZiBtb3JlIHRoYW4gYSBz aW5nbGUgb2JqZWN0X2lkIHdhcyBzcGVjaWZpZWQKKwkJCSAqIGEgcmV0dXJuIG11c3QgYmUgYW4g YXJyYXkKKwkJCSAqLworCQkJaWYgKHZiX2NvdW50ID4gMSkgeworCQkJCWFycmF5X2luaXQocmV0 dXJuX3ZhbHVlKTsKKwkJCX0KIAkJfSBlbHNlIGlmIChzdCA9PSBTTk1QX0NNRF9TRVQpIHsKIAkJ CXBkdSA9IHNubXBfcGR1X2NyZWF0ZShTTk1QX01TR19TRVQpOwogCQkJaWYgKHNubXBfYWRkX3Zh cihwZHUsIG5hbWUsIG5hbWVfbGVuZ3RoLCB0eXBlLCB2YWx1ZSkpIHsKQEAgLTQ1Miw2ICs1NzMs NyBAQAogCQlzdGF0dXMgPSBzbm1wX3N5bmNoX3Jlc3BvbnNlKHNzLCBwZHUsICZyZXNwb25zZSk7 CiAJCWlmIChzdGF0dXMgPT0gU1RBVF9TVUNDRVNTKSB7CiAJCQlpZiAocmVzcG9uc2UtPmVycnN0 YXQgPT0gU05NUF9FUlJfTk9FUlJPUikgeworCQkJCXZiX2NvdW50ID0gY291bnRfdmFyYmluZHMg KHJlc3BvbnNlLT52YXJpYWJsZXMpOwogCQkJCWZvciAodmFycyA9IHJlc3BvbnNlLT52YXJpYWJs ZXM7IHZhcnM7IHZhcnMgPSB2YXJzLT5uZXh0X3ZhcmlhYmxlKSB7CiAJCQkJCWlmIChzdCA+PSBT Tk1QX0NNRF9XQUxLICYmIHN0ICE9IFNOTVBfQ01EX1NFVCAmJiAKIAkJCQkJCSh2YXJzLT5uYW1l X2xlbmd0aCA8IHJvb3RsZW4gfHwgbWVtY21wKHJvb3QsIHZhcnMtPm5hbWUsIHJvb3RsZW4gKiBz aXplb2Yob2lkKSkpKSB7CkBAIC00NjQsMTYgKzU4NiwzNiBAQAogCQkJCQl9CiAKIAkJCQkJaWYg KHN0ID09IFNOTVBfQ01EX0dFVCkgewotCQkJCQkJKnJldHVybl92YWx1ZSA9ICpzbm1wdmFsOwot CQkJCQkJenZhbF9jb3B5X2N0b3IocmV0dXJuX3ZhbHVlKTsKLQkJCQkJCXp2YWxfcHRyX2R0b3Io JnNubXB2YWwpOwotCQkJCQkJc25tcF9jbG9zZShzcyk7Ci0JCQkJCQlyZXR1cm47CisJCQkJCQlp ZiAodmJfY291bnQgPT0gMSkgeworCQkJCQkJCSpyZXR1cm5fdmFsdWUgPSAqc25tcHZhbDsKKwkJ CQkJCQl6dmFsX2NvcHlfY3RvcihyZXR1cm5fdmFsdWUpOworCQkJCQkJCXp2YWxfcHRyX2R0b3Io JnNubXB2YWwpOworCQkJCQkJCXNubXBfY2xvc2Uoc3MpOworCQkJCQkJCXJldHVybjsKKwkJCQkJ CX0gZWxzZSB7CisjaWZkZWYgSEFWRV9ORVRfU05NUAorCQkJCQkJCXNucHJpbnRfb2JqaWQoYnVm Miwgc2l6ZW9mKGJ1ZjIpLCAKKwkJCQkJCQkJCXZhcnMtPm5hbWUsIHZhcnMtPm5hbWVfbGVuZ3Ro KTsKKyNlbHNlCisJCQkJCQkJc3ByaW50X29iamlkKGJ1ZjIsIHZhcnMtPm5hbWUsIHZhcnMtPm5h bWVfbGVuZ3RoKTsKKyNlbmRpZgorCQkJCQkJCWFkZF9hc3NvY196dmFsKHJldHVybl92YWx1ZSwg YnVmMiwgc25tcHZhbCk7CisJCQkJCQl9CiAJCQkJCX0gZWxzZSBpZiAoc3QgPT0gU05NUF9DTURf R0VUTkVYVCkgewotCQkJCQkJKnJldHVybl92YWx1ZSA9ICpzbm1wdmFsOwotCQkJCQkJenZhbF9j b3B5X2N0b3IocmV0dXJuX3ZhbHVlKTsKLQkJCQkJCXNubXBfY2xvc2Uoc3MpOwotCQkJCQkJcmV0 dXJuOworCQkJCQkJaWYgKHZiX2NvdW50ID09IDEpIHsKKwkJCQkJCQkqcmV0dXJuX3ZhbHVlID0g KnNubXB2YWw7CisJCQkJCQkJenZhbF9jb3B5X2N0b3IocmV0dXJuX3ZhbHVlKTsKKwkJCQkJCQlz bm1wX2Nsb3NlKHNzKTsKKwkJCQkJCQlyZXR1cm47CisJCQkJCQl9IGVsc2UgeworI2lmZGVmIEhB VkVfTkVUX1NOTVAKKwkJCQkJCQlzbnByaW50X29iamlkKGJ1ZjIsIHNpemVvZihidWYyKSwgCisJ CQkJCQkJCQl2YXJzLT5uYW1lLCB2YXJzLT5uYW1lX2xlbmd0aCk7CisjZWxzZQorCQkJCQkJCXNw cmludF9vYmppZChidWYyLCB2YXJzLT5uYW1lLCB2YXJzLT5uYW1lX2xlbmd0aCk7CisjZW5kaWYK KwkJCQkJCQlhZGRfYXNzb2NfenZhbChyZXR1cm5fdmFsdWUsIGJ1ZjIsc25tcHZhbCk7CisJCQkJ CQl9CiAJCQkJCX0gZWxzZSBpZiAoc3QgPT0gU05NUF9DTURfV0FMSykgewogCQkJCQkJYWRkX25l eHRfaW5kZXhfenZhbChyZXR1cm5fdmFsdWUsc25tcHZhbCk7IC8qIEFkZCB0byByZXR1cm5lZCBh cnJheSAqLwogCQkJCQl9IGVsc2UgaWYgKHN0ID09IFNOTVBfQ01EX1JFQUxXQUxLKSAgewpAQCAt NTc1LDcgKzcxNyw4IEBACiAqLwogc3RhdGljIHZvaWQgcGhwX3NubXAoSU5URVJOQUxfRlVOQ1RJ T05fUEFSQU1FVEVSUywgaW50IHN0LCBpbnQgdmVyc2lvbikgCiB7Ci0JenZhbCAqKmExLCAqKmEy LCAqKmEzLCAqKmE0LCAqKmE1LCAqKmE2LCAqKmE3OworCXp2YWwgKip6X2hvc3RuYW1lLCAqKnpf Y29tbXVuaXR5LCAqKnpfb2lkLCAqKnpfdHlwZSwgKip6X3ZhbHVlOworCXp2YWwgKip6X3RpbWVv dXQsICoqel9yZXRyaWVzOwogCXN0cnVjdCBzbm1wX3Nlc3Npb24gc2Vzc2lvbjsKIAlsb25nIHRp bWVvdXQ9U05NUF9ERUZBVUxUX1RJTUVPVVQ7CiAJbG9uZyByZXRyaWVzPVNOTVBfREVGQVVMVF9S RVRSSUVTOwpAQCAtNTg3LDUyICs3MzAsNTcgQEAKIAljaGFyICpwcHRyOwogCiAJaWYgKG15YXJn YyA8IDMgfHwgbXlhcmdjID4gNyB8fAotCQl6ZW5kX2dldF9wYXJhbWV0ZXJzX2V4KG15YXJnYywg JmExLCAmYTIsICZhMywgJmE0LCAmYTUsICZhNiwgJmE3KSA9PSBGQUlMVVJFKSB7CisJCXplbmRf Z2V0X3BhcmFtZXRlcnNfZXgobXlhcmdjLAorCQkJJnpfaG9zdG5hbWUsCisJCQkmel9jb21tdW5p dHksCisJCQkmel9vaWQsCisJCQkmel90eXBlLAorCQkJJnpfdmFsdWUsCisJCQkmel90aW1lb3V0 LAorCQkJJnpfcmV0cmllcykgPT0gRkFJTFVSRSkgewogCQlXUk9OR19QQVJBTV9DT1VOVDsKIAl9 CiAKLQljb252ZXJ0X3RvX3N0cmluZ19leChhMSk7Ci0JY29udmVydF90b19zdHJpbmdfZXgoYTIp OwotCWNvbnZlcnRfdG9fc3RyaW5nX2V4KGEzKTsKLQkKKwljb252ZXJ0X3RvX3N0cmluZ19leCh6 X2hvc3RuYW1lKTsKKwljb252ZXJ0X3RvX3N0cmluZ19leCh6X2NvbW11bml0eSk7CisKIAlpZiAo c3QgPT0gU05NUF9DTURfU0VUKSB7CiAJCWlmIChteWFyZ2MgPCA1KSB7CiAJCQlXUk9OR19QQVJB TV9DT1VOVDsKIAkJfQogCi0JCWNvbnZlcnRfdG9fc3RyaW5nX2V4KGE0KTsKLQkJY29udmVydF90 b19zdHJpbmdfZXgoYTUpOworCQljb252ZXJ0X3RvX3N0cmluZ19leCh6X3R5cGUpOworCQljb252 ZXJ0X3RvX3N0cmluZ19leCh6X3ZhbHVlKTsKIAogCQlpZihteWFyZ2MgPiA1KSB7Ci0JCQljb252 ZXJ0X3RvX2xvbmdfZXgoYTYpOwotCQkJdGltZW91dCA9IFpfTFZBTF9QUChhNik7CisJCQljb252 ZXJ0X3RvX2xvbmdfZXgoel90aW1lb3V0KTsKKwkJCXRpbWVvdXQgPSBaX0xWQUxfUFAoel90aW1l b3V0KTsKIAkJfQogCiAJCWlmKG15YXJnYyA+IDYpIHsKLQkJCWNvbnZlcnRfdG9fbG9uZ19leChh Nyk7Ci0JCQlyZXRyaWVzID0gWl9MVkFMX1BQKGE3KTsKKwkJCWNvbnZlcnRfdG9fbG9uZ19leCh6 X3JldHJpZXMpOworCQkJcmV0cmllcyA9IFpfTFZBTF9QUCh6X3JldHJpZXMpOwogCQl9CiAKLQkJ dHlwZSA9IFpfU1RSVkFMX1BQKGE0KVswXTsKLQkJdmFsdWUgPSBaX1NUUlZBTF9QUChhNSk7CisJ CXR5cGUgPSBaX1NUUlZBTF9QUCh6X3R5cGUpWzBdOworCQl2YWx1ZSA9IFpfU1RSVkFMX1BQKHpf dmFsdWUpOwogCX0gZWxzZSB7CiAJCWlmKG15YXJnYyA+IDMpIHsKLQkJCWNvbnZlcnRfdG9fbG9u Z19leChhNCk7Ci0JCQl0aW1lb3V0ID0gWl9MVkFMX1BQKGE0KTsKKwkJCWNvbnZlcnRfdG9fbG9u Z19leCh6X3RpbWVvdXQpOworCQkJdGltZW91dCA9IFpfTFZBTF9QUCh6X3RpbWVvdXQpOwogCQl9 CiAKIAkJaWYobXlhcmdjID4gNCkgewotCQkJY29udmVydF90b19sb25nX2V4KGE1KTsKLQkJCXJl dHJpZXMgPSBaX0xWQUxfUFAoYTUpOworCQkJY29udmVydF90b19sb25nX2V4KHpfcmV0cmllcyk7 CisJCQlyZXRyaWVzID0gWl9MVkFMX1BQKHpfcmV0cmllcyk7CiAJCX0KIAl9CiAKIAlzbm1wX3Nl c3NfaW5pdCgmc2Vzc2lvbik7Ci0Jc3RybGNweShob3N0bmFtZSwgWl9TVFJWQUxfUFAoYTEpLCBz aXplb2YoaG9zdG5hbWUpKTsKKwlzdHJsY3B5KGhvc3RuYW1lLCBaX1NUUlZBTF9QUCh6X2hvc3Ru YW1lKSwgc2l6ZW9mKGhvc3RuYW1lKSk7CiAJaWYgKChwcHRyID0gc3RyY2hyIChob3N0bmFtZSwg JzonKSkpIHsKIAkJcmVtb3RlX3BvcnQgPSBzdHJ0b2wgKHBwdHIgKyAxLCBOVUxMLCAwKTsKIAl9 Ci0KIAlzZXNzaW9uLnBlZXJuYW1lID0gaG9zdG5hbWU7CiAJc2Vzc2lvbi5yZW1vdGVfcG9ydCA9 IHJlbW90ZV9wb3J0OwogCXNlc3Npb24udmVyc2lvbiA9IHZlcnNpb247CkBAIC02NDMsMjEgKzc5 MSwyNCBAQAogCSogbWVtb3J5IGl0IGRpZCBub3QgYWxsb2NhdGUKIAkqLwogI2lmZGVmIFVDRF9T Tk1QX0hBQ0sKLQlzZXNzaW9uLmNvbW11bml0eSA9ICh1X2NoYXIgKilzdHJkdXAoWl9TVFJWQUxf UFAoYTIpKTsgLyogbWVtb3J5IGZyZWVkIGJ5IFNOTVAgbGlicmFyeSwgc3RyZHVwIE5PVCBlc3Ry ZHVwICovCisJLyogbWVtb3J5IGZyZWVkIGJ5IFNOTVAgbGlicmFyeSwgc3RyZHVwIE5PVCBlc3Ry ZHVwICovCisJc2Vzc2lvbi5jb21tdW5pdHkgPSAKKwkJKHVfY2hhciAqKXN0cmR1cChaX1NUUlZB TF9QUCh6X2NvbW11bml0eSkpOwogI2Vsc2UKLQlzZXNzaW9uLmNvbW11bml0eSA9ICh1X2NoYXIg KilaX1NUUlZBTF9QUChhMik7CisJc2Vzc2lvbi5jb21tdW5pdHkgPSAodV9jaGFyICopWl9TVFJW QUxfUFAoel9jb21tdW5pdHkpOwogI2VuZGlmCi0Jc2Vzc2lvbi5jb21tdW5pdHlfbGVuID0gWl9T VFJMRU5fUFAoYTIpOworCXNlc3Npb24uY29tbXVuaXR5X2xlbiA9IFpfU1RSTEVOX1BQKHpfY29t bXVuaXR5KTsKIAlzZXNzaW9uLnJldHJpZXMgPSByZXRyaWVzOwogCXNlc3Npb24udGltZW91dCA9 IHRpbWVvdXQ7CiAJCiAJc2Vzc2lvbi5hdXRoZW50aWNhdG9yID0gTlVMTDsKIAotCXBocF9zbm1w X2ludGVybmFsKElOVEVSTkFMX0ZVTkNUSU9OX1BBUkFNX1BBU1NUSFJVLCBzdCwgJnNlc3Npb24s IFpfU1RSVkFMX1BQKGEzKSwgdHlwZSwgdmFsdWUpOworCXBocF9zbm1wX2ludGVybmFsKElOVEVS TkFMX0ZVTkNUSU9OX1BBUkFNX1BBU1NUSFJVLCBzdCwgJnNlc3Npb24sCisJCQl6X29pZCwgdHlw ZSwgdmFsdWUpOwogfQogLyogfX19ICovCiAKLS8qIHt7eyBwcm90byBzdHJpbmcgc25tcGdldChz dHJpbmcgaG9zdCwgc3RyaW5nIGNvbW11bml0eSwgc3RyaW5nIG9iamVjdF9pZCBbLCBpbnQgdGlt ZW91dCBbLCBpbnQgcmV0cmllc11dKSAKKy8qIHt7eyBwcm90byBzdHJpbmcgc25tcGdldChzdHJp bmcgaG9zdCwgc3RyaW5nIGNvbW11bml0eSwgbWl4ZWQgb2JqZWN0X2lkIFssIGludCB0aW1lb3V0 IFssIGludCByZXRyaWVzXV0pIAogICAgRmV0Y2ggYSBTTk1QIG9iamVjdCAqLwogUEhQX0ZVTkNU SU9OKHNubXBnZXQpCiB7CkBAIC0xMTA0LDcgKzEyNTUsNyBAQAogCXNlc3Npb24ucmV0cmllcyA9 IHJldHJpZXM7CiAJc2Vzc2lvbi50aW1lb3V0ID0gdGltZW91dDsKIAotCXBocF9zbm1wX2ludGVy bmFsKElOVEVSTkFMX0ZVTkNUSU9OX1BBUkFNX1BBU1NUSFJVLCBzdCwgJnNlc3Npb24sIFpfU1RS VkFMX1BQKGE4KSwgdHlwZSwgdmFsdWUpOworCXBocF9zbm1wX2ludGVybmFsKElOVEVSTkFMX0ZV TkNUSU9OX1BBUkFNX1BBU1NUSFJVLCBzdCwgJnNlc3Npb24sIGE4LCB0eXBlLCB2YWx1ZSk7CiB9 CiAvKiB9fX0gKi8KIAo= ------=_Part_23830_3113703.1232106836137--