diff options
author | Jay Sorg <jay.sorg@gmail.com> | 2015-08-18 17:33:13 -0700 |
---|---|---|
committer | Jay Sorg <jay.sorg@gmail.com> | 2015-08-18 17:33:13 -0700 |
commit | d91de3c1cc8d66ab151ad69a3ce780c781ca9018 (patch) | |
tree | 9550473cbc4b5f64d2d26bba9a1e08ce0e9bacbc /sesman/env.c | |
parent | 5c08ece708ebdc0ee570ad0fffcc01cd78bf3c06 (diff) | |
download | xrdp-proprietary-d91de3c1cc8d66ab151ad69a3ce780c781ca9018.tar.gz xrdp-proprietary-d91de3c1cc8d66ab151ad69a3ce780c781ca9018.zip |
sesman: remove rfbDes calls
Diffstat (limited to 'sesman/env.c')
-rw-r--r-- | sesman/env.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/sesman/env.c b/sesman/env.c index 227f6bbf..863ada8f 100644 --- a/sesman/env.c +++ b/sesman/env.c @@ -25,11 +25,9 @@ */ #include "list.h" - #include "sesman.h" - -#include "sys/types.h" #include "grp.h" +#include "ssl_calls.h" extern unsigned char g_fixedkey[8]; /* in sesman.c */ extern struct config_sesman *g_cfg; /* in sesman.c */ @@ -39,14 +37,18 @@ int DEFAULT_CC env_check_password_file(char *filename, char *password) { char encryptedPasswd[16]; + char key[24]; int fd; + void* des; - g_memset(encryptedPasswd, 0, 16); + g_memset(encryptedPasswd, 0, sizeof(encryptedPasswd)); g_strncpy(encryptedPasswd, password, 8); - rfbDesKey(g_fixedkey, 0); - rfbDes((unsigned char *)encryptedPasswd, (unsigned char *)encryptedPasswd); + g_memset(key, 0, sizeof(key)); + g_mirror_memcpy(key, g_fixedkey, 8); + des = ssl_des3_encrypt_info_create(key, 0); + ssl_des3_encrypt(des, 8, encryptedPasswd, encryptedPasswd); + ssl_des3_info_delete(des); fd = g_file_open(filename); - if (fd == -1) { log_message(LOG_LEVEL_WARNING, @@ -54,7 +56,6 @@ env_check_password_file(char *filename, char *password) filename); return 1; } - g_file_write(fd, encryptedPasswd, 8); g_file_close(fd); return 0; |