diff options
Diffstat (limited to 'src/libtdeldap.h')
-rw-r--r-- | src/libtdeldap.h | 224 |
1 files changed, 0 insertions, 224 deletions
diff --git a/src/libtdeldap.h b/src/libtdeldap.h deleted file mode 100644 index a1369a1..0000000 --- a/src/libtdeldap.h +++ /dev/null @@ -1,224 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2012 by Timothy Pearson * - * [email protected] * - * * - * 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 2 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, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ***************************************************************************/ - -#ifndef _LIBTDELDAP_H_ -#define _LIBTDELDAP_H_ - -#include <unistd.h> -#include <ldap.h> - -#include <tqobject.h> -#include <tqstring.h> -#include <tqdatetime.h> -#include <tqvaluelist.h> - -// Values from hdb.asn1 -enum LDAPKRB5Flags { - KRB5_INITIAL = 0x00000001, - KRB5_FORWARDABLE = 0x00000002, - KRB5_PROXIABLE = 0x00000004, - KRB5_RENEWABLE = 0x00000008, - KRB5_POSTDATE = 0x00000010, - KRB5_SERVER = 0x00000020, - KRB5_CLIENT = 0x00000040, - KRB5_INVALID = 0x00000080, - KRB5_REQUIRE_PREAUTH = 0x00000100, - KRB5_CHANGE_PW = 0x00000200, - KRB5_REQUIRE_HWAUTH = 0x00000400, - KRB5_OK_AS_DELEGATE = 0x00000800, - KRB5_USER_TO_USER = 0x00001000, - KRB5_IMMUTABLE = 0x00002000, - KRB5_TRUSTED_FOR_DELEGATION = 0x00004000, - KRB5_ALLOW_KERBEROS_4 = 0x00008000, - KRB5_ALLOW_DIGEST = 0x00010000, - KRB5_LOCKED_OUT = 0x00020000, - - 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_FLAG_MAX = 0x80000000 -}; - -typedef TQValueList<uid_t> UserList; -typedef TQValueList<gid_t> GroupList; - -class LDAPCredentials -{ - public: - TQString username; - TQCString password; - TQString realm; -}; - -class LDAPUserInfo -{ - public: - LDAPUserInfo(); - ~LDAPUserInfo(); - - public: - bool informationValid; - TQString distinguishedName; - TQString creatorsName; - - TQString name; - uid_t uid; - TQString shell; - TQString homedir; - gid_t primary_gid; - LDAPKRB5Flags status; // Default active user is 586 [KRB5_ACTIVE_DEFAULT] and locked out user is 7586 [KRB5_DISABLED_ACCOUNT] - TQCString new_password; - TQDateTime account_created; - TQDateTime account_modified; - TQDateTime password_last_changed; - bool password_expires; - TQDateTime password_expiration; - bool password_ages; - int new_password_interval; - int new_password_warn_interval; - int new_password_lockout_delay; - bool password_has_minimum_age; - int password_minimum_age; - int maximum_ticket_lifetime; - - // Page 1 - TQString commonName; - TQString givenName; - TQString surName; - TQString initials; - TQString title; - TQString email; - TQString description; - TQString locality; - TQString telephoneNumber; - TQString faxNumber; - TQString homePhone; - TQString mobilePhone; - TQString pagerNumber; - TQString website; - - // Page 2 - TQString poBox; - TQString street; - TQString address; - TQString state; - TQString postcode; - TQString registeredAddress; - TQString homeAddress; - - // Page 3 - TQString seeAlso; - TQString deliveryOffice; - TQString department; - TQString roomNumber; - TQString employeeType; - TQString employeeNumber; - TQString manager; - TQString secretary; - TQString isdnNumber; - TQString teletexID; - TQString telexNumber; - TQString preferredDelivery; - TQString destinationIndicator; - TQString x121Address; - TQString displayName; - TQString preferredLanguage; - TQString uniqueIdentifier; - TQString businessCategory; - TQString carLicense; - TQString notes; -}; - -class LDAPGroupInfo -{ - public: - LDAPGroupInfo(); - ~LDAPGroupInfo(); - - public: - bool informationValid; - TQString distinguishedName; - TQString creatorsName; - - TQString name; - gid_t gid; - TQStringList userlist; -}; - -class LDAPMachineInfo -{ - public: - LDAPMachineInfo(); - ~LDAPMachineInfo(); - - public: - bool informationValid; - TQString distinguishedName; - TQString creatorsName; - - TQString name; - LDAPKRB5Flags status; -}; - -typedef TQValueList<LDAPUserInfo> LDAPUserInfoList; -typedef TQValueList<LDAPGroupInfo> LDAPGroupInfoList; -typedef TQValueList<LDAPMachineInfo> LDAPMachineInfoList; - -class LDAPManager : public TQObject { - Q_OBJECT - - public: - LDAPManager(TQString realm, TQString host, TQObject *parent=0, const char *name=0); - ~LDAPManager(); - - TQString realm(); - TQString basedn(); - int bind(); - int unbind(bool force); - LDAPUserInfoList users(); - LDAPGroupInfoList groups(); - LDAPMachineInfoList machines(); - LDAPUserInfo getUserByDistinguishedName(TQString dn); - LDAPGroupInfo getGroupByDistinguishedName(TQString dn); - int updateUserInfo(LDAPUserInfo user); - int updateGroupInfo(LDAPGroupInfo group); - int addUserInfo(LDAPUserInfo user); - int addGroupInfo(LDAPGroupInfo group); - int deleteUserInfo(LDAPUserInfo user); - int deleteGroupInfo(LDAPGroupInfo group); - int deleteMachineInfo(LDAPMachineInfo machine); - - LDAPCredentials currentLDAPCredentials(); - - private: - LDAPUserInfo parseLDAPUserRecord(LDAPMessage* entry); - LDAPGroupInfo parseLDAPGroupRecord(LDAPMessage* entry); - LDAPMachineInfo parseLDAPMachineRecord(LDAPMessage* entry); - - private: - TQString m_realm; - TQString m_host; - int m_port; - TQString m_basedc; - LDAPCredentials* m_creds; - LDAP *m_ldap; -}; - -#endif // _LIBTDELDAP_H_
\ No newline at end of file |