IncubusCamd 0.7

07/02/2009, V0.70
- added auto-reconnection on servers (if lost connection previously)
- fixed a bug that caused the lost of cws
- added multi-server support for cccam (you can connect as a client to more than one server, this is a beta try, seems almost stable but it could have many bugs)
- fixed nagra providers (nagra3 and nagra2) interpretation (now they should work on cccam protocol, but i've not tested it so please report if you find bugs)
- fixed biss over cccam protocol
- added possibility to get emu shared data by server on cccam protocol (see config file)
- added logs information from console and into file (see config file)
- changed a bit the config file

Consider this version as a BETA one

download from here

download this "pack.tar.gz" and put into /tmp , and install from NLB panel.

Code:
##############################################################################
# incubusCamd configuration file                                             #
# All configuration options in this file observe the same format:            #
#     <configuration_name>=<configuration_value>                             #
#                                                                            #
# Each section are [<section_name>:<option_1>:<option_x>] like.              #
#                                                                            #
# No matter about white spaces on any place or UNIX/DOS style files          #
##############################################################################

########################### general configuration ############################
[General]
# Enable (1) or disable (0) background execution
# 0 - Off
# 1 - On
background_execution=1

# This sets the level of console output for debugging:
# 0 - No debug messages, 1 - First level debug messages, 2 - Second level debug messages,
# 3 - Print all debug messages
debug_level=3

# This option enables (1) or disables (0) the writing of debug information to the
# console.
log_to_console=1

# This option enables (1) or disables (0) the writing of console output to a log file
log_to_file=0

# When log_to_file is set to 1, this is the path and filename to write console
# ouput to.
logfile_name=/var/bin/camd.log

# Used to activate on-screen messages. Username and password required if
# HTTP authentication is enabled on enigma.
on_screen_messages_show=1
on_screen_messages_username=root
on_screen_messages_password=
on_screen_messages_key_update=1
on_screen_messages_wait_for_key_update=0
on_screen_messages_ecm=0
on_screen_messages_emm=0

#When activated, camd will listen on the specified port for connections. All
#log activity will be broadcast in real-time to connected clients.
console_logs_broadcast=1
console_logs_broadcast_port=666

############################ caid configuration ##############################
#
# First of all the cam use the incubusCamd.prio file, then use the 
# configuration below.
# Sections are defined by the value of the CaID.
# You can choose the default ecm table used by the codify, this means that
# you can choose the first byte of the raw ecm that is downloaded from sat.
# If you don't know what value to insert, use "80". (all value are in hex)
# Default value for ecm_table is 0x80.
# The option "priority" tells if one caid should be selected before try
# another one with a priority value greater.
# The less is the value the greatest is the priority. Choose from "0" to any value,
# priority value is decimal.
#

[CaID:0100]
ecm_table=80
priority=1

[CaID:0500]
ecm_table=80
priority=1

[CaID:0600]
ecm_table=80
priority=1

[CaID:0919]
ecm_table=80
priority=1

[CaID:093B]
ecm_table=80
priority=1

[CaID:0B00]
ecm_table=80
priority=1

[CaID:0D00]
ecm_table=80
priority=1

[CaID:1700]
ecm_table=80
priority=1

[CaID:1800]
ecm_table=80
priority=1

[CaID:2600]
ecm_table=80
priority=1

########################### provider configuration ###########################
#
# All parameters are in hexadecimal notation.
# Each section is defined by the provider id value.
# If you don't know the provider id value then use the provider id "000000" and ca id "0000".
# On provider 000000 caid 0000 goes all provider wich are not declared. If the provider
# is declared then the cam will use the provider founded.
#

[Prov:000501:CaID:1833]
# ----------------------------------------------------------------------------
# URL of card-server to use, formats are as follows:
#
# newcamd://<username>:<password>@<hostname>:<port>/<des_key>
# aroureos://@<hostname>:<port>
# radegast://@<hostname>:<port>
#
# Example:
# newcamd://foo:bar@192.168.0.100:12345/0CE3476FF2E1C9D9A0A109B371E3
#
# Multiple card-server url's can be specified for server fail-over.
# If the emu fails to connect or fails to get valid CW's, it will try to
# connect to other servers in a round-robin fashion.
#
# Up to 16 servers can be added from index 0 to 15.
#
# You can choose also to select a cccam or gbox server, but they must be declared
# in the "servers configuration" section ( [Servers] ).
# e.g. : if you want to use a cccam server for a provider you must put it on
# the parameter card_server_url_0=cccam://
# NO MATTER the value after the double slash because server configuration is
# made in the section [Servers].
# Only for newcamd, radegast and aroureos is usefull to put correct connection
# parameters because they are provider dependent.
#
#
# Example i want to use mine card into the slot with newcs for prov 0501 on nagra3 (caid 1833)
card_server_url_0=newcamd://username:password@192.168.0.100:10550/0102030405060708091011121314

[Prov:000101:CaID:1810]
# ----------------------------------------------------------------------------
# Multiple card-server url's can be specified for server fail-over.
# If the emu fails to connect or fails to get valid CW's, it will try to
# connect to other servers in a round-robin fashion.
#
# Up to 16 servers can be added from index 0 to 15.
#
# URL of card-server to use, formats are as follows:
#
# newcamd://<username>:<password>@<hostname>:<port>/<des_key>/[EMM]
# aroureos://@<hostname>:<port>/[EMM]
# radegast://@<hostname>:<port>/[EMM]
#
card_server_url_0=newcamd://username:password@192.168.0.100:10550/0102030405060708091011121314/EMM
card_server_url_1=newcamd://username:password@192.168.0.101:10551/0102030405060708091011121314/EMM
card_server_url_2=newcamd://username:password@192.168.0.102:10552/0102030405060708091011121314/EMM

[Prov:000000:CaID:0000]
# this provider is a stand-in for all cards and all caid not declared previously
#
# For example I choose to use cccam protocol on all other provider.
#
card_server_url_0=cccam://

########################### servers configuration ############################
[Servers]
#
# This is the section for the multi-server configuration.
#
# URL of card-server to use, formats are as follows:
#
# cccam://<username>:<password>@<hostname>:<port>/<receive_emu_shared>/[EMM]
# where <receive_emu_shared> should assume value "yes" (without quotes, if you like to receive emus data shared by the server) or "no" (this is assumed by default)
#
# gbox://<localhost>:<localport>:<password>@<peer_address>:<peer_port>:<peer_pass>/[EMM]
#
# NOTE: The "EMM" suffix is optional and tells the card-server client whether
# to send EMM's to the card-server or not. Enabling or disabling this only
# has effect if the card-server is configured to accept emms from this client.
#
# NOTE 2: The "card_server_url" is not the same as previously declared in the prov/caid section
# use how many server as you like
#
card_server_url=cccam://<username>:<password>@<hostname>:<port>
card_server_url=cccam://<username>:<password>@<hostname>:<port>
card_server_url=cccam://<username>:<password>@<hostname>:<port>