]> source.dussan.org Git - tigervnc.git/log
tigervnc.git
3 months agoAvoid using excessive namespaces
Pierre Ossman [Tue, 13 Aug 2024 13:36:10 +0000 (15:36 +0200)]
Avoid using excessive namespaces

Try to be more clear about what things are external to the current
context, and what aren't.

3 months agoAvoid connection failed exception
Pierre Ossman [Tue, 13 Aug 2024 13:31:05 +0000 (15:31 +0200)]
Avoid connection failed exception

The usage of this is unclear as it is never caught. Use the general
exception class, to stay consistent with all other protocol handling.

3 months agoFix typos 1807/head
Andrew Kreimer [Mon, 12 Aug 2024 16:59:40 +0000 (19:59 +0300)]
Fix typos

3 months agoDon't adjust manually sized window
Pierre Ossman [Tue, 3 Jan 2023 10:02:36 +0000 (11:02 +0100)]
Don't adjust manually sized window

It's unclear why this code was ever added, and it can be very confusing
that the window partially adjusts itself. The code is also in conflict
with the earlier comment that states we'll leave the window size alone
if it didn't perfectly match before the resize.

3 months agoRemove unused setPixelFormat() callback
Pierre Ossman [Thu, 28 Dec 2023 12:40:09 +0000 (13:40 +0100)]
Remove unused setPixelFormat() callback

This was made obsolete in dd45b44 when we extended the serverInit()
callback.

3 months agoRemove fake framebuffer update request call
Pierre Ossman [Thu, 28 Dec 2023 08:33:07 +0000 (09:33 +0100)]
Remove fake framebuffer update request call

This method should only be called when the client actually sends a
framebuffer update request, otherwise we might send data the client is
not ready for.

It's unclear what the purpose of this call is, so we have no better fix
than to just remove it.

3 months agoUpdate processMsg() description
Pierre Ossman [Wed, 27 Dec 2023 15:32:36 +0000 (16:32 +0100)]
Update processMsg() description

This method is no longer blocking, so the description needed to be
adjusted.

3 months agoInclude key code for fake key events
Pierre Ossman [Sat, 25 Feb 2023 14:32:24 +0000 (15:32 +0100)]
Include key code for fake key events

Let's try to mimic a real event as much as possible to avoid bugs.

3 months agoBetter type for pointer button mask
Pierre Ossman [Sat, 25 Feb 2023 14:16:18 +0000 (15:16 +0100)]
Better type for pointer button mask

This is a very limited bit field, so use an 8 bit type to clearly show
how many bits are available.

3 months agoRemove InputHandler interface
Pierre Ossman [Mon, 30 Jan 2023 06:51:51 +0000 (07:51 +0100)]
Remove InputHandler interface

The different uses of this interface are not that closely related and
there is no need for them to have a common interface class.

3 months agoRemove ScaleFilters
Pierre Ossman [Tue, 3 Jan 2023 10:02:01 +0000 (11:02 +0100)]
Remove ScaleFilters

This has been unused since 9fe3479.

3 months agoRemove IdentityVerifier forward declaration
Pierre Ossman [Mon, 30 Jan 2023 09:50:32 +0000 (10:50 +0100)]
Remove IdentityVerifier forward declaration

This class has been removed since ages.

3 months agoDon't parse empty fence messages
Pierre Ossman [Thu, 23 Feb 2023 06:19:09 +0000 (07:19 +0100)]
Don't parse empty fence messages

We need to return here or we'll do an out-of-bounds access on the data
array.

3 months agoDon't ask for login data when reconnecting
Johannes [Sat, 24 Jul 2021 14:02:29 +0000 (16:02 +0200)]
Don't ask for login data when reconnecting

3 months agoBetter error message for authentication failure
Pierre Ossman [Wed, 7 Aug 2024 09:05:47 +0000 (11:05 +0200)]
Better error message for authentication failure

3 months agoDon't abuse auth failure exception
Pierre Ossman [Wed, 7 Aug 2024 08:35:51 +0000 (10:35 +0200)]
Don't abuse auth failure exception

