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.