It would be a great thing if the IDN support in BIND could be enabled through the portage ebuilds. The BIND-9.2.3 source code already includes the IDN support in ./contrib/idn so it should only be a matter of applying the correct options in the ebuild? Reproducible: Always Steps to Reproduce:
(Used old resolution method. Changed to upstream issue.)
Sorry; wrong bug. I'll definately investigate this, along with the possibility of a USE flag to optionalize this functionality. Can you breifly describe your (specific) needs with IDN support?
Well. The thing that brought my attention to this was when I wanted to use a domain named with Swedish characters (
Well. The thing that brought my attention to this was when I wanted to use a domain named with Swedish characters (å, ä, ö) in it. From what I can understand the .nu domains is using Unicode support that enables almost all browsers to use international characters (even Internet Explorer!). This would be the best way IMO but I suppose it largely is up to the toplevel to support it? Other top domains, like .se is using some form of other coding ontop of the normal DNS system. They refer to use libidn or something similar. They have a list here: http://www.nic-se.se/english/teknik/programvara_idn.shtml?lang=en
I got an aswer from the mailing list. I will post most of it here. Unfortunately I am only a user with not so much experience in patching/making patches etc so I cannot provide any info about if this will work. : ~~~~~~~~~~~~~~~~~~~~ it turns out SO_BSDCOMPAT is an obsolete define in later kernels, and this is an error generated from the bind process. I will suggest better to get the latest bind 9.2.3 code , fix the error, and rebuild. After unpacking, the code to change will be found in /lib/isc/unix/socket.c First, locate this (around line 1297): #if defined(USE_CMSG) || defined(SO_BSDCOMPAT) int on = 1; and change to this (i.e. remove the reference to SO_BSDCOMPAT) #if defined(USE_CMSG) int on = 1; And then locate the subroutine (around line 1384): #ifdef SO_BSDCOMPAT if (setsockopt(sock->fd, SOL_SOCKET, SO_BSDCOMPAT, (void *)&on, sizeof on) < 0) { isc__strerror(errno, strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, "setsockopt(%d, SO_BSDCOMPAT) %s: %s", sock->fd, isc_msgcat_get(isc_msgcat, ISC_MSGSET_GENERAL, ISC_MSG_FAILED, "failed"), strbuf); /* Press on... /* } #endif and comment out all of that routine completely: /* Nick #ifdef SO_BSDCOMPAT if (setsockopt(sock->fd, SOL_SOCKET, SO_BSDCOMPAT, (void *)&on, sizeof on) < 0) { isc__strerror(errno, strbuf, sizeof(strbuf)); UNEXPECTED_ERROR(__FILE__, __LINE__, "setsockopt(%d, SO_BSDCOMPAT) %s: %s", sock->fd, isc_msgcat_get(isc_msgcat, ISC_MSGSET_GENERAL, ISC_MSG_FAILED, "failed"), strbuf); Press on... } #endif End Nick */ Build, install... and the warnings stop. ~~~~~~~~~~~~~~~~~~~~
Ehm. I submitted to wrong bug =( Sorry about this. I cannot seem to remove my own comments either (can I?).
idn support now available in 9.2.5 thanks everyone