This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Testers needed: New passwd/group handling in Cygwin


Greetings, Warren Young!

>> I'd say it again, "sane defaults are better, than alot of options".

> Agreed in principle.

> However, observe that all network stacks have a bunch of built-in 
> timeout options.  They're rarely exposed to the user level, but their 
> defaults are typically quite high.  (e.g. 60 seconds for connection 
> timeout.)

I've tried to rely on some obscure "system timeout"... it didn't worked well.
Socket just doesn't die by itself after hours of waiting.
I had to manually enforce some sane timeout to ensure consistent operation of
the program. Even if it'd be something like "15 minutes", it was still better
than "I don't know, may be next century..."

> Over the past 3 decades of TCP/IP, we've discovered that 
> networks are weird.

I concur.

>> for comparison, default DNS _roundtrip_ timeout is 2 seconds,

> The typical DNS transaction is just 2 UDP packets, one each direction: 
> query and response.

> I tested a simple, unencrypted LDAP login-and-drop-conn transaction here 
> against a real production AD server, and it required 8 packets, 5 of 
> which were TCP/IP connection establishment and shutdown.

> Add in the encryption, authentication, and authorization overheads of a 
> "real" LDAP query, and it could go up to dozens of packets.

> That said, it only took about 1 ms to my simple test.  The AD server was 
> on the other side of a router, on a fast WAN.

Perhaps, you didn't understand, but I specifically mentioned connection time,
which is clearly distinct in case of TCP connection.
Once connection is established, control is returned to application, the
connection timeout is a thing of past, and session can only be terminated by
a request of calling application.

> Someone testing this new cygwin1.dll in a domain environment[*] should 
> do a packet capture of what Windows sends when the DLL does its new thing.

> The captured data isn't terribly interesting here.  What we want to know 
> is how many packets it takes, and what the timestamps are on the 
> captured frames.  Most especially, the delta between the first and last 
> packets, but if there are any significant time gaps, that could be 
> interesting, too.

Amount of packets doesn't matter. Once TCP session is established, it remains,
until closed or dropped on either end of the wire.


--
WBR,
Andrey Repin (anrdaemon@yandex.ru) 04.03.2014, <05:25>

Sorry for my terrible english...


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]