######################################################################
# friends #
######################################################################
# syntax for to add a friend user to CCcam with the max up hops limit (default = 5)
# sharing of emus (default = 1), allow emm (default = 1), and optional
# downshare limits per share (default = no limits) and optional
# downshare limits per share based on caid:id:sid
# and optional timeslots in which share is valid (to block channels on box of children after 19:00 for instance)
# if no timeslot is defined 24 hrs a day is used
# emus are shared only one level down, even if no limits given
#
# max username length 20
# password length 'unlimited'
#
#F: <username> <password> <uphops> <shareemus> <allowemm> ( { caid:iddownhops), caid:iddownhops), ... } { caid:id:sid, caid:id:sid, ... } { begintime-endtime, ... } ) hostname/ip address
#
# example:
#
# F: user1 pass1
#
# user1 gets all our shares at max 5 hops from us
# (our local cards + max five hops away). He can share down to his own
# clients. He also receive emu shares (if he has 'yes' behind his C: entry),
# and is allowed to send us emm.
#
# F: user2 pass2 0 1 0 { 0100:000080, 0622:000000:1, 0500:000000:2 }
#
# user2 gets only our local cards but no 0100:000080.
# and our 0622:000000 cards only for himself (1 hop down),
# and 0500 cards for himself plus one additional hop down.
# He also gets our emus, and is NOT allowed to send us emm (updates).
#
# F: user3 pass3 5 0 1 { 0:0:3, 0100:000080:1 }
#
# user3 gets all cards at a maximum of 5 hops away from us,
# and get's to share them down two further levels beyond his own level.
# But he is not allowed to share 0100:000080 down to other users.
# He gets no emus from us, and he is allowed to send us emm.
#
# F: user4 pass4 5 0 1 { 0:0:3, 0100:000080:1 } { 0100:000080:15df }
#
# user4 gets all cards at a maximum of 5 hops away from us,
# and get's to share them down two further levels beyond his own level.
# But he is not allowed to share 0100:000080 down to other users.
# He gets no emus from us, and he is allowed to send us emm.
# He is also not allowed to view channel 0100:000080:15df
#
# F: user4 pass4 5 0 1 { } { } { 12:00-17:00, 19:00-20:00 }
#
# user4 gets all cards at a maximum of 5 hops away from us,
# and get's to share them down two further levels beyond his own level.
# the share is only valid between 12:00 and 17:00 and between 19:00 and 20:00
# outside these hours the share will not give cw's to the client
#
#
# F: user5 pass5 5 1 1 { } { } { } 192.168.1.1
#
# user5 gets all cards at a maximum of 5 hops away from us
# user5 is only allowed to connect from the host 192.168.1.1
#

# control how to deal with global (ga) EMM readers (clientside setting)
# can avoid global (possibly noisy) emm being sent over the network
# shared and unique emm is not affected by this setting
# to block all emm, use DISABLE EMM setting instead
#
# 0 = ignore all global emm
# 1 = accept a small amount of global emm
# 2 = accept all global emm
#
# default: 2 (handle all global emm)
#
# example: seriously reduce the global emm traffic, but allow limited
# global emm when a smartcard does not work (possibly because it needs an update)
#
#GLOBAL EMM : 1

# with this setting you can
# allow a client on two hops away
# to send the updates to the cardserver
#
# default : no
#
#EXTRA EMM LEVEL : yes

# with this setting you can
# configure how many emm listeners are started.
# for example use 2 when recording
# and viewing different systems and both need constant updates
#
# default : 1
#
#EMM THREADS : 1

