Author: rhafer
Date: Tue Sep 2 10:33:14 2008
New Revision: 50552
URL: http://svn.opensuse.org/viewcvs/yast?rev=50552&view=rev
Log:
read by-Clauses from libslapdconfig
Modified:
trunk/ldap-server/src/LdapDatabase.ycp
trunk/ldap-server/src/agent/SlapdConfigAgent.cc
Modified: trunk/ldap-server/src/LdapDatabase.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/LdapDatabase.ycp?rev=50552&r1=50551&r2=50552&view=diff
==============================================================================
--- trunk/ldap-server/src/LdapDatabase.ycp (original)
+++ trunk/ldap-server/src/LdapDatabase.ycp Tue Sep 2 10:33:14 2008
@@ -532,6 +532,15 @@
`who_dn_subtree : [ _("All entries in the subtree") , "dn.subtree" ],
`who_group : [ _("All members of the group"), "group" ]
];
+ map whoString2Id = $[
+ "*" : `who_all,
+ "users" : `who_users,
+ "anonymous" : `who_anon,
+ "self" : `who_self,
+ "dn.base" : `who_dn,
+ "dn.subtree" : `who_dn_subtree,
+ "group" : `who_group
+ ];
map accessId2String = $[
`access_none : [ _("No Access"), "none"],
@@ -543,6 +552,16 @@
`access_manage : [ _("Manage (full access)"), "manage" ]
];
+ map accessString2Id = $[
+ "none" : `access_none,
+ "disclose" : `access_disclose,
+ "auth" : `access_auth,
+ "compare" : `access_compare,
+ "read" : `access_read,
+ "write" : `access_write,
+ "manage" : `access_manage
+ ];
+
global map AddAclAccess(string suffix, map access)
{
list itemlist = [];
@@ -950,6 +969,7 @@
map targetMap = acl["target"]:$[];
map resMap =$[];
resMap["target"] = $[];
+ resMap["access"] = [];
if ( size(targetMap) == 0 )
{
resMap["target", "what"] = `dn_all;
@@ -972,6 +992,17 @@
resMap["target", "filter"] = targetMap["filter"]:"";
resMap["target", "attrs"] = targetMap["attrs"]:"";
}
+ list<map> accessList = [];
+ foreach( map access, acl["access"]:[],
+ {
+ map accessMap = $[];
+ accessMap["level"] = accessString2Id[access["level"]:""]:`access_none;
+ accessMap["type"] = whoString2Id[access["type"]:""]:`nil;
+ accessMap["dn"] = access["value"]:"";
+ accessList = add( accessList, accessMap );
+ }
+ );
+ resMap["access"] = accessList;
acllist = add( acllist, resMap );
}
);
Modified: trunk/ldap-server/src/agent/SlapdConfigAgent.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/agent/SlapdConfigAgent.cc?rev=50552&r1=50551&r2=50552&view=diff
==============================================================================
--- trunk/ldap-server/src/agent/SlapdConfigAgent.cc (original)
+++ trunk/ldap-server/src/agent/SlapdConfigAgent.cc Tue Sep 2 10:33:14 2008
@@ -626,7 +626,7 @@
{
YCPMap aclMap;
YCPMap targetMap;
- YCPMap accessMap;
+ YCPList accessList;
if ( (*j)->matchesAll() )
{
}
@@ -659,8 +659,18 @@
targetMap.add( YCPString("dn"), dnMap );
}
}
- aclMap.add( YCPString("target"), targetMap );
- aclMap.add( YCPString("access"), accessMap );
+ aclMap.add( YCPString("target"), targetMap );
+ OlcAclByList byList =(*j)->getAclByList() ;
+ OlcAclByList::const_iterator k;
+ for ( k = byList.begin() ; k != byList.end(); k++ )
+ {
+ YCPMap byMap;
+ byMap.add(YCPString("level"), YCPString( (*k)->getLevel() ) );
+ byMap.add(YCPString("type"), YCPString( (*k)->getType() ) );
+ byMap.add(YCPString("value"), YCPString( (*k)->getValue() ) );
+ accessList.add(byMap);
+ }
+ aclMap.add( YCPString("access"), accessList );
resList.add(aclMap);
}
return resList;
--
To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org
For additional commands, e-mail: yast-commit+help@opensuse.org