Skip to content

Commit ea53fbc

Browse files
authored
Added new files
added Qubes OS Daemon, Change log, & Initial coding sequence
1 parent 5440ab4 commit ea53fbc

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+9559
-0
lines changed

changelog

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Version 0.1.1pre-alpha:1
2+
- usong Qubes OS Daemon as the buffer for Howard's Kernal Tree (HKT)
3+
- getting the GUI working in place
4+
- Underdevelop for an actual machine usage

main-files/main.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
struct Name {
2+
3+
4+
}

qubes-gui-daemon/LICENSE

Lines changed: 339 additions & 0 deletions
Large diffs are not rendered by default.

qubes-gui-daemon/Makefile

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
#
2+
# The Qubes OS Project, http://www.qubes-os.org
3+
#
4+
# Copyright (C) 2010 Joanna Rutkowska <joanna@invisiblethingslab.com>
5+
#
6+
# This program is free software; you can redistribute it and/or
7+
# modify it under the terms of the GNU General Public License
8+
# as published by the Free Software Foundation; either version 2
9+
# of the License, or (at your option) any later version.
10+
#
11+
# This program is distributed in the hope that it will be useful,
12+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
# GNU General Public License for more details.
15+
#
16+
# You should have received a copy of the GNU General Public License
17+
# along with this program; if not, write to the Free Software
18+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19+
#
20+
#
21+
22+
MANDIR ?= /usr/share/man
23+
LIBDIR ?= /usr/lib64
24+
export LIBDIR
25+
26+
help:
27+
@echo "Qubes GUI main Makefile:" ;\
28+
echo "make all <--- build binaries";\
29+
echo "make all <--- install files into \$$DESTDIR";\
30+
echo "make clean <--- clean all the binary files";\
31+
exit 0;
32+
33+
all: gui-daemon/qubes-guid shmoverride/shmoverride.so shmoverride/X-wrapper-qubes \
34+
pulse/pacat-simple-vchan screen-layout-handler/watch-screen-layout-changes
35+
36+
gui-daemon/qubes-guid:
37+
(cd gui-daemon; $(MAKE))
38+
39+
shmoverride/shmoverride.so:
40+
(cd shmoverride; $(MAKE) shmoverride.so)
41+
42+
shmoverride/X-wrapper-qubes:
43+
(cd shmoverride; $(MAKE) X-wrapper-qubes)
44+
45+
pulse/pacat-simple-vchan:
46+
$(MAKE) -C pulse pacat-simple-vchan
47+
48+
screen-layout-handler/watch-screen-layout-changes:
49+
$(MAKE) -C screen-layout-handler watch-screen-layout-changes
50+
51+
install:
52+
install -D gui-daemon/qubes-guid $(DESTDIR)/usr/bin/qubes-guid
53+
install -m 0644 -D gui-daemon/qubes-guid.1 $(DESTDIR)$(MANDIR)/man1/qubes-guid.1
54+
install -D pulse/pacat-simple-vchan $(DESTDIR)/usr/bin/pacat-simple-vchan
55+
install -D pulse/qubes.AudioInputEnable $(DESTDIR)/etc/qubes-rpc/qubes.AudioInputEnable
56+
install -D pulse/qubes.AudioInputDisable $(DESTDIR)/etc/qubes-rpc/qubes.AudioInputDisable
57+
install -D shmoverride/X-wrapper-qubes $(DESTDIR)/usr/bin/X-wrapper-qubes
58+
install -D shmoverride/shmoverride.so $(DESTDIR)$(LIBDIR)/qubes-gui-daemon/shmoverride.so
59+
install -D -m 0644 gui-daemon/guid.conf $(DESTDIR)/etc/qubes/guid.conf
60+
install -D gui-daemon/qubes-localgroup.sh $(DESTDIR)/etc/X11/xinit/xinitrc.d/qubes-localgroup.sh
61+
install -D -m 0644 gui-daemon/qubes.ClipboardPaste.policy $(DESTDIR)/etc/qubes-rpc/policy/qubes.ClipboardPaste
62+
install -D screen-layout-handler/watch-screen-layout-changes $(DESTDIR)/usr/libexec/qubes/watch-screen-layout-changes
63+
install -D -m 0644 screen-layout-handler/qubes-screen-layout-watches.desktop $(DESTDIR)/etc/xdg/autostart/qubes-screen-layout-watches.desktop
64+
$(MAKE) -C window-icon-updater install
65+
66+
tar:
67+
git archive --format=tar --prefix=qubes-gui/ HEAD -o qubes-gui.tar
68+
69+
clean:
70+
(cd common; $(MAKE) clean)
71+
(cd gui-common; $(MAKE) clean)
72+
(cd gui-daemon; $(MAKE) clean)
73+
(cd shmoverride; $(MAKE) clean)
74+
$(MAKE) -C pulse clean
75+

