Howdy,

I notice there is an undocumented behaviour in xrdp to change the module
for automatic login by setting your RDP domain to be that of the
module's section name in the xrdp.ini file.  I found this out by
accident while trying to implement this functionality myself to help
with the provisioning of some Wyse thin clients which support setting
the domain as the MAC address.

However, it only applies for automatic logins, and does not change the
active module when an interactive module is initiated.  To that end, I
wrote a patch to fix this behaviour and make xrdp change the active
module for interactive logins where the domain is specified.

There is a problem where if you specify an unknown domain the connection
will simply hang and not display any error.  This applies even without
my patch.

I'd like if there was an option in xrdp to not display the login screen
again after an automatic login session has ended, and also to simply
drop the RDP connection entirely after an error.

I also notice in CVS there was a recent change which fixed a problem I
was having with Wyse WinTerm 1125SEs where xrdp would always display a
light blue instead of grey in 256 colour mode, and the colour palette
was entirely wrong in 16-bit (high) colour mode.  Thanks!

I'm not on-list (due to the large amount of spam on it) so please CC me
in any replies.


Cheers,


Michael


--- xrdp/xrdp/xrdp_login_wnd.c.orig     2009-05-21 22:53:54.027081915 +0930
+++ xrdp/xrdp/xrdp_login_wnd.c  2009-05-21 22:52:15.000000000 +0930
@@ -386,6 +386,7 @@
   int fd;
   int i;
   int j;
+  int k = 0; // real number of the items in the list
   char* p;
   char* q;
   char* r;
@@ -429,8 +430,20 @@
         list_add_item(mod_data->names, (long)g_strdup(q));
         list_add_item(mod_data->values, (long)g_strdup(r));
       }
+      
       list_add_item(b->string_list, (long)g_strdup(name));
       list_add_item(b->data_list, (long)mod_data);
+      
+      if (g_strncmp(self->session->client_info->domain, p, 255) == 0) {
+       // "domain" matches this module's name. change the default selected 
item to this.
+       // normally this only applies to autologin.  now this applies it in 
non-auto mode
+       //
+       // we can't use (i) here as that is the index of the section in the 
ini, not the index of
+       // the current item in the combobox.
+       b->item_index = k;
+      }
+      
+      k++;
     }
   }
   g_file_close(fd);


------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, & 
iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian
Group, R/GA, & Big Spaceship. http://www.creativitycat.com 
_______________________________________________
xrdp-devel mailing list
xrdp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xrdp-devel

Reply via email to