NSD 2.3.6 release

Paul Wouters paul at xelerance.com
Thu Oct 12 22:32:55 UTC 2006


On Wed, 11 Oct 2006, dr. W.C.A. Wijngaards wrote:

> The fixes we have been making to 3.0.x after testing and deployment have
> been backported to the 2.3.x branch. Thus the 2.3.6 release.

Thanks. I'm working on the Fedora package, and noticed on i686 with gcc 4.1.1:

	util.c: In function 'log_file':
	util.c:94: warning: format '%d' expects type 'int', but argument 4 has type 'time_t'

A cast to int like in nsd-3.0.0 fixed that.

	zlexer.c: In function 'yylex':
	zlexer.lex:268: warning: ignoring return value of 'fwrite', declared with attribute warn_unused_result

fwrite returns int, not void. I changed the ECHO macro and used a variable
to store results (which is never used).

	zonec.c: In function 'zparser_conv_time':
	zonec.c:130: warning: implicit declaration of function 'strptime'

This one I am confused about. The man page tells me I would just need to

#include <stdio.h>
#define _XOPEN_SOURCE /* glibc2 needs this */
#include <time.h>

The includes are already there, and the define makes no difference. I'm not
sure why we get this warning.

	zonec.c: In function 'zparser_conv_loc':
	zonec.c:664: warning: ignoring return value of 'strtol', declared with attribute warn_unused_result

I just stored the result in "i", as it was an unused variable at this point.
Probably not the right fix.

nsd-xfer.c: In function 'print_rr':
nsd-xfer.c:459: warning: ignoring return value of 'fwrite', declared with attribute warn_unused_result

Fix similar like before.

On x86_64, it seems the linker is trying some default /usr/lib (which is
wrong and should be /usr/lib64, as specified with --libdir)

gcc -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -m64 -mtune=nocona -L/usr/lib -o nsd answer.o axfr.o buffer.o dbaccess.o dname.o dns.o edns.o namedb.o netio.o nsd.o packet.o plugins.o query.o rbtree.o rdata.o region-allocator.o server.o tsig.o tsig-openssl.o util.o b64_pton.o b64_ntop.o -lwrap -lcrypto -lnsl -ldl
/usr/bin/ld: skipping incompatible /usr/lib/libnsl.so when searching for -lnsl
/usr/bin/ld: skipping incompatible /usr/lib/libnsl.a when searching for -lnsl
/usr/bin/ld: skipping incompatible /usr/lib/libdl.so when searching for -ldl
/usr/bin/ld: skipping incompatible /usr/lib/libdl.a when searching for -ldl
/usr/bin/ld: skipping incompatible /usr/lib/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/libc.a when searching for -lc

So something is going wrong with a hardcoded /usr/lib somewhere.

Paul



More information about the nsd-users mailing list