gsasl
2.2.1
lib
external
external/client.c
Go to the documentation of this file.
1
/* client.c --- EXTERNAL mechanism as defined in RFC 2222, client side.
2
* Copyright (C) 2002-2024 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 along with GNU SASL Library; if not, write to the Free
18
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19
* Boston, MA 02110-1301, USA.
20
*
21
*/
22
23
#include <config.h>
24
25
/* Get specification. */
26
#include "
external.h
"
27
28
/* Get strdup, strlen. */
29
#include <string.h>
30
31
int
32
_gsasl_external_client_step
(
Gsasl_session
*sctx,
33
void
*mech_data _GL_UNUSED,
34
const
char
*input _GL_UNUSED,
35
size_t
input_len _GL_UNUSED,
36
char
**output,
size_t
*output_len)
37
{
38
const
char
*p;
39
40
p =
gsasl_property_get
(sctx,
GSASL_AUTHZID
);
41
if
(!p)
42
p =
""
;
43
44
*output = strdup (p);
45
if
(!*output)
46
return
GSASL_MALLOC_ERROR
;
47
*output_len = strlen (p);
48
49
return
GSASL_OK
;
50
}
_gsasl_external_client_step
int _gsasl_external_client_step(Gsasl_session *sctx, void *mech_data _GL_UNUSED, const char *input _GL_UNUSED, size_t input_len _GL_UNUSED, char **output, size_t *output_len)
Definition:
external/client.c:32
external.h
GSASL_OK
@ GSASL_OK
Definition:
gsasl.h:129
GSASL_MALLOC_ERROR
@ GSASL_MALLOC_ERROR
Definition:
gsasl.h:133
gsasl_property_get
_GSASL_API const char * gsasl_property_get(Gsasl_session *sctx, Gsasl_property prop)
Definition:
property.c:292
GSASL_AUTHZID
@ GSASL_AUTHZID
Definition:
gsasl.h:225
Gsasl_session
Definition:
internal.h:49
Generated by
1.9.1