aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormi <mi@FreeBSD.org>2013-06-21 11:10:20 +0800
committermi <mi@FreeBSD.org>2013-06-21 11:10:20 +0800
commit6bf504144a652ac95d320c250550582d49a71566 (patch)
treee267916205014dd758b4065f6884e073791656cf
parent1475fe1845a3196e1e17a4b07086c268e58de9a0 (diff)
downloadfreebsd-ports-gnome-6bf504144a652ac95d320c250550582d49a71566.tar.gz
freebsd-ports-gnome-6bf504144a652ac95d320c250550582d49a71566.tar.zst
freebsd-ports-gnome-6bf504144a652ac95d320c250550582d49a71566.zip
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
-rw-r--r--security/sst/Makefile5
-rw-r--r--security/sst/files/Makefile8
-rw-r--r--security/sst/files/patch-sst.c138
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 <bsd.prog.mk>
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);