Changeset 1814


Ignore:
Timestamp:
03/09/10 13:19:51 (10 years ago)
Author:
merek
Message:

Merge UMP r1858-r1867

Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/csctapi/icc_async.c

    r1810 r1814  
    181181            break;
    182182        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);
    184184            return ERROR;
    185185    }
     
    773773                else
    774774                    ifsc = DEFAULT_IFSC;
    775            
    776                 // Towitoko does not allow IFSC > 251 //FIXME not sure whether this limitation still exists
    777                 // ifsc = MIN (ifsc, MAX_IFSC);
    778775
    779776                //FIXME workaround for Smargo until native mode works
    780                 if(reader[ridx].smargopatch == 1)
     777                if (reader[ridx].smargopatch == 1)
    781778                    ifsc = MIN (ifsc, 28);
    782779                else
     780                    // Towitoko does not allow IFSC > 251
     781                    //FIXME not sure whether this limitation still exists
    783782                    ifsc = MIN (ifsc, MAX_IFSC);
    784783           
  • trunk/csctapi/ifd_sci.c

    r1620 r1814  
    3030int Sci_GetStatus (int handle, int * status)
    3131{
    32     int in;
    3332    call (ioctl(handle, IOCTL_GET_IS_CARD_PRESENT, status)<0);
    3433    return OK;
  • trunk/csctapi/io_serial.c

    r1810 r1814  
    162162   /* Set the bitrate */
    163163#ifdef OS_LINUX
    164    //FIXME workaround for Smargo until native mode works
    165164   if ((reader[ridx].mhz == reader[ridx].cardmhz) && (reader[ridx].smargopatch != 1))
    166165#endif
     
    595594   if(select_ret==-1)
    596595   {
    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);
    600597      return ERROR;
    601598   }
     
    603600   if (FD_ISSET(in_fd, &erfds))
    604601   {
    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);
    608603      return ERROR;
    609604   }
  • trunk/globals.h

    r1811 r1814  
    9494#define CS_MAXLOGHIST     30
    9595#define CS_LOGHISTSIZE    160 // 32+128: username + logline
    96 
    97 #ifdef OLD_DEFS
    98 #ifdef  CS_EMBEDDED
    99 #define CS_MAXPENDING   32
    100 #define CS_ECMCACHESIZE   32
    101 #define CS_EMMCACHESIZE   64
    102 #define CS_MAXPID   32
    103 #define CS_MAXREADER    8
    104 #else
    105 #define CS_MAXPENDING   128
    106 #define CS_ECMCACHESIZE   128
    107 #define CS_EMMCACHESIZE   256
    108 #define CS_MAXPID   128
    109 #define CS_MAXREADER    64
    110 #endif
    111 #endif
    11296
    11397#ifdef  CS_EMBEDDED
     
    499483  int       cc_maxhop;      // cccam max distance
    500484  void      *cc;            // ptr to cccam internal data struct
     485  uchar     cc_id;
    501486  uchar     tcp_connected;
    502487  int       tcp_ito;      // inactivity timeout
  • trunk/module-cccam.c

    r1761 r1814  
    688688      memcpy(card->key, buf+16, 8);
    689689
    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",
    691691          card->id, card->caid, card->hop, cs_hexdump(0, card->key, 8));
    692692
     
    696696
    697697        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));
    699699
    700700        llist_append(card->provs, prov);
     
    786786    break;
    787787  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    }
    790792    break;
    791793  case MSG_BAD_ECM:
     
    10091011{
    10101012  int j;
    1011   uint id = 1, r, k;
    1012   uint8 hop = 0, reshare;
     1013  uint r, k;
     1014  uint8 hop = 0, reshare, flt;
    10131015  uint8 buf[CC_MAXMSGSIZE];
    10141016  struct cc_data *cc = client[cs_idx].cc;
     
    10161018  reshare = cfg->cc_reshare;
    10171019
    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;
    10521030          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;
    10581038          buf[8] = reader[r].ftab.filts[j].caid >> 8;
    10591039          buf[9] = reader[r].ftab.filts[j].caid & 0xff;
     
    10611041          buf[11] = reshare;
    10621042          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    {
    10651045            buf[21 + (k*7)] = reader[r].ftab.filts[j].prids[k] >> 16;
    10661046            buf[22 + (k*7)] = reader[r].ftab.filts[j].prids[k] >> 8;
    1067             buf[23 + (k*7)] = reader[r].ftab.filts[j].prids[k] & 0xff;
     1047            buf[23 + (k*7)] = reader[r].ftab.filts[j].prids[k] & 0xFF;
    10681048          }
    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;
    10761055        }
    10771056      }
    10781057    }
    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
    10811104
    10821105static int cc_srv_connect()
  • trunk/oscam.c

    r1784 r1814  
    19921992        for (j = 0; (j < 6) && (er->rc > 99); j++)
    19931993        {
     1994            usleep(1);
    19941995            switch(j) {
    19951996
Note: See TracChangeset for help on using the changeset viewer.