From owner-freebsd-net@freebsd.org Mon Feb 24 00:28:52 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 80A8424D5C6 for ; Mon, 24 Feb 2020 00:28:52 +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 48Qjbm1Ldfz45dJ; Mon, 24 Feb 2020 00:28:52 +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 AF00E1CE97; Mon, 24 Feb 2020 00:28:51 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by reviews.nyi.freebsd.org (Postfix, from userid 1346) id AE5E43683B9; Mon, 24 Feb 2020 00:28:51 +0000 (UTC) Date: Mon, 24 Feb 2020 00:28:51 +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: <7f315e2e02d30d21a3a41fe18ec9a959@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-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: X-Phabricator-Cc: Precedence: bulk Thread-Topic: PHID-DREV-isgti776xdsdvju2ufh3 X-Phabricator-Mail-ID: 1835362 X-Phabricator-Send-Attempt: h7mtelj7qgagihda In-Reply-To: References: Thread-Index: MWQ0ZDVhYmNlZTMxYjNlZWMyN2FmZTk4YjlhIF5TGMM= 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) reviewer(@hrs) revision-repository(rS) revision-status(needs-review) subscriber(#contributor_reviews_base) subscriber(@freebsd-net-list) subscriber(@hrs) subscriber(@imp) subscriber(@lutz_donnerhacke.de) subscriber(@melifaro) tag(#network) via(web) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_7f315e2e02d30d21a3a41fe18ec9a959" 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: Mon, 24 Feb 2020 00:28:52 -0000 --b1_7f315e2e02d30d21a3a41fe18ec9a959 Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: base64 bmVlbF9uZWVsYy5vcmcgdXBkYXRlZCB0aGlzIHJldmlzaW9uIHRvIERpZmYgNjg3MjkuCm5lZWxf bmVlbGMub3JnIGVkaXRlZCB0aGUgc3VtbWFyeSBvZiB0aGlzIHJldmlzaW9uLgpuZWVsX25lZWxj Lm9yZyBlZGl0ZWQgdGhlIHRlc3QgcGxhbiBmb3IgdGhpcyByZXZpc2lvbi4KbmVlbF9uZWVsYy5v cmcgYWRkZWQgYSBjb21tZW50LgoKCiAgSGVyZSwgSSB1c2UgaW5ldF9wdG9uIGFuZCBpbmV0X250 b3AuIEkgZGlkbid0IGtub3cgdGhpcyB3YXMgcG9zc2libGUgaW4gdGhlIGtlcm5lbCwgc28gdGhh dCdzIHdoeSB0aGUgZmlyc3QgcmV2aXNpb24gbGFja2VkIHRoaXMuCiAgCiAgSSBzdGlsbCBnZXQg Im5nY3RsOiBzZW5kIG1zZzogSW52YWxpZCBhcmd1bWVudCIgZXJyb3JzIHdpdGggdGhlIGNvbW1h bmRzIGluIHRoZSBUZXN0IFBsYW4uIEFtIEkgZG9pbmcgYW55dGhpbmcgd3Jvbmc/CgpSRVBPU0lU T1JZCiAgclMgRnJlZUJTRCBzcmMgcmVwb3NpdG9yeQoKQ0hBTkdFUyBTSU5DRSBMQVNUIFVQREFU RQogIGh0dHBzOi8vcmV2aWV3cy5mcmVlYnNkLm9yZy9EMjM3ODg/dnM9Njg2NjImaWQ9Njg3MjkK CkNIQU5HRVMgU0lOQ0UgTEFTVCBBQ1RJT04KICBodHRwczovL3Jldmlld3MuZnJlZWJzZC5vcmcv RDIzNzg4L25ldy8KClJFVklTSU9OIERFVEFJTAogIGh0dHBzOi8vcmV2aWV3cy5mcmVlYnNkLm9y Zy9EMjM3ODgKCkFGRkVDVEVEIEZJTEVTCiAgc3lzL25ldGdyYXBoL25nX2tzb2NrZXQuYwoKRU1B SUwgUFJFRkVSRU5DRVMKICBodHRwczovL3Jldmlld3MuZnJlZWJzZC5vcmcvc2V0dGluZ3MvcGFu ZWwvZW1haWxwcmVmZXJlbmNlcy8KClRvOiBuZWVsX25lZWxjLm9yZywgaHJzCkNjOiBocnMsIGlt cCwgbHV0el9kb25uZXJoYWNrZS5kZSwgbWVsaWZhcm8sICNjb250cmlidXRvcl9yZXZpZXdzX2Jh c2UsIGZyZWVic2QtbmV0LWxpc3QsIG1tYWN5LCBrcHJhdmVlbi5sa21sX2dtYWlsLmNvbSwgbWFy Y25hcmNfZ21haWwuY29tLCBzaW1vbnZlbGxhX2dtYWlsLmNvbSwgbm92aWNlX3RlY2hpZS5jb20s IHRvbW1pLnBlcm5pbGFfaWtpLmZpCg== --b1_7f315e2e02d30d21a3a41fe18ec9a959 Content-Type: text/x-patch; charset=utf-8; name="D23788.68729.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D23788.68729.patch" ZGlmZiAtLWdpdCBhL3N5cy9uZXRncmFwaC9uZ19rc29ja2V0LmMgYi9zeXMvbmV0Z3JhcGgvbmdf a3NvY2tldC5jCi0tLSBhL3N5cy9uZXRncmFwaC9uZ19rc29ja2V0LmMKKysrIGIvc3lzL25ldGdy YXBoL25nX2tzb2NrZXQuYwpAQCAtMTQ5LDYgKzE0OSwxOSBAQAogCXsgImVuY2FwIiwJSVBQUk9U T19FTkNBUCwJCVBGX0lORVQJCX0sCiAJeyAiZGl2ZXJ0IiwJSVBQUk9UT19ESVZFUlQsCQlQRl9J TkVUCQl9LAogCXsgInBpbSIsCUlQUFJPVE9fUElNLAkJUEZfSU5FVAkJfSwKKwl7ICJpcDYiLAlJ UFBST1RPX0lQVjYsCQlQRl9JTkVUNgl9LAorCXsgInJhdzYiLAlJUFBST1RPX1JBVywJCVBGX0lO RVQ2CX0sCisJeyAiaWNtcDYiLAlJUFBST1RPX0lDTVBWNiwJCVBGX0lORVQ2CX0sCisJeyAiaWdt cDYiLAlJUFBST1RPX0lHTVAsCQlQRl9JTkVUNgl9LAorCXsgInRjcDYiLAlJUFBST1RPX1RDUCwJ CVBGX0lORVQ2CX0sCisJeyAidWRwNiIsCUlQUFJPVE9fVURQLAkJUEZfSU5FVDYJfSwKKwl7ICJn cmU2IiwJSVBQUk9UT19HUkUsCQlQRl9JTkVUNgl9LAorCXsgImVzcDYiLAlJUFBST1RPX0VTUCwJ CVBGX0lORVQ2CX0sCisJeyAiYWg2IiwJSVBQUk9UT19BSCwJCVBGX0lORVQ2CX0sCisJeyAic3dp cGU2IiwJSVBQUk9UT19TV0lQRSwJCVBGX0lORVQ2CX0sCisJeyAiZW5jYXA2IiwJSVBQUk9UT19F TkNBUCwJCVBGX0lORVQ2CX0sCisJeyAiZGl2ZXJ0NiIsCUlQUFJPVE9fRElWRVJULAkJUEZfSU5F VDYJfSwKKwl7ICJwaW02IiwJSVBQUk9UT19QSU0sCQlQRl9JTkVUNgl9LAogCXsgTlVMTCwJCS0x CQkJCQl9LAogfTsKIApAQCAtMjk0LDEwICszMDcsNDIgQEAKIAkJYnJlYWs7CiAJICAgIH0KIAot I2lmIDAKLQljYXNlIFBGX0lORVQ2OgkvKiBYWFggaW1wbGVtZW50IHRoaXMgc29tZWRheSAqLwot I2VuZGlmCisJY2FzZSBQRl9JTkVUNjoKKwkgICAgeworCQlzdHJ1Y3Qgc29ja2FkZHJfaW42ICpj b25zdCBzaW42ID0gKHN0cnVjdCBzb2NrYWRkcl9pbjYgKilzYTsKKwkJY2hhciAqZXB0cjsKKwkJ Y2hhciBhZGRyW0lORVQ2X0FERFJTVFJMRU5dOworCQljaGFyIGludGlkWzE2XTsKKwkJdV9sb25n IHBvcnQ7CisJCWJvb2wgaGFzaW50aWQgPSB0cnVlOwogCisJCWlmIChzWypvZmZdID09ICdbJykK KwkJCSgqb2ZmKSsrOworCQlpZiAoKGVwdHIgPSBzdHJzdHIoJnNbKm9mZl0sICIlIikpID09IE5V TEwpIHsKKwkJCWhhc2ludGlkID0gZmFsc2U7CisJCQllcHRyID0gc3Ryc3RyKCZzWypvZmZdLCAi XSIpOworCQl9CisJCXNucHJpbnRmKGFkZHIsIGVwdHIgLSAocyArICpvZmYpLCAiJXMiLCAmc1sq b2ZmXSk7CisJCSpvZmYgKz0gKGVwdHIgLSAocyArICpvZmYpKTsKKwkJaWYgKCFpbmV0X3B0b24o QUZfSU5FVDYsIGFkZHIsICZzaW42LT5zaW42X2FkZHIpKQorCQkJcmV0dXJuIChFSU5WQUwpOwor CisJCWlmIChoYXNpbnRpZCkgeworCQkJZXB0ciA9IHN0cnN0cihOVUxMLCAiXSIpOworCQkJc25w cmludGYoaW50aWQsIGVwdHIgLSAocyArICpvZmYpLCAiJXMiLCAmc1sqb2ZmXSk7CisJCQkqb2Zm ICs9IChlcHRyIC0gKHMgKyAqb2ZmKSk7CisJCX0KKworCQlpZiAoc1sqb2ZmXSA9PSAnWycpIHsK KwkJCSgqb2ZmKSsrOworCQkJcG9ydCA9IHN0cnRvdWwocyArICpvZmYsICZlcHRyLCAxMCk7CisJ CQlpZiAocG9ydCA+IDB4ZmZmZiB8fCBlcHRyID09IHMgKyAqb2ZmKQorCQkJCXJldHVybiAoRUlO VkFMKTsKKwkJCXNpbjYtPnNpbjZfcG9ydCA9IGh0b25zKHBvcnQpOworCQl9CisJCWJyZWFrOwor CSAgICB9CisKIAlkZWZhdWx0OgogCQlyZXR1cm4gKEVJTlZBTCk7CiAJfQpAQCAtMzU2LDkgKzQw MSwyMCBAQAogCQlyZXR1cm4oMCk7CiAJICAgIH0KIAotI2lmIDAKLQljYXNlIFBGX0lORVQ2Ogkv KiBYWFggaW1wbGVtZW50IHRoaXMgc29tZWRheSAqLwotI2VuZGlmCisJY2FzZSBQRl9JTkVUNjoK KwkgICAgeworCQljb25zdCBzdHJ1Y3Qgc29ja2FkZHJfaW42ICpzaW42ID0gKGNvbnN0IHN0cnVj dCBzb2NrYWRkcl9pbjYgKilzYTsKKwkJY2hhciBhZGRyW0lORVQ2X0FERFJTVFJMRU5dOworCQkK KwkJaW5ldF9udG9wKEFGX0lORVQ2LCAmc2luNi0+c2luNl9hZGRyLCBhZGRyLCBJTkVUNl9BRERS U1RSTEVOKTsKKwkJc2xlbiArPSBzbnByaW50ZihjYnVmLCBjYnVmbGVuLCAiaW5ldDYvWyVzXSIs IGFkZHIpOworCisJCWlmIChzaW42LT5zaW42X3BvcnQgIT0gMCkgeworCQkJc2xlbiArPSBzbnBy aW50ZihjYnVmICsgc3RybGVuKGNidWYpLAorCQkJICAgIGNidWZsZW4gLSBzdHJsZW4oY2J1Ziks ICI6JWQiLAorCQkJICAgICh1X2ludCludG9ocyhzaW42LT5zaW42X3BvcnQpKTsKKwkJfQorCSAg ICB9CiAKIAlkZWZhdWx0OgogCQlyZXR1cm4gKCpuZ19rc29ja2V0X2dlbmVyaWNfc29ja2FkZHJf dHlwZS5zdXBlcnR5cGUtPnVucGFyc2UpCgo= --b1_7f315e2e02d30d21a3a41fe18ec9a959--