An open API service for software projects hosted on Open Collective.

github.com/QubesOS/qubes-core-qrexec


https://github.com/QubesOS/qubes-core-qrexec

version 4.2.18

c9185638cdd78e4ba0b59546f8182c1ca86dde44 authored over 1 year ago
agent: fix calloc parameters order

GCC 14 complains:

qrexec-agent.c: In function ...pam_conv_callback...:
qrexec-agent.c:101:23: e...

890e3fa884fc43dcdfe4ced1ef09c32147b7171a authored over 1 year ago
version 4.2.17

171a681681632cd51a88952ff909482f0c9ac20f authored over 1 year ago
Remove leftover debug print

This print leaks the whole qrexec policy to the caller of the
policy.RegisterArgument service. D...

2e612707089c4853b6c9815a72a7e41baf1114cd authored over 1 year ago
version 4.2.16

9670cb5d9a79968f9bb0e9960bd6432170b46b57 authored over 1 year ago
Merge remote-tracking branch 'origin/pr/131'

* origin/pr/131:
rpm: add missing directory ownership
rpm: adjust pyinotify pkg name for ope...

37c02fe5f5870f5b27e04739283d32f1b1361d58 authored over 1 year ago
Merge remote-tracking branch 'origin/pr/132'

* origin/pr/132:
Add dedicated PAM file for Gentoo

71ed4b247ff9684b8b0e0a415dad8ec1043e5cc7 authored over 1 year ago
qrexec-policy-graph: make output order deterministic

cd63c7d31759fd9691dd181df4ecffe3215dfd1e authored over 1 year ago
qrexec-policy-graph: add specific argument on the graph with --full-output

When --full-output is given, include also which specific arguments are
allowed, not only whether...

042e885693974ee6b09087f1ee05bf039b94ae8d authored over 1 year ago
qrexec-policy-graph: fix output with --full-output

The line color is supposed to mean ask/allow actions. With --full-output
it incorrectly used alw...

92980dc794718212bf533a9af86d496dbd807f84 authored over 1 year ago
qrexec-policy-graph: add basic tests

QubesOS/qubes-issues#8648

f92f2123cd9fa0b785dbc2aefbabadbcbc301a4a authored over 1 year ago
qrexec-policy-graph: print wildcard rules when specific argument requested

When the tool is called with a specific service argument, consider rules
with wildcard argument ...

74c345b99523db151e3e92c2ac9c17c524caa21a authored over 1 year ago
qrexec-policy-graph: validate and normalize source/target arguments

For example --target=@default doesn't make sense.
When parsing source/targets already, save pars...

c37cdf87353ddd8b836c5be2579abe8e79de473d authored over 1 year ago
rpm: add missing directory ownership

QubesOS/qubes-issues#6567

45e7a589da01e9b210dbc1877062b8b466e2b7c6 authored over 1 year ago
rpm: adjust pyinotify pkg name for openSUSE

QubesOS/qubes-issues#6567

9a9abdc31366c21014621836044c298025593412 authored over 1 year ago
rpm: own /etc/qubes/rpc-config dir too

QubesOS/qubes-issues#6567

b42d492caa6fbf2df6d22d217c916e2d2ad6f91d authored over 1 year ago
rpm: do not fail the build on symlinks to /var/run

/qubes-rpc/policy.{Ask,Notify} intentionally points to files created at
runtime (in /var/run). o...

75aa4014763eb8fbadac902591d24675fe8854cf authored over 1 year ago
rpm: move libqrexec-utils.so to -devel subpackage

7b503d9321137a2d284f46eadfe5bc08e8e7bdc0 authored over 1 year ago
rpm: add missing directory ownership

8f6043d1ff657f15d9759898d8d9e96f972faf62 authored over 1 year ago
rpm: adjust BR: python-rpm-macros for opneSUSE

It's just python-rpm-macros there, not python3-rpm-macros

9c4c3aff95a51c2600ff3438fd1c4226b99d1180 authored over 1 year ago
rpm: use virtual provides python3dist(sphinx)

This way it works on both Fedora and openSUSE.
Use also common "sphinx-build" name, which is a s...

cd86f2419af018dac8cc049e67807098bddeb45f authored over 1 year ago
Add dedicated PAM file for Gentoo

cbb90ba2a03f504c924fc29ace8a1a41daad1f43 authored over 1 year ago
rpm: drop unused BR: python3-dbus

d92f98918e0018582cb6f476ca5ccdda9fa069fc authored over 1 year ago
rpm: use https URL

ec5aa1b776785a0c64b875c44f78672ed6335157 authored over 1 year ago
qrexec-policy-graph: fix handling of default target

Consider '@default' target when collecting policy rules, as it might
match different rules than ...

