Commit Graph

2071 Commits

Author SHA1 Message Date
Frediano Ziglio
0b386603cb worker: fix timer queue creation
Timer queue is attached to current thread when created so it must be
created from the proper thread.
After worker initialization is moved in a following patch to main
thread the queue was created in the wrong thread causing program to
fail saying that the queue is NULL.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Uri Lublin <ulublin@redhat.com>
2015-10-28 15:28:29 +00:00
Marc-André Lureau
f55032ecba server: group worker channel related stuff
Acked-by: Frediano Ziglio <fziglio@redhat.com>
2015-10-26 09:17:07 +00:00
Marc-André Lureau
f7b48981e3 worker: remove need for WorkerInitData
Move code around to declare and place it where it fits better.

Acked-by: Frediano Ziglio <fziglio@redhat.com>
2015-10-26 09:12:55 +00:00
Marc-André Lureau
579d65454c worker: access dispatcher pending field using helper functions
Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
2015-10-26 08:47:02 +00:00
Marc-André Lureau
e87b09a510 server: split cache-item.h
Acked-by: Frediano Ziglio <fziglio@redhat.com>
2015-10-23 16:32:57 +01:00
Marc-André Lureau
f99fac0f42 server: start separate display/cursor channel headers
Just move some declarations around

Acked-by: Frediano Ziglio <fziglio@redhat.com>
2015-10-23 16:32:47 +01:00
Marc-André Lureau
b9defad7d9 server: remove worker->id
Acked-by: Frediano Ziglio <fziglio@redhat.com>
2015-10-23 14:46:22 +01:00
Christophe Fergeau
d88b1fee74 build-sys: Adjust to new spice-common spice-deps.m4
This commit also updates the spice-common submodule

Christophe Fergeau (7):
      Add marshaller test case
      build-sys: Use ${PKG_CONFIG} rather than pkg-config
      build-sys: Rework SPICE_CHECK_* m4 macros
      build-sys: Add gio-2.0 to SPICE_CHECK_GLIB2
      build-sys: Fix error in SPICE_CHECK_LZ4 description
      build-sys: Set automake conditional in SPICE_CHECK_SMARTCARD
      build-sys: Rename SUPPORT_GL to HAVE_GL

Javier Celaya (1):
      Fix linearization of several marshallers with one item

Lukas Venhoda (3):
      ssl-verify: Only check addr length when using IP addr
      m4: Require glib version >= 2.22
      ssl-verify: Changed IPv4 hostname to IPv6
2015-10-23 14:35:14 +02:00
Frediano Ziglio
90a08ebae8 remove small leak in MJPEG code
cinfo.dest is allocated in spice_jpeg_mem_dest but never freed.
Note that jpeg_destroy_compress does not free this field as is
supposed to be a buffer provided by jpeg caller.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
2015-10-23 12:10:23 +01:00
Frediano Ziglio
a2ebe610c1 reduce locking time in async_command_alloc
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
2015-10-23 12:08:38 +01:00
Frediano Ziglio
78c8203f16 removed unused recv_core field
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
2015-10-23 12:08:09 +01:00
Marc-André Lureau
d3153f8610 worker: remove useless MESSAGE_READY
Now that worker is created before running, and run() returns success,
there is no point in using MESSAGE_READY.

Acked-by: Frediano Ziglio <fziglio@redhat.com>
2015-10-23 11:11:18 +01:00
Marc-André Lureau
ef89187eff dispatcher: style update
Acked-by: Frediano Ziglio <fziglio@redhat.com>
2015-10-23 11:02:22 +01:00
Marc-André Lureau
bba1bf180a server: remove worker thread creation from dispatcher
Acked-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
2015-10-22 17:06:44 +01:00
Marc-André Lureau
15da68dbde server/dispatcher: move worker enums to dispatcher header
Group enums with their respective struct location.

Acked-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Fabiano Fidêncio <fabiano@fidencio.org>
2015-10-22 10:05:22 +01:00
Marc-André Lureau
31292412c9 worker: use a single clockid
The stat functions in worker are not generic enough to deserve to be
"non-worker", so just pass the worker instance.
2015-10-21 14:12:30 +01:00
Marc-André Lureau
0facd6fc9e server: rename red_client_cache.h to cache_item.tmpl.c
Acked-by: Frediano Ziglio <fziglio@redhat.com>
2015-10-20 14:00:25 +01:00
Christophe Fergeau
e5e3e9eefe Add missing license headers 2015-10-19 14:25:36 +02:00
Christophe Fergeau
5f6b583e7a syntax-check: Exclude png files from sc_prohibit_empty_lines_at_EOF 2015-10-19 14:25:36 +02:00
Christophe Fergeau
c5df6ada2e syntax-check: Clean-up exception rules
Some files no longer exists, some exceptions are no longer needed, ...
2015-10-19 14:25:36 +02:00
Christophe Fergeau
c61a37603a syntax-check: Remove unused #include <strings.h> 2015-10-19 14:25:36 +02:00
Christophe Fergeau
c0b2b1fc49 syntax-check: Add missing #include <config.h> 2015-10-19 14:25:36 +02:00
Christophe Fergeau
31eb8eeecb syntax-check: Don't use tabs for indentation 2015-10-19 14:25:36 +02:00
Christophe Fergeau
8dd21e5820 syntax-check: Exclude red_replay_qxl.c from sc_cast_of_argument_to_free
red_replay_qxl.c stores some pointers QXLPHYSICAL data members (ie
uint64_t), and then needs to free them, so the cast is required.
2015-10-19 14:25:36 +02:00
Christophe Fergeau
e97a9f6642 syntax-check: Ignore .png files in sc_trailing_blank test 2015-10-19 14:25:36 +02:00
Christophe Fergeau
b4932ae646 syntax-check: manual: Remove duplicate word 2015-10-19 14:25:36 +02:00
Christophe Fergeau
5860ab97e3 syntax-check: Add missing AUTHORS 2015-10-19 14:25:36 +02:00
Marc-André Lureau
314dfefca3 worker: use GOnce to surround some global init in dispatcher
Acked-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
2015-10-19 13:11:13 +01:00
Marc-André Lureau
b15527e063 server: move some pixmap cache code in own file
Remove that hideous template header that should really be regular code
since it's specialized and instanciated only for pixmap.

