Date: Tue, 3 Mar 2020 05:27:33 +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: <7e35b24be9db48499816802b676f940b@localhost.localdomain> In-Reply-To: <differential-rev-PHID-DREV-isgti776xdsdvju2ufh3-req@reviews.freebsd.org> References: <differential-rev-PHID-DREV-isgti776xdsdvju2ufh3-req@reviews.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--b1_7e35b24be9db48499816802b676f940b Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: base64 bmVlbF9uZWVsYy5vcmcgdXBkYXRlZCB0aGlzIHJldmlzaW9uIHRvIERpZmYgNjkxMDMuCm5lZWxf bmVlbGMub3JnIGFkZGVkIGEgY29tbWVudC4KCgogIEkgZm9yZ290IGEgInJldHVybigwKSIgaW4g dGhlIElQdjYgdW5wYXJzaW5nLgogIAogIFRoaXMgZG9lcyBub3Qgc29sdmUgdGhlICJJbnZhbGlk IGFyZ3VtZW50IiBlcnJvcnMuIEhvd2V2ZXIsIHRoZSBpc3N1ZSBpcyBub3Qgd2l0aCBteSBjb2Rl LiBJIHRyaWVkIHByaW50ZnMgaW4gdGhlIHNhbWUgc3RhdGVtZW50cyBhcyB0aGUgRUlOVkFMIHJl dHVybnMgYW5kIGdvdCBub3RoaW5nLgogIAogIFNvbWV0aGluZyBlbHNlIG11c3QgYmUgY2F1c2lu ZyB0aGlzIGluIHRoZSBuZ19rc29ja2V0IG9yIGl0cyBkZXBlbmRlbnRzLgoKUkVQT1NJVE9SWQog IHJTIEZyZWVCU0Qgc3JjIHJlcG9zaXRvcnkKCkNIQU5HRVMgU0lOQ0UgTEFTVCBVUERBVEUKICBo dHRwczovL3Jldmlld3MuZnJlZWJzZC5vcmcvRDIzNzg4P3ZzPTY4ODUwJmlkPTY5MTAzCgpDSEFO R0VTIFNJTkNFIExBU1QgQUNUSU9OCiAgaHR0cHM6Ly9yZXZpZXdzLmZyZWVic2Qub3JnL0QyMzc4 OC9uZXcvCgpSRVZJU0lPTiBERVRBSUwKICBodHRwczovL3Jldmlld3MuZnJlZWJzZC5vcmcvRDIz Nzg4CgpBRkZFQ1RFRCBGSUxFUwogIHNoYXJlL21hbi9tYW40L25nX2tzb2NrZXQuNAogIHN5cy9u ZXRncmFwaC9uZ19rc29ja2V0LmMKCkVNQUlMIFBSRUZFUkVOQ0VTCiAgaHR0cHM6Ly9yZXZpZXdz LmZyZWVic2Qub3JnL3NldHRpbmdzL3BhbmVsL2VtYWlscHJlZmVyZW5jZXMvCgpUbzogbmVlbF9u ZWVsYy5vcmcsIGhycywgI21hbnBhZ2VzCkNjOiBnbGViaXVzLCBiY3IsIGhycywgaW1wLCBsdXR6 X2Rvbm5lcmhhY2tlLmRlLCBtZWxpZmFybywgI2NvbnRyaWJ1dG9yX3Jldmlld3NfYmFzZSwgZnJl ZWJzZC1uZXQtbGlzdCwgbW1hY3ksIGtwcmF2ZWVuLmxrbWxfZ21haWwuY29tLCBtYXJjbmFyY19n bWFpbC5jb20sIHNpbW9udmVsbGFfZ21haWwuY29tLCBub3ZpY2VfdGVjaGllLmNvbSwgdG9tbWku cGVybmlsYV9pa2kuZmkK --b1_7e35b24be9db48499816802b676f940b Content-Type: text/x-patch; charset=utf-8; name="D23788.69103.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D23788.69103.patch" ZGlmZiAtLWdpdCBhL3N5cy9uZXRncmFwaC9uZ19rc29ja2V0LmMgYi9zeXMvbmV0Z3JhcGgvbmdf a3NvY2tldC5jCi0tLSBhL3N5cy9uZXRncmFwaC9uZ19rc29ja2V0LmMKKysrIGIvc3lzL25ldGdy YXBoL25nX2tzb2NrZXQuYwpAQCAtNjAsNiArNjAsOSBAQAogI2luY2x1ZGUgPHN5cy91aW8uaD4K ICNpbmNsdWRlIDxzeXMvdW4uaD4KIAorI2luY2x1ZGUgPG5ldC9pZi5oPgorI2luY2x1ZGUgPG5l dC9pZl92YXIuaD4KKwogI2luY2x1ZGUgPG5ldGdyYXBoL25nX21lc3NhZ2UuaD4KICNpbmNsdWRl IDxuZXRncmFwaC9uZXRncmFwaC5oPgogI2luY2x1ZGUgPG5ldGdyYXBoL25nX3BhcnNlLmg+CkBA IC02OCw2ICs3MSw4IEBACiAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgogI2luY2x1ZGUgPG5ldGlu ZXQvaXAuaD4KIAorI2luY2x1ZGUgPG5ldGluZXQ2L3Njb3BlNl92YXIuaD4KKwogI2lmZGVmIE5H X1NFUEFSQVRFX01BTExPQwogc3RhdGljIE1BTExPQ19ERUZJTkUoTV9ORVRHUkFQSF9LU09DS0VU LCAibmV0Z3JhcGhfa3NvY2siLAogICAgICJuZXRncmFwaCBrc29jayBub2RlIik7CkBAIC0xNDks NiArMTU0LDE5IEBACiAJeyAiZW5jYXAiLAlJUFBST1RPX0VOQ0FQLAkJUEZfSU5FVAkJfSwKIAl7 ICJkaXZlcnQiLAlJUFBST1RPX0RJVkVSVCwJCVBGX0lORVQJCX0sCiAJeyAicGltIiwJSVBQUk9U T19QSU0sCQlQRl9JTkVUCQl9LAorCXsgImlwNiIsCUlQUFJPVE9fSVBWNiwJCVBGX0lORVQ2CX0s CisJeyAicmF3NiIsCUlQUFJPVE9fUkFXLAkJUEZfSU5FVDYJfSwKKwl7ICJpY21wNiIsCUlQUFJP VE9fSUNNUFY2LAkJUEZfSU5FVDYJfSwKKwl7ICJpZ21wNiIsCUlQUFJPVE9fSUdNUCwJCVBGX0lO RVQ2CX0sCisJeyAidGNwNiIsCUlQUFJPVE9fVENQLAkJUEZfSU5FVDYJfSwKKwl7ICJ1ZHA2IiwJ SVBQUk9UT19VRFAsCQlQRl9JTkVUNgl9LAorCXsgImdyZTYiLAlJUFBST1RPX0dSRSwJCVBGX0lO RVQ2CX0sCisJeyAiZXNwNiIsCUlQUFJPVE9fRVNQLAkJUEZfSU5FVDYJfSwKKwl7ICJhaDYiLAlJ UFBST1RPX0FILAkJUEZfSU5FVDYJfSwKKwl7ICJzd2lwZTYiLAlJUFBST1RPX1NXSVBFLAkJUEZf SU5FVDYJfSwKKwl7ICJlbmNhcDYiLAlJUFBST1RPX0VOQ0FQLAkJUEZfSU5FVDYJfSwKKwl7ICJk aXZlcnQ2IiwJSVBQUk9UT19ESVZFUlQsCQlQRl9JTkVUNgl9LAorCXsgInBpbTYiLAlJUFBST1RP X1BJTSwJCVBGX0lORVQ2CX0sCiAJeyBOVUxMLAkJLTEJCQkJCX0sCiB9OwogCkBAIC0yOTQsMTAg KzMxMiw1MCBAQAogCQlicmVhazsKIAkgICAgfQogCi0jaWYgMAotCWNhc2UgUEZfSU5FVDY6CS8q IFhYWCBpbXBsZW1lbnQgdGhpcyBzb21lZGF5ICovCi0jZW5kaWYKKwljYXNlIFBGX0lORVQ2Ogor CSAgICB7CisJCXN0cnVjdCBzb2NrYWRkcl9pbjYgKmNvbnN0IHNpbjYgPSAoc3RydWN0IHNvY2th ZGRyX2luNiAqKXNhOworCQljaGFyICplcHRyOworCQljaGFyIGFkZHJbSU5FVDZfQUREUlNUUkxF Tl07CisJCWNoYXIgaWZuYW1lWzE2XTsKKwkJdV9sb25nIHBvcnQ7CisJCWJvb2wgaGFzaWZuYW1l ID0gdHJ1ZTsKIAorCQlpZiAoc1sqb2ZmXSA9PSAnWycpCisJCQkoKm9mZikrKzsKKwkJaWYgKChl cHRyID0gc3Ryc3RyKCZzWypvZmZdLCAiJSIpKSA9PSBOVUxMKSB7CisJCQloYXNpZm5hbWUgPSBm YWxzZTsKKwkJCWVwdHIgPSBzdHJzdHIoJnNbKm9mZl0sICJdIik7CisJCX0KKwkJc25wcmludGYo YWRkciwgZXB0ciAtIChzICsgKm9mZiksICIlcyIsICZzWypvZmZdKTsKKwkJKm9mZiArPSAoZXB0 ciAtIChzICsgKm9mZikpOworCQlpZiAoIWluZXRfcHRvbihBRl9JTkVUNiwgYWRkciwgJnNpbjYt PnNpbjZfYWRkcikpCisJCQlyZXR1cm4gKEVJTlZBTCk7CisKKwkJaWYgKGhhc2lmbmFtZSkgewor CQkJdWludDE2X3Qgc2NvcGU7CisKKwkJCWVwdHIgPSBzdHJzdHIoTlVMTCwgIl0iKTsKKwkJCXNu cHJpbnRmKGlmbmFtZSwgZXB0ciAtIChzICsgKm9mZiksICIlcyIsICZzWypvZmZdKTsKKwkJCSpv ZmYgKz0gKGVwdHIgLSAocyArICpvZmYpKTsKKworCQkJaWYgKG50b2hsKHNpbjYtPnNpbjZfYWRk ci5zNl9hZGRyMTZbMF0pICE9IDB4ZmU4MCkKKwkJCQlyZXR1cm4gKEVJTlZBTCk7CisJCQlzY29w ZSA9IGluNl9nZXRzY29wZSgmc2luNi0+c2luNl9hZGRyKTsKKwkJCXNpbjYtPnNpbjZfc2NvcGVf aWQgPQorCQkJICAgIGluNl9nZXRzY29wZXpvbmUoaWZ1bml0KGlmbmFtZSksIHNjb3BlKTsKKwkJ fQorCisJCWlmIChzWypvZmZdID09ICddJykgeworCQkJKCpvZmYpKys7CisJCQlwb3J0ID0gc3Ry dG91bChzICsgKm9mZiwgJmVwdHIsIDEwKTsKKwkJCWlmIChwb3J0ID4gMHhmZmZmIHx8IGVwdHIg PT0gcyArICpvZmYpCisJCQkJcmV0dXJuIChFSU5WQUwpOworCQkJc2luNi0+c2luNl9wb3J0ID0g aHRvbnMocG9ydCk7CisJCX0KKwkJYnJlYWs7CisJICAgIH0KKwogCWRlZmF1bHQ6CiAJCXJldHVy biAoRUlOVkFMKTsKIAl9CkBAIC0zNTYsOSArNDE0LDIxIEBACiAJCXJldHVybigwKTsKIAkgICAg fQogCi0jaWYgMAotCWNhc2UgUEZfSU5FVDY6CS8qIFhYWCBpbXBsZW1lbnQgdGhpcyBzb21lZGF5 ICovCi0jZW5kaWYKKwljYXNlIFBGX0lORVQ2OgorCSAgICB7CisJCWNvbnN0IHN0cnVjdCBzb2Nr YWRkcl9pbjYgKnNpbjYgPSAoY29uc3Qgc3RydWN0IHNvY2thZGRyX2luNiAqKXNhOworCQljaGFy IGFkZHJbSU5FVDZfQUREUlNUUkxFTl07CisJCQorCQlpbmV0X250b3AoQUZfSU5FVDYsICZzaW42 LT5zaW42X2FkZHIsIGFkZHIsIElORVQ2X0FERFJTVFJMRU4pOworCQlzbGVuICs9IHNucHJpbnRm KGNidWYsIGNidWZsZW4sICJpbmV0Ni9bJXNdIiwgYWRkcik7CisKKwkJaWYgKHNpbjYtPnNpbjZf cG9ydCAhPSAwKSB7CisJCQlzbGVuICs9IHNucHJpbnRmKGNidWYgKyBzdHJsZW4oY2J1ZiksCisJ CQkgICAgY2J1ZmxlbiAtIHN0cmxlbihjYnVmKSwgIjolZCIsCisJCQkgICAgKHVfaW50KW50b2hz KHNpbjYtPnNpbjZfcG9ydCkpOworCQl9CisJCXJldHVybigwKTsKKwkgICAgfQogCiAJZGVmYXVs dDoKIAkJcmV0dXJuICgqbmdfa3NvY2tldF9nZW5lcmljX3NvY2thZGRyX3R5cGUuc3VwZXJ0eXBl LT51bnBhcnNlKQpkaWZmIC0tZ2l0IGEvc2hhcmUvbWFuL21hbjQvbmdfa3NvY2tldC40IGIvc2hh cmUvbWFuL21hbjQvbmdfa3NvY2tldC40Ci0tLSBhL3NoYXJlL21hbi9tYW40L25nX2tzb2NrZXQu NAorKysgYi9zaGFyZS9tYW4vbWFuNC9uZ19rc29ja2V0LjQKQEAgLTE4NSw3ICsxODUsOCBAQAog ZXF1aXZhbGVudCBvZiB0aGUgQyBzdHJ1Y3R1cmUKIGlzIGFuIGFjY2VwdGFibGUgZm9ybS4KIEZv ciB0aGUKLS5EdiBQRl9JTkVUCisuRHYgUEZfSU5FVCAsCisuRHYgUEZfSU5FVDYKIGFuZAogLkR2 IFBGX0xPQ0FMCiBhZGRyZXNzIGZhbWlsaWVzLCBhIG1vcmUgY29udmVuaWVudCBmb3JtIGlzIGFs c28gdXNlZCwgd2hpY2ggaXMKQEAgLTE5Myw4ICsxOTQsMTIgQEAKIGFkZHJlc3MuCiBGb3IKIC5E diBQRl9JTkVUICwKLXRoZSBhZGRyZXNzIGlzIGFuIElQIGFkZHJlc3MgZm9sbG93ZWQgYnkgYW4g b3B0aW9uYWwgY29sb24gYW5kIHBvcnQgbnVtYmVyLgordGhlIGFkZHJlc3MgaXMgYW4gSVB2NCBh ZGRyZXNzIGZvbGxvd2VkIGJ5IGFuIG9wdGlvbmFsIGNvbG9uIGFuZCBwb3J0IG51bWJlci4KIEZv cgorLkR2IFBGX0lORVQ2ICwKK3RoZSBhZGRyZXNzIGlzIGFuIElQdjYgYWRkcmVzcyBwb3NzaWJs eSBlbmNsb3NlZCBpbiBzcXVhcmUgYnJhY2tldHMgZm9sbG93ZWQKK2J5IGFuIG9wdGlvbmFsIGNv bG9uIGFuZCBwb3J0IG51bWJlci4KK0ZvcgogLkR2IFBGX0xPQ0FMICwKIHRoZSBhZGRyZXNzIGlz IHRoZSBwYXRobmFtZSBhcyBhIGRvdWJseSBxdW90ZWQgc3RyaW5nLgogLlBwCkBAIC0yMDQsNiAr MjA5LDggQEAKIGxvY2FsLyIvdG1wL2Zvby5zb2NrZXQiCiAuSXQgRHYgUEZfSU5FVAogaW5ldC8x OTIuMTY4LjEuMToxMjM0CisuSXQgRHYgUEZfSU5FVAoraW5ldDYvWzIwMDE6OjFdOjEyMzQKIC5J dCBPdGhlcgogLkR2ICJcJnsgZmFtaWx5PTE2IGxlbj0xNiBkYXRhPVsweDcwIDB4MDAgMHgwMSAw eDIzXSBcJn0iCiAuRWwKCg== --b1_7e35b24be9db48499816802b676f940b--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7e35b24be9db48499816802b676f940b>