summaryrefslogtreecommitdiffstats
path: root/include/axis2_ntlm.h
diff options
context:
space:
mode:
authorGravatar damitha2011-05-31 09:16:01 +0000
committerGravatar damitha2011-05-31 09:16:01 +0000
commit0893c0b34450ccfa46463a71ad0fc588ef16abd7 (patch)
tree691cc2e3145557c028d94a4fb72cc5fcfb458b62 /include/axis2_ntlm.h
parentbcaf5833f0b73566937ad9629d01c943b553abe7 (diff)
downloadaxis2c-0893c0b34450ccfa46463a71ad0fc588ef16abd7.tar.gz
axis2c-0893c0b34450ccfa46463a71ad0fc588ef16abd7.tar.bz2
Initial checkin of ntlm auth code
git-svn-id: http://svn.apache.org/repos/asf/axis/axis2/c/core/trunk@1129586 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'include/axis2_ntlm.h')
-rw-r--r--include/axis2_ntlm.h235
1 files changed, 235 insertions, 0 deletions
diff --git a/include/axis2_ntlm.h b/include/axis2_ntlm.h
new file mode 100644
index 0000000..0e78bc5
--- /dev/null
+++ b/include/axis2_ntlm.h
@@ -0,0 +1,235 @@
+
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ *
+ */
+
+#ifndef AXIS2_NTLM_H
+#define AXIS2_NTLM_H
+
+/**
+ *@file axis2_ntlm.h
+ *@brief this is the ntlm authentication abstraction layer for axis2
+ */
+
+#include <axutil_env.h>
+#include <axutil_utils.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+ typedef struct axis2_ntlm_ops axis2_ntlm_ops_t;
+ typedef struct axis2_ntlm axis2_ntlm_t;
+
+ /**
+ * @defgroup axis2_ntlm ntlm
+ * @ingroup axiom
+ * @{
+ * @}
+ */
+
+ /**
+ * @defgroup axis2_ntlm ntlm
+ * @ingroup axis2_ntlm
+ * @{
+ */
+
+ /**
+ * \brief AXIS2_NTLM ops
+ * Encapsulator struct for ops of axiis2_ntlm
+ */
+
+ struct axis2_ntlm_ops
+ {
+ /**
+ * free pull_ntlm
+ * @param ntlm axis2_ntlm struct
+ * @param env axutil_environment MUST NOT be NULL
+ * @returns axis2_status_code
+ */
+
+ void (
+ AXIS2_CALL
+ * free)(
+ axis2_ntlm_t * ntlm,
+ const axutil_env_t * env);
+
+ /**
+ * Create Type1 NTLM message. This will create a type1 message and assign
+ * it to the return type.
+ * @param ntlm axis2_ntlm
+ * @param env axutil_environment, MUST NOT be NULL.
+ * @param encoded_message return type passed by caller.
+ * @param encoded_len length of the encoded message
+ * @param uname user name
+ * @param passwd password
+ * @param flags NTLM flags
+ * @param domain domain
+ * @param workstation
+ * @returns status , AXIS2_FAILURE on error
+ */
+
+ axis2_status_t (
+ AXIS2_CALL
+ * create_type1_message)(
+ axis2_ntlm_t * ntlm,
+ const axutil_env_t * env,
+ axis2_char_t **encoded_message,
+ int *encoded_len,
+ const axis2_char_t *uname,
+ const axis2_char_t *passwd,
+ const int flags,
+ const axis2_char_t *domain);
+
+ /**
+ * Create Type3 NTLM message. This will create a type3 message and assign
+ * it to the return type.
+ * @param ntlm axis2_ntlm
+ * @param env axutil_environment, MUST NOT be NULL.
+ * @param header_value Header value extracted from the type2 message
+ * @param encoded_message return type passed by caller.
+ * @param encoded_len length of the encoded message
+ * @param uname user name
+ * @param passwd password
+ * @param flags NTLM flags
+ * @param domain domain
+ * @param workstation
+ * @returns status , AXIS2_FAILURE on error
+ */
+
+ axis2_status_t(
+ AXIS2_CALL
+ * create_type3_message)(
+ axis2_ntlm_t * ntlm,
+ const axutil_env_t * env,
+ axis2_char_t *header_value,
+ axis2_char_t **encoded_message,
+ int *encoded_len,
+ const axis2_char_t *uname,
+ const axis2_char_t *passwd,
+ const axis2_char_t *domain,
+ const axis2_char_t *workstation);
+
+
+ };
+
+ /**
+ * @brief axis2_ntlm struct
+ * Axis2 NTLM
+ */
+ struct axis2_ntlm
+ {
+ const axis2_ntlm_ops_t *ops;
+ };
+
+ /**
+ * Creates an instance of axis2_ntlm that would be used to
+ * authorize NTLM
+ * @param env environment struct, must not be null
+ * @returns a pointer to axis2_ntlm_t struct
+ * NULL on error with error code set in the environment's error
+ */
+ AXIS2_EXTERN axis2_ntlm_t *AXIS2_CALL
+ axis2_ntlm_create(
+ const axutil_env_t * env);
+
+
+ /**
+ * free method for ntlm
+ * @param ntlm pointer to the NTLM struct
+ * @param env environment struct, must not be null
+ *
+ * @return
+ */
+ AXIS2_EXTERN void AXIS2_CALL
+ axis2_ntlm_free(
+ axis2_ntlm_t * ntlm,
+ const axutil_env_t * env);
+
+ /**
+ * Create Type1 NTLM message. This will create a type1 message and assign
+ * it to the return type.
+ * @param ntlm axis2_ntlm
+ * @param env axutil_environment, MUST NOT be NULL.
+ * @param encoded_message return type passed by caller.
+ * @param encoded_len length of the encoded message
+ * @param uname user name
+ * @param passwd password
+ * @param flags NTLM flags
+ * @param domain domain
+ * @param workstation
+ * @returns status , AXIS2_FAILURE on error
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_ntlm_auth_create_type1_message(
+ axis2_ntlm_t * ntlm,
+ const axutil_env_t * env,
+ axis2_char_t **encoded_message,
+ int *encoded_len,
+ const axis2_char_t *uname,
+ const axis2_char_t *passwd,
+ const int flags,
+ const axis2_char_t *domain);
+
+ /**
+ * Create Type3 NTLM message. This will create a type3 message and assign
+ * it to the return type.
+ * @param ntlm axis2_ntlm
+ * @param env axutil_environment, MUST NOT be NULL.
+ * @param header_value Header value extracted from the type2 message
+ * @param encoded_message return type passed by caller.
+ * @param encoded_len length of the encoded message
+ * @param uname user name
+ * @param passwd password
+ * @param flags NTLM flags
+ * @param domain domain
+ * @param workstation
+ * @returns status , AXIS2_FAILURE on error
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_ntlm_auth_create_type3_message(
+ axis2_ntlm_t * ntlm,
+ const axutil_env_t * env,
+ axis2_char_t *header_value,
+ axis2_char_t **encoded_message,
+ int *encoded_len,
+ const axis2_char_t *uname,
+ const axis2_char_t *passwd,
+ const axis2_char_t *domain,
+ const axis2_char_t *workstation);
+
+ /** @} */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* AXIS2_NTLM_H */
+
+
+
+
+
+
+
+
+
+
+
+
+
+