Date: Mon, 24 Feb 2020 01:17:07 +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: <908bb35e1ef376946b9b58e228b670d7@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_908bb35e1ef376946b9b58e228b670d7 Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: base64 bmVlbF9uZWVsYy5vcmcgdXBkYXRlZCB0aGlzIHJldmlzaW9uIHRvIERpZmYgNjg3MzAuCm5lZWxf bmVlbGMub3JnIGVkaXRlZCB0aGUgc3VtbWFyeSBvZiB0aGlzIHJldmlzaW9uLgoKQ0hBTkdFUyBT SU5DRSBMQVNUIFVQREFURQogIGh0dHBzOi8vcmV2aWV3cy5mcmVlYnNkLm9yZy9EMjM3ODg/dnM9 Njg3MjkmaWQ9Njg3MzAKCkNIQU5HRVMgU0lOQ0UgTEFTVCBBQ1RJT04KICBodHRwczovL3Jldmll d3MuZnJlZWJzZC5vcmcvRDIzNzg4L25ldy8KClJFVklTSU9OIERFVEFJTAogIGh0dHBzOi8vcmV2 aWV3cy5mcmVlYnNkLm9yZy9EMjM3ODgKCkFGRkVDVEVEIEZJTEVTCiAgc3lzL25ldGdyYXBoL25n X2tzb2NrZXQuYwoKRU1BSUwgUFJFRkVSRU5DRVMKICBodHRwczovL3Jldmlld3MuZnJlZWJzZC5v cmcvc2V0dGluZ3MvcGFuZWwvZW1haWxwcmVmZXJlbmNlcy8KClRvOiBuZWVsX25lZWxjLm9yZywg aHJzCkNjOiBocnMsIGltcCwgbHV0el9kb25uZXJoYWNrZS5kZSwgbWVsaWZhcm8sICNjb250cmli dXRvcl9yZXZpZXdzX2Jhc2UsIGZyZWVic2QtbmV0LWxpc3QsIG1tYWN5LCBrcHJhdmVlbi5sa21s X2dtYWlsLmNvbSwgbWFyY25hcmNfZ21haWwuY29tLCBzaW1vbnZlbGxhX2dtYWlsLmNvbSwgbm92 aWNlX3RlY2hpZS5jb20sIHRvbW1pLnBlcm5pbGFfaWtpLmZpCg== --b1_908bb35e1ef376946b9b58e228b670d7 Content-Type: text/x-patch; charset=utf-8; name="D23788.68730.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D23788.68730.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 fQorCisJCWlmIChzWypvZmZdID09ICdbJykgeworCQkJKCpvZmYpKys7CisJCQlwb3J0ID0gc3Ry dG91bChzICsgKm9mZiwgJmVwdHIsIDEwKTsKKwkJCWlmIChwb3J0ID4gMHhmZmZmIHx8IGVwdHIg PT0gcyArICpvZmYpCisJCQkJcmV0dXJuIChFSU5WQUwpOworCQkJc2luNi0+c2luNl9wb3J0ID0g aHRvbnMocG9ydCk7CisJCX0KKwkJYnJlYWs7CisJICAgIH0KKwogCWRlZmF1bHQ6CiAJCXJldHVy biAoRUlOVkFMKTsKIAl9CkBAIC0zNTYsOSArNDE0LDIwIEBACiAJCXJldHVybigwKTsKIAkgICAg fQogCi0jaWYgMAotCWNhc2UgUEZfSU5FVDY6CS8qIFhYWCBpbXBsZW1lbnQgdGhpcyBzb21lZGF5 ICovCi0jZW5kaWYKKwljYXNlIFBGX0lORVQ2OgorCSAgICB7CisJCWNvbnN0IHN0cnVjdCBzb2Nr YWRkcl9pbjYgKnNpbjYgPSAoY29uc3Qgc3RydWN0IHNvY2thZGRyX2luNiAqKXNhOworCQljaGFy IGFkZHJbSU5FVDZfQUREUlNUUkxFTl07CisJCQorCQlpbmV0X250b3AoQUZfSU5FVDYsICZzaW42 LT5zaW42X2FkZHIsIGFkZHIsIElORVQ2X0FERFJTVFJMRU4pOworCQlzbGVuICs9IHNucHJpbnRm KGNidWYsIGNidWZsZW4sICJpbmV0Ni9bJXNdIiwgYWRkcik7CisKKwkJaWYgKHNpbjYtPnNpbjZf cG9ydCAhPSAwKSB7CisJCQlzbGVuICs9IHNucHJpbnRmKGNidWYgKyBzdHJsZW4oY2J1ZiksCisJ CQkgICAgY2J1ZmxlbiAtIHN0cmxlbihjYnVmKSwgIjolZCIsCisJCQkgICAgKHVfaW50KW50b2hz KHNpbjYtPnNpbjZfcG9ydCkpOworCQl9CisJICAgIH0KIAogCWRlZmF1bHQ6CiAJCXJldHVybiAo Km5nX2tzb2NrZXRfZ2VuZXJpY19zb2NrYWRkcl90eXBlLnN1cGVydHlwZS0+dW5wYXJzZSkKCg== --b1_908bb35e1ef376946b9b58e228b670d7--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?908bb35e1ef376946b9b58e228b670d7>