diff -aburN xrdp-0.3.2-orig/common/lang.h xrdp-0.3.2-fr-feisty/common/lang.h --- xrdp-0.3.2-orig/common/lang.h 1970-01-01 01:00:00.000000000 +0100 +++ xrdp-0.3.2-fr-feisty/common/lang.h 2007-05-24 22:17:23.000000000 +0200 @@ -0,0 +1,76 @@ +/** + * French keymap for xrdp + * http://en.wikipedia.org/wiki/Image:KeyboardLayout-French.png + * based on german keymap from trixieben : + * http://sourceforge.net/tracker/index.php?func=detail&aid=1549355&group_id=112022&atid=665248 + * + * Note: I had to replace : + * if (!(param2 == 0x0100) && (param1 == 0x0038)) { + * by + * if ((param2 != 0xFFFF) && (param1 == 0x0038)) { + * in vnc.c (around line 148) to make the _ work + * + * Remember that the left Alt is used instead of AltGr + * Some non US characters are not displayed éèç... + * it seems to work only for ASCII char :( + * + * 2007/05/24 + * by JJL + * http://kubuntu.free.fr + */ + +const int sizeof_lang_default = 94; + +/* a lot of not usefull char are in this array, but can be needed for other keymaps */ +static int lang_default[2][94] = { + /** US Keyboard - no modifier **/ + /* ` 1 2 3 4 5 6 7 8 9 0 - = */ + {0x60,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x2D,0x3D, + /* q w e r t y u i o p [ ] */ + 0x71,0x77,0x65,0x72,0x74,0x79,0x75,0x69,0x6F,0x70,0x5B,0x5D, + /* a s d f g h j k l ; ' \ */ + 0x61,0x73,0x64,0x66,0x67,0x68,0x6A,0x6B,0x6C,0x3B,0x27,0x5C, + /* z x c v b n m , . / */ + 0x7A,0x78,0x63,0x76,0x62,0x6E,0x6D,0x2C,0x2E,0x2F, + /** US Keyboard - Shift **/ + /* ~ ! @ # $ % ^ & * ( ) _ + */ + 0x7E,0x21,0x40,0x23,0x24,0x25,0x5E,0x26,0x2A,0x28,0x29,0x5F,0x2B, + /* Q W E R T Y U I O P { } */ + 0x51,0x57,0x45,0x52,0x54,0x59,0x55,0x49,0x4F,0x50,0x7B,0x7D, + /* A S D F G H J K L : " | */ + 0x41,0x53,0x44,0x46,0x47,0x48,0x4A,0x4B,0x4C,0x3A,0x22,0x7C, + /* Z X C V B N M < > ? */ + 0x5A,0x58,0x43,0x56,0x42,0x4E,0x4D,0x3C,0x3E,0x3F }, + /** French keyboard - no modifier **/ + /* ² & é " ' ( - è _ ç à ) = */ + {0xB2,0x26,0xE9,0x22,0x27,0x28,0x2D,0xE8,0x5F,0xE7,0xE0,0x29,0x3D, + /* a z e r t y u i o p ^ $ */ + 0x61,0x7A,0x65,0x72,0x74,0x79,0x75,0x69,0x6F,0x70,0x5E,0x24, + /* q s d f g h j k l m ù * */ + 0x71,0x73,0x64,0x66,0x67,0x68,0x6A,0x6B,0x6C,0x6D,0xF9,0x2A, + /* < w x c v b n , ; : ! */ + 0x77,0x78,0x63,0x76,0x62,0x6E,0x2C,0x3B,0x3A,0x21, + /** French Keyboard - Shift **/ + /* ~ 1 2 3 4 5 6 7 8 9 0 ° + */ + 0x7E,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0xB0,0x2B, + /* A Z E R T Y U I O P " £ */ + 0x41,0x5A,0x45,0x52,0x54,0x59,0x55,0x49,0x4F,0x50,0x22,0xA3, + /* Q S D F G H J K L M % µ */ + 0x51,0x53,0x44,0x46,0x47,0x48,0x4A,0x4B,0x4C,0x4D,0x25,0xB5, + /* > W X C V B N ? . / § */ + 0x57,0x58,0x43,0x56,0x42,0x4E,0x3F,0x2E,0x2F,0xA7 } + }; + +/* changed only altgr for numerics on top of the keyboard. the others are still german ones */ +static char altgr_chars[] = + /* 1 2 3 4 5 6 7 8 9 0 ) = */ + {'\0', '¬', '¹', '~', '#', '{', '[', '|', '`', '\\', '^', '@', ']', '}', '\0', '\0', + '@', 'Å', '¢', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '~', '\0', '\0', 'Â', '\0', + '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '~', '\0', '\0', '\0', '\0', '\0', '\0', + '\0', '\0', 'µ', '«', '»', '\0', '\0', '*', '\0', ' ', '\0', '\0', '\0', '\0', '\0', '\0', + '\0', '\0', '\0', '\0', '\0', '\0', '\0', '7', '8', '9', '-', '4', '5', '6', '+', '1', + '2', '3', '0', '.', '\0', '\0', '|', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', + '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', + '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0'}; + + diff -aburN xrdp-0.3.2-orig/docs/Makefile xrdp-0.3.2-fr-feisty/docs/Makefile --- xrdp-0.3.2-orig/docs/Makefile 2006-03-04 02:02:02.000000000 +0100 +++ xrdp-0.3.2-fr-feisty/docs/Makefile 2007-06-04 15:13:11.000000000 +0200 @@ -1,9 +1,9 @@ -DESTDIR = /usr/local/xrdp -CFGDIR = /etc/xrdp -PIDDIR = /var/run -MANDIR = /usr/local/man -DOCDIR = /usr/doc/xrdp +DESTDIR = /opt/xrdp/bin +CFGDIR = /opt/xrdp/etc +PIDDIR = /opt/xrdp/ +MANDIR = /opt/xrdp/man +DOCDIR = /opt/xrdp/doc all: world diff -aburN xrdp-0.3.2-orig/libxrdp/Makefile xrdp-0.3.2-fr-feisty/libxrdp/Makefile --- xrdp-0.3.2-orig/libxrdp/Makefile 2006-03-13 01:58:12.000000000 +0100 +++ xrdp-0.3.2-fr-feisty/libxrdp/Makefile 2007-06-04 15:13:11.000000000 +0200 @@ -4,11 +4,11 @@ xrdp_bitmap_compress.o \ os_calls.o ssl_calls.o file.o -DESTDIR = /usr/local/xrdp -CFGDIR = /etc/xrdp -PIDDIR = /var/run -MANDIR = /usr/local/man -DOCDIR = /usr/doc/xrdp +DESTDIR = /opt/xrdp/bin +CFGDIR = /opt/xrdp/etc +PIDDIR = /opt/xrdp/ +MANDIR = /opt/xrdp/man +DOCDIR = /opt/xrdp/doc DEFINES = -DXRDP_CFG_FILE=\"$(CFGDIR)/xrdp.ini\" \ -DXRDP_KEY_FILE=\"$(CFGDIR)/rsakeys.ini\" diff -aburN xrdp-0.3.2-orig/Makefile xrdp-0.3.2-fr-feisty/Makefile --- xrdp-0.3.2-orig/Makefile 2006-03-04 02:02:01.000000000 +0100 +++ xrdp-0.3.2-fr-feisty/Makefile 2007-06-04 15:13:11.000000000 +0200 @@ -1,9 +1,9 @@ -DESTDIR = /usr/local/xrdp -CFGDIR = /etc/xrdp -PIDDIR = /var/run -MANDIR = /usr/local/man -DOCDIR = /usr/doc/xrdp +DESTDIR = /opt/xrdp/bin +CFGDIR = /opt/xrdp/etc +PIDDIR = /opt/xrdp/ +MANDIR = /opt/xrdp/man +DOCDIR = /opt/xrdp/doc all: world @@ -66,4 +66,4 @@ make -C xup installdeb DESTDIRDEB=$(DESTDIRDEB) make -C docs installdeb DESTDIRDEB=$(DESTDIRDEB) install instfiles/pam.d/sesman $(DESTDIRDEB)/etc/pam.d/sesman - install instfiles/xrdp_control1.sh $(DESTDIRDEB)/etc/init.d/xrdp_control.sh + install instfiles/xrdp_control.sh $(DESTDIRDEB)/etc/init.d/xrdp_control.sh diff -aburN xrdp-0.3.2-orig/rdp/Makefile xrdp-0.3.2-fr-feisty/rdp/Makefile --- xrdp-0.3.2-orig/rdp/Makefile 2006-03-04 02:02:04.000000000 +0100 +++ xrdp-0.3.2-fr-feisty/rdp/Makefile 2007-06-04 15:13:11.000000000 +0200 @@ -2,11 +2,11 @@ RDPOBJ = ssl_calls.o os_calls.o rdp.o rdp_tcp.o rdp_iso.o rdp_mcs.o rdp_sec.o \ rdp_orders.o rdp_bitmap.o rdp_rdp.o rdp_lic.o -DESTDIR = /usr/local/xrdp -CFGDIR = /etc/xrdp -PIDDIR = /var/run -MANDIR = /usr/local/man -DOCDIR = /usr/doc/xrdp +DESTDIR = /opt/xrdp/bin +CFGDIR = /opt/xrdp/etc +PIDDIR = /opt/xrdp/ +MANDIR = /opt/xrdp/man +DOCDIR = /opt/xrdp/doc DEFINES = diff -aburN xrdp-0.3.2-orig/sesman/Makefile xrdp-0.3.2-fr-feisty/sesman/Makefile --- xrdp-0.3.2-orig/sesman/Makefile 2006-05-26 15:10:14.000000000 +0200 +++ xrdp-0.3.2-fr-feisty/sesman/Makefile 2007-06-04 15:13:11.000000000 +0200 @@ -6,11 +6,11 @@ SESRUNOBJ = sesrun.o config.o tcp.o \ os_calls.o d3des.o list.o file.o log.o -DESTDIR = /usr/local/xrdp -CFGDIR = /etc/xrdp -PIDDIR = /var/run -MANDIR = /usr/local/man -DOCDIR = /usr/doc/xrdp +DESTDIR = /opt/xrdp/bin +CFGDIR = /opt/xrdp/etc +PIDDIR = /opt/xrdp/ +MANDIR = /opt/xrdp/man +DOCDIR = /opt/xrdp/doc DEFINES = -DSESMAN_CFG_FILE=\"$(CFGDIR)/sesman.ini\" \ -DSESMAN_PID_FILE=\"$(PIDDIR)/sesman.pid\" diff -aburN xrdp-0.3.2-orig/sesman/session.c xrdp-0.3.2-fr-feisty/sesman/session.c --- xrdp-0.3.2-orig/sesman/session.c 2006-05-25 22:34:32.000000000 +0200 +++ xrdp-0.3.2-fr-feisty/sesman/session.c 2007-05-22 00:41:12.000000000 +0200 @@ -241,8 +241,12 @@ env_check_password_file(passwd_file, password); if (type == SESMAN_SESSION_TYPE_XVNC) { - g_execlp11("Xvnc", "Xvnc", screen, "-geometry", geometry, - "-depth", depth, "-bs", "-rfbauth", passwd_file, 0); + /* g_execlp11("Xvnc", "Xvnc", screen, "-geometry", geometry, + "-depth", depth, "-bs", "-rfbauth", passwd_file, 0); */ + /* modif for bug in feisty */ + /* https://bugs.launchpad.net/ubuntu/+source/vnc4/+bug/78282 */ + execlp("Xvnc", "Xvnc", screen, "-geometry", geometry, + "-depth", "16", "-bs", "-rfbauth", passwd_file, "-extension", "XFIXES","-fp", "/usr/share/fonts/X11/misc",(void*)0); } else if (type == SESMAN_SESSION_TYPE_XRDP) { diff -aburN xrdp-0.3.2-orig/sesman/verify_user_pam.c xrdp-0.3.2-fr-feisty/sesman/verify_user_pam.c --- xrdp-0.3.2-orig/sesman/verify_user_pam.c 2006-05-31 19:47:43.000000000 +0200 +++ xrdp-0.3.2-fr-feisty/sesman/verify_user_pam.c 2007-05-20 23:36:07.000000000 +0200 @@ -120,8 +120,8 @@ error = pam_authenticate(auth_info->ph, 0); if (error != PAM_SUCCESS) { - g_printf("pam_authenticate failed: %s\r\n", - pam_strerror(auth_info->ph, error)); + g_printf("pam_authenticate failed: %s (%s,%s)\r\n", + pam_strerror(auth_info->ph, error),user,pass); g_free(auth_info); return 0; } diff -aburN xrdp-0.3.2-orig/vnc/Makefile xrdp-0.3.2-fr-feisty/vnc/Makefile --- xrdp-0.3.2-orig/vnc/Makefile 2006-03-04 02:02:06.000000000 +0100 +++ xrdp-0.3.2-fr-feisty/vnc/Makefile 2007-06-04 15:13:11.000000000 +0200 @@ -1,11 +1,11 @@ # libvnc makefile VNCOBJ = vnc.o os_calls.o d3des.o -DESTDIR = /usr/local/xrdp -CFGDIR = /etc/xrdp -PIDDIR = /var/run -MANDIR = /usr/local/man -DOCDIR = /usr/doc/xrdp +DESTDIR = /opt/xrdp/bin +CFGDIR = /opt/xrdp/etc +PIDDIR = /opt/xrdp/ +MANDIR = /opt/xrdp/man +DOCDIR = /opt/xrdp/doc DEFINES = diff -aburN xrdp-0.3.2-orig/vnc/vnc.c xrdp-0.3.2-fr-feisty/vnc/vnc.c --- xrdp-0.3.2-orig/vnc/vnc.c 2006-05-03 01:36:01.000000000 +0200 +++ xrdp-0.3.2-fr-feisty/vnc/vnc.c 2007-05-24 22:02:37.000000000 +0200 @@ -123,6 +123,7 @@ return 0; } + /******************************************************************************/ int DEFAULT_CC lib_mod_event(struct vnc* v, int msg, long param1, long param2, @@ -131,6 +132,7 @@ struct stream* s; int key; int error; + int i; int x; int y; int cx; @@ -142,9 +144,25 @@ if (msg >= 15 && msg <= 16) /* key events */ { key = 0; + // if (!(param2 == 0x0100) && (param1 == 0x0038)) { + if ((param2 != 0xFFFF) && (param1 == 0x0038)) { + if (msg == 15) { + v->altgr_state = 1; + } else { + v->altgr_state = 0; + } + // printf ("ALTGR 0x%X,0x%X\n",param1,param2); + } if (param2 == 0xffff) /* ascii char */ { key = param1; + if (!v->altgr_state) { + for(i = 0; i < sizeof_lang_default; i++) + if (lang_default[0][i] == param1) + key = lang_default[1][i]; + //printf ("ASCII KEY RECEIVED : 0x%X (0x%X) --> %c\n",param1,param2,key); + } + } else /* non ascii key event */ { @@ -162,8 +180,8 @@ /* the server will know */ /* for now, sending left tab, I don't know which is best */ /* nope, sending tab always */ - /* key = (v->shift_state) ? 0xfe20 : 0xff09; */ - key = 0xff09; + key = (v->shift_state) ? 0xfe20 : 0xff09; + /* key = 0xff09; */ break; case 0x001c: /* enter */ key = 0xff0d; @@ -179,8 +197,11 @@ key = 0xffe2; v->shift_state = (msg == 15); break; - case 0x0038: /* left-right alt */ + /* case 0x0038: left-right alt key = (param2 & 0x0100) ? 0xffea : 0xffe9; + break; */ + case 0x0056: /* < > */ + key = (v->shift_state) ? 0x003e : 0x003c; break; case 0x003b: /* F1 */ key = 0xffbe; @@ -832,7 +853,7 @@ else { in_uint8s(s, 2); - v->server_msg(v, "error - sesman returned no", 0); + v->server_msg(v, "Error - Fehlerhafte Auth. beim Session-Manager", 0); } } } @@ -840,16 +861,16 @@ } else { - v->server_msg(v, "error - connecting to sesman", 0); + v->server_msg(v, "Error - Keine Verbindung zum Session-Manager", 0); } g_tcp_close(v->sck); if (error != 0 || display == 0) { - v->server_msg(v, "error - connection failed", 0); + v->server_msg(v, "Error - Fehler bei der Verbindung!", 0); free_stream(s); return 1; } - v->server_msg(v, "sesman started a session", 0); + v->server_msg(v, "Die Sitzung wird gestartet.. OK!", 0); g_sprintf(con_port, "%d", 5900 + display); v->vnc_desktop = display; } @@ -916,12 +937,12 @@ in_uint32_be(s, i); if (i != 0) { - v->server_msg(v, "password failed", 0); + v->server_msg(v, "Falsches Kennwort", 0); error = 2; } else { - v->server_msg(v, "password ok", 0); + v->server_msg(v, "Kennwort OK", 0); } } } diff -aburN xrdp-0.3.2-orig/vnc/vnc.h xrdp-0.3.2-fr-feisty/vnc/vnc.h --- xrdp-0.3.2-orig/vnc/vnc.h 2006-02-04 19:23:36.000000000 +0100 +++ xrdp-0.3.2-fr-feisty/vnc/vnc.h 2006-09-19 16:09:52.000000000 +0200 @@ -25,6 +25,7 @@ #include "parse.h" #include "os_calls.h" #include "d3des.h" +#include "lang.h" struct vnc { @@ -92,4 +93,5 @@ char port[256]; int sck_closed; int shift_state; /* 0 up, 1 down */ + int altgr_state; /* 0 up, 1 down */ }; diff -aburN xrdp-0.3.2-orig/xrdp/funcs.c xrdp-0.3.2-fr-feisty/xrdp/funcs.c --- xrdp-0.3.2-orig/xrdp/funcs.c 2006-02-03 04:21:24.000000000 +0100 +++ xrdp-0.3.2-fr-feisty/xrdp/funcs.c 2006-09-19 16:10:32.000000000 +0200 @@ -21,6 +21,7 @@ */ #include "xrdp.h" +#include "lang.h" /*****************************************************************************/ /* returns boolean */ @@ -143,102 +144,6 @@ return 1; } -/*****************************************************************************/ -/* scan codes - 1 0x01 esc - 2 0x02 1 or ! - 3 0x03 2 or @ - 4 0x04 3 or # - 5 0x05 4 or $ - 6 0x06 5 or % - 7 0x07 6 or ^ - 8 0x08 7 or & - 9 0x09 8 or * - 10 0x0a 9 or ( - 11 0x0b 0 or ) - 12 0x0c - or _ - 13 0x0d = or + - 14 0x0e backspace - 15 0x0f tab - 16 0x10 q or Q - 17 0x11 w or W - 18 0x12 e or E - 19 0x13 r or R - 20 0x14 t or T - 21 0x15 y or Y - 22 0x16 u or U - 23 0x17 i or I - 24 0x18 o or O - 25 0x19 p or P - 26 0x1a [ or { - 27 0x1b ] or } - 28 0x1c enter, keypad is ext - 29 0x1d left or right ctrl, ext flag is right - 30 0x1e a or A - 31 0x1f s or S - 32 0x20 d or D - 33 0x21 f or F - 34 0x22 g or G - 35 0x23 h or H - 36 0x24 j or J - 37 0x25 k or K - 38 0x26 l or L - 39 0x27 ; or : - 40 0x28 ' or " - 41 0x29 ` or ~ - 42 0x2a left shift - 43 0x2b \ - 44 0x2c z or Z - 45 0x2d x or X - 46 0x2e c or C - 47 0x2f v or V - 48 0x30 b or B - 49 0x31 n or N - 50 0x32 m or M - 51 0x33 , or < - 52 0x34 . or > - 53 0x35 / can be / on keypad, ext flag is keypad - 54 0x36 right shift - 55 0x37 * on keypad or print screen if ext - 56 0x38 left or right alt, ext flag is right - 57 0x39 space - 58 0x3a caps lock - 59 0x3b F1 - 60 0x3c F2 - 61 0x3d F3 - 62 0x3e F4 - 63 0x3f F5 - 64 0x40 F6 - 65 0x41 F7 - 66 0x42 F8 - 67 0x43 F9 - 68 0x44 F10 - 69 0x45 num lock - 70 0x46 scroll lock - 71 0x47 7 or home on keypad, ext flag is not keypad - 72 0x48 8 or arrow up on keypad, ext flag is not keypad - 73 0x49 9 or page up - 74 0x4a -(minus) on keypad - 75 0x4b 4 or arrow left on keypad, ext flag is not keypad - 76 0x4c middle(5 key) of keypad - 77 0x4d 6 or arrow right, can be on keypad, ext flag in not keypad - 78 0x4e + on keypad - 79 0x4f 1 or end - 80 0x50 2 or arrow down, can be on keypad, ext flag in not keypad - 81 0x51 3 or page down - 82 0x52 0 or insert on keypad, ext flag is not keypad - 83 0x53 . or delete on keypad, ext flag is not keypad - 84 0x54 - 85 0x55 - 86 0x56 - 87 0x57 F11 - 88 0x58 F12 - 89 0x59 - 90 0x5a - 91 0x5b left win key ext always on - 92 0x5c right win key ext always on - 93 0x5d menu key ext always on -*/ /* non shift chars */ static char chars1[] = @@ -258,6 +163,7 @@ '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0'}; + /* shift chars */ static char chars2[] = {'\0', '\0', '!', '@', '#', '$', '%', '^', @@ -277,6 +183,7 @@ '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0'}; + /*****************************************************************************/ char APP_CC get_char_from_scan_code(int device_flags, int scan_code, int* keys, @@ -284,9 +191,11 @@ { char rv; int shift; + int altgr; int ext; shift = keys[42] || keys[54]; + altgr = keys[56]; ext = device_flags & 0x0100; rv = 0; if (scan_code >= 128) @@ -327,8 +236,15 @@ } else { + if (altgr) + { + rv = altgr_chars[scan_code]; + } + else + { rv = chars1[scan_code]; } + } if (rv >= 'a' && rv <= 'z' && caps_lock) { rv = rv - ('a' - 'A'); diff -aburN xrdp-0.3.2-orig/xrdp/Makefile xrdp-0.3.2-fr-feisty/xrdp/Makefile --- xrdp-0.3.2-orig/xrdp/Makefile 2006-03-04 02:02:08.000000000 +0100 +++ xrdp-0.3.2-fr-feisty/xrdp/Makefile 2007-06-04 15:13:11.000000000 +0200 @@ -5,11 +5,12 @@ xrdp_login_wnd.o xrdp_interface.o \ list.o file.o os_calls.o thread_calls.o -DESTDIR = /usr/local/xrdp -CFGDIR = /etc/xrdp -PIDDIR = /var/run -MANDIR = /usr/local/man -DOCDIR = /usr/doc/xrdp +DESTDIR = /opt/xrdp/bin +#CFGDIR = /home/jjl/data/Ncd/ThinSTAR_400/xrdp/install +CFGDIR = /opt/xrdp/etc +PIDDIR = /opt/xrdp/ +MANDIR = /opt/xrdp/man +DOCDIR = /opt/xrdp/doc DEFINES = -DXRDP_CFG_FILE=\"$(CFGDIR)/xrdp.ini\" \ -DXRDP_PID_FILE=\"$(PIDDIR)/xrdp.pid\" diff -aburN xrdp-0.3.2-orig/xup/Makefile xrdp-0.3.2-fr-feisty/xup/Makefile --- xrdp-0.3.2-orig/xup/Makefile 2006-03-04 02:02:09.000000000 +0100 +++ xrdp-0.3.2-fr-feisty/xup/Makefile 2007-06-04 15:13:11.000000000 +0200 @@ -1,11 +1,11 @@ # libxup makefile XUPOBJ = os_calls.o xup.o -DESTDIR = /usr/local/xrdp -CFGDIR = /etc/xrdp -PIDDIR = /var/run -MANDIR = /usr/local/man -DOCDIR = /usr/doc/xrdp +DESTDIR = /opt/xrdp/bin +CFGDIR = /opt/xrdp/etc +PIDDIR = /opt/xrdp/ +MANDIR = /opt/xrdp/man +DOCDIR = /opt/xrdp/doc DEFINES =