# in this file you can configure what CAIDs CCcam should prefer or ignore
# defaults to /var/etc/CCcam.prio
# file content can have ignores (I) and prio lists (P)
#
# note 1: I line affects both for ecm and emm (receive no emm on ignored systems)
# P line only affects ecm choice (emm still received for all available systems, not just the priority system)
#
# note 2: ident 0 means 'all idents'. So 'caid:0' is the same as 'caid'.
#
# note 3: for some systems (e.g. nagra (caid 18xx)), the ident is not known at the time the
# prio lists are checked. In that case, matching is done on caid only, even if the P line
# defines nonzero idents. So for example '1801:401' behaves the same as '1801' in a P line
# I lines work differently, they are checked two times, once before ecm or emm is received, again
# after ecm or emm are received (and nagra ident should be known)
# P lines are only checked once, before ecm received.
#
# note 4: if a P line contains caid:ident pairs which are not available for the current
# channel, that P line is not used for that channel.
# Example, channel has systems 626, 1801:401 then P line with "1801,100:96,626" is ignored by that channel,
# because channel doesn't have 100:96.
# But P line with "1801" works, and also "626,1801" will work for channel
#
# note 5: P lines are parsed in the order in which they are found in the prio file.
# Only the first matching P line is used
#
# situation 1: ignore allways this caid, all idents, on all channels
# I: caid
#
# situation 2: ignore allways this caid/ident pair
# I: caid:ident
#
# situation 3: ignore this caid/ident pair, on channel 'sid'
# I: caid:ident:sid
#
# situation 4: when both caid1 and caid2 exist for a channel, prefer caid1 over caid2
# P: caid1, caid2
#
# situation 5: when caid1:ident1 till caidN:identN exist for a channel, use them in order of this list.
# P: caid1:ident1, caid2:ident2, .., caidN:identN
#
# situation 6: when caid1:ident1 till caidN:identN exist for channel 'sid', use them in order of this list.
# Sid on first caid/ident pair identifies sid for which list is used. All other sids ignore this list.
# P: caid1:ident1:sid, caid2:ident2, .., caidN:identN
#
#CAID PRIO FILE : /var/etc/CCcam.prio

#
# In this file all provider idents are defined
# The info from this file is being used in the web interface
# format:
# <caid><ident> "Provider description"
#
# PROVIDERINFO FILE : /var/etc/CCcam.providers

#
# In this file all channel idents are defined
# The info from this file is being used in the web interface
# format:
# caid:ident:sid "Channel description"
#
# CHANNELINFO FILE : /var/etc/CCcam.channelinfo

# in version 1.2.1 and lower there was a problem which could lead to disconnecting clients
# in version 1.4.0 network load was significantly reduced
# in version 1.7.0 dangerous password bug was fixed
# in order to take advantage of these fixes, all clients should upgrade
# with this setting you can force that clients at least use a certain version otherwise they are denied when logging in
#
# default : accept all versions
#
#example 1: avoid disconnecting clients problem
#
#MINIMUM CLIENT VERSION : 1.3.0
#
#example 2: achieve network load decrease
#
#MINIMUM CLIENT VERSION : 2.2.0
#
#example 3: don't allow potentially wrong passwords (pre 1.7.0 has password bug)
#
#MINIMUM CLIENT VERSION : 1.7.0

# Irdeto smartcards: option to disable smart chid checking for irdeto smartcards.
# Default, only chids advertised by card are accepted.
# This avoids a lot of unwanted card traffic
#
# But if smartcard has hidden/unknown chids, all chids should be tried.
# In that case specify 'TRY ALL CHIDS' option for cardreader.
# Use with care, enabling option causes more card traffic.
# Only use setting when some channels in your subscription don't work without it.
# note: if even this setting don't help decode all channels, try using
# commandline arg -l, to disable all self-learning features (warning: slower)
#
#TRY ALL CHIDS : <device>
#
#example: card in /dev/ttyUSB0 gets ecm for all possible chids, not
#just the chids it officially supports
#
#TRY ALL CHIDS : /dev/ttyUSB0

# Option to reject shares with less than required downhops on clientside
#
#MINIMUM DOWNHOPS: <value>
#
# default: 0 (don't ignore any shares)
#
#example:
#
#MINIMUM DOWNHOPS: 1
#
# ignore shares that have less than 1 'downhops' (i.e. can not be shared
# further down to other clients)

