Record Format
-------------
Syntax notes:
- ( P )* means "zero or more of the P"
- ( P )+ means "one or more of the P"
- { P } means "zero or one of the P"
(ie P is optional and may be omitted)
New version 2 records have the following format:
0x02
( flag-number flag-value )* NUL
password-crypt NUL
{ mailbox } NUL
( alias NUL )* NUL
personal-information NUL
hard-quota NUL
soft-quota NUL
message-size-limit NUL
message-count-limit NUL
creation-time NUL
expiry-time NUL
flag-number and flag-value are single-byte values. The flag numbers are
the same as the attribute number defined in vdomain/vdomain.h.
The maximum values for limits (quota, etc.) are expressed in the file as
"-" and internally as UINT_MAX. Records with an unknown creation time
have the creation-time set to the UNIX epoch (midnight GMT January 1,
1970).
Old Record Formats
------------------
Version 1 records have the following format:
0x01
password-crypt NUL
{ mailbox } NUL
( alias NUL )* NUL
personal-information NUL
hard-quota NUL
soft-quota NUL
message-size-limit NUL
message-count-limit NUL
creation-time NUL
expiry-time NUL
Old style records had the following format:
":" password-crypt ":" destination
The destination was prefixed with '&' for a forward, and with either '.'
or '/' for a mailbox.
Proposed Record Format
----------------------
New version 3 records have the following format:
0x03
( flag-number flag-value )* NUL
password-crypt NUL
{ mailbox } NUL
( alias NUL )* NUL
personal-information NUL
hard-quota NUL
soft-quota NUL
message-size-limit NUL
message-count-limit NUL
creation-time NUL
expiry-time NUL
last-modified-time NUL
flag-number and flag-value are single-byte values. The flag numbers are
the same as the attribute number defined in vdomain/vdomain.h. The flag
value is either ASCII '0' for false/off or ASCII '1' for true/on.