This exception is for when the user fails to authenticate, not all
possible errors that might occur during the authentication phase.

Use more appropriate exception types for the various other problems that
might occur, so that we can present things more accurately to the user.

3 months agoRemove auth exception prefix
Pierre Ossman [Wed, 7 Aug 2024 08:08:43 +0000 (10:08 +0200)]
Remove auth exception prefix

This prefix often just added noise, and could sometimes be added
multiple times. It's better that user interface catch the specific
exception type and give a more descriptive presentation to the user.

This is partially a revert of 1922550.

3 months agoCorrectly handle cancelled authentication
Pierre Ossman [Wed, 7 Aug 2024 07:49:22 +0000 (09:49 +0200)]
Correctly handle cancelled authentication

We should not be throwing up error messages, or asking to reconnect, if
the user has actively cancelled the authentication attempt.

3 months agoImprove x0vncserver key allocation log line
Pierre Ossman [Tue, 6 Aug 2024 12:55:37 +0000 (14:55 +0200)]
Improve x0vncserver key allocation log line

Follow the standard XK_ prefix, and also include the hex value for
easier debugging.

3 months agoAvoid XKeysymToString() conflict with libX11
Pierre Ossman [Tue, 6 Aug 2024 12:53:30 +0000 (14:53 +0200)]
Avoid XKeysymToString() conflict with libX11

We implement our own version of this, and because of this we carry our
lookup table generated by the same tool that libX11 uses. Unfortunately,
that table is a global symbol and as such there might be a mismatch of
which table should be used.

Make sure we get our own copy by changing the name of it. We use a
define rather than modifying ks_tables.h as that file is automatically
generated.

3 months agoMerge branch 'fix-unknown-keysym' of https://github.com/gujjwal00/tigervnc
Pierre Ossman [Tue, 6 Aug 2024 12:17:40 +0000 (14:17 +0200)]
Merge branch 'fix-unknown-keysym' of https://github.com/gujjwal00/tigervnc

3 months agoMerge branch 'min' of https://github.com/KangLin/tigervnc
Pierre Ossman [Tue, 6 Aug 2024 11:22:30 +0000 (13:22 +0200)]
Merge branch 'min' of https://github.com/KangLin/tigervnc

3 months agoAdd missing comma in default security type list
Pierre Ossman [Mon, 29 Jul 2024 14:16:08 +0000 (16:16 +0200)]
Add missing comma in default security type list

Otherwise it merges with the next entry, removing both of them from the
default list.

3 months agovncsession: use /bin/sh if the user shell is not set 1787/head
Carlos Santos [Thu, 25 Jul 2024 21:39:59 +0000 (18:39 -0300)]
vncsession: use /bin/sh if the user shell is not set

An empty shell field in the password file is valid, although not common.
Use /bin/sh in this case, as documented in the passwd(5) man page, since
the vncserver script requires a non-empty SHELL environment variable.

Fixes issue #1786.

Signed-off-by: Carlos Santos <casantos@redhat.com>
3 months agoUse std::min replace min 1783/head
Kang Lin [Thu, 25 Jul 2024 03:32:48 +0000 (11:32 +0800)]
Use std::min replace min

4 months agoMerge branch 'h264-fix-context-reset' of https://github.com/any1/tigervnc
Pierre Ossman [Wed, 24 Jul 2024 11:47:58 +0000 (13:47 +0200)]
Merge branch 'h264-fix-context-reset' of https://github.com/any1/tigervnc

4 months agoGenerate better (fake) modelines
Pierre Ossman [Tue, 23 Jul 2024 14:06:14 +0000 (16:06 +0200)]
Generate better (fake) modelines

This is what Xwayland does, so let's try to do the same to avoid any
incompatibilites with applications.

4 months agoH264Decoder: Fix context reset 1784/head
Andri Yngvason [Mon, 22 Jul 2024 22:34:12 +0000 (22:34 +0000)]
H264Decoder: Fix context reset

This fixes a regression introduced by
12b3f4021641537b90727b23d42de5dff59006cd.

