s4-nbt: use private_data instead of private.
[Samba/gbeck.git] / source4 / heimdal_build / krb5-glue.c
blobb41e3c02718c6c1ee3c53f7a3644af592da73594
1 /*
2 Unix SMB/CIFS implementation.
4 provide glue functions between heimdal and samba
6 Copyright (C) Andrew Tridgell 2005
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 3 of the License, or
11 (at your option) any later version.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program. If not, see <http://www.gnu.org/licenses/>.
22 #include "includes.h"
23 #include "system/network.h"
24 #include "system/kerberos.h"
25 #include "lib/socket/netif.h"
26 #include "param/param.h"
28 /**
29 get the list of IP addresses for configured interfaces
31 krb5_error_code KRB5_LIB_FUNCTION krb5_get_all_client_addrs(krb5_context context, krb5_addresses *res)
33 int i;
34 struct interface *ifaces;
36 load_interfaces(NULL, lp_interfaces(global_loadparm), &ifaces);
38 res->len = iface_count(ifaces);
39 res->val = malloc_array_p(HostAddress, res->len);
40 if (res->val == NULL) {
41 talloc_free(ifaces);
42 return ENOMEM;
44 for (i=0;i<res->len;i++) {
45 const char *ip = iface_n_ip(ifaces, i);
46 res->val[i].addr_type = AF_INET;
47 res->val[i].address.length = 4;
48 res->val[i].address.data = malloc(4);
49 if (res->val[i].address.data == NULL) {
50 talloc_free(ifaces);
51 return ENOMEM;
53 ((struct in_addr *)res->val[i].address.data)->s_addr = inet_addr(ip);
56 talloc_free(ifaces);
58 return 0;
61 #include "heimdal/lib/krb5/krb5_locl.h"
63 const krb5_cc_ops krb5_scc_ops = {
64 KRB5_CC_OPS_VERSION,
65 "_NOTSUPPORTED_SDB",
66 NULL, /* scc_retrieve */
67 NULL, /* scc_get_principal */
68 NULL, /* scc_get_first */
69 NULL, /* scc_get_next */
70 NULL, /* scc_end_get */
71 NULL, /* scc_remove_cred */
72 NULL, /* scc_set_flags */
73 NULL,
74 NULL, /* scc_get_cache_first */
75 NULL, /* scc_get_cache_next */
76 NULL, /* scc_end_cache_get */
77 NULL, /* scc_move */
78 NULL, /* scc_get_default_name */
79 NULL /* scc_set_default */