--- /tuxbox/anon/head/apps/tuxbox/tools/camd/camd.c 2004-04-04 22:27:57.000000000 +0200 +++ camd.c 2006-06-05 11:40:46.000000000 +0200 @@ -253,6 +253,16 @@ startdescramble(); } +void do_error_message(unsigned char *buffer, unsigned char first, unsigned char second, char *message) { + //printf("this is do_error_message %02x%02x", first, second); + if (buffer[12] == first && buffer[13] == second) { + char cmd[1000]; + strcpy(cmd, "wget -O /dev/null -q http://localhost/control/message?popup="); + strcat(cmd, message); + system(cmd); + } +} + void class_23(unsigned char *buffer, unsigned int len) { int i; @@ -275,6 +285,9 @@ unsigned short sid = *(unsigned short *)&buffer[7]; printf("descramble onid: %04x sid: %04x status: %02x%02x\n", onid, sid, buffer[12], buffer[13]); + do_error_message(buffer, '\x50', '\x50', "Ihre%20Smartcard%20ist%20f%C3%BCr%20die%20Sendung%20nicht%20freigeschaltet."); + do_error_message(buffer, '\x50', '\xd6', "Ihre%20Smartcard%20ist%20f%C3%BCr%20den%20Kanal%20nicht%20geeignet."); + do_error_message(buffer, '\x84', '\x84', "Es%20befindet%20sich%20nicht%20die%20richtige%20Karte%20im%20Digital-Receiver."); for (i = 0; i < MAX_SERVICES; i++) if ((descrambleservice[i].onID == onid) && (descrambleservice[i].sID == sid))