Discussion:
[Dnsmasq-discuss] Announce: dnsmasq-2.76
Simon Kelley
2016-05-18 15:44:39 UTC
Permalink
I've just released dnsmasq 2.76.

Download from http://thekelleys.org.uk/dnsmasq/dnsmasq-2.76.tar.gz

It's more than nine months since the last release, so get the new code
quick, there's lots to go at.


Cheers,

Simon.
Matthias Andree
2016-05-18 22:24:10 UTC
Permalink
Post by Simon Kelley
I've just released dnsmasq 2.76.
Download from http://thekelleys.org.uk/dnsmasq/dnsmasq-2.76.tar.gz
It's more than nine months since the last release, so get the new code
quick, there's lots to go at.
Hi Simon,

that was fast after the long test phase and the hint there might be a
few more rcs, so I didn't prioritize these properly during the -rc
phase, but had been sitting on them for a few days. Sorry about that.
Here we go:

FreeBSD compilation of the rcs, and 2.76 proper, yields these warnings
on 9.3 (using some older GCC)
Post by Simon Kelley
edns0.c:307: warning: 'addrp' may be used uninitialized in this function
dnssec.c:1670: warning: 'hash' may be used uninitialized in this function
dnssec.c:1670: note: 'hash' was declared here
rfc2131.c:829:25: warning: data argument not used by format string [-Wformat-extra-args]
service->basename, layer);
^
I will mail the full build logs off-liste.

Let me know if you need more details for debugging. I am compiling
without DBUS and Lua, but with IPv6, NLS (full internationalization) and
DNSSEC, and this is a sample compiler command line makes from its
Post by Simon Kelley
cc -O2 -pipe -march=athlon64 -Wall -Wno-unused-value -Wno-unused-parameter -DHAVE_DNSSEC -fstack-protector -fno-strict-aliasing -O2 -pipe -march=athlon64 -Wall -Wno-unused-value -Wno-unused-parameter -DHAVE_DNSSEC -fstack-protector -fno-strict-aliasing -DLOCALEDIR='"/usr/local/share/locale"' -DVERSION='"2.76"' -I/usr/local/include -I/usr/local/include -I/usr/local/include -c dhcp-common.c
I have committed v2.76 to the FreeBSD ports trunk.

Best regards,
Matthias
Simon Kelley
2016-05-20 21:03:46 UTC
Permalink
Apologies for jumping the gun on you. As a general thing, a quick email
in reply to an rc1 announcement is enough to hold things until an issue
has been addressed.

I checked those warnings, and they're all false positives. The static
analysis is clever, but not clever enough.

This release of dnsmasq has gone through a coverity scan, which is the
ultimate static analysis, AFAIK. Even that generates lots of false
positives, and rather then warp the code to make the analysis work, I
adopted a policy of marking warnings as "not an issue".

Coverity builds under Linux, so the BSD-only code in the tree is not
checked that way, unfortunately.

Thanks for committing 2.76.

Cheers,

Simon.
Post by Matthias Andree
Post by Simon Kelley
I've just released dnsmasq 2.76.
Download from http://thekelleys.org.uk/dnsmasq/dnsmasq-2.76.tar.gz
It's more than nine months since the last release, so get the new code
quick, there's lots to go at.
Hi Simon,
that was fast after the long test phase and the hint there might be a
few more rcs, so I didn't prioritize these properly during the -rc
phase, but had been sitting on them for a few days. Sorry about that.
FreeBSD compilation of the rcs, and 2.76 proper, yields these warnings
on 9.3 (using some older GCC)
Post by Simon Kelley
edns0.c:307: warning: 'addrp' may be used uninitialized in this function
dnssec.c:1670: warning: 'hash' may be used uninitialized in this function
dnssec.c:1670: note: 'hash' was declared here
rfc2131.c:829:25: warning: data argument not used by format string [-Wformat-extra-args]
service->basename, layer);
^
I will mail the full build logs off-liste.
Let me know if you need more details for debugging. I am compiling
without DBUS and Lua, but with IPv6, NLS (full internationalization) and
DNSSEC, and this is a sample compiler command line makes from its
Post by Simon Kelley
cc -O2 -pipe -march=athlon64 -Wall -Wno-unused-value -Wno-unused-parameter -DHAVE_DNSSEC -fstack-protector -fno-strict-aliasing -O2 -pipe -march=athlon64 -Wall -Wno-unused-value -Wno-unused-parameter -DHAVE_DNSSEC -fstack-protector -fno-strict-aliasing -DLOCALEDIR='"/usr/local/share/locale"' -DVERSION='"2.76"' -I/usr/local/include -I/usr/local/include -I/usr/local/include -c dhcp-common.c
I have committed v2.76 to the FreeBSD ports trunk.
Best regards,
Matthias
_______________________________________________
Dnsmasq-discuss mailing list
http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
Matthias Andree
2016-05-21 10:53:45 UTC
Permalink
Post by Simon Kelley
Apologies for jumping the gun on you. As a general thing, a quick email
in reply to an rc1 announcement is enough to hold things until an issue
has been addressed.
I checked those warnings, and they're all false positives. The static
analysis is clever, but not clever enough.
Hi Simon,

Good to know, and thanks for looking.

I took a false positive into account especially on the FreeBSD 9.3
warnings that are gone on 10.1; FreeBSD 9.3 uses a pretty old GCC
version ("cc (GCC) 4.2.1 20070831 patched [FreeBSD]", ISTR it branched
off before a license change), while FreeBSD 10.1 and 10.3 use clang
3.4.1. We can use other compilers, but I find it unnecessary to do for
most projects written in C, it's more interesting for computing business
when you're into OpenMP, C++11 or newer and the likes.
Post by Simon Kelley
This release of dnsmasq has gone through a coverity scan, which is the
ultimate static analysis, AFAIK. Even that generates lots of false
positives, and rather then warp the code to make the analysis work, I
adopted a policy of marking warnings as "not an issue".
Yeah, although in some cases an unneeded " = 0" or "= {0}"
initialization calms all static analyzers at the same time. ;-)
Post by Simon Kelley
Coverity builds under Linux, so the BSD-only code in the tree is not
checked that way, unfortunately.
How much code is that, aside from a few API calls?
I never bothered to take a closer look.
Post by Simon Kelley
Thanks for committing 2.76.
My pleasure.

Cheers,
Matthias
Simon Kelley
2016-05-21 14:56:05 UTC
Permalink
Post by Matthias Andree
Good to know, and thanks for looking.
I took a false positive into account especially on the FreeBSD 9.3
warnings that are gone on 10.1; FreeBSD 9.3 uses a pretty old GCC
version ("cc (GCC) 4.2.1 20070831 patched [FreeBSD]", ISTR it branched
off before a license change), while FreeBSD 10.1 and 10.3 use clang
3.4.1. We can use other compilers, but I find it unnecessary to do for
most projects written in C, it's more interesting for computing business
when you're into OpenMP, C++11 or newer and the likes.
gcc 4.84 with the same flags doesn't generate any warnings.
Post by Matthias Andree
Post by Simon Kelley
Coverity builds under Linux, so the BSD-only code in the tree is not
checked that way, unfortunately.
How much code is that, aside from a few API calls?
I never bothered to take a closer look.
The whole of src/bpf.c and src/tables.c are BSD-specific.


Cheers,

Simon.
Post by Matthias Andree
Post by Simon Kelley
Thanks for committing 2.76.
My pleasure.
Cheers,
Matthias
_______________________________________________
Dnsmasq-discuss mailing list
http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
Loading...