Publishing details

Changelog

oscam (1.20-11614~r11384-zesty) zesty; urgency=medium

  * [r11384]

    no change just remove useless spaces


  * [r11383]

    Revert r11382: Fix the ppc toolchain instead!



  * [r11382]

    fix ppc mutex build warnings


  * [r11381]

    [gbx]:
    - More detailed log if authentication fails


  * [r11380]

    remove is_defined.txt on make distclean



  * [r11379]

    [gbx]:
    - Dont send msg goodbye in case late cw might arrive
    - Fix for local cards initialized twice


  * [r11378]

    [gbx]:
    - Dont send msg goodbye if own gbx version is 2.2A
    - Change own gbx version default to 2.2A
    [reader nagra]                                                                                                             [
    - Fix expiration data for HDplus cards - Optimum Power ticket #4597


  * [r11377]

    dvbapi: do not send responses to all adapters, but to the origin (when decoding same srvid)

    When multiple different adapters was decoding the same srvid, then oscam
    was sending ECM responses to all adapters.
    As a result decrypt failed on client because of the unexpected responses.

    The commit fixes the problem (#4593).
    Patch by ua0lnj



  * [r11376]

    [gbx]:
    - Reactivate hello timing parameter 'gbox-reconnect'
    - Hello timing is now independant of 'clientmaxidle'
    - Limit number of hellos after peer gone offline


  * [r11375]

    adding pstruct prototype fixing debian 9 build
    #4590



  * [r11374]

    fix build ghttp for "openssl 1.10e"


  * [r11373]

    another ssl place fix for "openssl 1.10e"


  * [r11372]

    fix build with "OpenSSL 1.1.0e"



  * [r11371]

    oscam-chk: accept all providers when provider is not specified

    This commit fixes the problem when a CAID is set in reader settings,
    but the provider is set to zeroes (000000).
    Without the patch, a "reader not found" was returned.

    Fixes #4587
    patch by: ua0lnj



  * [r11370]

    - Suppresses possible warnings on targets, which are not supporting SO_PRIORITY (e.g. Cygwin) or IP_TOS.

    Thanks DaMulda for providing this patch!



  * [r11369]

    Correct a typo in r11368



  * [r11368]

    - Clean the cccam reader description code mess.

    If this breaks anything for you: fix the broken code properly!





  * [r11367]

    - Centralize code for attack handling
    - Introduce defines instead of numbers




  * [r11366]

    - revert changeset 11364/5
    - nobody should ask me again to release patches that are not proved by several users


  * [r11365]

    - fixed bug
    - thx basta2k


  * [r11364]

    - remove redundant code found by boneco69


  * [r11363]

    - Fix bug introduced r11361
    - thx hoho


  * [r11362]

    [gbx]:
    - Revised code to detect Local card change
    - Gbx local cards updated only after physical local card eject/detect


  * [r11361]

    [gbx]:
    - Revised local gbox init code.
    - Rename msg.osd to msg.info
    - Add info.log to WebIf gbox files


  * [r11360]

    [gbx]
    - make creation of attack.txt configurable
    - oscam-conf [gbox]:
       - dis_attack_txt = 0|1  default = 0


  * [r11359]

    CCCam:

    - Remove server keepalive introduced r11090

    Thanks to all oscam users involved to get this corrected again.



  * [r11358]

    - Netprio fix from #4580

    Thanks to DaMulda for this contribution.



  * [r11357]

    Change man page so it matches the new allowed timeframe functionality



  * [r11356]

    - Add extended allowed timeframe request

    Thanks Pr2 for contributing this patch!

    More info you can find here: http://www.streamboard.tv/wbb2/thread.php?threadid=45133





  * [r11355]

    fix 11354. thx OP


  * [r11354]

    [gbx]:
    - Remove residuals of obsolete gsms1 protocol
    - fix and update attack warnings
    - dont send hello to ignored peers
    - add own id to vers file


  * [r11353]

    - Restructure the stapi code so it will compile again!



  * [r11352]

    - tryfix pixelization regression introduced r11351



  * [r11351]

    - Fix for Biss using zeroed cw thanks vatlach for reporting and testing

    Only dvbapi tested, not azbox, mca and stapi!



  * [r11350]

    Webif cosmetics suggested by The Raven exceptionally patch delivered by the.sniffer



  * [r11349]

    Fix by Optimum Power for a copypaste error in r11348



  * [r11348]

    In attempt to avoid possible crashes reviewed all the checkboxes in the webif
    Thanks Pr2 for the code review and patch!



  * [r11347]

    - Attempt to improve ecm handling code!



  * [r11346]

    - Just remove the silly code since it aint usefull anyway!



  * [r11345]

    (Tnx Pr2 for this patch)

    - fix all checkbox implementation in reader section (possible cause of OScam crash) (same solution as ghttp fix 11334).
    - ECM Unique was saved in configuration but not display in Webif if no ratelimitecm was defined, now ecmunique is saved only when ratelimitecm is defined (expected webif behavior)
    - reorder all ratelimit parameters save order to match Webif order (more logical).



  * [r11344]

    - Fix more recently introduced regression!



  * [r11343]

    - Fix regression introduced in r11323



  * [r11342]

    - add proper detection of 2 more Videoguard cards
    - requested by @pr2


  * [r11341]

    [gbx]:
    - Remove obsolete gsms1 protocol from code
    - Following latest gbox.net, that removed gsms1 protocol as well
    - From now on only one password protected gsms protocol supported
    - Implement filter for unsave non alphanumerical characters in OSD messages


  * [r11340]

    DVBAPI:

    - More rework ticket #4486



  * [r11339]

    fix 09C7


  * [r11338]

    - Tryfix ticket #4566



  * [r11337]

    add halfcw fix for #4359



  * [r11336]

    [gbx]
    - fixed bug introduced with r11311


  * [r11335]

    revert 11333
    introduced crashes on mixed configurations


  * [r11334]

    WebIf
    - fix for a 3 years old bug in GHTTP reader webif
    - thx to @pr2


  * [r11333]

    fix half cw from mcs


  * [r11332]

    fix #4490


  * [r11331]

    DVBAPI:

    - more fix for ticket #4486 (thanks ua2Ahfieghah)



  * [r11330]

    fix warning compiler arm-cortex-linux-gnueabi-su980


  * [r11329]

    Tryfix ticket #4486



  * [r11328]

    [gbx webIf]
    - add feature send gsms (Gbox SMS) via WebIF
    - no need anymore to do that with text file
    - See WebIF/Config/GBox
    - all credits go to @pr2.
    - thanks


  * [r11327]

    WebIf
    - Try fix webif crash
    - Requested by @pr2


  * [r11326]

    WebIf
    - Add missing HTML tag from r11292
    - requested by @pr2


  * [r11325]

    WebIf
    - Add full support for multiport supported by Cs378x but never implemented in the webif
    - Patch provided by @pr2
    - fixes #4535


  * [r11324]

    fix warnings on build for module-newcam.c and module-cccshare.c


  * [r11323]

    fix warning in oscam-ecm.c macosx build


  * [r11322]

    fix warning in module-stat.c macosx build


  * [r11321]

    fix warning in oscam-client.c macosx build


  * [r11320]

    fix warning in module-webif.c macosx build


  * [r11319]

    fix warning in oscam-simples.c macosx build


  * [r11318]

    fix warning in reader-dre-common.c macosx build


  * [r11317]

    fix warning in reader-nagra.c macosx build


  * [r11316]

    [gbx]
    - was commented by accident
    - needed for webif tests


  * [r11315]

    fix gcc 6.x Warnung: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]


  * [r11314]

    r11293 broke reshare > 2 hops.
    To use GBOX_MAXHOPS as upper limit makes more sense anyway.



  * [r11313]

    change depcrated `` to $() and cleanup tabs



  * [r11312]

    fix crashes in special circumstances


  * [r11311]


    [gbx]
    - fix warning:[-Wmisleading-indentation]


  * [r11310]

    Small changes:

    - extract the if conditions outside the for loops.



  * [r11309]

    fix typo in patch


  * [r11308]

    small crccws fix

    http://www.streamboard.tv/wbb2/thread.php?postid=569268#post569268


  * [r11307]

    small cacheex fix


  * [r11306]

    revert last patch


  * [r11305]

    cw cycle patch


  * [r11304]

    fix last commit


  * [r11303]

    globalized option to skip checksum test for cacheex3

    http://www.streamboard.tv/wbb2/thread.php?postid=569156#post569156


  * [r11302]

    fix 2 compile warnings

    module-dvbapi.c: In function 'dvbapi_parse_capmt':
    module-dvbapi.c:3589:26: warning: initialization makes integer from pointer without a cast [enabled by default]
    module-dvbapi.c: In function 'dvbapi_write_cw':
    module-dvbapi.c:5746:134: warning: unused parameter 'cipher_mode' [-Wunused-parameter]


  * [r11301]

    use jquery-1.12.4 also if not compiled in


  * [r11300]

    add coolapi-legacy for COOLSTREAM HD1 and HD2


  * [r11299]

    update to jquery-1.12.4


  * [r11298]

    gbox clear parser message
    + replace spaces with tabs


  * [r11297]

    add gbox fixes V18
    thnx the.sniffer


  * [r11296]

    Patch V17 Gbox Webif


  * [r11295]

    revert #11294

    wrong patch


  * [r11294]

    gbx webif
    - patch provided by pr2
    - full gbx webif support


  * [r11293]

    [gbx]
    - fix for local card change (card detected/ ejected) not reported to peers
    - Change two defaults to more reasonable values


  * [r11292]

    - Webif
    - Patch requested and veryfied by @pr2
    - fix ticket #4531


  * [r11291]

    - requested and verified by @pr2
    - fix for ticket #4532
    - add httpreadonly as a parameter in the webif
    - make all config parameters for the webif clickable to point to the Wiki
    - small reorganization of the parameters that display additional infos in the Status screen to place then in the same order as they are displayed when we enable them.


  * [r11290]

    [gbx]
    - add feature
     - block ecm from specific peer(s)
     - ignore specific peer(s) entirely
    - fix Warning ref. cs_readlock timeout
    - code clean up and cosmetics

    [DOC]
    - add optional parameter to oscam.conf [gbox]:
      - block_ecm =  peer_id[,peer_id...]
      - ignore_peer = peer_id[,peer_id...]


  * [r11289]

    DVBAPI:

    - Don't break on max streampids reached, just don't add any more!



  * [r11288]

    DVBAPI:

    - Fix copy/paste error from r11246 -> each EMM Pid took 2 instead of 1 -> causing overflows in some usecases



  * [r11287]

    DVBAPI:

    - Add overflow protection to ECM and EMM pids!



  * [r11286]

    - Restore class option for viaccess card in webif (Tnx Pr2 for patch!)



  * [r11285]

    DVBAPI:

    - Revert r11250 since its breaking stuff on VU+ boxes zapping around
      read more here: http://www.streamboard.tv/wbb2/thread.php?postid=566744#post566744



  * [r11284]

    gbx:
    - fix for ticket #4522


  * [r11283]

    VIACCESS:

    - Fix regression introduced r11282 (fake class 0 on provider with valid classes)



  * [r11282]

    VIACCESS:

    - Entitle providers present on card that dont have any classes
    - Some code cosmetics

    Tnx Pr2 for signaling this bug and necessary card details to get it fixed properly



  * [r11281]

    gbx:
    - Fix for local card with caprovid 00000000. Happens when oscam is patched with emu
    - Add log/msg for peer on-offline, authentication and connection lost
    - Add OSD notification for incoming GSMS
    - OSD feature enabled by suitable 'msg.osd' in tmp_dir
    - Add and update some debug log outputs


  * [r11280]

    - Add support of ORF P4 Irdeto mode
    - Patch provided and tested by Optimum Power
    - Fix for Ticket #4517


  * [r11279]

    gbx:
    - Prepare code for more generalized OSD messages
    - renamed driver sh from goodnight.osd to msg.osd


  * [r11278]

    gbx: try to fix sporadic malfunction of server init


  * [r11277]

    Increase ECM length for Viaccess.
    Patch provided by  pr2


  * [r11276]

    gbx: code cosmetic


  * [r11275]

    gbx:
    reduced code as proposed by chimpie23


  * [r11274]

    gbx:
    correct reader log message for cw proxy cards


  * [r11273]

    - Add hop info to ecmformat like its already in use for gbox protocol idea and testing by speedy1245

    Usage: add to oscam.conf [global] for example:

    ecmfmt = c@p/i/s/l:h HOP:j




  * [r11272]

    Revert: lowered CS_SERVICENAME_SIZE from 64 to 32; the increased memory usage causes troubles on sone systems


  * [r11271]

    CACHEX: fix big/little endianess bug; i2b_buf() and b2i() already take care of endianess, also using htonl() broke it; we cannot simply remove the htonl() calls, because this would break compatibility with older oscam versions, for this reason we now use CSP_HASH_SWAP() to always swap the bytes; type of csp_hash changed from int32_t to unint32_t


  * [r11270]

    [gbx] remove ecm rebroadcasting. Causes trouble on some systems.



  * [r11269]

    DVBAPI: revert prio changes from r11246; this fixes problems with irdeto cards


  * [r11268]

    tryfix: possible stackoverflow?


  * [r11267]

    WEBIF: ssl: now only requiring TLS >=1.1 if at least TLS 1.1 is available; fallback to TLS 1.0 if not;


  * [r11266]

    WEBIF: added error message if OpenSSL Lib does not support TLS >= 1.1


  * [r11265]

    DRECAS: fixed a warning


  * [r11264]

    WEBIF: some changes to openssl calls to make it work on more toolchains (security level does not change)


  * [r11263]

    WEBIF: update for newer OpenSSL libs


  * [r11262]

    Fixes for bulcrypt au introduced with r11246


  * [r11261]

    Fixed a bug


  * [r11260]

    Videoguard: added new ATR from #4403


  * [r11259]

    CCCAM: Applied fix from #4394


  * [r11258]

    Fixed last commit


  * [r11257]

    WEBIF SSL: removed "http_force_sslv3" setting; added "https_force_secure_mode" setting (enabled by default); now using TLS


  * [r11256]

    Added fixes for OpenBSD


  * [r11255]

    icc_async.c: added a missing debug log


  * [r11254]

    CCCAM: default to newest version; if this creates problems, please revert


  * [r11253]

    Added reader setting "detect_seca_nagra_tunneled_card" (enabled by default) to fix problems with seca cards when card-reset fails (set it to 0 in this case).


  * [r11252]

    Applied #4466 : Match PCSC reader by name


  * [r11251]

    Videoguard: Added ATR from #4468


  * [r11250]

    DVBAPI: now setting CA_SET_DESCR_MODE before CA_SET_DESCR; if this breaks something, please revert


  * [r11249]

    Added SIGHUP actions patch by Nimloth


  * [r11248]

    DRE: fixed dre readers


  * [r11247]

    Fix for last commit


  * [r11246]

    DRE: Updated drecrypt reader support


  * [r11245]

    *fixed: localStorage exception on older Firefox versions; vg emm info bug on older Firefox versions


  * [r11244]

    *updated: vg emm info: fixed colors when usuing non-default webif skin


  * [r11243]

    *fixed: vg emm info: emms by cccam


  * [r11242]

    *fixed: vg emm info endless loop


  * [r11241]

    *updated: vg emm info: emm type names


  * [r11240]

    *updated: vg emm info: fixed some colors


  * [r11239]

    *fixed: vg emm info: lower case emms


  * [r11238]

    *updated: vg emm info (webif)


  * [r11237]

    *updated: vg emm info: added checksum check


  * [r11236]

    *updated: ecmfmt: display full payload by default


  * [r11235]

    *added advanced vg emm view (webif)


  * [r11234]

    fix typo


  * [r11233]

    - Commit solution for whitelist services as proposed in #4459 by TheTroll



  * [r11232]

    [gbx]
    -add patch proposed by @chimpie23
    -patch prevents that the log is flooded with messages in case you have disabled gsms


  * [r11231]

    [gbx]
    -add msg_goodbye as an indication that ecm failed, like orig. gbox
    -add optional parameter 'log_hello' to avoid spamming hellos in standard log
    -clean up and cosmetics

    [doc]
    add optional parameter to oscam.conf [gbox]:
    log_hello = 0|1, 1 = default


  * [r11230]

    picon fix by savan


  * [r11229]

    fixed atr length


  * [r11228]

    picon patch by savan


  * [r11227]

    fixed missing byte in atr


  * [r11226]

    updated atr table


  * [r11225]

    small update fix for userconfiglist.xml


  * [r11224]

    fix stats for readers


  * [r11223]

    detect multics connection


  * [r11222]

    This parameter exist but is forgotten so far in the Webif.


  * [r11221]

    limit max gbox cards to 1024



  * [r11220]

    revert html renaming


  * [r11219]

    fix lbstats for reader


  * [r11218]

    fix for loadbalancer timeout


  * [r11217]

    fix for last commit


  * [r11216]

    add detect for multics in oscam

    first patch by savan


  * [r11215]

    Teleclub 09B6 Date Fix
    fix by BigGyros


  * [r11214]

    make oscam less talking in default log
    only move some output to dvbapi DEBUG
    no function change


  * [r11213]

    DVBAPI:

    Research and patch done by FrankGall (Tnx!)

    - Fix for audio stream type 0x06 not decoded (ticket #4436)
    - Fix for only first audio stream decoded on powervu channels (ticket #4437)



  * [r11212]

    fix small bug with channelname on srvid2 for fta


  * [r11211]

    cccam protocol emm issue via and cw
    fix for ticket #3297 requested by dukat



  * [r11210]

    WebIf: - fix links to streamboard wiki help


  * [r11209]

    Fix setting client_proto_version for the connection

    The client_proto_version was lost when the PMT data was not send in the very first data packet processed.

    The trace for the problem:
    - new socket connection fd: 14
    - dvbapi_handlesockdata, client_proto_ver=0, pfd2[i]: i=0
    - Got DVBAPI_CLIENT_INFO packet with size 42
    - Client connected: 'vdr-plugin-dvbapi 2.2.1 / VDR 2.0.0' (protocol version = 2)
    - dvbapi_handlesockdata AFTER, client_proto_ver=2, pfd2[i]: i=0

    Now the connection is added to unassoc_fd, because there was only a greeting and no caPMT.
    Then the PMT update is on other pfd2 index (i=1) and the client_proto was set previously on index i=0 !
    - dvbapi_handlesockdata, client_proto_ver=0, pfd2[i]: i=1

    And OSCam was using wrong protocol leading to problems with communication.

    The commit uses the last_client_proto in this case to correctly fill the client_proto_version[] table with correct index.



  * [r11208]

    - More fix for re-enabled provid matching!



  * [r11207]

    DVBAPI:

    - In CSA mode extended_cw_api should be always 0 regardless what user selected!



  * [r11206]

    - Reworked the re-enabled provid check in r11204 (Hope working setups dont need to be adopted by the thighter provid check!)



  * [r11205]

    DVBAPI:

    - Fetching realpmt and ecmpid provid was fixed by an ecm request it lead to an additional ecmpid -> fixed!
    - Optimized the ecmpid / streampid addition code



  * [r11204]

    - Re-enable provid check. Some cards report it wrong may not be the reason to disable the check complete.
      If a card reports provid wrong it should be replaced with provid 000000



  * [r11203]

    - Tryfix streampid issues dvbnetapi() (fatal trigger by r11202, but issue was already present for long time!)



  * [r11202]

    DVBAPI:

    - Fixed a streampid bug in case decoding was temporarily stalled (introduced r11190)
    - On first streampid enable always disable the streampid on ca device with index -1 (makes 100% sure the index we use is used for decoding!)
    - Log cosmetics: dont hide "stop descrambling program number..." (user doesnt have to guess why is my channel not descrambled if its done on purpose!)



  * [r11201]

    WEBIF:

    - Fix for ticket #4388 not cleaning notfound stats using webif->config->loadbalancer->Clear Not Found button



  * [r11200]

    VIACCESS:

    - Fix for broken Nano 0E support regression introduced r11199 (Tnx Pr2 for patch!)



  * [r11199]

    VIACCESS:

    - Improved nano E0 logging: only log if no initCA28 (tnx Pr2 for patch!)



  * [r11198]

    VIACCESS:

    - Removed misleading failed logwarning if user isnt using ca28 init (there are cards that even dont need it anyway and work fine without it!)



  * [r11197]

    DVBAPI:

    - Updating errno isnt mandatory in case a systemcall was successfull!



  * [r11196]

    DVBAPI:

    - revert 1 line too much -> corrected!



  * [r11195]

    DVBAPI:

    - Revert recent changes that might be the cause of fd's that dont get closed on some systems!



  * [r11194]

    DVBAPI:

    - Tryfix some setups suffered from errno=24 Too many open files after some zapping since r11181



  * [r11193]

    DVBAPI:

    - Tryfix STAPI no matching S: line in oscam.dvbapi for pmtfile



  * [r11192]

    DVBAPI:

    - Set PAT & PMT filter only on new caPMT list items, not on all (Tnx Schwa266 for providing patch!)

    - Only start SDT filter on new caPMT list items too!



  * [r11191]

    DVBAPI:

    = Tryfix VU+ streampid sensitivity reintroduced in r11168: dont disable streampids on ca device that are not used for decoding!



  * [r11190]

    DVBAPI:

    - Experimental: on cw not found do not directly disable stream on ca since the already written cw is still valid for some time and we have time left to get the fresh cw before old cw is expired!
    - Experimental: only channel stop descrambling disables all streams used by this demuxer on the ca device
    - Tryfix: Seems an solved bug in r11064 was reintroduced in r11168, modded the involved code so it should work same as in r11064



  * [r11189]

    small cosmetic fix to hide inactive clients


  * [r11188]

    fix stapi5 streampids >16

    found by hoho


  * [r11187]

    - Addition: ...Forgot the comment in code for future updates!



  * [r11186]

    - Proper TommyDS fix for buggy toolchain used for fritz 73xx and 74xx

      And made a remark in code to prevent it to happen with future updates of TommyDS!



  * [r11185]

    forget another point to fix thanks AbrahaM...


  * [r11184]

    fix build error on fritz 73xx und fritz 74xx


  * [r11183]

    - (small) update tommyDS lib from https://github.com/amadvance/tommyds/



  * [r11182]

    fix compile warning


  * [r11181]

    poll fix patch for TVheadend
    patch by perexg
    http://www.streamboard.tv/oscam/ticket/4373


  * [r11180]

    fix proc reading
    patch by plnic
    http://www.streamboard.tv/oscam/ticket/4372


  * [r11179]

    fix #4366
    patch by hook


  * [r11178]

    DVBAPI: (see ticket #4369)

    - fix unhandled_buf migration from temporary fd range to demuxer



  * [r11177]

    DVBAPI: (see ticket #4370)

    - The unassoc_fd _MUST NOT_ be unset outside the poll loop for the network protocol (and pcnodmx mode)



  * [r11176]

    DVBAPI:

    - Preserve client version for unassoc_fd[] (see ticket #4367)



  * [r11175]

    DVBAPI:

    - Register adapterindex early (ticket #4368)



  * [r11174]

    DVBAPI:

    - Tryfix ticket #4365



  * [r11173]

    ca_mask should have 32 bits


  * [r11172]

    fix activeindexers cast


  * [r11171]

    log stream_type before it gets patched


  * [r11170]

    raise INDEX_MAX_LOCAL to 15, at least the av7110 supports it


  * [r11169]

    store client_proto_version for each connected dvbapi client


  * [r11168]

    fixes for dvbapi pid index handling
    dvbapi via tcp now supports up to 64 indexes (0 to 63)
    dvbapi non-tcp now supports up to 8 indexes (0 to 7)
    fixed possible 100% cpu freeze bug;
    fixed index disable bug on stapi


  * [r11167]

    fix typo


  * [r11166]

    revert last commit


  * [r11165]

    rewrote dvbapi pid index handling
    dvbapi via tcp now supports up to 0xDFFFFFFF indexes;
    dvbapi non-tcp now supports up to 8 indexes (can now be raised to any value <= 0xDFFFFFFF when needed);
    fixed possible 100% cpu freeze bug;


  * [r11164]

    NAGRA:

    - Additional EMM filtering for emms starting with 0x84 and 0x87 as used by e.g. MaxTV
      Tnx goes to Pr2 for delivering initial patch, I merely reworked it a bit so that not 3 additional filters will be setup!



  * [r11163]

    VIACCESS:

    - Dont return error on softfail 9040



  * [r11162]

    CCcam:

    - Dont set both last send and get on keepalive, just set what is actually done (e.g. time of last send action or time of last get action)



  * [r11161]

    CCCAM:

    - Add keepalive response from CCcam server to keepalive request from cccam client



  * [r11160]

    DVBAPI:

    - Dont try to close and flush filter fd if stop filter already returned bad fd error



  * [r11159]

    fix oscam spam the dvbapi log with "PMT Update on socket.."
    on dvbapi client disconnect

    patch by schwa226
    http://www.streamboard.tv/oscam/ticket/4349#comment:4


  * [r11158]

    revert last commit


  * [r11157]

    tryfix2: zap takes too long


  * [r11156]

    tryfix: zapping takes too long


  * [r11155]

    DVBAPI:

    - Keep trying to close a filter that reported bad fd is useless -> skip!



  * [r11154]

    DVBAPI:

    - Tryfix ticket #4353 (DVBAPI_AOT_CA_STOP command)



  * [r11153]

    fix status_loghistory height


  * [r11152]

    added missing file


  * [r11151]

    make number of displayed log lines in webif adjustable


  * [r11150]

    make sure we do not loop too long on on socket


  * [r11149]

    re-wrote packet receiving code.

    problems are expected, please keep calm and open a ticket or post in the forum when you encounter one.


  * [r11148]

    - Another tryfix for cardreaders that cant handle nagra layer switching!



  * [r11147]

    DVBAPI:

    - Why should oscam convert subtitle type streampids to audio type?



  * [r11146]

    reduce livelog cpu load


  * [r11145]

    VIACCESS:

    - A9 Nano: not all classes need to be already present in card entitlement -> disabled all classes must match check
    - Dont throw error in log for softfail 9040 (card gives this back if all entitlements were already up to date)



  * [r11144]

    CCcam:

    - Attempt to get keepalive, read timeout and inactivity timeout working like expected

    Keepalive only works if both sides (client and server) have it enabled
    Its now possible to use -1 for inactivity timeout too.




  * [r11143]

    block commercial libOscam (BOXTYPE_PC_NODMX) for Samsung TVs (the free one with BOXTYPE_SAMYGO still works)


  * [r11142]

    DVBAPI:

    - Do not reset ecmpidcount on fetching realpmt as it will invalidate values like status, tries, checked and influences the running decoding!



  * [r11141]

    DVBAPI:

    - Add missing connfd that is needed to start filters on dvbnetapi



  * [r11140]

    undo last fix, should be fine on samygo


  * [r11139]

    DVBAPI:

    - Yet another quick & dirty workaround for "Samygo" messing up the dvbapi code.



  * [r11138]

    DVBAPI:

    - Some fixes in communication handler



  * [r11137]

    DVBAPI:

    - Tryfix realpmt doesnt add fake ecmpid (reported here: http://www.streamboard.tv/wbb2/thread.php?postid=554891#post554891 )



  * [r11136]

    DVBAPI:

    - Tryfix ticket #4349 (logspam dvbapi networkmode)



  * [r11135]

    DVBAPI:

    - Fix for ticket #4350 (PAT/PMT could not be started on STAPI devices)
    - Some logcosmetics



  * [r11134]

    DVBAPI:

    - Improved the correct srvid pmt fetching using section filtering: let the box do the heavy lifting!



  * [r11133]

    fix: one pmt stream may be used for multiple channels -> verify srvid


  * [r11132]

    DVBAPI:

    - Output SDT/PAT/CAPMT filterdata it might be handy for debugging purposes!



  * [r11131]

    revert last change


  * [r11130]

    tryfix: problems on some channels after fetching real PMT


  * [r11129]

    default to audio for stream_type 0x06 if no descriptors are available; this breaks when other datastreams come in the way, but better than nothing


  * [r11128]

    directly filter pmt if pmtpid available
    some log cosmetics


  * [r11127]

    second fix from #4347


  * [r11126]

    applied fix from #4347


  * [r11125]

    revert 11122; breaks reading on some stbs


  * [r11124]

    better handling of invalid pmts


  * [r11123]

    remove bit-rate info


  * [r11122]

    do not spam cs_recv() if there is no data


  * [r11121]

    fixed typo


  * [r11120]

    updated streamtxt


  * [r11119]

    fix log output for stream_type


  * [r11118]

    tryfix: switching back to csa on OE2.2


  * [r11117]

    fix possible warning


  * [r11116]

    fix possible endian problem


  * [r11115]

    tryfix for encrypted PMTS; however we still need a capmt with valid caid descriptor, so this most likely will not be enough


  * [r11114]

    if we cannot detect the command, skip one byte, or we will be stuck


  * [r11113]

    fix build


  * [r11112]

    fix: connection dropped if no incoming data (revert)
    fix: do not try to read capmt after killing the connection


  * [r11111]

    use real PMT if it can be filtered


  * [r11110]

    re-wrote loghistory
    loghistorylines now sets the amount of log history lines (the old loghistorysize has been removed to avoid confusion)
    skipping/invisible log lines (especially when using loglevel > 0) should now be fixed


  * [r11109]

    fixes for extended cw mode


  * [r11108]

    - Tryfix VDR http://www.streamboard.tv/wbb2/thread.php?postid=554649#post554649



  * [r11107]

    DVBAPI:

    - Fix for openxcas not using prio / non-prio run



  * [r11106]

    DVBAPI:

    - Tryfix #4344
    - Squashed a bug in start_filter()



  * [r11105]

    fix index reset


  * [r11104]

    revert last commit: does not solve the problem


  * [r11103]

    make sure that unused indices get released when we need a new one


  * [r11102]

    fixed a bug in dvbapi_get_descindex()


  * [r11101]

    small fix


  * [r11100]

    fix crash in dvbapi_parse_capmt() when pmtfile == NULL


  * [r11099]

    small fix


  * [r11098]

    according to doc for recv():

    "These calls return the number of bytes received, or -1 if an error occurred. The return value will be 0 when the peer has performed an orderly shutdown."

    -> so we must treat len == 0 as a disconnect, because we are using MSG_DONTWAIT, also added EWOULDBLOCK to the error checks


  * [r11097]

    tryfix for #4343


  * [r11096]

    fixed some bugs


  * [r11095]

    reworked index related code:
    converting back and forth between int8_t, int32_t and uint32_t is very confusing -> replaced with ca_index_t
    no longer using index == 0 for FTA

    this makes the code a lot easier to understand and helps to find bugs


  * [r11094]

    fix wrong config check


  * [r11093]

    - Tryfix ticket #4343



  * [r11092]

    updated video/audio pid detection


  * [r11091]

    raise tcp_ito for cccam so that keepalive can work


  * [r11090]

    updated cccam keepalive


  * [r11089]

    update for last commit


  * [r11088]

    tryfix: black scren when switching from a des channel to a csa channel


  * [r11087]

    fix crashing on shutdown because of oscam-cache.c


  * [r11086]

    update video/audio pid detection


  * [r11085]

    cleaner version of last commit


  * [r11084]

    fix crash when no filters are returned


  * [r11083]

    more fixes for extended cw code


  * [r11082]

    extended cw tryfix for black screen when switching from multiple cw mode to single cw mode


  * [r11081]

    another tryfix for radegast


  * [r11080]

    VIACCESS:

    - All classes in an emm have to match!



  * [r11079]

    VIACCESS:

    - Seems an emm can contain multiple classes -> reworked the code once more!



  * [r11078]

    radegast: suppressing subecms for caid 0x500 is broken on 0500:041980 -> fix: only suppress subecms when ecmlen > 0xFE


  * [r11077]

    DVBAPI:

    - Revert EMM handling exset and drecrypt since it breaks bulcrypt



  * [r11076]

    RATELIMITER:

    - Fix on cooldown: take the srvidholdtime into account too!



  * [r11075]

    the 0x4A caid range contains a lot of systems, so better revert to the old line.
    caid_is_dre() is meant to be for Drecrypt, if a function for Dreamcrypt is needed, please create another function.


  * [r11074]

    DVBAPI:

    - Increase maximum filters to 32 for now.
      We could increase to 128, some boxes/images do support it but its eating up too much resources we better make it dynamical but it involves many dvbapi code changes
      The fd limit issue on demuxers has been researched in deep by AbrahaM, Mickey and Tequila for quite some time due too 0 size recording issues on some images.
      So a big thank you for the great effort you put into it: https://github.com/Duckbox-Developers/dr...a43375c2fddc7a6

    - Added a check on dvbapi startup how many filters each demuxer can handle (only api 1 and 3, so no stapi/coolstream/whatever)

    - To avoid possibility of 0 recordings on old images/boxes due to too many emmfilters now emm and sdt filters get killed right before new channel is starting to descamble
      that way we make maximize the chance that ecm filters can be started

    - Dreamcrypt seems to use caid 0x2710 too -> added!


    The fd limit on demuxers has been researched by AbrahaM, Mickey and Tequila due to the



  * [r11073]

    fix for long emms


  * [r11072]

    +Added OE2.0 and OE2.2 cipher mode API to module-dvbapi.c (dreambox only for now)
    Possible ciphers on OE2.0: CSA, DES
    Possible ciphers on OE2.2: CSA, DES, AES128
    (if the driver supports it)

    +Updated oscam for extendes cws, this includes:
    ->using different cws for each stream type (video, audio, data)
    ->using CSA, DES, AES128 as cipher

    -> All these changes are DISABLED by default atm, and can be turned on in globals.h:
    //#define WITH_EXTENDED_CW 1





  * [r11071]

    DVBAPI:

    - Tryfix streampid takeover



  * [r11070]

    added caid_is_dre()


  * [r11069]

    *Fix: emmcache truncated last 3 bytes of cached EMM
    *Update: support large EMMs
    *Update: verify EMM length


  * [r11068]

    fix MAX_EMM_SIZE for emm reassembly buffer


  * [r11067]

    DVBAPI:

    - Some rework on ca pmt parsing & connection handling



  * [r11066]

    DVBAPI:

    - Some retrying while disabling filters and their fd's



  * [r11065]

    DVBAPI:

    - Fix PMT parsing for caid 2710 (tricolor)



  * [r11064]

    DVBAPI:

    - Disable all indexes for a streampid on ca right before takeover by new index



  * [r11063]

    DVBAPI:

    - Tryfix takeover streampid from other demuxer with different index



  * [r11062]

    clienttimeout  ->   increasing multiplier to prevent low timeout values


  * [r11061]

    IRDETO:

    - Extended logging cardstatus after ECM request (Tnx Newcslover for providing initial patch!)



  * [r11060]

    SECA:

    - Dont return ERROR on corrupt/fake ECM since it will block the channel for correct ecm too!



  * [r11059]

    IRDETO:

    - Some cards have status on different position, so start using cta_res[cta_lr-2] instead of cta_res[3] (Tnx jsompis for providing patch!)



  * [r11058]

    CRYPTOWORKS:

    - EMM rework

    report issues here: http://www.streamboard.tv/wbb2/thread.php?postid=553585#post553585



  * [r11057]

    IRDETO:

    - Fix for non acs57 based cards: cardstatus after emm was 1 byte off (tnx Jsompis and newcslover!)



  * [r11056]

    VIACCESS:

    - Fixed a logcosmetic



  * [r11055]

    VIACCESS:

    - EMM logcosmetics



  * [r11054]

    IRDETO:

    - Disable emmcache in code since it wont work for this cas:
      some logging revealed 150 unique emms in just 10 minutes, after several hours/days the emmcache will take tremendous resources leading to slow writing and timeouts on ecm handling!



  * [r11053]

    IRDETO:

    - Fix: dont report in log error if its a softerror like 0x7B / 0x7C (chid already up to date / emm already written)



  * [r11052]

    EMM:

    - Attempting to clean stale emms on every single new emm is a complete waste of resources!



  * [r11051]

    - Fix overflow warning r11050



  * [r11050]

    DVBAPI:

    - Add support for seca PBM and date in PMT of a channel (in the old days this was used for cams to determine if channel could be descrambled by card)



  * [r11049]

    IRDETO:

    - More fix emm irdeto card status return (tnx newcslover!)



  * [r11048]

    VIACCESS:

    - Update entitlements a bit more smarter after a successfull nano A9 has been written!



  * [r11047]

    IRDETO:

    - Removed the == 00 as suggested by jsompis



  * [r11046]

    VIACCESS:

    - Fix old classes not added anymore to entitlement database of oscam
    - Attempt to auto refresh entitlement after date emm written to card



  * [r11045]

    VIACCESS:

    - Final tryfix viaccess emm: dont write same dated emm tnx goes to tvglotze and geisivi for assistence with testing and suggestions!



  * [r11044]

    VIACCESS:

    - Next tryfix for 9040 errors



  * [r11043]

    IRDETO:

    - Extend emm card status response to 5 bytes on both acs57 and non acs57 in order to get more details on the many shared error emms



  * [r11042]

    VIACCESS:

    - Experimental tryfix emm 9040 error: card entitlement seems to have always double class entry with startdate just 1 below the other (tnx Pr2!)



  * [r11041]

    VIACCESS:

    - Experimental tryfix emm 9040 error: if class entitlement on card is lower or equal in date skip the emm! (since it seems already being written)



  * [r11040]

    - Partially revert 11038



  * [r11039]

    VIACCESS:

    - Experimental: Avoid emm response 9040 by checking emm enddate, if same enddate -> skip!

    Report your issues / results here:

    http://www.streamboard.tv/wbb2/thread.php?postid=553132#post553132




  * [r11038]

    IRDETO:

    - Fix emm errors, tested on Irdeto SC 58 version 19 revision 1, patch level e
    - Added card emm responsecodes to emmlog



  * [r11037]

    fix: do not display payload for network readers


  * [r11036]

    oscam.version fix output for CARDREADER_INTERNAL_COOLAPI2


  * [r11035]

    DVBAPI:

    - Tryfix prio betatunneled ecmpids



  * [r11034]

    DVBAPI:

    - Resort ecmpid: use is_localreader() to detect localreaders!



  * [r11033]

    DVBAPI:

    - Fix: and dont forget to paste it at the right position! ;)



  * [r11032]

    DVBAPI:

    - Fix: removed a copy / paste error!



  * [r11031]

    DVBAPI:

    - Resort ecmpids fix: the first P: match in oscam.dvbapi is used all next are ignored.



  * [r11030]

    DVBAPI:

    - reworked prio settings once more



  * [r11029]

    DVBAPI:

    - Resort ecmpids more fix for i:0 (attempt to resembles the old behaviour / function of it)



  * [r11028]

    DVBAPI:

    - Resort ecmpids fixed forced ecmpid
    - Resort ecmpids I:0 was acting on all ecmpids -> ignore all -> black screen!



  * [r11027]

    applied coolstream2 patch by flk, thank you!


  * [r11026]

    fixed macro


  * [r11025]

    DVBAPI:

    - Some more rework on sorting ecmpids

    Post your personal input or bugreports here: http://www.streamboard.tv/wbb2/thread.php?postid=552726



  * [r11024]

    fix for last commit


  * [r11023]

    updated coolapi support
    for details see: http://www.streamboard.tv/wbb2/thread.php?&threadid=39134


  * [r11022]

    hide serial by default


  * [r11021]

    added missing file from last commit


  * [r11020]

    Patch from Ultra47:

    - Correct PID in footer (now parent PID instead PID of Webif)
    - Show PID in oscam.conf
    - Fix for v10994: show only files entry constant.cw if constant.cw compiled



  * [r11019]

    fix a segfault


  * [r11018]

    updated via6 atr check.
    this adds support for the new srg via6 card.
    thanks to everyone involved!
    for more details check: http://www.streamboard.tv/wbb2/thread.php?threadid=44106


  * [r11017]

    updated payload messages,thanks to regedit and Optimum Power


  * [r11016]

    change/fix: now payload is always displayed in log, if its a nds card


  * [r11015]

    fix: now 0F06/04 payload should be display for V13 or similar cards, too


  * [r11014]

    DVBAPI:

    - Disable sectionfiltering for ipboxes for more details see ticket #3056



  * [r11013]

    fix: 0F06 prefix was missing in default ecmfmt config


  * [r11012]

    fix: now forwarding ea.tier to write_ecm_answer()


  * [r11011]

    now displaying tier name, if available, by default


  * [r11010]

    better implementation for ecmfmt = y/Y
    enabled display of tier in ecmfmt by default


  * [r11009]

    added ecmfmt = Y to display full payload (6 bytes)
    note: ecmfmt = y displays short payload (3 bytes)


  * [r11008]

    added ecmfmt "t"
    t = used tier (videoguard)


  * [r11007]

    DVBAPI:

    - Tryfix prio in oscam.dvbapi is leading and still keep the new attempted feature that more matching readers for an ecmpid gives a higher prio!



  * [r11006]

    DVBAPI:

    - Revert r10999



  * [r11005]

    DVBAPI:

    - Some rework on filtermatching
    - Some rework on wrong section length



  * [r11004]

    DVBAPI:

    - Some rework on ecm/ecm/sdt section length returned by filters
    - More info about emm filterdata delivered to dvbapi



  * [r11003]

    DVBAPI:

    Removed the filter killer on bad filterdata since there are too many boxes like STAPI and su980 that deliver data we didnt ask for!
    Now bad filtedata will be discarded. We cant kill the filter delivering bad data since its delivering good data too!
    At least the bad filterdata is detected and cant trigger bad things that should not happen.




  * [r11002]

    DVBAPI:

    - Tryfix MCA: reported broken since r10979 by FilipeAmadeuO



  * [r11001]

    DVBAPI:

    - Dont setup filters for cards that dvbapi user has no group match (Tnx AbrahaM for reporting!)



  * [r11000]

    Keepalive: (patch delivered by boneco69)

    - This patch make CCcam client to sent MSG_KEEP_ALIVE to SERVER every 10s so CCcam Server maintains the Client in connected state.
    - This patch enables "keepalive" parameter to IGNORE local timeout so the TCP stream isn't closed.
    - This patch enables "ccckeepalive" to work as espected.




  * [r10999]

    DVBAPI:

    - Fix emm filternum handling: it was always 1 too high!



  * [r10998]

    - Fix return value on different ecmhash: now its always either 0 or 1 nothing else!
    - Tryfix skip betatunneled ecm hash check since they never match!



  * [r10997]

    - Switching to nagra layer still seems to fail for ET-7500 and ET-8500, users affected should enable deprecated on the reader as a workaround!



  * [r10996]

    DVBAPI:

    - r10995: there was no runnning code lost -> revert!
    - dont touch demuxers driven by other pmt files or connections than the current



  * [r10995]

    DVBAPI:

    - Tryfix ticket #4308: somehow setting the demuxer was already running code was lost!



  * [r10994]

    Just commiting a patch delivered by ugola79:




  * [r10993]

    - Auto create oscam.srvid2 if oscam.srvid and oscam.srvid both do not exist (its not nice that user have to create such a file manually in order to let SDT work!)



  * [r10992]

    DVBAPI:

    - Only fix provid if provid could be extracted from ecm!



  * [r10991]

    DVBAPI:

    - Small fix on stopping filters (they could be stopped by another thread!)



  * [r10990]

    DVBAPI:

    - Tryfix disable streampids on stop descrambling channel



  * [r10989]

    DVBAPI:

    - Even more fix for filter setup... Hope I catched them all by now :)



  * [r10988]

    DVBAPI:

    - Fix: only register filter details if filter was set successfully



  * [r10987]

    DVBAPI:

    - Stapi device ca handling fixes
    - Disable stapi filter killer on deliveral of bad filterdata (seems those boxes are notorious for delivering bad data!)


    Keep in mind:

    Stapi code needs to be better integrated into oscam dvbapi.
    Since I'm a bad coder I cant do it without doing a lot of testdriving and I'm not buying a stapi device just to recode and please the crowd ;)



  * [r10986]

    DVBAPI:

    - Some rework on filter input handling 3 strikes out -> 14 strikes out
    - Some rework on dvbapi ecm requests: only request same ecm again if current and previous ecmrequest result delivered no controlword
    - Some rework on ecm hashing for dvbapi (just use our own dvbapimodule only hashalgo)
    - Some rework on prio algo (I'm already starting to regret touching it in the first place!)
    - Revert enable / disable streams on ca device only once (possible sporadic requestmode 1 issues!)




  * [r10985]

    DVBAPI:

    - More fix for ecmpid prio code
    - Ecmhandler fixes the provid, dvbapi needs to do the same otherwise controlword handling fails!



  * [r10984]

    Added new value 'y' for parameter 'ecmfmt' to documentation.


  * [r10983]

    Added new parameter 'getblockemmauprovid' to documentation.


  * [r10982]

    DVBAPI:

    - If enabling stream on ca device fails remove it from oscam internal capid list



  * [r10981]

    DVBAPI:

    - Reworked ecmpid prio code (not all readers were evaluated in prio algo!)
    - More protection against data from unusable/bad filters: its now 3 strikes and you are out!



  * [r10980]

    DVBAPI:

    - Fix memleak / azbox patch provided by ugola79



  * [r10979]

    DVBAPI:

    - Tryfix race condition: ecm request gets answered and handled by dvbapi cw handler before ecmd5 hash has been copied to demuxer for delayed response check



  * [r10978]

    fixed missing html part


  * [r10977]

    fixed crash for negative class settings


  * [r10976]

    fix for commit 10971


  * [r10975]

    fix for twin protocol


  * [r10974]

    free CLASSTAB memory


  * [r10973]

    removed CS_MAXCAIDTAB limit


  * [r10972]

    adjustments for last commit


  * [r10971]

    added patch from #4175.
    patch provided by w33d, thank you!


  * [r10970]

    added support for twin protocol (serial)
    discuss in: http://www.streamboard.tv/wbb2/thread.php?postid=551263
    patch provided by coolirc


  * [r10969]

    fix for last commit


  * [r10968]

    fix for last commit


  * [r10967]

    camd35 tcp, cccam: enable TCP_NODELAY setting when not using cache-ex mode 2 or 3


  * [r10966]

    added fix for missing MSG_WAITALL for cygwin,
    as proposed in http://www.streamboard.tv/wbb2/thread.php?threadid=44029
    thanks goes to softworkz


  * [r10965]

    added proposed fix from http://www.streamboard.tv/wbb2/thread.php?threadid=44031


  * [r10964]

    added fix as proposed in #4294.
    thanks to perexg


  * [r10963]

    DVBAPI:

    - Some rework on CA server PMT connection handling



  * [r10962]

    DVBAPI:

    - Tryfix vdr-plugin-dvbapi



  * [r10961]

    added option to enable syncing of emmfilters and auproviders with server.
    patch created by our well known and loved member the.sniffer, thank you very much!


  * [r10960]

    DVBAPI:

    - Remove filterdata debug line
    - Simplify filterstorage used for comparison



  * [r10959]

    DVBAPI (Experimental!)

    - Added filterdata check: now we are sure filter data we get from the box is matching with the filter that we setup to receive it!



  * [r10958]

    Added new parameter 'cacheex_block_fakecws' and new config file 'oscam.fakecws' to documentation.


  * [r10957]

    DVBAPI:

    - Some rework on disable_unused_streampids() in attempt to improve it (affects channel changes crypted -> FTA, FTA -> crypted)



  * [r10956]

    DVBAPI:

    - Fixed removal of pid in use by multiple indexes on a ca device and using index 0 for decoding was always returning REMOVED_DECODING_STREAMPID_INDEX



  * [r10955]

    DVBAPI:

    - Enable / disable streampids only once on startup of channel
    - Index must be unique on same CA device: just counting up cant be used since ca device accepts not every index number



  * [r10954]

    until oscam is multi threading safe, do not shutdown when a pthread function failed


  * [r10953]

    - Revert nonworking tryfix from r10951



  * [r10952]

    - Tryfix regression introduced r10950 in ecmhandling



  * [r10951]

    - Tryfix regression introduced r10950 in ecmhandling



  * [r10950]

    Ratelimiter:

    - Allow exactly 1 premature ecmtype (odd/even) change for a srvid sitting in a slot (usefull right after zapping to a new channel!)
    - Added trick in matching_reader() -> now dvbapi client will try again same ecm if readers couldnt answer due to ratelimit
    - Fixed reader_get_ecm() -> now asking same ecm that delivered no controlword due to ratelimit is impossible



  * [r10949]

    - Fix regression specific delay introduced in r10944



  * [r10948]

    - Tryfix for original cccam flood issue with repsonses >5000ms in #4282 by TheTroll



  * [r10947]

    fix last commit


  * [r10946]

    fix delayer() calls


  * [r10945]

    dvbapi:

    - Fix misplaced else constuction previous commit!



  * [r10944]

    dvbapi:

    Now the generic delayer configured by delayer = xxx in oscam.conf and
    specific delayer configured in oscam.dvbapi with "D: [CAID]:[provider ID]:[service ID]:[ECM PID] delay"
    behave the same. They both will wait relative to the time of the ecmrequest: No wait is applied if controlword is received and delay time was already gone.
    Before the specific delayer waited always fixed time after controlword was recieved: that is confusing and can lead to pixalization if ecm response was delayed for some other reason. (E.G. card busy, network congestion)



  * [r10943]

    As discussed in http://www.streamboard.tv/wbb2/thread.php?&threadid=43929 ,
    the server can no longer override client block-emm settings.


  * [r10942]

    applied webif cleanup patch from: http://www.streamboard.tv/wbb2/thread.php?threadid=43972
    thanks to the.sniffer and ultra47


  * [r10941]

    added cacheex dynwaittime fix from: http://www.streamboard.tv/wbb2/thread.php?&threadid=43936&page=2
    thanks to w33dburner!


  * [r10940]

    NDS:

    - Datefix from #4188 for Videoguard Norway 0941 (tnx BigGyros for patch and Nimloth for testing!)



  * [r10939]

    - CWCycle improvement from #4274 (Thx lpm11 for patch!)



  * [r10938]

    DVBAPI:

    - Revert 10937: there was no memleak, 10937 freed the BISS ecmrequest before it was handled by the ecmhandler!



  * [r10937]

    DVBAPI:

    - Remove fakecm construction
    - Fix a memleak



  * [r10936]

    fixed a warning



  * [r10935]

    better fake cw statistics


  * [r10934]

    optimized fake cw code.
    oscam can now deal with huge oscam.fakecw lists:

    (config) 18556 fakecws's loaded
    (config) max 112 fakecw compares required for each cw


  * [r10933]

    Added new parameter 'max_connections' to documentation.


  * [r10932]

    fix another warning


  * [r10931]

    fixed a warning


  * [r10930]

    make sure er->ecmlen matches real ecm length


  * [r10929]

    tryfix for #4004


  * [r10928]

    added irdeto base date from #4174.
    but kept out entries for irdeto cards, these do not hurt and make sure we do not break anything with this change.


  * [r10927]

    reduced sleep delay, to avoid bug reported in #4264


  * [r10926]

    added user setting "max_connections", default value: 1;
    when the connection number reaches max_connections, the uniq setting kicks in.


  * [r10925]

    added chid to ecm.info file for oscam, oscam_ms and wicardd mode


  * [r10924]

    added fakecw filtering for csp with "csp_block_fakecws"


  * [r10923]

    move double check up, to avoid bugs


  * [r10922]

    fixed two bugs reported by boneco69 in #4255


  * [r10921]

    only warn when pthread_attr_setstacksize() fails, because there are systems where "sysconf(_SC_PAGESIZE)" returns a wrong value.


  * [r10920]

    no longer using "check_filled()" for keys, because it did not work with keys containing zero bytes


  * [r10919]

    added blocking of invalid cws/dcws for Cache-Ex.
    list the fake cws in oscam.fakecws, one dcw each line.
    fake cw blocking can be enabled with "cacheex_block_fakecws" in reader (ce mode 2)/account (ce mode 3) config


  * [r10918]

    fix for mgcamd clients


  * [r10917]

    updated newcam filtering once more


  * [r10916]

    avoid invalid calls to pthread_cond_timedwait()


  * [r10915]

    revert last commit (fix it good, just needed some tweaking on the other end)


  * [r10914]

    fixed samygo filters


  * [r10913]

    next tryfix for newcamd


  * [r10912]

    fix for non-standard filter on samygo


  * [r10911]

    revert last commit


  * [r10910]

    added command line option to not write oscam.version


  * [r10909]

    tryfix for #4212


  * [r10908]

    Added parameter 'readtiers' to documentation.


  * [r10907]

    Added new boxtype 'samygo' to documentation.


  * [r10906]

    disable read_sdt on samygo


  * [r10905]

    fixed channel switch problem on samygo


  * [r10904]

    fixed for samygo (libOSCAM.so v0.4.0)

    new dvbapi config: (boxtype = samygo)

    [dvbapi]
    enabled                       = 1
    pmt_mode                      = 0
    boxtype                       = samygo


  * [r10903]

    fixed bug #4266


  * [r10902]

    fix for last commit


  * [r10901]

    tryfix for #4267


  * [r10900]

    removed one more hard-coded index to devices[]


  * [r10899]

    removed hard-coded indexes to devices[]


  * [r10898]

    updated wetek dvb device name


  * [r10897]

    added wetek dvbapi devices


  * [r10896]

    Webif:

    - Fix delete individual reader stat (broken since rev 10781)



  * [r10895]

    Added new parameter 'deskey' to documentation.


  * [r10894]

    Viaccess nano E0 postprocessing support for returned CW.
    You still need the 3DES key which is not part of this patch.


  * [r10893]

    WebIf:

    - When polling is paused, the two [+] and [-] buttons are grey.
    - Start/Stop polling button have permanently red color.

    If you can green color for "Start" polling button. You can use in custom.css file this:

    .pollingdisabled {background-color: #0A0}
    .pollingdisabled:hover {background-color: #00D814}


  * [r10892]

    WebIf: Fix for Safari.

    next changes:
    - green color for polling enable
    - new icons (gray color -> white) for off status in readers and users


  * [r10891]

    WebIf: Fix my mistake - thx ultra47


  * [r10890]

    WebIf: The final decision on the buttons

    The backgroundcolor of the button indicates the following:

    - red color - action
    - green color - status on
    - gray color - status off

    I think that this solution is really a good compromise for all

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

    If you want to use other buttons, please use the Template module.


  * [r10889]

    DVBAPI:

    - If an index of ca has already got cw part written skip it on following pids that use same ca and index



  * [r10888]

    DVBAPI:

    - more rework on polling



  * [r10887]

    - Tryfix viaccess emmtext (tnx Pr2 for delivering the raw emm dumps!)



  * [r10886]

    DVBAPI:

    - remove debugline / logspam



  * [r10885]

    DVBAPI:

    - more rework on polling



  * [r10884]

    fix some warnings


  * [r10883]

    tryfix: fix segfault crash when stopping via SIGTERM (kill command).
    when using "cs_restart_mode = 2" this made it impossible to shutdown oscam.

    this also *maybe* fixes the webif related crash reported here:
    http://www.streamboard.tv/wbb2/thread.php?threadid=30975&page=34


  * [r10882]

    fixed name collision on some toolchains


  * [r10881]

    fixed newlines (converted from win to unix)


  * [r10880]

    DVBAPI:

    - More rework dvbapi_read_device()



  * [r10879]

    updated headers


  * [r10878]

    VIACCESS:

    - Zero out the emm reassembly buffer before copying a fresh emm to it



  * [r10877]

    better buttons
    thanks BIT


  * [r10876]

    EMM:

    - Increase emm maxsize to 512, viaccess send new long emms with text in it!

    VIACCESS:

    - Attempt to add support to dump the new viaccess emm-text to readerlog



  * [r10875]

    replaced des implementation with a faster one (about 20x faster on most systems).
    moved newcamd specific des code into module-newcamd.c.


  * [r10874]

    WebIf: Patch by hook - Make Pollinterval Button styleable in CSS.


  * [r10873]

    WebIf: Add 'hover' effect for green buttons.


  * [r10872]

    WebIf: by ultra47
    Basic idea 'Polling Pause'

    - polling in extra file (same code for 4 pages)
    - pause function for polling
    - show temp dir in files/oscam.version
    - use old play and pause button (is better for pause function and is the better lock for standard webif)
    - button with background image (now no problems with all browsers) => thx to skyndas
    - green background color for paused mode => idea by the.sniffer
    - change 'minus' character in polling and livelog button

    Start discussion - http://www.streamboard.tv/wbb2/thread.php?postid=547587#post547587

    !!Please solve the icons, I-0 style??!!



  * [r10871]

    no longer modify stack size for threads where we did not so before.
    there is no experience whether it works for these threads, so do not risk it.


  * [r10870]

    setting stack size again (not setting it gave problems on systems with low RAM).



  * [r10869]

    Doc: update for autodiscover config path, again.


  * [r10868]

    DVBAPI:

    - More rework dvbapi_read_device()



  * [r10867]

    DVBAPI:

    - Rework dvbapi_read_device() in attempt to make the code less buggy



  * [r10866]

    updated find_conf_dir


  * [r10865]

    webif ssl: fixed creating getssl key when ssl is disabled on startup


  * [r10864]

    Update for autodiscover of config path in documentation.


  * [r10863]

    fix for find_conf_dir()


  * [r10862]

    rand() is fixed now, so use rand() instead of pointer address for client id


  * [r10861]

    username() should return const char*


  * [r10860]

    some fixes for read_sdt when no ecmpid is selected


  * [r10859]

    fix for calls to pthread_join


  * [r10858]

    Update for 'read_sdt' documentation.


  * [r10857]

    no more messing with stack size; new code to align stack size to page size did not work


  * [r10856]

    fixed dereference of null pointer


  * [r10855]

    now printing all direct error messages to stderr


  * [r10854]

    + tryfix for setting stack size on machines which enforce it to be a multiple of page size.
    NOTE: maybe it would be wise to stop setting stack size; we are doing it atm to save RAM, but we cannot know for sure how much stack size oscam really needs. normally it is advised to use the local default stack size. As I am not aware of any reported stack overflows in oscam, I did not remove it.

    + now checking return value of all pthread functions where it makes sense to do so

    + now always use start_thread() instead of pthread_create





  * [r10853]

    added overflow check to read_card()


  * [r10852]

    Update for parameter 'read_sdt' to documentation: auto detection of service type.


  * [r10851]

    fix for finding provider name when provid is zero


  * [r10850]

    read_sdt: now also detecting service type (TV, Radio, Data)


  * [r10849]

    tryfix for writing provid FFFFFE instead of provid 0 to srvid/2


  * [r10848]

    more fixes for srvid/provid search algo


  * [r10847]

    Added new parameter 'write_sdt_prov' to documentation.


  * [r10846]

    Added new parameter 'read_sdt' to documentation.


  * [r10845]

    Added new config file 'oscam.srvid2' to documentation.


  * [r10844]

    Added autodiscover of configuration files to documentation.


  * [r10843]

    Added new paramter 'ecminfo_type' to documentation.


  * [r10842]

    fixed last_provid when provid is 0


  * [r10841]

    updated read_sdt setting.
    new values:
    0 = off
    1 = on, do not save FTA channels
    2 = on, save FTA channels

    added new write_sdt_prov setting.
    values:
    0 = on, do not write provider name into oscam.srvid/2
    1 = on, write provider name into oscam.srvid/2



  * [r10840]

    fixed missing '\0' in ecmfmt


  * [r10839]

    only show first 3 payload bytes in ecmlog


  * [r10838]

    oscam.provid: now ignoring invalid liens


  * [r10837]

    some improvements for ecmfmt


  * [r10836]

    - FTA support for detect channel name (SDT)



  * [r10835]

    fixed overflow in format_ecm() and adjusted buffer sizes


  * [r10834]

    - Fix for AZbox using wrong capmt listcommand



  * [r10833]

    read_sdt: do not add empty provider names


  * [r10832]

    fix compile error


  * [r10831]

    read_sdt: updated to latest dvb standard (2014).
    korean and chinese encodings are not supported atm.


  * [r10830]

    usage of pthread_attr_setstacksize() can now be disabled by defining "NO_PTHREAD_STACKSIZE"

    EXTRA_FLAGS="'-DNO_PTHREAD_STACKSIZE"


  * [r10829]

    re-wrote ecmfmt().
    now displaying vg payload in ecmlog.
    variable name for ecmfmt setting is 'y'


  * [r10828]

    some fixes for loghistory multi-threading


  * [r10827]

    fixed error


  * [r10826]

    fixed typo


  * [r10825]

    updated vg payload name


  * [r10824]

    fix for payload view in webif


  * [r10823]

    added last payload to webif for vg cards


  * [r10822]

    fixed typo


  * [r10821]

    read_sdt: fixed reading sdt data with empty provider name


  * [r10820]

    more fixes for last commit


  * [r10819]

    fixed error


  * [r10818]

    fixed gbox lock bug


  * [r10817]

    Most calls to pthread are now checked for errors.
    From now on use the new SAFE_*() wrappers when using pthread functions.

    Warning:
    After adding the pthread checks, I had to fix several existing bugs, including:
    + no initialization for lockindex in dvbapi
    + using unitialized locks in oscam-log
    + no initialization for ecm_pushed_deleted_lock

    Because of that I execept at least some more bugs related to pthread.
    So keep calm and upload a log file if oscam now crashes you with a "FATAL ERROR" message.
    The bugs were already there, but now we are catching them.




  * [r10816]

    fixed cccam problem introduced in r10812


  * [r10815]

    added oscam.version info for DVB API read-sdt charsets


  * [r10814]

    applied garbage collector patch from pointer2 (thank you!), with some small modifications.


  * [r10813]

    the same changes from r10812 for gbox.
    additionally two calls to cs_writeunlock() have been disabled, because the make so sense for me.

    note to gbox devs:
    there is still an overflow possible in gbox_send_ecm() with its 1024 send buffer, if ecmlen is very big.
    however, the code is very complicated, so I am not touching it.



  * [r10812]

    fixed buffer overflows when sending/receiving ecms/emms

    the rules for ecms are now:
    min. size: 0 or >=3 (a size of 1 or 2 is not allowed)
    max. size: MAX_ECM_SIZE (defined in globals.h)
    SCT_LEN(ecm) must be <= er->ecmlen

    the rules for emms are now:
    min. size: 0 (we could add also a check for >=3 here, but I am not sure atm whether this would affect emm reassembly)
    max. size: MAX_EMM_SIZE (defined in globals.h)




  * [r10811]

    fix for r10809


  * [r10810]

    added sdt data dump to debug log


  * [r10809]

    improvment to emmcache setting display in webif, as requestes in
    http://www.streamboard.tv/wbb2/thread.php?postid=546800


  * [r10808]

    fix for older irdeto cards.
    patch provided by newcslover (#4238), thank you!


  * [r10807]

    fixed some warnings


  * [r10806]

    oscam.srvid2 now supports provider name.
    service ID:CAID1[@PROVID1[@PROVID2[@...]]][,CAID2[@PROVIDA[@PROVIDB[@...]]]]|[channel_name]|[type]|[description]|[provider]


  * [r10805]

    added USE_UTF8 compile flag to enable webif utf-8 mode by default.
    example:
    make USE_UTF8=1


  * [r10804]

    fix: reset last_providptr


  * [r10803]

    more fixes for srvid file link


  * [r10802]

    webif: fixed links to srvid file if oscam.srvid2 exists


  * [r10801]

    webif: fixed oscam.srvid / .srvid2 highlighting


  * [r10800]

    Update for 'fix07' and 'ins2e06' parameter in documentation.


  * [r10799]

    removed "ecminfo_hide_ms_name" setting, because it did not solve the problem for external tools, and this is useless


  * [r10798]

    Back to old 'oscam.srvid' format in documentation. Waiting for new final format.


  * [r10797]

    fixed cccam server not reporting a card when it does not exactly match the SRVID filtering.
    patch provided by TheTroll (#4227), thank you!



  * [r10796]

    Removed limits for 'oscam.srvid' in documentation.


  * [r10795]

    New default value for 'read_old_classes' in documentation.


  * [r10794]

    New 'oscam.srvid' format in documentation, again.


  * [r10793]

    Update for new 'oscam.srvid' format in documentation.


  * [r10792]

    webif: fixed .srvid/.srvid2 logic: if .srvid2 exists, display it first


  * [r10791]

    Added new parameter 'initial_debuglevel' to documentation.


  * [r10790]

    Added new parameter 'sysloghost' and 'syslogport' to documentation.


  * [r10789]

    fix for read_sdt: added ISO8859toUTF8(), now iso-to-utf8 conversion without iconv is possible.
    if you do not need special char support for read_sdt, you can now disable the addon option "READ_SDT_CHARSETS", which will save about 22KB memory


  * [r10788]

    fixed a warning


  * [r10787]

    now also updating last_providptr in oscam-ecm.c


  * [r10786]

    webif: fixed file_exits(oscam.srvid) check


  * [r10785]

    Removed 'via_emm_global' from documentation.


  * [r10784]

    now auto-detecting in webif whether oscam.srvid or oscam.srvid2 is used.
    patch provided by pr2 (#4236), thank you!


  * [r10783]

    updated display of channel name and provider name in webif.
    patch provided by pr2, thank you!


  * [r10782]

    update webif for new caid,provid syntax.
    patch provided by pr2, thank you!


  * [r10781]

    change log syntax from caid:provid to caid@provid.
    patch provided by pr2, thank you! (ticket #4232)


  * [r10780]

    we can never be sure whether a file exists, because it can be deleted at any time.
    so just quietly abort sending gbox sms, if the file disappears


  * [r10779]

    fixed sr_init_locks().
    Patch provided by pointer2, thank you!


  * [r10778]

    loadbalancer save status without blocking



  * [r10777]

    reduced cccam blocking time from 60s to 10s


  * [r10776]

    Webif:

    - Fix for active polling mouse-over current channel and click (tnx Hook for patch!)



  * [r10775]

    As it turned out iconv is not a viable solution for converting charsets to utf-8.
    -> Removed it, until we have a replacement, reading sdt channel names is partly broken


  * [r10774]

    oscam.log: log header should now always have the same size


  * [r10773]

    only use liconv on cygwin, this should fix building


  * [r10772]

    sdt parser now converts all dvb strings to utf-8.
    start oscam with -u  or --utf8 to enable utf-8 webif mode, and the channel names should be detected correctly.
    some providers violate dvb standars however (for exampple TNTSAT, and may give some unreadable names)

    INFO
    oscam now links with iconv, if it is not available on all toolchains, a compile flag needs to be added


  * [r10771]

    fixed typo


  * [r10770]

    fixed crash on reloading oscam.provid


  * [r10769]

    WebIf: Fix typo in css.css and jscript.js


  * [r10768]

    sdt filter now only requests the table it understands.
    this fixes sdt detection for tf1/france3.


  * [r10767]

    raised pmtbuffer to handle some sdt streams correctly


  * [r10766]

    read_sdt: now filtering out control codes


  * [r10765]

    disabled read_sdt by default


  * [r10764]

    sdt parser now writes all caid/provid combinations into oscam.srvid


  * [r10763]

    changed ecm logging syntax from caid&provid to caid@provid


  * [r10762]

    removed extra newline for sdt detection


  * [r10761]

    allow new syntax caid@provid in oscam.dvbapi


  * [r10760]

    added option to hide 'msec' name in ecm.info


  * [r10759]

    added oscam.srvid2 to webif files


  * [r10758]

    only show "unknown" if channel name is unknown on status page


  * [r10757]

    + added new oscam.srvid syntax:

    service ID:CAID1[@PROVID1[@PROVID2[@...]]][,CAID2[@PROVIDA[@PROVIDB[@...]]]]|[name]|[type]|[description]

    these are read from oscam.srvid2 at the moment, due to compatibility reasons.
    if a oscam.srvid2 file exists, it will be used, and oscam.srvid will be ignored.

    + dvbapi channel name detection now also writes provider into oscam.prvid



  * [r10756]

    updated unknown channelname syntax


  * [r10755]

    oscam.provid:

    added new syntax:

    CAID@PROVID1@PROVID2@PROVID3|Provider_Name|satellite|language

    the old syntax still works.
    you still can use : instead of @.

    if provider-name is empty in oscam.srvid, the value from oscam.prvid will be used, if available


  * [r10754]

    updated NO_PROVID_VALUE


  * [r10753]

    oscam.srvid: empty provider name is now allowed

    example:
    0500@030B00:232B||HD1|


  * [r10752]

    applied patch from #4216
    thanks goes to pr2


  * [r10751]

    possible fix for USE_OPENXCAS


  * [r10750]

    dvbapi: added provider and channel name detection via SDT

    if service name is unknown, it will be written into oscam.srvid.
    detection works only for non-FTA channels.

    config: (default: 1)

    oscam.conf

    [dvbapi]
    dvbapi_read_sdt = 1


  * [r10749]

    - Removed static 512 bytes buffer for proxy readers
      (only a minority actually used it and its safer and eats less mem to assign them dynamically to prevent bufferoverflows due to large ecms)
    - Increased / set the static buffers for local readers to MAX_ECM_SIZE
    - Increased MAX_ECM_SIZE to 596 bytes according to new ecm lengths viaccess introduced
    - Some changes to oscam-reader so it can handle larger ecms
    - Some changes to reader-viaccess so it can handle larger ecms



  * [r10748]

    fixed a warning


  * [r10747]

    more fixes for oscam.srvid


  * [r10746]

    more fixes for oscam.srvid


  * [r10745]

    more bugfixes for oscam.srvid


  * [r10744]

    fixed crash on reloading oscam.srvid


  * [r10743]

    fix for r10741


  * [r10742]

    oscam.srvid: fixed compatibility with old syntax


  * [r10741]

    new oscam.srvid syntax:

    CAID1@PROVID1@PROVID2@PROVID3,CAID2@PROVIDA@PROVIDB:SRVID|....

    no more limits!
    no supporting unlimited number of caids and provids per line



  * [r10740]

    updated find_conf_dir() directory list


  * [r10739]

    fixed webif crash when displaying services


  * [r10738]

    dvbapi: use better way to obtain csystem name in ecminfo code


  * [r10737]

    fixed sending log lines without header to monitor


  * [r10736]

    viaccess readers:

    default value for "read_old_classes" is now "1",

    because otherwise emms for expired classes do not get written.
    if you want to speed up card init, you can set "read_old_classes = 0", but keep in mind that emms for expired classes will not get written.


  * [r10735]

    fixed monitor logcount offset


  * [r10734]

    made __get_servicename() faster


    here is the syntax for oscam.srvid (the last info contained a lot of typos):

    CAID(@PROVID)[,CAID(@PROVID),...]:service ID|[provider]|[name]|[type]|[description]

    for example:

    // caid 100, ALL provids, srvid 1111
    0100:1111:x|y|z|v

    // caid 100, provid 123456, srvid 1111
    0100@123456:1111:x|y|z|v

    // caid 100, ALL provids , srvid 1111
    0100@000000:1111:x|y|z|v

    // caid 100, provid 123456, srvid 1111 and caid 200, provid 654321, srvid 1111
    0100@123456,0200@654321:1111:x|y|z|v

    Note 1:
    Max. 10 caids per line possible

    Note 2:
    Only one provid per caid, if you want multiple provids for the same caid, use:
    //caid 100, provid 123456, srvid 1111 and caid 100, provid 654321, srvid 1111
    0100@123456,0100@654321:1111:x|y|z|v

    Note 3:
    If you have these two lines:
    0100@123456:1111:a|b|c|d
    0100@000000:1111:x|y|z|v

    caid 0100, provid 123456, srvid 1111 will get a|b|c|d, and caid 0100, all other provids, srvid 1111 will get x|y|z|v
    -> Non-zero provids are stronger than zero-"catch-all"-provids


  * [r10733]

    fix for last commit


  * [r10732]

    new oscam.srvid syntax:

    CAID(@PROVID)[,CAID(@PROVID),...]:service ID|[provider]|[name]|[type]|[description]

    for example:

    0100:1111:x|y|z|v => caid 100, ALL provids, srvid 1111
    0100@123456:1111:x|y|z|v => caid 100, provid 123456, srvid 1111
    0100@000000:1111:x|y|z|v => caid 100, provid 000000, srvid 1111
    0100@123456,0200:654321:1111:x|y|z|v  => caid 100, provid 000000, srvid 1111 and  => caid 200, provid 654321, srvid 1111


  * [r10731]

    another fix for r10728


  * [r10730]

    fixed r10728


  * [r10729]

    nicer implementation for isValidCW()


  * [r10728]

    oscam.srvid: added support for multiple PROVIDs

    syntax is now:
    CAID[,CAID,...]:PROVID[,PROVID,..]:service ID|[provider]|[name]|[type]|[description

    limits:
    max 10 CAIDs
    max 5  PROVIDs



  * [r10727]

    ecm.info: added signature check


  * [r10726]

    fixed ecm.info for cygwin
    fixed new ecm.info types


  * [r10725]

    added find_conf_dir() as proposed in #4222, but modified it at bit, so that there should be no disadvantages.
    if we cannot find it, we still use the default CS_CONFDIR, and we check CS_CONFDIR first.
    setting the conf dir via command line (-c ...) overrides this detection.


  * [r10724]

    fixed warnings


  * [r10723]

    updated remote syslog syntax


  * [r10722]

    dvbapi: moved ecm.info code into one function, added new ecm.info types

    configured in oscam.conf:

    [dvbapi]
    ecminfo_type = 0


    possible values for ecminfo_type:
    0 - default oscam syntax
    1 - default oscam syntax with ecmtime in ms instead of s
    2 - wicardd
    3 - mgcamd
    4 - cccam
    5 - camd3



  * [r10721]

    fix for videoguard2_poll_status()


  * [r10720]

    removed hardcoded offset from cs_write_log()


  * [r10719]

    update switch/on-off icons


  * [r10718]

    dvbapi:

    - Use SCT_LEN() to get ecmlength
    - Dump received ecm data
    - Warn if received ecm is too long for oscam to handle



  * [r10717]

    oscam.log:

    + fixed and unified syslog logging
    + removed all hardcoded log header offsets,
      it is now possible to easily modify the log header in get_log_header(),
      and we even could log a line without header now


  * [r10716]

    revert 10702


  * [r10715]

    applied "Turn the status field from CAID:SRVID to CAID:PROVID:SRVID" patch, see #4216, thanks goes to pr2


  * [r10714]

    fixed typo in last commit


  * [r10713]

    added support for picons by channel name

    syntax is:

    take service-name from oscam.srvid,
    replace all upper-case letters with lower case,
    replace * with star,
    replace & with and,
    replace + with plus,
    remove everything but a-z and 0-9,
    if the result is name, the picon file will be IC_name.tpl

    for example:
    service-name "BBC-ONE +HD"
    picon file: "IC_bbconeplushd.tpl"

    if service-name ends with hd, and picon is not found, fallback to name without hd, example:
    picon file: "IC_bbconeplushd.tpl"
    -> not found, search for:
    picon file: "IC_bbconeplus.tpl"

    see ticket #4213


  * [r10712]

    added provid to channel picons

    old syntax: (still working)
    IC_[caid]_[srvid].tpl (for example: IC_0500_1234.tpl)
    IC_0000_[srvid].tpl (for example: IC_0000_1234.tpl)

    new syntax:
    IC_[caid]_[provid]_[srvid].tpl (for example: IC_0500_123456_1234.tpl)


  * [r10711]

    more improvement for oscam.srvid fallback: preserve prid if valid and nothing found



  * [r10710]

    improved oscam.srvid fallback:

    case 1: caid, provid, srvid have valid (non-zero) value [dvbapi]

    -> try to find oscam.srvid entry where caid, provid, srvid match (new syntax)
    -> if nothing found try to find oscam.srvid entry where caid, srvid match and provid is 0 (old syntax)


    case 2: caid, srvid have valid (non-zero) value, provid is 0 [cccam, camd35, etc]

    -> try to find oscam.srvid entry where caid, srvid match and provid is 0 (old syntax)
    -> if nothing found try to find oscam.srvid entry where caid, srvid match and ignore provid (new syntax)


  * [r10709]

    fix for Changeset 10697: client->last_provid is now used


  * [r10708]

    now showing emm length as dec and hex number


  * [r10707]

    applied load balancer fixes from #4207


  * [r10706]

    fix for stapi5 bug reported in #4206


  * [r10705]

    added setting "initial_debuglevel" to set the debuglevel on startup with oscam.conf:

    example:
    [global]
    initial_debuglevel            = 8





  * [r10704]

    now starting by default in background on stapi devices
    patch by Vitaliy69, ticket #4209



  * [r10703]

    added remote syslog server support

    example (in oscam.conf):
    [global]
    sysloghost                    = localhost
    syslogport                    = 10517

    if you do not set sysloghost, this feature is disabled

    note that it is also possible to use the local syslog service,
    by setting:

    [global]
    logfile                       = syslog


  * [r10702]

    added videoguard reader option "minimize_emm_filter" for boxes that do not correctly handle all filters

    minimize_emm_filter = 0 => all filters activated (all serial positions, 7 filters total) [DEFAULT]
    minimize_emm_filter = 1 => only filter 1st serial position (3 filters total)
    minimize_emm_filter = 2 => only filter 1st and 2nd serial position (5 filters total)


  * [r10701]

    replaced static pthread mutex initializers, because of buggy gclibs giving a warning


  * [r10700]

    small fix for stapi5 commit


  * [r10699]

    added STAPI5, thanks goes to: schwa226, Vitaliy69, Openbox Team

    compile with:
    make USE_STAPI5=1





  * [r10698]

    fixed off button color


  * [r10697]

    modified and applied service name patch from #3932

    old:
    0500:038f|SSR / SRG|SRF Info

    new: (both formats are possible)
    0500:038f|SSR / SRG|SRF Info
    0500:50800:038f|SSR / SRG|SRF Info

    the new advanced mode will work with dvbapi


  * [r10696]

    fixed compile without gbox


  * [r10695]

    applied fix from ticket #4044


  * [r10694]

    added thread for gbox sms sender, see ticket #4126


  * [r10693]

    module-dvbapi.c: added fix for missing IPV6_V6ONLY, like we are doing it in oscam-net.c
    this should solve ticket #4141


  * [r10692]

    new on/off icons created by Bit


  * [r10691]

    activated "videoguard2_poll_status()" as reported in ticket #.
    looks like it was forgotten in Changeset 10607.
    if it was not forgotten, but intented to be disabled, please revert and add a comment to this function or delete it


  * [r10690]

    increased newcamd CWS_NETMSGSIZE from 400 to 500. [see ticket #4170 ]
    moved newcamd specific des functions from des.c into module-newcamd.c


  * [r10689]

    fixed changeset 10687 for some compilers


  * [r10688]

    applied from ticket #4185: Added entitlements info to the json api


  * [r10687]

    tryfix for #4194


  * [r10686]

    added Sky Mexico (095B) ATR from #4197


  * [r10685]

    module-cccshare.c: removed "card->aufilter" (tryfix for #3904), we no longer make a copy of an au-card without the hex-serial, but hide the hex-serial depending on the user "au = ..." setting.

    In addition, the visibility of the card hexserials has changed:

    Old:
    1) user has au disabled -> user does not see any hexserials
    2) user has "au = rdr1" -> user sees ALL hexserials (local readers + remote (cccam) cards)
    3) user has "au = 1" -> user sees ALL hexserials (local readers + remote (cccam) cards)

    Now:
    1) user has au disabled -> user does not see any hexserials
    2) user has "au = rdr1" -> user sees hexserials of reader "rdr1" [if "rdr1" is a cccam reader, the user will see the hex-serials of its peers]
    3) user has "au = 1" -> user sees ALL hexserials (local readers + remote (cccam) cards)


  * [r10684]

    fixed last commit


  * [r10683]

    revert #10679


  * [r10682]

    emm length should be printed as hex numbers


  * [r10681]

    reader-videoguard-common.c: adjusted emm filter: when filtering for emms with our serial at position #3, we now make sure the sub-emm counter is >= 3; this could also be done for emms with our serial at position #2 but would need an additional filter (because we would needd to filter for sub-emm-counter bits "1x" and "01")


  * [r10680]

    - Revert r10672 ( patch from ticket http://www.streamboard.tv/oscam/ticket/4175 )
      Several users report issues, see here: http://www.streamboard.tv/wbb2/thread.php?threadid=43675&threadview=0&hilight=&hilightuser=0&page=1



  * [r10679]

    cccam proto card loss tryfix #3904


  * [r10678]

    WebIf:
    - fix for only text in Subnav in entitlements.html, readerconfig.html and user_edit.html


  * [r10677]

    WebIf: Better solution for alignment image for text in readerstats.html


  * [r10676]

    WebIf: Added css class for table in scanusb.html


  * [r10675]

    - Oopsy: revert unwanted changes to default config



  * [r10674]

    - Buildfix: without cache_ex module oscam build was broken



  * [r10673]

    - Several webif improvements (committed blind for a change)



  * [r10672]

    - Several webif improvements from here: http://www.streamboard.tv/wbb2/thread.php?postid=540330#post540330
    (Did not review the code, just a blind commit for a change!)



  * [r10671]

    dvbapi:

    - Fix for azbox capmt parsing fails on some channels (introduced r10667) tnx Scader for report, testing and logs!




  * [r10670]

    cryptoworks: Fix possible crash.

    This fixes ticket #4192. Patch submited by danman.


  * [r10669]

    fix clienttimeout lower than 1000ms not possible
    saves always in ms
    example 8 = 800ms



  * [r10668]

    - There is no need to use a lower ATR_TIMEOUT on sci readers -> removed
    - Typo fix io_serial: code comment and real code value do not match -> fixed
    - Sci_FastReset() give some additional timeout -> less chance to leave the card in error state



  * [r10667]

    - Tryfix for regression introduced rev 10666 that affects sh4 octagon receivers (reported by Netview)



  * [r10666]

    dvbapi:

    - Fix wrong pmt parsing as suggested by racocvr



  * [r10665]

    - Just another useless logcosmetic change



  * [r10664]

    - Tryfix dvbapi channelcache: only use exact srvid matches in cache and ignore matches on caid:provid only in order to prevent non-decoding issues



  * [r10663]

    reader-nagra.c: adjusted HD01/02 tier date offset


  * [r10662]

    change again




    ....... for my haters


  * [r10661]

    improved description


  * [r10660]

    - Tryfix show current channelname in text if no picon exists



  * [r10659]

    DVBAPI:

    - Fix for stapi receivers cannot record any program as reported by ngc1927
    - Moved pmtfile stop descrambling channel to the pmtparser



  * [r10658]

    Fix: viaccess aes handling now provider independent

    Thanks Pr2 for providing patch!




  * [r10657]

    reader-nagra.c: fixed expire date for HD01/HD02 cards tier 0BEA


  * [r10656]

    dvbapi:

    - Improved code and log to detect if demuxer is running (demuxer could already have ecmfilters but not started descrambling yet!)



  * [r10655]

    dvbapi:

    - Reworked capmt handling
    - Some log cosmetics



  * [r10654]

    dvbapi:

    - fixed reset of current ecmpids and streams right before capmt table parsing
    - fix for "not requesting cw -> ecm filter was killed!" (on capmt update of already descrambling demuxer the er->provid could be zero again for 1 ecm request)
    - some log cosmetics fixes




  * [r10653]

    Make get_cardsystem_desc_by_caid() function public and use it also in dvbapi/ecminfo

    The function get_cardsystem_desc_by_caid() is used by CCcam share to print nice
    cardsystem description in the webif.

    This commit moves the above function from CCcam specific to oscam-simples.c.
    This way it is also used in the dvbapi/ecminfo to print the cardsystem name
    (eg. when displaing the ECM information in the skin data).



  * [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).

 -- Andrey Pavlenko <email address hidden>  Mon, 05 Jun 2017 21:33:38 +0300

Builds

Built packages

Package files