2021-04-20 15:56:48 +02:00
|
|
|
/*
|
|
|
|
* Copyright 2017 Dmitry Timoshkov
|
|
|
|
* Copyright 2017 George Popoff
|
|
|
|
* Copyright 2008 Robert Shearman for CodeWeavers
|
|
|
|
* Copyright 2017,2021 Hans Leidekker for CodeWeavers
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
|
|
*/
|
|
|
|
|
2021-04-21 09:47:27 +02:00
|
|
|
#define KERBEROS_MAX_BUF 12000
|
|
|
|
|
2021-04-21 09:47:30 +02:00
|
|
|
struct ticket_list
|
|
|
|
{
|
|
|
|
ULONG count;
|
|
|
|
ULONG allocated;
|
|
|
|
KERB_TICKET_CACHE_INFO *tickets;
|
|
|
|
};
|
|
|
|
|
2021-04-20 15:56:48 +02:00
|
|
|
struct krb5_funcs
|
|
|
|
{
|
2021-04-20 15:56:50 +02:00
|
|
|
NTSTATUS (CDECL *accept_context)(LSA_SEC_HANDLE, LSA_SEC_HANDLE, SecBufferDesc *, LSA_SEC_HANDLE *,
|
|
|
|
SecBufferDesc *, ULONG *, TimeStamp *);
|
2021-04-20 15:56:48 +02:00
|
|
|
NTSTATUS (CDECL *acquire_credentials_handle)(const char *, ULONG, const char *, const char *, LSA_SEC_HANDLE *,
|
|
|
|
TimeStamp *);
|
2021-04-20 15:56:49 +02:00
|
|
|
NTSTATUS (CDECL *delete_context)(LSA_SEC_HANDLE);
|
2021-04-20 15:56:48 +02:00
|
|
|
NTSTATUS (CDECL *free_credentials_handle)(LSA_SEC_HANDLE);
|
2021-04-20 15:56:49 +02:00
|
|
|
NTSTATUS (CDECL *initialize_context)(LSA_SEC_HANDLE, LSA_SEC_HANDLE, const char *, ULONG, SecBufferDesc *,
|
|
|
|
LSA_SEC_HANDLE *, SecBufferDesc *, ULONG *, TimeStamp *);
|
2021-04-20 15:56:51 +02:00
|
|
|
NTSTATUS (CDECL *make_signature)(LSA_SEC_HANDLE, SecBufferDesc *);
|
2021-04-21 09:47:27 +02:00
|
|
|
NTSTATUS (CDECL *query_context_attributes)(LSA_SEC_HANDLE, ULONG, void *);
|
2021-04-21 09:47:30 +02:00
|
|
|
NTSTATUS (CDECL *query_ticket_cache)(struct ticket_list *);
|
2021-04-21 09:47:28 +02:00
|
|
|
NTSTATUS (CDECL *seal_message)(LSA_SEC_HANDLE, SecBufferDesc *, ULONG);
|
2021-04-21 09:47:29 +02:00
|
|
|
NTSTATUS (CDECL *unseal_message)(LSA_SEC_HANDLE, SecBufferDesc *, ULONG *);
|
2021-04-20 15:56:52 +02:00
|
|
|
NTSTATUS (CDECL *verify_signature)(LSA_SEC_HANDLE, SecBufferDesc *, ULONG *);
|
2021-04-20 15:56:48 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
extern const struct krb5_funcs *krb5_funcs;
|