1 | /*------------------------------------------------------------------------- |
2 | * |
3 | * saslprep.h |
4 | * SASLprep normalization, for SCRAM authentication |
5 | * |
6 | * These definitions are used by both frontend and backend code. |
7 | * |
8 | * Copyright (c) 2017-2019, PostgreSQL Global Development Group |
9 | * |
10 | * src/include/common/saslprep.h |
11 | * |
12 | *------------------------------------------------------------------------- |
13 | */ |
14 | #ifndef SASLPREP_H |
15 | #define SASLPREP_H |
16 | |
17 | /* |
18 | * Return codes for pg_saslprep() function. |
19 | */ |
20 | typedef enum |
21 | { |
22 | SASLPREP_SUCCESS = 0, |
23 | SASLPREP_OOM = -1, /* out of memory (only in frontend) */ |
24 | SASLPREP_INVALID_UTF8 = -2, /* input is not a valid UTF-8 string */ |
25 | SASLPREP_PROHIBITED = -3 /* output would contain prohibited characters */ |
26 | } pg_saslprep_rc; |
27 | |
28 | extern pg_saslprep_rc pg_saslprep(const char *input, char **output); |
29 | |
30 | #endif /* SASLPREP_H */ |
31 | |