Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Aug 2001 00:37:54 -0500 (CDT)
From:      Mike Silbersack <silby@silby.com>
To:        <freebsd-arch@freebsd.org>, <freebsd-net@freebsd.org>
Subject:   [PATCH] RFC 1948 sequence numbers, final(?) patch
Message-ID:  <20010810002406.U93492-300000@achilles.silby.com>

next in thread | raw e-mail | index | archive | help
  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 mime@docserver.cac.washington.edu for more info.

--0-1767808683-997421874=:93492
Content-Type: TEXT/PLAIN; charset=US-ASCII

After much procrastination, I present the update RFC 1948 sequence number
patch.  Modifications have been made so that it more closely complies with
RFC 1948, but still allows flexibility for sysadmins who want to reseed.
Thanks go to Barney and Julian for suggesting these changes.

I've done extensive testing with this patch, and all sysctls controlling
its operation appear to work properly.  However, testing would still be
very helpful.

I'll be on vacation from the 12th through the 19th; if no problems have
been found during that time I expected to commit and MFC it on the 21st.

I've included diffs relevant to an up to date -stable and -current.

Thanks,

Mike "Silby" Silbersack


--0-1767808683-997421874=:93492
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="rfc1948-2.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <20010810003754.B93492@achilles.silby.com>
Content-Description: 
Content-Disposition: attachment; filename="rfc1948-2.patch"

