This is the mail archive of the cygwin@sources.redhat.com 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]

Re: cygwin with sockscap32


MADHU wrote:
> 
> You may choose to igmore the problem, as you have, and hope it goes
> away, but it hasnt. cygwin is unusable with sockscap, while it was
> before: because of changes to the code. I would apprecciate it if you
> could keep quietif you have nothing of value to add to the discussion,
> and random rants.

MADHU,

you have never on this list made it clear exactly WHAT the problem was,
nor exactly WHAT IN HELL sockscap32 is, and what it has to do with
cygwin.  *THAT's* why you've gotten very little assistance -- your
on-list "requests" have read more like uninformed whining.

> It hangs with the following message(on trying to run bash.exe): 
> 
> 15:23:10 SOCKS32.DLL[ssh]: INJ Caught GetProcAddress for
> InitializeSecurityDescr
> iptor.
> 15:23:10 SOCKS32.DLL[ssh]: INJ Caught GetProcAddress for
> SetSecurityDescriptorDa
> cl.
> 15:23:10 SOCKS32.DLL[ssh]: INJ Caught GetProcAddress for GetUserNameA.
> 15:23:10 SOCKS32.DLL[ssh]: INJ Caught GetProcAddress for RegCreateKeyExA.
> 15:23:10 SOCKS32.DLL[ssh]: INJ Caught GetProcAddress for RegCloseKey.
> 15:23:10 SOCKS32.DLL[ssh]: INJ Caught GetProcAddress for RegQueryValueExA.

Is not informative.  Obviously, bash is running some networking code --
otherwise its execution would never have been trapped by SOCKS32.DLL. 
Oh, I see, you're not really running bash -- you're running ssh.  Or are
you connecting to a machine running an sshd deamon-on-cygwin, using an
ssh client, and after you log in the remote machine is attempting to
start bash as your remote login shell?  

You left out a lot of info in this initial report. "The current cygwin
binaries hangs within sockscap (my last version was b20, which worked
fine with all sockscap)"  Which current binaries?  All of them? My
/usr/bin has 393 executables in it.

-------------------
I did a little research and discovered that sockscap32 is not a cygwin
library nor a cygwin program -- which was the assumption most of US were
operating under.  It is, actually, an EXTERNAL program/dll that runs
under windows and HIJACKS the TCP and UDP connections and redirects them
through the SOCKS firewall.  From the FAQ at
http://www.socks.nec.com/sockscapfaq.html:

> 1. What is SocksCap?
> SocksCapTM automatically enables Windows®-based TCP 
> and UDP networking client applications to traverse a 
> SOCKS firewall. SocksCap intercepts the networking 
> calls from WinSock applications and redirects them 
> through the SOCKS server without modifying the orginal 
> application, the operating system software or drivers. 

Also from the FAQ:
> 7. Will SocksCap work with all stacks and applications? 
> SocksCap functions independently of applications and 
> stack. It makes some assumptions about the application 
> and stack implementations. Therefore, it will not work 
> with every application or with every stack. NEC USA 
> has only tested SocksCap32 with Microsoft's 32-bit stack. 

So, your question really should be something like "cygwin networking
programs don't work with my SOCKS-based firewall client" not "cygwin is
unusable with sockscap" when *we* don't have a clue what "sockscap" is,
except that it *probably* has something to do with sockets.  Since *you*
know what sockscap is about and for, you could do a quick search of the
archives, and would have discovered several other related threads, like:

"Changes in Network code"
http://www.cygwin.com/ml/cygwin/2001-02/msg00382.html

"CVS :pserver: bug -- can't get winsup from Win2k + Cygwin 1.1.8-2"
http://sources.redhat.com/ml/cygwin/2001-02/msg00021.html

Now, about the remainder of you message:
> I would apprecciate it if you
> could keep quietif you have nothing of value to add to the discussion,
> and random rants.

cgf has *my* official permission to rant on any subject he so chooses. 
As the cygwin project manager, he has donated countless unpaid and paid
hours to cygwin, and thousands of lines of code.  He's earned a little
indulgence.  BUT, this:

> Also the fact that something "worked" before and "doesn't work" after
> upgrading
> cygwin does *not* automatically mean that "it's a cygwin problem".

is NOT a rant.  It IS a "cold hard fact" -- if a program that used to
work no longer does after a cygwin upgrade, it is NOT necessarily a
cygwin *bug*.  Why?

1. it might be a cygwin improvement (we need to tweak the API sometimes
to improve performance, fix other bugs, etc)
2. the external program may have relied on buggy behavior that the new
cygwin eliminated
3. the external program may have made some unwarranted assumptions.

In point of fact, cygwin v1.1 has some important internal changes from
B20.  All libraries and object files were *required* to be recompiled
for proper operation, although most executables could keep working
without recompilation.  It's not surprising (to me, at least) that
certain esoteric networking add-ons might not work with the new cygwin.

In this particular case, it appears that cygwin is now taking a more
direct role in network I/O than it did previously -- I'd presume this
was a speed optimization.  Perhaps the BUG is in sockscap -- from
sockscapFAQ#7: [sockscap] "makes some assumptions about the application
and stack implementations".

Those assumptions may have been valid for B20.  They do not appear valid
for V1.1.x.  Does that mean cygwin is "buggy" -- or does it mean that
nec.com took some shortcuts in THEIR code?

In any case -- you don't care. You just want cygwin networking apps to
work, even though you are using a non-standard networking layer (e.g.
not an integral part of Windows itself) which deliberately modifies the
way networking is handled on your machine.  Fair enough -- I'd like for
cvs.exe to work on VPNs.  Both require serious hacking in the networking
layer of cygwin.  I await your patch.

--Chuck

--
Want to unsubscribe from this list?
Check out: 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]