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
|
RESPONSECODE
|
||||||
IFDHCreateChannel (DWORD Lun, DWORD Channel)
|
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");
|
Log1(PCSC_LOG_ERROR, "Could not initialize connection to virtual ICC");
|
||||||
return IFD_COMMUNICATION_ERROR;
|
return IFD_COMMUNICATION_ERROR;
|
||||||
}
|
}
|
||||||
@@ -21,13 +21,13 @@ IFDHCreateChannel (DWORD Lun, DWORD Channel)
|
|||||||
RESPONSECODE
|
RESPONSECODE
|
||||||
IFDHCreateChannelByName (DWORD Lun, LPSTR DeviceName)
|
IFDHCreateChannelByName (DWORD Lun, LPSTR DeviceName)
|
||||||
{
|
{
|
||||||
return IFDHCreateChannel (Lun, 0);
|
Log2(PCSC_LOG_INFO, "Using default port %hu", VPCDPORT);
|
||||||
|
return IFDHCreateChannel (Lun, VPCDPORT);
|
||||||
}
|
}
|
||||||
|
|
||||||
RESPONSECODE
|
RESPONSECODE
|
||||||
IFDHCloseChannel (DWORD Lun)
|
IFDHCloseChannel (DWORD Lun)
|
||||||
{
|
{
|
||||||
Log1(PCSC_LOG_DEBUG, "");
|
|
||||||
RESPONSECODE r = vicc_eject();
|
RESPONSECODE r = vicc_eject();
|
||||||
if (vicc_exit() < 0) {
|
if (vicc_exit() < 0) {
|
||||||
Log1(PCSC_LOG_ERROR, "Could not close connection to virtual ICC");
|
Log1(PCSC_LOG_ERROR, "Could not close connection to virtual ICC");
|
||||||
@@ -173,7 +173,7 @@ IFDHICCPresence (DWORD Lun)
|
|||||||
case 1:
|
case 1:
|
||||||
return IFD_ICC_PRESENT;
|
return IFD_ICC_PRESENT;
|
||||||
default:
|
default:
|
||||||
Log1(PCSC_LOG_DEBUG, "Could not get ICC state");
|
Log1(PCSC_LOG_ERROR, "Could not get ICC state");
|
||||||
return IFD_COMMUNICATION_ERROR;
|
return IFD_COMMUNICATION_ERROR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
FRIENDLYNAME "Virtual PCD"
|
FRIENDLYNAME "Virtual PCD"
|
||||||
DEVICENAME /dev/null
|
DEVICENAME /dev/null
|
||||||
LIBPATH TARGET
|
LIBPATH TARGET
|
||||||
CHANNELID 0
|
CHANNELID 35963
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ int opensock(unsigned short port)
|
|||||||
struct sockaddr_in server_sockaddr;
|
struct sockaddr_in server_sockaddr;
|
||||||
memset(&server_sockaddr, 0, sizeof(server_sockaddr));
|
memset(&server_sockaddr, 0, sizeof(server_sockaddr));
|
||||||
server_sockaddr.sin_family = PF_INET;
|
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);
|
server_sockaddr.sin_addr.s_addr = htonl(INADDR_ANY);
|
||||||
|
|
||||||
if (bind(sock, (struct sockaddr*)&server_sockaddr,
|
if (bind(sock, (struct sockaddr*)&server_sockaddr,
|
||||||
@@ -165,8 +165,8 @@ int vicc_eject(void) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int vicc_init(void) {
|
int vicc_init(unsigned short port) {
|
||||||
server_sock = opensock(VPCDPORT);
|
server_sock = opensock(port);
|
||||||
if (server_sock < 0)
|
if (server_sock < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ int sendToVICC(uint16_t size, const char* buffer);
|
|||||||
int recvFromVICC(char** buffer);
|
int recvFromVICC(char** buffer);
|
||||||
|
|
||||||
int vicc_eject(void);
|
int vicc_eject(void);
|
||||||
int vicc_init(void);
|
int vicc_init(unsigned short port);
|
||||||
int vicc_exit(void);
|
int vicc_exit(void);
|
||||||
int vicc_transmit(int apdu_len, const char *apdu, char **rapdu);
|
int vicc_transmit(int apdu_len, const char *apdu, char **rapdu);
|
||||||
int vicc_getatr(char** atr);
|
int vicc_getatr(char** atr);
|
||||||
|
|||||||
Reference in New Issue
Block a user