ソースを参照

pdnsd review: improve default config, fix init script

Phil Sutter 14 年 前
コミット
e09ba93661
2 ファイル変更27 行追加18 行削除
  1. 23 17
      package/pdnsd/files/pdnsd.conf
  2. 4 1
      package/pdnsd/files/pdnsd.init

+ 23 - 17
package/pdnsd/files/pdnsd.conf

@@ -1,7 +1,8 @@
 global {
-	perm_cache=1024;
-	cache_dir="/var/cache/pdnsd";  # do not change this!
-	run_as="nobody";
+	perm_cache = 1024;
+	cache_dir = "/var/cache/pdnsd";  # do not change this!
+	run_as = "nobody";
+	strict_setuid = on;
 	server_ip = 127.0.0.1;  # Use eth0 here if you want to allow other
 				# machines on your network to query pdnsd.
 	status_ctl = on;
@@ -11,20 +12,25 @@ global {
 	min_ttl=15m;       # Retain cached entries at least 15 minutes.
 	max_ttl=1w;        # One week.
 	timeout=10;        # Global timeout option (10 seconds).
+	proc_limit = 20;
 }
 
-server {
-	label= "myisp";
-	ip = 192.168.0.1;  # Put your ISP's DNS-server address(es) here.
-#	proxy_only=on;     # Do not query any name servers beside your ISP's.
-	                   # This may be necessary if you are behind some
-	                   # kind of firewall and cannot receive replies
-	                   # from outside name servers.
-	timeout=4;         # Server timeout; this may be much shorter
-			   # that the global timeout option.
-	uptest=if;         # Test if the network interface is active.
-	interface=eth0;    # The name of the interface to check.
-	interval=10m;      # Check every 10 minutes.
-	purge_cache=off;   # Keep stale cache entries in case the ISP's
-			   # DNS servers go offline.
+# serve local host definitions
+source {
+	owner = "localhost";
+	serve_aliases = off; # skip everything after the first host for an IP
+	file = "/etc/hosts";
 }
+
+# for dns servers via dhcp
+#server {
+#	label = "dhcp";
+#	file = "/var/resolv.conf";
+#	exclude = ".lan";
+#	policy = fqdn_only;
+#	timeout = 4;
+#	uptest = if;
+#	interface = "eth0";
+#	interval = 60;
+#}
+

+ 4 - 1
package/pdnsd/files/pdnsd.init

@@ -13,7 +13,10 @@ autostart)
 start)
 	[ -f /etc/pdnsd.conf ] || exit
 	mkdir -p /var/cache/pdnsd
-	pdnsd -s -t -d
+	touch /var/cache/pdnsd/pdnsd.cache
+	# this allows for strict_setuid
+	chown -R nobody:nogroup /var/cache/pdnsd
+	pdnsd -d
 	;;
 stop)
 	pkill pdnsd