]> git.ipfire.org Git - pakfire.git/log
pakfire.git
10 months agoutil: Rename JSON function to add integers to int64
Michael Tremer [Sun, 15 Sep 2024 04:12:44 +0000 (04:12 +0000)] 
util: Rename JSON function to add integers to int64

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agoutil: Add new helper function to add double values to JSON objects
Michael Tremer [Sun, 15 Sep 2024 04:12:09 +0000 (04:12 +0000)] 
util: Add new helper function to add double values to JSON objects

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agoutil: Don't require a reference to pakfire for the JSON functions
Michael Tremer [Sun, 15 Sep 2024 04:03:50 +0000 (04:03 +0000)] 
util: Don't require a reference to pakfire for the JSON functions

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months ago_pakfire: buildservice: Remove submit_stats()
Michael Tremer [Sun, 15 Sep 2024 03:40:57 +0000 (03:40 +0000)] 
_pakfire: buildservice: Remove submit_stats()

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agodaemon: Keep the stats timer running continuously
Michael Tremer [Sun, 15 Sep 2024 03:40:34 +0000 (03:40 +0000)] 
daemon: Keep the stats timer running continuously

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agodaemon: Send dummy stats using the event loop
Michael Tremer [Sun, 15 Sep 2024 03:37:33 +0000 (03:37 +0000)] 
daemon: Send dummy stats using the event loop

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agoxfer: Implement sending a WebSocket message
Michael Tremer [Sun, 15 Sep 2024 03:36:58 +0000 (03:36 +0000)] 
xfer: Implement sending a WebSocket message

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agobuildservice: Remove the event loop
Michael Tremer [Sun, 15 Sep 2024 03:20:47 +0000 (03:20 +0000)] 
buildservice: Remove the event loop

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agodaemon: Remove the buildservice
Michael Tremer [Sun, 15 Sep 2024 03:15:34 +0000 (03:15 +0000)] 
daemon: Remove the buildservice

It is becoming too complicated to make the buildservice event-driven
when it does not need to be. It can live as a single request abstraction
model.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agobuildservice: Remove holding the base URL
Michael Tremer [Sun, 15 Sep 2024 02:54:01 +0000 (02:54 +0000)] 
buildservice: Remove holding the base URL

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agohttpclient: Set the base URL for new xfers
Michael Tremer [Sun, 15 Sep 2024 02:53:19 +0000 (02:53 +0000)] 
httpclient: Set the base URL for new xfers

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agohttpclient: Add option to set a base URL
Michael Tremer [Sun, 15 Sep 2024 02:52:53 +0000 (02:52 +0000)] 
httpclient: Add option to set a base URL

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agodaemon: Submit stats regularly
Michael Tremer [Sun, 15 Sep 2024 02:37:17 +0000 (02:37 +0000)] 
daemon: Submit stats regularly

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agobuildservice: Tidy up creating the daemon control connection
Michael Tremer [Sun, 15 Sep 2024 02:36:36 +0000 (02:36 +0000)] 
buildservice: Tidy up creating the daemon control connection

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
10 months agobuildservice: Enable authentication when uploading the payload
Michael Tremer [Sun, 15 Sep 2024 02:16:01 +0000 (02:16 +0000)] 
buildservice: Enable authentication when uploading the payload

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
12 months agodaemon: Register any workers
Michael Tremer [Tue, 13 Aug 2024 19:36:31 +0000 (19:36 +0000)] 
daemon: Register any workers

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
12 months agodaemon: Split stuff into a new worker thing
Michael Tremer [Tue, 13 Aug 2024 19:29:55 +0000 (19:29 +0000)] 
daemon: Split stuff into a new worker thing

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
12 months agoxfer: Ignore CURLE_AGAIN
Michael Tremer [Tue, 13 Aug 2024 19:11:03 +0000 (19:11 +0000)] 
xfer: Ignore CURLE_AGAIN

