diff options
Diffstat (limited to 'package')
22 files changed, 401 insertions, 764 deletions
diff --git a/package/kernel/linux/modules/crypto.mk b/package/kernel/linux/modules/crypto.mk index cc62f2cc27..71c58d4afc 100644 --- a/package/kernel/linux/modules/crypto.mk +++ b/package/kernel/linux/modules/crypto.mk @@ -123,12 +123,11 @@ $(eval $(call KernelPackage,crypto-rng)) define KernelPackage/crypto-iv TITLE:=CryptoAPI initialization vectors DEPENDS:=+kmod-crypto-manager +kmod-crypto-rng +kmod-crypto-wq - KCONFIG:= CONFIG_CRYPTO_BLKCIPHER2 CONFIG_CRYPTO_ECHAINIV + KCONFIG:= CONFIG_CRYPTO_BLKCIPHER2 FILES:= \ - $(LINUX_DIR)/crypto/eseqiv.ko \ - $(LINUX_DIR)/crypto/chainiv.ko \ - $(LINUX_DIR)/crypto/echainiv.ko@ge4.3 - AUTOLOAD:=$(call AutoLoad,10,eseqiv chainiv echainiv@ge4.3) + $(LINUX_DIR)/crypto/eseqiv.ko@lt4.8 \ + $(LINUX_DIR)/crypto/chainiv.ko@lt4.8 + AUTOLOAD:=$(call AutoLoad,10,eseqiv chainiv) $(call AddDepends/crypto) endef @@ -631,54 +630,6 @@ endif $(eval $(call KernelPackage,crypto-misc)) -define KernelPackage/crypto-ocf - TITLE:=OCF modules - DEPENDS:=+@OPENSSL_ENGINE_CRYPTO @!TARGET_uml +kmod-crypto-manager - KCONFIG:= \ - CONFIG_OCF_OCF \ - CONFIG_OCF_CRYPTODEV \ - CONFIG_OCF_CRYPTOSOFT \ - CONFIG_OCF_FIPS=y \ - CONFIG_OCF_RANDOMHARVEST=y - FILES:= \ - $(LINUX_DIR)/crypto/ocf/ocf.ko \ - $(LINUX_DIR)/crypto/ocf/cryptodev.ko \ - $(LINUX_DIR)/crypto/ocf/cryptosoft.ko - AUTOLOAD:=$(call AutoLoad,09, \ - ocf \ - cryptodev \ - cryptosoft \ - ) - $(call AddDepends/crypto) -endef - -$(eval $(call KernelPackage,crypto-ocf)) - - -define KernelPackage/crypto-ocf-hifn7751 - TITLE:=OCF support for Hifn 6500/7751/7811/795x, Invertex AEON and NetSec 7751 devices - DEPENDS:=+@OPENSSL_ENGINE_CRYPTO @PCI_SUPPORT @!TARGET_uml kmod-crypto-ocf - KCONFIG:=CONFIG_OCF_HIFN - FILES:=$(LINUX_DIR)/crypto/ocf/hifn/hifn7751.ko - AUTOLOAD:=$(call AutoLoad,10,hifn7751) - $(call AddDepends/crypto) -endef - -$(eval $(call KernelPackage,crypto-ocf-hifn7751)) - - -define KernelPackage/crypto-ocf-hifnhipp - TITLE:=OCF support for Hifn 7855/8155 devices - DEPENDS:=+@OPENSSL_ENGINE_CRYPTO @PCI_SUPPORT @!TARGET_uml kmod-crypto-ocf - KCONFIG:=CONFIG_OCF_HIFNHIPP - FILES:=$(LINUX_DIR)/crypto/ocf/hifn/hifnHIPP.ko - AUTOLOAD:=$(call AutoLoad,10,hifnHIPP) - $(call AddDepends/crypto) -endef - -$(eval $(call KernelPackage,crypto-ocf-hifnhipp)) - - define KernelPackage/crypto-null TITLE:=Null CryptoAPI module KCONFIG:=CONFIG_CRYPTO_NULL diff --git a/package/kernel/linux/modules/netsupport.mk b/package/kernel/linux/modules/netsupport.mk index 032e085c2f..3ad0ada933 100644 --- a/package/kernel/linux/modules/netsupport.mk +++ b/package/kernel/linux/modules/netsupport.mk @@ -286,7 +286,7 @@ IPSEC-m:= \ define KernelPackage/ipsec SUBMENU:=$(NETWORK_SUPPORT_MENU) TITLE:=IPsec related modules (IPv4 and IPv6) - DEPENDS:=+kmod-crypto-authenc +kmod-crypto-iv +kmod-crypto-des +kmod-crypto-hmac +kmod-crypto-md5 +kmod-crypto-sha1 +kmod-crypto-deflate +kmod-crypto-cbc + DEPENDS:=+kmod-crypto-authenc +kmod-crypto-iv +kmod-crypto-des +kmod-crypto-hmac +kmod-crypto-md5 +kmod-crypto-sha1 +kmod-crypto-deflate +kmod-crypto-cbc +kmod-crypto-echainiv KCONFIG:= \ CONFIG_NET_KEY \ CONFIG_XFRM_USER \ diff --git a/package/kernel/linux/modules/other.mk b/package/kernel/linux/modules/other.mk index d680d326d3..9d01e3e0b3 100644 --- a/package/kernel/linux/modules/other.mk +++ b/package/kernel/linux/modules/other.mk @@ -890,6 +890,25 @@ endef $(eval $(call KernelPackage,random-omap)) + +define KernelPackage/random-tpm + TITLE:= TPM hardware random support + SUBMENU:=$(OTHER_MENU) + KCONFIG:= \ + CONFIG_HW_RANDOM_TPM=y + FILES:= \ + $(LINUX_DIR)/drivers/char/hw_random/tpm-rng.ko + AUTOLOAD:= $(call AutoProbe, tpm-rng) + DEPENDS:=+kmod-random-core kmod-tpm +endef + +define KernelPackage/random-tpm/description + TPM backed random support. +endef + +$(eval $(call KernelPackage,random-tpm)) + + define KernelPackage/thermal SUBMENU:=$(OTHER_MENU) TITLE:=Generic Thermal sysfs driver @@ -1075,3 +1094,38 @@ endef $(eval $(call KernelPackage,virtio-mmio)) +define KernelPackage/tpm + TITLE:= TPM support + SUBMENU:=$(OTHER_MENU) + KCONFIG:= \ + CONFIG_TCG_TPM=y + FILES:= \ + $(LINUX_DIR)/drivers/char/tpm/tpm.ko + AUTOLOAD:= $(call AutoProbe, tpm) +endef + +define KernelPackage/tpm/description + TPM support. +endef + +$(eval $(call KernelPackage,tpm)) + + +define KernelPackage/tpm-i2c-infineon + TITLE:= TPM 1.2 infineon i2c driver + SUBMENU:=$(OTHER_MENU) + KCONFIG:= \ + CONFIG_TCG_TIS_I2C_INFINEON=y + FILES:= \ + $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko + AUTOLOAD:= $(call AutoProbe, tpm_i2c_infineon) + DEPENDS:=+kmod-tpm kmod-i2c-core +endef + +define KernelPackage/tpm-i2c-infineon/description + TPM 1.2 support for infineon i2c devices. +endef + +$(eval $(call KernelPackage,tpm-i2c-infineon)) + + diff --git a/package/libs/libnetfilter-conntrack/Makefile b/package/libs/libnetfilter-conntrack/Makefile index e60b59ab15..6c8b763eac 100644 --- a/package/libs/libnetfilter-conntrack/Makefile +++ b/package/libs/libnetfilter-conntrack/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2009-2013 OpenWrt.org +# Copyright (C) 2009-2016 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -8,17 +8,15 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libnetfilter_conntrack -PKG_VERSION:=1.0.4 +PKG_VERSION:=1.0.6 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:= \ http://www.netfilter.org/projects/libnetfilter_conntrack/files/ \ ftp://ftp.netfilter.org/pub/libnetfilter_conntrack/ -PKG_MD5SUM:=18cf80c4b339a3285e78822dbd4f08d7 -PKG_MAINTAINER:=Jo-Philipp Wich <jow@openwrt.org> +PKG_MD5SUM:=7139c5f408dd9606ffecfd5dcda8175b -PKG_FIXUP:=autoreconf PKG_LICENSE:=GPL-2.0+ PKG_INSTALL:=1 diff --git a/package/libs/libnftnl/Makefile b/package/libs/libnftnl/Makefile index 6919788e49..9af418d0e1 100644 --- a/package/libs/libnftnl/Makefile +++ b/package/libs/libnftnl/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2014 OpenWrt.org +# Copyright (C) 2014-2016 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -8,18 +8,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libnftnl -PKG_VERSION:=1.0.3 +PKG_VERSION:=1.0.6 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 -PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) -PKG_SOURCE_URL:=git://git.netfilter.org/libnftnl -PKG_SOURCE_PROTO:=git -PKG_SOURCE_VERSION:=libnftnl-1.0.3 -PKG_MAINTAINER:=Steven Barth <steven@midlink.org> -PKG_LICENSE:=GPL-2.0+ +PKG_SOURCE_URL:=ftp://ftp.netfilter.org/pub/libnftnl/ +PKG_MD5SUM:=6d7f9f161538ca7efd535dcc70caf964 -PKG_FIXUP:=autoreconf +PKG_LICENSE:=GPL-2.0+ PKG_INSTALL:=1 diff --git a/package/libs/nettle/Makefile b/package/libs/nettle/Makefile index ecc16100cd..1e3b71b39a 100644 --- a/package/libs/nettle/Makefile +++ b/package/libs/nettle/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nettle -PKG_VERSION:=3.2 +PKG_VERSION:=3.3 PKG_RELEASE:=1 PKG_USE_MIPS16:=0 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=@GNU/nettle -PKG_MD5SUM:=afb15b4764ebf1b4e6d06c62bd4d29e4 +PKG_MD5SUM:=10f969f78a463704ae73529978148dbe PKG_LICENSE:=GPL-2.0+ PKG_LICENSE_FILES:=COPYING @@ -40,6 +40,7 @@ TARGET_CFLAGS += $(FPIC) CONFIGURE_ARGS += \ --enable-shared \ + --enable-fat \ --disable-openssl \ --disable-documentation \ --enable-static diff --git a/package/libs/ocf-crypto-headers/Makefile b/package/libs/ocf-crypto-headers/Makefile deleted file mode 100644 index faf050884d..0000000000 --- a/package/libs/ocf-crypto-headers/Makefile +++ /dev/null @@ -1,39 +0,0 @@ -# -# Copyright (C) 2008-2010 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# -include $(TOPDIR)/rules.mk - -PKG_NAME:=ocf-crypto-headers -PKG_VERSION:=20110720 -PKG_RELEASE:=1 - -PKG_LICENSE:=GPL-2.0 -PKG_LICENSE_FILES:=cryptodev.h - -PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) - -include $(INCLUDE_DIR)/package.mk - -define Package/ocf-crypto-headers - SECTION:=utils - CATEGORY:=Utilities - TITLE:=OCF-Linux cryptodev header - PKGARCH:=all - URL:=http://ocf-linux.sourceforge.net/ -endef - -define Build/Configure -endef - -define Build/Compile -endef - -define Build/InstallDev - mkdir -p $(1)/usr/include/crypto - $(CP) ./src/cryptodev.h $(1)/usr/include/crypto -endef - -$(eval $(call BuildPackage,ocf-crypto-headers)) diff --git a/package/libs/ocf-crypto-headers/src/cryptodev.h b/package/libs/ocf-crypto-headers/src/cryptodev.h deleted file mode 100644 index cca0ec822d..0000000000 --- a/package/libs/ocf-crypto-headers/src/cryptodev.h +++ /dev/null @@ -1,480 +0,0 @@ -/* $FreeBSD: src/sys/opencrypto/cryptodev.h,v 1.25 2007/05/09 19:37:02 gnn Exp $ */ -/* $OpenBSD: cryptodev.h,v 1.31 2002/06/11 11:14:29 beck Exp $ */ - -/*- - * Linux port done by David McCullough <david_mccullough@mcafee.com> - * Copyright (C) 2006-2010 David McCullough - * Copyright (C) 2004-2005 Intel Corporation. - * The license and original author are listed below. - * - * The author of this code is Angelos D. Keromytis (angelos@cis.upenn.edu) - * Copyright (c) 2002-2006 Sam Leffler, Errno Consulting - * - * This code was written by Angelos D. Keromytis in Athens, Greece, in - * February 2000. Network Security Technologies Inc. (NSTI) kindly - * supported the development of this code. - * - * Copyright (c) 2000 Angelos D. Keromytis - * - * Permission to use, copy, and modify this software with or without fee - * is hereby granted, provided that this entire notice is included in - * all source code copies of any software which is or includes a copy or - * modification of this software. - * - * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR - * IMPLIED WARRANTY. IN PARTICULAR, NONE OF THE AUTHORS MAKES ANY - * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE - * MERCHANTABILITY OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR - * PURPOSE. - * - * Copyright (c) 2001 Theo de Raadt - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Effort sponsored in part by the Defense Advanced Research Projects - * Agency (DARPA) and Air Force Research Laboratory, Air Force - * Materiel Command, USAF, under agreement number F30602-01-2-0537. - * - */ - -#ifndef _CRYPTO_CRYPTO_H_ -#define _CRYPTO_CRYPTO_H_ - -/* Some initial values */ -#define CRYPTO_DRIVERS_INITIAL 4 -#define CRYPTO_SW_SESSIONS 32 - -/* Hash values */ -#define NULL_HASH_LEN 0 -#define MD5_HASH_LEN 16 -#define SHA1_HASH_LEN 20 -#define RIPEMD160_HASH_LEN 20 -#define SHA2_256_HASH_LEN 32 -#define SHA2_384_HASH_LEN 48 -#define SHA2_512_HASH_LEN 64 -#define MD5_KPDK_HASH_LEN 16 -#define SHA1_KPDK_HASH_LEN 20 -/* Maximum hash algorithm result length */ -#define HASH_MAX_LEN SHA2_512_HASH_LEN /* Keep this updated */ - -/* HMAC values */ -#define NULL_HMAC_BLOCK_LEN 1 -#define MD5_HMAC_BLOCK_LEN 64 -#define SHA1_HMAC_BLOCK_LEN 64 -#define RIPEMD160_HMAC_BLOCK_LEN 64 -#define SHA2_256_HMAC_BLOCK_LEN 64 -#define SHA2_384_HMAC_BLOCK_LEN 128 -#define SHA2_512_HMAC_BLOCK_LEN 128 -/* Maximum HMAC block length */ -#define HMAC_MAX_BLOCK_LEN SHA2_512_HMAC_BLOCK_LEN /* Keep this updated */ -#define HMAC_IPAD_VAL 0x36 -#define HMAC_OPAD_VAL 0x5C - -/* Encryption algorithm block sizes */ -#define NULL_BLOCK_LEN 1 -#define DES_BLOCK_LEN 8 -#define DES3_BLOCK_LEN 8 -#define BLOWFISH_BLOCK_LEN 8 -#define SKIPJACK_BLOCK_LEN 8 -#define CAST128_BLOCK_LEN 8 -#define RIJNDAEL128_BLOCK_LEN 16 -#define AES_BLOCK_LEN RIJNDAEL128_BLOCK_LEN -#define CAMELLIA_BLOCK_LEN 16 -#define ARC4_BLOCK_LEN 1 -#define EALG_MAX_BLOCK_LEN AES_BLOCK_LEN /* Keep this updated */ - -/* Encryption algorithm min and max key sizes */ -#define NULL_MIN_KEY_LEN 0 -#define NULL_MAX_KEY_LEN 0 -#define DES_MIN_KEY_LEN 8 -#define DES_MAX_KEY_LEN 8 -#define DES3_MIN_KEY_LEN 24 -#define DES3_MAX_KEY_LEN 24 -#define BLOWFISH_MIN_KEY_LEN 4 -#define BLOWFISH_MAX_KEY_LEN 56 -#define SKIPJACK_MIN_KEY_LEN 10 -#define SKIPJACK_MAX_KEY_LEN 10 -#define CAST128_MIN_KEY_LEN 5 -#define CAST128_MAX_KEY_LEN 16 -#define RIJNDAEL128_MIN_KEY_LEN 16 -#define RIJNDAEL128_MAX_KEY_LEN 32 -#define AES_MIN_KEY_LEN RIJNDAEL128_MIN_KEY_LEN -#define AES_MAX_KEY_LEN RIJNDAEL128_MAX_KEY_LEN -#define CAMELLIA_MIN_KEY_LEN 16 -#define CAMELLIA_MAX_KEY_LEN 32 -#define ARC4_MIN_KEY_LEN 1 -#define ARC4_MAX_KEY_LEN 256 - -/* Max size of data that can be processed */ -#define CRYPTO_MAX_DATA_LEN 64*1024 - 1 - -#define CRYPTO_ALGORITHM_MIN 1 -#define CRYPTO_DES_CBC 1 -#define CRYPTO_3DES_CBC 2 -#define CRYPTO_BLF_CBC 3 -#define CRYPTO_CAST_CBC 4 -#define CRYPTO_SKIPJACK_CBC 5 -#define CRYPTO_MD5_HMAC 6 -#define CRYPTO_SHA1_HMAC 7 -#define CRYPTO_RIPEMD160_HMAC 8 -#define CRYPTO_MD5_KPDK 9 -#define CRYPTO_SHA1_KPDK 10 -#define CRYPTO_RIJNDAEL128_CBC 11 /* 128 bit blocksize */ -#define CRYPTO_AES_CBC 11 /* 128 bit blocksize -- the same as above */ -#define CRYPTO_ARC4 12 -#define CRYPTO_MD5 13 -#define CRYPTO_SHA1 14 -#define CRYPTO_NULL_HMAC 15 -#define CRYPTO_NULL_CBC 16 -#define CRYPTO_DEFLATE_COMP 17 /* Deflate compression algorithm */ -#define CRYPTO_SHA2_256_HMAC 18 -#define CRYPTO_SHA2_384_HMAC 19 -#define CRYPTO_SHA2_512_HMAC 20 -#define CRYPTO_CAMELLIA_CBC 21 -#define CRYPTO_SHA2_256 22 -#define CRYPTO_SHA2_384 23 -#define CRYPTO_SHA2_512 24 -#define CRYPTO_RIPEMD160 25 -#define CRYPTO_LZS_COMP 26 -#define CRYPTO_ALGORITHM_MAX 26 /* Keep updated - see above */ - -/* Algorithm flags */ -#define CRYPTO_ALG_FLAG_SUPPORTED 0x01 /* Algorithm is supported */ -#define CRYPTO_ALG_FLAG_RNG_ENABLE 0x02 /* Has HW RNG for DH/DSA */ -#define CRYPTO_ALG_FLAG_DSA_SHA 0x04 /* Can do SHA on msg */ - -/* - * Crypto driver/device flags. They can set in the crid - * parameter when creating a session or submitting a key - * op to affect the device/driver assigned. If neither - * of these are specified then the crid is assumed to hold - * the driver id of an existing (and suitable) device that - * must be used to satisfy the request. - */ -#define CRYPTO_FLAG_HARDWARE 0x01000000 /* hardware accelerated */ -#define CRYPTO_FLAG_SOFTWARE 0x02000000 /* software implementation */ - -/* NB: deprecated */ -struct session_op { - u_int32_t cipher; /* ie. CRYPTO_DES_CBC */ - u_int32_t mac; /* ie. CRYPTO_MD5_HMAC */ - - u_int32_t keylen; /* cipher key */ - caddr_t key; - int mackeylen; /* mac key */ - caddr_t mackey; - - u_int32_t ses; /* returns: session # */ -}; - -struct session2_op { - u_int32_t cipher; /* ie. CRYPTO_DES_CBC */ - u_int32_t mac; /* ie. CRYPTO_MD5_HMAC */ - - u_int32_t keylen; /* cipher key */ - caddr_t key; - int mackeylen; /* mac key */ - caddr_t mackey; - - u_int32_t ses; /* returns: session # */ - int crid; /* driver id + flags (rw) */ - int pad[4]; /* for future expansion */ -}; - -struct crypt_op { - u_int32_t ses; - u_int16_t op; /* i.e. COP_ENCRYPT */ -#define COP_NONE 0 -#define COP_ENCRYPT 1 -#define COP_DECRYPT 2 - u_int16_t flags; -#define COP_F_BATCH 0x0008 /* Batch op if possible */ - u_int len; - caddr_t src, dst; /* become iov[] inside kernel */ - caddr_t mac; /* must be big enough for chosen MAC */ - caddr_t iv; -}; - -/* - * Parameters for looking up a crypto driver/device by - * device name or by id. The latter are returned for - * created sessions (crid) and completed key operations. - */ -struct crypt_find_op { - int crid; /* driver id + flags */ - char name[32]; /* device/driver name */ -}; - -/* bignum parameter, in packed bytes, ... */ -struct crparam { - caddr_t crp_p; - u_int crp_nbits; -}; - -#define CRK_MAXPARAM 8 - -struct crypt_kop { - u_int crk_op; /* ie. CRK_MOD_EXP or other */ - u_int crk_status; /* return status */ - u_short crk_iparams; /* # of input parameters */ - u_short crk_oparams; /* # of output parameters */ - u_int crk_crid; /* NB: only used by CIOCKEY2 (rw) */ - struct crparam crk_param[CRK_MAXPARAM]; -}; -#define CRK_ALGORITM_MIN 0 -#define CRK_MOD_EXP 0 -#define CRK_MOD_EXP_CRT 1 -#define CRK_DSA_SIGN 2 -#define CRK_DSA_VERIFY 3 -#define CRK_DH_COMPUTE_KEY 4 -#define CRK_ALGORITHM_MAX 4 /* Keep updated - see below */ - -#define CRF_MOD_EXP (1 << CRK_MOD_EXP) -#define CRF_MOD_EXP_CRT (1 << CRK_MOD_EXP_CRT) -#define CRF_DSA_SIGN (1 << CRK_DSA_SIGN) -#define CRF_DSA_VERIFY (1 << CRK_DSA_VERIFY) -#define CRF_DH_COMPUTE_KEY (1 << CRK_DH_COMPUTE_KEY) - -/* - * done against open of /dev/crypto, to get a cloned descriptor. - * Please use F_SETFD against the cloned descriptor. - */ -#define CRIOGET _IOWR('c', 100, u_int32_t) -#define CRIOASYMFEAT CIOCASYMFEAT -#define CRIOFINDDEV CIOCFINDDEV - -/* the following are done against the cloned descriptor */ -#define CIOCGSESSION _IOWR('c', 101, struct session_op) -#define CIOCFSESSION _IOW('c', 102, u_int32_t) -#define CIOCCRYPT _IOWR('c', 103, struct crypt_op) -#define CIOCKEY _IOWR('c', 104, struct crypt_kop) -#define CIOCASYMFEAT _IOR('c', 105, u_int32_t) -#define CIOCGSESSION2 _IOWR('c', 106, struct session2_op) -#define CIOCKEY2 _IOWR('c', 107, struct crypt_kop) -#define CIOCFINDDEV _IOWR('c', 108, struct crypt_find_op) - -struct cryptotstat { - struct timespec acc; /* total accumulated time */ - struct timespec min; /* min time */ - struct timespec max; /* max time */ - u_int32_t count; /* number of observations */ -}; - -struct cryptostats { - u_int32_t cs_ops; /* symmetric crypto ops submitted */ - u_int32_t cs_errs; /* symmetric crypto ops that failed */ - u_int32_t cs_kops; /* asymetric/key ops submitted */ - u_int32_t cs_kerrs; /* asymetric/key ops that failed */ - u_int32_t cs_intrs; /* crypto swi thread activations */ - u_int32_t cs_rets; /* crypto return thread activations */ - u_int32_t cs_blocks; /* symmetric op driver block */ - u_int32_t cs_kblocks; /* symmetric op driver block */ - /* - * When CRYPTO_TIMING is defined at compile time and the - * sysctl debug.crypto is set to 1, the crypto system will - * accumulate statistics about how long it takes to process - * crypto requests at various points during processing. - */ - struct cryptotstat cs_invoke; /* crypto_dipsatch -> crypto_invoke */ - struct cryptotstat cs_done; /* crypto_invoke -> crypto_done */ - struct cryptotstat cs_cb; /* crypto_done -> callback */ - struct cryptotstat cs_finis; /* callback -> callback return */ - - u_int32_t cs_drops; /* crypto ops dropped due to congestion */ -}; - -#ifdef __KERNEL__ - -/* Standard initialization structure beginning */ -struct cryptoini { - int cri_alg; /* Algorithm to use */ - int cri_klen; /* Key length, in bits */ - int cri_mlen; /* Number of bytes we want from the - entire hash. 0 means all. */ - caddr_t cri_key; /* key to use */ - u_int8_t cri_iv[EALG_MAX_BLOCK_LEN]; /* IV to use */ - struct cryptoini *cri_next; -}; - -/* Describe boundaries of a single crypto operation */ -struct cryptodesc { - int crd_skip; /* How many bytes to ignore from start */ - int crd_len; /* How many bytes to process */ - int crd_inject; /* Where to inject results, if applicable */ - int crd_flags; - -#define CRD_F_ENCRYPT 0x01 /* Set when doing encryption */ -#define CRD_F_IV_PRESENT 0x02 /* When encrypting, IV is already in - place, so don't copy. */ -#define CRD_F_IV_EXPLICIT 0x04 /* IV explicitly provided */ -#define CRD_F_DSA_SHA_NEEDED 0x08 /* Compute SHA-1 of buffer for DSA */ -#define CRD_F_KEY_EXPLICIT 0x10 /* Key explicitly provided */ -#define CRD_F_COMP 0x0f /* Set when doing compression */ - - struct cryptoini CRD_INI; /* Initialization/context data */ -#define crd_iv CRD_INI.cri_iv -#define crd_key CRD_INI.cri_key -#define crd_alg CRD_INI.cri_alg -#define crd_klen CRD_INI.cri_klen -#define crd_mlen CRD_INI.cri_mlen - - struct cryptodesc *crd_next; -}; - -/* Structure describing complete operation */ -struct cryptop { - struct list_head crp_next; - wait_queue_head_t crp_waitq; - - u_int64_t crp_sid; /* Session ID */ - int crp_ilen; /* Input data total length */ - int crp_olen; /* Result total length */ - - int crp_etype; /* - * Error type (zero means no error). - * All error codes except EAGAIN - * indicate possible data corruption (as in, - * the data have been touched). On all - * errors, the crp_sid may have changed - * (reset to a new one), so the caller - * should always check and use the new - * value on future requests. - */ - int crp_flags; - -#define CRYPTO_F_SKBUF 0x0001 /* Input/output are skbuf chains */ -#define CRYPTO_F_IOV 0x0002 /* Input/output are uio */ -#define CRYPTO_F_REL 0x0004 /* Must return data in same place */ -#define CRYPTO_F_BATCH 0x0008 /* Batch op if possible */ -#define CRYPTO_F_CBIMM 0x0010 /* Do callback immediately */ -#define CRYPTO_F_DONE 0x0020 /* Operation completed */ -#define CRYPTO_F_CBIFSYNC 0x0040 /* Do CBIMM if op is synchronous */ - - caddr_t crp_buf; /* Data to be processed */ - caddr_t crp_opaque; /* Opaque pointer, passed along */ - struct cryptodesc *crp_desc; /* Linked list of processing descriptors */ - - int (*crp_callback)(struct cryptop *); /* Callback function */ -}; - -#define CRYPTO_BUF_CONTIG 0x0 -#define CRYPTO_BUF_IOV 0x1 -#define CRYPTO_BUF_SKBUF 0x2 - -#define CRYPTO_OP_DECRYPT 0x0 -#define CRYPTO_OP_ENCRYPT 0x1 - -/* - * Hints passed to process methods. - */ -#define CRYPTO_HINT_MORE 0x1 /* more ops coming shortly */ - -struct cryptkop { - struct list_head krp_next; - wait_queue_head_t krp_waitq; - - int krp_flags; -#define CRYPTO_KF_DONE 0x0001 /* Operation completed */ -#define CRYPTO_KF_CBIMM 0x0002 /* Do callback immediately */ - - u_int krp_op; /* ie. CRK_MOD_EXP or other */ - u_int krp_status; /* return status */ - u_short krp_iparams; /* # of input parameters */ - u_short krp_oparams; /* # of output parameters */ - u_int krp_crid; /* desired device, etc. */ - u_int32_t krp_hid; - struct crparam krp_param[CRK_MAXPARAM]; /* kvm */ - int (*krp_callback)(struct cryptkop *); -}; - -#include <ocf-compat.h> - -/* - * Session ids are 64 bits. The lower 32 bits contain a "local id" which - * is a driver-private session identifier. The upper 32 bits contain a - * "hardware id" used by the core crypto code to identify the driver and - * a copy of the driver's capabilities that can be used by client code to - * optimize operation. - */ -#define CRYPTO_SESID2HID(_sid) (((_sid) >> 32) & 0x00ffffff) -#define CRYPTO_SESID2CAPS(_sid) (((_sid) >> 32) & 0xff000000) -#define CRYPTO_SESID2LID(_sid) (((u_int32_t) (_sid)) & 0xffffffff) - -extern int crypto_newsession(u_int64_t *sid, struct cryptoini *cri, int hard); -extern int crypto_freesession(u_int64_t sid); -#define CRYPTOCAP_F_HARDWARE CRYPTO_FLAG_HARDWARE -#define CRYPTOCAP_F_SOFTWARE CRYPTO_FLAG_SOFTWARE -#define CRYPTOCAP_F_SYNC 0x04000000 /* operates synchronously */ -extern int32_t crypto_get_driverid(device_t dev, int flags); -extern int crypto_find_driver(const char *); -extern device_t crypto_find_device_byhid(int hid); -extern int crypto_getcaps(int hid); -extern int crypto_register(u_int32_t driverid, int alg, u_int16_t maxoplen, - u_int32_t flags); -extern int crypto_kregister(u_int32_t, int, u_int32_t); -extern int crypto_unregister(u_int32_t driverid, int alg); -extern int crypto_unregister_all(u_int32_t driverid); -extern int crypto_dispatch(struct cryptop *crp); -extern int crypto_kdispatch(struct cryptkop *); -#define CRYPTO_SYMQ 0x1 -#define CRYPTO_ASYMQ 0x2 -extern int crypto_unblock(u_int32_t, int); -extern void crypto_done(struct cryptop *crp); -extern void crypto_kdone(struct cryptkop *); -extern int crypto_getfeat(int *); - -extern void crypto_freereq(struct cryptop *crp); -extern struct cryptop *crypto_getreq(int num); - -extern int crypto_usercrypto; /* userland may do crypto requests */ -extern int crypto_userasymcrypto; /* userland may do asym crypto reqs */ -extern int crypto_devallowsoft; /* only use hardware crypto */ - -/* - * random number support, crypto_unregister_all will unregister - */ -extern int crypto_rregister(u_int32_t driverid, - int (*read_random)(void *arg, u_int32_t *buf, int len), void *arg); -extern int crypto_runregister_all(u_int32_t driverid); - -/* - * Crypto-related utility routines used mainly by drivers. - * - * XXX these don't really belong here; but for now they're - * kept apart from the rest of the system. - */ -struct uio; -extern void cuio_copydata(struct uio* uio, int off, int len, caddr_t cp); -extern void cuio_copyback(struct uio* uio, int off, int len, caddr_t cp); -extern struct iovec *cuio_getptr(struct uio *uio, int loc, int *off); - -extern void crypto_copyback(int flags, caddr_t buf, int off, int size, - caddr_t in); -extern void crypto_copydata(int flags, caddr_t buf, int off, int size, - caddr_t out); -extern int crypto_apply(int flags, caddr_t buf, int off, int len, - int (*f)(void *, void *, u_int), void *arg); - -#endif /* __KERNEL__ */ -#endif /* _CRYPTO_CRYPTO_H_ */ diff --git a/package/libs/openssl/Config.in b/package/libs/openssl/Config.in index 3d76dab929..451e554188 100644 --- a/package/libs/openssl/Config.in +++ b/package/libs/openssl/Config.in @@ -29,4 +29,5 @@ endif config OPENSSL_ENGINE_CRYPTO bool + select OPENSSL_HARDWARE_SUPPORT prompt "Crypto acceleration support" if PACKAGE_libopenssl diff --git a/package/libs/openssl/Makefile b/package/libs/openssl/Makefile index 25f4a3f1cc..4185e719c8 100644 --- a/package/libs/openssl/Makefile +++ b/package/libs/openssl/Makefile @@ -26,7 +26,6 @@ PKG_MD5SUM:=96322138f0b69e61b7212bc53d5e912b PKG_LICENSE:=OpenSSL PKG_LICENSE_FILES:=LICENSE -PKG_BUILD_DEPENDS:=ocf-crypto-headers PKG_CONFIG_DEPENDS:= \ CONFIG_OPENSSL_ENGINE_CRYPTO \ CONFIG_OPENSSL_ENGINE_DIGEST \ @@ -162,7 +161,7 @@ define Build/Configure depend endef -TARGET_CFLAGS += $(FPIC) +TARGET_CFLAGS += $(FPIC) -I$(CURDIR)/include define Build/Compile +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \ diff --git a/package/libs/openssl/include/crypto/cryptodev.h b/package/libs/openssl/include/crypto/cryptodev.h new file mode 100644 index 0000000000..7fb9c7dcda --- /dev/null +++ b/package/libs/openssl/include/crypto/cryptodev.h @@ -0,0 +1,292 @@ +/* This is a source compatible implementation with the original API of + * cryptodev by Angelos D. Keromytis, found at openbsd cryptodev.h. + * Placed under public domain */ + +#ifndef L_CRYPTODEV_H +#define L_CRYPTODEV_H + +#include <linux/types.h> +#ifndef __KERNEL__ +#define __user +#endif + +/* API extensions for linux */ +#define CRYPTO_HMAC_MAX_KEY_LEN 512 +#define CRYPTO_CIPHER_MAX_KEY_LEN 64 + +/* All the supported algorithms + */ +enum cryptodev_crypto_op_t { + CRYPTO_DES_CBC = 1, + CRYPTO_3DES_CBC = 2, + CRYPTO_BLF_CBC = 3, + CRYPTO_CAST_CBC = 4, + CRYPTO_SKIPJACK_CBC = 5, + CRYPTO_MD5_HMAC = 6, + CRYPTO_SHA1_HMAC = 7, + CRYPTO_RIPEMD160_HMAC = 8, + CRYPTO_MD5_KPDK = 9, + CRYPTO_SHA1_KPDK = 10, + CRYPTO_RIJNDAEL128_CBC = 11, + CRYPTO_AES_CBC = CRYPTO_RIJNDAEL128_CBC, + CRYPTO_ARC4 = 12, + CRYPTO_MD5 = 13, + CRYPTO_SHA1 = 14, + CRYPTO_DEFLATE_COMP = 15, + CRYPTO_NULL = 16, + CRYPTO_LZS_COMP = 17, + CRYPTO_SHA2_256_HMAC = 18, + CRYPTO_SHA2_384_HMAC = 19, + CRYPTO_SHA2_512_HMAC = 20, + CRYPTO_AES_CTR = 21, + CRYPTO_AES_XTS = 22, + CRYPTO_AES_ECB = 23, + CRYPTO_AES_GCM = 50, + + CRYPTO_CAMELLIA_CBC = 101, + CRYPTO_RIPEMD160, + CRYPTO_SHA2_224, + CRYPTO_SHA2_256, + CRYPTO_SHA2_384, + CRYPTO_SHA2_512, + CRYPTO_SHA2_224_HMAC, + CRYPTO_ALGORITHM_ALL, /* Keep updated - see below */ +}; + +#define CRYPTO_ALGORITHM_MAX (CRYPTO_ALGORITHM_ALL - 1) + +/* Values for ciphers */ +#define DES_BLOCK_LEN 8 +#define DES3_BLOCK_LEN 8 +#define RIJNDAEL128_BLOCK_LEN 16 +#define AES_BLOCK_LEN RIJNDAEL128_BLOCK_LEN +#define CAMELLIA_BLOCK_LEN 16 +#define BLOWFISH_BLOCK_LEN 8 +#define SKIPJACK_BLOCK_LEN 8 +#define CAST128_BLOCK_LEN 8 + +/* the maximum of the above */ +#define EALG_MAX_BLOCK_LEN 16 + +/* Values for hashes/MAC */ +#define AALG_MAX_RESULT_LEN 64 + +/* maximum length of verbose alg names (depends on CRYPTO_MAX_ALG_NAME) */ +#define CRYPTODEV_MAX_ALG_NAME 64 + +#define HASH_MAX_LEN 64 + +/* input of CIOCGSESSION */ +struct session_op { + /* Specify either cipher or mac + */ + __u32 cipher; /* cryptodev_crypto_op_t */ + __u32 mac; /* cryptodev_crypto_op_t */ + + __u32 keylen; + __u8 __user *key; + __u32 mackeylen; + __u8 __user *mackey; + + __u32 ses; /* session identifier */ +}; + +struct session_info_op { + __u32 ses; /* session identifier */ + + /* verbose names for the requested ciphers */ + struct alg_info { + char cra_name[CRYPTODEV_MAX_ALG_NAME]; + char cra_driver_name[CRYPTODEV_MAX_ALG_NAME]; + } cipher_info, hash_info; + + __u16 alignmask; /* alignment constraints */ + __u32 flags; /* SIOP_FLAGS_* */ +}; + +/* If this flag is set then this algorithm uses + * a driver only available in kernel (software drivers, + * or drivers based on instruction sets do not set this flag). + * + * If multiple algorithms are involved (as in AEAD case), then + * if one of them is kernel-driver-only this flag will be set. + */ +#define SIOP_FLAG_KERNEL_DRIVER_ONLY 1 + +#define COP_ENCRYPT 0 +#define COP_DECRYPT 1 + +/* input of CIOCCRYPT */ +struct crypt_op { + __u32 ses; /* session identifier */ + __u16 op; /* COP_ENCRYPT or COP_DECRYPT */ + __u16 flags; /* see COP_FLAG_* */ + __u32 len; /* length of source data */ + __u8 __user *src; /* source data */ + __u8 __user *dst; /* pointer to output data */ + /* pointer to output data for hash/MAC operations */ + __u8 __user *mac; + /* initialization vector for encryption operations */ + __u8 __user *iv; +}; + +/* input of CIOCAUTHCRYPT */ +struct crypt_auth_op { + __u32 ses; /* session identifier */ + __u16 op; /* COP_ENCRYPT or COP_DECRYPT */ + __u16 flags; /* see COP_FLAG_AEAD_* */ + __u32 len; /* length of source data */ + __u32 auth_len; /* length of auth data */ + __u8 __user *auth_src; /* authenticated-only data */ + + /* The current implementation is more efficient if data are + * encrypted in-place (src==dst). */ + __u8 __user *src; /* data to be encrypted and authenticated */ + __u8 __user *dst; /* pointer to output data. Must have + * space for tag. For TLS this should be at least + * len + tag_size + block_size for padding */ + + __u8 __user *tag; /* where the tag will be copied to. TLS mode + * doesn't use that as tag is copied to dst. + * SRTP mode copies tag there. */ + __u32 tag_len; /* the length of the tag. Use zero for digest size or max tag. */ + + /* initialization vector for encryption operations */ + __u8 __user *iv; + __u32 iv_len; +}; + +/* In plain AEAD mode the following are required: + * flags : 0 + * iv : the initialization vector (12 bytes) + * auth_len: the length of the data to be authenticated + * auth_src: the data to be authenticated + * len : length of data to be encrypted + * src : the data to be encrypted + * dst : space to hold encrypted data. It must have + * at least a size of len + tag_size. + * tag_size: the size of the desired authentication tag or zero to use + * the maximum tag output. + * + * Note tag isn't being used because the Linux AEAD interface + * copies the tag just after data. + */ + +/* In TLS mode (used for CBC ciphers that required padding) + * the following are required: + * flags : COP_FLAG_AEAD_TLS_TYPE + * iv : the initialization vector + * auth_len: the length of the data to be authenticated only + * len : length of data to be encrypted + * auth_src: the data to be authenticated + * src : the data to be encrypted + * dst : space to hold encrypted data (preferably in-place). It must have + * at least a size of len + tag_size + blocksize. + * tag_size: the size of the desired authentication tag or zero to use + * the default mac output. + * + * Note that the padding used is the minimum padding. + */ + +/* In SRTP mode the following are required: + * flags : COP_FLAG_AEAD_SRTP_TYPE + * iv : the initialization vector + * auth_len: the length of the data to be authenticated. This must + * include the SRTP header + SRTP payload (data to be encrypted) + rest + * + * len : length of data to be encrypted + * auth_src: pointer the data to be authenticated. Should point at the same buffer as src. + * src : pointer to the data to be encrypted. + * dst : This is mandatory to be the same as src (in-place only). + * tag_size: the size of the desired authentication tag or zero to use + * the default mac output. + * tag : Pointer to an address where the authentication tag will be copied. + */ + + +/* struct crypt_op flags */ + +#define COP_FLAG_NONE (0 << 0) /* totally no flag */ +#define COP_FLAG_UPDATE (1 << 0) /* multi-update hash mode */ +#define COP_FLAG_FINAL (1 << 1) /* multi-update final hash mode */ +#define COP_FLAG_WRITE_IV (1 << 2) /* update the IV during operation */ +#define COP_FLAG_NO_ZC (1 << 3) /* do not zero-copy */ +#define COP_FLAG_AEAD_TLS_TYPE (1 << 4) /* authenticate and encrypt using the + * TLS protocol rules */ +#define COP_FLAG_AEAD_SRTP_TYPE (1 << 5) /* authenticate and encrypt using the + * SRTP protocol rules */ +#define COP_FLAG_RESET (1 << 6) /* multi-update reset the state. + * should be used in combination + * with COP_FLAG_UPDATE */ + + +/* Stuff for bignum arithmetic and public key + * cryptography - not supported yet by linux + * cryptodev. + */ + +#define CRYPTO_ALG_FLAG_SUPPORTED 1 +#define CRYPTO_ALG_FLAG_RNG_ENABLE 2 +#define CRYPTO_ALG_FLAG_DSA_SHA 4 + +struct crparam { + __u8 *crp_p; + __u32 crp_nbits; +}; + +#define CRK_MAXPARAM 8 + +/* input of CIOCKEY */ +struct crypt_kop { + __u32 crk_op; /* cryptodev_crk_op_t */ + __u32 crk_status; + __u16 crk_iparams; + __u16 crk_oparams; + __u32 crk_pad1; + struct crparam crk_param[CRK_MAXPARAM]; +}; + +enum cryptodev_crk_op_t { + CRK_MOD_EXP = 0, + CRK_MOD_EXP_CRT = 1, + CRK_DSA_SIGN = 2, + CRK_DSA_VERIFY = 3, + CRK_DH_COMPUTE_KEY = 4, + CRK_ALGORITHM_ALL +}; + +#define CRK_ALGORITHM_MAX (CRK_ALGORITHM_ALL-1) + +/* features to be queried with CIOCASYMFEAT ioctl + */ +#define CRF_MOD_EXP (1 << CRK_MOD_EXP) +#define CRF_MOD_EXP_CRT (1 << CRK_MOD_EXP_CRT) +#define CRF_DSA_SIGN (1 << CRK_DSA_SIGN) +#define CRF_DSA_VERIFY (1 << CRK_DSA_VERIFY) +#define CRF_DH_COMPUTE_KEY (1 << CRK_DH_COMPUTE_KEY) + + +/* ioctl's. Compatible with old linux cryptodev.h + */ +#define CRIOGET _IOWR('c', 101, __u32) +#define CIOCGSESSION _IOWR('c', 102, struct session_op) +#define CIOCFSESSION _IOW('c', 103, __u32) +#define CIOCCRYPT _IOWR('c', 104, struct crypt_op) +#define CIOCKEY _IOWR('c', 105, struct crypt_kop) +#define CIOCASYMFEAT _IOR('c', 106, __u32) +#define CIOCGSESSINFO _IOWR('c', 107, struct session_info_op) + +/* to indicate that CRIOGET is not required in linux + */ +#define CRIOGET_NOT_NEEDED 1 + +/* additional ioctls for AEAD */ +#define CIOCAUTHCRYPT _IOWR('c', 109, struct crypt_auth_op) + +/* additional ioctls for asynchronous operation. + * These are conditionally enabled since version 1.6. + */ +#define CIOCASYNCCRYPT _IOW('c', 110, struct crypt_op) +#define CIOCASYNCFETCH _IOR('c', 111, struct crypt_op) + +#endif /* L_CRYPTODEV_H */ diff --git a/package/network/config/firewall/Makefile b/package/network/config/firewall/Makefile index 73dae29468..f9fa9116b6 100644 --- a/package/network/config/firewall/Makefile +++ b/package/network/config/firewall/Makefile @@ -8,15 +8,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=firewall -PKG_VERSION:=2016-01-29 -PKG_RELEASE:=$(PKG_SOURCE_VERSION) +PKG_VERSION:=2016-11-06 +PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(OPENWRT_GIT)/project/firewall3.git PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) -PKG_SOURCE_VERSION:=8957be6c026858fe414aef69281d8aa06f7ea122 +PKG_SOURCE_VERSION:=bd40ba4584141ce34f3d5c42841abafccad06bdd PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz -PKG_MAINTAINER:=Jo-Philipp Wich <jow@openwrt.org> PKG_LICENSE:=ISC PKG_CONFIG_DEPENDS := CONFIG_IPV6 diff --git a/package/network/utils/arptables/Makefile b/package/network/utils/arptables/Makefile index 62681dcd59..bae843a4ff 100644 --- a/package/network/utils/arptables/Makefile +++ b/package/network/utils/arptables/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2010 OpenWrt.org +# Copyright (C) 2006-2016 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -7,15 +7,16 @@ include $(TOPDIR)/rules.mk PKG_NAME:=arptables -PKG_VERSION:=0.0.4 +PKG_VERSION:=2015-05-20 PKG_RELEASE:=1 -PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=@SF/ebtables -PKG_MD5SUM:=c2e99c3aa9d78c9dfa30710ca3168182 -PKG_LICENSE:=GPL-2.0 +PKG_SOURCE_URL:=git://git.netfilter.org/arptables +PKG_SOURCE_PROTO:=git +PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) +PKG_SOURCE_VERSION:=f4ab8f63f11a72f14687a6646d04ae1bae3fa45f +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz -PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-v$(PKG_VERSION) +PKG_LICENSE:=GPL-2.0 include $(INCLUDE_DIR)/package.mk @@ -25,15 +26,12 @@ define Package/arptables SUBMENU:=Firewall TITLE:=ARP firewalling software DEPENDS:=+kmod-arptables - URL:=http://ebtables.sourceforge.net + URL:=https://git.netfilter.org/arptables/ endef -define Build/Compile - $(MAKE) -C $(PKG_BUILD_DIR) \ - $(TARGET_CONFIGURE_OPTS) \ - COPT_FLAGS="$(TARGET_CFLAGS)" \ - KERNEL_DIR="./include/linux" -endef +MAKE_FLAGS += \ + COPT_FLAGS="$(TARGET_CFLAGS) -D__OPTIMIZE__=1" \ + KERNEL_DIR="$(LINUX_DIR)" define Package/arptables/install $(INSTALL_DIR) $(1)/usr/sbin diff --git a/package/network/utils/arptables/patches/100-always_optimize.patch b/package/network/utils/arptables/patches/100-always_optimize.patch deleted file mode 100644 index b120eb783a..0000000000 --- a/package/network/utils/arptables/patches/100-always_optimize.patch +++ /dev/null @@ -1,19 +0,0 @@ -Index: arptables-v0.0.3-4/libarptc/libarptc_incl.c -=================================================================== ---- arptables-v0.0.3-4.orig/libarptc/libarptc_incl.c 2010-03-08 16:49:28.000000000 +0100 -+++ arptables-v0.0.3-4/libarptc/libarptc_incl.c 2012-08-14 12:10:29.527945144 +0200 -@@ -11,14 +11,6 @@ - /* (C)1999 Paul ``Rusty'' Russell - Placed under the GNU GPL (See - COPYING for details). */ - --#ifndef __OPTIMIZE__ --STRUCT_ENTRY_TARGET * --GET_TARGET(STRUCT_ENTRY *e) --{ -- return (void *)e + e->target_offset; --} --#endif -- - static int sockfd = -1; - static void *arptc_fn = NULL; - diff --git a/package/network/utils/arptables/patches/200-musl_fixes.patch b/package/network/utils/arptables/patches/200-musl_fixes.patch deleted file mode 100644 index 3a4ba3fb03..0000000000 --- a/package/network/utils/arptables/patches/200-musl_fixes.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- a/include/arptables.h -+++ b/include/arptables.h -@@ -1,6 +1,7 @@ - #ifndef _ARPTABLES_USER_H - #define _ARPTABLES_USER_H - -+#include <sys/types.h> - #include "arptables_common.h" - #include "libarptc/libarptc.h" - ---- a/arptables.c -+++ b/arptables.c -@@ -43,6 +43,7 @@ - #include <arptables.h> - #include <fcntl.h> - #include <sys/wait.h> -+#include <net/ethernet.h> - - #ifndef TRUE - #define TRUE 1 ---- a/include/libarptc/arpt_kernel_headers.h -+++ b/include/libarptc/arpt_kernel_headers.h -@@ -5,7 +5,7 @@ - - #include <limits.h> - --#if defined(__GLIBC__) && __GLIBC__ == 2 -+#if 1 - #include <netinet/ip.h> - #include <netinet/in.h> - #include <netinet/ip_icmp.h> diff --git a/package/network/utils/conntrack-tools/Makefile b/package/network/utils/conntrack-tools/Makefile index fd13e222a9..868f9604de 100644 --- a/package/network/utils/conntrack-tools/Makefile +++ b/package/network/utils/conntrack-tools/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2009-2011 OpenWrt.org +# Copyright (C) 2009-2016 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=conntrack-tools -PKG_VERSION:=1.4.3 +PKG_VERSION:=1.4.4 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 @@ -16,22 +16,16 @@ PKG_SOURCE_URL:= \ http://www.netfilter.org/projects/conntrack-tools/files \ ftp://ftp.netfilter.org/pub/conntrack-tools \ http://mirrors.evolva.ro/netfilter.org/conntrack-tools -PKG_MD5SUM:=966a5d8f846ddf5304bcd12685c0707f +PKG_MD5SUM:=acd9e0b27cf16ae3092ba900e4d7560e -PKG_MAINTAINER:=Jo-Philipp Wich <jow@openwrt.org> PKG_LICENSE:=GPL-2.0 -PKG_FIXUP:=autoreconf PKG_INSTALL:=1 -TAR_OPTIONS += --exclude='*.rej' - PKG_BUILD_DEPENDS:=librpc include $(INCLUDE_DIR)/package.mk -TARGET_CFLAGS += -D_GNU_SOURCE=1 - define Package/conntrack-tools/default SECTION:=net CATEGORY:=Network diff --git a/package/network/utils/iptables/patches/500-add-xt_id-match.patch b/package/network/utils/iptables/patches/500-add-xt_id-match.patch deleted file mode 100644 index 0964f0175f..0000000000 --- a/package/network/utils/iptables/patches/500-add-xt_id-match.patch +++ /dev/null @@ -1,69 +0,0 @@ ---- /dev/null -+++ b/extensions/libxt_id.c -@@ -0,0 +1,55 @@ -+/* Shared library add-on to iptables to add id match support. */ -+ -+#include <stdio.h> -+#include <xtables.h> -+#include <linux/netfilter/xt_id.h> -+ -+enum { -+ O_ID = 0, -+}; -+ -+static const struct xt_option_entry id_opts[] = { -+ { -+ .name = "id", -+ .id = O_ID, -+ .type = XTTYPE_UINT32, -+ .flags = XTOPT_MAND | XTOPT_PUT, -+ XTOPT_POINTER(struct xt_id_info, id) -+ }, -+ XTOPT_TABLEEND, -+}; -+ -+static void -+id_print(const void *ip, const struct xt_entry_match *match, int numeric) -+{ -+ struct xt_id_info *idinfo = (void *)match->data; -+ -+ printf(" ID:%08lx", idinfo->id); -+} -+ -+ -+/* Saves the union ipt_matchinfo in parsable form to stdout. */ -+static void -+id_save(const void *ip, const struct xt_entry_match *match) -+{ -+ struct xt_id_info *idinfo = (void *)match->data; -+ -+ printf(" --id 0x%lx", idinfo->id); -+} -+ -+static struct xtables_match id_match = { -+ .family = NFPROTO_UNSPEC, -+ .name = "id", -+ .version = XTABLES_VERSION, -+ .size = XT_ALIGN(sizeof(struct xt_id_info)), -+ .userspacesize = XT_ALIGN(sizeof(struct xt_id_info)), -+ .print = id_print, -+ .save = id_save, -+ .x6_parse = xtables_option_parse, -+ .x6_options = id_opts, -+}; -+ -+void _init(void) -+{ -+ xtables_register_match(&id_match); -+} ---- /dev/null -+++ b/include/linux/netfilter/xt_id.h -@@ -0,0 +1,8 @@ -+#ifndef _XT_ID_H -+#define _XT_ID_H -+ -+struct xt_id_info { -+ __u32 id; -+}; -+ -+#endif /* XT_ID_H */ diff --git a/package/network/utils/nftables/Makefile b/package/network/utils/nftables/Makefile index 96db6fff70..b98e9fb8b5 100644 --- a/package/network/utils/nftables/Makefile +++ b/package/network/utils/nftables/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 2015 OpenWrt.org +# Copyright (C) 2015-2016 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -7,18 +7,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nftables -PKG_VERSION:=0.4+2015-04-09 +PKG_VERSION:=0.6 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 -PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) -PKG_SOURCE_URL:=git://git.netfilter.org/nftables -PKG_SOURCE_PROTO:=git -PKG_SOURCE_VERSION:=3ed296118a065caff5600e60d4f7ef18e137f9a0 -PKG_MAINTAINER:=Steven Barth <steven@midlink.org> -PKG_LICENSE:=GPL-2.0 +PKG_SOURCE_URL:=ftp://ftp.netfilter.org/pub/nftables +PKG_MD5SUM:=fd320e35fdf14b7be795492189b13dae -PKG_FIXUP:=autoreconf +PKG_LICENSE:=GPL-2.0 include $(INCLUDE_DIR)/package.mk @@ -31,7 +27,7 @@ define Package/nftables CATEGORY:=Network SUBMENU:=Firewall TITLE:=nftables packet filtering userspace utility - DEPENDS:=+kmod-nft-core +kmod-nft-nat +libnftnl + DEPENDS:=+kmod-nft-core +kmod-nft-nat +libnftnl +libmnl URL:=http://netfilter.org/projects/nftables/ endef diff --git a/package/network/utils/nftables/patches/100-disable-doc-generation.patch b/package/network/utils/nftables/patches/100-disable-doc-generation.patch deleted file mode 100644 index bcbffe25c7..0000000000 --- a/package/network/utils/nftables/patches/100-disable-doc-generation.patch +++ /dev/null @@ -1,8 +0,0 @@ ---- a/Makefile.am -+++ b/Makefile.am -@@ -2,5 +2,4 @@ ACLOCAL_AMFLAGS = -I m4 - - SUBDIRS = src \ - include \ -- doc \ - files diff --git a/package/system/ca-certificates/Makefile b/package/system/ca-certificates/Makefile index 8590952154..980f61a4c1 100644 --- a/package/system/ca-certificates/Makefile +++ b/package/system/ca-certificates/Makefile @@ -7,12 +7,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ca-certificates -PKG_VERSION:=20160104 +PKG_VERSION:=20161102 PKG_MAINTAINER:=Christian Schoenebeck <christian.schoenebeck@gmail.com> PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=http://ftp.debian.org/debian/pool/main/c/ca-certificates -PKG_MD5SUM:=d9665a83d0d3ef8176a38e6aa20458e9 +PKG_MD5SUM:=74642bd9b9e0a449fa55e6632070745f PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) PKG_INSTALL:=1 diff --git a/package/utils/e2fsprogs/Makefile b/package/utils/e2fsprogs/Makefile index 247b5ed4a4..8649fff425 100644 --- a/package/utils/e2fsprogs/Makefile +++ b/package/utils/e2fsprogs/Makefile @@ -127,14 +127,14 @@ endef define Build/Compile +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/util \ - BUILDCC="$(HOSTCC)" \ + BUILD_CC="$(HOSTCC)" \ CFLAGS="" \ CPPFLAGS="" \ LDFLAGS="" \ subst +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \ LDFLAGS=-Wl,--gc-sections \ - BUILDCC="$(HOSTCC)" \ + BUILD_CC="$(HOSTCC)" \ DESTDIR="$(PKG_INSTALL_DIR)" \ LIBBLKID="$(PKG_BUILD_DIR)/lib/libblkid.a -luuid" \ all diff --git a/package/utils/spidev_test/Makefile b/package/utils/spidev_test/Makefile index 807039a1f5..2a2122cfbd 100644 --- a/package/utils/spidev_test/Makefile +++ b/package/utils/spidev_test/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2009 OpenWrt.org +# Copyright (C) 2009-2016 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -9,7 +9,6 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=spidev-test -PKG_RELEASE:=$(LINUX_VERSION) include $(INCLUDE_DIR)/package.mk @@ -18,21 +17,26 @@ define Package/spidev-test CATEGORY:=Utilities DEPENDS:=+kmod-spi-dev TITLE:=SPI testing utility - VERSION:=$(LINUX_VERSION)-$(PKG_RELEASE) + VERSION:=$(LINUX_VERSION) URL:=http://www.kernel.org - MAINTAINER:=Florian Fainelli <florian@openwrt.org> endef define Package/spidev-test/description SPI testing utility. endef +ifeq ($(call kernel_patchver_ge,4.5.0),1) + SPIDEV_TEST_C:=$(LINUX_DIR)/tools/spi/spidev_test.c +else + SPIDEV_TEST_C:=$(LINUX_DIR)/Documentation/spi/spidev_test.c +endif + define Build/Prepare endef define Build/Compile $(TARGET_CC) $(TARGET_CFLAGS) -o $(PKG_BUILD_DIR)/spidev_test \ - $(LINUX_DIR)/Documentation/spi/spidev_test.c + $(SPIDEV_TEST_C) endef define Package/spidev-test/install |