# The seca handler is used to better support simulcrypt on the same ident
#
# With this setting you can change the behaviour of how SECA has to be used
# This setting is ignored unless SECA2/SECA3 simulcrypt is detected!!
#
# When disabled CCcam behaves like previous versions
#
# When "prefer SECA3 over SECA2" is enabled try to use SECA3 ecm first, then SECA2
#
# When "Ignore SECA2" is enabled, ignore all SECA2 ecm so a SECA3 card will not get SECA2 request which it cannot handle
#
# When "Ignore SECA3" is enabled, ignore all SECA3 ecm so a SECA2 card will not get SECA3 request which it cannot handle
#
#
# The following settings can be used
#
# SECA HANDLER: <value>
# <value> : 0 = disabled, 1 = prefer SECA3 over SECA2, 2 = prefer SECA2 over SECA3, 3 = Ignore SECA2, 4 = Ignore SECA3
#
# default: 1
#
# Example try to use SECA3 ecm first, then SECA2
#SECA HANDLER: 1
#
# Example try to use SECA2 ecm first, then SECA3
#SECA HANDLER: 2
#
# Example to ignore all SECA2 ecm so a SECA3 card will not get SECA2 request which it cannot handle
#SECA HANDLER: 3
#
# Example to ignore all SECA3 ecm so a SECA2 card will not get SECA3 request which it cannot handle
#SECA HANDLER: 4

# Configure limited list of accepted sids for smartcard
# When omitted, all sids are allowed.
# Can work together with LOADBALANCE configuration (sids which are not allowed will be automatically left out of the loadbalance)
#
# SMARTCARD SID ASSIGN : <device> <maxnumberofsids> { <sid1>, <sid2>, ... <sidn> }
#
# <device> is the reader devicenode
# <maxnumberofsids> limits the total number of sids assigned to the card (0 = use length of sid list)
# { <sid1>..<sidn> } lists the sids that are assigned to the smartcard, when omitted, <maxnumberofsids> is used to auto assign sids
#
# when <maxnumberofsids> is larger than the length of the sidlist, the remainder of the sids are auto assigned, till the list reaches <maxnumberofsids>
# Check entitlement output for realtime assignment list
#
# WARNING: when SMARTCARD SID ASSIGN config changes, restart is required before settings take effect
#
#example1: smartcard in device /dev/ttyUSB0 only handles requests for sids df3, df4, df5
#
#SMARTCARD SID ASSIGN : /dev/ttyUSB0 0 { 0df3,0df4,0df5 }
#
#example2: smartcard in device /dev/ttyUSB0 handles requests for max 5 sids, auto assigned in the order of occurance. A request for a 6th sid will be denied.
#
#SMARTCARD SID ASSIGN : /dev/ttyUSB0 5
#
#example3: smartcard in device /dev/ttyUSB0 handles requests for max 5 sids, 3 of which are df3, df4, df5, remaining 2 are auto assigned
#
#SMARTCARD SID ASSIGN : /dev/ttyUSB0 5 { 0df3,0df4,0df5 }

# Configure list of sids which are not to be handled by smartcard
# When omitted, all sids are allowed (or SMARTCARD SID ASSIGN list is allowed, if available)
# Don't use together with (fixed) SMARTCARD SID ASSIGN list; use one or the other, depending on which gives the shortest list
# Can work together with dynamic SMARTCARD SID ASSIGN list.
# Can work together with LOADBALANCE configuration (sids which are rejected will be automatically left out of the loadbalance)
#
#SMARTCARD SID REJECT: <device> { <sid1>, <sid2>, ... <sidn> }
#
# <device> is the reader devicenode
# { <sid1>..<sidn> } lists the sids that are to be rejected on the smartcard
#
#
#example1: smartcard in device /dev/ttyUSB0 should not handle requests for sids df3, df4, df5
#
#SMARTCARD SID REJECT: /dev/ttyUSB0 { 0df3,0df4,0df5 }

# Option to limit the number of sids active on a single smartcard within a given time period
#
# SID LIMIT: <device> <maxsids> <timelimit>
#
# example: handle max 4 different sids every 11 seconds
#
# SID LIMIT: /dev/sci0 4 11

# Option to overrule the number of sci devices to be opened
#
#SCIDEVICES: <number>
#
#example, don't open any sci devices
#
#SCIDEVICES: 0
#
#example, force 2 devices to be opened
#
#SCIDEVICES: 2
#
# When omitted, attempt to open an autodetected number of sci devices
# WARNING: restart is required before a new SCIDEVICES limit takes effect
# *Merry Christmas* from aff-board.com