]> TLD Linux GIT Repositories - packages/xrdp.git/commitdiff
- patches from debian
authorMarcin Krol <hawk@tld-linux.org>
Wed, 26 Nov 2014 19:38:18 +0000 (19:38 +0000)
committerMarcin Krol <hawk@tld-linux.org>
Wed, 26 Nov 2014 19:38:18 +0000 (19:38 +0000)
default_keymap.patch [new file with mode: 0644]
format-security.patch
pidfile_early.patch [new file with mode: 0644]
quiet_start.patch [new file with mode: 0644]
xrdp.spec

diff --git a/default_keymap.patch b/default_keymap.patch
new file mode 100644 (file)
index 0000000..76e26a1
--- /dev/null
@@ -0,0 +1,20 @@
+Ensure that the default keymap is US english if there is a problem locating one.
+
+Index: xrdp/xrdp/lang.c
+===================================================================
+--- xrdp.orig/xrdp/lang.c      2012-09-29 13:01:00.267338590 +0200
++++ xrdp/xrdp/lang.c   2012-09-29 13:03:28.446647925 +0200
+@@ -239,6 +239,13 @@
+       g_file_close(fd);
+     }
+   }
++  else if (keylayout != 0x409)
++  {
++    g_free(filename);
++    g_writeln("keymap for 0x%4.4x was not found. Falling back to 0x0409 instead",
++            keylayout);
++    return get_keymaps(0x409, keymap);
++  }
+   g_free(filename);
+   return 0;
+ }
index f8a1d66733f8de6c1f70d60b5c518880c61356a2..5dea14773ad296dc601e144ab579ad4fe1a1b68e 100644 (file)
@@ -1,6 +1,10 @@
---- xrdp-v0.6.1/common/log.c~  2013-11-09 21:11:15.000000000 +0100
-+++ xrdp-v0.6.1/common/log.c   2013-12-07 18:38:21.836315352 +0100
-@@ -160,7 +160,7 @@
+Fix a potential security problem if the message log contained "%".
+
+diff --git a/common/log.c b/common/log.c
+index 7bbdfc0..4ed2adf 100644
+--- a/common/log.c
++++ b/common/log.c
+@@ -160,13 +160,13 @@ log_message(struct log_config* l_cfg, const unsigned int lvl, const char* msg, .
    if (l_cfg->enable_syslog  && (lvl <= l_cfg->log_level))
    {
      /* log to syslog */
@@ -9,3 +13,10 @@
    }
  
    if (lvl <= l_cfg->log_level)
+   {
+     /* log to console */
+-    g_printf((char*)buff);
++    g_printf("%s", (char*)buff);
+     /* log to application logfile */
+ #ifdef LOG_ENABLE_THREAD
diff --git a/pidfile_early.patch b/pidfile_early.patch
new file mode 100644 (file)
index 0000000..080be50
--- /dev/null
@@ -0,0 +1,39 @@
+Ensure that the PID file is written before sleeping.
+
+Index: xrdp/xrdp/xrdp.c
+===================================================================
+--- xrdp.orig/xrdp/xrdp.c      2012-09-29 13:03:27.666630538 +0200
++++ xrdp/xrdp/xrdp.c   2012-09-29 13:03:32.874746622 +0200
+@@ -388,17 +388,6 @@
+       g_deinit();
+       g_exit(0);
+     }
+-    g_sleep(1000);
+-    g_file_close(0);
+-    g_file_close(1);
+-    g_file_close(2);
+-    g_file_open("/dev/null");
+-    g_file_open("/dev/null");
+-    g_file_open("/dev/null");
+-    /* end of daemonizing code */
+-  }
+-  if (!no_daemon)
+-  {
+     /* write the pid to file */
+     pid = g_getpid();
+     fd = g_file_open(pid_file); /* xrdp.pid */
+@@ -414,6 +403,14 @@
+       g_file_write(fd, text, g_strlen(text));
+       g_file_close(fd);
+     }
++    g_sleep(1000);
++    g_file_close(0);
++    g_file_close(1);
++    g_file_close(2);
++    g_file_open("/dev/null");
++    g_file_open("/dev/null");
++    g_file_open("/dev/null");
++    /* end of daemonizing code */
+   }
+   g_threadid = tc_get_threadid();
+   g_listen = xrdp_listen_create();
diff --git a/quiet_start.patch b/quiet_start.patch
new file mode 100644 (file)
index 0000000..109cb3c
--- /dev/null
@@ -0,0 +1,136 @@
+Avoid displaying a lot of information when starting xrdp and sesman
+
+Index: xrdp/sesman/config.c
+===================================================================
+--- xrdp.orig/sesman/config.c  2012-09-29 12:51:50.000000000 +0200
++++ xrdp/sesman/config.c       2012-09-29 12:55:57.560560996 +0200
+@@ -179,13 +179,13 @@
+   }
+   /* showing read config */
+-  g_printf("sesman config:\r\n");
++  /* g_printf("sesman config:\r\n");
+   g_printf("\tListenAddress:            %s\r\n", cf->listen_address);
+   g_printf("\tListenPort:               %s\r\n", cf->listen_port);
+   g_printf("\tEnableUserWindowManager:  %i\r\n", cf->enable_user_wm);
+   g_printf("\tUserWindowManager:        %s\r\n", cf->user_wm);
+   g_printf("\tDefaultWindowManager:     %s\r\n", cf->default_wm);
+-  g_printf("\tAuthFilePath:             %s\r\n", ((cf->auth_file_path) ? (cf->auth_file_path) : ("disabled")));
++  g_printf("\tAuthFilePath:             %s\r\n", ((cf->auth_file_path) ? (cf->auth_file_path) : ("disabled"))); */
+   return 0;
+ }
+@@ -236,11 +236,11 @@
+     lc->log_file=g_strdup("./sesman.log");
+   }
+-  g_printf("logging configuration:\r\n");
++  /* g_printf("logging configuration:\r\n");
+   g_printf("\tLogFile:       %s\r\n",lc->log_file);
+   g_printf("\tLogLevel:      %i\r\n", lc->log_level);
+   g_printf("\tEnableSyslog:  %i\r\n", lc->enable_syslog);
+-  g_printf("\tSyslogLevel:   %i\r\n", lc->syslog_level);
++  g_printf("\tSyslogLevel:   %i\r\n", lc->syslog_level); */
+   return 0;
+ }
+@@ -295,7 +295,7 @@
+   }
+   /* printing security config */
+-  g_printf("security configuration:\r\n");
++  /* g_printf("security configuration:\r\n");
+   g_printf("\tAllowRootLogin:       %i\r\n",sc->allow_root);
+   g_printf("\tMaxLoginRetry:        %i\r\n",sc->login_retry);
+   if (sc->ts_users_enable)
+@@ -313,7 +313,7 @@
+   else
+   {
+     g_printf("\tNo TSAdminsGroup defined\r\n");
+-  }
++    } */
+   return 0;
+ }
+@@ -363,12 +363,12 @@
+   }
+   /* printing security config */
+-  g_printf("session configuration:\r\n");
++  /* g_printf("session configuration:\r\n");
+   g_printf("\tMaxSessions:                 %i\r\n", se->max_sessions);
+   g_printf("\tX11DisplayOffset:            %i\r\n", se->x11_display_offset);
+   g_printf("\tKillDisconnected:            %i\r\n", se->kill_disconnected);
+   g_printf("\tIdleTimeLimit:               %i\r\n", se->max_idle_time);
+-  g_printf("\tDisconnectedTimeLimit:       %i\r\n", se->max_idle_time);
++  g_printf("\tDisconnectedTimeLimit:       %i\r\n", se->max_idle_time); */
+   return 0;
+ }
+@@ -392,11 +392,11 @@
+   }
+   /* printing security config */
+-  g_printf("X11rdp parameters:\r\n");
++  /* g_printf("X11rdp parameters:\r\n");
+   for (i = 0; i < cs->rdp_params->count; i++)
+   {
+     g_printf("\tParameter %02d                   %s\r\n", i, (char*)list_get_item(cs->rdp_params, i));
+-  }
++    } */
+   return 0;
+ }
+@@ -420,11 +420,11 @@
+   }
+   /* printing security config */
+-  g_printf("Xvnc parameters:\r\n");
++  /* g_printf("Xvnc parameters:\r\n");
+   for (i = 0; i < cs->vnc_params->count; i++)
+   {
+     g_printf("\tParameter %02d                   %s\r\n", i, (char*)list_get_item(cs->vnc_params, i));
+-  }
++    } */
+   return 0;
+ }
+Index: xrdp/sesman/sesman.c
+===================================================================
+--- xrdp.orig/sesman/sesman.c  2012-09-29 12:51:50.000000000 +0200
++++ xrdp/sesman/sesman.c       2012-09-29 12:55:11.103556585 +0200
+@@ -143,7 +143,7 @@
+   if (1 == argc)
+   {
+     /* no options on command line. normal startup */
+-    g_printf("starting sesman...\n");
++    /* g_printf("starting sesman...\n"); */
+     daemon = 1;
+   }
+   else if ((2 == argc) && ((0 == g_strcasecmp(argv[1], "--nodaemon")) ||
+Index: xrdp/xrdp/xrdp.c
+===================================================================
+--- xrdp.orig/xrdp/xrdp.c      2012-09-29 12:51:50.000000000 +0200
++++ xrdp/xrdp/xrdp.c   2012-09-29 12:55:11.103556585 +0200
+@@ -383,7 +383,7 @@
+     }
+     if (0 != pid)
+     {
+-      g_writeln("process %d started ok", pid);
++      /* g_writeln("process %d started ok", pid); */
+       /* exit, this is the main process */
+       g_deinit();
+       g_exit(0);
+Index: xrdp/sesman/libscp/libscp_init.c
+===================================================================
+--- xrdp.orig/sesman/libscp/libscp_init.c      2012-09-29 12:51:50.111200358 +0200
++++ xrdp/sesman/libscp/libscp_init.c   2012-09-29 12:55:11.103556585 +0200
+@@ -42,8 +42,6 @@
+   scp_lock_init();
+-  log_message(s_log, LOG_LEVEL_WARNING, "[init:%d] libscp initialized", __LINE__);
+-
+   return 0;
+ }
index d17eb4cf2d7f5414b96d3590b127d124ae7b3b0c..f665ad2f1abf0aa1a2a941d10cb739ef419b98c7 100644 (file)
--- a/xrdp.spec
+++ b/xrdp.spec
@@ -16,6 +16,9 @@ Source6:      %{name}.README.TLD.pl
 Patch0:                format-security.patch
 Patch1:                build.patch
 Patch2:                link.patch
+Patch3:                quiet_start.patch
+Patch4:                default_keymap.patch
+Patch5:                pidfile_early.patch
 URL:           http://xrdp.sourceforge.net/
 BuildRequires: autoconf
 BuildRequires: automake
@@ -52,6 +55,9 @@ xrdp używa jako backendu Xvnc lub X11rdp.
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
 
 install %{SOURCE5} README.TLD
 install %{SOURCE6} README.TLD.pl