X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Fatalk%2Fuam.h;h=f54a5d31e1ac7a54256dca3183e141c96bcaeadd;hb=f758a8c097b044293fa2fe58f8a7fcc2d8909b55;hp=29bb542f371fe98a0a695f4dff1b31b5287fea35;hpb=2124172d8708b74ec0851366f9a5cdcc530c91b3;p=netatalk.git diff --git a/include/atalk/uam.h b/include/atalk/uam.h index 29bb542f..f54a5d31 100644 --- a/include/atalk/uam.h +++ b/include/atalk/uam.h @@ -41,6 +41,11 @@ #define UAM_OPTION_PROTOCOL (1 << 7) /* DSI or ASP */ #define UAM_OPTION_CLIENTNAME (1 << 8) /* get client IP address */ #define UAM_OPTION_KRB5SERVICE (1 << 9) /* service name for krb5 principal */ +#define UAM_OPTION_MACCHARSET (1 << 10) /* mac charset handle */ +#define UAM_OPTION_UNIXCHARSET (1 << 11) /* unix charset handle */ +#define UAM_OPTION_SESSIONINFO (1 << 12) /* unix charset handle */ +#define UAM_OPTION_KRB5REALM (1 << 13) /* krb realm */ +#define UAM_OPTION_FQDN (1 << 14) /* fully qualified name */ /* some password options. you pass these in the length parameter and * get back the corresponding option. not all of these are implemented. */ @@ -49,6 +54,9 @@ #define UAM_PASSWD_MAXFAIL (1 << 2) /* not implemented yet. */ #define UAM_PASSWD_EXPIRETIME (1 << 3) /* not implemented yet. */ +/* max lenght of username */ +#define UAM_USERNAMELEN 255 + /* i'm doing things this way because os x server's dynamic linker * support is braindead. it also allows me to do a little versioning. */ struct uam_export { @@ -57,30 +65,35 @@ struct uam_export { void (*uam_cleanup)(void); }; +#define SESSIONKEY_LEN 64 +#define SESSIONTOKEN_LEN 8 + +struct session_info { + void *sessionkey; /* random session key */ + size_t sessionkey_len; + void *cryptedkey; /* kerberos/gssapi crypted key */ + size_t cryptedkey_len; + void *sessiontoken; /* session token sent to the client on FPGetSessionToken*/ + size_t sessiontoken_len; +}; + /* register and unregister uams with these functions */ -extern int uam_register __P((const int, const char *, const char *, ...)); -extern void uam_unregister __P((const int, const char *)); +extern int uam_register (const int, const char *, const char *, ...); +extern void uam_unregister (const int, const char *); /* helper functions */ -extern struct passwd *uam_getname __P((char *, const int)); -extern int uam_checkuser __P((const struct passwd *)); +extern struct passwd *uam_getname (void*, char *, const int); +extern int uam_checkuser (const struct passwd *); /* afp helper functions */ -extern int uam_afp_read __P((void *, char *, int *, - int (*)(void *, void *, const int))); -extern int uam_afpserver_option __P((void *, const int, void *, int *)); +extern int uam_afp_read (void *, char *, size_t *, + int (*)(void *, void *, const int)); +extern int uam_afpserver_option (void *, const int, void *, size_t *); #ifdef TRU64 -extern void uam_afp_getcmdline __P((int *, char ***)); -extern int uam_sia_validate_user __P((sia_collect_func_t *, int, char **, +extern void uam_afp_getcmdline (int *, char ***); +extern int uam_sia_validate_user (sia_collect_func_t *, int, char **, char *, char *, char *, int, char *, - char *)); + char *); #endif /* TRU64 */ -/* switch.c */ -#define UAM_AFPSERVER_PREAUTH (0) -#define UAM_AFPSERVER_POSTAUTH (1 << 0) - -extern int uam_afpserver_action __P((const int /*id*/, const int /*switch*/, - int (*)(), int (**)())); - #endif