qubes-gui-daemon/Makefile.builder

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
RPM_SPEC_FILES := rpm_spec/gui-daemon.spec
2+
DEBIAN_BUILD_DIRS := debian

qubes-gui-daemon/common/Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
all:
2+
@echo Doing nothing.
3+
clean:
4+
rm -f *.o

qubes-gui-daemon/common/list.c

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
/*
2+
* The Qubes OS Project, http://www.qubes-os.org
3+
*
4+
* Copyright (C) 2010 Rafal Wojtczuk <rafal@invisiblethingslab.com>
5+
*
6+
* This program is free software; you can redistribute it and/or
7+
* modify it under the terms of the GNU General Public License
8+
* as published by the Free Software Foundation; either version 2
9+
* of the License, or (at your option) any later version.
10+
*
11+
* This program is distributed in the hope that it will be useful,
12+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
* GNU General Public License for more details.
15+
*
16+
* You should have received a copy of the GNU General Public License
17+
* along with this program; if not, write to the Free Software
18+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19+
*
20+
*/
21+
22+
#include "list.h"
23+
#include <malloc.h>
24+
struct genlist *list_new(void)
25+
{
26+
struct genlist *ret =
27+
(struct genlist *) malloc(sizeof(struct genlist));
28+
if (!ret)
29+
return ret;
30+
ret->key = 0;
31+
ret->data = 0;
32+
ret->next = ret;
33+
ret->prev = ret;
34+
return ret;
35+
}
36+
37+
struct genlist *list_lookup(struct genlist *l, long key)
38+
{
39+
struct genlist *curr = l->next;
40+
while (curr != l && curr->key != key)
41+
curr = curr->next;
42+
if (curr == l)
43+
return 0;
44+
else
45+
return curr;
46+
}
47+
48+
struct genlist *list_insert(struct genlist *l, long key, void *data)
49+
{
50+
struct genlist *ret =
51+
(struct genlist *) malloc(sizeof(struct genlist));
52+
if (!ret)
53+
return ret;
54+
ret->key = key;
55+
ret->data = data;
56+
ret->next = l->next;
57+
ret->prev = l;
58+
l->next->prev = ret;
59+
l->next = ret;
60+
return ret;
61+
}
62+
63+
void list_remove(struct genlist *l)
64+
{
65+
l->next->prev = l->prev;
66+
l->prev->next = l->next;
67+
free(l);
68+
}

qubes-gui-daemon/debian/changelog

