2009-12-23 23:17:16 +03:00
/*
2005-06-03 15:23:15 +04:00
Unix SMB / CIFS implementation .
KDC structures
Copyright ( C ) Andrew Tridgell 2005
Copyright ( C ) Andrew Bartlett < abartlet @ samba . org > 2005
2009-12-23 23:17:16 +03:00
2005-06-03 15:23:15 +04:00
This program is free software ; you can redistribute it and / or modify
it under the terms of the GNU General Public License as published by
2007-07-10 06:07:03 +04:00
the Free Software Foundation ; either version 3 of the License , or
2005-06-03 15:23:15 +04:00
( at your option ) any later version .
2009-12-23 23:17:16 +03:00
2005-06-03 15:23:15 +04:00
This program 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 General Public License for more details .
2009-12-23 23:17:16 +03:00
2005-06-03 15:23:15 +04:00
You should have received a copy of the GNU General Public License
2007-07-10 06:07:03 +04:00
along with this program . If not , see < http : //www.gnu.org/licenses/>.
2005-06-03 15:23:15 +04:00
*/
2010-09-28 08:03:14 +04:00
# ifndef _KDC_KDC_H
# define _KDC_KDC_H
2005-06-03 15:23:15 +04:00
# include "system/kerberos.h"
2005-06-03 18:32:10 +04:00
# include "auth/kerberos/kerberos.h"
2008-08-01 19:24:24 +04:00
# include <hdb.h>
2009-06-18 05:08:46 +04:00
# include <kdc.h>
2008-08-01 19:24:24 +04:00
# include <krb5/windc_plugin.h>
2010-01-28 09:27:11 +03:00
# include "kdc/samba_kdc.h"
2005-06-03 15:23:15 +04:00
2009-12-15 14:58:40 +03:00
struct tsocket_address ;
2006-01-03 20:27:33 +03:00
2005-10-21 05:25:55 +04:00
/*
top level context structure for the kdc server
*/
struct kdc_server {
struct task_server * task ;
krb5_kdc_configuration * config ;
struct smb_krb5_context * smb_krb5_context ;
2010-01-28 08:08:36 +03:00
struct samba_kdc_base_context * base_ctx ;
2005-10-21 05:25:55 +04:00
} ;
2010-11-11 06:22:40 +03:00
enum kdc_process_ret {
KDC_PROCESS_OK = 0 ,
KDC_PROCESS_FAILED ,
KDC_PROCESS_PROXY } ;
enum kdc_process_ret kpasswdd_process ( struct kdc_server * kdc ,
TALLOC_CTX * mem_ctx ,
DATA_BLOB * input ,
DATA_BLOB * reply ,
struct tsocket_address * peer_addr ,
struct tsocket_address * my_addr ,
int datagram_reply ) ;
2010-01-28 08:08:36 +03:00
2010-01-21 17:57:41 +03:00
/* from hdb-samba4.c */
2010-01-28 08:08:36 +03:00
NTSTATUS hdb_samba4_create_kdc ( struct samba_kdc_base_context * base_ctx ,
krb5_context context , struct HDB * * db ) ;
2010-09-28 08:03:14 +04:00
# endif