Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fixed: keep a state per section in cwc. don't mark as forbidden when only one section fails #477

Closed
wants to merge 1 commit into from

Conversation

opdenkamp
Copy link
Contributor

When there are multiple sections and one of them fails to decrypt, then the whole service got marked as 'DS_FORBIDDEN'. This gets corrected a bit later when a valid ecm reply comes in after the invalid ones, but in case the invalid one comes in after the valid reply, then decryption will stop completely.

This fixes the issue by keeping a state per section.

@@ -22,6 +22,7 @@
#include <stdint.h>
#include <stdlib.h>
#include "queue.h"
#include "descrambler/descrambler_types.h"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please, keep the definition in descrambler.h . This header file is included from service.h, so cwc.c also includes it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no, you'll need to include the whole descrambler.h where it's used, which is needless.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file must be included in all clients anyway.. I don't see any usage for the standalone declaration.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not in cwc

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

src/descrambler/cwc.c:42:#include "service.h"
src/service.h:24:#include "descrambler.h"
src/descrambler/cwc.c:129:th_descrambler_t;

All clients MUST know the whole th_descrambler_t structure..

@opdenkamp
Copy link
Contributor Author

Noticed another problem. Not sure if it's new or regressed somewhere, but when we don't get a valid response from cwc at the start (e.g. timed out), then we we'll stop trying right away and don't retry at all. This leads to a huge delay when switching channels when this happens. I'll see if I find time to fix that too this week end.

@perexg
Copy link
Contributor

perexg commented Sep 18, 2014

I tried to fix this issue in commit: bafbf38

@perexg perexg closed this Sep 18, 2014
@opdenkamp opdenkamp deleted the cwcfix branch September 18, 2014 21:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants