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 | |
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
-rw-r--r-- | drv_vnc.c | 17 | ||||
-rw-r--r-- | lcd4linux.conf.sample | 1 |
2 files changed, 17 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(); diff --git a/lcd4linux.conf.sample b/lcd4linux.conf.sample index 020085b..9c0ed4d 100644 --- a/lcd4linux.conf.sample +++ b/lcd4linux.conf.sample @@ -518,6 +518,7 @@ Display VNC { Keypadygap '10' Keypadcol '8745877' Osd_showtime '2000' +# Password 'password' } #Plugin KVV { |