Date: Sat, 22 Feb 2020 04:23:19 +0000 From: "neel_neelc.org (Neel Chauhan)" <phabric-noreply@FreeBSD.org> To: Phabricator <phabric-noreply@FreeBSD.org> Cc: freebsd-net@freebsd.org Subject: [Differential] D23788: DRAFT: ng_ksocket IPv6 address parsing and unparsing Message-ID: <differential-rev-PHID-DREV-isgti776xdsdvju2ufh3-req@reviews.freebsd.org>
next in thread | raw e-mail | index | archive | help
--b1_106a6720e3ad442c41e9405aa21e57ab Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: base64 bmVlbF9uZWVsYy5vcmcgY3JlYXRlZCB0aGlzIHJldmlzaW9uLgpuZWVsX25lZWxjLm9yZyBhZGRl ZCBhIHByb2plY3Q6IG5ldHdvcmsuCkhlcmFsZCBhZGRlZCBzdWJzY3JpYmVyczogQ29udHJpYnV0 b3IgUmV2aWV3cyAoYmFzZSksIG1lbGlmYXJvLCBsdXR6X2Rvbm5lcmhhY2tlLmRlLCBpbXAuCgpS RVZJU0lPTiBTVU1NQVJZCiAgQWRkIElQdjYgc3VwcG9ydCB0byBhZGRyZXNzIHBhcnNpbmcgYW5k IHVucGFyc2luZyB0byBuZ19rc29ja2V0LgogIAogIFN1Ym1pdHRlZCBieTogTmVlbCBDaGF1aGFu IDxuZWVsIEFUIG5lZWxjIERPVCBvcmc+CiAgCiAgS2VlcCBpbiBtaW5kIHRoYXQgdGhpcyBpcyBh IERSQUZULiBUaGluZ3Mgc3RpbGwgbmVlZCB0byBiZSBkb25lLCBpbmNsdWRpbmc6CiAgCiAgLSBG aXggdGhlICJuZ2N0bDogc2VuZCBtc2c6IEludmFsaWQgYXJndW1lbnQiIGVycm9yCiAgLSBTaG9y dGhhbmQgSVB2NgogIC0gQW55dGhpbmcgbW9yZSBjb21tZW50ZXJzIHdhbnQKClRFU1QgUExBTgog IERvIHNvbWV0aGluZyBsaWtlIHRoaXM6CiAgCiAgbmdjdGwKICA9PT09PQogIAogICsgbWtwZWVy IGtzb2NrZXQgbXlob29rMiBpbmV0Ni9zdHJlYW0vdGNwNgogICsgbXNnIC46bXlob29rMiBjb25u ZWN0IGluZXQ2L1swOjA6MDowOjA6MDowOjFdOjIyCiAgCiAgVGhlIGFkZHJlc3Mgc2hvdWxkIGJl IHNob3J0aGFuZCwgYnV0IHRoaXMgaXMgbm90IHN1cHBvcnRlZCB5ZXQuCgpSRVBPU0lUT1JZCiAg clMgRnJlZUJTRCBzcmMgcmVwb3NpdG9yeQoKUkVWSVNJT04gREVUQUlMCiAgaHR0cHM6Ly9yZXZp ZXdzLmZyZWVic2Qub3JnL0QyMzc4OAoKQUZGRUNURUQgRklMRVMKICBzeXMvbmV0Z3JhcGgvbmdf a3NvY2tldC5jCgpFTUFJTCBQUkVGRVJFTkNFUwogIGh0dHBzOi8vcmV2aWV3cy5mcmVlYnNkLm9y Zy9zZXR0aW5ncy9wYW5lbC9lbWFpbHByZWZlcmVuY2VzLwoKVG86IG5lZWxfbmVlbGMub3JnCkNj OiBpbXAsIGx1dHpfZG9ubmVyaGFja2UuZGUsIG1lbGlmYXJvLCAjY29udHJpYnV0b3JfcmV2aWV3 c19iYXNlLCBmcmVlYnNkLW5ldC1saXN0LCBtbWFjeSwga3ByYXZlZW4ubGttbF9nbWFpbC5jb20s IG1hcmNuYXJjX2dtYWlsLmNvbSwgc2ltb252ZWxsYV9nbWFpbC5jb20sIG5vdmljZV90ZWNoaWUu Y29tLCB0b21taS5wZXJuaWxhX2lraS5maQo= --b1_106a6720e3ad442c41e9405aa21e57ab Content-Type: text/x-patch; charset=utf-8; name="D23788.68661.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D23788.68661.patch" ZGlmZiAtLWdpdCBhL3N5cy9uZXRncmFwaC9uZ19rc29ja2V0LmMgYi9zeXMvbmV0Z3JhcGgvbmdf a3NvY2tldC5jCi0tLSBhL3N5cy9uZXRncmFwaC9uZ19rc29ja2V0LmMKKysrIGIvc3lzL25ldGdy YXBoL25nX2tzb2NrZXQuYwpAQCAtMTQ5LDYgKzE0OSwxOSBAQAogCXsgImVuY2FwIiwJSVBQUk9U T19FTkNBUCwJCVBGX0lORVQJCX0sCiAJeyAiZGl2ZXJ0IiwJSVBQUk9UT19ESVZFUlQsCQlQRl9J TkVUCQl9LAogCXsgInBpbSIsCUlQUFJPVE9fUElNLAkJUEZfSU5FVAkJfSwKKwl7ICJpcDYiLAlJ UFBST1RPX0lQVjYsCQlQRl9JTkVUNgl9LAorCXsgInJhdzYiLAlJUFBST1RPX1JBVywJCVBGX0lO RVQ2CX0sCisJeyAiaWNtcDYiLAlJUFBST1RPX0lDTVBWNiwJCVBGX0lORVQ2CX0sCisJeyAiaWdt cDYiLAlJUFBST1RPX0lHTVAsCQlQRl9JTkVUNgl9LAorCXsgInRjcDYiLAlJUFBST1RPX1RDUCwJ CVBGX0lORVQ2CX0sCisJeyAidWRwNiIsCUlQUFJPVE9fVURQLAkJUEZfSU5FVDYJfSwKKwl7ICJn cmU2IiwJSVBQUk9UT19HUkUsCQlQRl9JTkVUNgl9LAorCXsgImVzcDYiLAlJUFBST1RPX0VTUCwJ CVBGX0lORVQ2CX0sCisJeyAiYWg2IiwJSVBQUk9UT19BSCwJCVBGX0lORVQ2CX0sCisJeyAic3dp cGU2IiwJSVBQUk9UT19TV0lQRSwJCVBGX0lORVQ2CX0sCisJeyAiZW5jYXA2IiwJSVBQUk9UT19F TkNBUCwJCVBGX0lORVQ2CX0sCisJeyAiZGl2ZXJ0NiIsCUlQUFJPVE9fRElWRVJULAkJUEZfSU5F VDYJfSwKKwl7ICJwaW02IiwJSVBQUk9UT19QSU0sCQlQRl9JTkVUNgl9LAogCXsgTlVMTCwJCS0x CQkJCQl9LAogfTsKIApAQCAtMjk0LDE0ICszMDcsNTIgQEAKIAkJYnJlYWs7CiAJICAgIH0KIAot I2lmIDAKLQljYXNlIFBGX0lORVQ2OgkvKiBYWFggaW1wbGVtZW50IHRoaXMgc29tZWRheSAqLwot I2VuZGlmCisJY2FzZSBQRl9JTkVUNjoKKwkgICAgeworCQlzdHJ1Y3Qgc29ja2FkZHJfaW42ICpj b25zdCBzaW42ID0gKHN0cnVjdCBzb2NrYWRkcl9pbjYgKilzYTsKKwkJaW50IGkgPSAwOwogCisJ CXNpbjYtPnNpbjZfcG9ydCA9IDA7CisJCWlmIChzWypvZmZdID09ICdbJykKKwkJCSgqb2ZmKSsr OworCisJCWZvciAoaSA9IDA7IGkgPCA4OyBpKyspIHsKKwkJCXVfbG9uZyB2YWw7CisJCQljaGFy ICplcHRyOworCisJCQl2YWwgPSBzdHJ0b3VsKHMgKyAqb2ZmLCAmZXB0ciwgMTYpOworCQkJaWYg KHZhbCA+IDB4ZmZmZiB8fCBlcHRyID09IHMgKyAqb2ZmKQorCQkJCXJldHVybiAoRUlOVkFMKTsK KwkJCSpvZmYgKz0gKGVwdHIgLSAocyArICpvZmYpKTsKKwkJIAlzaW42LT5zaW42X2FkZHIuczZf YWRkcjE2W2ldID0gaHRvbnModmFsKTsKKwkJIAkvL3NpbjYtPnNpbjZfYWRkci5fX3U2X2FkZHIu X191Nl9hZGRyMTZbaV0gPSBodG9ucyh2YWwpOworCQkJaWYgKGkgPCA3KSB7CisJCQkJaWYgKHNb Km9mZl0gIT0gJzonKQorCQkJCQlyZXR1cm4gKEVJTlZBTCk7CisJCQkJKCpvZmYpKys7CisJCQl9 IGVsc2UgaWYgKHNbKm9mZl0gPT0gJ10nKSB7CisJCQkJKCpvZmYpKys7CisJCQkJaWYgKHNbKm9m Zl0gPT0gJzonKSB7CisJCQkJCSgqb2ZmKSsrOworCQkJCQl2YWwgPSBzdHJ0b3VsKHMgKyAqb2Zm LCAmZXB0ciwgMTApOworCQkJCQlpZiAodmFsID4gMHhmZmZmIHx8IGVwdHIgPT0gcyArICpvZmYp CisJCQkJCQlyZXR1cm4gKEVJTlZBTCk7CisJCQkJCSpvZmYgKz0gKGVwdHIgLSAocyArICpvZmYp KTsKKwkJCQkJc2luNi0+c2luNl9wb3J0ID0gaHRvbnModmFsKTsKKwkJCQl9CisJCQl9CisJCX0K KwkJYnJlYWs7CisJICAgIH0KKwogCWRlZmF1bHQ6CiAJCXJldHVybiAoRUlOVkFMKTsKIAl9CiAK KwlpZiAoc2EtPnNhX2ZhbWlseSA9PSBBRl9JTkVUNikgeworCQlzdHJ1Y3Qgc29ja2FkZHJfaW42 ICpjb25zdCBzaW42ID0gKHN0cnVjdCBzb2NrYWRkcl9pbjYgKilzYTsKKwkJcHJpbnRmKCJYJWh4 XG4iLCBudG9ocyhzaW42LT5zaW42X2FkZHIuczZfYWRkcjE2WzddKSk7CisJfQogCS8qIERvbmUg Ki8KIAkqYnVmbGVuID0gc2EtPnNhX2xlbjsKIAlyZXR1cm4gKDApOwpAQCAtMzU2LDkgKzQwNywy OSBAQAogCQlyZXR1cm4oMCk7CiAJICAgIH0KIAotI2lmIDAKLQljYXNlIFBGX0lORVQ2OgkvKiBY WFggaW1wbGVtZW50IHRoaXMgc29tZWRheSAqLwotI2VuZGlmCisJY2FzZSBQRl9JTkVUNjoKKwkg ICAgeworCQljb25zdCBzdHJ1Y3Qgc29ja2FkZHJfaW42ICpzaW42ID0gKGNvbnN0IHN0cnVjdCBz b2NrYWRkcl9pbjYgKilzYTsKKworCQlzbGVuICs9IHNucHJpbnRmKGNidWYsIGNidWZsZW4sICJp bmV0Ni9bJXU6JXU6JXU6JXU6JXU6JXU6JXU6JXVdIiwKKwkJICAoKGNvbnN0IHVfaW50ICopJnNp bjYtPnNpbjZfYWRkci5fX3U2X2FkZHIuX191Nl9hZGRyMTYpWzBdLAorCQkgICgoY29uc3QgdV9p bnQgKikmc2luNi0+c2luNl9hZGRyLl9fdTZfYWRkci5fX3U2X2FkZHIxNilbMV0sCisJCSAgKChj b25zdCB1X2ludCAqKSZzaW42LT5zaW42X2FkZHIuX191Nl9hZGRyLl9fdTZfYWRkcjE2KVsyXSwK KwkJICAoKGNvbnN0IHVfaW50ICopJnNpbjYtPnNpbjZfYWRkci5fX3U2X2FkZHIuX191Nl9hZGRy MTYpWzNdLAorCQkgICgoY29uc3QgdV9pbnQgKikmc2luNi0+c2luNl9hZGRyLl9fdTZfYWRkci5f X3U2X2FkZHIxNilbNF0sCisJCSAgKChjb25zdCB1X2ludCAqKSZzaW42LT5zaW42X2FkZHIuX191 Nl9hZGRyLl9fdTZfYWRkcjE2KVs1XSwKKwkJICAoKGNvbnN0IHVfaW50ICopJnNpbjYtPnNpbjZf YWRkci5fX3U2X2FkZHIuX191Nl9hZGRyMTYpWzZdLAorCQkgICgoY29uc3QgdV9pbnQgKikmc2lu Ni0+c2luNl9hZGRyLl9fdTZfYWRkci5fX3U2X2FkZHIxNilbN10pOworCQlpZiAoc2luNi0+c2lu Nl9wb3J0ICE9IDApIHsKKwkJCXNsZW4gKz0gc25wcmludGYoY2J1ZiArIHN0cmxlbihjYnVmKSwK KwkJCSAgICBjYnVmbGVuIC0gc3RybGVuKGNidWYpLCAiOiVkIiwKKwkJCSAgICAodV9pbnQpbnRv aHMoc2luNi0+c2luNl9wb3J0KSk7CisJCX0KKwkJaWYgKHNsZW4gPj0gY2J1ZmxlbikKKwkJCXJl dHVybiAoRVJBTkdFKTsKKwkJKm9mZiArPSBzaXplb2YoKnNpbjYpOworCQlyZXR1cm4oMCk7CisJ ICAgIH0KIAogCWRlZmF1bHQ6CiAJCXJldHVybiAoKm5nX2tzb2NrZXRfZ2VuZXJpY19zb2NrYWRk cl90eXBlLnN1cGVydHlwZS0+dW5wYXJzZSkKCg== --b1_106a6720e3ad442c41e9405aa21e57ab--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?differential-rev-PHID-DREV-isgti776xdsdvju2ufh3-req>