1*54925bf6Swillf /* 2*54925bf6Swillf * lib/kdb/kdb_ldap/ldap_services.h 3*54925bf6Swillf * 4*54925bf6Swillf * Copyright (c) 2004-2005, Novell, Inc. 5*54925bf6Swillf * All rights reserved. 6*54925bf6Swillf * 7*54925bf6Swillf * Redistribution and use in source and binary forms, with or without 8*54925bf6Swillf * modification, are permitted provided that the following conditions are met: 9*54925bf6Swillf * 10*54925bf6Swillf * * Redistributions of source code must retain the above copyright notice, 11*54925bf6Swillf * this list of conditions and the following disclaimer. 12*54925bf6Swillf * * Redistributions in binary form must reproduce the above copyright 13*54925bf6Swillf * notice, this list of conditions and the following disclaimer in the 14*54925bf6Swillf * documentation and/or other materials provided with the distribution. 15*54925bf6Swillf * * The copyright holder's name is not used to endorse or promote products 16*54925bf6Swillf * derived from this software without specific prior written permission. 17*54925bf6Swillf * 18*54925bf6Swillf * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19*54925bf6Swillf * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20*54925bf6Swillf * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21*54925bf6Swillf * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 22*54925bf6Swillf * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23*54925bf6Swillf * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24*54925bf6Swillf * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25*54925bf6Swillf * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26*54925bf6Swillf * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27*54925bf6Swillf * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28*54925bf6Swillf * POSSIBILITY OF SUCH DAMAGE. 29*54925bf6Swillf */ 30*54925bf6Swillf 31*54925bf6Swillf #ifndef _LDAP_SERVICE_H 32*54925bf6Swillf #define _LDAP_SERVICE_H 1 33*54925bf6Swillf 34*54925bf6Swillf /* service specific mask */ 35*54925bf6Swillf #define LDAP_SERVICE_SERVICEFLAG 0x0001 36*54925bf6Swillf #define LDAP_SERVICE_HOSTSERVER 0x0002 37*54925bf6Swillf #define LDAP_SERVICE_REALMREFERENCE 0x0004 38*54925bf6Swillf 39*54925bf6Swillf /* service type mask */ 40*54925bf6Swillf #define LDAP_KDC_SERVICE 0x0001 41*54925bf6Swillf #define LDAP_ADMIN_SERVICE 0x0002 42*54925bf6Swillf #define LDAP_PASSWD_SERVICE 0x0004 43*54925bf6Swillf 44*54925bf6Swillf /* rights mask */ 45*54925bf6Swillf #define LDAP_SUBTREE_RIGHTS 0x0001 46*54925bf6Swillf #define LDAP_REALM_RIGHTS 0x0002 47*54925bf6Swillf 48*54925bf6Swillf /* Types of service flags */ 49*54925bf6Swillf #define SERVICE_FLAGS_AUTO_RESTART 0x0001 50*54925bf6Swillf #define SERVICE_FLAGS_CHECK_ADDRESSES 0x0002 51*54925bf6Swillf #define SERVICE_FLAGS_UNIXTIME_OLD_PATYPE 0x0004 52*54925bf6Swillf 53*54925bf6Swillf /* Service protocol type */ 54*54925bf6Swillf #define SERVICE_PROTOCOL_TYPE_UDP "0" 55*54925bf6Swillf #define SERVICE_PROTOCOL_TYPE_TCP "1" 56*54925bf6Swillf 57*54925bf6Swillf typedef struct _krb5_ldap_service_params { 58*54925bf6Swillf char *servicedn; 59*54925bf6Swillf int servicetype; 60*54925bf6Swillf int krbserviceflags; 61*54925bf6Swillf char **krbhostservers; 62*54925bf6Swillf char **krbrealmreferences; 63*54925bf6Swillf krb5_tl_data *tl_data; 64*54925bf6Swillf } krb5_ldap_service_params; 65*54925bf6Swillf 66*54925bf6Swillf #ifdef HAVE_EDIRECTORY 67*54925bf6Swillf 68*54925bf6Swillf krb5_error_code 69*54925bf6Swillf krb5_ldap_read_service( krb5_context, char *, krb5_ldap_service_params **, int *); 70*54925bf6Swillf 71*54925bf6Swillf krb5_error_code 72*54925bf6Swillf krb5_ldap_create_service( krb5_context, krb5_ldap_service_params *,int); 73*54925bf6Swillf 74*54925bf6Swillf krb5_error_code 75*54925bf6Swillf krb5_ldap_modify_service( krb5_context, krb5_ldap_service_params *, int); 76*54925bf6Swillf 77*54925bf6Swillf krb5_error_code 78*54925bf6Swillf krb5_ldap_delete_service( krb5_context, krb5_ldap_service_params *, char *); 79*54925bf6Swillf 80*54925bf6Swillf krb5_error_code 81*54925bf6Swillf krb5_ldap_list_services( krb5_context, char *, char ***); 82*54925bf6Swillf 83*54925bf6Swillf krb5_error_code 84*54925bf6Swillf krb5_ldap_free_service( krb5_context, krb5_ldap_service_params *); 85*54925bf6Swillf 86*54925bf6Swillf 87*54925bf6Swillf krb5_error_code 88*54925bf6Swillf krb5_ldap_set_service_passwd( krb5_context, char *, char *); 89*54925bf6Swillf 90*54925bf6Swillf krb5_error_code 91*54925bf6Swillf krb5_ldap_add_service_rights( krb5_context, int, char *, char *, char **, int); 92*54925bf6Swillf 93*54925bf6Swillf krb5_error_code 94*54925bf6Swillf krb5_ldap_delete_service_rights( krb5_context, int, char *, char *, char **, int); 95*54925bf6Swillf #endif 96*54925bf6Swillf 97*54925bf6Swillf #endif 98