diff options
author | michux <michux@3ae390bd-cb1e-0410-b409-cd5a39f66f1f> | 2009-03-30 18:44:28 +0000 |
---|---|---|
committer | michux <michux@3ae390bd-cb1e-0410-b409-cd5a39f66f1f> | 2009-03-30 18:44:28 +0000 |
commit | a4601a3a9382a083f232e7b74213e0e836643297 (patch) | |
tree | 74e6dfc148e7ae54900ac7a99c3efff12748ef6f /drv_vnc.c | |
parent | 6200a30774d6024ff1f1cd9a653b6818484df8e2 (diff) | |
download | lcd4linux-a4601a3a9382a083f232e7b74213e0e836643297.tar.gz |
add UNSECURE password option to drv_vnc - SSH would be the better choice.
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@1016 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
Diffstat (limited to '')
-rw-r--r-- | drv_vnc.c | 17 |
1 files changed, 16 insertions, 1 deletions
@@ -92,6 +92,7 @@ static int mouse_x = 0; static int mouse_y = 0; static int mouse_stat_old = 0; static int process_event = 0; +static char *password; /* draws a simple rect, used to display keypad */ int draw_rect(int x, int y, int size, unsigned char col, char *buffer) @@ -278,10 +279,13 @@ static int drv_vnc_open(const char *Section) frameg = (keypadcol & 0xff00) >> 8; frameb = (keypadcol & 0xff0000) >> 16; } - if (cfg_number(Section, "Port", 5900, 1, 65535, &port) < 1) { info("[DRV_VNC] no '%s.Port' entry from %s using default %d", Section, cfg_source(), port); } + password = cfg_get(Section, "Password", NULL); + if (password != NULL) { + info("[DRV_VNC] password enabled"); + } return 0; } @@ -378,6 +382,14 @@ static int drv_vnc_start(const char *section) server->ptrAddEvent = hook_mouseaction; server->newClientHook = hook_newclient; + if (password != NULL) { + char **passwds = malloc(sizeof(char **) * 2); + passwds[0] = password; + passwds[1] = 0; + server->authPasswdData = (void *) passwds; + server->passwordCheck = rfbCheckPasswordByList; + } + /* Initialize the server */ rfbInitServer(server); @@ -461,6 +473,9 @@ int drv_vnc_quit(const int quiet) drv_generic_graphic_quit(); drv_generic_keypad_quit(); + if (password != NULL) { + free(password); + } debug("closing connection"); drv_vnc_close(); |