{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":179603411,"defaultBranch":"master","name":"qubes-core-qrexec","ownerLogin":"marmarek","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2019-04-05T01:41:08.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/726704?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1716858738.0","currentOid":""},"activityList":{"items":[{"before":"6760cfa978e864aae6df938b518f8ff6d05caa1c","after":"c87b9e7e1e899cb0aa2c57504f0dfb1a23c74010","ref":"refs/heads/devel20240528","pushedAt":"2024-05-28T21:18:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"Remove redundant log line\n\nOn successful service call there is later a message from\nhandle_process_common anyway.","shortMessageHtmlLink":"Remove redundant log line"}},{"before":"a577a0aced252fb55cf2e2064ab4026fefeceefe","after":"6760cfa978e864aae6df938b518f8ff6d05caa1c","ref":"refs/heads/devel20240528","pushedAt":"2024-05-28T16:11:05.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"Make stderr line-buffered for logging\n\nqrexec_logv uses several separate fprintf() calls for a single message.\nSince stderr is unbuffered by default, this sometimes leads to\nsplitting one log message with another. Avoid the issue by turning\nstderr into line-buffered mode.\nDocumentation for setlinebuf() (or more precisely - for underlying\nsetvbuf()) says it can be called only after opening the stream but\nbefore any other operation. Since setup_logging() is called as the first\nthing in main(), it should be okay.","shortMessageHtmlLink":"Make stderr line-buffered for logging"}},{"before":"492bf7ae37187fd2f2b46d3d1647afa0851aa084","after":"a577a0aced252fb55cf2e2064ab4026fefeceefe","ref":"refs/heads/devel20240528","pushedAt":"2024-05-28T13:34:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"Make stderr line-buffered for logging\n\nqrexec_logv uses several separate fprintf() calls for a single message.\nSince stderr is unbuffered by default, this sometimes leads to\nsplitting one log message with another. Avoid the issue by turning\nstderr into line-buffered mode.\nDocumentation for setlinebuf() (or more precisely - for underlying\nsetvbuf()) says it can be called only after opening the stream but\nbefore any other operation. Since setup_logging() is called as the first\nthing in main(), it should be okay.","shortMessageHtmlLink":"Make stderr line-buffered for logging"}},{"before":null,"after":"492bf7ae37187fd2f2b46d3d1647afa0851aa084","ref":"refs/heads/devel20240528","pushedAt":"2024-05-28T01:12:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"Make stderr line-buffered for logging\n\nqrexec_logv uses several separate fprintf() calls for a single message.\nSince stderr is unbuffered by default, this sometimes leads to\nsplitting one log message with another. Avoid the issue by turning\nstderr into line-buffered mode.\nDocumentation for setlinebuf() (or more precisely - for underlying\nsetvbuf()) says it can be called only after opening the stream but\nbefore any other operation. Since setup_logging() is called as the first\nthing in main(), it should be okay.","shortMessageHtmlLink":"Make stderr line-buffered for logging"}},{"before":null,"after":"0d5efaa15ce4844e055450fcc693fd811d7c9ef3","ref":"refs/heads/doc-fixes","pushedAt":"2024-05-28T00:54:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"doc: fix class names in API docs","shortMessageHtmlLink":"doc: fix class names in API docs"}},{"before":null,"after":"110f84025d83ac1a4a3c2b50bbd9ea2f820450da","ref":"refs/heads/devel20240503","pushedAt":"2024-05-17T03:05:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"Mute pylint false positive\n\nThe case where process_id and domain_id are not set do result in earlier\nreturn (due to no_exec=True).","shortMessageHtmlLink":"Mute pylint false positive"}},{"before":null,"after":"adbf4a28a87b295e172a9aaf6d6bbe7a56cdc259","ref":"refs/heads/cflags","pushedAt":"2024-05-01T23:27:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"Fix build error on redefined _FORTIFY_SOURCE\n\nLeave it for the package builder to define, according to the policy of\nspecific distribution. And also, do not fight with provided environment,\ntry to play along instead - drop \"override\" and custom variables. This\nalso avoids including $(CFLAGS) twice. This rollback some of the changes\nin b883dcb \"Makefile improvements\"\n\nhttps://github.com/QubesOS/qubes-builder-archlinux/pull/73#issuecomment-2089227995","shortMessageHtmlLink":"Fix build error on redefined _FORTIFY_SOURCE"}},{"before":null,"after":"6d37768efc6f35047bb6e680316288a2be8b2406","ref":"refs/heads/bug9185","pushedAt":"2024-05-01T12:37:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"Restore correct log path\n\nSave the log file in /var/log/qubes, instead of /run/qubes/ (or other\nchosen socket directory).\nThis partially reverts 2901f00 \"Make all paths relative to socket directory\"\n\nFixes: 2901f00 \"Make all paths relative to socket directory\"\nFixes QubesOS/qubes-issues#9185","shortMessageHtmlLink":"Restore correct log path"}},{"before":"22ed511590ae777d1d18478411fd53e482b9bdad","after":"8aeddf096e376b09ac9d40a3184992a6d0b186dc","ref":"refs/heads/pr137-pr151","pushedAt":"2024-04-30T03:22:36.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"Merge remote-tracking branch 'origin/pr/151' into pr137-pr151\n\n* origin/pr/151:\n Ensure that EOF is propagated to stdout\n Document the file descriptrs for struct process_io_request\n Prefer close() to shutdown()\n do_fork_exec(): Drop status pipe\n Use close_range() instead of close loop\n fix_fds(): check that input FDs are okay","shortMessageHtmlLink":"Merge remote-tracking branch 'origin/pr/151' into pr137-pr151"}},{"before":"835ea759b56b18acbc51fdf2e888a4ef0d87d502","after":"9cc158071ad3601ee2ea78139deb7ca598041154","ref":"refs/heads/master-staging","pushedAt":"2024-04-30T03:22:26.000Z","pushType":"push","commitsCount":76,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"Update fuzzer wrapper\n\nhandle_remote_data() got extra parameter.","shortMessageHtmlLink":"Update fuzzer wrapper"}},{"before":null,"after":"22ed511590ae777d1d18478411fd53e482b9bdad","ref":"refs/heads/pr137-pr151","pushedAt":"2024-04-29T08:55:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"Merge remote-tracking branch 'origin/pr/151' into pr137-pr151\n\n* origin/pr/151:\n Use close_range() instead of close loop\n Ensure that EOF is propagated to stdout\n Document the file descriptrs for struct process_io_request\n Prefer close() to shutdown()\n Fix file descriptor leak","shortMessageHtmlLink":"Merge remote-tracking branch 'origin/pr/151' into pr137-pr151"}},{"before":"9df1550d72d8f6038ef379789afd523ab940278a","after":"cd63c7d31759fd9691dd181df4ecffe3215dfd1e","ref":"refs/heads/graph-fixes","pushedAt":"2023-11-12T03:14:41.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"qrexec-policy-graph: make output order deterministic","shortMessageHtmlLink":"qrexec-policy-graph: make output order deterministic"}},{"before":"042e885693974ee6b09087f1ee05bf039b94ae8d","after":"9df1550d72d8f6038ef379789afd523ab940278a","ref":"refs/heads/graph-fixes","pushedAt":"2023-11-12T02:18:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"qrexec-policy-graph: make output order deterministic","shortMessageHtmlLink":"qrexec-policy-graph: make output order deterministic"}},{"before":"7e01677290b9dec579c68fa5a6d03ef803b99e97","after":"042e885693974ee6b09087f1ee05bf039b94ae8d","ref":"refs/heads/graph-fixes","pushedAt":"2023-11-12T01:58:36.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"qrexec-policy-graph: add specific argument on the graph with --full-output\n\nWhen --full-output is given, include also which specific arguments are\nallowed, not only whether any service argument is allowed.\n\nReported by: Ben Grande \nQubesOS/qubes-issues#8648","shortMessageHtmlLink":"qrexec-policy-graph: add specific argument on the graph with --full-o…"}},{"before":"04967922793cce79235826d0339ea4598165ce85","after":"7e01677290b9dec579c68fa5a6d03ef803b99e97","ref":"refs/heads/graph-fixes","pushedAt":"2023-11-12T01:44:58.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"qrexec-policy-graph: add specific argument on the graph with --full-output\n\nWhen --full-output is given, include also which specific arguments are\nallowed, not only whether any service argument is allowed.\n\nReported by: Ben Grande \nQubesOS/qubes-issues#8648","shortMessageHtmlLink":"qrexec-policy-graph: add specific argument on the graph with --full-o…"}},{"before":"4002cf9172b749f3085d04ad190e087aee6deda7","after":"04967922793cce79235826d0339ea4598165ce85","ref":"refs/heads/graph-fixes","pushedAt":"2023-11-12T01:29:20.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"qrexec-policy-graph: add basic tests\n\nQubesOS/qubes-issues#8648","shortMessageHtmlLink":"qrexec-policy-graph: add basic tests"}},{"before":"9a9abdc31366c21014621836044c298025593412","after":"45e7a589da01e9b210dbc1877062b8b466e2b7c6","ref":"refs/heads/opensuse","pushedAt":"2023-11-05T01:05:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"rpm: add missing directory ownership\n\nQubesOS/qubes-issues#6567","shortMessageHtmlLink":"rpm: add missing directory ownership"}},{"before":"b42d492caa6fbf2df6d22d217c916e2d2ad6f91d","after":"9a9abdc31366c21014621836044c298025593412","ref":"refs/heads/opensuse","pushedAt":"2023-11-04T23:56:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"rpm: adjust pyinotify pkg name for openSUSE\n\nQubesOS/qubes-issues#6567","shortMessageHtmlLink":"rpm: adjust pyinotify pkg name for openSUSE"}},{"before":"75aa4014763eb8fbadac902591d24675fe8854cf","after":"b42d492caa6fbf2df6d22d217c916e2d2ad6f91d","ref":"refs/heads/opensuse","pushedAt":"2023-11-04T23:29:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"rpm: own /etc/qubes/rpc-config dir too\n\nQubesOS/qubes-issues#6567","shortMessageHtmlLink":"rpm: own /etc/qubes/rpc-config dir too"}},{"before":"7b503d9321137a2d284f46eadfe5bc08e8e7bdc0","after":"75aa4014763eb8fbadac902591d24675fe8854cf","ref":"refs/heads/opensuse","pushedAt":"2023-11-04T14:56:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"rpm: do not fail the build on symlinks to /var/run\n\n/qubes-rpc/policy.{Ask,Notify} intentionally points to files created at\nruntime (in /var/run). openSUSE build fails on such links by default, so\ndisable this check.\n\nQubesOS/qubes-issues#6567","shortMessageHtmlLink":"rpm: do not fail the build on symlinks to /var/run"}},{"before":"bb3cf94bd918336bbe964581539a122781cc140a","after":"7b503d9321137a2d284f46eadfe5bc08e8e7bdc0","ref":"refs/heads/opensuse","pushedAt":"2023-11-04T14:39:32.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"rpm: move libqrexec-utils.so to -devel subpackage","shortMessageHtmlLink":"rpm: move libqrexec-utils.so to -devel subpackage"}},{"before":"29557bcfd8895ce49ae0e316f8949d6dfbf63366","after":"bb3cf94bd918336bbe964581539a122781cc140a","ref":"refs/heads/opensuse","pushedAt":"2023-11-04T14:25:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"rpm: move libqrexec-utils.so to -devel subpackage","shortMessageHtmlLink":"rpm: move libqrexec-utils.so to -devel subpackage"}},{"before":"9657e63ad71ac612949a6e1e3fe5d88841e9cdd4","after":"29557bcfd8895ce49ae0e316f8949d6dfbf63366","ref":"refs/heads/opensuse","pushedAt":"2023-11-02T20:07:28.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"rpm: move libqrexec-utils.so to -devel subpackage","shortMessageHtmlLink":"rpm: move libqrexec-utils.so to -devel subpackage"}},{"before":null,"after":"9657e63ad71ac612949a6e1e3fe5d88841e9cdd4","ref":"refs/heads/opensuse","pushedAt":"2023-11-02T20:02:59.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"rpm: move libqrexec-utils.so to -devel subpackage","shortMessageHtmlLink":"rpm: move libqrexec-utils.so to -devel subpackage"}},{"before":"fa7bd76d2385190f78a061ea704288c4663aaae4","after":"4002cf9172b749f3085d04ad190e087aee6deda7","ref":"refs/heads/graph-fixes","pushedAt":"2023-10-24T14:42:26.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"qrexec-policy-graph: validate source/target arguments\n\nFor example --target=@default doesn't make sense.\n\nReported by: Ben Grande ","shortMessageHtmlLink":"qrexec-policy-graph: validate source/target arguments"}},{"before":"fc68b987a837045e69df0a82a51cb8b3fbf8bfa7","after":"fa7bd76d2385190f78a061ea704288c4663aaae4","ref":"refs/heads/graph-fixes","pushedAt":"2023-10-24T14:32:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"qrexec-policy-graph: validate source/target arguments\n\nFor example --target=@default doesn't make sense.\n\nReported by: Ben Grande ","shortMessageHtmlLink":"qrexec-policy-graph: validate source/target arguments"}},{"before":null,"after":"fc68b987a837045e69df0a82a51cb8b3fbf8bfa7","ref":"refs/heads/graph-fixes","pushedAt":"2023-10-24T13:58:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"qrexec-policy-graph: validate source/target arguments\n\nFor example --target=@default doesn't make sense.\n\nReported by: Ben Grande ","shortMessageHtmlLink":"qrexec-policy-graph: validate source/target arguments"}},{"before":"2f6ff360c68c56d04c76ad971a6766d73e98d380","after":"8cf1a6b1f90032ab408847eef400aa51a86b1a16","ref":"refs/heads/connect-timeout","pushedAt":"2023-09-02T09:05:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"Add connection timeout on the VM side too\n\nIf remote VM fails to establish (already allowed by the policy)\nconnection, the local side (qrexec-client-vm) will wait indefinitely.\nSimilarly, if the calling side (qrexec-client-vm) do not finish\nconnection setup (gets killed early? or maybe the whole VM goes down?),\nthere will be a process waiting on the remote side (either\nqrexec-fork-server child, or qrexec-agent child).\n\nSolve this issue by adding connection timeout similar to what\nqrexec-client (in dom0) does. Since both libvchan_server_init() and\nlibvchan_client_init() are involved, add new function that can handle\nboth.\n\nThis code is shared between qrexec-client-vm and qrexec-fork-server, so\nboth are covered.\n\nThe default timeout in dom0's qrexec-client is 5s, but here make it much\nlonger (at least until made configurable) to reduce risk breaking some\ncorner cases (like slow DispVM start).\n\nFixes QubesOS/qubes-issues#8476","shortMessageHtmlLink":"Add connection timeout on the VM side too"}},{"before":null,"after":"2f6ff360c68c56d04c76ad971a6766d73e98d380","ref":"refs/heads/connect-timeout","pushedAt":"2023-09-02T01:52:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"Add connection timeout on the VM side too\n\nIf remote VM fails to establish (already allowed by the policy)\nconnection, the local side (qrexec-client-vm) will wait indefinitely.\nSimilarly, if the calling side (qrexec-client-vm) do not finish\nconnection setup (gets killed early? or maybe the whole VM goes down?),\nthere will be a process waiting on the remote side (either\nqrexec-fork-server child, or qrexec-agent child).\n\nSolve this issue by adding connection timeout similar to what\nqrexec-client (in dom0) does. Since both libvchan_server_init() and\nlibvchan_client_init() are involved, add new function that can handle\nboth.\n\nThis code is shared between qrexec-client-vm and qrexec-fork-server, so\nboth are covered.\n\nFixes QubesOS/qubes-issues#8476","shortMessageHtmlLink":"Add connection timeout on the VM side too"}},{"before":null,"after":"4da532d49664f352b95191c22ebf2746b02d4d6c","ref":"refs/heads/lint","pushedAt":"2023-08-20T02:11:57.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"marmarek","name":"Marek Marczykowski-Górecki","path":"/marmarek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/726704?s=80&v=4"},"commit":{"message":"Add new tools to packaging\n\n- qubes-policy-lint\n- qubes-policy-editor-cli","shortMessageHtmlLink":"Add new tools to packaging"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEVkt83AA","startCursor":null,"endCursor":null}},"title":"Activity · marmarek/qubes-core-qrexec"}