netatalk  4.5.0
Free and Open Source Apple Filing Protocol (AFP) Server
Loading...
Searching...
No Matches
uam.h File Reference
#include <pwd.h>
#include <stdarg.h>

Go to the source code of this file.

Data Structures

struct  uam_export
 
struct  session_info
 

Macros

#define UAM_MODULE_EXPORT
 
#define UAM_MODULE_SERVER   1
 
#define UAM_MODULE_CLIENT   2
 
#define UAM_MODULE_VERSION   1
 
#define UAM_NEED_LIBGCRYPT_VERSION   NULL
 
#define UAM_SERVER_LOGIN   (1 << 0)
 
#define UAM_SERVER_CHANGEPW   (1 << 1)
 
#define UAM_SERVER_PRINTAUTH   (1 << 2)
 
#define UAM_SERVER_LOGIN_EXT   (1 << 3)
 
#define UAM_OPTION_USERNAME   (1 << 0)
 
#define UAM_OPTION_GUEST   (1 << 1)
 
#define UAM_OPTION_PASSWDOPT   (1 << 2)
 
#define UAM_OPTION_SIGNATURE   (1 << 3)
 
#define UAM_OPTION_RANDNUM   (1 << 4)
 
#define UAM_OPTION_HOSTNAME   (1 << 5)
 
#define UAM_OPTION_COOKIE   (1 << 6)
 
#define UAM_OPTION_PROTOCOL   (1 << 7)
 
#define UAM_OPTION_CLIENTNAME   (1 << 8)
 
#define UAM_OPTION_KRB5SERVICE   (1 << 9)
 
#define UAM_OPTION_MACCHARSET   (1 << 10)
 
#define UAM_OPTION_UNIXCHARSET   (1 << 11)
 
#define UAM_OPTION_SESSIONINFO   (1 << 12)
 
#define UAM_OPTION_KRB5REALM   (1 << 13)
 
#define UAM_OPTION_FQDN   (1 << 14)
 
#define UAM_PASSWD_FILENAME   (1 << 0)
 
#define UAM_PASSWD_MINLENGTH   (1 << 1)
 
#define UAM_PASSWD_SRP_FILENAME   (1 << 2)
 
#define UAM_PASSWD_EXPIRETIME   (1 << 3)
 
#define UAM_USERNAMELEN   255
 
#define SESSIONKEY_LEN   64
 
#define SESSIONTOKEN_LEN   8
 

Functions

UAM_MODULE_EXPORT int uam_register (const int, const char *, const char *,...)
 
UAM_MODULE_EXPORT void uam_unregister (const int, const char *)
 
UAM_MODULE_EXPORT struct passwd * uam_getname (void *, char *, const int)
 helper functions for plugin uams
 
UAM_MODULE_EXPORT int uam_checkuser (void *, const struct passwd *)
 
UAM_MODULE_EXPORT int uam_afp_read (void *, char *, size_t *, int(*)(void *, void *, const int))
 
UAM_MODULE_EXPORT int uam_afpserver_option (void *, const int, void *, size_t *)
 

Macro Definition Documentation

◆ SESSIONKEY_LEN

#define SESSIONKEY_LEN   64

◆ SESSIONTOKEN_LEN

#define SESSIONTOKEN_LEN   8

◆ UAM_MODULE_CLIENT

#define UAM_MODULE_CLIENT   2

◆ UAM_MODULE_EXPORT

#define UAM_MODULE_EXPORT

◆ UAM_MODULE_SERVER

#define UAM_MODULE_SERVER   1

◆ UAM_MODULE_VERSION

#define UAM_MODULE_VERSION   1

◆ UAM_NEED_LIBGCRYPT_VERSION

#define UAM_NEED_LIBGCRYPT_VERSION   NULL

◆ UAM_OPTION_CLIENTNAME

#define UAM_OPTION_CLIENTNAME   (1 << 8)

get client IP address

◆ UAM_OPTION_COOKIE

#define UAM_OPTION_COOKIE   (1 << 6)

