Format: 1.8 Date: Sat, 25 Apr 2015 13:46:54 +0300 Source: oscam Binary: oscam oscam-newcamd Architecture: source Version: 1.20-10882~r10652-vivid Distribution: vivid Urgency: medium Maintainer: Andrey Pavlenko Changed-By: Andrey Pavlenko Description: oscam - OSCam: Open Source Conditional Access Module oscam-newcamd - OSCam: Open Source Conditional Access Module Changes: oscam (1.20-10882~r10652-vivid) vivid; urgency=medium . * [r10652] . dvbapi: add support for ECMINFO in network mode (bump proto to v2) . . . * [r10651] . irdeto basedate update http://www.streamboard.tv/wbb2/thread.php?postid=541615#post541615 . . * [r10650] . - Fix abs() compile warnings reported by BigGyros . . . * [r10649] . Fix for chk_port_tab, 'prids' index should be set to 0 for every 'filts' index change . Tnx to Azurit3 for catching this bug and testing! . http://www.streamboard.tv/oscam/ticket/4165 . . . * [r10648] . [gbx] Improve rebroadcast thread . . . * [r10647] . - Fix for broken stapi timeshift introduced r10640 . . . * [r10646] . - dvbapi: revert flushread before setting new sectionfilter . . . * [r10645] . [gbx] Make compilers happy (fix warnings of r10644) . . . . * [r10644] . [gbx] Move hello send to other send functions . . . . * [r10643] . dvbapi: . - Some rework on irdeto handling - Requestmode 1: added check on valid oldecmpid - Flush ecm filterdata from previous sectionfilter before setting a new ecm sectionfilter . . . * [r10642] . Dvbapi guet rid off compile warning. . This warning was just cause error msg from function read was not used. Error handling is well done. So it's just an ennoying warning in this case. With this nothing changes except that we are rid of the compile warning. . . * [r10641] . [gbx] reshuffle code to make extra declarations superflous . . . . * [r10640] . DVBAPI: . - More CA device streampid rework . . . * [r10639] . [gbx] various patches - revert r10223 to restore good night functionality - split cards write functions to avoid unnecessary local cards writing . . . . * [r10638] . fritzbox toolchain buildfix . . * [r10637] . - Small cs378x and cs357x emm fix . . . * [r10636] . updated hashtable code from http://tommyds.sourceforge.net/index.html . . * [r10635] . gbox build fix . . * [r10634] . Revert r10633 - the people have spoken... . . * [r10633] . cccam: Allow to ignore good/bad sids. . . * [r10632] . - dvbapi: while disabling certain streampid take camask into consideration! . . . * [r10631] . - Stapi dvbapi fix for not stopping old descrambler pid associations after zapping to another channel (introduced r10612) . . . . * [r10630] . Newcamd: . - Fix for non-matching emm caid (introduced r10582) . However the real reason is that before it was broken too: emmcaid was always 0000 but it was eventually checked against 0000 so it passed The improvements gf introduced made the emmchecks more strict and so the bad code of newcamd started to fail. . Tnx Dukynukem for not whining and complaining like others did but eventually providing 2 simple logs and testing the patch! . . . * [r10629] . - Fix for viaccess provid extraction from emm . Tnx goes to Pr2 for research and patch! . . . * [r10628] . [gbx] Fix cards list cleaned on client logout . . . . * [r10627] . - ECM dump fix for ecms that can not be processed by readers . . . * [r10626] . [gbx] Another better return for r10624 . . . . * [r10625] . [gbx] Proper return for r10624 . . . . * [r10624] . [gbx] Add one more LOCKITER in cards module . . . . * [r10623] . [gbx] use LOCKITER instead of ITER for pending cards . . . . * [r10622] . better to use static inline instead of #ifdef . thnx jsompis . . * [r10621] . fix build without HAVE_DVBAPI . . * [r10620] . dvbapi: . - More rework on handling streampids . . . * [r10619] . [gbx] Small correction for writing expired.info . . . . * [r10618] . Tnx goes to Pr2 for this patch! . - Add Maturity level for Seca card - Small rework on Viaccess maturity - Display n/a for not Viaccess or Seca readers . . . . * [r10617] . [gbx] Rework some cards functionalities - Unify delete cards function. - Move checkcode to cards module. - Print expired cards which are currently not send. . . . . * [r10616] . Viaccess: (patch by Pr2) . - Get and display the cards maturity level . . . . * [r10615] . - Cosmetic rework streampid count - Removed workaround for Vu boxes and gigablue boxes -> it doesnt work! . . . * [r10614] . - More rework streampid . . . * [r10613] . dvbapi: . - Only disable streampids not used on another ecmpid on same demuxer or any other demuxer with same index - Some rework on index assign function . . . * [r10612] . dvbapi: . More streampid rework . . . * [r10611] . - Added workaround for boxes with buggy dvb driver implementations (all vu models and gigablue) . . . * [r10610] . dvbapi: . - Next tryfix blackscreen while recording and zapping around on same transponder. . . . . * [r10609] . dvbapi: . - Another tryfix for blackscreen while recording and zapping around on same transponder . . . * [r10608] . [gbx] remove unused variables from structs & fix double local cards . . . . * [r10607] . All cas systems: . - cs_add_entitlement: extended with find only modus and some protection: only add if not found jet! . Viaccess specific: (Special thanks go again to Bit and Pr2 for their testing and logging!) . - Separate reassembly buffers for every provid, this should fix reassembly issues if you have viaccess cards with different providers on them. - Extract provid from 8c/8d nano instead of provid from emmpid so they never can be mixed up with emm 8e for other provid - Combine with the correct provider 8c/8d emm based on the SA info in the 8e emm - Smarter and same filters for network and local cards - Smarter prio of the filters: shared on top, global at the end and skip not useful providers - Nano A9 provider class check to avoid 90 40 (very big thanks goes to Bit for his analysis!) . . . . * [r10606] . - Tryfix flushing a BADF filter will result in infitive loop since select() returns -1 forever - Compiler warning cosmetics but no log flooding since we are not interested in any result . . . * [r10605] . dvbapi . Now rid of compile warning with flush read . . * [r10604] . - Avoid logspam: its slowing down and not funny to see repeating lines . . . * [r10603] . - Dont flush dvb netapi devices: they (mis)use 1 filter for all! - Protection against zero-ed emm in case of receiver internal bufferoverflow . . . * [r10602] . Fix for broken dvbapi pmtmode 0 introduced in r10600 (Tnx Q33ny for reporting!) . . . * [r10601] . - Small logcosmetic fix . . . * [r10600] . DVBAPI: . - Fix for requestmode 1 changing ecmpid while already descrambling (reused streampid could be disabled by stopping old ecm filter and pmt was send again by receiver) - Flush stale filterdata at the moment a filter is stopped to empty receiver internal filter databuffer . . . . * [r10599] . - Free reassembly buffer . . . * [r10598] . - Rework on emm filter rotation . . . * [r10597] . - Nicer fix for r10596 . . . * [r10596] . - Fix for handling of emmfilters if maxfilters is reached. . . . * [r10595] . Introduce caid checking function for Viaccess. . . * [r10594] . Introduce caid checking function for Cryptoworks. . . * [r10593] . Introduce caid checking function for Nagra. . . * [r10592] . Introduce caid checking function for Seca. . . * [r10591] . Introduce caid checking function for Videoguard. . . * [r10590] . Introduce caid checking function for Bulcrypt. . . * [r10589] . Introduce caid checking functions for Irdeto and Betacrypt. . . * [r10588] . Introduce caid checking functions for BISS. . . * [r10587] . cosmetic fixes . . * [r10586] . removed "via_emm_global" setting, since it is no longer used . . * [r10585] . - Small cosmetic fix! . . . * [r10584] . Viaccess: . Special tnx goes to Bit and Pr2 for extensive testing, pointers and feedback! . - Filtering of global emms (needed e.g. for wiping stale entitlement by provider) - Local attached cards only: filtering of shared emms that match with the providers on your cards - Several bugfixes emm filtering/parsing in generic - Added new parameter for reader emmcache - Enabled temporarily the viaccess emm debug logs to track down any reported issues . old emmcache = x,y,z new: emmcache = x,y,z,d . if you set d to 1 then for that reader device specific emms are enabled. default is off since this parameter is only handy for certain users and certainly not for users using cards in readers. . . . . * [r10583] . globals: Remove unused defines. . These defines are not used anywhere. . . * [r10582] . csystem: Build ops as static structures. . We don't really need to call a function to initialize our ops structure. We can directly initialize it and use the structures. Also now we don't have to size the caids array statically. . . * [r10581] . csystem: Make csystem pointer in struct s_reader const. . This signals that nothing should be changed via this pointer. . . * [r10580] . csystem: Turn reader->csystem into pointer to struct s_cardsystem. . Stop copying `struct s_cardsystem` into every reader. We can work with pointer to the structure without problems. . This reduces `struct s_reader` size by ~120 bytes. . . * [r10579] . csystem: Rename all variables that point to struct s_cardsystem to csystem. . This makes it easier to grep for places that call back into card systems. . . * [r10578] . Fix memory leak during RSA operation . . * [r10577] . csctapi: Constify pointers to struct s_cardreader. . This communicates clearly that the ops structure can not be changed at run time. . . * [r10576] . csctapi: Build ops as static structures and return pointer to them. . Now we keep only one copy of card reader ops into memory and next step is to constify the structures. . . * [r10575] . csctapi: Convert s_reader->crdr structure to pointer to struct s_cardreader. . This allows us to keep only one copy of cardreader ops, instead of copying them into every reader context. . . * [r10574] . csctapi: Move s_cardreader.flush flag to struct s_reader. . `flush` flag can be changed on per reader bases (sci reader changes it for exmaple). If we are going to convert reader->crdr from structure to pointer we need to move `flush` into reader context. . . * [r10573] . csctapi: Preparatons for turning reader->crdr into pointer. . This commit is just preparation for converting `struct s_reader->crdr` into pointer to `struct s_cardreader` instead of copy of the structure. . . * [r10572] . Do not print # before numbers. . `#number` is being parsed by trac as reference to ticket number. So posting logs into trac that contain `#number` messes up the logs. . It really is just a cosmetic issue but it annoys me. . . * [r10571] . newcamd: Try to fix ticket #4125. . . * [r10570] . [gbx] Fix doubled local cards . . . . * [r10569] . copy emm to send in emm.html optimized loop . . * [r10568] . [gbx] code restructuring - Centralize converting gbx caprovid functions in helper module - unify add card functions - move ecm checksum to helper - remove caid and provid from card (use caprovid only) - rename provid_1 to caprovid . . . . * [r10567] . boxtype info patch . http://www.streamboard.tv/wbb2/thread.php?postid=536576#post536576 . . . . * [r10566] . Move csystem.active flag into struct s_reader. . This is the only thing that is modified in `struct s_cardsystem`. . Moving this flag into `struct s_reader` would allow us to start using pointer to card system ops, instead of copying the ops into every `struct s_reader`. . . * [r10565] . Constify ->desc field in ops structures. . desc is always initialized with static strings, so adding const communicates this correctly. . . * [r10564] . Remove ->active field from struct s_module. . It is only set in one place but it is never used anywhere. . . * [r10563] . Fix regression introduced in r10557 (try 2). . This reverts r10162 and should fix fixes regression introduced in r10557. . r10562 was not the right fix. The right fix was to return the caid when the list is empty. . This should fix ticket #4123 and #4142. . . * [r10562] . Fix regression introduced in r10557. . This fixes regression introduced in r10557. chk_caid() func was broken when I rewrote it and since it is pretty central to the whole filtering the results were not pretty. . This should fix ticket #4123. . . * [r10561] . smargo: Introduce is_smargo_reader() macro and use it where needed. . This reduces direct manipulation of crdr.desc field. . . * [r10560] . smargo: Remove smargo prefixes in log messages rdr_log() already adds them. . . * [r10559] . Do not leak caidtab when freeing accounts. . Fix leak introduced in r10557. Account's caidtab was not cleared. . . * [r10558] . Replace cs_log() with rdr_log() where we have reader context. . This is not a complete solution, I only changed the places where reader desc was already used in the logging message. There are a lot of places (in modules) where we have reader context but we're using cs_log(). If somebody wants to replace such cs_log() calls with rdr_log(), grep for D_READER in modules-*.c . . * [r10557] . Convert caidtab to dynarray. . Less code, smaller data structures, smaller binary size and added tests for the functionality. . {{{ Structures: struct s_caidtab | -176 struct s_reader | -168 struct s_client | -176 struct s_auth | -176 struct s_config | -520 . Binary: add/remove: 3/1 grow/shrink: 10/10 up/down: 577/-1679 (-1102) }}} . caidtab is used by the following config settings: ACCOUNT: caid READER: caid GLOBAL: lb_noproviderforcaid GLOBAL: double_check_caid GLOBAL: cwcycle_check_caid . Now each of theses can hold more than 32 values which was the old hard coded limit. . . * [r10556] . [gbx] Minor change regarding pointer handling in reinit proxy. . . . . * [r10555] . [gbx] Be even more pessimistic. Addition to 10554. . . . . * [r10554] . [gbx] Protect against null pointer deref. Thx gfto. . . . . * [r10553] . Convert caidvaluetab to dynarray. . Less code, smaller data structures, smaller binary size and added tests for the functionality. . {{{ Structures: struct s_caidvaluetab | -50 struct s_auth | -56 . Binary size: add/remove: 3/0 grow/shrink: 4/5 up/down: 285/-872 (-587) }}} . caidvaluetab is used by the following config settings: ACCOUNT: lb_nbest_percaid GLOBAL: lb_nbest_percaid GLOBAL: lb_retrylimits GLOBAL: cacheex_mode1_delay GLOBAL: fallbacktimeout_percaid . Now each of theses can hold more than 16 values which was the old hard coded limit. . . * [r10552] . Machine info . Azbox fix should now cover premium and premium+ . . * [r10551] . Machine Info . More solid for azbox . . * [r10550] . Machine info . Azbox premium . . * [r10549] . [gbx] Another small addition for r10547. . . . . * [r10548] . [gbx] Minor fix for r10547. . . . . * [r10547] . [gbx] Move call to init_local_gbox as proposed here: http://www.streamboard.tv/wbb2/thread.php?postid=536529#post536529 . . . . * [r10546] . webif: Change return type of tpl_{addVar,addMsg,printf} to void. . The return value of these functions was used in only one place (and it's usage was fishy). I'm changing the return type to void because nothing that these functions can return is currently useful. . . * [r10545] . webif: Make tpl_addTmp() static and remove it from public headers. . This function is used only in module-webif-tpl.c. It should not be public. . . * [r10544] . Update copyright years. . We have made changes in 2014 and 2015 (and we'll probably make even more changes in 2015). So update the years to correctly reflect that the code was changed. . . * [r10543] . If oscam is not running on "generic" device, show the type and name in webif. . . * [r10542] . Allow boxtype_is() to check for "generic" box type. . Also return const declaration for box{type,name}_get() functions. const is needed because the string returned by these functions should not be changed. Using const makes the compiler work for us and warn if we try to change the result of box{type,name}_get(). . . * [r10541] . Free stb_boxname when oscam exists. . . * [r10540] . webif: constify some parameters in template functions. . This makes it clear that these parameters are not going to be changed. . . * [r10539] . Machine Info . Webif cosmetic . . * [r10538] . Machine info . Display Machine type into webif status page. If not known Machine is generic If boxname known Machine is boxname If boxtype known and not boxname Machine is boxtype . . * [r10537] . Patch by ultra47: . Final patch of configuriable showing of emm in emm.html?label=XXX . Default set in Config part WebIf: httpemmuclean (unique emm) => showing and filtering to a size of 256kb, over them cleaning and backup httpemmsclean (shared) => not showing httpemmgclean (global) => not showing . Settings for parameter "httpemmsclean, httpemmgclean, httpemmuclean" -1 => no showing 0 => only show emm file >1 => show filtered and cleaning (if the size higher as settings) emm file . . * [r10536] . Machine info . Extra protection for not cleared parameters . . * [r10535] . Machine info . forgot one line . . * [r10534] . Machine info . extra fix . . * [r10533] . Machine Info . Correction about one name . . * [r10532] . Machine info . Added boxname where it's relevant (cosmetic) . . * [r10531] . [gbx] Minor changes . . . * [r10530] . Machine info . Print correct info by boxtype if boxtype present. Also the final used variable will have the boxtype. . . * [r10529] . build: Add needed libraries when building pcsc under cygwin. . This fixes ticket #4118. The patch is inspired by patch posted by routerunner in this ticket. . . * [r10528] . [gbx] small internal change for calling some card functions . . . . * [r10527] . - tryfix newcamd . . . * [r10526] . Reduce camd35/cccam cacheex code differences. . No code changes just code movement. . . * [r10525] . Reduce camd35/cccam cacheex code differences. . This helps reduce the diff. . . * [r10524] . Reduce camd35/cccam cacheex code differences. . This helps reduce the diff. . . * [r10523] . Reduce camd35/cccam cacheex code differences. . We already have log prefixes, so remove the artificial text difference in logging messages. . . * [r10522] . Reduce camd35/cccam cacheex code differences. . Reduce the differences by using simple var. . . * [r10521] . Reduce camd35/cccam cacheex code differences. . No code changes just code movement. . . * [r10520] . - Fix for broken VDR support introduced in r10519 . . . * [r10519] . DVBApi: . - On sleepsend stop decoding the channel! - Some rework to avoid receiver internal bufferoverflow . . . * [r10518] . move Spam to debug . . * [r10517] . hide another Spam from init log . . * [r10516] . [gbx] fix compiler warnings. Thx ni_hao. Fix #4116 . . . . * [r10515] . - Fix detection of changed host ip for Cs357 connections . . . * [r10514] . [gbx] small addition to r10513 . . . . * [r10513] . [gbx] Unify list of cards. Move all card specific functionality into separate files. Refer to http://www.streamboard.tv/wbb2/thread.php?threadid=43066 . . . . * [r10512] . don't Spam on nonexistent irrelevant files . . * [r10511] . tests: Build tests binary by using standard build system machinery. . This fixes the build under OS X and also allows the tests to cover all oscam functionality (once the tests are written of course). . Note that the binary that build by `make tests` now would be called `tests.bin` (previously it was called `tests`). You can override that name using an undocumented TESTS_BIN `make` parameter, so `make tests TESTS_BIN=blah` would build the tests binary called `blah`. . . * [r10510] . - Move reader emmcache usage detection in function and use it! . . . * [r10509] . New values for parameter 'emmcache'. . . * [r10508] . - Add Atemio Nemesis to fixed readerspeed of 4.5 Mhz (due to usage of TDA8024) . . . * [r10507] . Sci . extra fix . . * [r10506] . Sci . another small fix on autospeed . . * [r10505] . Sci vu+ . Forgot the autospeed 1 this could still clock other speeds according to atr tables. For vu+ usseless and even could trigger bug for cards with higher max fs. The vu+ can only run at 4.5 Mhz. . . * [r10504] . Rewrite ftab parsing and generation functions. . This commit affects these settings: - account: chid, ident - reader: chid, ident, fallback_percaid, localcards . Makes the code smaller and easier to follow. bloatcheck reports binary size savings: {{{ add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-1237 (-1237) function old new delta mk_t_ftab 426 351 -75 ftab_fn 446 201 -245 chk_ftab 1524 607 -917 }}} . Also add tests for the parser and generator. . . * [r10503] . tests: Small text change. . . * [r10502] . Move functions for dynamic array manipulations in oscam-array.{c,h} . . * [r10501] . tests: Check if clone functions work as expected. . . * [r10500] . Rename array functions clear_XXX() to XXX_clear() . This is preparation for unifying array functions. . . * [r10499] . Rename clone_ftab() to ftab_clone() . This is preparation for unifying array functions. . . * [r10498] . Rename clone_ttab() to tuntab_clone(). . This is preparation for unifying array functions. . . * [r10497] . Refactor code to reduce duplication. . Introduce array_clone() and use it to prevent copy + paste code. . . * [r10496] . Refactor code to reduce duplication. . Introduce array_clear() and use it to prevent copy + paste code. . . * [r10495] . Refactor code to reduce duplication. . Introduce array_add() and use it to prevent copy + paste code. . . * [r10494] . Rename ftab_add_filter() to ftab_add() . This follows the style of the other TYPE_add() functions. . . * [r10493] . Exit early if there is nothing to be done in the cfg settings generator. . . * [r10492] . Rename some variables to make the code easier to understand. . . * [r10491] . - tryfix dvbapi emm freezing . . . * [r10490] . vg: Clear entitlements before adding new ones. . Patch by Mandos. This fixes ticket #4115. . . * [r10489] . Rewrite tuntab (betatunnel) conf parsing and generation functions. . Makes the code smaller and easier to follow. bloatcheck reports binary size savings: {{{ add/remove: 1/0 grow/shrink: 0/2 up/down: 82/-489 (-407) function old new delta tuntab_add - 82 +82 mk_t_tuntab 451 288 -163 chk_tuntab 808 482 -326 }}} . Also add tests for 'betatunnel' parser/generator. . . * [r10488] . - Small fix for dvbapi: only init emm filter values for firstrun on non-running channels . . . * [r10487] . - Fix for emmcache lastseen - Some recode for emm handling without emmcache / emmstat . . . * [r10486] . EMM: . Reworked the emmcache and emmstats once more! . usecache = 0,x,x = disable usage of emmcache and emmstats usecache = 1,x,x = enable emmcache, emmstats and save to file if oscam is stopped usecache = 2,x,x = enable emmcache, emmstats but dont save to file if oscam is stopped . . . . * [r10485] . Do not increase the number of entries in the dynarray if allocation fails. . . * [r10484] . Rewrite ecm header whitelist code. . Change the structure that tracked ecm header whitelist and rewrite the related code. Now it is a lot simpler (68 lines less code) and closer to ecm whitelist parser and generator. . Tests module was updated with support for ecm header white list. . There is a positive effect on binary size as well (-440 bytes). . {{{ add/remove: 4/2 grow/shrink: 3/1 up/down: 1639/-2079 (-440) function old new delta chk_ecm_hdr_whitelist - 699 +699 mk_t_ecm_hdr_whitelist - 555 +555 static.ecm_ratelimit_findspace 2499 2685 +186 ecm_hdr_whitelist_add - 113 +113 matching_reader 1973 2008 +35 clear_ecm_hdr_whitelist - 34 +34 static.ecm_ratelimit_check 2728 2745 +17 static.free_reader_ecm_headerwhitelist 66 - -66 mk_t_ecmheaderwhitelist 669 - -669 ecmheaderwhitelist_fn 1473 129 -1344 }}} . A negative is that after the rewrite the ecm header whitelist structure takes a bit more memory than before. . . * [r10483] . Add 'tests' to .gitignore . . * [r10482] . - Errorhandling for emmstat, emmcache and channelcache saving: on error remove created file! . . . * [r10481] . tests: Integrate test vectors into test structure. . . * [r10480] . Make ecm whitelist parser easier to understand. . Rename some variables and small code cleanup. . . * [r10479] . Improve ecm whitelist parser and generator. . Invalid values (0xffff) are reset to zero and now you can have filters that have only ident (provider_id) defined. For example this is valid filter: `@123456:11,22,33` that will match provider with id 123456 and ecm lengths 0x11, 0x22 and 0x33. . . * [r10478] . Add test module for oscam config entries parsers and generators. . We have lots of custom parsers and generators for our config file settings. Unfortunately there are no test vectors for them or any kind of test infrastructure which makes improving them or adding features much harder that it needs to be. . This commit introduces stand alone `tests` module. The purpose of this module (the code is in `tests.c`) is to collect test vectors and to test them. . The module is stand-alone and it is built as separate binary by using `make tests`. . . * [r10477] . - fix semicolon typo . . . * [r10476] . - Dont load/save any channelcache on dbox2 since they will crash . . . * [r10475] . - Dont load/save any emmstat or cache on dbox2 since they will crash . . . * [r10474] . - Add dbox2 to recognized boxtypes . . . * [r10473] . sci . vu+ extra char was not needed . . * [r10472] . Sci . fixed speed 4.50 for all vu boxes . . * [r10471] . Do not initialize openssl twice when ghttp module is enabled. . . * [r10470] . webif/ghttp/ssl: Do not leak memory allocated by openssl. . This patch does several related things: 1. Moves SSL initialization in one place (using it from two threads can cause undefined behaviour). 2. Clean openssl allocated context if ssl initialization in webif failed for some reason (not founding certificate file for example). 3. Clear memory after openssl error functions are called. . . * [r10469] . dvbapi: Fix memset() with reversed parameters. . . * [r10468] . Rename boxtype() function to boxtype_is(). . This prevents old (and broken) compilers from warning about it. . {{{ oscam.c: In function 'init_machine_info': oscam.c:706:7: warning: declaration of 'boxtype' shadows a global declaration [-Wshadow] globals.h:2042:6: warning: shadowed declaration is here [-Wshadow] oscam.c: In function 'boxtype': oscam.c:762:26: warning: declaration of ‘boxtype’ shadows a global declaration [-Wshadow] oscam.c:762:6: warning: shadowed declaration is here [-Wshadow] }}} . Fixes ticket #4112. . . * [r10467] . Do not work directly with stb_boxtype. . stb_boxtype is possible to be NULL, in which case using strcasecmp() or similar functions would cause segfault. This patch defines two new functions for dealing with stb_boxtype. . boxtype(X) checks if stb_boxtype equals X. boxtype_get() returns the detected box type string. . As a nice side effect (in addition to cleaner and safer code) we shave off a bit of binary size. . bloatcheck reports: {{{ add/remove: 2/0 grow/shrink: 0/3 up/down: 63/-255 (-192) function old new delta boxtype - 43 +43 boxtype_get - 20 +20 dvbapi_ioctl 367 359 -8 Sci_Deactivate 251 235 -16 cardreader_init 1784 1553 -231 }}} . . * [r10466] . Sci . set sci in function off boxtype by a couple of dm boxes. Vuduo2 set to the only speed it is clocked. . . * [r10465] . some webif fixes for commit 10403 . . * [r10464] . updated doc for read_old_classes . . * [r10463] . dvbapi: . - More fix for receiver internal bufferoverflow - Skip executing of specific emm filter handlingcode if ecm is being handled! . . . * [r10462] . Added default value for 'read_old_classes'. . . * [r10461] . Added new parameter 'read_old_classes' to documentation. . . * [r10460] . Do not rely on the compiler to clear the whole structure when using short initializer . This prevents the compiler from complaining about: {{{ oscam-conf-chk.c: In function 'chk_ecm_whitelist': oscam-conf-chk.c:504: warning: missing initializer oscam-conf-chk.c:504: warning: (near initialization for 'new_ecm_whitelist.ewdata') oscam-conf-chk.c:508: warning: missing initializer oscam-conf-chk.c:508: warning: (near initialization for 'd.caid') }}} . Reported by AbrahaM. . . * [r10459] . Rewrite ecm whitelist code. . Change the structure that tracked ecm whitelist and rewrite the related code. Now it is a lot simpler (160 lines less code). There is a positive effect on binary size as well (-1.2k). . bloatcheck report: {{{ add/remove: 4/2 grow/shrink: 0/5 up/down: 1059/-2357 (-1298) function old new delta chk_ecm_whitelist - 533 +533 mk_t_ecm_whitelist - 425 +425 ecm_whitelist_add - 67 +67 clear_ecm_whitelist - 34 +34 static.ecm_ratelimit_check 2745 2728 -17 matching_reader 2043 1973 -70 static.free_reader_ecm_whitelist 149 - -149 static.ecm_ratelimit_findspace 2685 2499 -186 update_ecmlen_from_stat 709 340 -369 mk_t_ecmwhitelist 463 - -463 ecmwhitelist_fn 1232 129 -1103 }}} . A negative is that after the rewrite the ecm whitelist structure takes a bit more memory than before. . This fixes small memory leak in parsing shown in trac ticket #4099 comment 11. . . * [r10458] . bulcrypt: Another fix for v2 EMMs. . Patch by chepik suggested in ticket #4110. . . * [r10457] . EMM: . - Prevent oscam from running out of resources: remove stale emmcache + emmstats after 30 days (perhaps make this user configable?) - Some code adoption to prevent possible null deference . . . * [r10456] . 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 }}} . This is the same commit as r8404. . . * [r10455] . - miniLZO update to version 2.09 (released 4 feb 2015) . . . * [r10454] . Allocate TUNTAB dynamically . The TUNTAB structure size is 602 bytes and also the number of entries is limited. . This structure is used to implement the beta tunnel feature via 'betatunnel' account setting. . This feature is not used by everyone but everyone takes the memory hit. . This patch makes the bulk of the structure dynamically allocated. The memory savings are as follows (x86_64 defconfig): . {{{ struct before after delta savings s_tuntab 602 16 -586 97.4% s_client 2440 1856 -584 24.0% s_auth 1976 1392 -584 29.6% . Binary size: add/remove: 1/0 grow/shrink: 5/5 up/down: 335/-485 (-150) }}} . . * [r10453] . doc: Remove CS_MAXTUNTAB mentions in the docs. . CS_MAXTUNTAB is going away when TUNTAB structure becomes dynamic. . . * [r10452] . Clear destination FTAB before parsing the new one. . . * [r10451] . - Cs357 (=camd35 UDP) prevent usage of reconnecttimeout, UDP is stateless so it makes no sense! . . . * [r10450] . Small cleanup of FTAB related code. . . * [r10449] . Correctly reload ident and chid filters on client reinit. . This fixes a bug introduced in FTAB rewrite. . . * [r10448] . - More tryfix for internal filter bufferoverlow of receiver . . . * [r10447] . newcamd: Fix mgclient support which was broken with ftab changes in r10426. . It seems that FTAB changes in r10426 have broken mgclient support in newcamd module. According to the reporter this patch fixes the problem. . Ref: http://www.streamboard.tv/wbb2/thread.php?threadid=43056 . . * [r10446] . bulcrypt: Fix writing of unique EMMs in v2. . Patch by chepik posted in ticket #4110. . . * [r10445] . Fix libusb linking on FreeBSD. . This fixes ticket #4103. . . * [r10444] . some fixes with ftab allocation . . * [r10443] . viaccess: now only reading active entitlements/classes, use read_old_classes = 1 in the [reader] config to read all entitlements/classes. this should speed up card init. . . * [r10442] . - Fix for emmcache not loading if emmlogdir is set . . . * [r10441] . Revert "Add -std=c99 to compiler flags." . This reverts commit r10434. . It seems that `-std=c99` really breaks oscam subtly at least according to ticket #4106. . Since setting the standart is not bringing anything positive but seems to come with it's own set of weird bugs, it is better to revert it. . . * [r10440] . __asm__ fix for c99 . . * [r10439] . Better fix for asm usage in cscrypt. . This is better fix that the one applied in r10437. Thanks to Jens for pointing out that this is a better way. . . * [r10438] . - Tryfix for dvbapi internal bufferoverlow . . . * [r10437] . cscrypt: Fix for build with -std=c99. . The optimization that is written in asm for a long time have been performed by the compiler so having it in asm is kind of pointless. . Also not using inline asm makes it possible to build oscam with -std=c99 compiler option. . This fixes ticket #4107. . . * [r10436] . List destruction should always set the list to NULL. . This removes ll_destroy_xxx_NULL() macros in favour of making all ll_destroyXX() functions set the list parameter to NULL. We already have three list destruction functions (too many) in addition to that having 2 more (in the form of macros) was starting to get unwise. . This change also removes the need for this idiom (used in couple of places): . {{{ ll_destroy(x); x = NULL; }}} . The ll_destroyXXX() functions are checking if their parameter is NULL, so there is no need for the caller to check it. . . * [r10435] . config-reader: Refactor freeing of ecm_whitelist and ecm_header_whitelist. . It is a tricky code and duplicating it can only lead to bad things. . . * [r10434] . Add -std=c99 to compiler flags. . This changes nothing in the build (we are already c99 compatible). It just establishes the base compiler support that we are expecting. . . * [r10433] . pages_gen: Avoid strict-aliasing warnings. . . * [r10432] . oscam-emm-cache: Add new lines at the end of file. . Some compilers warn when files don't end with new lines. . . * [r10431] . Additional fix for r10422 (Add card_done() callback to card readers). . I've missed the fact that private data was freed also in free_reader(). Now the leak described in r10422 should be fixed. . . * [r10430] . conf-reader: Free strings allocated by config. . The memory occupied by 'description' and 'readnano' was not freed when reader freeing function was called. . . * [r10429] . camd33/camd35: Allocate aes_keys per client on connect. . This saves 480 bytes in `struct s_client` for every client that is not using camd33 or camd35 protocols. . Structure changes: . {{{ struct before after delta savings s_client 3048 2568 -480 15.8% . binary size: add/remove: 1/0 grow/shrink: 3/0 up/down: 103/0 (103) }}} . . * [r10428] . cryptoworks/viaccess: Allocate EMM reassembly buffers on demand. . This patch saves 1008 bytes from `struct s_client` in the common case where cw/via readers are enabled. Now only AU enabled clients would allocate EMM reassembly buffer for themselves. . Structure changes: . {{{ struct before after delta savings s_client 3928 2920 -1008 25.0% }}} . . * [r10427] . newcamd: Prevent filter copying. . In addition to saving some copying, bloatcheck reports: {{{ add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-120 (-120) function old new delta newcamd_auth_client 5523 5403 -120 }}} . . * [r10426] . Allocate FTAB dynamically . The FTAB structure size is bigger than 2100 bytes and also the number of filters is limited to 16. . This structure is used to implement the account filters (via 'ident' and 'chid' settings) and reader filters (via 'fallback_percaid', 'localcards', 'ident' and 'chid' settings). . These settings are not used by everyone but everyone takes the memory hit. . This patch makes the bulk of the structure dynammically allocated. The memory savings are very nice: . {{{ struct before after delta savings s_ftab 2116 16 -2100 99.3% s_reader 13592 5200 -8392 61.8% s_client 8120 3928 -4192 51.7% s_auth 6176 1976 -4200 68.1% . Binary size: add/remove: 2/0 grow/shrink: 13/23 up/down: 1139/-434 (705) }}} . . * [r10425] . cryptoworks/viaccess: Use rdr_log in EMM reassembly functions. . . * [r10424] . ghttp: Release all memory on exit. . valgrind reports: {{{ 192 bytes in 1 blocks are still reachable in loss record 1 of 1 at 0x4C29ADD: malloc (vg_replace_malloc.c:296) by 0x4B5773: cs_malloc (oscam-string.c:11) by 0x4B1536: ll_create (oscam-llist.c:44) by 0x44F744: module_ghttp (module-ghttp.c:758) by 0x4048FB: main (oscam.c:1502) }}} . and a lot of things related to SSL error strings that were not freed when SSL is enabled. . . * [r10423] . Wait before stopping GC when running under valgrind. . This hack leaves some time for oscam threads to finish what they're doing before stopping the garbage collector. It is a hack to make valgrind happy and to produce clean report of what is possibly leaked. . . * [r10422] . Add card_done() callback to card readers. . This allows card readers to free their privately allocated data and fixes leak in videoguard2 reader. . valgrind reported: . {{{ 344 bytes in 2 blocks are definitely lost in loss record 436 of 733 at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x478FD3: cs_malloc (oscam-string.c:11) by 0x44F2C2: memorize_cmd_table (reader-videoguard-common.c:773) by 0x45295D: videoguard2_card_init.part.0 (reader-videoguard2.c:587) by 0x453A77: videoguard2_card_init (reader-videoguard2.c:539) by 0x4436A0: reader_get_cardsystem (reader-common.c:144) by 0x443A44: cardreader_do_reset (reader-common.c:194) by 0x47AE47: work_thread (oscam-work.c:293) by 0x5477181: start_thread (pthread_create.c:312) by 0x578800C: clone (clone.S:111) }}} . . * [r10421] . Remove executable bit on source files. . . * [r10420] . EMM: . Replace the simple emm ringbuffer with dynamic allocated buffering for emms and emmstats Emmcache and emm reader stats are now loaded and saved upon oscam start and stop For my usage the cards will only be served with fresh emms no matter how many times I start and stop oscam. . ToDo: . The usual fixing of broken stuff :) Webif cosmetics: use the new additions like firstseen, lastseen, firstwrite, lastwrite, delete emmcache, delete emm reader stat.. . . . . * [r10419] . fixed aeskey list memleak . . * [r10418] . fixed hashtable freeing . . * [r10417] . Remove dead increments. . The variables that are incremented are not used after that, so the increment can be removed. . Found by clang checker. . . * [r10416] . Let the compiler decide if func needs to be inlined. . This function is the only inlined function (that is not static) in the whole oscam source. Surely that func is not that important but also the compiler complains about it when c99 mode is switched on. . With this patch bloatcheck reports 589 byte savings. {{{ add/remove: 1/0 grow/shrink: 0/1 up/down: 152/-741 (-589) function old new delta __xxor - 152 +152 do_cmd 4124 3383 -741 }}} . . * [r10415] . strings.h needs to be included for strcasecmp(). . We got strcasecmp() indirectly because of _GNU_SOURCE, but let's be explicit that we need that header. . . * [r10414] . cacheex: Remove unused function and remove inline marks. . . * [r10413] . reader: Free emm cache. . valgrind reported: {{{ 565,248 bytes in 46 blocks are definitely lost in loss record 483 of 487 at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x477F63: cs_malloc (oscam-string.c:11) by 0x4774FF: reader_init (oscam-reader.c:1153) by 0x47A0A1: work_thread (oscam-work.c:285) by 0x5477181: start_thread (pthread_create.c:312) by 0x578800C: clone (clone.S:111) }}} . . * [r10412] . pages_gen: Free all memory when exiting with errors. . The bug was found with clang checker. . . * [r10411] . pages_gen: Check if we have any templates at all. . The bug was found with clang checker. . This prevents possible allocation with 0 size and weird behaviour when there are no defined templates. . . * [r10410] . pages_gen: Simplify loading of is_defined.txt . We already have readfile() function, let's use it. . . * [r10409] . webif color fix . . * [r10408] . Prevent possible NULL pointer deref. . Looks impossible to me but according to clang checker it can happen. The fix is simple enough. . . * [r10407] . Check the result of cs_strdup(). . It is not a very likely situation that in this place cs_strdup() would fail but crashing is not nice and the result of memory allocation functions must be checked at all times. . . * [r10406] . fixed memleak . . * [r10405] . revert camd35 pid change . . * [r10404] . small fix for last commit . . * [r10403] . applied patches 10399_status_online_proxys_r4.patch 10399_duoble_emm_online_proxies_cosmetic s_r1.patch from: http://www.streamboard.tv/wbb2/thread.php?postid=535337#post535337 . . * [r10402] . Cleanup cache allocations on oscam exit. . valgrind reports: . {{{ 272 bytes in 1 blocks are possibly lost in loss record 3 of 5 at 0x4C2B854: calloc (vg_replace_malloc.c:623) by 0x40128C4: _dl_allocate_tls (in /lib64/ld-2.20.so) by 0x4E3CFE5: pthread_create@@GLIBC_2.2.5 (in /lib64/libpthread-2.20.so) by 0x4B8590: start_thread (oscam.c:822) by 0x404C2B: main (oscam.c:1562) . 512 bytes in 1 blocks are still reachable in loss record 4 of 5 at 0x4C29ADD: malloc (vg_replace_malloc.c:296) by 0x4918CB: tommy_hashlin_init (tommyhashlin.c:50) by 0x492308: init_hash_table (oscam-hashtable.c:11) by 0x492602: init_cache (oscam-cache.c:69) by 0x4043EA: main (oscam.c:1480) . 512 bytes in 1 blocks are still reachable in loss record 5 of 5 at 0x4C29ADD: malloc (vg_replace_malloc.c:296) by 0x4918CB: tommy_hashlin_init (tommyhashlin.c:50) by 0x492308: init_hash_table (oscam-hashtable.c:11) by 0x41FC12: cacheex_init_hitcache (module-cacheex.c:56) by 0x4043EF: main (oscam.c:1481) }}} . . * [r10401] . Prevent memory loss. . valgrind reports: . {{{ 66 bytes in 1 blocks are definitely lost in loss record 1 of 2 at 0x4C29ADD: malloc (vg_replace_malloc.c:296) by 0x4B4A83: cs_malloc (oscam-string.c:11) by 0x4B4B6F: cs_strdup (oscam-string.c:46) by 0x49EF2B: init_config (oscam-config-global.c:1078) by 0x4043F4: main (oscam.c:1482) }}} . . * [r10400] . cache: Mark variables and functions static. . These are not used outside of oscam-cache.c they should be static. . . * [r10399] . Sci . Gives shorter init time for seca/nagra tunneled cards on Vu+ series . . * [r10398] . cache: Split cacheex code into separate function. . . * [r10397] . cache: Split cycle check code into separate function. . . * [r10396] . cache: Simplify code. . The `if` check is already ugly enough, let's simplify it a bit. . . * [r10395] . cache: Simplify code. . Having multiple places that unlock a taken lock is an easy mistake waiting to happen. . . * [r10394] . cache: Reduce CS_CACHEEX ifdefs. . struct ecm_request_t grows by a pointer but we can always regain this space (if needed) by just trimming the structure a bit. vid and prid can be uint16_t, from_xxx variables can be packed into bitmask, msglog can be slimmed down, cwc_msg_log can trimmed from 64 bytes to 32 without any problem and there are probably more...). . . * [r10393] . cache: Remove CW_CYCLE_CHECK ifdefs. . Due to structure alignment (we have 3 single bytes before uint16_t) we've already lost the single byte that is occupied by got_bad_cwc. We can use this opportunity to simplify the code. . . * [r10392] . cwcycle: Move private structures out of the header file. . This structures are only used in module-cw-cycle-check. I'm leaving only the public stuff in the header file. . . * [r10391] . cacheex: Move cacheex code out of oscam-ecm.c into module-cacheex.c . . * [r10390] . camd35 tcp: do not complain about packet size if a client closed the connection . . * [r10389] . dvbapi: new command to stop descrambling all demuxers . The commit add possibility to close all demuxers related with the connection (using network protocol). It uses the following packet for this: 9F 80 3f 04 83 02 00 FF . If the demux index = 0xff then all related demuxers are stopped. . . . * [r10388] . oscam-monitor: fixed sending corrupt packets when strlen(txt) > 255 on crypted connections . . * [r10387] . gbox: Remove gbox code from garbage collector. . gbox specific code (that is not even related to memory management) have no place in garbage collector which is pretty central part of oscam. . Ref: http://www.streamboard.tv/wbb2/thread.php?postid=535223 . . * [r10386] . gbox: Remove unneeded initialization. . This field is already zero (the client is cs_malloc()'ed). . . * [r10385] . gbox: Remove unneeded initializations in oscam-ecm. . These fields are already zero (courtesy of cs_malloc() couple of lines up). . . * [r10384] . more fixes . . * [r10383] . fixed last commit . . * [r10382] . fixed memory leaks reported here: http://www.streamboard.tv/wbb2/thread.php?postid=535176#post535176 . . * [r10381] . added fix for possible crash . . * [r10380] . added cccam card sid merging . . * [r10379] . final fix for warning "array subscript has type char" we are now using the same syntax as strtolower() [oscam-string.c] see thread: http://www.streamboard.tv/wbb2/thread.php?postid=535127 . . * [r10378] . gbox: Disable calling external OSD scripts by default. . Calling external sripts the way it is implemented is big security hole, so this patch disables this feature by default. . If you need it, uncomment `#define GBOX_ENABLE_UNSAFE_OSD 1` and recompile oscam. . For more info: http://www.streamboard.tv/wbb2/thread.php?postid=534454#post534454 . . * [r10377] . Fixes/cleanups related to read tiers patch committed in r10376. . . * [r10376] . vg2: Add read tiers patch. . For more info see ticket #4091. . Original patch by BigGyros. Original readme follows: . This patch is the sum of various code: - some found in streamboard forum (thanks to authors) - some were reversed from a (shitty) commercial oscam mods (thanks to an anonymous guy who sent to me) some written just by observing the logs from a season interface . What this patch does? 1) it fix the read of tiers for the nds cards like 09AC that stopped to support the ins76 method readtiers = 0 //disable = 1 //ins70 = 2 //ins76 (add it in the reader section or use webif) 2) it adds support for some ins that helps the nds card after the emm update 3) I hope it will breaks business of assholes who gain money from the free works of some streamboard users. . What this patch does not? 1) this patch does not break any DRM or any countermeasure done to fight the piracy 2) this patch does not help anybody to share cw 3) this patch does not help the assholes to sell receivers, lines, oscam-mod, fake solutions, birds, woods, monkeys.. . Is the patch tested? - Yes, it works.. . . * [r10375] . cacheex: Cleanup the header file a bit for easier reading. . . * [r10374] . cacheex: Move cacheex code from oscam-cache.c to module-cacheex.c . oscam-cache.c is for generic code. . . * [r10373] . better fix for warning "array subscript has type char" . . * [r10372] . fixed warning "array subscript has type char" . . * [r10371] . disable ecm odd/even byte check for constcw requests . . * [r10370] . Smartreader protocol . fix compile warning . . * [r10369] . Smartreader protocol . Modified restart protection to be dev handle base. . . * [r10368] . Sci . IOCTL_SET_DEACTIVATE does not work on dm8000. Free allocated mem's when closing reader. . . * [r10367] . [gbx] Introduce optional parameter cccam_reshare in gbox section of oscam.server. . cccam_reshare can be used to control the number of hops of cccam cards in the gbx network. It is independent from the global reshare settings of cccam and is similar to the parameter cccreshare in the reader settings of cccam. However the logic is gbx-like not cccam. Setting it to 0 will prevent cccam cards from being shared. Settings > 0 represent the number of hops. . . . . * [r10366] . net: Initialize local variable. . Found by clang checker. . . * [r10365] . ecm: Prevent possible NULL ptr dereference. . Found by clang checker. . . * [r10364] . cccam: Prevent possible NULL ptr dereference. . Found by clang checker. . . * [r10363] . Correctly restore errno after nanosleep(). . Additional fix after r10353. . . * [r10362] . oscam-log: Remove useless check. . Size can't be zero, no need for check for this at all. . . * [r10361] . WebIf: . - Fix typo and set width for table in emm_running.html . . * [r10360] . enabled and fixed dvbapi for cygwin. now it is possible to run a dvbapi tcp server on windows. for example together with dvbv-dvbapi-plugin by schwa226 thread here: http://www.streamboard.tv/wbb2/thread.php?threadid=42677 . . * [r10359] . WebIf: . 1. Fix for textarea in script.html. Show height for textarea if isn´t text output. 2. Same width for table in emm.html as emm output in textares. . . * [r10358] . Currently we are not sending the (ecm)pid over camd35, this makes constcw requests impossible. To fix this, this change will use the "buf+18" field to store the pid. This space is ignored or set to a hard-coded value by all other camd3 implementations I checked. The orignal camd3 code either sets it to zero or fills this field with something related to the crc32 checksum and the value at buf+16. Since up to now we just set it to '0xffff', this change should not break anything. I have tested connecting to orignal camd3 and everything worked. . . * [r10357] . Sci . Modified restart wait until closed protection to act really reader based. Added a extra log output to detect incompatible commands versus stb type. Example The IOCTL_SET_DEACTIVATE function. Not supported on dm8000 but required on vuduo2. . . * [r10356] . Webif: (Tnx Ultra47 and oscam community members for their effort!) . - Fix for http://www.streamboard.tv/oscam/ticket/4064 - Patch r9947 enhanced - Fix show written emms if emm logdir empty - Optical fixes show written emms - Show written emms on write emm tab sorted and filtred (oldest first, newest last), idea by schorsch . . . . * [r10355] . stat: Remove useless check. . Checking for 'ea' just tricks static checkers that 'ea' can be NULL which it can't be. . . * [r10354] . smartreader: Prevent NULL pointer derefence. . . * [r10353] . Correctly restore errno after nanosleep(). . . * [r10352] . [gbx] Obey reshare parameter of cccam also in gbx network. Check for ECMs taking too many hops. . . . . * [r10351] . fix for #4043 . . * [r10350] . oscam-config: Fix variable types. . If you have set `lb_force_fallback` in your config, because of wrong variable type in oscam-config-reader.c initializing this variable overwrite others after it. . This may lead to crashes and unexpected behaviour. . . * [r10349] . devtools: Improve messages in check_config_tables.sh . . * [r10348] . devtools: Improve config table checking script. . . * [r10347] . Prevent "too many open files" issue on OS X. . Patch by powercore posted in ticket #4008. . . * [r10346] . log: Third try to fix anticasc log. . This is a fix for ticket #4092. . . * [r10345] . cccam: Move cacheex code into separate file. . This cleans up module-cccam.c (which is already very big) and the ability to compare camd35 and cccam cacheex implementations. . They have a lot of common. . Another nice thing is the removal of all CS_CACHEEX ifdefs in cccam module. . . * [r10344] . cacheex: Remove useless ifdefs. . The whole file is guarded by CS_CACHEEX ifdef, there is no need for these extra ifdefs. . . * [r10343] . log: Fix for anticasc log. . Additional fix for ticket #4092. . . * [r10342] . build: Do not warn about using openssl on OS X. . . * [r10341] . log: Add missing new line in log lines. . This fixes ticket #4092. . . * [r10340] . camd35: Move cacheex related code in module-camd35-cacheex.{c,h} . Over 45% of the code in camd35 was dedicated to cacheex. So much code deserves it's own file. This cleans camd35 a lot and makes it ifdef free and a lot easier to follow. . . * [r10339] . camd35: Add proper prefix to all functions that didn't have one. . * All camd35 funcs now have camd35_ prefix. * All camd35 funcs that deal with cacheex now have camd35_cacheex_ prefix. . . * [r10338] . camd35: Mark funcs static where needed. . These functions are used only in this module. . . * [r10337] . camd35: Prepare cacheex code for moving into separate file. . This commit is just preparation for moving camd35 cacheex code into separate file. . . * [r10336] . camd35: Prepare cacheex code for moving into separate file. . This commit is just preparation for moving camd35 cacheex code into separate file. . . * [r10335] . camd35: Prepare cacheex code for moving into separate file. . This commit is just preparation for moving camd35 cacheex code into separate file. . . * [r10334] . camd35: Prepare cacheex code for moving into separate file. . This commit is just preparation for moving camd35 cacheex code into separate file. . . * [r10333] . camd35: Prepare cacheex code for moving into separate file. . This commit is just preparation for moving camd35 cacheex code into separate file. . . * [r10332] . camd35: Prepare cacheex code for moving into separate file. . This commit is just preparation for moving camd35 cacheex code into separate file. . . * [r10331] . camd35: Remove unneeded CS_CACHEEX ifdefs. . This code is already covered by ifdef CS_CACHEX, no need for second check inside this ifdef. . . * [r10330] . dvbapi experimental: auto filter limiting . Some users experience "ERROR: read error on fd xx" I guess this due to the fact too much filters (presumable emm type) are started and the box is killing random filters started before. Even worse, soms boxes accept it all without returning to us no more filters we reached maximum. On attempt to read the data from a certain filter the "ERROR: read error on fd xx" is returned. . Now this filter is killed and the max ammount filters is lowered by 1. Once oscam is running for some time the max ammount filters will be settled on a value that works for your box. . Feedback you can give here: http://www.streamboard.tv/wbb2/thread.php?postid=534445#post534445 . . . * [r10329] . WebIf: Right maxlegth for input (set Group) in user_edit.html . Thx uf2k. . . * [r10328] . - tryfix: moved the cs_sleepms() to a (hopefully) better place in the handler code . . . * [r10327] . build: Fix smartreader compilation on OS X. . . * [r10326] . webif/pages_gen: Do not leak fds in readfile(). . readfile() was not closing the file it opened. If your system have lowered file open limits (like < 256) pages_gen failed because there were too many open files. . . * [r10325] . Reduce CS_CACHEEX ifdefs. . * Structure definitions do not need to be guarded. * Funcs that are not used would be dropped by the compiler. * Func declarations do not need to be guarded. . No binary changes. . . * [r10324] . webif: Reduce WITH_LB ifdefs. . We can use config_enabled() instead of ifdef in these cases. . . * [r10323] . config-reader: Reduce WITH_LB ifdefs. . Just code movement, no functional changes. . . * [r10322] . config-account: Remove duplicated function. . The function already exists in oscam-config-global.c. No need to copy/paste it. . . * [r10321] . camd35: Remove WITH_LB ifdefs. . We can use config_enabled() instead of ifdef in this case. . . * [r10320] . chk: Remove WITH_LB ifdefs. . Just code movement, no functional changes. . . * [r10319] . reader: Remove WITH_LB ifdefs. . Just code movement, no functional changes. . . * [r10318] . ecm: Reduce WITH_LB ifdefs. . Just code movement, no functional changes. . . * [r10317] . ecm: Reduce WITH_LB ifdefs. . Just code movement, no functional changes. . . * [r10316] . ecm/dvbapi: Reduce WITH_LB ifdefs. . Just code movement, no functional changes. . . * [r10315] . ecm: Reduce WITH_LB ifdefs. . Just code movement, no functional changes. . . * [r10314] . ecm: Remove dead code guarded by WITH_LB ifdef. . The removed code boils down to: . {{{ if (!provid) { loop { if (some_check || some_other_check) provid = 0; break; } } }}} . which is obviously bogus since provid is already 0. . . * [r10313] . Revert "gbox: Do not use popen() to write into files." . This reverts commit r10286. It turns out that gbox really wanted to execute shell commands. See commit r9723. . . * [r10312] . gbox: Add new lines at the of OSD files. . Without new lines r10286 probably broke the osd functionality. . . * [r10311] . pcsc: Do not include PCSC/reader.h on OS X. . This header do not exist on OS X's pcsc. . . * [r10310] . build: Check USE_ flags when card reader config is being listed. . This allows the build to display SMART and PCSC readers, when they are enabled. . . * [r10309] . build: Show what config file is being used. . . * [r10308] . [gbx] One more it found. . . . . * [r10307] . [gbx] Small fix for r10305. . . . . * [r10306] . - Fix compile warning introduced in r10305 . . . * [r10305] . [gbx] Fix total cards in hello display. Fight against spaghetti code. . . . . * [r10304] . [gbx] Consolidate MSG_HELLO1 handling. . . . . * [r10303] . [gbx] Collapse first hello handling. Do not malloc hostname on every new hello. . . . . * [r10302] . build: When getting include PATHs do not try to compile. . This speeds up include path detection nearly three times (not that it was slow but anyway). . . * [r10301] . build: Allow PCSC headers to be installed in CROSS/.../local/include/PCSC . Without this oscam would try to include PCSC headers from host's /usr/local/include/PCSC instead of the headers in the toolchain. . . * [r10300] . build: Fix cross compilation of PCSC. . We use the compiler's last include PATHs and add PCSC to it. . Basicaly it is /usr/include but in case of cross compilation it might be something else. . Since using -Iinc_path instructs the compiler to use inc_path (without add the toolchain system root) we need to have this hack to get the "real" last include path. Why we needs this? . Well, the PCSC headers are broken and rely on having the directory that they are installed it to be in the include PATH. . We can't just use -I/usr/include/PCSC because it won't work in case of cross compilation. . . * [r10299] . build: A simpler way of fixing PCSC header idiotism. . Just playing with include paths is enough to work around broken PCSC headers which are installed in include/PCSC/... but include themselves without PCSC/ . . * [r10298] . README.build: Update. . . * [r10297] . build: Remove TARGET_SYSROOT. . gcc option -print-sysroot is not always supported. For example on older toolchains and for toolchains compiled without --with-sysroot. . Also this variable is not used. . . * [r10296] . build: Allow PCSC to be built with other than shipped headers in extapi. . If you do not want to use the PCSC headers shipped in extapi, you may build oscam by specifiyng another include directory. . {{{ make USE_PCSC=1 DEFAULT_PCSC_FLAGS=-I/usr/local/include }}} . . * [r10295] . [gbx] more log cosmetics . . . . * [r10294] . README.build: Update. . . * [r10293] . build: Clean pcsc build variables for OS X. . . * [r10292] . build: Use local pcsc headers for compilation. . . * [r10291] . build: Use pcsc headers in extapi. . . * [r10290] . extapi: Add PCSC headers. . PCSC headers as shipped by pcsclite project are buggy. They are installed in /usr/{local/}include/PCSC but they use #include and #include (Note the missing PCSC/ directory). . The result is that the compilation fails if the compiler is not instructed to add to its include path /usr/include and/or /usr/include/local. . Adding these paths comes with it's own set of problems for cross compilation. . So the "cleanest" thing is to adopt pscs headers in extapi. . Currently extapi/PCSC contains all headers that are needed for PCSC compilation. The only difference between them and the ones shipped by pcsclite is that include statements were fixed to correctly include PCSC/... . Even if you don't have pcsc installed `make pcsc` would compile oscam, just the final link phase would fail complaining about missing libpcsclite. . . * [r10289] . Make file PCSC . better then hack in 10288 . . * [r10288] . build: Fix PCSC cross compilation. . This hack is needed because PCSC includes instead of . . It is ugly but it'll work. . . * [r10287] . Revert "build: Remove forced include path in pcsc build." . This reverts commit r10285. . PCSC ships with broken headers which include when they should include . It worked for me because I have copied wintypes.h into /usr/local/include. . . * [r10286] . gbox: Do not use popen() to write into files. . Using popen() to write into files is highly unusual. Let's do this properly. . . * [r10285] . build: Remove forced include path in pcsc build. . Adding /usr/include/PCSC in the include path is wrong in case of cross compiling. We include pcsc headers using #include which forces the compiler to use default include search path, which in turn contains /usr/include and /usr/local/include. . So this should fix building pcsc in cross compilation environment. . . * [r10284] . dvbapi: . Add support for mapped A: lines . Example: . A:::10E0:0844::: 2600:000000:1FFF . Receiver wants to demux srvid 10E0 on adapter 0000 camask 0001 index 0000 pmtpid 0844 .. .. Added fake ecmpid 2600:000000:1fff for unencrypted stream on srvid 10E0 . . . . * [r10283] . log: Unify logging function names under cs_log prefix. . This commit renames logging functions. Now everything that logs can be found by searching for cs_log. . Here is what is being done: . ` > Existing logging: > -> cs_log > > Renamed: > cs_debug_mask -> cs_log_dbg > rdr_debug_mask -> rdr_log_dbg > rdr_debug_mask_sensitive -> rdr_log_dbg_sensitive > > Existing logging that hexdumps buffer: > -> cs_log_dump > -> rdr_log_dump > > Renamed: > cs_ddump_mask -> cs_log_dump_dbg > rdr_ddump_mask -> rdr_log_dump_dbg ` . Here is the script that was used to make the changes. . {{{ FILES=$(find -name '*.c' -o -name '*.h') . perl -pi -e 's|cs_debug_mask|cs_log_dbg|g' $FILES perl -pi -e 's|rdr_debug_mask|rdr_log_dbg|g' $FILES perl -pi -e 's|rdr_debug_mask_sensitive|rdr_log_dbg_sensitive|g' $FILES perl -pi -e 's|cs_ddump_mask|cs_log_dump_dbg|g' $FILES perl -pi -e 's|rdr_ddump_mask|rdr_log_dump_dbg|g' $FILES }}} . The old function names were defined as compatability but don't use them in new code because these defines would be removed sometimes in the future. . . * [r10282] . log: Unify log headers. . We don't really need 3 types of log headers. . . * [r10281] . log: Add log prefix to hex dumps. . . * [r10280] . [gbx] Small addition to r10279 . . . . * [r10279] . [gbx] Harmonizing log messages after recent changes by gfto. Thx! . . . . * [r10278] . - Revert experimental protection against boxes that seem to close filters without being instructed to do so by dvbapi - On hypercube su980 always return ok on io_ctl + some code cosmetics in io_ctl to make it more readable - Some recoding on dvbapi init (boxtype+api) since cs_log() needs these parameters set before otherwise crashing . . . * [r10277] . Internal readers non-pll (cardmhz < 2000): . Proper fix for regression introduced in r10267 . . . * [r10276] . - Fix for segfaults due to changed logline styles (used vars must be inited before logging now!) . . . * [r10275] . - Remove unused var .Di from struct cardreadersettings . . . * [r10274] . - Somehow I managed to get oscam to use too much resources -> give it back! . . . * [r10273] . dvbapi: . - More rework on resorting ecmpids - More Logcosmetics . . . * [r10272] . More dvbapi eyecandy: log how much time sorting the ecmpids takes! . . . * [r10271] . dvbapi: . Channelcache enhenced once more: deleting whole channelcache on oscam.dvbapi change removed. Now exact channelcache hit is checked at end of ecmpid prio/ignore matching. If a channelcache entry matches with highest prio -> start descrambling only that ecmpid otherwise ignore channelcache. . . . . * [r10270] . - Same mixup D <> Di for smargo . . . * [r10269] . - Correction mixup of D and Di (old code was sending D but smartreader code accepted it as Di...) . . . * [r10268] . csctapi: Change Fi only on sci card readers. . This fixes regression introduced in r10267. . . * [r10267] . csctapi: Merge three write_settings() callbacks. . This patch removes write_settings2 and write_settings3 callbacks merging them into single write_settings() that receives struct s_cardreader_settings parameter. . . * [r10266] . serial: Don't try to be cute with logging format strings. . The compiler will save duplicated strings only once anyway, so there is no need for such a trick. . . * [r10265] . log: Rename cs_dump() and rdr_dump() to cs_log_dump() and rdr_log_dump(). . Now searching for cs_log we'll get places where logging funcs are used. . . * [r10264] . Use rdr_dump instead of cs_dump in card readers. . . * [r10263] . gbox: Remove duplicated log prefixes. . . * [r10262] . constcw: Remove duplicated log prefixes. . . * [r10261] . Move logCWtoFile() func to oscam-ecm.c . It is the only place where it is used also the idea of oscam-log.c is to hold the global logging code. . . * [r10260] . log: Move anticasc logging code into module-anticasc.c . And clean an ifdef in module-log.c . . * [r10259] . dvbapi/azbox/mca: Clean logging messages. . Now that we have module prefixes these additional prefixes are not needed. . . * [r10258] . dvbapi: No need to handle obvious invalid fd! . . . * [r10257] . dvbapi: . - Small log cosmetic I missed - Experimental protection against boxes that seem to close filters without being instructed to do so by dvbapi . . . * [r10256] . dvbapi log cosmetics . . . * [r10255] . log: Add MODULE_LOG_PREFIX to the files that need it. . . * [r10254] . log: Prepare anticascading log for logging prefixes. . . * [r10253] . log: Align module prefixes. . . * [r10252] . log: Allow each source file to declare it's own log prefix. . Adding `#define MODULE_LOG_PREFIX "mymodule"` before including globals.h would instruct logging functions to add this prefix in each log message. . This functionality would allow a lot of cleanup in module logging messages and it'll make it easier to sort (filter) messages by module. . . * [r10251] . csctapi: Use rdr_debug_mask() instead of cs_debug_mask(). . . * [r10250] . smartreader: Use rdr_log() instead of cs_log(). . . * [r10249] . csctapi: Use rdr_log() in azbox and sci card readers. . . * [r10248] . readers: Use rdr_log() in cryptoworks and viaccess readers. . . * [r10247] . dvbapi: Workaround for CA_SET_DESCR ioctl() on su980. . The kernel on su980 boxes is buggy returns error when CA_SET_DESCR is called. For more info see: http://www.streamboard.tv/wbb2/thread.php?postid=533940 . . * [r10246] . Machine info . Extend boxtype info to all internall readers as harmless test. Or at least as check that it's harmless. . . * [r10245] . Machine Info . cosmetic removed a not wanted space . . * [r10244] . Machine info . added su980 boxtype . . * [r10243] . oscam-log: Split cs_log_int(). . Split cs_log_int() into separate functions for logging single lines and logging with buffer dumping. This is made mainly to avoid having unused parameters in a single function. . As far as the users of the logging API are concerned - the API is unchanged. . bloatcheck reports 12077 bytes saved from x86_64 oscam binary and 14044 bytes saved on dm500 binary. . . * [r10242] . oscam-log: Prepare cs_log_int() for splitting into separate functions. . This is just a preparation - code movement and whitespace changes. No noticable functional changes. . . * [r10241] . oscam-log: Remove lock parameter of cs_log_int(). . The comment added in r10240 was wrong. liboscam_stapi.a calls cs_log() function which is correctly emulated in module-dvbapi-stapi.c so it is safe to remove lock parameter of cs_log_int(). . According to bloatcheck this change saves 9006 bytes from the oscam binary on x86_64. . . * [r10240] . oscam-log: Clarify why we keep 'lock' parameter to cs_log_int(). . . * [r10239] . oscam-log: Remove XXX_nolock() macroses. . The `lock` parameter of cs_log_int() is even marked as unused because it really is. There is no point in having XXX_nolock. . . * [r10238] . oscam-log: Reorder some declarations to reduce ifdefs. . . * [r10237] . Revert "Extra dump functions." . This reverts commit r10016. . Gratiuous copy+paste for no reason at all. These functions were not even used. Not worth the extra 75 lines of code that does exactly nothing (luckily the linker knows when a code is not used so these functions never increased the binary size and after removing them the binary is exactly the same). . . * [r10236] . failban: Restore the behaviour broken by r10232. . . * [r10235] . - Refresh nagra entitlement only if last written emm was more than 60 minutes ago . . . * [r10234] . - fix for pincode (now only 4 digits) - cosmeticfix for boxkey => now double length - fix for last channel on status.html . Tnx goes to Ultra47 developing the patch together with some dedicated oscam users! . . . * [r10233] . Remove ifdef from oscam-config.c . . * [r10232] . Remove CS_ANTICASC ifdef in oscam-failban.c . . * [r10231] . Clean SO_REUSEPORT ifdefs. . Most (if not all) of these calls to set socket option SO_REUSEPORT are bogus IMHO, but cleaning this mess is left for another time. For now just remove create a function and use it instead of sprinkling ifdefs everywhere. . I'm 97.8% sure that all of these calls can be removed... . For more info about SO_REUSEPORT see: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c617f398edd4db2b8567a28e899a88f8f574798d http://stackoverflow.com/questions/3261965/so-reuseport-on-linux . . * [r10230] . Remove last HAVE_DVBAPI ifdef in oscam-reader.c . . * [r10229] . Move function used only in dvbapi module closer to where it is called. . Also cleanup the function a bit. . . * [r10228] . Eliminate the last two ifdefs's in oscam-work.c . Move the code where it belongs in module-cacheex.c and remove the ifdefs. . . * [r10227] . config: Some sed implementations do not support -i option. . Patch by kraiv @ satsupreme for improving OpenBSD support. . . * [r10226] . - Cosmetic fix for internal readers driving irdeto cards at wrong speed . . . * [r10225] . - Revert accidental changes to config.h . . . * [r10224] . - dvbapi fix for boxtype pc using listenport (tnx Manio for reporting and testing) . . . * [r10223] . [gbx] Remove extra call to gbox_send_good_night . . . . * [r10222] . [gbx] Fix memleak introduced with r10140. Supposed to fix ticket 4075. See: http://www.streamboard.tv/wbb2/thread.php?threadid=42906 . . . . * [r10221] . OpenBSD fixes from kraiv @ satsupreme. . . * [r10220] . - Only allow listenport on boxtype pcnodmx . . . * [r10219] . - Fix for clear channelcache sporadic crashing . . . * [r10218] . Machine Info . boxtype with less complicated code done by gf. . . * [r10217] . oscam-work: Reduce CS_CACHEEX ifdefs. . . * [r10216] . oscam-work: Replace ifdef with config_enabled(MODULE_CCCAM). . . * [r10215] . Update README.build. . Somebody (probably me) forgot to run `make README.build` after changing the help text in the Makefile. . . * [r10214] . dvbapi/samygo: Clean the code for future development. . According to the developers SAMYGO dvb code is not currently working. This patch removes the config symbol and cleans the code so future development can fix the code easily. . For more info: http://www.streamboard.tv/wbb2/thread.php?postid=533219 . In theory if the code was working this transformation should not break it and fixing only the samygo detection routine should return it to the state before this patch minus all the ifdefs. . . * [r10213] . Remove more useless WITH_CARDREADER ifdef's. . . * [r10212] . Remove some HAVE_DVBAPI ifdefs. . . * [r10211] . emm: Remove useless ifdefs. . There is a static inline function defined when WITH_CARDREADER is disabled, so the removed ifdef's were useless. . . * [r10210] . newcamd: Add DVBplug (0x9922) to client list. . Fixes ticket #4076. . . * [r10209] . Machine Info : small fix. Free buffer after it's not needed anymore . . * [r10208] . Machine Info . added dm500 or dm600pvr boxtypes . . * [r10207] . Machine info : fix compile warning mac . . * [r10206] . Strings . previous ad of strtonchars was perfect on pc but not for stb's. now it's ok for both . . * [r10205] . - Webif fix for proper handling of 16 and 32 bit boxkeys . . . * [r10204] . - Experimental attempt to avoid var size issues with time since recently comp_timeb() gives back int64_t . . . * [r10203] . Strings . Added extra string function. To read first n or last n chars of a string. . . * [r10202] . [gbx] Fix warning. . . . . * [r10201] . [gbx] minor fixes for rebroadcast thread . . . . * [r10200] . Machine Info . forgotten fclose() . . * [r10199] . Machine Info . Try out. Added dm500 and dm600pvr to go is extra fix to differenciate dm500 and dm6000pvr . . * [r10198] . dvbapi: Simpler fix for the bug introduced in r10189 and fixed in r10196. . . * [r10197] . Machine Info . cosmetic and some fixes . . * [r10196] . - Fix for dvbapi blocker introduced in rev 10189 . Perhaps there is a smarter fix possible but this works for me ;) . . . * [r10195] . dvbapi/stapi: Leave only public functions in module-dvbapi-stapi.h . Along with leaving only public functions in module-dvbapi-stapi.h add static where it is needed in module-dvbapi-stapi.c . Bloatcheck reports > 610 byte savings after this patch. . . * [r10194] . dvbapi/coolapi: Leave only public functions in module-dvbapi-coolapi.h . Along with leaving only public functions in module-dvbapi-coolapi.h add static where it is needed in module-dvbapi-coolapi.c . Bloatcheck reports > 220 byte savings after this patch. . . * [r10193] . dvbapi/mca: Leave only public functions in module-dvbapi-mca.h . Along with leaving only public functions in module-dvbapi-mca.h add static where it is needed in module-dvbapi-mca.c . Bloatcheck reports > 200 byte savings after this patch. . . * [r10192] . dvbapi/azbox: Leave only public functions in module-dvbapi-azbox.h . Also add static where it is needed. Bloatcheck reports minimal (12 bytes) size saving. . . * [r10191] . Add webif/is_defined.txt to the list ignorred files by git. . . * [r10190] . dvbapi: Clean powerpc ifdefs. . Now that we have ioctl() wrapper function we can fix dm500 issues over there. . . * [r10189] . dvbapi: Create and use dvbapi_ioctl() instead of ioctl() directly. . This change would allow us to integrate SAMYGO code cleanly and also remove some ppcold (dm500) ifdefs in the dvbapi module. . . * [r10188] . dvbapi/samygo: Reformat samygo's ioctl() function. . Whitespace and comment fixes. No code changes. . . * [r10187] . - Channelcache: Cached chid was never used -> Fixed! - Show in log that channelcache was used to start descrambling a certain pid . . . * [r10186] . - dvbapi channelcache: only allocate mem if there is valid data that needs it! . . . * [r10185] . [gbx] Cosmetics. . . . . * [r10184] . Machine Info : No need to allocate bigger mem buffers then required. . . * [r10183] . dvbapi/azbox+mca: Clean ifdefs. . azbox and mca use their own handlers for ->s_handler and ->send_dcw. Rework the code to make this explicit. . . * [r10182] . dvbapi: Clean SAMYGO ifdef. . . * [r10181] . dvbapi: Clean ifdefs. . According to the comment, ppcold (dm500?) returns wrong error code on ioctl(CA_SET_DESCR). . There should be no functional changes after this patch. . . * [r10180] . Machine Info . added global structure for machine info. For now only two params, In future there will be some extra. . Added a log output by pll sci readers to see if ok for effectif use. . . * [r10179] . Machine Info : boxtype fix . . * [r10178] . Machine Info : fixed error handling . . * [r10177] . Machine Info : relocated and made function. . . * [r10176] . irdeto: Fix warning about unused parameter . . * [r10175] . - Fix wrong usage of memset . . . * [r10174] . dvbapi: don't always reset protocol version when client closes connection . When there is more then one connection and one is closed, the protocol version was reset, and it badly influences on the other (existing) connections. . Fixed to reset only when last connection is closed. . . . * [r10173] . seca: Allow each reader to have it's own IDEA state. . . * [r10172] . - Init static ideacrypt only once, this will saves cpu resources! . . . * [r10171] . - Tweak for channelcache: if oscam.dvbapi is changed channelcache is destroyed so new prio/ignore rules are applied! . . . * [r10170] . seca: Include IDEA library code. . This fixes ticket #4066. . . * [r10169] . dvbapi-chancache: Reduce allocations and clean code. . . * [r10168] . dvbapi-chancache: Do not set thread name. . This code doesn't need to set thread name! . It is actually a bug because dvbapi_save_channel_cache() is called from main thread and after set_thread_name() oscam process will be named dvbapi_save_channel_cache which is unexpected to say the least. . . * [r10167] . dvbapi: Move channel cache functions into their own file. . module-dvbapi.c is already too big (5000+ lines, 160k+ size). . . * [r10166] . dvbapi: cleanup AZBOX and MCA code (openxcas support). . There should be no functional changes after this patch. . . * [r10165] . dvbapi: Prefix channel cache funcs with dvbapi_ and add static where needed. . There should be no functional changes after this patch. . . * [r10164] . cccam: Cleanup ifdefs. . Use config_enabled() instead of ifdefs. This provides compile time checking if the code is OK even if the config option is disabled. . Also make the lb checks code readable. . There should be no functional changes after this patch. . . * [r10163] . dvbapi: Cleanup ifdefs. . Use config_enabled() instead of ifdefs. This provides compile time checking if the code is OK even if the config option is disabled. . There should be no functional changes after this patch. . . * [r10162] . dvbapi: Cleanup ifdefs. . Try to minimize ifdefs when they are not needed. It is better to declare static inline functions when some module is not enable than to sprinkle ifdefs all over generic code. . There should be no functional changes after this patch. . . * [r10161] . cacheex: Cleanup ifdefs. . Try to minimize ifdefs when they are not needed. It is better to declare static inline functions when some module is not enable than to sprinkle ifdefs all over generic code. . There should be no functional changes after this patch. . . * [r10160] . Remove setvbuf() calls. . In my opinion there is no need to mess with stdio buffers buffers just to read/write some small config text file. Less code == less things to go wrong, so following that philosophy this patch removes setvbuf() calls. . . * [r10159] . bulcrypt: Fix newcamd support for Bulcrypt. . These changes fixed Oscam ticket 4055, credits to kraiv and chepik from satsupreme forum. . . * [r10158] . log: Remove oscam-log-xtr.h . I fail to see the point of having a header file which defines two variables and it is included in only one file oscam-log.c . Even if these variables are used in other places other than oscam-log.c (and they are not) using additional header file is again the wrong thing to do. . There should be no functional changes after this patch. . . * [r10157] . - channelcache load/save: some fixes for MCA / AZBOX - removed some stale testing code . . . * [r10156] . - Fix for channelcache chid handling - Fix for requestmode 0 not using exact channelcache match . . . * [r10155] . - dvbapi load and save of the channel cache to speedup decoding of channels . . . * [r10154] . Machine info . created extra header file. . Now info can be used in other .c modules if header is included to that file. . . * [r10153] . Improve seca readercode . . . * [r10152] . Machine info . added extra's for xp1000. added a forgotten fclose() . . * [r10151] . - more fix for ticket 4065, all vars are now protected to prevent crashing! . . . * [r10150] . Machine info . declared some var's in c file self will have to find another way off declarations without braking some uclib compilations . . * [r10149] . Machine info . renamed models info vars . . * [r10148] . machine info . extra fix . . * [r10147] . Machine info Some small corrections. . . * [r10146] . Machine info . extra info about the router , stb or pc . This info can become very usefull in future to automate settings like for example: sci in function of stb. . . * [r10145] . - Proper fix for ticket 4065 . . . * [r10144] . . [gbx:] Revert 10143 . . . . * [r10143] . [gbx:] Display providing peer id in ecmfmt . . . . * [r10142] . [gbx:] Fix warnings in some build environments. Thx AbrahaM. . . . . * [r10141] . [gbx:] Fix gbox_max_distance setting . . . . * [r10140] . . [gbx:] Stop flooding ecms to multiple gbx card peers See also: http://www.streamboard.tv/wbb2/thread.php?threadid=42843 . . . . * [r10139] . - Webif cosmetic fixes for dvbapi FTA channels - Webif page refresh fixes for side-effects introduced by commit 10134 . Tnx Hook and Ultrar47 for providing a combined patch! . . . * [r10138] . - Fix warning: seems some toolchains like arm-cortex uname is already defined in utsname.h . . . * [r10137] . - dvbapi requestmode 1 now follows prio / ignore rules too . . . * [r10136] . general . added sys/utsname.h header. ussefull to determine platform info out off c . . * [r10135] . some emmfix . added extra protection . . * [r10134] . - Fix for auto http refresh doing "actions" repeatingly for example loadbalancer readerstatistics resets repeat (Tnx Ultra47 for providing patch!) . . . * [r10133] . oscam-time . millitm param from uint64_t to int64_t . . * [r10132] . - Ecm handler log cosmetics . . . * [r10131] . oscam time . changed uint64_t into int64_t . . * [r10130] . io-serial . some extra log outputs after reader flush. In us. sh4 and smartreader timer reset did not worked now it does. . . * [r10129] . Experimental: . While testing changing millitm to uint32_t the ecm requests to my readers start to give random timeouts But on higher debugging level timeouts disappeared again. Changing it even further up from uint16_t to uint64_t and the timeouts disappeared completely. . I seem to unexperienced to find the real reason for this behaviour but for now I want to test if this fixes more issues some users reported! . . . * [r10128] . - EMM logging improved . . . * [r10127] . - EMM logging improved . . . * [r10126] . - EMM logging improved . . . * [r10125] . - Improve EMM logging . . . * [r10124] . fix no current channel txt on status if no picon exist . . . * [r10123] . WebIf: . Fix typo . . * [r10122] . sci readers. . revert to flush procedure like it was before. Since there are still reports off non working sci one some stb's. . flush back to 1 if it not works buffer flush done by reading it out. . . * [r10121] . WebIf: . - set height for select in script.html If script not found. . . * [r10120] . - Emm filtering cosmetics for dvbapi . . . * [r10119] . Some rework on emm provider matching the reader providers. Hope I managed to minimize the cs378/camd35 4 digit provid effect! . . . * [r10118] . - More log output on emm filtersetting! . . . * [r10117] . - Even more EMM rework dvbapi module . . . * [r10116] . external reader . I saw that the loop implemented before even never worked. It just caused an oscam block voor 30 tries each seconds one during 60 seconds. But actually did not a real retry to find the device. Now it will try 10 times 1 try each two seconds . Thats more then enough. If after those tries (20 sec) Device still not found reader will be disabled. And oscam can work with the avbl readers. . . * [r10115] . external readers . Added webif ouput reader device error in case off device failure due to wrong configs or unplugged cable . . * [r10114] . - DVBAPI: dont rely on data a filter is returning to discover if its the emm cat, better check if emmpid is 0x01 . . . * [r10113] . - Dvbapi: removed emm cat filter from emm filter list too (why was it there in first place?!) -> should prevent cached filtered responses on some type receivers! . . . * [r10112] . external readers. . When an external reader cable was unplugged or wrongly configured, Oscam did not allowed clients login at all for other readers with waitforcards (default enabled) Now the reader of wich device can't be detected will be closed and set to disable then oscam can continu whitout that reader. . some small fixes smartreader. . . * [r10111] . smartreader . Better log output if endpoint detection failed . . Requested in ticket #4052 . . * [r10110] . - Emm just compare last 4 digits of provid, this should fix sharereader! . . . * [r10109] . - Simplify dvbapi emm reader matching - Re-introduced camd35/cs378 4 digits emm provid matching . . . * [r10108] . - Always start filtering on matching emmpid with correct caid and no provid . . . * [r10107] . - Emm rework since auprovid on sharereaders are changing constantly . . . * [r10106] . - Revert 10105 since sharereader do deliver 6 digit provid . . . * [r10105] . - Minor emm fixing since share readers use only 4 digits provid . . . * [r10104] . - dvbapi fix pmt6 listenfd to socket was openened but never closed on connection error -> opening new fd next run -> running eventually out of fd! . . . * [r10103] . - Another rework for emmpid selection versus au enabled readers - Reanalyzed emm cat parsing -> updated viaccess and nagra parsing . . . * [r10102] . bulcrypt: Fix ticket #4055 (Bulsatcom removed CAID 5581). . Credits to kraiv and chepik from satsupreme forum. . . * [r10101] . - Next rework of dvbapi emm handling: . If you have a card that is multiprovider dont set auprovid. Just add idents, each ident should match the (emm) provid. . Example . Old seca2 card: . auprovid leave empty . idents:0100:00006a,00006c,00006d . . . * [r10100] . - Attempt to stop starting repeatingily new emmfilters if none are active on a demuxer This behaviour is e.g. triggered if watching more than 1 channel from same provider . . . * [r10099] . - Removed extensive emm matching in dvbapi again (nobody except me used it and it was flooding dvbapi debug logging!) - Tryfix dvbapi problem on multiecm-s channels (ticket 4056) . . . * [r10098] . - Viaccess is now using correct provid again on emm cat parsing (issue introduced 10097) . . . * [r10097] . Some more rework of dvbapi emm handling: . If emm cat is fetched dont filter the emmmpids in it against active au readers, that will be done later on too. This way we avoid scenario that a new card cant find any valid emmpids and dont get any emm updates. . . . * [r10096] . Moved init_check() . init_check now done before creation off pidfile. Pid file will only be created if oscam starts with a ok time or after 60 seconds if time is not ok. . . * [r10095] . sort also with picons Thnx Hook . . * [r10094] . Added documentation for new parameter 'httppiconpath'. . . * [r10093] . [gbx] fix compiler warning . . . . * [r10092] . - Some rework emmfiltering and more -d128 log output for emm filtering to analyze issues more in detail! . . . * [r10091] . . [gbx] discard out of sync hellos . . . . * [r10090] . - Replace 10088 with better code that doesnt break other stuff (I hope) . . . * [r10089] . Patch by ultra47 . Und /proc ist definitiv auf jedem LinuxSystem drauf smile Es ist ja auch eine lustige Problemhistory: großes Grinsen - erste Lösung => works => extreme Abweichung da auch Threads mitgezählt wurden - zweite Lösung => works => einige busybox Versionen kamen aber mit ps -A nicht klar - dritte Lösung => works => einige linux Versionen haben kein wc - dritte 1/2 Lösung => works => habe ich garnicht probiert, da ich dachte das grep -c kann auch irgendein linux nicht - vierte Lösung => works => aber einige enigma version haben können kein popen . Webif: Remove color for td.usercol6 . . * [r10088] . - Quickfix provid not in pmt for UPC NL . . . * [r10087] . - Increase number of ca_mask as proposed by perexg (provided patch modified!) . http://www.streamboard.tv/oscam/ticket/4053 . . . * [r10086] . [gbx] Code de-duplication . . . . * [r10085] . WebIf: Right settings for base64 format. . . * [r10084] . Patch by ultra47 . Finally process count works on all linux plattforms . . * [r10083] . WebIf: Patch by skyndas and ultra47 . This patch creates a background for sorting cells in readers, readerstats and users. . . * [r10082] . Patch by ultra47 . - some case the process count don't work correct (some busybox have this problem). . . * [r10081] . Patch by ultra47 . create a link for "Scroll to Top" and a additional Sorting for ecm length in Readerstats . . . * [r10080] . Patch by ultra47 . Fix for setting path for picons folder. - Ticket #4039 (OScam crashed after restart on the Webinterface) . . * [r10079] . [gbx:] - send good night on oscam exit - re-structure CW function . . . * [r10078] . Patch by schorsch100 . - Run script with parametr . . * [r10077] . Patch by ultra47. . New: - Double User Check in "Add User" and "Save As", Double Reader in "Add Reader" Change: - Messages edited and added New: - better Process Count, now only Procs without Threats . . * [r10076] . Patch by Ultra47 . Fix: - show hidden bei Server funktioniert jetzt wie erwartet - Anzahl Proxy Reader Headline bei Status gefixt => jetzt polling und ohne Polling wirklich gleich (Polling war nicht korrekt) Change: - default wert für httppicon entspricht httptpl (somit funktionieren auch alte configs) . Neu: Fix: - Anzahl Proxy Reader Headline bei Status erneut gefixt, jetzt sollte es in allen Zuständen korrekt sein . . . * [r10075] . WebIf: Patch by Ultra47 . - "Button" for run script . . * [r10074] . Patch by Ultra47: . - Entering the directory for the location picons . The path to the directory can be set in "CONFIG" part "WebIf" . . . * [r10073] . Patch by Ultra47 . Fix: - Porteingabe für webif auf 6 Stellen verlängert - falscher Link für Server bei camd33 - httpcert auch via webif konfigurierbar Change: - menu_webif nicht mehr eigene Datei (Steuerung unnötig) - keine Erstellung von emm.bin bei save dmm Neu: Fix: - Anzahl Proxy Reader Headline bei Status gefixt => jetzt polling und ohne Polling gleich . . * [r10072] . - Datefix for ZAF card . . . * [r10071] . - Revert 10064,10065 and 10066 (it breaks multichannel decode for VDR) . . . * [r10070] . - More fix for cmake . . . * [r10069] . Correction emm unknwon camd35. . I anyway added this small correction. Now emm unknown is threated like the other 3 by camd35 . To have it aktif both site of oscam needs to be up to date. Server and client site. . Perhasp in future this way off block for eem's trough camd35 will be removed. That's another things. But for now it works ok with this function still in. . . * [r10068] . - Some changes for cmake that should restore the now failing autobuild of oscam in openpli nightly image feeds . . . * [r10067] . - Internal readers dont support tcflush() . After some testing by Stefansat and me its obvious internal readers dont support flushing -> disable flush capability for internal readers! The reason it was enabled is that the ATR code didnt read all of the chars to the end leaving a 0x90 0x00 (and another 0x00 on some cards) in the io buffer. If these chars wont be read or flushed card cant be used. . Now we added some additional reading (9 bytes should be enough I think) after fetching the ATR to get rid of these chars. . @VU boxes manufacturer: please fix your drivers in such a way that if we read with a certain timeout value your reader driver respects it! If we ask with a timeout of 75ms dont ignore it and make it 4 seconds. This behaviour observed on vu duo box by stefansat, possibly more boxes are affected! . . . * [r10066] . switch to a existing int . . * [r10065] . change used var to prevent build warning . . * [r10064] . small fix for demux[demux_index] in net sockets . . . * [r10063] . * fix a small issue if cwcycle_dropold = 0 is set . . * [r10062] . - Corrected a typo! . . . * [r10061] . - Date corretion for Ziggo irdeto caid 0610 acs 6.08 . . . * [r10060] . Standard Log . No need to have twice same info in standard log. Did well add to debug mode. . . * [r10059] . update for #10055 change to patch version v3 . . * [r10058] . [gbx] fix compiler warning . . . . * [r10057] . Seca2 card was broken! . - Seca card type was outputed multiple times -> fixed! - Relocated nagra romrevision: the seca level byte in atr wasnt masked properly so every seca card got inspected for nagra rom -> fixed! - Recent changes in io_serial: my xp1000 internal reader couldn't init seca2 cards any longer -> reverted changes, we have to find a better solution! . . . * [r10056] . add prefer local cards for single user . . * [r10055] . try to add request ticket http://www.streamboard.tv/oscam/ticket/4026# patch from http://www.streamboard.tv/wbb2/thread.php?postid=529306#post529306 . . * [r10054] . small fix . perhaps better so . . * [r10053] . [gbx] some minor code centralization . . . . * [r10052] . [gbx] take gbx offline in case no answers received . . . . * [r10051] . WebIf: Patch by gismo2004 . Script files - View information if the file does not exist or is not executable . . * [r10050] . Added new parameters 'preferlocalcards', 'localcards' and 'cacheex_mode1_delay' to documentation. . . * [r10049] . Added new parameter 'cwc_disable' to documentation. . . * [r10048] . Removed 'nds_swap_cw' from documentation. . . * [r10047] . [gbx] small fix for 10046 . . . . * [r10046] . [gbx] take reader offline after gbx goodbye . . . . * [r10045] . Readers . Changed the meme clean procedure to not do it twice. Thank's to Theparasol which found the issue. Limited the loop stop procedure to a single byte check to internal readers only. Some readers do not work whit that anymore. Thank's to reports off Optimum Power . . * [r10044] . Readers . Freeing allocated mem upon reader restart out off webif . . * [r10043] . IO serial general. . The delay loop is only needed until first byte is received. How it was just caused an eternal loop until sci driver issued an error or blocked for a certain amount off time depending on the way the driver handled it. . . * [r10042] . revert 10040 . unfortunatley it gives problems on some other cards . Will have to find other solution for the sci driver problem on vuduo2 . . * [r10041] . - Improved errorlogging for constcw . . . * [r10040] . General serial readers. . Stopped the not needed read request after ok 90 00 answer was received. Upon flush call. This avoids the long waiting time by some stb's where the sci drivers does not issue an imidiate EINTR or EAGAIN or 0 when there is no card response. Like the vuduo2 sci, it just wait's 4 seconds before it issue 0 . . * [r10039] . smartreader . segfault could occur if card had a bad contact or was wrongly placed in the reader whitout call procedure at reset. . . * [r10038] . Smartreader . fixed bug by settings . . * [r10037] . Compile warning. . Fixed the shadow reader-nagra.c compile warning . . * [r10036] . Card Detect . Relocated Romrev detect procedure on seca/nagra cards A couple of fixes for smartreaders. . . * [r10035] . camd35 Emm . The unknown emm did not remained blocked when unknown block was set. Was just 2 missing parameter lines in camd35. Now it remains blocked. . . * [r10034] . * fix wrong Caid value in oscam-emm.c . . * [r10033] . * add missing html file from last commit . . * [r10032] . * added WebIF Patch - thanks to jsompis . . * [r10031] . * small fix for commit svn10026 . . * [r10030] . Add check so that cacheex readers cannot act as "localcards" raders. . . * [r10029] . - Fix compilation without cacheex - Small fixs and improvements in previous commit. . . * [r10028] . Ecm handler improvements: . - Fix preferlocalcards = 2 Now answers from cacheex cannot be get from cache until local stage. Cache cws from local reader can be got. To make clear, thi is how preferlocalcards works: =0: cacheex -> local/proxy -> fallback =1: cacheex -> local -> proxy -> fallback (default) =2: local -> cacheex/proxy -> fallback . Possibility to override preferlocalcards per user in [account] section (default: -1, use global one) . - Add new parameter in [reader] section: localcards = [:[,ident]]...[;[:[,ident]]...].... . Use this reader (for defined CAIDs only) as "local" in LB/reader selection. It will be handle as a local reader per LB and preferlocards settings. In this way, we can consider a network reader as local, like we had a cardreader. . - Add new parameter in [cache] section: cacheex_mode1_delay = CAID1:time1[,CAID2:time2]... . delay for asking cacheex mode1 readers, if no cw found by mode2/3 (per CAID based, wildcard CAIDs with two-digit CAIDs possible, default:none) example: cacheex_mode1_delay = 0:200, 09:100, 1702:500 . - Improve #9902 changes. . - Removed 09C7 caid from half cw check . - Several small fixs and cosmetic stuff. . . . * [r10027] . fix urlencode for graph page . . * [r10026] . * cleanup obsolete cwc code after svn10005 * add possibility to disable cwc on userside [account] cwc_disable = 1 (0 - default) . . * [r10025] . add build for Mac OSX 10.10 . thanx to BigGyros . . * [r10024] . fix mac build patch from #4006 . . * [r10023] . add caid: 0x09C7 to half cycle . . * [r10022] . better scaling with high resolution + some fixes . thnx to ultra47 . . . * [r10021] . WebIf: . - fix overflow for text in
 / script.html
 .
 .
   * [r10020]
 .
     styling scriptoutput
 .
     thnx skyndas
 .
 .
   * [r10019]
 .
     add script return echo text
 .
 .
   * [r10018]
 .
     - Revert 8826 since its now obsolete
 .
 .
 .
   * [r10017]
 .
     - Videoguard cas: returning E_CORRUPT on invalid ecms. This way the bad ecm wont affect the loadbalancer!
 .
 .
 .
   * [r10016]
 .
     Extra dump functions.
 .
     Added 2 functions cs_dump_nospace rdr_dump_nospace.
 .
     cs_dump_nospace hexdumps buffers whitout space 32 line lenght.
     rdr_dump_nospace does same, reader based.
 .
 .
   * [r10015]
 .
     - Videoguard cas checksum testing: now invalid ecm and emm packets will be discarded!
 .
     (Just committing: Patch is created and tested by someone that wanted to remain anonymous)
 .
 .
 .
   * [r10014]
 .
     Dumping rader or card bits.
 .
     Added rdr_dump function. With this function reader based dumping is possible whitout the use of a debug mask.
 .
 .
   * [r10013]
 .
     fix build errors on some toolchains
 .
     http://www.streamboard.tv/wbb2/thread.php?postid=528356#post528356
 .
 .
   * [r10012]
 .
     - Wipe of obsolete MEMSET in irdeto reader
     - Fix for shared and unique emms on betatunneled caids
 .
     Tnx Gismo2004 for patch and many others for testing en giving feedback!
 .
 .
 .
   * [r10011]
 .
     Added 098E caid to half cw check.
     Tnx to BigGyros.
 .
 .
   * [r10010]
 .
     - Fix for emm on betatunnel caids (Tnx Gismo2004 for providing patch!)
 .
 .
 .
   * [r10009]
 .
     - Tryfix dvbapi to let the fake ecm created for BISS and fake ecmpids pass the now more strict cache check
 .
 .
 .
   * [r10008]
 .
     Fix compilation error without cacchex module in prev commit.
 .
 .
   * [r10007]
 .
     Improved wait_until_ctimeout.
     Don't use/save hitcache if max_hit_time=0.
 .
 .
   * [r10006]
 .
     Fix half cw check for normal/cacheex-1  readers.
     Fix msgs, now shown with cacheex debug log.
 .
 .
 .
   * [r10005]
 .
     Removed nds_swap_cw paramter and swap cw code. Now wrong half cws are dropped.
     Removed cwc-light, now checks for half cws are done in oscam core.
     Add check for odd/even byte for all ecm's. Ecm's with null odd/even byte are dropped.
     Some small fixs.
 .
 .
   * [r10004]
 .
     - DVBAPI: Due to wrong parsing of PMT channels couldnt be decoded (Example: Eurosport SD on 23.5 using 0100:00006a)
 .
 .
 .
   * [r10003]
 .
     Added documentation for new parameter 'nds_swap_cw'.
 .
 .
   * [r10002]
 .
     - CCcam: dont touch emmcounters since oscam-emm will do that! (tnx Gismo2004 for this find!)
 .
 .
 .
   * [r10001]
 .
     - Bufferoverflow protection
 .
 .
 .
   * [r10000]
 .
     Patch by Ultra47
 .
     The patch includes following things:
     - better Graph.svg
     - New: Uptime in Footer
     - New: more Informationen in Sysinfo (cached Memory, processes, swap memory, free men inkl. buffered & cached)
     - failban Patch => thx to hook
     - pollindicatorfix => thx to hook
     - fix for ECM History if polling disabled
 .
 .
   * [r9999]
 .
     - Move emmcache from client to reader
     - Dvbapi refreshes every 30 seconds emmfilters to catch rotating cardserials delivered by networkreaders like camd35
     - On FTA channels emmfilters are started for all caids specified for a networkreader
     - If networkreader asks for specific au caid only that one is used (instead of all known caids for that reader)
 .
 .
 .
 .
   * [r9998]
 .
     smartreader protocol
 .
     Changed OK ERROR define, to avoid conflict with the opposed defined OK ERROR in reader-common.h
 .
 .
   * [r9997]
 .
     WebIf: Patch by Ultra47
 .
     Solution for different colors of Oscamlogo
 .
 .
   * [r9996]
 .
     Improvements in #9994.
 .
 .
   * [r9995]
 .
     Use better parameter's name for #9994:
     nds_swapp_cw -> nds_swap_cw
 .
 .
   * [r9994]
 .
     Added new parameter in global section (oscam.conf):
 .
     nds_swapp_cw = 0|1 (deafult=0)
     When 0, it means that NDS cw's will be checked, and if they don't respect odd/even parts, they are dropped. No pushed with cacheex and not served with "normal" readers.
     More, using this =0, we force cache to check only cw's with right odd/even parts, prevent it to get the swapped cw (if present).
 .
     When 1, behaviour like previous oscam's.
 .
 .
 .
   * [r9993]
 .
     WebIF: Solutin for vertical align link with image in table.statusecminfo
 .
 .
   * [r9992]
 .
     sci reader
 .
     correction tries procedure at init for pll readers . Now also other pll max f's then 27 or 83 Mhz are ok.
 .
 .
   * [r9991]
 .
     - Revert 9987: It affects too many setups flooding the logs and cant be easily fixed to let it work for all
 .
 .
 .
   * [r9990]
 .
     sci reader
 .
     Patch made By Theparasol and Me. Special thank's to Abraham for testing work on sh4. Thank's to all others who tested and reported.
 .
     Reviewed card activation procedure . Extra error follow up and log output.
     Corrected the tries for readers who do not support the base init speed. This time sci reader type based.
     Added extra logs to see real used sent speeds to cardreader.
 .
 .
   * [r9989]
 .
     - DVBAPI: Some rework on emm filtering
 .
 .
 .
   * [r9988]
 .
     - Fixed returncode in case of failure camd35 emmsend
 .
 .
 .
   * [r9987]
 .
     - Cleanout notfound cache responses too so they can be asked again
 .
 .
 .
   * [r9986]
 .
     sci_reader
 .
     small typo in protection against restarting whitout having the reader closed. 3000  to 300 ms
 .
 .
   * [r9985]
 .
     reader_sci
 .
     init procedure off before used since with sci9983 and 9984 there was an error with two cards.
 .
 .
   * [r9984]
 .
     sci_reader
 .
     sh4 stb did not worked with svn9833 added exception for sh4 to card init and card reset
 .
 .
   * [r9983]
 .
     - Some recode and errorlog for internal readers
 .
 .
 .
   * [r9982]
 .
     Fix compilation with disabled WebIf.
 .
     Commit r9981 intrduced a bug that prevented oscam from building when
     the webif was disabled. This commit fixes the build and ticket #3979.
 .
 .
   * [r9981]
 .
     add WebifPort: to oscam.version
     now its possible to read out for activity link in openwebif and link them to the main menu
 .
 .
 .
 .
   * [r9980]
 .
     -refresh fix
     please delete browser cache !!!
 .
 .
   * [r9979]
 .
     - removed unexpected ecm response spam on unhandled (could be timeout!)
     - added workaround for bad peers ecm responses if only last controlword crc is invalid (cw is actually working if we fix the last cw crc!)
 .
 .
 .
   * [r9978]
 .
     fix httprefresh
 .
 .
   * [r9977]
 .
     Fix r9925 in case when doing api call
 .
     Thx to 3PO
 .
 .
 .
   * [r9976]
 .
     fix jumpy pages
     thnx to Hook
 .
 .
   * [r9975]
 .
     fix sorting
 .
 .
   * [r9974]
 .
     -change Graph page
     -change position of ECM Unique
     -change show raw names in cccam entitlements
 .
 .
   * [r9973]
 .
     sci reader
 .
     some fixes and extra delay after writing settings.
 .
 .
   * [r9972]
 .
     fix small typo on cccam share
 .
 .
   * [r9971]
 .
     fix temporary block for cccam proto
 .
 .
   * [r9970]
 .
     sci reader
 .
     General small timeout aplied for al readers after card reset init and settings write.
 .
 .
   * [r9969]
 .
     sci reader
 .
     sh4 needs some time after changing settings. Now it clocks ok
 .
 .
   * [r9968]
 .
     - Increased the little timeout to 120ms as suggested by Beneee after extensive testing with various setups!
 .
 .
 .
   * [r9967]
 .
     Added new parameters 'cacheex_allow_filter' and 'cacheex_allow_filter' to documentation.
 .
 .
   * [r9966]
 .
     correct visibility of the Graph page
 .
 .
   * [r9965]
 .
     fix typo for last commit
 .
 .
   * [r9964]
 .
     Fix: - sort "found" ecm
     Fix: - lable naming
     + #3981
 .
 .
 .
   * [r9963]
 .
     second cccam god/bad sid fix
 .
 .
   * [r9962]
 .
     cccam god/bad sid fix
 .
 .
   * [r9961]
 .
     cacheex filterfix #3961
 .
 .
   * [r9960]
 .
     dvbapi: fix azbox build
 .
     Commit r9933 broke azbox build, because the 'data' was redefined.
     reported by: ugola79
 .
 .
 .
   * [r9959]
 .
     dvbapi: optimize align changes introduced and fixed in r9933, r9940, r9942
 .
     This way we could omit two unnecessary memcpy calls. Tested on ARM.
 .
 .
 .
   * [r9958]
 .
     add cacheex filter system
 .
 .
 .
   * [r9957]
 .
     fix for cccam sids
     on timeout block card not blocked forever
 .
 .
 .
   * [r9956]
 .
     fix for sky uk / videoguard
 .
 .
   * [r9955]
 .
     fix Ticket #3407
 .
 .
   * [r9954]
 .
     - Dont add stats for unhandled ecm requests
 .
 .
 .
   * [r9953]
 .
     - Revert the recoding from rev 9950 on cardreset and set atr ready (reported broken internal readers vu solo2)
 .
 .
 .
   * [r9952]
 .
     httpfix patch 2
     http://www.streamboard.tv/wbb2/thread.php?postid=526165#post526165
 .
 .
 .
   * [r9951]
 .
     httpfix patch 1
     http://www.streamboard.tv/wbb2/thread.php?postid=526165#post526165
 .
 .
   * [r9950]
 .
     - Some recoding on cardreset and set atr ready
     - Give readerinterface some time (150ms) to process the new params communicated (need for my xp1000 internal readers, perhaps others too!)
 .
 .
 .
   * [r9949]
 .
     cccam-ext protocol extension
     now sends good & bad sids
 .
 .
   * [r9948]
 .
     fix pollrefresh
 .
 .
   * [r9947]
 .
     android build fix for the build of ARM Cortex Android - Amiko A3.
     Thanks goes to mihaip for making this possible! :)
 .
 .
   * [r9946]
 .
     small fix for module-cccam.c
 .
 .
   * [r9945]
 .
     revert #9943
 .
 .
   * [r9944]
 .
     - Revert tryfix 9870 as it breaks zapping in general for some boxes: if the zapping on same transponder issue comes back we have to look for a better solution
 .
 .
 .
   * [r9943]
 .
     videoguard fix
 .
 .
   * [r9942]
 .
     dvbapi align fix
 .
 .
   * [r9941]
 .
     typofix
 .
 .
   * [r9940]
 .
     buildfix for r9933
 .
 .
   * [r9939]
 .
     global align fix 7.
 .
 .
   * [r9938]
 .
     global align fix 6.
 .
 .
   * [r9937]
 .
     global align fix 5.
 .
 .
   * [r9936]
 .
     global align fix 4.
 .
 .
   * [r9935]
 .
     global align fix 3.
 .
 .
   * [r9934]
 .
     global align fix 2.
 .
 .
   * [r9933]
 .
     global align fix 1.
 .
 .
   * [r9932]
 .
     sci
 .
     sh4 sci does not need to write settings back, after fast reset.
 .
 .
   * [r9931]
 .
     sci reader
 .
     Added settings retained based on sci handle.
 .
     Now card reset can be done with fast reset whitout loosing the correct reader settings.
 .
 .
   * [r9930]
 .
     The xxor() functions in des.c and module-scam.c, introduced with the scam proto patch cause a crash due to unaligned data access on some platforms.
 .
 .
   * [r9929]
 .
     dvbapi: fix obtaining duplicate PMT
 .
     This was broken in r9921
 .
     Closes trac issue #3923
 .
 .
 .
   * [r9928]
 .
     There is a buffer overflow in function cs_log_int() from oscam-log.c.
     These two memcpy lines overflow log_txt when reading it:
 .
 .
   * [r9927]
 .
     fix, because using uninitialized may cause the compiler
     doing nondeterministic / funky things when it optimizes the code.
 .
 .
   * [r9926]
 .
     internal reader
 .
     whitout autospeed mhz will be taken for clockspeed.
     Increased back worketu by 20 % seemed to work after all
 .
 .
   * [r9925]
 .
     webif: dvbapi cosmetics: show client name and protocol version in the tooltip instead of column data
 .
 .
 .
   * [r9924]
 .
     smartreader
 .
     Just improved log output. No need to show each wait cycle in log. A single output to user of the event is enough.
 .
 .
   * [r9923]
 .
     dvbapi: another fix for r9921
 .
 .
 .
   * [r9922]
 .
     smartreader
 .
     Smartreader can now always be restarted out of webif whitout oscam crash due to segfault.
     When stopping the reader out of reader tab in webif the ftdi kernel driver for the device is reloaded.
 .
 .
   * [r9921]
 .
     dvbapi: don't close socket in network mode on demux stop
 .
     References r9906
 .
 .
 .
   * [r9920]
 .
     smartreader
 .
     Used for every lock the base pthread lock.
     With two ones unexptected ecm timeout may occur on the long term.
 .
 .
   * [r9919]
 .
     smartreader
 .
     Changed mutex lock. By init fase the system_lock will be used like before.
     Once the specific pthread for the reader self is made. Only that reader based pthread mutex will be locked and unlocked when needed.
 .
     Latency for v2 and tripple was far to low and could lead to short packet event. That's one of the causes which may lead to T1 resync.
 .
     The v1 1.04 and 1.05 firmware does have a error. Latency can't be changed there and is on 1 ms. Which most likely the cause why we need so called magic values on irdeto card detect.
 .
     General read timeout for V2 and Tripple increased by 9 %. Due to firmware error.
 .
 .
   * [r9918]
 .
     dvbapi: fix detecting connection close for network mode
 .
 .
 .
   * [r9917]
 .
     revert 9874
 .
     9874 was a try-ot,  it brought nothing better. Reverted to default exact calculation
 .
 .
   * [r9916]
 .
     dvbapi: fix boundary condition for PMT parsing
 .
     The demux stop msg has exactly 8 bytes.
     This commit should fix r9906 and r9914
 .
     Thanks @theparasol
 .
 .
 .
   * [r9915]
 .
     Removed golden interstar hack.
 .
     Removed the dirty hack golden interstar sci . New driver released for box which is ok now.
 .
     Some small fixes smartreader protocol.
 .
 .
   * [r9914]
 .
     dvbapi: Fix handling demux stop PMT commands
 .
     The 9F 80 3F 04 (stop decoding on demux) PMT messages was unhandled.
     Problem since r9869, exposed by r9889.
 .
 .
 .
   * [r9913]
 .
     Seca sh4 patch
 .
     Now the new seca layer detection is ok for sh4 boxes and dm boxes.
 .
 .
   * [r9912]
 .
     fix a segfault on accessing Cacheex Webpage if a CSP is connected
 .
     *Patch by Erne
     *fixed Ticket: http://www.streamboard.tv/oscam/ticket/3921 and Ticket: http://www.streamboard.tv/oscam/ticket/3802
 .
 .
   * [r9911]
 .
     fixed a possible Buffer Overrun in  get_random_bytes_init()
 .
     *this was spotted by Gumball3000 in Ticket: http://www.streamboard.tv/oscam/ticket/3915
 .
 .
   * [r9910]
 .
     Dreambox speed set error
 .
     Now the dreambox readers sci are back working ok with seca cards.
 .
 .
   * [r9909]
 .
     standard log add.
 .
     Users needs to see what is happening with there init. Whitout having to revert to difficult logs.
 .
 .
   * [r9908]
 .
     - Revert of commit 9891 since SH4 internal readers are badly affected by it (Tnx AbrahaM for testing & reporting)
 .
 .
 .
   * [r9907]
 .
     documentation update: dvbapi protocol
 .
 .
 .
   * [r9906]
 .
     - stop decoding fix for samygo lib (patch provided by Bugficks)
 .
 .
 .
   * [r9905]
 .
     - Revert of all entitlement refreshing code exept for nagra (seems to be the only reported still working!)
 .
     Main reason for revert is very slow refresh of entitlements on these cas that interfer with ongoing ecm requests
 .
 .
 .
   * [r9904]
 .
     reinsert pthread_join
 .
     added protecion to avoid joining own thread id[0] and entering deadlock.
 .
     made Getstatus more readable.
 .
 .
   * [r9903]
 .
     - Tryfix loadbalancer handling timeouts on localreaders
 .
     A local cardreader could be busy handling emm or entitlement refresh, if an ecm gets a timeout they must be asked again right away instead of
     running into a 30 seconds reopen block
 .
 .
 .
   * [r9902]
 .
     - Tryfix oscam ecm timeout
 .
     If an ecm gets marked timeout all further requests of this ecm will return not found
     With this tryfix I hope oscam will ask the timed out ecm again to a reader instead of returning not found without even asking again.
 .
 .
 .
   * [r9901]
 .
     - Dont clear registered entitlements, replace or add on running cards
 .
 .
 .
   * [r9900]
 .
     shows seca card type in log.
 .
     cosmetic shows seca card type in log of all seca cards not only cds nl
 .
 .
   * [r9899]
 .
     Videoguard2 patch by pfanne - makes the vg2 ins54/cw log output less confusing
 .
 .
   * [r9898]
 .
     Cryptoworks: refresh entitlement after emm so card cant silently expire
 .
 .
 .
   * [r9897]
 .
     smartreader restart out off webif
 .
     restart out off webif did not worked if only one reader installed.
     Now it worked.
     (It even crashed oscam)
 .
 .
   * [r9896]
 .
     nagra: refresh entitlement after emm so card cant silently expire
 .
 .
 .
   * [r9895]
 .
     viaccess: refresh entitlement after emm so card cant silently expire
 .
 .
 .
   * [r9894]
 .
     Irdeto: refresh entitlement after emm so card cant silently expire
 .
 .
 .
   * [r9893]
 .
     dvbapi: fix for option "delayer" has no effect for azbox and mca
 .
     Tnx Gumball3000 for patch!
 .
 .
 .
   * [r9892]
 .
     - Conax: refresh entitlement after emm so card cant silently expire
 .
 .
 .
   * [r9891]
 .
     set svn concerning layer detection with ICC_Async_Activate.
 .
     With this done. Reader speed and overal settings are respected. Fast reset in this case not needed.
 .
     rom rev info avbl.
 .
 .
   * [r9890]
 .
     dvbapi: proto v1: add dmx_sct_filter_params fields separately to avoid padding problems
 .
 .
 .
   * [r9889]
 .
     dvbapi: fix for protocol v1 when client doesn't send PMT initially after connect
 .
 .
 .
   * [r9888]
 .
     revert 9886
 .
 .
   * [r9887]
 .
     revert 9880
 .
 .
 .
   * [r9886]
 .
     in oscam.user Change Default value of Uniq parameter from disable to 4. Reason is before this change if Router Disconnected and reconnected users set as a fake and they get black screen, but now set user only to fake if source ip is different but only last login will survive.
 .
 .
   * [r9885]
 .
     Added documentation for new parameters 'lb_reopen_invalid' and 'lb_force_reopen_always'. Fixed typo.
 .
 .
   * [r9884]
 .
     Added documentation for new parameters 'ins2e06' and 'fix07'.
 .
 .
   * [r9883]
 .
     Code improvements in svn 9879
 .
 .
   * [r9882]
 .
     Fix: - default variable pollrefresh gesetzt (Fehlermeldung bei einigen Browsern)
     Fix: - default Farbe für LiveLog Filter nicht mehr weiß auf weißen Grund und in css konfigurierbar
     Fix: - spaces to tabs (eingeschleppt mit scandir/sort Function für css und javascript Pulldown)
     Fix: - fehlender tausendertrenner bei Readerstatistik
 .
 .
   * [r9881]
 .
     add 0x07 fix
 .
 .
   * [r9880]
 .
     small fix for neutrino rezap //try 1
 .
 .
   * [r9879]
 .
     Improvements in Load Balancing and CMD08.
 .
     Added two paramters:
     - lb_reopen_invalid  (default=1; if =0, "e_invalid" answers from reader will be blocked until stats cleaned and not reopen with "reopen_seconds")
     - lb_force_reopen_always (default=0; if =1, force reopening immediately all failing readers if no matching reader found)
 .
     Fix in CMD08 behaviour:
     - CMD08 "normal" command is now considered even with LB on. CM08 answers are considered "e_invalid" for lb stats.
     - CMD08 "sleep" command is now not added to LB stats if LB on, preventing so client oscam have to wait reopen_seconds even if new sid is requested.
     - CMD08 "sleep" and "normal" should not consider PID check for new SID requested, because camd35 protcol not send PID info to server.
 .
 .
 .
   * [r9878]
 .
     Added new parameter for scam protocol support.
 .
 .
   * [r9877]
 .
     Set dvbapi_get_client_name declaration as a strict_protocol_type.
 .
     dvbapi_get_client_name is a protocol type whitout arguments function. I declared it as a strict one.
 .
     This will avoid the compiler warnings :
     -Wstrict-prototypes
     -Wold-style-definition
 .
 .
   * [r9876]
 .
     dvbapi: show client name and version in the webif
 .
 .
 .
   * [r9875]
 .
     fix scam oscam-config-account
 .
 .
   * [r9874]
 .
     Tryout Increased the worketu by 30 %
 .
     This is a tryout it will increase timeout margins by serial card readers.
     like sci and smargo's
     Could resolve problems with T1 cards as it wil increase BWT.
 .
     T1 cards = block cards example ziggo HD02 and ...
 .
 .
   * [r9873]
 .
     Work-Around seca Card init Golden interstar stb sci
 .
     Dirty patch to still let work seca cards on Golden Interstar which has bad sci driver. It just disables the ROM rev detection procedure on card into that specific stb's internal reader.
 .
 .
   * [r9872]
 .
     add scam protocol
     first part
 .
 .
   * [r9871]
 .
     Fix CCcam card handling behavior to not remove card completely. #3798 Thanks to gmsoft for the patch
 .
 .
   * [r9870]
 .
     tryfix recording and zapping on same transponder
     #3664
 .
 .
   * [r9869]
 .
     dvbapi: introduce enhanced new network protocol
 .
     Also add a documentation (README.dvbapi_protocol) which was missing.
 .
 .
 .
   * [r9868]
 .
     changed a forgotten rdr_log to rdr_debug_mask
 .
 .
   * [r9867]
 .
     Fast card reset by atr internal reader
 .
     Also for internal readers fat reset required to keep correct working speed
 .
     smal adjustement smartreader protocol card can now be initiated at an own selected speed as long the setted cardmhz == mhz and greater then 369.
     even with autospeed on. If autospeed on later on reader will be clocked according to atr. autospeed off reader will be clocked on you're selected mhz.
 .
 .
   * [r9866]
 .
     Fast card reset by atr smargo protocol.
 .
     Just like by smartreader to detect nagra layer no full reader reset needed.
     Only card reset.
 .
     It's to avoid reprogramming reader to default atr detect speed instead of the initial detected and set clock working speed .
 .
 .
   * [r9865]
 .
     To detect nagra layer full card reset not required.
 .
     This avoids the reader to be set back to standard 369 mhz. Instead of the detected (with atr) or de manual setted speed when autospeed = 0
 .
     for smartreader only.
 .
 .
   * [r9864]
 .
     - Finally fixed the seca layered nagra cards (tnx stefansp for providing required log!)
 .
     ... after returning to seca layer the card commands that followed could be handled wrong, so moved some things and added retries into it!
     ... my setup was working due to fact that I had enabled unlock parental, if the unlock command failed card would still run so no problems on my side!
 .
     Now lets hope all readers out there do work again like before with seca layered nagra cards!
 .
 .
 .
   * [r9863]
 .
     - Just the next tryfix attempt for nagra layered seca cards.
 .
 .
 .
   * [r9862]
 .
     - DVBAPI Fix: after switching pids cw are not written into demuxer any longer (tnx Sarki for reporting!)
 .
 .
 .
 .
   * [r9861]
 .
     Compare result of memcmp, not sizeof(valid_ecm) that anyway never will be 0
 .
 .
   * [r9860]
 .
     Removed gpio code from ifd_stinger.c. Makes no sense for an usb reader.
     I assume it has been copied from ifd_phoenix.c without understanding the functionality.
 .
 .
   * [r9859]
 .
     Fix log and stats for timeouts of cacheex-1 clients.
 .
 .
   * [r9858]
 .
     Added documentation for new parameter 'httpoverwritebakfile'.
 .
 .
   * [r9857]
 .
     dvbapi: network mode: use one generic send function
 .
 .
 .
   * [r9856]
 .
     fix pcsc compile on maxosx
 .
 .
   * [r9855]
 .
     dvbapi: BOXTYPE_PC: drop deprecated UDP code
 .
     Doing ioctls via UDP sockets (a socket per adapter) was introduced in r6296, and deprecated with r9060.
     Almost a year was enough to have it here for compatibility, now remove and clean it up.
 .
 .
 .
   * [r9854]
 .
     add enable overwrite for *.bak files (switchable)
     small cosmetics
 .
 .
   * [r9853]
 .
     - Another tryfix for ticket 3887 (nagra handshake crashes pcsc readers)
 .
 .
 .
   * [r9852]
 .
     - Tryfix oscam crash with some readers equipped with nagra cards tunneling seca introduced with rev 9849
 .
     Reports here:
 .
     http://www.streamboard.tv/oscam/ticket/3887
 .
 .
 .
   * [r9851]
 .
     Updated 'A:' parameter in DVB API documentation.
 .
 .
   * [r9850]
 .
     - Tryfix timeouts / high ecm introduced by rev 9848 as reported by buset1974
 .
 .
 .
 .
   * [r9849]
 .
     - Add rom revision info for nagra cards tunnelling seca
 .
 .
 .
   * [r9848]
 .
     - Tryfix freezers with Sky Germany NDS caid 098c
 .
     Only apply NDS postprocessing for Sky Italia providers.
 .
 .
 .
   * [r9847]
 .
     - tryfix dvbapi a: line (as reported by jsompis not working according documentation)
 .
     On receivers supporting pmtpid the a: line is now using pmtpid
 .
     A: ::service ID:[PMT PID] :[provider ID][:][ECM PID]
     	   set a dummy ECM request with CAID FFFF for services with a constant CW shown as unencrypted service
 .
     On receivers not supporting pmtpid the a: line is now using vpid
 .
     A: ::service ID:[VPID] :[provider ID][:][ECM PID]
     	   set a dummy ECM request with CAID FFFF for services with a constant CW shown as unencrypted service
 .
 .
 .
 .
   * [r9846]
 .
     Update documentation of 'via_emm_global' parameter (txt, HTML).
 .
 .
   * [r9845]
 .
     Update documentation of 'via_emm_global' parameter.
 .
 .
   * [r9844]
 .
     - Only apply dirty timefix if clockfix is enabled, so if you have issues with this dirty fix compile with clockfix disabled in make config
 .
 .
 .
   * [r9843]
 .
     Global emm viaccess camd35 now possible.
 .
     Added extra parameter camd35 (cs357x) . Now user can enable emm global filter on this reader.
 .
     default 0
 .
 .
   * [r9842]
 .
     - Viaccess cards seems to deliver valid controlwords but the controlword checksums are invalid, controlwords checksums needs to be fixed!
 .
 .
 .
 .
   * [r9841]
 .
     - Tryfix viaccess nano e0, seems this nano is not always generating invalid responses!
 .
 .
 .
 .
   * [r9840]
 .
     some toolchains dont like the removed ;
 .
 .
   * [r9839]
 .
     code reformating (no change)
 .
 .
   * [r9838]
 .
     some cleanup by Ultra47
 .
 .
   * [r9837]
 .
     reader-griffin: Add support for 0x551A caid.
 .
     This adds support for 0x551a caid in griffin reader.
 .
     Patch by BigGyros posted in ticket #3808.
 .
 .
   * [r9836]
 .
     add Airtel India 09AA ATR - see #3790
 .
 .
   * [r9835]
 .
     Viaccess CAS:
 .
     - Improve the logged info when used AES key is missing in config
 .
     Tnx Pr2 for research + patch!
 .
 .
 .
   * [r9834]
 .
     - Fix for rev 9787 prevented update on viaccess card (Tnx Pr2 for research + patch!)
 .
 .
 .
   * [r9833]
 .
     gbx: cosmetic change to "share.info" text per request
 .
 .
   * [r9832]
 .
     - Tryfix dirty way to fix time issues in oscam
 .
 .
 .
   * [r9831]
 .
     - Add detection for viaccess nano E0 that is delivered as E0022002 instead of E0020002
 .
 .
 .
   * [r9830]
 .
     fix start with unsupported reader/protocol type
 .
 .
 .
   * [r9829]
 .
     - Fix dvbapi channel cache: if irdeto cas failed remove all chid entries from cache
     - Fix dvbapi log cosmetic streampid count was always logged 1 too high
     - Fix dvbapi serveral issues due to requestmode 1 flooding dvbapi with ecm request responses
     - Fix dvbapi dont wast any resources on handling stale data on fd from closed filters
 .
 .
 .
 .
   * [r9828]
 .
     Added new parameter 'httplocale' to documentation.
 .
 .
   * [r9827]
 .
     - Reworked viaccess nano e0 detection since the implemented detection was not catching the nano e0 on all channels
 .
     - Added more general way to detect cw's that need additional postprocessing in ecm handler
       currently seca nano01 & viaccess nano e0 are added and detected
 .
 .
 .
 .
   * [r9826]
 .
     - Protect ratelimiterqueque from running full due to changing systemtime on dvb receivers
 .
 .
 .
 .
   * [r9825]
 .
     - Implemented the nano01 detection at a more suitable place: there is no need to log if a valid controlword is returned!
 .
 .
 .
   * [r9824]
 .
     - Fix idle UDP connections will not reconnect again unless manually restarted
 .
 .
 .
   * [r9823]
 .
     - Throw a warning if other nano than 00 is in use on seca channel -> overencrypted channel!
 .
     Currently known channels using this overencryption are foxsports international (canaldigitaal) and cartoon network (telesat)
     Since cartoon network is a children channel and telesat a provider with small amount of subscribers expect
     this is a tryout to introduce overencryption to regular / non premium channels.
 .
 .
 .
 .
   * [r9822]
 .
     fix typo
 .
 .
   * [r9821]
 .
     add missing endif
 .
 .
 .
   * [r9820]
 .
     mac build fix
 .
 .
   * [r9819]
 .
     better favicon.ico + css cleanup
 .
 .
   * [r9818]
 .
     delete unused file
 .
 .
   * [r9817]
 .
     commit fixed patch from ultra47
 .
     http://www.streamboard.tv/wbb2/thread.php?postid=518858#post518858
 .
 .
   * [r9816]
 .
     - Fix for not working seca parentalunlock, tnx Pr2 for providing patch!
 .
 .
 .
   * [r9815]
 .
     - Fix log cosmetics irdeto cas on receivers that dont support sectionfiltering
     - Tryfix irdeto cas on receivers that dont support sectionfiltering new ecmdata from wrong chid could interfer with ecm request correct chid
 .
 .
 .
   * [r9814]
 .
     - Tryfix emmfilters registered with provid 0 breaking registering new emmfilters with specific provid
     - Tryfix receivers not supporting sectionfiltering repeatingly asking same ecm on irdeto cas
 .
 .
 .
   * [r9813]
 .
     - Complete removal of sectionfiltering on samygo
     - Only process complete pmt data chunks
     - Only process complete filter data chunks
 .
 .
 .
   * [r9812]
 .
     - DVBAPI report ecm length (cosmetics)
     - DVBAPI only report invalid CAT length if received ecm filter data is smaller than ecm length in use
 .
 .
 .
   * [r9811]
 .
     Update for priority and ignore DVB API documentation.
 .
 .
   * [r9810]
 .
     Update doc for svn 9809.
 .
 .
   * [r9809]
 .
     No bug in 9802.
     Now, removed connectoninit on camd35 because keepalive already covers it.
     More, a fix on saving reader's config from webif, allowing reader is connected immediatly if keepalive=1.
 .
 .
   * [r9808]
 .
     - Inactivitytimeout is already in seconds -> dont multiply with 60 (old code leftovers)
     - Only apply inactivitytimeout if user has defined one
 .
 .
 .
   * [r9807]
 .
     back svn 8902
 .
     with all blueven bugs, but he will solve it all.
 .
 .
   * [r9806]
 .
     reverted 9803 and 9804 like asked
 .
 .
   * [r9805]
 .
     inactivitytimeout now like newcamd by cs378x
 .
     inactivitytimeout = -1 can be selected and works this time with connect on init 1
     like by newcamd. Reconnect on network failure
 .
 .
   * [r9804]
 .
     doc update
 .
 .
   * [r9803]
 .
     some improvements on svn9802
 .
     Forgotten reconnect after connection break for connect on init
     Added label with default value and function in webif for reconnectoninit.
 .
 .
   * [r9802]
 .
     - Added connectoninit on webif for cs378x and cs357x
     - removed reconnecttimeout = 60 if keepalive=1, not needed.
 .
 .
 .
 .
   * [r9801]
 .
     Doc updates for commit #9799
 .
 .
   * [r9800]
 .
     Small fix in precedent commit.
 .
 .
   * [r9799]
 .
     Revert commits #9791, #9792, #9793, #9794, #9795, #9796 and #9798
 .
     New Changes from #9790:
     - remove keepalive stuff in cs357x, in NO-cacheex mode. Not nedeed.
     - if someone would ONLY connect on init, whitout keep connection alive, simply set connectoninit=1 and leave keepalive as default (0)
     - As reported in documentation, umaxidle should avoid idle disconnection for a user, overwriting clientmaxidle, but was not so. FIXED.
     	-1  as default, that means "use clientmaxidle" (default changed to -1)
     	x>0 use this value to detect when disconnect the client for inactivity, overwriting general clientmaxidle (as it already is)
     	0   avoid killing client for inactivity, ignoring clientmaxidle (fixed)
 .
       It will works even for newcamd clients too.
 .
 .
   * [r9798]
 .
     keepalive server cs357x and cs378x
 .
     It will disable the general oscam clienttimeout on the related server protocol (oscam.conf section [cs357x] or [378x]) if keepalive = 1 or checked in webif.  For cs357x only prevents client kill. By cs387x prevents client and resulting tcp_disconnection. Default 0.
 .
 .
   * [r9797]
 .
     - Only push if there is valid data available, can fix some crashes on busy setups
 .
 .
 .
   * [r9796]
 .
     Fix broken connect on init when keepalive=1.
     It is needed for cacheex and for people using only keepalive=1 paramter without connect_on_init.
 .
 .
   * [r9795]
 .
     revert 9791
 .
 .
   * [r9794]
 .
     continuous keepalive when selected (or cacheex)now also ok for cs357x
 .
 .
   * [r9793]
 .
     Added keepalive back in reader settings.
 .
     keepalive = 1 , now back possible into reader camd35 and cs378x. On specific request of blueven.
     WARNING ! using this parameter by camd35 causes a lot of freezes. By cs378x less but still it causes freezes by zapping. lb(loadbalancer) unusable with those settings.
 .
     For cacheex mode > 1 the keepalive = 1 always set and forced.
 .
     Users who do not use cacheex just do not use this parameter. It renders the lb unusable and causes the dvbapi to try to decode other then priotorised caid:ident.
 .
 .
   * [r9792]
 .
     Camd35|cs357x  and cs378x patch part 1 client site
 .
     More info see topic on streamboard forum :
 .
     http://www.streamboard.tv/wbb2/thread.php?threadid=41540&threadview=0&hilight=&hilightuser=0&page=5
 .
 .
   * [r9791]
 .
     removing parameters keepalive and reconnecttimeout for camd35|cs357x
 .
     When saving any reader out off webif the wrong parameters for camd35|cs357x will be removed out of configs.
 .
 .
   * [r9790]
 .
     Removed wrong config entry's camd35 cs357x out off webif
 .
     The webif did had possibility to configure keepalive and reconnecttimeout for camd35|cs357x.
     That is wrong for udp reader.
 .
 .
   * [r9789]
 .
     patch by chimpie23 - forgot to rename the tpl variable from READERCOCO to READERCOUNTRYC to make code more readable.
 .
 .
   * [r9788]
 .
     patch by chimpie23 - for details see: http://www.streamboard.tv/wbb2/thread.php?threadid=41564
 .
 .
   * [r9787]
 .
     #3785 enable EMMs for CAID 0500 and CAT table without provids. patch by perexg.
 .
 .
   * [r9786]
 .
     a better change for svn9785 camd35
 .
     If reader is type camd35 which means udp , the rto disconnect can not occur anymore.
 .
 .
   * [r9785]
 .
     Disable the auto camd35 disconnect when keepalive = 1
 .
     Camd35 always disconnected after 1 min 40 seconds with message rto with keepalive then it took 30 seconds before it reconnected.
     Now when keep alive is used camd35 will not disconnect anymore with rto msg.
 .
 .
   * [r9784]
 .
     commit patch from ultra47. for details see: http://www.streamboard.tv/wbb2/thread.php?threadid=40753&page=16
 .
 .
   * [r9783]
 .
     - Removed a semicolon that somehow sneaked in
     - Thightened the radegast code to suppress subecm for caid 0500 a bit
 .
 .
 .
   * [r9782]
 .
     Videoguard2 patch by pfanne
     - added fuse byte in log and in entitlements page
     - ins54 code optimization
     - added some info about cw error generation
     - now crypted cws (aka fake cw) are cutted off
 .
 .
   * [r9781]
 .
     Added PIDx feature to DVB API to documentation.
 .
 .
   * [r9780]
 .
     Fix ticket 3750 properly, without destroying functionality!
     Since rev 9750 matchfound would never reach 5 so the nagra header compare functionally was efficiently destroyed.
     This reintroduced old behaviour for HD+ channels
 .
     http://www.streamboard.tv/oscam/changeset/9750
     http://www.streamboard.tv/oscam/ticket/3750
 .
 .
 .
   * [r9779]
 .
     gbx: split shared card file into 2 files similar to original gbox:
     sc.info -> Local cards
     share.info -> peer cards
 .
 .
   * [r9778]
 .
     tryfix ghost readers introduced by 9667/9668 as reported by ngc1927
 .
 .
 .
   * [r9777]
 .
     Move Quickfix to suppress SubECMs TNTSAT card 0500:030B00 to module Radegast only
     By doing this it wont interfere with other external code.
 .
     Tnx Pr2 for code and research, I'm merely the humble committer!
 .
 .
 .
   * [r9776]
 .
     Quickfix to suppress SubECMs with CWsSwap set to 01
     apply it for TNTSAT card 0500:030B00 only so far.
     Thanks to luffy for the tip and the code
 .
     This reduce the size of the ECM from long to short
     40 07 03 0B 00 08 07 01 00 ... -> to keep
     40 07 03 0B 00 08 07 01 01 ... -> to delete
 .
 .
 .
 .
   * [r9775]
 .
     dvbapi: make network mode work also on IPv6
 .
 .
 .
   * [r9774]
 .
     Define default address family according to IPv6 support enabled.
 .
     Use this new default in start_listener() as AF_INET and PF_INET means the same:
     http://stackoverflow.com/questions/2549461/what-is-the-difference-between-af-inet-and-pf-inet-constants
 .
 .
 .
   * [r9773]
 .
     dvbapi: cosmetics: show the IP address and port of the connected client in network mode
 .
 .
 .
   * [r9772]
 .
     Adapted max timeout by smartreader.
 .
     The max timeout for read operation is limited to 14 sec to avoid a device timeout to occur before a oscam timeout. That is because some cards do allow very big timeouts according the atr and in smartreader protocol we are now using the specific max card timeout.
 .
 .
   * [r9771]
 .
     - DVBAPI fix for broken P:
 .
     P: [CAID]:[provider ID]:[service ID]:[ECM PID]:[CHID] [FORCE]:[PIDX] prio
     I: [CAID]:[provider ID]:[service ID]:[ECM PID]:[CHID] [PIDX] ignore
 .
     Example:
 .
     p:0100:00006C 0:3 (prio 0100:00006c if this ecmpid is registered as PID3 in pmt, no force)
     p:0100 1 (prio caid 0100, use force)
     p:0500 1:5 (prio caid 0500, use force but only if this 0500 caid is listed as 5th pid in the pmt)
     i:0100:00006A:::5C00 1 (ignore fakechid 5C00 if this ecmpid is registered as PID1 in pmt)
     i:0100:00006A 0 (ignore 0100:0006A if this ecmpid is registered as PID0 in pmt)
     p:0100:00006A:::FC10 (prio 0100:00006a if ecm contains fakechid FC10)
 .
 .
 .
 .
   * [r9770]
 .
     Added pidx feature to dvbapi in order to ignore and prio more specifical
 .
     P: [CAID]:[provider ID]:[service ID]:[ECM PID]:[CHID] [FORCE] [PIDX] prio
     I: [CAID]:[provider ID]:[service ID]:[ECM PID]:[CHID] [PIDX] ignore
 .
     Example:
 .
     p:0100:00006C 0 3 (prio 0100:00006c if this ecmpid is registered as PID3 in pmt, no force)
     i:0100:00006A:::5C00 1 (ignore fakechid 5C00 if this ecmpid is registered as PID1 in pmt)
     i:0100:00006A 0 (ignore 0100:0006A if this ecmpid is registered as PID0 in pmt)
     p:0100:00006A:::FC10 (prio 0100:00006a if ecm contains fakechid FC10)
 .
 .
 .
   * [r9769]
 .
     set the max timeout to 15000 instead of 2000 or the calculated lower value.
 .
 .
   * [r9768]
 .
     Delimit the read timeout to max 2000 ms by smartreader
 .
     Now we are using twe calculated timeout out off icc_async.c . But this timeout is for T0 protocol cards to big. it should be between +- 100 ms up to
     +- 1000 ms max. The calculated timout into icc_async.c should be reviewed. It looks like it is about 10 to 15 times two big on T0 cards.
 .
 .
   * [r9767]
 .
     reverting 9766 delay add by restart.
 .
     removed the delay between stop and start off oscam if oscam restarted out off webif. It did not bring any more stability.
 .
 .
   * [r9766]
 .
     added a two seconds delay between oscam shutdown and restart.
 .
     Valid for restart off oscam out off webif of by an auto restart due to segfault if -r 2 option is used.
 .
 .
   * [r9765]
 .
     dvbapi: TCP mode and pc-nodmx improvements
 .
     patch by perexg:
     1) In the TCP listen mode, the communication might stall, because the dvbapi_open_device() tries to open a non-existent linuxdvb device.
     2) Handle the connection close file-descriptor event more correctly.
     3) Do not create the /tmp/ecm.info for the TCP listen mode and pc-nodmx mode.
 .
 .
 .
   * [r9764]
 .
     smartreader protocol now uses same read timeout as icc_async.c module
     This may but not shure solve T1 card problems into v2 and tripple smargo readers.
 .
     hopefully it improves problems decsribed in tickets #3761 and #3760 and
     #3738 and #3733
     with debug 16 the real read time out used can be seen.
 .
 .
   * [r9763]
 .
     Modified some basic logs outputs.
     Moved many outputs from basic log to debug IFD (16).
 .
 .
   * [r9762]
 .
     Corrected the smartreader chip type for V2 and Tripple. chiptype emulation is 2232C  Full speed usb 1.1 (not hi speed 2.0 or 3.0)
     Added string value instead off enumarated value for chip type in logs.
 .
 .
   * [r9761]
 .
     Added new parameter 'tmp_dir' to documentation.
 .
 .
   * [r9760]
 .
     - More fix for samygo pmthandling
     - Enable sectionfiltering samygo
     - libOSCAM 0.4.0 (or better) is now mandatory, you can find it here:
 .
     http://www.streamboard.tv/wbb2/thread.php?postid=513773#post513773
 .
 .
 .
   * [r9759]
 .
     fix dvbapi close #3758
 .
 .
   * [r9758]
 .
     Forgot to add comment in last commit
     gbx: make gbox tmp dir configurable instead of hard coded to /tmp
     Rename gbx files according to original gbox
 .
     Add to Doku optional parameter in oscam.conf [gbox]:
     tmp_dir = path to tmp directory
     default = oscam default tmp dir = /tmp/.oscam
     Example: tmp_dir = /var/log
 .
 .
   * [r9757]
 .
 .
 .
 .
   * [r9756]
 .
     DVBAPI Enhancement:
     It's same as the new TCP mode, but using the unix named socket (one socket covers whole communication requirements).
     The tvheadend supports this access.
 .
     Tnx Perexg for providing patch!
 .
 .
 .
   * [r9755]
 .
     - Cosmetic fix: notfounds no longer give misleading duplicate controlword response in log!
 .
 .
 .
   * [r9754]
 .
     gbx: Increase max possible proxy cards to reshare
 .
 .
   * [r9753]
 .
     Revert parts of r9749, r9752. Removing null pointer check and check if thread is still alive before operating on it is not sane. If you think that is good, explain why.
 .
 .
   * [r9752]
 .
     Revert r9751. gfto why do you blindly revert my changes without asking me! this is not good behavior to blindly revert changes. and where is the fucking possible crash bug! you said my change introduce possible crash bug without giving a proof or posting crash log or even experience any crashes! , That's Ridiculous. I test my changes and see improvement that i commit it to trunk , and some user in the forum confirm that my changes cause improvement and you blindly revert it... Those who understand the code doesn't really need the comments, They read the code and figure out what's happened others i do not care. in oscam-chk.c there was a missing of checking ecm request provid , in oscam-ecm.c and oscam-reader.c there was a missing of controlling caid's of ecm and er. in oscam-work.c those controls are redundant that i removed.
 .
 .
   * [r9751]
 .
     Revert r9749 - no log messaage + introducing possible crash bugs.
 .
     Commits with no commit messages are not really welcome.
 .
     puya, please take a note and stop this. It is not the first time
     and I'm probably not the only one little bit nervous about your
     commits.
 .
 .
   * [r9750]
 .
     fix tiket #3750
     http://www.streamboard.tv/oscam/ticket/3750
 .
 .
   * [r9749]
 .
 .
 .
 .
   * [r9748]
 .
     extra info for terminal compile log .
 .
     When compiling with libusb and pcsc (USE_LIBUSB=1 USE_PCSC=1)
     The terminal log did not showed the extra cardreaders. This leaded to confusing information.
 .
     Now the readers are showed on CardRdrs : line.
 .
 .
   * [r9747]
 .
     - Samygo: remove recent addition to several ifdefs, seems to me this device doesnt need it after all.
       Plz test and report!
 .
 .
 .
   * [r9746]
 .
     - Tryfix Samygo (corrected a calculation thought failure)
 .
 .
 .
   * [r9745]
 .
     - Tryfix Samygo: discovered that offset 10+11 in samygo holds end of program_info in pmt buffer
       so there is no need to do any calculations!
 .
 .
 .
   * [r9744]
 .
     - Samygo program_info_length was 1 too short, this should fix SRG (tnx Pehedima)
 .
 .
 .
   * [r9743]
 .
     - Samygo dvbapi fix (tnx for testing Bugficks and Pehedima)
     - Seca2 fakechid fix (fakechid changed monthly, now changing part is ignored)
     - Some rework of dvbapi to use b2i functions
 .
 .
 .
   * [r9742]
 .
     revert changes config.h on 9738
 .
     @Gorgone.imertinence
 .
     default config.sh must match default config.h
 .
 .
   * [r9741]
 .
     -EMM Save changes
     * save unique,shared,global,unknown emms in separate files
        (e.g. readername_shared_emm.log)
     * add emm write status in log files (written,blocked,emmcache)
 .
 .
   * [r9740]
 .
     Added 'anti-cascading over SID count' feature to documentation.
 .
 .
   * [r9739]
 .
     Added new parameter 'lb_force_fallback' to documentation.
 .
 .
   * [r9738]
 .
     prevent problems on build
     set a moderate default setting
 .
 .
   * [r9737]
 .
     miss a *
 .
 .
   * [r9736]
 .
     fix compile
 .
 .
   * [r9735]
 .
      Array 'buffer[258]' accessed at index 258, which is out of bounds
 .
 .
   * [r9734]
 .
     in tommyhash.c , Boolean value assigned to pointer cause errors.
 .
 .
   * [r9733]
 .
     #3744 Fix a SEGFAULT in module-gbox.
 .
 .
   * [r9732]
 .
     - tryfix broken nagra cardinit
 .
 .
 .
   * [r9731]
 .
     While investigating Puya's commits I stumbled over 9643.
     Instead of removing part of the buggy code better recode it so it works like intended!
 .
 .
 .
 .
   * [r9730]
 .
     - Fix for compiler warnings introduced by commit 9728
 .
 .
 .
   * [r9729]
 .
     - Nagra no entitlements fix for last day of validity
 .
     Tnx Cyres for providing patch and FilipeAmadeuO for testing!
 .
 .
 .
   * [r9728]
 .
     Anticascading over Sid Count (ACoSC) by blacky fixed by mechi
 .
     http://www.streamboard.tv/wbb2/thread.php?postid=511761#post511761
 .
     global:
     [anticasc]
     acosc_enabled                 = 0/1
     acosc_max_active_sids         = 1-xx  0=unlimited
     acosc_zap_limit               = 1-xx 0=unlimited
     acosc_penalty                 =  0/1/2/3
     acosc_penalty_duration        = sec
     acosc_delay                   = msec
 .
     user:
     acosc_max_active_sids         = 1-xx  0=unlimited ; -1=global value
     acosc_zap_limit               = 1-xx  0=unlimited ; -1=global value
     acosc_penalty                 =  0/1/2/3 ; -1= global value
     acosc_penalty_duration        = sec ; -1 = global value
     acosc_delay                   = msec ; -1 = global value
 .
 .
 .
   * [r9727]
 .
     revert last unclean commit (sorry)
 .
 .
   * [r9726]
 .
     Anticascading over Sid Count (ACoSC) by blacky
 .
     global:
     [anticasc]
     acosc_enabled                 = 0/1
     acosc_max_active_sids         = 1-xx  0=unlimited
     acosc_zap_limit               = 1-xx 0=unlimited
     acosc_penalty                 =  0/1/2/3
     acosc_penalty_duration        = sec
     acosc_delay                   = msec
 .
     user:
     acosc_max_active_sids         = 1-xx  0=unlimited ; -1=global value
     acosc_zap_limit               = 1-xx  0=unlimited ; -1=global value
     acosc_penalty                 =  0/1/2/3 ; -1= global value
     acosc_penalty_duration        = sec ; -1 = global value
     acosc_delay                   = msec ; -1 = global value
 .
 .
 .
   * [r9725]
 .
     Load Balancing improvements:
     - add new parameter "lb_force_fallback" (default=0)
       Normally, if a reader has fallback and fallback_percaid parameters setted, LoadBalancing chooses it as fallback or as not-fallback reader, after evaluating its stats.
       Setting lb_force_fallback=1 on same reader, with one of above parameters, we force LB to set reader ALWAYS as fallaback, and without consider its stats (ignore fails).
       This could be usefull for secure fallback readers, that we want use as latest secure chance of decoding. It is same behaviour with LB off (mode 0).
 .
     - Fix for nfb_readers parameter: now, LB cannot selects more fallback readers than nfb_readers value.
       The fallbacks are choosen with this priority:
       1. readers with fallbacks paramters (fallback or fallback_percaid) and lb_force_fallback=1
       2. readers with fallbacks paramters (fallback or fallback_percaid) and lb_force_fallback=0, if not already used as best readers
       3. readers with best lb_value, if not already used as best readers
 .
 .
   * [r9724]
 .
     - Datefix for another caiway card, tnx MastaG for patch!
 .
 .
 .
   * [r9723]
 .
     gbx:	1. add CMD 'goodnight'. It will be sent to all online peers when gbx shuts down, exactly like original gbox is doing.
     	2. add receipt of 'goodnight' from a gbox server. This info can be sent to client OSD, if a     suitable 'driver' script /tmp/goodnight.osd is in place.
 .
 .
 .
   * [r9722]
 .
     Added new parameter 'ccc_reshare' to documentation.
 .
 .
   * [r9721]
 .
     Added new parameter 'proxy_card' to documentation.
 .
 .
   * [r9720]
 .
     -fix url for reader & user helplinks
     -add red color tooltip1
 .
 .
   * [r9719]
 .
     WebIf: Remove two classes from table.
 .
 .
   * [r9718]
 .
     gbx:	Add feature that allow to share proxy card readers (camd3, ncd, radegast...) into gbox network.
     	Modified content of /tmp/gbx_card.info.
     	Make cccamd proxy reshare configurable.
 .
     	Add to DOKU optional Parameters in oscam.conf [gbox]:
     	proxy_card = caidProv[,caidProv]... Caid Provider of Proxy Reader Cards to be reshared into gbox network
     	proxy_card = >leave open< = Disable Proxy Card reshare (default)
     	Examples:
     	proxy_card = 0D950004,05030B00,...  corresponds to 0D95:000004,0500:030B00
 .
     	ccc_reshare = 0|1 ; enable ccc reshare = 1, disable ccc reshare = 0 (default)
 .
     	Details see http://www.streamboard.tv/wbb2/thread.php?postid=511379#post511379
 .
 .
   * [r9717]
 .
     Patch by Ultra47.
 .
     Forum http://www.streamboard.tv/wbb2/thread.php?threadid=40732&threadview=0&hilight=&hilightuser=0&page=1
 .
 .
   * [r9716]
 .
     WebIf: patch by ultra47
 .
 .
   * [r9715]
 .
     WebIf: Fix links to Wiki. Thanks BigGyros
 .
 .
   * [r9714]
 .
     Update for 'httphidetype' parameter in documentation.
 .
 .
   * [r9713]
 .
     Added new parameter 'gsms_disable' to documentation.
 .
 .
   * [r9712]
 .
     Added new parameter 'my_cpu_api' to documentation.
 .
 .
   * [r9711]
 .
     gbx: try to fix compiler warning reported by stefansp
          warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
          changed min msg size from 5 to 6
 .
 .
   * [r9710]
 .
     gbx: fix another compiler warning
 .
 .
   * [r9709]
 .
     gbx: fix a compiler warning
 .
 .
   * [r9708]
 .
     gbx: Move gsms functionality to a separate file.
 .
 .
 .
 .
   * [r9707]
 .
     gbx: GSMS feature (send and receive) now completed.
     Details see: http://www.streamboard.tv/wbb2/thread.php?threadid=40522&page=5
     Add to docu optional parameter:
     oscam.conf/[gbox]
     gsms_disable = 1  # disable GSMS feature
     gsms_disable = 0  # default
 .
 .
   * [r9706]
 .
     gbx: make own cpu and api byte configurable. Optional parameter
 .
     	- Should be set automatically according to the function in the commented code
     	- Similar to changeset 9642 for the version byte
     	- Documentation change:
     	oscam.conf
     	[gbox]
     	my_cpu_api = cpu and api byte in hex, default = 40
     	example: my_cpu_api = 60
 .
 .
 .
 .
   * [r9705]
 .
     gbx: Change reconnect log text.
 .
 .
 .
 .
   * [r9704]
 .
     gbx: misc.
     	- removed goodbye count variable
     	- added log line to find config errors
 .
 .
 .
 .
   * [r9703]
 .
     WebIf: Small correction for dropdown menu in files/menu.html
 .
 .
   * [r9702]
 .
     fix compare signed code with unsigned
     PLEASE RESPECT CODING RULES !!!!!
 .
 .
   * [r9701]
 .
     WebIf:
 .
     - problem with overflow text in buttons in shutdown.html, config.html?part=loadbalancer, config.html?part=cccam, logpoll.html
 .
 .
   * [r9700]
 .
     fix build warning in module-dvbapi.c
 .
 .
   * [r9699]
 .
     Patch by ultra47
 .
     - help link via jquery for whole config Files
     - CSS and HTML Fixes
     - Pollrefresh maxlength 2
     - serverheadline fix
     - new submenu in FILES
     - convert text in footer from P to LI
 .
 .
   * [r9698]
 .
     revert changes to config.h and config.sh
 .
     @puya: these files MUST be excluded when crating/committing patches!!!
 .
 .
   * [r9697]
 .
     fixing decoding of Samsung Tv #3729 , patch created by pehedima
 .
 .
   * [r9696]
 .
     VG2: some fixes
 .
 .
   * [r9695]
 .
     VG2: better pin visualization format
 .
 .
   * [r9694]
 .
     fixed reading VG2 Pin
 .
 .
   * [r9693]
 .
     Webif: Fix for missing space is on the "...status.html#statusfooter", "readers.html", "userconfig.html"
 .
     Thanks master_of_disaster
 .
 .
   * [r9692]
 .
     VG2: read data from decrypted payload for D3 ins
 .
 .
   * [r9691]
 .
     WebIf: Better solution for