netatalk  4.4.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_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_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