From dc7855967f4e8aa4f1aee422cb8f09a414d8c69e Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 18 Jan 2012 10:47:30 +0100 Subject: [PATCH 01/16] server: Don't complain if setsockopt NODELAY fails on unix sockets With Daniel P. Berrange's patches to allow use of pre-supplied fd's as channels, we can no longer be sure that our connections are TCP sockets, so it makes no sense to complain if a TCP/IP specific setsockopt fails with an errno of ENOTSUP. Note that this extends Daniel's commit 492ddb5d1d595e2d12208f4602b18e4432f4e6b4 which already added the same check to server/inputs_channel.c Signed-off-by: Hans de Goede --- server/red_tunnel_worker.c | 4 +++- server/red_worker.c | 4 +++- server/reds.c | 4 +++- server/snd_worker.c | 8 ++++++-- server/spicevmc.c | 6 ++++-- 5 files changed, 19 insertions(+), 7 deletions(-) diff --git a/server/red_tunnel_worker.c b/server/red_tunnel_worker.c index c2019dd0..9162da48 100644 --- a/server/red_tunnel_worker.c +++ b/server/red_tunnel_worker.c @@ -3365,7 +3365,9 @@ static int tunnel_channel_config_socket(RedChannelClient *rcc) if (setsockopt(stream->socket, IPPROTO_TCP, TCP_NODELAY, &delay_val, sizeof(delay_val)) == -1) { - red_printf("setsockopt failed, %s", strerror(errno)); + if (errno != ENOTSUP) { + red_printf("setsockopt failed, %s", strerror(errno)); + } } return TRUE; diff --git a/server/red_worker.c b/server/red_worker.c index 983d7676..c2ab957e 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -9498,7 +9498,9 @@ static int common_channel_config_socket(RedChannelClient *rcc) // TODO - this should be dynamic, not one time at channel creation delay_val = main_channel_client_is_low_bandwidth(mcc) ? 0 : 1; if (setsockopt(stream->socket, IPPROTO_TCP, TCP_NODELAY, &delay_val, sizeof(delay_val)) == -1) { - red_printf("setsockopt failed, %s", strerror(errno)); + if (errno != ENOTSUP) { + red_printf("setsockopt failed, %s", strerror(errno)); + } } return TRUE; } diff --git a/server/reds.c b/server/reds.c index b97a061e..2492a899 100644 --- a/server/reds.c +++ b/server/reds.c @@ -2706,7 +2706,9 @@ static RedLinkInfo *reds_init_client_connection(int socket) } if (setsockopt(socket, IPPROTO_TCP, TCP_NODELAY, &delay_val, sizeof(delay_val)) == -1) { - red_printf("setsockopt failed, %s", strerror(errno)); + if (errno != ENOTSUP) { + red_printf("setsockopt failed, %s", strerror(errno)); + } } link = spice_new0(RedLinkInfo, 1); diff --git a/server/snd_worker.c b/server/snd_worker.c index 0527009e..cb64c993 100644 --- a/server/snd_worker.c +++ b/server/snd_worker.c @@ -919,12 +919,16 @@ static SndChannel *__new_channel(SndWorker *worker, int size, uint32_t channel_i tos = IPTOS_LOWDELAY; if (setsockopt(stream->socket, IPPROTO_IP, IP_TOS, (void*)&tos, sizeof(tos)) == -1) { - red_printf("setsockopt failed, %s", strerror(errno)); + if (errno != ENOTSUP) { + red_printf("setsockopt failed, %s", strerror(errno)); + } } delay_val = main_channel_client_is_low_bandwidth(mcc) ? 0 : 1; if (setsockopt(stream->socket, IPPROTO_TCP, TCP_NODELAY, &delay_val, sizeof(delay_val)) == -1) { - red_printf("setsockopt failed, %s", strerror(errno)); + if (errno != ENOTSUP) { + red_printf("setsockopt failed, %s", strerror(errno)); + } } if (fcntl(stream->socket, F_SETFL, flags | O_NONBLOCK) == -1) { diff --git a/server/spicevmc.c b/server/spicevmc.c index c2e249c1..5cdc513e 100644 --- a/server/spicevmc.c +++ b/server/spicevmc.c @@ -92,8 +92,10 @@ static int spicevmc_red_channel_client_config_socket(RedChannelClient *rcc) if (rcc->channel->type == SPICE_CHANNEL_USBREDIR) { if (setsockopt(stream->socket, IPPROTO_TCP, TCP_NODELAY, &delay_val, sizeof(delay_val)) != 0) { - red_printf("setsockopt failed, %s", strerror(errno)); - return FALSE; + if (errno != ENOTSUP) { + red_printf("setsockopt failed, %s", strerror(errno)); + return FALSE; + } } } From afd7dfde1f3e13a989491de28933bee10fbab0be Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Tue, 17 Jan 2012 10:30:49 +0200 Subject: [PATCH 02/16] import existing odt docs --- docs/Spice_for_newbies.odt | Bin 0 -> 32028 bytes docs/Spice_protocol.odt | Bin 0 -> 44052 bytes docs/Spice_style.odt | Bin 0 -> 19045 bytes docs/Spice_user_manual.odt | Bin 0 -> 31959 bytes docs/Vd_interfaces.odt | Bin 0 -> 21577 bytes 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/Spice_for_newbies.odt create mode 100644 docs/Spice_protocol.odt create mode 100644 docs/Spice_style.odt create mode 100644 docs/Spice_user_manual.odt create mode 100644 docs/Vd_interfaces.odt diff --git a/docs/Spice_for_newbies.odt b/docs/Spice_for_newbies.odt new file mode 100644 index 0000000000000000000000000000000000000000..99a1be586aeb608c8a9ee32f4ebe51c7a4b68332 GIT binary patch literal 32028 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

