Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
AUTH_GETUSERINFO_MET(3) 	 S. Varshavchik.	 AUTH_GETUSERINFO_MET(3)

NAME
     auth_getuserinfo_meta, auth_getuserinfo - Obtain account information

SYNOPSIS
     #include <courierauth.h>

     int   rc=auth_getuserinfo_meta(struct auth_meta *meta,  const char *userid,
				  int (*callback_func)(struct au-
				  thinfo *, void *), void *callback_arg);

     int rc=auth_getuserinfo(const char *userid, int (*callback_func)(struct au-
			     thinfo *, void *), void *callback_arg);

DESCRIPTION
     If userid is a valid account name, retrieve the account particulars and in-
     voke callback_func.

     A NULL meta is equivalent	to  using  the	default  auth_meta  returned  by
     auth_meta_init_default(3)[1].

     auth_getuserinfo() is deprecated and should not be used in new code.

RETURNS
     callback_func  will be invoked if userid exists, and callback_func's return
     value becomes the return value from auth_getuserinfo (which should be 0, by
     convention).  callback_func will not be invoked if an error  occurs,  which
     is  reported  by  a non-zero return value from auth_getuserinfo. By conven-
     tion, a positive return value indicates  an  internal,  temporary	failure,
     such  as  the  authentication daemon process not running; a negative return
     value indicates that this request was processed, but  it  failed  (probably
     because userid does not exist.

     The second argument to callback_func will be callback_arg, which is not in-
     terpreted by this function in any way. The first argument will be a pointer
     to the following structure:

	 struct authinfo {
	      const char *sysusername;
	      const uid_t *sysuserid;
	      gid_t sysgroupid;
	      const char *homedir;

	      const char *address;
	      const char *fullname;
	      const char *maildir;
	      const char *quota;
	      const char *passwd;
	      const char *clearpasswd;

	      const char *options;

	      } ;

     Description of the above fields:

     address
	 The authenticated login ID.

     sysusername
	 The  authenticated account's userid and groupid can be looked up in the
	 password file using address. If this field is NULL, obtain  the  userid
	 and the groupid from sysuserid and sysgroupid.

     sysuserid
	 sysuserid  may  be NULL if sysusername is initialized, otherwise it's a
	 pointer to the account's numeric userid.

     sysgroupid
	 Account's numeric groupid.  sysgroupid is only used when sysusername is
	 NULL.

     fullname
	 This is the account's full name. This field  is  optional,  it  may  be
	 NULL.

     homedir
	 The account's home directory. This field cannot be NULL.

     maildir
	 The  pathname	to the account's mailbox. This field is optional, it can
	 be NULL in which case the default location is assumed.

     quota
	 Optional maildir quota on the account's mailbox (and NULL if  no  quota
	 is set).

     passwd
	 The  account's  encrypted  password, if available. If the account has a
	 cleartext password defined, this field can be	set  to  NULL.	The  en-
	 crypted password can take several formats:

	 *   A	traditional  triple-DES  crypted  password, or a MD5+salt-hashed
	     password, as used in Linux.

	 *   "{MD5}" followed by a base64-encoded MD5 hash of the password.

	 *   "{SHA}" followed by a base64-encoded SHA1 hash of the password.

     clearpasswd
	 The account's cleartext password, if available. If the account  has  an
	 encrypted password defined, this field can be set to NULL.

     options
	 A  comma-separated list of miscellaneous account options. See below for
	 more information.

   Account options
     Depending on the configuration of the Courier authentication  library,  ac-
     counts may have individual options associated with them. If the authentica-
     tion  library  configuration does not implement account options, the option
     string will be a NULL value. Otherwise it will be a comma-separated list of
     "option=value" settings.

	 Note

	 The application is responsible for actually implementing  the	options.
	 For example, sn authentication request for service "imap", for example,
	 will  succeed provided that the userid and the password are valid, even
	 if "disableimap=1" is set. The application's callback_func should check
	 for this condition, and return a negative return code.

	 Note

	 The following list of account options is a combined list of implemented
	 options supported by Courier,	Courier-IMAP,  and  SqWebMail  packages.
	 Some  of  the	following  information is obviously not applicable for a
	 particular package. The inapplicable bits should be obvious.

     The following options are recognized by the various Courier packages:

     disableimap=n
	 If "n" is 1, IMAP access to this account should be disabled.

     disablepop3=n
	 If "n" is 1, POP3 access to this account should be disabled.

     disableinsecureimap=n
	 If "n" is 1, unencrypted IMAP access to this  account	should	be  dis-
	 abled.

     disableinsecurepop3=n
	 If  "n"  is  1,  unencrypted POP3 access to this account should be dis-
	 abled.

     disablewebmail=n
	 If "n" is 1, webmail access to this account should be disabled.

     disableshared=n
	 If "n" is 1, this account should not have access to shared  folders  or
	 be able to share its own folders with other people.

     group=name
	 This  option  is  used  by  Courier-IMAP  in calculating access control
	 lists. This option places the account as a member of access group name.
	 Instead of granting access rights on individual mail folders  to  indi-
	 vidual  accounts,  the  access rights can be granted to an access group
	 "name", and all members of this group get the specified access rights.

	 The access group name "administrators" is a  reserved	group.	All  ac-
	 counts  in the administrators group automatically receive all rights to
	 all accessible folders.

	     Note
	     This option may be specified multiple times to specify that the ac-
	     count belongs to multiple account groups.

     sharedgroup=name
	 Another option used by Courier-IMAP. Append "name" to the name  of  the
	 top  level  virtual  shared  folder  index file. This setting restricts
	 which virtual shared folders this account could  possibly  access  (and
	 that's  on  top of whatever else the access control lists say). See the
	 virtual shared folder documentation for more information.

	 For technical reasons, group names may not include comma, tab,  "/"  or
	 "|" characters.

SEE ALSO
     authlib(3)[2],	      auth_meta(3)[1],		auth_generic_meta(3)[3],
     auth_login_meta(3)[4], auth_enumerate(3)[5], auth_passwd(3)[6], auth_getop-
     tion(3)[7].

NOTES
      1. auth_meta_init_default(3)
	 https://www.courier-mta.org/authlib/auth_meta.html

      2. authlib(3)
	 https://www.courier-mta.org/authlib/authlib.html

      3. auth_generic_meta(3)
	 https://www.courier-mta.org/authlib/auth_generic.html

      4. auth_login_meta(3)
	 https://www.courier-mta.org/authlib/auth_login.html

      5. auth_enumerate(3)
	 https://www.courier-mta.org/authlib/auth_enumerate.html

      6. auth_passwd(3)
	 https://www.courier-mta.org/authlib/auth_passwd.html

      7. auth_getoption(3)
	 https://www.courier-mta.org/authlib/auth_getoption.html

S. Varshavchik. 		   01/11/2026		 AUTH_GETUSERINFO_MET(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=auth_getuserinfo_meta&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help