Re: Squid 2.5 CygWin and NT development

From: Robert Collins <robert.collins@dont-contact.us>
Date: Mon, 16 Apr 2001 21:50:42 +1000

----- Original Message -----
From: "Henrik Nordstrom" <hno@hem.passagen.se>
To: "Robert Collins" <robert.collins@itdomain.com.au>
Cc: "Guido Serassio" <serassio@libero.it>; <squid-dev@squid-cache.org>
Sent: Monday, April 16, 2001 9:47 PM
Subject: Re: Squid 2.5 CygWin and NT development

> For the native NT port, I think many things might now be a lot easier
> since the SSL patch wen in. Now each socket has registered read/write
> handlers, and by changing these handlers you change the behaviour of
all
> uses of that socket.

Well Guido's talking about adding NT specific features to the cygwin
port, not recreating the NT port (which requires substantially more
work). So I don't think the SSL patch will make that much short term
difference. However it does add the possibility for "native" socket
handlers. Having looked under the covers at cygwin's innards there's
little reason to push for those as cygwin already uses winsock2 and
support async io.

> Documentation is still pending to be written for this.
>
> Robert: Do you bring the cygwin branch up to date?

you mean cvsmerge HEAD? just doing that now.

Rob

> --
> Henrik Nordstrom
> Squid Hacker
>
>
> Robert Collins wrote:
> >
> > Hi Guido,
> >
> > Theres a branch cygwin on sourceforge where I was doing some updates
to
> > cygwin.
> > I've just checked and it's got some useful changes in it for what
you
> > were doing: the autoconf script will configure gcc on cygwin with
access
> > to the WIN32 API(which is not the default in current gcc versions).
> >
> > It also has my win32 native async io fs module (which isn't actually
> > needed anymore as I've extended cygwin to have full pthreads
support.
> > Gotta love opensource :]).
> >
> > If I can make some suggestions about coding to get the changes most
> > easily acceptable into squid-head: (these are in addition to the
squid
> > programmers guidelines).
> >
> > 1. use #ifdef SQUID_CYGWIN to surround cygwin specific code. Don't
use
> > #ifdef __CYGWIN__.
> > 2. try to leverage existing functions, or transparently extend them.
If
> > you have large chunks of code that are quite different to the
existing
> > code, you might consider adding a squid_win32 library to the lib
> > directory. Kinkie and I did that for some of the common NTLM code.
> > 3. Where possible use "unix" functions or cygwin-API functions (I.E.
> > dlopen() not LoadLibrary()). Also cygwin has a number of functions
that
> > extend the unix-style API onto win32, and you need to use those to
run
> > reliably on cygwin. using "native" calls should be done with care,
so as
> > not to conflict with cygwin's compatability code.
> > 4. use win95 compatible functions. Cygwin is windows 95 compatible,
and
> > so is squid for cygwin. If you __need__ to write NT only code, make
a
> > configure option to turn on NT-only features. Only the execution as
a
> > server feature you've listed below should need NT, so I don't think
this
> > will be much of an issue. If it is, let me know. I suggest you look
at
> > sshd from cygwin for service manager integration - Corinna has
solved
> > many headaches with spawned processes and the like there.
> >
> > I'm happy to provide feedback/testing as you go. Once you're getting
> > happy with the code, simply drop me a line and we can look at
getting it
> > some exposure and testing, prior to getting it merged into HEAD.
> >
> > lastly I'm not sure what you mean by native windows NT basic
> > authentication. If you mean the module you sent me a beta of before,
> > which talks to the LSA when given basic credentials, if you have
that
> > ready to roll the best place to add it is as a new basic helper - it
> > should be able to go straight into HEAD unless there are issues with
the
> > code. Drop me a tarball if you like.
> >
> > Rob
> >
> > ----- Original Message -----
> > From: "Guido Serassio" <serassio@libero.it>
> > To: "Robert Collins" <robert.collins@itdomain.com.au>
> > Cc: "Henrik Nordstrom" <hno@hem.passagen.se>
> > Sent: Monday, April 16, 2001 8:24 PM
> > Subject: Squid 2.5 CygWin and NT development
> >
> > > Hi Robert,
> > >
> > > I like to work on include some Windows NT native features on the
> > CygWin
> > > version of Squid 2.5.
> > >
> > > The features that I think can be easy merged are:
> > >
> > > - Use of registry instead of resolv.conf for DNS addresses
> > > - Execution as a NT service
> > > - Native Windows NT Basic Authentication
> > >
> > > A second step may be the use of Native NTLMSSP authentication.
> > >
> > > So, if this is OK for You, i need to know what Squid branch on
> > SourceForge
> > > can I use.
> > >
> > > Bye
> > >
> > > Guido serassio
> > >
> > >
> > >
> > > -
> > > =======================================================
> > > Serassio Guido
> > > Via Albenga, 11/4 10134 -
> > Torino - ITALY
> > > Tel. : +39.011.610749
> > > E-mail: serassio@interfree.it
> > > serassio@libero.it
> > > WWW: http://serassio.interfree.it
> > >
> > >
>
Received on Mon Apr 16 2001 - 05:50:43 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:13:46 MST