From 3ba9d6e8524284bd52d302682575fba68a74ad17 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Wed, 13 Jun 2012 20:56:24 -0500 Subject: Add service handling routines --- src/libtdeldap.h | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) (limited to 'src/libtdeldap.h') diff --git a/src/libtdeldap.h b/src/libtdeldap.h index 35d3c27..341dff9 100644 --- a/src/libtdeldap.h +++ b/src/libtdeldap.h @@ -81,6 +81,7 @@ enum LDAPKRB5Flags { KRB5_ACTIVE_DEFAULT = KRB5_FORWARDABLE | KRB5_RENEWABLE | KRB5_CLIENT | KRB5_CHANGE_PW, KRB5_DISABLED_ACCOUNT = KRB5_FORWARDABLE | KRB5_SERVER | KRB5_INVALID | KRB5_REQUIRE_PREAUTH | KRB5_REQUIRE_HWAUTH | KRB5_OK_AS_DELEGATE | KRB5_USER_TO_USER, KRB5_MACHINE_ACCOUNT_DEFAULT = KRB5_FORWARDABLE | KRB5_PROXIABLE | KRB5_RENEWABLE | KRB5_POSTDATE | KRB5_SERVER | KRB5_CLIENT, + KRB5_SERVICE_PRINCIPAL_DEFAULT = KRB5_FORWARDABLE | KRB5_PROXIABLE | KRB5_RENEWABLE | KRB5_POSTDATE | KRB5_SERVER | KRB5_CLIENT, KRB5_FLAG_MAX = 0x80000000 }; @@ -140,6 +141,7 @@ class LDAPCredentials TQCString password; TQString realm; bool use_tls; + bool use_gssapi; TQString service; }; @@ -295,7 +297,25 @@ class LDAPMachineInfo TQString name; bool tde_builtin_account; - LDAPKRB5Flags status; + LDAPKRB5Flags status; // Default is 126 [KRB5_MACHINE_ACCOUNT_DEFAULT] +}; + +class LDAPServiceInfo +{ + public: + LDAPServiceInfo(); + ~LDAPServiceInfo(); + + public: + bool informationValid; + TQString distinguishedName; + TQString creatorsName; + + TQString name; + TQString machine; + TQString machine_dn; + bool tde_builtin_account; + LDAPKRB5Flags status; // Default is 126 [KRB5_SERVICE_PRINCIPAL_DEFAULT] }; class LDAPTDEBuiltinsInfo @@ -338,6 +358,7 @@ class KerberosTicketInfo typedef TQValueList LDAPUserInfoList; typedef TQValueList LDAPGroupInfoList; typedef TQValueList LDAPMachineInfoList; +typedef TQValueList LDAPServiceInfoList; typedef TQValueList KerberosTicketInfoList; class LDAPManager : public TQObject { @@ -355,15 +376,19 @@ class LDAPManager : public TQObject { LDAPUserInfoList users(int* retcode=0); LDAPGroupInfoList groups(int* retcode=0); LDAPMachineInfoList machines(int* retcode=0); + LDAPServiceInfoList machineServices(TQString machine_dn, int* retcode=0); + LDAPServiceInfoList services(int* retcode=0); LDAPUserInfo getUserByDistinguishedName(TQString dn); LDAPGroupInfo getGroupByDistinguishedName(TQString dn, TQString *errstr=0); int updateUserInfo(LDAPUserInfo user); int updateGroupInfo(LDAPGroupInfo group); int addUserInfo(LDAPUserInfo user); int addGroupInfo(LDAPGroupInfo group); + int addServiceInfo(LDAPServiceInfo service, TQString *errstr=0); int deleteUserInfo(LDAPUserInfo user); int deleteGroupInfo(LDAPGroupInfo group); int deleteMachineInfo(LDAPMachineInfo machine); + int deleteServiceInfo(LDAPServiceInfo service); LDAPCredentials currentLDAPCredentials(); @@ -400,6 +425,7 @@ class LDAPManager : public TQObject { LDAPUserInfo parseLDAPUserRecord(LDAPMessage* entry); LDAPGroupInfo parseLDAPGroupRecord(LDAPMessage* entry); LDAPMachineInfo parseLDAPMachineRecord(LDAPMessage* entry); + LDAPServiceInfo parseLDAPMachineServiceRecord(LDAPMessage* entry); LDAPTDEBuiltinsInfo parseLDAPTDEBuiltinsRecord(LDAPMessage* entry); private: -- cgit v1.2.3