ZGlmZiAtdSAtciBuZXRpbmV0Lm9sZC90Y3BfaW5wdXQuYyBuZXRpbmV0L3Rj
cF9pbnB1dC5jDQotLS0gbmV0aW5ldC5vbGQvdGNwX2lucHV0LmMJVHVlIEp1
bCAzMSAyMTo0MzoyMSAyMDAxDQorKysgbmV0aW5ldC90Y3BfaW5wdXQuYwlU
aHUgQXVnICA5IDAwOjQ1OjAxIDIwMDENCkBAIC0xMDEsNyArMTAxLDYgQEAN
CiBNQUxMT0NfREVGSU5FKE1fVFNFR1EsICJ0c2VnX3FlbnQiLCAiVENQIHNl
Z21lbnQgcXVldWUgZW50cnkiKTsNCiANCiBzdGF0aWMgaW50CXRjcHJleG10
dGhyZXNoID0gMzsNCi10Y3Bfc2VxCXRjcF9pc3M7DQogdGNwX2NjCXRjcF9j
Y2dlbjsNCiANCiBzdHJ1Y3QJdGNwc3RhdCB0Y3BzdGF0Ow0KQEAgLTExMzUs
NyArMTEzNCw3IEBADQogCQlpZiAoaXNzKQ0KIAkJCXRwLT5pc3MgPSBpc3M7
DQogCQllbHNlIHsNCi0JCQl0cC0+aXNzID0gdGNwX25ld19pc24oKTsNCisJ
CQl0cC0+aXNzID0gdGNwX25ld19pc24odHApOw0KICAJCX0NCiAJCXRwLT5p
cnMgPSB0aC0+dGhfc2VxOw0KIAkJdGNwX3NlbmRzZXFpbml0KHRwKTsNCkBA
IC0xNjY3LDcgKzE2NjYsNyBAQA0KIAkJCWlmICh0aGZsYWdzICYgVEhfU1lO
ICYmDQogCQkJICAgIHRwLT50X3N0YXRlID09IFRDUFNfVElNRV9XQUlUICYm
DQogCQkJICAgIFNFUV9HVCh0aC0+dGhfc2VxLCB0cC0+cmN2X254dCkpIHsN
Ci0JCQkJaXNzID0gdGNwX25ld19pc24oKTsNCisJCQkJaXNzID0gdGNwX25l
d19pc24odHApOw0KIAkJCQl0cCA9IHRjcF9jbG9zZSh0cCk7DQogCQkJCWdv
dG8gZmluZHBjYjsNCiAJCQl9DQpkaWZmIC11IC1yIG5ldGluZXQub2xkL3Rj
cF9zZXEuaCBuZXRpbmV0L3RjcF9zZXEuaA0KLS0tIG5ldGluZXQub2xkL3Rj
cF9zZXEuaAlUdWUgSnVsIDMxIDIxOjQzOjIxIDIwMDENCisrKyBuZXRpbmV0
L3RjcF9zZXEuaAlUaHUgQXVnICA5IDAwOjQ4OjMwIDIwMDENCkBAIC04MCwy
NiArODAsNSBAQA0KIA0KICNpZmRlZiBfS0VSTkVMDQogZXh0ZXJuIHRjcF9j
Ywl0Y3BfY2NnZW47CQkvKiBnbG9iYWwgY29ubmVjdGlvbiBjb3VudCAqLw0K
LQ0KLS8qDQotICogSW5jcmVtZW50IGZvciB0Y3BfaXNzIGVhY2ggc2Vjb25k
Lg0KLSAqIFRoaXMgaXMgZGVzaWduZWQgdG8gaW5jcmVtZW50IGF0IHRoZSBz
dGFuZGFyZCAyNTAgS0IvcywNCi0gKiBidXQgd2l0aCBhIHJhbmRvbSBjb21w
b25lbnQgYXZlcmFnaW5nIDEyOCBLQi4NCi0gKiBXZSBhbHNvIGluY3JlbWVu
dCB0Y3BfaXNzIGJ5IGEgcXVhcnRlciBvZiB0aGlzIGFtb3VudA0KLSAqIGVh
Y2ggdGltZSB3ZSB1c2UgdGhlIHZhbHVlIGZvciBhIG5ldyBjb25uZWN0aW9u
Lg0KLSAqIElmIGRlZmluZWQsIHRoZSB0Y3BfcmFuZG9tMTgoKSBtYWNybyBz
aG91bGQgcHJvZHVjZSBhDQotICogbnVtYmVyIGluIHRoZSByYW5nZSBbMC0w
eDNmZmZmXSB0aGF0IGlzIGhhcmQgdG8gcHJlZGljdC4NCi0gKiANCi0gKiBU
aGUgdmFyaWFibGUgdGNwX2lzcyBhbmQgdGNwX3JhbmRvbTE4KCkgYXJlIG9u
bHkgdXNlZA0KLSAqIGJ5IHNlcXVlbmNlIG51bWJlciBnZW5lcmF0aW9uIHNj
aGVtZSAwLg0KLSAqLw0KLSNpZm5kZWYgdGNwX3JhbmRvbTE4DQotI2RlZmlu
ZQl0Y3BfcmFuZG9tMTgoKQkoYXJjNHJhbmRvbSgpICYgMHgzZmZmZikNCi0j
ZW5kaWYNCi0jZGVmaW5lCVRDUF9JU1NJTkNSCSgxMjIqMTAyNCArIHRjcF9y
YW5kb20xOCgpKQ0KLQ0KLWV4dGVybiB0Y3Bfc2VxCXRjcF9pc3M7DQotI2Vs
c2UNCi0jZGVmaW5lCVRDUF9JU1NJTkNSCSgyNTAqMTAyNCkJLyogaW5jcmVt
ZW50IGZvciB0Y3BfaXNzIGVhY2ggc2Vjb25kICovDQogI2VuZGlmIC8qIF9L
RVJORUwgKi8NCiAjZW5kaWYgLyogX05FVElORVRfVENQX1NFUV9IXyAqLw0K
ZGlmZiAtdSAtciBuZXRpbmV0Lm9sZC90Y3Bfc3Vici5jIG5ldGluZXQvdGNw
X3N1YnIuYw0KLS0tIG5ldGluZXQub2xkL3RjcF9zdWJyLmMJVHVlIEp1bCAz
MSAyMTo0MzoyMSAyMDAxDQorKysgbmV0aW5ldC90Y3Bfc3Vici5jCVRodSBB
dWcgIDkgMDE6MjE6MTYgMjAwMQ0KQEAgLTk4LDYgKzk4LDcgQEANCiAjZW5k
aWYgLypJUFNFQyovDQogDQogI2luY2x1ZGUgPG1hY2hpbmUvaW5fY2tzdW0u
aD4NCisjaW5jbHVkZSA8c3lzL21kNS5oPg0KIA0KIGludCAJdGNwX21zc2Rm
bHQgPSBUQ1BfTVNTOw0KIFNZU0NUTF9JTlQoX25ldF9pbmV0X3RjcCwgVENQ
Q1RMX01TU0RGTFQsIG1zc2RmbHQsIENUTEZMQUdfUlcsIA0KQEAgLTEzOSw5
ICsxNDAsMTMgQEANCiBTWVNDVExfSU5UKF9uZXRfaW5ldF90Y3AsIE9JRF9B
VVRPLCBpY21wX21heV9yc3QsIENUTEZMQUdfUlcsICZpY21wX21heV9yc3Qs
IDAsIA0KICAgICAiQ2VydGFpbiBJQ01QIHVucmVhY2hhYmxlIG1lc3NhZ2Vz
IG1heSBhYm9ydCBjb25uZWN0aW9ucyBpbiBTWU5fU0VOVCIpOw0KIA0KLXN0
YXRpYyBpbnQJdGNwX3NlcV9nZW5zY2hlbWUgPSAxOw0KLVNZU0NUTF9JTlQo
X25ldF9pbmV0X3RjcCwgT0lEX0FVVE8sIHRjcF9zZXFfZ2Vuc2NoZW1lLCBD
VExGTEFHX1JXLA0KLSAgICAmdGNwX3NlcV9nZW5zY2hlbWUsIDAsICJUQ1Ag
SVNOIGdlbmVyYXRpb24gc2NoZW1lIik7DQorc3RhdGljIGludAl0Y3Bfc3Ry
aWN0X3JmYzE5NDggPSAwOw0KK1NZU0NUTF9JTlQoX25ldF9pbmV0X3RjcCwg
T0lEX0FVVE8sIHN0cmljdF9yZmMxOTQ4LCBDVExGTEFHX1JXLA0KKyAgICAm
dGNwX3N0cmljdF9yZmMxOTQ4LCAwLCAiRGV0ZXJtaW5lcyBpZiBSRkMxOTQ4
IGlzIGZvbGxvd2VkIGV4YWN0bHkiKTsNCisNCitzdGF0aWMgaW50CXRjcF9p
c25fcmVzZWVkX2ludGVydmFsID0gMDsNCitTWVNDVExfSU5UKF9uZXRfaW5l
dF90Y3AsIE9JRF9BVVRPLCBpc25fcmVzZWVkX2ludGVydmFsLCBDVExGTEFH
X1JXLA0KKyAgICAmdGNwX2lzbl9yZXNlZWRfaW50ZXJ2YWwsIDAsICJTZWNv
bmRzIGJldHdlZW4gcmVzZWVkaW5nIG9mIElTTiBzZWNyZXQiKTsNCiANCiBz
dGF0aWMgdm9pZAl0Y3BfY2xlYXJ0YW9jYWNoZSBfX1AoKHZvaWQpKTsNCiBz
dGF0aWMgdm9pZAl0Y3Bfbm90aWZ5IF9fUCgoc3RydWN0IGlucGNiICosIGlu
dCkpOw0KQEAgLTE4Niw3ICsxOTEsNiBAQA0KIHsNCiAJaW50IGhhc2hzaXpl
ID0gVENCSEFTSFNJWkU7DQogCQ0KLQl0Y3BfaXNzID0gYXJjNHJhbmRvbSgp
OwkvKiB3cm9uZywgYnV0IGJldHRlciB0aGFuIGEgY29uc3RhbnQgKi8NCiAJ
dGNwX2NjZ2VuID0gMTsNCiAJdGNwX2NsZWFydGFvY2FjaGUoKTsNCiANCkBA
IC0xMTEyLDgwICsxMTE2LDEwMSBAQA0KIH0NCiAjZW5kaWYgLyogSU5FVDYg
Ki8NCiANCi10Y3Bfc2VxDQotdGNwX25ld19pc24oKQ0KLXsNCi0NCi0JaWYg
KHRjcF9zZXFfZ2Vuc2NoZW1lID4gMSB8fCB0Y3Bfc2VxX2dlbnNjaGVtZSA8
IDApDQotCQl0Y3Bfc2VxX2dlbnNjaGVtZSA9IDE7DQotDQotCXN3aXRjaCAo
dGNwX3NlcV9nZW5zY2hlbWUpIHsNCi0JY2FzZSAwOgkJCS8qIFJhbmRvbSBw
b3NpdGl2ZSBpbmNyZW1lbnRzICovDQotCQl0Y3BfaXNzICs9IFRDUF9JU1NJ
TkNSLzI7DQotCQlyZXR1cm4gdGNwX2lzczsNCi0JY2FzZSAxOgkJCS8qIE9w
ZW5CU0QgcmFuZG9taXplZCBzY2hlbWUgKi8NCi0JCXJldHVybiB0Y3Bfcm5k
aXNzX25leHQoKTsNCi0JZGVmYXVsdDoNCi0JCXBhbmljKCJjYW5ub3QgaGFw
cGVuIik7DQotCX0NCi19DQotDQotI2RlZmluZSBUQ1BfUk5ESVNTX1JPVU5E
UwkxNg0KLSNkZWZpbmUgVENQX1JORElTU19PVVQJNzIwMA0KLSNkZWZpbmUg
VENQX1JORElTU19NQVgJMzAwMDANCi0NCi11X2ludDhfdCB0Y3Bfcm5kaXNz
X3Nib3hbMTI4XTsNCi11X2ludDE2X3QgdGNwX3JuZGlzc19tc2I7DQotdV9p
bnQxNl90IHRjcF9ybmRpc3NfY250Ow0KLWxvbmcgdGNwX3JuZGlzc19yZXNl
ZWQ7DQotDQotdV9pbnQxNl90DQotdGNwX3JuZGlzc19lbmNyeXB0KHZhbCkN
Ci0JdV9pbnQxNl90IHZhbDsNCi17DQotCXVfaW50MTZfdCBzdW0gPSAwLCBp
Ow0KLSAgDQotCWZvciAoaSA9IDA7IGkgPCBUQ1BfUk5ESVNTX1JPVU5EUzsg
aSsrKSB7DQotCQlzdW0gKz0gMHg3OWI5Ow0KLQkJdmFsIF49ICgodV9pbnQx
Nl90KXRjcF9ybmRpc3Nfc2JveFsodmFsXnN1bSkgJiAweDdmXSkgPDwgNzsN
Ci0JCXZhbCA9ICgodmFsICYgMHhmZikgPDwgNykgfCAodmFsID4+IDgpOw0K
LQl9DQogDQotCXJldHVybiB2YWw7DQotfQ0KLQ0KLXZvaWQNCi10Y3Bfcm5k
aXNzX2luaXQoKQ0KLXsNCi0Jc3RydWN0IHRpbWV2YWwgdGltZTsNCisvKg0K
KyAqIEZvbGxvd2luZyBpcyB3aGVyZSBUQ1AgaW5pdGlhbCBzZXF1ZW5jZSBu
dW1iZXIgZ2VuZXJhdGlvbiBvY2N1cnMuDQorICoNCisgKiBUaGVyZSBhcmUg
dHdvIHBsYWNlcyB3aGVyZSB3ZSBtdXN0IHVzZSBpbml0aWFsIHNlcXVlbmNl
IG51bWJlcnM6DQorICogMS4gIEluIFNZTi1BQ0sgcGFja2V0cy4NCisgKiAy
LiAgSW4gU1lOIHBhY2tldHMuDQorICoNCisgKiBUaGUgSVNOcyBpbiBTWU4t
QUNLIHBhY2tldHMgaGF2ZSBubyBtb25vdG9uaWNpdHkgcmVxdWlyZW1lbnQs
IA0KKyAqIGFuZCBzaG91bGQgYmUgYXMgdW5wcmVkaWN0YWJsZSBhcyBwb3Nz
aWJsZSB0byBhdm9pZCB0aGUgcG9zc2liaWxpdHkNCisgKiBvZiBzcG9vZmlu
ZyBhbmQvb3IgY29ubmVjdGlvbiBoaWphY2tpbmcuICBUbyBzYXRpc2Z5IHRo
aXMNCisgKiByZXF1aXJlbWVudCwgU1lOLUFDSyBJU05zIGFyZSBnZW5lcmF0
ZWQgdmlhIHRoZSBhcmM0cmFuZG9tKCkNCisgKiBmdW5jdGlvbi4gIElmIGV4
YWN0IFJGQyAxOTQ4IGNvbXBsaWFuY2UgaXMgcmVxdWVzdGVkIHZpYSBzeXNj
dGwsDQorICogdGhlc2UgSVNOcyB3aWxsIGJlIGdlbmVyYXRlZCBqdXN0IGxp
a2UgdGhvc2UgaW4gU1lOIHBhY2tldHMuDQorICoNCisgKiBUaGUgSVNOcyBp
biBTWU4gcGFja2V0cyBtdXN0IGJlIG1vbm90b25pYzsgVElNRV9XQUlUIHJl
Y3ljbGluZw0KKyAqIGRlcGVuZHMgb24gdGhpcyBwcm9wZXJ0eS4gIEluIGFk
ZGl0aW9uLCB0aGVzZSBJU05zIHNob3VsZCBiZQ0KKyAqIHVuZ3Vlc3NhYmxl
IHNvIGFzIHRvIHByZXZlbnQgY29ubmVjdGlvbiBoaWphY2tpbmcuICBUbyBz
YXRpc2Z5DQorICogdGhlIHJlcXVpcmVtZW50cyBvZiB0aGlzIHNpdHVhdGlv
biwgdGhlIGFsZ29yaXRobSBvdXRsaW5lZCBpbg0KKyAqIFJGQyAxOTQ4IGlz
IHVzZWQgdG8gZ2VuZXJhdGUgc2VxdWVuY2UgbnVtYmVycy4NCisgKg0KKyAq
IEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoZSB0aGVvcnkgb2Ygb3BlcmF0
aW9uLCBwbGVhc2Ugc2VlDQorICogUkZDIDE5NDguDQorICoNCisgKiBJbXBs
ZW1lbnRhdGlvbiBkZXRhaWxzOg0KKyAqDQorICogVGltZSBpcyBiYXNlZCBv
ZmYgdGhlIHN5c3RlbSB0aW1lciwgYW5kIGlzIGNvcnJlY3RlZCBzbyB0aGF0
IGl0DQorICogaW5jcmVhc2VzIGJ5IG9uZSBtZWdhYnl0ZSBwZXIgc2Vjb25k
LiAgVGhpcyBhbGxvd3MgZm9yIHByb3Blcg0KKyAqIHJlY3ljbGluZyBvbiBo
aWdoIHNwZWVkIExBTnMgd2hpbGUgc3RpbGwgbGVhdmluZyBvdmVyIGFuIGhv
dXINCisgKiBiZWZvcmUgcm9sbG92ZXIuDQorICoNCisgKiBUd28gc3lzY3Rs
cyBjb250cm9sIHRoZSBnZW5lcmF0aW9uIG9mIElTTnM6DQorICoNCisgKiBu
ZXQuaW5ldC50Y3AuaXNuX3Jlc2VlZF9pbnRlcnZhbCBjb250cm9scyB0aGUg
bnVtYmVyIG9mIHNlY29uZHMNCisgKiBiZXR3ZWVuIHNlZWRpbmcgb2YgaXNu
X3NlY3JldC4gIFRoaXMgaXMgbm9ybWFsbHkgc2V0IHRvIHplcm8sDQorICog
YXMgcmVzZWVkaW5nIHNob3VsZCBub3QgYmUgbmVjZXNzYXJ5Lg0KKyAqDQor
ICogbmV0LmluZXQudGNwLnN0cmljdF9yZmMxOTQ4IGNvbnRyb2xzIHdoZXRo
ZXIgUkZDIDE5NDggaXMgZm9sbG93ZWQNCisgKiBzdHJpY3RseS4gIFdoZW4g
c3RyaWN0IGNvbXBsaWFuY2UgaXMgcmVxdWVzdGVkLCByZXNlZWRpbmcgaXMN
CisgKiBkaXNhYmxlZCBhbmQgU1lOLUFDS3Mgd2lsbCBiZSBnZW5lcmF0ZWQg
aW4gdGhlIHNhbWUgbWFubmVyIGFzDQorICogU1lOcy4gIFN0cmljdCBtb2Rl
IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQuDQorICoNCisgKi8NCiANCi0JZ2V0
bWljcm90aW1lKCZ0aW1lKTsNCi0JcmVhZF9yYW5kb20odGNwX3JuZGlzc19z
Ym94LCBzaXplb2YodGNwX3JuZGlzc19zYm94KSk7DQorI2RlZmluZSBJU05f
QllURVNfUEVSX1NFQ09ORCAxMDQ4NTc2DQogDQotCXRjcF9ybmRpc3NfcmVz
ZWVkID0gdGltZS50dl9zZWMgKyBUQ1BfUk5ESVNTX09VVDsNCi0JdGNwX3Ju
ZGlzc19tc2IgPSB0Y3Bfcm5kaXNzX21zYiA9PSAweDgwMDAgPyAwIDogMHg4
MDAwOyANCi0JdGNwX3JuZGlzc19jbnQgPSAwOw0KLX0NCit1X2NoYXIgaXNu
X3NlY3JldFszMl07DQoraW50IGlzbl9sYXN0X3Jlc2VlZDsNCitNRDVfQ1RY
IGlzbl9jdHg7DQogDQogdGNwX3NlcQ0KLXRjcF9ybmRpc3NfbmV4dCgpDQor
dGNwX25ld19pc24odHApDQorCXN0cnVjdCB0Y3BjYiAqdHA7DQogew0KLQl1
X2ludDE2X3QgdG1wOw0KLQlzdHJ1Y3QgdGltZXZhbCB0aW1lOw0KKwl1X2lu
dDMyX3QgbWQ1X2J1ZmZlcls0XTsNCisJdGNwX3NlcSBuZXdfaXNuOw0KIA0K
LQlnZXRtaWNyb3RpbWUoJnRpbWUpOw0KLQ0KLSAgICAgICAgaWYgKHRjcF9y
bmRpc3NfY250ID49IFRDUF9STkRJU1NfTUFYIHx8DQotCSAgICB0aW1lLnR2
X3NlYyA+IHRjcF9ybmRpc3NfcmVzZWVkKQ0KLSAgICAgICAgICAgICAgICB0
Y3Bfcm5kaXNzX2luaXQoKTsNCi0JDQotCXJlYWRfcmFuZG9tKCZ0bXAsIHNp
emVvZih0bXApKTsNCi0NCi0JLyogKHRtcCAmIDB4N2ZmZikgZW5zdXJlcyBh
IDMyNzY4IGJ5dGUgZ2FwIGJldHdlZW4gSVNTICovDQotCXJldHVybiAoKHRj
cF9ybmRpc3NfZW5jcnlwdCh0Y3Bfcm5kaXNzX2NudCsrKSB8IHRjcF9ybmRp
c3NfbXNiKSA8PDE2KSB8DQotCQkodG1wICYgMHg3ZmZmKTsNCisJLyogVXNl
IGFyYzRyYW5kb20gZm9yIFNZTi1BQ0tzIHdoZW4gbm90IGluIGV4YWN0IFJG
QzE5NDggbW9kZS4gKi8NCisJaWYgKCgodHAtPnRfc3RhdGUgPT0gVENQU19M
SVNURU4pIHx8ICh0cC0+dF9zdGF0ZSA9PSBUQ1BTX1RJTUVfV0FJVCkpDQor
CSAgICYmIHRjcF9zdHJpY3RfcmZjMTk0OCAhPSAxKQ0KKwkJcmV0dXJuIGFy
YzRyYW5kb20oKTsNCisNCisJLyogU2VlZCBpZiB0aGlzIGlzIHRoZSBmaXJz
dCB1c2UsIHJlc2VlZCBpZiByZXF1ZXN0ZWQuICovDQorCWlmICgoaXNuX2xh
c3RfcmVzZWVkID09IDApIHx8DQorCSAgICAoKHRjcF9zdHJpY3RfcmZjMTk0
OCAhPSAxKSAmJiAodGNwX2lzbl9yZXNlZWRfaW50ZXJ2YWwgPiAwKSAmJg0K
KwkgICAgICgoKHVfaW50KWlzbl9sYXN0X3Jlc2VlZCArICh1X2ludCl0Y3Bf
aXNuX3Jlc2VlZF9pbnRlcnZhbCpoeikNCisJCTwgKHVfaW50KXRpY2tzKSkp
IHsNCisJCXJlYWRfcmFuZG9tKCZpc25fc2VjcmV0LCBzaXplb2YoaXNuX3Nl
Y3JldCkpOw0KKwkJaXNuX2xhc3RfcmVzZWVkID0gdGlja3M7DQorCX0NCisJ
CQ0KKwkvKiBDb21wdXRlIHRoZSBtZDUgaGFzaCBhbmQgcmV0dXJuIHRoZSBJ
U04uICovDQorCU1ENUluaXQoJmlzbl9jdHgpOw0KKwlNRDVVcGRhdGUoJmlz
bl9jdHgsICh1X2NoYXIgKikgJnRwLT50X2lucGNiLT5pbnBfZnBvcnQsIHNp
emVvZih1X3Nob3J0KSk7DQorCU1ENVVwZGF0ZSgmaXNuX2N0eCwgKHVfY2hh
ciAqKSAmdHAtPnRfaW5wY2ItPmlucF9scG9ydCwgc2l6ZW9mKHVfc2hvcnQp
KTsNCisjaWZkZWYgSU5FVDYNCisJaWYgKCh0cC0+dF9pbnBjYi0+aW5wX3Zm
bGFnICYgSU5QX0lQVjYpICE9IDApIHsNCisJCU1ENVVwZGF0ZSgmaXNuX2N0
eCwgKHVfY2hhciAqKSAmdHAtPnRfaW5wY2ItPmluNnBfZmFkZHIsDQorCQkJ
ICBzaXplb2Yoc3RydWN0IGluNl9hZGRyKSk7DQorCQlNRDVVcGRhdGUoJmlz
bl9jdHgsICh1X2NoYXIgKikgJnRwLT50X2lucGNiLT5pbjZwX2xhZGRyLA0K
KwkJCSAgc2l6ZW9mKHN0cnVjdCBpbjZfYWRkcikpOw0KKwl9IGVsc2UNCisj
ZW5kaWYNCisJew0KKwkJTUQ1VXBkYXRlKCZpc25fY3R4LCAodV9jaGFyICop
ICZ0cC0+dF9pbnBjYi0+aW5wX2ZhZGRyLA0KKwkJCSAgc2l6ZW9mKHN0cnVj
dCBpbl9hZGRyKSk7DQorCQlNRDVVcGRhdGUoJmlzbl9jdHgsICh1X2NoYXIg
KikgJnRwLT50X2lucGNiLT5pbnBfbGFkZHIsDQorCQkJICBzaXplb2Yoc3Ry
dWN0IGluX2FkZHIpKTsNCisJfQ0KKwlNRDVVcGRhdGUoJmlzbl9jdHgsICh1
X2NoYXIgKikgJmlzbl9zZWNyZXQsIHNpemVvZihpc25fc2VjcmV0KSk7DQor
CU1ENUZpbmFsKCh1X2NoYXIgKikgJm1kNV9idWZmZXIsICZpc25fY3R4KTsN
CisJbmV3X2lzbiA9ICh0Y3Bfc2VxKSBtZDVfYnVmZmVyWzBdOw0KKwluZXdf
aXNuICs9IHRpY2tzICogKElTTl9CWVRFU19QRVJfU0VDT05EIC8gaHopOw0K
KwlyZXR1cm4gbmV3X2lzbjsNCiB9DQotDQogDQogLyoNCiAgKiBXaGVuIGEg
c291cmNlIHF1ZW5jaCBpcyByZWNlaXZlZCwgY2xvc2UgY29uZ2VzdGlvbiB3
aW5kb3cNCmRpZmYgLXUgLXIgbmV0aW5ldC5vbGQvdGNwX3RpbWVyLmMgbmV0
aW5ldC90Y3BfdGltZXIuYw0KLS0tIG5ldGluZXQub2xkL3RjcF90aW1lci5j
CVR1ZSBKdWwgMzEgMjE6NDM6MjEgMjAwMQ0KKysrIG5ldGluZXQvdGNwX3Rp
bWVyLmMJVGh1IEF1ZyAgOSAwMDo0NTo1MCAyMDAxDQpAQCAtMTMzLDggKzEz
Myw2IEBADQogDQogCXRjcF9tYXhpZGxlID0gdGNwX2tlZXBjbnQgKiB0Y3Bf
a2VlcGludHZsOw0KIA0KLQl0Y3BfaXNzICs9IFRDUF9JU1NJTkNSL1BSX1NM
T1dIWjsNCi0NCiAJc3BseChzKTsNCiB9DQogDQpkaWZmIC11IC1yIG5ldGlu
ZXQub2xkL3RjcF91c3JyZXEuYyBuZXRpbmV0L3RjcF91c3JyZXEuYw0KLS0t
IG5ldGluZXQub2xkL3RjcF91c3JyZXEuYwlUdWUgSnVsIDMxIDIxOjQzOjIx
IDIwMDENCisrKyBuZXRpbmV0L3RjcF91c3JyZXEuYwlUdWUgSnVsIDMxIDIx
OjQ1OjU4IDIwMDENCkBAIC03NTgsNyArNzU4LDcgQEANCiAJdGNwc3RhdC50
Y3BzX2Nvbm5hdHRlbXB0Kys7DQogCXRwLT50X3N0YXRlID0gVENQU19TWU5f
U0VOVDsNCiAJY2FsbG91dF9yZXNldCh0cC0+dHRfa2VlcCwgdGNwX2tlZXBp
bml0LCB0Y3BfdGltZXJfa2VlcCwgdHApOw0KLQl0cC0+aXNzID0gdGNwX25l
d19pc24oKTsNCisJdHAtPmlzcyA9IHRjcF9uZXdfaXNuKHRwKTsNCiAJdGNw
X3NlbmRzZXFpbml0KHRwKTsNCiANCiAJLyoNCkBAIC04NDQsNyArODQ0LDcg
QEANCiAJdGNwc3RhdC50Y3BzX2Nvbm5hdHRlbXB0Kys7DQogCXRwLT50X3N0
YXRlID0gVENQU19TWU5fU0VOVDsNCiAJY2FsbG91dF9yZXNldCh0cC0+dHRf
a2VlcCwgdGNwX2tlZXBpbml0LCB0Y3BfdGltZXJfa2VlcCwgdHApOw0KLQl0
cC0+aXNzID0gdGNwX25ld19pc24oKTsNCisJdHAtPmlzcyA9IHRjcF9uZXdf
aXNuKHRwKTsNCiAJdGNwX3NlbmRzZXFpbml0KHRwKTsNCiANCiAJLyoNCmRp
ZmYgLXUgLXIgbmV0aW5ldC5vbGQvdGNwX3Zhci5oIG5ldGluZXQvdGNwX3Zh
ci5oDQotLS0gbmV0aW5ldC5vbGQvdGNwX3Zhci5oCVR1ZSBKdWwgMzEgMjE6
NDM6MjEgMjAwMQ0KKysrIG5ldGluZXQvdGNwX3Zhci5oCVRodSBBdWcgIDkg
MDA6NTU6MTYgMjAwMQ0KQEAgLTQxMCwxMSArNDEwLDcgQEANCiBleHRlcm4J
c3RydWN0IHByX3VzcnJlcXMgdGNwX3VzcnJlcXM7DQogZXh0ZXJuCXVfbG9u
ZyB0Y3Bfc2VuZHNwYWNlOw0KIGV4dGVybgl1X2xvbmcgdGNwX3JlY3ZzcGFj
ZTsNCi12b2lkCXRjcF9ybmRpc3NfaW5pdCBfX1AoKHZvaWQpKTsNCi10Y3Bf
c2VxCXRjcF9ybmRpc3NfbmV4dCBfX1AoKHZvaWQpKTsNCi11X2ludDE2X3QN
Ci0JdGNwX3JuZGlzc19lbmNyeXB0IF9fUCgodV9pbnQxNl90KSk7DQotdGNw
X3NlcSB0Y3BfbmV3X2lzbiBfX1AoKHZvaWQpKTsNCit0Y3Bfc2VxIHRjcF9u
ZXdfaXNuIF9fUCgoc3RydWN0IHRjcGNiICopKTsNCiANCiAjZW5kaWYgLyog
X0tFUk5FTCAqLw0K
--0-1767808683-997421874=:93492
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="rfc1948-2-stable.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <20010810003754.B93492@achilles.silby.com>
Content-Description: 
Content-Disposition: attachment; filename="rfc1948-2-stable.patch"

