Date: Wed, 26 Feb 2020 19:03:51 +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: <fb98b79466cc2c1743d1bafc53b3adc4@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_fb98b79466cc2c1743d1bafc53b3adc4 Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: base64 bmVlbF9uZWVsYy5vcmcgdXBkYXRlZCB0aGlzIHJldmlzaW9uIHRvIERpZmYgNjg4NTAuCm5lZWxf bmVlbGMub3JnIGVkaXRlZCB0aGUgc3VtbWFyeSBvZiB0aGlzIHJldmlzaW9uLgpuZWVsX25lZWxj Lm9yZyBhZGRlZCBhIGNvbW1lbnQuCkhlcmFsZCBhZGRlZCBhIHJldmlld2VyOiBtYW5wYWdlcy4K CgogIExldCdzIGluY2x1ZGUgYSBtYW4gcGFnZS4KClJFUE9TSVRPUlkKICByUyBGcmVlQlNEIHNy YyByZXBvc2l0b3J5CgpDSEFOR0VTIFNJTkNFIExBU1QgVVBEQVRFCiAgaHR0cHM6Ly9yZXZpZXdz LmZyZWVic2Qub3JnL0QyMzc4OD92cz02ODczMCZpZD02ODg1MAoKQ0hBTkdFUyBTSU5DRSBMQVNU IEFDVElPTgogIGh0dHBzOi8vcmV2aWV3cy5mcmVlYnNkLm9yZy9EMjM3ODgvbmV3LwoKUkVWSVNJ T04gREVUQUlMCiAgaHR0cHM6Ly9yZXZpZXdzLmZyZWVic2Qub3JnL0QyMzc4OAoKQUZGRUNURUQg RklMRVMKICBzaGFyZS9tYW4vbWFuNC9uZ19rc29ja2V0LjQKICBzeXMvbmV0Z3JhcGgvbmdfa3Nv Y2tldC5jCgpFTUFJTCBQUkVGRVJFTkNFUwogIGh0dHBzOi8vcmV2aWV3cy5mcmVlYnNkLm9yZy9z ZXR0aW5ncy9wYW5lbC9lbWFpbHByZWZlcmVuY2VzLwoKVG86IG5lZWxfbmVlbGMub3JnLCBocnMs ICNtYW5wYWdlcwpDYzogaHJzLCBpbXAsIGx1dHpfZG9ubmVyaGFja2UuZGUsIG1lbGlmYXJvLCAj Y29udHJpYnV0b3JfcmV2aWV3c19iYXNlLCBmcmVlYnNkLW5ldC1saXN0LCBtbWFjeSwga3ByYXZl ZW4ubGttbF9nbWFpbC5jb20sIG1hcmNuYXJjX2dtYWlsLmNvbSwgc2ltb252ZWxsYV9nbWFpbC5j b20sIG5vdmljZV90ZWNoaWUuY29tLCB0b21taS5wZXJuaWxhX2lraS5maQo= --b1_fb98b79466cc2c1743d1bafc53b3adc4 Content-Type: text/x-patch; charset=utf-8; name="D23788.68850.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D23788.68850.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+dW5wYXJzZSkKZGlm ZiAtLWdpdCBhL3NoYXJlL21hbi9tYW40L25nX2tzb2NrZXQuNCBiL3NoYXJlL21hbi9tYW40L25n X2tzb2NrZXQuNAotLS0gYS9zaGFyZS9tYW4vbWFuNC9uZ19rc29ja2V0LjQKKysrIGIvc2hhcmUv bWFuL21hbjQvbmdfa3NvY2tldC40CkBAIC0xODUsNyArMTg1LDggQEAKIGVxdWl2YWxlbnQgb2Yg dGhlIEMgc3RydWN0dXJlCiBpcyBhbiBhY2NlcHRhYmxlIGZvcm0uCiBGb3IgdGhlCi0uRHYgUEZf SU5FVAorLkR2IFBGX0lORVQgLAorLkR2IFBGX0lORVQ2CiBhbmQKIC5EdiBQRl9MT0NBTAogYWRk cmVzcyBmYW1pbGllcywgYSBtb3JlIGNvbnZlbmllbnQgZm9ybSBpcyBhbHNvIHVzZWQsIHdoaWNo IGlzCkBAIC0xOTMsOCArMTk0LDEyIEBACiBhZGRyZXNzLgogRm9yCiAuRHYgUEZfSU5FVCAsCi10 aGUgYWRkcmVzcyBpcyBhbiBJUCBhZGRyZXNzIGZvbGxvd2VkIGJ5IGFuIG9wdGlvbmFsIGNvbG9u IGFuZCBwb3J0IG51bWJlci4KK3RoZSBhZGRyZXNzIGlzIGFuIElQdjQgYWRkcmVzcyBmb2xsb3dl ZCBieSBhbiBvcHRpb25hbCBjb2xvbiBhbmQgcG9ydCBudW1iZXIuCiBGb3IKKy5EdiBQRl9JTkVU NiAsCit0aGUgYWRkcmVzcyBpcyBhbiBJUHY2IGFkZHJlc3MgcG9zc2libHkgZW5jbG9zZWQgaW4g c3F1YXJlIGJyYWNrZXRzIGZvbGxvd2VkCitieSBhbiBvcHRpb25hbCBjb2xvbiBhbmQgcG9ydCBu dW1iZXIuCitGb3IKIC5EdiBQRl9MT0NBTCAsCiB0aGUgYWRkcmVzcyBpcyB0aGUgcGF0aG5hbWUg YXMgYSBkb3VibHkgcXVvdGVkIHN0cmluZy4KIC5QcApAQCAtMjA0LDYgKzIwOSw4IEBACiBsb2Nh bC8iL3RtcC9mb28uc29ja2V0IgogLkl0IER2IFBGX0lORVQKIGluZXQvMTkyLjE2OC4xLjE6MTIz NAorLkl0IER2IFBGX0lORVQKK2luZXQ2L1syMDAxOjoxXToxMjM0CiAuSXQgT3RoZXIKIC5EdiAi XCZ7IGZhbWlseT0xNiBsZW49MTYgZGF0YT1bMHg3MCAweDAwIDB4MDEgMHgyM10gXCZ9IgogLkVs Cgo= --b1_fb98b79466cc2c1743d1bafc53b3adc4--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?fb98b79466cc2c1743d1bafc53b3adc4>