aboutsummaryrefslogtreecommitdiff
path: root/security/putty
diff options
context:
space:
mode:
authorDirk Meyer <dinoex@FreeBSD.org>2004-02-13 17:45:39 +0000
committerDirk Meyer <dinoex@FreeBSD.org>2004-02-13 17:45:39 +0000
commit4d3b1de9f7c017656fa451909180ea9f04b3e2ff (patch)
tree22e8cdf366d7d34daf0e73cc787307b82f747fb8 /security/putty
parentdd53c83aa18a93ac9c287d1d723d52762f949b01 (diff)
downloadports-4d3b1de9f7c017656fa451909180ea9f04b3e2ff.tar.gz
ports-4d3b1de9f7c017656fa451909180ea9f04b3e2ff.zip
PuTTY is a client program for the SSH, Telnet and Rlogin network protocols.
These protocols are all used to run a remote session on a computer, over a network. PuTTY implements the client end of that session: the end at which the session is displayed, rather than the end at which it runs. WWW: http://www.chiark.greenend.org.uk/~sgtatham/putty/
Notes
Notes: svn path=/head/; revision=100863
Diffstat (limited to 'security/putty')
-rw-r--r--security/putty/Makefile43
-rw-r--r--security/putty/distinfo2
-rw-r--r--security/putty/files/mbrtowc.c79
-rw-r--r--security/putty/files/patch-Makefile.gtk53
-rw-r--r--security/putty/files/patch-pty.c35
-rw-r--r--security/putty/files/patch-uxnet.c16
-rw-r--r--security/putty/files/patch-uxucs.c19
-rw-r--r--security/putty/files/wcrtomb.c57
-rw-r--r--security/putty/pkg-descr8
9 files changed, 312 insertions, 0 deletions
diff --git a/security/putty/Makefile b/security/putty/Makefile
new file mode 100644
index 000000000000..138eeeacd19c
--- /dev/null
+++ b/security/putty/Makefile
@@ -0,0 +1,43 @@
+# New ports collection makefile for: putty
+# Date created: 13 Feb 2004
+# Whom: dirk.meyer@dinoex.sub.org
+#
+# $FreeBSD$
+#
+
+PORTNAME= putty
+PORTVERSION= 0.54
+CATEGORIES= security
+MASTER_SITES= http://the.earth.li/~sgtatham/putty/%SUBDIR%/
+MASTER_SITE_SUBDIR= ${PORTVERSION}
+
+MAINTAINER= dinoex@FreeBSD.org
+COMMENT= Secure shell and telnet client
+
+USE_GMAKE= yes
+WRKSRC= ${WRKDIR}/${DISTNAME}/unix
+MAKEFILE= Makefile.gtk
+CFLAGS+= -DOMIT_UTMP
+CFLAGS= -DBSD_PTYS -DOMIT_UTMP
+
+PLIST_FILES= bin/plink bin/pscp bin/psftp
+MAN1= plink.1
+
+.ifndef WITHOUT_GTK
+USE_GNOME= gtk12
+PLIST_FILES+= bin/pterm bin/putty bin/puttygen bin/puttytel
+MAN1+= pterm.1 putty.1 puttygen.1 puttytel.1
+MAKE_ENV+= PUTTY_WITH_GTK=yes
+.endif
+
+.include <bsd.port.pre.mk>
+
+.if ${OSVERSION} < 500000
+CFLAGS+= -DFREEBSD_MB_SUPPORT
+
+do-configure:
+ ${CP} ${FILESDIR}/wcrtomb.c ${FILESDIR}/mbrtowc.c \
+ ${WRKSRC}/
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/security/putty/distinfo b/security/putty/distinfo
new file mode 100644
index 000000000000..0e515a7a23a4
--- /dev/null
+++ b/security/putty/distinfo
@@ -0,0 +1,2 @@
+MD5 (putty-0.54.tar.gz) = ea6de3bc40bb34f4a4a8c861c08e6f31
+SIZE (putty-0.54.tar.gz) = 901120
diff --git a/security/putty/files/mbrtowc.c b/security/putty/files/mbrtowc.c
new file mode 100644
index 000000000000..99233773ef1e
--- /dev/null
+++ b/security/putty/files/mbrtowc.c
@@ -0,0 +1,79 @@
+/*-
+ * Copyright (c) 2002, 2003 Tim J. Robbins.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD: /tmp/pcvs/ports/security/putty/files/mbrtowc.c,v 1.1 2004-02-13 17:45:38 dinoex Exp $");
+
+#include <errno.h>
+#include <rune.h>
+#include <stdlib.h>
+#include <wchar.h>
+
+/*
+ * Emulate the ISO C mbrtowc() function in terms of the deprecated
+ * 4.4BSD sgetrune() function.
+ */
+size_t
+mbrtowc(wchar_t * __restrict pwc, const char * __restrict s,
+ size_t n, mbstate_t * __restrict ps __unused)
+{
+ const char *e;
+ rune_t r;
+
+ if (s == NULL) {
+ pwc = NULL;
+ s = "";
+ n = 1;
+ }
+
+ if ((r = sgetrune(s, n, &e)) == _INVALID_RUNE) {
+ /*
+ * The design of sgetrune() doesn't give us any way to tell
+ * between incomplete and invalid multibyte sequences.
+ */
+
+ if (n >= (size_t)MB_CUR_MAX) {
+ /*
+ * If we have been supplied with at least MB_CUR_MAX
+ * bytes and still cannot find a valid character, the
+ * data must be invalid.
+ */
+ errno = EILSEQ;
+ return ((size_t)-1);
+ }
+
+ /*
+ * .. otherwise, it's an incomplete character or an invalid
+ * character we cannot detect yet.
+ */
+ return ((size_t)-2);
+ }
+
+ if (pwc != NULL)
+ *pwc = (wchar_t)r;
+
+ return (r != 0 ? (size_t)(e - s) : 0);
+}
diff --git a/security/putty/files/patch-Makefile.gtk b/security/putty/files/patch-Makefile.gtk
new file mode 100644
index 000000000000..dc11f9527b88
--- /dev/null
+++ b/security/putty/files/patch-Makefile.gtk
@@ -0,0 +1,53 @@
+--- Makefile.gtk.orig Thu Feb 12 19:43:43 2004
++++ Makefile.gtk Fri Feb 13 14:48:57 2004
+@@ -80,7 +80,7 @@
+ # TOOLPATH = /opt/gcc/bin
+ CC = $(TOOLPATH)cc
+
+-CFLAGS = -O2 -Wall -Werror -g -I. -I.. -I../charset `gtk-config --cflags`
++CFLAGS += -Wall -g -I. -I.. -I../charset `gtk-config --cflags`
+ XLDFLAGS = `gtk-config --libs`
+ ULDFLAGS =#
+ INSTALL=install
+@@ -97,7 +97,11 @@
+ %.o:
+ $(CC) $(COMPAT) $(FWHACK) $(XFLAGS) $(CFLAGS) -c $<
+
++ifdef PUTTY_WITH_GTK
+ all: plink pscp psftp pterm putty puttygen puttytel
++else
++all: plink pscp psftp
++endif
+
+ plink: be_all.o cmdline.o ldisc.o logging.o misc.o portfwd.o proxy.o raw.o \
+ rlogin.o settings.o signal.o ssh.o sshaes.o sshblowf.o \
+@@ -560,7 +564,7 @@
+ version.o: FORCE;
+ # Hack to force version.o to be rebuilt always
+ FORCE:
+- if test -z "$(VER)" && (cd ..; md5sum -c manifest); then \
++ if test -z "$(VER)" ; then \
+ $(CC) $(COMPAT) $(FWHACK) $(XFLAGS) $(CFLAGS) `cat ../version.def` -c ../version.c; \
+ else \
+ $(CC) $(COMPAT) $(FWHACK) $(XFLAGS) $(CFLAGS) $(VER) -c ../version.c; \
+@@ -572,17 +576,17 @@
+ $(INSTALL_PROGRAM) -m 755 plink $(DESTDIR)$(bindir)/plink
+ $(INSTALL_PROGRAM) -m 755 pscp $(DESTDIR)$(bindir)/pscp
+ $(INSTALL_PROGRAM) -m 755 psftp $(DESTDIR)$(bindir)/psftp
++ $(INSTALL_DATA) -m 644 plink.1 $(DESTDIR)$(man1dir)/plink.1
++ifdef PUTTY_WITH_GTK
+ $(INSTALL_PROGRAM) -m 755 pterm $(DESTDIR)$(bindir)/pterm
+ $(INSTALL_PROGRAM) -m 755 putty $(DESTDIR)$(bindir)/putty
+ $(INSTALL_PROGRAM) -m 755 puttygen $(DESTDIR)$(bindir)/puttygen
+ $(INSTALL_PROGRAM) -m 755 puttytel $(DESTDIR)$(bindir)/puttytel
+- $(INSTALL_DATA) -m 644 plink.1 $(DESTDIR)$(man1dir)/plink.1
+- $(INSTALL_DATA) -m 644 pscp.1 $(DESTDIR)$(man1dir)/pscp.1
+- $(INSTALL_DATA) -m 644 psftp.1 $(DESTDIR)$(man1dir)/psftp.1
+ $(INSTALL_DATA) -m 644 pterm.1 $(DESTDIR)$(man1dir)/pterm.1
+ $(INSTALL_DATA) -m 644 putty.1 $(DESTDIR)$(man1dir)/putty.1
+ $(INSTALL_DATA) -m 644 puttygen.1 $(DESTDIR)$(man1dir)/puttygen.1
+ $(INSTALL_DATA) -m 644 puttytel.1 $(DESTDIR)$(man1dir)/puttytel.1
++endif
+
+ install-strip:
+ $(MAKE) install INSTALL_PROGRAM="$(INSTALL_PROGRAM) -s"
diff --git a/security/putty/files/patch-pty.c b/security/putty/files/patch-pty.c
new file mode 100644
index 000000000000..2e35c8334b07
--- /dev/null
+++ b/security/putty/files/patch-pty.c
@@ -0,0 +1,35 @@
+--- pty.c.orig Sun May 11 14:28:53 2003
++++ pty.c Fri Feb 13 15:06:26 2004
+@@ -14,7 +14,9 @@
+ #define _XOPEN_SOURCE
+ #define _XOPEN_SOURCE_EXTENDED
+ #define _GNU_SOURCE
++#ifndef __FreeBSD__
+ #include <features.h>
++#endif
+
+ #include <stdio.h>
+ #include <stdlib.h>
+@@ -32,6 +34,10 @@
+ #include <sys/ioctl.h>
+ #include <errno.h>
+
++#ifdef __FreeBSD__
++#include <sys/stat.h>
++#endif
++
+ #include "putty.h"
+
+ #ifndef FALSE
+@@ -567,9 +573,9 @@
+ ioctl(slavefd, TIOCSCTTY, 1);
+ pgrp = getpid();
+ tcsetpgrp(slavefd, pgrp);
+- setpgrp();
++ setpgrp( pgrp, -1 );
+ close(open(pty_name, O_WRONLY, 0));
+- setpgrp();
++ setpgrp( pgrp, -1 );
+ /* Close everything _else_, for tidiness. */
+ for (i = 3; i < 1024; i++)
+ close(i);
diff --git a/security/putty/files/patch-uxnet.c b/security/putty/files/patch-uxnet.c
new file mode 100644
index 000000000000..e3cfc949c4b1
--- /dev/null
+++ b/security/putty/files/patch-uxnet.c
@@ -0,0 +1,16 @@
+--- uxnet.c.orig Tue Feb 3 15:47:43 2004
++++ uxnet.c Fri Feb 13 14:19:00 2004
+@@ -11,8 +11,13 @@
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <sys/ioctl.h>
++#ifdef __FreeBSD__
++#include <netinet/in.h>
++#include <arpa/inet.h>
++#else
+ #include <arpa/inet.h>
+ #include <netinet/in.h>
++#endif
+ #include <netinet/tcp.h>
+ #include <netdb.h>
+
diff --git a/security/putty/files/patch-uxucs.c b/security/putty/files/patch-uxucs.c
new file mode 100644
index 000000000000..c602fdda4dda
--- /dev/null
+++ b/security/putty/files/patch-uxucs.c
@@ -0,0 +1,19 @@
+--- uxucs.c.orig Sat Apr 26 16:22:42 2003
++++ uxucs.c Fri Feb 13 15:27:13 2004
+@@ -12,6 +12,16 @@
+ #include "terminal.h"
+ #include "misc.h"
+
++#ifdef FREEBSD_MB_SUPPORT
++size_t mbrtowc __P((wchar_t * __restrict, const char * __restrict, size_t,
++ mbstate_t * __restrict));
++size_t wcrtomb __P((char * __restrict, wchar_t, mbstate_t * __restrict));
++
++#include "mbrtowc.c"
++#include "wcrtomb.c"
++
++#endif
++
+ /*
+ * Unix Unicode-handling routines.
+ */
diff --git a/security/putty/files/wcrtomb.c b/security/putty/files/wcrtomb.c
new file mode 100644
index 000000000000..f4888a8e72ab
--- /dev/null
+++ b/security/putty/files/wcrtomb.c
@@ -0,0 +1,57 @@
+/*-
+ * Copyright (c) 2002, 2003 Tim J. Robbins.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD: /tmp/pcvs/ports/security/putty/files/wcrtomb.c,v 1.1 2004-02-13 17:45:39 dinoex Exp $");
+
+#include <errno.h>
+#include <limits.h>
+#include <rune.h>
+#include <stdlib.h>
+#include <wchar.h>
+
+/*
+ * Emulate the ISO C wcrtomb() function in terms of the deprecated
+ * 4.4BSD sputrune() function.
+ */
+size_t
+wcrtomb(char * __restrict s, wchar_t wc,
+ mbstate_t * __restrict ps __unused)
+{
+ char *e;
+ char buf[MB_LEN_MAX];
+
+ if (s == NULL) {
+ s = buf;
+ wc = L'\0';
+ }
+ sputrune(wc, s, MB_CUR_MAX, &e);
+ if (e == NULL) {
+ errno = EILSEQ;
+ return ((size_t)-1);
+ }
+ return ((size_t)(e - s));
+}
diff --git a/security/putty/pkg-descr b/security/putty/pkg-descr
new file mode 100644
index 000000000000..827063a1d9f0
--- /dev/null
+++ b/security/putty/pkg-descr
@@ -0,0 +1,8 @@
+PuTTY is a client program for the SSH, Telnet and Rlogin network protocols.
+
+These protocols are all used to run a remote session on a computer,
+over a network. PuTTY implements the client end of that session:
+the end at which the session is displayed, rather than the end
+at which it runs.
+
+WWW: http://www.chiark.greenend.org.uk/~sgtatham/putty/