From 6bf504144a652ac95d320c250550582d49a71566 Mon Sep 17 00:00:00 2001 From: mi Date: Fri, 21 Jun 2013 03:10:20 +0000 Subject: Only depend on net/netcat, when /usr/bin/netcat is not uvailable (either because the present FreeBSD is too old, or because we are building on, say, DragonFlyBSD). Fix up most compiler warnings, while I'm here. Bump PORTREVISION. PR: ports/179752 Submitted by: John Marino --- security/sst/Makefile | 5 +- security/sst/files/Makefile | 8 ++- security/sst/files/patch-sst.c | 138 ++++++++++++++++++++++++++++++++++++++--- 3 files changed, 140 insertions(+), 11 deletions(-) diff --git a/security/sst/Makefile b/security/sst/Makefile index 5aca7b833c41..2721a2d63d5c 100644 --- a/security/sst/Makefile +++ b/security/sst/Makefile @@ -7,6 +7,7 @@ PORTNAME= sst PORTVERSION= 1.0 +PORTREVISION= 1 CATEGORIES= security MASTER_SITES= http://utcc.utoronto.ca/~pkern/stuff/sst/ DISTNAME= ${PORTNAME} @@ -14,7 +15,9 @@ DISTNAME= ${PORTNAME} MAINTAINER= mi@aldan.algebra.com COMMENT= A simple SSL tunneling tool (uses netcat) -RUN_DEPENDS= nc:${PORTSDIR}/net/netcat +.if !exists(/usr/bin/nc) +RUN_DEPENDS= netcat:${PORTSDIR}/net/netcat +.endif USE_OPENSSL= YES MAN1= sst.1 diff --git a/security/sst/files/Makefile b/security/sst/files/Makefile index be39899e366f..0da7331f478a 100644 --- a/security/sst/files/Makefile +++ b/security/sst/files/Makefile @@ -6,8 +6,12 @@ BINDIR=${PREFIX}/sbin MANDIR=${PREFIX}/man/man CFLAGS+= -DCONFDIR='"${OPENSSLDIR}"' -DCERTF='"certs/sst.pem"' \ - -DNETCAT='"${PREFIX}/bin/nc"' -I${OPENSSLINC} - + -I${OPENSSLINC} +.if exists(/usr/bin/nc) +CFLAGS+= -DNETCAT='"/usr/bin/nc"' +.else +CFLAGS+= -DNETCAT='"${LOCALBASE}/bin/netcat"' +.endif LDADD+= -L${OPENSSLLIB} -lssl -lcrypto .include diff --git a/security/sst/files/patch-sst.c b/security/sst/files/patch-sst.c index c42f282ca577..edf563ce8205 100644 --- a/security/sst/files/patch-sst.c +++ b/security/sst/files/patch-sst.c @@ -1,7 +1,112 @@ ---- sst.c Thu May 4 14:47:28 2000 -+++ sst.c.new Sun Dec 31 04:49:43 2000 -@@ -609,8 +609,8 @@ - SHOW_info1("client cert subject: %s", subj); +--- sst.c 2000-05-04 15:47:28.000000000 -0400 ++++ sst.c 2013-06-20 08:55:27.000000000 -0400 +@@ -213,5 +213,5 @@ + */ + #ifndef lint +-static char rcsid[] = "$Header: /local/src/local.bin/sst/SRC/RCS/sst.c,v 1.12 2000/05/04 19:47:26 pkern Exp $"; ++static const char rcsid[] = "$Header: /local/src/local.bin/sst/SRC/RCS/sst.c,v 1.12 2000/05/04 19:47:26 pkern Exp $"; + #endif + +@@ -262,8 +262,8 @@ + int eofclnt = 0; + +-char *prog = "sst"; +-char *host = NULL; +-char *port = NULL; +-char *method = NULL; ++const char *prog = "sst"; ++const char *host = NULL; ++const char *port = NULL; ++const char *method = NULL; + + char certfbuf[MAXPATHLEN], ssldbuf[MAXPATHLEN]; +@@ -298,6 +298,6 @@ + * All rights reserved. + */ +-void +-ERR_log_errors() ++static void ++ERR_log_errors(void) + { + unsigned long l; +@@ -315,6 +315,6 @@ + } + +-void +-show_SSL_errors() ++static void ++show_SSL_errors(void) + { + if (logging) ERR_log_errors(); +@@ -322,4 +322,8 @@ + } + ++#ifndef __GNUC__ ++# define __attribute__(x) ++#endif ++ + #define SHOW_x(L,F,x) { \ + if (logging) syslog((L), "%s", (x)); \ +@@ -347,5 +351,5 @@ + + +-char *usageopts[] = { ++const char *usageopts[] = { + "", + " options:", +@@ -375,7 +379,8 @@ + }; + +-usage() ++static void ++usage(void) + { +- char **uop = usageopts; ++ const char **uop = usageopts; + + if (logging) { +@@ -390,6 +395,6 @@ + + /* reaper -- zombie prevention */ +-void +-reaper() ++static void ++reaper(int signal __attribute__((unused))) + { + int w; +@@ -415,4 +420,5 @@ + * - EOF on rd when in server mode means the actual server has finished. + */ ++static void + relay(ssl, sd, rd, wd) + SSL *ssl; +@@ -523,20 +529,12 @@ + + if (verbose) { +- if (sizeof(off_t) > 4) { +- SHOW_info1("bytes from ssl: %qd", nsr); +- SHOW_info1("bytes to ssl: %qd", nsw); +- SHOW_info1("bytes from local: %qd", nlr); +- SHOW_info1("bytes to local: %qd", nlw); +- } +- else { +- SHOW_info1("bytes from ssl: %ld", nsr); +- SHOW_info1("bytes to ssl: %ld", nsw); +- SHOW_info1("bytes from local: %ld", nlr); +- SHOW_info1("bytes to local: %ld", nlw); +- } ++ SHOW_info1("bytes from ssl: %qd", (long long int)nsr); ++ SHOW_info1("bytes to ssl: %qd", (long long int)nsw); ++ SHOW_info1("bytes from local: %qd", (long long int)nlr); ++ SHOW_info1("bytes to local: %qd", (long long int)nlw); + } + } + +- ++static void + srvr_prep(ctx, ssl, sd) + SSL_CTX **ctx; +@@ -610,6 +608,6 @@ SHOW_info1("client cert issuer: %s", issu); - Free(subj); @@ -10,9 +115,14 @@ + free(issu); /* - * XXX ... -@@ -699,8 +699,8 @@ - SHOW_info1("server cert subject: %s", subj); +@@ -625,5 +623,5 @@ + } + +- ++static void + clnt_prep(ctx, ssl, sd) + SSL_CTX **ctx; +@@ -700,6 +698,6 @@ SHOW_info1("server cert issuer: %s", issu); - Free(subj); @@ -21,4 +131,16 @@ + free(issu); /* - * XXX ... +@@ -714,5 +712,5 @@ + } + +- ++int + main(ac, av) + int ac; +@@ -757,5 +755,4 @@ + + if (errflg) { +-usage: + usage(); + exit(1); -- cgit