Commit Graph

2478 Commits

Author SHA1 Message Date
DL6ER 5c0dd19fb0 Preserve possible query arguments (GET) when routing throught the login page
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-26 22:03:41 +02:00
DL6ER f18c79d637 Move Lua-related functions into dedicated source file
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-26 21:47:59 +02:00
DL6ER b642bacf08 Rename the API endpoint from /logs/http to /logs/webserver for consistency with the config option renameing
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-26 21:39:29 +02:00
DL6ER 1d246d5340 Log LUA errors into webserver.log. The CivetWeb documentation is wrong about the default (logging to file) as it is in fact logging to the output where the information might be hidden due to HTML/CSS
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-26 21:31:41 +02:00
DL6ER af1df8a81e Add special handling of time_t for 32bit architectures
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-26 21:19:01 +02:00
DL6ER f025598bd2 Simplify webserver logging routines
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-26 21:16:23 +02:00
DL6ER 2b2c02f0c7 Remove PH7
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-26 21:09:33 +02:00
DL6ER c1d07cbb63 Add new LUA functions useful for the web interface and define .lp files as index files
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-26 21:01:10 +02:00
DL6ER c081e9f647 Limit data returned by the API for the history endpointy by webserver.api.maxHistory
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-25 22:37:03 +02:00
DL6ER 7359b496ff Move database.maxHistory to webserver.api.maxHistory
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-25 22:26:25 +02:00
DL6ER 313c423258 Fix not sending domains that have not been seen on the current timeframe when we blocked no domains
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-18 21:13:57 +02:00
DL6ER b3ef031a22 Various memory improvements to (a) avoid crash during the final cleanup (don't allow reusing of pointer to memory that may already have been munmapped) , and (b) ensure we have release all memory after exporting to the on-disk database (finalize all prepared statements in queries_to_database())
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-18 21:13:48 +02:00
DL6ER bf5bbb32f9 If the DHCP lease time is set to "24", it is interpreted as "24h". This is some relic from the past that may still be present in some setups
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-15 09:53:05 +02:00
DL6ER 49b6bff990 Adjust struct sizes
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-11 17:35:10 +02:00
DL6ER db0157451f Apply Pi-hole CivetWeb patches
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-11 12:23:52 +02:00
DL6ER 9bda9f4cd6 Update CivetWeb to 1.16
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-11 12:15:33 +02:00
DL6ER 677c560a40 Merge branch 'development' into new/http
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-11 12:08:02 +02:00
DL6ER 75683b5da4 Apply the same logic also for reverse lookups (PTR)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-09 12:39:49 +02:00
DL6ER 9c0082fc91 Explicitly set INSECURE status for replies received either from upstream (if they are not already validated as SECURE) or from cache. This is a direct consequence from the previous commit.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-09 12:39:10 +02:00
DL6ER d228fbf3ad Apply the same logic also for reverse lookups (PTR)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-09 12:36:06 +02:00
DL6ER f216cb0b78 Explicitly set INSECURE status for replies received either from upstream (if they are not already validated as SECURE) or from cache. This is a direct consequence from the previous commit.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-09 12:31:10 +02:00
DL6ER b22524e54c Initial DNSSEC status should be UNSPECIFIED
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-09 11:32:12 +02:00
DL6ER 72b4bc5041 Analyse pseudeoheader before it might get stripped off
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-09 10:52:00 +02:00
DL6ER 77c4f91814 Analyse pseudeoheader before it might get stripped off
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-09 10:51:16 +02:00
DL6ER 98400b5416 Log if EDNS header is NULL and we are in debug mode
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-08 14:44:43 +02:00
DL6ER 538c6a058c Log if EDNS header is NULL and we are in debug mode
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-08 14:37:28 +02:00
DL6ER 32d7bfb4bf Only try to interpret EDNS EDE when EDE data is available
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-08 12:57:59 +02:00
DL6ER ad85e0f3f6 Only try to interpret EDNS EDE when EDE data is available
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-08 12:54:54 +02:00
DL6ER 8a4488ceb0 Ignore possible EXTRA-TEXT field in EDNS0 EDE data
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-07 20:48:08 +02:00
DL6ER 3ac34d323b Use AD bit for IN/SECURE and EDE in SERVFAIL when prox for BOGUSy-dnsmasq option is used
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-07 20:46:39 +02:00
DL6ER f99bda1895 Implement EDNS(0) EDE
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-07 20:41:49 +02:00
DL6ER 37de8662ea Simplify EDNS handling code and also interpret replies received from upstream
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-07 20:40:52 +02:00
DL6ER 40369b0c7c Ignore possible EXTRA-TEXT field in EDNS0 EDE data
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-07 19:16:57 +02:00
DL6ER 4b4f113350 Use AD bit for IN/SECURE and EDE in SERVFAIL when prox for BOGUSy-dnsmasq option is used
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-07 19:16:37 +02:00
DL6ER a6337b8b5e Implement EDNS(0) EDE
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-07 18:01:28 +02:00
DL6ER e79b40d831 Simplify EDNS handling code and also interpret replies received from upstream
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-07 17:55:47 +02:00
DL6ER 020a94f4aa Generate TLS certificate when not present
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-05 21:27:33 +02:00
DL6ER 95653e7581 Only load TLS certificate when the specified file exists and is readable
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-05 21:23:59 +02:00
DL6ER 515fe8b440 Add certificate generation command (pihole-FTL --gen-x509 ...)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-05 21:21:14 +02:00
DL6ER c05502f24a Reimplement DNS cache metrics in the light of arbitrary RRTYPE caching
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-01 16:10:49 +02:00
DL6ER a1332582ff Use new shortcut cache-rr=ANY to enable caching of all query types
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-01 14:47:45 +02:00
DL6ER 46bc3c9161 Merge remote-tracking branch 'origin/update/dnsmasq' into new/http
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-01 14:47:21 +02:00
DL6ER 879708d6b7 FTL changes related to most recent dnsmasq commits
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-01 14:13:22 +02:00
Simon Kelley d71d0aee12 Fix copy-n-paste error in 138e1e2a2d918b37cb0274fe310d53be35acf4cf
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-01 13:37:02 +02:00
Simon Kelley a3aaf7c88b --domain=# is valid. --synth-domain=# isn't.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-01 13:36:59 +02:00
Simon Kelley d1b3494e74 Allow --cache-rr=ANY with the obvious meaning.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-01 13:36:55 +02:00
Simon Kelley ab7bdcd869 Optimse memory use for arbitrary-RR caching.
RRs 13 bytes or less don't need to allocate block storage.

Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-01 13:36:50 +02:00
DL6ER fa2aeccc0e ANY is RRNAME not BLOB after the most recent dnsmasq code changes
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-03-31 09:55:43 +02:00
DL6ER 8b1d064986 Apply necessasry changes to FTL due to most recent dnsmasq patch
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-03-31 08:57:35 +02:00
Simon Kelley 18a77d3018 Optimise no-action case in rrfilter().
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-03-31 08:55:42 +02:00