Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Nov 2004 16:54:52 -0500 (EST)
From:      Matthew George <mdg@secureworks.net>
To:        freebsd-pf@freebsd.org
Subject:   please test: ifstated(8) patches
Message-ID:  <20041117164521.P818@localhost>

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-1132633073-1100728010=:818
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <20041117164704.M818@localhost>


I've gone and ported OpenBSD's ifstated(8) to FreeBSD.

The attached ifstated.patch will apply against src/usr.sbin/ifstated/*
from OpenBSD's cvs, and compiles cleanly against RELENG_5_3.

The ifstated.conf.patch is basically the same as OpenBSD's, except for a
ping command line option.  The config file has a comment in it noting that
net.inet.carp.preempt must be set to '1' in order for it to work.  I
performed my testing with it set to '0', and it seemed to be fine for me.
The config script calls ifconfig on carp interfaces for its actions, but
that's the only requirement for carp ... it should work fine for non-carp
kernels with the proper config script.

-- 
Matthew George
SecureWorks Technical Operations
404.327.6339
--0-1132633073-1100728010=:818
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="ifstated.conf.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <20041117164650.C818@localhost>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME="ifstated.conf.patch"

LS0tIC4uL2lmc3RhdGVkLm9yaWcvaWZzdGF0ZWQuY29uZglXZWQgTm92IDE3
IDE2OjM0OjE0IDIwMDQNCisrKyBpZnN0YXRlZC5jb25mCVdlZCBOb3YgMTcg
MTU6NTA6MjUgMjAwNA0KQEAgLTcsNyArNyw3IEBADQogIyBuZXQuaW5ldC5j
YXJwLnByZWVtcHQgbXVzdCBiZSBlbmFibGVkIChzZXQgdG8gMSkgZm9yIHRo
aXMgdG8gd29yayBjb3JyZWN0bHkuDQogDQogIyBVbmNvbW1lbnQgb25lIG9m
IHRoZSBmb2xsb3dpbmcgbGluZXMgdG8gZm9yY2UgcHJpbWFyeS9iYWNrdXAg
c3RhdHVzLg0KLSMgaW5pdC1zdGF0ZSBwcmltYXJ5DQoraW5pdC1zdGF0ZSBw
cmltYXJ5DQogIyBpbml0LXN0YXRlIGJhY2t1cA0KIA0KIGNhcnBfdXAgPSAi
KChjYXJwMCBsaW5rIHVwKSBhbmQgKGNhcnAxIGxpbmsgdXApKSINCkBAIC0x
OCwxMiArMTgsMTIgQEANCiAjIFRoZSAibmV0IiBhZGRyZXNzZXMgYXJlIG90
aGVyIGFkZHJlc3NlcyB3aGljaCBjYW4gYmUgdXNlZCB0byBkZXRlcm1pbmUN
CiAjIHdoZXRoZXIgd2UgaGF2ZSBjb25uZWN0aXZpdHkuIE1ha2Ugc3VyZSB0
aGUgaG9zdHMgYXJlIGFsd2F5cyB1cCwgb3INCiAjIHRlc3QgbXVsdGlwbGUg
aXAncywgJ29yJy1pbmcgdGhlIHRlc3RzLg0KLW5ldCA9ICcoICJwaW5nIC1x
IC1jIDEgLXcgMSAxOTIuMTY4LjYuOCA+IC9kZXYvbnVsbCIgZXZlcnkgMTAg
YW5kIFwNCi0gICAgInBpbmcgLXEgLWMgMSAtdyAxIDE5Mi4xNjguMy44ID4g
L2Rldi9udWxsIiBldmVyeSAxMCknDQorbmV0ID0gJyggInBpbmcgLXEgLWMg
MSAtdCAxIDE5Mi4xNjguNi44ID4gL2Rldi9udWxsIiBldmVyeSAxMCBhbmQg
XA0KKyAgICAicGluZyAtcSAtYyAxIC10IDEgMTkyLjE2OC4zLjggPiAvZGV2
L251bGwiIGV2ZXJ5IDEwKScNCiANCiAjIFRoZSBwZWVyIGFkZHJlc3NlcyBi
ZWxvdyBhcmUgdGhlIHJlYWwgaXAgYWRkcmVzc2VzIG9mIHRoZSBPVEhFUiBm
aXJld2FsbA0KLXBlZXIgPSAnKCAicGluZyAtcSAtYyAxIC13IDEgMTkyLjE2
OC42LjcgPiAvZGV2L251bGwiIGV2ZXJ5IDEwIGFuZCBcDQotICAgICJwaW5n
IC1xIC1jIDEgLXcgMSAxOTIuMTY4LjMuNyA+IC9kZXYvbnVsbCIgZXZlcnkg
MTApJw0KK3BlZXIgPSAnKCAicGluZyAtcSAtYyAxIC10IDEgMTkyLjE2OC42
LjcgPiAvZGV2L251bGwiIGV2ZXJ5IDEwIGFuZCBcDQorICAgICJwaW5nIC1x
IC1jIDEgLXQgMSAxOTIuMTY4LjMuNyA+IC9kZXYvbnVsbCIgZXZlcnkgMTAp
Jw0KIA0KIHN0YXRlIGF1dG8gew0KIAlpZiAkY2FycF91cCB7DQo=

--0-1132633073-1100728010=:818
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="ifstated.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <20041117164650.H818@localhost>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME="ifstated.patch"

ZGlmZiAtdSAuLi9pZnN0YXRlZC5vcmlnL01ha2VmaWxlIC4vTWFrZWZpbGUN
Ci0tLSAuLi9pZnN0YXRlZC5vcmlnL01ha2VmaWxlCVdlZCBOb3YgMTcgMTY6
MTU6MzcgMjAwNA0KKysrIC4vTWFrZWZpbGUJV2VkIE5vdiAxNyAxNjoxMjow
NiAyMDA0DQpAQCAtNyw2ICs3LDUgQEANCiBDTEZBR1MrPSAtV21pc3Npbmct
ZGVjbGFyYXRpb25zIC1XcmVkdW5kYW50LWRlY2xzDQogQ0ZMQUdTKz0gLVdz
aGFkb3cgLVdwb2ludGVyLWFyaXRoIC1XY2FzdC1xdWFsDQogTUFOPSBpZnN0
YXRlZC44DQotTERBREQrPS1sdXRpbCAtbGV2ZW50DQogDQogLmluY2x1ZGUg
PGJzZC5wcm9nLm1rPg0KZGlmZiAtdSAuLi9pZnN0YXRlZC5vcmlnL2lmc3Rh
dGVkLmMgLi9pZnN0YXRlZC5jDQotLS0gLi4vaWZzdGF0ZWQub3JpZy9pZnN0
YXRlZC5jCVdlZCBOb3YgMTcgMTY6MTY6MTEgMjAwNA0KKysrIC4vaWZzdGF0
ZWQuYwlXZWQgTm92IDE3IDE2OjI2OjM0IDIwMDQNCkBAIC0yMywxMiArMjMs
MTUgQEANCiAgKi8NCiANCiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQorI2lu
Y2x1ZGUgPHN5cy9ldmVudC5oPg0KICNpbmNsdWRlIDxzeXMvdGltZS5oPg0K
ICNpbmNsdWRlIDxzeXMvaW9jdGwuaD4NCiAjaW5jbHVkZSA8c3lzL3NvY2tl
dC5oPg0KICNpbmNsdWRlIDxzeXMvd2FpdC5oPg0KKyNpbmNsdWRlIDxzeXMv
c3lzY3RsLmg+DQogDQogI2luY2x1ZGUgPG5ldC9pZi5oPg0KKyNpbmNsdWRl
IDxuZXQvaWZfbWliLmg+DQogI2luY2x1ZGUgPG5ldC9yb3V0ZS5oPg0KICNp
bmNsdWRlIDxuZXRpbmV0L2luLmg+DQogDQpAQCAtMzgsOCArNDEsNiBAQA0K
ICNpbmNsdWRlIDxmY250bC5oPg0KICNpbmNsdWRlIDxzaWduYWwuaD4NCiAj
aW5jbHVkZSA8ZXJyLmg+DQotI2luY2x1ZGUgPGV2ZW50Lmg+DQotI2luY2x1
ZGUgPHV0aWwuaD4NCiAjaW5jbHVkZSA8dW5pc3RkLmg+DQogI2luY2x1ZGUg
PHN5c2xvZy5oPg0KICNpbmNsdWRlIDxzdGRhcmcuaD4NCkBAIC01MiwxNSAr
NTMsMTUgQEANCiBpbnQJIG9wdHMgPSAwOw0KIGludAkgb3B0X2RlYnVnID0g
MDsNCiBpbnQJIG9wdF9pbmhpYml0ID0gMDsNCi1jaGFyCSpjb25maWdmaWxl
ID0gIi9ldGMvaWZzdGF0ZWQuY29uZiI7DQotc3RydWN0IGV2ZW50CXJ0X21z
Z19ldiwgc2lnaHVwX2V2LCBzdGFydHVwX2V2LCBzaWdjaGxkX2V2Ow0KK2No
YXIJKmNvbmZpZ2ZpbGUgPSAiL3Vzci9sb2NhbC9ldGMvaWZzdGF0ZWQuY29u
ZiI7DQoraW50ICAgICAga3E7DQorc3RydWN0IGtldmVudCAgIGtldjsNCiAN
Ci12b2lkCXN0YXJ0dXBfaGFuZGxlcihpbnQsIHNob3J0LCB2b2lkICopOw0K
LXZvaWQJc2lnaHVwX2hhbmRsZXIoaW50LCBzaG9ydCwgdm9pZCAqKTsNCit2
b2lkCXN0YXJ0dXBfaGFuZGxlcih2b2lkKTsNCit2b2lkCXNpZ2h1cF9oYW5k
bGVyKHZvaWQpOw0KIGludAlsb2FkX2NvbmZpZyh2b2lkKTsNCiB2b2lkCXNp
Z2NobGRfaGFuZGxlcihpbnQsIHNob3J0LCB2b2lkICopOw0KLXZvaWQJcnRf
bXNnX2hhbmRsZXIoaW50LCBzaG9ydCwgdm9pZCAqKTsNCi12b2lkCWV4dGVy
bmFsX2hhbmRsZXIoaW50LCBzaG9ydCwgdm9pZCAqKTsNCit2b2lkCXJ0X21z
Z19oYW5kbGVyKGludCBmZCk7DQogdm9pZAlleHRlcm5hbF9hc3luY19leGVj
KHN0cnVjdCBpZnNkX2V4dGVybmFsICopOw0KIHZvaWQJY2hlY2tfZXh0ZXJu
YWxfc3RhdHVzKHN0cnVjdCBpZnNkX3N0YXRlICopOw0KIHZvaWQJZXh0ZXJu
YWxfZXZ0aW1lcl9zZXR1cChzdHJ1Y3QgaWZzZF9zdGF0ZSAqLCBpbnQpOw0K
QEAgLTc2LDYgKzc3LDggQEANCiB2b2lkCXJlbW92ZV9leHByZXNzaW9uKHN0
cnVjdCBpZnNkX2V4cHJlc3Npb24gKiwgc3RydWN0IGlmc2Rfc3RhdGUgKik7
DQogdm9pZAlsb2dfaW5pdChpbnQpOw0KIHZvaWQJbG9naXQoaW50IGxldmVs
LCBjb25zdCBjaGFyICpmbXQsIC4uLik7DQoraW50ICAgICBnZXRfaWZjb3Vu
dCh2b2lkKTsNCitpbnQgICAgIGdldF9pZm1pYl9nZW5lcmFsKGludCwgc3Ry
dWN0IGlmbWliZGF0YSAqKTsNCiANCiB2b2lkDQogdXNhZ2Uodm9pZCkNCkBA
IC05MCw3ICs5Myw3IEBADQogaW50DQogbWFpbihpbnQgYXJnYywgY2hhciAq
YXJndltdKQ0KIHsNCi0Jc3RydWN0IHRpbWV2YWwgdHY7DQorCXN0cnVjdCB0
aW1lc3BlYyB0czsNCiAJaW50IGNoOw0KIA0KIAl3aGlsZSAoKGNoID0gZ2V0
b3B0KGFyZ2MsIGFyZ3YsICJkRDpmOmhuaXYiKSkgIT0gLTEpIHsNCkBAIC0x
MzcsMjYgKzE0MCw1NCBAQA0KIAkJc2V0cHJvY3RpdGxlKE5VTEwpOw0KIAl9
DQogDQotCWV2ZW50X2luaXQoKTsNCisJa3EgPSBrcXVldWUoKTsNCisNCiAJ
bG9nX2luaXQob3B0X2RlYnVnKTsNCiANCi0Jc2lnbmFsX3NldCgmc2lnY2hs
ZF9ldiwgU0lHQ0hMRCwgc2lnY2hsZF9oYW5kbGVyLCAmc2lnY2hsZF9ldik7
DQotCXNpZ25hbF9hZGQoJnNpZ2NobGRfZXYsIE5VTEwpOw0KKwl0cy50dl9z
ZWMgPSAwOw0KKwl0cy50dl9uc2VjID0gMDsNCisNCisJRVZfU0VUKCZrZXYs
IFNJR0NITEQsIEVWRklMVF9TSUdOQUwsIEVWX0FERCwgMCwgMCwgKHZvaWQg
KilzaWdjaGxkX2hhbmRsZXIpOw0KKwlrZXZlbnQoa3EsICZrZXYsIDEsIE5V
TEwsIDAsICZ0cyk7DQogDQogCS8qIExvYWRpbmcgdGhlIGNvbmZpZyBuZWVk
cyB0byBoYXBwZW4gaW4gdGhlIGV2ZW50IGxvb3AgKi8NCi0JdHYudHZfdXNl
YyA9IDA7DQotCXR2LnR2X3NlYyA9IDA7DQotCWV2dGltZXJfc2V0KCZzdGFy
dHVwX2V2LCBzdGFydHVwX2hhbmRsZXIsICZzdGFydHVwX2V2KTsNCi0JZXZ0
aW1lcl9hZGQoJnN0YXJ0dXBfZXYsICZ0dik7DQogDQotCWV2ZW50X2xvb3Ao
MCk7DQorCUVWX1NFVCgma2V2LCBJRlNEX0VWVElNRVJfU1RBUlRVUCwgRVZG
SUxUX1RJTUVSLCBFVl9BRER8RVZfT05FU0hPVCwgMCwgMCwgKHZvaWQgKilz
dGFydHVwX2hhbmRsZXIpOw0KKwlrZXZlbnQoa3EsICZrZXYsIDEsIE5VTEws
IDAsICZ0cyk7DQorDQorCS8qIGV2ZW50IGxvb3AgKi8NCisJZm9yKDs7KQ0K
KwkgIHsNCisJICAgIC8qIHdhaXQgaW5kZWZpbml0ZWx5IGZvciBhbiBldmVu
dCAqLw0KKwkgICAga2V2ZW50KGtxLCBOVUxMLCAwLCAma2V2LCAxLCBOVUxM
KTsNCisNCisJICAgIHZvaWQgKCpoYW5kbGVyKSh2b2lkKTsNCisJICAgIHZv
aWQgKCpydF9oYW5kbGVyKShpbnQpOw0KKwkgICAgaWYgKGtldi5maWx0ZXIg
PT0gRVZGSUxUX1JFQUQpDQorCSAgICAgIHsNCisJCXJ0X2hhbmRsZXIgPSBr
ZXYudWRhdGE7DQorCQlydF9oYW5kbGVyKGtldi5pZGVudCk7DQorCSAgICAg
IH0NCisJICAgIGVsc2UgaWYgKChrZXYuZmlsdGVyID09IEVWRklMVF9USU1F
UikgJiYgKGtldi5pZGVudCA9PSBJRlNEX0VWVElNRVJfRVhURVJOQUwpKQ0K
KwkgICAgICB7DQorCQlleHRlcm5hbF9hc3luY19leGVjKChzdHJ1Y3QgaWZz
ZF9leHRlcm5hbCAqKWtldi51ZGF0YSk7DQorCSAgICAgIH0NCisJICAgIGVs
c2UNCisJICAgICAgew0KKwkJaGFuZGxlciA9IGtldi51ZGF0YTsNCisJCWhh
bmRsZXIoKTsNCisJICAgICAgfQ0KKwkgIH0NCisNCisJLyogTk9UUkVBQ0hF
RCAqLw0KIAlleGl0KDApOw0KIH0NCiANCiB2b2lkDQotc3RhcnR1cF9oYW5k
bGVyKGludCBmZCwgc2hvcnQgZXZlbnQsIHZvaWQgKmFyZykNCitzdGFydHVw
X2hhbmRsZXIoKQ0KIHsNCiAJaW50IHJ0X2ZkOw0KKwlzdHJ1Y3QgdGltZXNw
ZWMgdHM7DQogDQogCWlmIChsb2FkX2NvbmZpZygpICE9IDApIHsNCiAJCWxv
Z2l0KElGU0RfTE9HX05PUk1BTCwgInVuYWJsZSB0byBsb2FkIGNvbmZpZyIp
Ow0KQEAgLTE2NiwxOCArMTk3LDIwIEBADQogCWlmICgocnRfZmQgPSBzb2Nr
ZXQoUEZfUk9VVEUsIFNPQ0tfUkFXLCAwKSkgPCAwKQ0KIAkJZXJyKDEsICJu
byByb3V0aW5nIHNvY2tldCIpOw0KIA0KLQlldmVudF9zZXQoJnJ0X21zZ19l
diwgcnRfZmQsIEVWX1JFQUR8RVZfUEVSU0lTVCwNCi0JICAgIHJ0X21zZ19o
YW5kbGVyLCAmcnRfbXNnX2V2KTsNCi0JZXZlbnRfYWRkKCZydF9tc2dfZXYs
IE5VTEwpOw0KKwl0cy50dl9zZWMgPSAwOw0KKwl0cy50dl9uc2VjID0gMDsN
CiANCi0Jc2lnbmFsX3NldCgmc2lnaHVwX2V2LCBTSUdIVVAsIHNpZ2h1cF9o
YW5kbGVyLCAmc2lnaHVwX2V2KTsNCi0Jc2lnbmFsX2FkZCgmc2lnaHVwX2V2
LCBOVUxMKTsNCisJRVZfU0VUKCZrZXYsIHJ0X2ZkLCBFVkZJTFRfUkVBRCwg
RVZfQURELCAwLCAwLCAodm9pZCAqKXJ0X21zZ19oYW5kbGVyKTsNCisJa2V2
ZW50KGtxLCAma2V2LCAxLCBOVUxMLCAwLCAmdHMpOw0KKw0KKwlFVl9TRVQo
JmtldiwgU0lHSFVQLCBFVkZJTFRfU0lHTkFMLCBFVl9BREQsIDAsIDAsICh2
b2lkICopc2lnaHVwX2hhbmRsZXIpOw0KKwlrZXZlbnQoa3EsICZrZXYsIDEs
IE5VTEwsIDAsICZ0cyk7DQogDQogCWxvZ2l0KElGU0RfTE9HX05PUk1BTCwg
InN0YXJ0ZWQiKTsNCiB9DQogDQogdm9pZA0KLXNpZ2h1cF9oYW5kbGVyKGlu
dCBmZCwgc2hvcnQgZXZlbnQsIHZvaWQgKmFyZykNCitzaWdodXBfaGFuZGxl
cigpDQogew0KIAlsb2dpdChJRlNEX0xPR19OT1JNQUwsICJyZWxvYWRpbmcg
Y29uZmlnIik7DQogCWlmIChsb2FkX2NvbmZpZygpICE9IDApDQpAQCAtMjA4
LDcgKzI0MSw3IEBADQogfQ0KIA0KIHZvaWQNCi1ydF9tc2dfaGFuZGxlcihp
bnQgZmQsIHNob3J0IGV2ZW50LCB2b2lkICphcmcpDQorcnRfbXNnX2hhbmRs
ZXIoaW50IGZkKQ0KIHsNCiAJY2hhciBtc2dbMjA0OF07DQogCXN0cnVjdCBy
dF9tc2doZHIgKnJ0bSA9IChzdHJ1Y3QgcnRfbXNnaGRyICopJm1zZzsNCkBA
IC0yNDYsMjIgKzI3OSw2IEBADQogfQ0KIA0KIHZvaWQNCi1leHRlcm5hbF9o
YW5kbGVyKGludCBmZCwgc2hvcnQgZXZlbnQsIHZvaWQgKmFyZykNCi17DQot
CXN0cnVjdCBpZnNkX2V4dGVybmFsICpleHRlcm5hbCA9IChzdHJ1Y3QgaWZz
ZF9leHRlcm5hbCAqKWFyZzsNCi0Jc3RydWN0IHRpbWV2YWwgdHY7DQotDQot
CS8qIHJlLXNjaGVkdWxlICovDQotCXR2LnR2X3VzZWMgPSAwOw0KLQl0di50
dl9zZWMgPSBleHRlcm5hbC0+ZnJlcXVlbmN5Ow0KLQlldnRpbWVyX3NldCgm
ZXh0ZXJuYWwtPmV2LCBleHRlcm5hbF9oYW5kbGVyLCBleHRlcm5hbCk7DQot
CWV2dGltZXJfYWRkKCZleHRlcm5hbC0+ZXYsICZ0dik7DQotDQotCS8qIGV4
ZWN1dGUgKi8NCi0JZXh0ZXJuYWxfYXN5bmNfZXhlYyhleHRlcm5hbCk7DQot
fQ0KLQ0KLXZvaWQNCiBleHRlcm5hbF9hc3luY19leGVjKHN0cnVjdCBpZnNk
X2V4dGVybmFsICpleHRlcm5hbCkNCiB7DQogCWNoYXIgKmFyZ3BbXSA9IHsi
c2giLCAiLWMiLCBOVUxMLCBOVUxMfTsNCkBAIC0zNTUsMjMgKzM3MiwyNSBA
QA0KIGV4dGVybmFsX2V2dGltZXJfc2V0dXAoc3RydWN0IGlmc2Rfc3RhdGUg
KnN0YXRlLCBpbnQgYWN0aW9uKQ0KIHsNCiAJc3RydWN0IGlmc2RfZXh0ZXJu
YWwgKmV4dGVybmFsOw0KKwlzdHJ1Y3QgdGltZXNwZWMgdHM7DQorCWludCBm
cmVxOw0KKwkNCisJdHMudHZfbnNlYyA9IDA7DQorCXRzLnR2X3NlYyA9IDA7
DQogDQogCWlmIChzdGF0ZSAhPSBOVUxMKSB7DQogCQlzd2l0Y2ggKGFjdGlv
bikgew0KIAkJY2FzZSBJRlNEX0VWVElNRVJfQUREOg0KIAkJCVRBSUxRX0ZP
UkVBQ0goZXh0ZXJuYWwsDQogCQkJICAgICZzdGF0ZS0+ZXh0ZXJuYWxfdGVz
dHMsIGVudHJpZXMpIHsNCi0JCQkJc3RydWN0IHRpbWV2YWwgdHY7DQotDQor
CQ0KIAkJCQkvKiBydW4gaXQgb25jZSByaWdodCBhd2F5ICovDQogCQkJCWV4
dGVybmFsX2FzeW5jX2V4ZWMoZXh0ZXJuYWwpOw0KIA0KIAkJCQkvKiBzY2hl
ZHVsZSBpdCBmb3IgbGF0ZXIgKi8NCi0JCQkJdHYudHZfdXNlYyA9IDA7DQot
CQkJCXR2LnR2X3NlYyA9IGV4dGVybmFsLT5mcmVxdWVuY3k7DQotCQkJCWV2
dGltZXJfc2V0KCZleHRlcm5hbC0+ZXYsIGV4dGVybmFsX2hhbmRsZXIsDQot
CQkJCSAgICBleHRlcm5hbCk7DQotCQkJCWV2dGltZXJfYWRkKCZleHRlcm5h
bC0+ZXYsICZ0dik7DQorCQkJCWZyZXEgPSAoZXh0ZXJuYWwtPmZyZXF1ZW5j
eSAqIDEwMDApOw0KKwkJCQlFVl9TRVQoJmtldiwgSUZTRF9FVlRJTUVSX0VY
VEVSTkFMLCBFVkZJTFRfVElNRVIsIEVWX0FERCwgMCwgZnJlcSwgKHZvaWQg
KilleHRlcm5hbCk7DQorCQkJCWtldmVudChrcSwgJmtldiwgMSwgTlVMTCwg
MCwgJnRzKTsNCiAJCQl9DQogCQkJYnJlYWs7DQogCQljYXNlIElGU0RfRVZU
SU1FUl9ERUw6DQpAQCAtMzgxLDcgKzQwMCw5IEBADQogCQkJCQlraWxsKGV4
dGVybmFsLT5waWQsIFNJR0tJTEwpOw0KIAkJCQkJZXh0ZXJuYWwtPnBpZCA9
IDA7DQogCQkJCX0NCi0JCQkJZXZ0aW1lcl9kZWwoJmV4dGVybmFsLT5ldik7
DQorCQkJCWZyZXEgPSAoZXh0ZXJuYWwtPmZyZXF1ZW5jeSAqIDEwMDApOw0K
KwkJCQlFVl9TRVQoJmtldiwgSUZTRF9FVlRJTUVSX0VYVEVSTkFMLCBFVkZJ
TFRfVElNRVIsIEVWX0RFTEVURSwgMCwgZnJlcSwgKHZvaWQgKilleHRlcm5h
bCk7DQorCQkJCWtldmVudChrcSwgJmtldiwgMSwgTlVMTCwgMCwgJnRzKTsN
CiAJCQl9DQogCQkJYnJlYWs7DQogCQl9DQpAQCAtNTA1LDcgKzUyNiw2IEBA
DQogCQlsb2dpdChJRlNEX0xPR19OT1JNQUwsICJjaGFuZ2luZyBzdGF0ZSB0
byAlcyIsDQogCQkgICAgY29uZi0+bmV4dHN0YXRlLT5uYW1lKTsNCiAJCWlm
IChjb25mLT5jdXJzdGF0ZSAhPSBOVUxMKSB7DQotCQkJZXZ0aW1lcl9kZWwo
JmNvbmYtPmN1cnN0YXRlLT5ldik7DQogCQkJZXh0ZXJuYWxfZXZ0aW1lcl9z
ZXR1cChjb25mLT5jdXJzdGF0ZSwNCiAJCQkgICAgSUZTRF9FVlRJTUVSX0RF
TCk7DQogCQl9DQpAQCAtNTUxLDYgKzU3MSw0OCBAQA0KIAl9DQogfQ0KIA0K
Kw0KK2ludA0KK2dldF9pZmNvdW50KHZvaWQpDQorew0KKyAgaW50IG5hbWVb
NV0sIGNvdW50Ow0KKyAgc2l6ZV90IGxlbjsNCisgIA0KKyAgbmFtZVswXSA9
IENUTF9ORVQ7DQorICBuYW1lWzFdID0gUEZfTElOSzsNCisgIG5hbWVbMl0g
PSBORVRMSU5LX0dFTkVSSUM7DQorICBuYW1lWzNdID0gSUZNSUJfU1lTVEVN
Ow0KKyAgbmFtZVs0XSA9IElGTUlCX0lGQ09VTlQ7DQorDQorICBsZW4gPSBz
aXplb2YoaW50KTsNCisNCisgIGlmIChzeXNjdGwobmFtZSwgNSwgJmNvdW50
LCAmbGVuLCBOVUxMLCAwKSAhPSAtMSkNCisgICAgcmV0dXJuKGNvdW50KTsN
CisgIGVsc2UNCisgICAgcmV0dXJuKC0xKTsNCit9DQorDQorDQoraW50DQor
Z2V0X2lmbWliX2dlbmVyYWwoaW50IHJvdywgc3RydWN0IGlmbWliZGF0YSAq
aWZtZCkNCit7DQorICBpbnQgbmFtZVs2XTsNCisgIHNpemVfdCBsZW47DQor
ICANCisgIG5hbWVbMF0gPSBDVExfTkVUOw0KKyAgbmFtZVsxXSA9IFBGX0xJ
Tks7DQorICBuYW1lWzJdID0gTkVUTElOS19HRU5FUklDOw0KKyAgbmFtZVsz
XSA9IElGTUlCX0lGREFUQTsNCisgIG5hbWVbNF0gPSByb3c7DQorICBuYW1l
WzVdID0gSUZEQVRBX0dFTkVSQUw7DQorICANCisgIGxlbiA9IHNpemVvZigq
aWZtZCk7DQorICANCisgIHJldHVybiBzeXNjdGwobmFtZSwgNiwgaWZtZCwg
JmxlbiwgKHZvaWQgKikwLCAwKTsNCit9DQorDQorDQorDQogLyoNCiAgKiBG
ZXRjaCB0aGUgY3VycmVudCBsaW5rIHN0YXRlcy4NCiAgKi8NCkBAIC01NjAs
MjkgKzYyMiwzNCBAQA0KIAlzdHJ1Y3QgaWZhZGRycyAqaWZhcCwgKmlmYTsN
CiAJY2hhciAqb25hbWUgPSBOVUxMOw0KIAlpbnQgc29jayA9IHNvY2tldChB
Rl9JTkVULCBTT0NLX0RHUkFNLCAwKTsNCisJaW50IGlmY291bnQgPSBnZXRf
aWZjb3VudCgpOw0KKwlpbnQgaTsNCiANCi0JaWYgKGdldGlmYWRkcnMoJmlm
YXApICE9IDApDQorCWlmIChnZXRpZmFkZHJzKCZpZmFwKSAhPSAwIHx8IGlm
Y291bnQgPT0gLTEpDQogCQllcnIoMSwgImdldGlmYWRkcnMiKTsNCiANCiAJ
Zm9yIChpZmEgPSBpZmFwOyBpZmE7IGlmYSA9IGlmYS0+aWZhX25leHQpIHsN
Ci0JCXN0cnVjdCBpZnJlcSBpZnI7DQotCQlzdHJ1Y3QgaWZfZGF0YSAgaWZy
ZGF0Ow0KKwkgICAgICAgIHN0cnVjdCBpZm1pYmRhdGEgaWZtZDsNCisJCXN0
cnVjdCBpZl9kYXRhICBpZmRhdGE7DQogDQogCQlpZiAob25hbWUgJiYgIXN0
cmNtcChvbmFtZSwgaWZhLT5pZmFfbmFtZSkpDQogCQkJY29udGludWU7DQog
CQlvbmFtZSA9IGlmYS0+aWZhX25hbWU7DQogDQotCQlzdHJsY3B5KGlmci5p
ZnJfbmFtZSwgaWZhLT5pZmFfbmFtZSwgc2l6ZW9mKGlmci5pZnJfbmFtZSkp
Ow0KLQkJaWZyLmlmcl9kYXRhID0gKGNhZGRyX3QpJmlmcmRhdDsNCi0NCi0J
CWlmIChpb2N0bChzb2NrLCBTSU9DR0lGREFUQSwgKGNhZGRyX3QpJmlmcikg
PT0gLTEpDQotCQkJY29udGludWU7DQorCQlmb3IgKGkgPSAxOyBpIDw9IGlm
Y291bnQ7IGkrKykNCisJCSAgew0KKwkJICAgIGdldF9pZm1pYl9nZW5lcmFs
KGksICZpZm1kKTsNCisJCSAgICBpZiAoISBzdHJjbXAoaWZtZC5pZm1kX25h
bWUsIG9uYW1lKSkNCisJCSAgICAgIGJyZWFrOw0KKwkJICB9DQorCQkNCisJ
CWlmZGF0YSA9IGlmbWQuaWZtZF9kYXRhOw0KIA0KIAkJc2Nhbl9pZnN0YXRl
KGlmX25hbWV0b2luZGV4KGlmYS0+aWZhX25hbWUpLA0KLQkJICAgIGlmcmRh
dC5pZmlfbGlua19zdGF0ZSwgJmNvbmYtPmFsd2F5cyk7DQorCQkgICAgaWZk
YXRhLmlmaV9saW5rX3N0YXRlLCAmY29uZi0+YWx3YXlzKTsNCiAJCWlmIChj
b25mLT5jdXJzdGF0ZSAhPSBOVUxMKQ0KIAkJCXNjYW5faWZzdGF0ZShpZl9u
YW1ldG9pbmRleChpZmEtPmlmYV9uYW1lKSwNCi0JCQkgICAgaWZyZGF0Lmlm
aV9saW5rX3N0YXRlLCBjb25mLT5jdXJzdGF0ZSk7DQorCQkJICAgIGlmZGF0
YS5pZmlfbGlua19zdGF0ZSwgY29uZi0+Y3Vyc3RhdGUpOw0KIAl9DQogCWZy
ZWVpZmFkZHJzKGlmYXApOw0KIAljbG9zZShzb2NrKTsNCkBAIC02NjQsNyAr
NzMxLDYgQEANCiAJCQlUQUlMUV9SRU1PVkUoJnN0YXRlLT5leHRlcm5hbF90
ZXN0cywNCiAJCQkgICAgZXhwcmVzc2lvbi0+dS5leHRlcm5hbCwgZW50cmll
cyk7DQogCQkJZnJlZShleHByZXNzaW9uLT51LmV4dGVybmFsLT5jb21tYW5k
KTsNCi0JCQlldmVudF9kZWwoJmV4cHJlc3Npb24tPnUuZXh0ZXJuYWwtPmV2
KTsNCiAJCQlmcmVlKGV4cHJlc3Npb24tPnUuZXh0ZXJuYWwpOw0KIAkJfQ0K
IAkJYnJlYWs7DQpPbmx5IGluIC46IGlmc3RhdGVkLmNvbmYNCmRpZmYgLXUg
Li4vaWZzdGF0ZWQub3JpZy9pZnN0YXRlZC5oIC4vaWZzdGF0ZWQuaA0KLS0t
IC4uL2lmc3RhdGVkLm9yaWcvaWZzdGF0ZWQuaAlXZWQgTm92IDE3IDE2OjE2
OjMzIDIwMDQNCisrKyAuL2lmc3RhdGVkLmgJV2VkIE5vdiAxNyAxNjoxMToz
NCAyMDA0DQpAQCAtNDcsNyArNDcsNyBAQA0KIA0KIHN0cnVjdCBpZnNkX2V4
dGVybmFsIHsNCiAJVEFJTFFfRU5UUlkoaWZzZF9leHRlcm5hbCkJIGVudHJp
ZXM7DQotCXN0cnVjdCBldmVudAkJCSBldjsNCisJc3RydWN0IGtldmVudAkJ
CSBrZXY7DQogCXN0cnVjdCBpZnNkX2V4cHJlc3Npb25fbGlzdAkgZXhwcmVz
c2lvbnM7DQogCWNoYXIJCQkJKmNvbW1hbmQ7DQogCWludAkJCQkgcHJldnN0
YXR1czsNCkBAIC0xMDcsNyArMTA3LDcgQEANCiBUQUlMUV9IRUFEKGlmc2Rf
ZXh0ZXJuYWxfbGlzdCwgaWZzZF9leHRlcm5hbCk7DQogDQogc3RydWN0IGlm
c2Rfc3RhdGUgew0KLQlzdHJ1Y3QgZXZlbnQJCQkgZXY7DQorCXN0cnVjdCBr
ZXZlbnQJCQkga2V2Ow0KIAlzdHJ1Y3QgaWZzZF9pZnN0YXRlX2xpc3QJIGlu
dGVyZmFjZV9zdGF0ZXM7DQogCXN0cnVjdCBpZnNkX2V4dGVybmFsX2xpc3QJ
IGV4dGVybmFsX3Rlc3RzOw0KIAlUQUlMUV9FTlRSWShpZnNkX3N0YXRlKQkJ
IGVudHJpZXM7DQpAQCAtMTM4LDYgKzEzOCw3IEBADQogfTsNCiANCiBlbnVt
CXsgSUZTRF9FVlRJTUVSX0FERCwgSUZTRF9FVlRJTUVSX0RFTCB9Ow0KK2Vu
dW0gICAgeyBJRlNEX0VWVElNRVJfU1RBUlRVUCwgSUZTRF9FVlRJTUVSX0VY
VEVSTkFMIH07DQogc3RydWN0IGlmc2RfY29uZmlnICpwYXJzZV9jb25maWco
Y2hhciAqLCBpbnQpOw0KIGludAljbWRsaW5lX3N5bXNldChjaGFyICopOw0K
IHZvaWQJY2xlYXJfY29uZmlnKHN0cnVjdCBpZnNkX2NvbmZpZyAqKTsNCk9u
bHkgaW4gLjogaWZzdGF0ZWQucGF0Y2gNCmRpZmYgLXUgLi4vaWZzdGF0ZWQu
b3JpZy9wYXJzZS55IC4vcGFyc2UueQ0KLS0tIC4uL2lmc3RhdGVkLm9yaWcv
cGFyc2UueQlXZWQgTm92IDE3IDE2OjE3OjAyIDIwMDQNCisrKyAuL3BhcnNl
LnkJVHVlIE5vdiAxNiAxODo1MTozMyAyMDA0DQpAQCAtMjQsNiArMjQsNyBA
QA0KICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCiAjaW5jbHVkZSA8c3lzL3Rp
bWUuaD4NCiAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KKyNpbmNsdWRlIDxz
eXMvbGltaXRzLmg+DQogI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCiAjaW5j
bHVkZSA8YXJwYS9pbmV0Lmg+DQogI2luY2x1ZGUgPG5ldC9pZi5oPg0KQEAg
LTM1LDcgKzM2LDcgQEANCiAjaW5jbHVkZSA8c3RkaW8uaD4NCiAjaW5jbHVk
ZSA8c3RyaW5nLmg+DQogI2luY2x1ZGUgPHN5c2xvZy5oPg0KLSNpbmNsdWRl
IDxldmVudC5oPg0KKyNpbmNsdWRlIDxzeXMvZXZlbnQuaD4NCiANCiAjaW5j
bHVkZSAiaWZzdGF0ZWQuaCINCiANCg==

--0-1132633073-1100728010=:818--



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