Date: Sat, 13 Jun 2015 15:40:09 -0700 From: Adrian Chadd <adrian@freebsd.org> To: "freebsd-arch@freebsd.org" <freebsd-arch@freebsd.org> Subject: [rfc] add MK_TELNET_SSL as a build option Message-ID: <CAJ-VmomwHuoTQV4cKjivbotn0iAec-=-Nnma10NnwCo54Gw_KQ@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hi, The wifi builds have a need for building telnet/telnetd without ssl/kerberos in order to meet size constraints and to allow them to be crunch'ed. I'd like to add the following patch to -HEAD, minus the comments in libtelnet that are currently a reminder to me of what needs to be turned into function pointers so things link correctly. I'd appreciate feedback here as it does involve addin ga new MK, and I really dislike it. :( adrian@lucy-11i386:~/work/freebsd/head-embedded-2/src % cat /tmp/diff Index: contrib/telnet/libtelnet/misc-proto.h =================================================================== --- contrib/telnet/libtelnet/misc-proto.h (revision 284291) +++ contrib/telnet/libtelnet/misc-proto.h (working copy) @@ -71,6 +71,11 @@ /* * These functions are imported from the application */ +/* + * XXX TODO: turn into a function set that's passed in + * from telnet/telnetd main(). That way it can be + * built via crunchgen. + */ int net_write(unsigned char *, int); void net_encrypt(void); int telnet_spin(void); Index: lib/libtelnet/Makefile =================================================================== --- lib/libtelnet/Makefile (revision 284291) +++ lib/libtelnet/Makefile (working copy) @@ -15,7 +15,7 @@ WARNS?= 2 -.if ${MK_OPENSSL} != "no" +.if ${MK_OPENSSL} != "no" && ${MK_TELNET_SSL} != "no" SRCS+= encrypt.c auth.c enc_des.c sra.c pk.c CFLAGS+= -DENCRYPTION -DAUTHENTICATION -DSRA .endif Index: libexec/telnetd/Makefile =================================================================== --- libexec/telnetd/Makefile (revision 284291) +++ libexec/telnetd/Makefile (working copy) @@ -31,7 +31,7 @@ LIBADD= telnet util ncursesw -.if ${MK_OPENSSL} != "no" +.if ${MK_OPENSSL} != "no" && ${MK_TELNET_SSL} != "no" SRCS+= authenc.c CFLAGS+= -DAUTHENTICATION -DENCRYPTION LIBADD+= mp crypto pam adrian@lucy-11i386:~/work/freebsd/head-embedded-2/src % more /tmp/diff Index: contrib/telnet/libtelnet/misc-proto.h =================================================================== --- contrib/telnet/libtelnet/misc-proto.h (revision 284291) +++ contrib/telnet/libtelnet/misc-proto.h (working copy) @@ -71,6 +71,11 @@ /* * These functions are imported from the application */ +/* + * XXX TODO: turn into a function set that's passed in + * from telnet/telnetd main(). That way it can be + * built via crunchgen. + */ int net_write(unsigned char *, int); void net_encrypt(void); int telnet_spin(void); Index: lib/libtelnet/Makefile =================================================================== --- lib/libtelnet/Makefile (revision 284291) +++ lib/libtelnet/Makefile (working copy) @@ -15,7 +15,7 @@ WARNS?= 2 -.if ${MK_OPENSSL} != "no" +.if ${MK_OPENSSL} != "no" && ${MK_TELNET_SSL} != "no" SRCS+= encrypt.c auth.c enc_des.c sra.c pk.c CFLAGS+= -DENCRYPTION -DAUTHENTICATION -DSRA .endif Index: libexec/telnetd/Makefile =================================================================== --- libexec/telnetd/Makefile (revision 284291) +++ libexec/telnetd/Makefile (working copy) @@ -31,7 +31,7 @@ LIBADD= telnet util ncursesw -.if ${MK_OPENSSL} != "no" +.if ${MK_OPENSSL} != "no" && ${MK_TELNET_SSL} != "no" SRCS+= authenc.c CFLAGS+= -DAUTHENTICATION -DENCRYPTION LIBADD+= mp crypto pam Index: share/mk/src.opts.mk =================================================================== --- share/mk/src.opts.mk (revision 284291) +++ share/mk/src.opts.mk (working copy) @@ -161,6 +161,7 @@ TCP_WRAPPERS \ TCSH \ TELNET \ + TELNET_SSL \ TESTS \ TEXTPROC \ TFTP \ @@ -290,6 +291,7 @@ .if ${MK_CRYPT} == "no" MK_OPENSSL:= no +MK_TELNET_SSL:= no MK_OPENSSH:= no MK_KERBEROS:= no .endif @@ -312,6 +314,7 @@ .endif .if ${MK_OPENSSL} == "no" +MK_TELNET_SSL:= no MK_OPENSSH:= no MK_KERBEROS:= no .endif Index: tools/bsdbox/Makefile =================================================================== --- tools/bsdbox/Makefile (revision 284291) +++ tools/bsdbox/Makefile (working copy) @@ -100,7 +100,7 @@ .include "Makefile.kld" # telnet/telnetd are too broken to include as a crunchgen'ed binary, # thanks to some of the horrible layering violations going on. -# .include "Makefile.telnetd" +.include "Makefile.telnetd" .include "Makefile.fs" CRUNCH_LIBS+= -lcrypto -lssl -lz Index: tools/bsdbox/Makefile.telnetd =================================================================== --- tools/bsdbox/Makefile.telnetd (revision 284291) +++ tools/bsdbox/Makefile.telnetd (working copy) @@ -1,4 +1,4 @@ -# Build telnetd +# Build telnet/telnetd # Question - why is telnetds objects ending up in the srcdir? -adrian # This won't work yet - because telnetd relies on libtelnet.a which includes @@ -8,7 +8,8 @@ # $FreeBSD$ +CRUNCH_BUILDOPTS_telnetd= MK_KERBEROS_SUPPORT=no CRUNCH_PROGS_libexec+= telnetd CRUNCH_PROGS_usr.bin+= telnet -CRUNCH_LIBS+= -lkrb5 -lhx509 -lasn1 -lcom_err -lroken -ltelnetd -# CRUNCH_BUILDOPTS_telnetd= MK_KERBEROS_SUPPORT=no +#CRUNCH_LIBS+= -lkrb5 -lhx509 -lasn1 -lcom_err -lroken +CRUNCH_LIBS+= ../../lib/libtelnet/libtelnet.a Index: usr.bin/telnet/Makefile =================================================================== --- usr.bin/telnet/Makefile (revision 284291) +++ usr.bin/telnet/Makefile (working copy) @@ -30,7 +30,7 @@ CFLAGS+= -DHAS_CGETENT .endif -.if ${MK_OPENSSL} != "no" +.if ${MK_OPENSSL} != "no" && ${MK_TELNET_SSL} != "no" SRCS+= authenc.c CFLAGS+= -DENCRYPTION -DAUTHENTICATION -DIPSEC LIBADD+= mp crypto ipsec pam adrian@lucy-11i386:~/work/freebsd/head-embedded-2/src %
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmomwHuoTQV4cKjivbotn0iAec-=-Nnma10NnwCo54Gw_KQ>