Commit Graph

2795 Commits

Author SHA1 Message Date
DL6ER ae035c4ba7 Put FIFO log into its own unit (out of the API code)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-06-17 20:07:31 +02:00
DL6ER 3906490958 Return SQL error to user if sourcing data from the network table fails
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-06-17 20:07:31 +02:00
DL6ER e10d7fe27e Avoid buffer overflow.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-06-17 20:07:31 +02:00
DL6ER e018146faa Rename /api/ftl/clientIP to /api/ftl/client as we return more data than just the IP address (this is mostly a testing endpoint)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-06-17 20:07:31 +02:00
DL6ER 784b8ba3c9 Differentiate between POST (error on existing) and PUT, PATCH (replace if existing) for domain lists. Also return GET style reponse on success.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-06-17 20:07:30 +02:00
DL6ER fa5f6cdcdf Use booleans instead of string for controlling the blocking status. Return the GET response after a successful PATCH request.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-06-17 20:07:30 +02:00
DL6ER be3b4045ae Add filtering for domainlist endpoints
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-06-17 00:44:44 +02:00
DL6ER fc4f850259 Uniform GET and POST keys and rename /dns/status to /dns/blocking to avoid misunderstandings
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-06-16 23:44:48 +02:00
DL6ER 56fe849d83 Move white- and blacklist endpoints one level up
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-06-16 23:11:20 +02:00
DL6ER 2c78622cd2 Streamline /api/dns endpoints while writing the documentation for them
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-06-16 19:09:31 +02:00
DL6ER 17d3562099 Improve cmake system.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-06-16 19:09:25 +02:00
DL6ER 2709cdbd17 Simplify error report messages.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-06-15 21:07:50 +02:00
DL6ER c3d2c87800 Add request handler for directories (try /index.php)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-06-15 21:05:09 +02:00
DL6ER dc915c2a60 Disable directory listings.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-06-15 21:03:37 +02:00
DL6ER f326d2bd7d Add two new log files for HTTP infos (incl. access logs if in API debug mode) and PH7 engine errors and messages.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-06-15 21:03:22 +02:00
DL6ER 73be307c77 Pass HTTP head to PH7 so it can extract header variables (, , , ...)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-06-02 15:19:07 +02:00
DL6ER 67a0395390 Redirect PH7 errors into pihole-FTL.log (instead of showing in the browser output) and define gethostname() PHP function.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-06-02 08:52:55 +02:00
DL6ER cf5f3ef464 gcc-9 optimizations.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-06-01 09:44:49 +02:00
DL6ER de09b73eb7 Use embedded PH7 instead of external PHP-CGI interpreter.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-30 15:44:16 +02:00
DL6ER c92a0e4bc4 Generally assume authentication to ease the development phase until we are actually able to add authentication.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-29 20:54:30 +02:00
DL6ER 2c6e2ae41f Add NAPTR support for /api/stats/summary
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-29 00:42:35 +02:00
DL6ER 473a88f077 Remove React-specific index page rerouting.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-29 00:24:00 +02:00
DL6ER 308c80bc5a Add PHP support in Pi-hole' HTTP server.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-28 23:59:52 +02:00
DL6ER 6e40e3b2dc Finish transition to cmake on the new/http branch.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-28 20:23:51 +02:00
DL6ER 8afd0631c1 Update Civetweb server to 1.12
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:43:56 +02:00
DL6ER d878499d67 Update cJSON to 1.7.13
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:43:56 +02:00
DL6ER 0b680952a4 Add const attribute to new sqrt routines.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:43:56 +02:00
DL6ER 0aaa3237b1 Exclude database lookup time from computed forward destination delay.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:43:56 +02:00
DL6ER 5d54d3412c Compute average response times for used upstream destinations.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:42:18 +02:00
DL6ER 4c6d94c739 Fix failed git auto-merge.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:39:23 +02:00
DL6ER 6a4040e8a5 Minor optimizations to domain list handling routines (reading, adding, and removing)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:37:17 +02:00
DL6ER 5bdf2b96cc Fix forwarded queries counting logic quirk.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:37:17 +02:00
DL6ER 4dacd1c759 Make JSON string macros robust against being called with NULL strings.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:37:16 +02:00
DL6ER ef5cfe0a17 Add /api/stats/database/upstreams
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:37:16 +02:00
DL6ER a7500f1d58 Add /api/stats/database/query_types
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:37:16 +02:00
DL6ER cb8131d9ac Add /api/stats/database/overTime/clients
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:37:16 +02:00
DL6ER 7c97cb6631 Add /api/stats/database/summary
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:37:16 +02:00
DL6ER 76b72bf1b7 Add /api/stats/database/top_clients by generalizing the top-domains into a top-items function that can process both.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:37:16 +02:00
DL6ER 429622d8e9 Add /api/stats/database/top_domains and /api/stats/database/top_blocked
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:37:16 +02:00
DL6ER 4516ee5186 Relock shared memory before returning an error message.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:37:16 +02:00
DL6ER f2412873b8 Add /admin/api/stats/database/overTime/history - this allows users to select a different time interval on the dash board than only "last 24 hours".
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:37:16 +02:00
DL6ER 0f7ead8663 A few output optimizations for /api/dns/cacheinfo
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:36:13 +02:00
DL6ER 6871dbdd04 Add /api/dns/cacheinfo
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:36:13 +02:00
DL6ER 091e656de8 Only walk known IP addresses when SELECT query succeeded
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:34:23 +02:00
DL6ER 9d24bae8be Add /api/ftl/network
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:34:23 +02:00
DL6ER 46c622f256 Keep up to 64 lines of dnsmasq messages in the FIFO buffer.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:34:23 +02:00
DL6ER a6a7b9712e Add API_PRETTY_JSON config option as run-time (instead of compile-time) option for human-friendy API output.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:34:23 +02:00
DL6ER fdce5481f9 Send all details we have about a domain (excluding the database ID, because we don't need it). See PR web#440 for the necessary changes in NG web.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:34:23 +02:00
DL6ER 6bf7fb782e Read directly from domainlist table instead of using the views. This allows us to read also disabled domains plus to get all the corresponding data: date_added, date_modified, comment, enabled. They are now available in FTL, however the JSON format expected by the web interface needs to be changed to be able to send this information over.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:34:23 +02:00
DL6ER 257fcbf695 Implement transition from individual domain lists into a unified domainlist (see core PR #3015).
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:31:54 +02:00