4 Copyright (C) Andrew Tridgell 2001
5 Copyright (C) Andrew Bartlett 2001-2011
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>.
21 #ifndef _AUTH_GENERIC_
22 #define _AUTH_GENERIC_
24 struct gensec_security
;
26 struct auth_generic_state
{
27 /* used only by the client implementation */
28 struct cli_credentials
*credentials
;
31 struct gensec_security
*gensec_security
;
34 NTSTATUS
auth_generic_set_username(struct auth_generic_state
*ans
,
36 NTSTATUS
auth_generic_set_domain(struct auth_generic_state
*ans
,
38 NTSTATUS
auth_generic_set_password(struct auth_generic_state
*ans
,
39 const char *password
);
40 NTSTATUS
auth_generic_set_creds(struct auth_generic_state
*ans
,
41 struct cli_credentials
*creds
);
42 NTSTATUS
auth_generic_client_prepare(TALLOC_CTX
*mem_ctx
,
43 struct auth_generic_state
**_ans
);
44 NTSTATUS
auth_generic_client_start(struct auth_generic_state
*ans
, const char *oid
);
45 NTSTATUS
auth_generic_client_start_by_name(struct auth_generic_state
*ans
,
47 NTSTATUS
auth_generic_client_start_by_authtype(struct auth_generic_state
*ans
,
50 NTSTATUS
auth_generic_client_start_by_sasl(struct auth_generic_state
*ans
,
51 const char **sasl_list
);
53 #endif /* _AUTH_GENERIC_ */