Permalink
Browse files

initial commit

  • Loading branch information...
0 parents commit 60ba32200a65d5d4ca4d096415b806b0379c1d8b @antirez committed Dec 5, 2010
Showing with 27,153 additions and 0 deletions.
  1. +16 −0 AUTHORS
  2. +39 −0 CHANGES
  3. +339 −0 COPYING
  4. +269 −0 Documentation/yaku-ns.conf.example
  5. +47 −0 MD5SUM.SIGNED.asc
  6. +88 −0 Makefile
  7. +190 −0 README
  8. +19 −0 README.CVS
  9. +33 −0 RFCs/INDEX
  10. +333 −0 RFCs/draft-ietf-dnsext-axfr-clarify-01.txt
  11. +9,784 −0 RFCs/rfc-index.txt
  12. +3,077 −0 RFCs/rfc1034.txt
  13. +3,077 −0 RFCs/rfc1035.txt
  14. +395 −0 RFCs/rfc1794.txt
  15. +842 −0 RFCs/rfc2181.txt
  16. +1,067 −0 RFCs/rfc2308.txt
  17. +68 −0 TODO
  18. +145 −0 acl.c
  19. +846 −0 aht.c
  20. +121 −0 aht.h
  21. +87 −0 arr.c
  22. +33 −0 assert.h
  23. +74 −0 autoptr.c
  24. +454 −0 axfr_out.c
  25. +266 −0 cache.c
  26. +496 −0 config.c
  27. +824 −0 core.c
  28. +855 −0 dns.c
  29. +425 −0 ens.h
  30. +289 −0 forward.c
  31. +507 −0 getzone.c
  32. +78 −0 htkey.c
  33. +514 −0 local.c
  34. +72 −0 log.c
  35. +289 −0 misc.c
  36. +351 −0 nameser.h
  37. +219 −0 response.c
  38. +28 −0 rlimit.c
  39. +129 −0 signal.c
  40. +67 −0 strlcat.c
  41. +63 −0 strlcpy.c
  42. +68 −0 tunable.h
  43. +49 −0 unix.c
  44. +62 −0 uptime.c
  45. +59 −0 utils.h
