Publishing details

Changelog

oscam (1.20-9201~r8974-ppa1~precise) precise; urgency=medium

  * [r8974]

    - nano01 detection for other providers than 0100:00006a too



  * [r8973]

    - Add more support for new nagra "seca3" cards
    - Secatype detection for 0100:00006a is now done on card init
    - Added detection of nano01 (new protection for premium content)
    - Auto disable controlwordchecksum if nano01 is in effect



  * [r8972]

    The -Wshadow and -Warray warning fix


  * [r8971]

    Corrected some warnings about smartreader.c

    Also set cmake warning list to higher level.


  * [r8970]

    reset the 4232H to max size off 512

    works better after all
    invalidate buffers on usb_reset


  * [r8969]

    Now emm en cd work's togheter lso on triple.

    triple sometimes still not 100 % ok.


  * [r8968]

    emm back ok for v1

    emm does work back on v1 . For v2 or triple emm must be off or card detect must be off. Still in process for improvement.


  * [r8967]

    A small correction with write lock


  * [r8966]

    Adapted smartreader protocol and default speed settings smartreader.

    The triple work's now by me with card detect on three cards on and is stable.
    The v1 also work's ok

    The v2  I'm curious needs report about that one


  * [r8965]

    - Tryfix SH4 internal reader (seems it needs frequency instead of Fi)
    - Some code optimalization (lesser unneeded calculations during init)



  * [r8964]

    add actual ConfigDir to oscam.version



  * [r8963]

    - Fix for internal readers, seems they all need Fi instead of F parameter!



  * [r8962]

    CCCam: Fix Videoguard unique EMM's


  * [r8961]

    add common coding rules for oscam



  * [r8960]

    revert 8951 & 8952
    sorry for this !



  * [r8959]

    Remove dead assignment




  * [r8958]

    Remove dead assignment




  * [r8957]

    config-reader: Prevent possible NULL pointer dereference.

    I don't think NULL dereference is quite possible here but let's
    make the clang analyser happy.

    The bug was found by gorgone's static analysis.


  * [r8956]

    stat: Remove useless check.

    rdr variable can't be null when the function is called.

    The bug was found by gorgone's static analysis.


  * [r8955]

    camd35: Fix wrong assumption.

    We can have client without attached reader if we are in this camd35
    code.

    The bug was found by gorgone's static analysis.


  * [r8954]

    ghttp: Prevent usage of uninitialized variable.

    pids variable can be left uninitialized if demux->ECMpidcount <= 0.
    pids is used as argument to cs_ddump_mask().

    The bug was found by gorgone's static analysis.


  * [r8953]

    cryptoworks: Fix use-after-free in emm reassembly.

    The bug was found by gorgone's static analysis.


  * [r8952]

    no codechange
    only set a common structure for all sub modules


  * [r8951]

    no codechange
    only set a common structure for all base modules


  * [r8950]

    Try-fix 2 ticket #3455


  * [r8949]

    Update for 'httphidetype' in documentation.


  * [r8948]

    Add PHOENIX dependency for STINGER card reader.

    STINGER card reader uses functions from Phoenix reader.


  * [r8947]

    Fix showing active conax entitlements

    On the last day when card is active (eg. on 30rd of the month, and when
    the entitlement date is also 30rd) the webif is showing 'no entitlements'.
    It should be to that date, including.
    The commit fixes this problem and also some timezone mess.

    When the tm_isdst was 0, then loaded entitlements was with DST correction
    thus leading to loading wrong dates (with hour corrections depending on
    entitlement date).
    The current date on webif was rounded to the whole day as UTC.

    Now active entitlements checks (status and entitlements pages) are all
    based on local time.




  * [r8946]

    Some cards/readers are a bit slow on responses, make sure flush handles it. Visible on i.e. card sending data after ATR.


  * [r8945]

    Add support for STINGER card reader.

    Patch by mckey128 posted in streamboard forum.

    Reference ticket #3459.


  * [r8944]

    Fix a typo: seconds per day

    24 hrs = 86400 secs, not 84600



  * [r8943]

    - Fix for external readers, they need FI not F (tnx Ni Hao for reporting / testing)
    - Enabled fix for overclocked T14 again (tnx Homesite for reporting / testing)




  * [r8942]

    - Cosmetic fix for DM7025 PLL reader



  * [r8941]

    Try-fix ticket #3455


  * [r8940]

    - Rework of card timings for all readers
    - Rework init of internal readers
    - Removed all dirty fixups (like conax ecmpairing / T14 overclocked)

    *** Report issues in forum ***



  * [r8939]

    - Revert of commit 8919: too many unwanted side-effects!



  * [r8938]

    Fix build r8936 when cacheex disabled

    Fixes tickets: #3453, #3454



  * [r8937]

    documentation: add information about 'httphidetype' parameter




  * [r8936]

    webif: add possibility to hide cacheex readers and proxies

    - httphidetype: letter x can be used to hide cacheex types
    original patch by amet




  * [r8935]

    - ratelimiter fix, in ecmuniquemode change of kind ecm may not occur within ratelimitseconds



  * [r8934]

    - added pincode to webif for seca and viaccess cas systems



  * [r8933]

    fix old stuff


  * [r8932]

    move some picon stuff


  * [r8931]

    - fix for cccam applying failban on communication errors during login



  * [r8930]

    Added new parameter 'cwcycle_allowbadfromffb' to documentation.


  * [r8929]

    Added new parameter 'umaxidle' to documentation.


  * [r8928]

    *fix a small ecm counting bug
    *added additional counting info to server-totals


  * [r8927]

    *revert wrongly commited config.h


  * [r8926]

    *added 2 missing but existing debuglevels to webif


  * [r8925]

    *no int cache decrease if cwc enabled
    *add additional cwc state in ecm log
    *add new option:
    [cache]
    cwcycle_allowbadfromffb       = 0/1

    if you set a fixed fallback reader and cwc detect a bad cycle from these reader, cwc ignores the bad state - because it seems sometime a new cycleturn started from playoutcenter


  * [r8924]

    griffin: Add support for caid 0x5502.

    Add yet another Griffin caid - 0x5502.


  * [r8923]

    Fix cacheex loopback problem when CWC on.
    See ticket #3428.


  * [r8922]

    add webif change for maxidle


  * [r8921]

    change maxidle (thnx hapepa)


  * [r8920]

    Fix big ram consumption in cacheex process.


  * [r8919]

    Tryfix for time on channel with dvbapi

    - Let the ecm handler do it for scrambled channels
    - Let dvbapi do it for FTA channels



  * [r8918]

    Client Max Idle -> User Max Idle
    http://www.streamboard.tv/wbb2/thread.php?postid=479288#post479288


  * [r8917]

    changed patch 8916

    Unturned the patch but this time with exact value for error management
    To avoid an removal of an perhaps ussefull check for other serial based readers. Note The tripple is ok but not on all pc's and devices with smargo protocol. On some it only is ok with 1 card


  * [r8916]

    Tripple 3 card detection

    Now Tripple three work's fine on all pc's with the three cards and smargo protocol


  * [r8915]

    - Tryfix for constcw used over share reader protocol -> ignore videopid and ecmpid to lookup right cw




  * [r8914]

    EMM-filter: When adding a new filter max_filter_count must also be increased, fix for r8912


  * [r8913]

    - Added streamtype 1B to videopids



  * [r8912]

    griffin: Improve EMM filter.

    It seems that it is possible to have both EMM types addressed at both
    shared addresses so extend the EMM filter to catch them.


  * [r8911]

    Added new option 'Video ID' to constantcw documentation.


  * [r8910]

    Added new parameter 'max_hit_time' to documentation.


  * [r8909]

    - Introduced videopid checking in dvbapi (needed for BISS)
    - While DVBAPI was parsing the PMT it added sometimes same ecmpid multiple times -> Fixed!
    - Unhandled ecm responses are now logged with more details

    - Enhanced module constant CW with provid, ecmpid and videopid checks

    Format constantcw file is now:

    CAID:PROVID:SRVID:VPID:ECMPID::XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX



  * [r8908]

    - add new parameter "max_hit_time" in [cache] section.
      Now:
      - max_time is only used to set time cws will stay in cache.
      - max_hit_time is used to set time cacheex hit will stay in hitcache for evaluating dyn wait_time.
      max_time default 15s.
      max_hit_time default 15s.
    - added "max_hit_time" to webif
    - added "fallbacktimeout_percaid" to webif
    - added "fallback_percaid" to webif
    - Some code improvements
    - Try-fix a bug causes random seg fault with cccam(extended) protocol.



  * [r8907]

    remove
    -max_count
    -max_cache_count
    -##MAXCACHECOUNT##


  * [r8906]

    Fix typo in 'oscam.ratelimit' documentation.


  * [r8905]

    EMM-filter: re-work of filter memory allocation, missing file


  * [r8904]

    EMM-filter: re-work of filter memory allocation


  * [r8903]

    - Tryfix for scenario that channel changes from fta to scrambled no prio applied



  * [r8902]

    - EMM reader filter[1] not in use: do_simple_emm_filter would fail -> fixed!
      this should fix conax emm filtering again, perhaps others too



  * [r8901]

    - Dont check emms on network readers, server with local cards will take care of that
    - dvbapi now checks each 30 seconds for reader changes and starts additional emm filters for it



  * [r8900]

    Added Single smartreader V2 endpoints

    Could solve reader type detection but think also some api info must be changed.
    Ter info do not use usb 3.0 port for smartreader.


  * [r8899]

    - Fix for oscam server instance do_simple_emm_filter



  * [r8898]

    - Rework of do_simple_emm_filter, it could block emms if not send by dvbapi



  * [r8897]

    - Reworked dvbapi filter setting



  * [r8896]

    Added new parameters 'fallbacktimeout_percaid' and 'fallback_percaid' to documentation.


  * [r8895]

    Ecm handler V11-9 patch.
    Details on forum: http://www.streamboard.tv/wbb2/thread.php?threadid=37989


  * [r8894]

    - Revert of tryfix ca_set_pid rev 8893, it causes tiny freezers on dm600pvr



  * [r8893]

    - Partial rewrite of process_input for ecms
    - More error handling on opening ca devices
    - If a certain ca device failed all next where skipped -> fixed
    - If a ca_set_pid failed for a stream it was never tried again -> tryfix
    - Some log cosmetics



  * [r8892]

    - Rework emm handling
    - More debug output emmfiltering and parsing



  * [r8891]

    Possible memleak fix.


  * [r8890]

    - Fix for no emm write at all (introduced rev 8887)



  * [r8889]

    Added prelim. support for ghttp fallback mechanisms + some cleanup.


  * [r8888]

    - If setting emm filter fails dont proceed like emm filter is added and active.



  * [r8887]

    - Fix for do_emm() not processing all au readers available



  * [r8886]

    griffin: Hide card address in EMM log lines.

    rdr_log_sensitive() was used correctly but the sensitive part was
    not marked as such.


  * [r8885]

    Remove unneeded memset call.

    cs_malloc() already zeroes the returned memory there is no need
    to call memset() on it just after cs_malloc().


  * [r8884]

    EMM-filter: It's not effecient to re-create filters every time but it reduces the complexity of trying to figure out when they need to be re-populated. Should fix betatunnel issues.


  * [r8883]

    Documentation update for 'pincode' parameter: valid for Viaccess SCs, too.


  * [r8882]

    - Fix for sh internal reader for cards like KDG G09



  * [r8881]

    - Fixed a typo in emm unique beta tunnel filter introduced in rev 8865



  * [r8880]

    EMM-filter: Fix breakage of Videoguard global EMM-filter, introduced in r8865


  * [r8879]

    fix readme typo


  * [r8878]

    EMM-filter: One more double increment of index in Irdeto filters, breakage introduced in r8865


  * [r8877]

    EMM-filter: Double increment of index in Irdeto filters, breakage introduced in r8865


  * [r8876]

    EMM-filter: Two EMM-filters per provider, breakage introduced in r8865


  * [r8875]

    EMM-filter: Fix breakage of Irdeto EMM-filter introduced in r8865


  * [r8874]

    EMM-filter: Fix breakage of Seca EMM-filter introduced in r8865


  * [r8873]

    Revert r8871 and r8872, don't try to fix code by breaking it even more


  * [r8872]

    - Tryfix proper emmfilter system fix (not only seca cas was broken!)



  * [r8871]

    - Fix for broken seca emm filtersystem



  * [r8870]

    Added configuration file 'oscam.ratelimit' to HTML documentation.


  * [r8869]

    Added new configuration file 'oscam.ratelimit' to documentation.


  * [r8868]

    Conax: Add support for multiple shared address's in emm_filter


  * [r8867]

    EMM-filter: Don't break on first non masked filer and consider full EMM-filter


  * [r8866]

    Conax: Apply a more relaxed emm-filter, partial fix for #3413


  * [r8865]

    EMM-filter: First part of #3415
    * use struch instad of uint8_t array
    * Allocate filter only once
    *Removed limitation of number of filters since it is handled in module-dvbapi.c


  * [r8864]

    - Move ratelimiter messages to right debuglevel (-d1 / D_TRACE)



  * [r8863]

    - Added srvid individual ratelimit params support (oscam.ratelimit)

    more details in forum!



  * [r8862]

    Conax: Partial support for card with multiple shared address's


  * [r8861]

    Conax: Shared address is potentially sensitive information


  * [r8860]

    enlarge CS_MAXTUNTAB to 100


  * [r8859]

    change label from / to -


  * [r8858]

    - Some fixes for pure ratelimit mode
    - Fix for broken cooldown / cooldown delay



  * [r8857]

    bulcrypt: Set the type of 0x85 and 0x8b EMMs to GLOBAL.

    0x85 and 0x8b EMMs update subcription package status and it makes
    sense to use different type than 0x84 EMMs which update card keys.

    This allows fine grained blocking.


  * [r8856]

    fix warning: no newline at end of file


  * [r8855]

    - Stop throwing close error if fd is bad (already closed!)
    - Free ecm request if it dont reach request cw stage in dvbapi
    - DVBAPI Requestmode 1 small fix
    - Rework of stop filter, now its analogue to start filter
    - On camask change dont setup additional demuxer but replace camask on already running demuxer



  * [r8854]

    bulcrypt: Fix handling of 0x85 and 0x8b type EMMs.

    Previously these EMMs were handled like unique EMMs which was
    incorrect. The right way is to handle them as SHARED EMMs.

    Original patch by woooow @ satsupreme.


  * [r8853]

    - Fixed an error in ecmunique of ratelimiter



  * [r8852]

    - Added ratelimiter parameters to webif of proxy readers setup



  * [r8851]

    - Move ratelimiter out of oscam-chk
    - Rework of ecmunique (tnx Blueven for pointers!)
    - Ratelimiter can now be applied on proxy readers

    To Do:

    - Add ratelimitparameters for proxyreaders to webif

    For now just manual edit the ratelimit parameters of proxy readers in oscam.server



  * [r8850]

    - ECM unique stop replacing md5 hash (gives issues in ecmhandling!)
    - Added some remarked code that gives back controlword to new ecm of registered ecm in slot




  * [r8849]

    - Simplify chid filtering code
    - Besides irdeto chid, use fakechids too (if available for that caid & cas)



  * [r8848]

    - Recoded the stop_filternum, now its analogue to dvbapi_set_filter
    - Some fixes for requestmode 1



  * [r8847]

    enable groups for reader & user


  * [r8846]

    - Added CA PMT Server LIST_MORE object (tnx Gorgone for extensive testing!)
    - Several logoutput cosmetics so logoutput can be analyzed easier
    - Fix for IPBOX in PMT mode (tnx Starbuck for reporting & testing!)
    - Reworked CA PMT Parsing (fixed multichannel decoding tnx Jeti08 for reporting!)
    - Removed some old PMT mode 6 dirty fixes (obsolete!)
    ... report new (and old) issues in forum ...




  * [r8845]

    Fixed missing typo in 'httpallowed' documentation.


  * [r8844]

    - Tryfix for camd.socket CA PMT command LIST_UPDATE updating wrong demuxer




  * [r8843]

    Fix typo.


  * [r8842]

    Added new detault values for 'httpallowed' to documentation.


  * [r8841]

    - fix compile error



  * [r8840]

    add 2 new vars
    ##READERICON## class="readericon"
    ##READERTYPEICON## class="readertypeicon"



  * [r8839]

    Added 10.0.0.0 range to default http allow.


  * [r8838]

    remove unneeded picon_exists init



  * [r8837]

    - More fix for camd35 udp connections tnx Bruty for testing and reporting!



  * [r8836]

    - Rework of ecm response handler
    - Enabled and reworked the ecm response checks
    - Added error handling on sectionfiltering
    - Added error handling to stop filtering on stapi devices
    - Several logoutput changes
    - Fixed ca index + setting ca pid for neumo devices



  * [r8835]

    The stupid clang compiler wrongly warns about possibly uninitialized variable. Shut it up anyway.

    For more info:

    http://www.streamboard.tv/oscam/ticket/3404#comment:5


  * [r8834]

    webif: Fix IPv4 fallback when IPv6 is not available.

    If IPv6 support was enabled but available the WebIf failed to fallback
    on using IPv4.

    This fixes ticket #3404.


  * [r8833]

    - Fixed a lost POLLPRI for listenfd (this might fix glitching on less powerfull receivers!)



  * [r8832]

    - Removed code that deletes pmt files on stapi devices
    - Added filter patch of Deepthought for neumo devices
    - Reset retry on valid cw found
    - Changed hardware demuxer open mode to O_NONBLOCK (Experimental!)
    - Some code cosmetics



  * [r8831]

    Added new ecmfmt parameter 'g' and 'j' to documentation.


  * [r8830]

    - Added errorhandling to section filtering
    On error remove the filter complete to prevent blackscreen



  * [r8827]

    - Reduce dvbapi spamming of log (only output if something changed in emm or ecm filters)
    - Only start new emm cat request if no request was started before
    - More stapi dvbapi logoutput (usefull to track stapi issues)
    - PMT parsing fixes for stapi in attempt to fix parsing in standby (experimental)
      Now only found pmt files are parsed that have S: lines defined in oscam.dvbapi




  * [r8826]

    fix for emm cccam protocol

    This could fixe ticket #2237

    The auto add off auprovid into cccam has been removed.
    Manual add is still possible


  * [r8825]

    build fix 8822 for cacheex and cycle check
    thx. gorgone.




  * [r8822]

    Enriching ecmfmt. Following parameters can now additionally be used:
    g = origin peer
    j = distance
    These parameters are useful for card sharing protocols. Origin peer contains
    the ID of the requesting party which sends the ECM. Distance is the number of
    intermediate hops which the ECM has taken.
    The default:c&p/i/s/l:h has not been changed.




  * [r8820]

    camd35: Prevent crashes caused by broken/evil packets.

    It's very bad idea to copy buffers around depending on sizes provided
    by user supplied data.


  * [r8819]

    WebIf: Fix for Textarea editor in FILES. Right size of font.
    New Table "Reader services settings" in config for Readers (Thank stefansat)


  * [r8818]

    set file editor font-size to 10px


  * [r8811]

    griffin: Add yet another caid in griffin reader - 0x5509.


  * [r8810]

    Small correction for link to helpserver off lb_whitelist_services


  * [r8809]

    fix warn


  * [r8808]

    fix uppercase


  * [r8807]

    add webif var ##STATUSUSERICON## with class statususerpicon
    extra function on-click edit User / Reader



  * [r8806]

    add new webif var ##OSCAMLOGO## class oscamlogo


  * [r8805]

    fix icon kill to restart icon (thnx BIT)
    add new webif var ##PROTOICON## with class protoicon



  * [r8804]

    prepare global tpl-icon usage



  * [r8803]

    patch for neutrino HD error


  * [r8802]

    and link excec adapted


  * [r8801]

    some extra link adaptations


  * [r8800]

    Solved a missed type about shell 32

    Bloddy hell that I mised that thank's Admin and


  * [r8799]

    Correct settings for reset css style


  * [r8798]

    Cmake list-smargo again dependent on Main CMakelist

    Now it's tested and does work as well into larger bitbake project


  * [r8797]

    WebIf: Clear css.css and fix for TABLE.invisible.


  * [r8796]

    WebIf: Clear css.css - Optimize size of file from 7 865 bytes to 6 999 bytes


  * [r8795]

    New table for "Reader services settings" in Reader Config


  * [r8794]

    Fix for last TD only for Table in "Loadbalance statistics for reader"


  * [r8793]

    Fix in last TD in "Loadbalance statistics for reader"


  * [r8792]

    unfortunately it does not work with all toolchains

    reverting back to old cmake


  * [r8791]

    typo off 8788 should be fixed

    found a typo concerning librt corrected this


  * [r8790]

    revert 8788

    Curious that its not working on all systems while it does on mac dream mips
    all linux distro's and stm24


  * [r8789]

    Fix some typo´s.


  * [r8788]

    List_smargo now depends on Main CMakelist.txt

    Was already proposed by gf long time ago but in that time the possibility to build list_smargo with cmake as independent package was needed.
    Now anymore.


  * [r8787]

    Fix some typo´s in Edit Services.


  * [r8786]

    Fix for "make defconfig" not activating ghttp module.


  * [r8785]

    WebIf: Enlarge maximum input length for aes keys. Another tryfix for a compiler warning.


  * [r8784]

    Add surencryption for TNTSat HD. Note that you need to define the right AES key for it to work (at position 12, see forum).
    WebIf: Small fix for a compiler warning with newest clang version.


  * [r8783]

    cosmetic adaptation off services , lb whitelist services


  * [r8782]

    Adapted services and lb_whitelist_services

    Now the services and lb_whitelist services are next to each other in webiff
    With this the web if reader config page is not longer as it was before


  * [r8781]

    Forgot to add the sidlbokbit html


  * [r8780]

    lb_whitelist_services added to webif


  * [r8779]

    new fake chid for caid 4AXX


  * [r8778]

    Updated 'numusers' and 'penalty' in 'oscam.user' documentation.


  * [r8777]

    Changed wrong comments added in 8776


  * [r8776]

    limit the 4AXX chid change info to 4AEE and 4A02


  * [r8775]

    the chid info into oscam-ecm.c was wrong for 4AXX caid's

    Untill the correct chid value can be obtained from ecm hash,
    This value must remain at 0000


  * [r8774]

    Same fix as r8773, but for webif.


  * [r8773]

    Fixed r8772 not compiling without dvbapi.


  * [r8772]

    Allow starting without oscam.conf if webif is available.


  * [r8771]

    - Add datefix for viasat Ukraine 0931 cards

    (You still need right boxkey before card starts decoding!)



  * [r8770]

    - Tryfix for camd35 connection timeout in case of only send traffic and no receive traffic



  * [r8769]

    Removed the hardcoded reading of max 20 nagra card tiers




  * [r8768]

    Moved b64decode to oscam-string (to match b64encode and allow its future use without webif).


  * [r8767]

    changed lb into the loadbalancer


  * [r8766]

    lb_whitelist_services added to docs

    fixes ticket #3377


  * [r8765]

    - Fix for pixalization / freezes on pmtupdate tnx BurnMasterRecords for reporting and testing



  * [r8764]

    lb_whithelist_services is working for all readers

    so ok revert 8763


  * [r8763]

    lb_whitelist_services

    This parameter will not be erased anymore when saving readers. It still needs to be integrated to set it from web iff . That's for later


  * [r8762]

    Cryptoworks: Fixed incorrect entitlements, only visible in webif


  * [r8761]

    reverting 8758 and 8760

    The two extra chid info is reverted, As it does interfeer with lb.
    For caid othet then those for nagravison s03 cards is different
    under investigation sorry could not now that


  * [r8760]

    forgot some sections in dvbapi.c for chid info


  * [r8759]

    Cryptoworks: Fixed #3232, bad detection 0x86 EMM-Share Header EMM-SB


  * [r8758]

    added nagra chid info

    this info is correct  for all nagra/seca based cards when using the nagra pid


  * [r8757]

    Cryptoworks: Fixed spelling error in log


  * [r8756]

    Update documentation for penalty: disable to ban.


  * [r8755]

    ticket #3370

    No retry of ecm after a bad card response


  * [r8754]

    ghttp: better handling of login failures.


  * [r8753]

    ghttp should now be mature enough to be included in the build by default.


  * [r8752]

    ghttp autoconf: fixed missing group for auto-created readers.


  * [r8751]

    Brute patch ticket #3370

    Sending decoding cw after a fake or unsubscribed ecm seems to avoid the need off card reset after many off them.


  * [r8750]

    Tempo patch ticket #3370

    This will avoid double sending off fake ecm's with 96 00 card response
    Who so triggered the card's A/I cause they by passed rate limiter.


  * [r8749]

    Finalized ghttp autoconf.


  * [r8748]

    Dump work in progress on dvbapi modules

    - Fixed chid prio without force
    - Restored channelcache chid I removed before
    - Channelcache chid now overrules oscam.dvbapi prio chid
    - Pids without status / prio start in second descramble run, not in first
    - Tryfix stapi starting up streamfilters in standby



  * [r8747]

    Work in progress: Added an autoconfig page for ghttp to the webif.


  * [r8746]

    revert 8705 cleanup

    As this patch brings nothing for tvv or telesat and so just complicates
    the source I reverted it


  * [r8745]

    - Tryfix NDS for mca -> added controlword checking code before writing into ca more like the one used in module-dvbapi.c



  * [r8744]

    - Fix for not working mca device by DirtyHarry123



  * [r8743]

    Fixed a potentially significant mem leak.


  * [r8742]

    forcepriofixpatch from theparasol

    fixes ticket http://www.streamboard.tv/oscam/ticket/3361


  * [r8741]

    Moved parsing of the private enigma descriptor to it's proper place (now works even if it isn't first).


  * [r8740]

    Revert r8710 since it give problems with ATR reading in some cases


  * [r8739]

    Add support for SU980 (Hypercube) which is the first ARM box running enigma2.

    Get more information from:
    http://www.cynextra.com/en/receiver-HD/Golden-Media-Hypercube/

    The toolchain can be downloaded at:
    https://www.dropbox.com/s/prsx9ghk3c90h98/Toolchain-cross-arm-cortex-linux-gnuebi.tar.bz2

    Patch by: Archer Zhao <email address hidden>


  * [r8738]

    patch send ecm if connected


  * [r8737]

    Work in progress: Proper ssl init + minor fixes.


  * [r8736]

    - Added sectionfiltering for stapi devices (experimental)
    - Fixed clearing demuxer in pmtmode 0
    - Fixed maintain and respect order of forced prios in oscam.dvbapi




  * [r8735]

    - Fixup for commit 8734



  * [r8734]

    - Fixed oscam.dvbapi irdeto forced prio line without chid
    - Fixed irdeto cards that needs emm first before they can descramble
  * Make sure to check box needsemmfirst box in irdeto section of reader setup
    - Fixed rety after timeout



  * [r8733]

    documentation: add IPv6 localhost (::1) to httpallowed example

    Reported by ack006 in trac ticket #3357



  * [r8732]

    csp 0.8.9 (default: 400). This is CWS_NETMSGSIZE. The old default was 240
    long ecm


  * [r8731]

    videoguard: Add Sky Mexico (095B) description.


  * [r8730]

    dre: Add complete list of caids.


  * [r8729]

    Work in progress: Added GHttp cleanup.


  * [r8728]

    ghttp: Fix warning.

    This fixes:
    > module-ghttp.c: In function 'module_ghttp':
    > module-ghttp.c:553:14: warning: assignment from incompatible pointer type [enabled by default]
    >   ph->c_capmt = ghttp_capmt_notify;
    >               ^


  * [r8727]

    ghttp: Prevent warnings about shadowed variables.

    This fixes:
    > module-ghttp.c: In function '_ssl_connect':
    > module-ghttp.c:38: warning: declaration of 'socket' shadows a global declaration
    > /usr/include/sys/socket.h:615: warning: shadowed declaration is here
    > module-ghttp.c: In function '_is_post_context':
    > module-ghttp.c:205: warning: declaration of 'remove' shadows a global declaration
    > /usr/include/stdio.h:285: warning: shadowed declaration is here


  * [r8726]

    ghttp: Prevent use of uninitialized variable.

    If cs_malloc() fails 'existing' variable is left uninitialized.


  * [r8725]

    Added 'use_ssl' parameter for Ghttp protocol to documentation.


  * [r8724]

    Work in progress: More GHttp adjustments, avoid some compiler warnings.


  * [r8723]

    nNewcamd patch send er->ecmlen for long ecm



  * [r8722]

    newcamd  no large ecm support patch


  * [r8721]

    Patch long ecm
    size ecm max + header max newcamd 12


  * [r8720]

    Re-arranged some variabels. Saves a few bytes of memory for each reader if compiling without cardreaders.


  * [r8719]

    smargo: Implement set_parity to make sure correct parity is set after ATR is read. Fixes #3353


  * [r8718]

    smargo: Some more cleanup


  * [r8717]

    pcsc: Fix an error in pcsc reader.

    This fixes ticket #3349. Original patch was posted by enigma13.


  * [r8716]

    irdeto: Add another Raduga card to the list of base dates.

    Patch by atl.


  * [r8715]

    Cleanup

    static uint32_t get_subid moved from module-stat.c to oscam-ecm.c


  * [r8714]

    Added chid info to all client requests

    Now the chid info is added to all incoming client requests
    like done in module stat. Does make the specific 0100 and 0500 chid
    add unneeded. For some caid this info is not known in module stat and then justlike before should be 0.


  * [r8713]

    Work in progress: Ghttp ssl typo fixed. Added some missing webif parts .


  * [r8712]

    smargo: Cleanup/Code re-use


  * [r8711]

    Work in progress: Ghttp fixes for multi-tuner/pip + another attempt at proper locking.


  * [r8710]

    smargo: Reset sequence optimized


  * [r8709]

    max_clock_speed scope to wide in r8707


  * [r8708]

    Work in progress: Added a (optional) mechanism for readers to receive notifications about tuning changes from dvbapi. Cleaned up ghttp and added the missing pieces (pmt command, ssl, hopefully proper locking).


  * [r8707]

    Fixed missing scope for max_clock_speed


  * [r8706]

    Added the chid calculation to all 0100 and 0500 caid's

    I noticed that sid calculation is ussefull for all 0100 not only 6a,6c,6d
    For 0500 it's also ussefull.

    It's at base only give extra info about the ecm in log and thank's to this info it's possible to block ecm trough whitelist. Whithout it blockage trough oscam.whitelist does not work.


  * [r8705]

    Same rules off 6a do apply for 6c and 6d

    This avoids a lot off fake or non working ecm to 6c and 6d card's


  * [r8704]

    Added quickfix for 6c and 6d like it is on 6a.

    Now fake ecm can be blocked trough whitelist.
    Then these will not trigger ecm rate limiter or A/I of card.


  * [r8703]

    - next series of patches for dvbapi modules




  * [r8702]

    revert svn 7000


  * [r8701]

    Fixes long-ecm for all provider and swap_index dcw (current_id dcw_idx)


  * [r8700]

    Patch for long-ecm


  * [r8699]

    Flipped the byte order of the previous fix to make it backwards compatible with more of the old builds (big endian hw likely to be the minority).


  * [r8698]

    Avoid recalculation of gbox ECM crc. This should fix some betatunnel issues.
    Patch suggested by felixka.





  * [r8697]

    Same csp_hash byte order fix, but for cacheex over camd35.


  * [r8696]

    Fix possible byte order issue with csp_hash affecting multiple oscam nodes with different hardware, when using cacheex over cccam protocol.


  * [r8695]

    Work in progress dvbapi

    - Fixed PMT Mode 0 (shut off pmt files if camd.socket is in use)
    - Fixed Irdeto cas box >1 hour standby needed zapping to start descrambling
    - Tryfix oscam.dvbapi Join and mapping broken as reported by MartiniB -> plz test!



  * [r8694]

    Work in progress on dvbapi fixes:

    - Fixed a race condition that could restart all ecmpids before they were checked
    - Fixed betatunneling caid cw request that was blocked by matching reader check
    - Fixed irdeto handling
    - Fixed behaviour in case of timeout answers on ecmrequests

    As usual, keep reporting issues in forum so we can attempt to fix it!



  * [r8693]

    Added new paraemeter 'csp_allow_reforward' to documentation.


  * [r8692]

    webif: Allow webif to start when IPv6 is enabled but unsupported.

    The logic for falling back to IPv4 if IPv6 socket creation failed
    was not working, which prevented webif from starting when IPv6 support
    was enabled in the build but the kernel didn't support IPv6.

    This fixes ticket #3348.


  * [r8691]

    - Fixed a typo in lastemm for irdeto cas (1 hour = 3600 sec)
    - PMT6 mode doesnt use camd.socket so why start it (!)



  * [r8690]

    dvbapi overhaul update:

    - Fixes for irdeto cas handling (tnx Gismo2004 for testing and reporting)
    - Before ecm is requested we check again if there still is a matching reader
    - Fixes for dm500 ppcold (cant do section filtering / no correct return on ioctls)
    - No more attemps to start descrambling on FTA channels
    - Local irdeto cards need a valid emm update in last 60 minutes before ecms are asked
    - On failing irdeto ecmpid disable emm filters for it (requested by Bruty)




  * [r8689]

    Fixed typo.


  * [r8688]

    Fixed copy/pasted webif template name for reforward setting in r8685.


  * [r8687]

    - hide debug spam



  * [r8686]

    - fix "fake CAT" on free4air channels



  * [r8685]

    Added csp setting: allow_reforward (default 0, no). Reforward other cacheex updates to csp peers (use with care, will cause loops).


  * [r8684]

    Updated documentation for gbox TCP -> UDP.


  * [r8683]

    Removed 'decodeforever' from documentation.


  * [r8682]

    - Tryfix azbox support
    - Fix dvbapi part on latest code analysis posted by Gorgone



  * [r8681]

    - Fix for conax PairingECMRotation issues

    The ATR doesnt report correct WI, perhaps since it should only work in certified boxes and they know how to handle.
    Tnx to Andyou for reporting and testing!



  * [r8680]

    - Added CA PMT Server support (PMT6: PIP on DM7025 reported to have issues)
    - Revised the ecm requesting and ecm response handling
    - EMM start and handling changed (now emm on expired cards and FTA channels)
    - Revised the handling of controlwords (using wrong index should not happen anymore)

    Reopenonzap:

    Some users report that VU+ boxes needs this checked otherwise issues after a timeout response

    This patch is checked by many regular users of streamboard and considered trunk ready.
    If you have issues, please report them here:

    http://www.streamboard.tv/wbb2/thread.php?threadid=37943





  * [r8679]

    adjust a few more text alignments in web-if


  * [r8678]

    fix some typo´s - see #3324. tnx to skyndas


  * [r8677]

    Allow for larger ping regs/replies (possible multics fix).


  * [r8676]

    Added csp cache peer ping times in webif (mode column). E.g: csp (12 ms). Will be shown for all csp cache peers with confirmed working bidirectional traffic.


  * [r8675]

    Documentation update for 'ecmfmt': new option ONID.


  * [r8674]

    Documentation update for CSP: TCP -> UDP.


  * [r8673]

    Added new parameter 'lb_nfb_readers' to 'oscam.user', now TXT and HTML Format, too.


  * [r8672]

    Added new parameter 'lb_nfb_readers' to 'oscam.user'.


  * [r8671]

    Documentation update for gbox port definitions.


  * [r8670]

    cosmetics: fix MHz spelling

    Hertz is a unit from SI and need to preserve a correct case (http://en.wikipedia.org/wiki/SI_derived_unit)




  * [r8669]

    Added the last request type used by csp clusteredcache and cleaned things up a bit. Further discussion/testing needed proceed.


  * [r8668]

    Skip push to csp if source is remote cacheex for now (might cause loops). Added sending of cache pings.


  * [r8667]

    Fixed debug logging that wasn't platform independent


  * [r8666]

    Completed support for incoming udp cache updates from csp and added experimental outgoing push (untested)


  * [r8665]


    a) Fixed bug in hello logic: start counting card number at 0 again after hello packet send
    b) Switch to next state only after last packet




  * [r8664]

    - Reverted by accident LB viaccess ecmpid fix of 8660 -> recommitted



  * [r8663]

    - LB Tryfix9 for details see here: http://www.streamboard.tv/oscam/ticket/2682



  * [r8662]

    Enable sharing of cards from local readers and cccam proxy readers into the
    gbox network.
    Please refer to the following thread:
    http://www.streamboard.tv/wbb2/thread.php?threadid=37309

    Config changes:
    oscam.conf now contains the server port of gbox
    Example:
    [gbox]
    ...
    port = 1234
    ...

    That means that the second port in devices in oscam.server is obsolete
    Example:
    [reader]
    ...
    protocol = gbox
    device = 192.168.1.2,9876
    ...

    The gbox_local_cards statement in oscam.conf has also become obsolete.
    In case of errors please reduce the number of cards by various filtering
    mechanisms (e.g. caid)




  * [r8661]

    extend group inputfield length in web-if. fixes #3329


  * [r8660]

    - LB Fix for viaccess multiple ecmpids on same caid/provid

    For other cas systems this was already fixed but not for viaccess.
    Now in case of caid 0x500 ecm[8] & ecm[9] is put into chid of stats.
    That way a not found on a certain ecmpid cant trigger srvid blacklisting.

    ecm[8]/ecm[9] isnt extensive tested so in case of issues report in forum!



  * [r8659]

    - Removed check on min ecm count consecutively when oscam re-start and after retrylimit reached
    - Improved handling of retry limit in mode 2 & 3

    More info in this ticket http://www.streamboard.tv/oscam/ticket/2682

    Tnx Blueven for providing patch



  * [r8658]

    - More fix for radegast protocol tnx goodsat for patch



  * [r8657]

    - Fix for connection timeout after EMM is send over cs378x

    Tnx to skyjet for patch



  * [r8656]

    - Revert 8655 (loadbalancer knocking failed srvids on readers once)
    - Add new parameter in reader setup lb_whitelist_service
    tnx to Blueven for providing patch



  * [r8655]

    Loadbalancer:

    One fast retry of a srvid on a reader that failed before if no matching readers were found.
    If srvid fails again failfactor*reopenseconds are enforced on further no matching reader situations.

    Tnx to Blueven for providing additional patch, report issues in forum!



  * [r8654]

    webif: HTTP header fields must be compared case-insensitive.

    According to http://tools.ietf.org/html/rfc2616#section-4.2

    > Each header field consists of a name followed by a colon (":") and
    > the field value. Field names are case-insensitive.

    This fixes ticket #3323.


  * [r8653]

    deleted unused file


  * [r8652]

    - Fixed a typo in webif antics config pages -> tnx Skyndas for reporting!



  * [r8651]

    - Fixed a typo in webif readerstat pages -> tnx Skyndas for reporting!



  * [r8650]

    - fixed compiler warning



  * [r8649]

    - Implemented "expected len" for T0 protocol: This dramatically accelerates card responses in coolstream internal reader, e.g.:
    	-> G02/G09 (0x09C7): 50ms (before: 80ms)
    	-> V13 (0x09C4): 120ms (before: 260ms)
    	-> V14 (0x098C): 70ms (before: 150ms)
    	-> V23 (0x098E): 110ms (before: 210ms)
    	-> ORF (0x0648): 95ms (before: 250ms)
    	-> ORF (0x0D05): 230ms (or even 125ms with mhz=1000) (before: 300ms)
    	-> ... and so on. All T0 cards should be perceptibly faster.
    - expected len for T1 and T14 are 0 which means its unknown (feel free to implement it if you know how to calculate expected len)
    - removed cool_timeout_init and cool_timeout_after_init. Both were a workaround and are no longer needed after this commit.



  * [r8648]

    - Loadbalancer fix for lb_value=0 problem tnx Blueven for providing patch



  * [r8647]

    - Init ecm rc status to E_UNHANDLED



  * [r8646]

    - Radegast longecm support tnx Goodsat for providing the patch!



  * [r8645]

    - Add LBFix5 patch from Blueven



  * [r8644]

    griffin: Add 0x5506 to the list of supported CAIDs.

    Patch by BigGyros posted in ticket #3812.


  * [r8643]

    - Enhanced the ratelimiter ecmunique with odd/even cycle check



  * [r8642]

    Added 'lb_nbest_readers' and '_nbest_readers_tab' to 'oscam.user' documentation. Removed 'lb_reopen_mode' from documentation.


  * [r8641]

    - implemented PPS for coolstream internal reader



  * [r8640]

    - Loadbalancer rework by Blueven
    Report issues in forum or this ticket:

    http://www.streamboard.tv/oscam/ticket/2682



  * [r8639]

    Revert part of 8637 (see ticket 3307)



  * [r8638]

    Poll() could be interrupted-> the timeout should be lowered with time lost due to interrupt



  * [r8637]

    - Rework of poll() to reduce cpu load
    - Additional logging output of events

    Tnx to braini666 for testing and reporting (cpuload dropped from 21.4% to 16.1%)
    Hope it doesnt break anything, if so plz report issues in forum!



  * [r8636]

    Small C&P fix


  * [r8635]

    Allow socket reuse in more places to prevent "bind failed" on restarts. Add TCP_USER_TIMEOUT on all connections for systems that implement it. This disconnects users who do not ACK packages within 60s (but they should be caught by the keepalive settings anyway; just to be on the safe side).


  * [r8634]

    Loadbalancer patch provided by Blueven
    More info and new issues report here:
    http://www.streamboard.tv/oscam/ticket/2682



  * [r8633]

    Do not free additional cardreader data for sc8in1 readers on reader close/restart as this data is shared between multiple sc8in1 readers.


  * [r8632]

    Shutdown and close server ports on OSCam exit.


  * [r8631]

    Corrected setup trough web-if from reshare value oscam.

    now -1 also possible. With this it's possible to again set resharing strictly based on reader and or account setting's. Now a specific reader can be eccluded into cccam reshare by having reshare -1 in global and -1 (or blank by reader self)


  * [r8630]

    Changing cccam default reshare_mode to 4

    does reduce unwanted reshares in cccam.


  * [r8629]

    Some improvements for betatunnel ecm & emm handling


  * [r8628]

    - some more improvements in settings timeout values for coolstream internal reader



  * [r8627]

    fix zero part detection


  * [r8626]

    - This commit implements setting timeout values for coolstream internal reader.
    - The cnxt driver sets values of its own but setting them manuelly makes us more independent from buggy drivers.
    - For Coolstream STB this or newer revisions are mandatory for most cards since original image V2.12 beta6 because the new driver sets strange values -> no communication possible.
    - It adds support for some cards which didn't work before, e.g. caid 0x09AF (Telecolumbus).

    - This commit is probably also highly interesting for the Golden Media Hypercube (uses CNXT drivers as well) because it currently has a crappy card support. With these changes all cards should work in the Hypercube.



  * [r8625]

    dvbapi: Fix format string used in sscanf().

    Use the correct format string for int16_t.
    {{{
    module-dvbapi.c: In function 'dvbapi_read_priority':
    module-dvbapi.c:1222:3: warning: format ‘%x’ expects argument of type 'unsigned int *', but argument 7 has type ‘int16_t *’ [-Wformat=]
       ret = sscanf(str1, "%4x:%6x:%33[^:]:%4x:%4x", &caid, &provid, c_srvid, &ecmpid, &chid);
    }}}


  * [r8624]

    Decoupled betatunnel functionality from module-stat (loadbalancer).
    Small adjustment/improvement of the betatunnel service-id bypass introduced in r8577, r8597. Previous version caused problems on certain STBs.


  * [r8623]

    - fix compiler warning



  * [r8622]

    - fix for ignoring irdeto chids
    - fix prioritizing/ignoring for irdeto chid 0



  * [r8621]

    css.css - fix missing row for TD.usercol23. tnx to skyndas!


  * [r8620]

    log: Skip seconds when logging to syslog.

    Logging to syslog tries to cut unneeded information from the log
    line but misses the seconds, so actually the text that reaches
    syslog looks like this:
    {{{
    Apr 16 09:44:24 gf oscam[9637]: :24        0 s >> OSCam <<  cardserver started, version 1.20-unstable_svn, build r8619 (x86_64-slackware-linux)
    }}}

    After this patch the seconds are correctly skipped and logged lines
    look like this:
    {{{
    Apr 16 09:47:26 gf oscam[1438]:       0 s >> OSCam <<  cardserver started, version 1.20-unstable_svn, build r8620 (x86_64-slackware-linux)
    }}}


  * [r8619]

    Add expiration date to userlist.


  * [r8618]

    pcsc: Init structures to prevent errors.

    Zero pcsc structures that are on the stack before sending them to
    pcsc library. This prevents possible strange errors like the one
    discussed in ticket #3276.


  * [r8617]

    Move messages about skipped readers to debug level 1.

    If more than one reader exist in a system these messages are misleading,
    the problem solved in r8616 is still there. If user have one reader
    and client with the same username, when oscam is upgraded from old version
    (< r7210) the reader would stop being matched and the user would have no
    idea why, unless it turns on debug level 1.


  * [r8616]

    Make it clear that block_same_XXX is in effect.

    After upgrading from 7068 to latest trunk (8615), oscam started returning
    "no matching reader". I scratched my head a little bit then turned on
    debug 1, saw error vague message, grepped in the source and found out
    that block_same_name was in effect (my user was named srg and the reader
    was named srg).

    This commit makes the error message better and shows it instead of hiding
    it behind D_TRACE log level. This prevents others from burning themselves
    and left wondering why their reader is not matched when they upgrade to
    newer oscam version.


  * [r8615]

    Udpate 'blockemm-bylen' documentation.


  * [r8614]

    Extend blockemm-bylen setting to support ranges.

    This extends blockemm-bylen setting to support numeric ranges. If the
    second value is omitted, the maximum possible value is assumed.
    e.g. blockemm-bylen = 1-5,10-40,67-90,93-

    Patch by manu posted in ticket #3275.


  * [r8613]

    Replace blockemmbylen array with a dynamic list.

    This converts the static blockemmbylen array with a maxium of 10 entries
    to a dynamic list. The list won't be initialized if the setting is not
    used.

    Patch by manu posted in ticket #3275.


  * [r8612]

    griffin: Add more caids.

    Griffin CAS uses a lot of CAIDs (unrgistered with dvb authority by
    the way). In order for dvbapi client to activate the filters
    get_cardsystem_by_caid() must be able to find the reader and it
    does that by looking at csystem.caids[].

    This commit should fix ticket #3282.


  * [r8611]

    Don't hardcode 2 as the maximum number of caids per card system.

    This would allow painless increase of the caids per card system (for
    example griffin reader needs more than two).


  * [r8610]

    Revert 8609 -> broken dvbapi on some/many/most boxes...



  * [r8609]

    - Poll() rework module dvbapi
    - Moved emm filter start after ecm start (speed up decoding I think!)



  * [r8608]

    Corrected doc about use off cccreshare in oscam.user


  * [r8607]

    Corrected doc about use off reshare and cccreshare parameter


  * [r8606]

    Revert recent changes to oscam-work (8598, 8599, 8603) -> need more testing!



  * [r8605]

    removed the quite about the openssl library used
    Then users can see the real libray's they are using if
    target root dir is set


  * [r8604]

    Initialize mutexes and cond variables.

    Don't assume that clearing the phread_mutex_t and pthread_cond_t variables
    to zero is enough to consider them initialized. Use proper initialization
    functions.


  * [r8603]

    Tryfix#2 Poll in oscam-work, hope this fixes segfaults as reported in forum



  * [r8602]

    Quickfix compiler issues without dvbapi module enabled



  * [r8601]

    Killing DVBAPI client triggers a segfault if emms are being processed.
    A killed dvbapi client can only be restarted by starting oscam again, so it doesnt make any sense.
    This protects users from accidentally killing a dvbapi client from the webif.



  * [r8600]

    Tryfix CDS NL select right reader by ecmpid

    - Added additional check by comparing ecmpid of dvbapi to right cardtype

    (First time oscam needs to send ecm to discover cardtype in reader. Once its known this ecmpid check will be effective!)



  * [r8599]

    Partly revert 8598: hangup signal was already handled!



  * [r8598]

    Returnstatus -1 of POLL() is not timeout, its error... 0 = timeout!

    - Added more specific statuslog output from the workthread
    - Added additional kill conditions, why keep clients in error or hangup state?

    It works for me but if you get any issues report them in forum!



  * [r8597]

    The bypass introduced in rev 8577 now only takes effect for service-ids specified in the betatunnel and doesn't have any effect when using the "FFFF" wildcard.
    So as long as service-ids are specified in the betatunnel, there is no need to specify the original caid (18xx) in the service filters and it is still possible to use cccam resharemode=3 without being forced to take the original caid into the share.


  * [r8596]

    oscam-net: Remove unneeded static.

    The variable is only used in the function and it is not returned to
    the caller so using static is most certanly wrong and buggy.


  * [r8595]

    log: Remove temporary log blocking.

    Log blocking was introduced in r6585 as a way to control how much records
    log_list can accumulate between flushes. The mechanism was needed because
    logging thread slept 250 ms between processing the logging messages and in
    that time a lot of message can be logged.

    Now that we wake up logging thread on demand and do not stop processing
    messages until the log_list is empty we can use much simpler mechanism
    for making sure log_list is not getting too big.


  * [r8594]

    log: Reliably stop log thread and wake it up only when there is new data.

    This commit allows us to wake up logging thread only when there is new
    data and to stop the thread reliably on oscam exit.

    Now oscam would waste CPU to wake up every 250 ms even when there is
    nothing to log.


  * [r8593]

    log: Allow log thread to be stopped.


  * [r8592]

    Introduce sleepms_on_cond().

    The function uses pthread_cond_timedwait() to implement sleep which
    can be canceled at any time by poking the sleep condition variable.


  * [r8591]

    Updated documentation for 'emmreassembly'.


  * [r8590]

    Added documentation for serial device setup.


  * [r8589]

    Free bytes allocated for processUsername on exit.

    This makes valgrind a little bit happier.


  * [r8588]

    dvbapi: Small code cleanup.

    Put ; on the next line to make it clear that the loop is used only for
    counting and do not have body.


  * [r8587]

    webif: Change the default text for emmreassembly

    Forgot to fix this in r8586.


  * [r8586]

    emm: Change user's emmreassembly setting to default to 2 (ON).

    Let oscam do the reassembly by default, that way even the simplest
    clients would be able to update cards just by sending the EMMs to
    oscam for processing.

    If a client does its own reassemblation (mgcamd, acamd) set emmreassembly=0
    in your oscam.user file for the client.


  * [r8585]

    emm: Do the reassembly after EMM filters.

    Before EMM filters the reassemblation won't work because the
    client can send any EMMs not only for the card in aureader.


  * [r8584]

    emm: Add missing variable initialization


  * [r8583]

    cccam: Add missing unlock on error path.

    Patch by pointer2 posted in streamboard forum.


  * [r8582]

    Removed reader emmreassembly setting.
    EMM reassembling (Cryptoworks/Viaccess) is switched independently for each user (emmreassembly in oscam.user).

    Possible settings:
    0 - disabled
    1 - enabled for DVBAPI (default)
    2 - enabled

    Detecting already assembled EMM-S (cryptoworks) by user vld75.
    Webint integration by user Deas.


  * [r8581]

    Revert "config: Invoke mktemp(1) without parameters."

    This reverts commit r8580.

    The commit brakes more than it fixes, its not worth it.


  * [r8580]

    config: Invoke mktemp(1) without parameters.

    This increases portability because some mktemp implementations do
    not support -t flag. Calling mktemp without parameters creates temp
    files in $TMPDIR or /tmp which was the reason -t was used in the
    first place.


  * [r8579]

    dvb-mca: Skip empty CAIDs.

    Patch by dirtyharry123 posted in ticket #3267 by BigGyros.


  * [r8578]

    Tryfix2 VU+ boxes slow responses on internal readers for T0/T1 protocol

    - T14 protocol was broken and now is handled like before and communicated again with reader driver



  * [r8577]

    Moved chk_valid_btun() from module-dvbapi.c to oscam-chk.c

    ECM requests are now passed if a betatunnel is specified but the original caid is missing in the corresponding user services.
    Using cccam reshare_mode = 3 we aren't forced anymore to specify the original caid which had the side effect that an additional virtual SC was added to the share-list.


  * [r8576]

    WebIf: Fix missing file closes when reading disk template files which are not valid for the compiled binary.


  * [r8575]

    webif/newcamd: Fix saving of DES keys.

    Without this patch only the first char of the DES key was saved.

    Patch by manio posted in ticket #3261.


  * [r8574]

    Fix IPv6 binding on local addresses.

    Patch by manio posted in ticket #3206.


  * [r8573]

    Tryfix Vu+ Solo2 better ecm response times. Use reader->mhz > 2000 value to enable
    Tnx to Telping for this find, testing and reporting.



  * [r8572]

    serial: Add support for network socket connection.

    This patch adds support for serial port exposed via a network socket.
    This way oscam can connect directly to TCP socket, eg to a ser2net,
    netcat, socat or even hardware devices like Moxa.

    Patch from Mariusz Bialonczyk <email address hidden> posted in ticket #3260.


  * [r8571]

    serial: Fix timeout issues.

    Patch by manio posted in ticket #3260.


  * [r8570]

    Disable local binding when IPv6 is enabled.

    Patch by manio posted in ticket #3206.


  * [r8569]

    Tryfix for Azbox not initing card due to not implemented IOCTL_GET_ATR_STATUS
    Just skip this whole check in case of AZBOX



  * [r8568]

    dvbapi: Check if cardsystem is supported before adding a EMMPid to the list.
    This prevents the query for a matching EMMFilter on each request which makes no sense if the corresponding cardsystem support is missing.


  * [r8567]

    Removed some spaces.
    Improved the code readability.


  * [r8566]

    dvbapi: Improve Irdeto/Beta EMM tunnel.

    - EMM tunnel now also depends on the betatunnel service-ids.
    - It is possible to specify betatunnel with srvid=0000 to activate EMM-only tunnel.
    - Some minor code improvements as suggested by user depp0n.

    Patch by canna posted in ticket #3258.


  * [r8565]

    ecm: Simplify locking in CW processing thread.


  * [r8564]

    ecm: Reliably stop cw_process() thread on exit.

    First attempt to reliably stop check()/cw_process() thread on exit commited
    in r8525 was reverted in r8552 because it introduced latencies.

    The latencies were introduced because waking up the thread from inside
    ECM processing functions was done by a signal which wasn't working once
    pthread_cond_timedwait() started being used instead of nanosleep().

    This commit should be the proper fix.

    Thanks to wimpie007 for the testing.


  * [r8563]

    ecm: Move CW sending thread code in oscam-ecm.c

    The moved code that implements CW processing thread is very central
    to ECM procesing, so it is a good idea to move it closer to other
    ECM functions.


  * [r8562]

    dvbapi: 1702/1833 Betacrypt EMM tunnel.

    For SC CAID: 1702 (Sky DE, S02).

    This commit allows a DVBApi Client to send/process EMMs if the SC runs
    in irdeto/beta mode, only reader-caid 1702 is present and no EMMPid
    with CAID 1702 ist available but instead EMMPid with CAID 1833 is present.

    This is the case on all Sky DE HD channels.

    1. A EMMPid with CAID 1833 is added
    2. A custom EMMFilter is created and added to the list
    3. The EMM headers are adjusted

    Patch posted by canna in ticket #3255.


  * [r8561]

    Resolve channel names in ECM log and monitor.

    Patch by malakudi posted in ticket #3239.


  * [r8560]

    Reopen log files on SIGHUP.

    Patch by janpascal posted in ticket #3250.


  * [r8559]

    Cmake extra libusb messaging correction


  * [r8558]

    Cmake libusb messaging updated


  * [r8557]

    Increase hideclient_to default from 15 to 25.

    Fixes ticket #3244.


  * [r8556]

    pcsc: Fix regression introduced in r8512.

    Once the card was removed it can't inserted back.

    Thanks to The_Raven for the report and testing.


  * [r8555]

    Prevent warning about unused function when MODULE_CCCSHARE is disabled.


  * [r8554]

    Prevent writing of empty [cache] section.

    This fixes ticket #3249.


  * [r8553]

    oscam-config-global.c - fix wrong cwcycle_check_enable default value - see: http://www.streamboard.tv/wiki/OSCam/en/Config/oscam.conf#cwcycle_check_enable


  * [r8552]

    Revert "Reliably stop check() thread on exit."

    It seems some platforms implementation of pthread_cond_timedwait() is
    not that good enough and using pthread_cond_timedwait() instead of
    nanosleep increased response times a lot.

    This reverts commits r8525 and r8551.

    Thanks to wimpie007 for the report and testing.

    http://www.streamboard.tv/wbb2/thread.php?postid=457430


  * [r8551]

    Fix regression introduced in r8525 which increased ECM times a lot.

    r8525 (Reliably stop check() thread on exit) changed nanosleep to
    pthread_timed_condwait() but rounded the sleep time to the nearest
    second missing the fact that this check_thread drives ECM answers.
    The effect was massive increase in ECM response times.

    Thanks to wimpie007 for the report.


  * [r8550]

    Do not show "unknown" when a sid is not found.

    Patch by malakudi posted in ticket #3239.


  * [r8549]

    webif: Show card system description even when the reader is not compiled in.

    Patch by malakudi posted in ticket #3160.


  * [r8548]

    Libusb now standard dynamically linked

    Libusb will now standard dynamically linked.
    If You wan't static libusb , add the parameter
    -DSTATIC_LIBUSB=1 to you're cmake command.

    Ticket #3181 closed


  * [r8547]

    webif: Remove appendchaninfo leftover.


  * [r8546]

    conf: Remove appendchaninfo setting.

    As per ticket #3138, appendchaninfo is being removed.

    If oscam.srvid is empty you get no channel names, if you fill oscam.srvid
    you still didn't get channel names until you enable "appendchaninfo". This
    does not make a lot of sense. Either you want channel names and you have
    oscam.srvid or you don't.


  * [r8545]

    web-if: fix for #3236 - thx to hk2k2


  * [r8544]

    web-if: fix for #3234. thx to skyndas!


  * [r8543]

    Fixed typo in documentation.


  * [r8542]

    Update for debug levels in documentation.


  * [r8541]

    Removed 'serialreadertimeout' from documentation.


  * [r8540]

    config: Remove obsolete CMAKE related text in the config.

    Now that #3182 is fixed there is no reason to complain about cmake
    being used to build Oscam. The binary contains proper full config.


  * [r8539]

    USE_FLAGS now passed correct to config.sh by CMAKE

    Tichet #3182 closed


  * [r8538]

    webif+cccam: add missing serverip setting.

    All network facing modules support serverip setting except cccam
    and webif. They used only the global serverip. That patch adds support
    for serverip setting in [cccam] and [webif] sections.

    Patch by manu posted in ticket #3235.


  * [r8537]

    Modified CMakeLists.txt to use Flags

    It's not finished yet, but here the reworked file .
    LIBCRYPTO,LIBUSB,PCSC are already adapted


  * [r8536]

    Correcting messaging adapting sequence in CMakelist.txt


  * [r8535]

    webif : Added cccreshare parameter to all readers.

    The cccreshare parameter is not only for a cccam protocol reader, but for all readers which can
    be reshared trough cccam server.


  * [r8534]

    webif: Add emmreassembly setting in reader config.


  * [r8533]

    monitor: Move the last static variables to module private structure.


  * [r8532]

    webif: Stop http server thread realiably on exit.


  * [r8531]

    monitor: Move private monitor data out of struct s_client.


  * [r8530]

    monitor: Remove code that leaked and was doing nothing.


  * [r8529]

    monitor: Remove dead code in monitor_recv().

    These allocations are useless.


  * [r8528]

    monitor: exit command should call cs_disconnect_client() instead of cs_exit().


  * [r8527]

    monitor: Kill monitor clients along with normal clients on exit.

    kill_all_clients() should also kill monitor clients because there
    is nothing special about them. They should be treated just like
    normal clients on exit.


  * [r8526]

    Prevent leaking of internal work_thread data.

    If some callback called by work_thread executes cs_disconnect_client(),
    cs_exit() or pthread_exit(NULL) then the work_thread will be terminated
    but allocated network buffer (mbuf) and the current struct job_data will
    be leaked.

    This patch adds tracking of mbuf and current job_data to struct s_client
    and when the client is freed the work_thread related data is freed as well.


  * [r8525]

    Reliably stop check() thread on exit.

    Use timed condition instead of nanosleep() and check for oscam_exit variable.


  * [r8524]

    Reliably stop reader_check() thread on exit.

    Use timed condition instead of cs_msleep() and check for oscam_exit variable.


  * [r8523]

    build: Do not generate webif/pages.c if webif is not enabled.

    This fixes ticket #3227.


  * [r8522]

    monitor: Do not leak temporary buffers.


  * [r8521]

    Move aes keys to their own structure.


  * [r8520]

    monitor: Prevent crashes when monitor is fed with random data after login.


  * [r8519]

    camd35/newcamd: saveemm should enable emm passthrough.

    If user enables a particular saveemm category, the emm should be
    delivered to oscam for saving even if blockemm is enabled. The
    EMM would still be blocked but it'll be logged.

    Patch by manu posted in ticket #3223.


  * [r8518]

    oscam-client: Remove duplicated function.

    check_client() and is_valid_client() are exactly the same.


  * [r8517]

    Remove three unused fields in struct s_client.


  * [r8516]

    Remove serialreadertimeout setting.

    It not used to set serial reader timeouts. It was actually used
    to limit clienttimeout and fallbacktimeout but if you didn't compile
    module-serial in, you can't even set serialreadertimeout in webif.

    Patch by blaky. This fixes ticket #3186.


  * [r8515]

    Honour global serverip setting.

    The idea behind serverip set in [global] is to set the address that
    oscam binds to by default but the setting was not used properly.

    For modules it only worked if reader->l_port was set but for webif
    it wasn't working at all.

    This fixes ticket #3206.


  * [r8514]

    csctapi/sc8in1: Convert to card reader private data.

    sc8in1 reader already used private data, so this just moves it to using
    generic crdr_data pointer.


  * [r8513]

    csctapi/smart: Convert to card reader private data.

    Smart reader already used private data, so this just moves it to using
    generic crdr_data pointer.


  * [r8512]

    csctapi/pcsc: Convert to card reader private data.

    Removes all pcsc variables from struct s_reader and removes the need
    to include PCSC headers in globals.h


  * [r8511]

    Fix wrong typos in documentation.


  * [r8510]

    nagra: Fix regression introduced in r8486.

    Converting to private data in commit r8486 missed the fact the there
    is a case where private data is needed before it is initialized. This
    happens with irdeto cards in nagra mode.

    Thanks to mechi for testing and the report.


  * [r8509]

    Added documentation for new parameter 'cwcycle_sensitive'.


  * [r8508]

    Wrong default value for 'emmreassembly' in documentation.


  * [r8507]

    csctapi/stapi: Convert to card reader private data.

    Now that we have private data, there is no need to have stsmart_handle
    in struct s_reader.


  * [r8506]

    csctapi/cool: Convert to card reader private data.

    Cool reader already used private data, so this just moves it to using
    generic crdr_data pointer.

    Moving to generic crdr_data fixes a bug. Before the allocated private
    data was never freed if reader initialization failed.


  * [r8505]

    Introduce infrastructure for card reader private data.

    This would allow moving of card reader related variables out of
    struct s_reader into private structures that are allocated and used
    only by a particular card reader.


  * [r8504]

    Remove harmless warnings.

    When WEBIF, MONITOR, CAMD33, NEWCAMD, PANDORA and RADEGAST are disabled
    iptange functions are not called from anywhere and the compiler complains
    about:
    {{{
      oscam-config-global.c:51:13: warning: 'iprange_fn' defined but not used [-Wunused-function]
      oscam-config-global.c:67:13: warning: 'iprange_free_fn' defined but not used [-Wunused-function]
    }}}

    These functions are not in the final binary even if they are not
    static, so remove the static declaration to stop the compiler
    from issuing warnings.

    Thanks to Jens Gutsche for making me fix this after I caused it :)


  * [r8503]

    Move availkeys from struct s_reader to private reader strucure.

    This saves 512 bytes from struct s_reader.


  * [r8502]

    Remove pcsc variables in struct s_config when the reader is not enabled.

    Saves ~128 bytes in configurations without PCSC.


  * [r8501]

    Remove two unused fields from struct s_reader.

    l_pwd is not used anywhere so it is safe to removed. Saves 64 bytes
    per reader. fd_error is only incremented in module_cccam but never
    used.


  * [r8500]

    dvbapi/mca: Prevent build warning.

    This fixes the following warnings in USE_MCA=1 build:
    {{{
      module-dvbapi.c: In function 'dvbapi_init_listenfd':
      module-dvbapi.c:2039: warning: array subscript is below array bounds
      module-dvbapi.c: In function 'dvbapi_open_device':
      module-dvbapi.c:432: warning: array subscript is below array bounds
      module-dvbapi.c:433: warning: array subscript is below array bounds
      module-dvbapi.c:446: warning: array subscript is below array bounds
      module-dvbapi.c:447: warning: array subscript is below array bounds
    }}}

    The compiler is wrong to warn about this, because the code which
    generates the warnings can't be reached. Anyway, the fix is simple
    and painless, so...


  * [r8499]

    gbox: Do not use static initializers for mutexes and conds.

    Some toolchains with buggy headers complain when PTHREAD_MUTEX_INITIALIZER
    is used.


  * [r8498]

    gc: Stop garbage_thread realiably on exit.


  * [r8497]

    Free first_client on exit.


  * [r8496]

    config/global: Free newcamd and cs378x port settings using free_data() func.


  * [r8495]

    config/global: Free struct s_ip cfg settings on exit.


  * [r8494]

    config: Introduce free_value() callback per value.

    This allows config tables to register functions that will be called
    when the value should be freed.


  * [r8493]

    Added documentation for new parameter 'emmreassembly'.


  * [r8492]

    Added documentation for new parameter 'srvidholdseconds'.


  * [r8491]

    Added documentation for new parameter 'ecmunique'.


  * [r8490]

    static variables are reset to zero on start, no need to init them manually.

    No binary changes.


  * [r8489]

    Declare variables static where needed.

    Global variables that are used only in the module where they are defined
    should be set to static. This gives the compiler better understanding of
    the vars, we get warnings if they are unused and also they are zeroed on
    program start for free.

    These variables were found by pglobal tool from pahole. Here are the
    results of this patch on 32-bit defconfig:

    bloat-o-meter report:

    {{{
      add/remove: 0/3 grow/shrink: 0/5 up/down: 0/-1766 (-1766)
      function                                     old     new   delta
      gbox_decrypt8                                196     195      -1
      main                                        6236    6220     -16
      dvbapi_process_input                        2955    2939     -16
      dvbapi_init_listenfd                         297     281     -16
      CHANNEL_CACHE                                 16       -     -16
      S_EMM_FILTER                                  60       -     -60
      cc_check_version                             727     366    -361
      cwcache                                     1280       -   -1280
    }}}

    size report:

    {{{
        text     data      bss      dec    hex filename
     1000586     1944    60744  1063274 10396a before/oscam-1.20-unstable_svn8488-i486-slackware-linux.debug
     1000406     1760    59336  1061502 10327e  after/oscam-1.20-unstable_svn8489-i486-slackware-linux.debug
    }}}


  * [r8488]

    irdeto: Use private card system data.

    This commit should not introduce functional changes. It just migrates
    variables out of struct s_reader into local private structure.


  * [r8487]

    cryptoworks: Use private card system data.

    This commit should not introduce functional changes. It just migrates
    variables out of struct s_reader into local private structure.


  * [r8486]

    nagra: Use private card system data.

    This commit should not introduce functional changes. It just migrates
    variables out of struct s_reader into local private structure.


  * [r8485]

    dre: Use private card system data.

    This commit should not introduce functional changes. It just migrates
    variables out of struct s_reader into local private structure.


  * [r8484]

    videoguard: Use private card system data.

    This commit should not introduce functional changes. It just migrates
    variables out of struct s_reader into local private structure.


  * [r8483]

    viaccess: Use private card system data.

    This commit should not introduce functional changes. It just migrates
    variables out of struct s_reader into local private structure.


  * [r8482]

    CW Cyclecheck
    *fix cwcycle_sensitive on double Requests



  * [r8481]

    CW Cyclecheck small fix (typo)



  * [r8480]

    CW Cyclecheck add check of new cw active part, to prevent bad cw
    http://www.streamboard.tv/wbb2/thread.php?postid=455359#post455359


  * [r8479]

    dgcrypt: Use private card system data.

    This commit should not introduce functional changes. It just migrates
    variables out of struct s_reader into local private structure.


  * [r8478]

    bulcrypt: Use private card system data.

    This commit should not introduce functional changes. It just migrates
    variables out of struct s_reader into local private structure.


  * [r8477]

    griffin: Use private card system data.

    This commit should not introduce functional changes. It just migrates
    variables out of struct s_reader into local private structure.


  * [r8476]

    bulcrypt: Log message at the end of subscription info.


  * [r8475]

    Use IPPROTO_TCP instead of SOL_TCP for cross-platform compatibility.

    Modern Linux tcp(7) man page doesn't even mention SOL_TCP. The
    correct and portable way is to use IPPROTO_TCP.

    This fixes compilation of FreeBSD. Reported by kraiv.


  * [r8474]

    build: Use $(MAKE) instead of `make`.

    On some systems (FreeBSD) `make` is named `gmake` and using
    `make` in the Makefile breaks the build. The correct way of
    calling make inside a Makefile is to use `$(MAKE)` variable.

    This fixes distclean and README.build targets. Reported by kraiv.


  * [r8473]

    Make sure private card system data is freed before calling into card_init().


  * [r8472]

    Allow card system modules to allocate per reader private data.

    This is preparation for moving card system specific variables out
    of struct s_reader into private structures accessed only from
    the card system module.


  * [r8471]

    newcamd: Prevent memory leak when clearing struct s_ptab.


  * [r8470]

    newcamd: Fix regression introduced in r8455.

    This restores correct functioning of newcamd when mgclient setting
    is enabled.

    Fixes ticket #3209.


  * [r8469]

    Fix for regression introduces in r8465.

    chk_sfilter should return true.

    This should fix ticket #3207.


  * [r8468]

    ird-guess: Allocate irdeto guess tab structure dynamically.


  * [r8467]

    ird-guess: Move everything related to irdeto guessing in the module.


  * [r8466]

    cfg: Remove serial vars from struct s_config when the module is disabled.


  * [r8465]

    cfg: Remove newcamd vars from struct s_config when the module is disabled.


  * [r8464]

    cfg: Remove camd35 vars from struct s_config when the module is disabled.


  * [r8463]

    cfg: Remove radegast vars from struct s_config when the module is disabled.


  * [r8462]

    cfg: Remove camd33 vars from struct s_config when the module is disabled.


  * [r8461]

    workaround to prevent rare segfault on free_client
    http://www.streamboard.tv/wbb2/thread.php?threadid=37372


  * [r8460]

    bring cacheex rdr 1 back to work after commit 8370
    waittime setup on rdr destination server !
    ex1 rdr win, no wait when also possibe wait for ex2/ex3/csp cache
    but in time for wait answerback from ex1rdr ex2/ex3/csp can also answer


  * [r8459]

    revert commit 7941
    csp don't check ist beta or not
    after commt 7990 is not more need
    when cacheex is on while ecmd5 check first.


  * [r8458]

    irdeto: Fix EMM filters.

    What this commit does:
      - Allow shared to hex serial only for betacrypt. This allows one more
        free filter slot for Irdeto.
      - Skip not initialised providers. They always have first and third byte 0x00.
      - Improve exit conditions from provider loop. Previous patch could result
        in memory overwrite.
      - Only display "could not start all emm filters" if we break out of the
        provider loop. Previously it would display this message even if we
        haven't skipped emm filters.

    Patch by malakudi posted in ticket #3198.


  * [r8457]

    newcamd: Add paranoid checks for per port newcamd data.

    Better safe than sorry.


  * [r8456]

    Slim down struct s_port.

    struct s_port contains filter array and couple of other fields that are
    used only for newcamd and nothing else. They waste more than 2k in common
    case.

    To stop losing this much space, create private structure only for
    newcamd fields and allocate it dynamically. This lowers struct s_port
    size a lot and of course struct s_ptab even more because it contains
    array of struct s_ports's.

    New structure sizes (32-bit):
    {{{
                      before  after
      struct s_port     2144     12
      struct s_ptab    68612    388
      struct s_config 141260   4812
    }}}

    Size report (32-bit):

    {{{
        text     data      bss      dec    hex filename
      998222     1944   602344  1602510 1873ce before/oscam-1.20-unstable_svn8453-i486-slackware-linux
      998174     1944    61800  1061918 10341e  after/oscam-1.20-unstable_svn8453-i486-slackware-linux
    }}}

    bloat-o-meter report (32-bit):

    {{{
      add/remove: 0/1 grow/shrink: 13/16 up/down: 7897/-548383 (-540486)
      function                                     old     new   delta
      modules                                     1840    9520   +7680
      ...
      cfg                                       141260    4812 -136448
      static.ptab                               411672       - -411672
    }}}


  * [r8455]

    Make ptab in struct s_module embedded not a pointer.

    This blows up bss (static) memory nearly twice but we'll get that
    back and lots more once we slim down struct s_port in the next
    commit.


  * [r8454]

    Add emmreassembly reader setting.

    Unfortunately r8441 causes too many errors for clients that do not
    try to be smart (like dvbapi, see ticket #3204) so this commit reverts
    r8441.

    I can't see how to make non assembled and assembled emms to work both,
    so I'm forced to introduce reader setting that turns off emm reassembly.

    For the documentation:

    emmreassembly = [0|1], Default: 1 (EMM reassembly is enabled).

    emmreassembly = 0 (disable) should be set for viaccess and cryptoworks
    readers if the client that you are using to send EMMs is reassembling
    them instead of just sending them to OSCam for processing.

    Two such clients are mgcamd and ACamd (over newcamd).


  * [r8453]

    webif: Align fields in templates data before compression.

    This prevents crashes on architectures that do not allow unaligned access.
    We lose a litlle bit of binary size (~520 bytes) but this is unavoidable
    because unaligned access causes crashes.

    This fixes crash on DD-WRT reported by basta2k.


  * [r8452]

    Do not forget to close open file on error.

    Patch by DaytonaHack.


  * [r8451]

    fixed emm filter in request_mode 1



  * [r8450]

    readers: Free configured readers on exit.

    Make valgrind a little bit happier.


  * [r8449]

    readers: Do not leak entitlements on card change and reader freeing.

    Reader entitlements are leaken when card is changed. Probably nobody
    noticed because changing cards is not an event that happen often.


  * [r8448]

    log: Free log history on exit.

    Make valgrind a little bit happier.


  * [r8447]

    gc: Add static declarations where needed.


  * [r8446]

    webif: Compress built-in templates.

    Use the minilzo code that we already have to compress the built-in
    templates. This saves ~90k binary size on 32bit defconfig. As the
    tool reports:

    > Compressed 148820 template bytes into 51619 bytes. 97201 saved bytes (65.31%).

    The old code that works with non-compressed templates is still here,
    to use it, comment `#define USE_COMPRESSION 1` in webif/pages_gen.c
    and recompile.

    Once we establish that template compression works fine the old
    code can be removed.

    This commit introduces no user visible changes.


  * [r8445]

    webif: Do not store images in templates array as base64.

    Save a little bit of binary size.

    This commit introduces no user visible changes.


  * [r8444]

    - Added srvidholdseconds to ratelimiter (experimental)
      a srvid will be kept in slot for additional srvidholdseconds
      if used with enabled ecmunique, the ecm in slot must be ratelimitseconds unique

      E.G. CDS NL 0100:00006A

      ratelimitecm = 4
      ratelimitseconds = 10
      srvidholdseconds = 5
      ecmunique = 1

      Assign 4 srvid slots
      Ecm for srvid in slot is unique for 10 seconds
      Slotted srvid will be released after 10+5 = 15 seconds of inactivity




  * [r8443]

    webif: Optimize images.

    Use pngcrush and gimp to slim down PNGs and GIFs. This saves ~1.2k
    binary size with no visual changes.

    {{{
     webif/images/ICARRL.gif | Bin 527 -> 476 bytes
     webif/images/ICARRR.gif | Bin 521 -> 470 bytes
     webif/images/ICDEL.png  | Bin 404 -> 286 bytes
     webif/images/ICDIS.png  | Bin 216 -> 184 bytes
     webif/images/ICEDI.png  | Bin 342 -> 256 bytes
     webif/images/ICENA.png  | Bin 251 -> 161 bytes
     webif/images/ICENT.png  | Bin 294 -> 226 bytes
     webif/images/ICHID.png  | Bin 529 -> 443 bytes
     webif/images/ICKIL.png  | Bin 558 -> 463 bytes
     webif/images/ICREF.png  | Bin 499 -> 368 bytes
     webif/images/ICRES.png  | Bin 415 -> 316 bytes
     webif/images/ICSTA.png  | Bin 387 -> 347 bytes
    }}}


  * [r8442]

    irdeto: Enable shared EMM filter.

    See ticket #3198.

    Patch by StEVE^qSR.


  * [r8441]

    cryptoworks/viaccess: Allow EMMs that are reassembled by the client to work.

    ACamd, mgcamd and possibly other clients reassemble and filter EMMs
    before sending them to OSCam. When EMM reassembly was moved on the
    local reader side in r8377, EMMs were stopped from reaching the card
    until they were reassembled.

    But if the EMM is already reassembled then no EMM-SH packets are
    comming so the reassembly never succeeded.

    With this change all EMMs reach the card even if they are not
    reassembled. This allows already reassembled EMMs to work and EMM
    reassembly to work.

    The downside is that there would be some EMM writing errors because
    the reader would try to write not assembled EMMs instead of waiting
    for reassembly.


  * [r8440]

    Even if doing a fast reset the baudrate for the ATR itself is still the default one


  * [r8439]

    webif/dvbapi: Do not prefix log messages comming from WebIf with "dvbapi: ".

    module-dvbapi.h redefines cs_log() to include "dvbapi: " prefix.

    Since module-webif.c includes module-dvbapi.h all cs_log lines coming
    from webif were wrongly were prefixed with "dvbapi: ".


  * [r8438]

    Revert "webif: Remove the need to save config info in struct templates."

    This reverts commit r8435. There is a use case in which external
    templates declare other dependencies than the built-in ones.

    This also fixes a problem with picons loading.


  * [r8437]

    Revert "webif: Simplify template loading and checking."

    This reverts commit r8346. The subdir logic is used to have different
    template directories for different paths comming from http request.

    For more info see:
      http://www.streamboard.tv/wbb2/thread.php?threadid=37378


  * [r8436]

    webif: Simplify template loading and checking.

    The subdir logic seems to complicate the code for no good reason and
    as far as I can work out it does nothing. It looks like a leftover
    that can be removed.


  * [r8435]

    webif: Remove the need to save config info in struct templates.

    Configuration data for templates was introduced in commit r7221
    as a way to fix ticket #2665.

    Basically we kept the configuration deps in the template and when we
    loaded the template from file we checked if the config items are enabled.
    If they weren't we ignorred the template like it didn't exist.

    But now there is a better way. If config item was disabled when the
    binary was built then the template does not exist in struct templates
    at all.

    So we can just check if the requested template exists in struct templates,
    and if it doesn't exists we just don't try to load it from file, so the
    problem in ticket #2665 is still solved but we remove lots of code (one
    less place place that knows about configuration items, yay!) and lower
    the binary size by ~1.4k.


  * [r8434]

    webif: Create and use private templates array.

    This allows storing of additional information along with templates
    data (which is const).

    For now we store name hash but in the future the data that comes from
    struct templates (in webif/pages.c) may need to be preprocessed
    (uncompressed for example) and the abstraction in this commit makes
    it easier to do such changes.


  * [r8433]

    webif: Fix possible segfault when template is read from disk.

    strstr() can segfault if the data read in the buffer is not \0
    terminated. This can happend if try to read binary file.


  * [r8432]

    - Added optional ecm unique check to ratelimiter (experimental)



  * [r8431]

    irdeto: Fix UNIQUE EMM filter for EMMs addressed at provider.

    Patch by malakudi posted in ticket #3198.


  * [r8430]

    build: Document HOSTCC and HOSTCFLAGS variables.


  * [r8429]

    webif: Use gcc as default compiler name instead of "cc".

    We already default to gcc when building OSCam, using cc for
    the build of pages_gen invites errors (and there were).


  * [r8428]

    Small updates for CW cycle in documentation.


  * [r8427]

    webif: Convert templates array to structure.

    This allows to extend the data we keep for each template (hash,
    datasize, etc).


  * [r8426]

    webif: Fix warning when CS_CACHEEX and CW_CYCLE_CHECK are both disabled.

    The warning was:
      module-webif.c: In function 'send_oscam_config_cache':
      module-webif.c:531:8: warning: unused variable 'value' [-Wunused-variable]


  * [r8425]

    Revert "Move checks for deprecated functions in devtools/check_code.sh"

    This partially reverts commit r8369.


  * [r8424]

    oscam-conf.c - it is not an error when a optional config file is not there. move info which config files are not found to D_TRACE.


  * [r8423]

    Allow OSCam to compile on uClinux platforms.

    Get some uClinux toolchain. I have used the one offered in:
      http://forums.lantronix.com/showthread.php?t=808
    From the ISO file get: freescale-coldfire-4.4-53-m68k-uclinux-i686-pc-linux-gnu.tar.bz2
    and extract it in /opt/cross

    Then run:
    {{
     make LIB_DL= STRIP=true CROSS=/opt/cross/freescale-coldfire-4.4/bin/m68k-uclinux-
    }}}

    or

    {{
     make uclinux CROSS_DIR=/opt/cross/freescale-coldfire-4.4/bin/
    }}}

    Voila, you have OSCam compiled for uClinux.


  * [r8422]

    web-if: fix typo in menu_dvbapi.html


  * [r8421]

    webif: Move template functions to module-webif-tpl.c


  * [r8420]

    webif: Remove templates that are defined but not used.

    Save a little bit of binary size (~380 bytes).


  * [r8419]

    webif: Delete module-webif-pages.c and use generated webif/pages.c


  * [r8418]

    webif: Create webif directory with all the templates.

    This commit prepares OSCam for automatic generation of module-webif-pages.c

    All templates are extracted in webif/ directory, which holds pages_index.txt
    and pages_gen.c which are used to generate module-webif-pages.c equivallent
    from the extracted files.

    The resulting webif/pages.c file when build results in exactly the same
    object file as module-webif-pages.c, cleanups and extras would be added later.

    Automatic building is not yet wired to OSCam build system, this would happen
    in the next commit.


  * [r8417]

    Tryfix for not saving/enabling controlwordcyclecheck

    - Fixed a typo in ifdef
    - Fixed cwcycle caidtab check



  * [r8416]

    cscrypt: Do not include sha1.h twice.

    This fixes ticket #3189.


  * [r8415]

    fix cwcycle wiki links


  * [r8414]

    cscrypt: Do not use internal MD5 functions when linking with libcrypto.

    Its silly to use our own MD5 functions when libcrypto provides them
    for us (in case we are linking with libcrypto).

    bloat-o-meter reports ~3.8k savings on {{{make USE_LIBCRYPTO=1}}} build:

    {{{
    add/remove: 0/4 grow/shrink: 0/1 up/down: 0/-3877 (-3877)
    function                             old     new   delta
    MD5                                  108       -    -108
    __md5_crypt                         1467    1307    -160
    MD5_Final                            781       -    -781
    MD5_Update                           840       -    -840
    MD5_Transform                       1988       -   -1988
    }}}


  * [r8413]

    Kill csctapi/csctapi.h


  * [r8412]

    Include cscrypt/sha1.h where it is needed.


  * [r8411]

    Include cscrypt/md5.h where it is needed.


  * [r8410]

    Include cscrypt/des.h where it is needed.


  * [r8409]

    Move crc32() function in oscam-string.c


  * [r8408]

    Added new CW cycle parameters to documentation.


  * [r8407]

    Added new gbox parameters to documentation.


  * [r8406]

    webif: Make CSS, JSCRIPT and TOUCH_xxx a proper templates.

    Now we have only one way of dealing with resources - everything
    is in templates array. We can use /savetemplates.html to extract
    CSS, JSCRIPT, etc, we can replace those as any other template and
    so on.

    The road to generating module-webif-pages.c from the build system
    is open.


  * [r8405]

    webif: Init CSS and JSCRIPT resources using defines.

    This is preparation for declaring CSS, JSCRIPT and TOUCH related
    resources as proper templates.


  * [r8404]

    minilzo: Disable internal checks because they cause build errors.

    This fixes:
      LINK   ../archiv/oscam-svn8403-fritz33xx-webif.debug
      build/mips-linux-uclibc/minilzo/minilzo.o: In function `_lzo_config_check':
      minilzo.c:(.text+0x678): undefined reference to `__clzsi2'
      collect2: ld returned 1 exit status

    Reported by Gorgone.


  * [r8403]

    webif: Fix CONFIGMENUCCCAM template dependency.


  * [r8402]

    Move disabled module message to debug level 1.


  * [r8401]

    gbox: Stop using get_module().

    This reimplements commit r8364. It seems that after this commit
    gbox module was broken because it can't detect its own clients.

    Thanks to all that tested my patches and helped me figure it out.


  * [r8400]

    gbox: Fixes for connection issues.

    Patch by Eggy123.


  * [r8399]

    Remove empty algo directory.



  * [r8398]

    minilzo: Fix warnings when building on 64 bit OS.


  * [r8397]

    Rename algo directory to minilzo.


  * [r8396]

    algo: Update minilzo code to the latest version (2.06).

    The version we are shipping is very and contain lots of bugs.
    There should be no downsides in using the latest version.

    A nice improvement with the new code is some binary size savings
    as bloat-o-meter reports:

    add/remove: 4/5 grow/shrink: 4/2 up/down: 1471/-2567 (-1096)


  * [r8395]

    config: Do not write info config_mak variable.

    For some reason writing into config_mak crashes OSCam when restart
    from WebIf is requested.

    Reported by today in streamboard forum.


  * [r8394]

    build: Link libssl before libcrypto.

    The link order was changed by mistake, which caused build errors
    on some platforms when libssl was static.

    Thanks to Bruty for the report.


  * [r8393]

    webif: Remove a rather clever way of checking if favicon.ico was changed.

    This mechanism will break once module-webif-pages.c start to
    be generated which is being worked on in the moment.


  * [r8392]

    webif: Add new lines in templates.

    With new lines in proper places the templates are much nicer
    to look once they are extracted.


  * [r8391]

    config: Do not declare config_mak static openssl is not found.


  * [r8390]

    config: Fix config.c format when openssl is not found in path.

    Thanks to Gorgone for the report.


  * [r8389]

    config: Exit with zero error code from gui config.

    This prevents harmless but annoying message when
    saving the config from gui:
       make: *** [config] Error 1

    Thanks to Gorgone for the report.


  * [r8388]

    config: Do not grep into sed, use sed directly.

    Thanks to cace for the suggestion.


  * [r8387]

    config: Fix config.c generation under OS X.


  * [r8386]

    build: Embed full config into OSCam binary.

    Once upon a time (before r6803) it was possible to see what OSCam
    features are build into the binary by using `strings` command on
    the binary. After r6804 this was no longer available.

    Now that we have full build configuration in config.mak we can embed
    this file into OSCam and get even better build information distributed
    along with the binary.

    The goal is to be able to extract the build information from the
    binary without running it (just by using `strings` and copy+pasting
    simple instruction contained in the resulting text).

    Currently config.mak in default build is ~1.4Kb which will only grow
    in time, so directly embedding this would not be a good idea. Also
    directly embedding config.mak without any preprocessing would make it
    harder to extract the info with simple shell commands.

    So the build system gzips config.mak, base64 it, adds extraction
    instructions and embeds the resulting text in oscam binary. To see
    the embeded config run `strings oscam_binary`. You'll get something
    like this:

    {{{
    ...
    CFG: strings FILE | grep ^CFG~ | sed -e 's/^CFG~//' | openssl enc -d -base64 | gzip -d
    CFG~H4sIAO2cJFECA32UQXLkIAxF9zlFqnKCTCqp2WQhCxmrgoEC3O7OhhtkP7cf7O6O
    ...
    }}}

    To see the contents of config.mak that was used in the build, run the
    command you see in CFG: line or use `devtools/extract_config.sh` which
    does the same as the command you see in CFG: line.

    Now that we have full build info in the binary we can remove the code
    that tries to show build information in oscam help text. By doing that
    we get even smaller binary file than before the full config was embedded
    (on 32bit x86 ~120 bytes). To see human readable build information you
    can use `oscam --build-info` or `oscam -V` (this shows the contents
    of oscam.version file generated on OSCam startup).

    cmake build also works but since cmake doesn't pass USE_FLAGS to
    config.sh the resulting config.mak is missing information.

    Finally this commit closes ticket #3153.


  * [r8385]

    build: Refactor initialization of USE related variables.

    Replace copy & paste with function that does all the initialization
    thus removing ~50 lines from the Makefile. In the future USE_FLAGS
    can be added with just single line (minus the help text of course).


  * [r8384]

    build: Create config.mak in OBJDIR instead of source directory.

    Now that config.mak contains full build info (CONFIG + USE_FLAGS) in
    order for parallel builds with different USE_FLAGS to work, we have
    to move config.mak in OBJDIR instead of creating it within source
    directory.

    This allows parallel builds from single source tree with different
    USE flags.


  * [r8383]

    build: Move config handling out of Makefile into config.sh

    - Remove config handling from Makefile allowing further simplifications.
    - Now config.mak would contain full build configuration.
    - Improve dependency handling since we know the USE_FLAGS.


  * [r8382]

    build: Collect USE_xxx flags in single variable.

    Now we can pass USE_xxx flags to config.sh and as a bonus show
    the used flags in build info banner.


  * [r8381]

    config: Add infrastructure to handle USE_FLAGS.

    This is preparation for moving all config related tasks out
    of Makefile. When config.sh knows about USE_FLAGS passed to
    make it can create config.mak which contains full build configuration.


  * [r8380]

    config: Refactor code related to configuration building.

    Make it easier to find where dependencies are handled also
    split dependency calculation from config generation.


  * [r8379]

    README: Update README.{build,config} files.


  * [r8378]

    config: Remove some logging.

    If config files do not exist we tell the user, then a user that
    doesn't need these files just creates empty files and we start
    to complain that they are not "in the right format". Its easier and
    cleaner to just report when we have something to report otherwise
    we should STFU.

    Thanks to Gorgone for reminding me to remove these annoying logs.


  * [r8377]

    cryptoworks/viaccess: Run EMM reassembly before writing EMM in the card.

    Before this patch EMM reassembly was only run by the dvbapi client.

    This means that any other client (via newcamd, cs378x, cccam) was
    expected to perform its own EMM reassembly otherwise the card
    was unable to write the EMMs that needed preprocessing (reassemblation).

    This commit moves EMM reassembly where it belongs - just before the
    EMM is written in the card. That simplifies client logic (no more
    knowledge of EMM structure and types) and allows cards to be updated
    via any network protocol as long as the client is not trying to be
    smart and just sends us all EMM packets.

    The changes were tested with SRG Swiss Viacess card and Digiturk
    Cryptoworks card. In the both cards shared EMMs were written OK
    while receiving them via cs378x protocol and tsdecrypt as client.

    If a client sends already reassembled EMMs it also works.


  * [r8376]

    Revert r8119 changes related to Viaccess EMM reassembly.

    EMM reassembly should not know internal dvbapi client information.

    The proper fix is to run reassembly on the local reader side and
    remove it completely from the client side.


  * [r8375]

    dre: Fix shared EMM filters.

    This should fix ticket #3078 and allow shared EMMs to reach the card.


  * [r8374]

    camd35/ecm: Fix memory leak.

    camd35 allocates ecm->src_data in camd35_process_ecm() and frees it
    in camd35_send_dcw() but if camd35_send_dcw() is never called (due
    to error in ECM processing for example) the memory was leaked.

    Thanks to Gorgone for reporting the bug.


  * [r8373]

    gbox: Fix initialization bug.

    Solution suggested by Eggy123.

    See: http://www.streamboard.tv/wbb2/thread.php?postid=452251#post452251


  * [r8372]

    cw-cycle-check: Add static where needed.

    static variables are automatically set to zero on program start.


  * [r8371]

    Remove windows EOLs in cw-cycle check.


  * [r8370]

    commit CW Cycle Check -> Thx Blaky
    http://www.streamboard.tv/wbb2/thread.php?postid=440059#post440059



  * [r8369]

    Move checks for deprecated functions in devtools/check_code.sh


  * [r8368]

    Move dvbapi definitions out of globals.h into module-dvbapi.h


  * [r8367]

    Remove four unused variables from struct s_client.

    Save at least 148 bytes per client.


  * [r8366]

    Rename client->ctyp to client->module_idx.

    Rename ctyp variable in struct s_client to module_idx. The new
    name better reflects what the variable is used for.


  * [r8365]

    Make struct modules[] static.

    Now that eveything uses get_module() its time to make struct modules[]
    static.

    Also refactor accept_connection() and start_listener() this
    saves a little bit of binary size.


  * [r8364]

    gbox: Use get_module().

    gbox module have no bussiness knowing that it is at pos 6 in struct
    modules[]. The correct way of checking for gbox client is checking
    {{{get_module(client)->num == R_GBOX}}}.


  * [r8363]

    cccshare: Refactor send_card_to_clients().

    The function used "cute" trick to skip looping over all clients.

    A better way is to split the function, because it makes the code
    more readable and even saves a little bit of binary size.


  * [r8362]

    Init client->is_udp in one place.

    Save a little bit of binary size.


  * [r8361]

    Refactor loops over struct modules[].

    Saves a little bit of binary size.


  * [r8360]

    Abstract access to struct modules[] using get_module().

    The goal is to make "struct s_module modules[]" static and prevent
    random modules from knowing about it.


  * [r8359]

    update wiki link's for commt 8358


  * [r8358]

    cleanup/move cache settings
    http://www.streamboard.tv/wbb2/thread.php?threadid=37089

    cacheex mode 1 same dyn wait time as mode2/3/csp.
    (one for all mode/csp)

    fix that not only fallback rdr ask on stage 4
    fix reader stat, to add only real rdr time to stat, when have wait_time
    add real rdr time to log, when have wait_time

    parameter change overview

    [global] cachedelay -> [cache] delay
    [global] max_cache_time -> [cache] max_time
    [global] max_cache_count -> [cache] max_count
    [global] cacheexenablestats -> [cache] cacheexenablestats
    [csp] wait_time -> [cache] wait_time
    [csp] port -> [cache] csp_port
    [csp] serverip -> [cache] csp_serverip
    [csp] csp_ecm_filter -> [cache] csp_ecm_filter
    [csp] csp_allow_request -> [cache] csp_allow_request



  * [r8357]

    Removed the hard targetting off PCSC header location.
    I left the the optional_include dir option but it's not needed anymore.
    for crosscompile do not forget to ad
    SET(CMAKE_FIND_ROOT_PATH <target systems root pat> )
    To you're toolchain.cmake file used
    This patche solves the poisoning use off local PCSC headers instead of those for the target system in case of crosscompile.


  * [r8356]

    build: Do not check WITH_LIBUSB in the code, the correct symbol is CARDREADER_SMART.

    WITH_LIBUSB is "external" symbol and should be checked only in config.h

    Every other place should use CARDREADER_SMART.


  * [r8355]

    build: Do not check WITH_PCSC in the code, the correct symbol is CARDREADER_PCSC.

    WITH_PCSC is "external" symbol and should be checked only in config.h

    Every other place should use CARDREADER_PCSC.


  * [r8354]

    build: Do no show strip command in build info banner.

    99.996% of the time this info is useless, stop cluttering info
    banner with it.


  * [r8353]

    Fix harmess warnings in STAPI & !WITH_CARDREADER build.

    The warnings were:
      oscam-reader.c: In function 'ATR_InitFromArray':
      oscam-reader.c:601: warning: unused parameter 'atr'
      oscam-reader.c:601: warning: unused parameter 'atr_buffer'
      oscam-reader.c:601: warning: unused parameter 'length'


  * [r8352]

    gbox: Fix compilation when CCCAM is disabled.

    gbox initializes its server address using different variables than
    cfg.cc_srvip (which is not used at all, by the way).


  * [r8351]

    gbox: Fix compilation when CCCAM is disabled.

    cc_currenthops is now used in both CCCAM and GBOX, rename the
    variable to currenthops.


  * [r8350]

    This commit contains a deeply reworked version of gbox connectivity module, originally written by user leloup.
    His patch was added @r6159 and rejected almost immediately because of many issues. This reworked version was developed to fix these issues.

    In its current state the code works with gbox and gbox.net, and does not work with mbox (but it seems user pointer2 knows how to add mbox compatibility).

    The following threads contain info about rework process and decisions made during the development:

    http://www.streamboard.tv/wbb2/thread.php?postid=437281
    http://www.streamboard.tv/wbb2/thread.php?postid=451886
    http://www.streamboard.tv/wbb2/thread.php?postid=437103

    The biggest THANK YOU goes to leloup, original author of the gbox patch.
    Many thank to people who helped me during development: felixka, pointer2, Gorgone, gfto, felix2, veskop, Bit, Admin, today, Bruty, sypo, draus, breitscheitel, thatave, Eggy123, scader, dkey, Misterfx and others.

    The WebIF support and some other small features were stripped from the original patch.
    Also names of configuration parameters were changed - the new config documentation follows:


    <code>
    ================================================================================================================
    Parameter   Default Requ- Value for example         Description
    name        value   ired?
    ================================================================================================================

    ===========================
    oscam.conf, [gbox] section:
    ===========================

    gbox_hostname        Yes  192.168.1.123             My IP or host name (accessible by peers)

    gbox_local_cards     No   17020000,01003311         Comma-separated list of local card(s) reported to peers
                                                        Note: max list size is 16 cards

    gbox_reconnect  300  No   3600                      Send "Hello" message to peers every <gbox_reconnect> seconds


    ===================================================
    oscam.server, [reader] section with protocol = gbox
    ===================================================

    device               Yes   192.168.1.101,3820,3819  Comma-separated list of 3 values:
                                                        peer's IP or host name,peer's port,my port

    password             Yes   A123BCDE                 Password I use to connect to peer   (4 hex bytes, 8 chars)
    gbox_my_password     Yes   98AF3E25                 Password peer uses to connect to me (4 hex bytes, 8 chars)

    gbox_reshare      0  No    1                        Reshare level of local card(s)
    gbox_max_distance 2  No    2                        Max distance to receive peer cards
    gbox_max_ecm_send 3  No    3                        Send ecm to max <gbox_max_ecm_send> peer cards
    gbox_group           No                             gbox own list of groups, same syntax as "group" parameter

    ==============================================================================================================
    </code>


    Minimal working configuration example
    =====================================
    Let's say gbox server runs on host 192.168.1.101 and OSCam is on 192.168.1.123.
    In file cwshare.cfg on gbox side we have, for example, the following lines:

    M: { 192.168.1.101 { A123BCDE }}
    D: { 192.168.1.123 { 3820 3819 { 98AF3E25 { A3 A3 }}}}

    Then we may configure OSCam as follows:

    oscam.conf:
    ===========

    [gbox]
    gbox_hostname = 192.168.1.123

    oscam.server:
    =============

    [reader]
    protocol = gbox
    group    = 1
    device   = 192.168.1.101,3820,3819
    password = A123BCDE
    gbox_my_password = 98AF3E25


    Migration guide for old users of leloup's patch:
    ================================================

    Just rename parameters as follows.

    <code>
    ====================================
    In oscam.conf, [gbox] section:

    gbox_hostname     <-  hostname
    gbox_local_cards  <-  localcard
    gbox_reconnect    <-  servgreconnect

    In oscam.server, [reader] section:

    gbox_my_password  <-  my_password
    gbox_reshare      <-  greshare
    gbox_max_distance <-  maxdist
    gbox_max_ecm_send <-  maxecmsend
    gbox_group        <-  groupclg
    ====================================
    </code>




  * [r8349]

    Remove use off system's local /usr/include/PCSC in case off cross compile


  * [r8348]

    Fix for using ratelimit with dvbapi and no dvbapi user configured



  * [r8347]

    Revert "dvbapi-stapi: Stop using pthread_cancel() to kill stapi_read threads."

    This reverts commit r8337.

    Unfortunately (as expected) this causes problems because the threads
    are not reaching the cleanup code. Anyway, it is safe to return to
    the old code, because pthread_cancel is used in a code that can
    never be compiled under Android.

    Fixes ticket #3163.


  * [r8346]

    csctapi/protocol_t0: Fix possible use of uninitialized data.

    The bug was found by Gorgone.


  * [r8345]

    vg1: Initialize local buffer.

    The value in buff[7] will not be initialized when it is checked after
    the call to vg1_do_cmd(), if write_cmd_vg() or status_ok() failed.

    The bug was found by Gorgone.


  * [r8344]

    webif: Fix possible memory corruption.

    The bug was found by Gorgone.


  * [r8343]

    conf: Fix wrong strncat() usage.

    Patch by Gorgone.


  * [r8342]

    Remove logtxt field from struct s_module.


  * [r8341]

    Remove unused vars in struct s_module.

    This patch removes multi and c_multi variables from struct s_module
    because they are unused.

    Thanks to malakudi for spotting them.


  * [r8340]

    build: Use -pipe compiler parameter.

    On my machine this speeds up the build ~5%.


  * [r8339]

    Add support for building OSCam with Android NDK.

    The fixes that are applied are:
     - For some reason Android NDK does not ship linux/serial.h
       Copy the needed headers in extapi/linux/
     - sys/shm.h does not exists but we are not using it anyway.
     - tcdrain() is not implemented in Bionic, provide replacement.
     - in_port_t is not defined in Bionic, define it.
     - getpwuid_r() is not implemented but using getpwuid() is fine
       because we are not calling this function from multiple threads.

    After these fixes you can build OSCam using Android NDK following
    these simple instructions:

    1. Download the NDK from https://developer.android.com/tools/sdk/ndk/index.html
    2. Unarchive the NDK.
    3. Go to NDK directory and run:
       `build/tools/make-standalone-toolchain.sh --install-dir=/tmp/android`
    4. Go to OSCam source directory and run:
       `make LIB_PTHREAD= CROSS=/tmp/android/bin/arm-linux-androideabi-`

    Voila, you have built OSCam binary for Android.

    The Android toolchain(s) does not have support out of the box for
    openssl, libusb or PCSC. If you want to use them just install them
    like you do in any other toolchain.

    LIB_PTHREAD= must be used as `make` parameter because on Android
    there is no need to link with pthread.

    If you turn on IPV6SUPPORT there are some warnings which you can
    just ignore.


  * [r8338]

    Fix couple of warnings seen in Android build.

    On Android's libc (bionic) struct stat.st_mtime is defined as
    unsigned long not time_t and this generates warnings.

    The other fixes are related to casting of struct sockaddr in
    listen() and bind() calls.


  * [r8337]

    dvbapi-stapi: Stop using pthread_cancel() to kill stapi_read threads.

    pthread_cancel() is dangerous function to use and it is not
    supported under Android /not that this makes sense for stapi/.


  * [r8336]

    gc: Stop using pthread_cancel() to kill gc thread.

    pthread_cancel() is dangerous function to use and it is not
    supported under Android.


  * [r8335]

    cccshare: Stop using pthread_cancel() to kill share_updater thread.

    pthread_cancel() is dangerous function to use and it is not
    supported under Android.


  * [r8334]

    Timing fix for overclocked T14 tnx to MadMaxx for reporting and testing



  * [r8333]

    Prevent warning in oscam-work.c

    The warning was:
      oscam-work.c: In function 'work_thread':
      oscam-work.c:191:4: warning: enumeration value 'ACTION_CLIENT_SEND_MSG' not handled in switch [-Wswitch]


  * [r8332]

    Add mechanism to send messages to clients asynchronous via the joblist (currently used for cccam sharing) to prevent lock failures on network timeouts.
    WebIf: Small fix for #3151: It makes no sense to define a template to be dependent on WebIf.


  * [r8331]

    - Revert commit 7892 it breaks infinity usb readers
    Tnx to ryszardzonk for research and testing



  * [r8330]

    - Fix T0 and T14 timings they were wait_etu times too high
      On card transmission error this would result in very long timeouts / black screen



  * [r8329]

    build: Prevent LD from leaving temp files in /tmp.

    The LD output is saved into variable and then processed, because if
    the output is piped directly into another command LD creates 4 files
    in your /tmp directory and doesn't delete them.

    Also remove linker version in info output, its useless and again
    there was a problem with the temp files.

    Because of this LD behaviour each running of `make` left you with
    at least 8 files in your /tmp directory which was highly annoying.


  * [r8328]

    config: Use real temporary files for GUI config.


  * [r8327]

    config: Fix WITH_CARDREADER dependencies.

    Fixes ticket #3149.


  * [r8326]

    Update patterns in .gitignore


  * [r8325]

    Remove unneeded system header includes.

    All of these headers are already included in globals.h


  * [r8324]

    config: Delete config-funcs.h.

    Replace the functionality with config_enabled() magic macro borrowed
    from Linux.


  * [r8323]

    config: Simplify config.h

    Remove config guards also give config variables values. This would
    allows us to delete config-funcs.h.


  * [r8322]

    config: Move compatability defines out of config-funcs.h into globals.h

    This is in preparation for removing config-funcs.h file.


  * [r8321]

    config: Give external defines values.

    Just having something defined is OK but having it defined with
    certain value is a lot better.


  * [r8320]

    config: Add proper control of WITH_CARDREADER setting.

    WITH_CARDREADER must be enabled if any of the readers and cardreaders are enabled.
    WITH_CARDREADER must be disabled if all readers and cardreaders are disabled.


  * [r8319]

    log: Prevent harmless warning.

    Prevent unused parameter warning when WEBIF, MODULE_MONITOR and
    CS_ANTICASC are disabled.


  * [r8318]

    Revert "dgcrypt: Add support for get_caid and get_cardver commands."

    This reverts commit r8314.

    Apparently the card locks up after get_CAID command.


  * [r8317]

    Do not change process name of the main process.

    By mistake the main process name was changed which prevented
    certain versions of pkill and killall to work properly.

    Thanks to beneee who demonstrated the bug.


  * [r8316]

    dgcrypt: Fix warning seen in 64 bit compilations.


  * [r8315]

     Documentation for new parameter 'ecmnotfoundlimit'.


  * [r8314]

    dgcrypt: Add support for get_caid and get_cardver commands.

    If these commands fail, do not fail reader initialization.


  * [r8313]

    Add "ecmnotfoundlimit" reader setting.

    ecmnotfoundlimit setting is compared to the number of ECM NOKs
    returned by the reader. Once ECM NOKs are equal to ecmnotfoundlimit,
    the reader is restarted.

    Sometimes cards start answering with "not found" for some SIDs and
    only restart of the reader causes them to operate normally. This
    setting helps in that case.

    The problem was observed with NDS SkyUK card.

    That setting defaults to 0 (no limit).


  * [r8312]

    dgcrypt: Fix writing of ECMs


  * [r8311]

    lcd: Fix compilation error that was introduced in r8309.

    Since the module is not in defconfig it escaped my testing.


  * [r8310]

    Move all cleanup function calls in main().


  * [r8309]

    Introduce get_tmp_dir_filename() function.


  * [r8308]

    Fix removing of oscam.version.

    Always delete oscam.version file on exit.


  * [r8307]

    Add support for DGCrypt CAS.

    Release early, release often. The reader should be working although
    there maybe some issues with csctapi protocol handling. These can
    be worked out once enough people start testing the code.

    Thanks to Bruty 12 for the code and testing.


  * [r8306]

    Fix a small warning that reared its head after signal cleanups.

    Fixes ticket #3141.


  * [r8305]

    Fix killing of OSCam when it is hanging on binding to ports.


  * [r8304]

    Some cleanups regarding signal handling and shutdown.


  * [r8303]

    monitor: Do not look for monitor clients when monitor is not compiled in.

    write_to_log() tries to find monitor clients even if monitor module
    is not compiled in. There is no need to do that.

    Patch by malakudi posted in ticket #3137.


  * [r8302]

    doc: Try to make description of "logduplicatelines" less confusing.

    As the variable name says "logduplicatelines" enables logging
    of duplicate lines in the log when this variable is set to 1.

    By default the variable is set to 0 - duplicate lines are
    not logged.


  * [r8301]

    Update for 'logduplicatelines' documentation.


  * [r8300]

    griffin: Implement better ATR checking.

    Previous checks were wrong and they worked only by chance.


  * [r8299]

    Update work thread names as we run other jobs from the list.

    Thanks to Admin for pointing out that work_thread can execute more
    than one job.


  * [r8298]

    Implement better naming scheme for work threads.

    This commit changes the way work threads are named. Work thread name
    now contains indication whather the action is reader or client related,
    the action code and the reader label or client username.

    {{{
    Thread name:
      w[r|c]XX-[rdr->label|client->username]

    Fields:
       w      - work thread prefix
       [r|c]  - depending whether the the action is related to reader or client
       XX     - two digit action code from enum actions
       label  - reader label or client username (see username() function)
    }}}


  * [r8297]

    Use more descriptive thread names for worker threads.

    In normal operation oscam uses a lot of work_threads. This
    commit gives them descriptive names. Previously all threads
    were called work_thread.

    Unfortunately the thread name can not exceed 16 characters,
    so we can not be very descriptive.


  * [r8296]

    webif: Simplify FILES processing.

    The previous commit was a little bit over designed, simplify
    the code a bit.


  * [r8295]

    webif: Replace copy+pasted code in FILES page.


  * [r8294]

    Fix two harmless warnings.


  * [r8293]

    Add get_config_filename() function.

    Use this function when we need to create full path to file that
    should be in the config directory.


  * [r8292]

    Move global variable definitions closer to where they are used.


  * [r8291]

    cryptoworks: Add check for READER_CRYPTOWORKS.


  * [r8290]

    Added new parameter 'logduplicatelines' to documentation.


  * [r8289]

    Remove logport documentation (missed in r8288).


  * [r8288]

    Remove "logport" reader setting and related code.

    Reader remote log was supported by camd35 protocol as a way
    of communicating with camd3 servers.

    The code is unused, logport setting is undocumented and
    basically the code is dead.


  * [r8287]

    webif: Hide settings for modules that are not compiled in.

    Patch by FilipeAmadeuO posted in ticket #3124.


  * [r8286]

    webif: Move monitor/lcd/webif configuration into separate pages.


  * [r8285]

    Add "logduplicatelines" setting in [global] settings.

    Setting logduplicatelines to 1 disables detection of duplicated
    lines in the log.


  * [r8284]

    newcamd: Implement support for reconnecting when idle.

    Patch by manu posted in ticket #3108.


  * [r8283]

    Add check for PR_SET_NAME.

    PR_SET_NAME is introduced in 2.6.9 (which is ancient, released
    18 Oct 2004) but apparantly we can't count on having at least that
    version.

    This fixes ticket #3129.


  * [r8282]

    Set thread names under Linux.

    After this if you use htop (or similar program that lists thread
    names) and each thread would be named as the function name in
    oscam source.


  * [r8281]

    Move logging related variables out of oscam.c


  * [r8280]

    Move two global arrays out of oscam.c


  * [r8279]

    "cardserver down" should be the last logged message when oscam exists.


  * [r8278]

    Do not log partial config info on startup.

    The useful info (version, build, target) is already logged.

    Logging random config variables when we have lots and lots of
    them just clutters the logs. If there is a problem we require
    the user to show us the config files which contain all the settings.


  * [r8277]

    Remove "starting listener" log message.

    It carries no info and just clutters the logs.


  * [r8276]

    Move starting thread/thread started messages to debug level 1.


  * [r8275]

    logging: Variables that are local for the file should be static.

    cs_close_log() already waits for log_list to be empty (and have a
    time limit). Once log_list is not referenced outside of oscam-log.c
    we can safetly make the variable static.


  * [r8274]

    Remove server_pid variable.

    It serves no purpose nowdays.


  * [r8273]

    Revert of quickfix 8272, needs more analyzes as it also broke T1 protocol



  * [r8272]

    Fix for broken timings introduced by commit 8136

    Timings actually got reader->worketu*timeout time too high.
    This might break T14 protocol on overclocked cards again.
    If this is the case we should increase the reader->worketu value for those
    setups only.



  * [r8271]

    Kill global-functions.h


  * [r8270]

    Move network functions in oscam-net.c


  * [r8269]

    Move function declarations in oscam-config.h


  * [r8268]

    Move net functions out of oscam.c into oscam-net.c


  * [r8267]

    Rename cleanup_thread() to free_client() and move it in oscam-client.c


  * [r8266]

    Move cs_accounts_chk() in oscam-config-account.c


  * [r8265]

    Move dvbapi_read_priority() declaration in module-dvbapi.h


  * [r8264]

    Move reader related funcs in oscam-reader.{c,h} and reader-common.{c,h}


  * [r8263]

    Create module-newcamd.h


  * [r8262]

    ecm: Remove check for previously unsupported nanos.

    As now we can decrypt the providers 3311 and 3315 (that have ECM with
    Nano 01) via a remote server, we must remove or comment the code
    introduced in r6439.

    Patch by today, posted in ticket #3125.


  * [r8261]

    logging: Log pid when using syslog.

    When more than one oscam is run, it is impossible to differentiate
    syslog messages without using the pid.


  * [r8260]

    bulcrypt: Use reader->client as client when reloading card info.

    reader->client is really cur_client() in that case but using
    reader->client is the way videoguard reader calls add_job() and
    also we don't need to include oscam-client.h in bulcrypt reader.


  * [r8259]

    Convert actions from defines to enum.


  * [r8258]

    Move threaded work funcs in oscam-work.{c,h}


  * [r8257]

    Cleanup EMM support report.

    Less lines and no ifdefs - win, win.


  * [r8256]

    Cleanup defines in reader-common.h

    No code changes.


  * [r8255]

    Move reader functions out of oscam.c into oscam-reader.c

    No code changes, just movement.


  * [r8254]

    emm: Use reader logging functions in emm_reader_match().


  * [r8253]

    emm: Use reader logging functions when saving EMMs to file.


  * [r8252]

    emm: Move EMM saving into separate function.


  * [r8251]

    Remove unneeded calls to memset().

    cs_malloc() already zeroes the allocated memory, no need to call
    memset() right after cs_malloc().


  * [r8250]

    pcsc: Fix possible memory leak.

    This fixes ticket #3121. Thanks to ac2013 for findings.


  * [r8249]

    cryptoworks: Fix memory leak in EMM reassemblation.

    This fixes ticket #3120.


  * [r8248]

    griffin: Add subscription info.

    The data doesn't make sense for me, but someone smarter than me
    can make something of it :)


  * [r8247]

    cccam: Fix possible memory leak.

    This fixes ticket #3119.


  * [r8246]

    Add griffin CAS reader.


  * [r8245]

    Fix segfault on reload of oscam.srvid. Fixes #3117.


  * [r8244]

    Revert "config/reader: Use HEX key parsing for ins7e and ins7e11 settings."

    This reverts commit r8222.

    It turns out that ins7E filled only with zeroes is a valid ins and
    r8222 broke this functionality.

    This fixes ticket #3112.


  * [r8243]

    README: oscam.to does not exists anymore.


  * [r8242]

    Move ECM related functions in oscam-ecm.{c,h}

    No code changes, just moving ECM functions in single file. oscam-ecm.c
    would need some cleanup and probably further splitting but first lets
    get the ball rolling by collecting ECM functions in one place.


  * [r8241]

    Move EMM related functions in oscam-emm.{c,h}

    Just code movement, no feature changes.


  * [r8240]

    New default values for 'cool_timeout_after_init' and 'cool_timeout_init' in documentation.


  * [r8239]

    Followup to r8237 (fix for possible crash).

    The fixes in r8237 were step in the right direction but were buggy.
    That commit should fix the possible crashes.

    Thanks to malakudi for taking the time to explain the correct fix
    to me.


  * [r8238]

    Remove dead code.


  * [r8237]

    webif: Prevent crash due to race in setting cwlastresptimes_last variable.

    Thanks for malakudi for finding the bug.


  * [r8236]

    oscam-config-reader.c:
    - changed default value for cool_timeout_init to 0 which means oscam uses the calculated value from atr
    - changed default value for cool_timeout_after_init to 0 which means oscam uses the calculated value from atr

    protocol_t0.c:
    - fixed receive timeout which got mixed-up in r8136



  * [r8235]

    Added new parameter 'connectoninit' to documentation.


  * [r8234]

    config: Fix parsing of DES keys for newcamd.

    Patch by malakudi posted in ticket #3111.


  * [r8233]

    webif: Hide settings that are not active.

    Patch by FilipeAmadeuO posted in ticket #3110.


  * [r8232]

    Allow chid 0 to be filtered.

    Patch by malakudi posted in streamboard forum.


  * [r8231]

    Fix format string.

    %Zu is recognized by gcc but %zu is recognized by gcc and clang.


  * [r8230]

    config: Cleanup parsing of ident and chid settings in readers and accounts.

    Saves a little bit of source and a little bit of binary size.


  * [r8229]

    config: Move the parsing mg-encrypted setting in module-gbox.c

    This setting is really obscure and it is a lot of code. Moving the
    code in module-gbox.c cleans up oscam-config-reader.c and saves
    us nice 1.2k (on x86) binary size savings when gbox module is disabled.


  * [r8228]

    Update README.config.


  * [r8227]

    webif: Remove reconnecttimeout if not used by reader.

    Patch by manu posted in ticket #3099.


  * [r8226]

    newcamd: Add connectoninit setting.

    Patch by manu posted in ticket #3101.


  * [r8225]

    conf: Fix warning.

    The warning was:
      oscam-conf.c: In function ‘config_list_parse’:
      oscam-conf.c:107: warning: format ‘%u’ expects type ‘unsigned int’, but argument 5 has type ‘size_t’


  * [r8224]

    config/global: Use HEX key parsing for cccam's "nodeid" setting.


  * [r8223]

    config/reader: Use HEX key parsing for "boxkey" setting.


  * [r8222]

    config/reader: Use HEX key parsing for ins7e and ins7e11 settings.


  * [r8221]

    config: Use HEX key parsing for ncd_key settings.


  * [r8220]

    config/global: Use HEX key parsing for [cs387x] key setting.


  * [r8219]

    config: Add support for parsing arrays of HEX chars.

    This would be used in a lot of places for parsing keys, boxid, etc.


  * [r8218]

    Newcamd: Fix inactivitytimeout being interpreted wrong as a value in minutes instead of seconds. Thanks to manu (see #3100).


  * [r8217]

    Revert "webif: Fix background color when user active."

    This reverts commit r8213.


  * [r8216]

    Added long parameters for command line options to documentation.


  * [r8215]

    WebIf: Some more fixes to the templates by FilipeAmadeuO.


  * [r8214]

    Newcamd: Add fix from manu for first ecm lost (see #3095).


  * [r8213]

    webif: Fix background color when user active.

    Fixes ticket #3097.


  * [r8212]

    Some more fixes to revision display.


  * [r8211]

    Commit patch from #3096


  * [r8210]

    config/global: Cleanup parsing of obsolete dvbapi parameters.


  * [r8209]

    config/reader: Use single function to parse "services" settings.

    Lets save a little bit of space.


  * [r8208]

    Change services parsing functions to use SIDTABS.


  * [r8207]

    Create "struct sidtabs" that contains both positive and negative services.

    This would allow cleanups in config parsing functions.


  * [r8206]

    config/reader: Refactor parsing of "caid" settings.

    Lets save a little bit of space.


  * [r8205]

    config: Refactor parsing of "group" settings.

    Lets save a little bit of space.


  * [r8204]

    config: Refactor parsing of "class" settings.

    Lets save a little space.


  * [r8203]

    config/reader: Remove duplicated function that already exists in oscam-config.global.c

    Saving a little bit of space is always good.


  * [r8202]

    config: Refactor parsing of newcamd keys.

    Less binary size + less code == can't be bad!


  * [r8201]

    config/global: Refactor parsing of cs378x and newcamd port settings.

    porttab_newcamd_fn() and porttab_cs378x_fn() are mostly the same, lets
    save a little bit of space.


  * [r8200]

    Split config functions out of global-functions.h to oscam-config.h


  * [r8199]

    Remove "oscam-" prefix from config header files.


  * [r8198]

    Fix warnings in SH4 compilation.


  * [r8197]

    Fix a segfault when reloading srvids while OSCam is running.


  * [r8196]

    Correct revision output in some more places (r instead of hash sign to be consistent with ticket system). WebIf: Separate some settings so that they are not displayed if OSCam is not compiled with the needed options and also rearrange the options to make them a bit more clear. Thanks to FilipeAmadeuO for providing this patch.


  * [r8195]

    - Fix misleading baudrate messages on readers that dont use it



  * [r8194]

    cccam: Fix another possible crash.

    Thanks to malakudi for finding the bug.


  * [r8193]

    cccam: Fix another possible crash.

    Thanks to malakudi for finding the bug.


  * [r8192]

    Fix possible crash in cccam module when oversized packet is received.

    The patch was posted in streamboard forum by malakudi.


  * [r8191]

    Small fix in signal handling.

    With this when ctrl+c is hit in the console, oscam actually
    runs the cleanup procedures before exiting.


  * [r8190]

    config/reader: Some of values must lowercased otherwise there are problems.

    This should fix ticket #3090.


  * [r8189]

    Create default pid file on startup.

    After this commit here is how pidfile name is set (each step have
    precedence over the earlier one):

    1. The default pidfile name is $TMPDIR/oscam.pid (/tmp/.oscam/oscam.pid)
    2. If pidfile= is set in oscam.conf [global] then it is used instead.
    3. If --pidfile (-B) command line parameter is set then it is used instead.


  * [r8188]

    Add support for long command line parameters.

    Short parameters (-c) are nice when you are running something quickly
    from the command line, but long parameters (--config-dir) have advantages
    that they are kind of self documenting.

    For example you pretty much have to look at the help when you see oscam
    process in `ps` that is run with `oscam -c /etc -u -a -r 2 -w 0`. Well
    now it would be possible to see: `oscam --config-dir /etc --utf8 --crash-dump --restart 2 --wait 0`

    Currently we have 16 command line parameters and probably at some
    point we are going add more. Once the command line parameters
    start to get into two digit numbers relying only on short parameters
    is starting to be an issue.


  * [r8187]

    devtools: Add script that checks command line parameters.

    The script will work after long cmdline parameters are introduced
    in the next commit.


  * [r8186]

    Fix the type of pand_send_ecm variable in struct s_reader.

    It is parsed in the config as uint8_t and struct s_client have
    it as uint8_t.


  * [r8185]

    Added new commandline option '-B' to documentation.


  * [r8184]

    Added new commandline option '-l' to documentation.


  * [r8183]

    Reader's label can now be anything, stop trying to lowercase it.


  * [r8182]

    webif: Do not lose pidfile setting when saving global config.


  * [r8181]

    Proper fix for ticket #3085 (oscam crashing).

    Its a little bit of mistery why the code is not crashing on x86/x86_64
    because it does exactly the same as STBs.

    If mg-encrypted was not set (or properly formated), AES_decrypt()
    and strtok_r() were called on a pointer to NULL because buf was
    never allocated.


  * [r8180]

    Disable parsing of mg-encrypted temporary to fix powerpc crash.


  * [r8179]

    Add -B command line parameter (set pidfile name).

    Using -B sets pidfile name and takes precedence over pidfile= setting
    in [global] section of oscam.conf.

    Now you can run oscam as proper daemon by executing:

       `oscam -c conf_dir -b -B oscam.pid`


  * [r8178]

    Add -I command line parameter (set syslog ident).

    With -I user can set the ident used by oscam when logging to syslog.
    The default ident is "oscam".


  * [r8177]

    config/reader: Fix build error when WITH_LB is disabled.


  * [r8176]

    Added new parameter 'pidfile' to documentation.


  * [r8175]

    config/reader: Convert reader config to use the generic parser.

    Now with much cleaner code and savings all over :)

    binary size  from 21889 to 20126 -> 1736 bytes less
    source size  from 42969 to 36519 -> 6450 bytes less
    source lines from 1609  to 1228  ->  381 lines less

    In addition this fixes ticket #3043.


  * [r8174]

    webif: Prevent segfault when saving reader that do not exists.


  * [r8173]

    Fix minor typos in log messages.

    Fixes ticket #3083.


  * [r8172]

    Add support for saving pid file.

    This adds new setting in [global] named "pidfile". This setting
    holds filename in which pid of the oscam process would be written
    on start/restart.

    Example oscam.conf:

    [global]
    pidfile = /var/run/oscam.pid

    This closes ticket #3079.


  * [r8171]

    config/reader: Refactor parsing of "cooldown" and related settings.

    Preparation for reader config conversion.


  * [r8170]

    config/reader: Refactor parsing of "ratelimitecm" and "ratelimitseconds" settings.

    Preparation for reader config conversion.


  * [r8169]

    config/reader: Refactor parsing of "auprovid" setting.

    Preparation for reader config conversion.


  * [r8168]

    config/reader: Refactor parsing of "boxkey" setting.

    Preparation for reader config conversion.


  * [r8167]

    config/reader: Refactor parsing of "savenano" and "blocknano" settings.

    Preparation for reader config conversion.


  * [r8166]

    config/reader: Cleanup nano generation.


  * [r8165]

    config/reader: Refactor parsing of "blockemm-bylen" setting.

    Preparation for reader config conversion.


  * [r8164]

    config/reader: Refactor parsing of "emmcache" setting.

    Preparation for reader config conversion.


  * [r8163]

    config/reader: Refactor parsing of "group" setting.

    Preparation for reader config conversion.


  * [r8162]

    config/reader: Refactor parsing of "aeskeys" setting.

    Preparation for reader config conversion.


  * [r8161]

    config/reader: Refactor parsing of "class" setting.

    Preparation for reader config conversion.


  * [r8160]

    config/reader: Refactor parsing of "chid" setting.

    Preparation for reader config conversion.


  * [r8159]

    config/reader: Refactor parsing of "ident" setting.

    Preparation for reader config conversion.


  * [r8158]

    config/reader: Refactor parsing of "detect" setting.

    Preparation for reader config conversion.


  * [r8157]

    config/reader: Refactor parsing of "atr" setting.

    Preparation for reader config conversion.


  * [r8156]

    config/reader: Refactor parsing of "ins7e" and "ins7e11" settings.

    Preparation for reader config conversion.


  * [r8155]

    New default value in documentation for 'inactivitytimeout'parameter, TXT and HTML format now, too.


  * [r8154]

    New default value in documentation for 'inactivitytimeout'parameter.


  * [r8153]

    After answer 9011 - conax smart card need reset.



  * [r8152]

    config/reader: Refactor parsing of "blockemm-X" and "saveemm-X" settings.

    Cleanup and preparation for reader config conversion.


  * [r8151]

    config/reader: Refactor parsing of "rsakey" setting.

    Preparation for reader config conversion.


  * [r8150]

    config/reader: Refactor parsing of "boxid" setting.

    Preparation for reader config conversion.


  * [r8149]

    config/reader: Refactor parsing of "caid" setting.

    Preparation for reader config conversion.


  * [r8148]

    config/reader: Refactor parsing of "cacheex_ecm_filter" setting.

    Preparation for reader config conversion.


  * [r8147]

    config/reader: Refactor parsing of "services" setting.

    Preparation for reader config conversion.


  * [r8146]

    config/reader: Refactor parsing of "key" setting.

    Preparation for reader config conversion.


  * [r8145]

    - fixed another provid problem
    - this fixes ticket #3048



  * [r8144]

    cfg/reader: Remove cccam special cases for "inactivitytimeout" setting.

    cccam reader already contains fixups for "inactivitytimeout" setting
    (rdr->tcp_ito) so special casing CCCAM in reader config is just
    redundant.


  * [r8143]

    webif: Add robots.txt which prevents indexing of oscam's webif.

    This commit implements enchancement proposed in ticket #3075.


  * [r8142]

    Revert "config/reader: Remove obsolete settings (cooldowndelay, cooldowntime)."

    This reverts commit r8128. Apparantly they are used althou undocumented.


  * [r8141]

    Tryfix2 CCcam timeouts tnx to basta2k

    - Squashed a little bug
    - Update timers only on ecm and emm messages

    But still closed idle cccam readers are suddenly awaked again.
    One source is emm update (but I think thats fine)
    If you find another source plz report!



  * [r8140]

    config/reader: Always set proto version in NEWCAMD protocol case.


  * [r8139]

    oscam/reader: Allow camd33 protocol for readers.


  * [r8138]

    config/reader: Fix brown bag bug.  Wrong function was called to write device setting.

    Fixes ticket #3071.


  * [r8137]

    config/reader: Do not warn after parsing valid settings.

    Fixes ticket #3072.


  * [r8136]

    Tryfix raising ecm answer times on certain readers with multiple user requests
    Tnx to Homesite and Lomax for their quick report!

    Report issues in forum!



  * [r8135]

    WebIf: Older IEs do not support apos html code when escaping. We use the numeric value instead now.


  * [r8134]

    config/reader: Refactor parsing of "device" setting.

    Preparation for reader config conversion.


  * [r8133]

    config/reader: Refactor parsing of "protocol" setting.

    Refactor and cleanup parsing of "protocol" setting in preparation
    for reader config conversion.


  * [r8132]

    Moved code to read written chars, so the next read operation doesnt have to
    wait for reading written chars on readers that echo those.



  * [r8131]

    Removed obsolte parameter 'account' from 'oscam.server'-documentation.


  * [r8130]

    Added new reader protocol 'ghttp' to documentation.


  * [r8129]

    config/reader: Remove obsolete setting (account).

    "account" setting was replaced by "user" and "pass" settings.


  * [r8128]

    config/reader: Remove obsolete settings (cooldowndelay, cooldowntime).

    Remove "cooldowndelay" and "cooldowntime" reader settings. These
    are undocumented and are replaced by "cooldown" setting.


  * [r8127]

    config/reader: Remove obsolete settings (ccmaxhop, ccchopsaway, cccreshar).

    Remove settings that are obsolete for a long time and are replaced
    by new ones:

    "cccmaxhop" is named "cccmaxhops".
    "ccchopsaway", "cccreshar" are aliases for "cccreshare".


  * [r8126]

    config/reader: Refactor parsing of "ecmheaderwhitelist" setting.

    No code changes, just a preparation for reader config conversion.


  * [r8125]

    config/reader: Refactor parsing of "ecmwhitelist" setting.

    No code changes, just a preparation for reader config conversion.


  * [r8124]

    config/reader: Refactor parsing of "mg-encrypted" setting.

    No code changes, just a preparation for reader config conversion.


  * [r8123]

    config: Add config_list_save_ex() function.

    The code is not used yet, it is needed for the reader config conversion
    because a reader can contain values which are written only in some
    cases (hardware reader or network reader).


  * [r8122]

    - pidindex no longer needed when processing emms since new emm handling



  * [r8121]

    - revert cw part of r8119



  * [r8120]

    Short events should be logged, the only exception are sleeping messages.

    This fixes ticket #2858 and it is a better fix for ticket #2539.


  * [r8119]

    - take reader->auprovid into account when starting emm filter
    - cryptoworks & viaccess: emm support for multiple cards for same channel and same caid but different provid
    - viaccess: return written instead of error after writing an emm to a card (even if the answer is not 90 00) .. otherwise some cards like 0500:040810 get valid updates, but oscam always returns error.
    - coolapi: removed emm workaround because it is no longer needed since the new filter handling in r8084



  * [r8118]

    WebIf: Output revision correctly. The up-to-now used hash is used to refer to tickets, thus it creates a bit confusions in our tickets.


  * [r8117]

    config: MODULE_GHTTPD should be disabled in defconfig.


  * [r8116]

    module-ghttp: No need to initialize s_ip to zero.

    The structure is already zeroed, also when IPv6 is enabled
    s_ip is not a value but a structure and without this fix oscam do
    not compile.

    This fixes #3063.


  * [r8115]

    Experimental and partial implementation of a http-based protocol (client/reader only), for use with dvbapi.



  * [r8114]

    Tryfix Ticket 3061: cache-ex mode 3 CCcam

    Cache-ex is only pushing out, so never receive from other side = disconnect



  * [r8113]

    Use the current STAPI-code to read data from internal readers with a chunksize of 1 as some SH4 receivers have problems otherwise. This is a temporary solution until we get a config option for this as not all sh4 receivers will be affected by the problem.


  * [r8112]

    - Tryfix for cccam reader timeouts



  * [r8111]

    Newcamd: Fix bogus messages about "invalid client" on client disconnects.


  * [r8110]

    WebIf: Improve hexserial output on entitlements page as it shows bogus zeros on some systems like nagra.


  * [r8109]

    - added provid to FILTERTYPE
    - added some additional checks



  * [r8108]

    Allow reloading Nagra entitlements for some more Nagra systems. Try a fix for WebIf crashing.


  * [r8107]

    - better way to stop emm filter
    - don't stop emm filter for channel A if zapping to channel B with 2nd tuner



  * [r8106]

    Update for 'oscam.dvbapi' documentation.


  * [r8105]

    WebIf: Improved debug message on stale headers.


  * [r8104]

    - resetting index after timeout is not a good idea



  * [r8103]

    Fix some compile warnings.


  * [r8102]

    WebIf: Improve Digest authentication so that it uses an opaque value to identify the client and so that the nonce is not bound to server time anymore but rather to the client. On clients who can parse the nextnonce in the header (currently seems to be only Opera), reauthentication because of an outdated nonce will never happen anymore as long as the two requests are not more than 2 minutes in between. On broken clients which dont correctly handle the stale flag (Safari in all of its kinds), you have now also about 2 minutes time to enter your login details without getting the login popup again (though, Safari is still not recommended as it seems to be generally quite buggy regarding digest authentication).


  * [r8101]

    - potential fix for "ERROR: ioctl(CA_SET_DESCR): Invalid argument"



  * [r8100]

    - fixed an emm bug when user has different cards for same channel
    - fixed a possible segfault



  * [r8099]

    Added new parameter 'X' multi ECM in 'oscam.dvbapi' to documentation.


  * [r8098]

    Added new parameter 'A' in 'oscam.dvbapi' to documentation.


  * [r8097]

    Added new parameter 'J' in 'oscam.dvbapi' to documentation.


  * [r8096]

    Documentation formatting update for 'device' in 'oscam.server'.


  * [r8095]

    - Instable index assignment caused no decoding on some boxes
    Tnx to BeeBee and hk2k2 for testing and reporting!



  * [r8094]

    - Fixed bugs introduced in commit 8090 (tnx Depp0n!)
    - Added text output to emmtype for better readabilty of log



  * [r8093]

    Another compiler fix for clang.


  * [r8092]

    Fix some compiler warnings. Improve inlining on often called ll_count and cur_client functions.


  * [r8091]

    Additional capmt parsing added (enigma namespace, tsid, onid - currently unused)



  * [r8090]

    - Global emm update seca cards was broken -> fixed!
    - No more emm parsing for disabled readers
    - Added emm reader log



  * [r8089]

    - emm fix for bulcrypt



  * [r8088]

    - some more improvements in emm-handling
    - iteration over cl->aureader_list instead of all active readers because it makes no sense to activate filter which are not in the aureader_list (which is used in oscam.c)
    -> known problem: aureader_list is sometimes buggy and doesn't contain all au readers which results in "DISABLED! (no matching reader)" instead ofs "ENABLED!"



  * [r8087]

    - same fix like r8085 if services are in use
    - added one line which got lost in r8084



  * [r8086]

    Documentation update for 'au' in 'oscam.conf'.


  * [r8085]

    - fix for cards where dvbapi reads provid 0 in pmt table (cards have different provid in ecm)



  * [r8084]

    1) implemented complete new emm handling:
    before:
    - it was nearly impossible to activate unactivated cards with oscam because oscam constantly stopped and started emm filter after an ecm pid change. a card only got emm's when it was already activated or if oscam was forced to stay on a pid (P: XXXX 1)
    - it was only possible to get emms for one card only (the one that is currently decoding or forced to with P: XXXX 1)

    now:
    - after a zap to a channel oscam saves all emm filter for all cards that are matching. oscam activates the max number of emm filter and does NOT stop them until next zap.
    - if a user has a lot of cards matching one channel and if there are more emm filters than the demux device is able to handle, oscam circulates between the filters. if a user wants to keep a specific filter always active P: XXXX 1 is doing the job.
    - that way oscam can activate unacticated cards. if a user has more cards for one channel all cards are getting updates no matter if they are currently decoding or not.

    2) implemented new filter handling for coolstream:
    before:
    - for each pid a seperate channel was opened.
    - emm filter could cause a high cpu usage (10-20%).
    now:
    - only one channel is opened per pid. filter with same pids are attached to the same channel.
    - its now possible to activate more filter.
    - cpu usage <1% no matter how many activated filters.



  * [r8083]

    DVBApi: Fix for last patch.


  * [r8082]

    DVBApi: Add Multi-ECM support via new X-line in oscam.dvbapi. All streams that are associated with the ecmpid defined through the X line will be decoded on an eXtra demux index on the same ca device. This feature is useful if you have channels that need DIFFERENT CWs for audio and video. Format is:
    X: [CAID]:[PROVID]:[SRVID]:[ECMPID]
    Note that not all receivers may support this feature. Should fix #2252. See also http://www.streamboard.tv/wbb2/thread.php?threadid=36647


  * [r8081]

    Enlarge TCPKeepAlive interval for DiabloWifi clients in Newcamd mode as it has problems with it.


  * [r8080]

    Try to fix #3042 conax RSA pairing for dishtv. Not tested!


  * [r8079]

    WebIf: Fix for encoding of special characters (problem depended on used compiler/options).


  * [r8078]

    DVBApi: Add possibility for J- and A-lines in oscam.dvbapi. Syntax:
    J: [CAID],[providerID]:[service ID]:[ECM_PID] CAID:ProviderID:ECM_PID
    A: ::service ID:[PMT PID] :[providerID]:[ECM_PID]
    The J-line allows to Join to another ECM PID. See http://www.streamboard.tv/wbb2/thread.php?threadid=32459 for details.
    The A-line allows to specify channels which seem unencrypted but are in fact encrypted using a static cw. For these, a dummy ECM request with CAID FFFF will be created when you have a matching A-line. See #2677 for details.


  * [r8077]

    Review for Cardservproxy cache exchange integration documentation.


  * [r8076]

    Documentation update for 'device' in 'oscam.server.


  * [r8075]

    Update for 'list_smargo' command in documentation.


  * [r8074]

    Fix warning.


  * [r8073]

    Fix for not clearing WebIf entitlements for nagra. Fixes #2796.


  * [r8072]

    Output "Cache" instead of "none" for the reader in ecm.info file if the answer is coming from cache. Patch provided by Gorgone.


  * [r8071]

    Fix for wrong line display on whitelist filtering. Fixes #2692.


  * [r8070]

    Add a small sleep before disconnecting clients with dropdups enabled. This should prevent from "DoS attacks" by some aggressively reconnecting camds. Fixes #2888.


  * [r8069]

    Commit extended patch from #3025 for internal stapi readers allowing chunk reads. Previously, the workaround for reading on these receivers was used on all sh4 receivers and also on external mouse readers. Now it is limited to stapi and internal readers.


  * [r8068]

    Fix a memleak when there is no lb stat file. Fix a bug with the hashed client list. Shorter wait cycles for log close.


  * [r8067]

    CacheEX (Mode 2&3) / CSP: add dynamic wait & incoming ecm filter
    fix mem leak when using csp incoming ecm filter


  * [r8066]

    Hash client list for faster search on some often-called functions. Improve performance of idle check.


  * [r8065]

    Smartreader: Case insensitive for device parameters. Cleanup when deattaching the kernel driver fails.


  * [r8064]

    Invert garbage list for better performance: New elements get appended at the end, cleanup is done from the beginning so that we only iterate over the items that need cleanup. Tryfix for list_smargo util.


  * [r8063]

    - Coolstream driver expects timings in ETU
    - added some proprietary api calls to display driver settings of coolstream internal reader



  * [r8062]

    CacheEX (Mode 2&3) / CSP: add dynamic wait & incoming ecm filter
    fix mem leak


  * [r8061]

    CacheEX (Mode 2&3) / CSP: add dynamic wait & incoming ecm filter
    Update documentation


  * [r8060]

    CacheEX (Mode 2&3) / CSP: add dynamic wait & incoming ecm filter
    http://www.streamboard.tv/wbb2/thread.php?threadid=36365
    compact cacheex/csp settings
    reader-common change debug lv to reader


  * [r8059]

    Small Update 'device' documentation for USB readers.


  * [r8058]

    Early out on debug level for log messages.


  * [r8057]

    Update 'device' documentation for USB readers.


  * [r8056]

    Update for 'ecmfmt' documentation.


  * [r8055]

    Small improvement on output for list_smargo utility.


  * [r8054]

    oscam-log: forgot building without cacheex


  * [r8053]

    oscam-log: extended to show csp hash and cw



  * [r8052]

    Some further optimizations.


  * [r8051]

    Some further optimizations.


  * [r8050]

    Save a few bytes of memory per ecm request by reducing variables to necessary size and removing the pretty much unused "level" variable.


  * [r8049]

    Tryfix3 reading of SH4 -> adding the missing readed = 0



  * [r8048]

    Some more small optimizations.


  * [r8047]

    Some more small optimizations for an often-called function in CacheEx.


  * [r8046]

    Inline a function for cacheex for better performance as it is otherwise extremely often called.


  * [r8045]

    Missed one place for #3028.


  * [r8044]

    Fix for #3027 and #3028.


  * [r8043]

    Tryfix2 for nonworking read on SH4 boxes
    Restored behaviour on SH4 only as before rev 8028: read chars one by one



  * [r8042]

    Fix for wrong supplied values to ecm pending command line parameter. Fixes #2828.


  * [r8041]

    Fix WebIf link to wiki for block_same-variables.


  * [r8040]

    Smartreader: Correct locks on init and close.


  * [r8039]

    Try to adapt list_smargo utility to new config format (please test as I dont have such a device).


  * [r8038]

    Tryfix for ticket 3025 (Stapi Read broken) tnx to ngc1927 for reporting!
    Plz test I dont have SH4 / STAPI boxes so I cannot test it myself.



  * [r8037]

    Tryfix read all writen chars. Sometimes not all written chars were read and
    caused error for all further reader communication.
    Increased the timeout to approx 10 seconds, that would be enough I guess ;)



  * [r8036]

    Remove unintended commit part...


  * [r8035]

    Fix compiler warning


  * [r8034]

    in some cases channel cache overruled oscam.dvbapi, should be fixed now



  * [r8033]

    Remove device_out_endpoint from config. Instead, you can now specify the reader type in front of the device string separated by a ";".
    Possibilites are "SR" (Argolis Smartreader), "Infinity" (Infinity USB Smart), "TripleP1" (Argolis TripleReader Port 1), "TripleP2" (Argolis TripleReader Port 2) or "TripleP3" (Argolis TripleReader Port 3). Example is device=TripleP1;Serial:00000001. If you dont specify the reader type, it defaults to the Argolis Smartreader.


  * [r8032]

    DVBAPI: patch by blaky
    create ecm.info also on cachehits




  * [r8031]

    DVBAPI: tryfix by blaky
    http://www.streamboard.tv/wbb2/thread.php?threadid=36605


  * [r8030]

    Fix typo in build readme.


  * [r8029]

    Fixed a typo in commit 8028



  * [r8028]

    - Increase of receive size from always 1 at the time to all chars at once
      (In order to reduce overhead and possible speedup of ecm answers)



  * [r8027]

    - Remove of cs_sleep -> did not solve resync issues



  * [r8026]

    Doublecheck: Fix for two clients watching same channel (#2645). We now only see real FOUNDs as valid for the double check calculation because previously, the ecms distributed from ecmcache would try to double check again (but no answers will be coming anymore resulting in timeout).


  * [r8025]

    Happy new year 2013! + a small fix to prevent concurrent config initializations through multiple SIGHUPs.


  * [r8024]

    WebIf: Make sure that we output extended info like channel name on the status page only for readers and clients and not for management threads.


  * [r8023]

    WebIf: If a NULL value is added via tpl_AddVar, it is now correctly allocated to an empty string (important for loops). Changed internal memory allocation in urlencode and xml_encode functions.


  * [r8022]

    wrong use of value


  * [r8021]

    Tryfix camd35 module duplicate users
    Report issues in forum!



  * [r8020]

    - Improved EAGAIN and EINTR errorhandling like we had before switch to poll
      Again tnx to szepter for the patch (see ticket 3009)



  * [r8019]

    Lower values for TCP keepalive to allow faster detection of disconnects.


  * [r8018]

    - fixed compiler warning



  * [r8017]

    - further improvement of r8008
    - fixed "lock on caid" / not trying next caid when using P: values in oscam.dvbapi



  * [r8016]

    remove unused variable


  * [r8015]

    speedup garbage thread
    put log messages to right lv, when comming up, then spam the log
    log like "why we get lock, when we have nothing to speak out loud", speedup

    http://www.streamboard.tv/wbb2/thread.php?postid=442603#post442603


  * [r8014]

    Reduce locktime when adding data to the garbage collector mechanism.


  * [r8013]

    Update for 'device_out_endpoint' parameter in documentation.


  * [r8012]

    Fix a compiler warning.


  * [r8011]

    Commit 8009 was a total fucked up -> corrected!
    Tnx admin for quick reporting!



  * [r8010]

    - Added webif addon for tripplereaders
      Tnx->Oliv3r for patch



  * [r8009]

    - Public tryout replace last 2 select constructions with poll
      Tnx to szepter for this patch
      Plz report issues in forum!



  * [r8008]

    - Fix for unwanted increasing demuxindex of ca device on decoding issues
    - Added odd/even part controlword output in dvbapi debugmode



  * [r8007]

    Patch by Nimloth/Schasanify for some limited support of Argolis TripleReader (only port 0 working). See #2470 for further details.


  * [r8006]

    Revert commit 8005 -> broke new features added by Admin



  * [r8005]

    - Client idle wasnt working anymore for me, it kept counting up -> fixed!



  * [r8004]

    Some more small cosmetical fixes due to static code analysis from gorgone.


  * [r8003]

    fixed I:0 which was broken since r7998


  * [r8002]

    cccam: NOK1 behaviour change: Instead removing card, service is blocked



  * [r8001]

    - Reiniting user db did not update ac numusers and penaltys. Fixes #2143.
    - Time on channel counted further even if user did not request for some time (for example if he uses other reader or switches to fta). Fixes #2922.


  * [r8000]

    don't request a cw from original caid if answer from betatunneled caid already failed (and vice versa)


  * [r7999]

    Some small fixes due to Gorgones static code analysis. Correct exit in monitor module so that there is no warning on disconnect anymore. Always show the last watched channel on user site in WebIf if user is idle. Save disconnection time in a separate variable as the "last" variable also holds information about keepalives which is bad for display.


  * [r7998]

    a) oscam.c: fixed bad cache answers when different caids use same ecm packets,
    b) oscam-chk.c: re-enabled entitlements check with caid-check only to prevent bad requests,
    c) dvbapi: fixed buggy try-counter which caused some strange behavior when reading pmt-tables and trying different ecm-pids,
    d) dvbapi: fixed preferlocalcards=1 if user has oscam.dvbapi but no p-value(s) in it,
    e) dvbapi: prioritize ecm-pids through matching_reader(...); if user has no oscam.dvbapi and preferlocalcards=0,
    f) dvbapi:  enabled channel cache for requestmode=0 and prioritize caids which are in cache,
    g) dvbapi: removed some duplicate debug output



  * [r7997]

    - Invertbuffer fills up logs -> moved to loglevel D_IFD (was D_ATR)



  * [r7996]

    Monitor: Fix wrong au display. Fixes #2930


  * [r7995]

    size to small when use full ecmfmt format (c&p/i/d/s/l:h)


  * [r7994]

    WebIf: Update idle time on disconnect so that is visible for how long the reader is already disconnected. Fixes #2759.


  * [r7993]

    DVBApi-MCA: Final fix.


  * [r7992]

    DVBApi-MCA: Other try for compiler fix...


  * [r7991]

    forgot {} in 7990, sorry



  * [r7990]

    7982 break "replaced pushed ECM" in cacheex, when push come from csp er-ecmd5 invalid
    (cacheex) backport for 7941 when check ecmd5 befor csp_hash




  * [r7989]

    WebIf: Add ecmfmt to global config section.


  * [r7988]

    Set signal handling up for daemon process at startup (and handle some signals different in it). This should fix #2745.


  * [r7987]

    Tryfix: Send T14 APDU in 1 instead of 3 write sequential transmit commands
    - Fix found by szepter for his setup of smargo and sky n3 cards issues
    - Tested by Irata on his sc8in1 and found working
    - Not tested on old systems



  * [r7986]

    DVBApi-MCA: Fix compile warning.


  * [r7985]

    WebIf: Small code simplification.


  * [r7984]

    WebIf: Fix for setting the correct protocol name when editing readers.


  * [r7983]

    Update example for 'oscam-server'.


  * [r7982]

    cacheex-matcher fix



  * [r7981]

    - Fixes for cacheex exchange over CCcam protocol

    *** All cache-ex partners need to update to this version ***

    If a partner isnt updated yet they will see a cachex 'old format' in their logs
    In your server logs you will see a ignore due to 'wrong format.




  * [r7980]

    Update for Smargo Smartreader+ in documentation, again.


  * [r7979]

    - Missed a else in my previous commit
      Tnx Depp0n for pointing me on this!



  * [r7978]

    Partly reverted commit 7967 (prio fix for oscam.dvbapi without p rules)



  * [r7977]

    Added example for Smartreader in smargo mode


  * [r7976]

    Reader recover for internal readerdevices

    While testdriving a HD02 card I stumbled over an unresponsive internal reader.
    Only a powercycle of the box got the reader responsive again.
    While searching for the culprit I stumpled over the fact that FS 0 made
    the reader responsive again without the need to powercycle the box.



  * [r7975]

    Update for Smargo Smartreader+ in documentation.


  * [r7974]

    Reimplement r7972 cleanly.

    This is a much simpler implementaton of commit r7972.


  * [r7973]

    Revert "Tryfix Kill_Thread"

    This reverts commit r7972. It can be implemented much simpler and cleaner.


  * [r7972]

    Tryfix Kill_Thread

    Some users report crashing oscam latest message in log was "WARNING: invalid client"
    After analysing of the sources it seems to me it was possible that kill_thread killed the current client and by doing that oscam would crash for sure.



  * [r7971]

    Revert "According to the GNU Make manual, the flags are automatically parsed to"

    This reverts commit r7970.

    The purpose of `$(MAKEFLAGS)` in Makefile.extra is to allow overwriting
    variables that are already set on the make command line. See the difference:

    Without `$(MAKEFLAGS)` (commit r7970):

    {{{
    $ make static EXTRA_TARGET=""
    make --no-print-directory \
            EXTRA_FLAGS=-static \
            EXTRA_TARGET=-static
    }}}

    With `$(MAKEFLAGS)` (after reverting r7970):

    {{{
    $ make static EXTRA_TARGET=""
    make --no-print-directory \
            EXTRA_FLAGS=-static \
            EXTRA_TARGET=-static \
            EXTRA_TARGET=
    }}}

    Yes, `$(MAKEFLAGS)` are automatically passed to sub-makes but they
    are put before any variables that are set on the command line. This prevents
    reseting already set variables.


  * [r7970]

    According to the GNU Make manual, the flags are automatically parsed to
    recursive versions of make.

    Hence, $(MAKEFLAGS) is obsolete in Makefile.extra




  * [r7969]

    - oscam.dvbapi i: line was broken -> fixed!
    - dvbapi using preferlocalreader option ignored i: lines in dvbapi -> fixed!



  * [r7968]

    smartreader: Three coding conventions in a single file of less than 150 lines is a bit too much


  * [r7967]

    - Start emmfilter before ecm processing (might be usefull for unactivated cards)
    - Prio fix for oscam.dvbapi without p rules



  * [r7966]

    cccam: Prevent segfault when procesing EMMs.

    This fixes ticket #2992.


  * [r7965]

    fixed another timeout situation: When a client disconnects, other
    clients waiting on same requests could lose their request-link



  * [r7964]

    fixed output: cache2 instead found when answer is splitted because of
    different request user groups
 -- Andrey Pavlenko <email address hidden>   Mon, 14 Oct 2013 18:48:13 +0400

Builds

Package files

No files published for this package.