From owner-freebsd-net@freebsd.org Sat Feb 22 04:27:29 2020 Return-Path: Delivered-To: freebsd-net@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3F8B724F864 for ; Sat, 22 Feb 2020 04:27:29 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48Pb010dj1z4G24; Sat, 22 Feb 2020 04:27:29 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: from reviews.nyi.freebsd.org (reviews.nyi.freebsd.org [IPv6:2610:1c1:1:607c::16:b]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id E39BA1DE4F; Sat, 22 Feb 2020 04:27:28 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by reviews.nyi.freebsd.org (Postfix, from userid 1346) id E2EC834CDF6; Sat, 22 Feb 2020 04:27:28 +0000 (UTC) Date: Sat, 22 Feb 2020 04:27:28 +0000 To: Phabricator From: "neel_neelc.org (Neel Chauhan)" Cc: freebsd-net@freebsd.org Reply-to: "neel_neelc.org (Neel Chauhan)" Subject: [Differential] D23788: DRAFT: ng_ksocket: IPv6 address parsing and unparsing Message-ID: <7775aaad9e65ee84c7493f6dc4b3a9c8@localhost.localdomain> X-Priority: 3 X-Phabricator-Sent-This-Message: Yes X-Mail-Transport-Agent: MetaMTA X-Auto-Response-Suppress: All X-Phabricator-Mail-Tags: , X-Herald-Rules: <28>, <125>, <128>, <67> X-Phabricator-Projects: <#network> X-Phabricator-To: X-Phabricator-Cc: X-Phabricator-Cc: X-Phabricator-Cc: X-Phabricator-Cc: X-Phabricator-Cc: X-Phabricator-Cc: X-Phabricator-Cc: X-Phabricator-Cc: X-Phabricator-Cc: X-Phabricator-Cc: X-Phabricator-Cc: Precedence: bulk Thread-Topic: PHID-DREV-isgti776xdsdvju2ufh3 X-Phabricator-Mail-ID: 1833258 X-Phabricator-Send-Attempt: 5uycvr6njjbztbd3 In-Reply-To: References: Thread-Index: MWQ0ZDVhYmNlZTMxYjNlZWMyN2FmZTk4YjlhIF5QrbA= X-Phabricator-Stamps: actor(@neel_neelc.org) application(Differential) author(@neel_neelc.org) herald(H28) herald(H67) herald(H125) herald(H128) monogram(D23788) object-type(DREV) phid(PHID-DREV-isgti776xdsdvju2ufh3) revision-repository(rS) revision-status(needs-review) subscriber(#contributor_reviews_base) subscriber(@freebsd-net-list) subscriber(@imp) subscriber(@lutz_donnerhacke.de) subscriber(@melifaro) tag(#network) via(web) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_7775aaad9e65ee84c7493f6dc4b3a9c8" X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.29 List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Feb 2020 04:27:29 -0000 --b1_7775aaad9e65ee84c7493f6dc4b3a9c8 Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: base64 bmVlbF9uZWVsYy5vcmcgdXBkYXRlZCB0aGlzIHJldmlzaW9uIHRvIERpZmYgNjg2NjIuCm5lZWxf bmVlbGMub3JnIGFkZGVkIGEgY29tbWVudC4KCgogIFJlbW92ZSB0ZXN0aW5nIHByaW50ZnMuCgpS RVBPU0lUT1JZCiAgclMgRnJlZUJTRCBzcmMgcmVwb3NpdG9yeQoKQ0hBTkdFUyBTSU5DRSBMQVNU IFVQREFURQogIGh0dHBzOi8vcmV2aWV3cy5mcmVlYnNkLm9yZy9EMjM3ODg/dnM9Njg2NjEmaWQ9 Njg2NjIKCkNIQU5HRVMgU0lOQ0UgTEFTVCBBQ1RJT04KICBodHRwczovL3Jldmlld3MuZnJlZWJz ZC5vcmcvRDIzNzg4L25ldy8KClJFVklTSU9OIERFVEFJTAogIGh0dHBzOi8vcmV2aWV3cy5mcmVl YnNkLm9yZy9EMjM3ODgKCkFGRkVDVEVEIEZJTEVTCiAgc3lzL25ldGdyYXBoL25nX2tzb2NrZXQu YwoKRU1BSUwgUFJFRkVSRU5DRVMKICBodHRwczovL3Jldmlld3MuZnJlZWJzZC5vcmcvc2V0dGlu Z3MvcGFuZWwvZW1haWxwcmVmZXJlbmNlcy8KClRvOiBuZWVsX25lZWxjLm9yZwpDYzogaW1wLCBs dXR6X2Rvbm5lcmhhY2tlLmRlLCBtZWxpZmFybywgI2NvbnRyaWJ1dG9yX3Jldmlld3NfYmFzZSwg ZnJlZWJzZC1uZXQtbGlzdCwgbW1hY3ksIGtwcmF2ZWVuLmxrbWxfZ21haWwuY29tLCBtYXJjbmFy Y19nbWFpbC5jb20sIHNpbW9udmVsbGFfZ21haWwuY29tLCBub3ZpY2VfdGVjaGllLmNvbSwgdG9t bWkucGVybmlsYV9pa2kuZmkK --b1_7775aaad9e65ee84c7493f6dc4b3a9c8 Content-Type: text/x-patch; charset=utf-8; name="D23788.68662.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D23788.68662.patch" ZGlmZiAtLWdpdCBhL3N5cy9uZXRncmFwaC9uZ19rc29ja2V0LmMgYi9zeXMvbmV0Z3JhcGgvbmdf a3NvY2tldC5jCi0tLSBhL3N5cy9uZXRncmFwaC9uZ19rc29ja2V0LmMKKysrIGIvc3lzL25ldGdy YXBoL25nX2tzb2NrZXQuYwpAQCAtMTQ5LDYgKzE0OSwxOSBAQAogCXsgImVuY2FwIiwJSVBQUk9U T19FTkNBUCwJCVBGX0lORVQJCX0sCiAJeyAiZGl2ZXJ0IiwJSVBQUk9UT19ESVZFUlQsCQlQRl9J TkVUCQl9LAogCXsgInBpbSIsCUlQUFJPVE9fUElNLAkJUEZfSU5FVAkJfSwKKwl7ICJpcDYiLAlJ UFBST1RPX0lQVjYsCQlQRl9JTkVUNgl9LAorCXsgInJhdzYiLAlJUFBST1RPX1JBVywJCVBGX0lO RVQ2CX0sCisJeyAiaWNtcDYiLAlJUFBST1RPX0lDTVBWNiwJCVBGX0lORVQ2CX0sCisJeyAiaWdt cDYiLAlJUFBST1RPX0lHTVAsCQlQRl9JTkVUNgl9LAorCXsgInRjcDYiLAlJUFBST1RPX1RDUCwJ CVBGX0lORVQ2CX0sCisJeyAidWRwNiIsCUlQUFJPVE9fVURQLAkJUEZfSU5FVDYJfSwKKwl7ICJn cmU2IiwJSVBQUk9UT19HUkUsCQlQRl9JTkVUNgl9LAorCXsgImVzcDYiLAlJUFBST1RPX0VTUCwJ CVBGX0lORVQ2CX0sCisJeyAiYWg2IiwJSVBQUk9UT19BSCwJCVBGX0lORVQ2CX0sCisJeyAic3dp cGU2IiwJSVBQUk9UT19TV0lQRSwJCVBGX0lORVQ2CX0sCisJeyAiZW5jYXA2IiwJSVBQUk9UT19F TkNBUCwJCVBGX0lORVQ2CX0sCisJeyAiZGl2ZXJ0NiIsCUlQUFJPVE9fRElWRVJULAkJUEZfSU5F VDYJfSwKKwl7ICJwaW02IiwJSVBQUk9UT19QSU0sCQlQRl9JTkVUNgl9LAogCXsgTlVMTCwJCS0x CQkJCQl9LAogfTsKIApAQCAtMjk0LDEwICszMDcsNDQgQEAKIAkJYnJlYWs7CiAJICAgIH0KIAot I2lmIDAKLQljYXNlIFBGX0lORVQ2OgkvKiBYWFggaW1wbGVtZW50IHRoaXMgc29tZWRheSAqLwot I2VuZGlmCisJY2FzZSBQRl9JTkVUNjoKKwkgICAgeworCQlzdHJ1Y3Qgc29ja2FkZHJfaW42ICpj b25zdCBzaW42ID0gKHN0cnVjdCBzb2NrYWRkcl9pbjYgKilzYTsKKwkJaW50IGkgPSAwOwogCisJ CXNpbjYtPnNpbjZfcG9ydCA9IDA7CisJCWlmIChzWypvZmZdID09ICdbJykKKwkJCSgqb2ZmKSsr OworCisJCWZvciAoaSA9IDA7IGkgPCA4OyBpKyspIHsKKwkJCXVfbG9uZyB2YWw7CisJCQljaGFy ICplcHRyOworCisJCQl2YWwgPSBzdHJ0b3VsKHMgKyAqb2ZmLCAmZXB0ciwgMTYpOworCQkJaWYg KHZhbCA+IDB4ZmZmZiB8fCBlcHRyID09IHMgKyAqb2ZmKQorCQkJCXJldHVybiAoRUlOVkFMKTsK KwkJCSpvZmYgKz0gKGVwdHIgLSAocyArICpvZmYpKTsKKwkJIAlzaW42LT5zaW42X2FkZHIuczZf YWRkcjE2W2ldID0gaHRvbnModmFsKTsKKwkJIAkvL3NpbjYtPnNpbjZfYWRkci5fX3U2X2FkZHIu X191Nl9hZGRyMTZbaV0gPSBodG9ucyh2YWwpOworCQkJaWYgKGkgPCA3KSB7CisJCQkJaWYgKHNb Km9mZl0gIT0gJzonKQorCQkJCQlyZXR1cm4gKEVJTlZBTCk7CisJCQkJKCpvZmYpKys7CisJCQl9 IGVsc2UgaWYgKHNbKm9mZl0gPT0gJ10nKSB7CisJCQkJKCpvZmYpKys7CisJCQkJaWYgKHNbKm9m Zl0gPT0gJzonKSB7CisJCQkJCSgqb2ZmKSsrOworCQkJCQl2YWwgPSBzdHJ0b3VsKHMgKyAqb2Zm LCAmZXB0ciwgMTApOworCQkJCQlpZiAodmFsID4gMHhmZmZmIHx8IGVwdHIgPT0gcyArICpvZmYp CisJCQkJCQlyZXR1cm4gKEVJTlZBTCk7CisJCQkJCSpvZmYgKz0gKGVwdHIgLSAocyArICpvZmYp KTsKKwkJCQkJc2luNi0+c2luNl9wb3J0ID0gaHRvbnModmFsKTsKKwkJCQl9CisJCQl9CisJCX0K KwkJYnJlYWs7CisJICAgIH0KKwogCWRlZmF1bHQ6CiAJCXJldHVybiAoRUlOVkFMKTsKIAl9CkBA IC0zNTYsOSArNDAzLDI5IEBACiAJCXJldHVybigwKTsKIAkgICAgfQogCi0jaWYgMAotCWNhc2Ug UEZfSU5FVDY6CS8qIFhYWCBpbXBsZW1lbnQgdGhpcyBzb21lZGF5ICovCi0jZW5kaWYKKwljYXNl IFBGX0lORVQ2OgorCSAgICB7CisJCWNvbnN0IHN0cnVjdCBzb2NrYWRkcl9pbjYgKnNpbjYgPSAo Y29uc3Qgc3RydWN0IHNvY2thZGRyX2luNiAqKXNhOworCisJCXNsZW4gKz0gc25wcmludGYoY2J1 ZiwgY2J1ZmxlbiwgImluZXQ2L1sldToldToldToldToldToldToldToldV0iLAorCQkgICgoY29u c3QgdV9pbnQgKikmc2luNi0+c2luNl9hZGRyLl9fdTZfYWRkci5fX3U2X2FkZHIxNilbMF0sCisJ CSAgKChjb25zdCB1X2ludCAqKSZzaW42LT5zaW42X2FkZHIuX191Nl9hZGRyLl9fdTZfYWRkcjE2 KVsxXSwKKwkJICAoKGNvbnN0IHVfaW50ICopJnNpbjYtPnNpbjZfYWRkci5fX3U2X2FkZHIuX191 Nl9hZGRyMTYpWzJdLAorCQkgICgoY29uc3QgdV9pbnQgKikmc2luNi0+c2luNl9hZGRyLl9fdTZf YWRkci5fX3U2X2FkZHIxNilbM10sCisJCSAgKChjb25zdCB1X2ludCAqKSZzaW42LT5zaW42X2Fk ZHIuX191Nl9hZGRyLl9fdTZfYWRkcjE2KVs0XSwKKwkJICAoKGNvbnN0IHVfaW50ICopJnNpbjYt PnNpbjZfYWRkci5fX3U2X2FkZHIuX191Nl9hZGRyMTYpWzVdLAorCQkgICgoY29uc3QgdV9pbnQg Kikmc2luNi0+c2luNl9hZGRyLl9fdTZfYWRkci5fX3U2X2FkZHIxNilbNl0sCisJCSAgKChjb25z dCB1X2ludCAqKSZzaW42LT5zaW42X2FkZHIuX191Nl9hZGRyLl9fdTZfYWRkcjE2KVs3XSk7CisJ CWlmIChzaW42LT5zaW42X3BvcnQgIT0gMCkgeworCQkJc2xlbiArPSBzbnByaW50ZihjYnVmICsg c3RybGVuKGNidWYpLAorCQkJICAgIGNidWZsZW4gLSBzdHJsZW4oY2J1ZiksICI6JWQiLAorCQkJ ICAgICh1X2ludCludG9ocyhzaW42LT5zaW42X3BvcnQpKTsKKwkJfQorCQlpZiAoc2xlbiA+PSBj YnVmbGVuKQorCQkJcmV0dXJuIChFUkFOR0UpOworCQkqb2ZmICs9IHNpemVvZigqc2luNik7CisJ CXJldHVybigwKTsKKwkgICAgfQogCiAJZGVmYXVsdDoKIAkJcmV0dXJuICgqbmdfa3NvY2tldF9n ZW5lcmljX3NvY2thZGRyX3R5cGUuc3VwZXJ0eXBlLT51bnBhcnNlKQoK --b1_7775aaad9e65ee84c7493f6dc4b3a9c8--