From 3645684b8c8cb44a1f4c086c80addf755cb4fcba Mon Sep 17 00:00:00 2001 From: coolsnowwolf Date: Mon, 30 Oct 2017 00:45:26 +0800 Subject: [PATCH] update oscam support for API/CardReaders,change source to git --- package/lean/oscam/Config.in | 240 ++++++++++++++++++++++++++++ package/lean/oscam/Makefile | 217 ++++++++++++++++++++----- package/lean/oscam/files/oscam.init | 12 ++ 3 files changed, 427 insertions(+), 42 deletions(-) create mode 100644 package/lean/oscam/Config.in create mode 100644 package/lean/oscam/files/oscam.init diff --git a/package/lean/oscam/Config.in b/package/lean/oscam/Config.in new file mode 100644 index 000000000..2a23f71c6 --- /dev/null +++ b/package/lean/oscam/Config.in @@ -0,0 +1,240 @@ +menu "OSCam build options" + depends on PACKAGE_oscam + + +config OSCAM_USE_LIBCRYPTO + bool "Build with OpenSSL libcrypto" + help + "Use OpenSSL libcrypto instead of OSCam internal crypto functions" + default n + +config OSCAM_USE_LIBUSB + bool "Build with libusb" + default n + + + menu "Protocols" + depends on PACKAGE_oscam + + config OSCAM_MODULE_CAMD33 + bool "camd 3.3" + default n + + config OSCAM_MODULE_CAMD35 + bool "camd 3.5 UDP" + default n + + config OSCAM_MODULE_CAMD35_TCP + bool "camd 3.5 TCP" + default n + + config OSCAM_MODULE_NEWCAMD + bool "newcamd" + default n + + config OSCAM_MODULE_CCCAM + bool "CCcam" + default n + + config OSCAM_MODULE_CCCSHARE + bool "CCcam share" + default n + + config OSCAM_MODULE_GBOX + bool "gbox" + default n + + config OSCAM_MODULE_RADEGAST + bool "radegast" + default n + + config OSCAM_MODULE_SERIAL + bool "Serial" + default n + + config OSCAM_MODULE_CONSTCW + bool "constant CW" + default n + + config OSCAM_MODULE_PANDORA + bool "Pandora" + default n + + config OSCAM_MODULE_GHTTP + bool "Ghttp" + default n + + config OSCAM_MODULE_SCAM + bool "scam" + default n + + endmenu + + menu "Readers" + depends on PACKAGE_oscam + + config OSCAM_READER_NAGRA + bool "Nagravision" + default n + + config OSCAM_READER_IRDETO + bool "Irdeto" + default n + + config OSCAM_READER_CONAX + bool "Conax" + default n + + config OSCAM_READER_CRYPTOWORKS + bool "Cryptoworks" + default n + + config OSCAM_READER_SECA + bool "Seca" + default n + + config OSCAM_READER_VIACCESS + bool "Viaccess" + default n + + config OSCAM_READER_VIDEOGUARD + bool "NDS Videoguard" + default n + + config OSCAM_READER_DRE + bool "DRE Crypt" + default n + + config OSCAM_READER_TONGFANG + bool "Tongfang" + default n + + config OSCAM_READER_BULCRYPT + bool "Bulcrypt" + default n + + config OSCAM_READER_GRIFFIN + bool "Griffin" + default n + + config OSCAM_READER_DGCRYPT + bool "DGCrypt" + default n + + endmenu + + menu "Card readers" + depends on PACKAGE_oscam + + config OSCAM_USE_PCSC + bool "PCSC" + select OSCAM_USE_LIBUSB + default n + + config OSCAM_CARDREADER_PHOENIX + bool "Phoenix/mouse" + select OSCAM_USE_LIBUSB + default n + + config OSCAM_CARDREADER_SC8IN1 + bool "SC8in1" + select OSCAM_USE_LIBUSB + default n + + config OSCAM_CARDREADER_MP35 + bool "AD-Teknik MP 3.6/USB Phoenix" + select OSCAM_USE_LIBUSB + default n + + config OSCAM_CARDREADER_SMARGO + bool "Argolis Smargo Smartreader" + select OSCAM_USE_LIBUSB + default n + + config OSCAM_CARDREADER_STINGER + bool "STINGER" + select OSCAM_USE_LIBUSB + default n + + endmenu + +comment "Addons" +config OSCAM_HAVE_DVBAPI + bool "DVB API" + default y + +config OSCAM_READ_SDT_CHARSETS + bool "DVB API read-sdt charsets" + default y + +config OSCAM_IRDETO_GUESSING + bool "Irdeto guessing" + default n + +config OSCAM_CS_ANTICASC + bool "Anti cascading" + default y + +config OSCAM_WITH_DEBUG + bool "Debug messages" + default n + +config OSCAM_MODULE_MONITOR + bool "Monitor" + default n + +config OSCAM_WITH_LB + bool "Loadbalancing" + default y + +config OSCAM_S_CACHEEX + bool "Cache exchange" + default y + +config OSCAM_CW_CYCLE_CHECK + bool "CW Cycle Check" + default y + +config OSCAM_LCDSUPPORT + bool "LCD support" + default n + +config OSCAM_LEDSUPPORT + bool "LED support" + default n + +config OSCAM_CLOCKFIX + bool "Clockfix (disable on old systems!)" + default y + +config OSCAM_IPV6SUPPORT + bool "IPv6 support (experimental)" + default n + + +config OSCAM_WEBIF + bool "Web Interface" + default n + + config OSCAM_WEBIF_LIVELOG + bool "LiveLog" + depends on OSCAM_WEBIF + default n + + config OSCAM_WEBIF_JQUERY + bool "Jquery onboard (if disabled webload)" + depends on OSCAM_WEBIF + default n + + config OSCAM_TOUCH + bool "Touch Web Interface" + depends on OSCAM_WEBIF + default n + + config OSCAM_WITH_SSL + bool "SSL support" + depends on OSCAM_WEBIF + select OSCAM_USE_LIBCRYPTO + default n + +endmenu diff --git a/package/lean/oscam/Makefile b/package/lean/oscam/Makefile index 6a1d1c44c..15b795244 100644 --- a/package/lean/oscam/Makefile +++ b/package/lean/oscam/Makefile @@ -1,71 +1,204 @@ -# -# Copyright (C) 2010 OpenWrt.org +# +# Copyright (C) 2016 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # -# maz-1 +# $Id$ include $(TOPDIR)/rules.mk -PKG_BRANCH:=trunk -PKG_SOURCE_URL:=http://www.streamboard.tv/svn/oscam/trunk -#PKG_REV:=$(shell LC_ALL=C svn info ${PKG_SOURCE_URL} | sed -ne's/^Last Changed Rev: //p') -PKG_REV:=10777 - PKG_NAME:=oscam -PKG_VERSION:=svn$(PKG_REV) +PKG_VERSION:=1.20-$(PKG_REV) PKG_RELEASE:=1 +PKG_REV:=2780c48789c8e1427df4078ea9b06e0b51594bbc -PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) -PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz -PKG_SOURCE_PROTO:=svn + +PKG_SOURCE_PROTO:=git PKG_SOURCE_VERSION:=$(PKG_REV) - -PKG_BUILD_DEPENDS:= - +PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) +PKG_SOURCE_URL:=https://github.com/coolsnowwolf/oscam.git +PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.bz2 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) -PKG_INSTALL_DIR:=$(PKG_BUILD_DIR) +PKG_LICENSE:=GPLv3 +PKG_LICENSE_FILES:=COPYING +PKG_MAINTAINER:=tmn505 +PKG_CONFIG_DEPENDS := \ + OSCAM_USE_LIBCRYPTO \ + OSCAM_USE_LIBUSB \ + OSCAM_USE_PCSC \ + OSCAM_WEBIF \ + OSCAM_WEBIF_LIVELOG \ + OSCAM_WEBIF_JQUERY \ + OSCAM_TOUCH \ + OSCAM_WITH_SSL \ + OSCAM_HAVE_DVBAPI \ + OSCAM_READ_SDT_CHARSETS \ + OSCAM_IRDETO_GUESSING \ + OSCAM_CS_ANTICASC \ + OSCAM_WITH_DEBUG \ + OSCAM_MODULE_MONITOR \ + OSCAM_WITH_LB \ + OSCAM_CS_CACHEEX \ + OSCAM_CW_CYCLE_CHECK \ + OSCAM_LCDSUPPORT \ + OSCAM_LEDSUPPORT \ + OSCAM_CLOCKFIX \ + OSCAM_IPV6SUPPORT \ + OSCAM_MODULE_CAMD33 \ + OSCAM_MODULE_CAMD35 \ + OSCAM_MODULE_CAMD35_TCP \ + OSCAM_MODULE_NEWCAMD \ + OSCAM_MODULE_CCCAM \ + OSCAM_MODULE_CCCSHARE \ + OSCAM_MODULE_GBOX \ + OSCAM_MODULE_RADEGAST \ + OSCAM_MODULE_SCAM \ + OSCAM_MODULE_SERIAL \ + OSCAM_MODULE_CONSTCW \ + OSCAM_MODULE_PANDORA \ + OSCAM_MODULE_GHTTP \ + OSCAM_READER_NAGRA \ + OSCAM_READER_IRDETO \ + OSCAM_READER_CONAX \ + OSCAM_READER_CRYPTOWORKS \ + OSCAM_READER_SECA \ + OSCAM_READER_VIACCESS \ + OSCAM_READER_VIDEOGUARD \ + OSCAM_READER_DRE \ + OSCAM_READER_TONGFANG \ + OSCAM_READER_BULCRYPT \ + OSCAM_READER_GRIFFIN \ + OSCAM_READER_DGCRYPT \ + OSCAM_CARDREADER_PHOENIX \ + OSCAM_CARDREADER_SC8IN1 \ + OSCAM_CARDREADER_MP35 \ + OSCAM_CARDREADER_SMARGO \ + OSCAM_CARDREADER_STINGER include $(INCLUDE_DIR)/package.mk -define Package/oscam - DEPENDS:=+libopenssl +libpthread +libusb-1.0 - TITLE:=Open Source Conditional Access Module software - URL:=http://streamboard.gmc.to/oscam/ - SUBMENU:= +define Package/oscam/config + source "$(SOURCE)/Config.in" endef -define Package/oscam/description - An Open Source Conditional Access Module software, -based on the very good MpCS version 0.9d created by dukat. -endef - -CONFIGURE_ARGS += --with-ssl=openssl - -define Build/Prepare - $(call Build/Prepare/Default) - mkdir -p $(PKG_BUILD_DIR)/build - cd $(PKG_BUILD_DIR)/build; -endef +config_files=oscam.ac oscam.cacheex oscam.cert oscam.conf oscam.dvbapi oscam.guess oscam.ird oscam.provid oscam.server oscam.services oscam.srvid oscam.tiers oscam.user oscam.whitelist define Package/oscam/conffiles +/etc/oscam/ endef -define Build/Compile - echo 'set (OSCAM_SYSTEM_NAME wrt350nv2)' > $(PKG_BUILD_DIR)/toolchain.cmake - echo 'set (CMAKE_SYSTEM_NAME Linux)' >> $(PKG_BUILD_DIR)/toolchain.cmake - echo 'set (CMAKE_C_COMPILER $(TARGET_CROSS)gcc)' >> $(PKG_BUILD_DIR)/toolchain.cmake - echo 'set (CMAKE_SYSTEM_PROCESSOR $(ARCH))' >> $(PKG_BUILD_DIR)/toolchain.cmake - cd $(PKG_BUILD_DIR)/build;cmake -DCMAKE_TOOLCHAIN_FILE=$(PKG_BUILD_DIR)/toolchain.cmake ..;make +define Package/oscam + SECTION:=net + CATEGORY:=Network + TITLE:=Open Source Conditional Access Modul + URL:=http://www.streamboard.tv/oscam + DEPENDS:=+OSCAM_USE_LIBCRYPTO:libopenssl +OSCAM_USE_LIBUSB:libusb-1.0 +OSCAM_USE_PCSC:pcscd endef +define Package/list-smargo + $(call Package/oscam) + TITLE:=List smargo readers + DEPENDS:=oscam +endef + +CONFIGURE_CMD = ./config.sh +CONFIGURE_ARGS = \ + --restore \ + $(if $(CONFIG_OSCAM_WEBIF),--enable,--disable) WEBIF \ + $(if $(CONFIG_OSCAM_WEBIF_LIVELOG),--enable,--disable) WEBIF_LIVELOG \ + $(if $(CONFIG_OSCAM_WEBIF_JQUERY),--enable,--disable) WEBIF_JQUERY \ + $(if $(CONFIG_OSCAM_TOUCH),--enable,--disable) TOUCH \ + $(if $(CONFIG_OSCAM_WITH_SSL),--enable,--disable) WITH_SSL \ + $(if $(CONFIG_OSCAM_HAVE_DVBAPI),--enable,--disable) HAVE_DVBAPI \ + $(if $(CONFIG_OSCAM_READ_SDT_CHARSETS),--enable,--disable) READ_SDT_CHARSETS \ + $(if $(CONFIG_OSCAM_IRDETO_GUESSING),--enable,--disable) IRDETO_GUESSING \ + $(if $(CONFIG_OSCAM_CS_ANTICASC),--enable,--disable) CS_ANTICASC \ + $(if $(CONFIG_OSCAM_WITH_DEBUG),--enable,--disable) WITH_DEBUG \ + $(if $(CONFIG_OSCAM_MODULE_MONITOR),--enable,--disable) MODULE_MONITOR \ + $(if $(CONFIG_OSCAM_WITH_LB),--enable,--disable) WITH_LB \ + $(if $(CONFIG_OSCAM_CS_CACHEEX),--enable,--disable) CS_CACHEEX \ + $(if $(CONFIG_OSCAM_CW_CYCLE_CHECK),--enable,--disable) CW_CYCLE_CHECK \ + $(if $(CONFIG_OSCAM_LCDSUPPORT),--enable,--disable) LCDSUPPORT \ + $(if $(CONFIG_OSCAM_LEDSUPPORT),--enable,--disable) LEDSUPPORT \ + $(if $(CONFIG_OSCAM_CLOCKFIX),--enable,--disable) CLOCKFIX \ + $(if $(CONFIG_OSCAM_IPV6SUPPORT),--enable,--disable) IPV6SUPPORT \ + $(if $(CONFIG_OSCAM_MODULE_CAMD33),--enable,--disable) MODULE_CAMD33 \ + $(if $(CONFIG_OSCAM_MODULE_CAMD35),--enable,--disable) MODULE_CAMD35 \ + $(if $(CONFIG_OSCAM_MODULE_CAMD35_TCP),--enable,--disable) MODULE_CAMD35_TCP \ + $(if $(CONFIG_OSCAM_MODULE_NEWCAMD),--enable,--disable) MODULE_NEWCAMD \ + $(if $(CONFIG_OSCAM_MODULE_CCCAM),--enable,--disable) MODULE_CCCAM \ + $(if $(CONFIG_OSCAM_MODULE_CCCSHARE),--enable,--disable) MODULE_CCCSHARE \ + $(if $(CONFIG_OSCAM_MODULE_GBOX),--enable,--disable) MODULE_GBOX \ + $(if $(CONFIG_OSCAM_MODULE_RADEGAST),--enable,--disable) MODULE_RADEGAST \ + $(if $(CONFIG_OSCAM_MODULE_SCAM),--enable,--disable) MODULE_SCAM \ + $(if $(CONFIG_OSCAM_MODULE_SERIAL),--enable,--disable) MODULE_SERIAL \ + $(if $(CONFIG_OSCAM_MODULE_CONSTCW),--enable,--disable) MODULE_CONSTCW \ + $(if $(CONFIG_OSCAM_MODULE_PANDORA),--enable,--disable) MODULE_PANDORA \ + $(if $(CONFIG_OSCAM_MODULE_GHTTP),--enable,--disable) MODULE_GHTTP \ + $(if $(CONFIG_OSCAM_READER_NAGRA),--enable,--disable) READER_NAGRA \ + $(if $(CONFIG_OSCAM_READER_IRDETO),--enable,--disable) READER_IRDETO \ + $(if $(CONFIG_OSCAM_READER_CONAX),--enable,--disable) READER_CONAX \ + $(if $(CONFIG_OSCAM_READER_CRYPTOWORKS),--enable,--disable) READER_CRYPTOWORKS \ + $(if $(CONFIG_OSCAM_READER_SECA),--enable,--disable) READER_SECA \ + $(if $(CONFIG_OSCAM_READER_VIACCESS),--enable,--disable) READER_VIACCESS \ + $(if $(CONFIG_OSCAM_READER_VIDEOGUARD),--enable,--disable) READER_VIDEOGUARD \ + $(if $(CONFIG_OSCAM_READER_DRE),--enable,--disable) READER_DRE \ + $(if $(CONFIG_OSCAM_READER_TONGFANG),--enable,--disable) READER_TONGFANG \ + $(if $(CONFIG_OSCAM_READER_BULCRYPT),--enable,--disable) READER_BULCRYPT \ + $(if $(CONFIG_OSCAM_READER_GRIFFIN),--enable,--disable) READER_GRIFFIN \ + $(if $(CONFIG_OSCAM_READER_DGCRYPT),--enable,--disable) READER_DGCRYPT \ + $(if $(CONFIG_OSCAM_CARDREADER_PHOENIX),--enable,--disable) CARDREADER_PHOENIX \ + $(if $(CONFIG_OSCAM_CARDREADER_SC8IN1),--enable,--disable) CARDREADER_SC8IN1 \ + $(if $(CONFIG_OSCAM_CARDREADER_MP35),--enable,--disable) CARDREADER_MP35 \ + $(if $(CONFIG_OSCAM_CARDREADER_SMARGO),--enable,--disable) CARDREADER_SMARGO \ + $(if $(CONFIG_OSCAM_CARDREADER_STINGER),--enable,--disable) CARDREADER_STINGER \ + --disable CARDREADER_INTERNAL_AZBOX \ + --disable CARDREADER_INTERNAL_COOLAPI \ + --disable CARDREADER_INTERNAL_COOLAPI2 \ + --disable CARDREADER_INTERNAL_SCI \ + --disable CARDREADER_DB2COM \ + --disable CARDREADER_STAPI \ + --disable CARDREADER_STAPI5 + +MAKE_FLAGS += + +ifeq ($(CONFIG_OSCAM_USE_LIBUSB),y) + MAKE_FLAGS += USE_LIBUSB=1 +endif + +ifeq ($(CONFIG_OSCAM_USE_PCSC),y) + MAKE_FLAGS += USE_PCSC=1 +endif + +ifeq ($(CONFIG_OSCAM_USE_LIBCRYPTO),y) + MAKE_FLAGS += USE_LIBCRYPTO=1 +endif + +ifeq ($(CONFIG_OSCAM_WITH_SSL),y) + MAKE_FLAGS += USE_SSL=1 +endif + +MAKE_FLAGS += CONF_DIR=/etc/oscam +MAKE_FLAGS += OSCAM_BIN=Distribution/oscam +MAKE_FLAGS += LIST_SMARGO_BIN=Distribution/list-smargo + define Package/oscam/install - $(INSTALL_DIR) $(1)/usr/bin - $(INSTALL_BIN) $(PKG_BUILD_DIR)/build/oscam $(1)/usr/bin/ + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/Distribution/oscam $(1)/usr/sbin/oscam + $(INSTALL_DIR) $(1)/etc/oscam + $(INSTALL_DATA) $(addprefix $(PKG_BUILD_DIR)/Distribution/doc/example/,$(config_files)) $(1)/etc/oscam/ + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/oscam.init $(1)/etc/init.d/oscam endef -$(eval $(call BuildPackage,oscam)) +define Package/list-smargo/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/Distribution/list-smargo $(1)/usr/bin/list-smargo +endef + +$(eval $(call BuildPackage,oscam)) +$(eval $(call BuildPackage,list-smargo)) diff --git a/package/lean/oscam/files/oscam.init b/package/lean/oscam/files/oscam.init new file mode 100644 index 000000000..b0bf41dc5 --- /dev/null +++ b/package/lean/oscam/files/oscam.init @@ -0,0 +1,12 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2016 OpenWrt.org + +START=50 +USE_PROCD=1 + +start_service() { + procd_open_instance + procd_set_param command /usr/sbin/oscam + procd_set_param respawn + procd_close_instance +}