Changeset 8377 for trunk/oscam-emm.h


Ignore:
Timestamp:
02/19/13 14:25:10 (9 years ago)
Author:
gf
Message:

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

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

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

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

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

If a client sends already reassembled EMMs it also works.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/oscam-emm.h

    r8241 r8377  
    66int32_t reader_do_emm(struct s_reader * reader, EMM_PACKET *ep);
    77void do_emm_from_file(struct s_reader * reader);
     8void emm_sort_nanos(unsigned char *dest, const unsigned char *src, int32_t len);
    89
    910#endif
Note: See TracChangeset for help on using the changeset viewer.