[opendmarc-dev] OpenDMARC 1.3.0 Beta3 available

Scott Kitterman sklist at kitterman.com
Sat Jul 26 14:56:56 PDT 2014


On Saturday, July 26, 2014 17:06:22 Scott Kitterman wrote:
> On Saturday, July 26, 2014 01:29:56 you wrote:
> > On Saturday, July 19, 2014 11:15:29 Scott Kitterman wrote:
> > > On Saturday, July 19, 2014 03:21:23 Scott Kitterman wrote:
> > > > On Tuesday, July 15, 2014 23:39:08 Murray S. Kucherawy wrote:
> > > > > With apologies for the delay since Beta2.  Changes:
> > > > > 
> > > > > o Support for libspf2 added.
> > > > > 
> > > > > o Make "smime" a legal Authentication-Results method.
> > > > > 
> > > > > o Minor opendmarc-reports script fixes.
> > > > > 
> > > > > I'd like to release this one late this week or early next, so please
> > > > > make
> > > > > time to give it a go, especially if you are able to exercise the
> > > > > libspf2
> > > > > code that was just added.  Scott, please let me know whether it
> > > > > meets
> > > > > your
> > > > > requirements.
> > > > 
> > > > Sorry for the delay.
> > > > 
> > > > I've just uploaded packages for the Debian Experimental repository
> > > > with
> > > > libspf2 support enabled.  All the auto* foo worked fine and the
> > > > package
> > > > built.
> > > > 
> > > > I have not had a chance to test yet how well it works, but since this
> > > > is
> > > > a
> > > > beta and not the final, I wouldn't wait on me.  Maybe someone else has
> > > > had
> > > > a chance.
> > > > 
> > > > In terms of a reasonable approach, I think with libspf2 support added,
> > > > I
> > > > think it's good.  I would prefer it be just libspf2 because it seems
> > > > to
> > > > better match RFC 4408/7208, but I'm not going to get in an argument
> > > > over
> > > > it.
> > > > 
> > > > Thanks for putting in the effort to get the libspf2 support done for
> > > > this
> > > > release.
> > > 
> > > Reviewing the build logs, there are quite a number of implicit
> > > declaration
> > > warnings here (using libbsd):
> > > 
> > > opendmarc_tld.c:42:2: warning: implicit declaration of function
> > > 'strlcpy'
> > > [- Wimplicit-function-declaration]
> > > opendmarc_tld.c:65:3: warning: implicit declaration of function
> > > 'strlcat'
> > > [- Wimplicit-function-declaration]
> > > opendmarc_policy.c:243:2: warning: implicit declaration of function
> > > 'strlcpy' [-Wimplicit-function-declaration]
> > > opendmarc_policy.c:249:3: warning: implicit declaration of function
> > > 'strlcat' [-Wimplicit-function-declaration]
> > > opendmarc_xml.c:133:2: warning: implicit declaration of function
> > > 'strlcpy'
> > > [- Wimplicit-function-declaration]
> > > opendmarc_xml.c:178:6: warning: implicit declaration of function
> > > 'strlcat'
> > > [- Wimplicit-function-declaration]
> > > opendmarc_util.c:346:2: warning: implicit declaration of function
> > > 'strlcpy'
> > > [- Wimplicit-function-declaration]
> > > config.c:147:5: warning: implicit declaration of function 'strlcpy' [-
> > > Wimplicit-function-declaration]
> > > opendmarc-ar.c:386:4: warning: implicit declaration of function
> > > 'strlcat'
> > > [- Wimplicit-function-declaration]
> > > opendmarc-ar.c:416:5: warning: implicit declaration of function
> > > 'strlcpy'
> > > [- Wimplicit-function-declaration]
> > > opendmarc-dstring.c:204:2: warning: implicit declaration of function
> > > 'strlcpy' [-Wimplicit-function-declaration]
> > > opendmarc-dstring.c:247:2: warning: implicit declaration of function
> > > 'strlcat' [-Wimplicit-function-declaration]
> > > opendmarc.c:969:4: warning: implicit declaration of function 'strlcat'
> > > [-
> > > Wimplicit-function-declaration]
> > > opendmarc.c:4484:3: warning: implicit declaration of function 'strlcpy'
> > > [-
> > > Wimplicit-function-declaration]
> > > test.c:464:5: warning: implicit declaration of function 'strlcat'
> > > [-Wimplicit- function-declaration]
> > > test.c:514:5: warning: implicit declaration of function 'strlcpy'
> > > [-Wimplicit- function-declaration]
> > > util.c:176:2: warning: implicit declaration of function 'strlcpy'
> > > [-Wimplicit- function-declaration]
> > > 
> > > In opendkim, you added:
> > > 
> > > /* libbsd if found */
> > > #ifdef USE_BSD_H
> > > # include <bsd/string.h>
> > > #endif /* USE_BSD_H */
> > > 
> > > This doesn't seem to have been done for opendmarc.  I can prepare a
> > > patch
> > > if you'd like.
> > 
> > So, I took a stab at this and I have a start of a patch, attached.  This
> > mostly solves my problem, but the build log shows a few implicit-function-
> > declaration warnings left (attached also).  The full build log for the
> > unpatched version is available at:
> > 
> > https://buildd.debian.org/status/fetch.php?pkg=opendmarc&arch=amd64&ver=1.
> > 3. 0~beta3%2Bdfsg-1&stamp=1405755668
> > 
> > I have no idea what the difference is in the cases the patch did not
> > resolved.
> > 
> > This is not a complete patch in any case since it uses only the system
> > strl
> > (either from bsd/string.h or strl.h).  It doesn't consider the include for
> > the embedded copy.  It would need some additional refinement if you wanted
> > to continue to use that.
> > 
> > Scott K
> 
> Here is a more complete version of a patch that will (I think, untested) use
> the embedded strl if a system one isn't found.  It still doesn't work for
> opendkim config.c and test.c for reasons I don't get.
> 
> Scott K

