Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -720,6 +720,13 @@ if (CONFIG_WITH_EMU MATCHES "Y" AND NOT WITH_EMU EQUAL 1)
message (STATUS " EMU is added by config compiling with EMU")
endif (CONFIG_WITH_EMU MATCHES "Y" AND NOT WITH_EMU EQUAL 1)

execute_process (COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/config.sh --enabled WITH_ECMBIN OUTPUT_VARIABLE CONFIG_WITH_ECMBIN OUTPUT_STRIP_TRAILING_WHITESPACE)
if (CONFIG_WITH_ECMBIN MATCHES "Y" AND NOT WITH_ECMBIN EQUAL 1)
add_definitions ("-DWITH_ECMBIN")
set (WITH_ECMBIN "1")
message (STATUS " ECMBIN is added by config compiling with ECMBIN")
endif (CONFIG_WITH_ECMBIN MATCHES "Y" AND NOT WITH_ECMBIN EQUAL 1)

if (WITH_EMU)
execute_process (COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/config.sh --enabled WITH_SOFTCAM OUTPUT_VARIABLE CONFIG_WITH_SOFTCAM OUTPUT_STRIP_TRAILING_WHITESPACE)
if (CONFIG_WITH_SOFTCAM MATCHES "Y" AND NOT WITH_SOFTCAM EQUAL 1)
Expand Down Expand Up @@ -1233,6 +1240,10 @@ if (WITH_EMU)
if (WITH_SOFTCAM)
message (STATUS " SoftCam.Key will be linked as well")
endif (WITH_SOFTCAM)

endif (WITH_EMU)
if (WITH_ECMBIN)
message (STATUS " Compile with ECMBIN support")
endif (WITH_ECMBIN)

message (STATUS "")
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -411,6 +411,7 @@ SRC-$(CONFIG_CS_CACHEEX) += module-cccam-cacheex.c
SRC-$(CONFIG_MODULE_CCCAM) += module-cccam.c
SRC-$(CONFIG_MODULE_CCCSHARE) += module-cccshare.c
SRC-$(CONFIG_MODULE_CONSTCW) += module-constcw.c
SRC-$(CONFIG_WITH_ECMBIN) += module-ecmbin.c
SRC-$(CONFIG_WITH_EMU) += module-emulator.c
SRC-$(CONFIG_WITH_EMU) += module-emulator-nemu.c
SRC-$(CONFIG_WITH_EMU) += module-emulator-biss.c
Expand Down
1 change: 1 addition & 0 deletions config.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

#define WITH_EMU 1
#define WITH_SOFTCAM 1
#define WITH_ECMBIN 1
#define WEBIF 1
#define WEBIF_LIVELOG 1
#define WEBIF_JQUERY 1
Expand Down
18 changes: 10 additions & 8 deletions config.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/sh