Lines changed: 199 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,199 @@
1+
qubes-gui-daemon (4.1.13-1) unstable; urgency=medium
2+
3+
[ Demi Marie Obenour ]
4+
* Move XInternAtom calls to startup
5+
* Miscellaneous cleanups
6+
* Avoid dangerous functions in shmoverride
7+
* Remove @asyncio.coroutine
8+
* Rip out @asyncio.coroutine
9+
* Remove deprecated qrexec policy syntax
10+
* Support clipboard outside of dom0
11+
12+
[ Marek Marczykowski-Górecki ]
13+
* rpm: require qrexec new enough for policy.EvalSimple service
14+
15+
-- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> Fri, 18 Jun 2021 05:44:25 +0200
16+
17+
qubes-gui-daemon (4.1.12-1) unstable; urgency=medium
18+
19+
[ Demi Marie Obenour ]
20+
* More protection vs override redirect windows
21+
* Use --override-redirect=disabled
22+
* Use the work area instead of root window size
23+
24+
[ Frédéric Pierret (fepitre) ]
25+
* Add .gitlab-ci.yml
26+
27+
[ Marek Marczykowski-Górecki ]
28+
* gitlab-ci: adjust install excludes
29+
* Make the build detect BACKEND_VMM based on installed vchan version
30+
31+
[ Demi Marie Obenour ]
32+
* Listen for property changes instead of polling
33+
* Respond to code review from @marmarek
34+
* Remove hard-coded magic numbers
35+
* Use desktop_coordinates_size instead of a magic number
36+
* Don’t crash if there is no window manager
37+
* Miscellaneous hardening
38+
* Replace /var/run with /run
39+
* Check syscall return values
40+
* Never pass an invalid X11 operation to dom0
41+
42+
[ Frédéric Pierret (fepitre) ]
43+
* Enforce locale for help2man
44+
45+
[ Marek Marczykowski-Górecki ]
46+
* Fix clipboard stop working after ~50 days of uptime
47+
48+
-- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> Wed, 06 Jan 2021 21:44:44 +0100
49+
50+
qubes-gui-daemon (4.1.11-1) unstable; urgency=medium
51+
52+
* Fix handling X11 exit
53+
* xside: don't hang indefinitely if VM is killed early
54+
55+
-- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> Fri, 13 Nov 2020 03:15:42 +0100
56+
57+
qubes-gui-daemon (4.1.10-1) unstable; urgency=medium
58+
59+
[ John Hensley ]
60+
* icon-receiver: exit on X connection error
61+
62+
-- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> Fri, 18 Sep 2020 05:15:19 +0200
63+
64+
qubes-gui-daemon (4.1.9-1) unstable; urgency=medium
65+
66+
[ Frédéric Pierret (fepitre) ]
67+
* Update travis
68+
69+
-- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> Mon, 31 Aug 2020 04:20:14 +0200
70+
71+
qubes-gui-daemon (4.1.8-1) unstable; urgency=medium
72+
73+
[ Paweł Marczewski ]
74+
* Prevent VM notifications from appearing on top of xscreensaver
75+
* Make screensaver detection configurable
76+
* Handle destroyed windows in restack_windows
77+
78+
-- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> Thu, 30 Jul 2020 05:01:47 +0200
79+
80+
qubes-gui-daemon (4.1.7-1) unstable; urgency=medium
81+
82+
[ Marek Marczykowski-Górecki ]
83+
* shmoverride: fill shm_perm when faking shmctl(IPC_STAT) output
84+
* Update dependencies for icon receiver
85+
86+
[ Dmitry Fedorov ]
87+
* audio: register vchan' callbacks when stream in PA_STREAM_READY
88+
state
89+
* audio: fix indentation
90+
* audio: quit if io_new() fails
91+
92+
[ Paweł Marczewski ]
93+
* Allow overriding configuration file
94+
* Remove audio_low_latency option (not used anymore)
95+
* Add a warning to the configuration file
96+
97+
-- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> Wed, 15 Jul 2020 13:50:45 +0200
98+
99+
qubes-gui-daemon (4.1.6-1) unstable; urgency=medium
100+
101+
[ Ivan Kardykov ]
102+
* set override redirect attribute on window creating
103+
104+
-- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> Sun, 17 May 2020 12:37:45 +0200
105+
106+
qubes-gui-daemon (4.1.5-1) unstable; urgency=medium
107+
108+
[ Frédéric Pierret (fepitre) ]
109+
* gui-daemon: set qubes-keyboard only in dom0
110+
* qubes-release: define it in xside.h
111+
112+
[ Paweł Marczewski ]
113+
* shmoverride: handle Xorg crash leaving shm.id file
114+
* Convert qubes.WindowIconUpdater to a socket service
115+
* qubes.WindowIconUpdater: use wait-for-session
116+
* Add dependencies for qubes.WindowIconUpdater
117+
* icon-receiver: use logging
118+
* icon-receiver: handle app.domains updates
119+
120+
[ M. Vefa Bicakci ]
121+
* xside: Introduce override_redirect protection
122+
123+
[ Paweł Marczewski ]
124+
* Support MSG_CURSOR
125+
* Define supported protocol version
126+
127+
[ Marek Marczykowski-Górecki ]
128+
* pulse: periodically check if vchan connection is alive
129+
* pulse: create pidfile
130+
131+
[ Frédéric Pierret (fepitre) ]
132+
* Currently disable failing builds for CentOS 7
133+
* xside: drop related pulseaudio (done in qvm-start-daemon)
134+
* spec: put audio part in subpackage
135+
136+
[ Marek Marczykowski-Górecki ]
137+
* pulse: fix compiler warning
138+
* rpm: pull in audio packages on dom0 upgrade
139+
* pulse: replace dbus control with QubesDB + local socket
140+
* pulse: add qrexec services to control audio-input in another VM
141+
* rpm: use rpm-build provided CFLAGS for pacat-simple-vchan
142+
* Update core-admin extension for new audio-input control mechanism
143+
* rpm: require new enough qubes-core-dom0
144+
* Revert "Currently disable failing builds for CentOS 7"
145+
* travis: add CentOS 7
146+
147+
-- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> Fri, 10 Apr 2020 05:56:54 +0200
148+
149+
qubes-gui-daemon (4.1.4-1) unstable; urgency=medium
150+
151+
[ Frédéric Pierret (fepitre) ]
152+
* travis: switch to dom0 Fedora 31
153+
154+
[ Marek Marczykowski-Górecki ]
155+
* Make files in qubes-rpc executable
156+
* Make qubes.WindowIconUpdater a proper script
157+
* Fix tray icon coloring code - do not crop/dislocate icon fragments
158+
159+
-- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> Sun, 15 Mar 2020 03:00:41 +0100
160+
161+
qubes-gui-daemon (4.1.3-1) unstable; urgency=medium
162+
163+
[ xaki23 ]
164+
* allow domid 0 as target
165+
166+
[ Frédéric Pierret (fepitre) ]
167+
* travis: switch to bionic
168+
169+
[ Snowy Marmot ]
170+
* Add exmaples/comments to guid.conf
171+
* Review and fix spelling
172+
173+
-- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> Sun, 05 Jan 2020 20:03:31 +0100
174+
175+
qubes-gui-daemon (4.1.2-1) wheezy; urgency=medium
176+
177+
* Fix setting shmoverride.so localtion
178+
179+
-- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> Sat, 20 Apr 2019 18:16:14 +0200
180+
181+
qubes-gui-daemon (4.1.1-1) unstable; urgency=medium
182+
183+
[ Marek Marczykowski-Górecki ]
184+
* xside: save agent protocol version
185+
186+
[ Your Name ]
187+
* CLIPBOARD_DATA: fix sending of window id when pasting to messages.
188+
189+
[ Marek Marczykowski-Górecki ]
190+
* xside: send old MSG_CLIPBOARD_DATA if agent is old
191+
* rpm: use %{python3_pkgversion} to make it CentOS compatible
192+
193+
-- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> Fri, 29 Mar 2019 01:00:07 +0100
194+
195+
qubes-gui-daemon (4.1.0-1) unstable; urgency=medium
196+
197+
* Initial packaging
198+
199+
-- Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> Sat, 02 Mar 2019 14:57:16 +0100

qubes-gui-daemon/debian/compat

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
10

0 commit comments

Comments
 (0)