Here's a build log snippet that shows the problem I haven't solved yet:

make[4]: Entering directory '/tmp/buildd/opendmarc-1.3.0~beta3+dfsg/opendmarc'
i486-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I..  -I/usr/include -
I./../libopendmarc -D_FORTIFY_SOURCE=2 -DCONFIG_BASE=\"/etc\" -pthread  -g -O2 
-fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -
D_FORTIFY_SOURCE=2 -MT opendmarc-config.o -MD -MP -MF .deps/opendmarc-config.Tpo 
-c -o opendmarc-config.o `test -f 'config.c' || echo './'`config.c
config.c: In function 'config_load_level':
config.c:156:5: warning: implicit declaration of function 'strlcpy' [-
Wimplicit-function-declaration]
     strlcpy(outpath, file, outpathlen);
     ^
mv -f .deps/opendmarc-config.Tpo .deps/opendmarc-config.Po
i486-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I..  -I/usr/include -
I./../libopendmarc -D_FORTIFY_SOURCE=2 -DCONFIG_BASE=\"/etc\" -pthread  -g -O2 
-fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -
D_FORTIFY_SOURCE=2 -MT opendmarc-opendmarc.o -MD -MP -MF .deps/opendmarc-
opendmarc.Tpo -c -o opendmarc-opendmarc.o `test -f 'opendmarc.c' || echo 
'./'`opendmarc.c
mv -f .deps/opendmarc-opendmarc.Tpo .deps/opendmarc-opendmarc.Po
i486-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I..  -I/usr/include -
I./../libopendmarc -D_FORTIFY_SOURCE=2 -DCONFIG_BASE=\"/etc\" -pthread  -g -O2 
-fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -
D_FORTIFY_SOURCE=2 -MT opendmarc-opendmarc-ar.o -MD -MP -MF .deps/opendmarc-
opendmarc-ar.Tpo -c -o opendmarc-opendmarc-ar.o `test -f 'opendmarc-ar.c' || 
echo './'`opendmarc-ar.c
mv -f .deps/opendmarc-opendmarc-ar.Tpo .deps/opendmarc-opendmarc-ar.Po
i486-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I..  -I/usr/include -
I./../libopendmarc -D_FORTIFY_SOURCE=2 -DCONFIG_BASE=\"/etc\" -pthread  -g -O2 
-fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -
D_FORTIFY_SOURCE=2 -MT opendmarc-opendmarc-dstring.o -MD -MP -MF 
.deps/opendmarc-opendmarc-dstring.Tpo -c -o opendmarc-opendmarc-dstring.o 
`test -f 'opendmarc-dstring.c' || echo './'`opendmarc-dstring.c
mv -f .deps/opendmarc-opendmarc-dstring.Tpo .deps/opendmarc-opendmarc-
dstring.Po
i486-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I..  -I/usr/include -
I./../libopendmarc -D_FORTIFY_SOURCE=2 -DCONFIG_BASE=\"/etc\" -pthread  -g -O2 
-fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -
D_FORTIFY_SOURCE=2 -MT opendmarc-parse.o -MD -MP -MF .deps/opendmarc-parse.Tpo 
-c -o opendmarc-parse.o `test -f 'parse.c' || echo './'`parse.c
mv -f .deps/opendmarc-parse.Tpo .deps/opendmarc-parse.Po
i486-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I..  -I/usr/include -
I./../libopendmarc -D_FORTIFY_SOURCE=2 -DCONFIG_BASE=\"/etc\" -pthread  -g -O2 
-fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -
D_FORTIFY_SOURCE=2 -MT opendmarc-test.o -MD -MP -MF .deps/opendmarc-test.Tpo -
c -o opendmarc-test.o `test -f 'test.c' || echo './'`test.c
test.c: In function 'dmarcf_testfile':
test.c:471:5: warning: implicit declaration of function 'strlcat' [-Wimplicit-
function-declaration]
     (void) strlcat(buf, CRLF, sizeof buf);
     ^
test.c:521:5: warning: implicit declaration of function 'strlcpy' [-Wimplicit-
function-declaration]
     strlcpy(buf, line, sizeof buf);
     ^
mv -f .deps/opendmarc-test.Tpo .deps/opendmarc-test.Po
i486-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I..  -I/usr/include -
I./../libopendmarc -D_FORTIFY_SOURCE=2 -DCONFIG_BASE=\"/etc\" -pthread  -g -O2 
-fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -
D_FORTIFY_SOURCE=2 -MT opendmarc-util.o -MD -MP -MF .deps/opendmarc-util.Tpo -
c -o opendmarc-util.o `test -f 'util.c' || echo './'`util.c
mv -f .deps/opendmarc-util.Tpo .deps/opendmarc-util.Po

Scott K


More information about the opendmarc-dev mailing list