This is happening when the server is sending a ping over WebSocket which
triggers the socket, but there is no data for us to deal with as it has
already been handled by cURL.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
12 months agoxfer: Fail if the connection was unexpectedly closed
Michael Tremer [Tue, 13 Aug 2024 18:54:15 +0000 (18:54 +0000)] 
xfer: Fail if the connection was unexpectedly closed

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
12 months agoxfer: Free the allocated buffer
Michael Tremer [Tue, 13 Aug 2024 18:53:56 +0000 (18:53 +0000)] 
xfer: Free the allocated buffer

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
12 months agodaemon: Parse the received job
Michael Tremer [Tue, 13 Aug 2024 18:47:55 +0000 (18:47 +0000)] 
daemon: Parse the received job

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
12 months agodaemon: Automatically try to reconnect when the connection gets lost
Michael Tremer [Tue, 13 Aug 2024 18:04:29 +0000 (18:04 +0000)] 
daemon: Automatically try to reconnect when the connection gets lost

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
12 months agoxfer: Refactor handling any transfer problems and call the close callback
Michael Tremer [Tue, 13 Aug 2024 17:32:26 +0000 (17:32 +0000)] 
xfer: Refactor handling any transfer problems and call the close callback

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
12 months agobuildservice: Move daemon stuff to the daemon
Michael Tremer [Tue, 13 Aug 2024 17:18:05 +0000 (17:18 +0000)] 
buildservice: Move daemon stuff to the daemon

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
12 months agohttpclient: Implement basic WebSocket communication
Michael Tremer [Tue, 13 Aug 2024 16:54:58 +0000 (16:54 +0000)] 
httpclient: Implement basic WebSocket communication

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
12 months agoxfer: Send authentication headers straight away when asked to
Michael Tremer [Mon, 12 Aug 2024 17:23:14 +0000 (17:23 +0000)] 
xfer: Send authentication headers straight away when asked to

We don't need to check whether the server does not require
authentication first.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
12 months agobuildservice: Allow passing the event loop to the HTTP client
Michael Tremer [Mon, 12 Aug 2024 15:02:01 +0000 (15:02 +0000)] 
buildservice: Allow passing the event loop to the HTTP client

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
12 months agohttpclient: Remove queueing our own transfers
Michael Tremer [Mon, 12 Aug 2024 14:23:31 +0000 (14:23 +0000)] 
httpclient: Remove queueing our own transfers

We now throw everything into cURL and let it handle all of that...

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
12 months agohttpclient: Tell cURL how many transfers we want to run in parallel
Michael Tremer [Mon, 12 Aug 2024 14:10:40 +0000 (14:10 +0000)] 
httpclient: Tell cURL how many transfers we want to run in parallel

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
12 months agohttpclient: Register the progress with the client
Michael Tremer [Mon, 12 Aug 2024 10:48:44 +0000 (10:48 +0000)] 
httpclient: Register the progress with the client

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
12 months agohttpclient: Implement parallel transfers with sd-events
Michael Tremer [Sat, 10 Aug 2024 17:33:41 +0000 (17:33 +0000)] 
httpclient: Implement parallel transfers with sd-events

This patch will create a new event loop for each HTTP client which will
be used to connect to cURL.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
12 months agodaemon: Use the systemd event loop instead of epoll
Michael Tremer [Sat, 10 Aug 2024 12:28:39 +0000 (12:28 +0000)] 
daemon: Use the systemd event loop instead of epoll