ZGlmZiAtdSAtciBuZXRpbmV0Lm9sZC90Y3BfaW5wdXQuYyBuZXRpbmV0L3Rj
cF9pbnB1dC5jDQotLS0gbmV0aW5ldC5vbGQvdGNwX2lucHV0LmMJVHVlIEp1
bCAzMSAyMTo0MzoyMSAyMDAxDQorKysgbmV0aW5ldC90Y3BfaW5wdXQuYwlU
aHUgQXVnICA5IDAwOjQ1OjAxIDIwMDENCkBAIC0xMDEsNyArMTAxLDYgQEAN
CiBNQUxMT0NfREVGSU5FKE1fVFNFR1EsICJ0c2VnX3FlbnQiLCAiVENQIHNl
Z21lbnQgcXVldWUgZW50cnkiKTsNCiANCiBzdGF0aWMgaW50CXRjcHJleG10
dGhyZXNoID0gMzsNCi10Y3Bfc2VxCXRjcF9pc3M7DQogdGNwX2NjCXRjcF9j
Y2dlbjsNCiANCiBzdHJ1Y3QJdGNwc3RhdCB0Y3BzdGF0Ow0KQEAgLTExMzUs
NyArMTEzNCw3IEBADQogCQlpZiAoaXNzKQ0KIAkJCXRwLT5pc3MgPSBpc3M7
DQogCQllbHNlIHsNCi0JCQl0cC0+aXNzID0gdGNwX25ld19pc24oKTsNCisJ
CQl0cC0+aXNzID0gdGNwX25ld19pc24odHApOw0KICAJCX0NCiAJCXRwLT5p
cnMgPSB0aC0+dGhfc2VxOw0KIAkJdGNwX3NlbmRzZXFpbml0KHRwKTsNCkBA
IC0xNjY3LDcgKzE2NjYsNyBAQA0KIAkJCWlmICh0aGZsYWdzICYgVEhfU1lO
ICYmDQogCQkJICAgIHRwLT50X3N0YXRlID09IFRDUFNfVElNRV9XQUlUICYm
DQogCQkJICAgIFNFUV9HVCh0aC0+dGhfc2VxLCB0cC0+cmN2X254dCkpIHsN
Ci0JCQkJaXNzID0gdGNwX25ld19pc24oKTsNCisJCQkJaXNzID0gdGNwX25l
d19pc24odHApOw0KIAkJCQl0cCA9IHRjcF9jbG9zZSh0cCk7DQogCQkJCWdv
dG8gZmluZHBjYjsNCiAJCQl9DQpkaWZmIC11IC1yIG5ldGluZXQub2xkL3Rj
cF9zZXEuaCBuZXRpbmV0L3RjcF9zZXEuaA0KLS0tIG5ldGluZXQub2xkL3Rj
cF9zZXEuaAlUdWUgSnVsIDMxIDIxOjQzOjIxIDIwMDENCisrKyBuZXRpbmV0
L3RjcF9zZXEuaAlUaHUgQXVnICA5IDAwOjQ4OjMwIDIwMDENCkBAIC04MCwy
NiArODAsNSBAQA0KIA0KICNpZmRlZiBfS0VSTkVMDQogZXh0ZXJuIHRjcF9j
Ywl0Y3BfY2NnZW47CQkvKiBnbG9iYWwgY29ubmVjdGlvbiBjb3VudCAqLw0K
LQ0KLS8qDQotICogSW5jcmVtZW50IGZvciB0Y3BfaXNzIGVhY2ggc2Vjb25k
Lg0KLSAqIFRoaXMgaXMgZGVzaWduZWQgdG8gaW5jcmVtZW50IGF0IHRoZSBz
dGFuZGFyZCAyNTAgS0IvcywNCi0gKiBidXQgd2l0aCBhIHJhbmRvbSBjb21w
b25lbnQgYXZlcmFnaW5nIDEyOCBLQi4NCi0gKiBXZSBhbHNvIGluY3JlbWVu
dCB0Y3BfaXNzIGJ5IGEgcXVhcnRlciBvZiB0aGlzIGFtb3VudA0KLSAqIGVh
Y2ggdGltZSB3ZSB1c2UgdGhlIHZhbHVlIGZvciBhIG5ldyBjb25uZWN0aW9u
Lg0KLSAqIElmIGRlZmluZWQsIHRoZSB0Y3BfcmFuZG9tMTgoKSBtYWNybyBz
aG91bGQgcHJvZHVjZSBhDQotICogbnVtYmVyIGluIHRoZSByYW5nZSBbMC0w
eDNmZmZmXSB0aGF0IGlzIGhhcmQgdG8gcHJlZGljdC4NCi0gKiANCi0gKiBU
aGUgdmFyaWFibGUgdGNwX2lzcyBhbmQgdGNwX3JhbmRvbTE4KCkgYXJlIG9u
bHkgdXNlZA0KLSAqIGJ5IHNlcXVlbmNlIG51bWJlciBnZW5lcmF0aW9uIHNj
aGVtZSAwLg0KLSAqLw0KLSNpZm5kZWYgdGNwX3JhbmRvbTE4DQotI2RlZmlu
ZQl0Y3BfcmFuZG9tMTgoKQkoYXJjNHJhbmRvbSgpICYgMHgzZmZmZikNCi0j
ZW5kaWYNCi0jZGVmaW5lCVRDUF9JU1NJTkNSCSgxMjIqMTAyNCArIHRjcF9y
YW5kb20xOCgpKQ0KLQ0KLWV4dGVybiB0Y3Bfc2VxCXRjcF9pc3M7DQotI2Vs
c2UNCi0jZGVmaW5lCVRDUF9JU1NJTkNSCSgyNTAqMTAyNCkJLyogaW5jcmVt
ZW50IGZvciB0Y3BfaXNzIGVhY2ggc2Vjb25kICovDQogI2VuZGlmIC8qIF9L
RVJORUwgKi8NCiAjZW5kaWYgLyogX05FVElORVRfVENQX1NFUV9IXyAqLw0K
ZGlmZiAtdSAtciBuZXRpbmV0Lm9sZC90Y3Bfc3Vici5jIG5ldGluZXQvdGNw
X3N1YnIuYw0KLS0tIG5ldGluZXQub2xkL3RjcF9zdWJyLmMJVHVlIEp1bCAz
MSAyMTo0MzoyMSAyMDAxDQorKysgbmV0aW5ldC90Y3Bfc3Vici5jCVRodSBB
dWcgIDkgMDE6MjE6MTYgMjAwMQ0KQEAgLTk4LDYgKzk4LDcgQEANCiAjZW5k
aWYgLypJUFNFQyovDQogDQogI2luY2x1ZGUgPG1hY2hpbmUvaW5fY2tzdW0u
aD4NCisjaW5jbHVkZSA8c3lzL21kNS5oPg0KIA0KIGludCAJdGNwX21zc2Rm
bHQgPSBUQ1BfTVNTOw0KIFNZU0NUTF9JTlQoX25ldF9pbmV0X3RjcCwgVENQ
Q1RMX01TU0RGTFQsIG1zc2RmbHQsIENUTEZMQUdfUlcsIA0KQEAgLTEzOSw5
ICsxNDAsMTMgQEANCiBTWVNDVExfSU5UKF9uZXRfaW5ldF90Y3AsIE9JRF9B
VVRPLCBpY21wX21heV9yc3QsIENUTEZMQUdfUlcsICZpY21wX21heV9yc3Qs
IDAsIA0KICAgICAiQ2VydGFpbiBJQ01QIHVucmVhY2hhYmxlIG1lc3NhZ2Vz
IG1heSBhYm9ydCBjb25uZWN0aW9ucyBpbiBTWU5fU0VOVCIpOw0KIA0KLXN0
YXRpYyBpbnQJdGNwX3NlcV9nZW5zY2hlbWUgPSAxOw0KLVNZU0NUTF9JTlQo
X25ldF9pbmV0X3RjcCwgT0lEX0FVVE8sIHRjcF9zZXFfZ2Vuc2NoZW1lLCBD
VExGTEFHX1JXLA0KLSAgICAmdGNwX3NlcV9nZW5zY2hlbWUsIDAsICJUQ1Ag
SVNOIGdlbmVyYXRpb24gc2NoZW1lIik7DQorc3RhdGljIGludAl0Y3Bfc3Ry
aWN0X3JmYzE5NDggPSAwOw0KK1NZU0NUTF9JTlQoX25ldF9pbmV0X3RjcCwg
T0lEX0FVVE8sIHN0cmljdF9yZmMxOTQ4LCBDVExGTEFHX1JXLA0KKyAgICAm
dGNwX3N0cmljdF9yZmMxOTQ4LCAwLCAiRGV0ZXJtaW5lcyBpZiBSRkMxOTQ4
IGlzIGZvbGxvd2VkIGV4YWN0bHkiKTsNCisNCitzdGF0aWMgaW50CXRjcF9p
c25fcmVzZWVkX2ludGVydmFsID0gMDsNCitTWVNDVExfSU5UKF9uZXRfaW5l
dF90Y3AsIE9JRF9BVVRPLCBpc25fcmVzZWVkX2ludGVydmFsLCBDVExGTEFH
X1JXLA0KKyAgICAmdGNwX2lzbl9yZXNlZWRfaW50ZXJ2YWwsIDAsICJTZWNv
bmRzIGJldHdlZW4gcmVzZWVkaW5nIG9mIElTTiBzZWNyZXQiKTsNCiANCiBz
dGF0aWMgdm9pZAl0Y3BfY2xlYXJ0YW9jYWNoZSBfX1AoKHZvaWQpKTsNCiBz
dGF0aWMgdm9pZAl0Y3Bfbm90aWZ5IF9fUCgoc3RydWN0IGlucGNiICosIGlu
dCkpOw0KQEAgLTE4Niw3ICsxOTEsNiBAQA0KIHsNCiAJaW50IGhhc2hzaXpl
ID0gVENCSEFTSFNJWkU7DQogCQ0KLQl0Y3BfaXNzID0gYXJjNHJhbmRvbSgp
OwkvKiB3cm9uZywgYnV0IGJldHRlciB0aGFuIGEgY29uc3RhbnQgKi8NCiAJ
dGNwX2NjZ2VuID0gMTsNCiAJdGNwX2NsZWFydGFvY2FjaGUoKTsNCiANCkBA
IC0xMTEyLDgwICsxMTE2LDEwMSBAQA0KIH0NCiAjZW5kaWYgLyogSU5FVDYg
Ki8NCiANCi10Y3Bfc2VxDQotdGNwX25ld19pc24oKQ0KLXsNCi0NCi0JaWYg
KHRjcF9zZXFfZ2Vuc2NoZW1lID4gMSB8fCB0Y3Bfc2VxX2dlbnNjaGVtZSA8
IDApDQotCQl0Y3Bfc2VxX2dlbnNjaGVtZSA9IDE7DQotDQotCXN3aXRjaCAo
dGNwX3NlcV9nZW5zY2hlbWUpIHsNCi0JY2FzZSAwOgkJCS8qIFJhbmRvbSBw
b3NpdGl2ZSBpbmNyZW1lbnRzICovDQotCQl0Y3BfaXNzICs9IFRDUF9JU1NJ
TkNSLzI7DQotCQlyZXR1cm4gdGNwX2lzczsNCi0JY2FzZSAxOgkJCS8qIE9w
ZW5CU0QgcmFuZG9taXplZCBzY2hlbWUgKi8NCi0JCXJldHVybiB0Y3Bfcm5k
aXNzX25leHQoKTsNCi0JZGVmYXVsdDoNCi0JCXBhbmljKCJjYW5ub3QgaGFw
cGVuIik7DQotCX0NCi19DQotDQotI2RlZmluZSBUQ1BfUk5ESVNTX1JPVU5E
UwkxNg0KLSNkZWZpbmUgVENQX1JORElTU19PVVQJNzIwMA0KLSNkZWZpbmUg
VENQX1JORElTU19NQVgJMzAwMDANCi0NCi11X2ludDhfdCB0Y3Bfcm5kaXNz
X3Nib3hbMTI4XTsNCi11X2ludDE2X3QgdGNwX3JuZGlzc19tc2I7DQotdV9p
bnQxNl90IHRjcF9ybmRpc3NfY250Ow0KLWxvbmcgdGNwX3JuZGlzc19yZXNl
ZWQ7DQotDQotdV9pbnQxNl90DQotdGNwX3JuZGlzc19lbmNyeXB0KHZhbCkN
Ci0JdV9pbnQxNl90IHZhbDsNCi17DQotCXVfaW50MTZfdCBzdW0gPSAwLCBp
Ow0KLSAgDQotCWZvciAoaSA9IDA7IGkgPCBUQ1BfUk5ESVNTX1JPVU5EUzsg
aSsrKSB7DQotCQlzdW0gKz0gMHg3OWI5Ow0KLQkJdmFsIF49ICgodV9pbnQx
Nl90KXRjcF9ybmRpc3Nfc2JveFsodmFsXnN1bSkgJiAweDdmXSkgPDwgNzsN
Ci0JCXZhbCA9ICgodmFsICYgMHhmZikgPDwgNykgfCAodmFsID4+IDgpOw0K
LQl9DQogDQotCXJldHVybiB2YWw7DQotfQ0KLQ0KLXZvaWQNCi10Y3Bfcm5k
aXNzX2luaXQoKQ0KLXsNCi0Jc3RydWN0IHRpbWV2YWwgdGltZTsNCisvKg0K
KyAqIEZvbGxvd2luZyBpcyB3aGVyZSBUQ1AgaW5pdGlhbCBzZXF1ZW5jZSBu
dW1iZXIgZ2VuZXJhdGlvbiBvY2N1cnMuDQorICoNCisgKiBUaGVyZSBhcmUg
dHdvIHBsYWNlcyB3aGVyZSB3ZSBtdXN0IHVzZSBpbml0aWFsIHNlcXVlbmNl
IG51bWJlcnM6DQorICogMS4gIEluIFNZTi1BQ0sgcGFja2V0cy4NCisgKiAy
LiAgSW4gU1lOIHBhY2tldHMuDQorICoNCisgKiBUaGUgSVNOcyBpbiBTWU4t
QUNLIHBhY2tldHMgaGF2ZSBubyBtb25vdG9uaWNpdHkgcmVxdWlyZW1lbnQs
IA0KKyAqIGFuZCBzaG91bGQgYmUgYXMgdW5wcmVkaWN0YWJsZSBhcyBwb3Nz
aWJsZSB0byBhdm9pZCB0aGUgcG9zc2liaWxpdHkNCisgKiBvZiBzcG9vZmlu
ZyBhbmQvb3IgY29ubmVjdGlvbiBoaWphY2tpbmcuICBUbyBzYXRpc2Z5IHRo
aXMNCisgKiByZXF1aXJlbWVudCwgU1lOLUFDSyBJU05zIGFyZSBnZW5lcmF0
ZWQgdmlhIHRoZSBhcmM0cmFuZG9tKCkNCisgKiBmdW5jdGlvbi4gIElmIGV4
YWN0IFJGQyAxOTQ4IGNvbXBsaWFuY2UgaXMgcmVxdWVzdGVkIHZpYSBzeXNj
dGwsDQorICogdGhlc2UgSVNOcyB3aWxsIGJlIGdlbmVyYXRlZCBqdXN0IGxp
a2UgdGhvc2UgaW4gU1lOIHBhY2tldHMuDQorICoNCisgKiBUaGUgSVNOcyBp
biBTWU4gcGFja2V0cyBtdXN0IGJlIG1vbm90b25pYzsgVElNRV9XQUlUIHJl
Y3ljbGluZw0KKyAqIGRlcGVuZHMgb24gdGhpcyBwcm9wZXJ0eS4gIEluIGFk
ZGl0aW9uLCB0aGVzZSBJU05zIHNob3VsZCBiZQ0KKyAqIHVuZ3Vlc3NhYmxl
IHNvIGFzIHRvIHByZXZlbnQgY29ubmVjdGlvbiBoaWphY2tpbmcuICBUbyBz
YXRpc2Z5DQorICogdGhlIHJlcXVpcmVtZW50cyBvZiB0aGlzIHNpdHVhdGlv
biwgdGhlIGFsZ29yaXRobSBvdXRsaW5lZCBpbg0KKyAqIFJGQyAxOTQ4IGlz
IHVzZWQgdG8gZ2VuZXJhdGUgc2VxdWVuY2UgbnVtYmVycy4NCisgKg0KKyAq
IEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoZSB0aGVvcnkgb2Ygb3BlcmF0
aW9uLCBwbGVhc2Ugc2VlDQorICogUkZDIDE5NDguDQorICoNCisgKiBJbXBs
ZW1lbnRhdGlvbiBkZXRhaWxzOg0KKyAqDQorICogVGltZSBpcyBiYXNlZCBv
ZmYgdGhlIHN5c3RlbSB0aW1lciwgYW5kIGlzIGNvcnJlY3RlZCBzbyB0aGF0
IGl0DQorICogaW5jcmVhc2VzIGJ5IG9uZSBtZWdhYnl0ZSBwZXIgc2Vjb25k
LiAgVGhpcyBhbGxvd3MgZm9yIHByb3Blcg0KKyAqIHJlY3ljbGluZyBvbiBo
aWdoIHNwZWVkIExBTnMgd2hpbGUgc3RpbGwgbGVhdmluZyBvdmVyIGFuIGhv
dXINCisgKiBiZWZvcmUgcm9sbG92ZXIuDQorICoNCisgKiBUd28gc3lzY3Rs
cyBjb250cm9sIHRoZSBnZW5lcmF0aW9uIG9mIElTTnM6DQorICoNCisgKiBu
ZXQuaW5ldC50Y3AuaXNuX3Jlc2VlZF9pbnRlcnZhbCBjb250cm9scyB0aGUg
bnVtYmVyIG9mIHNlY29uZHMNCisgKiBiZXR3ZWVuIHNlZWRpbmcgb2YgaXNu
X3NlY3JldC4gIFRoaXMgaXMgbm9ybWFsbHkgc2V0IHRvIHplcm8sDQorICog
YXMgcmVzZWVkaW5nIHNob3VsZCBub3QgYmUgbmVjZXNzYXJ5Lg0KKyAqDQor
ICogbmV0LmluZXQudGNwLnN0cmljdF9yZmMxOTQ4IGNvbnRyb2xzIHdoZXRo
ZXIgUkZDIDE5NDggaXMgZm9sbG93ZWQNCisgKiBzdHJpY3RseS4gIFdoZW4g
c3RyaWN0IGNvbXBsaWFuY2UgaXMgcmVxdWVzdGVkLCByZXNlZWRpbmcgaXMN
CisgKiBkaXNhYmxlZCBhbmQgU1lOLUFDS3Mgd2lsbCBiZSBnZW5lcmF0ZWQg
aW4gdGhlIHNhbWUgbWFubmVyIGFzDQorICogU1lOcy4gIFN0cmljdCBtb2Rl
IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQuDQorICoNCisgKi8NCiANCi0JZ2V0
bWljcm90aW1lKCZ0aW1lKTsNCi0JcmVhZF9yYW5kb21fdW5saW1pdGVkKHRj
cF9ybmRpc3Nfc2JveCwgc2l6ZW9mKHRjcF9ybmRpc3Nfc2JveCkpOw0KKyNk
ZWZpbmUgSVNOX0JZVEVTX1BFUl9TRUNPTkQgMTA0ODU3Ng0KIA0KLQl0Y3Bf
cm5kaXNzX3Jlc2VlZCA9IHRpbWUudHZfc2VjICsgVENQX1JORElTU19PVVQ7
DQotCXRjcF9ybmRpc3NfbXNiID0gdGNwX3JuZGlzc19tc2IgPT0gMHg4MDAw
ID8gMCA6IDB4ODAwMDsgDQotCXRjcF9ybmRpc3NfY250ID0gMDsNCi19DQor
dV9jaGFyIGlzbl9zZWNyZXRbMzJdOw0KK2ludCBpc25fbGFzdF9yZXNlZWQ7
DQorTUQ1X0NUWCBpc25fY3R4Ow0KIA0KIHRjcF9zZXENCi10Y3Bfcm5kaXNz
X25leHQoKQ0KK3RjcF9uZXdfaXNuKHRwKQ0KKwlzdHJ1Y3QgdGNwY2IgKnRw
Ow0KIHsNCi0JdV9pbnQzMl90IHRtcDsNCi0Jc3RydWN0IHRpbWV2YWwgdGlt
ZTsNCisJdV9pbnQzMl90IG1kNV9idWZmZXJbNF07DQorCXRjcF9zZXEgbmV3
X2lzbjsNCiANCi0JZ2V0bWljcm90aW1lKCZ0aW1lKTsNCi0NCi0gICAgICAg
IGlmICh0Y3Bfcm5kaXNzX2NudCA+PSBUQ1BfUk5ESVNTX01BWCB8fA0KLQkg
ICAgdGltZS50dl9zZWMgPiB0Y3Bfcm5kaXNzX3Jlc2VlZCkNCi0gICAgICAg
ICAgICAgICAgdGNwX3JuZGlzc19pbml0KCk7DQotCQ0KLQl0bXAgPSBhcmM0
cmFuZG9tKCk7DQotDQotCS8qICh0bXAgJiAweDdmZmYpIGVuc3VyZXMgYSAz
Mjc2OCBieXRlIGdhcCBiZXR3ZWVuIElTUyAqLw0KLQlyZXR1cm4gKCh0Y3Bf
cm5kaXNzX2VuY3J5cHQodGNwX3JuZGlzc19jbnQrKykgfCB0Y3Bfcm5kaXNz
X21zYikgPDwxNikgfA0KLQkJKHRtcCAmIDB4N2ZmZik7DQorCS8qIFVzZSBh
cmM0cmFuZG9tIGZvciBTWU4tQUNLcyB3aGVuIG5vdCBpbiBleGFjdCBSRkMx
OTQ4IG1vZGUuICovDQorCWlmICgoKHRwLT50X3N0YXRlID09IFRDUFNfTElT
VEVOKSB8fCAodHAtPnRfc3RhdGUgPT0gVENQU19USU1FX1dBSVQpKQ0KKwkg
ICAmJiB0Y3Bfc3RyaWN0X3JmYzE5NDggIT0gMSkNCisJCXJldHVybiBhcmM0
cmFuZG9tKCk7DQorDQorCS8qIFNlZWQgaWYgdGhpcyBpcyB0aGUgZmlyc3Qg
dXNlLCByZXNlZWQgaWYgcmVxdWVzdGVkLiAqLw0KKwlpZiAoKGlzbl9sYXN0
X3Jlc2VlZCA9PSAwKSB8fA0KKwkgICAgKCh0Y3Bfc3RyaWN0X3JmYzE5NDgg
IT0gMSkgJiYgKHRjcF9pc25fcmVzZWVkX2ludGVydmFsID4gMCkgJiYNCisJ
ICAgICAoKCh1X2ludClpc25fbGFzdF9yZXNlZWQgKyAodV9pbnQpdGNwX2lz
bl9yZXNlZWRfaW50ZXJ2YWwqaHopDQorCQk8ICh1X2ludCl0aWNrcykpKSB7
DQorCQlyZWFkX3JhbmRvbV91bmxpbWl0ZWQoJmlzbl9zZWNyZXQsIHNpemVv
Zihpc25fc2VjcmV0KSk7DQorCQlpc25fbGFzdF9yZXNlZWQgPSB0aWNrczsN
CisJfQ0KKwkJDQorCS8qIENvbXB1dGUgdGhlIG1kNSBoYXNoIGFuZCByZXR1
cm4gdGhlIElTTi4gKi8NCisJTUQ1SW5pdCgmaXNuX2N0eCk7DQorCU1ENVVw
ZGF0ZSgmaXNuX2N0eCwgKHVfY2hhciAqKSAmdHAtPnRfaW5wY2ItPmlucF9m
cG9ydCwgc2l6ZW9mKHVfc2hvcnQpKTsNCisJTUQ1VXBkYXRlKCZpc25fY3R4
LCAodV9jaGFyICopICZ0cC0+dF9pbnBjYi0+aW5wX2xwb3J0LCBzaXplb2Yo
dV9zaG9ydCkpOw0KKyNpZmRlZiBJTkVUNg0KKwlpZiAoKHRwLT50X2lucGNi
LT5pbnBfdmZsYWcgJiBJTlBfSVBWNikgIT0gMCkgew0KKwkJTUQ1VXBkYXRl
KCZpc25fY3R4LCAodV9jaGFyICopICZ0cC0+dF9pbnBjYi0+aW42cF9mYWRk
ciwNCisJCQkgIHNpemVvZihzdHJ1Y3QgaW42X2FkZHIpKTsNCisJCU1ENVVw
ZGF0ZSgmaXNuX2N0eCwgKHVfY2hhciAqKSAmdHAtPnRfaW5wY2ItPmluNnBf
bGFkZHIsDQorCQkJICBzaXplb2Yoc3RydWN0IGluNl9hZGRyKSk7DQorCX0g
ZWxzZQ0KKyNlbmRpZg0KKwl7DQorCQlNRDVVcGRhdGUoJmlzbl9jdHgsICh1
X2NoYXIgKikgJnRwLT50X2lucGNiLT5pbnBfZmFkZHIsDQorCQkJICBzaXpl
b2Yoc3RydWN0IGluX2FkZHIpKTsNCisJCU1ENVVwZGF0ZSgmaXNuX2N0eCwg
KHVfY2hhciAqKSAmdHAtPnRfaW5wY2ItPmlucF9sYWRkciwNCisJCQkgIHNp
emVvZihzdHJ1Y3QgaW5fYWRkcikpOw0KKwl9DQorCU1ENVVwZGF0ZSgmaXNu
X2N0eCwgKHVfY2hhciAqKSAmaXNuX3NlY3JldCwgc2l6ZW9mKGlzbl9zZWNy
ZXQpKTsNCisJTUQ1RmluYWwoKHVfY2hhciAqKSAmbWQ1X2J1ZmZlciwgJmlz
bl9jdHgpOw0KKwluZXdfaXNuID0gKHRjcF9zZXEpIG1kNV9idWZmZXJbMF07
DQorCW5ld19pc24gKz0gdGlja3MgKiAoSVNOX0JZVEVTX1BFUl9TRUNPTkQg
LyBoeik7DQorCXJldHVybiBuZXdfaXNuOw0KIH0NCi0NCiANCiAvKg0KICAq
IFdoZW4gYSBzb3VyY2UgcXVlbmNoIGlzIHJlY2VpdmVkLCBjbG9zZSBjb25n
ZXN0aW9uIHdpbmRvdw0KZGlmZiAtdSAtciBuZXRpbmV0Lm9sZC90Y3BfdGlt
ZXIuYyBuZXRpbmV0L3RjcF90aW1lci5jDQotLS0gbmV0aW5ldC5vbGQvdGNw
X3RpbWVyLmMJVHVlIEp1bCAzMSAyMTo0MzoyMSAyMDAxDQorKysgbmV0aW5l
dC90Y3BfdGltZXIuYwlUaHUgQXVnICA5IDAwOjQ1OjUwIDIwMDENCkBAIC0x
MzMsOCArMTMzLDYgQEANCiANCiAJdGNwX21heGlkbGUgPSB0Y3Bfa2VlcGNu
dCAqIHRjcF9rZWVwaW50dmw7DQogDQotCXRjcF9pc3MgKz0gVENQX0lTU0lO
Q1IvUFJfU0xPV0haOw0KLQ0KIAlzcGx4KHMpOw0KIH0NCiANCmRpZmYgLXUg
LXIgbmV0aW5ldC5vbGQvdGNwX3VzcnJlcS5jIG5ldGluZXQvdGNwX3VzcnJl
cS5jDQotLS0gbmV0aW5ldC5vbGQvdGNwX3VzcnJlcS5jCVR1ZSBKdWwgMzEg
MjE6NDM6MjEgMjAwMQ0KKysrIG5ldGluZXQvdGNwX3VzcnJlcS5jCVR1ZSBK
dWwgMzEgMjE6NDU6NTggMjAwMQ0KQEAgLTc1OCw3ICs3NTgsNyBAQA0KIAl0
Y3BzdGF0LnRjcHNfY29ubmF0dGVtcHQrKzsNCiAJdHAtPnRfc3RhdGUgPSBU
Q1BTX1NZTl9TRU5UOw0KIAljYWxsb3V0X3Jlc2V0KHRwLT50dF9rZWVwLCB0
Y3Bfa2VlcGluaXQsIHRjcF90aW1lcl9rZWVwLCB0cCk7DQotCXRwLT5pc3Mg
PSB0Y3BfbmV3X2lzbigpOw0KKwl0cC0+aXNzID0gdGNwX25ld19pc24odHAp
Ow0KIAl0Y3Bfc2VuZHNlcWluaXQodHApOw0KIA0KIAkvKg0KQEAgLTg0NCw3
ICs4NDQsNyBAQA0KIAl0Y3BzdGF0LnRjcHNfY29ubmF0dGVtcHQrKzsNCiAJ
dHAtPnRfc3RhdGUgPSBUQ1BTX1NZTl9TRU5UOw0KIAljYWxsb3V0X3Jlc2V0
KHRwLT50dF9rZWVwLCB0Y3Bfa2VlcGluaXQsIHRjcF90aW1lcl9rZWVwLCB0
cCk7DQotCXRwLT5pc3MgPSB0Y3BfbmV3X2lzbigpOw0KKwl0cC0+aXNzID0g
dGNwX25ld19pc24odHApOw0KIAl0Y3Bfc2VuZHNlcWluaXQodHApOw0KIA0K
IAkvKg0KZGlmZiAtdSAtciBuZXRpbmV0Lm9sZC90Y3BfdmFyLmggbmV0aW5l
dC90Y3BfdmFyLmgNCi0tLSBuZXRpbmV0Lm9sZC90Y3BfdmFyLmgJVHVlIEp1
bCAzMSAyMTo0MzoyMSAyMDAxDQorKysgbmV0aW5ldC90Y3BfdmFyLmgJVGh1
IEF1ZyAgOSAwMDo1NToxNiAyMDAxDQpAQCAtNDEwLDExICs0MTAsNyBAQA0K
IGV4dGVybglzdHJ1Y3QgcHJfdXNycmVxcyB0Y3BfdXNycmVxczsNCiBleHRl
cm4JdV9sb25nIHRjcF9zZW5kc3BhY2U7DQogZXh0ZXJuCXVfbG9uZyB0Y3Bf
cmVjdnNwYWNlOw0KLXZvaWQJdGNwX3JuZGlzc19pbml0IF9fUCgodm9pZCkp
Ow0KLXRjcF9zZXEJdGNwX3JuZGlzc19uZXh0IF9fUCgodm9pZCkpOw0KLXVf
aW50MTZfdA0KLQl0Y3Bfcm5kaXNzX2VuY3J5cHQgX19QKCh1X2ludDE2X3Qp
KTsNCi10Y3Bfc2VxIHRjcF9uZXdfaXNuIF9fUCgodm9pZCkpOw0KK3RjcF9z
ZXEgdGNwX25ld19pc24gX19QKChzdHJ1Y3QgdGNwY2IgKikpOw0KIA0KICNl
bmRpZiAvKiBfS0VSTkVMICovDQo=
--0-1767808683-997421874=:93492--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010810002406.U93492-300000>