This is an automated email from the ASF dual-hosted git repository.

jmuehlner pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/guacamole-server.git


    from bdb2aec4 Merge patch branch changes to main.
     add 104006c6 GUACAMOLE-377: Establish public guac_display API for 
efficient rendering via Guacamole protocol.
     add 028fb58d GUACAMOLE-377: Tighten dirty rects down to the individual 
pixel, rather than whole 64-pixel lines.
     add 58140721 GUACAMOLE-377: Update layer list head upon layer removal only 
if non-empty.
     add b965c4dd GUACAMOLE-377: Do NOT acquire the ops lock before any frame 
lock.
     add 619eb2e5 GUACAMOLE-377: Correct logic and lock order around deferred 
frame flushing (caused deadlock).
     add f898ead9 GUACAMOLE-377: Clarify logic around opaque layers.
     add 442b33ed GUACAMOLE-377: Ensure regions outside last frame bounds are 
considered dirty.
     add e396ed57 GUACAMOLE-377: Migrate guac_mem_*() assertions to 
GUAC_ASSERT().
     add 8afbeaec GUACAMOLE-377: Do not render frames while users are joining.
     add 692400c0 GUACAMOLE-377: Flush an automatic frame for mouse changes 
only if there are no other graphical changes pending.
     add 335d5e24 GUACAMOLE-377: Updates to cursor must occur within the 
boundary of their relevant frame (before "sync").
     add 15e400e0 GUACAMOLE-377: Ensure all layers supporting transparency are 
properly cleared before receiving data that also supports transparency 
(including WebP).
     add 4f3fccd7 GUACAMOLE-377: Add ability to "hint" that a drawing operation 
copied data from another layer.
     add c994b2e9 GUACAMOLE-377: Use 2 worker threads per available processor.
     add 63ecfd81 GUACAMOLE-377: Do not use threaded WebP encoder given that 
guac_display will already make use of a worker thread pool.
     add d6447224 GUACAMOLE-377: Migrate VNC support to guac_display API.
     add b030ced3 GUACAMOLE-377: Group all guac_display documentation together 
under a shared Doxygen topic.
     add 3f88d3eb GUACAMOLE-377: Migrate RDP to guac_display.
     add d99c5c0b GUACAMOLE-377: Replace RDP settings string (rather than reuse 
storage of unknown size).
     add 28687cb8 GUACAMOLE-377: Use FreeRDP's built-in GDI handling of bitmap 
cache.
     add 1f0a3651 GUACAMOLE-377: Migrate terminal emulator to guac_display.
     add 3b6173f7 GUACAMOLE-377: Work around libssh2 usage of strlen() on key 
data (otherwise encumbering testing of terminal emulator refactor).
     add 40eef95f GUACAMOLE-377: Increase maximum number of streams.
     add dc133eae GUACAMOLE-377: Ignore directories and files used by Clang 
compilation database.
     add ba5511cc GUACAMOLE-377: Correct return value confusion in handling of 
timeout vs. general failure of WaitForMultipleObjects().
     add c48409c3 GUACAMOLE-377: Prefer GUAC_COMP_OVER to GUAC_COMP_SRC for 
performance-critical operations (~3x faster).
     add de30928a GUACAMOLE-377: Remove all old surface, display, cursor, and 
rect code from src/common/.
     add 8003836e GUACAMOLE-377: Ensure frame boundaries are sent even for 
frames containing no graphics.
     add 3aae6035 GUACAMOLE-377: Migrate from timer to thread for pending users.
     add 7e593c00 GUACAMOLE-377: Restore heuristic detection of RDP frame 
boundaries.
     add dc833c74 GUACAMOLE-377: Restore heuristic detection of VNC frame 
boundaries.
     add cbfeae6c GUACAMOLE-377: Allow the pending frame buffer for a 
guac_display_layer to be external.
     add fa37f006 GUACAMOLE-377: Allow external guac_display buffers to be 
replaced with NULL if necessary for external cleanup tasks.
     add d31a96c6 GUACAMOLE-377: Migrate RDP to direct access of FreeRDP's GDI 
buffer.
     add b667f697 GUACAMOLE-377: Migrate VNC to direct access of RFB 
framebuffer.
     add 6a7eb6db GUACAMOLE-377: Wrap all VNC message handling within drawing 
context.
     add 8c341bcf GUACAMOLE-377: Remove unnecessary locking of last frame 
during resize.
     add ae52278b GUACAMOLE-377: Restore good ol' guac_common_surface and 
guac_common_cursor for use by terminal.
     add 4145f587 GUACAMOLE-377: Revert migration of terminal emulator to 
guac_display.
     add c6833a46 GUACAMOLE-377: Make vertical combination more likely by 
limiting combinations to aligned boundaries.
     add 540d2047 GUACAMOLE-377: Read lock should NOT be acquired at same time 
as write lock.
     add f3485066 GUACAMOLE-377: Do NOT combine display operations vertically 
unless edges match exactly.
     add 5ec7be13 GUACAMOLE-377: Do not allow "img" instructions to break 