16 AUTHORS
@@ -0,0 +1,16 @@
+Yaku-ns is developed with little efforts (that is almost only when
+something is broken for my own usage) by:
+
+ Salvatore Sanfilippo <antirez@invece.org>
+
+Thanks for bug reporting, code and/or other kind of support to:
+
+ * Robert Allmeroth <Robert.Allmeroth@epygi.de>
+ For reporting of a bug in the forwarding code
+
+ * Aethra (http://www.aethra.com) for bugfixing in early
+ stage of development.
+
+--------------------------------------------------------------------------------
+Note: that this file is not complete since I lost the old credits file.
+ Please demand credits if you contributed but I miss you here.
39 CHANGES
@@ -0,0 +1,39 @@
+CHANGES file
+
+Sep 16 2002 CNAME implemented
+Sep 14 2002 Fixed a wildcard RR response building bug.
+Sep 14 2002 Fixed a memory leak introduced with the new forwarding
+ ACL control.
+Sep 12 2002 Forwarding fixed, now after the forward_next timeout
+ the query is sent to the next nameserver and so on.
+ Thanks to "Robert Allmeroth" <Robert.Allmeroth@epygi.de>
+Sep 09 2002 Now stuff that should never be < 0 are unsigned.
+Sep 09 2002 Major change, merged with the new hashtable library
+ version.
+Sep 08 2002 Implemented wildcard Resource Records, see Docs.
+Sep 06 2002 Fixed a problem in name_decode(). If the name format
+ was bad, but the pointer-to-pointer where to
+ store the name was set to NULL (used to only know
+ the length of the encoded name by get_min_ttl())
+ the function deferenced a NULL pointer, writing
+ 0 on it. Not exploitable to break in but a bad DoS.
+Sep 05 2002 now chdir() before to chroot().
+Sep 04 2002 call abort() in the SIG_SEGV sighandler to dump the core
+Sep 04 2002 use setrlimit(2) to enable core dumping
+Sep 04 2002 Modified Copyright notices and email
+Sep 04 2002 Fix for case insensitive hashtable key creation
+Sep 03 2002 keyword 'forwarder' changed in 'nameserver'
+Sep 03 2002 RRs qtype to symbol table updated
+Sep 03 2002 Now names are matched case insensitive
+Aug 30 2002 Fixed SIGCHLD handling problem.
+Aug 30 2002 Fixed autoptr, now generates a PTR record for all the
+ names for the IP address, not only for the first.
+Aug 30 2002 New 'fwd' ACL chain used for forwarding access control
+Feb 8 2001 Different algorithm for cache expiration check
+Feb 7 2001 Now uses strlcpy and strlcat
+Feb 6 2001 Zone tranfer code updated
+Feb 5 2001 Fork from ENS:
+ o Now uses hash table instead of lists
+ o #ifdef away
+ o config.c update
+??? ? ???? o too much stuff, I don't remember
339 COPYING

Large diffs are not rendered by default.

Oops, something went wrong.
@@ -0,0 +1,269 @@
+#############################################
+# Example self-commented configuration file #
+#############################################
+
+# NOTE: All the keywords are case insensitive
+
+# This is a comment
+
+# include <filename>
+#
+# Will include the given file.
+
+###############
+### LOGGING ###
+###############
+
+# logfile <filename absolute path>
+#
+# Specify the filename for the logs
+#
+# When not demonized the default is to log to the standard output
+
+# nologtime
+#
+# Disable timestamp in log lines
+#
+# nologtime is disabled by default (i.e. the timestamp is enabled)
+
+# loglevel <level>
+#
+# Set the verbosity level to one of the following:
+#
+# errors very low verbosity, logs only errors.
+# low logs more, including received queries/response.
+# med logs more, including info about ACL and cached responses.
+# high very verbose, logs loaded RRs, expirations, ...
+# debug logs information usually not useful. Only if DEBUG was defined.
+#
+# Example:
+#
+# loglevel med
+#
+# Default log level is: errors
+
+###########################
+### ACCESS CONTROL LISTS ##
+###########################
+
+# acl <chain name> <rule1> <rule2> ... <ruleN>
+#
+# Built-in Access Control Lists to deny per-IP-address
+#
+# Avaliable chains:
+#
+# dns.allow allow rules for the DNS service
+# dns.deny deny rules for the DNS service
+# fwd.allow allow rules for the DNS forwarding
+# fwd.deny deny rules for the DNS forwarding
+# axfr.allow allow rules for the zone transfer
+# axfr.deny deny rules for the zone transfer
+#
+# Rules:
+#
+# A rule is a truncated IP address or an IP address
+# with a trailer '$' character.
+# Example of rules and what it matches:
+#
+# 192.168.1. - will match 192.168.1.1, 192.168.1.2, 192.168.*
+# 192.168.1.2 - will match 192.168.1.2, 192.168.1.22, 192.168.1.2*
+# 192.168.1.3$ - will match only 192.168.1.3
+# $ - will match ALL the ip addresses
+#
+# For example to deny all the IP addresses except
+# the 192.168.1.0/24 net for the DNS service you
+# should use:
+#
+# acl dns.allow 192.168.1.
+# acl dns.deny $
+#
+# NOTE: this stuff works exactly like /etc/hosts.allow and /etc/hosts.deny
+
+######################
+### UPTIME CONTROL ###
+######################
+
+# uptime
+#
+# Enable a built-in dynamic "uptime.yaku" CHAOS/TXT Resource Record that
+# contains the current uptime in a human readable format.
+
+######################################
+### LOCAL RESOURCE RECORDS OPTIONS ###
+######################################
+
+# wildcard_lookup
+#
+# Enable the wildcard lookup, so you can define resource records
+# containing the '*' character, like
+#
+# A *.yakuns.org 1.2.3.4
+#
+# The wildcard lookup algorithm works like this:
+#
+# You search for a.b.c.d, if the server can't find it than search for
+# *.b.c.d, if also there is no match search for *.c.d and so
+# on. The max number of iteration and the max reduction of the original
+# name are controlled using the following two options:
+# wildcard_lookup_deepth and wildcard_lookup_minlevel
+
+##################
+### FORWARDING ###
+##################
+
+# nameserver <IP address>
+#
+# Specify an external server to act like bind "forward only".
+# Multiple forwaders are allowed.
+#
+# If no nameservers are specified the forwarding is turned off,
+# a query that does not match the local Resoure Records will produce
+# a NXDOMAIN error.
+#
+# Leave the forwarding off if you are using Yaku-NS just as primary NS
+# server for a domain!
+
+# forward_max <max entries>
+#
+# The maximum numbers of pending forwarded queries.
+#
+# Default is 1000 entries
+
+# forward_entry_timeout <seconds>
+#
+# Maximum time to live of every entry in the forwarded requests table.
+# After this time the entry will be removed, if the forwarder
+# send the response after the expire was reached the response will
+# be ignored.
+#
+# Default is 50 seconds
+
+# forward_next_timeout <seconds>
+#
+# Time to wait before to contact the next forwarder.
+# Anyway if a reply comes from an early forwarder it will
+# be accepted and the entry in the forwad table removed.
+#
+# Default is 3 seconds
+
+############################
+### CACHING (FORWARDING) ###
+############################
+
+# cache_max <max entries>
+#
+# Maximum number of cached DNS responses in the cache.
+#
+# Default is 5000 entries
+
+# cache_minttl
+#
+# Minimun time to live for a cached response
+#
+# Default is 0 seconds
+
+# cache_maxttl
+#
+# Maximum time to live for a cached response
+#
+# Default is 1 day
+
+# cache_noexpire
+#
+# If set the cached responses will *never* expire
+# Don't set it unless you know what you are doing.
+
+#######################
+### ZONE TRASFERING ###
+#######################
+
+# axfr_more_rr
+#
+# For default yaku-ns replies to AXFR requests in
+# "compatibility-mode": during the zone transfer
+# every message contains just one resource record.
+# If the axfr_more_rr option is set yaku-ns will
+# behaves as specifed in the
+# "DNS Zone Transfer Protocol Clarifications" Internet
+# draft, filling every message with more resource records.
+#
+# Don't enable this option if unsure
+
+# tcp_requests_for_connection <value>
+#
+# Yaku-ns uses DNS over TCP only to allow
+# AXFR requests. This option defines the number of
+# consecutive requests that must be accepted in the same
+# TCP connection. The default is 2 to allow a tipical
+# SOA + AXFR request for zone transfering.
+#
+# Set it to 0 to allow infinite requests in the same
+# TCP connection (until the 2 minutes timeout expires)
+#
+# Leave it undefined if yaku-ns works in your configuration.
+# Try to set it to zero if you experimented problems with secondary DNS severs.
+#
+# Default is, as stated, 2.
+
+#########################################
+### LOCAL RESOURCE RECORDS DEFINITION ###
+#########################################
+
+# ttl <seconds>
+#
+# Set the time to live for the next RRs defined
+
+# class <IN|CHAOS|ANY>
+#
+# Set the class for the next RRs defined
+
+# A <ame> <IP address>
+#
+# To specify an A Resource Record, example:
+#
+# A yakuns.example.net 192.168.1.1
+
+# MX <name> <priority> <mail exchange>
+#
+# Create an MX RR, example:
+#
+# MX example.net 10 mail.example.net
+
+# PTR <name> <pointer>
+#
+# Create a PTR RR, example:
+#
+# PTR 1.1.168.192.in-addr.arpa dns.example.net
+
+# TXT <name> <text> <text> <text> <...>
+#
+# Create a TXT RR,
+# all the characters before a dot will be in the same label.
+# Example:
+#
+# TXT ens ENS is a name server
+
+# NS <name> <name server name>
+#
+# Create an NS RR, example:
+#
+# NS example.net ens.example.net
+
+# SOA <name> <origin> <mailbox> <serial> <refresh> <retry> <expire> <minimum>
+#
+# Create a SOA RR, example:
+#
+# SOA example.net ens.example.net antirez.invece.org 1234 60 60 60 0
+
+# autoptr
+#
+# Enable the "Auto-PTR" mode. For every A RR added the logical
+# PTR will be automatically created.
+#
+# Disable by default
+
+# noautoptr
+#
+# Disable the "Auto-PTR" mode.
+
+# EOF
@@ -0,0 +1,47 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+
+65b580fdaa0a067ee8dd21dc43859485 AUTHORS
+a388e3d2f0e60964e1d2588c8b61c795 CHANGES
+8ca43cbc842c2336e835926c2166c28b COPYING
+7a1915cca943dbe03f38f5115b113ebc Makefile
+51625b14f685b8980e4af6468170a98b README
+24946f034a1cad4df1ff0edcafab2a4b README.CVS
+160bc3f6be90d6829cfb1731dda9c7b2 TODO
+9e0b88fc9219e978fc7ad6323e1adc0a acl.c
+122a90930a9ff32231ed5ebca43f01c9 aht.c
+0168c735f307a4258af7c4299ffdfb1d aht.h
+ee94b63b99245961117fc8eddf41f947 arr.c
+c9b2ee7bde60bc6ef97498afe014bae7 assert.h
+b2096b43be59f3c6561c1f5f9a2b53bd autoptr.c
+206c784d9002707b88bb736cc6bc454d axfr_out.c
+865137e3b368d937eeec5564b55801e2 cache.c
+3faa2ff027360ad5aeb08c619e8efd3d config.c
+6952f57cf8fd9481cfaeeb0a4a6ef1ff core.c
+bb6a455cea1fc07211b25146c7f57398 dns.c
+74712893ba107c3096fa505e0d6e57ce ens.conf
+ed54441940057dcbb8a3a5bb8308aa62 ens.h
+6623e764aa2ce3f187d045ffb561ea90 forward.c
+d832ce0862a0c7fe694f2e0f43b7598a getzone.c
+6f0e388269636ac3e08c7a17249e9a57 htkey.c
+66f4b1c002dcb68fdd8a80f704657a21 local.c
+6de1636601389a2f3322ad698e7357bc log.c
+484fa986c2187c51e2adb24d1e89f5f7 misc.c
+833b74fc9706f075c268a3a4aaa88a46 nameser.h
+787e9e877d435bdb2fc55d24711dc3d9 response.c
+9e2ff4405715ef1f74636e0fc17e371c signal.c
+c5e17f48168fbca4a54564305978eba0 strlcat.c
+492029e810d205aa0a4765efe894f2e0 strlcpy.c
+088ff2c2c430b02008952ab0dc77bb8e tunable.h
+e2f151ed7c30479c7fe6944569937098 unix.c
+e4a41d9303c45efb9c15be65aa024929 uptime.c
+
+-----BEGIN PGP SIGNATURE-----
+Version: 2.6.3i
+Charset: noconv
+
+iQCVAwUBOts2CNwczK2pu2qVAQF0kQQAn/QWB/950Fe6o2F4f+jJt2vqFFSjyEbN
+F5LJH88GtfcpbUfSzANSy1FKA7C4duLq1p2bz9vukplY7QB3xoUFZiMUaVeZCT4G
+OPpsVeejR9TyAWxZRBgt47Oqs/hB8+fdNPBjCxc71z7Ms9VwGvKfxuuo8YZprn1L
+FX6fSDd5Ufs=
+=McKL
+-----END PGP SIGNATURE-----
Oops, something went wrong.

0 comments on commit 60ba322

Please sign in to comment.