Модераторы: KOSTEY, Admin, boom, Deputy Admin, suen, Мордовораторы
-fix MODULE CONSTCW
-fix webif save issue with high var count
-Bug fixes and improvements to BISS2 mode CA
-Changed variable name (cosmetic)
-Changes to a couple of log messages
-When parsing PAT, save found PMT pid in the demuxer
-Moved reading of priority entries in separate functions
-Moved parsing of CA descriptor to a separate function
-Moved #define's to header file and made a few cosmetic changes
-Fixed compilation with coolapi
-DVBAPI_CA_SET_DESCR_DATA struct was not sent correctly to network clients
[dvbapi] Rewritten the CA PMT parsing code
Some key notes for this revision:
* The CA PMT and PMT parsing code is split into separate functions. Additional functionality is also moved to different functions.
* The previous CA PMT parsing logic is retained (written by theparasol), but the code is much simpler, easier to maintain and a bit faster.
* The CA PMT message is not completely parsed now if there is no need for it (e.g. no change is made to the channel).
* The PMT is now parsed only if it's necessary (e.g. for powervu channels, when no streams are present in CA PMT, etc).
* Added preliminary support for reading the "ca_pmt_cmd_id" value. A future update (in oscam and enigma2) will allow using multiple oscam instances simultaneously.
* Added support for a new descriptor with tag 0x87 in the CA PMT message, used exclusively for sending the ca device information.
* Added detailed information for the private CA PMT descriptors supported by oscam in the readme (for dvbapi client developers).
[dvbapi] Fixed previous commit when WITH_EXTENDED_CW is enabled
[dvbapi] Fixed 'ca_pmt_cmd_id' value for PMT files
For CA PMT messages received via PMT files, set the "ca_pmt_cmd_id" to a proper value (ok_descrambling) instead of zero.
Also made few cosmetic changes.
[dvbapi] Reworked 'ca_pmt_cmd_id' skipping logic
According to the spec (www.dvb.org/...21.V1.pdf), the "ca_pmt_cmd_id"
value shall be present inside the ES info loop. Unfortunately, each dvbapi client does each own thing. The
only reliable way to detect when this info is present in the CA PMT is to actually check its value, like it
was done in the old code.
Most boxes always send the typical value of 0x01 (ok_descrambling) and the above check works fine because
there is no descriptor_tag 0x01 to get confused with. On the contrary, for enigma2, values like 0x03 (query),
0x04 (not_selected) are possible (not yet, but soon). Skipping these higher values the same way will not work,
because descriptors with such tags can exist, so a different check is implemented for enigma2.
In practice, this commit fixes the VDR dvbapi plugin, as well as the enigma2 boxes with wrong dvbapi boxtype
setting ('none' instead on the correct 'dreambox' - the setting is irrelevant now, but will make a difference
in the future, so make sure you set it correctly).
[dvbapi] Added option to enable/disable ecm.info file creation
[nemu] Switched to oscam's function for getting the section length
[biss] Clean up and bug fixes in Mode 1
fix card not updated if entitlements are expired
-new gbox reader parameter 'force_remm'
-dont send same successive remm twice
-Just refactoring due to investigating an issue with CAPMT parsing
-More furious refactoring since I still wasnt happy with the resulting code!
-Final refactoring step of dvbapi_get_packet_size()
-[gbx remm]allow remm request for unknown emm
-Implement changes needed as researched by t5b6_de for dvbapi client protocol V3
-Add generic hardening against empty ecm. It makes no sense to process empty ecms at all!
-Refactor handling of command packages
-Add generic command package dump to assist in debugging
-Remove the now superfluous dumps that were thrown while processing the commands
-Newcamd: Corrected brain fart commit (zero check was even already present)
-Camd35: Add protection against empty ecms
-Fix: valid section length is minimal 4