4 months agoFix overflow; "Timer: gettimeofday is broken"
Pierre Ossman [Fri, 19 Jul 2024 15:37:04 +0000 (17:37 +0200)]
Fix overflow; "Timer: gettimeofday is broken"

The rounding misbehaved when the tv_usec calculation overflows.

Fixes issue #1782.

4 months agoBe more careful with ComparingUpdateTracker pointer
Pierre Ossman [Fri, 5 Jul 2024 12:05:45 +0000 (14:05 +0200)]
Be more careful with ComparingUpdateTracker pointer

As of 28c3f12, we might now be running the frame clock even without a
framebuffer present. This means we need to be more careful accessing the
ComparingUpdateTracker, as it might be NULL.

4 months agoRound up expiration time for timers
Pierre Ossman [Fri, 5 Jul 2024 11:48:14 +0000 (13:48 +0200)]
Round up expiration time for timers

Otherwise we won't properly guarantee that we'll wait *at least* as long
as the specified time.

4 months agoFix x0vncserver handling of timers
Pierre Ossman [Fri, 5 Jul 2024 11:24:52 +0000 (13:24 +0200)]
Fix x0vncserver handling of timers

Bug fix for bf28683.

4 months agoImprove unknown keysym handling 1734/head
Gaurav Ujjwal [Mon, 8 Apr 2024 11:18:11 +0000 (16:48 +0530)]
Improve unknown keysym handling

Instead of giving up after all free keycodes have been used, Keycodes from previously added keysyms will be reused.

Re: #93

4 months agoUpdate Slovak translation
Marián Haburaj [Tue, 25 Jun 2024 09:04:00 +0000 (11:04 +0200)]
Update Slovak translation

4 months agoMerge branch 'c++11' of github.com:CendioOssman/tigervnc
Pierre Ossman [Mon, 24 Jun 2024 12:35:43 +0000 (14:35 +0200)]
Merge branch 'c++11' of github.com:CendioOssman/tigervnc

4 months agoEnforce not shadowing variables 1774/head
Pierre Ossman [Sat, 20 Apr 2024 08:53:18 +0000 (10:53 +0200)]
Enforce not shadowing variables

Shadowing variable can easily lead to bugs, so let's enforce that this
is not allowed.

4 months agoAvoid shadowing variables
Pierre Ossman [Sun, 21 Apr 2024 00:18:22 +0000 (02:18 +0200)]
Avoid shadowing variables

It's a source of confusion and possibly bugs to reuse the same variable
name for multiple things.

4 months agoUse "static" for helper functions
Pierre Ossman [Sun, 21 Apr 2024 00:23:46 +0000 (02:23 +0200)]
Use "static" for helper functions

These functions act only on the input parameters, so let's make them
static to more clearly indicate that they do not act upon any object.

4 months agoSimplify RandR output name handling
Pierre Ossman [Sun, 21 Apr 2024 00:22:38 +0000 (02:22 +0200)]
Simplify RandR output name handling

Store the name in a std::string to make things less complex as we don't
need to be as careful about making sure the data is free():d.

4 months agoAvoid redundant arguments
Pierre Ossman [Sun, 21 Apr 2024 00:20:32 +0000 (02:20 +0200)]
Avoid redundant arguments

Remove redundant arguments where the method already has access to the
relevant variable as an object attribute.

4 months agoSimplify code using range-based for loops
Pierre Ossman [Wed, 3 Apr 2024 20:05:49 +0000 (22:05 +0200)]
Simplify code using range-based for loops

These are often more readable as they avoid a lot of the boilerplate of
iterating over fixed arrays or STL containers.

Note that this change is very conservative to avoid noise in "git
blame". Only loops where this is a clear improvement have been
converted.

4 months agoRemove careful client iteratation
Pierre Ossman [Fri, 19 Apr 2024 21:48:37 +0000 (23:48 +0200)]
Remove careful client iteratation

Clients cannot remove themselves from the list as we are iterating, so
we don't need this complexity. If a client encounters a problem, it will
only mark it self as closed and will be removed from the list at a later
time.

