P if fixed in preen step F if not fixed in fast mode * if not offered to fix *if not actually checked ================================ PHASE 1: looking for duplicates * don't delete both if one is placeholder * Each users_id must be unique Alloc new ID F Each login name must be unique If full names match, delete; else unregister F* Each user can appear at most once in the krbmap F* Each principal can appear at most once in the krbmap Each mach_id must be unique Alloc new ID F* Each machine name must be unique F* Each hostalias name must be unique F* Each hostalias name must not be the same as any machine name Each snet_id must be unique Alloc new ID F* Each subnet name must be unique Each clu_id must be unique Alloc new ID F* Each cluster must have a unique name Each list_id must be unique Alloc new ID F* Each list must have a unique name Each filsys_id must be unique Alloc new ID F* Each filesys name must be unique Each nfsphys_id must be unique Alloc new ID Each string must be unique Delete second copy and remember this for phase 2 Each string_id must be unique Delete all copies F* Each printer name must be unique * Each printserver entry must be for a unique mach_id PHASE 2: checking references Each reference to a string must not point to a duplicate string Reset it to point to the first copy of that string Each reference to a string must point to a real string Reset it to point to string 0 Each user's POP pobox must be on a real machine Delete pobox Each user's SMTP pobox must have a string Delete pobox Each user's IMAP pobox must be an existing IMAP filesystem Delete pobox P Every machine must be on a subnet Set to placeholder subnet P Every machine owner must exist Set dummy owner Every subnet owner must exist Set dummy owner P Every entry in the machine-cluster map must reference machine & cluster Delete entry P Every piece of cluster data must be attached to a real cluster. Delete data P Every list ACE must exist Make list it's own acl P Every member must be a member of a real list Delete the member P Every USER member must be a real user Delete the member P Every LIST member must be a real list Delete the member P Every STRING member must be a real string Delete the member P Every KERBEROS member must be a real string Delete the member P Every service USER owner must be a real user Make user 0 own service P Every service LIST owner must be a real list Make list 0 own service Every server/host tuple must refer to a real machine Delete tuple Every NFS physical's machine must exist Delete entry Every filesys must be on a real machine Put it on machine 0 P Every filesys' owning user must exist Make it user 0 P Every filesys' owning group must exist Make it list 0 Every NFS or IMAP filesys' phys_id must exist P Set to correct one if found else create one Every fsgroup must exist Delete the fsgroup *Every fsgroup must be of type FSGROUP Change type P Every fsgroup member must exist Delete member P Every USER quota must be for a real user Delete quota P Every GROUP quota must be for a real list Delete quota Every quota must be on a real filesys Delete quota P Every quota's phys_id must match the filesys' phys_id Fix phys_id **Zephyr checks * Every hostaccess must be for a real machine * Every hostaccess USER must exist * Every hostaccess LIST must exist Every printer must have real printer, spool, and quota machines Delete the printer Every print must be on a printserver Delete the printer * Every printer must have a real log machine Reset to WSLOGGER.MIT.EDU Every print ac/lpc_acl must exist Make it list 0 Every printserver must correspond to an existing machine Delete printserver Every printserver printer_types must be a real string Set to empty string Every printserver owner must be a real user/list/kerberos Set to NONE Every printserver lpc_acl must be a real list Set to list 0 P Every user in the krbmap must exist Delete map entry P Every string in the krbmap must exist Delete map entry * Every list used in capacls must exist PHASE 3: finding unused objects Every list must have at least one member (if -w flag not specified) Print warning P Every string must be used at least once Delete string PHASE 4: checking counts * Every POP pobox must be on a POP server P The count of POP boxes must match value1 of the service/host tuple update count P The total quota on an NFSphys must match the recorded allocation update count