Browse Source

afalg_engine: add new package

This is an alternate AF_ALG engine for openssl, based on the devcrypto
engine, but using the AF_ALG interface instead of /dev/crypto.

It is different than the AF_ALG engine that ships with OpenSSL:
  - it uses sync calls, instead of async
  - it suports more algorithms

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
lilik-openwrt-22.03
Eneas U de Queiroz 5 years ago
parent
commit
0e0bd6da4b
No known key found for this signature in database GPG Key ID: 1EB043ABD7ACF202
1 changed files with 70 additions and 0 deletions
  1. +70
    -0
      libs/afalg_engine/Makefile

+ 70
- 0
libs/afalg_engine/Makefile View File

@ -0,0 +1,70 @@
# Copyright (C) 2019 Eneas Ulir de Queiroz <cotequeiroz@gmail.com>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=afalg_engine
PKG_VERSION:=1.0.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/cotequeiroz/afalg_engine/archive/v$(PKG_VERSION)
PKG_HASH:=ef3ee1ba3cb4e9145f9a0dea5bc6d3fe6cb7b5b9e68053d474829e84dc1c4988
PKG_MAINTAINER:=Eneas U de Queiroz <cotequeiroz@gmail.com>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
PKG_CONFIG_DEPENDS:= CONFIG_AFALG_ZERO_COPY
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
$(eval $(shell grep "^ENGINES_DIR" "$(TOPDIR)/package/libs/openssl/Makefile"))
ifeq ($(ENGINES_DIR),)
ENGINES_DIR:=engines-1.1
endif
define Package/libopenssl-afalg_sync
SECTION:=libs
CATEGORY:=Libraries
SUBMENU:=SSL
MDEPENDS:=libopenssl
TITLE:=AF_ALG engine using sync crypto API
URL:=https://github.com/cotequeiroz/afalg_engine
DEPENDS:=libopenssl @OPENSSL_ENGINE @!OPENSSL_ENGINE_BUILTIN_AFALG \
+libopenssl-conf +kmod-crypto-user
CONFLICTS:=libopenssl-afalg
endef
define Package/libopenssl-afalg_sync/description
This is an alternate AF_ALG engine for openssl, based on the devcrypto
engine, but using the AF_ALG interface instead of /dev/crypto
It is different than the AF_ALG engine that ships with OpenSSL:
- it uses sync calls, instead of async
- it suports more algorithms
endef
define Package/libopenssl-afalg_sync/config
config AFALG_ZERO_COPY
depends on PACKAGE_libopenssl-afalg_sync
bool "Use Zero-Copy Mode"
help
Uses a Zero-Copy interface. Even though it is supposed to improve
performance, actual measurements indicate otherwise.
endef
CMAKE_OPTIONS += \
-DOPENSSL_ENGINES_DIR=/usr/lib/$(ENGINES_DIR) \
-DUSE_ZERO_COPY=$(if $(AFALG_ZERO_COPY),ON,OFF)
define Package/libopenssl-afalg_sync/install
$(INSTALL_DIR) $(1)/usr/lib/$(ENGINES_DIR)
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/$(ENGINES_DIR)/afalg.so \
$(1)/usr/lib/$(ENGINES_DIR)/
endef
$(eval $(call BuildPackage,libopenssl-afalg_sync))

Loading…
Cancel
Save