diff options
author | Stephen D. Huston <shuston@apache.org> | 2010-05-03 14:31:48 +0000 |
---|---|---|
committer | Stephen D. Huston <shuston@apache.org> | 2010-05-03 14:31:48 +0000 |
commit | 8020e362ca29bc44819df5b087b5fe0854530bea (patch) | |
tree | 0e775fc60bf96d7300c31842b1b6ce655432b9de /wcf | |
parent | 1350609b0447be2595c58452938055f1ddcdefd4 (diff) | |
download | qpid-python-8020e362ca29bc44819df5b087b5fe0854530bea.tar.gz |
Add files from the QPID-2500 patch. These should have been included earlier.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@940470 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'wcf')
-rw-r--r-- | wcf/src/Apache/Qpid/Channel/AmqpCredential.cs | 113 | ||||
-rw-r--r-- | wcf/src/Apache/Qpid/Channel/AmqpSecurityMode.cs | 37 |
2 files changed, 150 insertions, 0 deletions
diff --git a/wcf/src/Apache/Qpid/Channel/AmqpCredential.cs b/wcf/src/Apache/Qpid/Channel/AmqpCredential.cs new file mode 100644 index 0000000000..e2da07c800 --- /dev/null +++ b/wcf/src/Apache/Qpid/Channel/AmqpCredential.cs @@ -0,0 +1,113 @@ +/*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements. See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership. The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied. See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*/
+
+/*
+ * AMQP has a SASL authentication mechanism that doesn't match
+ * with existing .NET credentials. The analogy breaks down further
+ * if there is a list of brokers to cycle through on failover.
+ * This class will allow arbitrary credentials to be specified
+ * by the user, but is meant to be sensibly populated by bindings
+ * that use it from ClientCredentials.
+ * See the related interplay of ClientCredentials and
+ * WebProxy NetworkCredential for the BasicHttpBinding.
+ */
+
+namespace Apache.Qpid.Channel
+{
+ using System;
+
+ /// <summary>
+ /// Credentials for establishing a connection to an AMQP server.
+ /// </summary>
+ public class AmqpCredential
+ {
+ private string password;
+ private string userName; // SASL authentication id
+ // Future: private string the_Sasl_Authorization_ID
+ // Future: private X509CertificateInitiatorClientCredential tlsClientCertificate;
+
+ public AmqpCredential(string userName, string password)
+ {
+ if (userName == null)
+ {
+ throw new ArgumentNullException("user name");
+ }
+
+ if (password == null)
+ {
+ throw new ArgumentNullException("password");
+ }
+
+ this.userName = userName;
+ this.password = password;
+ }
+
+ public string UserName
+ {
+ get
+ {
+ if (this.userName == null)
+ {
+ this.userName = "";
+ }
+
+ return this.userName;
+ }
+
+ set
+ {
+ if (value == null)
+ {
+ throw new ArgumentNullException("user name");
+ }
+
+ this.userName = value;
+ }
+ }
+
+ public string Password
+ {
+ get
+ {
+ if (this.password == null)
+ {
+ this.password = "";
+ }
+
+ return this.password;
+ }
+
+ set
+ {
+ if (value == null)
+ {
+ throw new ArgumentNullException("password");
+ }
+
+ this.password = value;
+ }
+ }
+
+ public AmqpCredential Clone()
+ {
+ return (AmqpCredential) this.MemberwiseClone();
+ }
+ }
+
+}
diff --git a/wcf/src/Apache/Qpid/Channel/AmqpSecurityMode.cs b/wcf/src/Apache/Qpid/Channel/AmqpSecurityMode.cs new file mode 100644 index 0000000000..88e7add054 --- /dev/null +++ b/wcf/src/Apache/Qpid/Channel/AmqpSecurityMode.cs @@ -0,0 +1,37 @@ +/*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements. See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership. The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied. See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*/
+
+namespace Apache.Qpid.Channel
+{
+ /// <summary>
+ /// Specifies whether trasport-level security is used with AMQP connections
+ /// </summary>
+ public enum AmqpSecurityMode
+ {
+ /// <summary>
+ /// Indicates no security is used with the AMQP transport
+ /// </summary>
+ None,
+
+ /// <summary>
+ /// Indicates transport-level security is used with the AMQP transport
+ /// </summary>
+ Transport
+ }
+}
|