Thread: [Perlgssapi-developer] released GSSAPI-0.17
Brought to you by:
achimgrolms
From: Achim G. <per...@gr...> - 2006-02-12 21:50:13
|
released GSSAPI-0.17 0.17 So Feb 12 21:52:41 CET 2006 -use of uppercase GSS_ style import-constants instead of lowercase gss_ constants. Hope this does not break things, please let me know if that means problems on you platform! -deleted mechtype sets gss_mech_set_krb5, gss_mech_set_krb5_old, gss_mech_set_krb5_both, gss_mech_set_krb5. Please let me know if that breaks your code and needs to be fixed! -added example gss-client.pl and gss-server.pl (Thanks Merijn!) -added SPNEGO Mechttype to OID.xs -made the test.pl list available Mechtypes -added indicate_mechs Example to POD I hope that fixes Merijn's build problems on Windows. Thank you, Achim |
From: Merijn B. <me...@il...> - 2006-02-13 13:00:56
|
Quoting Achim Grolms (per...@gr...): > released GSSAPI-0.17 > > 0.17 So Feb 12 21:52:41 CET 2006 > -use of uppercase GSS_ style import-constants instead of lowercase > gss_ constants. Hope this does not break things, please > let me know if that means problems on you platform! > -deleted mechtype sets gss_mech_set_krb5, > gss_mech_set_krb5_old, gss_mech_set_krb5_both, gss_mech_set_krb5. > Please let me know if that breaks your code and needs to be fixed! > -added example gss-client.pl and gss-server.pl > (Thanks Merijn!) > -added SPNEGO Mechttype to OID.xs > -made the test.pl list available Mechtypes > -added indicate_mechs Example to POD > > > I hope that fixes Merijn's build problems on Windows. > Nope, it doesn't. My gssapi32.lib only exports the following symbols: dumpbin /exports gssapi32.lib Microsoft (R) COFF/PE Dumper Version 7.00.9466 Copyright (C) Microsoft Corporation. All rights reserved. Dump of file gssapi32.lib File Type: LIBRARY Exports ordinal name _GSS_C_NT_ANONYMOUS _GSS_C_NT_EXPORT_NAME _GSS_C_NT_HOSTBASED_SERVICE _GSS_C_NT_HOSTBASED_SERVICE_X _GSS_C_NT_MACHINE_UID_NAME _GSS_C_NT_STRING_UID_NAME _GSS_C_NT_USER_NAME _gss_accept_sec_context@44 _gss_acquire_cred@32 _gss_add_cred@44 _gss_add_oid_set_member@12 _gss_canonicalize_name@16 _gss_compare_name@16 _gss_context_time@12 _gss_create_empty_oid_set@8 _gss_delete_sec_context@12 _gss_display_name@16 _gss_display_status@24 _gss_duplicate_name@12 _gss_export_name@12 _gss_export_sec_context@12 _gss_get_mic@20 _gss_import_name@16 _gss_import_sec_context@12 _gss_indicate_mechs@8 _gss_init_sec_context@52 _gss_inquire_context@36 _gss_inquire_cred@24 _gss_inquire_cred_by_mech@28 _gss_inquire_names_for_mech@12 _gss_krb5_ccache_name@12 _gss_krb5_copy_ccache@12 _gss_krb5_get_tkt_flags@12 _gss_nt_machine_uid_name _gss_nt_service_name _gss_nt_string_uid_name _gss_nt_user_name _gss_oid_to_str@12 _gss_process_context_token@12 _gss_release_buffer@8 _gss_release_cred@8 _gss_release_name@8 _gss_release_oid@8 _gss_release_oid_set@8 _gss_seal@28 _gss_sign@20 _gss_str_to_oid@12 _gss_test_oid_set_member@16 _gss_unseal@24 _gss_unwrap@24 _gss_verify@20 _gss_verify_mic@20 _gss_wrap@28 _gss_wrap_size_limit@24 which means that there are still two symbols missing : GSS_KRB5_NT_USER_NAME GSS_KRB5_NT_PRINCIPAL_NAME I'll investigate the source of mitkfw. It is a slightly different code base, but in principle is a fork of the normal mit C code for unix. Cheers, -- Merijn Broeren | Sometime in the middle ages, God got fed up with us Software Geek | and put earth at sol.milky-way.univ in his kill-file. | Pray all you want, it just gets junked. |
From: Achim G. <per...@gr...> - 2006-02-13 16:19:42
|
On Monday 13 February 2006 14:00, Merijn Broeren wrote: > GSS_KRB5_NT_USER_NAME > GSS_KRB5_NT_PRINCIPAL_NAME my ideas: a) simple dropping of gss_nt_krb5_principal() and gss_nt_krb5_name() is there a need for that constants? b) make them dropable by -DBROKENKRB5HEADERS GSSAPI::OID_const gss_nt_krb5_name() CODE: #if defined(BROKENKRB5HEADERS) croak("not implemented, sorry!!!11!!") #endif #if defined(BROKENKRB5HEADERS) RETVAL = GSS_KRB5_NT_USER_NAME; #endif OUTPUT: RETVAL c) do replacement with existing headers #if defined(BROKENKRB5HEADERS) #define GSS_KRB5_NT_USER_NAME gss_otherconstant #endif What do you think? Thank you, Achim |
From: Merijn B. <me...@il...> - 2006-02-13 14:03:13
|
Quoting Merijn Broeren (me...@il...): > > I'll investigate the source of mitkfw. It is a slightly different code > base, but in principle is a fork of the normal mit C code for unix. > Looks like it is an acknowledged problem, see the thread starting here : http://mailman.mit.edu/pipermail/krbdev/2005-February/003193.html the first mails purports to have a solution (that I have not tried yet) and later in the thread the symbols are mentioned as missing and to be exported in a later version. That is not out yet as far as I know. Cheers, -- Merijn Broeren | Sometime in the middle ages, God got fed up with us Software Geek | and put earth at sol.milky-way.univ in his kill-file. | Pray all you want, it just gets junked. |
From: Merijn B. <me...@il...> - 2006-02-13 15:52:24
|
Quoting Merijn Broeren (me...@il...): > Quoting Merijn Broeren (me...@il...): > > > > I'll investigate the source of mitkfw. It is a slightly different code > > base, but in principle is a fork of the normal mit C code for unix. > > > Looks like it is an acknowledged problem, see the thread starting here : > > http://mailman.mit.edu/pipermail/krbdev/2005-February/003193.html > > the first mails purports to have a solution (that I have not tried yet) > and later in the thread the symbols are mentioned as missing and to be > exported in a later version. That is not out yet as far as I know. > Patch like this makes it all work: diff -u -r GSSAPI-0.17/xs/OID.xs GSSAPI-0.17.patched/xs/OID.xs --- GSSAPI-0.17/xs/OID.xs Sun Feb 12 10:58:51 2006 +++ GSSAPI-0.17.patched/xs/OID.xs Mon Feb 13 10:39:10 2006 @@ -126,14 +126,24 @@ GSSAPI::OID_const gss_nt_krb5_name() CODE: - RETVAL = GSS_KRB5_NT_USER_NAME; +#if !defined(WIN32) + RETVAL = gss_nt_krb5_name; +#endif +#if defined(WIN32) + croak("gss_nt_krb5_name() is not exported in windows API!"); +#endif OUTPUT: RETVAL GSSAPI::OID_const gss_nt_krb5_principal() CODE: - RETVAL = GSS_KRB5_NT_PRINCIPAL_NAME; +#if !defined(WIN32) + RETVAL = gss_nt_krb5_principal; +#endif +#if defined(WIN32) + croak("gss_nt_krb5_principal() is not exported in windows API!"); +#endif OUTPUT: RETVAL but that is a cop out ofcourse. In MIT KfW 3.0 this might be fixed, I'm using 2.6.5 the previous release. We'll install this hopefully and I will check the code then. So this patch can just be documented in the INSTALL. I'd rather key this off a version define then WIN32, but I don't see anything suitable in gssapi*.h to use. Mmmmm. Cheers, -- Merijn Broeren | Sometime in the middle ages, God got fed up with us Software Geek | and put earth at sol.milky-way.univ in his kill-file. | Pray all you want, it just gets junked. |
From: Achim G. <per...@gr...> - 2006-02-13 16:21:17
|
On Monday 13 February 2006 16:52, Merijn Broeren wrote: > I'd rather key this off a version define then WIN32, but I > don't see anything suitable in gssapi*.h to use. Mmmmm. -DWIN32 can be set by Makefile.PL |
From: Achim G. <per...@gr...> - 2006-02-13 16:44:56
|
On Monday 13 February 2006 17:21, Achim Grolms wrote: > On Monday 13 February 2006 16:52, Merijn Broeren wrote: > > I'd rather key this off a version define then WIN32, but I > > don't see anything suitable in gssapi*.h to use. Mmmmm. > > -DWIN32 can be set by Makefile.PL @Merijn: does your Win32 build process make use uf krb5-config? If so please send me output of krb5-config --version (I can extract Version and Implementationname to set the -D flags) Achim |
From: Merijn B. <me...@il...> - 2006-02-13 17:37:52
|
Quoting Achim Grolms (per...@gr...): > On Monday 13 February 2006 17:21, Achim Grolms wrote: > > On Monday 13 February 2006 16:52, Merijn Broeren wrote: > > > I'd rather key this off a version define then WIN32, but I > > > don't see anything suitable in gssapi*.h to use. Mmmmm. > > > > -DWIN32 can be set by Makefile.PL > > @Merijn: > > does your Win32 build process make use uf krb5-config? > If so please send me output of > > krb5-config --version > No there isn't sadly enough. cheers, -- Merijn Broeren | Sometime in the middle ages, God got fed up with us Software Geek | and put earth at sol.milky-way.univ in his kill-file. | Pray all you want, it just gets junked. |
From: Achim G. <per...@gr...> - 2006-02-13 17:06:31
|
On Monday 13 February 2006 16:52, Merijn Broeren wrote: > Quoting Merijn Broeren (me...@il...): > > http://mailman.mit.edu/pipermail/krbdev/2005-February/003193.html "I have found that applications should maintain their own list of supported mechanism OIDs when a specific mechanism is desired:" I think that is the same I have done in GSSAPI.xs to make gss_mech_krb5 an gss_mech_krb5_old available. My idea: doing the some on gss_nt_krb5_name and gss_nt_krb5_principal. That will fix all "My library does not export symbol XYZ". What do you think? Achim " static CONST gss_OID_desc my_krb5_gss_oid_array[] = { /* this is the official, rfc-specified OID */ {9, "\052\206\110\206\367\022\001\002\002"}, /* this is the v2 assigned OID */ {9, "\052\206\110\206\367\022\001\002\003"}, /* these two are name type OID's */ {10, "\052\206\110\206\367\022\001\002\002\001"}, {10, "\052\206\110\206\367\022\001\002\002\002"}, { 0, 0 } }; static CONST gss_OID_desc * CONST gss_mech_krb5 = my_krb5_gss_oid_array+0; static CONST gss_OID_desc * CONST gss_mech_krb5_v2 = my_krb5_gss_oid_array+1; static CONST gss_OID_desc * CONST gss_nt_krb5_name = my_krb5_gss_oid_array+2; static CONST gss_OID_desc * CONST gss_nt_krb5_principal = my_krb5_gss_oid_array+3;" |
From: Merijn B. <me...@il...> - 2006-02-13 17:35:45
|
Quoting Achim Grolms (per...@gr...): > On Monday 13 February 2006 16:52, Merijn Broeren wrote: > > Quoting Merijn Broeren (me...@il...): > > > > http://mailman.mit.edu/pipermail/krbdev/2005-February/003193.html > > "I have found that applications should maintain their > own list of supported mechanism OIDs when a specific mechanism is desired:" > > > I think that is the same I have done in GSSAPI.xs to make > gss_mech_krb5 an gss_mech_krb5_old available. > > My idea: doing the some on gss_nt_krb5_name and gss_nt_krb5_principal. > > That will fix all "My library does not export symbol XYZ". > > What do you think? > I tried and got stuck on the return value mismatch... Cheers, -- Merijn Broeren | Sometime in the middle ages, God got fed up with us Software Geek | and put earth at sol.milky-way.univ in his kill-file. | Pray all you want, it just gets junked. |
From: Achim G. <per...@gr...> - 2006-02-13 18:11:20
Attachments:
checkoids.t
krb5oids.diff
|
On Monday 13 February 2006 18:35, Merijn Broeren wrote: > Quoting Achim Grolms (per...@gr...): > > I think that is the same I have done in GSSAPI.xs to make > > gss_mech_krb5 an gss_mech_krb5_old available. > > > > My idea: doing the some on gss_nt_krb5_name and gss_nt_krb5_principal. > > > > That will fix all "My library does not export symbol XYZ". > > > > What do you think? > > I tried and got stuck on the return value mismatch... Find attached my patch + testskript. Works for me. Please test! Thank you, Achim |
From: Merijn B. <me...@il...> - 2006-02-14 10:38:28
|
Quoting Achim Grolms (per...@gr...): > > Find attached my patch + testskript. > Works for me. > > Please test! > Yup, that works on all platforms, all tests pass now. Maybe we should move test.pl into a t/test.t file as well? Cheers,, -- Merijn Broeren | Sometime in the middle ages, God got fed up with us Software Geek | and put earth at sol.milky-way.univ in his kill-file. | Pray all you want, it just gets junked. |
From: Achim G. <per...@gr...> - 2006-02-14 14:49:53
|
On Tuesday 14 February 2006 11:38, Merijn Broeren wrote: > Quoting Achim Grolms (per...@gr...): > > Please test! > > Yup, that works on all platforms, all tests pass now. > > Maybe we should move test.pl into a t/test.t file as well? Done that. All that now is part of GSSAPI-0.18 at CPAN. Thank you, Achim |