#include <LdapAgent.h>
Inheritance diagram for LdapAgent:
Public Member Functions | |
LdapAgent () | |
virtual | ~LdapAgent () |
virtual YCPValue | Read (const YCPPath &path, const YCPValue &arg=YCPNull(), const YCPValue &opt=YCPNull()) |
virtual YCPBoolean | Write (const YCPPath &path, const YCPValue &arg, const YCPValue &arg2=YCPNull()) |
virtual YCPValue | Execute (const YCPPath &path, const YCPValue &arg=YCPNull(), const YCPValue &arg2=YCPNull()) |
virtual YCPList | Dir (const YCPPath &path) |
virtual YCPValue | otherCommand (const YCPTerm &term) |
Private Member Functions | |
string | getValue (const YCPMap map, const string key) |
int | getIntValue (const YCPMap map, const string key, int deflt) |
bool | getBoolValue (const YCPMap map, const string key) |
YCPList | getListValue (const YCPMap map, const string key) |
StringList | ycplist2stringlist (YCPList l) |
YCPList | stringlist2ycplist (StringList sl) |
YCPList | stringlist2ycplist_low (StringList sl) |
YCPMap | getGroupEntry (LDAPEntry *entry, string member_attribute) |
YCPMap | getUserEntry (LDAPEntry *entry) |
YCPMap | getSearchedEntry (LDAPEntry *entry, bool sinlge_value) |
YCPMap | getObjectAttributes (string dn) |
YCPBoolean | deleteSubTree (string dn) |
YCPBoolean | moveWithSubtree (string dn, string new_dn, string parent_dn) |
YCPBoolean | copyOneEntry (string dn, string new_dn) |
void | debug_exception (LDAPException e, string action) |
void | generate_attr_list (LDAPAttributeList *attrs, YCPMap map) |
void | generate_mod_list (LDAPModList *modlist, YCPMap map, YCPValue attrs) |
Private Attributes | |
int | port |
string | hostname |
string | bind_dn |
string | bind_pw |
string | ldap_error |
string | server_error |
int | ldap_error_code |
bool | ldap_initialized |
string | userpw_hash |
LDAPConnection * | ldap |
LDAPConstraints * | cons |
LDAPSchema * | schema |
YCPMap | users |
YCPMap | users_by_name |
YCPMap | usernames |
YCPMap | userdns |
YCPMap | uids |
YCPMap | homes |
YCPMap | user_items |
YCPMap | groups |
YCPMap | groups_by_name |
YCPMap | groupnames |
YCPMap | gids |
YCPMap | group_items |
|
Default constructor. |
|
Destructor. |
|
copy the LDAP entry to new place (+ changes DN-constructing attribute, like cn,uid,ou etc.) |
|
|
|
deletes all children of given entry |
|
Provides SCR Dir (). Implements SCRAgent. |
|
Provides SCR Execute (). initialization: Execute (.ldap,$[ "host": , "port": , "use_tls": "no"|"yes"|"try" ] ) bind: Execute(.ldap.bind, $[ "bind_dn": binddn, "bindpw": bindpw] ) for anonymous acess, call bind with empty map Initialize schema: read and parse it LDAP users search command Read(.ldap.users.search, ) -> result list (more special work is done than in generic search) Reimplemented from SCRAgent. |
|
creates attributes for new LDAP object and fills their values |
|
creates list of modifications for LDAP object for removing attribute, use give it empty value |
|
|
|
|
|
Search the map for value of given key; key is string and value is integer |
|
|
|
searches for one object and gets all his non-empty attributes
|
|
creates YCPMap describing object returned as a part of LDAP search call
|
|
|
|
|
|
move the entry in LDAP tree with all its children |
|
Used for mounting the agent. Reimplemented from SCRAgent. |
|
Provides SCR Read ().
error: Read(.ldap.error) -> returns last error message generic LDAP search command Read(.ldap.search, ) -> result list/map of objects (return value depends on value of "return_map" parameter get the users map (previously searched by users.search) Read(.ldap.users) -> map get the groups map (previously searched by users.search) Read(.ldap.groups) -> map get the map of object class with given name Read(.ldap.schema.oc, $[ "name": name]) -> map get the map of attribute type with given name Read(.ldap.schema.at, $[ "name": name]) -> map get the mapping of usernames to uid's (used for users module) Read(.ldap.users.by_name) -> map get the list of home directories (used for users module) Read(.ldap.users.homes) -> list of homes get the list of UID's (used for users module) Read(.ldap.users.uids) -> list get the list of user names (used for users module) Read(.ldap.users.usernames) -> list get the list of user DN's (used for users module) Read(.ldap.users.userdns) -> list get the items for user table (used for users module) Read(.ldap.users.itemlist) -> list of items get the map of groups indexed by group names (used for users module) Read(.ldap.groups.by_name) -> map get the list of GID's (used for users module) Read(.ldap.groups.gids) -> list get the list of group names (used for users module) Read(.ldap.groups.groupnames) -> list get the items for group table (used for users module) Read(.ldap.groups.itemlist) -> list of items check if given object class exists in schema Read(.ldap.schema.oc.check, $[ "name": name]) -> boolean Implements SCRAgent. |
|
converts StringList object to YCPList value |
|
|
|
Provides SCR Write (). generic LDAP add command Write(.ldap.add, $[ "dn": dn ], ) -> boolean generic LDAP modify command Write(.ldap.modify, , ) -> boolean
generic LDAP delete command Write(.ldap.delete, $[ "dn" : dn ]) -> boolean Implements SCRAgent. |
|
converts YCPList to StringList object |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Agent private variables |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|