X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/61402686fd1130b5b183fbe853927180be1ba1e1..bc2ca7e050e29371cf973fc4a780f99e7c36c87c:/lib/dvb_ci/dvbci_session.cpp diff --git a/lib/dvb_ci/dvbci_session.cpp b/lib/dvb_ci/dvbci_session.cpp index 7971650f..1bd3d18b 100644 --- a/lib/dvb_ci/dvbci_session.cpp +++ b/lib/dvb_ci/dvbci_session.cpp @@ -136,11 +136,11 @@ eDVBCISession *eDVBCISession::createSession(eDVBCISlot *slot, const unsigned cha printf("session: %p\n",session); break; case 0x00020041: - session=slot->application_manager = new eDVBCIApplicationManagerSession; + session=slot->application_manager = new eDVBCIApplicationManagerSession(slot); printf("APPLICATION MANAGER\n"); break; case 0x00030041: - session=slot->ca_manager=new eDVBCICAManagerSession; + session = new eDVBCICAManagerSession(slot); printf("CA MANAGER\n"); break; case 0x00240041: @@ -148,8 +148,8 @@ eDVBCISession *eDVBCISession::createSession(eDVBCISlot *slot, const unsigned cha printf("DATE-TIME\n"); break; case 0x00400041: - session=new eDVBCIMMISession; - printf("MMI\n"); + session = new eDVBCIMMISession(slot); + printf("MMI - create session\n"); break; case 0x00100041: // session=new eDVBCIAuthSession; @@ -293,13 +293,13 @@ void eDVBCISession::receiveData(eDVBCISlot *slot, const unsigned char *ptr, size len-=hlen; //if (eDVBCIModule::getInstance()->workarounds_active & eDVBCIModule::workaroundMagicAPDULength) - //{ - // if (((len-alen) > 0) && ((len - alen) < 3)) - // { - // printf("WORKAROUND: applying work around MagicAPDULength\n"); - // alen=len; - // } - //} + { + if (((len-alen) > 0) && ((len - alen) < 3)) + { + printf("WORKAROUND: applying work around MagicAPDULength\n"); + alen=len; + } + } if (session->receivedAPDU(tag, pkt, alen)) session->action = 1; pkt+=alen; @@ -309,3 +309,8 @@ void eDVBCISession::receiveData(eDVBCISlot *slot, const unsigned char *ptr, size if (len) printf("PROTOCOL: warning, TL-Data has invalid length\n"); } + +eDVBCISession::~eDVBCISession() +{ +} +