diff --git a/.cvsignore b/.cvsignore index e69de29..898764f 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +corkscrew-2.0.tar.gz diff --git a/corkscrew-2.0-from-debian.patch b/corkscrew-2.0-from-debian.patch new file mode 100644 index 0000000..0625f4c --- /dev/null +++ b/corkscrew-2.0-from-debian.patch @@ -0,0 +1,145 @@ +diff -urNp corkscrew-2.0.orig/corkscrew.1 corkscrew-2.0/corkscrew.1 +--- corkscrew-2.0.orig/corkscrew.1 1970-01-01 05:30:00.000000000 +0530 ++++ corkscrew-2.0/corkscrew.1 2007-05-19 09:56:33.000000000 +0530 +@@ -0,0 +1,97 @@ ++.\" Hey, EMACS: -*- nroff -*- ++.\" First parameter, NAME, should be all caps ++.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection ++.\" other parameters are allowed: see man(7), man(1) ++.TH CORKSCREW 1 "November 22, 2003" ++.\" Please adjust this date whenever revising the manpage. ++.\" ++.\" Some roff macros, for reference: ++.\" .nh disable hyphenation ++.\" .hy enable hyphenation ++.\" .ad l left justify ++.\" .ad b justify to both left and right margins ++.\" .nf disable filling ++.\" .fi enable filling ++.\" .br insert line break ++.\" .sp insert n+1 empty lines ++.\" for manpage-specific macros, see man(7) ++.SH NAME ++corkscrew \- Tunnel TCP connections through HTTP proxies ++.SH SYNOPSIS ++.B corkscrew ++.BR ++proxy ++.BR ++proxyport ++.BR ++targethost ++.BR ++targetport ++.BR ++[ authfile ] ++.br ++.SH DESCRIPTION ++This manual page documents briefly the ++.BR corkscrew ++command. ++This manual page was written for the Debian distribution ++because the original program does not have a manual page. ++ ++corkscrew is a simple tool to tunnel TCP connections through an HTTP ++proxy supporting the CONNECT method. It reads stdin and writes to ++stdout during the connection, just like netcat. ++It can be used for instance to connect to an SSH server running on ++a remote 443 port through a strict HTTPS proxy. ++ ++ ++.SH PARAMETERS ++ ++.TP ++.B proxy ++This is the name of the host running the HTTP proxy. ++.TP ++.B proxyport ++This is the port on which to connect on the proxy. ++.TP ++.B target ++This is the host to reach through the proxy. ++.TP ++.B targetport ++This is the port to connect to on the target host. ++ ++.SH COMMON USAGE ++ ++The common usage of corkscrew is to put the following line in your ++ssh_config: ++ ++ProxyCommand corkscrew proxy proxyport %h %p ++ ++This will let your ssh connection go through the proxy with the help ++of corkscrew. ++ ++.SH AUTH FILE ++ ++The auth file is made of one single line containing your username and ++password in the form: ++ ++username:password ++ ++You should add the path to your auth file in the proxy command ++described above: ++ ++ProxyCommand corkscrew proxy proxyport %h %p auth-file ++ ++.SH "SEE ALSO" ++.IX Header "SEE ALSO" ++\&\fIssh_config\fR\|(5) ++ ++.PP ++.\" TeX users may be more comfortable with the \fB\fP and ++.\" \fI\fP escape sequences to invode bold face and italics, ++.\" respectively. ++.SH AUTHOR ++corkscrew was written by Pat Padgett . ++Thomas Seyrat is the debian maintainer for this ++package. This manual page was written by Laurent Fousse ++, for the Debian GNU/Linux system (but may be used ++by others). +diff -urNp corkscrew-2.0.orig/corkscrew.c corkscrew-2.0/corkscrew.c +--- corkscrew-2.0.orig/corkscrew.c 2007-05-19 09:56:05.000000000 +0530 ++++ corkscrew-2.0/corkscrew.c 2007-05-19 10:07:00.000000000 +0530 +@@ -176,6 +176,7 @@ char *argv[]; + #endif + char *host = NULL, *desthost = NULL, *destport = NULL; + char *up = NULL; ++ char *tmp = NULL; + int port, sent, setup, code, csock; + fd_set rfd, sfd; + struct timeval tv; +@@ -262,6 +263,11 @@ char *argv[]; + fprintf(stderr, "Proxy could not open connnection to %s: %s\n", desthost, descr); + exit(-1); + } ++ if (tmp = strstr(buffer,"\r\n\r\n")) ++ { ++ tmp += 4; ++ write(1, tmp, strlen(tmp)); ++ } + } + } + if (FD_ISSET(csock, &sfd) && (sent == 0)) { +diff -urNp corkscrew-2.0.orig/README corkscrew-2.0/README +--- corkscrew-2.0.orig/README 2007-05-19 09:56:05.000000000 +0530 ++++ corkscrew-2.0/README 2007-05-19 09:56:48.000000000 +0530 +@@ -47,7 +47,7 @@ Setting up Corkscrew with SSH/OpenSSH is + the following line to your ~/.ssh/config file will usually do + the trick (replace proxy.example.com and 8080 with correct values): + +-ProxyCommand /usr/local/bin/corkscrew proxy.example.com 8080 %h %p ++ProxyCommand /usr/bin/corkscrew proxy.example.com 8080 %h %p + + NOTE: Command line syntax has changed since version 1.5. Please + notice that the proxy port is NOT optional anymore and is required +@@ -70,7 +70,7 @@ chmod 600 myauth + Now you will have to change the ProxyCommand line in your ~/.ssh/config + file. Here's an example : + +-ProxyCommand /usr/local/bin/corkscrew proxy.work.com 80 %h %p ~/.ssh/myauth ++ProxyCommand /usr/bin/corkscrew proxy.work.com 80 %h %p ~/.ssh/myauth + + The proxy authentication feature is very new and has not been tested + extensively so your mileage may vary. If you encounter any problems diff --git a/corkscrew-2.0-typo.patch b/corkscrew-2.0-typo.patch new file mode 100644 index 0000000..01e9de7 --- /dev/null +++ b/corkscrew-2.0-typo.patch @@ -0,0 +1,12 @@ +diff -urNp corkscrew-2.0.orig/README corkscrew-2.0/README +--- corkscrew-2.0.orig/README 2007-05-19 10:56:12.000000000 +0530 ++++ corkscrew-2.0/README 2007-05-19 10:56:45.000000000 +0530 +@@ -83,7 +83,7 @@ if you could include the following infor + + *NOTE: I have had problems using the auth features with Mircosoft Proxy + server. The problems are sporadic, and I believe that they are related +- to the round-robin setup that I was testing it again. Your mileage may ++ to the round-robin setup that I was testing it against. Your mileage may + vary. + + diff --git a/corkscrew.spec b/corkscrew.spec new file mode 100644 index 0000000..cd3f249 --- /dev/null +++ b/corkscrew.spec @@ -0,0 +1,68 @@ +Summary: Tool for tunneling SSH through HTTP proxies +Name: corkscrew +Version: 2.0 +Release: 4%{dist} +License: GPL +Group: Applications/Internet +URL: http://www.agroman.net/corkscrew/ +Source0: http://www.agroman.net/corkscrew/%{name}-%{version}.tar.gz + +Patch0: %{name}-%{version}-from-debian.patch +Patch1: %{name}-%{version}-typo.patch + +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) + +%description +Corkscrew is a tool for tunneling SSH through HTTP proxies. + +It has been tested with the following HTTP proxies : + * Gauntlet + * CacheFlow + * JunkBuster + * Apache mod_proxy + +%prep +%setup -q +%patch0 -p1 +%patch1 -p1 + +%build +%configure +make %{?_smp_mflags} + +%install +rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 + +make install DESTDIR=$RPM_BUILD_ROOT + +# man page +install -m644 %{name}.1 $RPM_BUILD_ROOT%{_mandir}/man1 + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root,-) +%doc AUTHORS ChangeLog COPYING README TODO +%{_bindir}/%{name} +%{_mandir}/man1/%{name}.1.gz + +%changelog +* Sun Jun 10 2007 Debarshi Ray - 2.0-4 +- Removed 'export CC=gcc' from the build stanza. + +* Wed Jun 06 2007 Debarshi Ray - 2.0-3 +- Removed '[ -d $RPM_BUILD_ROOT ]' from the install stanza. +- Changed value of BuildRoot as per recommendations in Fedora packaging + guidelines. + +* Sat May 19 2007 Debarshi Ray - 2.0-2 +- Addressed warnings generated by rpmlint, and changed Source0 into a URL. +- Added AUTHORS, ChangeLog, COPYING and TODO in the list of documentation + files. +- Added online manual page and patches to README and corkscrew.c from Debian. +- Fixed a typo in README. + +* Sat May 12 2007 Debarshi Ray - 2.0-1 +- Initial build. diff --git a/sources b/sources index e69de29..4a07a07 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +35df77e7f0e59c0ec4f80313be52c10a corkscrew-2.0.tar.gz