An extremely low latency KVMFR (KVM FrameRelay) implementation for guests with VGA PCI Passthrough.
Go to file
Quantum 4858bb5899 [host] windows: avoid quoting issues with CreateProcessAsUserA
To quote MSDN documentation:

> The lpApplicationName parameter can be NULL, in which case the executable
> name must be the first white space–delimited string in lpCommandLine. If
> the executable or path name has a space in it, there is a risk that a
> different executable could be run because of the way the function parses
> spaces. The following example is dangerous because the function will
> attempt to run "Program.exe", if it exists, instead of "MyApp.exe".
>
>   LPTSTR szCmdline[] = _tcsdup(TEXT("C:\\Program Files\\MyApp"));
>   CreateProcessAsUser(hToken, NULL, szCmdline, /*...*/ );
>
> If a malicious user were to create an application called "Program.exe" on
> a system, any program that incorrectly calls CreateProcessAsUser using the
> Program Files directory will run this application instead of the intended
> application.
>
> To avoid this problem, do not pass NULL for lpApplicationName.

So instead, we pass the executable to lpApplicationName instead, which avoids
the issue. MSDN says:

> The lpCommandLine parameter can be NULL. In that case, the function uses
> the string pointed to by lpApplicationName as the command line.

This also avoids the strdup since lpApplicationName is LPCSTR unlike
lpCommandLine which is LPSTR.
2021-01-16 11:48:03 +11:00
.github [obs] build with both GCC and Clang in Github Actions 2021-01-16 11:47:29 +11:00
client [client] egl: move rotation into the fragment shader 2021-01-15 13:13:39 +11:00
common [common] ivshmem/linux: add stubs for ivshmemInit and ivshmemFree 2021-01-15 08:49:30 +11:00
contrib/redhat [meta] Add SELinux policy 2017-12-14 22:22:44 +11:00
host [host] windows: avoid quoting issues with CreateProcessAsUserA 2021-01-16 11:48:03 +11:00
module [all] use explicit void parameter lists 2021-01-14 17:29:37 +11:00
obs [all] added new format version field to frame header 2020-10-12 18:52:37 +11:00
profile [all] use explicit void parameter lists 2021-01-14 17:29:37 +11:00
repos [all] updated LGMP and PureSpice submodules 2021-01-15 08:49:05 +11:00
resources [all] made a nicer icon, hopefully just a placeholder for now 2019-05-30 22:21:53 +10:00
vendor [c-host] windows: update ivshmem driver header and usage 2019-10-24 19:46:09 +11:00
.gitattributes [git] added vcxproj files to crlf exceptions 2017-10-31 20:19:52 +11:00
.gitignore [obs] implemented intial OBS Looking Glass Client plugin 2020-01-10 18:14:08 +11:00
.gitmodules [client] moved spice into a seperate repository 2020-01-31 21:39:57 +11:00
CONTRIBUTORS Fixed typo in word wish 2018-05-31 13:28:36 +10:00
LICENSE added licensing to sources 2017-10-31 19:07:16 +11:00
README.md [doc] update Looking Glass website in README.md 2021-01-01 12:12:07 +11:00
version.cmake [cmake] remove --long from version.cmake 2021-01-01 12:10:35 +11:00

Looking Glass

An extremely low latency KVMFR (KVM FrameRelay) implementation for guests with VGA PCI Passthrough.

Donations

I (Geoffrey McRae) am the primary developer behind this project and I have invested thousands of hours of development time into it.

If you like this project and find it useful and would like to help out you can support me directly using the following platforms.

Documentation

** IMPORTANT ** This project contains submodules that must be checked out if building from the git repository! If you are not a developer and just want to compile Looking Glass please download the source archive from the website instead:

https://looking-glass.io/downloads

Please also be sure to see the following files for more information Note: The README.md files are slowly being deprecated from this project in favor of the wiki at https://looking-glass.io/wiki, and as such the information in these files may be dated.

Latest Version

If you would like to use the latest bleeding edge version of Looking Glass please be aware there will be no support at this time.

Latest bleeding edge builds of the Windows host application can be obtained from:

https://looking-glass.io/downloads

Help and support

Web

https://forum.level1techs.com/t/looking-glass-triage/130952

Discord

https://discord.gg/4ahCn4c

IRC

Join us in the #LookingGlass channel on the FreeNode network

Trello