-
Type:
Bug
-
Status: Open
-
Priority:
Minor
-
Resolution: Unresolved
-
Affects Version/s: OpenDNSSEC 1.4.7
-
Fix Version/s: None
-
Component/s: Signer
-
Labels:None
-
Environment:
Linux x86_64, SLES11SP3, OpenDNSSEC 1.4/devel
Long zone names (shown in the log as XXXX to avoid my eyes bleeding) report the following in the log, and the .axfr signed output is not written.
ods-signerd: [tools] unable to write zone XXXX: adapter failed (Unable to write file) ods-signerd: [worker[1]] CRITICAL: failed to sign zone XXXX: Unable to write file
Case in point is a zone with the following name:
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc.bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.test.ttt.vvv-zzzz.eeeeeeeee-mmmm
The zone contains a SOA, 4x NS and a single A. Each of the labels in the zone name is <= 63 octets, and the total length of the name is 224 octets. The longest fully-qualified name (of the A RR} is 250 octets.
I've tried tracking where this error is reported in the code which seems to surface up in adapter.c/adapter_write(). addns.c/addns_write() attempts to construct a temporary filename with .axfr.tmp tacked onto it, but this is, if I can count correctly, still below ext3's NAME_MAX (255) on Linux.
Is this a bug?