now reading the port to open from reader.conf
git-svn-id: https://vsmartcard.svn.sourceforge.net/svnroot/vsmartcard@310 96b47cad-a561-4643-ad3b-153ac7d7599c
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
RESPONSECODE
|
||||
IFDHCreateChannel (DWORD Lun, DWORD Channel)
|
||||
{
|
||||
if (vicc_init() < 0) {
|
||||
if (vicc_init(Channel) < 0) {
|
||||
Log1(PCSC_LOG_ERROR, "Could not initialize connection to virtual ICC");
|
||||
return IFD_COMMUNICATION_ERROR;
|
||||
}
|
||||
@@ -21,13 +21,13 @@ IFDHCreateChannel (DWORD Lun, DWORD Channel)
|
||||
RESPONSECODE
|
||||
IFDHCreateChannelByName (DWORD Lun, LPSTR DeviceName)
|
||||
{
|
||||
return IFDHCreateChannel (Lun, 0);
|
||||
Log2(PCSC_LOG_INFO, "Using default port %hu", VPCDPORT);
|
||||
return IFDHCreateChannel (Lun, VPCDPORT);
|
||||
}
|
||||
|
||||
RESPONSECODE
|
||||
IFDHCloseChannel (DWORD Lun)
|
||||
{
|
||||
Log1(PCSC_LOG_DEBUG, "");
|
||||
RESPONSECODE r = vicc_eject();
|
||||
if (vicc_exit() < 0) {
|
||||
Log1(PCSC_LOG_ERROR, "Could not close connection to virtual ICC");
|
||||
@@ -173,7 +173,7 @@ IFDHICCPresence (DWORD Lun)
|
||||
case 1:
|
||||
return IFD_ICC_PRESENT;
|
||||
default:
|
||||
Log1(PCSC_LOG_DEBUG, "Could not get ICC state");
|
||||
Log1(PCSC_LOG_ERROR, "Could not get ICC state");
|
||||
return IFD_COMMUNICATION_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FRIENDLYNAME "Virtual PCD"
|
||||
DEVICENAME /dev/null
|
||||
LIBPATH TARGET
|
||||
CHANNELID 0
|
||||
CHANNELID 35963
|
||||
|
||||
@@ -78,7 +78,7 @@ int opensock(unsigned short port)
|
||||
struct sockaddr_in server_sockaddr;
|
||||
memset(&server_sockaddr, 0, sizeof(server_sockaddr));
|
||||
server_sockaddr.sin_family = PF_INET;
|
||||
server_sockaddr.sin_port = htons(VPCDPORT);
|
||||
server_sockaddr.sin_port = htons(port);
|
||||
server_sockaddr.sin_addr.s_addr = htonl(INADDR_ANY);
|
||||
|
||||
if (bind(sock, (struct sockaddr*)&server_sockaddr,
|
||||
@@ -165,8 +165,8 @@ int vicc_eject(void) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int vicc_init(void) {
|
||||
server_sock = opensock(VPCDPORT);
|
||||
int vicc_init(unsigned short port) {
|
||||
server_sock = opensock(port);
|
||||
if (server_sock < 0)
|
||||
return -1;
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ int sendToVICC(uint16_t size, const char* buffer);
|
||||
int recvFromVICC(char** buffer);
|
||||
|
||||
int vicc_eject(void);
|
||||
int vicc_init(void);
|
||||
int vicc_init(unsigned short port);
|
||||
int vicc_exit(void);
|
||||
int vicc_transmit(int apdu_len, const char *apdu, char **rapdu);
|
||||
int vicc_getatr(char** atr);
|
||||
|
||||
Reference in New Issue
Block a user