Acked-by: Frediano Ziglio <fziglio@redhat.com>
2015-10-19 13:08:21 +01:00
snir sheriber
c749853d08 fix spelling mistakes in comments (reseting to resetting & dummym to dummy)
Acked-by: Frediano Ziglio <fziglio@redhat.com>
2015-10-19 12:59:12 +01:00
Jeremy White
df0eab862c Update the .gitignore files for the new manual,
for a few newly generated tests, and for the spice-server.h.
2015-10-16 15:48:23 -05:00
Marc-André Lureau
1d7b3ad93b Remove DRAW_ALL
Acked-by: Frediano Ziglio <fziglio@redhat.com>
2015-10-16 14:11:01 +01:00
Marc-André Lureau
f93bf94c5c Remove PIPE_DEBUG
Acked-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
2015-10-15 18:30:45 +01:00
Marc-André Lureau
dc1e589916 Remove ACYCLIC_SURFACE_DEBUG
Acked-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
2015-10-15 18:30:41 +01:00
Marc-André Lureau
3dffeb25ed Remove unfinished UPDATE_AREA_BY_TREE
Acked-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
2015-10-15 18:30:38 +01:00
Marc-André Lureau
c1d5181396 server: small move to red_channel
Acked-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
2015-10-15 18:30:34 +01:00
Marc-André Lureau
c61404f102 worker: replace init with red_worker_new
Acked-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
2015-10-15 18:30:30 +01:00
Marc-André Lureau
31a66ae6e7 red_worker: replace some abort()
Acked-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
2015-10-15 18:29:47 +01:00
Frediano Ziglio
e60a3beb3c Simplify pointer computation
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Christophe Fergeau <cfergeau@redhat.com>
2015-10-12 14:11:22 +01:00
Christophe Fergeau
5d0649b8f0 build-sys: Remove client check from configure.ac
configure.ac is checking for pyparsing availability if
client/generated_marshallers.cpp is missing. The client/ code is gone, and
the python modules checks are done in spice-common/configure.ac
nowadays, so we can get rid of this check.
2015-10-07 18:26:00 +02:00
Frediano Ziglio
9e75019e65 build-sys: bump libtool version information
As one interface was added bump the version and put a comment to avoid
too much updates.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
2015-10-06 17:09:16 +02:00
Christophe Fergeau
ee1beff2ab Mention the 2 recently fixed CVEs in NEWS 2015-10-06 17:09:15 +02:00
Frediano Ziglio
6e3547f8b1 Prevent leak if size from red_get_data_chunks don't match in red_get_image
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
2015-10-06 11:11:11 +01:00
Frediano Ziglio
b3be589ab3 Prevent data_size to be set independently from data
There was not check for data_size field so one could set data to
a small set of data and data_size much bigger than size of data
leading to buffer overflow.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
2015-10-06 11:11:11 +01:00
Frediano Ziglio
2b6695f122 Avoid race condition copying segments in red_get_path
The guest can attempt to increase the number of segments while
spice-server is reading them.
Make sure we don't copy more then the allocated segments.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Christophe Fergeau <cfergeau@redhat.com>
2015-10-06 11:11:11 +01:00
Frediano Ziglio
2693e0497e Make sure we can read QXLPathSeg structures
start pointer points to a QXLPathSeg structure.
Before reading from the structure, make sure the structure is contained
in the memory range checked.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Christophe Fergeau <cfergeau@redhat.com>
2015-10-06 11:11:11 +01:00
Frediano Ziglio
a447c4f2ac Fix some possible overflows in red_get_string for 32 bit
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Christophe Fergeau <cfergeau@redhat.com>
2015-10-06 11:11:11 +01:00
Frediano Ziglio
7d69184037 Prevent DoS from guest trying to allocate too much data on host for chunks
Limit number of chunks to a given amount to avoid guest trying to
allocate too much memory. Using circular or nested chunks lists
guest could try to allocate huge amounts of memory.
Considering the list can be infinite and guest can change data this
also prevents strange security attacks from guest.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
2015-10-06 11:11:11 +01:00
Frediano Ziglio
f3605979ce Prevent memory leak if red_get_data_chunks_ptr fails
Free linked list if client tries to do nasty things

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Christophe Fergeau <cfergeau@redhat.com>
2015-10-06 11:11:11 +01:00
Frediano Ziglio
3738478ed7 Fix race condition in red_get_data_chunks_ptr
Do not read multiple times data from guest as this can be changed by
other guest vcpus. This causes races and security problems if these
data are used for buffer allocation or checks.

Actually, the 'data' member can't change during read as it is just a
pointer to a fixed array contained in qxl. However, this change will
make it clear that there can be no race condition.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
2015-10-06 11:11:11 +01:00