Commit Graph

664 Commits

Author SHA1 Message Date
DL6ER
586224fde2 Replace PREG_SPLIT_NO_EMPTY by using trim().
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-07 21:57:59 +02:00
DL6ER
3770556732 Use database.php:add_to_table() in teleporter.php:archive_insert_into_table().
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-07 21:49:51 +02:00
DL6ER
838516e558 Ensure preg does not output empty array elements.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-07 21:44:01 +02:00
DL6ER
07af532b09 Review comments
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-07 21:32:49 +02:00
DL6ER
d568b49fb1 Add busy timeout so adding/removing domains does not immediately fail in case the database is busy.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-07 21:24:05 +02:00
DL6ER
71fc7a4791 Use preg_split() instead of explode() for better space handling. Skip empty domains in add_to_table() and remove_from_table().
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-07 21:23:29 +02:00
DL6ER
7807f12d65 Fix codefactor complaints.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-06 22:08:18 +02:00
DL6ER
7fdafb2dcc Update comment and code in sub.php
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-06 22:06:44 +02:00
DL6ER
424fe7636b Call "sudo pihole restartdns reload" after having added or removed domains to notify FTL of the updated lists.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-06 22:02:36 +02:00
DL6ER
98e5f21373 Move add_to_table() to database.php.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-06 20:49:49 +02:00
DL6ER
5b9ccecd11 Limit max length for a domain entry to 253 chars when importing from teleoprter archives, skip longer entries without importing them.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-06 20:40:20 +02:00
DL6ER
6ca35b0b76 Update comment and change require() to require_once().
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-06 20:32:49 +02:00
DL6ER
c53832c9d0 Review comments
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-05 22:06:53 +02:00
DL6ER
c9f5c9500a Directly modify gravity tables from the lists pages.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-05 21:55:08 +02:00
DL6ER
bc7aef744c "pihole --whiteregex" has been renamed to "pihole --white-regex". Similar for "--whitewild" -> "--white-wild".
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-05 21:13:53 +02:00
TheME
5ea4e6d185 fix broken Icons
Signed-off-by: Th3M3 <the_me@hotmail.de>
2019-08-04 21:11:32 +02:00
DL6ER
13f07f9d87 Switch the teleporter to only interact with gravity.db directly. This avoids any need for escaping regexes and just seems to be the right thing to do. Ensure that we flush a table only once (in case multiple files add to the same table).
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-24 23:15:19 +02:00
DL6ER
eac87f139f pihole-FTL only needs to be reloaded not restarted when the lists have been updated. This is much faster than a hard restart.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-24 22:19:28 +02:00
DL6ER
3cfb226757 Reload only ONCE not after EACH imported file.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-24 22:14:48 +02:00
DL6ER
72057cfa26 Close database connection at the end of a table recovery.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-24 22:14:07 +02:00
DL6ER
72c0233436 Add option to flush tables during import (defaults to true). By unchecking this box, users can import (= only add) other lists without loosing the present content. Conflict management is done through INSERT OR IGNORE which will silently skip entries that violate the UNIQUE constraint.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-24 21:15:32 +02:00
DL6ER
1ddf36a752 Archive and restore full tables instead of only domains. Use JSON as backup file format.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-24 21:10:19 +02:00
DL6ER
cd2daa3239 Review comments
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-24 19:41:04 +02:00
DL6ER
dfcfafd6d9 Implement whitelist regex support to web interface.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-22 21:15:50 +02:00
Mcat12
c5b25f23e5 Add missing break
Signed-off-by: Mcat12 <newtoncat12@yahoo.com>
2019-07-09 20:37:05 -07:00
Mcat12
bc85bcda7b Prevent static DHCP leases from having duplicate hostnames
Fixes #979

Signed-off-by: Mcat12 <newtoncat12@yahoo.com>
2019-07-09 20:35:15 -07:00
Mark Drobnak
77845474d8 Merge pull request #968 from pi-hole/new/domain_groups_enabled_status
Lists: Highlight if domains are disabled
2019-07-07 17:18:42 -04:00
DL6ER
eeb4598925 Fix hardcoded table name.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-07 22:40:34 +02:00
DL6ER
8698ce1b9c Do not return query string in get.php.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-07 10:19:20 +02:00
Mark Drobnak
7470119396 Merge pull request #978 from pi-hole/fix/audit_log
Audit log: Should use $domains
2019-07-06 19:46:29 -04:00
DL6ER
dab155c2bf We need to use \$domains instead of \$domain when addin domains to the audit log.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-05 17:14:24 +02:00
DL6ER
e3f76a46d2 Use GROUP BY instead of DISTINCT as we pairs or(domain,1) and (domain,0) are distinct as well where we actually want to only GROUP BY domain.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-05 11:49:44 +02:00
DL6ER
4cc54ee407 Group assignment has changed in the database. Adapt the code accordignly.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-05 11:24:22 +02:00
DL6ER
7d9206c2cd Merge pull request #975 from pi-hole/fix/settings-page-adlists
Use the renamed adlist table when getting adlists
2019-07-04 22:13:20 +02:00
Mcat12
8819825dc8 Upgrade the exporter/importer (teleporter) to use the gravity database
Also fixed the content type of the tar.gz archive from zip to gzip.

