Ma ke kaʻina hana hope slaacd, nona ke kuleana no ka IPv6 address autoconfiguration (IPv6 Stateless Address Autoconfiguration, RFC 4862) ma OpenBSD, ua ʻike ʻia kahi nāwaliwali e alakaʻi ai i ka hoʻonui ʻana i ka wā e loaʻa ai kahi hoʻolaha hoʻolaha IPv6 i hoʻolālā ʻia (RA, Router Advertisement) .
I ka hoʻomaka ʻana, ua hoʻokō ʻia ka hana autoconfiguration IPv6 address ma ka pae kernel, akā hoʻomaka me OpenBSD 6.2 ua neʻe ʻia i kahi kaʻina slaacd pono ʻole. ʻO kēia kaʻina hana ke kuleana no ka hoʻouna ʻana i nā memo RS (Router Solicitation) a me ka hoʻopau ʻana i nā pane RA (Router Advertisement) me ka ʻike e pili ana i ke alalai a me nā ʻāpana pili pūnaewele.
I Pepeluali, ua hoʻoponopono ʻo slaacd i kahi pōpoki i hoʻopōʻino ai inā 7 mau kikowaena i kuhikuhi ʻia ma ka papa inoa RDNSS (Recursive DNS Servers). Ua hoʻohuli ʻia kēia mākaʻikaʻi i ka manaʻo o nā mea noiʻi kūʻokoʻa i hoʻāʻo e nānā i ke code slaacd no nā hewa ʻē aʻe e kū mai ana i ka wā e hoʻokaʻawale ai i nā kahua ma nā memo RA. Ua hōʻike ʻia ka hōʻike ʻana aia kekahi pilikia ʻē aʻe i ke code, e hōʻike ana iā ia iho i ka wā e hoʻoponopono ai i ka kahua DNSSL (DNS Search List), kahi i loaʻa nā papa inoa o nā inoa kikowaena a me nā hoʻonohonoho hoʻokipa no DNS.
Hoʻopili ʻia kēlā me kēia inoa ma ka papa inoa DNSSL me ka hoʻohana ʻana i ka delimiter null a me ka intervening one-byte tags e hoʻoholo ai i ka nui o ka ʻikepili e pili ana. Hoʻokumu ʻia ka nāwaliwali ma ka ʻoiaʻiʻo ma ka papa inoa parsing code, kope ʻia kahi kahua me ka nui i loko o kahi ʻano me kahi ʻano integer pūlima ("len = data[pos]"). No laila, inā i kuhikuhi ʻia kahi waiwai ma ke kahua me ka hoʻonohonoho bit nui loa, e ʻike ʻia kēia waiwai i ka mea hoʻohana kūlana ma ke ʻano he helu maikaʻi ʻole a me ka helu no ka nui i ʻae ʻia ("inā (len > 63 || len + pos + 1 > datalen) {“) ʻaʻole e hana, e alakaʻi ana i kahi kelepona i memcpy me kahi ʻāpana nona ka nui o ka ʻikepili i kope ʻia ma mua o ka nui buffer.
Source: opennet.ru