bin/161368: [netrate] IPv6 patches for
netblast/netsend/netreceive
Olivier Cochard-Labbé
olivier at cochard.me
Mon Oct 17 12:20:08 UTC 2011
The following reply was made to PR bin/161368; it has been noted by GNATS.
From: =?ISO-8859-1?Q?Olivier_Cochard=2DLabb=E9?= <olivier at cochard.me>
To: bug-followup at freebsd.org
Cc:
Subject: Re: bin/161368: [netrate] IPv6 patches for netblast/netsend/netreceive
Date: Mon, 17 Oct 2011 14:15:16 +0200
--001636499b7785d46104af7d9057
Content-Type: text/plain; charset=ISO-8859-1
OK here are the last version of my patches.
About netsend.c: I can't use getaddrinfo because it changes the port
number without creating a new socket.
Regards,
Olivier
--001636499b7785d46104af7d9057
Content-Type: text/plain; charset=US-ASCII; name="netrate.ipv6.patch.txt"
Content-Disposition: attachment; filename="netrate.ipv6.patch.txt"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gtvfdf8q0
ZGlmZiAtcnVOIG5ldHJhdGUub3JpZy9uZXRibGFzdC9uZXRibGFzdC5jIG5ldHJhdGUvbmV0Ymxh
c3QvbmV0Ymxhc3QuYwotLS0gbmV0cmF0ZS5vcmlnL25ldGJsYXN0L25ldGJsYXN0LmMJMjAxMS0x
MC0wNyAxMToyODo0My4wMDAwMDAwMDAgKzAyMDAKKysrIG5ldHJhdGUvbmV0Ymxhc3QvbmV0Ymxh
c3QuYwkyMDExLTEwLTEyIDIyOjI2OjUxLjAwMDAwMDAwMCArMDIwMApAQCAtMzIsMTMgKzMyLDEz
IEBACiAjaW5jbHVkZSA8c3lzL3RpbWUuaD4KIAogI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KLQot
I2luY2x1ZGUgPGFycGEvaW5ldC5oPgorI2luY2x1ZGUgPG5ldGRiLmg+CQkJLyogZ2V0YWRkcmlu
Zm8gKi8KIAogI2luY2x1ZGUgPHNpZ25hbC5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVk
ZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CQkJ
LyogY2xvc2UgKi8KIAogc3RhdGljIHZvaWQKIHVzYWdlKHZvaWQpCkBAIC0xNDEsMjYgKzE0MSwy
NSBAQAogaW50CiBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiB7Ci0JbG9uZyBwYXlsb2Fk
c2l6ZSwgcG9ydCwgZHVyYXRpb247Ci0Jc3RydWN0IHNvY2thZGRyX2luIHNpbjsKKwlsb25nIHBh
eWxvYWRzaXplLCBkdXJhdGlvbjsKKwlzdHJ1Y3QgYWRkcmluZm8gaGludHMsICpyZXMsICpyZXMw
OwogCWNoYXIgKmR1bW15LCAqcGFja2V0OwotCWludCBzOworCWludCBwb3J0LCBzLCBlcnJvcjsK
Kwljb25zdCBjaGFyICpjYXVzZSA9IE5VTEw7CiAKIAlpZiAoYXJnYyAhPSA1KQogCQl1c2FnZSgp
OwogCi0JYnplcm8oJnNpbiwgc2l6ZW9mKHNpbikpOwotCXNpbi5zaW5fbGVuID0gc2l6ZW9mKHNp
bik7Ci0Jc2luLnNpbl9mYW1pbHkgPSBBRl9JTkVUOwotCWlmIChpbmV0X2F0b24oYXJndlsxXSwg
JnNpbi5zaW5fYWRkcikgPT0gMCkgewotCQlwZXJyb3IoYXJndlsxXSk7Ci0JCXJldHVybiAoLTEp
OwotCX0KKwltZW1zZXQoJmhpbnRzLCAwLCBzaXplb2YoaGludHMpKTsKKwloaW50cy5haV9mYW1p
bHkgPSBQRl9VTlNQRUM7CisJaGludHMuYWlfc29ja3R5cGUgPSBTT0NLX0RHUkFNOwogCiAJcG9y
dCA9IHN0cnRvdWwoYXJndlsyXSwgJmR1bW15LCAxMCk7Ci0JaWYgKHBvcnQgPCAxIHx8IHBvcnQg
PiA2NTUzNSB8fCAqZHVtbXkgIT0gJ1wwJykKKwlpZiAocG9ydCA8IDEgfHwgcG9ydCA+IDY1NTM1
IHx8ICpkdW1teSAhPSAnXDAnKSB7CisJCWZwcmludGYoc3RkZXJyLCAiSW52YWxpZCBwb3J0IG51
bWJlcjogJXNcbiIsIGFyZ3ZbMl0pOwogCQl1c2FnZSgpOwotCXNpbi5zaW5fcG9ydCA9IGh0b25z
KHBvcnQpOworCQkvKk5PVFJFQUNIRUQqLworCX0KIAogCXBheWxvYWRzaXplID0gc3RydG91bChh
cmd2WzNdLCAmZHVtbXksIDEwKTsKIAlpZiAocGF5bG9hZHNpemUgPCAwIHx8ICpkdW1teSAhPSAn
XDAnKQpAQCAtMTY4LDMwICsxNjcsNTYgQEAKIAlpZiAocGF5bG9hZHNpemUgPiAzMjc2OCkgewog
CQlmcHJpbnRmKHN0ZGVyciwgInBheWxvYWRzaXplID4gMzI3NjhcbiIpOwogCQlyZXR1cm4gKC0x
KTsKKwkJLypOT1RSRUFDSEVEKi8KIAl9CiAKIAlkdXJhdGlvbiA9IHN0cnRvdWwoYXJndls0XSwg
JmR1bW15LCAxMCk7Ci0JaWYgKGR1cmF0aW9uIDwgMCB8fCAqZHVtbXkgIT0gJ1wwJykKKwlpZiAo
ZHVyYXRpb24gPCAwIHx8ICpkdW1teSAhPSAnXDAnKSB7CisJCWZwcmludGYoc3RkZXJyLCAiSW52
YWxpZCBkdXJhdGlvbiB0aW1lOiAlc1xuIiwgYXJndls0XSk7CiAJCXVzYWdlKCk7CisJCS8qTk9U
UkVBQ0hFRCovCisJfQogCiAJcGFja2V0ID0gbWFsbG9jKHBheWxvYWRzaXplKTsKIAlpZiAocGFj
a2V0ID09IE5VTEwpIHsKIAkJcGVycm9yKCJtYWxsb2MiKTsKIAkJcmV0dXJuICgtMSk7CisJCS8q
Tk9UUkVBQ0hFRCovCiAJfQorCiAJYnplcm8ocGFja2V0LCBwYXlsb2Fkc2l6ZSk7CisJZXJyb3Ig
PSBnZXRhZGRyaW5mbyhhcmd2WzFdLGFyZ3ZbMl0sICZoaW50cywgJnJlczApOworCWlmIChlcnJv
cikgeworCQlwZXJyb3IoZ2FpX3N0cmVycm9yKGVycm9yKSk7CisJCXJldHVybiAoLTEpOworCQkv
Kk5PVFJFQUNIRUQqLworCX0KKwlzID0gLTE7CisJZm9yIChyZXMgPSByZXMwOyByZXM7IHJlcyA9
IHJlcy0+YWlfbmV4dCkgeworCQlzID0gc29ja2V0KHJlcy0+YWlfZmFtaWx5LCByZXMtPmFpX3Nv
Y2t0eXBlLCAwKTsKKwkJaWYgKHMgPCAwKSB7CisJCQljYXVzZSA9ICJzb2NrZXQiOworCQkJY29u
dGludWU7CisJCX0KIAotCXMgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19ER1JBTSwgMCk7Ci0JaWYg
KHMgPT0gLTEpIHsKLQkJcGVycm9yKCJzb2NrZXQiKTsKLQkJcmV0dXJuICgtMSk7Ci0JfQorCQlp
ZiAoY29ubmVjdChzLCByZXMtPmFpX2FkZHIsIHJlcy0+YWlfYWRkcmxlbikgPCAwKSB7CisJCQlj
YXVzZSA9ICJjb25uZWN0IjsKKwkJCWNsb3NlKHMpOworCQkJcyA9IC0xOworCQkJY29udGludWU7
CisJCX0KIAotCWlmIChjb25uZWN0KHMsIChzdHJ1Y3Qgc29ja2FkZHIgKikmc2luLCBzaXplb2Yo
c2luKSkgPCAwKSB7Ci0JCXBlcnJvcigiY29ubmVjdCIpOworCQlicmVhazsgIC8qIG9rYXkgd2Ug
Z290IG9uZSAqLworCX0KKwlpZiAocyA8IDApIHsKKwkJcGVycm9yKGNhdXNlKTsKIAkJcmV0dXJu
ICgtMSk7CisJCS8qTk9UUkVBQ0hFRCovCiAJfQogCisJLyogQSBjbGVhbiBjb2RlIHNob3VsZCBp
bmNsdWRlIGEgZnJlZWFkZHJpbmZvKHJlczApIGJlZm9yZSB0aGUgcmV0dXJuICovCisKIAlyZXR1
cm4gKGJsYXN0X2xvb3AocywgZHVyYXRpb24sIHBhY2tldCwgcGF5bG9hZHNpemUpKTsKKwogfQog
CmRpZmYgLXJ1TiBuZXRyYXRlLm9yaWcvbmV0cmVjZWl2ZS9uZXRyZWNlaXZlLmMgbmV0cmF0ZS9u
ZXRyZWNlaXZlL25ldHJlY2VpdmUuYwotLS0gbmV0cmF0ZS5vcmlnL25ldHJlY2VpdmUvbmV0cmVj
ZWl2ZS5jCTIwMTEtMTAtMDcgMTU6MTg6NDguMDAwMDAwMDAwICswMjAwCisrKyBuZXRyYXRlL25l
dHJlY2VpdmUvbmV0cmVjZWl2ZS5jCTIwMTEtMTAtMTEgMTY6Mzk6MTUuMDAwMDAwMDAwICswMjAw
CkBAIC0zMSwxMiArMzEsMTYgQEAKICNpbmNsdWRlIDxzeXMvdGltZS5oPgogCiAjaW5jbHVkZSA8
bmV0aW5ldC9pbi5oPgorI2luY2x1ZGUgPG5ldGRiLmg+ICAgICAgICAgIC8qIGdldGFkZHJpbmZv
ICovCiAKICNpbmNsdWRlIDxhcnBhL2luZXQuaD4KIAogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5j
bHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+
ICAgICAgICAgLyogY2xvc2UgKi8KKworI2RlZmluZSBNQVhTT0NLIDIwCiAKIHN0YXRpYyB2b2lk
CiB1c2FnZSh2b2lkKQpAQCAtNDksMjMgKzUzLDI1IEBACiBpbnQKIG1haW4oaW50IGFyZ2MsIGNo
YXIgKmFyZ3ZbXSkKIHsKLQlzdHJ1Y3Qgc29ja2FkZHJfaW4gc2luOworCXN0cnVjdCBhZGRyaW5m
byBoaW50cywgKnJlcywgKnJlczA7CiAJY2hhciAqZHVtbXksICpwYWNrZXQ7Ci0JbG9uZyBwb3J0
OwotCWludCBzLCB2OworCWludCBwb3J0OworCWludCBlcnJvciwgdiwgaTsKKwljb25zdCBjaGFy
ICpjYXVzZSA9IE5VTEw7CisJaW50IHNbTUFYU09DS107CisJaW50IG5zb2NrOwogCiAJaWYgKGFy
Z2MgIT0gMikKIAkJdXNhZ2UoKTsKIAotCWJ6ZXJvKCZzaW4sIHNpemVvZihzaW4pKTsKLQlzaW4u
c2luX2xlbiA9IHNpemVvZihzaW4pOwotCXNpbi5zaW5fZmFtaWx5ID0gQUZfSU5FVDsKLQlzaW4u
c2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7CisJbWVtc2V0KCZoaW50cywgMCwg
c2l6ZW9mKGhpbnRzKSk7CisJaGludHMuYWlfZmFtaWx5ID0gUEZfVU5TUEVDOworCWhpbnRzLmFp
X3NvY2t0eXBlID0gU09DS19ER1JBTTsKKwloaW50cy5haV9mbGFncyA9IEFJX1BBU1NJVkU7CiAK
IAlwb3J0ID0gc3RydG91bChhcmd2WzFdLCAmZHVtbXksIDEwKTsKIAlpZiAocG9ydCA8IDEgfHwg
cG9ydCA+IDY1NTM1IHx8ICpkdW1teSAhPSAnXDAnKQogCQl1c2FnZSgpOwotCXNpbi5zaW5fcG9y
dCA9IGh0b25zKHBvcnQpOwogCiAJcGFja2V0ID0gbWFsbG9jKDY1NTM2KTsKIAlpZiAocGFja2V0
ID09IE5VTEwpIHsKQEAgLTc0LDI4ICs4MCw1MyBAQAogCX0KIAliemVybyhwYWNrZXQsIDY1NTM2
KTsKIAotCXMgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19ER1JBTSwgMCk7Ci0JaWYgKHMgPT0gLTEp
IHsKLQkJcGVycm9yKCJzb2NrZXQiKTsKKwllcnJvciA9IGdldGFkZHJpbmZvKE5VTEwsIGFyZ3Zb
MV0sICZoaW50cywgJnJlczApOworCWlmIChlcnJvcikgeworCQlwZXJyb3IoZ2FpX3N0cmVycm9y
KGVycm9yKSk7CiAJCXJldHVybiAoLTEpOworCQkvKk5PVFJFQUNIRUQqLwogCX0KIAotCXYgPSAx
MjggKiAxMDI0OwotCWlmIChzZXRzb2Nrb3B0KHMsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgJnYs
IHNpemVvZih2KSkgPCAwKSB7Ci0JCXBlcnJvcigiU09fUkNWQlVGIik7Ci0JCXJldHVybiAoLTEp
OwotCX0KKwluc29jayA9IDA7CisJZm9yIChyZXMgPSByZXMwOyByZXMgJiYgbnNvY2sgPCBNQVhT
T0NLOyByZXMgPSByZXMtPmFpX25leHQpIHsKKwkJc1tuc29ja10gPSBzb2NrZXQocmVzLT5haV9m
YW1pbHksIHJlcy0+YWlfc29ja3R5cGUsCisJCXJlcy0+YWlfcHJvdG9jb2wpOworCQlpZiAoc1tu
c29ja10gPCAwKSB7CisJCQljYXVzZSA9ICJzb2NrZXQiOworCQkJY29udGludWU7CisJCX0KKwor
CQl2ID0gMTI4ICogMTAyNDsKKwkJaWYgKHNldHNvY2tvcHQoc1tuc29ja10sIFNPTF9TT0NLRVQs
IFNPX1JDVkJVRiwgJnYsIHNpemVvZih2KSkgPCAwKSB7CisgICAgICAgIAljYXVzZSA9ICJTT19S
Q1ZCVUYiOworICAgICAgICAgICAgY2xvc2Uoc1tuc29ja10pOworICAgICAgICAJY29udGludWU7
CisJCX0KKwkJaWYgKGJpbmQoc1tuc29ja10sIHJlcy0+YWlfYWRkciwgcmVzLT5haV9hZGRybGVu
KSA8IDApIHsKKwkJCWNhdXNlID0gImJpbmQiOworCQkJY2xvc2Uoc1tuc29ja10pOworCQkJY29u
dGludWU7CisJCX0KKwkJKHZvaWQpIGxpc3RlbihzW25zb2NrXSwgNSk7CiAKLQlpZiAoYmluZChz
LCAoc3RydWN0IHNvY2thZGRyICopJnNpbiwgc2l6ZW9mKHNpbikpIDwgMCkgewotCQlwZXJyb3Io
ImJpbmQiKTsKKwkJbnNvY2srKzsKKwl9CisJaWYgKG5zb2NrID09IDApIHsKKwkJcGVycm9yKGNh
dXNlKTsKIAkJcmV0dXJuICgtMSk7CisJCS8qTk9UUkVBQ0hFRCovCiAJfQogCiAJcHJpbnRmKCJu
ZXRyZWNlaXZlIGxpc3RlbmluZyBvbiBVRFAgcG9ydCAlZFxuIiwgKHVfc2hvcnQpcG9ydCk7CiAK
IAl3aGlsZSAoMSkgewotCQlpZiAocmVjdihzLCBwYWNrZXQsIDY1NTM2LCAwKSA8IDApCi0JCQlw
ZXJyb3IoInJlY3YiKTsKKwkJZm9yIChpID0gMDsgaSA+IG5zb2NrOyBpKyspIHsKKwkJCWlmIChy
ZWN2KHNbaV0sIHBhY2tldCwgNjU1MzYsIDApIDwgMCkKKwkJCQlwZXJyb3IoInJlY3YiKTsKKwkJ
fQogCX0KKwkKKwkvKk5PVFJFQUNIRUQqLworCWZyZWVhZGRyaW5mbyhyZXMwKTsKIH0KIApkaWZm
IC1ydU4gbmV0cmF0ZS5vcmlnL25ldHNlbmQvbmV0c2VuZC5jIG5ldHJhdGUvbmV0c2VuZC9uZXRz
ZW5kLmMKLS0tIG5ldHJhdGUub3JpZy9uZXRzZW5kL25ldHNlbmQuYwkyMDExLTEwLTA3IDE0OjQ4
OjA3LjAwMDAwMDAwMCArMDIwMAorKysgbmV0cmF0ZS9uZXRzZW5kL25ldHNlbmQuYwkyMDExLTEw
LTE3IDEyOjM2OjEzLjAwMDAwMDAwMCArMDIwMApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUg
PHN5cy9lbmRpYW4uaD4KICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KICNpbmNsdWRlIDxzeXMvc29j
a2V0Lmg+CisjaW5jbHVkZSA8bmV0L2lmLmg+CQkvKiBpZl9uYW1ldG9pbmRleCgpICovCiAjaW5j
bHVkZSA8c3lzL3RpbWUuaD4KIAogI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KQEAgLTQzLDEwICs0
NCwxMiBAQAogLyogcHJvZ3JhbSBhcmd1bWVudHMgKi8KIHN0cnVjdCBfYSB7CiAJaW50IHM7CisJ
aW50IGlwdjY7CiAJc3RydWN0IHRpbWVzcGVjIGludGVydmFsOwogCWludCBwb3J0LCBwb3J0X21h
eDsKIAlsb25nIGR1cmF0aW9uOwogCXN0cnVjdCBzb2NrYWRkcl9pbiBzaW47CisJc3RydWN0IHNv
Y2thZGRyX2luNiBzaW42OwogCWludCBwYWNrZXRfbGVuOwogCXZvaWQgKnBhY2tldDsKIH07CkBA
IC0xNzksOSArMTgyLDE2IEBACiAJaWMgPSBnZXR0aW1lb2ZkYXlfY3ljbGVzOwogCWN1cl9wb3J0
ID0gYS0+cG9ydDsKIAlpZiAoYS0+cG9ydCA9PSBhLT5wb3J0X21heCkgewotCQlpZiAoY29ubmVj
dChhLT5zLCAoc3RydWN0IHNvY2thZGRyICopJmEtPnNpbiwgc2l6ZW9mKGEtPnNpbikpKSB7Ci0J
CQlwZXJyb3IoImNvbm5lY3QiKTsKLQkJCXJldHVybiAoLTEpOworCQlpZiAoYS0+aXB2Nikgewor
CQkJaWYgKGNvbm5lY3QoYS0+cywgKHN0cnVjdCBzb2NrYWRkciAqKSZhLT5zaW42LCBzaXplb2Yo
YS0+c2luNikpKSB7CisgICAgICAgICAgICAgICAgcGVycm9yKCJjb25uZWN0IChpcHY2KSIpOwor
ICAgICAgICAgICAgICAgIHJldHVybiAoLTEpOworICAgICAgICAgICAgfQorCQl9IGVsc2Ugewor
CQkJaWYgKGNvbm5lY3QoYS0+cywgKHN0cnVjdCBzb2NrYWRkciAqKSZhLT5zaW4sIHNpemVvZihh
LT5zaW4pKSkgeworCQkJCXBlcnJvcigiY29ubmVjdCAoaXB2NCkiKTsKKwkJCQlyZXR1cm4gKC0x
KTsKKwkJCX0KIAkJfQogCX0KIAl3aGlsZSAoMSkgewpAQCAtMjE1LDggKzIyNSwxMyBAQAogCQkJ
YS0+c2luLnNpbl9wb3J0ID0gaHRvbnMoY3VyX3BvcnQrKyk7CiAJCQlpZiAoY3VyX3BvcnQgPiBh
LT5wb3J0X21heCkKIAkJCQljdXJfcG9ydCA9IGEtPnBvcnQ7CisJCQlpZiAoYS0+aXB2Nikgewor
CQkJcmV0ID0gc2VuZHRvKGEtPnMsIGEtPnBhY2tldCwgYS0+cGFja2V0X2xlbiwgMCwKKyAgICAg
ICAgICAgICAgICAoc3RydWN0IHNvY2thZGRyICopJmEtPnNpbjYsIHNpemVvZihhLT5zaW42KSk7
CisJCQl9IGVsc2UgewogCQkJcmV0ID0gc2VuZHRvKGEtPnMsIGEtPnBhY2tldCwgYS0+cGFja2V0
X2xlbiwgMCwKIAkJCQkoc3RydWN0IHNvY2thZGRyICopJmEtPnNpbiwgc2l6ZW9mKGEtPnNpbikp
OworCQkJfQogCQl9CiAJCWlmIChyZXQgPCAwKQogCQkJc2VuZF9lcnJvcnMrKzsKQEAgLTI1Myw2
ICsyNjgsNyBAQAogewogCWxvbmcgcmF0ZSwgcGF5bG9hZHNpemUsIHBvcnQ7CiAJY2hhciAqZHVt
bXk7CisJY2hhciAqaTsKIAlzdHJ1Y3QgX2EgYTsJLyogYXJndW1lbnRzICovCiAKIAliemVybygm
YSwgc2l6ZW9mKGEpKTsKQEAgLTI2Miw4ICsyNzgsMjUgQEAKIAogCWEuc2luLnNpbl9sZW4gPSBz
aXplb2YoYS5zaW4pOwogCWEuc2luLnNpbl9mYW1pbHkgPSBBRl9JTkVUOwotCWlmIChpbmV0X2F0
b24oYXJndlsxXSwgJmEuc2luLnNpbl9hZGRyKSA9PSAwKSB7CisKKwlhLnNpbjYuc2luNl9sZW4g
PSBzaXplb2YoYS5zaW42KTsKKyAgICBhLnNpbjYuc2luNl9mYW1pbHkgPSBBRl9JTkVUNjsKKwor
CS8qIFRyeSB0byBkZXRlY3QgaWYgaXQncyBhbiBJUHY0IG9uIElQdjYgYWRkcmVzcyAqLworCWkg
PSBzdHJjaHIoYXJndlsxXSwgJyUnKTsKKwlpZiAoaSAhPSBOVUxMKSB7CisJCWEuc2luNi5zaW42
X3Njb3BlX2lkID0gaWZfbmFtZXRvaW5kZXgoaSsxKTsKKwkJY2hhciAqaXA7CisJCWlwID0gIHN0
cmR1cChhcmd2WzFdKTsKKwkJYXJndlsxXSA9IHN0cnNlcCgmaXAsICIlIik7CisJfQorCWlmIChp
bmV0X2F0b24oYXJndlsxXSwgJmEuc2luLnNpbl9hZGRyKSA9PSAxKSB7CisJCWEuaXB2NiA9IDA7
CisJfSBlbHNlIGlmIChpbmV0X3B0b24oQUZfSU5FVDYsIGFyZ3ZbMV0sICZhLnNpbjYuc2luNl9h
ZGRyKSA9PSAxKSB7CisJCWEuaXB2NiA9IDE7CisJfSBlbHNlIHsKIAkJcGVycm9yKGFyZ3ZbMV0p
OworCQlmcHJpbnRmKHN0ZGVyciwgIkNhbid0IGRldGVybWluZSBJUCBhZGRyZXNzIHR5cGVcbiIp
OwogCQlyZXR1cm4gKC0xKTsKIAl9CiAKQEAgLTI3Miw3ICszMDUsMTEgQEAKIAkJdXNhZ2UoKTsK
IAlpZiAoKmR1bW15ICE9ICdcMCcgJiYgKmR1bW15ICE9ICctJykKIAkJdXNhZ2UoKTsKLQlhLnNp
bi5zaW5fcG9ydCA9IGh0b25zKHBvcnQpOworCWlmIChhLmlwdjYpIHsKKwkJYS5zaW42LnNpbjZf
cG9ydCA9IGh0b25zKHBvcnQpOworCX0gZWxzZSB7CisJCWEuc2luLnNpbl9wb3J0ID0gaHRvbnMo
cG9ydCk7CisJfQogCWEucG9ydCA9IGEucG9ydF9tYXggPSBwb3J0OwogCWlmICgqZHVtbXkgPT0g
Jy0nKSB7CS8qIHNldCBoaWdoIHBvcnQgKi8KIAkJcG9ydCA9IHN0cnRvdWwoZHVtbXkgKyAxLCAm
ZHVtbXksIDEwKTsKQEAgLTMyOCw3ICszNjUsMTEgQEAKIAkgICAgInNlY29uZHNcbiIsIHBheWxv
YWRzaXplLCAoaW50bWF4X3QpYS5pbnRlcnZhbC50dl9zZWMsCiAJICAgIGEuaW50ZXJ2YWwudHZf
bnNlYywgYS5kdXJhdGlvbik7CiAKLQlhLnMgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19ER1JBTSwg
MCk7CisJaWYgKGEuaXB2NikgeworCQlhLnMgPSBzb2NrZXQoUEZfSU5FVDYsIFNPQ0tfREdSQU0s
IDApOworCX0gZWxzZSB7CisJCWEucyA9IHNvY2tldChQRl9JTkVULCBTT0NLX0RHUkFNLCAwKTsK
Kwl9CiAJaWYgKGEucyA9PSAtMSkgewogCQlwZXJyb3IoInNvY2tldCIpOwogCQlyZXR1cm4gKC0x
KTsK
--001636499b7785d46104af7d9057--
More information about the freebsd-bugs
mailing list