use new config file functions

ulab-original
jsorg71 17 years ago
parent 30492c0988
commit 792caad39a

@ -57,54 +57,50 @@ static tui8 g_unknown2[8] =
static int APP_CC static int APP_CC
xrdp_rdp_read_config(struct xrdp_client_info* client_info) xrdp_rdp_read_config(struct xrdp_client_info* client_info)
{ {
int fd;
int index; int index;
struct list* items; struct list* items;
struct list* values; struct list* values;
char* item; char* item;
char* value; char* value;
fd = g_file_open(XRDP_CFG_FILE); /* xrdp.ini */
if (fd > 0)
{
items = list_create(); items = list_create();
items->auto_free = 1; items->auto_free = 1;
values = list_create(); values = list_create();
values->auto_free = 1; values->auto_free = 1;
file_read_section(fd, "globals", items, values); file_by_name_read_section(XRDP_CFG_FILE, "globals", items, values);
for (index = 0; index < items->count; index++) for (index = 0; index < items->count; index++)
{ {
item = (char*)list_get_item(items, index); item = (char*)list_get_item(items, index);
value = (char*)list_get_item(values, index); value = (char*)list_get_item(values, index);
if (g_strncasecmp(item, "bitmap_cache", 255) == 0) if (g_strcasecmp(item, "bitmap_cache") == 0)
{ {
if (g_strncasecmp(value, "yes", 255) == 0 || if ((g_strcasecmp(value, "yes") == 0) ||
g_strncasecmp(value, "true", 255) == 0 || (g_strcasecmp(value, "true") == 0) ||
g_strncasecmp(value, "1", 255) == 0) (g_strcasecmp(value, "1") == 0))
{ {
client_info->use_bitmap_cache = 1; client_info->use_bitmap_cache = 1;
} }
} }
else if (g_strncasecmp(item, "bitmap_compression", 255) == 0) else if (g_strcasecmp(item, "bitmap_compression") == 0)
{ {
if (g_strncasecmp(value, "yes", 255) == 0 || if (g_strcasecmp(value, "yes") == 0 ||
g_strncasecmp(value, "true", 255) == 0 || g_strcasecmp(value, "true") == 0 ||
g_strncasecmp(value, "1", 255) == 0) g_strcasecmp(value, "1") == 0)
{ {
client_info->use_bitmap_comp = 1; client_info->use_bitmap_comp = 1;
} }
} }
else if (g_strncasecmp(item, "crypt_level", 255) == 0) else if (g_strcasecmp(item, "crypt_level") == 0)
{ {
if (g_strncasecmp(value, "low", 255) == 0) if (g_strcasecmp(value, "low") == 0)
{ {
client_info->crypt_level = 1; client_info->crypt_level = 1;
} }
else if (g_strncasecmp(value, "medium", 255) == 0) else if (g_strcasecmp(value, "medium") == 0)
{ {
client_info->crypt_level = 2; client_info->crypt_level = 2;
} }
else if (g_strncasecmp(value, "high", 255) == 0) else if (g_strcasecmp(value, "high") == 0)
{ {
client_info->crypt_level = 3; client_info->crypt_level = 3;
} }
@ -119,8 +115,6 @@ xrdp_rdp_read_config(struct xrdp_client_info* client_info)
} }
list_delete(items); list_delete(items);
list_delete(values); list_delete(values);
g_file_close(fd);
}
return 0; return 0;
} }

@ -130,7 +130,6 @@ xrdp_sec_create(struct xrdp_rdp* owner, int sck, int crypt_level,
struct xrdp_sec* self; struct xrdp_sec* self;
struct list* items; struct list* items;
struct list* values; struct list* values;
int fd;
int index; int index;
char* item; char* item;
char* value; char* value;
@ -161,39 +160,34 @@ xrdp_sec_create(struct xrdp_rdp* owner, int sck, int crypt_level,
g_random(self->server_random, 32); g_random(self->server_random, 32);
self->mcs_layer = xrdp_mcs_create(self, sck, &self->client_mcs_data, self->mcs_layer = xrdp_mcs_create(self, sck, &self->client_mcs_data,
&self->server_mcs_data); &self->server_mcs_data);
fd = g_file_open(XRDP_KEY_FILE); /* rsakeys.ini */
if (fd > 0)
{
items = list_create(); items = list_create();
items->auto_free = 1; items->auto_free = 1;
values = list_create(); values = list_create();
values->auto_free = 1; values->auto_free = 1;
file_read_section(fd, "keys", items, values); file_by_name_read_section(XRDP_KEY_FILE, "keys", items, values);
for (index = 0; index < items->count; index++) for (index = 0; index < items->count; index++)
{ {
item = (char*)list_get_item(items, index); item = (char*)list_get_item(items, index);
value = (char*)list_get_item(values, index); value = (char*)list_get_item(values, index);
if (g_strncasecmp(item, "pub_exp", 255) == 0) if (g_strcasecmp(item, "pub_exp") == 0)
{ {
hex_str_to_bin(value, self->pub_exp, 4); hex_str_to_bin(value, self->pub_exp, 4);
} }
else if (g_strncasecmp(item, "pub_mod", 255) == 0) else if (g_strcasecmp(item, "pub_mod") == 0)
{ {
hex_str_to_bin(value, self->pub_mod, 64); hex_str_to_bin(value, self->pub_mod, 64);
} }
else if (g_strncasecmp(item, "pub_sig", 255) == 0) else if (g_strcasecmp(item, "pub_sig") == 0)
{ {
hex_str_to_bin(value, self->pub_sig, 64); hex_str_to_bin(value, self->pub_sig, 64);
} }
else if (g_strncasecmp(item, "pri_exp", 255) == 0) else if (g_strcasecmp(item, "pri_exp") == 0)
{ {
hex_str_to_bin(value, self->pri_exp, 64); hex_str_to_bin(value, self->pri_exp, 64);
} }
} }
list_delete(items); list_delete(items);
list_delete(values); list_delete(values);
g_file_close(fd);
}
self->chan_layer = xrdp_channel_create(self, self->mcs_layer); self->chan_layer = xrdp_channel_create(self, self->mcs_layer);
DEBUG((" out xrdp_sec_create")); DEBUG((" out xrdp_sec_create"));
return self; return self;

Loading…
Cancel
Save