netatalk: uam.h File Reference

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

## ◆ 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

  private | pointer to AFPObj
  name | user name
  len | size of name buffer.

## ◆ uam_register()

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

## ◆ uam_unregister()

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