"rect" and "cfill" pairs.
     add 260f959b GUACAMOLE-377: Reduce number of worker threads to one per 
processor.
     add 8f5c3e9c GUACAMOLE-377: Synchronize layer contents only if non-empty.
     add f2f74c2d GUACAMOLE-377: Ignore alpha for rectangle operations on 
opaque layers.
     add 0da3354e GUACAMOLE-377: Add convenient, default render thread 
implementation for guac_display.
     add 98fd5e69 GUACAMOLE-377: Migrate RDP to default render thread.
     add 5a12d96a GUACAMOLE-377: Migrate VNC to default render loop.
     add db42844e GUACAMOLE-377: Remove superfluous bounds check (now part of 
guac_pool).
     add ed388631 GUACAMOLE-377: Restore original NULL returns for alloc 
failures of streams/objects.
     add 4220670d GUACAMOLE-377: Fix regression causing RDP connections to 
always reconnect after closing.
     add f5ecb6c8 GUACAMOLE-377: Stream/object sentinel must be assigned BEFORE 
returning index to pool.
     add b754d3f0 GUACAMOLE-377: Merge new libguac "guac_display" rendering 
system.
     add ec38a6a6 Merge 1.6.0 changes back to patch.
     add 04e90157 Merge patch branch changes to main.

No new revisions were added by this update.

