Changeset 761
- Timestamp:
- 04/22/06 17:30:35 (4 years ago)
- Location:
- trunk/pdns/pdns
- Files:
-
- 6 modified
-
config-recursor.h (modified) (1 diff)
-
dist-recursor (modified) (1 diff)
-
dnsparser.cc (modified) (2 diffs)
-
dnsscan.cc (modified) (3 diffs)
-
docs/pdns.sgml (modified) (1 diff)
-
pdns-recursor.spec (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/pdns/pdns/config-recursor.h
r753 r761 1 1 #define SYSCONFDIR "/etc/powerdns/" 2 2 #define LOCALSTATEDIR "/var/run/" 3 #define VERSION "3.0 "3 #define VERSION "3.0.1-snapshot" 4 4 #define RECURSOR 5 5 #define GCC_SKIP_LOCKING -
trunk/pdns/pdns/dist-recursor
r752 r761 1 VERSION=3.0 1 VERSION=3.0.1-snapshot 2 2 3 3 INCLUDES="iputils.hh arguments.hh base64.hh zoneparser-tng.hh \ -
trunk/pdns/pdns/dnsparser.cc
r760 r761 189 189 copy(packet+sizeof(dnsheader), packet+len, d_content.begin()); 190 190 191 unsigned int n ;191 unsigned int n=0; 192 192 193 193 PacketReader pr(d_content); … … 235 235 } 236 236 catch(out_of_range &re) { 237 if(!(validPacket && d_header.tc)) // don't sweat it over truncated packets 237 if(validPacket && d_header.tc) { // don't sweat it over truncated packets, but do adjust an, ns and arcount 238 if(n < d_header.ancount) { 239 d_header.ancount=n; d_header.nscount = d_header.arcount = 0; 240 } 241 else if(n < d_header.ancount + d_header.nscount) { 242 d_header.nscount = n - d_header.ancount; d_header.arcount=0; 243 } 244 else { 245 d_header.arcount = n - d_header.ancount - d_header.nscount; 246 } 247 } 248 else { 238 249 throw MOADNSException("Error parsing packet of "+lexical_cast<string>(len)+" bytes (rd="+ 239 250 lexical_cast<string>(d_header.rd)+ 240 251 "), out of bounds: "+string(re.what())); 252 } 241 253 } 242 254 } -
trunk/pdns/pdns/dnsscan.cc
r691 r761 39 39 for(int i=0; i < mdp.d_qname.length(); ++i) 40 40 if(!isalnum(mdp.d_qname[i]) && mdp.d_qname[i]!='.' && mdp.d_qname[i]!='-' && mdp.d_qname[i]!='_') { 41 cout<<mdp.d_qname<<"|"<<mdp.d_qtype<<"|"<<mdp.d_qclass<<"\n";42 sock.sendTo(string(pr.d_payload, pr.d_payload + pr.d_len), remote);41 // cout<<mdp.d_qname<<"|"<<mdp.d_qtype<<"|"<<mdp.d_qclass<<"\n"; 42 // sock.sendTo(string(pr.d_payload, pr.d_payload + pr.d_len), remote); 43 43 break; 44 44 } … … 53 53 } 54 54 catch(MOADNSException &e) { 55 c err<<"Error: "<<e.what()<<"\n";55 cout<<"Error: "<<e.what()<<"\n"; 56 56 sock.sendTo(string(pr.d_payload, pr.d_payload + pr.d_len), remote); 57 57 } … … 60 60 catch(exception& e) 61 61 { 62 c err<<"Fatal: "<<e.what()<<endl;62 cout<<"Fatal: "<<e.what()<<endl; 63 63 } 64 64 -
trunk/pdns/pdns/docs/pdns.sgml
r755 r761 8504 8504 </para> 8505 8505 <para> 8506 Zone2sql with the --gmysql flag also assumes this layout is in place. 8507 </para> 8508 <para> 8506 8509 This schema contains all elements needed for master, slave and superslave operation. Depending on which features will be used, the 'GRANT' statements 8507 8510 can be trimmed to make sure PDNS cannot subvert the contents of your database. 8508 8511 </para> 8509 8512 <para> 8510 Zone2sql with the --gmysql flag also assumes this layout is in place. 8513 When using the InnoDB storage engine, we suggest adding the following lines to the 'create table records' command above: 8514 <programlisting> 8515 CONSTRAINT `records_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `domains` 8516 (`id`) ON DELETE CASCADE 8517 </programlisting> 8518 </para> 8519 <para> 8520 This automates deletion of records on deletion of a domain from the domains table. 8511 8521 </para> 8512 8522 </sect2> -
trunk/pdns/pdns/pdns-recursor.spec
r753 r761 3 3 Buildroot: /tmp/pdns/ 4 4 Name: pdns-recursor 5 Version: 3.0 5 Version: 3.0.1snapshot 6 6 Release: 1 7 7 Summary: extremely powerful and versatile recursing nameserver