It seem as BIND, or parts of the bind package is using functions (SO_BSDCOMPAT) that are marked as obsolete in the 2.6.x kernels. Reproducible: Always Steps to Reproduce: 1. 2. 3. Actual Results: A kernel warning. Might be severe with future kernels if this fenction is removed completely?
This also applies to bind-tools-9.2.3-r1 (I have not tested with earler versions).
Have you consulted with the fine folks at ISC? Try http://www.isc.org/sw/bind/ and find the link to the mailing lists, and/or contact information. Mark Andrews, Paul Vixie or many others will certainly be interested in your input.
(Used old resolution method. Changed to upstream issue.)
^^
I have registered and submitted to their mailing list bind9-users@isc.org and am waiting for any response. In their mailing list archive I found what would be some form of workaround though I did not find any of the referenses it needed in my system: http://marc.theaimsgroup.com/?l=bind9-users&m=107704346530456&w=2
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. ~~~~~~~~~~~~~~~~~~~~
There should be a gentoo patch for bind-tools to prevent the syslog from being spamed by this nagging message, isn't it ?