Summary of changes:
 .gitignore                                         |   4 +
 configure.ac                                       |   5 +
 src/common-ssh/key.c                               |  13 +-
 src/common/Makefile.am                             |   2 -
 src/common/common/display.h                        | 293 --------
 src/common/display.c                               | 422 -----------
 src/libguac/Makefile.am                            | 109 ++-
 src/libguac/client.c                               | 180 ++---
 src/libguac/display-builtin-cursors.c              | 149 ++++
 src/libguac/display-builtin-cursors.h              |  93 +++
 src/libguac/display-cursor.c                       | 104 +++
 src/libguac/display-flush.c                        | 391 ++++++++++
 src/libguac/display-layer-list.c                   | 396 ++++++++++
 src/libguac/display-layer.c                        | 324 ++++++++
 src/libguac/display-plan-combine.c                 | 334 +++++++++
 src/libguac/display-plan-rect.c                    | 240 ++++++
 src/libguac/display-plan-search.c                  | 436 +++++++++++
 src/libguac/display-plan.c                         | 441 +++++++++++
 src/libguac/display-plan.h                         | 399 ++++++++++
 src/libguac/display-priv.h                         | 813 +++++++++++++++++++++
 src/libguac/display-render-thread.c                | 173 +++++
 src/libguac/display-worker.c                       | 522 +++++++++++++
 src/libguac/display.c                              | 351 +++++++++
 src/libguac/encode-webp.c                          |   2 +-
 src/libguac/fifo.c                                 | 210 ++++++
 src/libguac/flag.c                                 | 167 +++++
 src/libguac/guacamole/assert.h                     |  47 ++
 src/libguac/guacamole/client-constants.h           |   2 +-
 src/libguac/guacamole/client.h                     |  17 +-
 .../{parser-constants.h => display-constants.h}    |  33 +-
 src/libguac/guacamole/display-types.h              | 106 +++
 src/libguac/guacamole/display.h                    | 780 ++++++++++++++++++++
 .../{socket-constants.h => fifo-constants.h}       |  33 +-
 .../guacamole/fifo-types.h}                        |  47 +-
 src/libguac/guacamole/fifo.h                       | 314 ++++++++
 .../guacamole/{audio-types.h => flag-types.h}      |  26 +-
 src/libguac/guacamole/flag.h                       | 244 +++++++
 src/libguac/guacamole/pool.h                       |  59 +-
 .../png.h => libguac/guacamole/rect-types.h}       |  15 +-
 src/libguac/guacamole/rect.h                       | 271 +++++++
 src/libguac/guacamole/user-constants.h             |   2 +-
 src/libguac/mem.c                                  |  13 +-
 src/libguac/pool.c                                 | 112 ++-
 src/libguac/rect.c                                 | 178 +++++
 src/libguac/tests/Makefile.am                      |   7 +
 src/libguac/tests/fifo/fifo.c                      | 298 ++++++++
 src/libguac/tests/flag/flag.c                      | 168 +++++
 src/libguac/tests/rect/align.c                     |  70 ++
 src/{common => libguac}/tests/rect/constrain.c     |  25 +-
 src/{common => libguac}/tests/rect/extend.c        |  25 +-
 src/{common => libguac}/tests/rect/init.c          |  17 +-
 src/libguac/tests/rect/intersects.c                |  85 +++
 src/libguac/user.c                                 |  30 +-
 src/protocols/kubernetes/user.c                    |   1 -
 src/protocols/rdp/Makefile.am                      |   4 -
 src/protocols/rdp/bitmap.c                         | 168 -----
 src/protocols/rdp/bitmap.h                         | 133 ----
 src/protocols/rdp/channels/disp.c                  |  26 +-
 src/protocols/rdp/channels/disp.h                  |  16 +
 src/protocols/rdp/channels/rdpei.c                 |   4 +-
 src/protocols/rdp/client.c                         |   2 +-
 src/protocols/rdp/client.h                         |  25 +-
 src/protocols/rdp/fs.c                             |   2 +-
 src/protocols/rdp/gdi.c                            | 453 ++----------
 src/protocols/rdp/gdi.h                            | 135 +---
 src/protocols/rdp/glyph.c                          | 170 -----
 src/protocols/rdp/glyph.h                          | 224 ------
 src/protocols/rdp/input.c                          |   6 +-
 src/protocols/rdp/pointer.c                        | 106 ++-
 src/protocols/rdp/pointer.h                        |   5 +-
 src/protocols/rdp/rdp.c                            | 167 ++---
 src/protocols/rdp/rdp.h                            |  27 +-
 src/protocols/rdp/settings.c                       |   7 +-
 src/protocols/rdp/user.c                           |   5 +-
 src/protocols/ssh/input.c                          |   2 -
 src/protocols/ssh/user.c                           |   1 -
 src/protocols/vnc/client.c                         |   5 +-
 src/protocols/vnc/client.h                         |  25 +-
 src/protocols/vnc/cursor.c                         |  96 ++-
 src/protocols/vnc/cursor.h                         |   4 +-
 src/protocols/vnc/display.c                        | 182 +++--
 src/protocols/vnc/display.h                        |   7 +-
 src/protocols/vnc/input.c                          |   7 +-
 src/protocols/vnc/log.c                            |   1 -
 src/protocols/vnc/log.h                            |   1 -
 src/protocols/vnc/user.c                           |  10 +-
 src/protocols/vnc/vnc.c                            | 145 ++--
 src/protocols/vnc/vnc.h                            |  23 +-
 src/terminal/buffer.c                              | 460 ++++++++++--
 src/terminal/common.c                              |   7 +
 src/terminal/display.c                             | 120 +--
 src/terminal/select.c                              | 100 +--
 src/terminal/terminal-handlers.c                   | 196 ++++-
 src/terminal/terminal.c                            | 420 +++--------
 src/terminal/terminal/buffer.h                     | 193 +++--
 src/terminal/terminal/terminal-priv.h              |  96 +--
 src/terminal/terminal/types.h                      |  16 +-
 97 files changed, 9984 insertions(+), 3416 deletions(-)
 delete mode 100644 src/common/common/display.h
 delete mode 100644 src/common/display.c
 create mode 100644 src/libguac/display-builtin-cursors.c
 create mode 100644 src/libguac/display-builtin-cursors.h
 create mode 100644 src/libguac/display-cursor.c
 create mode 100644 src/libguac/display-flush.c
 create mode 100644 src/libguac/display-layer-list.c
 create mode 100644 src/libguac/display-layer.c
 create mode 100644 src/libguac/display-plan-combine.c
 create mode 100644 src/libguac/display-plan-rect.c
 create mode 100644 src/libguac/display-plan-search.c
 create mode 100644 src/libguac/display-plan.c
 create mode 100644 src/libguac/display-plan.h
 create mode 100644 src/libguac/display-priv.h
 create mode 100644 src/libguac/display-render-thread.c
 create mode 100644 src/libguac/display-worker.c
 create mode 100644 src/libguac/display.c
 create mode 100644 src/libguac/fifo.c
 create mode 100644 src/libguac/flag.c
 create mode 100644 src/libguac/guacamole/assert.h
 copy src/libguac/guacamole/{parser-constants.h => display-constants.h} (58%)
 create mode 100644 src/libguac/guacamole/display-types.h
 create mode 100644 src/libguac/guacamole/display.h
 copy src/libguac/guacamole/{socket-constants.h => fifo-constants.h} (55%)
 copy src/{common/common/dot_cursor.h => libguac/guacamole/fifo-types.h} (50%)
 create mode 100644 src/libguac/guacamole/fifo.h
 copy src/libguac/guacamole/{audio-types.h => flag-types.h} (60%)
 create mode 100644 src/libguac/guacamole/flag.h
 copy src/{guacenc/png.h => libguac/guacamole/rect-types.h} (67%)
 create mode 100644 src/libguac/guacamole/rect.h
 create mode 100644 src/libguac/rect.c
 create mode 100644 src/libguac/tests/fifo/fifo.c
 create mode 100644 src/libguac/tests/flag/flag.c
 create mode 100644 src/libguac/tests/rect/align.c
 copy src/{common => libguac}/tests/rect/constrain.c (64%)
 copy src/{common => libguac}/tests/rect/extend.c (63%)
 copy src/{common => libguac}/tests/rect/init.c (73%)
 create mode 100644 src/libguac/tests/rect/intersects.c
 delete mode 100644 src/protocols/rdp/bitmap.c
 delete mode 100644 src/protocols/rdp/bitmap.h
 delete mode 100644 src/protocols/rdp/glyph.c
 delete mode 100644 src/protocols/rdp/glyph.h

Reply via email to