bug-inetutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bug-inetutils] Important update of telnetd.


From: Simon Josefsson
Subject: Re: [bug-inetutils] Important update of telnetd.
Date: Wed, 08 Aug 2012 14:43:49 +0200
User-agent: Gnus/5.130006 (Ma Gnus v0.6) Emacs/23.3 (gnu/linux)

Mats Erik Andersson <address@hidden> writes:

> onsdag den  8 augusti 2012 klockan 14:07 skrev Simon Josefsson detta:
>> Thanks for working on Shishi support in InetUtils!
>> 
>> Mats Erik Andersson <address@hidden> writes:
>> 
>> >  * There was a call to shishi_done() executed from within
>> >    auth_finished() until yesterday. That lead to the premature
>> >    release of the Shishi handle, and sometimes segfaults.
>> 
>> Do you know what kind of problems you'd get due to this?
>
> As long as krb5shishi_cleanup() was called by auth_finished()
> in krb5shishi_is_auth() [sic!] there was a segmentation fault
> when krb5shishi_status() issued shishi_authorized_p(), caused
> by the invalidation of the handle. This is how I discovered
> the matter. Not easy to back track after that, though.

Yeah, these function pointer structs are a bit messy.

> The issue at hand originates in "telnetd/utility.c" where the
> server cannot avoid to call auth_wait() in order to capture
> the authorization status. This is done very late, so the
> Shishi handle must be alive at least until this point.
>
> How about the encryption case? Does it need prolonged access
> to the handle, or could the encryption run independently of
> the shishi handle?

It needs a shishi handle, but I don't think it needs to share any
information with the shishi handle used during authentication.

> The client needs shishi_done() in order to incorporate
> any issued and valid ticket into the cache.

Ah, yes, that would be good to do.  Maybe there should be a Shishi
interface for saving the cached tickets.  InetUtils could invoke this to
achieve it though:

shishi_tkts_to_file (shishi_tkts_default (handle), shishi_tkts_default_file 
(handle))

However maybe saving received tickets should be done automatically by
Shishi.

> Does the server need to propagate any bits into its own cache? In such
> case, we must find a suitable location to call shishi_done().

No the server is stateless.

/Simon



reply via email to

[Prev in Thread] Current Thread [Next in Thread]