kern/128260: [ipfw] [patch] ipfw_divert damages IPv6 packets
Sergey Matveychuk
sem33 at yandex-team.ru
Tue Mar 15 18:40:13 UTC 2011
The following reply was made to PR kern/128260; it has been noted by GNATS.
From: Sergey Matveychuk <sem33 at yandex-team.ru>
To: bug-followup at FreeBSD.org, dan at obluda.cz
Cc:
Subject: Re: kern/128260: [ipfw] [patch] ipfw_divert damages IPv6 packets
Date: Tue, 15 Mar 2011 21:36:01 +0300
This is a multi-part message in MIME format.
--------------040708040101090106080704
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
The final version of the patch.
* Add #include "opt_inet6.h". Thanks to Bjorn Danielsson
<fbsd at 50days.dax.nu>.
* Take checking of packet size back.
* Ignore a packet if it's neither IPv4 nor IPv6.
* A hack to Makefile to build as module with INET6 defined. (Like
sys/modules/linux/Makefile does).
The patch applied to 8.x and CURRENT.
--------------040708040101090106080704
Content-Type: text/plain;
name="divert-ipv6.diff"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="divert-ipv6.diff"
LS0tIHN5cy9uZXRpbmV0L2lwZncvaXBfZndfcGZpbC5jLm9yaWcJMjAxMC0xMi0xMCAwODox
ODozNy4wMDAwMDAwMDAgKzAzMDAKKysrIHN5cy9uZXRpbmV0L2lwZncvaXBfZndfcGZpbC5j
CTIwMTEtMDMtMTUgMjA6MDg6MjMuMDAwMDAwMDAwICswMzAwCkBAIC0yODksNyArMjg5LDcg
QEAKIAkgKiB3ZSBjYW4gZG8gaXQgYmVmb3JlIGEgJ3RlZScuCiAJICovCiAJaXAgPSBtdG9k
KGNsb25lLCBzdHJ1Y3QgaXAgKik7Ci0JaWYgKCF0ZWUgJiYgbnRvaHMoaXAtPmlwX29mZikg
JiAoSVBfTUYgfCBJUF9PRkZNQVNLKSkgeworCWlmIChpcC0+aXBfdiA9PSA0ICYmICF0ZWUg
JiYgbnRvaHMoaXAtPmlwX29mZikgJiAoSVBfTUYgfCBJUF9PRkZNQVNLKSkgewogCQlpbnQg
aGxlbjsKIAkJc3RydWN0IG1idWYgKnJlYXNzOwogCi0tLSBzeXMvbmV0aW5ldC9pcF9kaXZl
cnQuYy5vcmlnCTIwMTAtMDgtMjcgMjI6NTA6MTIuMDAwMDAwMDAwICswNDAwCisrKyBzeXMv
bmV0aW5ldC9pcF9kaXZlcnQuYwkyMDExLTAzLTE1IDIxOjI0OjA2LjAwMDAwMDAwMCArMDMw
MApAQCAtMzcsNiArMzcsNyBAQAogI2Vycm9yICJJUERJVkVSVCByZXF1aXJlcyBJTkVULiIK
ICNlbmRpZgogI2VuZGlmCisjaW5jbHVkZSAib3B0X2luZXQ2LmgiCiAKICNpbmNsdWRlIDxz
eXMvcGFyYW0uaD4KICNpbmNsdWRlIDxzeXMva2VybmVsLmg+CkBAIC02OSw2ICs3MCw4IEBA
CiAjaW5jbHVkZSA8bmV0aW5ldC9pbl92YXIuaD4KICNpbmNsdWRlIDxuZXRpbmV0L2lwLmg+
CiAjaW5jbHVkZSA8bmV0aW5ldC9pcF92YXIuaD4KKyNpbmNsdWRlIDxuZXRpbmV0L2lwNi5o
PgorI2luY2x1ZGUgPG5ldGluZXQ2L2lwNl92YXIuaD4KICNpZmRlZiBTQ1RQCiAjaW5jbHVk
ZSA8bmV0aW5ldC9zY3RwX2NyYzMyLmg+CiAjZW5kaWYKQEAgLTM4OSw3MSArMzkyLDEwMyBA
QAogCS8qIFJlaW5qZWN0IHBhY2tldCBpbnRvIHRoZSBzeXN0ZW0gYXMgaW5jb21pbmcgb3Ig
b3V0Z29pbmcgKi8KIAlpZiAoIXNpbiB8fCBzaW4tPnNpbl9hZGRyLnNfYWRkciA9PSAwKSB7
CiAJCXN0cnVjdCBpcCAqY29uc3QgaXAgPSBtdG9kKG0sIHN0cnVjdCBpcCAqKTsKKyNpZmRl
ZiBJTkVUNgorCQlzdHJ1Y3QgaXA2X2hkciAqY29uc3QgaXA2ID0gbXRvZChtLCBzdHJ1Y3Qg
aXA2X2hkciAqKTsKKyNlbmRpZgogCQlzdHJ1Y3QgaW5wY2IgKmlucDsKIAogCQlkdC0+aW5m
byB8PSBJUEZXX0lTX0RJVkVSVCB8IElQRldfSU5GT19PVVQ7CiAJCWlucCA9IHNvdG9pbnBj
Yihzbyk7CiAJCUlOUF9STE9DSyhpbnApOwotCQkvKgotCQkgKiBEb24ndCBhbGxvdyBib3Ro
IHVzZXIgc3BlY2lmaWVkIGFuZCBzZXRzb2Nrb3B0IG9wdGlvbnMsCi0JCSAqIGFuZCBkb24n
dCBhbGxvdyBwYWNrZXQgbGVuZ3RoIHNpemVzIHRoYXQgd2lsbCBjcmFzaAotCQkgKi8KLQkJ
aWYgKCgoaXAtPmlwX2hsICE9IChzaXplb2YgKCppcCkgPj4gMikpICYmIGlucC0+aW5wX29w
dGlvbnMpIHx8Ci0JCSAgICAgKCh1X3Nob3J0KW50b2hzKGlwLT5pcF9sZW4pID4gbS0+bV9w
a3RoZHIubGVuKSkgewotCQkJZXJyb3IgPSBFSU5WQUw7Ci0JCQlJTlBfUlVOTE9DSyhpbnAp
OwotCQkJbV9mcmVlbShtKTsKLQkJfSBlbHNlIHsKKwkJaWYgKGlwLT5pcF92ID09IDQpIHsK
KwkJCS8qCisJCQkgKiBEb24ndCBhbGxvdyBib3RoIHVzZXIgc3BlY2lmaWVkIGFuZCBzZXRz
b2Nrb3B0IG9wdGlvbnMsCisJCQkgKiBhbmQgZG9uJ3QgYWxsb3cgcGFja2V0IGxlbmd0aCBz
aXplcyB0aGF0IHdpbGwgY3Jhc2gKKwkJCSAqLworCQkJaWYgKCgoaXAtPmlwX2hsICE9IChz
aXplb2YgKCppcCkgPj4gMikpICYmIGlucC0+aW5wX29wdGlvbnMpIHx8CisJCQkgICAgICgo
dV9zaG9ydCludG9ocyhpcC0+aXBfbGVuKSA+IG0tPm1fcGt0aGRyLmxlbikpIHsKKwkJCQll
cnJvciA9IEVJTlZBTDsKKwkJCQlJTlBfUlVOTE9DSyhpbnApOworCQkJCWdvdG8gY2FudHNl
bmQ7CisJCQl9CisKIAkJCS8qIENvbnZlcnQgZmllbGRzIHRvIGhvc3Qgb3JkZXIgZm9yIGlw
X291dHB1dCgpICovCiAJCQlpcC0+aXBfbGVuID0gbnRvaHMoaXAtPmlwX2xlbik7CiAJCQlp
cC0+aXBfb2ZmID0gbnRvaHMoaXAtPmlwX29mZik7CisJCX0KKyNpZmRlZiBJTkVUNgkJCisJ
CWVsc2UKKwkJCWlmIChpcC0+aXBfdiA9PSA2KSB7CisJCQkgICAgLyogRG9uJ3QgYWxsb3cg
cGFja2V0IGxlbmd0aCBzaXplcyB0aGF0IHdpbGwgY3Jhc2ggKi8KKwkJCSAgICBpZiAoKCh1
X3Nob3J0KW50b2hzKGlwNi0+aXA2X3BsZW4pID4gbS0+bV9wa3RoZHIubGVuKSkgeworCQkJ
CSAgICBlcnJvciA9IEVJTlZBTDsKKwkJCQkgICAgSU5QX1JVTkxPQ0soaW5wKTsKKwkJCQkg
ICAgZ290byBjYW50c2VuZDsKKwkJCSAgICB9CisKKwkJCSAgICBpcDYtPmlwNl9wbGVuID0g
bnRvaHMoaXA2LT5pcDZfcGxlbik7CisJCQl9CisjZW5kaWYKKwkJLyogVW5rbm93biBwcm90
b2NvbCAqLworCQllbHNlIHsKKwkJCWVycm9yID0gRUlOVkFMOworCQkJSU5QX1JVTkxPQ0so
aW5wKTsKKwkJCWdvdG8gY2FudHNlbmQ7CisJCX0KIAotCQkJLyogU2VuZCBwYWNrZXQgdG8g
b3V0cHV0IHByb2Nlc3NpbmcgKi8KLQkJCUtNT0RfSVBTVEFUX0lOQyhpcHNfcmF3b3V0KTsJ
CS8qIFhYWCAqLworCQkvKiBTZW5kIHBhY2tldCB0byBvdXRwdXQgcHJvY2Vzc2luZyAqLwor
CQlLTU9EX0lQU1RBVF9JTkMoaXBzX3Jhd291dCk7CQkvKiBYWFggKi8KIAogI2lmZGVmIE1B
QwotCQkJbWFjX2lucGNiX2NyZWF0ZV9tYnVmKGlucCwgbSk7CisJCW1hY19pbnBjYl9jcmVh
dGVfbWJ1ZihpbnAsIG0pOwogI2VuZGlmCi0JCQkvKgotCQkJICogR2V0IHJlYWR5IHRvIGlu
amVjdCB0aGUgcGFja2V0IGludG8gaXBfb3V0cHV0KCkuCi0JCQkgKiBKdXN0IGluIGNhc2Ug
c29ja2V0IG9wdGlvbnMgd2VyZSBzcGVjaWZpZWQgb24gdGhlCi0JCQkgKiBkaXZlcnQgc29j
a2V0LCB3ZSBkdXBsaWNhdGUgdGhlbS4gIFRoaXMgaXMgZG9uZQotCQkJICogdG8gYXZvaWQg
aGF2aW5nIHRvIGhvbGQgdGhlIFBDQiBsb2NrcyBvdmVyIHRoZSBjYWxsCi0JCQkgKiB0byBp
cF9vdXRwdXQoKSwgYXMgZG9pbmcgdGhpcyByZXN1bHRzIGluIGEgbnVtYmVyIG9mCi0JCQkg
KiBsb2NrIG9yZGVyaW5nIGNvbXBsZXhpdGllcy4KLQkJCSAqCi0JCQkgKiBOb3RlIHRoYXQg
d2Ugc2V0IHRoZSBtdWx0aWNhc3Qgb3B0aW9ucyBhcmd1bWVudCBmb3IKLQkJCSAqIGlwX291
dHB1dCgpIHRvIE5VTEwgc2luY2UgaXQgc2hvdWxkIGJlIGludmFyaWFudCB0aGF0Ci0JCQkg
KiB0aGV5IGFyZSBub3QgcHJlc2VudC4KLQkJCSAqLwotCQkJS0FTU0VSVChpbnAtPmlucF9t
b3B0aW9ucyA9PSBOVUxMLAotCQkJICAgICgibXVsdGljYXN0IG9wdGlvbnMgc2V0IG9uIGEg
ZGl2ZXJ0IHNvY2tldCIpKTsKLQkJCW9wdGlvbnMgPSBOVUxMOwotCQkJLyoKLQkJCSAqIFhY
WENTSlA6IEl0IGlzIHVuY2xlYXIgdG8gbWUgd2hldGhlciBvciBub3QgaXQgbWFrZXMKLQkJ
CSAqIHNlbnNlIGZvciBkaXZlcnQgc29ja2V0cyB0byBoYXZlIG9wdGlvbnMuICBIb3dldmVy
LAotCQkJICogZm9yIG5vdyB3ZSB3aWxsIGR1cGxpY2F0ZSB0aGVtIHdpdGggdGhlIElOUCBs
b2NrcwotCQkJICogaGVsZCBzbyB3ZSBjYW4gdXNlIHRoZW0gaW4gaXBfb3V0cHV0KCkgd2l0
aG91dAotCQkJICogcmVxdXJpbmcgYSByZWZlcmVuY2UgdG8gdGhlIHBjYi4KLQkJCSAqLwot
CQkJaWYgKGlucC0+aW5wX29wdGlvbnMgIT0gTlVMTCkgewotCQkJCW9wdGlvbnMgPSBtX2R1
cChpbnAtPmlucF9vcHRpb25zLCBNX0RPTlRXQUlUKTsKLQkJCQlpZiAob3B0aW9ucyA9PSBO
VUxMKQotCQkJCQllcnJvciA9IEVOT0JVRlM7Ci0JCQl9Ci0JCQlJTlBfUlVOTE9DSyhpbnAp
OwotCQkJaWYgKGVycm9yID09IEVOT0JVRlMpIHsKLQkJCQltX2ZyZWVtKG0pOwotCQkJCXJl
dHVybiAoZXJyb3IpOwotCQkJfQotCQkJZXJyb3IgPSBpcF9vdXRwdXQobSwgb3B0aW9ucywg
TlVMTCwKLQkJCSAgICAoKHNvLT5zb19vcHRpb25zICYgU09fRE9OVFJPVVRFKSA/Ci0JCQkg
ICAgSVBfUk9VVEVUT0lGIDogMCkgfCBJUF9BTExPV0JST0FEQ0FTVCB8Ci0JCQkgICAgSVBf
UkFXT1VUUFVULCBOVUxMLCBOVUxMKTsKLQkJCWlmIChvcHRpb25zICE9IE5VTEwpCi0JCQkJ
bV9mcmVlbShvcHRpb25zKTsKKwkJLyoKKwkJICogR2V0IHJlYWR5IHRvIGluamVjdCB0aGUg
cGFja2V0IGludG8gaXBfb3V0cHV0KCkuCisJCSAqIEp1c3QgaW4gY2FzZSBzb2NrZXQgb3B0
aW9ucyB3ZXJlIHNwZWNpZmllZCBvbiB0aGUKKwkJICogZGl2ZXJ0IHNvY2tldCwgd2UgZHVw
bGljYXRlIHRoZW0uICBUaGlzIGlzIGRvbmUKKwkJICogdG8gYXZvaWQgaGF2aW5nIHRvIGhv
bGQgdGhlIFBDQiBsb2NrcyBvdmVyIHRoZSBjYWxsCisJCSAqIHRvIGlwX291dHB1dCgpLCBh
cyBkb2luZyB0aGlzIHJlc3VsdHMgaW4gYSBudW1iZXIgb2YKKwkJICogbG9jayBvcmRlcmlu
ZyBjb21wbGV4aXRpZXMuCisJCSAqCisJCSAqIE5vdGUgdGhhdCB3ZSBzZXQgdGhlIG11bHRp
Y2FzdCBvcHRpb25zIGFyZ3VtZW50IGZvcgorCQkgKiBpcF9vdXRwdXQoKSB0byBOVUxMIHNp
bmNlIGl0IHNob3VsZCBiZSBpbnZhcmlhbnQgdGhhdAorCQkgKiB0aGV5IGFyZSBub3QgcHJl
c2VudC4KKwkJICovCisJCUtBU1NFUlQoaW5wLT5pbnBfbW9wdGlvbnMgPT0gTlVMTCwKKwkJ
ICAgICgibXVsdGljYXN0IG9wdGlvbnMgc2V0IG9uIGEgZGl2ZXJ0IHNvY2tldCIpKTsKKwkJ
b3B0aW9ucyA9IE5VTEw7CisJCS8qCisJCSAqIFhYWENTSlA6IEl0IGlzIHVuY2xlYXIgdG8g
bWUgd2hldGhlciBvciBub3QgaXQgbWFrZXMKKwkJICogc2Vuc2UgZm9yIGRpdmVydCBzb2Nr
ZXRzIHRvIGhhdmUgb3B0aW9ucy4gIEhvd2V2ZXIsCisJCSAqIGZvciBub3cgd2Ugd2lsbCBk
dXBsaWNhdGUgdGhlbSB3aXRoIHRoZSBJTlAgbG9ja3MKKwkJICogaGVsZCBzbyB3ZSBjYW4g
dXNlIHRoZW0gaW4gaXBfb3V0cHV0KCkgd2l0aG91dAorCQkgKiByZXF1cmluZyBhIHJlZmVy
ZW5jZSB0byB0aGUgcGNiLgorCQkgKi8KKwkJaWYgKGlucC0+aW5wX29wdGlvbnMgIT0gTlVM
TCkgeworCQkJb3B0aW9ucyA9IG1fZHVwKGlucC0+aW5wX29wdGlvbnMsIE1fRE9OVFdBSVQp
OworCQkJaWYgKG9wdGlvbnMgPT0gTlVMTCkKKwkJCQllcnJvciA9IEVOT0JVRlM7CisJCX0K
KwkJSU5QX1JVTkxPQ0soaW5wKTsKKwkJaWYgKGVycm9yID09IEVOT0JVRlMpIHsKKwkJCW1f
ZnJlZW0obSk7CisJCQlyZXR1cm4gKGVycm9yKTsKIAkJfQorCQlpZiAoaXAtPmlwX3YgPT0g
NCkKKwkJICAgIGVycm9yID0gaXBfb3V0cHV0KG0sIG9wdGlvbnMsIE5VTEwsCisJCQkoKHNv
LT5zb19vcHRpb25zICYgU09fRE9OVFJPVVRFKSA/CisJCQlJUF9ST1VURVRPSUYgOiAwKSB8
IElQX0FMTE9XQlJPQURDQVNUIHwKKwkJCUlQX1JBV09VVFBVVCwgTlVMTCwgTlVMTCk7Cisj
aWZkZWYgSU5FVDYKKwkJZWxzZQorCQkgICAgZXJyb3IgPSBpcDZfb3V0cHV0KG0sIE5VTEws
IE5VTEwsIDAsIAorCQkJTlVMTCwgTlVMTCwgTlVMTCk7CisjZW5kaWYKKwkJaWYgKG9wdGlv
bnMgIT0gTlVMTCkKKwkJCW1fZnJlZW0ob3B0aW9ucyk7CiAJfSBlbHNlIHsKKwkJc3RydWN0
IGlwICpjb25zdCBpcCA9IG10b2QobSwgc3RydWN0IGlwICopOworCiAJCWR0LT5pbmZvIHw9
IElQRldfSVNfRElWRVJUIHwgSVBGV19JTkZPX0lOOwogCQlpZiAobS0+bV9wa3RoZHIucmN2
aWYgPT0gTlVMTCkgewogCQkJLyoKQEAgLTQ3Nyw3ICs1MTIsMTIgQEAKIAkJbWFjX3NvY2tl
dF9jcmVhdGVfbWJ1ZihzbywgbSk7CiAjZW5kaWYKIAkJLyogU2VuZCBwYWNrZXQgdG8gaW5w
dXQgcHJvY2Vzc2luZyB2aWEgbmV0aXNyICovCi0JCW5ldGlzcl9xdWV1ZV9zcmMoTkVUSVNS
X0lQLCAodWludHB0cl90KXNvLCBtKTsKKwkJaWYgKGlwLT5pcF92ID09IDQpCisJCSAgICBu
ZXRpc3JfcXVldWVfc3JjKE5FVElTUl9JUCwgKHVpbnRwdHJfdClzbywgbSk7CisjaWZkZWYg
SU5FVDYKKwkJZWxzZQorCQkgICAgbmV0aXNyX3F1ZXVlX3NyYyhORVRJU1JfSVBWNiwgKHVp
bnRwdHJfdClzbywgbSk7CisjZW5kaWYKIAl9CiAKIAlyZXR1cm4gZXJyb3I7Ci0tLSBzeXMv
bmV0aW5ldDYvbmQ2LmMub3JpZwkyMDExLTAzLTE1IDIwOjA4OjIzLjAwMDAwMDAwMCArMDMw
MAorKysgc3lzL25ldGluZXQ2L25kNi5jCTIwMTEtMDMtMTUgMjA6MDg6MjMuMDAwMDAwMDAw
ICswMzAwCkBAIC00NDIsNiArNDQyLDggQEAKIAlzdHJ1Y3QgaW42X2FkZHIgKmRzdDsKIAlz
dHJ1Y3QgaWZuZXQgKmlmcDsKIAlzdHJ1Y3QgbmRfaWZpbmZvICpuZGkgPSBOVUxMOworCXN0
cnVjdCBydF9hZGRyaW5mbyBydGluZm87CisJc3RydWN0IHNvY2thZGRyX2RsIGdhdGV3YXk7
CiAKIAlLQVNTRVJUKGFyZyAhPSBOVUxMLCAoIiVzOiBhcmcgTlVMTCIsIF9fZnVuY19fKSk7
CiAJbG4gPSAoc3RydWN0IGxsZW50cnkgKilhcmc7CkBAIC01MTIsNiArNTE0LDE1IEBACiAJ
Y2FzZSBORDZfTExJTkZPX1NUQUxFOgogCQkvKiBHYXJiYWdlIENvbGxlY3Rpb24oUkZDIDI0
NjEgNS4zKSAqLwogCQlpZiAoIU5ENl9MTElORk9fUEVSTUFORU5UKGxuKSkgeworCQkJYnpl
cm8oJmdhdGV3YXksIHNpemVvZihnYXRld2F5KSk7CisJCQlnYXRld2F5LnNkbF9sZW4gPSBz
aXplb2Yoc3RydWN0IHNvY2thZGRyX2RsKTsKKwkJCWdhdGV3YXkuc2RsX2ZhbWlseSA9IEFG
X0xJTks7CisJCQlnYXRld2F5LnNkbF9hbGVuID0gNjsKKwkJCWJ6ZXJvKCZydGluZm8sIHNp
emVvZihzdHJ1Y3QgcnRfYWRkcmluZm8pKTsKKwkJCXJ0aW5mby5ydGlfaW5mb1swXSA9IChz
dHJ1Y3Qgc29ja2FkZHIqKUwzX0FERFIobG4pOworCQkJcnRpbmZvLnJ0aV9pbmZvWzFdID0g
KHN0cnVjdCBzb2NrYWRkciopJmdhdGV3YXk7CisJCQlydGluZm8ucnRpX2FkZHJzID0gUlRB
X0RTVCB8IFJUQV9HQVRFV0FZOworCQkJcnRfbWlzc21zZyhSVE1fREVMRVRFLCAmcnRpbmZv
LCBSVEZfSE9TVCB8IFJURl9MTERBVEEsIDApOwogCQkJKHZvaWQpbmQ2X2ZyZWUobG4sIDEp
OwogCQkJbG4gPSBOVUxMOwogCQl9CkBAIC01MzksNiArNTUwLDE1IEBACiAJCQluZDZfbnNf
b3V0cHV0KGlmcCwgZHN0LCBkc3QsIGxuLCAwKTsKIAkJCUxMRV9XTE9DSyhsbik7CiAJCX0g
ZWxzZSB7CisJCQliemVybygmZ2F0ZXdheSwgc2l6ZW9mKGdhdGV3YXkpKTsKKwkJCWdhdGV3
YXkuc2RsX2xlbiA9IHNpemVvZihzdHJ1Y3Qgc29ja2FkZHJfZGwpOworCQkJZ2F0ZXdheS5z
ZGxfZmFtaWx5ID0gQUZfTElOSzsKKwkJCWdhdGV3YXkuc2RsX2FsZW4gPSA2OworCQkJYnpl
cm8oJnJ0aW5mbywgc2l6ZW9mKHN0cnVjdCBydF9hZGRyaW5mbykpOworCQkJcnRpbmZvLnJ0
aV9pbmZvWzBdID0gKHN0cnVjdCBzb2NrYWRkciopTDNfQUREUihsbik7CisJCQlydGluZm8u
cnRpX2luZm9bMV0gPSAoc3RydWN0IHNvY2thZGRyKikmZ2F0ZXdheTsKKwkJCXJ0aW5mby5y
dGlfYWRkcnMgPSBSVEFfRFNUIHwgUlRBX0dBVEVXQVk7CisJCQlydF9taXNzbXNnKFJUTV9E
RUxFVEUsICZydGluZm8sIFJURl9IT1NUIHwgUlRGX0xMREFUQSwgMCk7CiAJCQkodm9pZClu
ZDZfZnJlZShsbiwgMCk7CiAJCQlsbiA9IE5VTEw7CiAJCX0KLS0tIHN5cy9tb2R1bGVzL2lw
ZGl2ZXJ0L01ha2VmaWxlLm9yaWcJMjAwOS0wOC0wMyAxMjoxMzowNi4wMDAwMDAwMDAgKzA0
MDAKKysrIHN5cy9tb2R1bGVzL2lwZGl2ZXJ0L01ha2VmaWxlCTIwMTEtMDMtMTUgMjE6MTk6
MzMuMDAwMDAwMDAwICswMzAwCkBAIC0zLDYgKzMsMTEgQEAKIC5QQVRIOiAkey5DVVJESVJ9
Ly4uLy4uL25ldGluZXQKIAogS01PRD0gICBpcGRpdmVydAotU1JDUz0gICBpcF9kaXZlcnQu
YworU1JDUz0gICBpcF9kaXZlcnQuYyBvcHRfaW5ldDYuaAorCisuaWYgIWRlZmluZWQoS0VS
TkJVSUxERElSKQorb3B0X2luZXQ2Lmg6CisJZWNobyAiI2RlZmluZSBJTkVUNiAxIiA+ICR7
LlRBUkdFVH0KKy5lbmRpZgogCiAuaW5jbHVkZSA8YnNkLmttb2QubWs+Cg==
--------------040708040101090106080704--
More information about the freebsd-ipfw
mailing list