summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* server: Access the correct SndChannel for a given AudioFrameAndrew Eikum2012-10-011-5/+11
| | | | | | The client of _get_buffer() holds a ref to the SndChannel, and we should access that SndChannel when _put_samples() is called, not the one that happens to currently be attached to the Interface.
* server: Don't release SndChannel twice from worker referenceAndrew Eikum2012-10-011-1/+1
| | | | | | | | When we release the SndChannel reference during snd_disconnect_channel(), we need to set the pointer to NULL so it doesn't get released again on client reconnect during snd_set_playback_peer(). This can happen when a reference is held from _playback_get_buffer().
* reds: Report an error when reds_char_device_add_state failsChristophe Fergeau2012-09-201-0/+1
| | | | | | This used to abort with spice_error. The caller currently does not check spice_server_char_device_add_interface return value, but it's still cleaner to report an error in this case.
* reds: Check errors returned from SSL_CTX_set_cipher_listChristophe Fergeau2012-09-201-1/+3
|
* reds: Report errors from load_dh_paramsChristophe Fergeau2012-09-201-3/+10
|
* reds: Check reds_init_ssl errorsChristophe Fergeau2012-09-201-1/+3
| | | | | | Now that this function can fail, propagate any error up to the caller. This allows qemu to fail when an SSL initialization error occurred.
* reds: report SSL initialization errorsChristophe Fergeau2012-09-201-1/+7
| | | | | | | | | Errors occurring in reds_init_ssl used to be fatal through the use of spice_error, but this was downgraded to non-fatal spice_warning calls recently. This means we no longer error out when invalid SSL (certificates, ...) parameters are passed by the user. This commit changes reds_init_ssl return value from void to int so that errors can be reported to the caller.
* reds_init_net: report errors on watch setup failuresChristophe Fergeau2012-09-201-0/+3
| | | | | | | | | | We used to be aborting in such situations, but this was changed during the big spice_error/printerr cleanup. We are currently outputting a warning but not reporting the error with the caller when reds_init_net fails to register listening watches with the mainloop. As it's unlikely that things will work as expected in such cases, better to error out of the function instead of pretending everything is all right.
* reds: Abort on BN-new failuresChristophe Fergeau2012-09-201-1/+1
| | | | | | | BN_new returns NULL on allocation failures. Given that we abort on malloc allocation failures, we should also abort here. The current code will segfault when BN_new fails as it immediatly tries to use the NULL pointer.
* Release 0.12.0v0.12.00.12.0Alon Levy2012-09-153-3/+15
|
* server/spice-server.syms: add missing global labelsAlon Levy2012-09-131-0/+3
| | | | Although global is the default, this makes the file more consistent.
* server/Makefile.am: fix for make distcheckAlon Levy2012-09-131-1/+1
| | | | | Doesn't make sense to distribute test_spice_version.sh, so just ensure the build passes if it doesn't exist.
* spice-server 0.11.5Alon Levy2012-09-132-4/+4
| | | | | | Added api: QXL interface (3.2) client_monitors_config
* server/tests: agent mock, client_monitors_configAlon Levy2012-09-134-1/+49
|
* server: Filter VD_AGENT_MONITORS_CONFIGAlon Levy2012-09-133-1/+61
| | | | | | If the guest supports client monitors config we pass it the VDAgentMonitorsConfig message via the QXLInterface::client_monitors_config api instead of via the vdagent.
* server/reds: reuse already defined localAlon Levy2012-09-131-1/+1
|
* server/red_dispatcher: client_monitors_config supportAlon Levy2012-09-132-0/+53
| | | | | | | | | Adds two functions: - red_dispatcher_use_client_monitors_config: check that QXLInterface supports client_monitors_config and that it's functional. - red_dispatcher_client_monitors_config: send the client monitors configuration to the guest.
* server: add QXLInterface::client_monitors_configAlon Levy2012-09-131-3/+9
| | | | | | | | | | | | | | | | | | | | | | Used to implement guest monitor configuration change similarly to real hardware in conjunction with the new qemu interrupt QXL_INTERRUPT_CLIENT_MONITORS_CONFIG. client_monitors_config is also used to probe the support by the interface. If it is not supported we send the message to the guest agent. This makes a linux qxl driver similar to existing kms drivers. The logic is: For every received VDAgentMonitorsConfig: if client_monitors_config(NULL): write client configuration to pci rom BAR. send interrupt to guest guest kernel reads configuration from rom BAR. guest kernel issues event to user space user space reads (libdrm) and reconfigures (libXRandr) else: (current implementation) write message to guest agent guest agent issues reconfiguration via XRandr / windows Escape ioctl to kernel
* update spice-common moduleAlon Levy2012-09-131-0/+0
| | | | For qxl client_monitors_config support.
* server/red_dispatcher: change a printerr to debugAlon Levy2012-09-121-1/+1
|
* Bump SPICE_INTERFACE_QXL_VERSION_MINORSøren Sandmann Pedersen2012-09-112-3/+7
| | | | | Then check that we have the right version before accessing the set_client_capabilities() function.
* Enable build on armv6+Peter Robinson2012-09-111-2/+2
| | | | | | | | | The following patch enables it to build on ARM platforms that support atomics. Tested on an armv7hl on an ARMv7 device running Fedora 18. Using firefox connecting to a RHEV-M instance I could launch consoles in spice-xpi and login so basic support works! Resolves: rhbz#613529
* Update spice-common to get A8 surface definitionsChristophe Fergeau2012-09-101-0/+0
| | | | Latest spice needs these definitions from spice-protocol
* Bump spice.h version number to 0.11.4Søren Sandmann Pedersen2012-09-071-1/+1
| | | | | | | | No new symbols are added, but there is an addition to QXLInterface: void (*set_client_capabilities)(QXLInstance *qin, uint8_t client_present, uint8_t caps[58]);
* Set a8 capability in the QXL device if supported by the clientSøren Sandmann Pedersen2012-09-071-0/+2
|
* Process outstanding commands in the ring after changing capability bitsSøren Sandmann Pedersen2012-09-071-0/+5
| | | | | | | | | | | When a new client connects, there may be commands in the ring that it can't understand, so we need to process these before forwarding new commands to the client. By doing this after changing the capability bits we ensure that the new client will never see a command that it doesn't understand (under the assumption that the guest will read and obey the capability bits). Acked-by: Alon Levy <alonl@redhat.com>
* Add new set_client_capabilities() interface to QXLInstanceSøren Sandmann Pedersen2012-09-062-0/+27
| | | | | | | | | | | | | | | | | | | | | A new interface set_client_capabilities (QXLInstance *qin, uint8_t client_present, uint8_t caps[58]); is added to QXLInstance, and spice server is changed to call it whenever a client connects or disconnects. The QXL device in response is expected to update the client capability bits in the ROM of the device and raise the QXL_INTERRUPT_CLIENT interrupt. There is a potential race condition in the case where a client disconnects and a new client with fewer capabilities connects. There may be commands in the ring that the new client can't handle. This case is handled by first changing the capability bits, then processing all commands in the ring, and then start forwarding commands to the new client. As long as the guest obeys the capability bits, the new client will never see anything it doesn't understand.
* client: Advertise A8_SURFACE capabilitySøren Sandmann Pedersen2012-09-061-0/+1
|
* server/red_parse_qxl: fix bitmap_consistent againAlon Levy2012-09-051-2/+2
|
* Implement spice_server_set_exit_on_disconnect to enable an option whereby ↵Jeremy White2012-09-054-3/+22
| | | | the spice server shuts down on client disconnect.
* server/red_parse_qxl: fix wrong bitmap_consistentAlon Levy2012-09-051-5/+26
| | | | | The bit calculation was wrong for all the paletted types by a factor of between 8 and 1 (SPICE_BITMAP_FMT_{1,4,8}BIT_PLT_{LE,BE})
* server/red_parse_qxl: add bitmap consistency checkAlon Levy2012-09-033-16/+34
| | | | | | | | | | | Just checks stride vs width times bpp. This fixes a potential abort on guest generated bad images in glz_encoder. Other files touched to move some consts to red_common, they are static so no problem to be defined in both red_worker.c and red_parse_qxl.c .
* server/tests/test_display_base: fix update_area abortAlon Levy2012-09-031-1/+3
| | | | | Don't do zero area update_areas, server now aborts on those. This tester is not supposed to test those aborts.
* server: replace syntax-check reported tabs with spacesAlon Levy2012-09-032-2/+2
|
* server: add dist-hook to prevent spice version configure/spice.h differenceAlon Levy2012-09-032-0/+45
|
* 0.11.3 release0.11.3Alon Levy2012-09-022-3/+29
| | | | No new api entries.
* add server/tests/test_vdagentAlon Levy2012-09-022-0/+115
|
* server/tests/test_two_serversAlon Levy2012-09-022-0/+47
|
* server/tests: introduce Test structAlon Levy2012-09-025-146/+170
|
* server/red_worker: seamless: fix invalid memory referenceAlon Levy2012-08-301-3/+3
| | | | | | | | | replace add_ref with add for stack allocated SpiceMigrateDataDisplay. This fixes wrong MIGRATE_DATA message in display channel (symptom is glz_encoder_max being way too big, and malloc failure at target) seen on F18 with gcc-4.7.1-5.fc18.x86_64 and glibc-2.16-8.fc18.x86_64 (didn't appear on RHEL 6).
* server: freezed->froze, missing whitespace after declarationsAlon Levy2012-08-302-3/+5
|
* server: s/max_encdoers/max_encoders/Alon Levy2012-08-302-7/+7
|
* server/inputs_channel.c: whitespace fixYonit Halperin2012-08-301-1/+1
|
* server/red_tunnel_worker: remove unneeded expect_migrate_markAlon Levy2012-08-301-6/+0
|
* server/red_tunnel_worker.c: fix buildAlon Levy2012-08-281-44/+18
| | | | Only passes compile, not tested.
* inputs: handle SPICE_MSGC_INPUTS_KEY_SCANCODEMarc-André Lureau2012-08-272-0/+10
| | | | | Handle SPICE_MSGC_INPUTS_KEY_SCANCODE message, allowing arbitrary keyboard scancode sequence.
* support automake >= 1.12Alon Levy2012-08-272-0/+3
| | | | | Requires a single line (sans comments) change to configure.ac in spice-common too, to define the new AM_PROG_AR.
* server/red_worker: handle_dev_update_area: fail if invalid areaAlon Levy2012-08-271-0/+6
|
* client: fix missing stdarg.h includeYann E. MORIN2012-08-271-0/+1
| | | | | | | When the C library is uClibc, stdarg.h is required to get the definition for va_list et al. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* enable seamless migration and set migration protocol versionYonit Halperin2012-08-272-1/+2
|