|0R-qSGi`05X`TR1iE6Oy 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�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 L-C65yKU4n?b{uWc literal 0 HcmV?d00001 diff --git a/docs/Spice_protocol.odt b/docs/Spice_protocol.odt new file mode 100644 index 0000000000000000000000000000000000000000..02a17a45fa1fbec2334d1098527f029fd10af201 GIT binary patch literal 44052 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%0AcaYTMC!i-i!$B|vr=_F@jD#F6@ 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 i Date: Tue, 17 Jan 2012 17:37:28 +0200 Subject: [PATCH 03/16] client/foreign_menu: arm build fix --- client/foreign_menu.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/foreign_menu.cpp b/client/foreign_menu.cpp index d1df49d0..faef4c27 100644 --- a/client/foreign_menu.cpp +++ b/client/foreign_menu.cpp @@ -30,7 +30,7 @@ #ifdef WIN32 #define PIPE_NAME "SpiceForeignMenu-%lu" -#elif defined(__i386__) +#elif defined(__i386__) || __SIZEOF_LONG__ == 4 #define PIPE_NAME "/tmp/SpiceForeignMenu-%llu.uds" #else #define PIPE_NAME "/tmp/SpiceForeignMenu-%lu.uds" From 88f68f5329fc1107107c3a81c7fc0b7f7063ae25 Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Tue, 17 Jan 2012 17:37:59 +0200 Subject: [PATCH 04/16] server/red_channel: avoid segfault if stream == NULL --- server/red_channel.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/server/red_channel.c b/server/red_channel.c index e526179e..d2c9e6d8 100644 --- a/server/red_channel.c +++ b/server/red_channel.c @@ -162,6 +162,10 @@ static void red_peer_handle_incoming(RedsStream *stream, IncomingHandler *handle uint16_t msg_type; uint32_t msg_size; + if (!stream) { + return; + } + for (;;) { int ret_handle; if (handler->header_pos < handler->header.header_size) { From 6032a95205844c89cbc6ac6e055358c1034b03b0 Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Tue, 17 Jan 2012 17:38:28 +0200 Subject: [PATCH 05/16] docs/Spice_for_newbies.odt: some updates - added copy paste and wan mention, removed vdi_port --- docs/Spice_for_newbies.odt | Bin 32028 -> 40824 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/Spice_for_newbies.odt b/docs/Spice_for_newbies.odt index 99a1be586aeb608c8a9ee32f4ebe51c7a4b68332..1b05ee693cd841aa39d5abd8356f90fd65317a3a 100644 GIT binary patch literal 40824 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

SX=H6qh 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 delta 30323 zcmYJZ190Fy)bLx|?$++sHg{`nZQHi~wQY0Tt!>-3ZQHod`@Q$OH#2AQ%ZVm4ndIc0 zymWzOy@4XhOM^pTfPlb&fRGw+^2Q@cLi|sj_#>U|f1y83>3@MBjW`iH4efsmJgLNq z$k_;qIjJ!Js|ZhHf%(6KBod^t{QrHJa^Mnu(*ECOWvT2i|E2#kSE4aB2{2-+uMe|h ztgp`;z+7Q~;D$p6Gq7W#A2$NZ64N6>s~@GoG$fYR7AO?LN0#ISH=So~>eTu**TJS_Blw(r~`hK|{ zWPhBGf8Py1+_7YYOq-oLH^L+uvdIF8U|;3E%aUJNojwkAV+qF=apJG{toHmqTlhQwQrAf@V0NhQ8u6@XUC}) z+p*n8w@f+9jB-b!wcftIzD`c8UA03Nt}eDOU4We3VG!`IZqqS& zaKVy;A9)`IdVD&%)`4M-p^x;0SJ1j#?xzMlLth1_c>t;Tg{800A|6>)HIEQ$HnfJ_ zM&8ikWuxh5^KwS%Hba2nRxQ=mE3~`hx3|0A-mj(;UaY1{Kg$f!@vU*=%Ejw>wq&J2 z)^UTIcyE>o*hPCL`+2-B?q`?m!TGPdw4*V=|V289PIIfXIHM$l9;&#^{}O#LsgqdLLfpiP!T z>iTgZByjqB=0~PJWDB~+P$$0hH*5If#!DQb`{sId>d7wFh4;wU-TlvdD1LBerPBh zib{h`OXRll?MXz*v$rrK6y&nHFsqYaPjGBn$TR-mA-z$_^%z5n0&_6BH-Rx~!slm5 zsJu`W%k92Rn{_Dwf{<(Ty1uHoH>G-C& zC>DTCvG{^6LiDP^vW;}cG94ZA0B<^8DSQI&YqbHjuF&i!MAye_Huwl=lg-nroxbc} zUPEN>0Gqoix`ueh3hIpN3aOW6^(68?0LkK$Z9uk2aFr`tx&q{=o_{CNr6N1`n&@Y$;K=2$cCYq63LYx*nE3X@H4EaFotJgbvmg}H8$tREgVH2Qg@ z88Ib9KaXa*lYv%WwgYwVgmGf{sycmcY{nhXvc(6Z0X3MiGsfbtaZ#Rje$?!7WO3=Z z(Y}hXoeAyYzsoTJTy0T2;J@uXqZg#7Le<;ja c#jnHY2BA^>V!!#(}!ML!r#%i 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 Date: Thu, 19 Jan 2012 14:09:58 -0600 Subject: [PATCH 06/16] Fix line length errors in main_channel These are all existing errors; fix them so they don't block future commits in this file unnecessarily. error (1): length @ server/main_channel.c +369 error (2): length @ server/main_channel.c +444 error (3): length @ server/main_channel.c +764 error (4): length @ server/main_channel.c +932 error (5): length @ server/main_channel.c +1044 Signed-off-by: Dan McGee --- server/main_channel.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/server/main_channel.c b/server/main_channel.c index c4b27523..f7e1ab03 100644 --- a/server/main_channel.c +++ b/server/main_channel.c @@ -360,7 +360,8 @@ void main_channel_push_mouse_mode(MainChannel *main_chan, int current_mode, main_mouse_mode_item_new, &info); } -static void main_channel_marshall_mouse_mode(SpiceMarshaller *m, int current_mode, int is_client_mouse_allowed) +static void main_channel_marshall_mouse_mode(SpiceMarshaller *m, int current_mode, + int is_client_mouse_allowed) { SpiceMsgMainMouseMode mouse_mode; mouse_mode.supported_modes = SPICE_MOUSE_MODE_SERVER; @@ -435,7 +436,8 @@ static void main_channel_push_migrate_data_item(MainChannel *main_chan) static void main_channel_marshall_migrate_data_item(SpiceMarshaller *m, int serial, int ping_id) { - MainMigrateData *data = (MainMigrateData *)spice_marshaller_reserve_space(m, sizeof(MainMigrateData)); + MainMigrateData *data = (MainMigrateData *) + spice_marshaller_reserve_space(m, sizeof(MainMigrateData)); reds_marshall_migrate_data_item(m, data); // TODO: from reds split. ugly separation. data->serial = serial; @@ -755,7 +757,8 @@ void main_channel_client_handle_migrate_end(MainChannelClient *mcc) mcc->mig_wait_prev_complete = FALSE; } } -static int main_channel_handle_parsed(RedChannelClient *rcc, uint32_t size, uint16_t type, void *message) +static int main_channel_handle_parsed(RedChannelClient *rcc, uint32_t size, uint16_t type, + void *message) { MainChannel *main_chan = SPICE_CONTAINEROF(rcc->channel, MainChannel, base); MainChannelClient *mcc = SPICE_CONTAINEROF(rcc, MainChannelClient, base); @@ -927,13 +930,10 @@ static MainChannelClient *main_channel_client_create(MainChannel *main_chan, Red int num_common_caps, uint32_t *common_caps, int num_caps, uint32_t *caps) { - MainChannelClient *mcc = (MainChannelClient*)red_channel_client_create(sizeof(MainChannelClient), - &main_chan->base, - client, stream, - num_common_caps, - common_caps, - num_caps, - caps); + MainChannelClient *mcc = (MainChannelClient*) + red_channel_client_create(sizeof(MainChannelClient), &main_chan->base, + client, stream, num_common_caps, + common_caps, num_caps, caps); mcc->connection_id = connection_id; mcc->bitrate_per_sec = ~0; @@ -1039,7 +1039,8 @@ int main_channel_migrate_connect(MainChannel *main_channel, RedsMigSpice *mig_ta main_channel->num_clients_mig_wait = 0; RING_FOREACH(client_link, &main_channel->base.clients) { - MainChannelClient * mcc = SPICE_CONTAINEROF(client_link, MainChannelClient, base.channel_link); + MainChannelClient * mcc = SPICE_CONTAINEROF(client_link, MainChannelClient, + base.channel_link); if (red_channel_client_test_remote_cap(&mcc->base, SPICE_MAIN_CAP_SEMI_SEAMLESS_MIGRATE)) { if (red_client_during_migrate_at_target(mcc->base.client)) { From c4ddc5ba51579f9139e4c7da31ce6b3fe0878f9c Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 19 Jan 2012 14:09:59 -0600 Subject: [PATCH 07/16] Fix git commit hook errors in red_worker This ensures all line lengths are down below 100 characters as well as removing some trailing spaces. Signed-off-by: Dan McGee --- server/red_worker.c | 88 ++++++++++++++++++++++++++++----------------- 1 file changed, 56 insertions(+), 32 deletions(-) diff --git a/server/red_worker.c b/server/red_worker.c index c2ab957e..80fa8258 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -1043,14 +1043,17 @@ static void dump_bitmap(RedWorker *worker, SpiceBitmap *bitmap, uint32_t group_i #define DCC_FOREACH(link, dcc, channel) \ for (link = channel ? ring_get_head(&(channel)->clients) : NULL,\ - dcc = link ? SPICE_CONTAINEROF((link), DisplayChannelClient, common.base.channel_link) : NULL;\ + dcc = link ? SPICE_CONTAINEROF((link), DisplayChannelClient,\ + common.base.channel_link) : NULL;\ (link); \ (link) = ring_next(&(channel)->clients, link),\ dcc = SPICE_CONTAINEROF((link), DisplayChannelClient, common.base.channel_link)) #define WORKER_FOREACH_DCC(worker, link, dcc) \ - for (link = ((worker) && (worker)->display_channel) ? ring_get_head(&(worker)->display_channel->common.base.clients) : NULL,\ - dcc = link ? SPICE_CONTAINEROF((link), DisplayChannelClient, common.base.channel_link) : NULL;\ + for (link = ((worker) && (worker)->display_channel) ?\ + ring_get_head(&(worker)->display_channel->common.base.clients) : NULL,\ + dcc = link ? SPICE_CONTAINEROF((link), DisplayChannelClient,\ + common.base.channel_link) : NULL;\ (link); \ (link) = ring_next(&(worker)->display_channel->common.base.clients, link),\ dcc = SPICE_CONTAINEROF((link), DisplayChannelClient, common.base.channel_link)) @@ -1090,7 +1093,8 @@ static void dump_bitmap(RedWorker *worker, SpiceBitmap *bitmap, uint32_t group_i // TODO: replace with DCC_FOREACH when it is introduced #define WORKER_TO_DCC(worker) \ - (worker->display_channel ? SPICE_CONTAINEROF(worker->display_channel->common.base.rcc, DisplayChannelClient, common.base) : NULL) + (worker->display_channel ? SPICE_CONTAINEROF(worker->display_channel->common.base.rcc,\ + DisplayChannelClient, common.base) : NULL) #define DCC_TO_DC(dcc) SPICE_CONTAINEROF((dcc)->common.base.channel,\ DisplayChannel, common.base) @@ -1481,7 +1485,8 @@ static inline void red_pipes_remove_drawable(Drawable *drawable) RING_FOREACH_SAFE(item, next, &drawable->pipes) { dpi = SPICE_CONTAINEROF(item, DrawablePipeItem, base); if (pipe_item_is_linked(&dpi->dpi_pipe_item)) { - red_channel_client_pipe_remove_and_release(&dpi->dcc->common.base, &dpi->dpi_pipe_item); + red_channel_client_pipe_remove_and_release(&dpi->dcc->common.base, + &dpi->dpi_pipe_item); } } } @@ -1934,7 +1939,8 @@ static void red_current_clear(RedWorker *worker, int surface_id) } } -static void red_clear_surface_drawables_from_pipe(DisplayChannelClient *dcc, int surface_id, int force) +static void red_clear_surface_drawables_from_pipe(DisplayChannelClient *dcc, int surface_id, + int force) { Ring *ring; PipeItem *item; @@ -2340,7 +2346,9 @@ static int is_equal_path(RedWorker *worker, SpicePath *path1, SpicePath *path2) // partial imp static int is_equal_brush(SpiceBrush *b1, SpiceBrush *b2) { - return b1->type == b2->type && b1->type == SPICE_BRUSH_TYPE_SOLID && b1->u.color == b1->u.color; + return b1->type == b2->type && + b1->type == SPICE_BRUSH_TYPE_SOLID && + b1->u.color == b1->u.color; } // partial imp @@ -2379,9 +2387,11 @@ static int is_same_drawable(RedWorker *worker, Drawable *d1, Drawable *d2) switch (d1->red_drawable->type) { case QXL_DRAW_STROKE: - return is_equal_brush(&d1->red_drawable->u.stroke.brush, &d2->red_drawable->u.stroke.brush); + return is_equal_brush(&d1->red_drawable->u.stroke.brush, + &d2->red_drawable->u.stroke.brush); case QXL_DRAW_FILL: - return is_equal_brush(&d1->red_drawable->u.fill.brush, &d2->red_drawable->u.fill.brush); + return is_equal_brush(&d1->red_drawable->u.fill.brush, + &d2->red_drawable->u.fill.brush); default: return FALSE; } @@ -2936,7 +2946,8 @@ static inline void pre_stream_item_swap(RedWorker *worker, Stream *stream) return; } - double drop_factor = ((double)agent->frames - (double)agent->drops) / (double)agent->frames; + double drop_factor = ((double)agent->frames - (double)agent->drops) / + (double)agent->frames; if (drop_factor == 1) { if (agent->fps < MAX_FPS) { @@ -3072,7 +3083,8 @@ static inline int red_current_add_equal(RedWorker *worker, DrawItem *item, TreeI other_drawable = SPICE_CONTAINEROF(other_draw_item, Drawable, tree_item); if (item->effect == QXL_EFFECT_OPAQUE) { - int add_after = !!other_drawable->stream && is_drawable_independent_from_surfaces(drawable); + int add_after = !!other_drawable->stream && + is_drawable_independent_from_surfaces(drawable); red_stream_maintenance(worker, drawable, other_drawable); __current_add_drawable(worker, drawable, &other->siblings_link); other_drawable->refs++; @@ -3355,7 +3367,8 @@ static inline Shadow *__new_shadow(RedWorker *worker, Drawable *item, SpicePoint return shadow; } -static inline int red_current_add_with_shadow(RedWorker *worker, Ring *ring, Drawable *item, SpicePoint *delta) +static inline int red_current_add_with_shadow(RedWorker *worker, Ring *ring, Drawable *item, + SpicePoint *delta) { #ifdef RED_WORKER_STAT stat_time_t start_time = stat_now(); @@ -3737,7 +3750,8 @@ static inline void red_inc_surfaces_drawable_dependencies(RedWorker *worker, Dra } } -static inline void red_process_drawable(RedWorker *worker, RedDrawable *drawable, uint32_t group_id) +static inline void red_process_drawable(RedWorker *worker, RedDrawable *drawable, + uint32_t group_id) { int surface_id; Drawable *item = get_drawable(worker, drawable->effect, drawable, group_id); @@ -3810,7 +3824,8 @@ static inline void red_create_surface(RedWorker *worker, uint32_t surface_id,uin uint32_t height, int32_t stride, uint32_t format, void *line_0, int data_is_valid, int send_client); -static inline void red_process_surface(RedWorker *worker, RedSurfaceCmd *surface, uint32_t group_id, int loadvm) +static inline void red_process_surface(RedWorker *worker, RedSurfaceCmd *surface, + uint32_t group_id, int loadvm) { int surface_id; RedSurface *red_surface; @@ -4818,8 +4833,8 @@ static void red_current_flush(RedWorker *worker, int surface_id) } // adding the pipe item after pos. If pos == NULL, adding to head. -static ImageItem *red_add_surface_area_image(DisplayChannelClient *dcc, int surface_id, SpiceRect *area, - PipeItem *pos, int can_lossy) +static ImageItem *red_add_surface_area_image(DisplayChannelClient *dcc, int surface_id, + SpiceRect *area, PipeItem *pos, int can_lossy) { DisplayChannel *display_channel = DCC_TO_DC(dcc); RedWorker *worker = display_channel->common.worker; @@ -5049,7 +5064,7 @@ static RedGlzDrawable *red_display_get_glz_drawable(DisplayChannelClient *dcc, D RedGlzDrawable *ret; RingItem *item; - // TODO - I don't really understand what's going on here, so just doing the technical equivalent + // TODO - I don't really understand what's going on here, so doing the technical equivalent // now that we have multiple glz_dicts, so the only way to go from dcc to drawable glz is to go // over the glz_ring (unless adding some better data structure then a ring) DRAWABLE_FOREACH_GLZ(drawable, item, ret) { @@ -6164,7 +6179,8 @@ static inline int red_compress_image(DisplayChannelClient *dcc, } else { if (drawable->copy_bitmap_graduality == BITMAP_GRADUAL_INVALID) { quic_compress = BITMAP_FMT_IS_RGB[src->format] && - (_get_bitmap_graduality_level(display_channel->common.worker, src, drawable->group_id) == + (_get_bitmap_graduality_level(display_channel->common.worker, src, + drawable->group_id) == BITMAP_GRADUAL_HIGH); } else { quic_compress = (drawable->copy_bitmap_graduality == BITMAP_GRADUAL_HIGH); @@ -7094,7 +7110,8 @@ static void red_marshall_qxl_draw_transparent(RedWorker *worker, SpiceMarshaller *src_bitmap_out; SpiceTransparent transparent; - red_channel_client_init_send_data(rcc, SPICE_MSG_DISPLAY_DRAW_TRANSPARENT, &dpi->dpi_pipe_item); + red_channel_client_init_send_data(rcc, SPICE_MSG_DISPLAY_DRAW_TRANSPARENT, + &dpi->dpi_pipe_item); fill_base(base_marshaller, item); transparent = drawable->u.transparent; spice_marshall_Transparent(base_marshaller, @@ -7144,13 +7161,15 @@ static FillBitsType red_marshall_qxl_draw_alpha_blend(RedWorker *worker, SpiceAlphaBlend alpha_blend; FillBitsType src_send_type; - red_channel_client_init_send_data(rcc, SPICE_MSG_DISPLAY_DRAW_ALPHA_BLEND, &dpi->dpi_pipe_item); + red_channel_client_init_send_data(rcc, SPICE_MSG_DISPLAY_DRAW_ALPHA_BLEND, + &dpi->dpi_pipe_item); fill_base(base_marshaller, item); alpha_blend = drawable->u.alpha_blend; spice_marshall_AlphaBlend(base_marshaller, &alpha_blend, &src_bitmap_out); - src_send_type = fill_bits(dcc, src_bitmap_out, alpha_blend.src_bitmap, item, src_allowed_lossy); + src_send_type = fill_bits(dcc, src_bitmap_out, alpha_blend.src_bitmap, item, + src_allowed_lossy); return src_send_type; } @@ -8766,7 +8785,8 @@ static void red_migrate_display(RedWorker *worker, RedChannelClient *rcc) red_pipe_add_verb(rcc, PIPE_ITEM_TYPE_MIGRATE); // red_pipes_add_verb(&worker->display_channel->common.base, // SPICE_MSG_DISPLAY_STREAM_DESTROY_ALL); -// red_channel_pipes_add_type(&worker->display_channel->common.base, PIPE_ITEM_TYPE_MIGRATE); +// red_channel_pipes_add_type(&worker->display_channel->common.base, +// PIPE_ITEM_TYPE_MIGRATE); } } @@ -9068,8 +9088,8 @@ static inline void flush_cursor_commands(RedWorker *worker) } } -// TODO: on timeout, don't disconnect all channeld immeduiatly - try to disconnect the slowest ones first -// and maybe turn timeouts to several timeouts in order to disconnect channels gradually. +// TODO: on timeout, don't disconnect all channeld immeduiatly - try to disconnect the slowest ones +// first and maybe turn timeouts to several timeouts in order to disconnect channels gradually. // Should use disconnect or shutdown? static inline void flush_all_qxl_commands(RedWorker *worker) { @@ -9404,7 +9424,8 @@ static uint64_t display_channel_handle_migrate_data_get_serial( return migrate_data->message_serial; } -static uint64_t display_channel_handle_migrate_data(RedChannelClient *rcc, uint32_t size, void *message) +static uint64_t display_channel_handle_migrate_data(RedChannelClient *rcc, uint32_t size, + void *message) { DisplayChannelMigrateData *migrate_data; DisplayChannel *display_channel = SPICE_CONTAINEROF(rcc->channel, DisplayChannel, common.base); @@ -9461,7 +9482,8 @@ static uint64_t display_channel_handle_migrate_data(RedChannelClient *rcc, uint3 return TRUE; } -static int display_channel_handle_message(RedChannelClient *rcc, uint32_t size, uint16_t type, void *message) +static int display_channel_handle_message(RedChannelClient *rcc, uint32_t size, uint16_t type, + void *message) { DisplayChannelClient *dcc = RCC_TO_DCC(rcc); switch (type) { @@ -9497,7 +9519,8 @@ static int common_channel_config_socket(RedChannelClient *rcc) // TODO - this should be dynamic, not one time at channel creation delay_val = main_channel_client_is_low_bandwidth(mcc) ? 0 : 1; - if (setsockopt(stream->socket, IPPROTO_TCP, TCP_NODELAY, &delay_val, sizeof(delay_val)) == -1) { + if (setsockopt(stream->socket, IPPROTO_TCP, TCP_NODELAY, &delay_val, + sizeof(delay_val)) == -1) { if (errno != ENOTSUP) { red_printf("setsockopt failed, %s", strerror(errno)); } @@ -9625,7 +9648,7 @@ static RedChannel *__new_channel(RedWorker *worker, int size, uint32_t channel_t channel_handle_parsed_proc handle_parsed, channel_handle_migrate_flush_mark_proc handle_migrate_flush_mark, channel_handle_migrate_data_proc handle_migrate_data, - channel_handle_migrate_data_get_serial_proc handle_migrate_data_get_serial) + channel_handle_migrate_data_get_serial_proc migrate_get_serial) { RedChannel *channel = NULL; CommonChannel *common; @@ -9640,7 +9663,7 @@ static RedChannel *__new_channel(RedWorker *worker, int size, uint32_t channel_t channel_cbs.release_recv_buf = common_release_recv_buf; channel_cbs.handle_migrate_flush_mark = handle_migrate_flush_mark; channel_cbs.handle_migrate_data = handle_migrate_data; - channel_cbs.handle_migrate_data_get_serial = handle_migrate_data_get_serial; + channel_cbs.handle_migrate_data_get_serial = migrate_get_serial; channel = red_channel_create_parser(size, &worker_core, channel_type, worker->id, @@ -10350,7 +10373,8 @@ static inline void red_cursor_reset(RedWorker *worker) worker->cursor_trail_length = worker->cursor_trail_frequency = 0; if (cursor_is_connected(worker)) { - red_channel_pipes_add_type(&worker->cursor_channel->common.base, PIPE_ITEM_TYPE_INVAL_CURSOR_CACHE); + red_channel_pipes_add_type(&worker->cursor_channel->common.base, + PIPE_ITEM_TYPE_INVAL_CURSOR_CACHE); if (!worker->cursor_channel->common.base.migrate) { red_pipes_add_verb(&worker->cursor_channel->common.base, SPICE_MSG_CURSOR_RESET); } @@ -10407,8 +10431,8 @@ static void dev_create_primary_surface(RedWorker *worker, uint32_t surface_id, PANIC_ON(((uint64_t)abs(surface.stride) * (uint64_t)surface.height) != abs(surface.stride) * surface.height); - line_0 = (uint8_t*)get_virt(&worker->mem_slots, surface.mem, surface.height * abs(surface.stride), - surface.group_id); + line_0 = (uint8_t*)get_virt(&worker->mem_slots, surface.mem, + surface.height * abs(surface.stride), surface.group_id); if (surface.stride < 0) { line_0 -= (int32_t)(surface.stride * (surface.height -1)); } From b0b19f4b2580977f594cabe03c58b0fa75dd7bda Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 19 Jan 2012 14:10:00 -0600 Subject: [PATCH 08/16] Update .gitignore with a few more generated files Signed-off-by: Dan McGee --- .gitignore | 2 ++ client/.gitignore | 1 + client/x11/.gitignore | 1 + common/.gitignore | 1 + server/tests/.gitignore | 2 ++ 5 files changed, 7 insertions(+) diff --git a/.gitignore b/.gitignore index 5a4db5ca..6c15c135 100644 --- a/.gitignore +++ b/.gitignore @@ -17,7 +17,9 @@ depcomp install-sh libtool ltmain.sh +m4/ missing Makefile Makefile.in +spice-server.pc stamp-h1 diff --git a/client/.gitignore b/client/.gitignore index 39a4cf7a..0561c05c 100644 --- a/client/.gitignore +++ b/client/.gitignore @@ -10,3 +10,4 @@ generated_demarshallers.cpp generated_demarshallers1.cpp generated_marshallers.cpp generated_marshallers1.cpp +spicec diff --git a/client/x11/.gitignore b/client/x11/.gitignore index 397a68f4..2f08d7eb 100644 --- a/client/x11/.gitignore +++ b/client/x11/.gitignore @@ -3,6 +3,7 @@ *.loT *.o .deps +.dirstamp .libs Makefile Makefile.in diff --git a/common/.gitignore b/common/.gitignore index 07491dd4..d033f47d 100644 --- a/common/.gitignore +++ b/common/.gitignore @@ -3,6 +3,7 @@ *.loT *.o .deps +.dirstamp .libs Makefile Makefile.in diff --git a/server/tests/.gitignore b/server/tests/.gitignore index 063083bc..d587e255 100644 --- a/server/tests/.gitignore +++ b/server/tests/.gitignore @@ -1,4 +1,6 @@ test_display_no_ssl +test_display_streaming test_empty_success test_just_sockets_no_ssl test_fail_on_null_core_interface +test_playback From 89cc196a1b6b93d702ed456cd003d12ae304f9cf Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 19 Jan 2012 14:10:01 -0600 Subject: [PATCH 09/16] server/inputs_channel: don't set O_ASYNC option on socket output to send a SIGIO signal to the running program. However, we don't handle this signal anywhere in the code, so setting the option is unnecessary. Signed-off-by: Dan McGee --- server/inputs_channel.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/server/inputs_channel.c b/server/inputs_channel.c index 83c2cad9..a3f26c02 100644 --- a/server/inputs_channel.c +++ b/server/inputs_channel.c @@ -282,7 +282,8 @@ static void inputs_channel_send_item(RedChannelClient *rcc, PipeItem *base) red_channel_client_begin_send_message(rcc); } -static int inputs_channel_handle_parsed(RedChannelClient *rcc, uint32_t size, uint16_t type, void *message) +static int inputs_channel_handle_parsed(RedChannelClient *rcc, uint32_t size, uint16_t type, + void *message) { InputsChannel *inputs_channel = (InputsChannel *)rcc->channel; InputsChannelClient *icc = (InputsChannelClient *)rcc; @@ -464,7 +465,6 @@ static void inputs_pipe_add_init(RedChannelClient *rcc) static int inputs_channel_config_socket(RedChannelClient *rcc) { - int flags; int delay_val = 1; RedsStream *stream = red_channel_client_get_stream(rcc); @@ -476,11 +476,6 @@ static int inputs_channel_config_socket(RedChannelClient *rcc) } } - if ((flags = fcntl(stream->socket, F_GETFL)) == -1 || - fcntl(stream->socket, F_SETFL, flags | O_ASYNC) == -1) { - red_printf("fcntl failed, %s", strerror(errno)); - return FALSE; - } return TRUE; } From 781706ea0de422b95112f064c37f69ec4715a87b Mon Sep 17 00:00:00 2001 From: Nahum Shalman Date: Thu, 19 Jan 2012 14:10:02 -0600 Subject: [PATCH 10/16] server: don't complain if setsockopt(SO_PRIORITY) call fails dc7855967f4e did this for the TCP_NODELAY and IP_TOS calls; we should do it for priority as well if necessary. We also #ifdef the setting of the low-level socket priority based on whether we have a definition of SO_PRIORITY available. This option is not available on Illumos/Solaris platforms; however, since we set IP_TOS anyway it is not a big deal to omit it here. --- server/snd_worker.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/server/snd_worker.c b/server/snd_worker.c index cb64c993..e78d1d33 100644 --- a/server/snd_worker.c +++ b/server/snd_worker.c @@ -902,7 +902,9 @@ static SndChannel *__new_channel(SndWorker *worker, int size, uint32_t channel_i SndChannel *channel; int delay_val; int flags; +#ifdef SO_PRIORITY int priority; +#endif int tos; MainChannelClient *mcc = red_client_get_main(client); @@ -911,11 +913,15 @@ static SndChannel *__new_channel(SndWorker *worker, int size, uint32_t channel_i goto error1; } +#ifdef SO_PRIORITY priority = 6; if (setsockopt(stream->socket, SOL_SOCKET, SO_PRIORITY, (void*)&priority, sizeof(priority)) == -1) { - red_printf("setsockopt failed, %s", strerror(errno)); + if (errno != ENOTSUP) { + red_printf("setsockopt failed, %s", strerror(errno)); + } } +#endif tos = IPTOS_LOWDELAY; if (setsockopt(stream->socket, IPPROTO_IP, IP_TOS, (void*)&tos, sizeof(tos)) == -1) { From 90d612686901254ec0d600ea991e65dbdc849ce5 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 19 Jan 2012 14:10:03 -0600 Subject: [PATCH 11/16] Remove epoll headers from client code There is no more usage of epoll on the client side, so no need to include these header files. Signed-off-by: Dan McGee --- client/x11/named_pipe.cpp | 1 - client/x11/platform.cpp | 1 - 2 files changed, 2 deletions(-) diff --git a/client/x11/named_pipe.cpp b/client/x11/named_pipe.cpp index 84b980dc..ad6b2e5c 100644 --- a/client/x11/named_pipe.cpp +++ b/client/x11/named_pipe.cpp @@ -20,7 +20,6 @@ #include #include -#include #include #include "named_pipe.h" #include "utils.h" diff --git a/client/x11/platform.cpp b/client/x11/platform.cpp index df8fa768..416513e6 100644 --- a/client/x11/platform.cpp +++ b/client/x11/platform.cpp @@ -34,7 +34,6 @@ #include #include #include -#include #include #include #include From 07b8d85cb626134d6a2cbcd9f8d0411afdeedaf4 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 19 Jan 2012 14:10:04 -0600 Subject: [PATCH 12/16] Use found python binary to check for pyparsing This matches what we do in client/Makefile.am to actually run the python scripts, which is to use the python binary we find first, preferring 'python2' over 'python'. This makes the compile work on odd systems such as Arch Linux where the python binary is actually python3. Signed-off-by: Dan McGee --- configure.ac | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index da600177..b6fb7512 100644 --- a/configure.ac +++ b/configure.ac @@ -217,7 +217,7 @@ SPICE_REQUIRES+=" celt051 >= 0.5.1.1" if test ! -e client/generated_marshallers.cpp; then AC_MSG_CHECKING([for pyparsing python module]) -echo "import pyparsing" | python - >/dev/null 2>&1 +echo "import pyparsing" | ${PYTHON} - >/dev/null 2>&1 if test $? -ne 0 ; then AC_MSG_RESULT([not found]) AC_MSG_ERROR([pyparsing python module is required to compile this package]) @@ -531,6 +531,7 @@ echo " prefix: ${prefix} c compiler: ${CC} c++ compiler: ${CXX} + python: ${PYTHON} Build Spice client: ${enable_client} From 51d7598a2e589e88a818c0e1973baf12143e4263 Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Mon, 23 Jan 2012 12:31:30 +0200 Subject: [PATCH 13/16] server/tests/test_empty_success: fix warning on bzero Signed-off-by: Alon Levy --- server/tests/test_empty_success.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/server/tests/test_empty_success.c b/server/tests/test_empty_success.c index fb46aa89..435efbf6 100644 --- a/server/tests/test_empty_success.c +++ b/server/tests/test_empty_success.c @@ -1,5 +1,7 @@ #include #include +#include + #include SpiceTimer* timer_add(SpiceTimerFunc func, void *opaque) From 459a4dba56bad9dbfb529723eee063c138baccce Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Mon, 23 Jan 2012 12:58:30 +0200 Subject: [PATCH 14/16] server/red_channel: red_peer_handle_incoming: comment on null check Signed-off-by: Alon Levy --- server/red_channel.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/server/red_channel.c b/server/red_channel.c index d2c9e6d8..ec02018d 100644 --- a/server/red_channel.c +++ b/server/red_channel.c @@ -162,6 +162,8 @@ static void red_peer_handle_incoming(RedsStream *stream, IncomingHandler *handle uint16_t msg_type; uint32_t msg_size; + /* XXX: This needs further investigation as to the underlying cause, it happened + * after spicec disconnect (but not with spice-gtk) repeatedly. */ if (!stream) { return; } From a0190fce2302b8051f744c5cf38c1b334d77d11e Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 23 Jan 2012 15:49:22 +0100 Subject: [PATCH 15/16] Fix various comparison between signed and unsigned integer expressions warnings These turn into errors because of our -Werror use, breaking the build. Signed-off-by: Hans de Goede --- client/gui/softrenderer.cpp | 2 +- client/x11/event_sources_p.cpp | 2 +- client/x11/platform.cpp | 12 ++++++------ client/x11/red_window.cpp | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/client/gui/softrenderer.cpp b/client/gui/softrenderer.cpp index 9f19e7b0..c888bc03 100644 --- a/client/gui/softrenderer.cpp +++ b/client/gui/softrenderer.cpp @@ -45,7 +45,7 @@ SoftRenderer::SoftRenderer(uint8_t* surface, uint width, uint height, uint strid , _image_codec_module (NULL) , _queueing(true) { - assert(stride == _width * 4); //for now + assert(stride == width * 4); //for now if (!_image_codec) { setupImageCodec(); } diff --git a/client/x11/event_sources_p.cpp b/client/x11/event_sources_p.cpp index 1958a04d..5f9f4523 100644 --- a/client/x11/event_sources_p.cpp +++ b/client/x11/event_sources_p.cpp @@ -119,7 +119,7 @@ bool EventSources::wait_events(int timeout_msec) return false; } - for (int i = 0; i < _events.size(); i++) { + for (unsigned int i = 0; i < _events.size(); i++) { if (FD_ISSET(_fds[i], &rfds)) { _events[i]->action(); /* The action may have removed / added event sources changing diff --git a/client/x11/platform.cpp b/client/x11/platform.cpp index 416513e6..f535d6da 100644 --- a/client/x11/platform.cpp +++ b/client/x11/platform.cpp @@ -135,7 +135,7 @@ static struct clipboard_format_info clipboard_formats[] = { { VD_AGENT_CLIPBOARD_IMAGE_JPG, { "image/jpeg", NULL }, }, }; -#define clipboard_format_count (sizeof(clipboard_formats)/sizeof(clipboard_formats[0])) +#define clipboard_format_count ((int)(sizeof(clipboard_formats)/sizeof(clipboard_formats[0]))) struct selection_request { XEvent event; @@ -145,11 +145,11 @@ struct selection_request { static int expected_targets_notifies = 0; static bool waiting_for_property_notify = false; static uint8_t* clipboard_data = NULL; -static int32_t clipboard_data_size = 0; -static int32_t clipboard_data_space = 0; +static uint32_t clipboard_data_size = 0; +static uint32_t clipboard_data_space = 0; static Atom clipboard_request_target = None; static selection_request *next_selection_request = NULL; -static uint32_t clipboard_type_count = 0; +static int clipboard_type_count = 0; static uint32_t clipboard_agent_types[256]; static Atom clipboard_x11_targets[256]; static Mutex clipboard_lock; @@ -1242,7 +1242,7 @@ private: void update_position(); bool find_mode_in_outputs(RRMode mode, int start_index, XRRScreenResources* res); bool find_mode_in_clones(RRMode mode, XRRScreenResources* res); - XRRModeInfo* find_mode(int width, int height, XRRScreenResources* res); + XRRModeInfo* find_mode(unsigned int width, unsigned int height, XRRScreenResources* res); private: MultyMonScreen& _container; @@ -2181,7 +2181,7 @@ public: } }; -XRRModeInfo* XMonitor::find_mode(int width, int height, XRRScreenResources* res) +XRRModeInfo* XMonitor::find_mode(unsigned int width, unsigned int height, XRRScreenResources* res) { typedef std::set ModesSet; ModesSet modes_set; diff --git a/client/x11/red_window.cpp b/client/x11/red_window.cpp index e0b7d456..b16249ea 100644 --- a/client/x11/red_window.cpp +++ b/client/x11/red_window.cpp @@ -922,7 +922,7 @@ void RedWindow_p::win_proc(XEvent& event) case ClientMessage: if (event.xclient.message_type == wm_protocol_atom) { ASSERT(event.xclient.format == 32); - if (event.xclient.data.l[0] == wm_delete_window_atom) { + if ((Atom)event.xclient.data.l[0] == wm_delete_window_atom) { DBG(0, "wm_delete_window"); Platform::send_quit_request(); } From 8817549795722026ca83edab2640b8f156510074 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 23 Jan 2012 15:23:44 +0100 Subject: [PATCH 16/16] Release 0.10.1 --- NEWS | 8 ++++++++ configure.ac | 2 +- server/spice.h | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 83765f11..2deba578 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,11 @@ +Major changes in 0.10.1: +======================== +* Mini header support +* Add server API for injecting a client connection socket +* Add Xinerama support to spicec +* Many bugfixes / code cleanups +* Requires spice-protocol >= 0.10.1 + Major changes in 0.10.0: ======================== * 32 bit (little endian) server builds. diff --git a/configure.ac b/configure.ac index b6fb7512..0f8ad7df 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ AC_PREREQ([2.57]) m4_define([SPICE_MAJOR], 0) m4_define([SPICE_MINOR], 10) -m4_define([SPICE_MICRO], 0) +m4_define([SPICE_MICRO], 1) AC_INIT(spice, [SPICE_MAJOR.SPICE_MINOR.SPICE_MICRO], [], spice) diff --git a/server/spice.h b/server/spice.h index 6233a6ca..c582e6cd 100644 --- a/server/spice.h +++ b/server/spice.h @@ -22,7 +22,7 @@ #include #include -#define SPICE_SERVER_VERSION 0x000901 /* release 0.9.1 */ +#define SPICE_SERVER_VERSION 0x000a01 /* release 0.10.1 */ /* interface base type */