2008-06-26 23:48:41 +04:00
/*
* Unix SMB / CIFS implementation .
* libnet Support
* Copyright ( C ) Guenther Deschner 2008
*
* 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
* the Free Software Foundation ; either version 3 of the License , or
* ( at your option ) any later version .
*
* 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 .
*
* You should have received a copy of the GNU General Public License
* along with this program ; if not , see < http : //www.gnu.org/licenses/>.
*/
# ifdef HAVE_KRB5
struct libnet_keytab_entry {
const char * name ;
const char * principal ;
DATA_BLOB password ;
uint32_t kvno ;
2008-07-28 16:40:54 +04:00
krb5_enctype enctype ;
2008-06-26 23:48:41 +04:00
} ;
2011-11-02 15:03:53 +04:00
struct ads_struct ;
2008-06-26 23:48:41 +04:00
struct libnet_keytab_context {
krb5_context context ;
krb5_keytab keytab ;
const char * keytab_name ;
2011-11-02 15:03:53 +04:00
struct ads_struct * ads ;
2008-06-26 23:48:41 +04:00
const char * dns_domain_name ;
uint8_t zero_buf [ 16 ] ;
uint32_t count ;
struct libnet_keytab_entry * entries ;
2008-08-01 02:03:10 +04:00
bool clean_old_entries ;
2008-06-26 23:48:41 +04:00
} ;
2010-07-02 02:14:04 +04:00
/* The following definitions come from libnet/libnet_keytab.c */
krb5_error_code libnet_keytab_init ( TALLOC_CTX * mem_ctx ,
const char * keytab_name ,
struct libnet_keytab_context * * ctx ) ;
krb5_error_code libnet_keytab_add ( struct libnet_keytab_context * ctx ) ;
struct libnet_keytab_entry * libnet_keytab_search ( struct libnet_keytab_context * ctx ,
const char * principal , int kvno ,
const krb5_enctype enctype ,
TALLOC_CTX * mem_ctx ) ;
NTSTATUS libnet_keytab_add_to_keytab_entries ( TALLOC_CTX * mem_ctx ,
struct libnet_keytab_context * ctx ,
uint32_t kvno ,
const char * name ,
const char * prefix ,
const krb5_enctype enctype ,
DATA_BLOB blob ) ;
2008-06-26 23:48:41 +04:00
# endif /* HAVE_KRB5 */