File: isasl.h

package info (click to toggle)
mysql-8.0 8.0.43-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,273,924 kB
  • sloc: cpp: 4,684,605; ansic: 412,450; pascal: 108,398; java: 83,641; perl: 30,221; cs: 27,067; sql: 26,594; sh: 24,181; python: 21,816; yacc: 17,169; php: 11,522; xml: 7,388; javascript: 7,076; makefile: 2,194; lex: 1,075; awk: 670; asm: 520; objc: 183; ruby: 97; lisp: 86
file content (73 lines) | stat: -rw-r--r-- 2,241 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#ifndef ISASL_H
#define ISASL_H 1

#define SASL_CB_LIST_END   0  /* end of list */

#define SASL_USERNAME     0 /* pointer to NUL terminated user name */
#define ISASL_CONFIG      20 /* Just so we don't have to implement all the auxprop stuff */

typedef struct sasl_callback {
    unsigned long id;
    int (*proc)(void);
    void *context;
} sasl_callback_t;

typedef struct sasl_conn {
    char *username;
    char *config;
} sasl_conn_t;

typedef struct user_db_entry {
    char *username;
    char *password;
    char *config;
    struct user_db_entry *next;
} user_db_entry_t;

void sasl_dispose(sasl_conn_t **pconn);

int sasl_server_init(const sasl_callback_t *callbacks,
                     const char *appname);

int sasl_server_new(const char *service,
                    const char *serverFQDN,
                    const char *user_realm,
                    const char *iplocalport,
                    const char *ipremoteport,
                    const sasl_callback_t *callbacks,
                    unsigned flags,
                    sasl_conn_t **pconn);

int sasl_listmech(sasl_conn_t *conn,
                  const char *user,
                  const char *prefix,
                  const char *sep,
                  const char *suffix,
                  const char **result,
                  unsigned *plen,
                  int *pcount);

int sasl_server_start(sasl_conn_t *conn,
                      const char *mech,
                      const char *clientin,
                      unsigned clientinlen,
                      const char **serverout,
                      unsigned *serveroutlen);

int sasl_server_step(sasl_conn_t *conn,
                     const char *clientin,
                     unsigned clientinlen,
                     const char **serverout,
                     unsigned *serveroutlen);

int sasl_getprop(sasl_conn_t *conn, int propnum,
                 const void **pvalue);

#define SASL_OK       0
#define SASL_CONTINUE 1
#define SASL_FAIL     -1        /* generic failure */
#define SASL_NOMEM    -2        /* memory shortage failure */
#define SASL_BADPARAM -7        /* invalid parameter supplied */
#define SASL_NOUSER   -20       /* user not found */

#endif /* ISASL_H */