Hello community,

here is the log from the commit of package xorgxrdp for openSUSE:Factory 
checked in at 2017-10-03 23:17:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xorgxrdp (Old)
 and      /work/SRC/openSUSE:Factory/.xorgxrdp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xorgxrdp"

Tue Oct  3 23:17:44 2017 rev:3 rq:530424 version:0.2.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/xorgxrdp/xorgxrdp.changes        2017-09-05 
15:16:31.514230635 +0200
+++ /work/SRC/openSUSE:Factory/.xorgxrdp.new/xorgxrdp.changes   2017-10-03 
23:17:46.062342787 +0200
@@ -1,0 +2,6 @@
+Thu Sep 28 04:23:42 UTC 2017 - fezh...@suse.com
+
+- update to 0.2.4
+  + Implement disconnection by xrdp-dis command #51
+
+-------------------------------------------------------------------

Old:
----
  xorgxrdp-0.2.3.tar.gz
  xorgxrdp-0.2.3.tar.gz.asc

New:
----
  xorgxrdp-0.2.4.tar.gz
  xorgxrdp-0.2.4.tar.gz.asc

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

Other differences:
------------------
++++++ xorgxrdp.spec ++++++
--- /var/tmp/diff_new_pack.3IksZm/_old  2017-10-03 23:17:46.690254419 +0200
+++ /var/tmp/diff_new_pack.3IksZm/_new  2017-10-03 23:17:46.694253856 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           xorgxrdp
-Version:        0.2.3
+Version:        0.2.4
 Release:        0
 Summary:        Xorg drivers for xrdp
 License:        X11

