Avoid to run executables using Wine if system is not Linux.
Use relative paths for executables as bash otherwise won't find them.
Make build.sh script fail on intermediate errors.
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
MSYS2 is an alternative build environment.
MSYS2 has the following advantage compared to Microsoft Visual C++
that is already employed on AppVeyor:
- MSYS2 can pack MSI using autotools
MSYS2 has the following disadvantages compared to Microsoft Visual C++:
- MSYS2 cannot run tests because the autotools scripts currently require
Wine.
- MSYS2 no longer supports UCRT on the 32-bit platform.
MSYS2 has the following advantages compared to Fedora that is already
employed on GitLab CI:
- The build completely fails on Fedora because libpng tries to link
the __intrinsic_setjmpex function, which is not available.
- MSYS2 can employ UCRT instead of MSVCRT. For details of UCRT and
MSVCRT, see: https://www.msys2.org/docs/environments/#msvcrt-vs-ucrt
Fedora
MSYS2 has the following disadvantage compared to Fedora:
- MSYS2 cannot run tests.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Frediano Ziglio pointed out I introduced a syntax error with commit
34787ba0b7.
The syntax error made the test ineffective so it always passed. Fix
it to make it functional again.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
This fixes the issue during CI build:
./configure: line 5219: AX_CXX_COMPILE_STDCXX_11: command not found
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
Remove an alignment warning
vdagent/vdagent.cpp: In member function 'bool VDAgent::handle_announce_capabilities(const VDAgentAnnounceCapabilities*, uint32_t)':
vdagent/vdagent.cpp:1048:48: warning: taking address of packed member of 'VDAgentAnnounceCapabilities' may result in an unaligned pointer value [-Waddress-of-packed-member]
1048 | _client_caps.assign(announce_capabilities->caps, announce_capabilities->caps + caps_size);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
Not a real issue, just annoying.
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
Do not use Unix suffix under MSVC (for MingW is fine, not for
Microsoft standards where .lib is used).
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
Tell the specific library which is not static.
Previously any would be reported as libpng.
This fixes https://gitlab.freedesktop.org/spice/win32/vd_agent/-/issues/17
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
Acked-by: Jakub Janků <jjanku@redhat.com>
This brings in the following changes:
Frediano Ziglio (4):
build: Do not use mingw_ninja_install macro in spec file
Release 0.14.3
build-sys: post-release version bump to 0.14.4
protocol: Fix enumeration deprecation for Visual Studio
Marc-André Lureau (1):
vdagent: add a MonitorsMM field to VDAgentMonitorsConfig
SimonP (1):
protocol: Add support for side mouse buttons
This update allow to fix an issue with Microsoft compiler.
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
Enable NX (prevent data to be executable) and ASLR (address
randomisation).
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Uri Lublin <uril@redhat.com>
When the user wants to copy files, new spice-gtk can share those
files using the existing phodav server. In that case, it advertises
the VD_AGENT_CLIPBOARD_FILE_LIST type in the clipboard grab message.
Upon request of the clipboard data in the mentioned type, spice-gtk
provides a list of absolute paths in the phodav server - these are
the files that are supposed to be copied/moved.
The role of the vdagent is to adjust this data given the drive
letter of the mapped webdav share.
Files can be both copied and moved, although move was tested
only with Windows' File Explorer.
Copying files from the vdagnet side to the client is not
supported yet.
Signed-off-by: Jakub Janků <jjanku@redhat.com>
Acked-by: Frediano Ziglio <fziglio@redhat.com>
For other strings resolution is reported as "WxH", no spaces
around "x".
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
Acked-by: Francesco Giudici <fgiudici@redhat.com>
A literal constant is used for error type as the project is not
dependent on glib2 and that Visual Studio and CMake are supported
so it would make the compilation on some environment more complicated
than actually is just for a constant.
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Kevin Pouget <kpouget@redhat.com>
Acked-by: Victor Toso <victortoso@redhat.com>
Reduce code and avoids to forget to unlock() in the future.
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
Acked-by: Kevin Pouget <kpouget@redhat.com>
If the client closes the connection while having pending large messages
(split into multiple chunks) the state is not correctly reset causing
next client messages to be not correctly handled.
This can occur for instance if the client is closed (or killed) while
transferring a large file.
This fixes https://bugzilla.redhat.com/show_bug.cgi?id=1548419.
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
Acked-by: Victor Toso <victortoso@redhat.com>
The client is sending messages that are compatible with agent
capabilities but also encoded with capabilities it knows of so to
check them we need to consider final capabilities, not client ones.
This fixes a regression introduced with
"vdagent: Reuse agent_check_message" where some messages were wrongly
interpreted as wrong (particularly some clipboard messages).
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
Acked-by: Jakub Janků <jjanku@redhat.com>
On Windows beside the various single executables like Linux there's
a single "magick" executable you can use specifying what you want
to do.
Having a single executable avoids the trick to fix "convert" problem
and is easier to port, you just have to copy the single executable.
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
The EXTRA_DIST part in Makefile.am is needed as spice-protocol
removed support for Autoconf.
We don't need anymore "ignore=untracked" in the submodule as
we are not going to add or modify files anymore.
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Reduce CI resource usage using a single job instead of 2.
The project is pretty small and the setup of the 2 jobs is pretty
long compared to the build so using a single job (we used the same
container image for both) reduce CI resource usage.
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Victor Toso <victortoso@redhat.com>
Force sync and update of all git submodules.
Do not install packaged spice-protocol, we are using submodule.
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Victor Toso <victortoso@redhat.com>
Revert "try to remove other bugs", commit
57266085b9.
Revert "try to fix previous", commit
8e40377068.
Revert "attempt to fix more warnings!", commit
66b6933a38.
I put by mistake on the MR due to some automatic scripts.
Their state are pretty experimental.
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Avoids:
warning C4267: 'initializing': conversion from 'size_t' to 'DWORD', possible loss of data
Value won't never be that huge to cause overflow (we are reading a string
in a static buffer, we don't expect an encyclopedia).
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
This will help with making a release.
spice-protocol's .gitignore is generated and not committed,
so after running ./autogen.sh (autoreconf) git thinks
spice-protocol is dirty (just because of generated files).
Signed-off-by: Uri Lublin <uril@redhat.com>
Acked-by: Frediano Ziglio <fziglio@redhat.com>
When building on Windows with Wix, also add Platform to Package
as follows (wixl warns about it):
Platform="$(var.Arch)"
Signed-off-by: Uri Lublin <uril@redhat.com>
Acked-by: Frediano Ziglio <fziglio@redhat.com>