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
*/
# 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>
2009-07-27 07:48:45 +04:00
# include "kdc/hdb-samba4.h"
2005-06-03 15:23:15 +04:00
2006-01-03 20:27:33 +03:00
struct kdc_server ;
2009-12-15 14:58:40 +03:00
struct tsocket_address ;
2006-01-03 20:27:33 +03:00
2010-01-21 17:57:41 +03:00
extern struct krb5plugin_windc_ftable windc_plugin_table ;
2007-01-10 04:51:35 +03:00
2007-08-27 22:10:19 +04:00
bool kpasswdd_process ( struct kdc_server * kdc ,
2009-12-23 23:17:16 +03:00
TALLOC_CTX * mem_ctx ,
DATA_BLOB * input ,
2005-12-11 11:31:46 +03:00
DATA_BLOB * reply ,
2009-12-15 14:58:40 +03:00
struct tsocket_address * peer_addr ,
struct tsocket_address * my_addr ,
2006-11-07 09:59:56 +03:00
int datagram_reply ) ;
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 ;
2009-07-27 10:09:25 +04:00
struct hdb_samba4_context * hdb_samba4_context ;
2005-10-21 05:25:55 +04:00
} ;
2010-01-21 17:57:41 +03:00
/* from hdb-samba4.c */
NTSTATUS hdb_samba4_create_kdc ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev_ctx ,
struct loadparm_context * lp_ctx ,
krb5_context context , struct HDB * * db ) ;