Hello community,

here is the log from the commit of package xrdp for openSUSE:Factory checked in 
at 2020-09-21 17:21:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xrdp (Old)
 and      /work/SRC/openSUSE:Factory/.xrdp.new.4249 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xrdp"

Mon Sep 21 17:21:42 2020 rev:38 rq:835319 version:0.9.14

Changes:
--------
--- /work/SRC/openSUSE:Factory/xrdp/xrdp.changes        2020-07-28 
17:25:57.385946810 +0200
+++ /work/SRC/openSUSE:Factory/.xrdp.new.4249/xrdp.changes      2020-09-21 
17:24:39.687986134 +0200
@@ -1,0 +2,34 @@
+Fri Sep 18 04:21:28 UTC 2020 - Felix Zhang <[email protected]>
+
+- Add xrdp-buildfix.patch: fix a declaration conflict #1691
+
+-------------------------------------------------------------------
+Mon Sep 14 04:04:20 UTC 2020 - Felix Zhang <[email protected]>
+
+- Update to version 0.9.14
+  + New features
+    - Multi monitor and resize support for Xvnc backend #1343
+      For more details see
+      
https://github.com/neutrinolabs/xrdp/wiki/Xvnc-backend-:-Multi-monitor-and-resize-support
+    - Support Programmer Dvorak Keyboard #1663
+  + Bug fixes
+    - Fix odd shift key behavior (workaround) #397 #1522
+    - Fix internal username/password buffer is smaller than RDP
+      protocol specification #1648 #1653
+    - Fix possible memory out-of-bounds accesses #1549
+    - Fix memory allocation overflow #1557
+    - Prevent chansrv input channels being scanned during a server
+      reset #1595
+    - Ignore TS_MULTIFRAGMENTUPDATE_CAPABILITYSET from client if fp
+      disabled #1593
+  + Known issues
+    - FreeRDP 2.0.0-rc4 or later might not able to connect to xrdp
+      due to xrdp's bad-mannered behaviour, add +glyph-cache option
+      to FreeRDP to connect #1266
+    - Audio redirection by MP3 codec doesn't sound with some
+      client, use AAC instead #965
+- Drop xrdp-fate319683-allow-vnc-resizing.patch: fixed upstream
+- Rebase xrdp-default-config.patch
+- Rebase xrdp-disable-8-bpp-vnc-support.patch
+- Rebase xrdp-fate318398-change-expired-password.patch
+

Old:
----
  xrdp-0.9.13.1.tar.gz
  xrdp-0.9.13.1.tar.gz.asc
  xrdp-fate319683-allow-vnc-resizing.patch

New:
----
  xrdp-0.9.14.tar.gz
  xrdp-0.9.14.tar.gz.asc
  xrdp-buildfix.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xrdp.spec ++++++
--- /var/tmp/diff_new_pack.EjEPzl/_old  2020-09-21 17:24:42.623988400 +0200
+++ /var/tmp/diff_new_pack.EjEPzl/_new  2020-09-21 17:24:42.627988402 +0200
@@ -22,7 +22,7 @@
 %endif
 
 Name:           xrdp
-Version:        0.9.13.1
+Version:        0.9.14
 Release:        0
 Summary:        Remote desktop protocol (RDP) server
 License:        Apache-2.0 AND GPL-2.0-or-later
@@ -52,8 +52,7 @@
 Patch13:        xrdp-bsc965647-allow-admin-choose-desktop.patch
 # PATCH-FEATURE-SLE xrdp-fate318398-change-expired-password.patch fate#318398 
- [email protected] -- enable user to update expired password via PAM
 Patch14:        xrdp-fate318398-change-expired-password.patch
-# PATCH-FEATURE-SLE xrdp-fate319683-allow-vnc-resizing.patch fate#319683 
bsc#948062 - [email protected] -- allow resizing in VNC sessions.
-Patch15:        xrdp-fate319683-allow-vnc-resizing.patch
+Patch16:        xrdp-buildfix.patch
 BuildRequires:  autoconf
 BuildRequires:  automake
 BuildRequires:  fdupes
