diff --git a/.cvsignore b/.cvsignore deleted file mode 100644 index e69de29..0000000 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..898764f --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +corkscrew-2.0.tar.gz diff --git a/Makefile b/Makefile deleted file mode 100644 index f9a56a0..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: corkscrew -# $Id$ -NAME := corkscrew -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/corkscrew-2.0-from-debian.patch b/corkscrew-2.0-from-debian.patch new file mode 100644 index 0000000..fa13434 --- /dev/null +++ b/corkscrew-2.0-from-debian.patch @@ -0,0 +1,44 @@ +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.1 b/corkscrew.1 new file mode 100644 index 0000000..1c19c63 --- /dev/null +++ b/corkscrew.1 @@ -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 --git a/corkscrew.spec b/corkscrew.spec new file mode 100644 index 0000000..14858be --- /dev/null +++ b/corkscrew.spec @@ -0,0 +1,86 @@ +Summary: Tool for tunneling SSH through HTTP proxies +Name: corkscrew +Version: 2.0 +Release: 8%{?dist} +License: GPLv2 +Group: Applications/Internet +URL: http://www.agroman.net/corkscrew/ +Source0: http://www.agroman.net/corkscrew/%{name}-%{version}.tar.gz +Source1: %{name}.1 + +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 INSTALL="%{__install} -p" DESTDIR=$RPM_BUILD_ROOT + +# man page +install -p -m644 %{SOURCE1} $RPM_BUILD_ROOT%{_mandir}/man1 + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root,-) +%doc AUTHORS +%doc ChangeLog +%doc COPYING +%doc README +%doc TODO +%{_bindir}/%{name} +%{_mandir}/man1/%{name}.1.gz + +%changelog +* Sat Feb 09 2008 Debarshi Ray - 2.0-8 +- Rebuilding with gcc-4.3 in Rawhide. + +* Fri Nov 16 2007 Debarshi Ray - 2.0-7 +- Fixed the value of Release according to Fedora dist tag guidelines. +- Preserved timestamps using 'install -p'. + +* Fri Aug 03 2007 Debarshi Ray - 2.0-6 +- Moved the online manual page from Patch0 to Source1. + +* Fri Aug 03 2007 Debarshi Ray - 2.0-5 +- Changed value of License according to Fedora licensing guidelines. + +* 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