Patch to improve smartcard handling on smartcard logon
Rostislav Kondratenko <[email protected]> Mon, 27 Jul 2015 15:40:54 +0300
| Newsgroups | gmane.network.rdesktop.devel |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format. --------------080002020803000304000105 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Hello, When using rdesktop with smartcard logon there are two issues. 1. When connecting to existing session server does not end the=20 transaction taken for smartcard logon, sending Server Announce instead.=20 Protocol specification directs client to drop all existing device=20 references, witch should include releasing all smartcard contexts,=20 effectively releasing all current transactions. Current version however=20 does not release these contexts, blocking smartcard from any use for the = rest of the session. 2. When calling SCardGetStatus change caller may ask for special reader=20 "\\\\?PnP?\\Notification" that will effectively signal when new=20 smartcard reader will appear. Support for this feature appeared in=20 pcsc-lite v1.6.0 quite a while ago. Current version of rdesktop filters=20 out this special reader name for compatibility with older versions of=20 pcsc-lite and Apple fork of it. As a result if a reader was not plugged=20 in at application startup, windows logon screen will not detect=20 insertion of a new reader during logon screen and options for smartcard=20 logon won't appear. I have prepared a patch addressing these two issues. See attachment. Rostislav Kondratenko. --------------080002020803000304000105 Content-Type: text/plain; charset=UTF-8; name="patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="patch" SW5kZXg6IGNvbmZpZ3VyZS5hYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBjb25maWd1cmUuYWMJKHJl dmlzaW9uIDE4NDcpCisrKyBjb25maWd1cmUuYWMJKHdvcmtpbmcgY29weSkKQEAgLTE4OSw2 ICsxOTEsMTAgQEAKIAkgICBleGl0IDEKIAlmaQoKKyAgQUNfTVNHX0NIRUNLSU5HKFtmb3Ig UENTQy1saXRlID49IDEuNi4wIChQblAvTm90aWZpY2F0aW9ucyBzdXBwb3J0KV0pCisgIFBL R19DSEVDS19NT0RVTEVTKFBOUF9OT1RJRklDQVRJT05TLCBsaWJwY3NjbGl0ZSA+PSAxLjYu MCwgW1dJVEhfUE5QX05PVElGSUNBVElPTlM9MV0sIFtXSVRIX1BOUF9OT1RJRklDQVRJT05T PTBdKQorICBBQ19ERUZJTkUoV0lUSF9QTlBfTk9USUZJQ0FUSU9OUykKKwogCUFDX01TR19D SEVDS0lORyhbZm9yIG9sZCB2ZXJzaW9uIG9mIFBDU0NdKQogCUFDX1RSWV9MSU5LKFsKIAkJ I2luY2x1ZGUgPHN0ZGxpYi5oPgpJbmRleDogcHJvdG8uaAo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBw cm90by5oCShyZXZpc2lvbiAxODQ3KQorKysgcHJvdG8uaAkod29ya2luZyBjb3B5KQpAQCAt MzU0LDYgKzM1NCw3IEBACiBpbnQgc2NhcmRfZW51bV9kZXZpY2VzKHVpbnQzMiAqIGlkLCBj aGFyICpvcHRhcmcpOwogdm9pZCBzY2FyZFNldEluZm8odWludDMyIGVwb2NoLCB1aW50MzIg ZGV2aWNlLCB1aW50MzIgaWQsIHVpbnQzMiBieXRlc19vdXQpOwogdm9pZCBzY2FyZF9yZXNl dF9zdGF0ZSgpOwordm9pZCBzY2FyZF9yZWxlYXNlX2FsbF9jb250ZXh0cygpOwoKIC8qICpJ TkRFTlQtT0ZGKiAqLwogI2lmZGVmIF9fY3BsdXNwbHVzCkluZGV4OiByZHBkci5jCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tIHJkcGRyLmMJKHJldmlzaW9uIDE4NDcpCisrKyByZHBkci5jCSh3b3Jr aW5nIGNvcHkpCkBAIC04MjYsNiArODI2LDExIEBACiAJCQkJCWdfY2xpZW50X2lkID0gMHg4 MTVlZDM5ZDsJLyogSVAgYWRkcmVzcyAodXNlIDEyNy4wLjAuMSkgMHg4MTVlZDM5ZCAqLwog CQkJCWdfZXBvY2grKzsKCisjaWYgV0lUSF9TQ0FSRAorICAgICAgICAgICAgICAgIC8qIFdl IG5lZWQgdG8gcmVsZWFzZSBhbGwgU0NBUkQgY29udGV4dHMgdG8gZW5kIGFsbCBjdXJyZW50 IHRyYW5zYWN0aW9ucyBhbmQgcGVuZGluZyBjYWxscyAqLworICAgICAgICAgICAgICAgIHNj YXJkX3JlbGVhc2VfYWxsX2NvbnRleHRzKCk7CisjZW5kaWYKKwogCQkJCXJkcGRyX3NlbmRf Y2xpZW50X2Fubm91bmNlX3JlcGx5KCk7CiAJCQkJcmRwZHJfc2VuZF9jbGllbnRfbmFtZV9y ZXF1ZXN0KCk7CiAJCQkJYnJlYWs7CkluZGV4OiBzY2FyZC5jCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t IHNjYXJkLmMJKHJldmlzaW9uIDE4NDcpCisrKyBzY2FyZC5jCSh3b3JraW5nIGNvcHkpCkBA IC0xMTU0LDkgKzExNTQsMTAgQEAKIAkJCQlpblJlcG9zKGluLAogCQkJCQlpblN0cmluZygm bGNIYW5kbGUsIGluLCAoY2hhciAqKikgJihjdXItPnN6UmVhZGVyKSwKIAkJCQkJCSBkYXRh TGVuZ3RoLCB3aWRlKSk7Ci0KKyNpZiAhV0lUSF9QTlBfTk9USUZJQ0FUSU9OUwogCQkJCWlm IChzdHJjbXAoY3VyLT5zelJlYWRlciwgIlxcXFw/UG5QP1xcTm90aWZpY2F0aW9uIikgPT0g MCkKIAkJCQkJY3VyLT5kd0N1cnJlbnRTdGF0ZSB8PSBTQ0FSRF9TVEFURV9JR05PUkU7Cisj ZW5kaWYKIAkJCX0KCiAJCQlERUJVR19TQ0FSRCgoIlNDQVJEOiAgICBcIiVzXCJcbiIsIGN1 ci0+c3pSZWFkZXIgPyBjdXItPnN6UmVhZGVyIDogIk5VTEwiKSk7CkBAIC0yNjkwLDMgKzI2 OTEsMTkgQEAKCiAJcXVldWVGaXJzdCA9IHF1ZXVlTGFzdCA9IE5VTEw7CiB9CisKK3ZvaWQg c2NhcmRfcmVsZWFzZV9hbGxfY29udGV4dHMoKSB7CisJX3NjYXJkX2hhbmRsZV9saXN0X3Qg Kml0ZW0sICpuZXh0OworCWl0ZW0gPSBnX3NjYXJkX2hhbmRsZV9saXN0OworCXdoaWxlIChp dGVtKQorCXsKKwkJLyogQ2FuY2VsbGluZyBTY2FyZEdldFN0YXR1c0NoYW5nZSBjYWxscyAq LworCQlTQ2FyZENhbmNlbChpdGVtLT5oYW5kbGUpOworCQkvKiByZWxlYXNpbmcgY29udGV4 dCB0byBlbmQgYWxsIHRyYW5zYWN0aW9ucyBvbiBpdCAqLworCQlTQ2FyZFJlbGVhc2VDb250 ZXh0KGl0ZW0tPmhhbmRsZSk7CisJCW5leHQgPSBpdGVtLT5uZXh0OworCQl4ZnJlZShpdGVt KTsKKwkJaXRlbSA9IG5leHQ7CisJfQorCWdfc2NhcmRfaGFuZGxlX2xpc3QgPSBOVUxMOwor fQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK --------------080002020803000304000105 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------------ --------------080002020803000304000105 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ rdesktop-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/rdesktop-devel --------------080002020803000304000105--