X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/61402686fd1130b5b183fbe853927180be1ba1e1..6c9c38fad67675a3ddb4063e5c706eddd444f21f:/lib/dvb_ci/dvbci_session.cpp diff --git a/lib/dvb_ci/dvbci_session.cpp b/lib/dvb_ci/dvbci_session.cpp index 7971650f..afe9e97e 100644 --- a/lib/dvb_ci/dvbci_session.cpp +++ b/lib/dvb_ci/dvbci_session.cpp @@ -136,7 +136,7 @@ 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: @@ -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() +{ +} +