diff options
author | damitha | 2011-05-31 09:05:26 +0000 |
---|---|---|
committer | damitha | 2011-05-31 09:05:26 +0000 |
commit | 1d2fcf87bcc73e697198fb07493174df550d71c5 (patch) | |
tree | f290017883ebf13d938901675d88c609d6f6f732 /src/core/transport/http/sender/ntlm/test/client.c | |
parent | a1a2b26cba21cfad86739fad9152e29cea618faa (diff) | |
download | axis2c-1d2fcf87bcc73e697198fb07493174df550d71c5.tar.gz axis2c-1d2fcf87bcc73e697198fb07493174df550d71c5.tar.bz2 |
Initial commit of ntlm authentication code
git-svn-id: http://svn.apache.org/repos/asf/axis/axis2/c/core/trunk@1129578 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/core/transport/http/sender/ntlm/test/client.c')
-rwxr-xr-x | src/core/transport/http/sender/ntlm/test/client.c | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/src/core/transport/http/sender/ntlm/test/client.c b/src/core/transport/http/sender/ntlm/test/client.c new file mode 100755 index 0000000..c7273e9 --- /dev/null +++ b/src/core/transport/http/sender/ntlm/test/client.c @@ -0,0 +1,82 @@ +/* tcpclient.c */ + +#include <sys/socket.h> +#include <sys/types.h> +#include <netinet/in.h> +#include <netdb.h> +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <unistd.h> +#include <errno.h> +#include <axutil_base64.h> +#include <axutil_string.h> +#include <axis2_util.h> + +#include <stdio.h> +#include <axis2_ntlm.h> + +#define NTLM_NEG_NTLM 0x00000200 +#define NTLM_NEG_UNICODE 0x00000001 +#define NTLM_TARGET_DOMAIN 0x00010000 + +int main() +{ + axis2_status_t status = AXIS2_FAILURE; + const axutil_env_t *env = NULL; + env = axutil_env_create_all("ntlm_test_client.log", AXIS2_LOG_LEVEL_TRACE); + /*int flags = NTLM_NEG_UNICODE | NTLM_NEG_NTLM | NTLM_TARGET_DOMAIN;*/ + + { + axis2_char_t *encoded = NULL; + int elen = 0; + int flags = 0; + axis2_ntlm_t *ntlm = NULL; + ntlm = axis2_ntlm_create(env); + status = axis2_ntlm_auth_create_type1_message(ntlm, env, &encoded, &elen, "foo", + "digestpassword", flags, "mydomain"); + if(AXIS2_SUCCESS != status) + { + AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, + "axis2_ntlm_auth_create_type1_message call failed"); + printf("axis2_ntlm_auth_create_type1_message call failed\n"); + return 1; + } + if(0 == axutil_strcmp(encoded, "TlRMTVNTUAABAAAABRIAAAgACAAYAAAAbXlkb21haW4=") && elen == 45) + { + printf("creating type1 message test passed\n"); + } + else + { + printf("creating type1 message test failed!!!\n"); + } + } + { + int elen = 0; + axis2_char_t *encoded = NULL; + axis2_char_t *header_value = + "TlRMTVNTUAACAAAAHgAeADgAAAAFAoICZAg+4lbcT0AAAAAAAAAAAJgAmABWAAAABgGxHQAAAA9XAEkATgAtADcAMQBNAEUAUABIADQANgBOAFEAMwACAB4AVwBJAE4ALQA3ADEATQBFAFAASAA0ADYATgBRADMAAQAeAFcASQBOAC0ANwAxAE0ARQBQAEgANAA2AE4AUQAzAAQAHgBXAEkATgAtADcAMQBNAEUAUABIADQANgBOAFEAMwADAB4AVwBJAE4ALQA3ADEATQBFAFAASAA0ADYATgBRADMABwAIAHIX52u6HcwBAAAAAA=="; + axis2_ntlm_t *ntlm = NULL; + ntlm = axis2_ntlm_create(env); + status = axis2_ntlm_auth_create_type3_message(ntlm, env, header_value, &encoded, + &elen, "nandika", "nandika", "mydomain", "workstation"); + if(AXIS2_SUCCESS != status) + { + AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, + "axis2_ntlm_auth_create_type3_message call failed"); + printf("axis2_ntlm_auth_create_type3_message call failed\n"); + return 1; + } + if(0 == axutil_strcmp(encoded, "TlRMTVNTUAADAAAAAAAAADQAAAAYABgANAAAAB4AHgBMAAAADgAOAGoAAAAWABYAeAAAACkOCQbnz6muRsRit954E//a+AQM6Dk8g1cASQBOAC0ANwAxAE0ARQBQAEgANAA2AE4AUQAzAG4AYQBuAGQAaQBrAGEAdwBvAHIAawBzAHQAYQB0AGkAbwBuAA==") && elen == 193) + { + printf("creating type3 message test passed\n"); + } + else + { + printf("creating type3 message test failed!!!\n"); + } + } + + return 0; +} + |