]> TLD Linux GIT Repositories - packages/xrdp.git/commitdiff
- updated to 0.9.7
authorMarcin Krol <hawk@tld-linux.org>
Wed, 4 Jul 2018 19:05:03 +0000 (19:05 +0000)
committerMarcin Krol <hawk@tld-linux.org>
Wed, 4 Jul 2018 19:05:03 +0000 (19:05 +0000)
build.patch [deleted file]
config.patch
default_keymap.patch [deleted file]
format-security.patch [deleted file]
link.patch [deleted file]
pidfile_early.patch [deleted file]
quiet.patch [new file with mode: 0644]
quiet_start.patch [deleted file]
reuse_session.patch [deleted file]
xrdp.spec

diff --git a/build.patch b/build.patch
deleted file mode 100644 (file)
index 78662ea..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- xrdp-v0.6.1/sesman/tools/Makefile.am~      2013-11-09 21:11:15.000000000 +0100
-+++ xrdp-v0.6.1/sesman/tools/Makefile.am       2013-12-07 18:41:21.172980720 +0100
-@@ -20,7 +20,7 @@
- xrdp_sesrun_SOURCES = \
-   sesrun.c \
-   tcp.c \
--  config.c
-+  ../config.c
- xrdp_sestest_SOURCES = \
-   sestest.c
index 466577337a61f362377343f9a4484a896db3acf6..553344cdb740de1114be8a1212ee9d54a6b7a69b 100644 (file)
-diff -ur xrdp-v0.6.1.orig/sesman/sesman.ini xrdp-v0.6.1/sesman/sesman.ini
---- xrdp-v0.6.1.orig/sesman/sesman.ini 2013-11-09 20:11:15.000000000 +0000
-+++ xrdp-v0.6.1/sesman/sesman.ini      2014-11-26 22:05:27.770000000 +0000
-@@ -8,8 +8,8 @@
+diff -ur xrdp-0.9.7.orig/sesman/sesman.ini xrdp-0.9.7/sesman/sesman.ini
+--- xrdp-0.9.7.orig/sesman/sesman.ini  2018-06-29 08:18:27.000000000 +0000
++++ xrdp-0.9.7/sesman/sesman.ini       2018-07-04 18:54:10.174090693 +0000
+@@ -14,11 +14,11 @@
  [Security]
- AllowRootLogin=1
+ AllowRootLogin=true
  MaxLoginRetry=4
 -TerminalServerUsers=tsusers
 -TerminalServerAdmins=tsadmins
 +TerminalServerUsers=users
 +TerminalServerAdmins=root
+ ; When AlwaysGroupCheck=false access will be permitted
+ ; if the group TerminalServerUsers is not defined.
+-AlwaysGroupCheck=false
++AlwaysGroupCheck=true
  
  [Sessions]
- X11DisplayOffset=10
-@@ -19,22 +19,22 @@
- DisconnectedTimeLimit=0
+ ;; X11DisplayOffset - x11 display number offset
+@@ -55,10 +55,10 @@
+ Policy=Default
  
  [Logging]
--LogFile=/var/log/xrdp-sesman.log
+-LogFile=xrdp-sesman.log
 -LogLevel=DEBUG
--EnableSyslog=0
--SyslogLevel=DEBUG
 +LogFile=/dev/null
 +LogLevel=INFO
-+EnableSyslog=1
+ EnableSyslog=1
+-SyslogLevel=DEBUG
 +SyslogLevel=INFO
  
+ ;
+ ; Session definitions - startup command-line parameters for each session type
+@@ -81,8 +81,8 @@
+ param=-noreset
+ param=-nolisten
+ param=tcp
+-param=-logfile
+-param=.xorgxrdp.%s.log
++#param=-logfile
++#param=.xorgxrdp.%s.log
  [X11rdp]
- param1=-bs
- param2=-ac
--param3=-nolisten
--param4=tcp
-+#param3=-nolisten
-+#param4=tcp
+ param=X11rdp
+diff -ur xrdp-0.9.7.orig/xrdp/xrdp.ini xrdp-0.9.7/xrdp/xrdp.ini
+--- xrdp-0.9.7.orig/xrdp/xrdp.ini      2018-06-29 08:18:27.000000000 +0000
++++ xrdp-0.9.7/xrdp/xrdp.ini   2018-07-04 18:55:55.985084386 +0000
+@@ -118,10 +118,10 @@
+ ls_btn_cancel_height=30
  
- [Xvnc]
- param1=-bs
- param2=-ac
--param3=-nolisten
--param4=tcp
--param5=-localhost
--param6=-dpi
--param7=96
-+#param3=-nolisten
-+#param4=tcp
-+#param5=-localhost
-+#param6=-dpi
-+#param7=96
-diff -ur xrdp-v0.6.1.orig/xrdp/xrdp.ini xrdp-v0.6.1/xrdp/xrdp.ini
---- xrdp-v0.6.1.orig/xrdp/xrdp.ini     2013-11-09 20:11:15.000000000 +0000
-+++ xrdp-v0.6.1/xrdp/xrdp.ini  2014-11-26 21:16:09.982000000 +0000
-@@ -1,4 +1,3 @@
+ [Logging]
+-LogFile=xrdp.log
+-LogLevel=DEBUG
++LogFile=/dev/null
++LogLevel=INFO
+ EnableSyslog=true
+-SyslogLevel=DEBUG
++SyslogLevel=INFO
+ ; LogLevel and SysLogLevel could by any of: core, error, warning, info or debug
+ [Channels]
+@@ -153,24 +153,24 @@
+ ; Some session types such as Xorg, X11rdp and Xvnc start a display server.
+ ; Startup command-line parameters for the display server are configured
+ ; in sesman.ini. See and configure also sesman.ini.
+-[Xorg]
+-name=Xorg
+-lib=libxup.so
+-username=ask
+-password=ask
+-ip=127.0.0.1
+-port=-1
+-code=20
 -
- [globals]
- bitmap_cache=yes
- bitmap_compression=yes
+-[X11rdp]
+-name=X11rdp
+-lib=libxup.so
+-username=ask
+-password=ask
+-ip=127.0.0.1
+-port=-1
+-xserverbpp=24
+-code=10
++#[Xorg]
++#name=Xorg
++#lib=libxup.so
++#username=ask
++#password=ask
++#ip=127.0.0.1
++#port=-1
++#code=20
++
++#[X11rdp]
++#name=X11rdp
++#lib=libxup.so
++#username=ask
++#password=ask
++#ip=127.0.0.1
++#port=-1
++#xserverbpp=24
++#code=10
+ [Xvnc]
+ name=Xvnc
+@@ -182,43 +182,43 @@
+ #xserverbpp=24
+ #delay_ms=2000
+-[console]
+-name=console
+-lib=libvnc.so
+-ip=127.0.0.1
+-port=5900
+-username=na
+-password=ask
++#[console]
++#name=console
++#lib=libvnc.so
++#ip=127.0.0.1
++#port=5900
++#username=na
++#password=ask
+ #delay_ms=2000
+-[vnc-any]
+-name=vnc-any
+-lib=libvnc.so
+-ip=ask
+-port=ask5900
+-username=na
+-password=ask
++#[vnc-any]
++#name=vnc-any
++#lib=libvnc.so
++#ip=ask
++#port=ask5900
++#username=na
++#password=ask
+ #pamusername=asksame
+ #pampassword=asksame
+ #pamsessionmng=127.0.0.1
+ #delay_ms=2000
+-[sesman-any]
+-name=sesman-any
+-lib=libvnc.so
+-ip=ask
+-port=-1
+-username=ask
+-password=ask
++#[sesman-any]
++#name=sesman-any
++#lib=libvnc.so
++#ip=ask
++#port=-1
++#username=ask
++#password=ask
+ #delay_ms=2000
+-[neutrinordp-any]
+-name=neutrinordp-any
+-lib=libxrdpneutrinordp.so
+-ip=ask
+-port=ask3389
+-username=ask
+-password=ask
++#[neutrinordp-any]
++#name=neutrinordp-any
++#lib=libxrdpneutrinordp.so
++#ip=ask
++#port=ask3389
++#username=ask
++#password=ask
+ ; You can override the common channel settings for each session type
+ #channel.rdpdr=true
diff --git a/default_keymap.patch b/default_keymap.patch
deleted file mode 100644 (file)
index 76e26a1..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-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;
- }
diff --git a/format-security.patch b/format-security.patch
deleted file mode 100644 (file)
index 5dea147..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-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 */
--    syslog(log_xrdp2syslog(lvl), buff + 20);
-+    syslog(log_xrdp2syslog(lvl), "%s", buff + 20);
-   }
-   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/link.patch b/link.patch
deleted file mode 100644 (file)
index 44a9c5f..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
---- xrdp-v0.6.1/common/Makefile.am~    2013-11-09 21:11:15.000000000 +0100
-+++ xrdp-v0.6.1/common/Makefile.am     2013-12-07 20:09:12.855037515 +0100
-@@ -23,4 +23,5 @@
- libcommon_la_LIBADD = \
-   -lcrypto \
-   -lssl \
--  -lpthread
-+  -lpthread \
-+  -ldl
diff --git a/pidfile_early.patch b/pidfile_early.patch
deleted file mode 100644 (file)
index 080be50..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-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.patch b/quiet.patch
new file mode 100644 (file)
index 0000000..ee6b5fa
--- /dev/null
@@ -0,0 +1,47 @@
+diff -ur xrdp-0.9.7.orig/common/log.c xrdp-0.9.7/common/log.c
+--- xrdp-0.9.7.orig/common/log.c       2018-06-04 15:01:57.000000000 +0000
++++ xrdp-0.9.7/common/log.c    2018-07-04 15:24:35.592840196 +0000
+@@ -382,11 +382,11 @@
+     /* try to create path if not exist */
+     g_create_path(lc->log_file);
+-    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 LOG_STARTUP_OK;
+ }
+diff -ur xrdp-0.9.7.orig/xrdp/xrdp.c xrdp-0.9.7/xrdp/xrdp.c
+--- xrdp-0.9.7.orig/xrdp/xrdp.c        2018-06-29 08:06:27.000000000 +0000
++++ xrdp-0.9.7/xrdp/xrdp.c     2018-07-04 15:26:48.163832295 +0000
+@@ -475,7 +475,7 @@
+     if (startup_params->kill)
+     {
+-        g_writeln("stopping xrdp");
++        /*g_writeln("stopping xrdp");*/
+         /* read the xrdp.pid file */
+         fd = -1;
+@@ -493,7 +493,7 @@
+             g_memset(text, 0, 32);
+             g_file_read(fd, text, 31);
+             pid = g_atoi(text);
+-            g_writeln("stopping process id %d", pid);
++            /*g_writeln("stopping process id %d", pid);*/
+             if (pid > 0)
+             {
+@@ -597,7 +597,7 @@
+                    or systemd cannot detect xrdp daemon couldn't start properly */
+                 g_exit(1);
+             }
+-            g_writeln("daemon process %d started ok", pid);
++            /*g_writeln("daemon process %d started ok", pid);*/
+             /* exit, this is the main process */
+             g_deinit();
+             g_exit(0);
diff --git a/quiet_start.patch b/quiet_start.patch
deleted file mode 100644 (file)
index 109cb3c..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-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;
- }
diff --git a/reuse_session.patch b/reuse_session.patch
deleted file mode 100644 (file)
index 7d47ca9..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-Allow to reuse an existing session by fixing a bug in session comparison.
-See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=573258
-
-Index: xrdp/sesman/session.c
-===================================================================
---- xrdp.orig/sesman/session.c 2012-09-29 12:51:50.115200445 +0200
-+++ xrdp/sesman/session.c      2012-09-29 12:54:40.302890162 +0200
-@@ -56,6 +56,19 @@
- {
-   struct session_chain* tmp;
-+  /* convert from SCP_SESSION_TYPE namespace to SESMAN_SESSION_TYPE namespace */
-+  switch (type)
-+  {
-+    case SCP_SESSION_TYPE_XVNC:
-+      type = SESMAN_SESSION_TYPE_XVNC;
-+      break;
-+    case SCP_SESSION_TYPE_XRDP:
-+      type = SESMAN_SESSION_TYPE_XRDP;
-+      break;
-+    default:
-+      return 0;
-+  }
-+
-   /*THREAD-FIX require chain lock */
-   lock_chain_acquire();
index 7a1319c88d83b9135e96af8dd22191d19a0c6c8c..757d9de6b22823af8ee5ad4b6fa3d75771ccfb6b 100644 (file)
--- a/xrdp.spec
+++ b/xrdp.spec
@@ -1,26 +1,20 @@
 Summary:       Remote desktop server
 Summary(pl.UTF-8):     Serwer remote desktop
 Name:          xrdp
-Version:       0.6.1
-Release:       4
+Version:       0.9.7
+Release:       1
 License:       GPL
 Group:         X11/Applications/Networking
-Source0:       http://download.sourceforge.net/xrdp/%{name}-v%{version}.tar.gz
-# Source0-md5: 26099c6588943262023607c1b4e774d8
+Source0:       https://github.com/neutrinolabs/xrdp/releases/download/v%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: 5f8074a7bed8b45d43ef028748a86755
 Source1:       %{name}.init
 Source2:       %{name}.pamd
 Source3:       %{name}.README.TLD
 Source4:       %{name}.README.TLD.pl
 Source5:       startwm.sh
-Patch0:                format-security.patch
-Patch1:                build.patch
-Patch2:                link.patch
-Patch3:                quiet_start.patch
-Patch4:                default_keymap.patch
-Patch5:                pidfile_early.patch
-Patch6:                reuse_session.patch
-Patch7:                config.patch
-URL:           http://xrdp.sourceforge.net/
+Patch0:                config.patch
+Patch1:                quiet.patch
+URL:           http://www.xrdp.org/
 BuildRequires: autoconf
 BuildRequires: automake
 BuildRequires: freerdp-devel
@@ -28,6 +22,7 @@ BuildRequires:        libtool
 BuildRequires: openssl-devel
 BuildRequires: pam-devel
 BuildRequires: rpmbuild(macros) >= 1.268
+Requires:      xrdp-libs = %{version}-%{release}
 Requires(post,preun):  /sbin/chkconfig
 Requires:      /usr/bin/Xvnc
 Requires:      rc-scripts
@@ -51,16 +46,47 @@ klientami protokołu rdp Microsoftu.
 
 xrdp używa jako backendu Xvnc lub X11rdp.
 
+%package -n xrdp-libs
+Summary:        xrdp shared libraries
+Summary(pl.UTF-8):      Biblioteki współdzielone xrdp
+Group:          Libraries
+Requires(post,postun): /sbin/ldconfig
+
+%description -n xrdp-libs
+xrdp shared libraries.
+
+%description -n xrdp-libs -l pl.UTF-8
+Biblioteki współdzielone xrdp.
+
+%package -n xrdp-devel
+Summary:        Header files for xrdp libraries
+Summary(pl.UTF-8):      Pliki nagłówkowe bibliotek xrdp
+Group:          Development/Libraries
+Requires:       xrdp-libs = %{version}-%{release}
+
+%description -n xrdp-devel
+Header files for xrdp libraries.
+
+%description -n xrdp-devel -l pl.UTF-8
+Pliki nagłówkowe bibliotek xrdp.
+
+%package -n xrdp-static
+Summary:        Static xrdp libraries
+Summary(pl.UTF-8):      Statyczne biblioteki xrdp
+License:        LGPL v2.1
+Group:          Development/Libraries
+Requires:       xrdp-devel = %{version}-%{release}
+
+%description -n xrdp-static
+Static xrdp libraries.
+
+%description -n xrdp-static -l pl.UTF-8
+Statyczne biblioteki xrdp.
+
 %prep
-%setup -q -n %{name}-v%{version}
+%setup -q
 %patch0 -p1
 %patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
 
 install %{SOURCE3} README.TLD
 install %{SOURCE4} README.TLD.pl
@@ -77,7 +103,7 @@ install %{SOURCE4} README.TLD.pl
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_sysconfdir}/{%{name},pam.d,rc.d/init.d}
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/{%{name},pam.d,rc.d/init.d,security}
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
@@ -90,6 +116,8 @@ install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/sesman
 %{__rm} -f $RPM_BUILD_ROOT%{_sysconfdir}/xrdp/startwm.sh
 install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/xrdp/startwm.sh
 
+:> $RPM_BUILD_ROOT/etc/security/blacklist.sesman
+
 %post
 /sbin/chkconfig --add xrdp
 %service xrdp restart "xrdp server"
@@ -103,43 +131,45 @@ fi
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%post  -n xrdp-libs -p /sbin/ldconfig
+%postun        -n xrdp-libs -p /sbin/ldconfig
+
 %files
 %defattr(644,root,root,755)
 %doc *.txt
 %doc README.TLD
 %doc README.TLD.pl
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/sesman
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.sesman
 %attr(640,root,root) /etc/pam.d/xrdp-sesman
 %attr(754,root,root) /etc/rc.d/init.d/xrdp
 %dir %{_sysconfdir}/%{name}
-%config(noreplace) %{_sysconfdir}/%{name}/xrdp.ini
+%dir %{_sysconfdir}/%{name}/pulse
+%config(noreplace) %{_sysconfdir}/%{name}/cert.pem
+%config(noreplace) %{_sysconfdir}/%{name}/key.pem
 %config(noreplace) %{_sysconfdir}/%{name}/rsakeys.ini
 %config(noreplace) %{_sysconfdir}/%{name}/sesman.ini
-%{_sysconfdir}/%{name}/km-0407.ini
-%{_sysconfdir}/%{name}/km-0409.ini
-%{_sysconfdir}/%{name}/km-040c.ini
-%{_sysconfdir}/%{name}/km-0410.ini
-%{_sysconfdir}/%{name}/km-0419.ini
-%{_sysconfdir}/%{name}/km-041d.ini
+%config(noreplace) %{_sysconfdir}/%{name}/xrdp.ini
+%config(noreplace) %{_sysconfdir}/%{name}/xrdp_keyboard.ini
+%{_sysconfdir}/%{name}/km-*.ini
+%config(noreplace) %{_sysconfdir}/%{name}/pulse/default.pa
+%attr(755,root,root) %{_sysconfdir}/xrdp/reconnectwm.sh
 %attr(755,root,root) %{_sysconfdir}/xrdp/startwm.sh
 %attr(755,root,root) %{_bindir}/xrdp-dis
 %attr(755,root,root) %{_bindir}/xrdp-genkeymap
 %attr(755,root,root) %{_bindir}/xrdp-keygen
 %attr(755,root,root) %{_bindir}/xrdp-sesadmin
 %attr(755,root,root) %{_bindir}/xrdp-sesrun
