Module Name:    othersrc
Committed By:   lukem
Date:           Sun May  5 13:17:06 UTC 2013

Modified Files:
        othersrc/usr.bin/tnftp: configure.ac tnftp.h
        othersrc/usr.bin/tnftp/src: Makefile.am ssl.c

Log Message:
Implement --enable-ssl (yes,no,auto) to enable SSL for https:// fetch.
Implement --with-openssl to find OpenSSL.


To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 othersrc/usr.bin/tnftp/configure.ac
cvs rdiff -u -r1.34 -r1.35 othersrc/usr.bin/tnftp/tnftp.h
cvs rdiff -u -r1.2 -r1.3 othersrc/usr.bin/tnftp/src/Makefile.am
cvs rdiff -u -r1.1.1.1 -r1.2 othersrc/usr.bin/tnftp/src/ssl.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: othersrc/usr.bin/tnftp/configure.ac
diff -u othersrc/usr.bin/tnftp/configure.ac:1.23 othersrc/usr.bin/tnftp/configure.ac:1.24
--- othersrc/usr.bin/tnftp/configure.ac:1.23	Sun May  5 11:44:06 2013
+++ othersrc/usr.bin/tnftp/configure.ac	Sun May  5 13:17:05 2013
@@ -1,4 +1,4 @@
-#       $NetBSD: configure.ac,v 1.23 2013/05/05 11:44:06 lukem Exp $
+#       $NetBSD: configure.ac,v 1.24 2013/05/05 13:17:05 lukem Exp $
 #
 # Process this file with autoconf to produce a configure script.
 
@@ -9,12 +9,13 @@ AC_COPYRIGHT([
 Copyright (c) 1999-2010 The NetBSD Foundation, Inc.
 All rights reserved.
 ])
-AC_REVISION([$Revision: 1.23 $])
+AC_REVISION([$Revision: 1.24 $])
 
 AS_SHELL_SANITIZE
 
 AC_CONFIG_SRCDIR([tnftp.h])
 AC_CONFIG_AUX_DIR([buildaux])
+AC_CONFIG_MACRO_DIR([buildaux])
 AC_CONFIG_HEADERS([tnftp_config.h])
 AC_CONFIG_LIBOBJ_DIR([libnetbsd])
 
@@ -36,6 +37,12 @@ AC_ARG_ENABLE([ipv6],
                                [default=enabled]])],
               [opt_ipv6=$enableval],
               [opt_ipv6=yes])
