Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/neutrinolabs/xrdp.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/xup
AgeCommit message (Collapse)Author
2022-07-11Refactoring resizing into state machine.Christopher Pitstick
- Fixes MSTSC resizing (with RFX as well). - Queue system so that resizes are processed when XRDP and the X server are ready, not immediately. - Deletes and recreates the encoder (RFX fix) - Introduces a dynamic_monitor_description struct that is used for the queue system. - Fix some lines previously introduced by the original resizing code to be 80 chars long, as is the standard for XRDP.
2022-05-18Unify connection fields for the connected clientmatt335672
The connected client is currently described in two places in the xrdp_client_info structure:- 1) In the connection_description field. This was introduced as field client_ip by commit d797b2cf497587355bbf25cd27d59edd1c3f2915 for xrdp v0.6.0 2) In the client_addr and client_port fields introduced by commit 25369460a1b2f204d03a6bc4821251d7ef2d7adf for xrdp v0.8.0 This commit unifies these two sets of fields into a single set of fields describing the connection IP and port (for AF_INET/AF_INET6 connections only) and a connection description for all connection types. The code in os_calls to provide client logging has been simplified somewhat which should make it easier to add new connection types (e.g. AF_VSOCK). The old connection_description field used to be passed to sesman to inform sesman of the IP address of the client, and also to provide a string for 'C' field session policy matching. 'C' field session policy matching does not actually need this string (see #2239), and so now only the IP field is passed to sesman.
2022-04-20Fix regression introduced with UDSmatt335672
2022-03-31Rework transport connect logicmatt335672
There are a number of ways the existing transport connect logic in trans_connect could be improved for POSIX compatibility, and also slightly tidied up:- 1) The same socket is re-used for multiple connect attempts following failure which isn't behaviour defined by POSIX.1-2017 (although it works on Linux). 2) An asynchronous connect is started, and then after a short delay connect() is called again on the same socket. POSIX.1-2017 is clear that in this situation EALREADY is returned before the connection is established, but is silent on the behaviour expected when the connection is established. Returning success is an option, but so is returning EISCONN. The current code assumes the connect() call will succeed. 3) The code contains two virtually identical, quite complex loops for TCP and UNIX sockets, differing only in the calls to create a socket and connect it. 4) trans_connect() contains looping and retry logic, but this isn't seen as sufficient by the chansrv connect code in xrdp/xrdp_mm.c and the Xorg connect code in xup/xup.c. Both of these implement their own looping and retry logic on top of the logic in trans_connect(), resulting in slightly unpredictable behaviour with regard to timeouts. 5) A socket number can technically be zero, but in a couple of places this isn't allowed for. This PR attempts to correct the implementation of trans_connect(), and also to simplify the areas it is called from. As part of the PR, the signature of the server_is_term member of the xrdp module interface is changed to match the signature expected by the is_term member of a struct trans. This allows for trans_connect() in xrdp modules to directly access g_is_term() within the main xrdp executable. At the moment this functionality is only used by the xup module.
2021-11-30Log error on failure to attach to shared memorymatt335672
2021-10-12Remove unnecessary error from neutrinordp logmatt335672
2021-06-08Add server_chansrv_in_use() to module interfacematt335672
2021-05-28Split development option into separate thingsmatt335672
2021-05-08Fixing formatting with astyleAlexandre Quesnel
2021-04-22Resolution switching without reconnecting.Christopher Pitstick
- Based on https://github.com/jsorg71/xrdp/tree/dynamic_monitor - Tested with xorgxrdp - Tested with vnc - Only works with single monitor. - Update documentation to clarify the difference between MSTSC and Microsoft Remote Desktop. - Does not include compatibility with /gfx at this time, which is still in testing. - Updates to include ms-rdpedisp.h header for the 2.2.2 specification of the protocol. - Adds new dynamic_monitor_layout struct that shares the number of monitors with xrdp_client_info.h - Does not allow for BPP changes because the RDP protocol doesn't support it. - Option to disable feature as NeutrinoRDP doesn't support it (It was based on FreeRDP 1.0.1 which didn't yet have this feature.) - Add CLIENT_MONITOR_DATA_MAXIMUM_MONITORS constant and reference spec definition. Depends on https://github.com/neutrinolabs/xorgxrdp/pull/183
2021-02-11Migrating logging to LOG() and LOG_DEVEL() in xup/*Alexandre Quesnel
2020-12-22Moved a lot of string funcs to string_calls modulematt335672
2020-10-20Improve source_info commenting and fix neutrino slow linkMatt Burt
2020-08-21Ensure copying of the whole username/passwordBolke de Bruin
2020-08-17Set max character buffer len to 512 per MS specificationbolkedebruin
The MS specs determine that the character buffer lenngths for usernames, domains, passwords, alternate shells, etc can be up to 512 characters including the mandatory null terminator.
2019-11-08xup: fix for when shmem_id changesJay Sorg
2019-07-11xup: check term event for more responsive shutdownJay Sorg
2019-04-26update the module versionJay Sorg
2019-04-26work on suppressJay Sorg
2018-01-30Make changes to generate dylibs in mac againVraiment
2017-03-14Eliminate APP_CC and DEFAULT_CCPavel Roskin
2017-03-04Include config_ac.h from all source filesPavel Roskin
2017-02-23change some casts to long longJay Sorg
2017-02-23fix warning new since stdint.h changeJay Sorg
2017-01-11Constify the value argument to mod_set_paramPavel Roskin
2017-01-06Suppress versioning for modules, tell libtool they are modulesPavel Roskin
Versioning is for libraries. Modules are not libraries; no code is linked against them. Libtool makes sure the modules can be opened by dlopen(). That is already true for ELF format, but other file formats may need special processing.
2017-01-04fix build with --enable-xrdpdebug=yesvolth
2017-01-04fix build with --enable-xrdpdebug=yesvolth
2016-07-08Declare unified module interface and use it in modulesPavel Roskin
This fixes loading modules compiled with a C++ compiler. Remote thandle type, it's unused. Use tintptr for module data. Don't cast pointers to long, they won't fit on Win64.
2016-07-08Cast the result of g_shmat() to the destination typePavel Roskin
2016-07-08Use g_new or g_new0 when C++ compiler would complain about implicit castPavel Roskin
2016-07-08Fix warnings detected by -Wwrite-stringsPavel Roskin
2016-05-07Return correct error code from process_server_paint_rect_shmem_ex()Pavel Roskin
2016-05-05Typo fixesPavel Roskin
2016-04-22Fix warnings about unused variables and functionsPavel Roskin
2016-04-22Fix more format warningsPavel Roskin
2016-02-22Move headers from EXTRA_DIST to sources, sort alphabeticallyPavel Roskin
There should be no functional difference.
2016-02-13Stop redefining libdir, use moduledir for ${libdir}/xrdpPavel Roskin
libdir is for shared and static libraries. Some xrdp libraries are loaded dynamically from a non-standard directory, so they are used like modules. Having separate libdir and moduledir would eventually allow to separate dynamically loaded modules from shared libraries.
2016-02-13Add missing spaces in the strings that are split for line wrappingPavel Roskin
2016-01-31Replace "charactor" with "character" everywherePavel Roskin
2016-01-30Merge AM_CFLAGS and INCLUDES info AM_CPPFLAGSPavel Roskin
AM_CPPFLAGS is for flags passed to the preprocessor, such as defines and includes. AM_CFLAGS is for flags affecting the compiler, such as debug and optimization settings. INCLUDES is an obsolete name. Users can pass INCLUDES and break compilation. AM_CPPFLAGS is more explicit that the flags come from Automake and should not be overridden.
2015-11-03xup: no logic change, add loggingJay Sorg
2015-07-19xup: fix for when Xorg/X11rdp to xup message payload is zeroJay Sorg
2015-07-13add timeout to trans_get_wait_objs_rwJay Sorg
2015-07-12update the copyright yearJay Sorg
2015-07-11set the source for xup moduleJay Sorg
2015-07-11update the module APIJay Sorg
2015-07-11xup: move to trans for ioJay Sorg
2015-02-10fix for case where shmget can return an shmid of zeroJay Sorg
2014-07-29coverity: uninitialized scalar variableLaxmikant Rashinkar