4 months agoPrefer std::find() over manual search
Pierre Ossman [Fri, 19 Apr 2024 21:39:47 +0000 (23:39 +0200)]
Prefer std::find() over manual search

Let's avoid reimplementing something basic that's available in the
standard library. It also makes the code easier to read.

4 months agoRemove unnecessary headers from Security.cxx
Pierre Ossman [Wed, 3 Apr 2024 16:49:24 +0000 (18:49 +0200)]
Remove unnecessary headers from Security.cxx

4 months agoEnforce using "override"
Pierre Ossman [Wed, 3 Apr 2024 16:44:33 +0000 (18:44 +0200)]
Enforce using "override"

Make sure developers don't miss marking methods correctly.

4 months agoMark overridden virtual functions
Pierre Ossman [Wed, 3 Apr 2024 15:26:03 +0000 (17:26 +0200)]
Mark overridden virtual functions

Use the new "override" keyword to properly differentiate between new
virtual methods, and existing virtual methods being overridden.

4 months agoEnforce using nullptr for C++ code
Pierre Ossman [Wed, 3 Apr 2024 10:42:43 +0000 (12:42 +0200)]
Enforce using nullptr for C++ code

The compiler can help out in making sure we are consistent in our use of
nullptr rather than NULL.

4 months agoDisable gcc NULL warning for context menu
Pierre Ossman [Wed, 3 Apr 2024 10:38:04 +0000 (12:38 +0200)]
Disable gcc NULL warning for context menu

We use the pointer to just store an identifier for the menu, but this is
enough for gcc to think we are using 0 instead of nullptr and complain.
Even an explicit cast isn't enough to silence it here for some reason.

4 months agoUse nullptr in all C++ code
Pierre Ossman [Tue, 2 Apr 2024 14:13:23 +0000 (16:13 +0200)]
Use nullptr in all C++ code

It's more readable than 0, and a bit safer than NULL, so let's try to
follow modern norms.

4 months agoMake sure we use C++ 11
Pierre Ossman [Tue, 2 Apr 2024 14:06:10 +0000 (16:06 +0200)]
Make sure we use C++ 11

It's rare we use a compiler that has anything older as a default, but it
does happen sometimes. So make sure to guarantee this so we can start
using more modern constructs.

4 months agoFix Windows installer dependencies
Pierre Ossman [Sun, 21 Apr 2024 00:21:42 +0000 (02:21 +0200)]
Fix Windows installer dependencies

Make sure the dependencies point to the correct files, even if an out of
tree build is used.

5 months agoUpdate Swedish translation
Luna Jernberg [Sun, 23 Jun 2024 06:49:00 +0000 (08:49 +0200)]
Update Swedish translation

5 months agoUpdate Finnish translation
Lauri Nurmi [Sat, 22 Jun 2024 18:10:00 +0000 (21:10 +0300)]
Update Finnish translation

5 months agoUpdate Czech translation
Petr Pisar [Fri, 21 Jun 2024 18:34:00 +0000 (20:34 +0200)]
Update Czech translation

5 months agoUpdate Indonesian translation
Andika Triwidada [Fri, 21 Jun 2024 04:05:00 +0000 (11:05 +0700)]
Update Indonesian translation

5 months agoUpdate Bulgarian translation
Alexander Shopov [Fri, 21 Jun 2024 08:55:00 +0000 (10:55 +0200)]
Update Bulgarian translation

5 months agoUpdate Swedish translation
Luna Jernberg [Fri, 21 Jun 2024 08:03:00 +0000 (10:03 +0200)]
Update Swedish translation

5 months agoUpdate Hebrew translation
Yaron Shahrabani [Fri, 21 Jun 2024 07:14:00 +0000 (10:14 +0300)]
Update Hebrew translation

5 months agoUpdate Romanian translation
Remus-Gabriel Chelu [Thu, 20 Jun 2024 23:03:00 +0000 (01:03 +0200)]
Update Romanian translation

