161 |
#ifdef HAVE_ICONV |
#ifdef HAVE_ICONV |
162 |
size_t ibl = strlen(string), obl = len + 2; |
size_t ibl = strlen(string), obl = len + 2; |
163 |
static iconv_t iconv_h = (iconv_t) - 1; |
static iconv_t iconv_h = (iconv_t) - 1; |
164 |
char *pin = string, *pout = (char *)s->p; |
char *pin = string, *pout = (char *) s->p; |
165 |
|
|
166 |
memset(pout, 0, len + 4); |
memset(pout, 0, len + 4); |
167 |
|
|
234 |
{ |
{ |
235 |
#ifdef HAVE_ICONV |
#ifdef HAVE_ICONV |
236 |
size_t ibl = uni_len, obl = uni_len; |
size_t ibl = uni_len, obl = uni_len; |
237 |
char *pin = (char *)s->p, *pout = string; |
char *pin = (char *) s->p, *pout = string; |
238 |
static iconv_t iconv_h = (iconv_t) - 1; |
static iconv_t iconv_h = (iconv_t) - 1; |
239 |
|
|
240 |
if (g_iconv_works) |
if (g_iconv_works) |
297 |
time_t t = time(NULL); |
time_t t = time(NULL); |
298 |
time_t tzone; |
time_t tzone; |
299 |
|
|
|
#if 0 |
|
|
/* enable rdp compression */ |
|
|
/* some problems still exist with rdp5 */ |
|
|
flags |= RDP_COMPRESSION; |
|
|
#endif |
|
|
|
|
300 |
if (!g_use_rdp5 || 1 == g_server_rdp_version) |
if (!g_use_rdp5 || 1 == g_server_rdp_version) |
301 |
{ |
{ |
302 |
DEBUG_RDP5(("Sending RDP4-style Logon packet\n")); |
DEBUG_RDP5(("Sending RDP4-style Logon packet\n")); |
481 |
rdp_send_data(s, RDP_DATA_PDU_INPUT); |
rdp_send_data(s, RDP_DATA_PDU_INPUT); |
482 |
} |
} |
483 |
|
|
484 |
/* Inform the server on the contents of the persistent bitmap cache */ |
/* Send a client window information PDU */ |
485 |
|
void |
486 |
|
rdp_send_client_window_status(int status) |
487 |
|
{ |
488 |
|
STREAM s; |
489 |
|
|
490 |
|
s = rdp_init_data(12); |
491 |
|
|
492 |
|
out_uint32_le(s, status); |
493 |
|
|
494 |
|
switch (status) |
495 |
|
{ |
496 |
|
case 0: /* shut the server up */ |
497 |
|
break; |
498 |
|
|
499 |
|
case 1: /* receive data again */ |
500 |
|
out_uint32_le(s, 0); /* unknown */ |
501 |
|
out_uint16_le(s, g_width); |
502 |
|
out_uint16_le(s, g_height); |
503 |
|
break; |
504 |
|
} |
505 |
|
|
506 |
|
s_mark_end(s); |
507 |
|
rdp_send_data(s, RDP_DATA_PDU_CLIENT_WINDOW_STATUS); |
508 |
|
} |
509 |
|
|
510 |
|
/* Send persistent bitmap cache enumeration PDU's */ |
511 |
static void |
static void |
512 |
rdp_enum_bmpcache2(void) |
rdp_enum_bmpcache2(void) |
513 |
{ |
{ |
684 |
|
|
685 |
out_uint16_le(s, g_bitmap_cache_persist_enable ? 2 : 0); /* version */ |
out_uint16_le(s, g_bitmap_cache_persist_enable ? 2 : 0); /* version */ |
686 |
|
|
687 |
out_uint16_le(s, 0x0300); /* flags? number of caches? */ |
out_uint16_be(s, 3); /* number of caches in this set */ |
688 |
|
|
689 |
|
/* max cell size for cache 0 is 16x16, 1 = 32x32, 2 = 64x64, etc */ |
690 |
out_uint32_le(s, BMPCACHE2_C0_CELLS); |
out_uint32_le(s, BMPCACHE2_C0_CELLS); |
691 |
out_uint32_le(s, BMPCACHE2_C1_CELLS); |
out_uint32_le(s, BMPCACHE2_C1_CELLS); |
692 |
if (pstcache_init(2)) |
if (pstcache_init(2)) |