commit e32cb982a9905bd8aaf0eda4a1190b7cdc6853fc Author: Sam Trenholme Date: Sat May 22 00:52:40 2021 -0700 query.c: Akami fix See: * https://marc.info/?l=djbdns&m=113170809226754 * https://github.com/pjps/ndjbdns/pull/31/ Summary: This helps some Akami domains resolve. Note: I have just updated the “magic numbers” in the source code instead of adding a QUERY_MAXLOOP define. commit 0139c896f132512decb70da3fd081a88e954a0fe Author: Sam Trenholme Date: Sat May 22 00:40:06 2021 -0700 https://marc.info/?l=djbdns&m=153020962703821 Stop ndjbdns segfaults I would like to thank Tim Stewart for providing this patch. commit c48cdd60f44183e59b7b9a5e8f901954eb034490 Author: Sam Trenholme Date: Sat May 15 21:06:51 2021 -0700 Add CODE_OF_CONDUCT.md commit 1aae0736845c1b16219f12395af33acce3a5d1a6 Author: Sam Trenholme Date: Sat May 15 21:05:09 2021 -0700 Make support boundaries more clear commit 2781582150587c5a8a9b0021792a0f7d4da4d2ad Author: Sam Trenholme Date: Wed May 12 13:26:34 2021 -0700 gitignore: Ignore other compile artifacts (man pages, etc.) commit 6696d4477258e360782f327ab479312e6223197f Author: Sam Trenholme Date: Wed May 12 13:24:27 2021 -0700 README.md: Explain why configure.ac, Makefile.ac files were removed commit 29401573afeb3ac0cd3ece2bc6a5d42ed098bb81 Author: Sam Trenholme Date: Wed May 12 13:17:27 2021 -0700 We don’t need readme; I’ve removed the autoconf nonsense commit 34dd637a6404c5cfa5f776b026a7347bb9e9619f Author: Sam Trenholme Date: Wed May 12 13:02:24 2021 -0700 OK, it compiles. N-DJBDNS needs some ancient version of autoconf to compile. To solve this, I took the configure script and various Makefile.in files from n-djbdns-1.06 and put them in the Git tree. I have *also* removed the Makefile.am and configure.ac files (they do not work with Ubuntu 20.04’s default automake, so are useless). I believe it was a mistake to move from DJB’s build system to autoconf. When people tried to add autoconf stuff to MaraDNS, I never let them do it: Autoconf is a maintenance headache. Autoconf configuration files break from autoconf version to version; autoconf now has stupid requirements like requiring there to be a README file (but it does not accept a README.md file, which is the GitHub standard). commit c71b727acdc50c626f508c6065114d013a3477e6 Author: Sam Trenholme Date: Wed May 12 12:51:43 2021 -0700 Autoconf idiocy: Requires README, too dumb to look for README.md commit e6b80bfc99529b00d7f6e54b2dce3a96bf34085d Author: Sam Trenholme Date: Wed May 12 12:45:59 2021 -0700 Put configure in git tree so autoconf isn’t needed to compile commit c7f9aed8e49ccb7b56ed03572faf3b9fef076d97 Author: Sam Trenholme Date: Wed May 12 12:45:27 2021 -0700 configure.ac: Comment out lines Ubuntu 20.04 autoconf chokes on commit 35b4a60d52e28c520196f53e5d21f7ec90f1ac8a Author: Sam Trenholme Date: Wed May 12 12:38:52 2021 -0700 Why this exists commit dbb882f5b1f518e10671d7ae2b866e69f6dae911 Author: Sam Trenholme Date: Wed May 12 12:19:26 2021 -0700 Update dnsroots.global for 2017 (in 2021) This closes/would close https://github.com/pjps/ndjbdns/issues/35 commit 865dcea6bf1584a558b73c8a68f24b0943c673c2 Author: Kyle Maxwell Date: Sat Mar 11 21:28:31 2017 +0530 Update README with Markdown syntax Update the README file with Markdown syntax so that Github renders it well. commit 73527fbe28c6e18229b28f9d437be0ab5960c21f Author: Tim Stewart Date: Tue Mar 7 18:41:33 2017 -0500 dnscache: MERGEQUERIES stability and CPU usage fix This patch resolves the long-standing 100% CPU usage issue with the MERGEQUERIES patch[1] in our environment. The CPU usage is just a symptom; the underlying issue is that the master field in the dns_transmit struct is not properly reset when mergefree() is called. This patch is against the ndjbdns source but should be trivial to transplant to other djbdns-derived sources that include MERGEQUERIES. When a query becomes a slave query because an identical query is in-progress, its master field is set to point at the in-progress query's dns_transmit structure. When the query is later complete, the master pointer in the slave query's structure remains intact and so is set for the next query. When the struct is later reused for a master query, calls to dns_transmit_get() return immediately since the master field is nonzero recv() is never called: int dns_transmit_get (struct dns_transmit *d, const iopause_fd *x, const struct taia *when) { ... if (d->tcpstate == 0 && d->master) return 0; ... if (d->tcpstate == 0) { ... r = recv (fd, udpbuf, sizeof (udpbuf), 0); ... } ... } Because recv() is never called, there is always data ready in one of the fds polled by poll(), so the CPU spins at 100% even while handling other queries normally. This bug also means some queries go unanswered and the data sits in the UDP receive queue. This patch will resolve the issue reported in a Red Hat bug report[2] and perhaps fix an issue reported against the ndjbdns project[3]. References: [1] MERGEQUERIES patch: http://marc.info/?l=djbdns&m=123859517723684 [2] Red Hat bug report: https://bugzilla.redhat.com/show_bug.cgi?id=1084747 [3] ndjbdns Issue: https://github.com/pjps/ndjbdns/issues/23 commit 861a3601fb19f2d3fac4ad69643dd5df6d8f64d0 Author: P J P Date: Sat Oct 15 22:47:03 2016 +0530 dnsroots: update H root-server IP address The H root server's IP address has changed.[*] Replace the old IP with a new one in the root name server's list. [*] https://github.com/pjps/ndjbdns/issues/27 commit 64d371b6f887621de7bf8bd495be10442b2accd0 Author: P J P Date: Tue Oct 13 21:57:05 2015 +0530 Expunge redundant definition of getline() getline(3) routine used to be a GNU extension and was not available across all platforms. It has been standardised since POSIX.1-2008, thus another definition of it is not required. commit 51a7aeafa4a9c467d6a91bff93c4290633e7b872 Author: P J P Date: Tue Oct 13 16:36:13 2015 +0530 Avoid calls to memrchr(3) routine Replaced calls to memrchr(3) with normal pointer expressions. As memrchr(3) is a GNU extension, which is not portable. commit d46aa1e67f5bec07b06ea680497a93e17ecdaf25 Author: P J P Date: Thu Jul 9 17:44:07 2015 +0530 Ignore auto-generated compile script Update 'gitignore' to ignore auto-generated 'compile' file. It was created by $ autoreconf -ivf. commit e657cb471f4ec5292bd20fb9df07ae6049eb8a40 Author: P J P Date: Thu Jul 9 17:40:14 2015 +0530 Update auto-generated files autoreconf(1) updated GNU build system's configuration files with the latest ones. $ autoreconf -ivf commit 8357ab537759c69d33ddb6a4a64e73acb47d3162 Author: Robert Vincent Date: Wed Jul 8 15:38:20 2015 -0400 setrlimit(RLIMIT_DATA...) always fails on Cygwin commit d101db096fe524e9695b05755e63cd01fe41ebf8 Author: Bob Vincent Date: Wed Jul 8 14:35:12 2015 -0400 Cygwin in_pktinfo lacks a ipi_spec_dst element. Windows sockets layer does not implement the underlying functionality. commit bb4045998b47100f482a91e0b1015d006ef47b10 Author: Bob Vincent Date: Wed Jul 8 14:31:50 2015 -0400 Cygwin uses same errno.h as linux. Also make "extern int errno" and "#include " mutually exclusive. commit 409875e6ced7fb331e36ad2ab52360895958607d Author: P J P Date: Wed Jun 25 23:51:42 2014 +0530 Update tinydns manual Updated tinydns(8) manual page to reflect latest changes in reading 'data.cdb' file, from previous version. commit b6ba63f301d56cecc16e68f665c2d7f73eaee5a4 Author: P J P Date: Wed Jun 25 23:48:09 2014 +0530 Update manuscript of the README file Updated readme.ms to remove the autoreconf(1) command and reflect the latest version information. commit 9c25a4a5cce3006dee925b00de553ccff6d4e08a Author: P J P Date: Wed Apr 16 00:55:43 2014 +0530 Version changed to 1.06. Changed version.h, configure.ac and RPM spec file to upgrade version to 1.06. commit ed4013859bad54366b2da49ac14248f14fd06116 Author: P J P Date: Mon Apr 7 23:30:58 2014 +0530 Fix segmentaion fault in tcprules command Changed 'tcprules' command to read input via standard input file descriptor(STDIN_FILENO), instead of a bad descriptor. Which was causing it to crash with a segmentation fault. Thanks to Mr Daniel Kraemer for reporting this issue. commit edb4769f1092a8e9ae4a6f96ffcef75d2de1aac8 Author: Francisco M Beiete Date: Sun Apr 6 22:36:16 2014 +0530 New command line options for tinydns Added new command line options to 'tinydns' server to specify configuration(-c), log(-l) & pid(-p) files and also the server port(-P) number. These options would help if user wants to run multiple instances of the server with different configurations, listening on different ports, on the same host. commit 923238377d797976524f269fe4f735b02b37e09a Author: P J P Date: Sat Apr 5 23:41:52 2014 +0530 New command line options for axfrdns Added new command line options to 'axfrdns' server to specify configuration(-c), log(-l) & pid(-p) files. These options would help if a user wants to run multiple instances of the server with different configurations on the same host. commit 44091b87267baaefa345fd7157934bd7f9f5b6e2 Author: P J P Date: Sat Apr 5 23:17:02 2014 +0530 New command line options for configuration Added new command line options to 'dnscache' server to specify configuration(-c), log(-l) & pid(-p) files and also the server port(-P) number. These options would help if user wants to run multiple instances of the server with different configurations, listening on different ports, on the same host. commit 4b9c7b0895692eba00e7979d23301fafd66ab443 Author: P J P Date: Fri Apr 4 23:17:21 2014 +0530 Use predefined TZ variable when it is available Changed function 'set_timezone' to use existing value of the 'TZ' environment variable when it is available. And explicitly set it, if it is not already set by an administrator. commit d77a7d6dd1a2b09c611ffe2bee1a2362b1582af1 Author: P J P Date: Thu Apr 3 12:56:00 2014 +0530 New function to read timezone information Added a new function 'gettimezone', to read local timezone definition from '/etc/localtime'. It returns a POSIX TZ environment variable string or NULL in case of an error. Reading this definitions ensures that DNS servers always follow local system time, accounting for Daylight Savings Time whenever applicable. commit d1569d2d67531067ec79b0e1c07b6530bb6b4295 Author: P J P Date: Thu Mar 27 23:44:06 2014 +0530 Account for daylight savings time in timestamps DNS servers depend on the 'TZ' environment variable for local time-zone information, as file '/etc/localtime' is inaccessible. Earlier 'TZ' variable's value did not account for the daylight savings time. Because of it, the timestamps in log files were off by one hour, in countries where DST applies.(see [1]) This patch updates the 'set_timezone' routine to add DST identifier to the 'TZ' environment variable. Now it follows the format TZ = "" Where STD = standard time-zone name Offset = offset from UTC, ex: +5:30 hrs. DST = daylight savings time-zone name. Absence of DST offset implies the default offset of one hour. -- [1] http://www.timeanddate.com/time/dst/ commit 5da15eab0ea15fb9b6065e23bffc32d04dcb9f65 Author: P J P Date: Wed Feb 12 14:38:38 2014 +0530 Read tinydns data file every 5 seconds commit 'e3e067cb9764' merged the one-second.patch. It modified tinydns(8) server to read its data file every one second. But every second read seems too often and unnecessary. This patch updates that interval to 5 seconds. So the data file is read every 5 seconds. It is still more frequent than required, but intervals longer than it could prove troublesome to the users who need to verify & validate changes to their data file. commit a67293ce12832b55ec4271536282290ed17863f6 Author: P J P Date: Wed Feb 12 13:00:14 2014 +0530 Read longer buffer over TCP connections Changed 'dnscache' server to read longer buffers over TCP connections. Earlier it used to read 1 byte at a time. That is slower, plus for long messages(ex: 65535 bytes), that means those many read(2) calls. Thus unnecessarily burning CPU cycles. It could also lead to potential denial of service. $ drill -t PTR 29.240.156.69.in-addr.arpa ... ;; MSG SIZE rcvd: 53570 Reading longer buffers accelerates the reading, making slight gain in performance. Thanks to Mr Frank Denis for creating this patch and for making it available for all. -> http://download.pureftpd.org/misc/dnscache-dos.c commit 11f4e337e69b5b3fc704bbaebae2445b80aa3d3a Author: P J P Date: Sun Feb 9 00:24:10 2014 +0530 Remove dnscache-conf program Removed the 'dnscache-conf' tool as it is no longer required; thus not useful. Also removed various other sources which were earlier used by all the configuration '*-conf' tools. commit adc77e5ad294833f955b614f145d7036002ca3cc Author: P J P Date: Sun Feb 9 00:04:54 2014 +0530 Remove tinydns-conf program Removed the 'tinydns-conf' tool as it is no longer required; thus not useful. commit 2ac89158234272d11ed4329c21fcdbe0eb81dfe9 Author: P J P Date: Sat Feb 8 23:55:39 2014 +0530 Remove rbldns-conf program Removed the 'rbldns-conf' tool as it is no longer required; thus not useful. commit 454c1692eb30185ad371ed2320df033308e4266c Author: P J P Date: Sat Feb 8 23:35:51 2014 +0530 Remove walldns-conf program Removed the 'walldns-conf' tool as it is no longer required; thus not useful. commit bc66f4e9ec6d2b0621ec33a977661b8983d43c13 Author: P J P Date: Sat Feb 8 23:21:58 2014 +0530 Remove axfrdns-conf program Removed the 'axfrdns-conf' tool as it is no longer required; thus not used. commit 772a31441b7ab456881a2810ee24cc981a475c68 Author: P J P Date: Sat Feb 8 18:39:46 2014 +0530 Format sources for better readability and editing Changed 'axfr-get' to format it for better readability and editing. Introduced support of an option parser. It helps to have a consistent user interface across all 'ndjbdns' tools. Also helps to suppress compiler warning about unused 'argc' parameter. commit 6795dc54d1cdd104a1dd32f6475cf686377ca65c Author: P J P Date: Sat Feb 8 18:16:19 2014 +0530 Add option parser to rbldns-data Introduced option parsing support in 'rbldns-data' tool. This helps to have a consistent user interface across all 'ndjbdns' tools. Also enables us to add new options if required and suppresses compiler warning about unused parameter - 'argc'. Did minor change to 'rbldns' server to suppress compiler warning about an unused parameter: 'ip'. commit b689cd6b018120409be9e0429a7fc1b51159dd53 Author: P J P Date: Sat Feb 8 12:28:58 2014 +0530 Bye bye libgetopt.a Removed 'libgetopt.a' option parser library, as it is no longer in use. It was linked to the dnsfilter(1) program which has been using the standard getopt_long(3) for quite long. commit 16cb625eccbd68045737729792f09b4945a4b508 Author: P J P Date: Fri Feb 7 22:49:27 2014 +0530 Merge dnscache siphash patch This patch adds support for a new 'SipHash' hashing algorithm which is less prone to the hash collisions than the earlier deterministic 'djb33' function. 'SipHash' is a fast, pseudo random function. It uses 128 bit key and outputs 64 bit values. It provides protection against intentional hash flooding and DoS via hash collision attacks. Thanks to Mr Frank Denis for creating this patch and for making it available for all. -> https://00f.net/2012/06/26/dnscache-poisoning-and-siphash/ commit e3e067cb9764871ea8fb2dcccfb954eaa6bd48c2 Author: P J P Date: Wed Feb 5 22:40:53 2014 +0530 Merge one second patch This patch reverses the changes made by commits f7ac43f71f22 and 5954968dd8ee. In these, the tinydns(8) server was made to read its data file ones during initialisation and later when signalled via SIGUSR1. Though it improved performance, it proved to be problematic for some users who could not signal(SIGUSR1) to a server that its data file has changed and needs to be reloaded into memory. Now with the one-second-path, server would reload its data file at every one second. Thus leaving no need for any signal or restarting the service. Thanks to Mr Lennert Buytenhek for creating this patch and for making it available for all. -> http://tinydns.org/one-second.patch commit 67d967beed10ad1b01ac7ee48b9903cbf5215130 Author: Rahul Sundaram Date: Mon Dec 30 22:37:29 2013 +0530 Replace include guards with pragma once Replaced include guards, used to prevent multiple inclusion of header files, with the '#pragma once' compiler directive. It is better optimised and helps to reduces the build time. commit 4c94e027b194b44ca8a2dab98ab3e20269e8f42b Author: P J P Date: Thu Dec 26 17:10:55 2013 +0530 Update dnscache manual Updated dnscache(8) manual to add details about the new DNS Block List feature. commit bd5fd0a0b87b5810d303a4ae2528f69d6462c727 Author: P J P Date: Tue Dec 17 01:12:32 2013 +0530 Version changed to 1.05.9. Changed version.h, configure.ac and RPM spec file to upgrade version to 1.05.9. commit ee4112a702e22d447d9cd7bd31b880eacfe59a5e Author: P J P Date: Tue Dec 17 00:33:01 2013 +0530 Fix a null pointer dereference issue Updated the 'socket_send4' routine to fix an unlikely, yet possible null pointer dereference issue. It could occur if the two macros below are undefined struct cmsghdr *cmsg = NULL; #ifdef IP_PKTINFO ... cmsg = CMSG_FIRSTHDR (&msgh); #elif defined IP_SENDSRCADDR ... cmsg = CMSG_FIRSTHDR (&msgh); #endif msgh.msg_controllen = cmsg->cmsg_len; It was caught by a cppcheck(1) run. Thanks to Rahul Sundaram for reporting this issue. commit 9538505f6e103c261df917f14aef5ce014275886 Author: P J P Date: Sat Dec 14 23:04:40 2013 +0530 New error code - error_blockedbydbl Defined a new error code 'error_blockedbydbl' to identify the queries that were dropped by the dnscache(8) resolver. The resolver logs this error code along with an error message, for each dropped (or blocked) client request. commit 7195aab198a6c095086f353bcfd078447bce0678 Author: P J P Date: Sat Dec 14 22:29:02 2013 +0530 Introduce DNS block list in dnscache(8) Introduced support for a DNS block list in dnscache(8) resolver. DNS block list is a list of domain names which are to be blocked by the resolver. Client requests querying for such domain names are dropped by the resolver. This would add an additional layer of security for DNS clients and would also help reduce malicious traffic. DNS block list is a 'cdb' database created using tinydns-data(1). tinydns-data(1) creates the 'cdb' database by reading a 'data' file. User should list the malicious domain names into this 'data' file, as generic domain records, one on each line, as: :bad.domain.com:284:::: Number '284' is not used, it can be anything > 255. tinydns-data(1) would create a 'data.cdb' database from the 'data' file. Rename this 'data.cdb' to 'dnsbl.cdb', for that is the file read by dnscache(8) resolver. $ mv data.cdb dnsbl.cdb dnscache(8) would read 'dnsbl.cdb' from its working($ROOT) directory defined by the /etc/ndjbdns/dnscache.conf file. commit 00dedb6c877ebbfd23d15ff3d2366ab636b84065 Author: P J P Date: Sat Dec 14 13:16:03 2013 +0530 Format sources for better readability and editing. Changed cdb_*.[ch] to format it for easy reading and editing. commit 7c0e7484455e0032ecab19db088a2db55dc8798c Author: P J P Date: Fri Dec 6 22:09:15 2013 +0530 Retire pickdns server & tools Retired the 'pickdns' load balancing DNS server and its aide tools; As they are not installed and are no longer in use. commit 2cfff1e4e42b73bcf5aaee43657e35d4c5943c55 Author: P J P Date: Fri Dec 6 17:00:12 2013 +0530 Update axfrdns' xinetd & systemd configurations axfrdns(8) server depends on Xinetd(8) or Systemd(1) like services to create a network socket and start the daemon process. axfrdns(8) need not fork a sub-process to start this daemon. Changed axfrdns(8) server to avoid creation of a daemon process; And to only direct its standard error(STDERR_FILENO) descriptor to a log file. As standard output is directed to a network socket by its parent process. Also tweaked the xinetd(8) & Systemd(1) configurations to toggle the 'wait' parameter and to pass '-D' server argument. Thank you Edwin Eefting(github.com/psy0rz) for a comprehensive patch review and for helping to fix the axfrdns(8) server. :) commit 045c42b756944024a49b85b90a16529b6452c276 Author: P J P Date: Fri Dec 6 16:44:22 2013 +0530 Accept flag parameter in redirect_to_log Earlier 'redirect_to_log' routine used to direct both 'stdout' and 'stderr' of a server to its log file. But axfrdns(8) server requires only 'stderr' to be redirected to its log file. Because 'stdout' is redirected to a network socket by Xinetd(8) or Systemd(1) service. Changed 'redirect_to_log' routine to accept a flag parameter. It'll decide which standard descriptors to redirect to a log file. It could be an 'OR' of 'STDOUT_FILENO' & 'STDERR_FILENO'. Changed the server sources to pass this new parameter while calling 'redirect_to_log' routine. commit e365d9619e739d966efc6c0fb59ef56f5c51f8ad Author: P J P Date: Fri Dec 6 15:12:20 2013 +0530 Update sysconfig file name in SysV init scripts SysV init scripts of root servers was wrongly attempting to read configurations from /etc/sysconfig/usr/sbin/ file. As the '$prog' variable is set to point to /usr/sbin/. [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog Fixed it by making it point to => /etc/sysconfig/${prog##[a-z/.]*/}. Thank you Matthias(github.com/matthias2) for reporting this issue and creating a patch. commit 1ff154792b66664e6664f8a66d1f6fdf6caf8408 Author: P J P Date: Wed Dec 4 22:35:32 2013 +0530 Remove SysV init script for axfrdns The zone transfer server axfrdns(8) used to depend on a 'tcpserver' for its invocation. Commit '145d89d9bb' added Systemd(1) and Xinetd(8) support for the same. Removed 'axfrdns.sh' script, as it's no longer required. commit 74f98e400467a89af363707ceeb43310dcf74041 Author: P J P Date: Wed Dec 4 22:05:39 2013 +0530 Remove logger qlog The root server tools had a separate logger in 'qlog.[ch]'. It was merged with the client side logger 'log.[ch]' by commits: 4993e5517d, 06303f4f10 & 53e8c429f3. This was done to unify the sources and make log format consistent across client & server tools. It simplifies maintenance too. Removed 'qlog' sources qlog.[ch], as they are no longer required. commit 3d6756e07666e4912da0ae6aeb0c6c921d76bebf Author: P J P Date: Wed Dec 4 12:51:30 2013 +0530 Fix minor typo in tinydns' user manual Fixed a minor typo in tinydns' user manual: signaled => signalled. commit 145d89d9bb03f9675c57cd299bf3e14b513402d7 Author: P J P Date: Wed Dec 4 12:43:37 2013 +0530 Enable Systemd(1) & Xinetd(8) support for axfrdns Added Systemd(1) & Xinetd(8) configurations to support invocation of the axfrdns(8) zone transfer server. It used to depend on a xinetd(8) like service called 'tcpserver' for creation of a network socket. Now the same is done via Systemd(1) & Xinetd(8) services. Also changed axfrdns server to redirect debug messages to a log file when running as daemon. commit 5954968dd8ee195b733b8588958fa9aff5a1c6c0 Author: P J P Date: Sun Dec 1 12:48:57 2013 +0530 Read data.cdb on signal SIGUSR1 Commit 'f7ac43f71f22' changed 'respond' routine to read 'data.cdb' file ones before serving any requests. This patch adds support to enable reloading of the 'data.cdb' upon receiving signal SIGUSR1. This will help tinydns(8) server to serve up-to-date information without having to restart. Updated manual page for tinydns(8) to document this change and usage of signal SIGUSR1. commit 4993e5517d839226e5ffb4ae3343a8393d70f46a Author: P J P Date: Sun Dec 1 00:52:13 2013 +0530 Replace 'qlog.c' with 'log.c' logger Modified Makefile.am to replace 'qlog.c' with 'log.c' logger. 'log.c' has unified all the logger routines used by both client & server tools. 'qlog.c' shall be deprecated in future. commit f7ac43f71f226238485903b2aa10bcafcbf4c46d Author: P J P Date: Sun Dec 1 00:39:20 2013 +0530 Read data.cdb ones during initialisation Changed the 'respond' routine in 'tdlookup.c' to initialise the 'struct cdb' object ones before serving the very first client request. Subsequently, the server serves client's requests from its memory, instead of opening & closing the data.cdb file for each query. The server will need to be restarted when its data file changes. commit dacbcae69ee8d20b22c42334d3385e0172f2cace Author: P J P Date: Sun Dec 1 00:33:01 2013 +0530 Update logger routine calls Updated various client & server tools to modify their logger routine calls to supply query number 'qnum' parameter by value instead of by reference. As there is no use for this reference. commit 06303f4f1063dbe03e7507d196413bcf586659d0 Author: P J P Date: Sun Dec 1 00:19:20 2013 +0530 Revert commit b06164c01d3c400 Reversed changes made by commit 'b06164c01d3c400', by redefining the logger routines: number, string, logtype etc. These shall be reused & shared by both client as well as root server tools. Another logger 'qlog.[ch]' shall be deprecated in future. This'll help to unify & maintain the logger routines in one place. Also changed prototype of functions: log_query, log_querydone and couple of others to accept query number 'qnum' parameter by value instead of by reference. There is no use for qnum's reference. commit 53e8c429f3659c244f59599a8820865199103f2d Author: P J P Date: Sat Nov 30 23:49:38 2013 +0530 Revert commit 9aa7a10db6e3cf4 Reversed changes made by commit '9aa7a10db6e3cf4', by moving the said logger functions: number, string, logtype etc. to their original place - log.c. As 'log.c' logger routines shall be shared by both resolver as well as root server tools. This will help to define consistent log format & to unify the logger sources. The server logger 'qlog.c' shall be deprecated. commit 6a1959a0a877c24242b592269d7e8aa80bf21ae8 Author: P J P Date: Sat Nov 30 13:07:11 2013 +0530 Format sources for better readability and editing. Changed cdb.[ch] to format it for easy reading and editing. Also replaced function 'cdb_findstart' with a namesake macro, for it's better suited to be macro than a routine. commit 574164ff1e8b2759ee56fb5552b3854c85268c11 Author: P J P Date: Sat Nov 30 12:43:03 2013 +0530 Format sources for better readability and editing. Changed tdlookup.c to format it for easy reading and editing. commit c6d12e08da738735a659a5f28eb0e3380625851c Author: P J P Date: Sun Nov 24 00:26:45 2013 +0530 Pass query number parameter 'qlog' routine was improved to accept query number parameter for logging purposes. Changed the 'axfrdns' & 'tinydns' server routines to define & update query number and pass the same to the 'qlog' routine, so that logs are numbered by incoming queries. commit 4f65e3f0d38435ecddde5f0f02d6cb978cd0cd97 Author: P J P Date: Sun Nov 24 00:17:50 2013 +0530 Improve root server's log structure Changed 'qlog.c' routines to improve tinydns' and its cousin server's log structure for better comprehension. Added timestamps, query number; And replaced hexadecimal values with human readable decimals. Also did little source formatting to make it more readable. commit b06164c01d3c400972a071bad3d08573db16d8a5 Author: P J P Date: Sun Nov 24 00:03:22 2013 +0530 Move reusable routines to common.c The dnscache's logger, log.c, defined few functions which are useful for other DNS servers too. So moved those functions: 'number', 'string', 'logtype', etc. to common.c. Also did little source formatting to make it more readable. commit 9aa7a10db6e3cf4b61c234f1340f1d853fac01fe Author: P J P Date: Sat Nov 23 23:23:53 2013 +0530 Add few common functions The dnscache's logger, log.c, defined few functions which are useful for the tinydns' & its cousin's logger too. These functions are used to log values in human readable form, rather than cryptic hexadecimal notation. These functions: 'number', 'string', 'logtype', etc. are moved from log.c to common.c so that they could be reused & share by all DNS servers. commit 80f7c44c54e6f9d36524a6425f50bfffe9471ee5 Author: Andrew Martin Date: Sat Nov 23 00:10:08 2013 +0530 A minor typo in README Fixed a minor typo in README: dnscahce(8) => dnscache(8). commit aa9ec75b8e7e42cccb1f95d2b34d53359a080ffe Author: P J P Date: Tue Oct 8 23:22:23 2013 +0530 Fix a cppcheck warning. Minor change to 'getline' routine to declare variable 'c' as an integer, instead of a character. This helps to suppress cppcheck(1) warning message. Issue reported by David Binderman. commit f07f9deddf410ab392740fc2d3f3e299728ec396 Author: P J P Date: Tue Oct 8 11:20:21 2013 +0530 Minor fixes to suppress warnings & remove comments. Changed common.c to remove compiler/cppcheck warnings. And removed commented sources from socket_recv.c & socket_send.c routines. commit 768ca61b961b610c2a1673523c19938f29ed46f1 Author: P J P Date: Tue Oct 8 10:48:17 2013 +0530 Update GNU build system's auto-generated files. autoreconf(1) tool updated GNU build system's configuration files with the latest ones from the system. $ autoreconf -ivf commit 7385de73a057e5850d13dcd658a8748b7c2e6ca4 Author: P J P Date: Sun Sep 1 14:17:28 2013 +0530 Version changed to 1.05.8. Changed version.h, configure.ac and RPM spec file to upgrade version to 1.05.8. commit f6dc90335d34edb7da2199f94c05d124e0ded44e Author: P J P Date: Sat Aug 24 15:57:35 2013 +0530 Add After=network.target to Systemd unit files Updated Systemd unit files to add 'After=network.target' clause to the [Unit] section. This will prevent DNS services to come up before the network service and thus avoid possible failure to start. -> https://bugzilla.redhat.com/show_bug.cgi?id=999753 commit 2bbb9bd5e7430ad147dac5fffb7ad97263e436c4 Author: P J P Date: Thu Jun 13 16:59:16 2013 +0530 Fix an off-by-one error. Changed server.c to not over step the end-of-string marker while reading comma separated list of IP addresses from a configuration file. The issue was that, when the list of IP addresses did not end with a comma(','), server would crash by trying to read an IP address from invalid memory area. commit 5fcebfd819c00b60c42d45b9bc61f1a497227ea5 Author: Miguel Pontes Date: Thu Jun 13 07:54:18 2013 +0100 Fixing wrong previous patch commit 12b80c991f7f97d66746b921739ca93b38bb8269 Author: Miguel Pontes Date: Thu Jun 13 01:18:30 2013 +0100 Fixed reading invalid memory if IP list didn't end with a comma commit 5897c8133eba6bb8fbbe17c729fe5d013dfeecf2 Author: P J P Date: Sun Apr 28 18:57:54 2013 +0530 Update configurations to use servers/roots. Updated server configuration files to remove incorrect usage of `servers/@' file to list root name servers, in the explanatory comments. `servers/roots' file is used to hold the root server list. File `@' is no longer recognised. commit 4783f010c1d3efeb4020d2dcadce3420dce0c488 Author: P J P Date: Sun Apr 28 11:52:16 2013 +0530 Add command to generate configure script. Git repository does not hold files that are generated by build tools, including configure script. So to generate the configure script, one needs to run $ autoreconf -if This step was missing from the README guide, added the same. commit e5b0590741e0f4d0fe0c4d2f78ca97ec3938f702 Author: P J P Date: Sun Apr 28 00:43:05 2013 +0530 Changed log_querydone to accept response parameter. Changed routine `log_querydone' to receive `response' array as parameter. It is used to log response code and number of resource records in the answer section of the response message. Added a new static array to hold text explanation for numeric response codes. Updated dnscache.c to pass response array to `log_querydone'. Also updated log.h header to change prototype for `log_querydone'. commit 726f6ff7017cd7292a4a7dd947a90a26eec8258e Author: P J P Date: Fri Apr 26 12:26:33 2013 +0530 Move dnsroots.global to etc/servers/. Moved global root server list - dnsroots.global - to etc/servers/ directory. Updated the Makefile.am there to create - roots - list using dnsroots.global and bundle `dnsroots.global' in the source tarball. `roots' file is removed after use. This would help to maintain a single consistent list of the top level root servers. commit 99b28c01a1a79e4b7bd79c49cf45e36876f91490 Author: P J P Date: Thu Apr 25 01:01:49 2013 +0530 Convert ANY queries to use TCP sockets. Changed `dns_transmit_start' routine to send requests over TCP sockets when doing `ANY' queries. This helps to mitigate DNS reflection attacks. Patch from Scott Brynen: -> http://marc.info/?l=djbdns&m=135734230220249&w=2 commit 861be852fc073a7b76c60c4033f5500946560f2e Author: P J P Date: Thu Apr 25 00:26:34 2013 +0530 Merge stralloc_* files into one stralloc.c. Merged all stralloc_*.c sources into a single strallo.c file. It's far better and convenient to find all related/similar routines into a single file, than having to shuffle between thousands of tiny files. Thus removed nano files. Updated Makefile.am to compile one stralloc.c, and remove rest of the stralloc_*.c files. commit c75382cac6a06900d5ca123443bc93c86f76ff7e Author: P J P Date: Thu Apr 25 00:12:15 2013 +0530 Merge alloc_re.c to alloc.c Merged file alloc_re.c with alloc.c, leaving alloc_re.c empty. Thus removed file alloc_re.c. commit 21e84c339afdeaad0eec602b72bf7fead1701335 Author: P J P Date: Wed Apr 24 12:35:52 2013 +0530 Set timezone for the server environment. Introduced a function `set_timezone' to set local timezone(`TZ') in the server environment. This is imperative to log accurate timestamps. Because DNS servers run inside a chroot(2) jail, file `/etc/localtime' can not be used to know local timezone information. Numerous - - routines access timezone information from the `TZ' environment variable. If `TZ' is not set, `/etc/localtime' is used for the same. commit 2576f99d7da17185c74785474ce312116ad7dac6 Author: P J P Date: Mon Apr 22 22:55:18 2013 +0530 Enable position independent binaries. Changed Makefile.am to add compiler flag -fPIC and ndjbdns.spec file to add a global macro _hardened_build, which builds position independent code into the binary executables. This makes for more secure binaries. -> https://bugzilla.redhat.com/show_bug.cgi?id=955160 commit 7ee3a22d2a5a9164927a130fca3492c0138fbbba Author: P J P Date: Sat Apr 20 20:17:12 2013 +0530 Improve resolver logs a little. Changed - log.c - routines a little to improve dnscache resolvers' log structure for better comprehension. Added timestamps. Replaced hexadecimal values with human readable decimals. Added few indentations and acronyms - cc: cached, Q: query, R: response, rr: resource record, ss: stats. commit d594c8127e726bef963255ae88d97218975d2385 Author: P J P Date: Sat Apr 20 17:42:04 2013 +0530 Ensure - servers/roots - file is accessible. Updated initialisation routine `init2' to report an error when the global root server list - servers/roots - is not accessible to the resolver. Without the root server list `dnscache' won't be able to function properly. commit bc8ffd4489c9be52ee6f99f7e11da9e3524f9739 Author: P J P Date: Mon Apr 1 18:08:48 2013 +0530 Minor update to logrotate configuration file. Did minor update to the logrotate(8) configuration file to move common directives to the global section. commit 21619628531b2f3026bf72d26d5101cf1d64949b Author: P J P Date: Mon Apr 1 17:35:11 2013 +0530 Update global root server list. Updated the global root server list to add a new server IP and remove an old one. -> https://www.iana.org/domains/root/servers $ dig @198.41.0.4 | grep -w 'A' | tr -s '\t' ' ' | cut -d ' ' -f5 | sort commit be5fd0c90376b5c89e5b5dc3d57f64d905afe519 Author: P J P Date: Fri Mar 22 00:47:17 2013 +0530 Update logrotate configuration to retain log file. Updated logrotate(8) configuration to retain the original log file but copy its content to a new rotated file and truncate the old file. This fixes bug BZ#917560. The glitch was, logrotate(8) would rename an old log file. But the server would continue to append logs to the same rotated file, instead of creating the default one, because it already has an open file descriptor of the old file. The `copytruncate' directive tells logrotate(8) to copy an old file, instead of renaming it. -> https://bugzilla.redhat.com/show_bug.cgi?id=917560 commit 61b7709ed15ec6362e5eb62114ae9d34e2296aae Author: P J P Date: Wed Mar 20 23:07:44 2013 +0530 Update logrotate config to include walldns log. Updated logrotate(8) configuration file to include walldns server's log file. commit 89fc5f9a3b84981ecf82790a22a87c631e2cc493 Author: P J P Date: Wed Mar 20 23:00:56 2013 +0530 Update RPM spec to remove old server files. Updated RPM specification to remove old server executables and user manuals which are now installed under ../sbin/ and ../man8/ directories. This would help during - # yum update. commit e007ce320571c7eaf75ae2f6fac4394ccb6a1653 Author: P J P Date: Tue Mar 12 23:36:45 2013 +0530 Version changed to 1.05.7. Changed version.h, configure.ac and RPM spec file to upgrade version to 1.05.7. RPM spec file also updated to install walldns and remove commands to intstall systemd unit files. commit e8ab14e06a66f032483f81705d510f22da739e67 Author: P J P Date: Tue Mar 12 18:51:32 2013 +0530 Add support to bind to 0.0.0.0 on multi-home server. On multi-home machines, when server is bound to address 0.0.0.0, it accepts incoming requests on all interfaces(addresses), but tends to respond to those requests from different interfaces, on which the requests were NOT received at all. This causes client connections to time out after some time. [1] This happens because of something called - Weak Host Model - followed by Linux from ages. [2] This patch updates socket_send4 & socket_recv4 routines to use sendmsg(2) & recvmsg(2) functions respectively. For these functions provide the original destination address on which the request was received, which can then be used while responding to those requests. [3] Thanks to Mark Johnson for pointing me to this solution. Also many thanks to Simone Caronni for filing the bug and helping me with the testing. --- [1] https://bugzilla.redhat.com/show_bug.cgi?id=917580 [2] http://technet.microsoft.com/en-us/magazine/2007.09.cableguy.aspx [3] http://bert-hubert.blogspot.in/2012/10/on-binding-datagram-udp-sockets-to-any.html commit d05a0eae202722617f2c2df6a7843a6e38b7ba7b Author: P J P Date: Tue Mar 5 21:54:39 2013 +0530 Update README to the latest version. Updated readme manuscript and README file with few minor changes to the latest version. commit 19344317f331d08d4fd1dd6335ce7e5df48a41eb Author: P J P Date: Sat Mar 2 23:28:50 2013 +0530 Introduced two new variables for axfrdns server. Added two new configuration variables TCPREMOTEIP & TCPREMOTEPORT to the axfrdns server configuration. Added couple of debug statements to display configuration parameter values. commit cec3b4ddd08ba800ae7aa1e292d7b6335243dcb9 Author: P J P Date: Sat Mar 2 22:48:47 2013 +0530 Patch to make servers listen on multiple interfaces. Changed servers.c to enable root servers to listen and accept connections on multiple IP interfaces/addresses. Added comments to the server configuration files about defining CSV list of IP addresses for server to listen on. Changed Makefile.am to compile & link iopause routines to servers. http://ftp.uni-erlangen.de/pub/mirrors/gentoo/distfiles/djbdns-1.05-multiip.diff commit a22266c7dedea66e6eac0a7fee6152cf8a501add Author: P J P Date: Sat Mar 2 16:35:22 2013 +0530 Update server path in systemd unit and Sys-V init files. Changed Systemd unit and Sys-V init files to load servers from `sbin' directory, instead of the bin. Changed user manual entries in systemd unit files to refer to section 8. commit 405aa38b964830547213433f714075b51b602e04 Author: P J P Date: Sat Mar 2 14:45:50 2013 +0530 Move servers under sbin and their manuals to section 8. Changed Makefile.am to install server executables under `sbin' directory and their user manuals under section 8. Other non-server binaries continue to reside under `bin' directory. commit e79b84fed6fbaaa2d1e3eb42cf805b1d74e78b38 Author: P J P Date: Thu Feb 28 00:45:32 2013 +0530 Move server user manuals to section 8. Updated server user manuals to move from section 1 to section 8. commit a6c7b221c4a71d4ef7739e81fc0b7933523f252d Author: P J P Date: Wed Feb 27 20:36:47 2013 +0530 Fix misspelling - SYNOPSYS. Updated user manual manuscript files to fix typo SYSNOPSYS -> SYSNOPSIS. commit 785ecdffee05f85382ca5b27107d6351d27db452 Author: P J P Date: Wed Feb 27 20:30:13 2013 +0530 Systemd unit file, Sys-V init script and manual for walldns. Added new systemd unit file, Sys-V init script and user manual for the walldns reverse DNS server. Updated relevant Makefiles to build and install these new files appropriately. commit a5c3e42b033001fcae4a06ebcfeb66f77c784a30 Author: P J P Date: Tue Feb 26 20:33:55 2013 +0530 Build walldns reverse DNS server. Updated walldns source and Makefiles to build and install the reverse DNS server. Added file walldns.conf for the walldns server. commit d31fea267289f3cf24edfdc3f2a1460ff3d25273 Author: P J P Date: Tue Feb 26 20:06:36 2013 +0530 Update ip4_fmt routine to be concise. Changed ip4_fmt routine to be easy to follow and concise. commit 7ad3c62914cabbd472ca3ff3180909bd01c39f91 Author: P J P Date: Sun Feb 24 23:40:36 2013 +0530 Add pkg-config check for systemd. Changed configure.ac to add pkg-config test to see if systemd exists or not. When it does, AM_CONDITIONAL defines a variable, which is then used to conditionally build & install systemd unit files or init.d script files. commit 18650b2f31b65adff6df1e0aa49f3e54daa1712b Author: P J P Date: Sun Feb 24 23:24:06 2013 +0530 Systemd directory to install unit files. Added a new systemd directory to hold & install unit files appropriately under prefix/lib/systemd/system folder. Systemd unit files are installed only if the host machine has support for it. commit d95093874b614203a2605c153f36e8bc86dc15e3 Author: P J P Date: Sun Feb 24 12:32:07 2013 +0530 Update ip4_scan routine to be concise. Changed ip4_scan routine to be easy to follow and concise. commit b25bcbe2ebbd36208a3199a76036d6bcfcf4a608 Author: P J P Date: Sun Feb 24 12:13:04 2013 +0530 Remove reference to syslog in systemd unit files. Updated systemd unit files to remove references to syslog via StandardOutput directive. It is no longer required as all daemon's stdout and stderr are by default directed to syslog or now systemd-journal since systemd v38+ or F17. commit ff3e1965e16da053ed1a2bc52ac15a8b6219b34a Author: P J P Date: Sat Feb 23 22:08:45 2013 +0530 Fix dnscache bug of ignoring ../servers/mydomain.com configurations. Updated roots.c to fix a bug which would cause it to incorrectly read domain specific authoritative server configurations from ..servers/mydomain.com files. It was caused by incorrect initialisation of couple of counter variables: j and serverslen. Added new routines to display authoritative server configurations read by dnscache and stored in main memory. When dnscache server is invoked with -d4 option, it displays root server configurations. -> https://bugzilla.redhat.com/show_bug.cgi?id=913651 commit 4bda7b225f00b5dfa6c264ee6d9ceaaba815a2ad Author: P J P Date: Sat Feb 23 21:46:47 2013 +0530 Format sources for better readability and editing. Changed openreadclose.c, readclose.c and scan_ulong.c sources to format it for easy reading and editing. commit 072c2eab2203d419abf88ef389927610aee6d186 Author: P J P Date: Sun Jan 20 17:45:02 2013 +0530 Merge spec file changes from Fedora repository. Merged RPM spec file changes from the Fedora repository. commit 9b7188fd0679b7fbf907909d527131c3c3ea726e Author: P J P Date: Sun Jan 20 15:58:51 2013 +0530 Version changed to 1.05.6. Changed version.h, configure.ac and RPM spec file to upgrade version to 1.05.6. commit b005455e71385bee8173c3c2e030bb9f4b58472f Author: P J P Date: Sun Jan 20 14:56:59 2013 +0530 Remove compiler warnings - 09. Changed to fix compiler warnings about signed unsigned integer comparison. commit 88a209692b7c4109ed54fdcc54091fd321b51a30 Author: P J P Date: Sun Jan 20 14:51:00 2013 +0530 Remove compiler warnings - 08. Changed data types to fix compiler warnings about argument type mismatch. commit 9f6d7d86be53f18d6e55a96b1b447d53b99135af Author: P J P Date: Sun Jan 20 14:42:58 2013 +0530 Remove compiler warnings - 07. Changed to fix compiler warnings about signed unsigned integer comparison. commit 2bb265688392a83a02ae8f045d1534bfe44855da Author: P J P Date: Sun Jan 20 14:32:47 2013 +0530 Remove compiler warnings - 06. Changed to fix few compiler warnings about signed unsigned integer comparison. commit 3d9a63fdb15449d1b24ce910834a96cf5f2ceb23 Author: P J P Date: Sun Jan 20 13:57:52 2013 +0530 Remove compiler warnings - 05. Changed to fix few compiler warnings about signed and unsigned integer comparison. commit 513c967f2ad171f517626fa4bbed95a89202617e Author: P J P Date: Sun Jan 20 13:50:42 2013 +0530 Remove compiler warnings - 04. Changed to fix few compiler warnings about signed unsigned integer comparison. commit 782a5e8bb58147cba655b254a802e48a149e2e5f Author: P J P Date: Sun Jan 20 11:35:06 2013 +0530 Remove compiler warnings - 03. Minor changes to dns_rcip.c, dns_rcrw.c & dns_transmit.c to fix compiler warnings about signed unsigned integer comparison. commit c3c06ec13395a702c16c6bce8bde746dd4387001 Author: P J P Date: Sun Jan 20 11:28:18 2013 +0530 Remove compiler warnings - 02. Changed cdb.c and common.c to fix compiler warnings about signed unsigned integer comparison. commit 3ead70d001eb64745e40a1b3df83bbc994a6b28e Author: P J P Date: Sun Jan 20 11:23:45 2013 +0530 Remove compiler warnings - 01. This patch is to fix complier warnings about unmatched argument types using type casting. commit 7606dc091374ee36f50d62e77f9b2e6ff6db246a Author: P J P Date: Sun Jan 20 11:17:48 2013 +0530 Consolidate libbuffer sources into singe file. Merged libbuffer.a sources into a single source file buffer.c. This helps to sift through different function definitions while debugging or tracing function call sequence etc. Removed the now empty source files. Changed Makefile.am to remove unnecessary sources from the dependency list. commit 669571e852fce423c113f11bf3cf6a25f0fbdbe3 Author: P J P Date: Mon Jan 14 21:22:49 2013 +0530 Update RPM spec file to include rbldns tools. Updated RPM specification to install rbldns server and related systemd unit or Sys-V init script files as required. Also changed system services' name to remove appending `d', that used to imply system daemon status. commit c8596a5e2074537bc07a54588b86e3d8009c09d2 Author: P J P Date: Mon Jan 14 20:51:13 2013 +0530 New system unit and Sys-V init files for rbldns. Added new systemd unit and Sys-V init script files for the rbldns server. Updated Makefile.am to include rbldns.service file in the distribution tar file. commit 3ec0498cb4dc0e67b834b65cd7282830c6d10408 Author: P J P Date: Mon Jan 14 20:36:58 2013 +0530 Rename system services after server executables. Changed the Sys-V init script names to match the server executables by removing the last `d' implying system daemon. Changed the Makefile to write appropriately named files. commit e512652bddf9d081e7f8bc85cb5e8eef8f3ccb3e Author: P J P Date: Mon Jan 14 20:26:52 2013 +0530 Rename server log files to servername.log. Changed the server log file name to servername.log instead of naming it after the system service name with an appended `d'. commit c90dbbbac5622e2744733f39e037263e63b51266 Author: P J P Date: Sun Jan 13 23:38:33 2013 +0530 Patch to fix ghost domain attack vulnerability. Applied a security patch to fix ghost domain attack vulnerability CVE-2012-1911, BZ#838761. -> http://marc.info/?l=djbdns&m=134269902121506&w=2 The original patch was written by Mr Peter Conrad. While the issue was created by Mr Mark Johnson. Sincere thanks to both Mark & Peter. commit 26bc58efda05e15ecddfe3fbf61d2a00a05f31bc Author: P J P Date: Sun Jan 13 23:32:40 2013 +0530 New manuals for rbldns and rbldns-data. Added new user manuals for the rbldns and rbldns-data tools. Updated Makefile.am to add these new manuscripts to the build & install targets. commit cfeaa157246d41849375ef3e2ab2b9bc45604af5 Author: Simone Caronni Date: Fri Dec 28 01:04:53 2012 +0530 Disable system services for all run levels. Changed Sys-V init scripts to disable system service by default on all run levels. Also made required changes prescribed by the Fedora packaging guidelines. -> https://fedoraproject.org/wiki/Packaging:SysVInitScript commit 0a31ea6f04edc3b0ed3f502615f91b8ae7f58674 Author: P J P Date: Thu Dec 27 23:44:54 2012 +0530 Add configuration support to rbldns server. Changed rbldns server to read configuration settings from file rbldns.conf under /etc/ndjbdns/ directory. Added new configuration file and changed Makefile.am to include and install the new file. commit 86a626a964e21f66b167ba84aacdd72254083d19 Author: P J P Date: Thu Dec 27 18:37:59 2012 +0530 Build rbldns & rbldns-data servers. Changed rbldns and rbldns-data tools format the source. Updated Makefile to build and install the two programs. commit 03a6aa6934eb3b896ea4486cfbecbbebe05dc119 Author: P J P Date: Thu Dec 27 01:44:20 2012 +0530 Define uint32 to be 32-bits wide, always. Added autoconf macro AC_TYPE_UIN32_T and included stdint.h in uint32.h to add definition for uint32_t type. It is essential that - uint32 - data type be always 32-bits wide for correct functioning of the DNS tools. commit a972bfebd3af1ce5057c00a4b9741862552116fe Author: P J P Date: Wed Dec 26 23:02:59 2012 +0530 Removed -Xlinker -s compiler flag. Removed -Xlinker -s compiler flag from the Makefile. It caused a regression by stripping the generated ELF files too early. -> https://bugzilla.redhat.com/show_bug.cgi?id=890352 commit 57058436d47b9e16ae8eef1b8b95f141dadf7b8e Author: P J P Date: Sun Dec 23 15:52:10 2012 +0530 Version changed to 1.05.5 Changed configure.ac and version.h to upgrade version to 1.05.5. commit bf2fa309e2be7e49304c5dd010a94a613ec2905f Author: P J P Date: Sun Dec 23 15:27:37 2012 +0530 Changed RPM spec file to support multiple OS releases. Changed the ndjbdns RPM spec file to support different OS releases like latest Fedora with systemd service units and old RHEL platforms with Sys-V init scripts. Also changed version string to 1.05.5. Patch was submitted by Mr Simone Caronni to this effect -> http://slaanesh.fedorapeople.org/ndjbdns.spec commit 40bc2b157a611826678e1f543a75364af1c885d6 Author: P J P Date: Sat Dec 22 20:05:52 2012 +0530 Changed configure.ac to list new Makefile. Changed configure.ac to list etc/init.d/Makefile to the list. commit 8539e5aeb2b00ffb0573e853def7070d42da0655 Author: P J P Date: Sat Dec 22 19:38:16 2012 +0530 Update Makefile.am to not install Sys-v init scripts. Changed Makefile.am to not create and install Sys-v init scripts. These files are moved to etc/init.d/ directory. commit c2a5cdacb09c712b491bd45309cdfc2e0501cbfe Author: P J P Date: Sat Dec 22 19:28:04 2012 +0530 New directory init.d for Sys-v init scripts. Added new directory init.d under etc/ to store Sys-V init script files. This files are installed under sysconfdir/rc.d/init.d. Changed etc/Makefile.am to add init.d directory to the list of subdirectories to process. commit 038f3caf0f02905ff5ff48b73811a46d27ba78a6 Author: P J P Date: Sat Dec 22 13:13:19 2012 +0530 New variable DEBUG_LEVEL. Introduced a new variable DEBUG_LEVEL for the server configuration. It is useful for changing debug output of system services without editing the systemd unit of Sys-V init files. Moved an enum definition to common.h, for it is shared by all the DNS servers. commit 3200d59f976e62b2e66927f0d61fc88d8f469a21 Author: P J P Date: Sat Dec 22 13:08:58 2012 +0530 Read DEBUG_LEVEL from configuration file - axfrdns. Changed axfrdns server to read DEBUG_LEVEL parameter from the configuration file, in cases when `-d' command line option is not supplied. When defined, command line option value supersedes the configuration file value. This is useful for changing debug output of system services without editing systemd unit of Sys-V init files. commit 1d6f145d8c6163e8bc7d09e5d18a8d3aa87c63d4 Author: P J P Date: Sat Dec 22 13:03:55 2012 +0530 Read DEBUG_LEVEL from configuration file - tinydns. Changed tinydns server to read DEBUG_LEVEL parameter from the configuration file, in cases when `-d' command line option is not supplied. When defined, command line option value supersedes the configuration file value. This is useful for changing debug output of system services without editing the systemd unit or Sys-V init files. commit d8743dde4c9519d09d969b2839d1dc83486fc2ed Author: P J P Date: Sat Dec 22 12:56:50 2012 +0530 Read DEBUG_LEVEL from configuration file. Changed dnscache server to read DEBUG_LEVEL parameter from the configuration file in cases when `-d' command line option is not supplied. When defined, command line option value supersedes the configuration file value. This is useful for changing debug output of system services without editing the systemd unit or Sys-V init files. commit 1a3b7833de9b41a629c3ef8f4aa6407698dad476 Author: P J P Date: Sat Dec 22 12:49:05 2012 +0530 Redirect systemd service logs to syslog. Changed systemd service units to direct DNS service logs to the system log file - /var/log/messages - via syslog; And start services in non debug mode, without -d option. commit 1a3e98d82ee6eabfb3f6ac0eb7858b71652c36bf Author: P J P Date: Wed Dec 19 23:50:59 2012 +0530 Remove configuration file: pickdns.conf Removed the pickdns-conf configuration file as pickdns is no longer in use, and hence not installed any more. Updated Makefile.am to not create/install/bundle pickdns.conf. commit 6d5d3618c5d0e8ea02e0567157841fcdbfdca713 Author: P J P Date: Wed Dec 19 23:33:31 2012 +0530 Re-enable Sys-V init scripts for servers. Re-enabled old Sys-V init scripts for the dnscache and tinydns servers and added a new one for the axfrdns zone transfer server. This change is to make ndjbdns services to work on old RHEL 5 & 6 installations, which don't support the systemd unit files. Patch was submitted by Mr Simone Caronni to this effect -> http://slaanesh.fedorapeople.org/ndjbdns.spec Sincere thanks to Mr Caronni for the patch. commit 4a893e4913af0761965293ad17c7cbf09bfbec5f Author: P J P Date: Wed Dec 19 20:13:42 2012 +0530 No install pickdns & pickdns-data. Removed pickdns and pickdns-data from the install list as its function is incorporated into tinydns server, making pickdns redundant, see -> http://marc.info/?l=djbdns&m=105658967803056&w=1. commit e0ebf5b703d6df9073a096a9055ec432883fe3aa Author: P J P Date: Wed Dec 19 19:58:59 2012 +0530 Define new parameter into dnscache.conf. Defined a new configuration parameter: MERGEQUERIES=1 into the default dnscache.conf file. To disable it, unset this parameter as -> MERGEQUERIES= OR comment out its definition. commit 38e0616626440e09f770fc755560adaf8263ec3f Author: P J P Date: Tue Dec 18 23:47:51 2012 +0530 New configuration parameter: MERGEQUERIES Introduced new configuration parameter: MERGEQUERIES to enable or disable merging of identical outgoing request into a single query. It could be defined in the /etc/ndjbdns/dnscache.conf file. commit 177b5522e9b3d25778001c8cebfddd4d2973fcfd Author: P J P Date: Tue Dec 18 23:39:23 2012 +0530 Merge identical outgoing requests - patch 2. This patch fixes dnscache to combine *same* client queries into one single outgoing request, thus securing the server from possible cache poisoning attacks. The merges operation takes place in the dns_transmit layer, rather than between query and dns_transmit layers, as done in the previous patch. This fixes one of the cache poisoning vulnerability reported by Mr Mark Johnson -> https://bugzilla.redhat.com/show_bug.cgi?id=838965. Nonetheless the original patch for this issue was created by Mr Jeff king -> http://marc.info/?l=djbdns&m=123859517723684&w=3#2 Sincere thanks to Mr Mark for reporting this issue and Mr Jeff for creating the patch and releasing it under GPLv2. commit 217fdf6ef43a6e6db74d81b997b4615b1e7b5df8 Author: P J P Date: Tue Dec 18 22:40:28 2012 +0530 Undo previous identical query merging patch. Reverted the previous query merging patch so as to apply the latest one from -> http://marc.info/?l=djbdns&m=123859517723684&w=3#2 commit 847523271f3966cf4618c5689b905703c41dec1c Author: P J P Date: Mon Dec 10 14:45:29 2012 +0530 Merge identical outgoing requests. This patch fixes dnscache to combine *same* client queries into one single outgoing request, thus securing the server from possible cache poisoning attacks. This fixes one of the cache poisoning vulnerability reported by Mr Mark Johnson -> https://bugzilla.redhat.com/show_bug.cgi?id=838965. Nonetheless the original patch for this issue was created by Mr Jeff king -> http://www.your.org/dnscache/ Sincere thanks to Mr Mark for reporting this issue and Mr Jeff for creating the patch and releasing it under public domain. commit ef1875907a0e3cf632f66c3add91f08543c74f3c Author: P J P Date: Sun Dec 9 21:21:21 2012 +0530 Make Start of Authority(SOA) responses cache-able. This patch fixes dnscache to cache SOA responses sent to clients. This fixes one of the cache poisoning vulnerability reported by Mr Mark Johnson -> https://bugzilla.redhat.com/show_bug.cgi?id=838965. Nonetheless the original patch for this issue was created by Mr Jeff king -> http://www.your.org/dnscache/ Sincere thanks to Mr Mark for reporting this issue and Mr Jeff for creating the patch and releasing it under public domain. commit 9119bbb36041a227ac1be295de542fd92d9c760b Author: P J P Date: Sat Dec 8 23:48:28 2012 +0530 Add pickdns and picdns-data programs. Updated pickdns and pickdns-data programs to format their sources for better readability. Removed unwanted/confusing definitions. Updated pickdns program to read a configuration file, run as a daemon and also to write debug output to a pickdns.log file. Introduced a new pickdns-conf file which is used to generate real pickdns.conf file, which is then installed under /etc/ndjbdns directory. Modified Makefiles.am to install pickdns, pickdns-data and pickdns.conf files under their correct location, and bundle these into distribution tar file. commit d5477c2da129be0f9826b94784eb790308028f7f Author: P J P Date: Sat Dec 8 23:13:30 2012 +0530 Update .gitignore to remove -conf files. Updated .gitignore to not ignore *-conf files. These files are used to generate real .conf configuration files which are then installed under the - /etc/ndjbdns/ - directory. commit 0703df04cc9810562a95becf58af1b357c03d993 Author: P J P Date: Sat Dec 8 21:07:45 2012 +0530 Fix uint32 to 4 bytes. This patch defines uint32 type to be 4 bytes long on both 32 as well as 64 bit machines. Apparently it needs to be 4 bytes long for tinydns server to correctly read .cdb file and serve DNS requests. see -> https://pjps.wordpress.com/2012/03/28/new-djbdns/#comment-247 commit 57a9ee07a95463d74a38c76eeabad79f4c3dd23b Author: P J P Date: Sat Dec 8 21:05:57 2012 +0530 Files updated by - autoreconf -if Few files like INSTALL, install-sh etc. are automatically updated by the following command. $ autoreconf -if commit 02e439f9e56f47912dd485ee09644d8e4937c6c6 Author: P J P Date: Sat Dec 8 20:43:34 2012 +0530 Remove Makefile.in Remove Makefile.in files from versioning. They are automatically generated by automake/autoreconf tools as and when needed. commit 1b2247106e36093f22b8cab14607ece7326806fc Author: P J P Date: Mon Mar 26 13:36:51 2012 +0530 RPM spec file updated. Updated RPM spec file to the latest release - 1.05.4-9. commit 467e070911e34fb69356f487bc77e4b4270ba1a6 Author: P J P Date: Wed Mar 14 14:36:00 2012 +0530 Single logrotate configuration file. Combined individual logrotate configuration files into a single file named ndjbdns.logrotate. Also updated the Makefile.am to install the new ndjbdns.logrotate instead of separate ones for each service. commit e6b1f84b8eba9621e7ffcb29eaa187c476afa9d0 Author: P J P Date: Tue Mar 13 20:01:31 2012 +0530 New logrotate configuration files. Introduced new logrotate(1) configuration files to rotate various logs generate by services like dnscache(1) or tinydns(1) etc. These configuration files installed under /etc/logrotate.d/ directory and are observed by the logrotate(1) crond(8) job. Changed axfrdns.c to write logs to /var/log/axfrdnsd.log instead of axfrdns.log. commit e2a8bef587b8d3ec44bbe21802f6a176e7260aa8 Author: P J P Date: Sun Mar 11 01:21:42 2012 +0530 New manual for dnsname(1) command. Added a new manual for dnsname(1) command. Changed Makefile.am to install in at appropriate location. commit c480f86a27df6ca522a6238685a735e7d43aa70a Author: P J P Date: Sun Mar 11 00:36:07 2012 +0530 Changed Makefile.am to no install Sys-V init scripts. Changed the Makefile.am to not install Sys V init scripts as they are replaced by the new systemd(1) unit files. commit 0935608bc8fa3fc68bd5ddbb1bdcf4f3da066d3e Author: P J P Date: Sun Mar 11 00:29:08 2012 +0530 New manual for axfr-get(1) command. Added a new manual for axfr-get(1) command. Also updated the Makefile.am to install it at appropriate location. commit 79c030ee2dfcadf30e9a33c28653c1ab55e7bf1e Author: P J P Date: Sat Mar 10 23:12:42 2012 +0530 New manual for axfrdns(1) command. Added user manual for the axfrdns(1) command. Updated the Makefile.am to install it at appropriate location. commit 1b269f31426764d9d2190439c084ead210f82dd9 Author: P J P Date: Sat Mar 10 21:51:27 2012 +0530 Removed program axfrdns-conf. Removed program axfrdns-conf, as axfrdns now reads its configuration from file /etc/ndjbdns/axfrdns.conf and initialises itself accordingly. commit e9f24089ffa6a7c5bdc69fbe686e29529040f12d Author: P J P Date: Sat Mar 10 19:46:11 2012 +0530 New manaul for dnstrace(1) command. Added manual page for command dnstrace(1). Updated the Makefile.am to install this manual at appropriate location. commit 2624c44a2e182ee896966f92dd65fd7762c46833 Author: P J P Date: Sat Mar 10 19:09:09 2012 +0530 New manual for randomip(1) command. Added new manual page for command randomip(1). Updated the Makefile.am to install this manual at the appropriate location. commit edea9f8fe330b31d729b78f877acdd446834063f Author: P J P Date: Sat Mar 10 18:50:24 2012 +0530 Removed program dnsmx. Removed program dnsmx, as it provides the same functionality as that of $ dnsqr MX . commit b2ae8136e50f470e3c93d7643702924851f33c57 Author: P J P Date: Sat Mar 10 18:11:01 2012 +0530 New manual for dnsqr(1) command. Added new user manual for the dnsqr(1) command. Also updated Makefile.am to install the manual under appropriate directory. commit 0e6d4c6a481574c3b168162cbb7702e3b183eb02 Author: P J P Date: Sat Mar 10 17:36:40 2012 +0530 New manual for tcprules(1) command. Added new user manual for the tcprules(1) command. Updated the Makefile.am to install the new manual under appropriate directory. commit f29a9bb16625a4372fc7c438d26da6be9b3bb234 Author: P J P Date: Sat Mar 10 15:35:36 2012 +0530 New man page for dnstxt(1) command. Added new user manual for the dnstxt command. Also updated the Makefile.am to install in under an appropriate manual directory. commit c6a5f257f264d1a347ac34f3731b7285ba239945 Author: P J P Date: Sat Mar 10 14:21:34 2012 +0530 New manual page for dnsipq command. Added new manual page for the dnsipq(1) - DNS lookup tool. Updated the Makefile.am to install the manual under appropriate directory - /usr/share/man/man1/. commit 3f9c7f8bb225edd4f9966a4a6d4f3ea0b7d38992 Author: P J P Date: Sat Mar 10 13:44:29 2012 +0530 Updated license disclaimer to remove redundant text. Changed license disclaimer in the comments to remove few redundant lines of text. Changed year 2011 to 2012. == * I've modified this file for good and am releasing this new version under * GNU General Public License. * Copyright (C) 2009 - 2011 Prasad J Pandit == commit 11949a6343d9ccea44e77bfa7d8f0e92907c9bb6 Author: P J P Date: Sat Mar 10 13:32:04 2012 +0530 Replaced /etc/djbdns with /etc/ndjbdns Changed to reflect the new location of the system wide configuration directory: /etc/ndjbdns. commit 3a6e70c1eaab9b95d93925478661e0fa573f8ed1 Author: P J P Date: Sat Mar 10 13:21:48 2012 +0530 Moved configuration directory from /etc/djbdns to /etc/ndjbdns. Changed Makefile.am to move system wide configuration directory from /etc/djbdns to /etc/ndjbdns. Now various configuration files such as dnscache.conf, tinydns.conf, axfrdns.conf etc. would reside under /etc/ndjbdns. commit 354d2d36e30639a6b22e938e0a7b59f4992525f3 Author: P J P Date: Tue Feb 28 17:38:39 2012 +0530 Remove sys-V init scripts. Changed the RPM spec file to remove the sys V init scripts from the %files section. Also removed the %post section, as there are no init scripts for chkconfig(1) to add. commit 3eccf34f48f527fb9de0077bb935ae6cc7eb44b3 Author: P J P Date: Tue Feb 28 17:29:00 2012 +0530 New djbdns - initial commit.