dab7a286aa3efc7aca745cb0831603c592347279 authored almost 2 years ago
Add missing dependency inotify

Fixes: https://github.com/QubesOS/qubes-issues/issues/8644

3720ecb4021b5a8a242b7f3a7b8e7339c1445a85 authored almost 2 years ago
version 4.2.15

0c5d8bc05cc3c5e08d692e2e2d857f848cda2085 authored almost 2 years ago
Merge remote-tracking branch 'origin/pr/128'

* origin/pr/128:
Don't wait for stdin if there is unsent prefix data

719cacbc4feb3b4ca4adb7b0bcc0b8010fdc54c3 authored almost 2 years ago
ci: fixup coverage data collection

Generate gcov reports in appropriate directories (not just top level) to
match them to the sourc...

a9f9c2b0a9c0b03591fa2295fa98493804097df3 authored almost 2 years ago
Don't wait for stdin if there is unsent prefix data

Without this change, prefix data is not sent until stdin becomes
readable. With this change, pr...

5ba4a8dac3da53ec1dfef251b7b1f65e7f826994 authored almost 2 years ago
ci: upload gcov coverage data too

e1553db46c37c8df6cd8bac3963af80998dfd5cf authored almost 2 years ago
version 4.2.14

d0cbbfb987f489c70b9474e658b8d0b8f91dcb29 authored almost 2 years ago
Fix conversion rules for input policy

654e3e0cd453ffc742c006a28a6ae36c8c05659d authored almost 2 years ago
version 4.2.13

96dbbf76ec5fdf805a12b7287f213423b0584510 authored almost 2 years ago
Merge remote-tracking branch 'origin/pr/123'

* origin/pr/123:
Tests for legacy policy convert tool
Modify qrexec-policy-graph for more fl...

45af0f0786c1c44a799c1b0d40681cc27ad0e226 authored almost 2 years ago
Tests for legacy policy convert tool

2849c908dcaf2107a99c4c4c0f3f0c63490b7644 authored almost 2 years ago
Modify qrexec-policy-graph for more flexibility