cookie handle

◆ UAM_OPTION_FQDN

#define UAM_OPTION_FQDN   (1 << 14)

fully qualified name

◆ UAM_OPTION_GUEST

#define UAM_OPTION_GUEST   (1 << 1)

get guest user

◆ UAM_OPTION_HOSTNAME

#define UAM_OPTION_HOSTNAME   (1 << 5)

get host name

◆ UAM_OPTION_KRB5REALM

#define UAM_OPTION_KRB5REALM   (1 << 13)

krb realm

◆ UAM_OPTION_KRB5SERVICE

#define UAM_OPTION_KRB5SERVICE   (1 << 9)

service name for krb5 principal

◆ UAM_OPTION_MACCHARSET

#define UAM_OPTION_MACCHARSET   (1 << 10)

mac charset handle

◆ UAM_OPTION_PASSWDOPT

#define UAM_OPTION_PASSWDOPT   (1 << 2)

get the password file

◆ UAM_OPTION_PROTOCOL

#define UAM_OPTION_PROTOCOL   (1 << 7)

DSI or ASP

◆ UAM_OPTION_RANDNUM

#define UAM_OPTION_RANDNUM   (1 << 4)

request a random number

◆ UAM_OPTION_SESSIONINFO

#define UAM_OPTION_SESSIONINFO   (1 << 12)

unix charset handle

◆ UAM_OPTION_SIGNATURE

#define UAM_OPTION_SIGNATURE   (1 << 3)

get server signature

◆ UAM_OPTION_UNIXCHARSET

#define UAM_OPTION_UNIXCHARSET   (1 << 11)

unix charset handle

◆ UAM_OPTION_USERNAME

#define UAM_OPTION_USERNAME   (1 << 0)

get space for username

◆ UAM_PASSWD_EXPIRETIME

#define UAM_PASSWD_EXPIRETIME   (1 << 3)

not implemented yet.

◆ UAM_PASSWD_FILENAME

#define UAM_PASSWD_FILENAME   (1 << 0)

◆ UAM_PASSWD_MINLENGTH

#define UAM_PASSWD_MINLENGTH   (1 << 1)

◆ UAM_PASSWD_SRP_FILENAME

#define UAM_PASSWD_SRP_FILENAME   (1 << 2)

◆ UAM_SERVER_CHANGEPW

#define UAM_SERVER_CHANGEPW   (1 << 1)

◆ UAM_SERVER_LOGIN

#define UAM_SERVER_LOGIN   (1 << 0)

◆ UAM_SERVER_LOGIN_EXT

#define UAM_SERVER_LOGIN_EXT   (1 << 3)

◆ UAM_SERVER_PRINTAUTH

#define UAM_SERVER_PRINTAUTH   (1 << 2)

◆ UAM_USERNAMELEN

#define UAM_USERNAMELEN   255

Function Documentation

◆ uam_afp_read()

UAM_MODULE_EXPORT int uam_afp_read ( void *  ,
char *  ,
size_t *  ,
int(*)(void *, void *, const int)   
)
extern

◆ uam_afpserver_option()

UAM_MODULE_EXPORT int uam_afpserver_option ( void *  private,
const int  what,
void *  option,
size_t *  len 
)
extern

Crap to support uams which call this afpd function

◆ uam_checkuser()

UAM_MODULE_EXPORT int uam_checkuser ( void *  private,
const struct passwd *  pwd 
)
extern

◆ uam_getname()

UAM_MODULE_EXPORT struct passwd * uam_getname ( void *  private,
char *  name,
const int  len 
)
extern

helper functions for plugin uams

Parameters
privatepointer to AFPObj
nameuser name
lensize of name buffer.

◆ uam_register()

UAM_MODULE_EXPORT int uam_register ( const int  type,
const char *  path,
const char *  name,
  ... 
)
extern

set up stuff for this uam.

◆ uam_unregister()

UAM_MODULE_EXPORT void uam_unregister ( const int  type,
const char *  name 
)
extern