Alon Levy
9e46945a61
server/red_worker: use red_channel_destroy
2011-03-02 17:27:51 +02:00
Alon Levy
966201c1ad
server/inputs_channel: s/PIPE_ITEM_INIT/PIPE_ITEM_INPUTS_INIT/
2011-03-02 17:27:51 +02:00
Alon Levy
5e1ba1101b
server/red_channel: move SET_ACK to red_channel
2011-03-02 17:27:51 +02:00
Alon Levy
2fcd35b073
server/red_channel: add more ack api
2011-03-02 17:27:51 +02:00
Alon Levy
766bb420bb
server: use red_channel_get_message_serial
2011-03-02 17:27:51 +02:00
Alon Levy
17b6a58f1e
server/red_channel (all): makes red_channel_reset_send_data private
...
ready the way for handling ack messages in RedChannel.
2011-03-02 17:27:51 +02:00
Alon Levy
cd99a0b4b3
server/red_worker: use red_channel
2011-03-02 17:27:50 +02:00
Alon Levy
ce3efca360
server/red_channe: make hold_item take a channel arg
2011-03-02 17:27:50 +02:00
Alon Levy
73858b93dc
server/red_worker: introduce red_peer_handle_outgoing and OutgoingHandler
...
From red_channel.
2011-03-02 17:27:50 +02:00
Alon Levy
29a7bcd596
server/red_worker: introduce common_channel_config_socket
2011-03-02 17:27:50 +02:00
Alon Levy
beba2c7206
server/red_worker: line width fix
2011-03-02 17:27:50 +02:00
Alon Levy
724348ce49
server/red_worker: don't push to NULL channel (called from device input)
2011-03-02 17:27:50 +02:00
Alon Levy
705254b399
server/red_worker: introduce red_channel_pipe_clear
...
No more common_release_pipe_item
2011-03-02 17:27:50 +02:00
Alon Levy
a0a9718423
server/red_worker: add red_channel_push
2011-03-02 17:27:50 +02:00
Alon Levy
111cf51103
server/red_worker: add send_item
2011-03-02 17:27:50 +02:00
Alon Levy
f7a99f858e
server/red_worker: red_channel renames
...
The renames are part of refactoring red_worker's RedChannel to reuse
red_channel.h's RedChannel at the end.
s/red_send_data/red_channel_send/
s/red_pipe_get/red_channel_pipe_get/
s/recive_data/incoming/
s/red_receive/red_channel_receive/
s/channel_handle_message/red_channel_handle_message/
s/channel_is_connected/red_channel_is_connected/
s/red_pipe_add_type/red_channel_pipe_add_type/
2011-03-02 17:27:49 +02:00
Alon Levy
b3ea0bec3d
server/red_tunnel_worker: use message_serial setter and getter
...
fixes breakage in --enable-tunnel compilation.
2011-03-02 17:27:49 +02:00
Marc-André Lureau
8f9cbd19db
server: add SASL support
...
We introduce 2 public functions to integrate with the library user.
spice_server_set_sasl() - turn on SASL
spice_server_set_sasl_appname() - specify the name of the app (It is
used for where to find the default configuration file)
The patch for QEMU is on its way.
https://bugs.freedesktop.org/show_bug.cgi?id=34795
2011-02-28 16:36:35 +01:00
Marc-André Lureau
f4dddc50f0
server: add auth mechanism selection
...
https://bugs.freedesktop.org/show_bug.cgi?id=34795
2011-02-28 16:36:35 +01:00
Marc-André Lureau
4f983b2c9c
server: add reds_channel_dispose()
...
Try to have a common base dispose() method for channels. For now, it
just free the caps.
Make use of it in snd_worker, and in sync_write() - sync_write() is
going to have default caps later on.
https://bugs.freedesktop.org/show_bug.cgi?id=34795
2011-02-28 16:36:35 +01:00
Marc-André Lureau
09c01c9516
server: simplify and constify sync_write()
...
+ symplify, improving style of code using it.
https://bugs.freedesktop.org/show_bug.cgi?id=34795
2011-02-28 16:36:35 +01:00
Marc-André Lureau
37dbb8aec9
server: pull out reds_handle_link(), for future reuse
...
+ a couple of indent, style change
https://bugs.freedesktop.org/show_bug.cgi?id=34795
2011-02-28 16:36:35 +01:00
Marc-André Lureau
414e1de720
build: add --with-sasl
...
Using cyrus SASL library (same as gtk-vnc/qemu).
https://bugs.freedesktop.org/show_bug.cgi?id=34795
2011-02-28 16:36:35 +01:00
Marc-André Lureau
2ced8996c8
server/reds: make writev fallback more generic
...
We are going to reuse it for SASL/SSF encode write().
https://bugs.freedesktop.org/show_bug.cgi?id=34795
2011-02-28 16:36:35 +01:00
Marc-André Lureau
76dc27f08a
server: rename s/peer/stream
...
This is stylish change again. We are talking about a RedStream object,
so let's just name the variable "stream" everywhere, to avoid
confusion with a non existent RedPeer object.
https://bugs.freedesktop.org/show_bug.cgi?id=34795
2011-02-28 16:36:35 +01:00
Marc-André Lureau
1a4923c210
server/reds: remove the void* ctx field
...
https://bugs.freedesktop.org/show_bug.cgi?id=34795
2011-02-28 16:36:35 +01:00
Marc-André Lureau
fc5d7f7625
server: use the new reds_stream_{read,write}
...
https://bugs.freedesktop.org/show_bug.cgi?id=34795
2011-02-28 16:36:28 +01:00
Marc-André Lureau
f32503258f
server: remove cb_free, not needed anymore
...
https://bugs.freedesktop.org/show_bug.cgi?id=34795
2011-02-27 18:26:19 +01:00
Marc-André Lureau
07d6dd6108
server: use reds_{link,stream}_free()
...
Be carefull removing the watch before, like __release_link
https://bugs.freedesktop.org/show_bug.cgi?id=34795
2011-02-27 18:26:19 +01:00
Marc-André Lureau
fca602124d
server: use reds_stream_remove_watch() helper
...
https://bugs.freedesktop.org/show_bug.cgi?id=34795
2011-02-27 18:26:18 +01:00
Marc-André Lureau
b79e7320de
server: add reds_stream_{read,write,free,remove_watch}()
...
https://bugs.freedesktop.org/show_bug.cgi?id=34795
2011-02-27 18:26:15 +01:00
Marc-André Lureau
d47912241f
server: s/RedsStreamContext/RedsStream
...
https://bugs.freedesktop.org/show_bug.cgi?id=34795
2011-02-27 16:55:22 +01:00
Marc-André Lureau
29be54f6d3
server/reds: remove unused readv
...
Let's not bother with it since nobody uses it, and it's not implemented for SSL anyway
https://bugs.freedesktop.org/show_bug.cgi?id=34795
2011-02-27 16:55:22 +01:00
Marc-André Lureau
0e64e2d02c
build: make it silent
...
This patch make it easier to spot warnings in compilation. It should
work with older versions of automake that don't support silent rules.
If you want verbose build, make V=1.
Signed-off-by: Uri Lublin <uril@redhat.com>
https://bugs.freedesktop.org/show_bug.cgi?id=34795
2011-02-27 16:55:22 +01:00
Alon Levy
0f4a0aa07e
server/tests/basic_event_loop: fix bzero warning
2011-02-11 19:13:03 +02:00
Alon Levy
0b687d9b23
server/red_worker: cursor_channel_send_item: don't downcast
2011-02-11 15:32:21 +02:00
Alon Levy
bb7cbceb97
server/red_worker: match channel_release_pipe_item_proc to red_channel
2011-02-11 15:32:21 +02:00
Alon Levy
53f5cf43ce
server/red_worker: introduce an outgoing struct around out_bytes_counter
2011-02-11 15:32:21 +02:00
Alon Levy
d7521edac1
server/red_worker: renames to add channel_ prefix and consistent sig
...
s/disconnect_channel_proc/channel_disconnect_proc/
s/release_item_proc/channel_release_pipe_item_proc/
s/handle_message_proc/channel_handle_parsed_proc/
Adds RedChannel* channel as first parameter to hold_pipe_item_proc
2011-02-11 15:32:21 +02:00
Alon Levy
f8d3345ef7
server/red_worker: split cursor_channel_send_item
...
Split from cursor_channel_push
2011-02-11 15:32:21 +02:00
Alon Levy
67b3bf20d0
server/red_worker: use red_channel begin_send_message
...
s/red_begin_send_message/red_channel_begin_send_message/
2011-02-11 15:32:21 +02:00
Alon Levy
7d53a51da0
server/red_worker: add red_channel_init_send_data
...
Changes semantics of send to always hold/release regardless of block, like
red_channel. A hold is just a reference count increment or nop.
2011-02-11 15:32:21 +02:00
Alon Levy
859aa15806
server/red_worker: split display_channel_send_item
...
Split it out of display_channel_push.
2011-02-11 15:32:21 +02:00
Alon Levy
f8262c80ad
server/red_worker: extract common_release_pipe_item from red_pipe_clear
2011-02-11 15:32:21 +02:00
Alon Levy
e588176dab
server/red_worker: use red_channel pipe add versions
...
s/red_pipe_add/red_channel_pipe_add/
s/red_pipe_add_after/red_channel_pipe_add_after/
2011-02-11 15:32:21 +02:00
Alon Levy
a0a958c77b
server/red_worker: shorten some lines using alias variables
2011-02-11 15:32:21 +02:00
Alon Levy
e8698ea0f8
server/red_worker: introduce CommonChannel
...
with everything (almost) not in red_channel's RedChannel
As a result of CommonChannel a free cb is added to EventHandler,
to take care of non zero offset for embedded EventHandler.
2011-02-11 15:32:20 +02:00
Alon Levy
9330dbac13
server/red_worker: use ack_data struct
...
start of move to red_channel based channels
2011-02-11 15:32:20 +02:00
Alon Levy
a185c1daf0
server/red_worker: change hold_item sig, drop the void*
...
changed to PipeItem *
2011-02-11 15:32:20 +02:00
Alon Levy
51da06793c
server/smartcard: don't push our own error on reader add
...
The device already sends one. There are actually two connections going
on:
server to client - this is the smartcard channel, it reuses the VSC protocol.
server to device - this is an internal connection using VSC too.
We generally just passthrough all messages from the client to the device,
and from the device to the client. We only rewrite the reader_id because
the device knows about a single id (it is actually a card id), and we
may manage more then one in the future.
Bottom line is that there was an extra VSC_Error message reaching the client.
2011-02-09 12:11:51 +02:00
Alon Levy
c7c6f9aed0
server/smartcard: ignore VSC_Init from client
2011-02-07 21:32:40 +02:00
Alon Levy
612f9744df
server/smartcard: print instead of assert on bad reader_id in smartcard_char_device_on_message_from_device
2011-02-07 21:32:40 +02:00
Alon Levy
fe83d01162
server/smartcard: libcacard uses network byte order, so we must too
2011-02-07 21:32:40 +02:00
Alon Levy
9d75e43226
server/smartcard: libcacard removed ReaderAddResponse
2011-02-07 21:31:23 +02:00
Alon Levy
4e48f65dc4
server/smartcard: s/reader_id_t/uint32_t/ (libcacard changed)
2011-02-07 20:27:35 +02:00
Alon Levy
8c17f83940
server/red_channel: style fix in red_channel_init_send_data
2011-02-07 19:22:44 +02:00
Alon Levy
c4d028510d
server/red_channel: red_channel_pipe_clear: assert on NULL channel
2011-02-07 19:22:44 +02:00
Alon Levy
e9103c67ad
server/red_channel: add TODO
2011-02-07 19:22:44 +02:00
Alon Levy
e655c5d26e
server/red_channel: export red_channel_send
2011-02-07 19:22:44 +02:00
Alon Levy
10692e20ca
server/red_channel: add red_channel_waiting_for_ack
...
small inline function to have the ack window logic.
2011-02-07 19:22:44 +02:00
Alon Levy
f45d17d68b
server/red_channel: protect red_channel_push from NULL
2011-02-07 19:22:44 +02:00
Alon Levy
3476fe428d
server/red_channel: reset pipe_size on clear (from red_worker)
2011-02-07 19:22:44 +02:00
Alon Levy
5062433d8a
server/red_channel: red_channel_event: push on blocked
...
try to push either on signal (write available) or when blocked
and read signaled. From red_worker, copied for compatibility when
switching later to RedChannel in red_worker. Doesn't make a lot of
sense (but works), see comment in patch.
2011-02-07 19:22:44 +02:00
Alon Levy
23f13aa983
server/red_channel: use red_channel_receive
2011-02-07 19:22:44 +02:00
Alon Levy
a5afee2842
server/red_channel: add empty handle of SPICE_MSGC_DISCONNECTING
...
Simply ignored in red_channel_handle_message
2011-02-07 19:22:44 +02:00
Alon Levy
74d7405493
server/red_channel: add red_channel_receive (for red_worker)
2011-02-07 19:22:44 +02:00
Alon Levy
c0b7abaa48
server/red_channel: unstatic red_channel_pipe_clear (for red_worker)
2011-02-07 19:22:44 +02:00
Alon Levy
a30a602654
server/red_channel: unstatic red_channel_push (for red_worker)
2011-02-07 19:22:44 +02:00
Alon Levy
57b719b991
server/red_channel: two 80 column fixes
2011-02-07 19:22:44 +02:00
Alon Levy
33bede823a
server/red_channel: add public red_channel_default_peer_on_error
...
for later use in red_worker
2011-02-07 19:22:44 +02:00
Alon Levy
c322873cf0
server/red_channel: add red_channel_pipe_add_after (from red_worker)
2011-02-07 19:22:44 +02:00
Alon Levy
23f37df548
server/red_channel: make client ack window configurable
...
from red_worker
2011-02-07 19:22:44 +02:00
Alon Levy
0512726b68
server/red_channel (tunnel): change sig of red_channel_handle_message
...
for later usage with red_worker
2011-02-07 19:22:44 +02:00
Alon Levy
26dda37c27
server/red_channel: make MAX_SEND_VEC 100
...
MAX_SEND_VEC was 100 for DisplayChannel's RedChannel implementation which is being replaced
with RedChannel in red_channel. So changing from 50 to 100 in red_channel
(make this configurble?) - effectively increased memory usage by:
(100-50)*sizeof(iovec)*(num_of_channels-2) ==(arch 64bit) 50*16*6 ~ 5k
Not terrible.
2011-02-07 19:22:44 +02:00
Alon Levy
b4c3b8a586
server/red_channel: reflect SpiceDataHeader fields in handle_parsed_proc
2011-02-07 19:22:44 +02:00
Alon Levy
194a6be5f7
server/red_channel: add red_channel_pipe_add_push
2011-02-07 19:22:44 +02:00
Alon Levy
7dfd7a0c77
server/red_channel: add hold_item (from red_worker)
...
hold_item called on init_send_data, matching release.
This is not the behavior of red_worker - we ref++ (==hold_item) when
sending the item, and --refs when releasing it, instead of only holding
if the send is blocked.
Note 1: Naming: hold_pipe_item is the proc name, the variable is called
hold_item, this is similar to release_item/release_pipe_item naming.
Note 2: All channels have empty implementation, we later use this when
red_worker get's RedChannelized.
2011-02-07 19:21:21 +02:00
Alon Levy
e571b5ebbb
server/red_channel: add out_bytes_counter (unused)
2011-02-07 19:06:52 +02:00
Alon Levy
31db6ef8c2
server/red_worker: fix used but uninitialized warning (gcc 4.6.0)
2011-02-07 15:10:36 +02:00
Alon Levy
46c70521d5
client/server: warning fixes (gcc 4.6.0)
...
gcc 4.6.0 added "[-Werror=unused-but-set-variable]", this and the next
few fixes tend to that. Mostly harmless.
2011-01-25 17:22:48 +02:00
Alon Levy
d3b22d86f0
client/server: add missing USE_TUNNEL
...
disable some code that only makes sense when USE_TUNNEL is defined
in client and server channel security level setting.
2011-01-25 17:16:27 +02:00
Alon Levy
5a2ef3b21c
client/server: add missing smartchannel channel security handling
...
The name to channel id mapping for the smartcard channel is missing,
add it in client and server.
2011-01-25 17:16:18 +02:00
Hans de Goede
c29e4f9dd8
Update license header for server/red_parse_qxl.c
...
This one mistakenly had a GPL header rather then an LGPL header.
2011-01-21 15:37:04 +01:00
Alon Levy
f16c2fccdd
server/red_channel: fix segfault on red_channel_destroy if peer already removed
2011-01-16 11:59:08 +02:00
Alon Levy
2809d84724
server/inputs_channel: use outgoing marshaller in red_channel/RedChannel
2011-01-16 11:59:06 +02:00
Alon Levy
8fabff2a1e
server/main_channel: use red_channel (most code is pipe send/marshall separation)
2011-01-15 20:54:48 +02:00
Alon Levy
444b322cab
server/red_channel: no need for extra loop
2011-01-15 20:54:48 +02:00
Alon Levy
90c93eb3c1
server/red_channel: go marshaller for outgoing (copied from red_worker)
2011-01-13 06:56:54 +02:00
Alon Levy
e7e667f81d
server/reds: don't remove agent if it's not connected
2011-01-13 06:56:54 +02:00
Alon Levy
26cd666be5
server/reds: protect reds_update_mouse_mode when main_channel is disconnected
2011-01-13 06:56:54 +02:00
Alon Levy
42522e0db9
server/reds: don't call close on NULL channel on atexit callback
2011-01-13 06:56:54 +02:00
Alon Levy
cd6c57e337
server/reds: fix possible segfault when accessing vdagent from reds_update_mouse_mode after vdagent set to NULL
2011-01-13 06:56:53 +02:00
Alon Levy
cdfa261dbb
server/reds: s/reds_push_migrate_data_item/reds_marshall_migrate_data_item/
2011-01-13 06:56:53 +02:00
Alon Levy
685f82a48e
server: split main_channel from reds
2011-01-13 06:56:51 +02:00
Alon Levy
293f5f0df8
server/tests: split test_display_no_ssl to test_display_base, add streaming test
2011-01-10 14:11:37 +02:00
Alon Levy
2c16ef8f26
server/tests/test_display_no_ssl: add update_area, COPY_BITS to tested functions, make a queue of QXLCommandExt waiting (cursor still with production at get_command)
2011-01-10 14:11:37 +02:00
Alon Levy
92e4ab6d68
server/tests/test_display_no_ssl: add surface create/destroy test (commented out), and square mode (default)
2011-01-10 14:11:37 +02:00
Alon Levy
2124818788
server/tests: fix timer reset to allow setting next call during callback
2011-01-10 14:11:37 +02:00
Alon Levy
c1846506de
server/tests/test_display_no_ssl: change color every circle
2011-01-10 14:11:37 +02:00
Alon Levy
618d13d4d1
server/tests/test_display_no_ssl: restart notify timer
2011-01-10 14:11:37 +02:00