fixed bug in article insertion
[knntp.git] / ztech.txt
blobdb8033fc51e7f4fb5ba71227d82efca7ba1794fd
1 base headers format
2 ===================
4 db 'KNMH'      ; signature
5 dw 1           ; version
6 dw 0           ; first record is reserved and has zero size
8 each record is:
9 dw size        ; record size, in bytes
10 dw flags       ; see below
11 dd mtoffset    ; text offset in eml file
12 dd mtsize      ; text size in eml file
13 dd number      ; article number on NNTP server (0 for email; uint.max == deleted)
14 dd unixtime    ; creation/send/receive date; taken from "Injection-Date"
15 dd parent      ; parent record index or 0 (to avoid msgid lookups, calculated)
16 dd firstchild  ; first child record index or 0 (to avoid msgid lookups, calculated)
17 dd prevsib     ; previous sibling record index or 0 (to avoid msgid lookups, calculated)
18 dd nextsib     ; next sibling record index or 0 (to avoid msgid lookups, calculated)
19 dw depth       ; depth in thread tree (0: top-level); calculated field
20 db msgidlen    ; msgid length
21  db msgid
22 db fromnamelen ; from name length; can be 0
23  db fromname
24 db frommaillen ; from email length; never 0; doesn't include "<>"
25  db frommail
26 db subjlen     ; subject length; never 0; empty subj will be replaced by "no subj"; too long is truncated
27  db subj       ; all leading "re:" are removed, along with leading and trailing spaces
30 enum Flag : ushort {
31   Unread       = 1U<<0,
32   Attention    = 1U<<1,
36 base text format (eml)
37 ======================
39 nothing special. just a dump of text lines, delimited with CR
40 multiline headers are joined, headers are separated with empty line,
41 lines are dot-stuffed, each message ends with a single line with a dot.