cURL / Mailing Lists / curl-library / Single Mail

curl-library

RE: [PATCH] SASL state machine

From: Patrick Monnerat <Patrick.Monnerat_at_datasphere.ch>
Date: Tue, 2 Dec 2014 10:47:49 +0100

 
Steve Holme wrote:
>> Please find a big patch in attachment.
 
> My... That is a big patch :-/
> Are you able to split it up into more manageable / bisect'able chunks?

Hardly, I'm afraid. I've already considered that, but I can't find
intermediate checkpoints where the code is still compilable.
The patch size is big, but it mainly consists of code moves from
protocol files to SASL and adjusting this interface between them.

> As you know I wrote quite a bit of the SASL authentication logic but -
which has grown and grown over the time I have been responsible for it.

Right: I remember I started writing the authentication code for SMTP
with only a few states/mechanisms and I watched you adding features and
creating the curl_sasl module :-) Then it's got multiplied by three for
the other protocols: in fact, I took conscience of this problem while
looking to add another protocol (sieve) ... Maybe!

> It's unfortunately late so I've not had time tonight to apply the
patch and test it with either a) Windows base OpenSSL build or b) a SSPI
based build.

No problem, take your time. I've worked on it in a separate clone, and
it can stay like this some time, as long as there are not too many
update conflicts.

> Additionally, I'm in the middle of refactoring the authentication code
at the moment which as you've probably seen I have started with the
splitting up of NTLM SSPI code from the native messaging code but it is
unfortunately too big to get done for 7.40.0 - I've already pushed 100+
commits in November!!

Yes, I've seen it, but I have to say I'm not at all in M$ stuff and not
able to compile for this platform. The main thing I know about is "SSPI
is M$'s SASL" ;-)

> Not only that but I am hoping to get GSS-API support for SASL GSSAPI
pushed over the next couple of days.

On this we can have conflicts with the patch, nothing serious: I've
restricted the scope of some procedures that were not called anymore
outside curl_sasl.c. This can be reverted easily.

> As such, is this something that can wait until 7.40.0 is out the door
and I have finished off my rework / refactor which should be done early
January at the latest - I'll probably finish it before then locally and
push once 7.40.0 is out?

Yes, sure! (again, providing there are not too many conflicts).
I'll be on vacation between 20 dec and 11 jan with no internet access,
so if you want to push my patch, there's no problem for me. Or I can
fork it on github for this work and give you write access... That's up
to you.

I'll also be interested in adding the EXTERNAL mechanism... but that's a
story for a later time...

Cheers,
Patrick

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2014-12-02