testing/corkscrew: new aport

http://agroman.net/corkscrew/
Tool for tunneling SSH through HTTP proxies
This commit is contained in:
Matt Dainty 2016-04-15 11:57:36 +01:00 committed by Bartłomiej Piotrowski
parent 70acb23fc0
commit 71bd1e8bdf
5 changed files with 228 additions and 0 deletions

View File

@ -0,0 +1,65 @@
# Contributor: Matt Dainty <matt+alpine@bodgit-n-scarper.com>
# Maintainer:
pkgname=corkscrew
pkgver=2.0
pkgrel=0
pkgdesc="Tool for tunneling SSH through HTTP proxies"
url="http://agroman.net/corkscrew/"
arch="all"
license="GPL"
depends=""
makedepends="autoconf automake"
install=""
subpackages="$pkgname-doc"
source="http://agroman.net/$pkgname/$pkgname-$pkgver.tar.gz
corkscrew-2.0-from-debian.patch
corkscrew-2.0-typo.patch
corkscrew-2.0-autoconf.patch
corkscrew.1
"
_builddir="$srcdir"/$pkgname-$pkgver
prepare() {
local i
cd "$_builddir"
for i in $source; do
case $i in
*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
esac
done
aclocal && autoheader && autoconf && automake --add-missing --force || return 1
}
build() {
cd "$_builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
|| return 1
make || return 1
}
package() {
cd "$_builddir"
make DESTDIR="$pkgdir" install || return 1
install -m644 -D "$srcdir"/corkscrew.1 \
"$pkgdir"/usr/share/man/man1/corkscrew.1 || return 1
}
md5sums="35df77e7f0e59c0ec4f80313be52c10a corkscrew-2.0.tar.gz
877c4d390dde4af6669f26ead2d4f3d9 corkscrew-2.0-from-debian.patch
2c8c799949903a166bb08a6747a3563c corkscrew-2.0-typo.patch
bd80d0cc791e83734d7521ccc59badb6 corkscrew-2.0-autoconf.patch
bf041e99c7395e32460c34b3a01c9db1 corkscrew.1"
sha256sums="0d0fcbb41cba4a81c4ab494459472086f377f9edb78a2e2238ed19b58956b0be corkscrew-2.0.tar.gz
6dd9455f3063cab53fd95c416d5706d921d19a050794cf53df7f2f51e5a97511 corkscrew-2.0-from-debian.patch
94a2137fbfe09b2c417dab251ce98e75ca4bc219c0002eaaeb84236f26361fe5 corkscrew-2.0-typo.patch
b4fb8a9c40e1902f718a9e2bd03bf43976fe57903f977d20d6e81812f97ac777 corkscrew-2.0-autoconf.patch
67f442ffccda98b05a1b4b42c9e4064f538467361d36fcca1401398efd3a44b2 corkscrew.1"
sha512sums="bfea81064601cdf67ba1730b49e3a5f7aa377423edbfb052ff0f6b2776b49e104852b7f126f4668d37541a706313ef37d9b4535126e94bb202db4ac38f693e6f corkscrew-2.0.tar.gz
58b8360155aefc636dfed3c1be89ebbcf39b623dacea12d1fdf3c5831f3b6d06c4f8510a3ccc125f24644a0ca27606c10af99e22266fdd7eca5a3677504f88fb corkscrew-2.0-from-debian.patch
6a685588231485b3808909d12885ed4265f9dd471bf89774ee7f4603577a866c16b296642f223c5ca91eb75c71c552d3aac249bed451dcdffbdacc19abda309d corkscrew-2.0-typo.patch
3ad3ac14717e2f8120bd7415426232e081cdc3a1c46437a54a4e27f7cc3777ecf266cd52a9917a48317dedc5c529363a404d4ff556f20c52bf0c00ee4003e799 corkscrew-2.0-autoconf.patch
a59c99056ef4c12dec854ab0b571b9778b78c3d429193c1365ef2c1a37edb478e8d7e7948e830b22dfe3fb724e6be0b6176ac541da1fa5a2678a608f2b025e90 corkscrew.1"

View File

@ -0,0 +1,10 @@
--- corkscrew-2.0/configure.in.orig
+++ corkscrew-2.0/configure.in
@@ -1,7 +1,6 @@
AC_INIT(corkscrew.c)
AM_INIT_AUTOMAKE(corkscrew, 2.0)
AM_CONFIG_HEADER(config.h:config.in)
-AM_C_PROTOTYPES
AC_PROG_CC
AC_PROG_AWK

View File

@ -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

View File

@ -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.

View File

@ -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 <n> 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<whatever>\fP and
.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
.\" respectively.
.SH AUTHOR
corkscrew was written by Pat Padgett <agroman@agroman.net>.
Thomas Seyrat <tomasera@debian.org> is the debian maintainer for this
package. This manual page was written by Laurent Fousse
<laurent@komite.net>, for the Debian GNU/Linux system (but may be used
by others).