Changeset 4969 for trunk/module-cccshare.c
- Timestamp:
- 04/10/11 14:03:05 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/module-cccshare.c
r4864 r4969 194 194 if (card_valid_for_client(cl, card)) { 195 195 int usr_reshare = cl->account->cccreshare; 196 if (usr_reshare == -1) usr_reshare = cfg.cc_reshare; 196 197 int usr_ignorereshare = cl->account->cccignorereshare; 198 if (usr_ignorereshare == -1) usr_ignorereshare = cfg.cc_ignore_reshare; 197 199 198 int reader_reshare = card->origin_reader?card->origin_reader->cc_reshare:cfg.cc_reshare; 200 int reader_reshare = card->origin_reader?card->origin_reader->cc_reshare:usr_reshare; 201 if (reader_reshare == -1) reader_reshare = cfg.cc_reshare; 199 202 int reshare = (reader_reshare < usr_reshare) ? reader_reshare : usr_reshare; 200 203 int new_reshare; 201 if (cfg.cc_ignore_reshare || usr_ignorereshare) 204 if (card->card_type == CT_CARD_BY_SERVICE_USER) 205 new_reshare = usr_reshare; 206 else if (cfg.cc_ignore_reshare || usr_ignorereshare) 207 new_reshare = reshare; 208 else { 209 new_reshare = card->reshare; 210 if (card->card_type == CT_REMOTECARD) 211 new_reshare--; 212 if (new_reshare > reshare) 202 213 new_reshare = reshare; 203 else {204 new_reshare = card->reshare;205 if (card->card_type == CT_REMOTECARD)206 new_reshare--;207 if (new_reshare > reshare)208 new_reshare = reshare;209 214 } 210 215 if (new_reshare < 0) … … 346 351 347 352 //Check reshare 348 if (!cfg.cc_ignore_reshare && !cl->account->cccignorereshare && !card->reshare) 353 int usr_ignorereshare = cl->account->cccignorereshare; 354 if (usr_ignorereshare == -1) usr_ignorereshare = cfg.cc_ignore_reshare; 355 if (!cfg.cc_ignore_reshare && !usr_ignorereshare && !card->reshare) 349 356 return 0; 350 357 … … 507 514 card2->origin_id = card->id; 508 515 card2->id = 0; 516 card2->card_type = card->card_type; 517 card2->sidtab = card->sidtab; 509 518 } 510 519 … … 601 610 if (cfg.cc_minimize_cards == MINIMIZE_CAID && !cfg.cc_forward_origin_card) { 602 611 while ((card2 = ll_iter_next(it))) 603 if (card2->caid == card->caid && 612 if (card2->caid == card->caid && card2->card_type == card->card_type && 604 613 !memcmp(card->hexserial, card2->hexserial, sizeof(card->hexserial))) { 605 614 … … 631 640 else if (cfg.cc_minimize_cards == MINIMIZE_HOPS && !cfg.cc_forward_origin_card) { 632 641 while ((card2 = ll_iter_next(it))) { 633 if (card2->caid == card->caid && 642 if (card2->caid == card->caid && card2->card_type == card->card_type && 634 643 !memcmp(card->hexserial, card2->hexserial, sizeof(card->hexserial)) && 635 644 equal_providers(card, card2)) { … … 784 793 flt = 0; 785 794 795 int reshare = rdr->cc_reshare; 796 if (reshare == -1) reshare = cfg.cc_reshare; 797 786 798 //Reader-Services: 787 799 if ((cfg.cc_reshare_services==1||cfg.cc_reshare_services==2||!rdr->caid) && cfg.sidtab && rdr->sidtabok) { … … 791 803 int k; 792 804 for (k=0;k<ptr->num_caid;k++) { 793 struct cc_card *card = create_card2(rdr, (j<<8)|k, ptr->caid[k], 0, r dr->cc_reshare);805 struct cc_card *card = create_card2(rdr, (j<<8)|k, ptr->caid[k], 0, reshare); 794 806 card->card_type = CT_CARD_BY_SERVICE_READER; 795 807 card->sidtab = ptr; … … 817 829 if (rdr->ftab.filts[j].caid) { 818 830 ushort caid = rdr->ftab.filts[j].caid; 819 struct cc_card *card = create_card2(rdr, j, caid, 0, r dr->cc_reshare);831 struct cc_card *card = create_card2(rdr, j, caid, 0, reshare); 820 832 card->card_type = CT_LOCALCARD; 821 833 … … 858 870 859 871 if (lcaid && (lcaid != 0xFFFF)) { 860 struct cc_card *card = create_card2(rdr, j, lcaid, 0, r dr->cc_reshare);872 struct cc_card *card = create_card2(rdr, j, lcaid, 0, reshare); 861 873 card->card_type = CT_CARD_BY_CAID; 862 874 if (!rdr->audisabled) … … 877 889 if (!caid) continue; 878 890 879 struct cc_card *card = create_card2(rdr, c, caid, 0, r dr->cc_reshare);891 struct cc_card *card = create_card2(rdr, c, caid, 0, reshare); 880 892 card->card_type = CT_CARD_BY_CAID; 881 893 … … 908 920 //cs_log("tcp_connected: %d card_status: %d ", rdr->tcp_connected, rdr->card_status); 909 921 ushort caid = rdr->caid; 910 struct cc_card *card = create_card2(rdr, 1, caid, 0, r dr->cc_reshare);922 struct cc_card *card = create_card2(rdr, 1, caid, 0, reshare); 911 923 card->card_type = CT_CARD_BY_CAID; 912 924
Note:
See TracChangeset
for help on using the changeset viewer.