Changeset 1814
- Timestamp:
- 03/09/10 13:19:51 (14 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/csctapi/icc_async.c
r1810 r1814 181 181 break; 182 182 default: 183 cs_log("ERROR ICC_ Device_Init: unknow reader type %i",reader[ridx].typ);183 cs_log("ERROR ICC_Get_Status: unknow reader type %i",reader[ridx].typ); 184 184 return ERROR; 185 185 } … … 773 773 else 774 774 ifsc = DEFAULT_IFSC; 775 776 // Towitoko does not allow IFSC > 251 //FIXME not sure whether this limitation still exists777 // ifsc = MIN (ifsc, MAX_IFSC);778 775 779 776 //FIXME workaround for Smargo until native mode works 780 if (reader[ridx].smargopatch == 1)777 if (reader[ridx].smargopatch == 1) 781 778 ifsc = MIN (ifsc, 28); 782 779 else 780 // Towitoko does not allow IFSC > 251 781 //FIXME not sure whether this limitation still exists 783 782 ifsc = MIN (ifsc, MAX_IFSC); 784 783 -
trunk/csctapi/ifd_sci.c
r1620 r1814 30 30 int Sci_GetStatus (int handle, int * status) 31 31 { 32 int in;33 32 call (ioctl(handle, IOCTL_GET_IS_CARD_PRESENT, status)<0); 34 33 return OK; -
trunk/csctapi/io_serial.c
r1810 r1814 162 162 /* Set the bitrate */ 163 163 #ifdef OS_LINUX 164 //FIXME workaround for Smargo until native mode works165 164 if ((reader[ridx].mhz == reader[ridx].cardmhz) && (reader[ridx].smargopatch != 1)) 166 165 #endif … … 595 594 if(select_ret==-1) 596 595 { 597 printf("select_ret=%i\n" , select_ret); 598 printf("errno =%d\n", errno); 599 fflush(stdout); 596 cs_log("ERROR in IO_Serial_WaitToRead: select_ret=%i, errno=%d", select_ret, errno); 600 597 return ERROR; 601 598 } … … 603 600 if (FD_ISSET(in_fd, &erfds)) 604 601 { 605 printf("fd is in error fds\n"); 606 printf("errno =%d\n", errno); 607 fflush(stdout); 602 cs_log("ERROR in IO_Serial_WaitToRead: fd is in error fds, errno=%d", errno); 608 603 return ERROR; 609 604 } -
trunk/globals.h
r1811 r1814 94 94 #define CS_MAXLOGHIST 30 95 95 #define CS_LOGHISTSIZE 160 // 32+128: username + logline 96 97 #ifdef OLD_DEFS98 #ifdef CS_EMBEDDED99 #define CS_MAXPENDING 32100 #define CS_ECMCACHESIZE 32101 #define CS_EMMCACHESIZE 64102 #define CS_MAXPID 32103 #define CS_MAXREADER 8104 #else105 #define CS_MAXPENDING 128106 #define CS_ECMCACHESIZE 128107 #define CS_EMMCACHESIZE 256108 #define CS_MAXPID 128109 #define CS_MAXREADER 64110 #endif111 #endif112 96 113 97 #ifdef CS_EMBEDDED … … 499 483 int cc_maxhop; // cccam max distance 500 484 void *cc; // ptr to cccam internal data struct 485 uchar cc_id; 501 486 uchar tcp_connected; 502 487 int tcp_ito; // inactivity timeout -
trunk/module-cccam.c
r1761 r1814 688 688 memcpy(card->key, buf+16, 8); 689 689 690 cs_ log("cccam: card %08x added, caid %04x, hop %d, key %s",690 cs_debug("cccam: card %08x added, caid %04x, hop %d, key %s", 691 691 card->id, card->caid, card->hop, cs_hexdump(0, card->key, 8)); 692 692 … … 696 696 697 697 memcpy(prov, buf+25+(7*i), 3); 698 cs_ log(" prov %d, %06x", i+1, b2i(3, prov));698 cs_debug(" prov %d, %06x", i+1, b2i(3, prov)); 699 699 700 700 llist_append(card->provs, prov); … … 786 786 break; 787 787 case MSG_KEEPALIVE: 788 cc_cmd_send(NULL, 0, MSG_KEEPALIVE); 789 cs_debug("cccam: keepalive"); 788 if (!is_server) { 789 cc_cmd_send(NULL, 0, MSG_KEEPALIVE); 790 cs_debug("cccam: keepalive"); 791 } 790 792 break; 791 793 case MSG_BAD_ECM: … … 1009 1011 { 1010 1012 int j; 1011 uint id = 1,r, k;1012 uint8 hop = 0, reshare ;1013 uint r, k; 1014 uint8 hop = 0, reshare, flt; 1013 1015 uint8 buf[CC_MAXMSGSIZE]; 1014 1016 struct cc_data *cc = client[cs_idx].cc; … … 1016 1018 reshare = cfg->cc_reshare; 1017 1019 1018 for (r=0; r<CS_MAXREADER; r++) { 1019 if (reader[r].caid[0]) { 1020 if (reader[r].tcp_connected || reader[r].card_status == CARD_INSERTED) { 1021 memset(buf, 0, sizeof(buf)); 1022 1023 buf[0] = id >> 24; 1024 buf[1] = id >> 16; 1025 buf[2] = id >> 8; 1026 buf[3] = id & 0xff; 1027 buf[8] = reader[r].caid[0] >> 8; 1028 buf[9] = reader[r].caid[0] & 0xff; 1029 buf[10] = hop; 1030 buf[11] = reshare; 1031 buf[20] = reader[r].nprov; 1032 1033 for (j=0; j<reader[r].nprov; j++) 1034 if (reader[r].card_status == CARD_INSERTED) 1035 memcpy(buf + 21 + (j*7), reader[r].prid[j]+1, 3); 1036 else 1037 memcpy(buf + 21 + (j*7), reader[r].prid[j], 3); 1038 1039 buf[21 + (j*7)] = 1; 1040 memcpy(buf + 22 + (j*7), cc->node_id, 8); 1041 1042 cc_cmd_send(buf, 30 + (j*7), MSG_NEW_CARD); 1043 1044 id++; 1045 } 1046 } 1047 1048 1049 if (reader[r].ftab.filts) { 1050 for (j=0; j<CS_MAXFILTERS; j++) { 1051 if (reader[r].ftab.filts[j].caid) { 1020 for (r=0; r<CS_MAXREADER; r++) 1021 { 1022 flt = 0; 1023 if (reader[r].ftab.filts) 1024 { 1025 for (j=0; j<CS_MAXFILTERS; j++) 1026 { 1027 if (reader[r].ftab.filts[j].caid) 1028 { 1029 reader[r].cc_id = 0x63 + r; 1052 1030 memset(buf, 0, sizeof(buf)); 1053 1054 buf[0] = id >> 24; 1055 buf[1] = id >> 16; 1056 buf[2] = id >> 8; 1057 buf[3] = id & 0xff; 1031 buf[0] = reader[r].cc_id >> 24; 1032 buf[1] = reader[r].cc_id >> 16; 1033 buf[2] = reader[r].cc_id >> 8; 1034 buf[3] = reader[r].cc_id & 0xff; 1035 buf[7] = reader[r].cc_id; 1036 if (!buf[7]) 1037 buf[7] = 0x63 + r; 1058 1038 buf[8] = reader[r].ftab.filts[j].caid >> 8; 1059 1039 buf[9] = reader[r].ftab.filts[j].caid & 0xff; … … 1061 1041 buf[11] = reshare; 1062 1042 buf[20] = reader[r].ftab.filts[j].nprids; 1063 1064 for (k=0; k<reader[r].ftab.filts[j].nprids; k++){1043 for (k=0; k<reader[r].ftab.filts[j].nprids; k++) 1044 { 1065 1045 buf[21 + (k*7)] = reader[r].ftab.filts[j].prids[k] >> 16; 1066 1046 buf[22 + (k*7)] = reader[r].ftab.filts[j].prids[k] >> 8; 1067 buf[23 + (k*7)] = reader[r].ftab.filts[j].prids[k] & 0x ff;1047 buf[23 + (k*7)] = reader[r].ftab.filts[j].prids[k] & 0xFF; 1068 1048 } 1069 1070 buf[21 + (k*7)] = 1; 1071 memcpy(buf + 22 + (k*7), cc->node_id, 7); 1072 1073 cc_cmd_send(buf, 30 + (k*7), MSG_NEW_CARD); 1074 1075 id++; 1049 buf[21 + (k*7)] = 1; 1050 memcpy(buf + 22 + (k*7), cc->node_id, 8); 1051 1052 reader[r].cc_id = buf[7]; 1053 cc_cmd_send(buf, 30 + (k*7), MSG_NEW_CARD); 1054 flt = 1; 1076 1055 } 1077 1056 } 1078 1057 } 1079 } 1080 } 1058 1059 if (reader[r].caid[0] && !flt) 1060 { 1061 memset(buf, 0, sizeof(buf)); 1062 buf[0] = reader[r].cc_id >> 24; 1063 buf[1] = reader[r].cc_id >> 16; 1064 buf[2] = reader[r].cc_id >> 8; 1065 buf[3] = reader[r].cc_id & 0xff; 1066 buf[7] = reader[r].cc_id; 1067 if (!buf[7]) 1068 buf[7] = 0x63 + r; 1069 buf[8] = reader[r].caid[0] >> 8; 1070 buf[9] = reader[r].caid[0] & 0xff; 1071 buf[10] = hop; 1072 buf[11] = reshare; 1073 buf[20] = reader[r].nprov; 1074 for (j=0; j<reader[r].nprov; j++) 1075 { 1076 if (reader[r].card_status == CARD_INSERTED) 1077 memcpy(buf + 21 + (j*7), reader[r].prid[j]+1, 3); 1078 else 1079 memcpy(buf + 21 + (j*7), reader[r].prid[j], 3); 1080 } 1081 1082 buf[21 + (j*7)] = 1; 1083 memcpy(buf + 22 + (j*7), cc->node_id, 8); 1084 1085 if (reader[r].tcp_connected || reader[r].card_status == CARD_INSERTED) 1086 { 1087 reader[r].cc_id = buf[7]; 1088 cc_cmd_send(buf, 30 + (j*7), MSG_NEW_CARD); 1089 } 1090 else 1091 if ((reader[r].card_status != CARD_INSERTED) && (!reader[r].tcp_connected) && reader[r].cc_id) 1092 { 1093 buf[0] = reader[r].cc_id >> 24; 1094 buf[1] = reader[r].cc_id >> 16; 1095 buf[2] = reader[r].cc_id >> 8; 1096 buf[3] = reader[r].cc_id & 0xff; 1097 reader[r].cc_id = 0; 1098 cc_cmd_send(buf, 4, MSG_CARD_REMOVED); 1099 } 1100 } 1101 } 1102 } 1103 1081 1104 1082 1105 static int cc_srv_connect() -
trunk/oscam.c
r1784 r1814 1992 1992 for (j = 0; (j < 6) && (er->rc > 99); j++) 1993 1993 { 1994 usleep(1); 1994 1995 switch(j) { 1995 1996
Note:
See TracChangeset
for help on using the changeset viewer.