Date: Mon, 24 Apr 2006 21:20:34 -0700 (PDT) From: Kelly Yancey <kbyanc@posi.net> To: Amit Mondal <amit.freebsd@gmail.com> Cc: freebsd-net@freebsd.org Subject: Re: freeBSD /ipfw/ divert socket Message-ID: <20060424212004.B44267@gateway.posi.net> In-Reply-To: <20060424210235.T44267@gateway.posi.net> References: <a6cf19a10604202244q40dd981dq66b56f435ee245c8@mail.gmail.com> <20060424210235.T44267@gateway.posi.net>
next in thread | previous 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-256389840-1145938834=:44267 Content-Type: TEXT/PLAIN; charset=US-ASCII On Mon, 24 Apr 2006, Kelly Yancey wrote: > On Fri, 21 Apr 2006, Amit Mondal wrote: > > > Hi All, > > > > I need a little help with FreeBSD Kernel stuff. I wanna use Divert Socket to > > sniff IP packet in FreeBSD. > > For that I have compiled the kernel with options IPDIVERT and everything is > > ok. > > > > Now, when I am not really sniffing and re-injecting the packet back to the > > network stack, it is basically dropping all the packets. But I want it > > pass-through it, when no application is reading at divert socket. My > > question is, HOW CAN I MAKE IT PASS-THROUGH? IF NO APPLICATION IS READING > > FROM DIVERT SOCKET, IT SHOULD WORK AS IF THERE IS NO DIVERT SOCKET. > > > > Thanks in adavnce > > > > Rgds > > Amit > > > > Attached is a really old patch I made against FreeBSD 4.7. It might > apply to 4.9. Even if it doesn't, it should give you a pretty good idea > how to implement the functionality you desire. > > Kelly > Sorry, wrong patch. The correct patch is attached. Kelly -- Kelly Yancey - kbyanc@{posi.net,FreeBSD.org} - kelly@nttmcl.com FreeBSD, The Power To Serve: http://www.freebsd.org/ --0-256389840-1145938834=:44267 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="divert-nop.diff" Content-Transfer-Encoding: BASE64 Content-ID: <20060424212034.I44267@gateway.posi.net> Content-Description: Content-Disposition: attachment; filename="divert-nop.diff" SW5kZXg6IHN5cy9uZXRpbmV0L2lwX2RpdmVydC5jDQo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvY3ZzL2Fjcy9iYXNlL3NyYy9z eXMvbmV0aW5ldC9pcF9kaXZlcnQuYyx2DQpyZXRyaWV2aW5nIHJldmlzaW9u IDEuMw0KcmV0cmlldmluZyByZXZpc2lvbiAxLjQNCmRpZmYgLXUgLXAgLXIx LjMgLXIxLjQNCi0tLSBpcF9kaXZlcnQuYwkxMCBPY3QgMjAwMiAyMDo0Mjow MCAtMDAwMAkxLjMNCisrKyBpcF9kaXZlcnQuYwkyMyBOb3YgMjAwMiAwNToz NDoxMCAtMDAwMAkxLjQNCkBAIC0xMDksNiArMTA5LDIzIEBAIHN0YXRpYyB1 X2xvbmcJZGl2X3JlY3ZzcGFjZSA9IERJVlJDVlE7CS8NCiAvKiBPcHRpbWl6 YXRpb246IGhhdmUgdGhpcyBwcmVpbml0aWFsaXplZCAqLw0KIHN0YXRpYyBz dHJ1Y3Qgc29ja2FkZHJfaW4gZGl2c3JjID0geyBzaXplb2YoZGl2c3JjKSwg QUZfSU5FVCB9Ow0KIA0KKw0KK3N0YXRpYyBpbnQJZGl2X291dHB1dChzdHJ1 Y3Qgc29ja2V0ICpzbywgc3RydWN0IG1idWYgKm0sDQorCQkJICAgc3RydWN0 IHNvY2thZGRyX2luICpzaW4sIHN0cnVjdCBtYnVmICpjb250cm9sKTsNCitz dGF0aWMgaW50CWRpdl9hdHRhY2goc3RydWN0IHNvY2tldCAqc28sIGludCBw cm90bywgc3RydWN0IHByb2MgKnApOw0KK3N0YXRpYyBpbnQJZGl2X2RldGFj aChzdHJ1Y3Qgc29ja2V0ICpzbyk7DQorc3RhdGljIGludAlkaXZfYWJvcnQo c3RydWN0IHNvY2tldCAqc28pOw0KK3N0YXRpYyBpbnQJZGl2X2Rpc2Nvbm5l Y3Qoc3RydWN0IHNvY2tldCAqc28pOw0KK3N0YXRpYyBpbnQJZGl2X2JpbmQo c3RydWN0IHNvY2tldCAqc28sIHN0cnVjdCBzb2NrYWRkciAqbmFtLA0KKwkJ CSBzdHJ1Y3QgcHJvYyAqcCk7DQorc3RhdGljIGludAlkaXZfc2h1dGRvd24o c3RydWN0IHNvY2tldCAqc28pOw0KK3N0YXRpYyBpbnQJZGl2X3NlbmQoc3Ry dWN0IHNvY2tldCAqc28sIGludCBmbGFncywgc3RydWN0IG1idWYgKm0sDQor CQkJIHN0cnVjdCBzb2NrYWRkciAqbmFtLCBzdHJ1Y3QgbWJ1ZiAqY29udHJv bCwNCisJCQkgc3RydWN0IHByb2MgKnApOw0KK3N0YXRpYyBpbnQJZGl2X3Bj Ymxpc3QoU1lTQ1RMX0hBTkRMRVJfQVJHUyk7DQorDQorDQorDQogLyoNCiAg KiBJbml0aWFsaXplIGRpdmVydCBjb25uZWN0aW9uIGJsb2NrIHF1ZXVlLg0K ICAqLw0KQEAgLTE0Niw4ICsxNjMsOSBAQCBkaXZfaW5wdXQoc3RydWN0IG1i dWYgKm0sIGludCBvZmYsIGludCBwDQogICogdGhlbiBwYXNzIHRoZW0gYWxv bmcgd2l0aCBtYnVmIGNoYWluLg0KICAqLw0KIHZvaWQNCi1kaXZlcnRfcGFj a2V0KHN0cnVjdCBtYnVmICptLCBpbnQgaW5jb21pbmcsIGludCBwb3J0LCBp bnQgcnVsZSkNCitkaXZlcnRfcGFja2V0KHN0cnVjdCBtYnVmICptLCBpbnQg ZmxhZ3MsIGludCBwb3J0LCBpbnQgcnVsZSkNCiB7DQorCXN0YXRpYyBzdHJ1 Y3Qgc29ja2V0ICpkaXZudWxsc287DQogCXN0cnVjdCBpcCAqaXA7DQogCXN0 cnVjdCBpbnBjYiAqaW5wOw0KIAlzdHJ1Y3Qgc29ja2V0ICpzYTsNCkBAIC0x NjksNyArMTg3LDcgQEAgZGl2ZXJ0X3BhY2tldChzdHJ1Y3QgbWJ1ZiAqbSwg aW50IGluY29taQ0KIAkgKiBCdXQgb25seSBmb3IgaW5jb21pbmcgcGFja2V0 cy4NCiAJICovDQogCWRpdnNyYy5zaW5fYWRkci5zX2FkZHIgPSAwOw0KLQlp ZiAoaW5jb21pbmcpIHsNCisJaWYgKGZsYWdzICYgSVBfRElWRVJUX0lOQ09N SU5HKSB7DQogCQlzdHJ1Y3QgaWZhZGRyICppZmE7DQogDQogCQkvKiBTYW5p dHkgY2hlY2sgKi8NCkBAIC0yMjcsNiArMjQ1LDIyIEBAIGRpdmVydF9wYWNr ZXQoc3RydWN0IG1idWYgKm0sIGludCBpbmNvbWkNCiAJCQltX2ZyZWVtKG0p Ow0KIAkJZWxzZQ0KIAkJCXNvcndha2V1cChzYSk7DQorCX0gZWxzZSBpZiAo ZmxhZ3MgJiBJUF9ESVZFUlRfRE9OVERST1ApIHsNCisJCS8qIFByZXRlbmQg dGhlIHBhY2tldCB3YXMgcGFzc2VkIGJhY2sgdW5jaGFuZ2VkLiAqLw0KKwkJ aXBzdGF0Lmlwc19kZWxpdmVyZWQtLTsNCisJCWlmIChkaXZudWxsc28gPT0g TlVMTCkgew0KKwkJCS8qDQorCQkJICogQWxsb2NhdGUgYSBkdW1teSBzb2Nr ZXQgZm9yIGlwX291dHB1dCgpIHdoZW4NCisJCQkgKiBsb29waW5nIGJhY2sg ZGl2ZXJ0ZWQgcGFja2V0cy4NCisJCQkgKi8NCisJCQlpZiAoc29jcmVhdGUo UEZfSU5FVCwgJmRpdm51bGxzbywgU09DS19SQVcsDQorCQkJICAgIElQUFJP VE9fRElWRVJULCAmcHJvYzApICE9IDApIHsNCisJCQkJbV9mcmVlbShtKTsN CisJCQkJaXBzdGF0Lmlwc19vZHJvcHBlZCsrOw0KKwkJCQlyZXR1cm47DQor CQkJfQ0KKwkJfQ0KKwkJZGl2X291dHB1dChkaXZudWxsc28sIG0sICZkaXZz cmMsIE5VTEwpOw0KIAl9IGVsc2Ugew0KIAkJbV9mcmVlbShtKTsNCiAJCWlw c3RhdC5pcHNfbm9wcm90bysrOw0KQEAgLTI0NSw4ICsyNzksOCBAQCBzdGF0 aWMgaW50DQogZGl2X291dHB1dChzdHJ1Y3Qgc29ja2V0ICpzbywgc3RydWN0 IG1idWYgKm0sDQogCXN0cnVjdCBzb2NrYWRkcl9pbiAqc2luLCBzdHJ1Y3Qg bWJ1ZiAqY29udHJvbCkNCiB7DQotCWludCBlcnJvciA9IDA7DQogCXN0cnVj dCBtX2hkciBkaXZlcnRfdGFnOw0KKwlpbnQgZXJyb3IgPSAwOw0KIA0KIAkv Kg0KIAkgKiBQcmVwYXJlIHRoZSB0YWcgZm9yIGRpdmVydCBpbmZvLiBOb3Rl IHRoYXQgYSBwYWNrZXQNCkluZGV4OiBzeXMvbmV0aW5ldC9pcF9mdy5oDQo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvY3ZzL2Fj cy9iYXNlL3NyYy9zeXMvbmV0aW5ldC9pcF9mdy5oLHYNCnJldHJpZXZpbmcg cmV2aXNpb24gMS40DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNQ0KZGlmZiAt dSAtcCAtcjEuNCAtcjEuNQ0KLS0tIGlwX2Z3LmgJMTUgTm92IDIwMDIgMDA6 MTE6NDIgLTAwMDAJMS40DQorKysgaXBfZncuaAkyMyBOb3YgMjAwMiAwNToz NDoxMCAtMDAwMAkxLjUNCkBAIC0zMzAsNiArMzMwLDcgQEAgc3RydWN0IGlw ZndfZHluX3J1bGUgew0KICAqLw0KICNpZmRlZiBfS0VSTkVMDQogDQorI2Rl ZmluZQlJUF9GV19QT1JUX01BU0sJCTB4MGZmZmYNCiAjZGVmaW5lCUlQX0ZX X1BPUlRfRFlOVF9GTEFHCTB4MTAwMDANCiAjZGVmaW5lCUlQX0ZXX1BPUlRf VEVFX0ZMQUcJMHgyMDAwMA0KICNkZWZpbmUJSVBfRldfUE9SVF9ERU5ZX0ZM QUcJMHg0MDAwMA0KSW5kZXg6IHN5cy9uZXRpbmV0L2lwX2Z3Mi5jDQo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvY3ZzL2Fjcy9i YXNlL3NyYy9zeXMvbmV0aW5ldC9pcF9mdzIuYyx2DQpyZXRyaWV2aW5nIHJl dmlzaW9uIDEuNA0KcmV0cmlldmluZyByZXZpc2lvbiAxLjUNCmRpZmYgLXUg LXAgLXIxLjQgLXIxLjUNCi0tLSBpcF9mdzIuYwkxOSBOb3YgMjAwMiAyMDoy OTowMCAtMDAwMAkxLjQNCisrKyBpcF9mdzIuYwkyMyBOb3YgMjAwMiAwNToz NDoxMCAtMDAwMAkxLjUNCkBAIC00NjIsNiArNDYyLDEwIEBAIGlwZndfbG9n KHN0cnVjdCBpcF9mdyAqZiwgdV9pbnQgaGxlbiwgc3QNCiAJCWNhc2UgT19D T1VOVDoNCiAJCQlhY3Rpb24gPSAiQ291bnQiOw0KIAkJCWJyZWFrOw0KKwkJ Y2FzZSBPX0RJVkVSVF9OT1A6DQorCQkJc25wcmludGYoU05QQVJHUyhhY3Rp b24yLCAwKSwgIkRpdmVydC9Ob3AgJWQiLA0KKwkJCQljbWQtPmFyZzEpOw0K KwkJCWJyZWFrOw0KIAkJY2FzZSBPX0RJVkVSVDoNCiAJCQlzbnByaW50ZihT TlBBUkdTKGFjdGlvbjIsIDApLCAiRGl2ZXJ0ICVkIiwNCiAJCQkJY21kLT5h cmcxKTsNCkBAIC0xMjE1LDYgKzEyMTksMTAgQEAgbG9va3VwX25leHRfcnVs ZShzdHJ1Y3QgaXBfZncgKm1lKQ0KICAqDQogICoJCS0gSWYgSVBfRldfUE9S VF9EWU5UX0ZMQUcgaXMgc2V0LCBpbnRlcnByZXQgdGhlIGxvd2VyDQogICoJ CSAgMTYgYml0cyBhcyBhIGR1bW15bmV0IHBpcGUgbnVtYmVyIGluc3RlYWQg b2YgZGl2ZXJ0aW5nDQorICoNCisgKgkJLSBJZiBJUF9GV19QT1JUX05PRFJP UF9GTEFHIGlzIHNldCwgZG9uJ3QgZHJvcCB0aGUgcGFja2V0DQorICoJCSAg aWYgdGhlcmUgaXMgbm8gbGlzdGVuZXIgb24gdGhlIGRpdmVydCBwb3J0OyBp bnN0ZWFkIHJlaW5qZWN0DQorICoJCSAgdGhlIHBhY2tldCBpbW1lZGlhdGVs eS4NCiAgKi8NCiANCiBzdGF0aWMgaW50DQpAQCAtMTg2MiwxNCArMTg3MCwx NyBAQCBjaGVja19ib2R5Og0KIAkJCQlyZXR2YWwgPSBjbWQtPmFyZzEgfCBJ UF9GV19QT1JUX0RZTlRfRkxBRzsNCiAJCQkJZ290byBkb25lOw0KIA0KKwkJ CWNhc2UgT19ESVZFUlRfTk9QOg0KIAkJCWNhc2UgT19ESVZFUlQ6DQogCQkJ Y2FzZSBPX1RFRToNCiAJCQkJaWYgKGFyZ3MtPmVoKSAvKiBub3Qgb24gbGF5 ZXIgMiAqLw0KIAkJCQkJYnJlYWs7DQogCQkJCWFyZ3MtPmRpdmVydF9ydWxl ID0gZi0+cnVsZW51bTsNCi0JCQkJcmV0dmFsID0gKGNtZC0+b3Bjb2RlID09 IE9fRElWRVJUKSA/DQotCQkJCSAgICBjbWQtPmFyZzEgOg0KLQkJCQkgICAg Y21kLT5hcmcxIHwgSVBfRldfUE9SVF9URUVfRkxBRzsNCisJCQkJcmV0dmFs ID0gY21kLT5hcmcxOw0KKwkJCQlpZiAoY21kLT5vcGNvZGUgPT0gT19ESVZF UlRfTk9QKQ0KKwkJCQkJcmV0dmFsIHw9IElQX0ZXX1BPUlRfTk9EUk9QX0ZM QUc7DQorCQkJCWVsc2UgaWYgKGNtZC0+b3Bjb2RlID09IE9fVEVFKQ0KKwkJ CQkJcmV0dmFsIHw9IElQX0ZXX1BPUlRfVEVFX0ZMQUc7DQogCQkJCWdvdG8g ZG9uZTsNCiANCiAJCQljYXNlIE9fQ09VTlQ6DQpAQCAtMjQzMSw2ICsyNDQy LDcgQEAgY2hlY2tfaXBmd19zdHJ1Y3Qoc3RydWN0IGlwX2Z3ICpydWxlLCBp bg0KIAkJY2FzZSBPX0RFTlk6DQogCQljYXNlIE9fUkVKRUNUOg0KIAkJY2Fz ZSBPX1NLSVBUTzoNCisJCWNhc2UgT19ESVZFUlRfTk9QOg0KIAkJY2FzZSBP X0RJVkVSVDoNCiAJCWNhc2UgT19URUU6DQogCQkJaWYgKGNtZGxlbiAhPSBG X0lOU05fU0laRShpcGZ3X2luc24pKQ0KSW5kZXg6IHN5cy9uZXRpbmV0L2lw X2Z3Mi5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hv bWUvY3ZzL2Fjcy9iYXNlL3NyYy9zeXMvbmV0aW5ldC9pcF9mdzIuaCx2DQpy ZXRyaWV2aW5nIHJldmlzaW9uIDEuMg0KcmV0cmlldmluZyByZXZpc2lvbiAx LjMNCmRpZmYgLXUgLXAgLXIxLjIgLXIxLjMNCi0tLSBpcF9mdzIuaAkxNSBO b3YgMjAwMiAwMDoxMTo0MyAtMDAwMAkxLjINCisrKyBpcF9mdzIuaAkyMyBO b3YgMjAwMiAwNTozNDoxMCAtMDAwMAkxLjMNCkBAIC0xMTAsNiArMTEwLDcg QEAgZW51bSBpcGZ3X29wY29kZXMgewkJLyogYXJndW1lbnRzICg0IGJ5dA0K IAlPX1NLSVBUTywJCS8qIGFyZzE9bmV4dCBydWxlIG51bWJlcgkqLw0KIAlP X1BJUEUsCQkJLyogYXJnMT1waXBlIG51bWJlcgkJKi8NCiAJT19RVUVVRSwJ CS8qIGFyZzE9cXVldWUgbnVtYmVyCQkqLw0KKwlPX0RJVkVSVF9OT1AsCQkv KiBhcmcxPXBvcnQgbnVtYmVyCQkqLw0KIAlPX0RJVkVSVCwJCS8qIGFyZzE9 cG9ydCBudW1iZXIJCSovDQogCU9fVEVFLAkJCS8qIGFyZzE9cG9ydCBudW1i ZXIJCSovDQogCU9fRk9SV0FSRF9JUCwJCS8qIGZ3ZCBzb2NrYWRkcgkJCSov DQpAQCAtMzU5LDkgKzM2MCwxMSBAQCBzdHJ1Y3QgX2lwZndfZHluX3J1bGUg ew0KICAqLw0KICNpZmRlZiBfS0VSTkVMDQogDQorI2RlZmluZSBJUF9GV19Q T1JUX01BU0sJCTB4MGZmZmYNCiAjZGVmaW5lCUlQX0ZXX1BPUlRfRFlOVF9G TEFHCTB4MTAwMDANCiAjZGVmaW5lCUlQX0ZXX1BPUlRfVEVFX0ZMQUcJMHgy MDAwMA0KICNkZWZpbmUJSVBfRldfUE9SVF9ERU5ZX0ZMQUcJMHg0MDAwMA0K KyNkZWZpbmUJSVBfRldfUE9SVF9OT0RST1BfRkxBRwkweDgwMDAwDQogDQog LyoNCiAgKiBhcmd1bWVudHMgZm9yIGNhbGxpbmcgaXBmd19jaGsoKSBhbmQg ZHVtbXluZXRfaW8oKS4gV2UgcHV0IHRoZW0NCkluZGV4OiBzeXMvbmV0aW5l dC9pcF9pbnB1dC5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmls ZTogL2hvbWUvY3ZzL2Fjcy9iYXNlL3NyYy9zeXMvbmV0aW5ldC9pcF9pbnB1 dC5jLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMA0KcmV0cmlldmluZyBy ZXZpc2lvbiAxLjExDQpkaWZmIC11IC1wIC1yMS4xMCAtcjEuMTENCi0tLSBp cF9pbnB1dC5jCTE5IE5vdiAyMDAyIDIwOjIzOjM0IC0wMDAwCTEuMTANCisr KyBpcF9pbnB1dC5jCTIzIE5vdiAyMDAyIDA1OjQyOjAzIC0wMDAwCTEuMTEN CkBAIC00NjMsNyArNDk2LDcgQEAgaXBoYWNrOg0KIAkJCWdvdG8gcGFzczsN CiAgICAgICAgICAgICAgICAgaWYgKERVTU1ZTkVUX0xPQURFRCAmJiAoaSAm IElQX0ZXX1BPUlRfRFlOVF9GTEFHKSAhPSAwKSB7DQogCQkJLyogU2VuZCBw YWNrZXQgdG8gdGhlIGFwcHJvcHJpYXRlIHBpcGUgKi8NCi0JCQlpcF9kbl9p b19wdHIobSwgaSYweGZmZmYsIEROX1RPX0lQX0lOLCAmYXJncyk7DQorCQkJ aXBfZG5faW9fcHRyKG0sIGkgJiBJUF9GV19QT1JUX01BU0ssIEROX1RPX0lQ X0lOLCZhcmdzKTsNCiAJCQlyZXR1cm47DQogCQl9DQogI2lmZGVmIElQRElW RVJUDQpAQCAtNzcyLDYgKzc5OCw3IEBAIGZvdW5kOg0KIAkgKi8NCiAJaWYg KGRpdmVydF9pbmZvICE9IDApIHsNCiAJCXN0cnVjdCBtYnVmICpjbG9uZSA9 IE5VTEw7DQorCQlpbnQgZmxhZ3MgPSBJUF9ESVZFUlRfSU5DT01JTkc7DQog DQogCQkvKiBDbG9uZSBwYWNrZXQgaWYgd2UncmUgZG9pbmcgYSAndGVlJyAq Lw0KIAkJaWYgKChkaXZlcnRfaW5mbyAmIElQX0ZXX1BPUlRfVEVFX0ZMQUcp ICE9IDApDQpAQCAtNzgzLDcgKzgxMCwxMCBAQCBmb3VuZDoNCiAJCWlwLT5p cF9vZmYgPSBodG9ucyhpcC0+aXBfb2ZmKTsNCiANCiAJCS8qIERlbGl2ZXIg cGFja2V0IHRvIGRpdmVydCBpbnB1dCByb3V0aW5lICovDQotCQlkaXZlcnRf cGFja2V0KG0sIDEsIGRpdmVydF9pbmZvICYgMHhmZmZmLCBhcmdzLmRpdmVy dF9ydWxlKTsNCisJCWlmICgoZGl2ZXJ0X2luZm8gJiBJUF9GV19QT1JUX05P RFJPUF9GTEFHKSAhPSAwKQ0KKwkJCWZsYWdzIHw9IElQX0RJVkVSVF9ET05U RFJPUDsNCisJCWRpdmVydF9wYWNrZXQobSwgZmxhZ3MsIGRpdmVydF9pbmZv ICYgSVBfRldfUE9SVF9NQVNLLA0KKwkJICAgIGFyZ3MuZGl2ZXJ0X3J1bGUp Ow0KIAkJaXBzdGF0Lmlwc19kZWxpdmVyZWQrKzsNCiANCiAJCS8qIElmICd0 ZWUnLCBjb250aW51ZSB3aXRoIG9yaWdpbmFsIHBhY2tldCAqLw0KSW5kZXg6 IHN5cy9uZXRpbmV0L2lwX291dHB1dC5jDQo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09DQpSQ1MgZmlsZTogL2hvbWUvY3ZzL2Fjcy9iYXNlL3NyYy9zeXMvbmV0 aW5ldC9pcF9vdXRwdXQuYyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNw0K cmV0cmlldmluZyByZXZpc2lvbiAxLjgNCmRpZmYgLXUgLXAgLXIxLjcgLXIx LjgNCi0tLSBpcF9vdXRwdXQuYwkxOSBOb3YgMjAwMiAyMDozNzozOSAtMDAw MAkxLjcNCisrKyBpcF9vdXRwdXQuYwkyMyBOb3YgMjAwMiAwNTozNDoxMSAt MDAwMAkxLjgNCkBAIC02MjUsMTMgKzYyNSwxNCBAQCBza2lwX2lwc2VjOg0K IAkJCWFyZ3MuZHN0ID0gZHN0Ow0KIAkJCWFyZ3MuZmxhZ3MgPSBmbGFnczsN CiANCi0JCQllcnJvciA9IGlwX2RuX2lvX3B0cihtLCBvZmYgJiAweGZmZmYs IEROX1RPX0lQX09VVCwNCi0JCQkJJmFyZ3MpOw0KKwkJCWVycm9yID0gaXBf ZG5faW9fcHRyKG0sIG9mZiAmIElQX0ZXX1BPUlRfTUFTSywNCisJCQkgICAg RE5fVE9fSVBfT1VULCAmYXJncyk7DQogCQkJZ290byBkb25lOw0KIAkJfQ0K ICNpZmRlZiBJUERJVkVSVA0KIAkJaWYgKG9mZiAhPSAwICYmIChvZmYgJiBJ UF9GV19QT1JUX0RZTlRfRkxBRykgPT0gMCkgew0KIAkJCXN0cnVjdCBtYnVm ICpjbG9uZSA9IE5VTEw7DQorCQkJaW50IGZsYWdzID0gMDsNCiANCiAJCQkv KiBDbG9uZSBwYWNrZXQgaWYgd2UncmUgZG9pbmcgYSAndGVlJyAqLw0KIAkJ CWlmICgob2ZmICYgSVBfRldfUE9SVF9URUVfRkxBRykgIT0gMCkNCkBAIC02 NTEsOCArNjUyLDEyIEBAIHNraXBfaXBzZWM6DQogCQkJaXAtPmlwX2xlbiA9 IGh0b25zKGlwLT5pcF9sZW4pOw0KIAkJCWlwLT5pcF9vZmYgPSBodG9ucyhp cC0+aXBfb2ZmKTsNCiANCisJCQlpZiAoKG9mZiAmIElQX0ZXX1BPUlRfTk9E Uk9QX0ZMQUcpICE9IDApDQorCQkJCWZsYWdzIHw9IElQX0RJVkVSVF9ET05U RFJPUDsNCisNCiAJCQkvKiBEZWxpdmVyIHBhY2tldCB0byBkaXZlcnQgaW5w dXQgcm91dGluZSAqLw0KLQkJCWRpdmVydF9wYWNrZXQobSwgMCwgb2ZmICYg MHhmZmZmLCBhcmdzLmRpdmVydF9ydWxlKTsNCisJCQlkaXZlcnRfcGFja2V0 KG0sIGZsYWdzLCBvZmYgJiBJUF9GV19QT1JUX01BU0ssDQorCQkJICAgIGFy Z3MuZGl2ZXJ0X3J1bGUpOw0KIA0KIAkJCS8qIElmICd0ZWUnLCBjb250aW51 ZSB3aXRoIG9yaWdpbmFsIHBhY2tldCAqLw0KIAkJCWlmIChjbG9uZSAhPSBO VUxMKSB7DQpJbmRleDogc3lzL25ldGluZXQvaXBfdmFyLmgNCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvaG9tZS9jdnMvYWNzL2Jhc2Uv c3JjL3N5cy9uZXRpbmV0L2lwX3Zhci5oLHYNCnJldHJpZXZpbmcgcmV2aXNp b24gMS4zDQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNA0KZGlmZiAtdSAtcCAt cjEuMyAtcjEuNA0KLS0tIGlwX3Zhci5oCTEwIE9jdCAyMDAyIDIwOjQyOjAx IC0wMDAwCTEuMw0KKysrIGlwX3Zhci5oCTIzIE5vdiAyMDAyIDA1OjM0OjEx IC0wMDAwCTEuNA0KQEAgLTE5MCw2ICsxOTAsMTAgQEAgaW50CWlwX3JzdnBf dmlmX2RvbmUoc3RydWN0IHNvY2tldCAqLCBzdA0KIHZvaWQJaXBfcnN2cF9m b3JjZV9kb25lKHN0cnVjdCBzb2NrZXQgKik7DQogDQogI2lmZGVmIElQRElW RVJUDQorDQorI2RlZmluZQlJUF9ESVZFUlRfSU5DT01JTkcJMHgwMQ0KKyNk ZWZpbmUJSVBfRElWRVJUX0RPTlREUk9QCTB4MDINCisNCiB2b2lkCWRpdl9p bml0KHZvaWQpOw0KIHZvaWQJZGl2X2lucHV0KHN0cnVjdCBtYnVmICosIGlu dCwgaW50KTsNCiB2b2lkCWRpdmVydF9wYWNrZXQoc3RydWN0IG1idWYgKm0s IGludCBpbmNvbWluZywgaW50IHBvcnQsIGludCBydWxlKTsNCkluZGV4OiBz YmluL2lwZncvaXBmdzIuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNT IGZpbGU6IC9ob21lL2N2cy9hY3MvYmFzZS9zcmMvc2Jpbi9pcGZ3L2lwZncy LmMsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjQNCnJldHJpZXZpbmcgcmV2 aXNpb24gMS41DQpkaWZmIC11IC1wIC1yMS40IC1yMS41DQotLS0gaXBmdzIu YwkyMiBOb3YgMjAwMiAwMDoyNzoxMCAtMDAwMAkxLjQNCisrKyBpcGZ3Mi5j CTIzIE5vdiAyMDAyIDA1OjM4OjQyIC0wMDAwCTEuNQ0KQEAgLTE4OCw2ICsx ODgsNyBAQCBlbnVtIHRva2VucyB7DQogCVRPS19DT1VOVCwNCiAJVE9LX1BJ UEUsDQogCVRPS19RVUVVRSwNCisJVE9LX0RJVkVSVF9OT1AsDQogCVRPS19E SVZFUlQsDQogCVRPS19URUUsDQogCVRPS19GT1JXQVJELA0KQEAgLTI3Nyw2 ICsyNzgsOCBAQCBzdHJ1Y3QgX3NfeCBydWxlX2FjdGlvbnNbXSA9IHsNCiAJ eyAiY291bnQiLAkJVE9LX0NPVU5UIH0sDQogCXsgInBpcGUiLAkJVE9LX1BJ UEUgfSwNCiAJeyAicXVldWUiLAkJVE9LX1FVRVVFIH0sDQorCXsgImRpdmVy dC9ub3AiLAkJVE9LX0RJVkVSVF9OT1AgfSwNCisJeyAiZGl2ZXJ0L2Ryb3Ai LAlUT0tfRElWRVJUIH0sDQogCXsgImRpdmVydCIsCQlUT0tfRElWRVJUIH0s DQogCXsgInRlZSIsCQlUT0tfVEVFIH0sDQogCXsgImZ3ZCIsCQlUT0tfRk9S V0FSRCB9LA0KQEAgLTkwMyw2ICs5MDYsMTAgQEAgc2hvd19pcGZ3KHN0cnVj dCBpcF9mdyAqcnVsZSkNCiAJCQlwcmludGYoInF1ZXVlICV1IiwgY21kLT5h cmcxKTsNCiAJCQlicmVhazsNCiANCisJCWNhc2UgT19ESVZFUlRfTk9QOg0K KwkJCXByaW50ZigiZGl2ZXJ0L25vcCAldSIsIGNtZC0+YXJnMSk7DQorCQkJ YnJlYWs7DQorDQogCQljYXNlIE9fRElWRVJUOg0KIAkJCXByaW50ZigiZGl2 ZXJ0ICV1IiwgY21kLT5hcmcxKTsNCiAJCQlicmVhazsNCkBAIC0xNjgwLDcg KzE2ODcsNyBAQCBoZWxwKHZvaWQpDQogIkJPRFk6CQljaGVjay1zdGF0ZSBb TE9HXSAobm8gYm9keSkgfFxuIg0KICIJCUFDVElPTiBbTE9HXSBNQVRDSF9B RERSIFtPUFRJT05fTElTVF1cbiINCiAiQUNUSU9OOgljaGVjay1zdGF0ZSB8 IGFsbG93IHwgY291bnQgfCBkZW55IHwgcmVqZWN0IHwgc2tpcHRvIE4gfFxu Ig0KLSIJCXtkaXZlcnR8dGVlfSBQT1JUIHwgZm9yd2FyZCBBRERSIHwgcGlw ZSBOIHwgcXVldWUgTlxuIg0KKyIJCXtkaXZlcnR8ZGl2ZXJ0L25vcHx0ZWV9 IFBPUlQgfCBmb3J3YXJkIEFERFIgfCBwaXBlIE4gfCBxdWV1ZSBOXG4iDQog IkFERFI6CQlbIE1BQyBkc3Qgc3JjIGV0aGVyX3R5cGUgXSBcbiINCiAiCQlb IGZyb20gSVBMSVNUIFsgUE9SVCBdIHRvIElQTElTVCBbIFBPUlRMSVNUIF0g XVxuIg0KICJJUExJU1Q6CUlQQUREUiB8ICggSVBBRERSIG9yIC4uLiBvciBJ UEFERFIgKVxuIg0KQEAgLTI1NzgsOSArMjU4NSwxMiBAQCBhZGQoaW50IGFj LCBjaGFyICphdltdKQ0KIAkJYXYrKzsgYWMtLTsNCiAJCWJyZWFrOw0KIA0K KwljYXNlIFRPS19ESVZFUlRfTk9QOg0KIAljYXNlIFRPS19ESVZFUlQ6DQog CWNhc2UgVE9LX1RFRToNCi0JCWFjdGlvbi0+b3Bjb2RlID0gKGkgPT0gVE9L X0RJVkVSVCkgPyBPX0RJVkVSVCA6IE9fVEVFOw0KKwkJYWN0aW9uLT5vcGNv ZGUgPSAoaSA9PSBUT0tfRElWRVJUKSA/IE9fRElWRVJUIDoNCisJCQkJIChp ID09IFRPS19ESVZFUlRfTk9QKSA/IE9fRElWRVJUX05PUCA6DQorCQkJCSBP X1RFRTsNCiAJCU5FRUQxKCJtaXNzaW5nIGRpdmVydC90ZWUgcG9ydCIpOw0K IAkJYWN0aW9uLT5hcmcxID0gc3RydG91bCgqYXYsIE5VTEwsIDApOw0KIAkJ aWYgKGFjdGlvbi0+YXJnMSA9PSAwKSB7DQpJbmRleDogc2Jpbi9pcGZ3L2lw ZncuOA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9ob21l L2N2cy9hY3MvYmFzZS9zcmMvc2Jpbi9pcGZ3L2lwZncuOCx2DQpyZXRyaWV2 aW5nIHJldmlzaW9uIDEuMg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjMNCmRp ZmYgLXUgLXAgLXIxLjIgLXIxLjMNCi0tLSBpcGZ3LjgJMjIgTm92IDIwMDIg MDA6Mjc6MTAgLTAwMDAJMS4yDQorKysgaXBmdy44CTIzIE5vdiAyMDAyIDA1 OjM4OjQyIC0wMDAwCTEuMw0KQEAgLTU1MSw2ICs1NTEsMTEgQEAgRGl2ZXJ0 IHBhY2tldHMgdGhhdCBtYXRjaCB0aGlzIHJ1bGUgdG8gdA0KIHNvY2tldCBi b3VuZCB0byBwb3J0DQogLkFyIHBvcnQgLg0KIFRoZSBzZWFyY2ggdGVybWlu YXRlcy4NCisuSXQgQ20gZGl2ZXJ0L25vcCBBciBwb3J0DQorU2ltaWxhciB0 bw0KKy5DbSBkaXZlcnQNCitleGNlcHQgdGhhdCBpZiBubyBhcHBsaWNhdGlv biBpcyBsaXN0ZW5pbmcgb24gdGhlIGdpdmVuIHBvcnQgdGhlbiB0aGUgc2Vh cmNoDQorY29udGludWVzLCBtYWtpbmcgdGhlIHJ1bGUgZWZmZWN0aXZlbHkg YSBuby1vcC4NCiAuSXQgQ20gZndkIHwgZm9yd2FyZCBBciBpcGFkZHIgTnMg T3AgLCBOcyBBciBwb3J0DQogQ2hhbmdlIHRoZSBuZXh0LWhvcCBvbiBtYXRj aGluZyBwYWNrZXRzIHRvDQogLkFyIGlwYWRkciAsDQo= --0-256389840-1145938834=:44267--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060424212004.B44267>