@@ -110,8 +109,8 @@
 %patch12 -p1
 %patch13 -p1
 %patch14 -p1
-%patch15 -p1
 %endif
+%patch16 -p1
 
 %build
 sh ./bootstrap

++++++ xrdp-0.9.13.1.tar.gz -> xrdp-0.9.14.tar.gz ++++++
++++ 5068 lines of diff (skipped)

++++++ xrdp-buildfix.patch ++++++
Index: b/genkeymap/genkeymap.c
===================================================================
--- a/genkeymap/genkeymap.c     2020-08-26 10:32:21.000000000 +0800
+++ b/genkeymap/genkeymap.c     2020-09-14 13:38:46.498825240 +0800
@@ -44,7 +44,7 @@
 #include <X11/XKBlib.h>
 #include <locale.h>
 
-extern int xfree86_to_evdev[137-8];
+extern int xfree86_to_evdev[137-8+1];
 
 int main(int argc, char **argv)
 {
++++++ xrdp-default-config.patch ++++++
--- /var/tmp/diff_new_pack.EjEPzl/_old  2020-09-21 17:24:42.987988681 +0200
+++ /var/tmp/diff_new_pack.EjEPzl/_new  2020-09-21 17:24:42.987988681 +0200
@@ -1,8 +1,8 @@
 Index: b/sesman/sesman.ini
 ===================================================================
---- a/sesman/sesman.ini        2018-12-27 17:50:27.173173569 +0800
-+++ b/sesman/sesman.ini        2018-12-27 17:51:31.737663351 +0800
-@@ -24,7 +24,7 @@ AlwaysGroupCheck=false
+--- a/sesman/sesman.ini        2020-09-14 13:14:33.645606549 +0800
++++ b/sesman/sesman.ini        2020-09-14 13:14:43.105484131 +0800
+@@ -27,7 +27,7 @@ RestrictOutboundClipboard=false
  ;; X11DisplayOffset - x11 display number offset
  ; Type: integer
  ; Default: 10
@@ -11,7 +11,7 @@
  
  ;; MaxSessions - maximum number of connections to an xrdp server
  ; Type: integer
-@@ -62,9 +62,9 @@ Policy=Default
+@@ -65,9 +65,9 @@ Policy=Default
  
  [Logging]
  LogFile=xrdp-sesman.log
@@ -26,9 +26,9 @@
  ; Session definitions - startup command-line parameters for each session type
 Index: b/xrdp/xrdp.ini
 ===================================================================
---- a/xrdp/xrdp.ini    2018-12-27 17:50:27.173173569 +0800
-+++ b/xrdp/xrdp.ini    2018-12-27 17:57:38.260447082 +0800
-@@ -76,7 +76,7 @@ grey=dedede
+--- a/xrdp/xrdp.ini    2020-09-14 13:14:33.645606549 +0800
++++ b/xrdp/xrdp.ini    2020-09-14 13:14:43.105484131 +0800
+@@ -101,7 +101,7 @@ grey=dedede
  #ls_title=My Login Title
  
  ; top level window background color in RGB format
@@ -37,7 +37,7 @@
  
  ; width and height of login screen
  ls_width=350
-@@ -119,9 +119,9 @@ ls_btn_cancel_height=30
+@@ -144,9 +144,9 @@ ls_btn_cancel_height=30
  
  [Logging]
  LogFile=xrdp.log
@@ -50,37 +50,3 @@
  ; LogLevel and SysLogLevel could by any of: core, error, warning, info or 
debug
  
  [Channels]
-@@ -153,24 +153,24 @@ tcutils=true
- ; 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
-+[Xvnc]
-+name=Xvnc
-+lib=libvnc.so
- username=ask
- password=ask
- ip=127.0.0.1
- port=-1
--code=20
-+#xserverbpp=24
-+delay_ms=2000
- 
--[Xvnc]
--name=Xvnc
--lib=libvnc.so
-+[Xorg]
-+name=Xorg
-+lib=libxup.so
- username=ask
- password=ask
- ip=127.0.0.1
- port=-1
--#xserverbpp=24
--#delay_ms=2000
-+code=20
- 
- [vnc-any]
- name=vnc-any

++++++ xrdp-disable-8-bpp-vnc-support.patch ++++++
--- /var/tmp/diff_new_pack.EjEPzl/_old  2020-09-21 17:24:42.991988683 +0200
+++ /var/tmp/diff_new_pack.EjEPzl/_new  2020-09-21 17:24:42.995988687 +0200
@@ -10,15 +10,17 @@
  vnc/vnc.c | 8 ++++++--
  1 file changed, 6 insertions(+), 2 deletions(-)
 
-diff --git a/vnc/vnc.c b/vnc/vnc.c
-index b0eb29b3..db593da0 100644
---- a/vnc/vnc.c
-+++ b/vnc/vnc.c
-@@ -1011,15 +1011,19 @@ lib_mod_connect(struct vnc *v)
-     /* check if bpp is supported for rdp connection */
+Index: b/vnc/vnc.c
+===================================================================
+--- a/vnc/vnc.c        2020-09-14 13:20:01.611135290 +0800
++++ b/vnc/vnc.c        2020-09-14 13:24:50.515034607 +0800
+@@ -1914,13 +1914,16 @@ lib_mod_connect(struct vnc *v)
      switch (v->server_bpp)
      {
--        case 8:
+         case 8:
++            v->server_msg(v, "VNC error - 8 bpp support is dropped "
++                          "since Xvnc 1.4.0", 0);
++            return 1;
          case 15:
          case 16:
          case 24:
@@ -28,11 +30,5 @@
 -            v->server_msg(v, "VNC error - only supporting 8, 15, 16, 24 and 
32 "
 +            v->server_msg(v, "VNC error - only supporting 15, 16, 24 and 32 "
                            "bpp rdp connections", 0);
-+            if (v->server_bpp == 8)
-+            {
-+                v->server_msg(v, "VNC error - 8 bpp support is dropped "
-+                              "since Xvnc 1.4.0", 0);
-+            }
-         return 1;
+             return 1;
      }
-

++++++ xrdp-fate318398-change-expired-password.patch ++++++
--- /var/tmp/diff_new_pack.EjEPzl/_old  2020-09-21 17:24:43.003988693 +0200
+++ /var/tmp/diff_new_pack.EjEPzl/_new  2020-09-21 17:24:43.003988693 +0200
@@ -1,7 +1,7 @@
-Index: xrdp-0.9.13.1/sesman/auth.h
+Index: xrdp-0.9.14/sesman/auth.h
 ===================================================================
---- xrdp-0.9.13.1.orig/sesman/auth.h
-+++ xrdp-0.9.13.1/sesman/auth.h
+--- xrdp-0.9.14.orig/sesman/auth.h
++++ xrdp-0.9.14/sesman/auth.h
 @@ -106,4 +106,6 @@ auth_check_pwd_chg(const char *user);
  int
  auth_change_pwd(const char *user, const char *newpwd);
@@ -9,10 +9,10 @@
 +int
 +auth_change_pwd_pam(char* user, char* pass, char* newpwd);
  #endif
-Index: xrdp-0.9.13.1/sesman/libscp/libscp_session.c
+Index: xrdp-0.9.14/sesman/libscp/libscp_session.c
 ===================================================================
---- xrdp-0.9.13.1.orig/sesman/libscp/libscp_session.c
-+++ xrdp-0.9.13.1/sesman/libscp/libscp_session.c
+--- xrdp-0.9.14.orig/sesman/libscp/libscp_session.c
++++ xrdp-0.9.14/sesman/libscp/libscp_session.c
 @@ -75,6 +75,10 @@ scp_session_set_type(struct SCP_SESSION
              s->type = SCP_GW_AUTHENTICATION;
              break;
@@ -57,10 +57,10 @@
      return 0;
  }
  
-Index: xrdp-0.9.13.1/sesman/libscp/libscp_types.h
+Index: xrdp-0.9.14/sesman/libscp/libscp_types.h
 ===================================================================
---- xrdp-0.9.13.1.orig/sesman/libscp/libscp_types.h
-+++ xrdp-0.9.13.1/sesman/libscp/libscp_types.h
+--- xrdp-0.9.14.orig/sesman/libscp/libscp_types.h
++++ xrdp-0.9.14/sesman/libscp/libscp_types.h
 @@ -47,6 +47,7 @@
   * XRDP sends this command to let sesman verify if the user is allowed
   * to use the gateway */
@@ -77,10 +77,10 @@
    char* hostname;
    tui8  addr_type;
    tui32 ipv4addr;
-Index: xrdp-0.9.13.1/sesman/libscp/libscp_v0.c
+Index: xrdp-0.9.14/sesman/libscp/libscp_v0.c
 ===================================================================
---- xrdp-0.9.13.1.orig/sesman/libscp/libscp_v0.c
-+++ xrdp-0.9.13.1/sesman/libscp/libscp_v0.c
+--- xrdp-0.9.14.orig/sesman/libscp/libscp_v0.c
++++ xrdp-0.9.14/sesman/libscp/libscp_v0.c
 @@ -383,9 +383,9 @@ scp_v0s_init_session(struct SCP_CONNECTI
              }
          }
@@ -133,10 +133,10 @@
      out_uint16_be(c->out_s, value);  /* reply code  */
      out_uint16_be(c->out_s, 0);  /* dummy data */
      s_mark_end(c->out_s);
-Index: xrdp-0.9.13.1/sesman/libscp/libscp_v0.h
+Index: xrdp-0.9.14/sesman/libscp/libscp_v0.h
 ===================================================================
---- xrdp-0.9.13.1.orig/sesman/libscp/libscp_v0.h
-+++ xrdp-0.9.13.1/sesman/libscp/libscp_v0.h
+--- xrdp-0.9.14.orig/sesman/libscp/libscp_v0.h
++++ xrdp-0.9.14/sesman/libscp/libscp_v0.h
 @@ -79,6 +79,6 @@ scp_v0s_deny_connection(struct SCP_CONNE
   * @return
   */
@@ -145,10 +145,10 @@
 +scp_v0s_replyauthentication(struct SCP_CONNECTION* c, unsigned short int 
value, tui8 type);
  
  #endif
-Index: xrdp-0.9.13.1/sesman/scp_v0.c
+Index: xrdp-0.9.14/sesman/scp_v0.c
 ===================================================================
---- xrdp-0.9.13.1.orig/sesman/scp_v0.c
-+++ xrdp-0.9.13.1/sesman/scp_v0.c
+--- xrdp-0.9.14.orig/sesman/scp_v0.c
++++ xrdp-0.9.14/sesman/scp_v0.c
 @@ -42,6 +42,13 @@ scp_v0_process(struct SCP_CONNECTION *c,
      int errorcode = 0;
      bool_t do_auth_end = 1;
@@ -189,19 +189,19 @@
          }
      }
      else if (data)
-Index: xrdp-0.9.13.1/sesman/verify_user_pam.c
+Index: xrdp-0.9.14/sesman/verify_user_pam.c
 ===================================================================
---- xrdp-0.9.13.1.orig/sesman/verify_user_pam.c
-+++ xrdp-0.9.13.1/sesman/verify_user_pam.c
-@@ -38,6 +38,7 @@ struct t_user_pass
+--- xrdp-0.9.14.orig/sesman/verify_user_pam.c
++++ xrdp-0.9.14/sesman/verify_user_pam.c
+@@ -41,6 +41,7 @@ struct t_user_pass
  {
-     char user[256];
-     char pass[256];
-+    char newpwd[256];
+     char user[MAX_BUF];
+     char pass[MAX_BUF];
++    char newpwd[MAX_BUF];
  };
  
  struct t_auth_info
-@@ -86,6 +87,55 @@ verify_pam_conv(int num_msg, const struc
+@@ -89,6 +90,55 @@ verify_pam_conv(int num_msg, const struc
  }
  
  
/******************************************************************************/
@@ -257,7 +257,7 @@
  static void
  get_service_name(char *service_name)
  {
-@@ -103,6 +153,52 @@ get_service_name(char *service_name)
+@@ -106,6 +156,52 @@ get_service_name(char *service_name)
  }
  
  
/******************************************************************************/
@@ -310,10 +310,10 @@
  /* returns long, zero is no go
   Stores the detailed error code in the errorcode variable*/
  
-Index: xrdp-0.9.13.1/xrdp/xrdp_login_wnd.c
+Index: xrdp-0.9.14/xrdp/xrdp_login_wnd.c
 ===================================================================
---- xrdp-0.9.13.1.orig/xrdp/xrdp_login_wnd.c
-+++ xrdp-0.9.13.1/xrdp/xrdp_login_wnd.c
+--- xrdp-0.9.14.orig/xrdp/xrdp_login_wnd.c
++++ xrdp-0.9.14/xrdp/xrdp_login_wnd.c
 @@ -187,7 +187,14 @@ xrdp_wm_cancel_clicked(struct xrdp_bitma
      {
          if (wnd->wm != 0)
@@ -498,10 +498,10 @@
  
  /**
   * Load configuration from xrdp.ini file
-Index: xrdp-0.9.13.1/xrdp/xrdp_mm.c
+Index: xrdp-0.9.14/xrdp/xrdp_mm.c
 ===================================================================
---- xrdp-0.9.13.1.orig/xrdp/xrdp_mm.c
-+++ xrdp-0.9.13.1/xrdp/xrdp_mm.c
+--- xrdp-0.9.14.orig/xrdp/xrdp_mm.c
++++ xrdp-0.9.14/xrdp/xrdp_mm.c
 @@ -1781,7 +1781,7 @@ xrdp_mm_sesman_data_in(struct trans *tra
  /*********************************************************************/
  /* return 0 on success */
@@ -578,7 +578,7 @@
              g_strncpy(pam_auth_username, value, 255);
          }
          else if (g_strcasecmp(name, "pamsessionmng") == 0)
-@@ -2240,45 +2253,56 @@ xrdp_mm_connect(struct xrdp_mm *self)
+@@ -2240,45 +2253,55 @@ xrdp_mm_connect(struct xrdp_mm *self)
      }
  
  #ifndef USE_NOPAM
@@ -590,7 +590,6 @@
 -        xrdp_wm_log_msg(self->wm, LOG_LEVEL_DEBUG,
 -                        "Please wait, we now perform access control...");
 +    int reply;
-+    char replytxt[128];
 +    char pam_error[128];
 +    const char *additionalError;
 +    xrdp_wm_log_msg(self->wm, LOG_LEVEL_INFO, "Please wait, we now perform 
access control...");
@@ -666,7 +665,7 @@
      }
  #endif
  
-@@ -2374,6 +2398,59 @@ xrdp_mm_connect(struct xrdp_mm *self)
+@@ -2374,6 +2397,59 @@ xrdp_mm_connect(struct xrdp_mm *self)
      return rv;
  }
  
@@ -679,7 +678,6 @@
 +    int index;
 +    int count;
 +    int old_idx;
-+    int new_idx;
 +    char *username;
 +    char *password;
 +    char *newpass;
@@ -687,8 +685,10 @@
 +    char *name;
 +    char *value;
 +
++    old_idx = -1;
 +    username = 0;
 +    password = 0;
++    newpass = 0;
 +    count = self->login_names->count;
 +
 +    for (index = 0; index < count; index++)
@@ -708,12 +708,11 @@
 +        else if (g_strcasecmp(name, "newpass") == 0)
 +        {
 +            newpass = value;
-+            new_idx = index;
 +        }
 +        g_strncpy(sessionIP, "127.0.0.1", 255);
 +    }
 +    rv = access_control(username, password, newpass, sessionIP, 5);
