1*d83a80eeSchristosDIFF support file format. 2*d83a80eeSchristos 3*d83a80eeSchristosThis file contains changes to the main NSD-DATABASE file. 4*d83a80eeSchristosThe file contents is in network format. 5*d83a80eeSchristos 6*d83a80eeSchristosThe file is a transfer, with a header and a number of data segments. 7*d83a80eeSchristos 8*d83a80eeSchristos- File starts with 32bit value 'XFRF' 9*d83a80eeSchristos- header with: 10*d83a80eeSchristos - 8bit: commit=1(IXFR is OK) or rollback=0(ignore that IXFR). 11*d83a80eeSchristos - 32 bit number of packets that are to be applied. 0 if file not completed. 12*d83a80eeSchristos - timestamp of endtime of download (64bitsec,32bitusec). 13*d83a80eeSchristos - 32 bit old serial number. (to check that db-serial is unchanged). 14*d83a80eeSchristos or 0 if no serial available yet. 15*d83a80eeSchristos - 32 bit new serial number. 16*d83a80eeSchristos - timestamp of starttime of download (64bitsec,32bitusec). 17*d83a80eeSchristos - zone name (string). 18*d83a80eeSchristos - pattern name: so that a newly created zone for which the zone transfer 19*d83a80eeSchristos is processed before the config-add task can be created. same string 20*d83a80eeSchristos format with 32bitcount with name of the pattern. 21*d83a80eeSchristos 22*d83a80eeSchristos- a number of parts that start with 'XXFR' 23*d83a80eeSchristos- 32 bits length field. 24*d83a80eeSchristos- length bytes of content. 25*d83a80eeSchristos contents is the IXFR or AXFR packet contents, max 64K. 26*d83a80eeSchristos- 32 bits repeat of the length field. 27*d83a80eeSchristos 28*d83a80eeSchristosat end of file a log string space for a text string message 29*d83a80eeSchristos(preceded by 32bitcount), i.e. 'at time <stamp> came from <addr>, tsig 30*d83a80eeSchristoschecked with key <key>'. or rejected <reason for rejection>. 31*d83a80eeSchristos 32*d83a80eeSchristosThe length fields and type fields check that the input is formatted, 33*d83a80eeSchristosand complete otherwise an error occurred (like, disk failure). 34*d83a80eeSchristosThe commit flag is only set after the write of the entire file has 35*d83a80eeSchristoscompleted (rewind, overwrite commit value with true). 36*d83a80eeSchristos 37