perlgssapi-developer Mailing List for Perl GSSAPI bindings (Page 6)
Brought to you by:
achimgrolms
You can subscribe to this list here.
| 2006 |
Jan
|
Feb
(99) |
Mar
(17) |
Apr
(8) |
May
(6) |
Jun
|
Jul
(1) |
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2007 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2008 |
Jan
(10) |
Feb
(6) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2009 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
(4) |
Jun
|
Jul
|
Aug
(4) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2012 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
| 2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
|
From: Merijn B. <me...@il...> - 2006-02-10 17:05:09
|
I also need to compile this on windows and guess what? It ain't
compiling. Grrr.=20
link -out:blib\arch\auto\GSSAPI\GSSAPI.dll -dll -nologo -nodefaultl=
ib -debug -opt:ref,icf -libpath:"\\\\ms\dist\perl5\PROJ\core\5.8.4-0\.exec\=
ia32.nt.4.0\lib\perl5\perl5\CORE" -machine:x86 GSSAPI.obj \\ms\dist\perl5\P=
ROJ\core\5.8.4-0\.exec\ia32.nt.4.0\lib\perl5\CORE\perl58.lib \\ms\dist\kerb=
eros\PROJ\mitkfw\2.6.5-prod\lib\gssapi32.lib \\ms\dist\kerberos\PROJ\mitkfw=
\2.6.5-prod\lib\comerr32.lib \\ms\dist\kerberos\PROJ\mitkfw\2.6.5-prod\lib\=
krb5_32.lib \\ms\dist\microsoft\PROJ\vc\7.0\lib\oldnames.lib \\ms\dist\micr=
osoft\PROJ\sdk\03.02\Lib\kernel 32.lib \\ms\dist\microsoft\PROJ\sdk\03.02\L=
ib\user32.lib \\ms\dist\microsoft\PROJ\sdk\03.02\Lib\gdi32.lib \\ms\dist\mi=
crosoft\PROJ\sdk\03.02\Lib\winspool.lib \\ms\dist\microsoft\PROJ\sdk\03.02\=
Lib\comdlg32.lib \\ms\dist\microsoft\PROJ\sdk\03.02\Lib\advapi32.lib \\ms\d=
ist\microsoft\PROJ\sdk\03.02\Lib\shell32.lib \\ms\dist\microsoft\PROJ\sdk\0=
3.02\Lib\ole32.lib \\ms\dist\microsoft\PROJ\sdk\03.02\Lib\oleaut32.lib \\ms=
\dist\microsoft\PROJ\sdk\03.02\Lib\netapi32.lib \\ms\dist\microsoft\PROJ\sd=
k\03.02\Lib\uuid.lib \\ms\dist\microsoft\PROJ\sdk\03.02\Lib\wsock32 .lib \\=
ms\dist\microsoft\PROJ\sdk\03.02\Lib\mpr.lib \\ms\dist\microsoft\PROJ\sdk\0=
3.02\Lib\winmm.lib \\ms\dist\microsoft\PROJ\sdk\03.02\Lib\version.lib \\ms\=
dist\microsoft\PROJ\sdk\03.02\Lib\odbc32.lib \\ms\dist\microsoft\PROJ\sdk\0=
3.02\Lib\odbccp32.lib \\ms\dist\microsoft\PROJ\vc\7.0\lib\msvcrt.lib -def:G=
SSAPI.def
Creating library blib\arch\auto\GSSAPI\GSSAPI.lib and object
blib\arch\auto\GSSAPI\GSSAPI.exp
GSSAPI.obj : error LNK2001: unresolved external symbol _gss_mech_set_krb5_b=
oth
GSSAPI.obj : error LNK2001: unresolved external symbol _gss_mech_set_krb5_o=
ld
GSSAPI.obj : error LNK2001: unresolved external symbol _gss_mech_set_krb5
GSSAPI.obj : error LNK2001: unresolved external symbol _gss_nt_exported_name
GSSAPI.obj : error LNK2001: unresolved external symbol _gss_nt_krb5_name
GSSAPI.obj : error LNK2001: unresolved external symbol _gss_nt_krb5_princip=
al
GSSAPI.obj : error LNK2001: unresolved external symbol _gss_mech_krb5
GSSAPI.obj : error LNK2001: unresolved external symbol _gss_mech_krb5_old
blib\arch\auto\GSSAPI\GSSAPI.dll : fatal error LNK1120: 8 unresolved
externals
NMAKE : fatal error U1077: 'link' : return code '0x460'
Stop.
\\ms\dist\fsf\PROJ\make\prod\bin\gmake.exe[1]: ***
[install-5.8-main-makemaker] Error 2
\\ms\dist\fsf\PROJ\make\prod\bin\gmake.exe[1]: Leaving directory
`M:/dev/perl5/GSSAPI/0.16-1.4/src'
These are the symbols I removed in my private version.=20
Mmmmm....
--=20
Merijn Broeren | Sometime in the middle ages, God got fed up with us=20
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-10 13:45:09
|
On Friday 10 February 2006 12:38, Leif Johansson wrote: > For your reference - this is the version I am working with now. Thank you! find attached POD documentation patch. Achim |
|
From: Achim G. <per...@gr...> - 2006-02-10 13:12:51
|
registered namespace LWP::Authen::Negotiate. I have granted upload Permissions to LEIFJ. Achim ---------- Forwarded Message ---------- Subject: New module LWP::Authen::Negotiate Date: Friday 10 February 2006 14:02 From: "Perl Authors Upload Server" <up...@pa...> To: mo...@pe..., ag...@cp... The next version of the Module List will list the following module: modid: LWP::Authen::Negotiate DSLIP: ampfp description: HTTP Negotiate Authentication Scheme for LWP userid: AGROLMS (Achim Grolms) chapterid: 15 (World_Wide_Web_HTML_HTTP_CGI) enteredby: ADAMK (Adam Kennedy) enteredon: Fri Feb 10 13:02:24 2006 GMT The resulting entry will be: LWP::Authen:: ::Negotiate ampfp HTTP Negotiate Authentication Scheme for LWP AGROLMS Please allow a few days until the entry will appear in the published module list. Parts of the data listed above can be edited interactively on the PAUSE. See https://pause.perl.org/pause/authenquery?ACTION=edit_mod Thanks for registering, -- The PAUSE ------------------------------------------------------- |
|
From: Leif J. <le...@it...> - 2006-02-10 11:39:28
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Achim Grolms wrote: > On Friday 10 February 2006 03:49, Dax Kelson wrote: >> Is the GSSAPI module now in good shape or is there a todo list? >> >> I compiled and tested v0.15 on Fedora Core v4. All tests passed as well >> as ./examples/getcred_hostbased.pl. >> >> Is there a version of LWP::Authen::Negotiate that uses GSSAPI instead of >> Authen::SPNEGO::GSSAPI? > > Yes, it's the Leif Johansson Module. > I am trying to register namespace "LWP::Authen::Negotiate" on CPAN for him > an I think he is going to upload un Sunday or Monday. > > His first testrelease li...@pe... > is still available at > > <http://www.nntp.perl.org/group/perl.libwww/;msgid=42E8C852.9030303 > [at]it.su.se> > For your reference - this is the version I am working with now. I will test against GSSAPI-0.15 and upload as soon as I get hold of a working network. Today and tomorrow I am on GPRS which sucks too much for this kind of work. MVH leifj -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFD7HtT8Jx8FtbMZncRAsoUAKC5aLeGnA9cquuovDUujHawDFfHOACfdEnB AwTxVbkXICMaW6eDTSWnZz0= =5vtK -----END PGP SIGNATURE----- |
|
From: Achim G. <per...@gr...> - 2006-02-10 11:26:52
|
On Friday 10 February 2006 03:49, Dax Kelson wrote: > Is the GSSAPI module now in good shape or is there a todo list? > > I compiled and tested v0.15 on Fedora Core v4. All tests passed as well > as ./examples/getcred_hostbased.pl. > > Is there a version of LWP::Authen::Negotiate that uses GSSAPI instead of > Authen::SPNEGO::GSSAPI? Yes, it's the Leif Johansson Module. I am trying to register namespace "LWP::Authen::Negotiate" on CPAN for him an I think he is going to upload un Sunday or Monday. His first testrelease li...@pe... is still available at <http://www.nntp.perl.org/group/perl.libwww/;msgid=42E8C852.9030303 [at]it.su.se> Thank you, Achim |
|
From: Dax K. <da...@gu...> - 2006-02-10 02:49:33
|
Is the GSSAPI module now in good shape or is there a todo list? I compiled and tested v0.15 on Fedora Core v4. All tests passed as well as ./examples/getcred_hostbased.pl. Is there a version of LWP::Authen::Negotiate that uses GSSAPI instead of Authen::SPNEGO::GSSAPI? I have a project that I could test it out on. Dax Kelson |
|
From: Achim G. <per...@gr...> - 2006-02-10 00:56:29
|
On Friday 10 February 2006 00:11, Merijn Broeren wrote:
> > b) bypassed to LDDLFLAGS?
> >
> > (My code does (b) now)
>
> I'd go with b).
That is implemented in GSSAPI-0.16 on CPAN
from Changes file:
0.16 -changed Context.xs Destructor to warn only on GSS_S_FAILURE
(see
<http://sourceforge.net/mailarchive/forum.php?thread_id=9674417&forum_id=47637>)
-Makefile.PL passes all the (needed!) krb5-config --libs gssapi stuff
that is
ignored by LIBS to LDDLFLGAS
-Tried to add userdocumentation to GSSAPI.pm (GSSAPI::Name)
|
|
From: Achim G. <per...@gr...> - 2006-02-09 23:23:59
|
Hello, to make (GSSAPI.pm) user's life easier, i had added the examples directory with getcred_hostbased.pl to the distribution. If you are using the modules for you Scripts I think you have code at hand that can be put into short example scripts. Pleas send me - if you have some - example skripts that use the GSSAPI module. I will put them into the distribution then. Thank you, Achim |
|
From: Merijn B. <me...@il...> - 2006-02-09 23:12:02
|
Quoting Achim Grolms (per...@gr...):
> That makes my splitter looks like this:
>
> #-------------------------------------------------
> sub find_libs_in_krb5config_string {
> my ( $confstringstring ) = @_;
> my (@libs, @others);
> foreach ( split ' ', $confstringstring ) {
> if ( m/(-(Wl,-R|[LlR])[^ ]*)/) {
> push @libs, $1
> } else {
> push @others, $_;
> }
> }
> return (\@libs, \@others);
> }
> #-------------------------------------------------
>
> with @others passed to LDDLFLAGS.
>
That looks fine.
> On my Slowlaris test that puts -z (from krb5-config output) into LDDLFLAGS.
>
> Using LDDLFLAGS -z combreloc -z text -z ignore
>
> Should -z
>
> a) better be ignored
>
> or
>
> b) bypassed to LDDLFLAGS?
>
> (My code does (b) now)
>
I'd go with b). It is an interesting question though, since those are
the options that were used to build the gssapi C library. Some of them
might not be applicable to the Perl library. I just had a look at the
man page for Solaris ld and for example '-z ignore' is the opposite of
default linker behaviour. Mmmm. In most all cases the options should be
fine, so just pass them through.
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-09 21:59:20
|
On Thursday 09 February 2006 20:48, Merijn Broeren wrote:
> No, I'd follow the logic of ExtUtils, so split all the -L, -R, -l stuff
> into LIBS and the rest into LDDLFLAGS, together with the flags from
> Config.
That makes my splitter looks like this:
#-------------------------------------------------
sub find_libs_in_krb5config_string {
my ( $confstringstring ) = @_;
my (@libs, @others);
foreach ( split ' ', $confstringstring ) {
if ( m/(-(Wl,-R|[LlR])[^ ]*)/) {
push @libs, $1
} else {
push @others, $_;
}
}
return (\@libs, \@others);
}
#-------------------------------------------------
with @others passed to LDDLFLAGS.
On my Slowlaris test that puts -z (from krb5-config output) into LDDLFLAGS.
Using LDDLFLAGS -z combreloc -z text -z ignore
Should -z
a) better be ignored
or
b) bypassed to LDDLFLAGS?
(My code does (b) now)
Thank you,
Achim
|
|
From: Merijn B. <me...@il...> - 2006-02-09 19:48:15
|
Quoting Achim Grolms (per...@gr...):
> On Thursday 09 February 2006 17:53, Merijn Broeren wrote:
> > Quoting Achim Grolms (per...@gr...):
> > > Find attached the patch of my solution.
> > > (Can you test if that works for you?)
> >
> > Will do tomorrow morning...
>
> BTW:
> if -L is present in krb5-config --libs gssapi
> (like in "-L/usr/lib -Wl,-rpath -Wl,/usr/lib -lgssapi_krb5 -lkrb5 -lk5crypto
> -lcom_err -lresolv") -
>
> has the -L/usr/lib to be passed to LDDLFLAGS too or it is ok
> to pass it only to LIBS (like my actual version does?)
>
> Or has the complete output of krb5-config --libs gssapi
> to be in LDDLFLAGS?
>
No, I'd follow the logic of ExtUtils, so split all the -L, -R, -l stuff
into LIBS and the rest into LDDLFLAGS, together with the flags from
Config. In any case, if it doesn't work out for someone they can always
fine tune it by bypassing krb5-config using the precise arguments.
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-09 17:03:34
|
On Thursday 09 February 2006 17:53, Merijn Broeren wrote: > Quoting Achim Grolms (per...@gr...): > > Find attached the patch of my solution. > > (Can you test if that works for you?) > > Will do tomorrow morning... BTW: if -L is present in krb5-config --libs gssapi (like in "-L/usr/lib -Wl,-rpath -Wl,/usr/lib -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lresolv") - has the -L/usr/lib to be passed to LDDLFLAGS too or it is ok to pass it only to LIBS (like my actual version does?) Or has the complete output of krb5-config --libs gssapi to be in LDDLFLAGS? Thank you, Achim |
|
From: Merijn B. <me...@il...> - 2006-02-09 16:53:45
|
Quoting Achim Grolms (per...@gr...):
>
> Find attached the patch of my solution.
> (Can you test if that works for you?)
>
Will do tomorrow morning...
>
> on some of my Testing platform its was a problem
> setting LDDFLAGS and ignoring Installationdefault from
> $Config{lddlflags}.
>
That makes sense.
That makes sense.
>
> if ($options{gssapi_lddlflags}) {
> push @LDDLFLAGS, 'LDDLFLAGS', $options{gssapi_lddlflags}
> }
>
> Do you agree?
>
Yes indeed.
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-09 16:38:16
|
On Thursday 09 February 2006 10:29, Merijn Broeren wrote:
> > split the ouput of
> > kr5-config --libs gssapi
> >
> > to options that LIBS understands (@libs)
> > and options to passed to LLDDLFLAGS
> > (@others) or (@libs, @others)
>
> That would be a nice solution.
Find attached the patch of my solution.
(Can you test if that works for you?)
@Merijn:
on some of my Testing platform its was a problem
setting LDDFLAGS and ignoring Installationdefault from
$Config{lddlflags}.
So my setting of LDDFLAGS becomes
if ( @{$otherparm} > 0 ) {
my $lddflagstring = join ' ', $Config{lddlflags}, @{$otherparm};
print "\n using LDDLFLAGS $lddflagstring";
push @LDDLFLAGS, 'LDDLFLAGS', $lddflagstring ,
}
I think $Config{lddlflags} should be added to your
if ($options{gssapi_lddlflags}) {
push @LDDLFLAGS, 'LDDLFLAGS', $options{gssapi_lddlflags}
}
Do you agree?
Achim
|
|
From: Merijn B. <me...@il...> - 2006-02-09 13:38:57
|
Quoting Achim Grolms (per...@gr...):
> On Thursday 09 February 2006 10:29, Merijn Broeren wrote:
> > Quoting Achim Grolms (per...@gr...):
>
> > > split the ouput of
> > > kr5-config --libs gssapi
> > >
> > > to options that LIBS understands (@libs)
> > > and options to passed to LLDDLFLAGS
> > > (@others) or (@libs, @others)
> >
> > That would be a nice solution. I haven't actually looked at the code
> > that does the IGNOREing, it might let more pass then just -L.
>
> If you do so - please let me know if I have to change the RegEx
> ( m/(-[Ll][^ ]+)/)
>
> that divides the options into @LIBS and @LLDDLFLAGS.
>
Well, the code looks like this :
# Handle possible linker path arguments.
if ($thislib =~ s/^(-[LR]|-Wl,-R)//){ # save path flag type
my($ptype) = $1;
unless (-d $thislib){
warn "$ptype$thislib ignored, directory does not exist\n"
if $verbose;
next;
}
my($rtype) = $ptype;
if (($ptype eq '-R') or ($ptype eq '-Wl,-R')) {
if ($Config{'lddlflags'} =~ /-Wl,-R/) {
$rtype = '-Wl,-R';
} elsif ($Config{'lddlflags'} =~ /-R/) {
$rtype = '-R';
}
}
unless (File::Spec->file_name_is_absolute($thislib)) {
warn "Warning: $ptype$thislib changed to $ptype$pwd/$thislib\n";
$thislib = $self->catdir($pwd,$thislib);
}
push(@searchpath, $thislib);
push(@extralibs, "$ptype$thislib");
push(@ldloadlibs, "$rtype$thislib");
next;
}
# Handle possible library arguments.
unless ($thislib =~ s/^-l//){
warn "Unrecognized argument in LIBS ignored: '$thislib'\n";
next;
}
And I can think of several problems with this code. I'm not too thrilled
to see that it strips out runpaths that do not exist at the time of
configuration. This would be a very normal thing for me to do.
It alllow for -R and for -Wl,-R, so it should in my opinion also allow
for -Wl,-rpath -Wl,. But since it splits on space that might be a bit
more interesting. I'll send a mail to perl5-porters, see what they say.
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-09 11:28:27
|
On Thursday 09 February 2006 10:29, Merijn Broeren wrote: > Quoting Achim Grolms (per...@gr...): > > split the ouput of > > kr5-config --libs gssapi > > > > to options that LIBS understands (@libs) > > and options to passed to LLDDLFLAGS > > (@others) or (@libs, @others) > > That would be a nice solution. I haven't actually looked at the code > that does the IGNOREing, it might let more pass then just -L. If you do so - please let me know if I have to change the RegEx ( m/(-[Ll][^ ]+)/) that divides the options into @LIBS and @LLDDLFLAGS. Thank you, Achim |
|
From: Merijn B. <me...@il...> - 2006-02-09 09:36:39
|
Quoting Achim Grolms (per...@gr...): > On Wednesday 08 February 2006 18:12, Merijn Broeren wrote: > > > But we might want to make this more forgiving, by only warning on > > GSS_S_FAILURE, not on GSS_S_NO_CONTEXT. ;-) > > Is gss_delete_sec_context() able to return GSS_S_FAILURE? > > <http://rfc.net/rfc2744.html> lists only > > GSS_S_COMPLETE and GSS_S_NO_CONTEXT? > rfc2744 is the C bindings. I was looking at this one: http://rfc.net/rfc2743.html#p53 So I say we should warn with the minor error on GSS_S_FAILURE. 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-09 09:29:45
|
Quoting Achim Grolms (per...@gr...):
> On Wednesday 08 February 2006 18:12, Merijn Broeren wrote:
>
> > if ( major == GSS_S_FAILURE) {
> > warn("failed gss_delete_sec_context() with unspecified error
> > in module Context.xs"); }
>
> Is there a need to put the minor error into the warning?
> (Makes the warning more specific, i think)
>
Yes, we should definetely do that...
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-09 09:29:18
|
Quoting Achim Grolms (per...@gr...):
>
> My (first shot) idea was to pass the output of
>
> a)
>
> kr5-config --libs gssapi
>
> not only to LIBS but also to
>
>
> WriteMakefile(
> LIBS => join (' ', @GSSLIBS),
> LLDDLFLAGS => join (' ', @GSSLIBS),
> .
> .
> .
>
That will work, but you will get duplication on the link line (ugly) and
the warnings from MakeMaker about ignoring (ugly). So on grounds of
beauty I'd not be inclined to hack it that way.
> )
>
> or
>
> b)
>
> split the ouput of
> kr5-config --libs gssapi
>
> to options that LIBS understands (@libs)
> and options to passed to LLDDLFLAGS
> (@others) or (@libs, @others)
>
That would be a nice solution. I haven't actually looked at the code
that does the IGNOREing, it might let more pass then just -L. It would
be a good solution for everybody that uses krb5-config.
I still would like the specific overrides as well though :-)
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-08 21:52:09
|
I have uploaded GSSAPI-0.15
(applied Merijn's Makefile.PL patch)
Thank you,
Achim
---------- Forwarded Message ----------
Subject: PAUSE indexer report AGROLMS/GSSAPI-0.15.tar.gz
Date: Wednesday 08 February 2006 22:42
From: PAUSE <up...@pa...>
The following report has been written by the PAUSE namespace indexer.
Please contact mo...@pe... if there are any open questions.
Id: mldistwatch 697 2006-01-18 07:33:13Z k
User: AGROLMS (Achim Grolms)
Distribution file: GSSAPI-0.15.tar.gz
Number of files: 20
*.pm files: 4
README: GSSAPI-0.15/README
META.yml: GSSAPI-0.15/META.yml
Timestamp of file: Wed Feb 8 20:59:09 2006 UTC
Time of this run: Wed Feb 8 21:42:32 2006 UTC
Status of this distro: OK
=========================
The following packages (grouped by status) have been found in the distro:
Status: Successfully indexed
============================
module: GSSAPI
version: 0.15
in file: GSSAPI-0.15/GSSAPI.pm
status: indexed
module: GSSAPI::OID
version: undef
in file: GSSAPI-0.15/GSSAPI/OID.pm
status: indexed
module: GSSAPI::OID::Set
version: undef
in file: GSSAPI-0.15/GSSAPI/OID/Set.pm
status: indexed
module: GSSAPI::Status
version: undef
in file: GSSAPI-0.15/GSSAPI/Status.pm
status: indexed
__END__
-------------------------------------------------------
|
|
From: Achim G. <per...@gr...> - 2006-02-08 20:21:56
|
On Wednesday 08 February 2006 18:12, Merijn Broeren wrote: > But we might want to make this more forgiving, by only warning on > GSS_S_FAILURE, not on GSS_S_NO_CONTEXT. ;-) Is gss_delete_sec_context() able to return GSS_S_FAILURE? <http://rfc.net/rfc2744.html> lists only GSS_S_COMPLETE and GSS_S_NO_CONTEXT? Achim |
|
From: Achim G. <per...@gr...> - 2006-02-08 19:33:58
|
On Wednesday 08 February 2006 18:12, Merijn Broeren wrote:
> if ( major == GSS_S_FAILURE) {
> warn("failed gss_delete_sec_context() with unspecified error
> in module Context.xs"); }
Is there a need to put the minor error into the warning?
(Makes the warning more specific, i think)
Achim
|
|
From: Achim G. <per...@gr...> - 2006-02-08 19:08:13
|
On Wednesday 08 February 2006 12:36, Merijn Broeren wrote:
> The second problem is more of an issue, the ignoring if the -Wl
> arguments.
I know, I am thinking on the same problem (ignored
linkerparameters)
> These are needed at link time, otherwise I don't get a proper
> runpath. I can set these using LDDLFLAGS as well as LIBS in
> WriteMakefile.
My (first shot) idea was to pass the output of
a)
kr5-config --libs gssapi
not only to LIBS but also to
WriteMakefile(
LIBS => join (' ', @GSSLIBS),
LLDDLFLAGS => join (' ', @GSSLIBS),
.
.
.
)
or
b)
split the ouput of
kr5-config --libs gssapi
to options that LIBS understands (@libs)
and options to passed to LLDDLFLAGS
(@others) or (@libs, @others)
(That makes the warning go away)
#--------------------------------------------
sub find_libs_in_krb5config_string {
my ( $confstringstring ) = @_;
my (@libs, @others);
foreach ( split ' ', $confstringstring ) {
if ( m/(-[Ll][^ ]+)/) {
push @libs, $1
} else {
push @others, $_;
}
}
return (\@libs, \@others);
}
#--------------------------------------------
Does this help with the 2nd problem?
|
|
From: Merijn B. <me...@il...> - 2006-02-08 17:12:39
|
I changed the code in Context.xs to look like this:
void
DESTROY(context)
GSSAPI::Context_opt context
PREINIT:
OM_uint32 minor;
OM_uint32 major;
CODE:
if (context != NULL) {
major = gss_delete_sec_context(&minor, &context, GSS_C_NO_BUFFER);
if ( major == GSS_S_COMPLETE) {
warn("gss_delete_sec_context() complete in module Context.xs");
}
if ( major == GSS_S_NO_CONTEXT) {
warn("failed gss_delete_sec_context() with invalid context in module Context.xs");
}
if ( major == GSS_S_FAILURE) {
warn("failed gss_delete_sec_context() with unspecified error in module Context.xs");
}
}
so I could figure out what was going on.
turns out that my code looks like this in broad overview:
while (1) {
my $sec_context ;
...
$sec_context->DESTROY;
}
which means the DESTROY is called twice. Once by me explicitly and once
on destruction of the variable.
My server output now looks like this:
SERVER::waiting for request ...
SERVER::accepted connection from client ...
SERVER::received token (length is 459):
SERVER::authenticated client name is me...@is...
SERVER::Have mutual token to send ...
SERVER::GSS token size: 114
SERVER::sent token (length is 114)
gss_delete_sec_context() complete in module Context.xs at gss-server.pl line 159, <GEN3> line 1.
failed gss_delete_sec_context() with invalid context in module Context.xs at gss-server.pl line 159.
So my bad.
But we might want to make this more forgiving, by only warning on
GSS_S_FAILURE, not on GSS_S_NO_CONTEXT. ;-)
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-08 16:57:15
|
So this is the diff:
--- distro/xs/Context.xs Wed Feb 8 04:36:26 2006
+++ ../../0.12-1.4/src/distro/xs/Context.xs Fri Jul 1 10:21:34 2005
@@ -12,14 +12,9 @@
GSSAPI::Context_opt context
PREINIT:
OM_uint32 minor;
- OM_uint32 major;
CODE:
if (context != NULL) {
-
- major = gss_delete_sec_context(&minor, &context,
GSS_C_NO_BUFFER);
- if ( major != GSS_S_COMPLETE) {
- warn("failed gss_delete_sec_context() module
Context.xs");
- }
+ gss_delete_sec_context(&minor, &context, GSS_C_NO_BUFFER);
}
That seems entirely reasonable, but guess what? This is what my test
server now does :
SERVER::waiting for request ...
SERVER::accepted connection from client ...
SERVER::received token (length is 459):
SERVER::authenticated client name is me...@is...
SERVER::Have mutual token to send ...
SERVER::GSS token size: 114
SERVER::sent token (length is 114)
failed gss_delete_sec_context() module Context.xs at gss-server.pl line 128.
and my test client too:
CLIENT::gss_init_sec_context success
CLIENT::going to identify client to server
CLIENT::have token to send ...
CLIENT::GSS token length is 459
CLIENT::sent token to server
CLIENT::Mutual auth requested ...
CLIENT::got mutual auth token from server
CLIENT::mutual auth token length is 114
CLIENT::gss_init_sec_context success
CLIENT::confirmed server identity from mutual token
CLIENT::authenticated server name is krbping/xx...@is...
failed gss_delete_sec_context() module Context.xs, <GEN0> line 1.
Mmmmmmmm. I shall be looking through the gssapi docs.
Googling gives me this tasty bit of code :
maj_stat = gss_delete_sec_context(&min_stat, &context, &out_buf);
if (maj_stat != GSS_S_COMPLETE) {
display_status("deleting context", maj_stat, min_stat);
(void) close(s);
(void) gss_delete_sec_context(&min_stat, &context, GSS_C_NO_BUFFER);
return -1;
}
yummy. How very odd...
Other then that it all seems to be working without any issues. That's
something at least. :-)
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.
|