Enable outputting more information about permissions/actions
Make output more flexible (can be p...

8988142e63539994f44d4e8ee54ddfff969f1084 authored almost 2 years ago
Adjust pylint config

28c1504912fdcdf6b43bbe2b7b2f353ea364bc35 authored almost 2 years ago
version 4.2.12

51c630938f5ffb635314a8e77ad4233ed1ca9680 authored almost 2 years ago
Merge remote-tracking branch 'origin/pr/109'

* origin/pr/109:
Ensure that VLAs do not creep back into the code
Allow specifying a usernam...

e5c78a04b56a240066f5781f6b6e6e408de82a6f authored almost 2 years ago
Add a tool to convert legacy policy files to new format

fixes QubesOS/qubes-issues#8000

b570f1f7ef8eeb79364d0ceba08f84e2ba102c81 authored almost 2 years ago
Ensure that VLAs do not creep back into the code

They are a bad idea and the Linux kernel has banned them from its code.

0fa8ecc76a1a6600511bc2861c75b5218d24661a authored almost 2 years ago
Allow specifying a username in service config

This also dramatically improves the configuration parser. Configuration
files now use a strict ...

0f51d6dfc89b096b61f930e7b9447983db0ce2d0 authored almost 2 years ago
Fix qrexec-policy-graph tool

The utils.get_system_info() still returns full system_info dict, not
just "domains" element (thi...

02ff1aad680eefdeb48bbc9bc3afbfd7a448242a authored almost 2 years ago
Prepare for parsing username from service config

This requires some internal refactoring, which is split off into a
separate commit to ease revie...

a073c30e937c20feaef456100d7f1096f9e2c3d4 authored almost 2 years ago
qrexec-fork-server: validate data from qrexec-agent

This avoids crashes if a buggy qrexec agent sends a malformed message.
It also avoids variable-l...

174a5014db71f46546dba16dff9dd3cf5b063f01 authored almost 2 years ago
Use _exit(), not exit(), in child process after fork

exit() will double-flush streams, among other problems.

32719f26b1dbad2c51f77e8ab8b5a20751e51671 authored almost 2 years ago
Add a missing printf attribute

This allows the C compiler to type-check arguments to qrexec_log() and
thus to the logging macros.

955c3ec776523b14c475b48abe54d7ff8a5c9f8d authored almost 2 years ago
version 4.2.11

5f68a98986352283dc4c851349bc8c9603cd9bf6 authored almost 2 years ago
Support for Fedora 39

776f694a745ae803d668e1b6936cf21d212a66ab authored almost 2 years ago
version 4.2.10

2c060ef7381f15cb285af1a8ffddbdfdd1ee4d8c authored almost 2 years ago
Add connection timeout on the VM side too

If remote VM fails to establish (already allowed by the policy)
connection, the local side (qrex...

8cf1a6b1f90032ab408847eef400aa51a86b1a16 authored almost 2 years ago
Add lint and editor policy tools

42c8574a1b26436c43d1572d1f92ef56153c5aaa authored almost 2 years ago
version 4.2.9

79609b132c49af7d4742d1ab46ebcacc93875d6c authored almost 2 years ago
policy/admin: fix handling missing 'qubes' group

It does exist in dom0 normally, but not necessarily in CI or devel
environment.

697084f4d3470a16df144420fa3555eef74d094f authored almost 2 years ago
Fix issues in qrexec-policy-agent found by pylint

9fdf915cbd1de57735713d18fa80c08200df5c9a authored almost 2 years ago
cleanup pylintrc

Remove options not existing anymore.

34076183cd8287cfb0c55dfa2cfd2d75daca453c authored almost 2 years ago
Fix policy.Replace changing mode and owners

Enforce file mode and ownership for replaced files.

Signed-off-by: Ben Grande <ben.grande.b@gma...

da87fb174813478b6561bfbe82897fc15434d88e authored almost 2 years ago
parser: Change warning of invalid path to error

Signed-off-by: Ben Grande <[email protected]>

2562621d95b9f722345f366693eaec449d043794 authored almost 2 years ago
version 4.2.8

403eaa28cdd46661ae53b181b830c698be4a05e6 authored about 2 years ago
Make policy.RegisterArgument use new policy format

Make it add rules into
/etc/qubes/policy.d/60-registered-arguments.policy, instead of legacy
/et...

349e42cfd550d170d469e58fa73d03edaf1efb67 authored about 2 years ago
version 4.2.7

10adc8303ff9bf190b7ea448a40b5c8566dadd03 authored about 2 years ago
Reject service names that start with +

This corresponds to an service program with an empty name. Such a
program cannot actually exist...

fdcbfd7c68b0b52d534f0a33b8891d948f29aff0 authored about 2 years ago
Reject interior NUL bytes in service name

Previously, this would cause the service name to be truncated, which is
not helpful. Also rejec...

6cb897a627021bd25c7e3df4b0d1f36e911b61e6 authored about 2 years ago
Merge remote-tracking branch 'origin/pr/118'

* origin/pr/118:
Move variables into MSG_TRIGGER_SERVICE3 block

53351ebf68d88e2fee06c761a9d5b1669b5713fc authored about 2 years ago
Merge remote-tracking branch 'origin/pr/114'

* origin/pr/114:
Ensure that all external variables are type-checked
Banish old-style functi...

4bf9806aeaa6195c7e506c3ce44a0451ebf3facd authored about 2 years ago
Move variables into MSG_TRIGGER_SERVICE3 block

These variables are only used in that block, so declare them in that
block.

4ca6be11a6a8e91cc3ed034921810becc5351d39 authored about 2 years ago
Fix python3-qrexec missing on qubes-core-qrexec

Signed-off-by: Ben Grande <[email protected]>

587fa6825e8abdb8c51bd90f94075acedf7749d7 authored about 2 years ago
daemon: fix memory leak

When service call is rejected early, release memory before returning.

87ea44e7b3ede3e2a708387da33815b03c580bf2 authored about 2 years ago
daemon: add missing brackets in validate_request_id

Fix compile error:

../daemon/qrexec-daemon.c:1235:13: error: expected expression
...

d667decd408173d122111d64e5268994cb28d2bc authored about 2 years ago
Ensure that all external variables are type-checked

This requires that all objects with external linkage are declared in a
header file that is inclu...

5eefd4e1e5c07a5a4e5e3efa415d98e7edd88939 authored about 2 years ago
Banish old-style function declarations

They are deprecated in all versions of C and are fundamentally unsafe.
Also ensure that all func...

6e18e389e929ba2d4af191eecc0b1f2f492e6946 authored about 2 years ago
Merge remote-tracking branch 'origin/pr/112'

* origin/pr/112:
Fix header validation by qrexec agent

9808315a72864dcac90113b75766152eb25be22a authored about 2 years ago
Merge remote-tracking branch 'origin/pr/110'

* origin/pr/110:
Reject requests with invalid request ID

bf008da9c31924ae81ae44c4713ce79c261fb37a authored about 2 years ago
Shut up pylint

c70709d1e6d9febb1f20ced3617c3f6d14973810 authored about 2 years ago
Support Debian 11

Debian uses Python 3.9.2 which does not support typing.TypeAlias.
Ensure that typing.TypeAlias i...

07075e9d4eed61417d343a82d30c682df11f87c7 authored about 2 years ago
Fix missing include in RPC names in admin_client

Signed-off-by: Ben Grande <[email protected]>

d0f4a16b591098342451bb59bb9365a28da39536 authored about 2 years ago
Fix header validation by qrexec agent

This avoids a 1-byte out-of-bounds buffer underread in the agent. It
also ensures that an inval...

fd1f24913df1ee48f3e6d3f416c48424975132c3 authored about 2 years ago
Revert "Use close_range(2) instead of manual close loop"

Apparently it's too soon to use close_range() yet. At least environment
used in oss-fuzz does no...

a0121aad5717ff2e62fb98a000ce3651cc21abb7 authored about 2 years ago
fuzz: daemon->handle_message_from_agent()

This is the primary function parsing messages from VM, in dom0. Fuzz
this too. It requires a lit...

9e70ff88d341068b6933c9db2be3066d893bed2c authored about 2 years ago
fuzz: add mockup of libvchan_client_init()

249a64cfa9508570f50902589eea8dd28fb6bc38 authored about 2 years ago
fuzz: fix generating seed corpus

'echo -ne' doesn't work with all shell builtin echo implementation.
Force bash.

84f9d187e0901854646bd33bc8ba6e7dee2eb454 authored about 2 years ago
daemon: prepare handle_message_from_agent() for fuzzing

Make it not-static in fuzzing build and also free memory even when if
normally the process would...

f9c8147413a6f1d4965e1639532933b91b2eb4df authored about 2 years ago
daemon: add missing return to the main() function

0b8891e2f0312efe9ecfa903b42d20cd708ed279 authored about 2 years ago
Restore VMToken properties/methods

Policy editor uses those.

Fixes: 0ab2ac1 "Avoid having qrexec-policy-daemon handle connections"

92071a5d31876a796e2fba647490cd9bed4a8ccf authored about 2 years ago
version 4.2.6

b1007c38deeccdf5e6a54d26d5b1b1599030a634 authored about 2 years ago
Merge branch 'py36'

* py36:
Do not use 'annotation' future extension

ba384e48f0cd043aa26946078f2cb3ecc08bf1f6 authored about 2 years ago
daemon: fix off-by-one in MSG_TRIGGER_SERVICE3 validation

The handle_message_from_agent() assumes there is always a space for
terminating NUL character in...

322bcf6edf0483a2a8253dbb9cd8d04cd29000b4 authored about 2 years ago
Do not use 'annotation' future extension

It isn't available in Python 3.6 (CentOS Stream 8), use manual string
annotations where necessar...

32501cd97ebf90a4d98c6089e09ffc2a81648d60 authored about 2 years ago
Reject requests with invalid request ID

Mangling the request ID is not useful: the agent will use the mangled
request ID to look up the ...

842375b346696c355e8cca78fe4d68618c06183b authored about 2 years ago
version 4.2.5

69a21b7d2eb2f3f91df9e3994c72f2b1919a68f0 authored about 2 years ago
Avoid having qrexec-policy-daemon handle connections

This makes qrexec-policy-daemon stateless and ensures that restarting it
does not e.g. cause dat...

0ab2ac11cab6641fa6131dbc1f23e1f505aa07ce authored about 2 years ago
Use pytest_asyncio.fixture() for async test fixtures

Using pytest.fixture() no longer works in Python 3.11. This manifests
as test failures when run...

721767c0d434c61e0d816fcedb879d4b04773630 authored about 2 years ago
Add types to Python code

This adds lots of types to Python code, making it easier to understand
and maintain. A mypy.ini...

6e6226adafbdd54142dea18249af3c46f684fcb1 authored over 2 years ago
qrexec-client: Allow killing the VM before exiting

This will be used by qrexec to clean up disposable VMs.

8df26276e94cb19b2b6e45f92b32d879f0c56bc0 authored over 2 years ago
Add new utility functions to libqrexec

These functions will be used in qrexec-daemon and qrexec-client to
support communication with qu...

36da281e8a2b25478650b9c4b83c6c2f7e17d10d authored over 2 years ago
avoid option injection in 'make clean'

by adding '--' to the rm command line

6a00e92abddf7447ff320cf7b11a2f52364ba502 authored over 2 years ago
Clean up gcov cruft in 'make clean'

This avoids errors from later coverage runs.

93a0b39e08ca9101b3d243079893eb34d97a43a4 authored over 2 years ago
Fix make install when already installed

Previously the ln commands would fail because the symlinks already
existed.

c97ad3ac5e92dd9ce73ddf5199b02ac9f5f39039 authored over 2 years ago
Fix some mypy errors

No functional change intended.

f84f5785b609573a3c102287ff9fbce13df6236e authored over 2 years ago