5 months agoUpdate Spanish translation
Cristian Othón Martínez Vera [Thu, 20 Jun 2024 20:49:00 +0000 (14:49 -0600)]
Update Spanish translation

5 months agoUpdate Ukrainian translation
Yuri Chornoivan [Thu, 20 Jun 2024 16:02:00 +0000 (19:02 +0300)]
Update Ukrainian translation

5 months agoChange development version to 1.14.80
Pierre Ossman [Thu, 20 Jun 2024 13:07:30 +0000 (15:07 +0200)]
Change development version to 1.14.80

5 months agoUpdate translation template file
Pierre Ossman [Thu, 20 Jun 2024 13:06:09 +0000 (15:06 +0200)]
Update translation template file

5 months agoMerge branch 'dri3' of github.com:CendioOssman/tigervnc
Pierre Ossman [Thu, 20 Jun 2024 12:42:42 +0000 (14:42 +0200)]
Merge branch 'dri3' of github.com:CendioOssman/tigervnc

5 months agoAutomatically pick a suitable DRI3 render node 1771/head
Pierre Ossman [Thu, 6 Jun 2024 12:51:52 +0000 (14:51 +0200)]
Automatically pick a suitable DRI3 render node

Lay the groundwork for a more intelligent selection of GPU in systems
that have multiple cards. This initial implementation simply picks the
first GPU that we have permission to open.

5 months agoAdd option to specify used DRI3 render node
Pierre Ossman [Thu, 6 Jun 2024 12:24:41 +0000 (14:24 +0200)]
Add option to specify used DRI3 render node

Allows users to use a secondary GPU, or to disable DRI3 in case of
issues.

5 months agoHide from GNOME to enable animations
Pierre Ossman [Sat, 24 Feb 2024 13:02:02 +0000 (14:02 +0100)]
Hide from GNOME to enable animations

One GNOME developer had a bad experience with VNC one time, and
therefore all VNC must forever be punished.

Avoid detection by GNOME so that animations aren't forcefully disabled
without any option for the user to re-enable them.

5 months agoAdd basic DRI3 support
Pierre Ossman [Wed, 21 Feb 2024 16:07:36 +0000 (17:07 +0100)]
Add basic DRI3 support

This provides buffer sync with the primary render node of the system (if
available). By doing so, OpenGL and Vulkan can use the render node for
acceleration.

This first implementation is extremely pessimistic and synchronises
buffers whenever there's even a slight chance they will be used.

5 months agoFix includes for Xorg dri3 module
Pierre Ossman [Thu, 6 Jun 2024 11:29:29 +0000 (13:29 +0200)]
Fix includes for Xorg dri3 module

It was incorrectly designed to only build properly if built as part of
the "Xorg" server and could fail to build when just "Xvnc" was built.

Backport of upstream commits 0ce93e5 and acc581c.

5 months agoAvoid VNC updates for offscreen windows
Pierre Ossman [Tue, 18 Jun 2024 14:01:55 +0000 (16:01 +0200)]
Avoid VNC updates for offscreen windows

Windows aren't always directly shown, e.g. when the desktop is
composited. We should not be sending screen updates for these as the
framebuffer didn't actually change.

In the case of CopyWindow, we're even sending the wrong screen data,
which is how this bug was discovered.

5 months agoMerge pull request #1767 from bphinz/ubuntu-noble
Brian Hinz [Wed, 19 Jun 2024 15:31:58 +0000 (11:31 -0400)]
Merge pull request #1767 from bphinz/ubuntu-noble

Updates for package builds

5 months agoRemove support for EoL operating systems 1767/head
Brian P. Hinz [Wed, 19 Jun 2024 15:18:09 +0000 (11:18 -0400)]
Remove support for EoL operating systems

5 months agoMerge branch 'xserver-cleanup' of github.com:CendioOssman/tigervnc
Pierre Ossman [Wed, 19 Jun 2024 14:58:47 +0000 (16:58 +0200)]
Merge branch 'xserver-cleanup' of github.com:CendioOssman/tigervnc

