diff options
author | Ossama Othman <ossama-othman@users.noreply.github.com> | 2002-03-05 19:11:19 +0000 |
---|---|---|
committer | Ossama Othman <ossama-othman@users.noreply.github.com> | 2002-03-05 19:11:19 +0000 |
commit | c1dbeed11e34995bc1a60a5135b0a78608c3b9bf (patch) | |
tree | 1c6cb5aee0fe12460d6ca5d6981a109c3799cd71 | |
parent | 0e755f988ae83b1e930ec5d96300676d898909e4 (diff) | |
download | ATCD-c1dbeed11e34995bc1a60a5135b0a78608c3b9bf.tar.gz |
ChangeLogTag:Tue Mar 5 10:52:44 2002 Ossama Othman <ossama@uci.edu>
-rw-r--r-- | TAO/ChangeLogs/ChangeLog-02a | 15 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Makefile.Security | 3 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp | 8 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Util.cpp | 1 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Security/Security_PolicyFactory.cpp | 29 |
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), |