1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-19 00:13:33 +00:00
freebsd-ports/security/dropbear/Makefile
2024-01-10 16:29:49 +01:00

173 lines
5.9 KiB
Makefile

PORTNAME= dropbear
PORTVERSION= 2022.83
PORTREVISION= 2
CATEGORIES= security
MASTER_SITES= https://matt.ucc.asn.au/dropbear/releases/
MAINTAINER= pkubaj@FreeBSD.org
COMMENT= SSH 2 server, designed to be usable in small memory environments
WWW= https://matt.ucc.asn.au/dropbear/dropbear.html
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
USES= cpe gmake tar:bzip2
CPE_VENDOR= dropbear_ssh_project
CPE_PRODUCT= dropbear_ssh
GNU_CONFIGURE= yes
USE_RC_SUBR= ${PORTNAME}
ALL_TARGET= all scp
OPTIONS_DEFINE= SMALL_CODE PORTS_LIBTOM STATIC X11FWD
OPTIONS_DEFAULT= AES128 AES256 CURVE25519 ECDSA ED25519 GCM \
GROUP14_SHA256 GROUP16 PORTS_LIBTOM RSA SHA2_256
OPTIONS_MULTI= ENC KEY KEX MAC MODE
OPTIONS_MULTI_ENC= 3DES AES128 AES256 CHACHA20POLY1305
OPTIONS_MULTI_KEY= DSS ECDSA ED25519 RSA
OPTIONS_MULTI_KEX= CURVE25519 ECDH GROUP1 GROUP14_SHA1 GROUP14_SHA256 \
GROUP16
OPTIONS_MULTI_MAC= MD5 RSA_SHA1 SHA1 SHA1_96 SHA2_256 SHA2_512
OPTIONS_MULTI_MODE= CBC CTR GCM
3DES_DESC= Enable 3DES-based encryption
AES128_DESC= Enable AES128-based encryption
AES256_DESC= Enable AES256-based encryption
CBC_DESC= Use CBC mode for ciphers (less secure)
CHACHA20POLY1305_DESC= Enable chacha20poly1305-based encryption
CTR_DESC= Use CTR mode for ciphers
CURVE25519_DESC= Enable Curve25519
DSS_DESC= Enable DSS (insecure)
ECDH_DESC= Enable ECDH (insecure)
ECDSA_DESC= Enable ECDSA public key support
ED25519_DESC= Enable ED25519 public key support
GCM_DESC= Enable GCM mode for ciphers (more secure)
GROUP14_SHA1_DESC= Enable Group14 Diffie-Helman with SHA1 (insecure)
GROUP14_SHA256_DESC= Enable Group14 Diffie-Helman with SHA256
GROUP16_DESC= Enable Group16 Diffie-Hellman
GROUP1_DESC= Enable Group1 Diffie-Hellman (insecure)
MD5_DESC= Enable MD5 MAC (broken)
PORTS_LIBTOM_DESC= Use libtomcrypt/libtommath in ports tree
RSA_DESC= Enable RSA public key support
RSA_SHA1_DESC= Enable RSA SHA1 MAC (insecure)
SHA1_96_DESC= Enable SHA1_96 MAC (less secure)
SHA1_DESC= Enable SHA1 MAC (less secure)
SHA2_256_DESC= Enable SHA2_256 MAC
SHA2_512_DESC= Enable SHA2_512 MAC
SMALL_CODE_DESC= Make binary smaller in exchange for 50% performance hit
X11FWD_DESC= Enable X11 forwarding
3DES_IMPLIES= CTR
CBC_IMPLIES= CTR
PORTS_LIBTOM_USES= localbase:ldflags
PORTS_LIBTOM_CONFIGURE_ON= --disable-bundled-libtom
PORTS_LIBTOM_CONFIGURE_OFF= --enable-bundled-libtom
STATIC_CONFIGURE_ENABLE= static
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MPORTS_LIBTOM} && ${PORT_OPTIONS:MSTATIC}
BUILD_DEPENDS= ${LOCALBASE}/lib/libtomcrypt.a:security/libtomcrypt \
${LOCALBASE}/lib/libtommath.a:math/libtommath
.endif
.if ${PORT_OPTIONS:MPORTS_LIBTOM} && ! ${PORT_OPTIONS:MSTATIC}
LIB_DEPENDS= libtomcrypt.so:security/libtomcrypt \
libtommath.so:math/libtommath
.endif
post-patch:
@${REINPLACE_CMD} -e "s,_PRIV_FILENAME \"/etc/,_PRIV_FILENAME \"${PREFIX}/etc/,g; \
s,/usr/bin/X11/,${LOCALBASE}/,g" ${WRKSRC}/default_options.h
post-patch-SMALL_CODE-off:
@${ECHO} "#define DROPBEAR_SMALL_CODE 0" >> ${WRKSRC}/localoptions.h
post-patch-3DES-on:
@${ECHO} "#define DROPBEAR_3DES 1" >> ${WRKSRC}/localoptions.h
post-patch-AES128-off:
@${ECHO} "#define DROPBEAR_AES128 0" >> ${WRKSRC}/localoptions.h
post-patch-AES256-off:
@${ECHO} "#define DROPBEAR_AES256 0" >> ${WRKSRC}/localoptions.h
post-patch-CHACHA20POLY1305-off:
@${ECHO} "#define DROPBEAR_CHACHA20POLY1305 0" >> ${WRKSRC}/localoptions.h
post-patch-CBC-on:
@${ECHO} "#define DROPBEAR_ENABLE_CBC_MODE 1" >> ${WRKSRC}/localoptions.h
post-patch-CTR-off:
@${ECHO} "#define DROPBEAR_ENABLE_CTR_MODE 0" >> ${WRKSRC}/localoptions.h
post-patch-GCM-on:
@${ECHO} "#define DROPBEAR_ENABLE_GCM_MODE 1" >> ${WRKSRC}/localoptions.h
post-patch-CURVE25519-off:
@${ECHO} "#define DROPBEAR_CURVE25519 0" >> ${WRKSRC}/localoptions.h
post-patch-DSS-on:
@${ECHO} "#define DROPBEAR_DSS 1" >> ${WRKSRC}/localoptions.h
post-patch-ECDH-off:
@${ECHO} "#define DROPBEAR_ECDH 0" >> ${WRKSRC}/localoptions.h
post-patch-GROUP1-off:
@${ECHO} "#define DROPBEAR_DH_GROUP1 0" >> ${WRKSRC}/localoptions.h
post-patch-GROUP14_SHA1-off:
@${ECHO} "#define DROPBEAR_DH_GROUP14_SHA1 0" >> ${WRKSRC}/localoptions.h
post-patch-GROUP14_SHA256-off:
@${ECHO} "#define DROPBEAR_DH_GROUP14_SHA256 0" >> ${WRKSRC}/localoptions.h
post-patch-GROUP16-on:
@${ECHO} "#define DROPBEAR_DH_GROUP16 1" >> ${WRKSRC}/localoptions.h
post-patch-RSA-off:
@${ECHO} "#define DROPBEAR_RSA 0" >> ${WRKSRC}/localoptions.h
post-patch-RSA_SHA1-off:
@${ECHO} "#define DROPBEAR_RSA_SHA1 0" >> ${WRKSRC}/localoptions.h
post-patch-ECDSA-off:
@${ECHO} "#define DROPBEAR_ECDSA 0" >> ${WRKSRC}/localoptions.h
post-patch-ED25519-off:
@${ECHO} "#define DROPBEAR_E25519 0" >> ${WRKSRC}/localoptions.h
post-patch-MD5-on:
@${ECHO} "#define DROPBEAR_MD5_HMAC 1" >> ${WRKSRC}/localoptions.h
post-patch-SHA1-off:
@${ECHO} "#define DROPBEAR_SHA1_HMAC 0" >> ${WRKSRC}/localoptions.h
post-patch-SHA1_96-off:
@${ECHO} "#define DROPBEAR_SHA1_96_HMAC 0" >> ${WRKSRC}/localoptions.h
post-patch-SHA2_256-off:
@${ECHO} "#define DROPBEAR_SHA2_256_HMAC 0" >> ${WRKSRC}/localoptions.h
post-patch-SHA2_512-on:
@${ECHO} "#define DROPBEAR_SHA2_512_HMAC 1" >> ${WRKSRC}/localoptions.h
post-patch-X11FWD-on:
@${ECHO} "#define DROPBEAR_X11FWD 1" >> ${WRKSRC}/localoptions.h
do-install:
@${MKDIR} ${STAGEDIR}${PREFIX}/etc/dropbear
${INSTALL_PROGRAM} ${WRKSRC}/dbclient ${STAGEDIR}${PREFIX}/bin
${INSTALL_PROGRAM} ${WRKSRC}/dropbearconvert ${STAGEDIR}${PREFIX}/bin
${INSTALL_PROGRAM} ${WRKSRC}/dropbearkey ${STAGEDIR}${PREFIX}/bin
${INSTALL_PROGRAM} ${WRKSRC}/dropbear ${STAGEDIR}${PREFIX}/sbin
${INSTALL_PROGRAM} ${WRKSRC}/scp ${STAGEDIR}${PREFIX}/bin/dbscp
${INSTALL_MAN} ${WRKSRC}/dropbearconvert.1 ${STAGEDIR}${PREFIX}/share/man/man1
${INSTALL_MAN} ${WRKSRC}/dropbearkey.1 ${STAGEDIR}${PREFIX}/share/man/man1
${INSTALL_MAN} ${WRKSRC}/dbclient.1 ${STAGEDIR}${PREFIX}/share/man/man1
${INSTALL_MAN} ${WRKSRC}/dropbear.8 ${STAGEDIR}${PREFIX}/share/man/man8
.include <bsd.port.mk>