5 months agoRemove old Xorg configure arguments 1770/head
Pierre Ossman [Fri, 22 Mar 2024 12:07:26 +0000 (13:07 +0100)]
Remove old Xorg configure arguments

These are no longer used in the versions of Xorg currently in use.

5 months agoRaise Xorg requirement to 1.20+
Pierre Ossman [Thu, 21 Mar 2024 15:18:46 +0000 (16:18 +0100)]
Raise Xorg requirement to 1.20+

No current distribution uses anything older, so let's make things easier
for us to maintain.

5 months agoRemove Ubuntu 18.04 packaging
Pierre Ossman [Fri, 22 Mar 2024 08:37:43 +0000 (09:37 +0100)]
Remove Ubuntu 18.04 packaging

Ubuntu 18.04 has been EOL for almost a year, so remove those packages so
we can ease our maintenance burden.

5 months agoAvoid patching miinitext.c for Xvnc
Pierre Ossman [Tue, 20 Feb 2024 16:23:56 +0000 (17:23 +0100)]
Avoid patching miinitext.c for Xvnc

Things do not need to be this complicated. We can make sure the VNC
extension is always included in a much cleaner way, at least since Xorg
1.16.

5 months agoMerge branch 'present' of github.com:CendioOssman/tigervnc
Pierre Ossman [Wed, 19 Jun 2024 14:45:12 +0000 (16:45 +0200)]
Merge branch 'present' of github.com:CendioOssman/tigervnc

5 months agoStop explicitly including fbcmap_mi.c
Pierre Ossman [Tue, 20 Feb 2024 16:03:07 +0000 (17:03 +0100)]
Stop explicitly including fbcmap_mi.c

This hasn't been needed since Xorg 1.16.

5 months agoSlow down fake clock when no clients 1769/head
Pierre Ossman [Mon, 19 Feb 2024 14:28:12 +0000 (15:28 +0100)]
Slow down fake clock when no clients

Run the frame clock at a slow 1 Hz if there are no clients connected.
This is similar to what a normal X server does when the screen is
blanked, and should keep applications waiting for the frame tick happy.

Note that we still only keep the frame clock running if there is any
application that are interested in it. Otherwise we still stop it
completely.

5 months agoStop linking to libX11
Pierre Ossman [Tue, 20 Feb 2024 16:00:20 +0000 (17:00 +0100)]
Stop linking to libX11

Unclear why this was ever needed. libX11 is for X11 clients, and we're
building a server.

5 months agoKeep frame clock running if waiting for frame tick
Pierre Ossman [Wed, 28 Feb 2024 13:20:54 +0000 (14:20 +0100)]
Keep frame clock running if waiting for frame tick

If there is something interested in synchronizing to a frame tick, then
keep the frame clock running, even if there are no updates.

This is need mainly when something starts rendering, but also when
something renders much slower than the frame clock (so it is essentially
constantly "starting"). Such an application will not draw anything until
it gets a new frame tick, which it won't get as the frame clock is
waiting for something to start drawing.

5 months agoClean up CPPFLAGS handling in xserver
Pierre Ossman [Tue, 20 Feb 2024 16:00:05 +0000 (17:00 +0100)]
Clean up CPPFLAGS handling in xserver

Make things a bit easier to maintain. This style is also more in line
with what is being done for other DDX.

5 months agoRestart the frame timer immediately
Pierre Ossman [Thu, 29 Feb 2024 16:33:43 +0000 (17:33 +0100)]
Restart the frame timer immediately

This marks the timer as started again, before we call out to various
external places that might be confused by the frame timer reporting that
it is stopped.

5 months agoRemove unused NO_MODULE_EXTS define
Pierre Ossman [Tue, 20 Feb 2024 12:09:08 +0000 (13:09 +0100)]
Remove unused NO_MODULE_EXTS define

This has never actually been used, as far as I can tell.

5 months agoAdd support for X Present extension
Pierre Ossman [Fri, 16 Feb 2024 13:31:54 +0000 (14:31 +0100)]
Add support for X Present extension

This makes it possible for applications to synchronize their updates to
the updates sent out to clients. This avoids tearing, and could in the
future also help with rate limiting applications to what the client can
actually show.