This will allow us more flexiblity and already implements a lot of
features.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
12 months agoMakefile: Build the C daemon again
Michael Tremer [Sat, 10 Aug 2024 12:27:25 +0000 (12:27 +0000)] 
Makefile: Build the C daemon again

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
12 months agodaemon: Fix typo
Michael Tremer [Sat, 10 Aug 2024 12:27:01 +0000 (12:27 +0000)] 
daemon: Fix typo

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
12 months agomount: Remove the excessive parameter passing
Michael Tremer [Sat, 10 Aug 2024 12:12:20 +0000 (12:12 +0000)] 
mount: Remove the excessive parameter passing

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
12 months agodeps: Revert all the braindead logging changes
Michael Tremer [Sat, 10 Aug 2024 12:00:41 +0000 (12:00 +0000)] 
deps: Revert all the braindead logging changes

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
12 months agologging: Add convenience functions to call the logger without having a context
Michael Tremer [Sat, 10 Aug 2024 11:40:22 +0000 (11:40 +0000)] 
logging: Add convenience functions to call the logger without having a context

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
12 months agomount: Loop devices are actually block devices
Michael Tremer [Sat, 10 Aug 2024 11:30:53 +0000 (11:30 +0000)] 
mount: Loop devices are actually block devices

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agologging: Remove *_ERRNO logging
Michael Tremer [Tue, 30 Jan 2024 19:02:37 +0000 (19:02 +0000)] 
logging: Remove *_ERRNO logging

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agopwd: Remove legacy logger
Michael Tremer [Tue, 30 Jan 2024 18:45:16 +0000 (18:45 +0000)] 
pwd: Remove legacy logger

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agocompress: Remove legacy logger
Michael Tremer [Mon, 29 Jan 2024 18:12:14 +0000 (18:12 +0000)] 
compress: Remove legacy logger

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agomount: Remove the legacy logger
Michael Tremer [Mon, 29 Jan 2024 18:02:54 +0000 (18:02 +0000)] 
mount: Remove the legacy logger

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agofile: Remove the legacy logger
Michael Tremer [Mon, 29 Jan 2024 17:50:22 +0000 (17:50 +0000)] 
file: Remove the legacy logger

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agodependencies: Drop the legacy logger
Michael Tremer [Mon, 29 Jan 2024 17:46:09 +0000 (17:46 +0000)] 
dependencies: Drop the legacy logger

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agoproblem: Store a reference to the context
Michael Tremer [Mon, 29 Jan 2024 17:45:13 +0000 (17:45 +0000)] 
problem: Store a reference to the context

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agoparser: Store a reference to the context
Michael Tremer [Mon, 29 Jan 2024 17:42:33 +0000 (17:42 +0000)] 
parser: Store a reference to the context

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agolibpakfire: db: Replace legacy logger
Michael Tremer [Mon, 29 Jan 2024 17:15:31 +0000 (17:15 +0000)] 
libpakfire: db: Replace legacy logger

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agobuild: Replace (most of) the legacy logger
Michael Tremer [Mon, 29 Jan 2024 17:05:11 +0000 (17:05 +0000)] 
build: Replace (most of) the legacy logger

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agologging: Make the legacy logger configurable
Michael Tremer [Mon, 29 Jan 2024 16:56:47 +0000 (16:56 +0000)] 
logging: Make the legacy logger configurable

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agolibpakfire: Move to new logging in pakfire.c
Michael Tremer [Mon, 29 Jan 2024 16:49:22 +0000 (16:49 +0000)] 
libpakfire: Move to new logging in pakfire.c

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agopython: Make sure we hold the GIL when jumping into the logging callback
Michael Tremer [Mon, 29 Jan 2024 10:54:19 +0000 (10:54 +0000)] 
python: Make sure we hold the GIL when jumping into the logging callback

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agotests: Re-enable jail tests that pass
Michael Tremer [Fri, 26 Jan 2024 18:59:18 +0000 (18:59 +0000)] 
tests: Re-enable jail tests that pass

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agopython: Pakfire.execute(): Fix parsing some arguments
Michael Tremer [Fri, 26 Jan 2024 18:55:14 +0000 (18:55 +0000)] 
python: Pakfire.execute(): Fix parsing some arguments

There have been a couple of problems here when no or invalid values have
been passed.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agotests: Fix path to test configuration file
Michael Tremer [Fri, 26 Jan 2024 18:44:22 +0000 (18:44 +0000)] 
tests: Fix path to test configuration file

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agotests: Test the locally built binaries
Michael Tremer [Fri, 26 Jan 2024 18:38:55 +0000 (18:38 +0000)] 
tests: Test the locally built binaries

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agotests: Dump log onto the console for Python tests
Michael Tremer [Fri, 26 Jan 2024 18:27:42 +0000 (18:27 +0000)] 
tests: Dump log onto the console for Python tests

This is not very elegant, but I don't have a better way to do this now.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agopython: Add tests for the Archive class
Michael Tremer [Fri, 26 Jan 2024 18:11:40 +0000 (18:11 +0000)] 
python: Add tests for the Archive class

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agotests: Add functions to make opening files in the test env easier
Michael Tremer [Thu, 25 Jan 2024 18:20:22 +0000 (18:20 +0000)] 
tests: Add functions to make opening files in the test env easier

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agotests: Add Python tests for context
Michael Tremer [Thu, 25 Jan 2024 16:44:56 +0000 (16:44 +0000)] 
tests: Add Python tests for context

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agopython: ctx: Cleanup code that dereferences the logging function
Michael Tremer [Thu, 25 Jan 2024 16:43:47 +0000 (16:43 +0000)] 
python: ctx: Cleanup code that dereferences the logging function

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agopython: ctx: Setup the default logger
Michael Tremer [Thu, 25 Jan 2024 16:41:11 +0000 (16:41 +0000)] 
python: ctx: Setup the default logger