-+    if (rv == 0)
++    if (rv == 0 && old_idx >= 0 && old_idx < count && password != 0)
 +    {
 +        list_remove_item (self->login_names, old_idx);
 +        list_remove_item (self->login_values, old_idx);
@@ -726,10 +725,10 @@
  
/*****************************************************************************/
  int
  xrdp_mm_get_wait_objs(struct xrdp_mm *self,
-Index: xrdp-0.9.13.1/xrdp/xrdp_types.h
+Index: xrdp-0.9.14/xrdp/xrdp_types.h
 ===================================================================
---- xrdp-0.9.13.1.orig/xrdp/xrdp_types.h
-+++ xrdp-0.9.13.1/xrdp/xrdp_types.h
+--- xrdp-0.9.14.orig/xrdp/xrdp_types.h
++++ xrdp-0.9.14/xrdp/xrdp_types.h
 @@ -329,6 +329,7 @@ struct xrdp_wm
    struct xrdp_cache* cache;
    int palette[256];
@@ -738,11 +737,11 @@
    /* generic colors */
    int black;
    int grey;
-Index: xrdp-0.9.13.1/xrdp/xrdp_wm.c
+Index: xrdp-0.9.14/xrdp/xrdp_wm.c
 ===================================================================
---- xrdp-0.9.13.1.orig/xrdp/xrdp_wm.c
-+++ xrdp-0.9.13.1/xrdp/xrdp_wm.c
-@@ -1990,6 +1990,34 @@ xrdp_wm_login_mode_changed(struct xrdp_w
+--- xrdp-0.9.14.orig/xrdp/xrdp_wm.c
++++ xrdp-0.9.14/xrdp/xrdp_wm.c
+@@ -1996,6 +1996,34 @@ xrdp_wm_login_mode_changed(struct xrdp_w
          self->dragging = 0;
          xrdp_wm_set_login_mode(self, 11);
      }
@@ -777,7 +776,7 @@
  
      return 0;
  }
-@@ -2034,11 +2062,19 @@ xrdp_wm_log_wnd_notify(struct xrdp_bitma
+@@ -2040,11 +2068,19 @@ xrdp_wm_log_wnd_notify(struct xrdp_bitma
              xrdp_bitmap_invalidate(wm->screen, &rect);
  
              /* if module is gone, reset the session when ok is clicked */
@@ -798,7 +797,7 @@
              }
          }
      }
-@@ -2100,6 +2136,9 @@ xrdp_wm_show_log(struct xrdp_wm *self)
+@@ -2106,6 +2142,9 @@ xrdp_wm_show_log(struct xrdp_wm *self)
          return 0;
      }
  
@@ -808,3 +807,39 @@
      if (self->log_wnd == 0)
      {
          w = DEFAULT_WND_LOG_W;
+Index: xrdp-0.9.14/xrdp/xrdp.h
+===================================================================
+--- xrdp-0.9.14.orig/xrdp/xrdp.h
++++ xrdp-0.9.14/xrdp/xrdp.h
+@@ -360,6 +360,8 @@ int
+ xrdp_login_wnd_create(struct xrdp_wm* self);
+ int
+ load_xrdp_config(struct xrdp_config *config, int bpp);
++int
++xrdp_newpass_wnd_create(struct xrdp_wm *self);
+ 
+ /* xrdp_bitmap_compress.c */
+ int
+@@ -394,6 +396,8 @@ xrdp_mm_check_wait_objs(struct xrdp_mm*
+ int
+ xrdp_mm_frame_ack(struct xrdp_mm *self, int frame_id);
+ int
++xrdp_mm_change_expired_password(struct xrdp_mm *self);
++int
+ server_begin_update(struct xrdp_mod* mod);
+ int
+ server_end_update(struct xrdp_mod* mod);
+Index: xrdp-0.9.14/sesman/libscp/libscp_session.h
+===================================================================
+--- xrdp-0.9.14.orig/sesman/libscp/libscp_session.h
++++ xrdp-0.9.14/sesman/libscp/libscp_session.h
+@@ -94,6 +94,9 @@ scp_session_set_errstr(struct SCP_SESSIO
+ int
+ scp_session_set_guid(struct SCP_SESSION *s, const tui8 *guid);
+ 
++int
++scp_session_set_newpass(struct SCP_SESSION *s, char *str);
++
+ /**
+  *
+  * @brief destroys a session object



Reply via email to