diff options
author | Dirk Meyer <dinoex@FreeBSD.org> | 2004-02-13 17:45:39 +0000 |
---|---|---|
committer | Dirk Meyer <dinoex@FreeBSD.org> | 2004-02-13 17:45:39 +0000 |
commit | 4d3b1de9f7c017656fa451909180ea9f04b3e2ff (patch) | |
tree | 22e8cdf366d7d34daf0e73cc787307b82f747fb8 | |
parent | dd53c83aa18a93ac9c287d1d723d52762f949b01 (diff) | |
download | ports-4d3b1de9f7c017656fa451909180ea9f04b3e2ff.tar.gz ports-4d3b1de9f7c017656fa451909180ea9f04b3e2ff.zip |
Notes
-rw-r--r-- | security/Makefile | 1 | ||||
-rw-r--r-- | security/putty/Makefile | 43 | ||||
-rw-r--r-- | security/putty/distinfo | 2 | ||||
-rw-r--r-- | security/putty/files/mbrtowc.c | 79 | ||||
-rw-r--r-- | security/putty/files/patch-Makefile.gtk | 53 | ||||
-rw-r--r-- | security/putty/files/patch-pty.c | 35 | ||||
-rw-r--r-- | security/putty/files/patch-uxnet.c | 16 | ||||
-rw-r--r-- | security/putty/files/patch-uxucs.c | 19 | ||||
-rw-r--r-- | security/putty/files/wcrtomb.c | 57 | ||||
-rw-r--r-- | security/putty/pkg-descr | 8 |
10 files changed, 313 insertions, 0 deletions
diff --git a/security/Makefile b/security/Makefile index 42610b569c26..3c6664d6718d 100644 --- a/security/Makefile +++ b/security/Makefile @@ -315,6 +315,7 @@ SUBDIR += proxycheck SUBDIR += proxytunnel SUBDIR += pscan + SUBDIR += putty SUBDIR += pwman SUBDIR += pxytest SUBDIR += py-cryptkit 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/ |