summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOssama Othman <ossama-othman@users.noreply.github.com>2002-03-05 19:11:19 +0000
committerOssama Othman <ossama-othman@users.noreply.github.com>2002-03-05 19:11:19 +0000
commitc1dbeed11e34995bc1a60a5135b0a78608c3b9bf (patch)
tree1c6cb5aee0fe12460d6ca5d6981a109c3799cd71
parent0e755f988ae83b1e930ec5d96300676d898909e4 (diff)
downloadATCD-c1dbeed11e34995bc1a60a5135b0a78608c3b9bf.tar.gz
ChangeLogTag:Tue Mar 5 10:52:44 2002 Ossama Othman <ossama@uci.edu>
-rw-r--r--TAO/ChangeLogs/ChangeLog-02a15
-rw-r--r--TAO/orbsvcs/orbsvcs/Makefile.Security3
-rw-r--r--TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp8
-rw-r--r--TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Util.cpp1
-rw-r--r--TAO/orbsvcs/orbsvcs/Security/Security_PolicyFactory.cpp29
5 files changed, 52 insertions, 4 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a
index 1e88271b5b1..112e6b16445 100644
--- a/TAO/ChangeLogs/ChangeLog-02a
+++ b/TAO/ChangeLogs/ChangeLog-02a
@@ -1,3 +1,18 @@
+Tue Mar 5 10:52:44 2002 Ossama Othman <ossama@uci.edu>
+
+ * orbsvcs/orbsvcs/Security/Security_PolicyFactory.cpp
+ (create_policy):
+
+ Enabled support for creation of the
+ SecurityLevel2::InvocationCredentialsPolicy.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Util.cpp:
+
+ Include "tao/debug.h" to pull in "TAO_debug_level" declaration
+ in minimum CORBA builds. Thanks to Stan Sosnovsky
+ <sosnovsky_stan@emc.com> for pointing out the problem.
+
Tue Mar 5 12:52:30 2002 Chad Elliott <elliott_c@ociweb.com>
* orbsvcs/ImplRepo_Service/Forwarder.cpp:
diff --git a/TAO/orbsvcs/orbsvcs/Makefile.Security b/TAO/orbsvcs/orbsvcs/Makefile.Security
index f620a0e9ba5..64a43bb2cbf 100644
--- a/TAO/orbsvcs/orbsvcs/Makefile.Security
+++ b/TAO/orbsvcs/orbsvcs/Makefile.Security
@@ -912,7 +912,8 @@ realclean: clean
SecurityC.i \
SecurityLevel1C.i \
SecurityLevel2C.i \
- Security/QOPPolicy.h Security/EstablishTrustPolicy.h
+ Security/QOPPolicy.h Security/EstablishTrustPolicy.h \
+ Security/InvocationCredentialsPolicy.h
.obj/Security_Current.o .obj/Security_Current.so .shobj/Security_Current.o .shobj/Security_Current.so: Security/Security_Current.cpp \
Security/Security_Current.h \
diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp
index 1bf067eeca9..8790cc5112e 100644
--- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp
+++ b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp
@@ -6,12 +6,16 @@
#include "orbsvcs/Security/Security_ORBInitializer.h" // @todo:
// should go away
+#include "tao/debug.h"
+
#include "ace/SSL/SSL_Context.h"
+
ACE_RCSID (TAO_SSLIOP,
SSLIOP_Factory,
"$Id$")
+
static const char prefix_[] = "iiop";
TAO_SSLIOP_Protocol_Factory::TAO_SSLIOP_Protocol_Factory (void)
@@ -220,7 +224,7 @@ TAO_SSLIOP_Protocol_Factory::init (int argc,
dhparams_path = certificate_path;
dhparams_type = certificate_type;
}
-
+
if (dhparams_path != 0)
{
if (ACE_SSL_Context::instance ()->dh_params (dhparams_path,
@@ -237,7 +241,7 @@ TAO_SSLIOP_Protocol_Factory::init (int argc,
ACE_TEXT ("unable to set ")
ACE_TEXT ("DH parameters <%s>"),
dhparams_path));
- return -1;
+ return -1;
}
else
{
diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Util.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Util.cpp
index 834df616b15..d72b4869017 100644
--- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Util.cpp
+++ b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Util.cpp
@@ -12,6 +12,7 @@ ACE_RCSID (TAO_SSLIOP,
#include "SSLIOP_Current.h"
#include "tao/ORB_Core.h"
+#include "tao/debug.h"
int
diff --git a/TAO/orbsvcs/orbsvcs/Security/Security_PolicyFactory.cpp b/TAO/orbsvcs/orbsvcs/Security/Security_PolicyFactory.cpp
index ee11a590271..067da23f618 100644
--- a/TAO/orbsvcs/orbsvcs/Security/Security_PolicyFactory.cpp
+++ b/TAO/orbsvcs/orbsvcs/Security/Security_PolicyFactory.cpp
@@ -10,6 +10,7 @@ ACE_RCSID (Security,
#include "QOPPolicy.h"
#include "EstablishTrustPolicy.h"
+#include "InvocationCredentialsPolicy.h"
CORBA::Policy_ptr
TAO_Security_PolicyFactory::create_policy (
@@ -77,8 +78,34 @@ TAO_Security_PolicyFactory::create_policy (
return trust_policy;
}
+ else if (type == Security::SecInvocationCredentialsPolicy)
+ {
+ SecurityLevel2::CredentialsList *creds = 0;
+
+ // Extract the desired establishing of trust value from the
+ // given Any.
+ if (!(value >>= creds))
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (
+ CORBA::SystemException::_tao_minor_code (
+ TAO_DEFAULT_MINOR_CODE,
+ EINVAL),
+ CORBA::COMPLETED_NO),
+ CORBA::Policy::_nil ());
+
+ TAO_InvocationCredentialsPolicy *inv_policy = 0;
+ ACE_NEW_THROW_EX (inv_policy,
+ TAO_InvocationCredentialsPolicy (*creds),
+ CORBA::NO_MEMORY (
+ CORBA::SystemException::_tao_minor_code (
+ TAO_DEFAULT_MINOR_CODE,
+ ENOMEM),
+ CORBA::COMPLETED_NO));
+ ACE_CHECK_RETURN (CORBA::Policy::_nil ());
+
+ return inv_policy;
+ }
+
else if (type == Security::SecMechanismsPolicy
- || type == Security::SecInvocationCredentialsPolicy
|| type == Security::SecFeaturePolicy // Deprecated.
|| type == Security::SecDelegationDirectivePolicy)
ACE_THROW_RETURN (CORBA::PolicyError (CORBA::UNSUPPORTED_POLICY),