356459f9 | 2019-03-04 11:22:24 | Guan-Zhong Huang |
Fix incorrect usage of log_message() |
||
M sesman/verify_user.c |
||
sesman/verify_user.cdiff --git a/sesman/verify_user.c b/sesman/verify_user.c index 5bd89c7..81ddc0a 100644 --- a/sesman/verify_user.c +++ b/sesman/verify_user.c @@ -76,7 +76,7 @@ if (1 == auth_account_disabled(stp)) { - log_message(&(g_cfg->log), LOG_LEVEL_INFO, "account %s is disabled", user); + log_message(LOG_LEVEL_INFO, "account %s is disabled", user); return 0; } |
||
b7bc311a | 2019-03-04 11:22:24 | Guan-Zhong Huang |
Fix compilation error without PAM |
||
M configure.ac M xrdp/Makefile.am M xrdp/xrdp_mm.c |
||
configure.acdiff --git a/configure.ac b/configure.ac index 6dd4052..d431513 100644 --- a/configure.ac +++ b/configure.ac @@ -69,6 +69,11 @@ fi fi +if test "x$enable_nopam" = "xyes" +then + AC_DEFINE([USE_NOPAM],1,[Disable PAM]) +fi + AS_IF( [test "x$enable_freerdp1" = "xyes"] , [PKG_CHECK_MODULES(FREERDP, freerdp >= 1.0.0)] ) # checking for libjpeg xrdp/Makefile.amdiff --git a/xrdp/Makefile.am b/xrdp/Makefile.am index b755bbe..25ab3ee 100644 --- a/xrdp/Makefile.am +++ b/xrdp/Makefile.am @@ -14,6 +14,7 @@ $(EXTRA_DEFINES) INCLUDES = \ + -I$(top_builddir) \ -I$(top_srcdir)/common \ -I$(top_srcdir)/libxrdp xrdp/xrdp_mm.cdiff --git a/xrdp/xrdp_mm.c b/xrdp/xrdp_mm.c index 1f5acaa..008f191 100644 --- a/xrdp/xrdp_mm.c +++ b/xrdp/xrdp_mm.c @@ -17,11 +17,14 @@ * * module manager */ +#include <config_ac.h> #define ACCESS #include "xrdp.h" #include "log.h" #ifdef ACCESS +#ifndef USE_NOPAM #include "security/_pam_types.h" +#endif #endif /*****************************************************************************/ @@ -1071,6 +1074,7 @@ } #ifdef ACCESS +#ifndef USE_NOPAM /*********************************************************************/ /* return 0 on success */ int access_control(char *username, char *password, char *srv) @@ -1183,6 +1187,7 @@ return rec; } #endif +#endif /*****************************************************************************/ /* This routine clears all states to make sure that our next login will be @@ -1206,6 +1211,7 @@ } } #ifdef ACCESS +#ifndef USE_NOPAM const char *getPAMError(const int pamError) { switch(pamError){ @@ -1333,6 +1339,7 @@ } #endif +#endif /*****************************************************************************/ int APP_CC xrdp_mm_connect(struct xrdp_mm *self) @@ -1351,10 +1358,12 @@ char port[8]; char chansrvport[256]; #ifdef ACCESS +#ifndef USE_NOPAM int use_pam_auth = 0; char pam_auth_sessionIP[256]; char pam_auth_password[256]; char pam_auth_username[256]; +#endif char username[256]; char password[256]; username[0] = 0; @@ -1390,6 +1399,7 @@ } #ifdef ACCESS +#ifndef USE_NOPAM else if (g_strcasecmp(name, "pamusername") == 0) { use_pam_auth = 1; @@ -1403,6 +1413,7 @@ { g_strncpy(pam_auth_password, value, 255); } +#endif else if (g_strcasecmp(name, "password") == 0) { g_strncpy(password, value, 255); @@ -1421,7 +1432,7 @@ } #ifdef ACCESS - +#ifndef USE_NOPAM if (use_pam_auth) { int reply; @@ -1464,7 +1475,7 @@ return rv; } } - +#endif #endif if (self->sesman_controlled) |
||
a4bcb672 | 2019-03-04 11:22:24 | Guan-Zhong Huang |
Fix password authentication to handle different encryption algorithms |
||
M sesman/verify_user.c |
||
sesman/verify_user.cdiff --git a/sesman/verify_user.c b/sesman/verify_user.c index 81ddc0a..85e614d 100644 --- a/sesman/verify_user.c +++ b/sesman/verify_user.c @@ -50,12 +50,9 @@ long DEFAULT_CC auth_userpass(char *user, char *pass, int *errorcode) { - char salt[13] = "$1$"; - char hash[35] = ""; - char *encr = 0; + const char *encr; struct passwd *spw; struct spwd *stp; - int saltcnt = 0; spw = getpwnam(user); @@ -80,46 +77,15 @@ return 0; } - g_strncpy(hash, stp->sp_pwdp, 34); + encr = stp->sp_pwdp; } else { /* old system with only passwd */ - g_strncpy(hash, spw->pw_passwd, 34); + encr = spw->pw_passwd; } - hash[34] = '\0'; - - if (g_strncmp(hash, "$1$", 3) == 0) - { - /* gnu style crypt(); */ - saltcnt = 3; - - while ((hash[saltcnt] != '$') && (saltcnt < 11)) - { - salt[saltcnt] = hash[saltcnt]; - saltcnt++; - } - - salt[saltcnt] = '$'; - salt[saltcnt + 1] = '\0'; - } - else - { - /* classic two char salt */ - salt[0] = hash[0]; - salt[1] = hash[1]; - salt[2] = '\0'; - } - - encr = crypt(pass, salt); - - if (g_strncmp(encr, hash, 34) != 0) - { - return 0; - } - - return 1; + return (strcmp(encr, crypt(pass, encr)) == 0); } /******************************************************************************/ |
||
cb1974a6 | 2019-03-04 11:22:24 | Jay Sorg |
chansrv: fix for building without fuse |
||
M sesman/chansrv/chansrv_fuse.c |
||
sesman/chansrv/chansrv_fuse.cdiff --git a/sesman/chansrv/chansrv_fuse.c b/sesman/chansrv/chansrv_fuse.c index 9b16c9a..27ce757 100644 --- a/sesman/chansrv/chansrv_fuse.c +++ b/sesman/chansrv/chansrv_fuse.c @@ -52,7 +52,12 @@ ** ** ******************************************************************************/ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + #include "arch.h" +#include "chansrv_fuse.h" /* dummy calls when XRDP_FUSE is not defined */ int xfuse_init() {} @@ -63,6 +68,12 @@ int xfuse_file_contents_range(int stream_id, char *data, int data_bytes) {} int xfuse_file_contents_size(int stream_id, int file_size) {} int xfuse_add_clip_dir_item(char *filename, int flags, int size, int lindex) {} +int xfuse_create_share(tui32 device_id, char *dirname) {} +void xfuse_devredir_cb_open_file(void *vp, tui32 DeviceId, tui32 FileId) {} +void xfuse_devredir_cb_write_file(void *vp, char *buf, size_t length) {} +void xfuse_devredir_cb_read_file(void *vp, char *buf, size_t length) {} +void xfuse_devredir_cb_enum_dir(void *vp, struct xrdp_inode *xinode) {} +void xfuse_devredir_cb_enum_dir_done(void *vp, tui32 IoStatus) {} #else |
||
effebb42 | 2019-03-04 11:22:24 | Jay Sorg |
xrdp: xrdp_mm.c fix some warnings and code cleanup |
||
M xrdp/xrdp_mm.c |
||
xrdp/xrdp_mm.cdiff --git a/xrdp/xrdp_mm.c b/xrdp/xrdp_mm.c index 008f191..6c01c85 100644 --- a/xrdp/xrdp_mm.c +++ b/xrdp/xrdp_mm.c @@ -825,7 +825,7 @@ if (!(self->chan_trans_up)) { log_message(LOG_LEVEL_ERROR,"xrdp_mm_connect_chansrv: error in" - "trans_connect chan"); + "trans_connect chan"); } if (self->chan_trans_up)** Diff limit reached (max: 250 lines) ** |
||
93130656 | 2019-03-04 11:22:24 | Jay Sorg |
chansrv: add header |
||
M sesman/chansrv/devredir.h |
||
** Diff limit reached (max: 250 lines) **
|
||
897ddec0 | 2019-03-04 11:22:24 | Jay Sorg |
libxrdp: started adding new(color) cursor support |
||
M common/xrdp_client_info.h M libxrdp/xrdp_rdp.c |
||
** Diff limit reached (max: 250 lines) **
|
||
c4a50768 | 2019-03-04 11:22:24 | Jay Sorg |
work on new(color) cursors |
||
M common/xrdp_constants.h M libxrdp/libxrdp.c M libxrdp/libxrdpinc.h M xrdp/xrdp.h M xrdp/xrdp_cache.c M xrdp/xrdp_types.h M xrdp/xrdp_wm.c |
||
** Diff limit reached (max: 250 lines) **
|
||
918cac31 | 2019-03-04 11:22:24 | Jay Sorg |
work on new(color) cursors |
||
M libxrdp/libxrdp.c |
||
** Diff limit reached (max: 250 lines) **
|
||
3867fc8e | 2019-03-04 11:22:24 | Jay Sorg |
X11rdp: build fix from kyytaM |
||
M xorg/X11R7.6/buildx.sh |
||
** Diff limit reached (max: 250 lines) **
|
||
cea9f8b0 | 2019-03-04 11:22:24 | Laxmikant Rashinkar |
o added some dummy functions to stop build from breaking when --enable-fuse is not specified |
||
M sesman/chansrv/chansrv_fuse.c |
||
** Diff limit reached (max: 250 lines) **
|
||
34b18170 | 2019-03-04 11:22:24 | Laxmikant Rashinkar |
o in file system redirection, added support for renaming files and directories |
||
M sesman/chansrv/chansrv_fuse.c M sesman/chansrv/chansrv_fuse.h M sesman/chansrv/devredir.c M sesman/chansrv/devredir.h |
||
** Diff limit reached (max: 250 lines) **
|
||
d41e6dbe | 2019-03-04 11:22:24 | Jay Sorg |
work on new(color) cursors |
||
M xorg/X11R7.6/rdp/rdp.h M xorg/X11R7.6/rdp/rdpinput.c M xorg/X11R7.6/rdp/rdpup.c M xrdp/xrdp.h M xrdp/xrdp_mm.c M xrdp/xrdp_types.h M xrdp/xrdp_wm.c M xup/xup.c M xup/xup.h |
||
** Diff limit reached (max: 250 lines) **
|
||
ffcf3660 | 2019-03-04 11:22:24 | Jay Sorg |
new(color) cursors working now |
||
M xorg/X11R7.6/rdp/rdpinput.c M xrdp/xrdp_cache.c |
||
** Diff limit reached (max: 250 lines) **
|
||
8a95f950 | 2019-03-04 11:22:24 | Jay Sorg |
sync client_info struct with A8 |
||
M common/xrdp_client_info.h M libxrdp/xrdp_rdp.c |
||
** Diff limit reached (max: 250 lines) **
|
||
03d8c134 | 2019-03-04 11:22:24 | Bart Warmerdam |
Use correct RGB byte odering for uncompressed bitmaps (ms-rdpbcgr p192), RED=lsB, BLUE=msB |
||
M libxrdp/xrdp_orders.c |
||
** Diff limit reached (max: 250 lines) **
|
||
71390a39 | 2019-03-04 11:22:24 | Bart Warmerdam |
Revert "Use correct RGB byte odering for uncompressed bitmaps (ms-rdpbcgr p192), RED=lsB, BLUE=msB" This reverts commit 4efe900f2d3ba4a2a3d60d2b68b1a90b739b9c2d. |
||
M libxrdp/xrdp_orders.c |
||
** Diff limit reached (max: 250 lines) **
|
||
e1eff4d4 | 2019-03-04 11:22:24 | Bart Warmerdam |
Use correct RGB byte odering for uncompressed bitmaps (ms-rdpbcgr p192), RED=lsB, BLUE=msB |
||
M libxrdp/xrdp_orders.c |
||
** Diff limit reached (max: 250 lines) **
|
||
d12e9a08 | 2019-03-04 11:22:24 | Timothy Pearson |
Minor modifications for Debian |
||
A debian_configure M sesman/startwm.sh |
||
** Diff limit reached (max: 250 lines) **
|
||
84838092 | 2019-03-04 11:22:24 | Timothy Pearson |
Fix xrdp script on Debian |
||
M instfiles/xrdp.sh |
||
** Diff limit reached (max: 250 lines) **
|
||
3d616138 | 2019-03-04 11:22:24 | Timothy Pearson |
Add preliminary Raptor session management |
||
A raptorsmiface/Makefile.am A raptorsmiface/libraptorsmiface.c A raptorsmiface/libraptorsmiface.h M Makefile.am M configure.ac M sesman/Makefile.am M sesman/chansrv/Makefile.am M sesman/chansrv/chansrv.c M sesman/sesman.ini M sesman/session.c M xrdp/Makefile.am M xrdp/xrdp.ini M xrdp/xrdp_mm.c M xrdp/xrdp_types.h |
||
** Diff limit reached (max: 250 lines) **
|
||
f590f854 | 2019-03-04 11:22:24 | Timothy Pearson |
Fix a number of problems System is now mostly stabilized |
||
M common/defines.h M common/trans.c M raptorsmiface/libraptorsmiface.c M raptorsmiface/libraptorsmiface.h M sesman/chansrv/chansrv.c M sesman/scp_v0.c M sesman/scp_v1.c M sesman/session.c M xrdp/xrdp_mm.c M xup/xup.c |
||
** Diff limit reached (max: 250 lines) **
|
||
4954b6f2 | 2019-03-04 11:22:24 | Timothy Pearson |
Add server/group mapping |
||
M raptorsmiface/libraptorsmiface.c M xrdp/xrdp_mm.c |
||
** Diff limit reached (max: 250 lines) **
|
||
3c4ef7ee | 2019-03-04 11:22:24 | Timothy Pearson |
Partially fix immediate exit after login |
||
M xup/xup.c |
||
** Diff limit reached (max: 250 lines) **
|
||
8dc53629 | 2019-03-04 11:22:24 | Timothy Pearson |
Add hack to support blank cursors for now |
||
M xorg/X11R7.6/rdp/rdpinput.c M xup/xup.c |
||
** Diff limit reached (max: 250 lines) **
|
||
e7f2ded7 | 2019-03-04 11:22:24 | Timothy Pearson |
Update branding |
||
M xrdp/ad24b.bmp M xrdp/ad256.bmp M xrdp/xrdp.ini M xrdp/xrdp24b.bmp M xrdp/xrdp256.bmp M xrdp/xrdp_login_wnd.c |
||
** Diff limit reached (max: 250 lines) **
|
||
b3392a3b | 2019-03-04 11:22:24 | Timothy Pearson |
Use a black login background |
||
M xrdp/xrdp.ini M xrdp/xrdp24b.bmp M xrdp/xrdp256.bmp |
||
** Diff limit reached (max: 250 lines) **
|
||
9fba9869 | 2019-03-04 11:22:24 | Timothy Pearson |
Add ability to recover somewhat from a dead master node |
||
M raptorsmiface/libraptorsmiface.c |
||
** Diff limit reached (max: 250 lines) **
|
||
38489b27 | 2019-03-04 11:22:24 | Timothy Pearson |
Add master node session recovery support |
||
M raptorsmiface/libraptorsmiface.c M raptorsmiface/libraptorsmiface.h M sesman/scp_v0.c M sesman/scp_v1.c M sesman/session.c |
||
** Diff limit reached (max: 250 lines) **
|
||
c52abeb0 | 2019-03-04 11:22:24 | Timothy Pearson |
Add additional debug statement |
||
M raptorsmiface/libraptorsmiface.c |
||
** Diff limit reached (max: 250 lines) **
|
||
291f7f99 | 2019-03-04 11:22:24 | Timothy Pearson |
Fix merge |
||
M sesman/scp_v0.c M sesman/session.c |
||
** Diff limit reached (max: 250 lines) **
|
||
dd0eb3e3 | 2019-03-04 11:22:24 | Timothy Pearson |
Add rudimentary sound support |
||
M raptorsmiface/libraptorsmiface.c M raptorsmiface/libraptorsmiface.h M sesman/chansrv/chansrv.c M sesman/chansrv/clipboard.c M sesman/chansrv/sound.c |
||
** Diff limit reached (max: 250 lines) **
|
||
44e65c80 | 2019-03-04 11:22:24 | Timothy Pearson |
Add statistics reporting |
||
M raptorsmiface/libraptorsmiface.c M raptorsmiface/libraptorsmiface.h M xrdp/xrdp_types.h |
||
** Diff limit reached (max: 250 lines) **
|
||
a82cbbf5 | 2019-03-04 11:22:24 | Timothy Pearson |
Add additional statistics reporting |
||
M raptorsmiface/libraptorsmiface.c M raptorsmiface/libraptorsmiface.h M xrdp/xrdp.c |
||
** Diff limit reached (max: 250 lines) **
|
||
5d8e68d5 | 2019-03-04 11:22:24 | Timothy Pearson |
Add MySQL database skeleton file |
||
A database/mysql/remotelab_sm_database.sql |
||
** Diff limit reached (max: 250 lines) **
|
||
9b4af30c | 2019-03-04 11:22:24 | Timothy Pearson |
Add database configuration options to main config file |
||
M raptorsmiface/libraptorsmiface.c M raptorsmiface/libraptorsmiface.h |
||
** Diff limit reached (max: 250 lines) **
|
||
daaf4156 | 2019-03-04 11:22:24 | Timothy Pearson |
Fix non-root-user display server startup failure Transfer and clean up Kerberos ticket on login and logout Remove spurious debugging messages |
||
M instfiles/pam.d/xrdp-sesman M raptorsmiface/libraptorsmiface.c M sesman/chansrv/sound.c M sesman/env.c M xrdp/xrdp_login_wnd.c |
||
** Diff limit reached (max: 250 lines) **
|
||
1702f742 | 2019-03-04 11:22:24 | Timothy Pearson |
Fix sporadic xrdp-sesman crash on session initiation Fix a number of memory leaks Fix access to freed memory Fix invalid function return values |
||
M raptorsmiface/libraptorsmiface.c M raptorsmiface/libraptorsmiface.h |
||
** Diff limit reached (max: 250 lines) **
|
||
bd49df9d | 2019-03-04 11:22:24 | Timothy Pearson |
Download installation files from correct locations Keep track of arbiter(s) in use per connection |
||
M raptorsmiface/libraptorsmiface.c M raptorsmiface/libraptorsmiface.h M xorg/X11R7.6/buildx.sh |
||
** Diff limit reached (max: 250 lines) **
|
||
178149fe | 2019-03-04 11:22:24 | Timothy Pearson |
Second part of prior commit |
||
M database/mysql/remotelab_sm_database.sql |
||
** Diff limit reached (max: 250 lines) **
|
||
779588cc | 2019-03-04 11:22:24 | Timothy Pearson |
Update for OpenSSL 1.1 |
||
M common/ssl_calls.c |
||
** Diff limit reached (max: 250 lines) **
|
||
99898c85 | 2019-03-04 11:22:24 | Timothy Pearson |
Update sources to build on ppc64el |
||
A xorg/X11R7.6/libdrm-2.4.26.patch M xorg/X11R7.6/buildx.sh |
||
** Diff limit reached (max: 250 lines) **
|
||
4b2e9a06 | 2019-03-04 11:22:24 | Timothy Pearson |
Fix endianness checks on ppc64 |
||
M common/arch.h |
||
** Diff limit reached (max: 250 lines) **
|
||
539ee295 | 2019-03-04 11:22:24 | Timothy Pearson |
Don't try connecting to remote node if preliminary node allocation has failed for any reason |
||
M sesman/session.c |
||
** Diff limit reached (max: 250 lines) **
|
||
8f2f00c7 | 2019-03-04 11:22:24 | Timothy Pearson |
Add debug warning when maximum session limit is hit for a specified user group |
||
M raptorsmiface/libraptorsmiface.c |
||
** Diff limit reached (max: 250 lines) **
|
||
6933490c | 2019-03-04 11:22:24 | Timothy Pearson |
Fix a few situations where process output was corrupted with existing uncleard buffer data This fixes session termination not being marked in the database |
||
M raptorsmiface/libraptorsmiface.c |
||
** Diff limit reached (max: 250 lines) **
|
||
3bbe764c | 2019-03-04 11:22:24 | Timothy Pearson |
Fix a couple of additional ppc64 endianness / alignment issues |
||
A xorg/X11R7.6/xorg-server-1.9.3.patch M common/arch.h M xorg/X11R7.6/rdp/rdp.h |
||
** Diff limit reached (max: 250 lines) **
|
||
56f48da7 | 2019-03-04 11:22:24 | Timothy Pearson |
Work around GTK pixmaps (e.g. GIMP icons, etc) showing up as black squares |
||
M xorg/X11R7.6/rdp/rdpmain.c |
||
** Diff limit reached (max: 250 lines) **
|