summaryrefslogtreecommitdiffstats
path: root/client
Commit message (Collapse)AuthorAgeFilesLines
...
* client: fix return code when missing hostAlon Levy2011-05-121-0/+1
|
* client: skip spaces in --host-subjectChristophe Fergeau2011-04-201-1/+8
| | | | | | | | | | | | | | | | | | This fixes fdo bug #32896: "Subject in certificates is stored in following format (values separated by comma and space): grep Subject: server-cert.pem | awk -F": " '{print $2}' O=REDHAT, CN=10.34.58.2 While spicec expects that values in host subject are separated only by comma: spicec --host-subject "O=REDHAT,CN=10.34.58.2" " In this case, ignoring spaces make it much easier to directly copy and paste the subject line from certificates.
* client: add --version cmdline option to spicecChristophe Fergeau2011-04-201-1/+9
| | | | This fixes freedesktop bug #33907
* client: s/AVAILIBLE/AVAILABLE in CmdLineParserChristophe Fergeau2011-04-204-5/+5
| | | | It was mispelt in a CmdLineParser enum.
* spicec-x11: Work around a bug in xselHans de Goede2011-03-231-1/+3
| | | | | | | | | | | | | | | | | | | | Although ICCCM 2.2. Responsibilities of the Selection Owner: http://tronche.com/gui/x/icccm/sec-2.html#s-2.2 Clearly states (about selection notify events): The owner should set the specified selection, target, time, and property arguments to the values received in the SelectionRequest event. xsel sets the selection notify event target member to the incr atom when it is going to send the clipboard data incremental, rather then setting it to the UTF8_STRING atom (which was the target of the SelectionRequest). Work around this (esp as it is likely other programs may get this wrong too) and accept the incr atom as a valid target in a selection notify event. This fixes Alon's test with running: python -c "print list(range(1000))" | xsel -i -b on the client.
* spicec-x11: Don't crash on apps sending bad atoms as TARGETSHans de Goede2011-03-231-12/+16
| | | | | | | | | Some apps (bad xsel, bad!) send invalid Atoms in their TARGETS property, causing spicec to exit because of an XError. This patch makes spicec survive this scenario. For more info on the xsel bug, see: https://bugzilla.redhat.com/show_bug.cgi?id=690214
* client: Don't handle hotkeys while sticky alt is activeHans de Goede2011-03-111-4/+6
| | | | | | | | | | | | | | | | | In some cases rhev-m changes the hotkey for releasing the mouse grab to ctrl + alt. This makes it impossible to send ctrl + alt + other-key to the guest, even when using sticky alt. What happens is: -press alt until sticky alt activates -release alt (but recorded state stays pressed due to sticky alt) -press ctrl -hotkey code sees ctrl+alt pressed, releases mouse grab -mouse grab release code does an unpress all -> end of sticky state. This patch makes it possible to atleast send ctrl + alt + del (or other key) using sticky alt. Note: even with this patch it is still a bad idea to use ctrl + alt as hotkey combi.
* client/smartcard: handle the --smartcard-db optionAlon Levy2011-03-081-1/+4
|
* x11: Use _exit rather then exit on X errors (rhbz#680763)Hans de Goede2011-03-011-2/+2
| | | | | | | This avoids us trying to restore the original resolution when we're fullscreen and an X error happens. As restoring fullscreen is a bad idea then as this involves making more X calls, which can get us stuck (in side an XLockDisplay call for example).
* client: exit nicely for --controller with no SPICE_XPI_SOCKET (rhbz#644292)Uri Lublin2011-03-011-0/+1
| | | | | When starting spicec with --controller, SPICE_XPI_SOCKET environment variable must be defined so spicec and the controller can be connected.
* Fix keyb modifiers not syncing from client to client os (rhbz#679467)Hans de Goede2011-03-011-0/+2
|
* Drop static_title.bmp from windows/Makefile.amHans de Goede2011-02-111-1/+0
|
* client/smartcard: libcacard dropped ReaderAddResponseAlon Levy2011-02-102-18/+78
| | | | | | | | | | | | uses VSC_Error with code==VSC_SUCCESS instead. This means that the VSC_Error message is overloaded. Instead of the other option of adding a message id, since the connection is TCP so no messages may be dropped or reordered, by having each message followed by a response there is no ambiguity. Still this commit adds a queue for messages that we only have one of which outstanding at a time, i.e. send, wait for response, send the next, etc. This further simplifies the logic, while not adding much overhead since only when spicec starts up it has a situation where it needs to send two events (ReaderAdd and ATR for Card Insert).
* client/smartcard: ignore VSC_InitAlon Levy2011-02-101-0/+2
|
* client/smartcard: s/reader_id_t/uint32_t/ (libcacard changed)Alon Levy2011-02-102-11/+11
|
* spicec: Remove spice-client watermark (rhbz#662450)Hans de Goede2011-02-029-1060/+2
| | | | | | | | | This patch stops us from drawing the spice client watermark at the top of the virtual machine view. We have had requests through several channels to remove this as it has little added value, and is seen as annoying by some. Given that we now also have a bugzilla for this I think it is time we really remove it. (cherry picked from commit 392ed65dda1a28c85f04ebb09924c6ce83dbdf2b)
* spice-client migration: fix minor for old migration support.Uri Lublin2011-01-271-1/+1
| | | | | | | For not too old spice-migration, minor is 1. For older (ancient) spice-migration, minor is 0. Affects only VM migration while a spice client is connected.
* client/windows: don't allocate console unless requiredAlon Levy2011-01-271-9/+27
|
* client: fix broken vs2008 buildAlon Levy2011-01-272-1/+14
|
* client: --help should not need platform initializationAlon Levy2011-01-272-33/+62
| | | | | | separate initialization into before command line parsing and after, call later only if command line parsing succeeds (in particular, it "fails" if --help is given).
* client: gcc 4.6.0: two more unused variable fixesAlon Levy2011-01-272-3/+0
|
* client/cegui: cegui 0.6.0 gcc 4.6.0 related fixAlon Levy2011-01-273-0/+8
| | | | | cegui doesn't include stddef required for ptrdiff_t type, we include it for it.
* client/glz_decoder.cpp: gcc 4.6.0 unused fixesAlon Levy2011-01-271-5/+0
|
* client/display_channel: gcc 4.6.0 unused fixesAlon Levy2011-01-271-6/+12
|
* client/server: warning fixes (gcc 4.6.0)Alon Levy2011-01-271-2/+5
| | | | | gcc 4.6.0 added "[-Werror=unused-but-set-variable]", this and the next few fixes tend to that. Mostly harmless.
* client/server: add missing USE_TUNNELAlon Levy2011-01-251-0/+4
| | | | | disable some code that only makes sense when USE_TUNNEL is defined in client and server channel security level setting.
* client/server: add missing smartchannel channel security handlingAlon Levy2011-01-251-0/+6
| | | | | The name to channel id mapping for the smartcard channel is missing, add it in client and server.
* client: CEGUI: search for CEGUI-0.6 to work in F15 (rawhide)Alon Levy2011-01-191-0/+2
|
* client: log subject-host mismatch, and raise ssl warnings to errorsAlon Levy2011-01-171-5/+5
|
* client inputs: stop blinking keyboard when out of focusMarc-André Lureau2011-01-172-1/+15
| | | | | | | | | | We could introduce another boolean to prevent changes, or just reuse _active_modifiers_event = true to prevent further update. Additionaly this patch restore the keyboard state when focusing out, which is fine when dealing with full remote desktop, but should be reconsidered if/when SPICE supports remote windows managed by client window manager for instance, imho.
* client/cmd_line_parser: fix wrong reporting of bad argument in --bla=val caseAlon Levy2011-01-171-2/+5
| | | | | | | | | | | We use get_opt_long, which allows non ambiguous abbreviations, but since we didn't like that we have code that checks for abbreviations and issues an error. But that code only handled separate argument and key like: --bla value and didn't handle them in the same arguemnts, like: --bla=value This patch fixes that, and gives a slightly better error report (it still contains the =value part though)
* spicec-x11: Let the window manager place our window the 1st time (rhbz#662407)Hans de Goede2010-12-162-1/+8
| | | | | | | | | | | | | | | | | | | | | | | The problem is that RedWindow::show calls the XLib MoveWindow function on the window after it has been mapped, moving it to the location in _show_pos. This is seen by the window manager as the application saying I know exactly where I want my window to be placed, don't do placing for me. Which causes the client window to always be shown at pos 0x0, even though that may not be the best location. What this patch does is: 1) It makes RedWindow::show not call MoveWindow when a window is first created normally and then shown 2) It makes RedWindow::show still call MoveWindow when: -when the window has been shown before, and was hidden for some reason (controller interface), and is now being re-shown so that it ends up being re-shown at its old position -when the window is a fullscreen window (screen.cpp always calls move on the window before showing it to set its position) -when the user switch from windowed mode -> fullscreen -> windowed mode again, to make sure that the windowed mode window is shown in the same position as before switching to fullscreen mode
* spicec-x11: Add a class hint to our window managet hintsHans de Goede2010-12-161-1/+10
| | | | | | This helps people who want to tell their windowmanager to do something special with spicec, like make it sticky, or whatever, see: https://bugzilla.redhat.com/show_bug.cgi?id=662452#c4
* spicec: Add a --title cmdline option (rhbz#662452)Hans de Goede2010-12-161-0/+6
|
* spicec: do not call connect_secure when connect_unsecure fails due to ↵Arnon Gilboa2010-12-071-5/+7
| | | | | | | | | | | | | | | | | | | | protocol version mismatch (v2) If connect_unsecure failed due to protocol version mismatch, don't try to connect_secure with the same version, but retry (connect_secure or connect_unsecure) with older version. catch (...) is handled by caller at RedChannel::run(). This solves the following bug: when "new" Spice client (protocol version 2) with given secure_port connects to "old" server which is not using the same secure_port (or not using a secure_port at all), the client exits immediately. In this scenario, the client first tries to use Spice protocol version 2 to connect the unsecure port, and altough this fails due to version mismatch, it tries to connect to the secure port with the same protocol version 2, which is a wrong behavior, fails due to socket error 10061 (WSAECONNREFUSED - Connection refused) and handled mistakenly by immediate exit, instead of retrying with protocol version 1.
* client/smartcard: add files to Makefile.am for make distAlon Levy2010-12-071-2/+4
|
* smartcard: configure option --enable-smartcardAlon Levy2010-12-072-1/+16
|
* smartcard: client: add keyboard shortcuts for remove/insert virtual cardAlon Levy2010-12-073-0/+54
|
* smartcard: client side (not enabled yet)Alon Levy2010-12-074-0/+639
|
* add .gitignore for testsAlon Levy2010-11-301-0/+1
|
* spicec: Don't show a white screen if guest resolution does not fit fullscreenHans de Goede2010-11-254-2/+34
| | | | | | | | | | | Currently when going / starting fullscreen if the guest resolution for one of the monitors is higher then that monitor on the client can handle, we show a white screen. Leaving the user stuck (unless they know the fullscreen key switch combi) with a white screen when starting the client fullscreen from the XPI. This patch changes the client to fall back to windowed mode in this case instead.
* spicec: fix ASSERT to accept size == 0Arnon Gilboa2010-11-241-1/+1
| | | | which is useful when calling RedClient::on_clipboard_notify(VD_AGENT_CLIPBOARD_NONE, NULL, 0);
* spicec-win: add image copy-paste supportArnon Gilboa2010-11-242-69/+151
| | | | | | -currently png & bmp -using wspice libs cximage.lib & png.lib -jpg & tiff will follow
* spicec-x11: Fix unhandled exception: no window proc crash (rhbz#655836)Hans de Goede2010-11-231-1/+9
| | | | | | | | | | | | | When XIM + ibus is in use XIM creates an invisible window for its own purposes, we sometimes get a _GTK_LOAD_ICONTHEMES ClientMessage event on this window. Since this window was not explicitly created by spicec, it does not have a Window Context (with the event handling function for the window in question) set. This would cause spicec to throw an unhandled exception and exit. This patch replaces the exception throwing with silently ignoring ClientMessage events on Windows without a Context and logging a warning for other event types.
* spicec-x11: Fix modifier keys getting stuck (rhbz#655048)Hans de Goede2010-11-221-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently modifier keys (ctrl, alt) can get stuck when using the x11 client. To reproduce under gnome: -focus the client window without causing it to grab the keyborad (click on the title bar not the window) -press crlt + alt + right arrow to switch virtual desktop -press crlt + alt + left arrow to switch back -notice ctrl + alt are stuck pressed What is happening here is: -We get a focus out event, caused by the hotkey combi key grab, focus event notify mode == NotifyGrab, and release all keys -> good -We get another focus out event, as we really loose the focus. notify mode == NotifyWhileGrabbed, which we ignore as we already lost focus before -We get a focus in event, as the focus is returning to us, but we don't really have the focus yet, as the hotkey combi key grab is still active (ie ctrl + alt are still pressed). We now sync the vm's modifier key state with the current X-server state, telling the vm ctrl + alt are pressed. Note we do this by directly reading the X-server keyboard status, we are not getting any key press events from the X-server -> bad -We get another focus in event, as we really get the focus back, notify mode == NotifyUngrab. We ignore this one as already have gained the focus before. If we were to sync the vm modifier state here, all would be well we would no longer see the modifier keys pressed, or if we would we would get a release event when they get released (testing has shown both). The solution here is to ignore the first focus in event, and do the modifier sync on the second focus in event, or more in general to ignore focus events where notify mode == NotifyWhileGrabbed.
* spicec-x11: Add a few missing XLockDisplay calls (rhbz#654265)Hans de Goede2010-11-171-0/+6
| | | | | The XIM functions end up waiting for a reply from the server, so they need locking around them. Idem for the XLookupString call.
* spicec: Don't show gui when connection info is specified on the cmdlineHans de Goede2010-11-091-6/+4
| | | | | | | | Currently when compiled with the gui enabled if you specify a host to connect to on the cmdline the gui flashes by (show_gui gets called, then the connect handler calls hide_gui as soon as the connection is made). This patch removes this ugly flashing by of the gui.
* spicec: Remove empty show / hide gui functionsHans de Goede2010-11-092-4/+4
| | | | | | When compiling without gui support just don't call show / hide gui, rather then making them stubs, this makes it easier to follow what is going on.
* spicec: Fix info layer sometimes not showingHans de Goede2010-11-091-0/+1
| | | | | | | | | | | | | | | | | Currently we are calling show_info_layer from hide_gui in application.cpp, but there are 2 cases where this does not happen: 1) When compiled without gui support hide_gui is a complete nop, so we never show the info layer when compiled without gui support 2) When run with --controller we never show the gui, and hide_gui checks if there is a gui to hide as the first thing and if not returns resulting in show_info_layer not being called, and thus the info layer not showing when launched from the xpi This patch fixes both by adding a call to show_info_layer from on_visibility_start note that on_visibility_start also calls hide_gui, so in some cases show_info_layer may be called twice, this is not a problem as show_info_layer is protected against this.
* gitignore: add generated_*, vim temps, pycAlon Levy2010-11-081-0/+4
|