ะ ัะพะฝะพะฒะพะผ ะฟัะพัะตััะต slaacd, ะพัะฒะตัะฐััะตะผ ะฒ OpenBSD ะทะฐ ะฐะฒัะพะบะพะฝัะธะณััะฐัะธั ะฐะดัะตัะพะฒ IPv6 (IPv6 Stateless Address Autoconfiguration, RFC 4862), ะฒััะฒะปะตะฝะฐ ััะทะฒะธะผะพััั, ะฟัะธะฒะพะดััะฐั ะบ ะฟะตัะตะฟะพะปะฝะตะฝะธั ะฑััะตัะฐ ะฟัะธ ะฟะพะปััะตะฝะธะธ ัะฟะตัะธะฐะปัะฝะพ ะพัะพัะผะปะตะฝะฝะพะณะพ ะฐะฝะพะฝัะฐ ะผะฐัััััะธะทะฐัะพัะฐ IPv6 (RA, Router Advertisement).
ะะทะฝะฐัะฐะปัะฝะพ ััะฝะบัะธะพะฝะฐะปัะฝะพััั ะฐะฒัะพะฝะฐัััะพะนะบะธ ะฐะดัะตัะพะฒ IPv6 ะฑัะปะฐ ัะตะฐะปะธะทะพะฒะฐะฝะฐ ะฝะฐ ััะพะฒะฝะต ัะดัะฐ, ะฝะพ ะฝะฐัะธะฝะฐั ั OpenBSD 6.2 ะฑัะปะฐ ะฒัะฝะตัะตะฝะฐ ะฒ ะพัะดะตะปัะฝัะน ะฝะตะฟัะธะฒะธะปะตะณะธัะพะฒะฐะฝะฝัะน ะฟัะพัะตัั slaacd. ะฃะบะฐะทะฐะฝะฝัะน ะฟัะพัะตัั ะพัะฒะตัะฐะตั ะทะฐ ะพัะฟัะฐะฒะบั ัะพะพะฑัะตะฝะธะน RS (Router Solicitation) ะธ ัะฐะทะฑะพัะฐ ะพัะฒะตัะพะฒ RA (Router Advertisement) ั ะธะฝัะพัะผะฐัะธะตะน ะพ ะผะฐัััััะธะทะฐัะพัะต ะธ ะฟะฐัะฐะผะตััะฐั ัะตัะตะฒะพะณะพ ะฟะพะดะบะปััะตะฝะธั.
ะ ัะตะฒัะฐะปะต ะฒ slaacd ะฑัะปะฐ ะธัะฟัะฐะฒะปะตะฝะฐ ะพัะธะฑะบะฐ, ะฟัะธะฒะพะดััะฐั ะบ ะฐะฒะฐัะธะนะฝะพะผั ะทะฐะฒะตััะตะฝะธั ะฒ ัะปััะฐะต ัะบะฐะทะฐะฝะธั 7 ัะตัะฒะตัะพะฒ ะฒ ัะฟะธัะบะต RDNSS (Recursive DNS Servers). ะะพะดะพะฑะฝะฐั ะพะฟะปะพัะฝะพััั ะฟัะธะฒะปะตะบะปะฐ ะฒะฝะธะผะฐะฝะธะต ะฝะตะทะฐะฒะธัะธะผัั ะธััะปะตะดะพะฒะฐัะตะปะตะน, ะบะพัะพััะต ะฟะพะฟััะฐะปะธัั ะธะทััะธัั ะบะพะด slaacd ะฝะฐ ะฟัะตะดะผะตั ะดััะณะธั ะพัะธะฑะพะบ, ะฒะพะทะฝะธะบะฐััะธั ะฟัะธ ัะฐะทะฑะพัะต ะฟะพะปะตะน ะฒ ัะพะพะฑัะตะฝะธัั RA. ะะฝะฐะปะธะท ะฟะพะบะฐะทะฐะป, ััะพ ะฒ ะบะพะดะต ะธะผะตะตััั ะตัั ะพะดะฝะฐ ะฟัะพะฑะปะตะผะฐ, ะฟัะพัะฒะปัััะฐััั ะฟัะธ ะพะฑัะฐะฑะพัะบะต ะฟะพะปั DNSSL (DNS Search List), ะฒะบะปััะฐััะตะณะพ ัะฟะธัะบะพะฒ ะดะพะผะตะฝะฝัั ะธะผัะฝ ะธ ัะฐะฑะปะพะฝะพะฒ ั ะพััะพะฒ ะดะปั DNS.
ะะฐะถะดะพะต ะธะผั ะฒ ัะฟะธัะบะต DNSSL ะบะพะดะธััะตััั ั ะธัะฟะพะปัะทะพะฒะฐะฝะธะตะผ ัะฐะทะดะตะปะธัะตะปั ั ะฝัะปะตะฒัะผ ะบะพะดะพะผ ะธ ะฟัะพะผะตะถััะพัะฝัั ะพะดะฝะพะฑะฐะนัะพะฒัั ะผะตัะพะบ, ะพะฟัะตะดะตะปัััะธั ัะฐะทะผะตั ัะปะตะดะพะผ ะธะดััะธั ะดะฐะฝะฝัั . ะฃัะทะฒะธะผะพััั ะฒัะทะฒะฐะฝะฐ ัะตะผ, ััะพ ะฒ ะบะพะดะต ัะฐะทะฑะพัะฐ ัะฟะธัะบะฐ ะฟะพะปะต ั ัะฐะทะผะตัะพะผ ะบะพะฟะธััะตััั ะฒ ะฟะตัะตะผะตะฝะฝัั ัะพ ะทะฝะฐะบะพะฒัะผ ัะธะฟะพะผ integer (ยซlen = data[pos]ยป). ะกะพะพัะฒะตัััะฒะตะฝะฝะพ, ะฒ ัะปััะฐะต ัะบะฐะทะฐะฝะธั ะฒ ะฟะพะปะต ะทะฝะฐัะตะฝะธั ั ะฒัััะฐะฒะปะตะฝะฝัะผ ััะฐััะธะผ ะฑะธัะพะผ, ััะพ ะทะฝะฐัะตะฝะธะต ะฑัะดะตั ะฒะพัะฟัะธะฝััะพ ะฒ ััะปะพะฒะฝะพะผ ะพะฟะตัะฐัะพัะต ะบะฐะบ ะพััะธัะฐัะตะปัะฝะพะต ัะธัะปะพ ะธ ะฟัะพะฒะตัะบะฐ ะฝะฐ ะผะฐะบัะธะผะฐะปัะฝัะน ะดะพะฟัััะธะผัะน ัะฐะทะผะตั (ยซif (len > 63 || len + pos + 1 > datalen) {ยซ) ะฝะต ััะฐะฑะพัะฐะตั, ััะพ ะฟัะธะฒะตะดัั ะบ ะฒัะฟะพะปะฝะตะฝะธั ะฒัะทะพะฒะฐ memcpy ั ะฟะฐัะฐะผะตััะพะผ, ัะฐะทะผะตั ะบะพะฟะธััะตะผัั ะดะฐะฝะฝัั ะฟัะธ ะบะพัะพัะพะผ ะฟัะตะฒััะฐะตั ัะฐะทะผะตั ะฑััะตัะฐ.
เด เดตเดฒเดเดฌเด: opennet.ru