addons="WEBIF WEBIF_LIVELOG WEBIF_JQUERY WITH_COMPRESS_WEBIF TOUCH WITH_SSL HAVE_DVBAPI WITH_NEUTRINO READ_SDT_CHARSETS IRDETO_GUESSING CS_ANTICASC WITH_DEBUG MODULE_MONITOR WITH_LB CS_CACHEEX CS_CACHEEX_AIO CW_CYCLE_CHECK LCDSUPPORT LEDSUPPORT CLOCKFIX IPV6SUPPORT WITH_SIGNING WITH_CARDLIST WITH_EMU WITH_SOFTCAM"
addons="WEBIF WEBIF_LIVELOG WEBIF_JQUERY WITH_COMPRESS_WEBIF TOUCH WITH_SSL HAVE_DVBAPI WITH_NEUTRINO READ_SDT_CHARSETS IRDETO_GUESSING CS_ANTICASC WITH_DEBUG MODULE_MONITOR WITH_LB CS_CACHEEX CS_CACHEEX_AIO CW_CYCLE_CHECK LCDSUPPORT LEDSUPPORT CLOCKFIX IPV6SUPPORT WITH_SIGNING WITH_CARDLIST WITH_EMU WITH_SOFTCAM WITH_ECMBIN"
protocols="MODULE_CAMD33 MODULE_CAMD35 MODULE_CAMD35_TCP MODULE_NEWCAMD MODULE_CCCAM MODULE_CCCSHARE MODULE_GBOX MODULE_RADEGAST MODULE_SCAM MODULE_SERIAL MODULE_CONSTCW MODULE_PANDORA MODULE_GHTTP MODULE_STREAMRELAY"
readers="READER_NAGRA READER_NAGRA_MERLIN READER_IRDETO READER_CONAX READER_CRYPTOWORKS READER_SECA READER_VIACCESS READER_VIDEOGUARD READER_DRE READER_TONGFANG READER_STREAMGUARD READER_JET READER_BULCRYPT READER_GRIFFIN READER_DGCRYPT"
card_readers="CARDREADER_PHOENIX CARDREADER_INTERNAL CARDREADER_SC8IN1 CARDREADER_MP35 CARDREADER_SMARGO CARDREADER_DB2COM CARDREADER_STAPI CARDREADER_STAPI5 CARDREADER_GXAPI CARDREADER_STINGER CARDREADER_DRECAS"
Expand Down Expand Up @@ -29,6 +29,7 @@ CONFIG_CW_CYCLE_CHECK=y
# CONFIG_IPV6SUPPORT=n
# CONFIG_WITH_SIGNING=n
# CONFIG_WITH_CARDLIST=n
# CONFIG_WITH_ECMBIN=n
CONFIG_WITH_EMU=y
CONFIG_WITH_SOFTCAM=y
# CONFIG_MODULE_CAMD33=n
Expand Down Expand Up @@ -335,16 +336,16 @@ get_opts() {

update_deps() {
# Calculate dependencies
enabled_any $(get_opts readers) $(get_opts card_readers) WITH_EMU && enable_opt WITH_CARDREADER >/dev/null
disabled_all $(get_opts readers) $(get_opts card_readers) WITH_EMU && disable_opt WITH_CARDREADER >/dev/null
enabled_any $(get_opts readers) $(get_opts card_readers) WITH_EMU WITH_ECMBIN && enable_opt WITH_CARDREADER >/dev/null
disabled_all $(get_opts readers) $(get_opts card_readers) WITH_EMU WITH_ECMBIN && disable_opt WITH_CARDREADER >/dev/null
disabled WITH_CARDREADER && disable_opt WITH_CARDLIST >/dev/null
disabled WEBIF && disable_opt WEBIF_LIVELOG >/dev/null
disabled WEBIF && disable_opt WEBIF_JQUERY >/dev/null
enabled MODULE_CCCSHARE && enable_opt MODULE_CCCAM >/dev/null
enabled_any CARDREADER_DB2COM CARDREADER_MP35 CARDREADER_SC8IN1 CARDREADER_STINGER && enable_opt CARDREADER_PHOENIX >/dev/null
disabled CS_CACHEEX && disable_opt CS_CACHEEX_AIO >/dev/null
enabled WITH_EMU && enable_opt READER_VIACCESS >/dev/null
enabled WITH_EMU && enable_opt MODULE_NEWCAMD >/dev/null
enabled WITH_EMU WITH_ECMBIN && enable_opt READER_VIACCESS >/dev/null
enabled WITH_EMU WITH_ECMBIN && enable_opt MODULE_NEWCAMD >/dev/null
disabled WITH_EMU && disable_opt WITH_SOFTCAM >/dev/null
enabled WITH_SIGNING && enable_opt WITH_SSL >/dev/null
}
Expand Down Expand Up @@ -406,10 +407,10 @@ list_config() {
not_have_flag USE_LIBCRYPTO && echo "CONFIG_LIB_AES=y" || echo "# CONFIG_LIB_AES=n"
enabled MODULE_CCCAM && echo "CONFIG_LIB_RC6=y" || echo "# CONFIG_LIB_RC6=n"
not_have_flag USE_LIBCRYPTO && enabled MODULE_CCCAM && echo "CONFIG_LIB_SHA1=y" || echo "# CONFIG_LIB_SHA1=n"
enabled_any READER_DRE MODULE_SCAM READER_VIACCESS READER_TONGFANG READER_STREAMGUARD READER_JET READER_NAGRA READER_NAGRA_MERLIN READER_VIDEOGUARD READER_CONAX READER_TONGFANG WITH_EMU && echo "CONFIG_LIB_DES=y" || echo "# CONFIG_LIB_DES=n"
enabled_any MODULE_CCCAM READER_NAGRA READER_NAGRA_MERLIN READER_SECA WITH_EMU && echo "CONFIG_LIB_IDEA=y" || echo "# CONFIG_LIB_IDEA=n"
enabled_any READER_DRE MODULE_SCAM READER_VIACCESS READER_TONGFANG READER_STREAMGUARD READER_JET READER_NAGRA READER_NAGRA_MERLIN READER_VIDEOGUARD READER_CONAX READER_TONGFANG WITH_EMU WITH_ECMBIN && echo "CONFIG_LIB_DES=y" || echo "# CONFIG_LIB_DES=n"
enabled_any MODULE_CCCAM READER_NAGRA READER_NAGRA_MERLIN READER_SECA WITH_EMU WITH_ECMBIN && echo "CONFIG_LIB_IDEA=y" || echo "# CONFIG_LIB_IDEA=n"
enabled_any READER_JET && echo "CONFIG_LIB_TWOFISH=y" || echo "CONFIG_LIB_TWOFISH=n"
not_have_flag USE_LIBCRYPTO && enabled_any READER_CONAX READER_CRYPTOWORKS READER_NAGRA READER_NAGRA_MERLIN WITH_EMU && echo "CONFIG_LIB_BIGNUM=y" || echo "# CONFIG_LIB_BIGNUM=n"
not_have_flag USE_LIBCRYPTO && enabled_any READER_CONAX READER_CRYPTOWORKS READER_NAGRA READER_NAGRA_MERLIN WITH_EMU WITH_ECMBIN && echo "CONFIG_LIB_BIGNUM=y" || echo "# CONFIG_LIB_BIGNUM=n"
enabled READER_NAGRA_MERLIN && echo "CONFIG_LIB_MDC2=y" || echo "# CONFIG_LIB_MDC2=n"
enabled READER_NAGRA_MERLIN && echo "CONFIG_LIB_FAST_AES=y" || echo "# CONFIG_LIB_FAST_AES=n"
enabled_any READER_NAGRA_MERLIN WITH_SIGNING && echo "CONFIG_LIB_SHA256=y" || echo "# CONFIG_LIB_SHA256=n"
Expand Down Expand Up @@ -539,6 +540,7 @@ menu_addons() {
WITH_CARDLIST "Cardlist support" $(check_test "WITH_CARDLIST") \
WITH_EMU "Emulator support" $(check_test "WITH_EMU") \
WITH_SOFTCAM "Built-in SoftCam.Key" $(check_test "WITH_SOFTCAM") \
WITH_ECMBIN "ECM Emulator support" $(check_test "WITH_ECMBIN") \
WITH_SIGNING "Binary signing with X.509 certificate" $(check_test "WITH_SIGNING") \
2> ${tempfile}

Expand Down
1 change: 1 addition & 0 deletions csctapi/cardreaders.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,6 @@ extern const struct s_cardreader cardreader_gxapi;
extern const struct s_cardreader cardreader_stinger;
extern const struct s_cardreader cardreader_drecas;
extern const struct s_cardreader cardreader_emu;
extern const struct s_cardreader cardreader_ecmbin;

#endif
2 changes: 1 addition & 1 deletion csctapi/icc_async.c
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,7 @@ int32_t ICC_Async_Activate(struct s_reader *reader, ATR *atr, uint16_t deprecate
{
reader->crdr_flush = crdr_ops->flush; // Flush flag may be changed for each reader
call(crdr_ops->activate(reader, atr));
if(reader->typ == R_EMU)
if(reader->typ == R_EMU || reader->typ == R_ECMBIN)
{
return OK;
}
Expand Down
7 changes: 7 additions & 0 deletions globals.h
Original file line number Diff line number Diff line change
Expand Up @@ -475,6 +475,7 @@ typedef uint8_t uint8_t;
#define R_PCSC 0x8 // PCSC
#define R_DRECAS 0x9 // Reader DRECAS
#define R_EMU 0x17 // Reader EMU
#define R_ECMBIN 0x19 // Reader ECMBIN
/////////////////// proxy readers after R_CS378X
#define R_CAMD35 0x20 // Reader cascading camd 3.5x
#define R_CAMD33 0x21 // Reader cascading camd 3.3x
Expand Down Expand Up @@ -2205,6 +2206,12 @@ struct s_config
IN_ADDR_T srvip;
char *usrfile;
char *cwlogdir;
char *ecmcwlogdir;
uint8_t record_ecm_start_byte;
uint8_t record_ecm_end_byte;
char *bin_folder;
uint8_t ecmbin_ecm_start_byte;
uint8_t ecmbin_ecm_end_byte;
char *emmlogdir;
char *logfile;
char *mailfile;
Expand Down
Loading