-%attr(755,root,root) %{_bindir}/xrdp-sestest
 %attr(755,root,root) %{_sbindir}/xrdp
 %attr(755,root,root) %{_sbindir}/xrdp-chansrv
 %attr(755,root,root) %{_sbindir}/xrdp-sesman
-%attr(755,root,root) %{_sbindir}/xrdp-sessvc
 %dir %{_libdir}/xrdp
 %attr(755,root,root) %{_libdir}/xrdp/libcommon.so*
 %attr(755,root,root) %{_libdir}/xrdp/libmc.so*
-%attr(755,root,root) %{_libdir}/xrdp/librdp.so*
 %attr(755,root,root) %{_libdir}/xrdp/libscp.so*
 %attr(755,root,root) %{_libdir}/xrdp/libvnc.so*
 %attr(755,root,root) %{_libdir}/xrdp/libxrdp.so*
-%attr(755,root,root) %{_libdir}/xrdp/libxrdpfreerdp1.so*
+%attr(755,root,root) %{_libdir}/xrdp/libxrdpapi.so*
 %attr(755,root,root) %{_libdir}/xrdp/libxup.so*
 %dir %{_datadir}/xrdp
 %{_datadir}/xrdp/ad24b.bmp
@@ -149,8 +179,40 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/xrdp/sans-10.fv1
 %{_datadir}/xrdp/xrdp24b.bmp
 %{_datadir}/xrdp/xrdp256.bmp
+%{_datadir}/xrdp/xrdp_logo.bmp
+%{_mandir}/man1/xrdp-dis.1*
 %{_mandir}/man5/sesman.ini.5*
 %{_mandir}/man5/xrdp.ini.5*
+%{_mandir}/man8/xrdp-chansrv.8*
+%{_mandir}/man8/xrdp-genkeymap.8*
+%{_mandir}/man8/xrdp-keygen.8*
+%{_mandir}/man8/xrdp-sesadmin.8*
 %{_mandir}/man8/xrdp-sesman.8*
 %{_mandir}/man8/xrdp-sesrun.8*
 %{_mandir}/man8/xrdp.8*
+
+%files libs
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libpainter.so.*.*
+%attr(755,root,root) %{_libdir}/librfxencode.so.*.*
+
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libpainter.so
+%attr(755,root,root) %{_libdir}/librfxencode.so
+%{_includedir}/painter.h
+%{_includedir}/rfxcodec_common.h
+%{_includedir}/rfxcodec_decode.h
+%{_includedir}/rfxcodec_encode.h
+%{_includedir}/xrdp_client_info.h
+%{_includedir}/xrdp_constants.h
+%{_includedir}/xrdp_rail.h
+%{_includedir}/xrdp_sockets.h
+%{_pkgconfigdir}/libpainter.pc
+%{_pkgconfigdir}/rfxcodec.pc
+%{_pkgconfigdir}/xrdp.pc
+
+%files static
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libpainter.a
+%attr(755,root,root) %{_libdir}/librfxencode.a