#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 | users_by_uidnumber |
| YCPMap | usernames |
| YCPMap | userdns |
| YCPMap | uids |
| YCPMap | homes |
| YCPMap | user_items |
| YCPMap | groups |
| YCPMap | groups_by_name |
| YCPMap | groups_by_gidnumber |
| YCPMap | groupnames |
| YCPMap | gids |
| YCPMap | group_items |
| LdapAgent::LdapAgent | ( | ) |
Default constructor.
| LdapAgent::~LdapAgent | ( | ) | [virtual] |
Destructor.
| string LdapAgent::getValue | ( | const YCPMap | map, | |
| const string | key | |||
| ) | [private] |
search the map for value of given key; both key and value have to be strings when key is not present, empty string is returned
| int LdapAgent::getIntValue | ( | const YCPMap | map, | |
| const string | key, | |||
| int | deflt | |||
| ) | [private] |
Search the map for value of given key
| map | YCP Map to look in | |
| key | key we are looking for | |
| deflt | the default value to be returned if key is not found |
| bool LdapAgent::getBoolValue | ( | const YCPMap | map, | |
| const string | key | |||
| ) | [private] |
| StringList LdapAgent::ycplist2stringlist | ( | YCPList | l | ) | [private] |
converts YCPList to StringList object
| YCPList LdapAgent::stringlist2ycplist | ( | StringList | sl | ) | [private] |
converts StringList object to YCPList value
| YCPList LdapAgent::stringlist2ycplist_low | ( | StringList | sl | ) | [private] |
converts StringList object to YCPList value + each item is lowercased
| YCPMap LdapAgent::getGroupEntry | ( | LDAPEntry * | entry, | |
| string | member_attribute | |||
| ) | [private] |
Return YCP of group, given as LDAP object
| entry | LDAP object of the group [item of search result] | |
| member_attribute | name of attribute with members ("member"/"uniquemember") |
| YCPMap LdapAgent::getUserEntry | ( | LDAPEntry * | entry | ) | [private] |
Return YCP of user, given as LDAP object
| entry | LDAP object of the user [item of search result] |
| YCPMap LdapAgent::getSearchedEntry | ( | LDAPEntry * | entry, | |
| bool | sinlge_value | |||
| ) | [private] |
creates YCPMap describing object returned as a part of LDAP search call
| single_values | if true, return string when argument has only one value (otherwise return always list) |
| YCPMap LdapAgent::getObjectAttributes | ( | string | dn | ) | [private] |
searches for one object and gets all his non-empty attributes
| dn | object's dn |
| YCPBoolean LdapAgent::deleteSubTree | ( | string | dn | ) | [private] |
deletes all children of given entry
| YCPBoolean LdapAgent::moveWithSubtree | ( | string | dn, | |
| string | new_dn, | |||
| string | parent_dn | |||
| ) | [private] |
move the entry in LDAP tree with all its children
| dn | DN of original entry | |
| new_dn | new DN (= new place) | |
| parent_dn | DN of the new parent of the entry |
| YCPBoolean LdapAgent::copyOneEntry | ( | string | dn, | |
| string | new_dn | |||
| ) | [private] |
copy the LDAP entry to new place (+ changes DN-constructing attribute, like cn,uid,ou etc.)
| dn | DN of original entry | |
| new_dn | new DN (= new place) |
| void LdapAgent::debug_exception | ( | LDAPException | e, | |
| string | action | |||
| ) | [private] |
log the output of an exception and set the return value from agent's call
| void LdapAgent::generate_attr_list | ( | LDAPAttributeList * | attrs, | |
| YCPMap | map | |||
| ) | [private] |
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
| YCPValue LdapAgent::Read | ( | const YCPPath & | path, | |
| const YCPValue & | arg = YCPNull(), |
|||
| const YCPValue & | opt = YCPNull() | |||
| ) | [virtual] |
Provides SCR Read ().
| path | Path that should be read. | |
| arg | Additional parameter. |
error: Read(.ldap.error) -> returns last error message
generic LDAP search command Read(.ldap.search, <search_map>) -> 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) DEPRECATED, users_by_name is empty now Read(.ldap.users.by_name) -> map
get the mapping of uid numbers to user names (used for users module) Read(.ldap.users.by_uidnumber) -> 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 gid's indexed by group names (used for users module) DEPRECATED, groups_by_name is empty now Read(.ldap.groups.by_name) -> map
get the mapping of gid numbers to group names (used for users module) Read(.ldap.groups.by_uidnumber) -> 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.
| YCPBoolean LdapAgent::Write | ( | const YCPPath & | path, | |
| const YCPValue & | arg, | |||
| const YCPValue & | arg2 = YCPNull() | |||
| ) | [virtual] |
Provides SCR Write ().
generic LDAP add command Write(.ldap.add, $[ "dn": dn ], <add_map>) -> boolean
generic LDAP modify command Write(.ldap.modify, <arg_map>, <modify_map>) -> boolean
generic LDAP delete command Write(.ldap.delete, $[ "dn" : dn ]) -> boolean
Implements SCRAgent.
| YCPValue LdapAgent::Execute | ( | const YCPPath & | path, | |
| const YCPValue & | arg = YCPNull(), |
|||
| const YCPValue & | arg2 = YCPNull() | |||
| ) | [virtual] |
Provides SCR Execute ().
initialization: Execute (.ldap,$[ "hostname": <host>, "port": <port>, "use_tls": "no"|"yes"|"try" ] )
ping: Execute (.ldap.ping, $[ "hostname": <host>, "port": <port> ] ) returns true if server is running
bind: Execute(.ldap.bind, $[ "bind_dn": binddn, "bindpw": bindpw] ) for anonymous acess, call bind with empty map
unbind: Execute(.ldap.unbind)
Initialize schema: read and parse it
LDAP users search command Read(.ldap.users.search, <search_map>) -> result list (more special work is done than in generic search)
Reimplemented from SCRAgent.
Used for mounting the agent.
Reimplemented from SCRAgent.
int LdapAgent::port [private] |
Agent private variables
string LdapAgent::hostname [private] |
string LdapAgent::bind_dn [private] |
string LdapAgent::bind_pw [private] |
string LdapAgent::ldap_error [private] |
string LdapAgent::server_error [private] |
int LdapAgent::ldap_error_code [private] |
bool LdapAgent::ldap_initialized [private] |
string LdapAgent::userpw_hash [private] |
LDAPConnection* LdapAgent::ldap [private] |
LDAPConstraints* LdapAgent::cons [private] |
LDAPSchema* LdapAgent::schema [private] |
YCPMap LdapAgent::users [private] |
YCPMap LdapAgent::users_by_name [private] |
YCPMap LdapAgent::users_by_uidnumber [private] |
YCPMap LdapAgent::usernames [private] |
YCPMap LdapAgent::userdns [private] |
YCPMap LdapAgent::uids [private] |
YCPMap LdapAgent::homes [private] |
YCPMap LdapAgent::user_items [private] |
YCPMap LdapAgent::groups [private] |
YCPMap LdapAgent::groups_by_name [private] |
YCPMap LdapAgent::groups_by_gidnumber [private] |
YCPMap LdapAgent::groupnames [private] |
YCPMap LdapAgent::gids [private] |
YCPMap LdapAgent::group_items [private] |
1.5.0