From owner-freebsd-bugs@FreeBSD.ORG Thu Oct 18 01:50:04 2007 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 51CCB16A419 for ; Thu, 18 Oct 2007 01:50:04 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 3860E13C491 for ; Thu, 18 Oct 2007 01:50:04 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.1/8.14.1) with ESMTP id l9I1o4sT022845 for ; Thu, 18 Oct 2007 01:50:04 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.1/8.14.1/Submit) id l9I1o4HB022844; Thu, 18 Oct 2007 01:50:04 GMT (envelope-from gnats) Date: Thu, 18 Oct 2007 01:50:04 GMT Message-Id: <200710180150.l9I1o4HB022844@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: "Mike Sweetser - Adhost" Cc: Subject: Re: bin/108743: who(1): IPv6 addresses truncated to maximum IPv4 address length X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Mike Sweetser - Adhost List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Oct 2007 01:50:04 -0000 The following reply was made to PR bin/108743; it has been noted by GNATS. From: "Mike Sweetser - Adhost" To: , Cc: Subject: Re: bin/108743: who(1): IPv6 addresses truncated to maximum IPv4 address length Date: Wed, 17 Oct 2007 18:28:06 -0700 This is a multi-part message in MIME format. ------_=_NextPart_001_01C81126.225F8106 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable What gets broken in the ABI? I'm currently testing this myself with a UT_HOSTSIZE of 64, and thus far I haven't encountered any problems. Fixing UT_HOSTSIZE fixes "who", but does not fix "w", which uses its own W_DISPHOSTSIZE variable to define the displayed width of the host as 16. This is not changed with UT_HOSTSIZE (although it does recognize UT_HOSTSIZE when it comes to actually looking up the utmp structure). One solution is to change W_DISPHOSTSIZE to 40+ and recompile, which will widen the display and display IPv6 properly. I've attached a patch that adds a -W flag for "w", which expands the size to 40; leaving the flag off will default it to the original 16. =20 (This is the first time I've submitted a patch of this nature, so if this needs to be done differently, please let me know :) Mike Sweetser -------------------------- Mike Sweetser | Systems Administrator Adhost Internet 140 Fourth Avenue North, Suite 360, Seattle, Washington 98109 USA ------_=_NextPart_001_01C81126.225F8106 Content-Type: application/octet-stream; name="w.c.diff" Content-Transfer-Encoding: base64 Content-Description: w.c.diff Content-Disposition: attachment; filename="w.c.diff" KioqIHcuYyBTYXQgSnVuICA0IDE2OjQwOjA5IDIwMDUNCi0tLSB3LmMucGF0Y2ggICBXZWQgT2N0 IDE3IDE4OjIwOjU0IDIwMDcNCioqKioqKioqKioqKioqKg0KKioqIDk3LDEwNiAqKioqDQotLS0g OTcsMTA3IC0tLS0NCiAgaW50ICAgICAgICAgICB0dHl3aWR0aDsgICAgICAgLyogd2lkdGggb2Yg dHR5ICovDQogIGludCAgICAgICAgICAgYXJnd2lkdGg7ICAgICAgIC8qIHdpZHRoIG9mIHR0eSAq Lw0KICBpbnQgICAgICAgICAgIGhlYWRlciA9IDE7ICAgICAvKiB0cnVlIGlmIC1oIGZsYWc6IGRv bid0IHByaW50IGhlYWRpbmcgKi8NCiAgaW50ICAgICAgICAgICBuZmxhZzsgICAgICAgICAgLyog dHJ1ZSBpZiAtbiBmbGFnOiBkb24ndCBjb252ZXJ0IGFkZHJzICovDQogIGludCAgICAgICAgICAg ZGZsYWc7ICAgICAgICAgIC8qIHRydWUgaWYgLWQgZmxhZzogb3V0cHV0IGRlYnVnIGluZm8gKi8N CisgaW50ICAgICAgICAgICBXZmxhZzsgICAgICAgICAgLyogdHJ1ZSBpZiAtVyBmbGFnOiB3aWRl biBvdXRwdXQgZm9yIElQdjYgKi8NCiAgaW50ICAgICAgICAgICBzb3J0aWRsZTsgICAgICAgLyog c29ydCBieSBpZGxlIHRpbWUgKi8NCiAgaW50ICAgICAgICAgICB1c2VfYW1wbTsgICAgICAgLyog dXNlIEFNL1BNIHRpbWUgKi8NCiAgaW50ICAgICAgICAgICAgIHVzZV9jb21tYTsgICAgICAvKiB1 c2UgY29tbWEgYXMgZmxvYXRzIHNlcGFyYXRvciAqLw0KICBjaGFyICAgICAgICAqKnNlbF91c2Vy czsgICAgICAvKiBsb2dpbiBhcnJheSBvZiBwYXJ0aWN1bGFyIHVzZXJzIHNlbGVjdGVkICovDQog IA0KKioqKioqKioqKioqKioqDQoqKiogMTE4LDEyOCAqKioqDQogIH0gKmVwLCAqZWhlYWQgPSBO VUxMLCAqKm5leHRwID0gJmVoZWFkOw0KICANCiAgI2RlZmluZSAgICAgICBkZWJ1Z3Byb2MocCkg Kigoc3RydWN0IGtpbmZvX3Byb2MgKiopJihwKS0+a2lfdWRhdGEpDQogIA0KICAvKiBXX0RJU1BI T1NUU0laRSBzaG91bGQgbm90IGJlIGdyZWF0ZXIgdGhhbiBVVF9IT1NUU0laRSAqLw0KISAjZGVm aW5lICAgICAgIFdfRElTUEhPU1RTSVpFICAxNg0KICANCiAgc3RhdGljIHZvaWQgICAgICAgICAg ICBwcl9oZWFkZXIodGltZV90ICosIGludCk7DQogIHN0YXRpYyBzdHJ1Y3Qgc3RhdCAgICAqdHR5 c3RhdChjaGFyICosIGludCk7DQogIHN0YXRpYyB2b2lkICAgICAgICAgICAgdXNhZ2UoaW50KTsN CiAgc3RhdGljIGludCAgICAgICAgICAgICB0aGlzX2lzX3VwdGltZShjb25zdCBjaGFyICpzKTsN Ci0tLSAxMTksMTMwIC0tLS0NCiAgfSAqZXAsICplaGVhZCA9IE5VTEwsICoqbmV4dHAgPSAmZWhl YWQ7DQogIA0KICAjZGVmaW5lICAgICAgIGRlYnVncHJvYyhwKSAqKChzdHJ1Y3Qga2luZm9fcHJv YyAqKikmKHApLT5raV91ZGF0YSkNCiAgDQogIC8qIFdfRElTUEhPU1RTSVpFIHNob3VsZCBub3Qg YmUgZ3JlYXRlciB0aGFuIFVUX0hPU1RTSVpFICovDQohICNkZWZpbmUgICAgICAgV19ESVNQSE9T VFNJWkUgICAgICAgICAgMTYNCiEgI2RlZmluZSBXX0RJU1BIT1NUU0laRV9XSURFICAgNDANCiAg DQogIHN0YXRpYyB2b2lkICAgICAgICAgICAgcHJfaGVhZGVyKHRpbWVfdCAqLCBpbnQpOw0KICBz dGF0aWMgc3RydWN0IHN0YXQgICAgKnR0eXN0YXQoY2hhciAqLCBpbnQpOw0KICBzdGF0aWMgdm9p ZCAgICAgICAgICAgIHVzYWdlKGludCk7DQogIHN0YXRpYyBpbnQgICAgICAgICAgICAgdGhpc19p c191cHRpbWUoY29uc3QgY2hhciAqcyk7DQoqKioqKioqKioqKioqKioNCioqKiAxNTIsMTYyICoq KioNCiAgICAgICAgaWYgKHRoaXNfaXNfdXB0aW1lKGFyZ3ZbMF0pID09IDApIHsNCiAgICAgICAg ICAgICAgICB3Y21kID0gMDsNCiAgICAgICAgICAgICAgICBwID0gIiI7DQogICAgICAgIH0gZWxz ZSB7DQogICAgICAgICAgICAgICAgd2NtZCA9IDE7DQohICAgICAgICAgICAgICAgcCA9ICJkaGlm bE06Tjpuc3V3IjsNCiAgICAgICAgfQ0KICANCiAgICAgICAgZHJvcGdpZCA9IDA7DQogICAgICAg IG1lbWYgPSBubGlzdGYgPSBfUEFUSF9ERVZOVUxMOw0KICAgICAgICB3aGlsZSAoKGNoID0gZ2V0 b3B0KGFyZ2MsIGFyZ3YsIHApKSAhPSAtMSkNCi0tLSAxNTQsMTY0IC0tLS0NCiAgICAgICAgaWYg KHRoaXNfaXNfdXB0aW1lKGFyZ3ZbMF0pID09IDApIHsNCiAgICAgICAgICAgICAgICB3Y21kID0g MDsNCiAgICAgICAgICAgICAgICBwID0gIiI7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAg ICAgICAgd2NtZCA9IDE7DQohICAgICAgICAgICAgICAgcCA9ICJkaGlmbE06Tjpuc3V3VyI7DQog ICAgICAgIH0NCiAgDQogICAgICAgIGRyb3BnaWQgPSAwOw0KICAgICAgICBtZW1mID0gbmxpc3Rm ID0gX1BBVEhfREVWTlVMTDsNCiAgICAgICAgd2hpbGUgKChjaCA9IGdldG9wdChhcmdjLCBhcmd2 LCBwKSkgIT0gLTEpDQoqKioqKioqKioqKioqKioNCioqKiAxODAsMTg5ICoqKioNCi0tLSAxODIs MTk0IC0tLS0NCiAgICAgICAgICAgICAgICAgICAgICAgIGRyb3BnaWQgPSAxOw0KICAgICAgICAg ICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSAnbic6DQogICAgICAg ICAgICAgICAgICAgICAgICBuZmxhZyA9IDE7DQogICAgICAgICAgICAgICAgICAgICAgICBicmVh azsNCisgICAgICAgICAgICAgICBjYXNlICdXJzoNCisgICAgICAgICAgICAgICAgICAgICAgIFdm bGFnID0gMTsNCisgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAg IGNhc2UgJ2YnOiBjYXNlICdsJzogY2FzZSAncyc6IGNhc2UgJ3UnOiBjYXNlICd3JzoNCiAgICAg ICAgICAgICAgICAgICAgICAgIHdhcm54KCJbLWZsc3V3XSBubyBsb25nZXIgc3VwcG9ydGVkIik7 DQogICAgICAgICAgICAgICAgICAgICAgICAvKiBGQUxMVEhST1VHSCAqLw0KICAgICAgICAgICAg ICAgIGNhc2UgJz8nOg0KICAgICAgICAgICAgICAgIGRlZmF1bHQ6DQoqKioqKioqKioqKioqKioN CioqKiAyNzQsMjkwICoqKioNCiAgI2RlZmluZSBIRUFERVJfVVNFUiAgICAgICAgICAgIlVTRVIi DQogICNkZWZpbmUgSEVBREVSX1RUWSAgICAgICAgICAgICJUVFkiDQogICNkZWZpbmUgSEVBREVS X0ZST00gICAgICAgICAgICJGUk9NIg0KICAjZGVmaW5lIEhFQURFUl9MT0dJTl9JRExFICAgICAi TE9HSU5AICBJRExFICINCiAgI2RlZmluZSBIRUFERVJfV0hBVCAgICAgICAgICAgIldIQVRcbiIN CiEgI2RlZmluZSBXVVNFRCAgKFVUX05BTUVTSVpFICsgVVRfTElORVNJWkUgKyBXX0RJU1BIT1NU U0laRSArIFwNCiAgICAgICAgICAgICAgICBzaXplb2YoSEVBREVSX0xPR0lOX0lETEUpICsgMykg IC8qIGhlYWRlciB3aWR0aCBpbmNsLiBzcGFjZXMgKi8gDQohICAgICAgICAgICAgICAgKHZvaWQp cHJpbnRmKCIlLSouKnMgJS0qLipzICUtKi4qcyAgJXMiLCANCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgVVRfTkFNRVNJWkUsIFVUX05BTUVTSVpFLCBIRUFERVJfVVNFUiwNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgVVRfTElORVNJWkUsIFVUX0xJTkVTSVpFLCBIRUFE RVJfVFRZLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXX0RJU1BIT1NUU0laRSwg V19ESVNQSE9TVFNJWkUsIEhFQURFUl9GUk9NLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBIRUFERVJfTE9HSU5fSURMRSBIRUFERVJfV0hBVCk7DQogICAgICAgIH0NCiAgDQogICAg ICAgIGlmICgoa3AgPSBrdm1fZ2V0cHJvY3Moa2QsIEtFUk5fUFJPQ19BTEwsIDAsICZuZW50cmll cykpID09IE5VTEwpDQogICAgICAgICAgICAgICAgZXJyKDEsICIlcyIsIGt2bV9nZXRlcnIoa2Qp KTsNCiAgICAgICAgZm9yIChpID0gMDsgaSA8IG5lbnRyaWVzOyBpKyssIGtwKyspIHsNCi0tLSAy NzksMzA2IC0tLS0NCiAgI2RlZmluZSBIRUFERVJfVVNFUiAgICAgICAgICAgIlVTRVIiDQogICNk ZWZpbmUgSEVBREVSX1RUWSAgICAgICAgICAgICJUVFkiDQogICNkZWZpbmUgSEVBREVSX0ZST00g ICAgICAgICAgICJGUk9NIg0KICAjZGVmaW5lIEhFQURFUl9MT0dJTl9JRExFICAgICAiTE9HSU5A ICBJRExFICINCiAgI2RlZmluZSBIRUFERVJfV0hBVCAgICAgICAgICAgIldIQVRcbiINCiEgI2Rl ZmluZSBXVVNFRCAgICAgICAgIChVVF9OQU1FU0laRSArIFVUX0xJTkVTSVpFICsgV19ESVNQSE9T VFNJWkUgKyBcDQohICAgICAgICAgICAgICAgc2l6ZW9mKEhFQURFUl9MT0dJTl9JRExFKSArIDMp ICAvKiBoZWFkZXIgd2lkdGggaW5jbC4gc3BhY2VzICovIA0KISAjZGVmaW5lIFdVU0VEX1dJREUg ICAgKFVUX05BTUVTSVpFICsgVVRfTElORVNJWkUgKyBXX0RJU1BIT1NUU0laRV9XSURFICsgXA0K ICAgICAgICAgICAgICAgIHNpemVvZihIRUFERVJfTE9HSU5fSURMRSkgKyAzKSAgLyogaGVhZGVy IHdpZHRoIGluY2wuIHNwYWNlcyAqLyANCiEgDQohICAgICAgICAgICAgICAgaWYgKFdmbGFnKSB7 DQohICAgICAgICAgICAgICAgICAgICAgICAodm9pZClwcmludGYoIiUtKi4qcyAlLSouKnMgJS0q LipzICAlcyIsIA0KISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVVF9OQU1FU0laRSwg VVRfTkFNRVNJWkUsIEhFQURFUl9VU0VSLA0KISAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBVVF9MSU5FU0laRSwgVVRfTElORVNJWkUsIEhFQURFUl9UVFksDQohICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFdfRElTUEhPU1RTSVpFX1dJREUsIFdfRElTUEhPU1RTSVpFX1dJREUs IA0KISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIRUFERVJfRlJPTSwgSEVBREVSX0xP R0lOX0lETEUgSEVBREVSX1dIQVQpOw0KISAgICAgICAgICAgICAgIH0gZWxzZSB7DQohICAgICAg ICAgICAgICAgICAgICAgICAodm9pZClwcmludGYoIiUtKi4qcyAlLSouKnMgJS0qLipzICAlcyIs IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVVF9OQU1FU0laRSwgVVRfTkFNRVNJ WkUsIEhFQURFUl9VU0VSLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVVF9MSU5F U0laRSwgVVRfTElORVNJWkUsIEhFQURFUl9UVFksDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFdfRElTUEhPU1RTSVpFLCBXX0RJU1BIT1NUU0laRSwgSEVBREVSX0ZST00sDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhFQURFUl9MT0dJTl9JRExFIEhFQURFUl9XSEFU KTsNCisgICAgICAgICAgICAgICB9DQogICAgICAgIH0NCiAgDQogICAgICAgIGlmICgoa3AgPSBr dm1fZ2V0cHJvY3Moa2QsIEtFUk5fUFJPQ19BTEwsIDAsICZuZW50cmllcykpID09IE5VTEwpDQog ICAgICAgICAgICAgICAgZXJyKDEsICIlcyIsIGt2bV9nZXRlcnIoa2QpKTsNCiAgICAgICAgZm9y IChpID0gMDsgaSA8IG5lbnRyaWVzOyBpKyssIGtwKyspIHsNCioqKioqKioqKioqKioqKg0KKioq IDQwMSw0MTcgKioqKg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0 ciA9ICItIjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZvaWQpcHJpbnRmKCJc dFx0JS05ZCAlc1xuIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRrcC0+ a2lfcGlkLCBwdHIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg IH0NCiEgICAgICAgICAgICAgICAodm9pZClwcmludGYoIiUtKi4qcyAlLSouKnMgJS0qLipzICIs DQohICAgICAgICAgICAgICAgICAgIFVUX05BTUVTSVpFLCBVVF9OQU1FU0laRSwgZXAtPnV0bXAu dXRfbmFtZSwNCiEgICAgICAgICAgICAgICAgICAgVVRfTElORVNJWkUsIFVUX0xJTkVTSVpFLA0K ISAgICAgICAgICAgICAgICAgICBzdHJuY21wKGVwLT51dG1wLnV0X2xpbmUsICJ0dHkiLCAzKSAm Jg0KISAgICAgICAgICAgICAgICAgICBzdHJuY21wKGVwLT51dG1wLnV0X2xpbmUsICJjdWEiLCAz KSA/DQohICAgICAgICAgICAgICAgICAgIGVwLT51dG1wLnV0X2xpbmUgOiBlcC0+dXRtcC51dF9s aW5lICsgMywNCiEgICAgICAgICAgICAgICAgICAgV19ESVNQSE9TVFNJWkUsIFdfRElTUEhPU1RT SVpFLCAqcCA/IHAgOiAiLSIpOw0KICAgICAgICAgICAgICAgIHQgPSBfdGltZV90b190aW1lMzIo ZXAtPnV0bXAudXRfdGltZSk7DQogICAgICAgICAgICAgICAgcHJfYXR0aW1lKCZ0LCAmbm93KTsN CiAgICAgICAgICAgICAgICBsb25naWRsZSA9IHByX2lkbGUoZXAtPmlkbGUpOw0KICAgICAgICAg ICAgICAgICh2b2lkKXByaW50ZigiJS4qc1xuIiwgYXJnd2lkdGggLSBsb25naWRsZSwgZXAtPmFy Z3MpOw0KICAgICAgICB9DQotLS0gNDE3LDQ0NCAtLS0tDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcHRyID0gIi0iOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAodm9pZClwcmludGYoIlx0XHQlLTlkICVzXG4iLA0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZGtwLT5raV9waWQsIHB0cik7DQogICAgICAgICAgICAgICAgICAgICAg ICB9DQogICAgICAgICAgICAgICAgfQ0KISAgICAgICAgICAgICAgIGlmIChXZmxhZykgew0KISAg ICAgICAgICAgICAgICAgICAgICAgKHZvaWQpcHJpbnRmKCIlLSouKnMgJS0qLipzICUtKi4qcyAi LA0KISAgICAgICAgICAgICAgICAgICAgICAgICAgIFVUX05BTUVTSVpFLCBVVF9OQU1FU0laRSwg ZXAtPnV0bXAudXRfbmFtZSwNCiEgICAgICAgICAgICAgICAgICAgICAgICAgICBVVF9MSU5FU0la RSwgVVRfTElORVNJWkUsDQohICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RybmNtcChlcC0+ dXRtcC51dF9saW5lLCAidHR5IiwgMykgJiYNCiEgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHJuY21wKGVwLT51dG1wLnV0X2xpbmUsICJjdWEiLCAzKSA/DQohICAgICAgICAgICAgICAgICAg ICAgICAgICAgZXAtPnV0bXAudXRfbGluZSA6IGVwLT51dG1wLnV0X2xpbmUgKyAzLA0KISAgICAg ICAgICAgICAgICAgICAgICAgICAgIFdfRElTUEhPU1RTSVpFX1dJREUsIFdfRElTUEhPU1RTSVpF X1dJREUsIA0KISAgICAgICAgICAgICAgICAgICAgICAgICAgICpwID8gcCA6ICItIik7DQohICAg ICAgICAgICAgICAgfSBlbHNlIHsNCiEgICAgICAgICAgICAgICAgICAgICAgICh2b2lkKXByaW50 ZigiJS0qLipzICUtKi4qcyAlLSouKnMgIiwNCiEgICAgICAgICAgICAgICAgICAgICAgICAgICBV VF9OQU1FU0laRSwgVVRfTkFNRVNJWkUsIGVwLT51dG1wLnV0X25hbWUsDQohICAgICAgICAgICAg ICAgICAgICAgICAgICAgVVRfTElORVNJWkUsIFVUX0xJTkVTSVpFLA0KISAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0cm5jbXAoZXAtPnV0bXAudXRfbGluZSwgInR0eSIsIDMpICYmDQohICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RybmNtcChlcC0+dXRtcC51dF9saW5lLCAiY3VhIiwg MykgPw0KISAgICAgICAgICAgICAgICAgICAgICAgICAgIGVwLT51dG1wLnV0X2xpbmUgOiBlcC0+ dXRtcC51dF9saW5lICsgMywNCiEgICAgICAgICAgICAgICAgICAgICAgICAgICBXX0RJU1BIT1NU U0laRSwgV19ESVNQSE9TVFNJWkUsICpwID8gcCA6ICItIik7DQohICAgICAgICAgICAgICAgfQ0K ICAgICAgICAgICAgICAgIHQgPSBfdGltZV90b190aW1lMzIoZXAtPnV0bXAudXRfdGltZSk7DQog ICAgICAgICAgICAgICAgcHJfYXR0aW1lKCZ0LCAmbm93KTsNCiAgICAgICAgICAgICAgICBsb25n aWRsZSA9IHByX2lkbGUoZXAtPmlkbGUpOw0KICAgICAgICAgICAgICAgICh2b2lkKXByaW50Zigi JS4qc1xuIiwgYXJnd2lkdGggLSBsb25naWRsZSwgZXAtPmFyZ3MpOw0KICAgICAgICB9DQoqKioq KioqKioqKioqKioNCioqKiA1MDEsNTExICoqKioNCiAgc3RhdGljIHZvaWQNCiAgdXNhZ2UoaW50 IHdjbWQpDQogIHsNCiAgICAgICAgaWYgKHdjbWQpDQogICAgICAgICAgICAgICAgKHZvaWQpZnBy aW50ZihzdGRlcnIsDQohICAgICAgICAgICAgICAgICAgICJ1c2FnZTogdyBbLWRoaW5dIFstTSBj b3JlXSBbLU4gc3lzdGVtXSBbdXNlciAuLi5dXG4iKTsNCiAgICAgICAgZWxzZQ0KICAgICAgICAg ICAgICAgICh2b2lkKWZwcmludGYoc3RkZXJyLCAidXNhZ2U6IHVwdGltZVxuIik7DQogICAgICAg IGV4aXQoMSk7DQogIH0NCiAgDQotLS0gNTI4LDUzOCAtLS0tDQogIHN0YXRpYyB2b2lkDQogIHVz YWdlKGludCB3Y21kKQ0KICB7DQogICAgICAgIGlmICh3Y21kKQ0KICAgICAgICAgICAgICAgICh2 b2lkKWZwcmludGYoc3RkZXJyLA0KISAgICAgICAgICAgICAgICAgICAidXNhZ2U6IHcgWy1kaGlu V10gWy1NIGNvcmVdIFstTiBzeXN0ZW1dIFt1c2VyIC4uLl1cbiIpOw0KICAgICAgICBlbHNlDQog ICAgICAgICAgICAgICAgKHZvaWQpZnByaW50ZihzdGRlcnIsICJ1c2FnZTogdXB0aW1lXG4iKTsN CiAgICAgICAgZXhpdCgxKTsNCiAgfQ== ------_=_NextPart_001_01C81126.225F8106--