Signed-off-by: Mcat12 <newtoncat12@yahoo.com>
2019-07-04 12:31:02 -07:00
Mcat12
86ba703ef5 Use the renamed adlist table when getting adlists
This fixes an error shown on the settings page.

Signed-off-by: Mcat12 <newtoncat12@yahoo.com>
2019-07-04 11:28:01 -07:00
Mark Drobnak
4e1df1664c Merge pull request #951 from pi-hole/new/arp-flush
Add button for pihole arpflush on Pi-hole settings page
2019-07-04 14:10:29 -04:00
Mcat12
f7905167c0 Prevent command injection via admin email
Signed-off-by: Mcat12 <newtoncat12@yahoo.com>
2019-07-01 20:17:10 -07:00
DL6ER
5f28a3816d Pass group_enabled boolean to web interface and show if entry was disabled due to group setting. Although the current web interface does not support group-based management, this may aid in debugging if users interact the database directly.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-06-16 20:08:24 +02:00
DL6ER
43fa24fbea Glue needs to be the first argument of implode
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-05-30 22:11:13 +02:00
DL6ER
72abc5dad4 Add button for pihole arpflush on Pi-hole settings page
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-05-30 22:05:13 +02:00
DL6ER
ced7174c37 Modify adlists subpage of the settings page to sources the lists from the gravity database.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-04-28 20:42:50 +02:00
DL6ER
406a946b24 Add new file scripts/pi-hole/php/database.php
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-04-26 18:32:33 +02:00
DL6ER
8b0ee8f4fa Reduce code duplication
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-04-26 18:29:05 +02:00
DL6ER
506644b671 Rewrite web interface to allow interaction with database-based lists
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-04-25 15:02:39 +02:00
Mcat12
24a22bcb55 Fix security issue when using list functionality via api.php
Remote code execution could have been triggered by activating some list
functionality (add and remove) via api.php.

Thanks to Kacper Szurek for finding this bug.

Signed-off-by: Mcat12 <newtoncat12@yahoo.com>
2019-03-02 13:51:29 -08:00
Mcat12
2ba8787261 Merge branch 'release/v4.2' into devel
# Conflicts:
#	scripts/pi-hole/js/db_graph.js
2019-02-03 11:24:19 -08:00
Mark Drobnak
991be959d3 Update scripts/pi-hole/php/savesettings.php
Co-Authored-By: DL6ER <DL6ER@users.noreply.github.com>
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-01-19 22:35:12 +01:00
Michael Epstein
6447879562 Fix a PHP error generated by "Query Lists".
Example:
2019/01/18 00:56:46 [error] 19780#19780: *20783 FastCGI sent in stderr: "PHP message: PHP Notice:  ob_end_flush(): failed to delete and flush buffer. No buffer to delete or flush in /var/www/html/admin/scripts/pi-hole/php/queryads.php on line 9" while reading response header from upstream, client: xxx.xxx.xx.xx, server: some.server.lan, request: "GET /admin/scripts/pi-hole/php/queryads.php?domain=windows& HTTP/1.1", upstream: "fastcgi://unix:/run/php/pihole.sock:", host: "some.server.lan", referrer: "https://some.server.lan/admin/queryads.php"

Signed-off-by: Michael Epstein <mepstein@mediabox.cl>
2019-01-18 01:25:59 -03:00
Michael Epstein
84f6f3dae6 - Fix the delete of blacklist/whitelist records under NGINX + PHP-FPM
- Fix multiple php warning/error messages when this scripts are executed from AJAX requests

Example errors/warnings:

2019/01/15 13:22:22 [error] 1408#1408: *2535 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined variable: api in /var/www/html/admin/scripts/pi-hole/php/sub.php on line 16
PHP message: PHP Warning:  Cannot modify header information - headers already sent by (output started at /var/www/html/admin/scripts/pi-hole/php/sub.php:8) in /var/www/html/admin/scripts/pi-hole/php/auth.php on line 81
PHP message: PHP Warning:  session_start(): Cannot start session when headers already sent in /var/www/html/admin/scripts/pi-hole/php/auth.php on line 93

Signed-off-by: Michael Epstein <mepstein@mediabox.cl>
2019-01-16 01:51:54 -03:00