Commit Graph

683 Commits (171f8e79ed76113bdfb8fa6d89822647ab31b297)

Author SHA1 Message Date
Pavel Roskin 43899b7e0c Allocate space for tls_ciphers dynamically 8 years ago
Pavel Roskin 58c9cb43e9 Make socket directory configurable, don't hardcode /tmp/.xrdp
Use XRDP_SOCKET_PATH in file_loc.h

Don't define any non-socket paths in file_loc.h, they should come from
the makefiles.

Define all paths unconditionally, they should not be defined elsewhere.

Pass XRDP_SOCKET_PATH as environment variable to the backends.
8 years ago
Koichiro IWAO a2d9272bc9 Propel xorgxrdp as default backend, give xorgxrdp the first place 8 years ago
Pavel Roskin 6ed4c969f4 Eliminate APP_CC and DEFAULT_CC 8 years ago
Pavel Roskin 8be83473b7 Call log_end() on xrdp exit 8 years ago
Jay Sorg 3f14559822 frame ack code cleanup, add comments for possible client acks, when pointer, use NULL, not 0 8 years ago
Jay Sorg 3ac0120fe7 add xrdp_mm_process_enc_done for processing encoder output 8 years ago
Jay Sorg e0583f606a checkup frame ack code, combine dup code 8 years ago
Jay Sorg 3b056ec052 frame ack fix change, cleanup 8 years ago
Pavel Roskin 30a7a947b1 Don't include config_ac.h from any header files 8 years ago
Pavel Roskin b2d3dcf169 Include config_ac.h from all source files 8 years ago
Koichiro IWAO 849c1a22a2 TLS: switch ssl_protocols to a comma separated list 8 years ago
Koichiro IWAO 03b5be5fd0 docs: document maximum length of tls_ciphers 8 years ago
Koichiro IWAO e94ab10e14 TLS: new method to specify SSL/TLS version
SSL/TLS protocols only listed in ssl_protocols should be used.
The name "ssl_protocols" comes from nginx.

Resolves #428.
8 years ago
Jay Sorg b8c79452f6 encoder, remove check for UINT16_MAX, not really needed 8 years ago
Jay Sorg 79796b77b7 changes and cleanup to process_enc_rfx 8 years ago
Jay Sorg 8c0dcbbd4f fix for frames in flight = 0 8 years ago
Jay Sorg 815b9b8bb8 frame ack change for slow client falling behind 8 years ago
Jay Sorg fde04e802c rfx fixes for large tile sets, performance change, Xorg will start next frame earlier 8 years ago
Jay Sorg 7825246d7a fix warning new since stdint.h change 8 years ago
Koichiro IWAO 2424a9c020 Workaround for a regression of JP keyboard detection #663
caused by 9c31bd5.  This is not a complete fix but just a workaround
because keylayout value of Japanese keyboard can be other than these
4 values. This workaround still doesn't cover all JP keyboards.

  - 0x00000411
  - 0xe0010411
  - 0xe0200411
  - 0xe0210411

Looking for `0411` in lower 16 bits is enough to detect JP keyboards.
8 years ago
Pavel Roskin 8a1de8dbc4 Remove trailing whitespace 8 years ago
Pavel Roskin 130fa12845 Don't use ACCESS macro
ACCESS is defined unconditionally in the files that use it. No comments
exist about that macro. The code guarded by the macro is PAM related.
8 years ago
Pavel Roskin 0bb048d35e Fix several cases of discarding return values 8 years ago
Idan Freiberg 6a5f90ca6e Merge pull request #636 from proski/painter
Fix incorrect argument to painter_line()
8 years ago
Idan Freiberg 482671fd18 Merge pull request #625 from speidy/proxy_session_info
Pass session info in proxy mode
8 years ago
Pavel Roskin 6807b616ed Fix incorrect argument to painter_line() 8 years ago
Pavel Roskin 2b614ed4ab Remove librdp.so sources, it's obsoleted by neutrinordp
Remove "rdp-any" section from xrdp.ini.
8 years ago
Pavel Roskin 0799523c13 List shorthand versions of command line switches in the help text 8 years ago
Pavel Roskin 9d162d7301 Implement "-n" alias for "--nodaemon" as documented in the manpage 8 years ago
Idan Freiberg a64e1789c5 Merge pull request #615 from speidy/channels_fixes
Channels improvements
8 years ago
Jay Sorg 6f74efa70a add session_info
Conflicts:
	libxrdp/libxrdp.h