++++++ xorgxrdp-0.2.3.tar.gz -> xorgxrdp-0.2.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xorgxrdp-0.2.3/README.md new/xorgxrdp-0.2.4/README.md
--- old/xorgxrdp-0.2.3/README.md        2017-07-13 08:45:00.000000000 +0200
+++ new/xorgxrdp-0.2.4/README.md        2017-09-14 09:28:53.000000000 +0200
@@ -1,6 +1,6 @@
 [![Build 
Status](https://travis-ci.org/neutrinolabs/xorgxrdp.svg?branch=devel)](https://travis-ci.org/neutrinolabs/xorgxrdp)
 
-*Current Version:* 0.2.3
+*Current Version:* 0.2.4
 
 # xorgxrdp
 
@@ -14,6 +14,8 @@
 xorgxrdp is to be used together with 
[xrdp](https://github.com/neutrinolabs/xrdp)
 and X.Org Server. It is pretty useless using xorgxrdp alone.
 
+![xorgxrdp 
overview](https://github.com/neutrinolabs/xorgxrdp/raw/gh-pages/docs/xorgxrdp_overview.png)
+
 ## Features
 
 xorgxrdp supports screen resizing. When an RDP client connects, the screen is
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xorgxrdp-0.2.3/configure new/xorgxrdp-0.2.4/configure
--- old/xorgxrdp-0.2.3/configure        2017-07-13 08:48:27.000000000 +0200
+++ new/xorgxrdp-0.2.4/configure        2017-09-19 09:55:06.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for xorgxrdp 0.2.3.
+# Generated by GNU Autoconf 2.69 for xorgxrdp 0.2.4.
 #
 # Report bugs to <xrdp-de...@googlegroups.com>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='xorgxrdp'
 PACKAGE_TARNAME='xorgxrdp'
-PACKAGE_VERSION='0.2.3'
-PACKAGE_STRING='xorgxrdp 0.2.3'
+PACKAGE_VERSION='0.2.4'
+PACKAGE_STRING='xorgxrdp 0.2.4'
 PACKAGE_BUGREPORT='xrdp-de...@googlegroups.com'
 PACKAGE_URL=''
 
@@ -1335,7 +1335,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures xorgxrdp 0.2.3 to adapt to many kinds of systems.
+\`configure' configures xorgxrdp 0.2.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1405,7 +1405,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of xorgxrdp 0.2.3:";;
+     short | recursive ) echo "Configuration of xorgxrdp 0.2.4:";;
    esac
   cat <<\_ACEOF
 
@@ -1529,7 +1529,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-xorgxrdp configure 0.2.3
+xorgxrdp configure 0.2.4
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1807,7 +1807,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by xorgxrdp $as_me 0.2.3, which was
+It was created by xorgxrdp $as_me 0.2.4, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2672,7 +2672,7 @@
 
 # Define the identity of the package.
  PACKAGE='xorgxrdp'
- VERSION='0.2.3'
+ VERSION='0.2.4'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -13521,7 +13521,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by xorgxrdp $as_me 0.2.3, which was
+This file was extended by xorgxrdp $as_me 0.2.4, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -13587,7 +13587,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-xorgxrdp config.status 0.2.3
+xorgxrdp config.status 0.2.4
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xorgxrdp-0.2.3/configure.ac 
new/xorgxrdp-0.2.4/configure.ac
--- old/xorgxrdp-0.2.3/configure.ac     2017-07-13 08:45:00.000000000 +0200
+++ new/xorgxrdp-0.2.4/configure.ac     2017-09-14 09:28:53.000000000 +0200
@@ -1,7 +1,7 @@
 # Process this file with autoconf to produce a configure script
 
 AC_PREREQ(2.65)
-AC_INIT([xorgxrdp], [0.2.3], [xrdp-de...@googlegroups.com])
+AC_INIT([xorgxrdp], [0.2.4], [xrdp-de...@googlegroups.com])
 AC_CONFIG_HEADERS(config_ac.h:config_ac-h.in)
 AM_INIT_AUTOMAKE([1.11 foreign parallel-tests])
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xorgxrdp-0.2.3/module/rdp.h 
new/xorgxrdp-0.2.4/module/rdp.h
--- old/xorgxrdp-0.2.3/module/rdp.h     2017-06-14 02:29:25.000000000 +0200
+++ new/xorgxrdp-0.2.4/module/rdp.h     2017-09-07 06:29:48.000000000 +0200
@@ -270,6 +270,8 @@
 
     int listen_sck;
     char uds_data[256];
+    int disconnect_sck;
+    char disconnect_uds[256];
     rdpClientCon *clientConHead;
     rdpClientCon *clientConTail;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xorgxrdp-0.2.3/module/rdpClientCon.c 
new/xorgxrdp-0.2.4/module/rdpClientCon.c
--- old/xorgxrdp-0.2.3/module/rdpClientCon.c    2017-06-14 02:29:25.000000000 
+0200
+++ new/xorgxrdp-0.2.4/module/rdpClientCon.c    2017-09-07 06:29:48.000000000 
+0200
@@ -1066,6 +1066,7 @@
     int max;
     int sel;
     int count;
+    char buf[8];
 
     LLOGLN(10, ("rdpClientConCheck:"));
     dev = rdpGetDevFromScreen(pScreen);
@@ -1074,6 +1075,14 @@
     FD_ZERO(&rfds);
     count = 0;
     max = 0;
+
+    if (dev->disconnect_sck > 0)
+    {
+        count++;
+        FD_SET(LTOUI32(dev->disconnect_sck), &rfds);
+        max = RDPMAX(dev->disconnect_sck, max);
+    }
+
     if (dev->listen_sck > 0)
     {
         count++;
@@ -1116,6 +1125,7 @@
         LLOGLN(10, ("rdpClientConCheck: no select"));
         return 0;
     }
+
     if (dev->listen_sck > 0)
     {
         if (FD_ISSET(LTOUI32(dev->listen_sck), &rfds))
@@ -1123,6 +1133,27 @@
             rdpClientConGotConnection(pScreen, dev);
         }
     }
+
+    if (dev->disconnect_sck > 0)
+    {
+        if (FD_ISSET(LTOUI32(dev->disconnect_sck), &rfds))
+        {
+
+            if (g_sck_recv(dev->disconnect_sck, buf, sizeof(buf), 0))
+            {
+                LLOGLN(0, ("rdpClientConCheck: got disconnection request"));
+
+                /* disconnect all clients */
+                clientCon = dev->clientConHead;
+                while (clientCon != NULL)
+                {
+                    rdpClientConDisconnect(dev, clientCon);
+                    clientCon = clientCon->next;
+                }
+            }
+        }
+    }
+
     clientCon = dev->clientConHead;
     while (clientCon != NULL)
     {
@@ -1182,7 +1213,7 @@
         {
             if (!g_directory_exist(socket_dir))
             {
-                LLOGLN(0, ("rdpup_init: g_create_dir(%s) failed", socket_dir));
+                LLOGLN(0, ("rdpClientConInit: g_create_dir(%s) failed", 
socket_dir));
                 return 0;
             }
         }
@@ -1194,6 +1225,8 @@
         LLOGLN(0, ("rdpClientConInit: can not run at display < 1"));
         return 0;
     }
+
+    /* TODO: don't hardcode socket name */
     g_sprintf(dev->uds_data, "%s/xrdp_display_%s", socket_dir, display);
     if (dev->listen_sck == 0)
     {
@@ -1208,6 +1241,21 @@
         rdpClientConAddEnabledDevice(dev->pScreen, dev->listen_sck);
     }
 
+    /* disconnect socket */ /* TODO: don't hardcode socket name */
+    g_sprintf(dev->disconnect_uds, "%s/xrdp_disconnect_display_%s", 
socket_dir, display);
+    if (dev->disconnect_sck == 0)
+    {
+        unlink(dev->disconnect_uds);
+        dev->disconnect_sck = g_sck_local_socket_dgram();
+        if (g_sck_local_bind(dev->disconnect_sck, dev->disconnect_uds) != 0)
+        {
+            LLOGLN(0, ("rdpClientConInit: g_tcp_local_bind failed at %s:%d", 
__FILE__, __LINE__));
+            return 1;
+        }
+        g_sck_listen(dev->disconnect_sck);
+        rdpClientConAddEnabledDevice(dev->pScreen, dev->disconnect_sck);
+    }
+
     ptext = getenv("XRDP_SESMAN_MAX_DISC_TIME");
     if (ptext != 0)
     {
@@ -1261,6 +1309,15 @@
         LLOGLN(0, ("rdpClientConDeinit: deleting file %s", dev->uds_data));
         unlink(dev->uds_data);
     }
+
+    if (dev->disconnect_sck != 0)
+    {
+        rdpClientConRemoveEnabledDevice(dev->disconnect_sck);
+        g_sck_close(dev->disconnect_sck);
+        LLOGLN(0, ("rdpClientConDeinit: deleting file %s", 
dev->disconnect_uds));
+        unlink(dev->disconnect_uds);
+    }
+
     return 0;
 }
 


Reply via email to