Commit Graph

112 Commits

Author SHA1 Message Date
Klaus Schmidinger 60c858689b Fixed handling incomplete multi-packet CAT 2021-06-09 09:42:15 +02:00
Klaus Schmidinger b4a6c36215 Fixed handling newline characters in ci.c's CopyString() 2020-08-17 10:26:18 +02:00
Klaus Schmidinger dd6077eb90 Implemented handling multi packet CATs with MTD 2020-07-10 09:06:21 +02:00
Klaus Schmidinger 568ca0e773 Fixed handling inactive shared CA pids 2020-07-01 15:16:21 +02:00
Klaus Schmidinger 848c65fe4f Added CRC check of the CAT in cCaPidReceiver::Receive() 2020-06-27 10:05:56 +02:00
Klaus Schmidinger ba9ccc12a5 Added cMtdHandler::StopDecrypting() 2020-06-16 14:33:32 +02:00
Klaus Schmidinger 67ea2163f4 Added cMtdCamSlot::TsPostProcess() 2020-06-16 14:25:43 +02:00
Klaus Schmidinger c2634a7ccf Fixed inconsistent behavior in case only certain devices are used (selected by the '-D' option) 2019-05-28 15:54:22 +02:00
Klaus Schmidinger 294452cd43 Fixed a compiler warning and a possible buffer overflow in cCiMMI::SendAnswer() 2019-05-06 12:03:59 +02:00
Klaus Schmidinger 16f18cbce8 Fixed updating the checksum in the CA table after mapping EMM PIDs for MTD 2019-05-05 18:35:15 +02:00
Klaus Schmidinger dd13070260 Fixed handling shared CA pids 2019-03-19 14:58:06 +01:00
Klaus Schmidinger bcee8ad43d Now deactivating MTD support if a non MCD capable CAM is inserted after removing a previously used CAM that is MCD capable 2018-09-23 10:21:12 +02:00
Klaus Schmidinger b539134e54 Fixed (not) saving the 'cam.data' file in case VDR stops early during startup due to some error 2018-03-19 16:39:58 +01:00
Klaus Schmidinger c441a634a5 Limited some CAM related log messages to the actual master CAM, if any 2018-02-03 12:59:56 +01:00
Klaus Schmidinger 0055eeeeb8 Fixed a possible deadlock when quickly zapping through encrypted channels 2018-01-28 11:21:28 +01:00
Klaus Schmidinger 95947a29d5 Fixed detecting whether a CAM replies to queries 2017-06-19 12:16:40 +02:00
Klaus Schmidinger 360d8fe6b1 Implemented CAM auto responses 2017-06-10 11:53:39 +02:00
Klaus Schmidinger b01a1ee818 Extended the CI API to allow plugins to implement additional CAM resources 2017-05-18 09:05:46 +02:00
Klaus Schmidinger ce42e42ed7 Added handling RI_HOST_CONTROL to the CI protocol 2017-05-12 09:17:39 +02:00
Klaus Schmidinger 073268bd45 CAMs are now sent a generated EIT packet that contains a single 'present event' for the current SID, in order to avoid any parental rating dialogs 2017-05-01 09:32:32 +02:00
Klaus Schmidinger a1fda4f218 Fixed a possible crash when pulling the CAM while decrypting a channel with MTD (cont'd) 2017-04-26 09:18:26 +02:00
Klaus Schmidinger 3d63936a36 Fixed a possible crash when pulling the CAM while decrypting a channel with MTD 2017-04-24 09:25:29 +02:00
Klaus Schmidinger 1a160e7afe The function cCamSlot::Decrypt() can now also be called with Data == NULL 2017-04-15 09:39:55 +02:00
Klaus Schmidinger f39d31631b The file 'cam.data' is no longer written if it is read-only 2017-04-02 10:06:31 +02:00
Klaus Schmidinger fe57c16f6f Fixed a crash when stopping VDR while recording encrypted channels with MTD 2017-03-25 14:09:31 +01:00
Klaus Schmidinger 2d9eb7e25d Mapping PIDs in CanDecrypt(); improved description of Start-/StopDecrypting(); removed obsolete cMtdCamSlot::IsDecrypting(); fixed getting device fpr channel up/down 2017-03-23 14:34:53 +01:00
Klaus Schmidinger 2cc25e65f4 Implemented support for MTD 2017-03-18 16:33:59 +01:00
Klaus Schmidinger 3f9cdea1c1 PIDs can now be added to and deleted from a cReceiver while it is attached to a cDevice 2017-02-21 14:17:07 +01:00
Klaus Schmidinger 9b9d15438e Implemented the concept of 'master cams' 2017-01-23 12:01:48 +01:00
Klaus Schmidinger d1ddb39781 The channel/CAM relations are now stored in the file 'cam.data'; fixed a flaw in handling timeouts for encrypted channels 2017-01-09 13:42:41 +01:00
Klaus Schmidinger 68acf8815c Fixed a possible buffer overflow in handling CA descriptors 2016-12-23 14:08:14 +01:00
Klaus Schmidinger 50d268538e Added a missing 'const' to cReceiver::Receive(), to protect the given Data from being modified 2015-09-05 11:49:56 +02:00
Klaus Schmidinger 3cd5294d8a Implemented strict locking of global lists 2015-09-01 11:14:27 +02:00
Klaus Schmidinger 659f67f04f Fixed cCamSlot::Assign(), so that it actually ignores the value of Query if Device is NULL (as described in the header file) 2015-02-02 14:04:10 +01:00
Klaus Schmidinger bf7cc2c04f Added support for smart card activation 2015-01-30 13:38:44 +01:00
Klaus Schmidinger b3954aefd5 Modified the CAM API so that it is possible to implement CAMs that can be freely assigned to any devices 2015-01-15 09:28:37 +01:00
Klaus Schmidinger 24b38eb812 Now handling CAT sections that consist of more than one TS packet 2015-01-13 14:45:12 +01:00
Klaus Schmidinger 35f73199d4 Fixed resetting the receiver for EMM pids for CAMs that need to receive the TS (cont'd) 2015-01-12 10:44:58 +01:00
Klaus Schmidinger 7fac1d4ae2 Fixed resetting the receiver for EMM pids for CAMs that need to receive the TS 2015-01-09 09:46:57 +01:00
Klaus Schmidinger 011a984951 A cCamSlot that has WantsTsData set to true in its constructor now also gets the CAT and EMM PIDs data 2014-04-06 10:56:50 +02:00
Klaus Schmidinger de1ce0b27d Revoked "Fixed some compiler warnings with Clang 3.4.1" from ci.c, because this did not compile with older versions of gcc 2014-02-25 10:04:07 +01:00
Klaus Schmidinger e5fde77e56 Fixed some compiler warnings with Clang 3.4.1 2014-02-08 13:00:39 +01:00
Klaus Schmidinger 5ac41bf091 Revoked "Fixed sending CA descriptors to CAMs in case a cReceiver is not used for a recording or live view" - was unstable 2014-01-24 11:55:40 +01:00
Klaus Schmidinger 549c499501 Fixed a wrong alignment in cCiDateTime::SendDateTime() 2014-01-22 09:41:08 +01:00
Klaus Schmidinger 1df6a87249 Now waiting explicitly until all CAM slots are ready before switching to the initial channel when VDR is started 2014-01-16 11:57:54 +01:00
Klaus Schmidinger ac44e6f2ae Added logging the supported system ids of a CAM 2014-01-15 10:21:48 +01:00
Klaus Schmidinger 1d869c4b36 Fixed sending CA descriptors to CAMs in case a cReceiver is not used for a recording or live view, like e.g. streaming clients 2014-01-14 14:39:59 +01:00
Klaus Schmidinger e7c86c6760 Improved locking for CAM slots and made the pure functions of cCiAdapter have default implementations 2014-01-14 12:21:17 +01:00
Klaus Schmidinger a84defe86f Added support for buffered CAM decryption 2014-01-02 10:47:08 +01:00
Klaus Schmidinger 566c6fa464 Added receiving Ca pids to cCamSlot 2014-01-01 12:37:22 +01:00