Niklas Keller
44cef3fb53
Unbreak logo text
2017-07-15 23:20:14 +02:00
Niklas Keller
3b71a3d9d5
Use new logo \o/
2017-07-15 23:16:08 +02:00
Niklas Keller
a5ccdd9a08
Fix up previous commit for concurrent config loading
2017-07-13 21:17:16 +02:00
Niklas Keller
474787af05
Don't load config multiple times concurrently
2017-07-13 21:02:59 +02:00
Niklas Keller
ab2adecaea
Fix typo
2017-07-07 12:46:35 +02:00
Niklas Keller
cbe273c3d2
Add documentation and update README
2017-07-06 21:22:39 +02:00
Niklas Keller
d382d71fc7
Implement proper fix for the OPCache issue
2017-07-01 15:44:10 +02:00
Niklas Keller
c1c552d752
Add php-src bug reference
2017-07-01 12:19:09 +02:00
Niklas Keller
e0fc018ad7
Work around OPCache issue
2017-07-01 10:52:56 +02:00
Niklas Keller
f9f0c6cdc8
Fix queries over TCP, add tests
2017-06-29 12:36:09 +02:00
Niklas Keller
1a1427ce10
Add explanation comments
2017-06-27 18:35:57 +02:00
Niklas Keller
8dca65bcd4
Move socket classes into an internal namespace
2017-06-27 18:30:28 +02:00
Niklas Keller
bd78869bcd
Rename Server to Socket
...
Server was pretty weird, they're sockets. These classes were marked as
@internal before, so this is not a BC break.
2017-06-27 17:47:57 +02:00
Niklas Keller
ee05df2e1e
Use random IDs and different UDP ports for each request
...
This is another countermeasure as outlined in https://tools.ietf.org/html/rfc5452 . Request IDs have 16 bits of entropy now. The port will change during requests, but is usually not random. However, there are systems that use a random port for :0 port requests.
2017-06-27 17:35:53 +02:00
Niklas Keller
58b9ed1035
Match question section of responses to the asked question
...
This makes forging responses and poisoning the cache harder and is one method suggested in https://tools.ietf.org/html/rfc5452 .
2017-06-27 16:55:24 +02:00
Niklas Keller
cbffb766f3
Restrict caching to max one day
2017-06-25 21:00:30 +02:00
Niklas Keller
2167251966
Update LICENSE date
2017-06-24 08:14:50 +02:00
Aaron Piotrowski
3aaf2708f7
Use flag to control reading requests
2017-06-24 00:50:34 -05:00
Niklas Keller
5f73365b9b
Add simple examples that queries 10 out of the top 500 domains
2017-06-24 01:51:41 +02:00
Niklas Keller
ad55bcf870
Fix host loading on Windows
2017-06-24 01:18:12 +02:00
Aaron Piotrowski
70205d9282
Store deferred in question array before receiving
...
Also avoid creating unnecessary exception instances.
2017-06-23 18:05:11 -05:00
Niklas Keller
46cc8e47c7
Remove normalizeDnsName and isValidDnsName, as they're in amphp/uri now
2017-06-24 00:53:10 +02:00
Aaron Piotrowski
6a2e666a80
Consolidate error handling
2017-06-23 16:25:50 -05:00
Niklas Keller
8271989335
Fix garbage collection and mark classes as final / internal
2017-06-23 21:07:59 +02:00
Niklas Keller
fd7c82113c
Fix retrying, wrap non-ResolutionExceptions in ResolutionException
2017-06-23 20:51:50 +02:00
Niklas Keller
dd938ce846
Clean up unused sockets
2017-06-23 19:13:28 +02:00
Niklas Keller
b0aa8daeca
Implement timeout for queries
2017-06-23 18:57:22 +02:00
Niklas Keller
015ac39f08
Fix BasicResolver::reloadConfig
2017-06-23 18:43:04 +02:00
Niklas Keller
a10643fa37
Fix issue with type restricted resolve and add test
2017-06-23 18:35:48 +02:00
Niklas Keller
3c80f0a4b1
Remove bogus assertion for TTL
2017-06-23 18:26:42 +02:00
Niklas Keller
23e24b76c6
Add test for type restrictions in resolve
2017-06-23 18:21:56 +02:00
Niklas Keller
7ea775f741
Add HostLoader test
2017-06-23 18:07:57 +02:00
Niklas Keller
9ed331ae3d
Implement request sharing for concurrent requests to the same resource
2017-06-23 17:48:03 +02:00
Niklas Keller
1bd8870003
Fix code style
2017-06-23 17:37:40 +02:00
Aaron Piotrowski
a4b714c0b0
Keep receiving if there are still pending requests
2017-06-23 10:06:30 -05:00
Niklas Keller
f536ddfd8a
Purge requests if they're still in the map after 65k requests in between
2017-06-23 15:34:12 +02:00
Niklas Keller
957e3eaf3d
Don't use shallow_clone, as the exported project doesn't include tests
2017-06-23 15:09:24 +02:00
Niklas Keller
132296d158
Fix script order on Appveyor
2017-06-23 15:01:52 +02:00
Niklas Keller
e4b0fa0b67
Fix more paths on Appveyor
2017-06-23 14:57:22 +02:00
Niklas Keller
c728392eea
Call Composer correctly on Appveyor
2017-06-23 14:53:36 +02:00
Niklas Keller
0f911d58d5
Change PHP path to c:\tools\php71 on Appveyor
2017-06-23 14:49:49 +02:00
Niklas Keller
18427385bc
Start Windows Update server on Appveyor
2017-06-23 14:45:56 +02:00
Niklas Keller
2d5a7ab37b
Change appveyor.yml, it's enough to run one version of PHP on Windows
2017-06-23 14:37:04 +02:00
Niklas Keller
b05d11912b
Fix resolution data and add CNAME / DNAME support
2017-06-23 14:23:04 +02:00
Niklas Keller
05a413f72c
Error out if type is restricted and passed name is an IP but not of that type
2017-06-23 13:39:20 +02:00
Niklas Keller
ea1cd633dd
Add BasicResolver::reloadConfig() and move docs to interface
2017-06-23 13:32:04 +02:00
Niklas Keller
1124aa1117
Add test domain that has a CNAME
2017-06-23 13:18:12 +02:00
Niklas Keller
affebb612a
Delete DefaultDriver
2017-06-23 13:15:15 +02:00
Niklas Keller
ebdf4a663e
Implement resolve in BasicResolver
2017-06-23 13:14:51 +02:00
Niklas Keller
0331eadcc8
Implement TCP retry and server reuse
2017-06-23 12:49:16 +02:00