8 years ago
Pavel Roskin d46a26c1c3 Don't call file_read_section() on unitialized section name
This can only happen if xrdp.ini is corrupted and has no sections for
backends.
8 years ago
Pavel Roskin b8ed23daab Constify the value argument to mod_set_param 8 years ago
Ricardo Duarte a959a9f851 Move mouse before click 8 years ago
speidy a82d412754 libxrdp: channels, respect xrdp.ini channel blocking also for data
coming in from chansrv
8 years ago
jsorg71 15a24ff1c4 Merge pull request #612 from proski/includes
Use <> for system includes, move system includes above local ones
8 years ago
jsorg71 5194311d9d Merge pull request #611 from volth/support-enable-xrdpdebug=yes-2
fix build with --enable-xrdpdebug=yes
8 years ago
Pavel Roskin 7ba3610787 Use <> for system includes, move system includes above local ones 8 years ago
volth 26a26ef906 fix build with --enable-xrdpdebug=yes 8 years ago
speidy 70e9132ab1 xrdp: add some logging, remove unused var 8 years ago
speidy 1f930f252f xrdp: fix for codec frame acks handling.
can handle zero unacked frames now.

This should make RemoteFX usable with Parallels Client. they always
wan't zero unacked frames on the wire.
8 years ago
Pavel Roskin 0e7bc6e111 Compile libpainter only if enabled, fix path to libpainter.a
When subpackages are compiled outside the build tree, the build artifacts
are placed under top_builddir.
8 years ago
metalefty 25e5243ecf Merge pull request #553 from jsorg71/libpainter
add libpainter for drawing when client does not have minimum orders
8 years ago
Pavel Roskin 77d6fd0807 Fix Parallels Client on Mac
self->line_size should be calculated in xrdp_bitmap_create_with_data()

The code was in the original noorders branch but got lost. Without this
fix, the image is garbled.

The client should be configured with compression disabled, or it will
disconnect. That's a known problem.
8 years ago
Pavel Roskin c21b9a78f4 Distribute all files except git and github specific data
It is better to distribute a few useless file than not to distribute
needed files.
8 years ago
Idan Freiberg 0f6d1aabc2 Merge pull request #548 from proski/autorun
Set autorun to empty, improve autorun documentation
8 years ago
Pavel Roskin 0c6b5111af Regression fix: session matching uses wrong bpp for Xorg
The removal of "xserverbpp=24" from the Xorg entry lead to a regression.
Clients with a different bpp would not reconnect to an xorgxrdp session
if the client's bpp is different, even though xorgxrdp is always using 24
bpp.

