Changeset 3614 for trunk/module-camd35.c
- Timestamp:
- 10/18/10 15:32:35 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/module-camd35.c
r3556 r3614 40 40 else { 41 41 status = send(cl->udp_fd, rbuf, l + 4, 0); 42 if (status == -1) network_tcp_connection_close( &reader[cl->ridx], cl->pfd);42 if (status == -1) network_tcp_connection_close(cl->reader, cl->pfd); 43 43 } 44 44 return status; … … 351 351 { 352 352 struct s_client *cl = cur_client(); 353 strcpy((char *)cl->upwd, reader[cl->ridx].r_pwd);354 memcpy(cl->ucrc, i2b(4, crc32(0L, MD5((unsigned char *) reader[cl->ridx].r_usr, strlen(reader[cl->ridx].r_usr), cl->dump), 16)), 4);353 strcpy((char *)cl->upwd, cl->reader->r_pwd); 354 memcpy(cl->ucrc, i2b(4, crc32(0L, MD5((unsigned char *)cl->reader->r_usr, strlen(cl->reader->r_usr), cl->dump), 16)), 4); 355 355 aes_set_key((char *)MD5(cl->upwd, strlen((char *)cl->upwd), cl->dump)); 356 356 cl->crypted=1; … … 365 365 366 366 client->pfd=0; 367 if ( reader[client->ridx].r_port<=0)368 { 369 cs_log("invalid port %d for server %s", reader[client->ridx].r_port, reader[client->ridx].device);367 if (client->reader->r_port<=0) 368 { 369 cs_log("invalid port %d for server %s", client->reader->r_port, client->reader->device); 370 370 return(1); 371 371 } 372 client->is_udp=( reader[client->ridx].typ==R_CAMD35);372 client->is_udp=(client->reader->typ==R_CAMD35); 373 373 if( (ptrp=getprotobyname(client->is_udp ? "udp" : "tcp")) ) 374 374 p_proto=ptrp->p_proto; … … 385 385 #endif 386 386 loc_sa.sin_addr.s_addr = INADDR_ANY; 387 loc_sa.sin_port = htons( reader[client->ridx].l_port);387 loc_sa.sin_port = htons(client->reader->l_port); 388 388 389 389 if ((client->udp_fd=socket(PF_INET, client->is_udp ? SOCK_DGRAM : SOCK_STREAM, p_proto))<0) … … 398 398 #endif 399 399 400 if ( reader[client->ridx].l_port>0)400 if (client->reader->l_port>0) 401 401 { 402 402 if (bind(client->udp_fd, (struct sockaddr *)&loc_sa, sizeof (loc_sa))<0) … … 406 406 return(1); 407 407 } 408 sprintf(ptxt, ", port=%d", reader[client->ridx].l_port);408 sprintf(ptxt, ", port=%d", client->reader->l_port); 409 409 } 410 410 else … … 414 414 memset((char *)&client->udp_sa, 0, sizeof(client->udp_sa)); 415 415 client->udp_sa.sin_family=AF_INET; 416 client->udp_sa.sin_port=htons((u_short) reader[client->ridx].r_port);416 client->udp_sa.sin_port=htons((u_short)client->reader->r_port); 417 417 418 418 cs_log("proxy %s:%d (fd=%d%s)", 419 reader[client->ridx].device, reader[client->ridx].r_port,419 client->reader->device, client->reader->r_port, 420 420 client->udp_fd, ptxt); 421 421 … … 434 434 struct s_client *cl = cur_client(); 435 435 436 if ( reader[cl->ridx].log_port<=0)437 { 438 cs_log("invalid port %d for camd3-loghost", reader[cl->ridx].log_port);436 if (cl->reader->log_port<=0) 437 { 438 cs_log("invalid port %d for camd3-loghost", cl->reader->log_port); 439 439 return(1); 440 440 } … … 449 449 loc_sa.sin_family = AF_INET; 450 450 loc_sa.sin_addr.s_addr = INADDR_ANY; 451 loc_sa.sin_port = htons( reader[cl->ridx].log_port);451 loc_sa.sin_port = htons(cl->reader->log_port); 452 452 453 453 if ((logfd=socket(PF_INET, SOCK_DGRAM, p_proto))<0) … … 465 465 466 466 cs_log("camd3 loghost initialized (fd=%d, port=%d)", 467 logfd, reader[cl->ridx].log_port);467 logfd, cl->reader->log_port); 468 468 469 469 return(0); … … 473 473 { 474 474 struct s_client *cl = cur_client(); 475 if (! reader[cl->ridx].tcp_connected)475 if (!cl->reader->tcp_connected) 476 476 { 477 477 int handle=0; … … 479 479 if (handle<0) return(0); 480 480 481 reader[cl->ridx].tcp_connected = 1;482 reader[cl->ridx].card_status = CARD_INSERTED;483 reader[cl->ridx].last_s = reader[cl->ridx].last_g = time((time_t *)0);481 cl->reader->tcp_connected = 1; 482 cl->reader->card_status = CARD_INSERTED; 483 cl->reader->last_s = cl->reader->last_g = time((time_t *)0); 484 484 cl->pfd = cl->udp_fd = handle; 485 485 } … … 495 495 if (er->srvid == client->lastsrvid && er->caid == client->lastcaid && er->pid == client->lastpid){ 496 496 cs_log("%s is stopped - requested by server (%s)", 497 reader[client->ridx].label, typtext[client->stopped]);497 client->reader->label, typtext[client->stopped]); 498 498 return(-1); 499 499 } … … 508 508 509 509 if (client->is_udp) { 510 if (!client->udp_sa.sin_addr.s_addr || reader[client->ridx].last_s-reader[client->ridx].last_g > reader[client->ridx].tcp_rto)511 if (!hostResolve( &reader[client->ridx])) return -1;510 if (!client->udp_sa.sin_addr.s_addr || client->reader->last_s-client->reader->last_g > client->reader->tcp_rto) 511 if (!hostResolve(client->reader)) return -1; 512 512 } 513 513 else { … … 515 515 } 516 516 517 reader[client->ridx].card_status = CARD_INSERTED; //for udp517 client->reader->card_status = CARD_INSERTED; //for udp 518 518 519 519 memset(buf, 0, 20); … … 538 538 539 539 if (cl->is_udp) { 540 if (!cl->udp_sa.sin_addr.s_addr || reader[cl->ridx].last_s-reader[cl->ridx].last_g > reader[cl->ridx].tcp_rto)541 if (!hostResolve( &reader[cl->ridx])) return -1;540 if (!cl->udp_sa.sin_addr.s_addr || cl->reader->last_s-cl->reader->last_g > cl->reader->tcp_rto) 541 if (!hostResolve(cl->reader)) return -1; 542 542 } 543 543 else { … … 561 561 ushort idx; 562 562 static const char *typtext[]={"ok", "invalid", "sleeping"}; 563 struct s_reader *rdr = &reader[client->ridx];563 struct s_reader *rdr = client->reader; 564 564 565 565 // reading CMD05 Emm request and set serial
Note:
See TracChangeset
for help on using the changeset viewer.