[yast-commit] r50740 - in /trunk/ldap-server/src: agent/SlapdConfigAgent.cc lib/slapd-config.cpp lib/slapd-config.h
Author: rhafer
Date: Fri Sep 5 14:25:44 2008
New Revision: 50740
URL: http://svn.opensuse.org/viewcvs/yast?rev=50740&view=rev
Log:
Move ACL generation code to libslapdconfig
Modified:
trunk/ldap-server/src/agent/SlapdConfigAgent.cc
trunk/ldap-server/src/lib/slapd-config.cpp
trunk/ldap-server/src/lib/slapd-config.h
Modified: trunk/ldap-server/src/agent/SlapdConfigAgent.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/agent/SlapdConfigAgent.cc?rev=50740&r1=50739&r2=50740&view=diff
==============================================================================
--- trunk/ldap-server/src/agent/SlapdConfigAgent.cc (original)
+++ trunk/ldap-server/src/agent/SlapdConfigAgent.cc Fri Sep 5 14:25:44 2008
@@ -1198,62 +1198,58 @@
else if ( dbComponent == "acl" )
{
YCPList argList = arg->asList();
- StringList aclStrings;
+ OlcAccessList aclList;
for ( int j = 0; j < argList->size(); j++ )
{
- std::ostringstream aclString;
- aclString << "to";
+ boost::shared_ptr<OlcAccess> acl( new OlcAccess() );
+
// create the "to dn.<scope>=<dn> ...." part of the ACL
YCPMap target = argList->value(j)->asMap()->value(YCPString("target"))->asMap();
if (target.size() == 0 )
{
- aclString << " *";
+ acl->setFilter("");
+ acl->setAttributes("");
+ acl->setDnType("");
+ acl->setDn("");
+ acl->setMatchAll(true);
}
else
{
+ acl->setMatchAll(false);
if (! target->value( YCPString("dn") ).isNull() )
{
- aclString << " dn."
- << target->value( YCPString("dn") )->asMap()->value( YCPString("style") )->asString()->value_cstr()
- << "=";
-
- aclString << "\""
- << target->value( YCPString("dn") )->asMap()->value( YCPString("value") )->asString()->value_cstr()
- << "\"";
+ acl->setDnType( target->value(YCPString("dn"))->asMap()->value(YCPString("style"))->asString()->value_cstr() );
+ acl->setDn( target->value( YCPString("dn") )->asMap()->value( YCPString("value") )->asString()->value_cstr() );
}
if (! target->value( YCPString("filter") ).isNull() )
{
- aclString << " filter=\""
- << target->value( YCPString("filter") )->asString()->value_cstr()
- << "\"";
-
+ acl->setFilter( target->value( YCPString("filter") )->asString()->value_cstr() );
}
if (! target->value( YCPString("attrs") ).isNull() )
{
- aclString << " attrs="
- << target->value( YCPString("attrs") )->asString()->value_cstr();
+ acl->setAttributes( target->value( YCPString("attrs") )->asString()->value_cstr() );
}
}
// now the " by <xyz>
participants (1)
-
rhafer@svn.opensuse.org