{"action":"created","issue":{"url":"https://api.github.com/repos/FreeRDP/FreeRDP/issues/2799","labels_url":"https://api.github.com/repos/FreeRDP/FreeRDP/issues/2799/labels{/name}","comments_url":"https://api.github.com/repos/FreeRDP/FreeRDP/issues/2799/comments","events_url":"https://api.github.com/repos/FreeRDP/FreeRDP/issues/2799/events","html_url":"https://github.com/FreeRDP/FreeRDP/pull/2799","id":96589822,"number":2799,"title":"Smartcard Reader Connection Handling","user":{"login":"kaliway","id":316505,"avatar_url":"https://avatars.githubusercontent.com/u/316505?v=3","gravatar_id":"","url":"https://api.github.com/users/kaliway","html_url":"https://github.com/kaliway","followers_url":"https://api.github.com/users/kaliway/followers","following_url":"https://api.github.com/users/kaliway/following{/other_user}","gists_url":"https://api.github.com/users/kaliway/gists{/gist_id}","starred_url":"https://api.github.com/users/kaliway/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kaliway/subscriptions","organizations_url":"https://api.github.com/users/kaliway/orgs","repos_url":"https://api.github.com/users/kaliway/repos","events_url":"https://api.github.com/users/kaliway/events{/privacy}","received_events_url":"https://api.github.com/users/kaliway/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":17,"created_at":"2015-07-22T15:04:53Z","updated_at":"2015-07-23T13:15:52Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/FreeRDP/FreeRDP/pulls/2799","html_url":"https://github.com/FreeRDP/FreeRDP/pull/2799","diff_url":"https://github.com/FreeRDP/FreeRDP/pull/2799.diff","patch_url":"https://github.com/FreeRDP/FreeRDP/pull/2799.patch"},"body":"This pull request addresses smartcard reader connection and reconnection issues (see #153)\r\n\r\nsmartcard_ListReadersA_Call & smartcard_ListReadersW_Call aborts without replying to the server when SCardListReaders return status is not SCARD_SUCCESS. As a result, SCardListReaders calls invoked by the server never get completed. This makes impossible to detect connection of a new smartcard reader when there are no other smartcard readers connected.\r\n\r\nsmartcard_ListReaders(A/W)_Call should pass the return status of SCardListReaders back to the server in all cases. This is particularly important when there are no smartcard readers in the system and SCardListReaders returns SCARD_E_NO_READERS_AVAILABLE.\r\n\r\nTest case:\r\n1. Start FreeRDP with no smartcard readers connected:\r\n        ./xfreerdp -sec-nla /smartcard /v:<rdp-server-address>\r\n2. Connect a smartcard reader;\r\n3. The remote server detects connection of the reader;\r\n"},"comment":{"url":"https://api.github.com/repos/FreeRDP/FreeRDP/issues/comments/124093747","html_url":"https://github.com/FreeRDP/FreeRDP/pull/2799#issuecomment-124093747","issue_url":"https://api.github.com/repos/FreeRDP/FreeRDP/issues/2799","id":124093747,"user":{"login":"freerdp-bot","id":3977138,"avatar_url":"https://avatars.githubusercontent.com/u/3977138?v=3","gravatar_id":"","url":"https://api.github.com/users/freerdp-bot","html_url":"https://github.com/freerdp-bot","followers_url":"https://api.github.com/users/freerdp-bot/followers","following_url":"https://api.github.com/users/freerdp-bot/following{/other_user}","gists_url":"https://api.github.com/users/freerdp-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/freerdp-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/freerdp-bot/subscriptions","organizations_url":"https://api.github.com/users/freerdp-bot/orgs","repos_url":"https://api.github.com/users/freerdp-bot/repos","events_url":"https://api.github.com/users/freerdp-bot/events{/privacy}","received_events_url":"https://api.github.com/users/freerdp-bot/received_events","type":"User","site_admin":false},"created_at":"2015-07-23T13:15:52Z","updated_at":"2015-07-23T13:15:52Z","body":"\nRefer to this link for build results (access rights to CI server needed): \nhttps://ci.freerdp.com//job/PullRequestTester/603/\nTest PASSed."}}