{"action":"created","issue":{"url":"https://api.github.com/repos/PowerDNS/pdns/issues/3008","labels_url":"https://api.github.com/repos/PowerDNS/pdns/issues/3008/labels{/name}","comments_url":"https://api.github.com/repos/PowerDNS/pdns/issues/3008/comments","events_url":"https://api.github.com/repos/PowerDNS/pdns/issues/3008/events","html_url":"https://github.com/PowerDNS/pdns/issues/3008","id":120813404,"number":3008,"title":"Crash pdns","user":{"login":"TitinDev","id":5264917,"avatar_url":"https://avatars.githubusercontent.com/u/5264917?v=3","gravatar_id":"","url":"https://api.github.com/users/TitinDev","html_url":"https://github.com/TitinDev","followers_url":"https://api.github.com/users/TitinDev/followers","following_url":"https://api.github.com/users/TitinDev/following{/other_user}","gists_url":"https://api.github.com/users/TitinDev/gists{/gist_id}","starred_url":"https://api.github.com/users/TitinDev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TitinDev/subscriptions","organizations_url":"https://api.github.com/users/TitinDev/orgs","repos_url":"https://api.github.com/users/TitinDev/repos","events_url":"https://api.github.com/users/TitinDev/events{/privacy}","received_events_url":"https://api.github.com/users/TitinDev/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-12-07T16:32:57Z","updated_at":"2015-12-07T16:48:47Z","closed_at":null,"body":"Hi,\r\n\r\nOne of my clients successfully used ` ` (space) as a record, leading to a crash of powerdns on first query.\r\n\r\n-> https://j.titin.fr/0cc05a.png\r\n\r\n<pre>\r\nDec  7 16:15:26 ns2 pdns_server[477]: Dec 07 17:15:26 Exception building answer packet (Parsing record content: while parsing IP address, expected digits at position 0 in '.') sending out servfail\r\nDec  7 16:15:26 ns2 pdns[533]: Exception building answer packet (Parsing record content: while parsing IP address, expected digits at position 0 in '.') sending out servfail\r\nDec  7 16:15:26 ns2 pdns_server[477]: Dec 07 17:15:26 Exception building answer packet (Parsing record content: while parsing IP address, expected digits at position 0 in '.') sending out servfail\r\nDec  7 16:15:26 ns2 pdns[533]: Exception building answer packet (Parsing record content: while parsing IP address, expected digits at position 0 in '.') sending out servfail\r\n</pre>"},"comment":{"url":"https://api.github.com/repos/PowerDNS/pdns/issues/comments/162589156","html_url":"https://github.com/PowerDNS/pdns/issues/3008#issuecomment-162589156","issue_url":"https://api.github.com/repos/PowerDNS/pdns/issues/3008","id":162589156,"user":{"login":"TitinDev","id":5264917,"avatar_url":"https://avatars.githubusercontent.com/u/5264917?v=3","gravatar_id":"","url":"https://api.github.com/users/TitinDev","html_url":"https://github.com/TitinDev","followers_url":"https://api.github.com/users/TitinDev/followers","following_url":"https://api.github.com/users/TitinDev/following{/other_user}","gists_url":"https://api.github.com/users/TitinDev/gists{/gist_id}","starred_url":"https://api.github.com/users/TitinDev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TitinDev/subscriptions","organizations_url":"https://api.github.com/users/TitinDev/orgs","repos_url":"https://api.github.com/users/TitinDev/repos","events_url":"https://api.github.com/users/TitinDev/events{/privacy}","received_events_url":"https://api.github.com/users/TitinDev/received_events","type":"User","site_admin":false},"created_at":"2015-12-07T16:48:47Z","updated_at":"2015-12-07T16:48:47Z","body":"Configuration : \r\n<pre>\r\n- Debian 8 (Jessie)\r\n- pdns_control version 3.4.1\r\n- APT debian official\r\n<pre>\r\n\r\npdns.conf \r\n<pre>\r\n#################################\r\n# allow-axfr-ips\tAllow zonetransfers only to these subnets\r\n#\r\n# allow-axfr-ips=127.0.0.0/8,::1\r\n\r\n#################################\r\n# allow-dnsupdate-from\tA global setting to allow DNS updates from these IP ranges.\r\n#\r\n# allow-dnsupdate-from=127.0.0.0/8,::1\r\n\r\n#################################\r\n# allow-recursion\tList of subnets that are allowed to recurse\r\n#\r\nallow-recursion=127.0.0.1\r\n\r\n#################################\r\n# also-notify\tWhen notifying a domain, also notify these nameservers\r\n#\r\n# also-notify=\r\n\r\n#################################\r\n# any-to-tcp\tAnswer ANY queries with tc=1, shunting to TCP\r\n#\r\n# any-to-tcp=no\r\n\r\n#################################\r\n# cache-ttl\tSeconds to store packets in the PacketCache\r\n#\r\n# cache-ttl=20\r\n\r\n#################################\r\n# carbon-interval\tNumber of seconds between carbon (graphite) updates\r\n#\r\n# carbon-interval=30\r\n\r\n#################################\r\n# carbon-ourname\tIf set, overrides our reported hostname for carbon stats\r\n#\r\n# carbon-ourname=\r\n\r\n#################################\r\n# carbon-server\tIf set, send metrics in carbon (graphite) format to this server\r\n#\r\n# carbon-server=\r\n\r\n#################################\r\n# chroot\tIf set, chroot to this directory for more security\r\n#\r\n# chroot=\r\n\r\n#################################\r\n# config-dir\tLocation of configuration directory (pdns.conf)\r\n#\r\nconfig-dir=/etc/powerdns\r\n\r\n#################################\r\n# config-name\tName of this virtual configuration - will rename the binary image\r\n#\r\n# config-name=\r\n\r\n#################################\r\n# control-console\tDebugging switch - don't use\r\n#\r\n# control-console=no\r\n\r\n#################################\r\n# daemon\tOperate as a daemon\r\n#\r\ndaemon=yes\r\n\r\n#################################\r\n# default-ksk-algorithms\tDefault KSK algorithms\r\n#\r\n# default-ksk-algorithms=rsasha256\r\n\r\n#################################\r\n# default-ksk-size\tDefault KSK size (0 means default)\r\n#\r\n# default-ksk-size=0\r\n\r\n#################################\r\n# default-soa-mail\tmail address to insert in the SOA record if none set in the backend\r\n#\r\n# default-soa-mail=\r\n\r\n#################################\r\n# default-soa-name\tname to insert in the SOA record if none set in the backend\r\n#\r\n# default-soa-name=a.misconfigured.powerdns.server\r\n\r\n#################################\r\n# default-ttl\tSeconds a result is valid if not set otherwise\r\n#\r\n# default-ttl=3600\r\n\r\n#################################\r\n# default-zsk-algorithms\tDefault ZSK algorithms\r\n#\r\n# default-zsk-algorithms=rsasha256\r\n\r\n#################################\r\n# default-zsk-size\tDefault ZSK size (0 means default)\r\n#\r\n# default-zsk-size=0\r\n\r\n#################################\r\n# direct-dnskey\tFetch DNSKEY RRs from backend during DNSKEY synthesis\r\n#\r\n# direct-dnskey=no\r\n\r\n#################################\r\n# disable-axfr\tDisable zonetransfers but do allow TCP queries\r\n#\r\n disable-axfr=no\r\n\r\n#################################\r\n# disable-axfr-rectify\tDisable the rectify step during an outgoing AXFR. Only required for regression testing.\r\n#\r\n# disable-axfr-rectify=no\r\n\r\n#################################\r\n# disable-tcp\tDo not listen to TCP queries\r\n#\r\n# disable-tcp=no\r\n\r\n#################################\r\n# distributor-threads\tDefault number of Distributor (backend) threads to start\r\n#\r\n# distributor-threads=3\r\n\r\n#################################\r\n# do-ipv6-additional-processing\tDo AAAA additional processing\r\n#\r\n# do-ipv6-additional-processing=yes\r\n\r\n#################################\r\n# edns-subnet-processing\tIf we should act on EDNS Subnet options\r\n#\r\n# edns-subnet-processing=no\r\n\r\n#################################\r\n# entropy-source\tIf set, read entropy from this file\r\n#\r\n# entropy-source=/dev/urandom\r\n\r\n#################################\r\n# experimental-api-key\tREST API Static authentication key (required for API use)\r\n#\r\n# experimental-api-key=\r\n\r\n#################################\r\n# experimental-api-readonly\tIf the JSON API should disallow data modification\r\n#\r\n# experimental-api-readonly=no\r\n\r\n#################################\r\n# experimental-dname-processing\tIf we should support DNAME records\r\n#\r\n# experimental-dname-processing=no\r\n\r\n#################################\r\n# experimental-dnsupdate\tEnable/Disable DNS update (RFC2136) support. Default is no.\r\n#\r\n# experimental-dnsupdate=no\r\n\r\n#################################\r\n# experimental-json-interface\tIf the webserver should serve JSON data\r\n#\r\n# experimental-json-interface=no\r\n\r\n#################################\r\n# experimental-logfile\tFilename of the log file for JSON parser\r\n#\r\n# experimental-logfile=/var/log/pdns.log\r\n\r\n#################################\r\n# forward-dnsupdate\tA global setting to allow DNS update packages that are for a Slave domain, to be forwarded to the master.\r\n#\r\n# forward-dnsupdate=yes\r\n\r\n#################################\r\n# guardian\tRun within a guardian process\r\n#\r\nguardian=yes\r\n\r\n#################################\r\n# include-dir\tInclude *.conf files from this directory\r\n#\r\n# include-dir=\r\ninclude-dir=/etc/powerdns/pdns.d\r\n\r\n#################################\r\n# launch\tWhich backends to launch and order to query them in\r\n#\r\n# launch=\r\nlaunch=\r\n\r\n#################################\r\n# load-modules\tLoad this module - supply absolute or relative path\r\n#\r\n# load-modules=\r\n\r\n#################################\r\n# local-address\tLocal IP addresses to which we bind\r\n#\r\n# local-address=0.0.0.0\r\n\r\n#################################\r\n# local-address-nonexist-fail\tFail to start if one or more of the local-address's do not exist on this server\r\n#\r\n# local-address-nonexist-fail=yes\r\n\r\n#################################\r\n# local-ipv6\tLocal IP address to which we bind\r\n#\r\n# local-ipv6=\r\n\r\n#################################\r\n# local-ipv6-nonexist-fail\tFail to start if one or more of the local-ipv6 addresses do not exist on this server\r\n#\r\n# local-ipv6-nonexist-fail=yes\r\n\r\n#################################\r\n# local-port\tThe port on which we listen\r\n#\r\n# local-port=53\r\n\r\n#################################\r\n# log-dns-details\tIf PDNS should log DNS non-erroneous details\r\n#\r\n# log-dns-details=no\r\n\r\n#################################\r\n# log-dns-queries\tIf PDNS should log all incoming DNS queries\r\n#\r\n# log-dns-queries=no\r\n\r\n#################################\r\n# logging-facility\tLog under a specific facility\r\n#\r\n# logging-facility=\r\n\r\n#################################\r\n# loglevel\tAmount of logging. Higher is more. Do not set below 3\r\n#\r\n# loglevel=4\r\n\r\n#################################\r\n# lua-prequery-script\tLua script with prequery handler\r\n#\r\n# lua-prequery-script=\r\n\r\n#################################\r\n# master\tAct as a master\r\n#\r\n# master=no\r\n\r\n#################################\r\n# max-cache-entries\tMaximum number of cache entries\r\n#\r\n# max-cache-entries=1000000\r\n\r\n#################################\r\n# max-ent-entries\tMaximum number of empty non-terminals in a zone\r\n#\r\n# max-ent-entries=100000\r\n\r\n#################################\r\n# max-nsec3-iterations\tLimit the number of NSEC3 hash iterations\r\n#\r\n# max-nsec3-iterations=500\r\n\r\n#################################\r\n# max-queue-length\tMaximum queuelength before considering situation lost\r\n#\r\n# max-queue-length=5000\r\n\r\n#################################\r\n# max-signature-cache-entries\tMaximum number of signatures cache entries\r\n#\r\n# max-signature-cache-entries=\r\n\r\n#################################\r\n# max-tcp-connections\tMaximum number of TCP connections\r\n#\r\n# max-tcp-connections=10\r\n\r\n#################################\r\n# module-dir\tDefault directory for modules\r\n#\r\n# module-dir=/usr/lib/TRIPLET/pdns\r\n\r\n#################################\r\n# negquery-cache-ttl\tSeconds to store negative query results in the QueryCache\r\n#\r\n# negquery-cache-ttl=60\r\n\r\n#################################\r\n# no-shuffle\tSet this to prevent random shuffling of answers - for regression testing\r\n#\r\n# no-shuffle=off\r\n\r\n#################################\r\n# only-notify\tOnly send AXFR NOTIFY to these IP addresses or netmasks\r\n#\r\n# only-notify=0.0.0.0/0,::/0\r\n\r\n#################################\r\n# out-of-zone-additional-processing\tDo out of zone additional processing\r\n#\r\n# out-of-zone-additional-processing=yes\r\n\r\n#################################\r\n# overload-queue-length\tMaximum queuelength moving to packetcache only\r\n#\r\n# overload-queue-length=0\r\n\r\n#################################\r\n# pipebackend-abi-version\tVersion of the pipe backend ABI\r\n#\r\n# pipebackend-abi-version=1\r\n\r\n#################################\r\n# prevent-self-notification\tDon't send notifications to what we think is ourself\r\n#\r\n# prevent-self-notification=yes\r\n\r\n#################################\r\n# query-cache-ttl\tSeconds to store query results in the QueryCache\r\n#\r\n# query-cache-ttl=20\r\n\r\n#################################\r\n# query-local-address\tSource IP address for sending queries\r\n#\r\n# query-local-address=0.0.0.0\r\n\r\n#################################\r\n# query-local-address6\tSource IPv6 address for sending queries\r\n#\r\n# query-local-address6=::\r\n\r\n#################################\r\n# query-logging\tHint backends that queries should be logged\r\n#\r\n# query-logging=no\r\n\r\n#################################\r\n# queue-limit\tMaximum number of milliseconds to queue a query\r\n#\r\n# queue-limit=1500\r\n\r\n#################################\r\n# receiver-threads\tDefault number of receiver threads to start\r\n#\r\n# receiver-threads=1\r\n\r\n#################################\r\n# recursive-cache-ttl\tSeconds to store packets for recursive queries in the PacketCache\r\n#\r\n# recursive-cache-ttl=10\r\n\r\n#################################\r\n# recursor\tIf recursion is desired, IP address of a recursing nameserver\r\n#\r\n# recursor=no\r\n\r\n#################################\r\n# retrieval-threads\tNumber of AXFR-retrieval threads for slave operation\r\n#\r\n# retrieval-threads=2\r\n\r\n#################################\r\n# reuseport\tEnable higher performance on compliant kernels by using SO_REUSEPORT allowing each receiver thread to open its own socket\r\n#\r\n# reuseport=no\r\n\r\n#################################\r\n# security-poll-suffix\tDomain name from which to query security update notifications\r\n#\r\n# security-poll-suffix=secpoll.powerdns.com.\r\n\r\n#################################\r\n# send-root-referral\tSend out old-fashioned root-referral instead of ServFail in case of no authority\r\n#\r\n# send-root-referral=no\r\n\r\n#################################\r\n# server-id\tReturned when queried for 'server.id' TXT or NSID, defaults to hostname - disabled or custom\r\n#\r\n# server-id=\r\n\r\n#################################\r\n# setgid\tIf set, change group id to this gid for more security\r\n#\r\nsetgid=pdns\r\n\r\n#################################\r\n# setuid\tIf set, change user id to this uid for more security\r\n#\r\nsetuid=pdns\r\n\r\n#################################\r\n# signing-threads\tDefault number of signer threads to start\r\n#\r\n# signing-threads=3\r\n\r\n#################################\r\n# slave\tAct as a slave\r\n#\r\n# slave=no\r\n\r\n#################################\r\n# slave-cycle-interval\tReschedule failed SOA serial checks once every .. seconds\r\n#\r\n# slave-cycle-interval=60\r\n\r\n#################################\r\n# slave-renotify\tIf we should send out notifications for slaved updates\r\n#\r\n# slave-renotify=no\r\n\r\n#################################\r\n# soa-expire-default\tDefault SOA expire\r\n#\r\n# soa-expire-default=604800\r\n\r\n#################################\r\n# soa-minimum-ttl\tDefault SOA minimum ttl\r\n#\r\n# soa-minimum-ttl=3600\r\n\r\n#################################\r\n# soa-refresh-default\tDefault SOA refresh\r\n#\r\n# soa-refresh-default=10800\r\n\r\n#################################\r\n# soa-retry-default\tDefault SOA retry\r\n#\r\n# soa-retry-default=3600\r\n\r\n#################################\r\n# socket-dir\tWhere the controlsocket will live\r\n#\r\n# socket-dir=/var/run\r\n\r\n#################################\r\n# tcp-control-address\tIf set, PowerDNS can be controlled over TCP on this address\r\n#\r\n# tcp-control-address=\r\n\r\n#################################\r\n# tcp-control-port\tIf set, PowerDNS can be controlled over TCP on this address\r\n#\r\n# tcp-control-port=53000\r\n\r\n#################################\r\n# tcp-control-range\tIf set, remote control of PowerDNS is possible over these networks only\r\n#\r\n# tcp-control-range=127.0.0.0/8, 10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, ::1/128, fe80::/10\r\n\r\n#################################\r\n# tcp-control-secret\tIf set, PowerDNS can be controlled over TCP after passing this secret\r\n#\r\n# tcp-control-secret=\r\n\r\n#################################\r\n# traceback-handler\tEnable the traceback handler (Linux only)\r\n#\r\n# traceback-handler=yes\r\n\r\n#################################\r\n# trusted-notification-proxy\tIP address of incoming notification proxy\r\n#\r\n# trusted-notification-proxy=\r\n\r\n#################################\r\n# udp-truncation-threshold\tMaximum UDP response size before we truncate\r\n#\r\n# udp-truncation-threshold=1680\r\n\r\n#################################\r\n# version-string\tPowerDNS version in packets - full, anonymous, powerdns or custom\r\n#\r\n# version-string=full\r\n\r\n#################################\r\n# webserver\tStart a webserver for monitoring\r\n#\r\n# webserver=no\r\n\r\n#################################\r\n# webserver-address\tIP Address of webserver to listen on\r\n#\r\n# webserver-address=127.0.0.1\r\n\r\n#################################\r\n# webserver-allow-from\tWebserver access is only allowed from these subnets\r\n#\r\n# webserver-allow-from=0.0.0.0/0,::/0\r\n\r\n#################################\r\n# webserver-password\tPassword required for accessing the webserver\r\n#\r\n# webserver-password=\r\n\r\n#################################\r\n# webserver-port\tPort of webserver to listen on\r\n#\r\n# webserver-port=8081\r\n\r\n#################################\r\n# webserver-print-arguments\tIf the webserver should print arguments\r\n#\r\n</pre>"}}