42 #define MBDYN_SASL_BUFSIZE 1024
44 #define MBDYN_SASL_SERVICE "mbdyn"
45 #define MBDYN_SASL_CONFFILE "mbdyn"
49 #define MBDYN_SASL_NONE 0
50 #define MBDYN_SASL_SERVER 1
51 #define MBDYN_SASL_CLIENT 2
53 #define MBDYN_SASL_FLAG_NONE 0x0000
54 #define MBDYN_SASL_FLAG_CRITICAL 0x0001
55 #define MBDYN_SASL_FLAG_USERAUTHZ 0x0002
56 #define MBDYN_SASL_FLAG_INTERACT 0x0004
57 unsigned long sasl_usleep;
59 const char *sasl_mech;
60 const char *sasl_user;
61 const char *sasl_cred;
62 const char *sasl_realm;
63 const char *sasl_authz;
65 const char *sasl_hostname;
66 const char *sasl_local_ip;
67 const char *sasl_remote_ip;
70 #define MBDYN_SASL_INIT \
71 { MBDYN_SASL_NONE, MBDYN_SASL_FLAG_NONE, 0L, \
72 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
76 mbdyn_sasl_client_init(
struct mbdyn_sasl_t *urtnet_sasl);
80 mbdyn_sasl_server_init(
struct mbdyn_sasl_t *urtnet_sasl);
85 mbdyn_sasl_init(
struct mbdyn_sasl_t *urtnet_sasl);
89 mbdyn_sasl_fini(
void);
95 mbdyn_sasl_client_auth(
int sock,
struct sockaddr *bindaddr,
96 struct mbdyn_sasl_t *urtnet_sasl);
102 mbdyn_sasl_server_auth(
int sock,
struct sockaddr *bindaddr,
103 struct mbdyn_sasl_t *urtnet_sasl);
109 mbdyn_sasl_auth(
int sock,
struct sockaddr *bindaddr,
110 struct mbdyn_sasl_t *urtnet_sasl);
115 mbdyn_sasl_validate(
struct mbdyn_sasl_t *urtnet_sasl);
117 #define MBDYN_SASL_OPTIONS "a:f:h:i:l:m:r:s:u:w:"
125 mbdyn_sasl_parse_args(
int opt,
const char *val,
126 struct mbdyn_sasl_t *urtnet_sasl);
131 mbdyn_sasl_negotiate(
struct mbdyn_sasl_t *urtnet_sasl);
133 extern sasl_log_t *log_server_f;
134 extern sasl_log_t *log_client_f;
135 extern sasl_getsimple_t *get_user_f;
136 extern sasl_getsimple_t *get_authname_f;
137 extern sasl_getsecret_t *get_secret_f;
138 extern sasl_getrealm_t *get_realm_f;