Skip site navigation (1)Skip section navigation (2)
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>