5 months agoActually use config.h in Xvnc/libvnc.so
Pierre Ossman [Tue, 20 Feb 2024 12:03:55 +0000 (13:03 +0100)]
Actually use config.h in Xvnc/libvnc.so

Rather than disabling this, make sure the build can find the relevant
file.

5 months agoAdd missing ErrorF() newlines
Pierre Ossman [Fri, 16 Feb 2024 13:31:29 +0000 (14:31 +0100)]
Add missing ErrorF() newlines

5 months agoSimplify Xorg version handling
Pierre Ossman [Tue, 20 Feb 2024 11:59:25 +0000 (12:59 +0100)]
Simplify Xorg version handling

VENDOR_RELEASE has been available as a #define since Xorg 1.7, so let's
use that and remove all of our custom magic.

5 months agoMake SDesktop::start()/stop() optional
Pierre Ossman [Wed, 28 Feb 2024 13:02:20 +0000 (14:02 +0100)]
Make SDesktop::start()/stop() optional

Let's avoid requring these as a desktop implementation can now set up
everything in the init() method.

5 months agoMaintain a constant VNCServer/SDesktop connection
Pierre Ossman [Wed, 28 Feb 2024 12:54:23 +0000 (13:54 +0100)]
Maintain a constant VNCServer/SDesktop connection

The desktop isn't completely paused just because there are no clients,
so it might still need some support from the server object.

This is primarily an issue for headless servers, where they need to
continue emulating things even without clients. A scraping server can
generally go completely passive if there are no clients.

5 months agoMake it easier to change timer interval
Pierre Ossman [Thu, 29 Feb 2024 15:01:48 +0000 (16:01 +0100)]
Make it easier to change timer interval

5 months agoExplicitly request timer repetition
Pierre Ossman [Fri, 18 Nov 2022 15:31:41 +0000 (16:31 +0100)]
Explicitly request timer repetition

One-shot timers are more common, so let's change the API a bit to make
that use case simpler. This API also makes it more clear what is
happening.

5 months agoFix up Timer comments
Pierre Ossman [Fri, 18 Nov 2022 10:20:57 +0000 (11:20 +0100)]
Fix up Timer comments

They were badly formatted, way longer than the normal 72 columns.

5 months agoAdd safety check to getNextTimeout()
Pierre Ossman [Tue, 3 Jan 2023 08:27:46 +0000 (09:27 +0100)]
Add safety check to getNextTimeout()

It currently won't ever be called with an empty list of timers, but it
is a public function so that might happen in the future. Make sure this
case is handled without crashes.

5 months agoStop treating "0" as "no timeouts"
Pierre Ossman [Tue, 3 Jan 2023 08:24:51 +0000 (09:24 +0100)]
Stop treating "0" as "no timeouts"

It is much more sane to treat "0" as "a timer is ready NOW", so let's
change to using -1 as the invalid timeout value.

5 months agoRemove unneeded iteration
Pierre Ossman [Tue, 3 Jan 2023 08:20:45 +0000 (09:20 +0100)]
Remove unneeded iteration

This should have been done in a4308c9.

5 months agoDetect conflicting timer rescheduling
Pierre Ossman [Thu, 29 Feb 2024 08:23:01 +0000 (09:23 +0100)]
Detect conflicting timer rescheduling

Repeating a timer can be done in two ways:

 * Returning true from the handler
 * Calling start() again in the handler

The latter is useful if you want to change the timer interval.

If both are used, then it becomes ambiguous when the timer should fire
again.

Detect this case and warn about it. Current implementation will respect
the new interval given to start(), rather than the interval set before
running the handler.

5 months agoUbuntu packaging updates
Brian P. Hinz [Wed, 19 Jun 2024 00:09:19 +0000 (20:09 -0400)]
Ubuntu packaging updates

5 months agoAdd support for PKCS11 jar signing
Brian P. Hinz [Sat, 15 Jun 2024 20:55:27 +0000 (16:55 -0400)]
Add support for PKCS11 jar signing