+AC_ARG_ENABLE([ssl],
+              [AS_HELP_STRING([--enable-ssl],
+                              [enable SSL support (requires --with-openssl)
+                               [default=auto]])],
+              [opt_ssl=$enableval],
+              [opt_ssl=auto])
 AC_ARG_WITH([socks],
             [AS_HELP_STRING([--with-socks],
                             [enable support for (Dante) SOCKS5 proxy
@@ -49,15 +56,17 @@ AC_ARG_WITH([socks],
 AH_TEMPLATE([HAVE_POLL],
             [Define if we have poll() and it is not emulated.])
 AH_TEMPLATE([HAVE_PRINTF_QD],
-            [Define if *printf() uses %qd to print `long long'
+            [Define if *printf() uses %qd to print 'long long'
              (otherwise uses %lld).])
 AH_TEMPLATE([HAVE_PRINTF_LONG_LONG],
-            [Define if `long long' is supported and
+            [Define if 'long long' is supported and
              *printf() supports %lld or %qd to print them.])
 AH_TEMPLATE([USE_INET6],
             [Define if using IPv6 support.])
 AH_TEMPLATE([USE_SOCKS],
             [Define if using (Dante) SOCKS5 proxy.])
+AH_TEMPLATE([WITH_SSL],
+            [Define if enabling SSL support.])
 
 #
 # Checks for programs.
@@ -104,6 +113,7 @@ AC_SEARCH_LIBS([socket],
                              [],
                              [-lnsl])])
 
+#
 # Check for (Dante) SOCKS5.
 #
 AS_IF([test "$with_socks" != no],
@@ -124,6 +134,24 @@ AS_IF([test "$with_socks" != no],
                        with_socks=no])])
 
 #
+# Check for OpenSSL.
+#
+AX_CHECK_OPENSSL([have_ssl=yes])
+
+AS_IF([test "$with_ssl" != no],
+      [AC_MSG_NOTICE([--with-ssl=$with_ssl; checking for required OpenSSL features])
+       AS_IF([test "$have_ssl" == yes],
+             [AC_DEFINE([WITH_SSL], [1])
+              AC_MSG_NOTICE([enabling SSL support])
+              with_ssl=yes],
+             [AS_IF([test "$with_ssl" != "auto"],
+                    [AC_MSG_FAILURE([--with-ssl was given, but OpenSSL wasn't found])])
+              AC_MSG_NOTICE([disabling --with-ssl])
+              with_ssl=no])])
+
+AM_CONDITIONAL([WITH_SSL], [test "$with_ssl" = yes])
+
+#
 # Checks for header files.
 #
 accheck_includes='
@@ -172,6 +200,12 @@ accheck_includes='
 #if defined(HAVE_NETINET_IN_SYSTM_H)
 # include <netinet/in_systm.h>
 #endif
+#if defined(HAVE_NETINET_IP_H)
+# include <netinet/ip.h>
+#endif
+#if defined(HAVE_NETINET_TCP_H)
+# include <netinet/tcp.h>
+#endif
 #if defined(HAVE_NETDB_H)
 # include <netdb.h>
 #endif
@@ -206,6 +240,7 @@ AC_HEADER_TIOCGWINSZ
 AC_CHECK_HEADERS([arpa/ftp.h arpa/inet.h arpa/nameser.h err.h \
                   fcntl.h libgen.h limits.h locale.h malloc.h \
                   netinet/in.h netinet/in_systm.h netinet/ip.h \
+                  netinet/tcp.h \
                   paths.h poll.h pwd.h sys/poll.h regex.h \
                   setjmp.h signal.h stddef.h termcap.h termios.h \
                   unistd.h utime.h vis.h],
@@ -401,4 +436,5 @@ AC_MSG_NOTICE([Prefix:                $p
 AC_MSG_NOTICE([Command-line editing:  $opt_editcomplete])
 AC_MSG_NOTICE([IPv6 support:          $opt_ipv6])
 AC_MSG_NOTICE([SOCKS5 proxy support:  $with_socks])
+AC_MSG_NOTICE([SSL:                   $with_ssl])
 AC_MSG_NOTICE([ =============================])

Index: othersrc/usr.bin/tnftp/tnftp.h
diff -u othersrc/usr.bin/tnftp/tnftp.h:1.34 othersrc/usr.bin/tnftp/tnftp.h:1.35
--- othersrc/usr.bin/tnftp/tnftp.h:1.34	Sun May  5 11:34:21 2013
+++ othersrc/usr.bin/tnftp/tnftp.h	Sun May  5 13:17:05 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: tnftp.h,v 1.34 2013/05/05 11:34:21 lukem Exp $	*/
+/*	$NetBSD: tnftp.h,v 1.35 2013/05/05 13:17:05 lukem Exp $	*/
 
 #define	FTP_PRODUCT	PACKAGE_NAME
 #define	FTP_VERSION	PACKAGE_VERSION
@@ -41,6 +41,9 @@
 #if defined(HAVE_NETINET_IP_H)
 # include <netinet/ip.h>
 #endif
+#if defined(HAVE_NETINET_TCP_H)
+# include <netinet/tcp.h>
+#endif
 #if defined(HAVE_NETDB_H)
 # if HAVE_DECL_AI_NUMERICHOST
 #  include <netdb.h>
@@ -504,3 +507,8 @@ int utimes(const char *, const struct ti
  */
 #undef __dead
 #define __dead
+
+#ifdef __UNCONST
+#undef __UNCONST
+#endif
+#define __UNCONST(a)   ((void *)(unsigned long)(const void *)(a))

Index: othersrc/usr.bin/tnftp/src/Makefile.am
diff -u othersrc/usr.bin/tnftp/src/Makefile.am:1.2 othersrc/usr.bin/tnftp/src/Makefile.am:1.3
--- othersrc/usr.bin/tnftp/src/Makefile.am:1.2	Mon Jan  4 06:24:20 2010
+++ othersrc/usr.bin/tnftp/src/Makefile.am	Sun May  5 13:17:06 2013
@@ -1,4 +1,4 @@
-## $NetBSD: Makefile.am,v 1.2 2010/01/04 06:24:20 lukem Exp $
+## $NetBSD: Makefile.am,v 1.3 2013/05/05 13:17:06 lukem Exp $
 
 bin_PROGRAMS = tnftp
 
@@ -35,6 +35,19 @@ tnftp_LDADD += \
 endif
 
 
+if WITH_SSL
+tnftp_SOURCES += \
+	ssl.c
+
+tnftp_CPPFLAGS += \
+	$(OPENSSL_INCLUDES)
+
+tnftp_LDADD += \
+	$(OPENSSL_LDFLAGS) \
+	$(OPENSSL_LIBS)
+endif
+
+
 man1_MANS = \
 	tnftp.1
 

Index: othersrc/usr.bin/tnftp/src/ssl.c
diff -u othersrc/usr.bin/tnftp/src/ssl.c:1.1.1.1 othersrc/usr.bin/tnftp/src/ssl.c:1.2
--- othersrc/usr.bin/tnftp/src/ssl.c:1.1.1.1	Sun May  5 10:40:57 2013
+++ othersrc/usr.bin/tnftp/src/ssl.c	Sun May  5 13:17:06 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: ssl.c,v 1.1.1.1 2013/05/05 10:40:57 lukem Exp $	*/
+/*	$NetBSD: ssl.c,v 1.2 2013/05/05 13:17:06 lukem Exp $	*/
 /*	from	NetBSD: ssl.c,v 1.2 2012/12/24 22:12:28 christos Exp	*/
 
 /*-
@@ -32,6 +32,10 @@
  * $FreeBSD: common.c,v 1.53 2007/12/19 00:26:36 des Exp $
  */
 
+#include "tnftp.h"
+
+#if 0	/* tnftp */
+
 #include <sys/cdefs.h>
 #ifndef lint
 __RCSID(" NetBSD: ssl.c,v 1.2 2012/12/24 22:12:28 christos Exp  ");
@@ -47,6 +51,8 @@ __RCSID(" NetBSD: ssl.c,v 1.2 2012/12/24
 
 #include <netinet/tcp.h>
 #include <netinet/in.h>
+#endif	/* tnftp */
+
 #include <openssl/crypto.h>
 #include <openssl/x509.h>
 #include <openssl/pem.h>

Reply via email to