Operating System - HP-UX
1753878 Members
7076 Online
108809 Solutions
New Discussion

gss_import_name ( libgss ) works well with 32 bit HP-C compiler but 64 bit fails

 
murugesan_2
Advisor

gss_import_name ( libgss ) works well with 32 bit HP-C compiler but 64 bit fails

Hello all,
I wrote a C program that uses gss_import_name function from the libgss library.
[code]
#include
#include

#ifndef HAVE_GSS_C_NT_HOSTBASED_SERVICE
extern gss_OID gss_nt_service_name;
#define GSS_C_NT_HOSTBASED_SERVICE gss_nt_service_name
#endif

main()
{
signed char *domain_value=(signed char*)"cyrus@krishna.kovaiteam.com";
gss_name_t p;
OM_uint32 min_stat=0,maj_stat;
gss_name_t value;
struct gss_buffer_desc_struct name_token;
name_token.value=domain_value;
name_token.length=strlen(domain_value);
maj_stat=gss_import_name(&min_stat,&name_token,GSS_C_NT_HOSTBASED_SERVICE,&p);
switch(maj_stat)
{
case GSS_S_COMPLETE:
printf("\nSuccess\n");
break;
case GSS_S_BAD_NAMETYPE:
printf("\nGSS_S_BAD_NAMETYPE\n");
break;
case GSS_S_BAD_NAME:
printf("\nGSS_S_BAD_NAME\n");
break;
case GSS_S_BAD_MECH:
printf("\nGSS_S_BAD_MECH\n");
break;
case GSS_S_FAILURE:
printf("\nGSS_S_FAILURE\n");
break;
}
if (GSS_ERROR(maj_stat))
{
fprintf(stderr,"ERROR %lu %lu \n",maj_stat>>24,min_stat);
fprintf(stderr,"A required input parameter could not be read GSS_S_CALL_INACCESSIBLE_READ\n");
}
}
[/code]

When I compiled this program with HP-C Compiler on HP-UX 11.11, I am getting success for 32 bit. But for 64 bit, this is causing a failure. Can anyone here explain me where the problem is ?

Here goes the output
# cc +DA1.1 -lgss gss_api.c
# ./a.out
Success

# cc +DA2.0W -lgss gss_api.c
# ./a.out
ERROR 1 0
A required input parameter could not be read GSS_S_CALL_INACCESSIBLE_READ

Thanks in advance,
Murugesan
1 REPLY 1
Stephen Keane
Honored Contributor

Re: gss_import_name ( libgss ) works well with 32 bit HP-C compiler but 64 bit fails

If you do a chatr on your 64-bit executable, is it picking up /usr/lib/libgss.sl OR /usr/lib/pa20_64/libgss.sl