/* cron.cc 12/01/2001 18.07.54 */ PRIVATE void CRON_ENTRY::parse (const char *buf); PUBLIC CRON_ENTRY::CRON_ENTRY (const char *buf); PUBLIC CRON_ENTRY::CRON_ENTRY (void); PUBLIC int CRON_ENTRY::is_comment (void); PUBLIC void CRON_ENTRY::write (FILE *fout); PUBLIC int CRON_ENTRY::edit (const char *suggest[][2]); PUBLIC CRONTAB::CRONTAB (const char *_user); PUBLIC CRON_ENTRY *CRONTAB::getitem (int no); PUBLIC int CRONTAB::write (void); PUBLIC int CRONTAB::edit (const char *suggest[][2]); PUBLIC int CRONTAB::addcmd (const char *cmd, const char *minutes, const char *hours, const char *dmonths, const char *dweeks, const char *months); PUBLIC int CRONTAB::delcmd (const char *cmd); /* _dict.cc 14/08/1996 15.00.36 */ /* fileowner.cc 20/01/2000 20.40.46 */ /* genpassword.cc 03/06/2003 11.05.40 */ /* group.cc 22/10/2003 23.30.36 */ PUBLIC void GROUP::setgid (int _gid); PRIVATE void GROUP::settbmem (char **members); PRIVATE void GROUP::settbmem (const SSTRINGS&members); PRIVATE void GROUP::init (const char *_name, const char *_passwd, int _gid); PUBLIC GROUP::GROUP (const char *_name, const char *_passwd, int _gid, char **members); PUBLIC GROUP::GROUP (const char *_name, const char *_passwd, int _gid, const SSTRINGS&members); PUBLIC GROUP::GROUP (void); PUBLIC GROUP::GROUP (const char *line); PUBLIC GROUP::~GROUP (void); PUBLIC void GROUP::write (FILE_CFG *fout); PUBLIC const char *GROUP::getname (void); PUBLIC int GROUP::getgid (void); PUBLIC const SSTRINGS *GROUP::getmembers (void); PRIVATE int GROUP::check (USERS&users, GROUPS&groups, GROUP *realone); PUBLIC int GROUP::edit (USERS&users, GROUPS&groups); PUBLIC int GROUP::delmember (const char *user); PUBLIC void GROUP::addmember (const char *user); PUBLIC bool GROUP::is_member (const char *user); /* helpf.cc 14/08/1996 15.01.30 */ PUBLIC USERCONF_HELP_FILE::USERCONF_HELP_FILE (const char *fname); /* internal.cc 27/08/1995 12.26.28 */ /* passwd_chat.cc 21/03/2000 16.26.26 */ /* passwd_valid.cc 03/06/2003 11.07.10 */ PUBLIC void PASSWD_VALID::write (void); PUBLIC PASSWD_VALID::PASSWD_VALID (void); PUBLIC void PASSWD_VALID::edit (void); /* perm.cc 14/08/2003 14.25.50 */ /* privi.cc 18/09/2000 17.52.44 */ PUBLIC PRIVILEGE::PRIVILEGE (const char *_id, TRANS_NOTLOAD *_title, TRANS_NOTLOAD *_section); PUBLIC PRIVILEGE::PRIVILEGE (const char *_id, const char *_title, const char *_section); PUBLIC PRIVILEGE::~PRIVILEGE (void); PUBLIC PRIVILEGE_DECLARATOR::PRIVILEGE_DECLARATOR (void (*_fct)()); PUBLIC const char *PRIVILEGE::gettitle (void); PUBLIC const char *PRIVILEGE::getsection (void); PUBLIC int PRIVILEGE_DATA::mustident (void); PUBLIC int PRIVILEGE_DATA::has_priv (void); PUBLIC PRIVILEGE_DATA_SIMPLE::PRIVILEGE_DATA_SIMPLE (const char *line); PUBLIC PRIVILEGE_DATA_SIMPLE::PRIVILEGE_DATA_SIMPLE (void); PUBLIC int PRIVILEGE_DATA_SIMPLE::format_ascii (char *line); PUBLIC int PRIVILEGE_DATA_SIMPLE::validate (void); PUBLIC void PRIVILEGE_DATA_SIMPLE::setdialog (const char *title, DIALOG&dia); PUBLIC PRIVILEGE_DATA *PRIVILEGE_DATAS::getitem (int no); PUBLIC VIRTUAL PRIVILEGE_DATA *PRIVILEGE::getdata (const char *user); PUBLIC VIRTUAL int PRIVILEGE::savedata (const char *user, PRIVILEGE_DATA *data); PUBLIC PRIVILEGES::PRIVILEGES (void); PUBLIC PRIVILEGE *PRIVILEGES::getitem (int no); PUBLIC PRIVI_FEATURE::PRIVI_FEATURE (const char *_id, TRANS_NOTLOAD *_title, TRANS_NOTLOAD *_section); PUBLIC PRIVILEGE_DATA *PRIVI_FEATURE::getdata (const char *user); PUBLIC void PRIVILEGE_DATA_FEATURE::setdialog (const char *title, DIALOG&dia); PUBLIC PRIVILEGE_DATA_FEATURE::PRIVILEGE_DATA_FEATURE (const char *line); PUBLIC PRIVILEGE_DATA_FEATURE::PRIVILEGE_DATA_FEATURE (void); PUBLIC USERPRIVI_COMNG::USERPRIVI_COMNG (DICTIONARY&_dict); PUBLIC void USERPRIVI_COMNG::setupdia (DIALOG&dia); PUBLIC int USERPRIVI_COMNG::save (PRIVILEGE *); PUBLIC int USERPRIVI_COMNG::validate (DIALOG&, int &); PUBLIC int USERPRIVI_COMNG::deluser (PRIVILEGE *); PUBLIC REGISTER_PRIVI_HELP::REGISTER_PRIVI_HELP (HELP_FILE&_help, TRANS_NOTLOAD *_title); /* shadow.cc 07/09/2004 21.21.18 */ PUBLIC SHADOW::SHADOW (const char *line); PRIVATE void SHADOW::initdef (void); PUBLIC SHADOW::SHADOW (void); PUBLIC SHADOW::SHADOW (const char *_name, const char *_passwd, const char *_last, const char *_may, const char *_must, const char *_warn, const char *_expire, const char *_disable); PUBLIC void SHADOW::setname (const char *_name); PUBLIC void SHADOW::setpasswd (const char *_pass); PUBLIC void SHADOW::setdialog (DIALOG&dia); PUBLIC int SHADOW::writedef (void); PUBLIC const char *SHADOW::getpwd (void)const; PUBLIC int SHADOW::getexpire (void)const; PUBLIC int SHADOW::getdisable (void)const; PUBLIC int SHADOW::getmustchange (void)const; PUBLIC int SHADOW::getmaychange (void)const; PUBLIC int SHADOW::getwarn (void)const; PUBLIC int SHADOW::getlastchange (void)const; PUBLIC void SHADOW::write (FILE_CFG *fout); PUBLIC void SHADOWS::add (SHADOW *s); PUBLIC void SHADOWS::remove_del (SHADOW *s); PRIVATE void SHADOWS::readusers (void); PUBLIC SHADOWS::SHADOWS (void); PUBLIC SHADOWS::SHADOWS (CONFIG_FILE&_configf); PUBLIC SHADOWS::~SHADOWS (void); PUBLIC void SHADOWS::reload (void); PUBLIC SHADOW *SHADOWS::getitem (int no); PUBLIC SHADOW *SHADOWS::getitem (const char *name); PUBLIC int SHADOWS::write (PRIVILEGE *priv); /* shells.cc 25/04/2002 13.03.30 */ /* special.cc 09/12/1996 16.22.12 */ /* upass.cc 14/08/2003 14.32.26 */ /* user1.cc 04/12/2000 23.48.26 */ PUBLIC int USER::getcateg (void)const; PUBLIC bool USER::is_like (const USER *other)const; PUBLIC void USER::setlike (const USER *other); PUBLIC bool USER::is_logged (void); /* user.cc 08/09/2004 16.19.26 */ PUBLIC bool USER::statuschanged (bool&active)const; PRIVATE void USER::init (const char *_name, const char *_passwd, int _uid, int _gid, const char *_gecos, const char *_dir, const char *_shell); PUBLIC USER::USER (const char *_name, const char *_passwd, int _uid, int _gid, const char *_gecos, const char *_dir, const char *_shell); PUBLIC USER::USER (void); PUBLIC USER::USER (const USER *usr); PUBLIC USER::USER (const char *line); PUBLIC USER::USER (struct passwd *p); PUBLIC USER::~USER (void); PUBLIC const char *USER::getpwd (void)const; PUBLIC const char *USER::gethome (void)const; PUBLIC void USER::write (FILE_CFG *fout); PUBLIC const char *USER::getname (void)const; PUBLIC const char *USER::getoldname (void)const; PUBLIC const char *USER::getgecos (void)const; PUBLIC void USER::getgecos_esc (char *buf, int size)const; PUBLIC int USER::getuid (void)const; PUBLIC int USER::getgid (void)const; PUBLIC const char *USER::getaltgrs (void)const; PUBLIC void USER::setaltgrs (const char *_altgr); PUBLIC const char *USER::getshell (void)const; PUBLIC bool USER::is_admin (void)const; PUBLIC bool USER::is_special (void)const; PRIVATE int USER::check (USERS&users, GROUPS&groups); PUBLIC int USER::checkhome (SSTRING *status, const char *group); PUBLIC void USER::setname (const char *_name); PUBLIC void USER::setuid (int _uid); PUBLIC void USER::setgid (int _gid); PUBLIC void USER::setgecos (const char *_gecos); PUBLIC void USER::setshell (const char *_shell); PUBLIC void USER::sethome (const char *_home); PUBLIC int USER::sethome (PRIVILEGE *priv, const char *group, bool do_recur, USERS&users); PUBLIC void USER::setdefhome (USERS&users, const char *group); PRIVATE bool USER::deldialog (USER_DELOPER&deloper); PUBLIC int USER::edit (USERS&users, GROUPS&groups, bool is_new, PRIVILEGE *priv, unsigned may_edit, USERACCT_COMNGS&comngs, USER_DELOPER&deloper, const char *domain); PUBLIC void USER::update_passwd (const char *newp, SHADOW *shadow, bool is_lock, const char *domain); PUBLIC bool USER::is_locked (SHADOW *shadow); PUBLIC int USER::passwd_locked (SHADOW *shadow); PUBLIC int USER::editpass (SHADOW *shadow, bool confirm, bool may_override, const char *domain); PUBLIC int USER::pass_maychange (SHADOW *shadow); PUBLIC int USER::edithispass (SHADOW *shadow, bool may_override, const char *domain); PUBLIC int USER::edithispass_notty (SHADOW *shadow, const char *domain); /* usercomng.cc 11/12/2002 15.17.42 */ PUBLIC USERACCT_COMNG::USERACCT_COMNG (DICTIONARY&_dict); PUBLIC VIRTUAL void USERACCT_COMNG::setupdia (DIALOG&dia); PUBLIC VIRTUAL void USERACCT_COMNG::setupdia (M_DIALOG&); PUBLIC VIRTUAL int USERACCT_COMNG::validate (DIALOG&dia, int &nof); PUBLIC VIRTUAL int USERACCT_COMNG::validate (M_DIALOG&, int &); PUBLIC VIRTUAL int USERACCT_COMNG::save (PRIVILEGE *); PUBLIC VIRTUAL int USERACCT_COMNG::deluser (PRIVILEGE *); PUBLIC VIRTUAL void USERACCT_COMNG::message (DIALOG&dia); PUBLIC VIRTUAL void USERACCT_COMNG::message (M_DIALOG&dia); PUBLIC USERACCT_COMNG *USERACCT_COMNGS::getitem (int no)const; PUBLIC int USERACCT_COMNGS::validate (DIALOG&dia, int &nof); PUBLIC int USERACCT_COMNGS::validate (M_DIALOG&dia, int &nof); PUBLIC void USERACCT_COMNGS::setupdia (DIALOG&dia); PUBLIC void USERACCT_COMNGS::setupdia (M_DIALOG&dia); PUBLIC void USERACCT_COMNGS::save (PRIVILEGE *priv); PUBLIC void USERACCT_COMNGS::deluser (PRIVILEGE *priv); PUBLIC REGISTER_USERACCT_COMNG::REGISTER_USERACCT_COMNG (USERACCT_COMNG * (fct )(const char *key, DICTIONARY&)); PUBLIC void USERACCT_COMNGS::getall (const char *key); PUBLIC void USERACCT_COMNGS::set_str (const char *var, const char *val); PUBLIC const char *USERACCT_COMNGS::get_str (const char *var)const; PUBLIC void USERACCT_COMNGS::set_int (const char *var, int val); PUBLIC int USERACCT_COMNGS::get_int (const char *var)const; PUBLIC void USERACCT_COMNGS::set_obj (const char *var, void *obj); PUBLIC void *USERACCT_COMNGS::get_obj (const char *var)const; PUBLIC void USERACCT_COMNGS::set_bool (const char *var, bool val); PUBLIC bool USERACCT_COMNGS::get_bool (const char *var)const; PUBLIC void USERACCT_COMNGS::message (DIALOG&dia); PUBLIC void USERACCT_COMNGS::message (M_DIALOG&dia); /* userconf.cc 14/10/2003 14.38.44 */ /* groups.tlcc 08/09/2004 16.20.32 */ PUBLIC GROUPS::GROUPS (void); PRIVATE GROUPS::GROUPS (GROUPS *groups); PUBLIC GROUPS::~GROUPS (void); PUBLIC void GROUPS::rstmodified (void); PUBLIC int GROUPS::getnb (void)const; PUBLIC int GROUPS::size (void)const; PUBLIC void GROUPS::add (GROUP *g); PUBLIC GROUP *GROUPS::getitem (int no)const; PUBLIC GROUP *GROUPS::getitem (const char *name)const; PUBLIC int GROUPS::getgid (const char *name)const; PUBLIC int GROUPS::write (PRIVILEGE *privi, CONFIG_FILE&file); PUBLIC int GROUPS::write (PRIVILEGE *priv); PUBLIC int GROUPS::write (void); PUBLIC const char *GROUPS::getdefault (void)const; PUBLIC GROUP *GROUPS::getfromgid (int gid)const; PUBLIC int GROUPS::delmember (const char *user); PUBLIC void GROUPS::getalt (const char *user, SSTRING&alt); PUBLIC int GROUPS::setalt (const char *user, const char *groups, char delim, bool test); PUBLIC void GROUPS::sortbyid (void); PUBLIC int GROUPS::getnew (int hint); PUBLIC int GROUPS::getnew (void); PUBLIC int GROUPS::create (const char *name, int hint); PUBLIC void GROUPS::sortbyname (void); PUBLIC void GROUPS::setcombo (FIELD_COMBO *grpl); PUBLIC void GROUPS::remove_all (void); PUBLIC void GROUPS::remove_del (GROUP *grp); PUBLIC int GROUPS::edit (void); PUBLIC void GROUPS::load_special (void); /* users.tlcc 08/09/2004 16.20.32 */ PUBLIC USERS_PRIVATE::USERS_PRIVATE (void); PUBLIC USERS_PRIVATE::~USERS_PRIVATE (void); PRIVATE void USERS::readusers (bool force); PRIVATE int USERS::fill (const char *name, int uid); PUBLIC USERS::USERS (void); PUBLIC USERS::USERS (CONFIG_FILE&_file, CONFIG_FILE&_shadow, const char *_root, const char *_home, const char *_domain, int _baseuid); PUBLIC void USERS::readall (void); PUBLIC void USERS::setmaxusers (int mx); PUBLIC void USERS::setmayadd (bool mayadd); PUBLIC void USERS::remove_all (void); PRIVATE void USERS::reload (void); PUBLIC int USERS::has_shadow (void)const; PUBLIC void USERS::add (USER *u); PUBLIC int USERS::getnb (void)const; PUBLIC int USERS::size (void)const; PUBLIC void USERS::neverdelete (void); PUBLIC const char *USERS::getstdhome (void)const; PUBLIC const char *USERS::getroot (void)const; PUBLIC const char *USERS::getdomain (void)const; PUBLIC const char *USERS::getstdhome (const char *group)const; PRIVATE USERS::USERS (USERS *users); PUBLIC USERS::~USERS (void); PUBLIC USER *USERS::getitem (int no); PUBLIC USER *USERS::getitem (const char *name, USER *exclude); PUBLIC USER *USERS::getitem (const char *name); PUBLIC SHADOW *USERS::getshadow (const USER *usr); PUBLIC void USERS::addshadow (SHADOW *shadow); PUBLIC USER *USERS::getfromuid (int uid, USER *exclude); PUBLIC USER *USERS::getfromuid (int uid); PUBLIC int USERS::getnewuid (void); PUBLIC int USERS::write (PRIVILEGE *privi); PUBLIC int USERS::writeif (PRIVILEGE *priv, USER *&usr); PUBLIC int USERS::writeif (PRIVILEGE *priv); PUBLIC USRACC_FILTER::USRACC_FILTER (void); PRIVATE MENU_STATUS USERS::setselectprefix (struct USRACC_FILTER&filter, const USER *like, bool may_add); PUBLIC int USERS::dodel (USER *usr, USER_DELOPER oper, GROUPS&groups, PRIVILEGE *priv); PUBLIC bool USERS::may_override (void); PUBLIC bool USERS::has_add_override (void); PRIVATE int USERS::override (PRIVILEGE *priv, const USER *usr, int (*fct)(const USER *, const SHADOW *)); PUBLIC void USERS::update (USER *usr); PRIVATE int USERS::override_add (PRIVILEGE *priv, USER *usr, const char *group); PRIVATE int USERS::docreate (USER *usr, PRIVILEGE *priv, const char *group); PRIVATE int USERS::editone_precut (USER *usr, bool is_new, PRIVILEGE *privi, unsigned may_edit); PUBLIC int USERS::editone (USER *usr, bool is_new, PRIVILEGE *privi, unsigned may_edit); PUBLIC int USERS::addone (USER *special, const char *name, const char *fullname, PRIVILEGE *privi, unsigned may_edit); PUBLIC void USERS::remove_del (USER *usr); PUBLIC int USERS::edit (USER *special, PRIVILEGE *privi, unsigned may_edit); PUBLIC void USERS::sortbyname (void); PUBLIC void USERS::sortbygid (void); PRIVATE int USERS::runcmd (const char *cmd, USER *usr, const char *group, int timeout); PROTECTED int USERS::runcreatecmd (USER *usr, const char *group); PROTECTED int USERS::rundeletecmd (USER *usr, const char *group); PUBLIC int USERS::addbatch (const char *id, const char *group, const char *name, const char *shell, const char *home, const char *altgr, bool locked); PUBLIC int USERS::delbatch (const char *id, USER_DELOPER oper);