On Wed, 2006-05-17 20:44:28 -0700, Sam Song <samlinuxkernel@xxxxxxxxx> wrote: > Petr Vandrovec <petr@xxxxxxxxxx> wrote: > > Jan-Benedict Glaw <jbglaw@xxxxxxxxxx> wrote: > > > Well, install some package to have `socket' > > > available? Debian calls > > > the packet `socket', too, so I guess Fedora may > > > have something similar. > > > > Surprisingly they do not... You should be able to > > replace 'socket' with > > 'netcat' - and I believe that netcat/nc package is > > available for Fedora. For > > this purpose they have same command line & behavior. > > Ummm, I am trying on that. nc is avaiable for Fedora. > But what could be the replacement for CONNECT in > Fedora? :-) Erm, you haven't understood what you're doing there, have you? With the GIT_PROXY_COMMAND helper, you're expected to create a clean tunnel which in turn git can use to transfer its data. You've only got some limited internet connectivity via a HTTP proxy available, so you need to use this. This means: * The proxy administrator needs to allos outgoing connections for the CONNECT method with git's TCP port. * You need to have some minimalistic program to initially speak HTTP with the proxy and later on just stream the raw git protocol through the link. * You may or may not need to strip anything that came into the git stream by accident because you tunnled it through a HTTP proxy. A reply message from the proxy server is an example for this. So this little script (using "CONNECT" and netcat or socket) does the first part: it talks in the language HTTP with the proxy server. It may be enough to just use CONNECT, but you may need to speak some more lines, eg. for proxy authorization. The first `cat' in there is just for pushing the git protocol though the HTTP proxy connection later on (hopefully after the proxy was made to accept the the CONNECT request.) Once the proxy accepted it, it'll send you a HTTP/200 message (or something like that) and an empty line. This is what the two reads are for; the next `cat' simply again transfers all the rest (the git protocol). To draw the line, there's not _one_ solution to HTTP proxy tunneling, there are many, and you'll need to design one that fits your network. It should be quite simple, given that you've got nice tools like `strace' and `tcpdump', which will help you to understand how the proxy reacts and so on. MfG, JBG -- Jan-Benedict Glaw jbglaw@xxxxxxxxxx . +49-172-7608481 _ O _ "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg _ _ O für einen Freien Staat voll Freier Bürger" | im Internet! | im Irak! O O O ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));
Attachment:
signature.asc
Description: Digital signature