There was some code that started implementing this, but weirdly it was
never called...

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agotests: Disable all jail tests
Michael Tremer [Thu, 25 Jan 2024 16:08:05 +0000 (16:08 +0000)] 
tests: Disable all jail tests

Those mess up the console.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agotests: Migrate other Python tests to the new framework
Michael Tremer [Thu, 25 Jan 2024 16:04:44 +0000 (16:04 +0000)] 
tests: Migrate other Python tests to the new framework

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agotests: Build a common basis for Python tests
Michael Tremer [Thu, 25 Jan 2024 16:01:09 +0000 (16:01 +0000)] 
tests: Build a common basis for Python tests

This new class has some methods that make it easy for us to set up some
simple Pakfire environments.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agotests: Fix syntax errors in keys tests
Michael Tremer [Thu, 25 Jan 2024 16:00:13 +0000 (16:00 +0000)] 
tests: Fix syntax errors in keys tests

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
18 months agotests: Remove dummy Python test
Michael Tremer [Thu, 25 Jan 2024 15:36:16 +0000 (15:36 +0000)] 
tests: Remove dummy Python test

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agohttpclient: Don't store finished transfers internally
Michael Tremer [Sun, 14 Jan 2024 16:12:56 +0000 (16:12 +0000)] 
httpclient: Don't store finished transfers internally

This caused a recursion in reference counting resulting in the HTTP
client and all finished transfers never being freed.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agotests: Fix cgroup tests building from source
Michael Tremer [Sun, 14 Jan 2024 16:02:03 +0000 (16:02 +0000)] 
tests: Fix cgroup tests building from source

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: Reset all callbacks after execution
Michael Tremer [Sun, 14 Jan 2024 16:01:43 +0000 (16:01 +0000)] 
jail: Reset all callbacks after execution

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: Remove unnecessary pakfire_jail_exec wrapper function
Michael Tremer [Sun, 14 Jan 2024 15:57:09 +0000 (15:57 +0000)] 
jail: Remove unnecessary pakfire_jail_exec wrapper function

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: Remove callbacks from command calls
Michael Tremer [Sun, 14 Jan 2024 15:50:11 +0000 (15:50 +0000)] 
jail: Remove callbacks from command calls

This makes those functions having fewer arguments which should help us
to write cleaner code.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: Replace communication callbacks by setting callbacks
Michael Tremer [Tue, 19 Dec 2023 18:50:45 +0000 (18:50 +0000)] 
jail: Replace communication callbacks by setting callbacks

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: Add functions to set standard input/output callbacks
Michael Tremer [Tue, 19 Dec 2023 18:08:50 +0000 (18:08 +0000)] 
jail: Add functions to set standard input/output callbacks

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: Fix incorrect variable name
Michael Tremer [Tue, 19 Dec 2023 17:40:33 +0000 (17:40 +0000)] 
jail: Fix incorrect variable name

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: Drop extra function to check if buffer is full
Michael Tremer [Tue, 19 Dec 2023 17:34:25 +0000 (17:34 +0000)] 
jail: Drop extra function to check if buffer is full

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: Rename PTY forwarding flags
Michael Tremer [Tue, 19 Dec 2023 17:30:03 +0000 (17:30 +0000)] 
jail: Rename PTY forwarding flags

The term flags is slightly overused and makes things confusing.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: Move struct declarations out of the large struct
Michael Tremer [Tue, 19 Dec 2023 17:27:30 +0000 (17:27 +0000)] 
jail: Move struct declarations out of the large struct

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: Remove unused stdout/stderr buffers
Michael Tremer [Tue, 19 Dec 2023 17:24:19 +0000 (17:24 +0000)] 
jail: Remove unused stdout/stderr buffers

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: Drop custom log callback stuff
Michael Tremer [Tue, 19 Dec 2023 17:22:11 +0000 (17:22 +0000)] 
jail: Drop custom log callback stuff

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agobuild: Drop setting jail callback and use output callback instead
Michael Tremer [Tue, 19 Dec 2023 17:19:23 +0000 (17:19 +0000)] 
build: Drop setting jail callback and use output callback instead

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: Implement sending data into standard input
Michael Tremer [Tue, 19 Dec 2023 17:04:35 +0000 (17:04 +0000)] 
jail: Implement sending data into standard input

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: Keep reading from/writing to PTY for as long as there is work to do
Michael Tremer [Tue, 19 Dec 2023 16:33:00 +0000 (16:33 +0000)] 
jail: Keep reading from/writing to PTY for as long as there is work to do

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: Forward function names of child processes
Michael Tremer [Tue, 19 Dec 2023 14:50:53 +0000 (14:50 +0000)] 
jail: Forward function names of child processes

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: Remove duplicate logging function
Michael Tremer [Tue, 19 Dec 2023 14:25:54 +0000 (14:25 +0000)] 
jail: Remove duplicate logging function

