-
-
Notifications
You must be signed in to change notification settings - Fork 512
Preparation for rst conversion #1418
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 103 commits
be4bbda
d04ee19
0f1268e
20972f2
6cf2fd5
3ef2cd7
3dcfa93
6b2ad28
5050b8d
ee6a768
607d525
c78d562
2346dac
326adab
a1e5c64
90ed11a
93f851d
32c32e6
0a94a1f
38cfff0
b7c6ff3
8fd6045
da97d63
7c2b1a4
ae14469
a60dc3a
5941ae9
230c80f
f9c3715
3e93bd5
5926d88
b98221a
abbe9b1
d8eea9f
5c4c483
bdda0ae
d7d0308
df88aca
bdc020a
6c32c9d
3006e84
bfbad2b
1ffc54d
b330828
8003064
9b2e206
c2a8a91
d4edd48
0d9309e
da85dd6
89f81ec
4127448
6b75c50
c440190
00b72eb
ed16d12
62d9a4f
4b625ee
79b2bfb
acfadd1
cb1f45f
8085719
e7385e9
2d3bfcb
b9067f7
bef2385
b88a6bf
8338dab
f3d5fb4
8fb701e
d6925e0
f62ae0b
2f094ef
2093a27
d4461fb
99829ef
6f9a1d7
3a603a3
7e2b1b1
1620034
0c27497
2af734f
af631c8
cbf4baa
66c0baf
67e3ffc
8300200
951baf6
cf30f8b
bb37d69
f557026
0688e5d
284e6d4
fa3b299
9f76056
9e6c2e4
23dce70
f487cd4
78654bf
524928b
7eaecbd
823c5f3
4554eef
e3db139
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -174,45 +174,6 @@ If applicable, links to more information or discussions | |
|
|
||
| **Mentor**: [Frédéric Pierret](/team/) | ||
|
|
||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. removed commented out section. should the information be available in some other form somewhere still?
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. better to remove it entirely, it's still in the history if someone wants to restore it later, there was certainly a reason to comment, but it's not like it's unrecoverable if you remove it |
||
| <!-- | ||
|
|
||
| REMOVED as of February 2022: work is being done on this | ||
|
|
||
| ### Wayland support in GUI agent and/or GUI daemon | ||
|
|
||
| **Project**: Wayland support in GUI agent and/or GUI daemon | ||
|
|
||
| **Brief explanation**: Currently both GUI agent (VM side of the GUI virtualization) and GUI daemon (dom0 side of GUI virtualization) support X11 protocol only. It may be useful to add support for Wayland there. Note that those are in fact two independent projects: | ||
|
|
||
| 1. GUI agent - make it work as Wayland compositor, instead of extracting window's composition buffers using custom X11 driver | ||
| 2. GUI daemon - act as Wayland application, showing windows retrieved from VMs, keeping zero-copy display path (window content is directly mapped from application running in VM, not copied) | ||
|
|
||
| **Expected results**: | ||
|
|
||
| Choose either of GUI agent, GUI daemon. Both are of similar complexity and each separately looks like a good task for GSoC time period. | ||
|
|
||
| - design relevant GUI agent/daemon changes, the GUI protocol should not be affected | ||
| - consider window decoration handling - VM should have no way of spoofing those, so it must be enforced by GUI daemon (either client-side - by GUI daemon itself, or server-side, based on hints given by GUI daemon) | ||
| - implement relevant GUI agent/daemon changes | ||
| - implement tests for new GUI handling, similar to existing tests for X11 based GUI | ||
|
|
||
| Relevant links: | ||
|
|
||
| - [Low level GUI documentation](/doc/gui/) | ||
| - [qubes-gui-agent-linux](https://github.com/qubesos/qubes-gui-agent-linux) | ||
| - [qubes-gui-daemon](https://github.com/qubesos/qubes-gui-daemon) | ||
| - [Use Wayland instead of X11 to increase performance](https://github.com/qubesos/qubes-issues/issues/3366) | ||
|
|
||
| **Knowledge prerequisite**: | ||
|
|
||
| - Wayland architecture | ||
| - basics of X11 (for understanding existing code) | ||
| - C language | ||
| - using shared memory (synchronization methods etc) | ||
|
|
||
| **Mentor**: [Marek Marczykowski-Górecki](/team/). | ||
|
|
||
| --> | ||
|
|
||
| ### Qubes Live USB | ||
|
|
||
|
|
@@ -252,26 +213,6 @@ details: [#1552](https://github.com/QubesOS/qubes-issues/issues/1552), | |
|
|
||
| **Mentor**: [Frédéric Pierret](/team/) | ||
|
|
||
| <!-- | ||
| ### Unikernel-based firewallvm with Qubes firewall settings support | ||
|
|
||
| REMOVED as of January 2020: work is being done on this | ||
|
|
||
| **Project**: Unikernel based firewallvm with Qubes firewall settings support | ||
|
|
||
| **Brief explanation**: [blog post](https://roscidus.com/blog/blog/2016/01/01/a-unikernel-firewall-for-qubesos/), [repo](https://github.com/talex5/qubes-mirage-firewall) | ||
|
|
||
| **Expected results**: A firewall implemented as a unikernel which supports all the networking-related functionality as the default sys-firewall VM, including configuration via Qubes Manager. Other duties currently assigned to sys-firewall such as the update proxy may need to be appropriately migrated first. | ||
|
|
||
| **Knowledge prerequisite**: | ||
|
|
||
| - [OCaml](https://ocaml.org/) + [MirageOS](https://mirage.io/) or other unikernel framework, | ||
| - Xen network stack, | ||
| - Qubes networking model & firewall semantics. | ||
|
|
||
| **Mentor**: [Thomas Leonard](mailto:[email protected]), [Marek Marczykowski-Górecki](/team/) | ||
| --> | ||
|
|
||
| ### LogVM(s) | ||
|
|
||
| **Project**: LogVM(s) | ||
|
|
@@ -461,44 +402,6 @@ Some related discussion: | |
| **Mentor**: [Marek Marczykowski-Górecki](/team/) | ||
|
|
||
|
|
||
| <!-- | ||
|
|
||
| REMOVED as of February 2021: work is being done on this | ||
|
|
||
| ### Porting Qubes to POWER9/PPC64 | ||
|
|
||
| **Project**: Porting Qubes to POWER9/ppc64 | ||
|
|
||
| **Brief explanation**: | ||
|
|
||
| Qubes currently supports the x86_64 CPU architecture. PowerPC is desirable for security purposes as it is the only architecture where one can get performant hardware with entirely open source firmware. Xen has **deprecated** support for Power9/PPC64 processors. Here are two directions to tackle this project from: | ||
|
|
||
| - Port Qubes to KVM then work on ppc64 specifics | ||
| - Implement some missing functionality in KVM then implement KVM support in the Qubes Hypervisor Abstraction Layer and build process. Improving the HAL will also be beneficial for simplifying the process of porting to further architectures and hypervisors. | ||
|
|
||
| - Port Xen to ppc64 then work on Qubes specifics | ||
| - For more information on porting Xen see [this thread](https://markmail.org/message/vuk7atnyqfq52epp). | ||
|
|
||
| More information and further links can be found in the related issue: | ||
| [#4318](https://github.com/QubesOS/qubes-issues/issues/4318). | ||
|
|
||
| **Expected results**: | ||
|
|
||
| - Add cross-compilation support to qubes-builder and related components. | ||
| - Make ppc64 specific adjustments to Qubes toolstacks/manager (including passthrough of devices from device tree to guest domains). | ||
| - ppc64 specific integration and unit tests. | ||
| - Production of generic u-boot or uefi capable image/iso for target hardware. | ||
|
|
||
| **Knowledge prerequisite**: | ||
|
|
||
| - Libvirt and Qubes toolstacks (C and python languages). | ||
| - KVM or XEN internals | ||
| - General ppc64 architecture knowledge. | ||
|
|
||
| **Mentor**: [Marek Marczykowski-Górecki](/team/) | ||
|
|
||
| --> | ||
|
|
||
| ### Android development in Qubes | ||
|
|
||
| **Project**: Research running Android in Qubes VM (probably HVM) and connecting it to Android Studio | ||
|
|
@@ -538,12 +441,14 @@ Since the Admin API is continuously growing and changing, continuous security as | |
| A [Fuzzer](https://en.wikipedia.org/wiki/Fuzzing) would help to automate part of these assessments. | ||
|
|
||
| **Expected results**: | ||
|
|
||
| - fully automated & extensible Fuzzer for parts of the Admin API | ||
| - user & developer documentation | ||
|
|
||
| **Difficulty**: medium | ||
|
|
||
| **Prerequisites**: | ||
|
|
||
| - basic Python understanding | ||
| - some knowledge about fuzzing & existing fuzzing frameworks (e.g. [oss-fuzz](https://github.com/google/oss-fuzz/tree/master/projects/qubes-os)) | ||
| - a hacker's curiosity | ||
|
|
@@ -560,13 +465,15 @@ A [Fuzzer](https://en.wikipedia.org/wiki/Fuzzing) would help to automate part of | |
| **Brief explanation**: Since recently, Xen supports "unified EFI boot" which allows to sign not only Xen binary itself, but also dom0 kernel and their parameters. While the base technology is there, enabling it is a painful and complex process. The goal of this project is to integrate configuration of this feature into Qubes, automating as much as possible. See discussion in [issue #4371](https://github.com/QubesOS/qubes-issues/issues/4371) | ||
|
|
||
| **Expected results**: | ||
|
|
||
| - a tool to prepare relevant boot files for unified Xen EFI boot - this includes collecting Xen, dom0 kernel, initramfs, config file, and possibly few more (ucode update?); the tool should then sign the file with user provided key (preferably propose to generate it too) | ||
| - integrate it with updates mechanism, so new Xen or dom0 kernel will be picked up automatically | ||
| - include a fallback configuration that can be used for troubleshooting (main unified Xen EFI intentionally does not allow to manipulate parameters at boot time) | ||
|
|
||
| **Difficulty**: hard | ||
|
|
||
| **Knowledge prerequisite**: | ||
|
|
||
| - basic understanding of Secure Boot | ||
| - Bash and Python scripting | ||
|
|
||
|
|
@@ -586,6 +493,7 @@ A [Fuzzer](https://en.wikipedia.org/wiki/Fuzzing) would help to automate part of | |
| **Difficulty**: medium | ||
|
|
||
| **Knowledge prerequisite**: | ||
|
|
||
| - Python scripting | ||
| - Basic knowledge of Linux system services management (systemd, syslog etc) | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -58,9 +58,9 @@ Qubes OS regularly participates in Google Summer of Code and Google Season of Do | |
|
|
||
| ## Past Projects | ||
|
|
||
| You can view the project we had in 2019 in the [2019 GSoD archive](https://developers.google.com/season-of-docs/docs/2019/participants/project-qubes) and the [2019 writer's report](https://refre.ch/report-qubesos/). | ||
| You can view the project we had in 2019 in the [2019 GSoD archive](https://developers.google.com/season-of-docs/docs/2019/participants/project-qubes) and the [2019 writer's report](https://web.archive.org/web/20200928002746/https://refre.ch/report-qubesos/). | ||
|
|
||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please have a look at the web archived versions of the reports
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. they look good enough for a web archive link! No problem for me |
||
| You can view the project we had in 2020 in the [2020 GSoD archive](https://developers.google.com/season-of-docs/docs/2020/participants/project-qubesos-c1e0) and the [2020 writer's report](https://gist.github.com/PROTechThor/bfe9b8b28295d88c438b6f6c754ae733). | ||
| You can view the project we had in 2020 in the [2020 GSoD archive](https://developers.google.com/season-of-docs/docs/2020/participants/project-qubesos-c1e0) and the [2020 writer's report](https://web.archive.org/web/20210723170547/https://gist.github.com/PROTechThor/bfe9b8b28295d88c438b6f6c754ae733). | ||
|
|
||
| You can view the results of the project we had in 2023 [here](https://www.youtube.com/playlist?list=PLjwSYc73nX6aHcpqub-6lzJbL0vhLleTB). | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it looks bad, I'm not sure if the - was intentional here?
I'm not sure it's needed to have a -, there is a paragraph a bit after the 2. and it looks great
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i suppose i did this because of some conversion/formatting issues specifically for lists in markdown and rst :)