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>