There were two functions essentially doing the same, so one can go.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: Honour the buffer length when forwarding log messages
Michael Tremer [Tue, 19 Dec 2023 13:43:49 +0000 (13:43 +0000)] 
jail: Honour the buffer length when forwarding log messages

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: PTY forwarding: Call the output callback if available
Michael Tremer [Tue, 19 Dec 2023 13:10:02 +0000 (13:10 +0000)] 
jail: PTY forwarding: Call the output callback if available

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: Only connect the current terminal if requested
Michael Tremer [Tue, 19 Dec 2023 12:52:13 +0000 (12:52 +0000)] 
jail: Only connect the current terminal if requested

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: Do not try to attempt any TTY operations if we don't have a TTY
Michael Tremer [Tue, 19 Dec 2023 12:45:46 +0000 (12:45 +0000)] 
jail: Do not try to attempt any TTY operations if we don't have a TTY

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: Refactor how to drain logging buffers with callbacks
Michael Tremer [Tue, 19 Dec 2023 12:37:45 +0000 (12:37 +0000)] 
jail: Refactor how to drain logging buffers with callbacks

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: Make PTY forwarding a flag and remove interactive bool
Michael Tremer [Tue, 19 Dec 2023 12:00:30 +0000 (12:00 +0000)] 
jail: Make PTY forwarding a flag and remove interactive bool

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: Use the "fill buffer" function for logging, too
Michael Tremer [Sat, 16 Dec 2023 13:24:45 +0000 (13:24 +0000)] 
jail: Use the "fill buffer" function for logging, too

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: Align processing of file descriptors in the event loop
Michael Tremer [Sat, 16 Dec 2023 13:19:54 +0000 (13:19 +0000)] 
jail: Align processing of file descriptors in the event loop

This is slightly easier to read than checking the event type first and
then handle the rest.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: Implement PTY forwarding
Michael Tremer [Sat, 16 Dec 2023 13:07:50 +0000 (13:07 +0000)] 
jail: Implement PTY forwarding

This replaces the previous pipe forwarding with a new controlling PTY
that is set up for each jail.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: Only try to restore file descriptors if they are still open
Michael Tremer [Sat, 16 Dec 2023 13:07:00 +0000 (13:07 +0000)] 
jail: Only try to restore file descriptors if they are still open

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: Fix setting raw mode only on the correct side
Michael Tremer [Sat, 16 Dec 2023 13:06:20 +0000 (13:06 +0000)] 
jail: Fix setting raw mode only on the correct side

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agojail: Store flags of stdin/stdout
Michael Tremer [Sat, 16 Dec 2023 13:05:08 +0000 (13:05 +0000)] 
jail: Store flags of stdin/stdout

We will need to restore them after we are finish the PTY forwarding.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agomount: No longer create /dev/console in the jail
Michael Tremer [Sat, 16 Dec 2023 11:55:44 +0000 (11:55 +0000)] 
mount: No longer create /dev/console in the jail

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
19 months agoutil: Fix creating symlinks
Michael Tremer [Sat, 16 Dec 2023 11:53:47 +0000 (11:53 +0000)] 
util: Fix creating symlinks

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
20 months agojail: Setup PTY in the master process and add it to the event loop
Michael Tremer [Fri, 8 Dec 2023 17:22:43 +0000 (17:22 +0000)] 
jail: Setup PTY in the master process and add it to the event loop

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
20 months agojail: Create a better struct to hold all PTY related stuff
Michael Tremer [Fri, 8 Dec 2023 16:45:39 +0000 (16:45 +0000)] 
jail: Create a better struct to hold all PTY related stuff

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>