Imply "xserverbpp=24" for "code=20" in xrdp.ini.
8 years ago
Pavel Roskin 65be965ebd Set autorun to empty, improve autorun documentation
Setting autorun to empty keeps X11rdp as the default backend for
autologin (since it's the first section), but it also enables the backend
selection by the domain name.

Describe the autorun interaction with the domain name both in the config
file and in the manual.
8 years ago
Pavel Roskin e65aa594e8 Make librfxcodec a subpackage
Since libpainter is going to become a subpackage, we can make librfxcodec
a subpackage as well.

With this change, librfxcodec is configured, built and linked to xrdp
automatically if enabled by "--enable-rfxcodec"

librfxcodec is packaged by "make dist" regardless of "--enable-rfxcodec"

librfxcodec/confgure is run unconditionally, it's needed for "make dist"
to work. But librfxcodec is only compiled if enabled.
8 years ago
jsorg71 d4e96f0c4c Merge pull request #531 from speidy/surface_cmds
xrdp_encoder: make RemoteFX work with MSTSC client
8 years ago
Jay Sorg 1f51586769 add libpainter for drawing when client does not have minimum orders 8 years ago
Westporch 2ea8eddc25 Sort alphabetically 8 years ago
Westporch 52081cb8bc Add 'rdp_layout_kr=kr' 8 years ago
Speidy a0cf6030df Merge branch 'devel' of https://github.com/neutrinolabs/xrdp into surface_cmds 8 years ago
jsorg71 5966de4ee2 Merge pull request #536 from jsorg71/unicode
add unicode support
8 years ago
Jay Sorg c264862afe change some magics to defines 8 years ago
Jay Sorg 2f8d3ba9da add unicode support 8 years ago
speidy 4f04801b11 o caps: advertise remotefx codec capsets only when supported (RFX mode,
proxy mode)
o xrdp_encoder: do not initialze encoder context for RFX when rfxcodec
is not supported
8 years ago
speidy bb8b85759d xrdp_encoder: remove temporary workaround for RFX to avoid mstsc 8 years ago
speidy 8a0fec5e66 o send RFX tiles as stream (Stream Surface Bits Command)
o silent frame ack logging
o support surface commands in capsets
o fix some wrong constants
8 years ago
Pavel Roskin 9cfe477f60 Document xserverbpp, add it to Xvnc section, remove from Xorg section
xserverbpp affects X11rdp and Xvnc, but not Xorg. No need to have
xserverbpp in the Xorg section where it has no effect. Add commented out
xserverbpp to Xvnc, some users may want to experiment with that setting.
8 years ago
jsorg71 bbae1a98c6 Merge pull request #523 from jsorg71/vpf
vnc: change password file to use guid hash
8 years ago
Pavel Roskin c759a1a645 Make configure show it's looking for "pixman", not "xrdp_pixman"
The pixman library in not part of xrdp. If users see that "xrdp_pixman"
is not found, they might assume it is some xrdp specific library.

The Automake conditional is still XRDP_PIXMAN, but the pkg-config
variables become PIXMAN_LIBS and PIXMAN_CFLAGS.
8 years ago
Jay Sorg 9a517b34f0 vnc: code cleanup 8 years ago
Jay Sorg 57905d71ad vnc: change password file to use guid hash 8 years ago
Itamar Reis Peixoto fb892c7d80 Merge pull request #516 from metalefty/keymaps
Adjust Japanese keymaps
8 years ago
Koichiro IWAO 9c31bd5cc4 unify Japanese keymap in xrdp_keyboard.ini 8 years ago
speidy 1fe048b63d xrdp_encoder: do not initialize for non-UNIX rdp clients
xrdp_encoder: comment about temporary workaround
8 years ago
Jay Sorg e8308d58b3 xrdp: do case insensitive compare for section names 8 years ago
Itamar Reis Peixoto f7b0b0d89c Merge pull request #488 from metalefty/docs
Update man pages and config files
8 years ago
metalefty b89956d06e Merge pull request #485 from proski/code-standards
Code standards
8 years ago
Pavel Roskin 5d2ce60340 Fix regression in domain to session type mapping
If no domain is passed, self->session->client_info->domain is an empty
string that is incorrectly treated as if the domain were passed by the
client.

The regression was introduced in fc753a95, when an incorrect check for
non-empty domain was added. That check was removed in 67119ecc based on
coverity report, leaving no trace of the original intention.

Check domain both for '_' and '\0' as the initial character. In either
case, select the first session type section in xrdp.ini.
8 years ago
Pavel Roskin 16c3bbdb8d Remove all tabs in sources 8 years ago
Koichiro IWAO 0a7f1bb007 docs: revise description for disableSSLv3 in xrdp.ini 8 years ago
Koichiro IWAO d74366a6f2 config: change order of parameters
Put same layer configuration parameters together, bring low layer
parameters earlier.
8 years ago
Koichiro IWAO cb1960e0fc config: use semicolon to comment out descriptions in config files
and use number sign to comment out actual configurations.
For example:

    ; if set to true, enables foobar
    #foobar=true
8 years ago
Koichiro IWAO 181830bf61 config: Capitalize section title to fit documents 8 years ago
Koichiro IWAO 4f2d94505a config: unify all boolean values in config to true/false 8 years ago
Jay Sorg 4f33a9db1d change xrdp.ini security_layer=negotiate and auto generate tls keys on make install 8 years ago
Koichiro IWAO 5725200e82 Use km-0000yyyy.ini if km-xxxxyyyy.ini doen't exist
upper 16 bits of keylayout value indicates keyboard layout.
lower 16 bits of keylayout value indicates country/language.

If the keymap file doesn't match exactly to keylayout value,
the typical keyboard of the country/language should be used.

For example [1]:
  0x00000409: US English
  0x00010409: US Dvorak
  0x00020409: US International
  0x00030409: US Dvorak for left hand
  0x00040409: US Dvorak for right hang
  0x0000040e: Hungarian
  0x0001040e: Hungarian 101-key

[1] https://msdn.microsoft.com/windows/hardware/commercialize/manufacture/desktop/windows-language-pack-default-values
8 years ago
Itamar Reis Peixoto f94920171e Merge pull request #437 from metalefty/switch-to-8-hex-digit-keymap-file
Switch to 8 hex digit keymapfile
8 years ago
Pavel Roskin 61811466e2 Simplify names of xrdp.ini sections, rename "Session Manager" to "Xorg"
Make section names equal to the names in the "name=" setting to avoid
confusion and the need to renumber sections. Avoid "sesman-" in the
names, it's not helpful to the user. Move "Xorg" just below "X11rdp",
that would give xorgxrdp more visibility.
8 years ago
Koichiro IWAO c654c86206 Switch to 8 hex digit keymapfile
as the value keyboardLayout is actually 32-bit unsigned integer.
See [MS-RDPBCGR] - v20160714 p.45.
8 years ago
Pavel Roskin a370306f75 Get rid of EXTRA_LIBS, use variables with more specific names 8 years ago
Pavel Roskin 5c69f3cd57 Eliminate EXTRA_FLAGS, it's a poor name, use AM_LDFLAGS 8 years ago
Pavel Roskin 0422734fc7 Merge EXTRA_DEFINES and EXTRA_INCLUDES into AM_CPPFLAGS
AM_CPPFLAGS is a documented Automake variable for C preprocessor flags
that should not be overridden when compiling the package.

There is no need to have two additional variables that are ultimately
merged into AM_CPPFLAGS.

Their names are also confusing. EXTDA_DIST is a documented Automake
variable. Everything else that starts with "EXTRA" is not.
8 years ago
Pavel Roskin 09746fcebc Leave only one "autorun" in xrdp.ini, improve comment 8 years ago
Pavel Roskin a618d4f757 Don't use final newline in log calls, it's already appended 8 years ago
Koichiro IWAO ee3a38f93d xrdp: librfxcodc link fix
as same fix as done in 4a815d5 for libpainter
8 years ago
Jay Sorg b24f8d8fef remove a debug message 8 years ago
Jay Sorg 409878666f xrdp: handle 3 byte PDU 8 years ago
Pavel Roskin 49ae93130a Improve message about listening socket is a wrong state 9 years ago
Alex Illsley 47124df4ed new options for xrdp.ini disableSSlv3=yes and tls_ciphers=HIGH and code to implement 9 years ago
Jay Sorg bb7bac2d9b add region intersect 9 years ago
Jay Sorg 58c777783b add more advances region support using pixman 9 years ago
jsorg71 8353baab3d Merge pull request #390 from proski/june21
Cleanups and C++ compatibility
9 years ago
Pavel Roskin 7cd9a5c4af Cast fifo_remove_item() to XRDP_ENC_DATA* or XRDP_ENC_DATA_DONE* as needed 9 years ago
Pavel Roskin 5829323ad8 Use g_new or g_new0 when C++ compiler would complain about implicit cast 9 years ago
Pavel Roskin aaa89ad4e6 Use const unsigned for hex arrays
Some constants are too big for the signed type.
9 years ago