summaryrefslogtreecommitdiffstats
path: root/sesman/chansrv/smartcard.c
diff options
context:
space:
mode:
authorLaxmikant Rashinkar <LK.Rashinkar@gmail.com>2013-09-25 18:54:16 -0700
committerLaxmikant Rashinkar <LK.Rashinkar@gmail.com>2013-09-25 18:54:16 -0700
commit5e005bf26ce965350cac7f942678031d5482d867 (patch)
tree705b0caeda414ad90ecda9f1d0de00251036b939 /sesman/chansrv/smartcard.c
parent52fb1f9854eec37d57f9a7a91dfce48ae9774dd5 (diff)
parent1afb67850157392e2d8c35857388d515ddcdf0b4 (diff)
downloadxrdp-proprietary-5e005bf26ce965350cac7f942678031d5482d867.tar.gz
xrdp-proprietary-5e005bf26ce965350cac7f942678031d5482d867.zip
Merge branch 'master' of github.com:neutrinolabs/xrdp
Diffstat (limited to 'sesman/chansrv/smartcard.c')
-rw-r--r--sesman/chansrv/smartcard.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sesman/chansrv/smartcard.c b/sesman/chansrv/smartcard.c
index d5ebea2c..9d55807d 100644
--- a/sesman/chansrv/smartcard.c
+++ b/sesman/chansrv/smartcard.c
@@ -1307,6 +1307,8 @@ scard_send_Connect(IRP* irp, tui32 context, int wide, READER_STATE* rs)
/* insert reader name */
num_chars = g_mbstowcs(w_reader_name, rs->reader_name, 99);
+ xstream_wr_u32_le(s, 0);
+ xstream_wr_u32_le(s, 0);
xstream_wr_u32_le(s, num_chars);
if (wide)
{
@@ -1322,6 +1324,7 @@ scard_send_Connect(IRP* irp, tui32 context, int wide, READER_STATE* rs)
xstream_wr_u8(s, w_reader_name[index]);
}
}
+ align_s(s, 4);
/* insert context */
xstream_wr_u32_le(s, 4);
@@ -2058,6 +2061,7 @@ scard_handle_Connect_Return(struct stream *s, IRP *irp,
tui32 IoStatus)
{
tui32 len;
+ struct trans *con;
log_debug("entered");
@@ -2077,7 +2081,9 @@ scard_handle_Connect_Return(struct stream *s, IRP *irp,
/* get OutputBufferLen */
xstream_rd_u32_le(s, len);
-
+ con = (struct trans *) (irp->user_data);
+ scard_function_connect_return(con, s, len);
+ devredir_irp_delete(irp);
log_debug("leaving");
}