Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Mar 2011 18:40:11 GMT
From:      Sergey Matveychuk <sem33@yandex-team.ru>
To:        freebsd-ipfw@FreeBSD.org
Subject:   Re: kern/128260: [ipfw] [patch] ipfw_divert damages IPv6 packets
Message-ID:  <201103151840.p2FIeBc6077450@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/128260; it has been noted by GNATS.

From: Sergey Matveychuk <sem33@yandex-team.ru>
To: bug-followup@FreeBSD.org, dan@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@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--



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