/[smeserver]/rpms/djbdns/sme10/090-tinydns-one-second.patch
ViewVC logotype

Contents of /rpms/djbdns/sme10/090-tinydns-one-second.patch

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (show annotations) (download)
Wed Jul 12 03:39:09 2017 UTC (7 years, 3 months ago) by unnilennium
Branch: MAIN
CVS Tags: djbdns-1_05-10_el7_sme, djbdns-1_05-9_el7_sme, djbdns-1_05-11_el7_sme, HEAD
* Tue Jul 11 2017 Jean-Philipe Pialasse <tests@pialasse.com> 1.05-9.sme
--import patches from openwrt and rename already applied patches
--fix security issues [SME: 10374]
- 020-dnsroots-update.patch: update list of root DNS servers
- 070-dnscache-dpos-tcp-servfail.patch: SERVFAIL rename previous patch dns_transmit-bug.patch
- 080-dnscache-cache-negatives.patch: rfc2308 ?
- 210-dnscache-strict-forwardonly.patch: rename previous patch dnscache-strict-forwardonly.patch
- 240-tinydns-alias-chain-truncation.patch: rename previous patch tinydns-alias-chain-truncation.patch
- 270-dnscache-sigpipe-fix.patch: SIGPIPE
- 300-bugfix-dnscache-dempsky-poison.patch: CVE-2009-0858
- 310-bugfix-dnscache-merge-outgoing-requests.patch: CVE-2008-4392
- 320-bugfix-dnscache-cache-soa-records.patch: CVE-2008-4392
- 450-dnscache-ghost-domain-CVE-2012-1191.patch: CVE-2012-1191 http://marc.info/?l=djbdns&m=134190748729079&w=2
--bug fixes [SME: 10374]
- 060-dnscache-big-udp-packets.patch: accept and handle longer than 512 bytes UDP packets
- 230-tinydns-data-semantic-error.patch: handle semantic error to avoid publishing false dns records
--fix issue with short ttl cname like akamaid [SME: 8362]
- 200-dnscache-cname-handling.patch: rename previous patch dnscache-cname-handling.patch
- 330-fix-dnscache-cname-handling.patch: fix dnscache cname for short ttl
- 500-cutom-dnscache-maxloop.patch: set max loop to 200
--needed for previous patches to apply cleanly
- 030-srv-records-and-axfrget.patch: add SRV record type and axfr-get decompose SRC and PTR records (for 230-*.patch)
- 050-tinydns-mmap-leak.patch: report cdb leak
- 080-dnscache-cache-negatives.patch: rfc2308 ?
- 090-tinydns-one-second.patch: improve tinydns with 8 or more  concurent connections (for 240-*.patch)
- 120-compiler-temporary-filename.patch: change tmp filename to avoid conflicts (for 230-*.patch)

1 --- a/tdlookup.c
2 +++ b/tdlookup.c
3 @@ -280,15 +280,24 @@ static int doit(char *q,char qtype[2])
4
5 int respond(char *q,char qtype[2],char ip[4])
6 {
7 - int fd;
8 + static struct tai cdb_valid = { 0 };
9 + static int fd = -1;
10 + struct tai one_second;
11 int r;
12 char key[6];
13
14 tai_now(&now);
15 - fd = open_read("data.cdb");
16 - if (fd == -1) return 0;
17 - cdb_init(&c,fd);
18 -
19 + if (tai_less(&cdb_valid, &now)) {
20 + if (fd != -1) {
21 + cdb_free(&c);
22 + close(fd);
23 + }
24 + fd = open_read("data.cdb");
25 + if (fd == -1) return 0;
26 + cdb_init(&c,fd);
27 + tai_uint(&one_second, 1);
28 + tai_add(&cdb_valid, &now, &one_second);
29 + }
30 byte_zero(clientloc,2);
31 key[0] = 0;
32 key[1] = '%';
33 @@ -312,7 +321,5 @@ int respond(char *q,char qtype[2],char i
34
35 r = doit(q,qtype);
36
37 - cdb_free(&c);
38 - close(fd);
39 return r;
40 }

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed