gsasl  1.10.0
About: GNU SASL is an implementation of the Simple Authentication and Security Layer (SASL). Development version.
  Fossies Dox: gsasl-1.10.0.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

internal.h
Go to the documentation of this file.
1 /* internal.h --- Internal header with hidden library handle structures.
2  * Copyright (C) 2002-2021 Simon Josefsson
3  *
4  * This file is part of GNU SASL Library.
5  *
6  * GNU SASL Library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public License
8  * as published by the Free Software Foundation; either version 2.1 of
9  * the License, or (at your option) any later version.
10  *
11  * GNU SASL Library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License License along with GNU SASL Library; if not, write to the
18  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19  * Boston, MA 02110-1301, USA.
20  *
21  */
22 
23 #ifndef INTERNAL_H
24 #define INTERNAL_H
25 
26 #ifdef HAVE_CONFIG_H
27 #include "config.h"
28 #endif
29 
30 /* Get specifications. */
31 #include "gsasl.h"
32 
33 /* Get malloc, free, ... */
34 #include <stdlib.h>
35 
36 /* Get strlen, strcpy, ... */
37 #include <string.h>
38 
39 /* Main library handle. */
40 struct Gsasl
41 {
46  /* Callback. */
49 #ifndef GSASL_NO_OBSOLETE
50  /* Obsolete stuff. */
74 #endif
75 };
76 
77 /* Per-session library handle. */
79 {
81  int clientp;
83  void *mech_data;
85 
86  /* Properties. */
88  char *authid;
89  char *authzid;
90  char *password;
91  char *passcode;
92  char *pin;
93  char *suggestedpin;
94  char *service;
95  char *hostname;
97  char *realm;
99  char *qops;
100  char *qop;
101  char *scram_iter;
102  char *scram_salt;
111  /* If you add anything here, remember to change change
112  gsasl_finish() in xfinish.c and map() in property.c. */
113 
114 #ifndef GSASL_NO_OBSOLETE
115  /* Obsolete stuff. */
117 #endif
118 };
119 
120 #ifndef GSASL_NO_OBSOLETE
121 const char *_gsasl_obsolete_property_map (Gsasl_session * sctx,
122  Gsasl_property prop);
124  Gsasl_property prop);
125 #endif
126 
127 #endif /* INTERNAL_H */
int(* Gsasl_client_callback_password)(Gsasl_session *sctx, char *out, size_t *outlen)
Definition: gsasl-compat.h:166
int(* Gsasl_server_callback_validate)(Gsasl_session *sctx, const char *authorization_id, const char *authentication_id, const char *password)
Definition: gsasl-compat.h:191
size_t(* Gsasl_client_callback_maxbuf)(Gsasl_session *sctx, size_t servermaxbuf)
Definition: gsasl-compat.h:182
int(* Gsasl_server_callback_securid)(Gsasl_session *sctx, const char *authentication_id, const char *authorization_id, const char *passcode, char *pin, char *suggestpin, size_t *suggestpinlen)
Definition: gsasl-compat.h:198
size_t(* Gsasl_server_callback_maxbuf)(Gsasl_session *sctx)
Definition: gsasl-compat.h:222
Gsasl_qop(* Gsasl_server_callback_qop)(Gsasl_session *sctx)
Definition: gsasl-compat.h:221
int(* Gsasl_client_callback_realm)(Gsasl_session *sctx, char *out, size_t *outlen)
Definition: gsasl-compat.h:184
int(* Gsasl_server_callback_service)(Gsasl_session *sctx, char *service, size_t *servicelen, char *hostname, size_t *hostnamelen)
Definition: gsasl-compat.h:211
int(* Gsasl_server_callback_anonymous)(Gsasl_session *sctx, const char *token)
Definition: gsasl-compat.h:217
int(* Gsasl_client_callback_anonymous)(Gsasl_session *sctx, char *out, size_t *outlen)
Definition: gsasl-compat.h:158
int(* Gsasl_server_callback_gssapi)(Gsasl_session *sctx, const char *clientname, const char *authentication_id)
Definition: gsasl-compat.h:195
int(* Gsasl_client_callback_passcode)(Gsasl_session *sctx, char *out, size_t *outlen)
Definition: gsasl-compat.h:168
int(* Gsasl_server_callback_retrieve)(Gsasl_session *sctx, const char *authentication_id, const char *authorization_id, const char *realm, char *key, size_t *keylen)
Definition: gsasl-compat.h:186
int(* Gsasl_client_callback_service)(Gsasl_session *sctx, char *service, size_t *servicelen, char *hostname, size_t *hostnamelen, char *servicename, size_t *servicenamelen)
Definition: gsasl-compat.h:173
int(* Gsasl_client_callback_pin)(Gsasl_session *sctx, char *suggestion, char *out, size_t *outlen)
Definition: gsasl-compat.h:170
Gsasl_qop(* Gsasl_client_callback_qop)(Gsasl_session *sctx, Gsasl_qop serverqops)
Definition: gsasl-compat.h:180
int(* Gsasl_client_callback_authorization_id)(Gsasl_session *sctx, char *out, size_t *outlen)
Definition: gsasl-compat.h:163
int(* Gsasl_server_callback_external)(Gsasl_session *sctx)
Definition: gsasl-compat.h:216
int(* Gsasl_client_callback_authentication_id)(Gsasl_session *sctx, char *out, size_t *outlen)
Definition: gsasl-compat.h:160
int(* Gsasl_server_callback_digest_md5)(Gsasl_session *sctx, char *username, char *realm, char *secrethash)
Definition: gsasl-compat.h:208
Gsasl_cipher(* Gsasl_server_callback_cipher)(Gsasl_session *sctx)
Definition: gsasl-compat.h:223
int(* Gsasl_server_callback_cram_md5)(Gsasl_session *sctx, char *username, char *challenge, char *response)
Definition: gsasl-compat.h:204
int(* Gsasl_server_callback_realm)(Gsasl_session *sctx, char *out, size_t *outlen, size_t nth)
Definition: gsasl-compat.h:219
int(* Gsasl_callback_function)(Gsasl *ctx, Gsasl_session *sctx, Gsasl_property prop)
Definition: gsasl.h:396
Gsasl_property
Definition: gsasl.h:333
int _gsasl_obsolete_callback(Gsasl *ctx, Gsasl_session *sctx, Gsasl_property prop)
const char * _gsasl_obsolete_property_map(Gsasl_session *sctx, Gsasl_property prop)
Definition: obsolete.c:2042
void * mech_data
Definition: internal.h:83
char * qops
Definition: internal.h:99
Gsasl_mechanism * mech
Definition: internal.h:82
char * hostname
Definition: internal.h:95
char * authid
Definition: internal.h:88
char * openid20_redirect_url
Definition: internal.h:109
char * service
Definition: internal.h:94
char * qop
Definition: internal.h:100
char * scram_salted_password
Definition: internal.h:103
char * gssapi_display_name
Definition: internal.h:96
char * pin
Definition: internal.h:92
char * cb_tls_unique
Definition: internal.h:106
void * application_hook
Definition: internal.h:84
char * scram_storedkey
Definition: internal.h:105
char * saml20_redirect_url
Definition: internal.h:108
char * scram_salt
Definition: internal.h:102
void * application_data
Definition: internal.h:116
char * scram_iter
Definition: internal.h:101
Gsasl * ctx
Definition: internal.h:80
char * passcode
Definition: internal.h:91
char * anonymous_token
Definition: internal.h:87
char * password
Definition: internal.h:90
char * openid20_outcome_data
Definition: internal.h:110
char * suggestedpin
Definition: internal.h:93
char * digest_md5_hashed_password
Definition: internal.h:98
char * authzid
Definition: internal.h:89
char * realm
Definition: internal.h:97
char * scram_serverkey
Definition: internal.h:104
char * saml20_idp_identifier
Definition: internal.h:107
Definition: internal.h:41
Gsasl_client_callback_pin cbc_pin
Definition: internal.h:55
Gsasl_server_callback_service cbs_service
Definition: internal.h:72
size_t n_client_mechs
Definition: internal.h:42
Gsasl_client_callback_authentication_id cbc_authentication_id
Definition: internal.h:52
Gsasl_server_callback_anonymous cbs_anonymous
Definition: internal.h:67
Gsasl_client_callback_anonymous cbc_anonymous
Definition: internal.h:56
Gsasl_client_callback_password cbc_password
Definition: internal.h:53
Gsasl_client_callback_passcode cbc_passcode
Definition: internal.h:54
Gsasl_client_callback_service cbc_service
Definition: internal.h:59
Gsasl_server_callback_cipher cbs_cipher
Definition: internal.h:71
Gsasl_server_callback_realm cbs_realm
Definition: internal.h:68
Gsasl_mechanism * server_mechs
Definition: internal.h:45
Gsasl_server_callback_retrieve cbs_retrieve
Definition: internal.h:63
Gsasl_server_callback_gssapi cbs_gssapi
Definition: internal.h:73
Gsasl_client_callback_maxbuf cbc_maxbuf
Definition: internal.h:58
Gsasl_client_callback_realm cbc_realm
Definition: internal.h:60
Gsasl_server_callback_maxbuf cbs_maxbuf
Definition: internal.h:70
Gsasl_server_callback_cram_md5 cbs_cram_md5
Definition: internal.h:64
Gsasl_server_callback_external cbs_external
Definition: internal.h:66
Gsasl_mechanism * client_mechs
Definition: internal.h:43
Gsasl_server_callback_digest_md5 cbs_digest_md5
Definition: internal.h:65
void * application_hook
Definition: internal.h:48
Gsasl_server_callback_qop cbs_qop
Definition: internal.h:69
Gsasl_client_callback_authorization_id cbc_authorization_id
Definition: internal.h:51
Gsasl_client_callback_qop cbc_qop
Definition: internal.h:57
Gsasl_server_callback_validate cbs_validate
Definition: internal.h:61
Gsasl_callback_function cb
Definition: internal.h:47
size_t n_server_mechs
Definition: internal.h:44
Gsasl_server_callback_securid cbs_securid
Definition: internal.h:62