mirror of
https://cagebreak.project-repo.co/cagebreak.git
synced 2026-08-20 12:34:18 +02:00
Merge branch 'master' into development
This commit is contained in:
commit
fcafa33400
31 changed files with 124 additions and 75 deletions
16
Bugs.md
16
Bugs.md
|
|
@ -1238,6 +1238,22 @@ Thanks to Oliver Friedmann for providing a pull request.
|
|||
|
||||
## Issue 66
|
||||
|
||||
* github issue number: #65
|
||||
* Fixed 2.2.3
|
||||
|
||||
In Cagebreak 2.2.2 the compatible wlroots versions were wrongly specified.
|
||||
To stop this from reoccurring, we have added a check to our release checks.
|
||||
|
||||
## Issue 67
|
||||
|
||||
* github issue number: #66
|
||||
* Fixed 2.2.3
|
||||
|
||||
In Cagebreak 2.2.2 dual monitors were mirrored instead of extended, changing
|
||||
established behaviour.
|
||||
|
||||
## Issue 68
|
||||
|
||||
* github issue numner: #38
|
||||
* Fixed: 2.3.0
|
||||
|
||||
|
|
|
|||
40
Hashes.md
40
Hashes.md
|
|
@ -1,5 +1,45 @@
|
|||
# Hashes
|
||||
|
||||
2.2.3 cagebreak
|
||||
|
||||
* sha 256: 265a9d09622272ca6ea79ddcdbdc6003704106814eb05a2b7547a77a982263de
|
||||
* sha 512: 757f837a7e6ddd71fed88c4e1aab5cab9d4d07e8b76f280eed9afa35a2eaee23c0553299fe49a0139c754179d0df68c1303725f1f909921d078516e14ba3f21f
|
||||
|
||||
2.2.3 cagebreak.1
|
||||
|
||||
* sha 256: 275698641476efa40fc1b33a8025e6dbba3ec931fbaf0a627c0748dad987ed4d
|
||||
* sha 512: 617891ded06657e31daefee84a03191ad6e03892118f1790a5ebaa6e847c4d18d4b6849edc00841bd68abc9e0e0a111153efe102db02ce3d408c903b0d045927
|
||||
|
||||
2.2.3 cagebreak-config.5
|
||||
|
||||
* sha 256: 5967e9131d1ee16ffa046a732911c902e41f2e18f3170d11a47b9be596b4978a
|
||||
* sha 512: 6d3c5fbb2b95a75d7c5a8ed8b5922cfcc4135857b389652572c5d9c211c6da9cf8ef0b5dc0e8eaa540c6b1c2dd215f512df2ef49ce80c34e8e5ad170bfb7134e
|
||||
|
||||
2.2.3 cagebreak-socket.7
|
||||
|
||||
* sha 256: cb1bde8a6fb2a1fa2b7b8db7fdef9b933cd471ca604e15d1dd9133859fa6eea3
|
||||
* sha 512: 1d99672cb7ac7323790d47986d206bf8c392698db0cd52978963deb6e85118c6822e2d45c7fa66e8636e95214f8893d963a3157ca24239d2fd2d78b1e26f11e7
|
||||
|
||||
2.2.2 cagebreak
|
||||
|
||||
* sha 256: 98e0dfe870a7242fdf7c6fb1a5c520cfe7d1154b3f139560da6cb86b2430b2a0
|
||||
* sha 512: c335f8f6e226203e797e232caead74db9b1e7f24d5edf80dd99a0c00c5f4e81351a5ddcad4f601a12618ebed5c62be547462c4f06ae4ccb6a622a869ee8741ec
|
||||
|
||||
2.2.2 cagebreak.1
|
||||
|
||||
* sha 256: c655fff018377b5ee541854ee428559ba4c5080d44f87247fe608f18651b0764
|
||||
* sha 512: 7cbef17cbe3c59cde21466d6c76e1a34ffce748d2d9011a77bd7703f605b737e344cabaad1e3a599316321481524cb860b2533ab6bef2e7714c00b2641fe962c
|
||||
|
||||
2.2.2 cagebreak-config.5
|
||||
|
||||
* sha 256: b799e0252d7224befc92bdd143d00dc3f42a38e39f510f3ace575b03f293a788
|
||||
* sha 512: 3778db9ff07429efb74b4b07476193844698e07ea91a742aac078391ba38fb07987dc61ba312c30b6eb04ad2d847ee552826e7a09be8dc572be5626c27059df3
|
||||
|
||||
2.2.2 cagebreak-socket.7
|
||||
|
||||
* sha 256: dd10359fd1840909bb817858668e67bdd433f367b0ed199328e4b29c99529322
|
||||
* sha 512: 67f8c39864472c9b2396946a943ce249297b1b9fc5e452a4051f0512fd61b4a22906e1a16aee1c2bf6cacb3b9cd7a11da19c5d760c192020402008eab379eee1
|
||||
|
||||
2.2.1 cagebreak
|
||||
|
||||
* sha 256: 96469a78eeaddf9476c82e0ab8a0e35a95b3119bf83633a54feb8f3f5780df2f
|
||||
|
|
|
|||
49
README.md
49
README.md
|
|
@ -9,25 +9,21 @@ based on [Cage](https://github.com/Hjdskes/cage) and inspired by [ratpoison](htt
|
|||
|
||||
### Purpose
|
||||
|
||||
The goal of this project is to provide a successor to ratpoison for Wayland.
|
||||
This project provides a successor to ratpoison for Wayland.
|
||||
However, this is no reimplementation of ratpoison.
|
||||
|
||||
#### New Features, Bugs and Contact Information
|
||||
|
||||
Should you want to know if a feature will be implemented, file a bug or
|
||||
get in touch, [open an issue](https://github.com/project-repo/cagebreak/issues/new)
|
||||
You can [open an issue](https://github.com/project-repo/cagebreak/issues/new)
|
||||
or write an e-mail (See [SECURITY.md](SECURITY.md) for details.).
|
||||
|
||||
The Roadmap section outlines what is planned for the future.
|
||||
The Roadmap section outlines our plans.
|
||||
|
||||
#### Compatibility & Development Distribution
|
||||
|
||||
Cagebreak supports [Arch Linux](https://archlinux.org/) and uses the libraries
|
||||
(and software versions) as they are obtained through [pacman](https://wiki.archlinux.org/title/Pacman)
|
||||
at the time of release. Any other use is out of scope.
|
||||
|
||||
Most other setups probably work with a bit of luck. We
|
||||
make no guarantees.
|
||||
and versions from extra and core at the time of release.
|
||||
Most other setups work with a bit of luck.
|
||||
|
||||
### Quick Installation
|
||||
|
||||
|
|
@ -42,17 +38,12 @@ details on getting started and the documentation for everything else.
|
|||
|
||||
### Documentation
|
||||
|
||||
* the rest of this file
|
||||
* the man pages:
|
||||
* [cagebreak](man/cagebreak.1.md)
|
||||
* [configuration](man/cagebreak-config.5.md)
|
||||
* [socket](man/cagebreak-socket.7.md)
|
||||
* the [FAQ](FAQ.md)
|
||||
* [SECURITY.md](SECURITY.md)
|
||||
* the man pages: [cagebreak](man/cagebreak.1.md), [configuration](man/cagebreak-config.5.md) & [socket](man/cagebreak-socket.7.md)
|
||||
* the [README](README.md), [FAQ](FAQ.md) & [SECURITY.md](SECURITY.md)
|
||||
|
||||
#### What's new?
|
||||
|
||||
See the [Changelog](Changelog.md).
|
||||
Check the [Changelog](Changelog.md).
|
||||
|
||||
### Uninstallation
|
||||
|
||||
|
|
@ -60,9 +51,9 @@ See the [Changelog](Changelog.md).
|
|||
|
||||
### Contributing
|
||||
|
||||
* Just [open an issue](https://github.com/project-repo/cagebreak/issues/new) and state your idea.
|
||||
We will consider the proposal and get back to you.
|
||||
* Don't open a pull request. We might not accept your code and
|
||||
* [Open an issue](https://github.com/project-repo/cagebreak/issues/new) and state your idea.
|
||||
We will get back to you.
|
||||
* Ask before you open a pull request. We might not accept your code and
|
||||
it would be sad to waste the effort.
|
||||
* Respect the [Code of Conduct](CODE_OF_CONDUCT.md) (To date, we never
|
||||
had to intervene - Keep it that way!)
|
||||
|
|
@ -208,16 +199,16 @@ as a source of inspiration and explanations for certain particularities.
|
|||
## Contributing
|
||||
|
||||
* Read this document.
|
||||
* Just [open an issue](https://github.com/project-repo/cagebreak/issues/new) and state your feature request.
|
||||
We will consider the proposal and get back to you.
|
||||
* Don't open a pull request without asking first. We might not accept your
|
||||
* [Open an issue](https://github.com/project-repo/cagebreak/issues/new) and state your feature request.
|
||||
We will get back to you.
|
||||
* Ask before opening a pull request. We might not accept your
|
||||
code and it would be sad to waste the effort.
|
||||
* Respect the [Code of Conduct](CODE_OF_CONDUCT.md) (To date, we never
|
||||
had to intervene - Please keep it that way!)
|
||||
|
||||
### Good First Contributions
|
||||
|
||||
* Reviewing the project is always welcome.
|
||||
* Reviews are always welcome.
|
||||
* Read the code.
|
||||
* Read the documentation.
|
||||
* Test whether the documentation matches the code.
|
||||
|
|
@ -225,12 +216,12 @@ as a source of inspiration and explanations for certain particularities.
|
|||
* Compile the code.
|
||||
* Ideas on improving the testing and quality assurance are particularly
|
||||
welcome.
|
||||
* If you want, you can share your cagebreak scripts and we might include them
|
||||
in the repository provided you agree to release them under MIT and we agree
|
||||
with the use case and coding style.
|
||||
* Iff you are happy with Cagebreak and use Arch Linux, you may vote for
|
||||
* You can share your cagebreak scripts and we might include them with Cagebreak
|
||||
provided you agree to release them under MIT and we agree with the
|
||||
use case and coding style.
|
||||
* If you are happy with Cagebreak under Arch Linux, you may vote for
|
||||
[Cagebreak in the AUR](https://aur.archlinux.org/packages/cagebreak).
|
||||
* The points above still apply.
|
||||
* The points from the Contributing section above still apply.
|
||||
|
||||
### Philosophy
|
||||
|
||||
|
|
|
|||
33
SECURITY.md
33
SECURITY.md
|
|
@ -51,11 +51,10 @@ public key or provide the fingerprint and directions to obtain the key.
|
|||
|
||||
## Threat Model
|
||||
|
||||
Cagebreak is a wayland compositor run by the user of the system
|
||||
and thus has access to whichever resources this user has access to.
|
||||
Cagebreak can restrict other programs in no way, because this would hamper
|
||||
usability (consider a web browser unable to write a downloaded file to disk
|
||||
for instance).
|
||||
Cagebreak is a wayland compositor run by a user and has access to
|
||||
the resources the user has access to.
|
||||
Cagebreak cannot restrict other programs (consider a web browser
|
||||
unable to write a downloaded file for instance).
|
||||
|
||||
There is no transmission of information by cagebreak other than to the
|
||||
screens, ipc and potentially other documented local channels.
|
||||
|
|
@ -63,38 +62,36 @@ screens, ipc and potentially other documented local channels.
|
|||
### STRIDE Threat List
|
||||
|
||||
This is not a thorough analysis, just an overview of the ways in which cagebreak
|
||||
has (no) attack surface. Please reference the man pages for details but especially
|
||||
the -e and --bs options.
|
||||
has (no) attack surface. Please reference the man pages (especially options -e and --bs ).
|
||||
|
||||
#### Spoofing
|
||||
|
||||
Not applicable - Using Cagebreak already requires a login as a user.
|
||||
Not applicable - Cagebreak is executed after user login.
|
||||
|
||||
#### Tampering
|
||||
|
||||
Not applicable - Cagebreak must allow system manipulation for user software.
|
||||
Not applicable - Cagebreak allows system manipulation for user software.
|
||||
|
||||
#### Repudiation
|
||||
|
||||
Not applicable - There are no prohibited operations (See Tampering above.).
|
||||
While cagebreak does send events over documented channels there is no logging
|
||||
activated by default, though, of course, this can be changed by the user
|
||||
by logging socket output (if enabled) for example.
|
||||
Cagebreak sends events over documented channels. There is no logging
|
||||
activated by default - this can be changed by logging the socket (if enabled) for example.
|
||||
|
||||
#### Information Disclosure
|
||||
|
||||
Not applicable - Information disclosure over documented channels is a feature
|
||||
and any software run by the user may exfiltrate any data the user has access to.
|
||||
Not applicable - Information disclosure over documented channels is a feature.
|
||||
Any user software may exfiltrate any data the user has access to.
|
||||
|
||||
#### Denial of Service
|
||||
|
||||
Not applicable - Cagebreak offers functionality to terminate itself, which is
|
||||
available to all user software over the socket if the socket is enabled.
|
||||
Not applicable - Cagebreak offers functionality to terminate itself. This is
|
||||
available to user software over the socket (if enabled).
|
||||
|
||||
#### Elevation of Privilege
|
||||
|
||||
Software may gain arbitrary code execution rights if it has access to the
|
||||
Cagebreak socket. Privilege escalation to root is unlikely since privileges
|
||||
Software may gain arbitrary code execution if it has access to the
|
||||
socket (if enabled). Privilege escalation to root is unlikely since privileges
|
||||
are dropped before any user input is accepted.
|
||||
|
||||
## GPG Keys of the Cagebreak Repository
|
||||
|
|
|
|||
|
|
@ -272,7 +272,7 @@ LLVMFuzzerInitialize(int *argc, char ***argv) {
|
|||
}
|
||||
server.scene_output_layout=wlr_scene_attach_output_layout(server.scene, server.output_layout);
|
||||
|
||||
compositor = wlr_compositor_create(server.wl_display, 5,server.renderer);
|
||||
compositor = wlr_compositor_create(server.wl_display, 6,server.renderer);
|
||||
if(!compositor) {
|
||||
wlr_log(WLR_ERROR, "Unable to create the wlroots compositor");
|
||||
ret = 1;
|
||||
|
|
|
|||
12
meson.build
12
meson.build
|
|
@ -204,15 +204,15 @@ reproducible_build_versions = {
|
|||
'wayland_server': '1.19.0',
|
||||
'wayland_client': '1.22.0',
|
||||
'wayland_cursor': '1.22.0',
|
||||
'wlroots': '0.16.2',
|
||||
'xkbcommon': '1.5.0',
|
||||
'wlroots': '0.17.0',
|
||||
'xkbcommon': '1.6.0',
|
||||
'fontconfig': '2.14.2',
|
||||
'libinput': '1.24.0',
|
||||
'libevdev': '1.13.1',
|
||||
'libudev': '254',
|
||||
'pango': '1.50.14',
|
||||
'cairo': '1.17.8',
|
||||
'pangocairo': '1.50.14',
|
||||
'pango': '1.51.0',
|
||||
'cairo': '1.18.0',
|
||||
'pangocairo': '1.51.0',
|
||||
'math': '-1'
|
||||
}
|
||||
|
||||
|
|
@ -260,7 +260,7 @@ install_data('LICENSE', install_dir : '/usr/share/licenses/' + meson.project_nam
|
|||
|
||||
if get_option('man-pages')
|
||||
scdoc = find_program('scdoc')
|
||||
secssinceepoch = 1692353837
|
||||
secssinceepoch = 1701768836
|
||||
shcommand = 'export SOURCE_DATE_EPOCH=' + secssinceepoch.to_string() + ' ; @0@ < @INPUT@'.format(scdoc.path())
|
||||
sh = find_program('sh')
|
||||
mandir1 = join_paths(get_option('mandir'), 'man1')
|
||||
|
|
|
|||
1
output.c
1
output.c
|
|
@ -16,6 +16,7 @@
|
|||
#endif
|
||||
#include <wlr/backend/headless.h>
|
||||
#include <wlr/types/wlr_compositor.h>
|
||||
#include <wlr/types/wlr_cursor.h>
|
||||
#include <wlr/types/wlr_data_device.h>
|
||||
#include <wlr/types/wlr_output.h>
|
||||
#include <wlr/types/wlr_output_layout.h>
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
2.2.1
|
||||
2023-08-21
|
||||
2.2.3
|
||||
2023-12-05
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
2.2.1
|
||||
2023-08-21
|
||||
2.2.3
|
||||
2023-12-05
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
2.2.1
|
||||
2023-08-21
|
||||
2.2.3
|
||||
2023-12-05
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
2.2.1
|
||||
2023-08-21
|
||||
2.2.3
|
||||
2023-12-05
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
2.2.1
|
||||
2023-08-21
|
||||
2.2.3
|
||||
2023-12-05
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
2.2.1
|
||||
2023-08-21
|
||||
2.2.3
|
||||
2023-12-05
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
2.2.1
|
||||
2023-08-21
|
||||
2.2.3
|
||||
2023-12-05
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
2.2.1
|
||||
2023-08-21
|
||||
2.2.3
|
||||
2023-12-05
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
2.2.1
|
||||
2023-08-21
|
||||
2.2.3
|
||||
2023-12-05
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
2.2.1
|
||||
2023-08-21
|
||||
2.2.3
|
||||
2023-12-05
|
||||
|
|
|
|||
2
release-non-auto-checks/version-restrictions
Normal file
2
release-non-auto-checks/version-restrictions
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
2.2.3
|
||||
2023-12-05
|
||||
4
seat.c
4
seat.c
|
|
@ -14,6 +14,7 @@
|
|||
#include <wlr/types/wlr_compositor.h>
|
||||
#include <wlr/types/wlr_cursor.h>
|
||||
#include <wlr/types/wlr_data_device.h>
|
||||
#include <wlr/types/wlr_idle_notify_v1.h>
|
||||
#include <wlr/types/wlr_keyboard_group.h>
|
||||
#include <wlr/types/wlr_primary_selection.h>
|
||||
#include <wlr/types/wlr_scene.h>
|
||||
|
|
@ -746,7 +747,8 @@ process_cursor_motion(struct cg_seat *seat, uint32_t time) {
|
|||
break;
|
||||
}
|
||||
}
|
||||
if(seat->cursor_tile != NULL && seat->cursor_tile != c_tile) {
|
||||
if(seat->cursor_tile != NULL && seat->cursor_tile != c_tile &&
|
||||
seat->server->running) {
|
||||
ipc_send_event(seat->server,
|
||||
"{\"event_name\":\"cursor_switch_tile\",\"old_output\":"
|
||||
"\"%s\",\"old_output_id\":%d,"
|
||||
|
|
|
|||
BIN
signatures/2.2.1-cagebreak-config.5.sig
Normal file
BIN
signatures/2.2.1-cagebreak-config.5.sig
Normal file
Binary file not shown.
BIN
signatures/2.2.1-cagebreak-socket.7.sig
Normal file
BIN
signatures/2.2.1-cagebreak-socket.7.sig
Normal file
Binary file not shown.
BIN
signatures/2.2.1-cagebreak.1.sig
Normal file
BIN
signatures/2.2.1-cagebreak.1.sig
Normal file
Binary file not shown.
BIN
signatures/2.2.1-cagebreak.sig
Normal file
BIN
signatures/2.2.1-cagebreak.sig
Normal file
Binary file not shown.
BIN
signatures/2.2.2-cagebreak-config.5.sig
Normal file
BIN
signatures/2.2.2-cagebreak-config.5.sig
Normal file
Binary file not shown.
BIN
signatures/2.2.2-cagebreak-socket.7.sig
Normal file
BIN
signatures/2.2.2-cagebreak-socket.7.sig
Normal file
Binary file not shown.
BIN
signatures/2.2.2-cagebreak.1.sig
Normal file
BIN
signatures/2.2.2-cagebreak.1.sig
Normal file
Binary file not shown.
BIN
signatures/2.2.2-cagebreak.sig
Normal file
BIN
signatures/2.2.2-cagebreak.sig
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue