Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 48610 - Enable the IDN support in BIND so we can use international characters in domain names.
Summary: Enable the IDN support in BIND so we can use international characters in doma...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Server (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: BIND Maintainers (DISABLED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-04-21 14:34 UTC by Forza
Modified: 2005-03-25 14:29 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Forza 2004-04-21 14:34:47 UTC
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:
Comment 1 Stewart (RETIRED) gentoo-dev 2004-04-24 23:34:32 UTC
(Used old resolution method. Changed to upstream issue.)
Comment 2 Stewart (RETIRED) gentoo-dev 2004-04-24 23:35:53 UTC
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?
Comment 3 Forza 2004-04-25 09:50:46 UTC
Well. The thing that brought my attention to this was when I wanted to use a domain named with Swedish characters (
Comment 4 Forza 2004-04-25 09:50:46 UTC
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
Comment 5 Forza 2004-04-25 10:23:51 UTC
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.

~~~~~~~~~~~~~~~~~~~~
Comment 6 Forza 2004-04-25 10:24:50 UTC
Ehm. I submitted to wrong bug =( Sorry about this. I cannot seem to remove my own comments either (can I?).
Comment 7 Konstantin Arkhipov (RETIRED) gentoo-dev 2005-03-25 14:29:11 UTC
idn support now available in 9.2.5
thanks everyone