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;