diff --git a/ext/kea/dhcp4.leases b/ext/kea/kea-leases4.csv similarity index 100% rename from ext/kea/dhcp4.leases rename to ext/kea/kea-leases4.csv diff --git a/ext/kea/dhcp6.leases b/ext/kea/kea-leases6.csv similarity index 100% rename from ext/kea/dhcp6.leases rename to ext/kea/kea-leases6.csv diff --git a/src/pdns-dhcp/Kea/KeaDhcpLeaseWatcher.cs b/src/pdns-dhcp/Kea/KeaDhcpLeaseWatcher.cs index c3487fd..e6c619f 100644 --- a/src/pdns-dhcp/Kea/KeaDhcpLeaseWatcher.cs +++ b/src/pdns-dhcp/Kea/KeaDhcpLeaseWatcher.cs @@ -170,11 +170,15 @@ public sealed class KeaDhcpLeaseWatcher : IHostedService { if (reader is null) { + // LongRunning, force spawning a thread + // As this may block for a long time. reader = await Task.Factory.StartNew( s => MemfileReader.From((Stream)s!), _pipe.Reader.AsStream(), stoppingToken, - TaskCreationOptions.AttachedToParent, TaskScheduler.Default); + TaskCreationOptions.DenyChildAttach | TaskCreationOptions.LongRunning, + TaskScheduler.Default) + .ConfigureAwait(false); continue; } diff --git a/src/pdns-dhcp/Program.cs b/src/pdns-dhcp/Program.cs index 71dfeac..1d47dd3 100644 --- a/src/pdns-dhcp/Program.cs +++ b/src/pdns-dhcp/Program.cs @@ -60,7 +60,7 @@ builder.Services.Configure(options => builder.WebHost.ConfigureKestrel((context, options) => { - if (context.Configuration.GetRequiredSection("PowerDns:Listener").Get() is { } pdnsOptions) + if (context.Configuration.GetSection("PowerDns:Listener").Get() is { } pdnsOptions) { var path = PathEx.ExpandPath(pdnsOptions.Socket); FileInfo file = new(path); diff --git a/src/pdns-dhcp/appsettings.Development.json b/src/pdns-dhcp/appsettings.Development.json index dd2f5bf..a2fbe6c 100644 --- a/src/pdns-dhcp/appsettings.Development.json +++ b/src/pdns-dhcp/appsettings.Development.json @@ -2,10 +2,10 @@ "Dhcp": { "Kea": { "Dhcp4": { - "Leases": "../../ext/kea/dhcp4.leases" + "Leases": "../../ext/kea/kea-leases4.csv" }, "Dhcp6": { - "Leases": "../../ext/kea/dhcp6.leases" + "Leases": "../../ext/kea/kea-leases6.csv" } } }, diff --git a/src/pdns-dhcp/appsettings.json b/src/pdns-dhcp/appsettings.json index e345227..bda961c 100644 --- a/src/pdns-dhcp/appsettings.json +++ b/src/pdns-dhcp/appsettings.json @@ -2,10 +2,10 @@ "Dhcp": { "Kea": { "Dhcp4": { - "Leases": "/var/lib/kea/dhcp4.leases" + "Leases": "/var/lib/kea/kea-leases4.csv" }, "Dhcp6": { - "Leases": "/var/lib/kea/dhcp6.leases" + "Leases": "/var/lib/kea/kea-leases6.csv" } } }, diff --git a/src/pdns-dhcp/pdns-dhcp.csproj b/src/pdns-dhcp/pdns-dhcp.csproj index 965bf09..f0414a1 100644 --- a/src/pdns-dhcp/pdns-dhcp.csproj +++ b/src/pdns-dhcp/pdns-dhcp.csproj @@ -17,7 +17,6 @@ -