1
0
mirror of https://github.com/danog/dns.git synced 2024-11-26 20:14:51 +01:00
Commit Graph

143 Commits

Author SHA1 Message Date
Aaron Piotrowski
4e4d6e9f81 Unload server when fwrite fails
Ignore errors from fwrite caused by disconnected sockets and immediately unload the server.
2017-03-02 16:38:11 -06:00
Niklas Keller
2b6925f166 Automatically convert IPs to ARPA domain 2017-02-05 23:17:40 +01:00
Niklas Keller
45ab9b512b Search for DhcpNameServer in interfaces on Windows
Resolves #49.
2017-02-05 09:49:46 +01:00
Niklas Keller
badf3a9100 Merge branch 'master' into amp_v2 2017-01-25 16:36:19 +01:00
Niklas Keller
0941c4e779 Merge branch 'master' into amp_v2 2017-01-25 13:10:06 +01:00
Paul
885515990c Fix parsing servers with port in parseCustomServerUri 2017-01-25 12:52:55 +01:00
Aaron Piotrowski
f4055e5a52 Update for async-interop namespace change 2017-01-10 23:49:38 -06:00
Aaron Piotrowski
e13372219a Merge branch 'master' into amp_v2 2017-01-10 18:17:28 -06:00
Niklas Keller
0b0ef2b82d Enable AppVeyor, search in all interfaces for nameservers 2017-01-05 01:13:28 +01:00
Niklas Keller
cf08357a86 Add support for Windows DNS nameserver configuration (#40) 2017-01-04 20:07:28 +01:00
Aaron Piotrowski
5c5c0f92bd Disable instead of unreference 2016-12-29 22:57:41 -06:00
Aaron Piotrowski
7091105e2f Update for removal of Amp loop wrapper functions 2016-12-29 21:17:07 -06:00
Aaron Piotrowski
644c4f8fc6 Drop strict types
Dropping strict types so it is not enforced in callbacks provided by application code.
2016-12-29 21:16:14 -06:00
Aaron Piotrowski
0ff5c8b802 Awaitable → Promise 2016-11-15 10:42:15 -06:00
Aaron Piotrowski
acd649e39e Use strict types 2016-08-23 23:20:25 -05:00
Aaron Piotrowski
9c1c0edba9 Add type declarations; code cleanup 2016-08-23 23:14:10 -05:00
Bob Weinand
f7ba250b77 PHP-7 only upgrade 2016-08-13 19:12:51 +02:00
Aaron Piotrowski
517de05422 Update for loop registry changes 2016-08-12 10:51:40 -05:00
Bob Weinand
46589b730a Update for Amp v2 2016-08-02 23:57:40 +02:00
Bob Weinand
d021dd20f1 Fix broken hostname validation to match RFC 1123 2.1
Fixes #34
2016-07-07 16:07:10 +02:00
Bob Weinand
ba6016dd0a Do async connect for TCP, use a hard timeout of 5 seconds here
Fixes #32
2016-05-26 21:49:36 +02:00
Niklas Keller
a721e5f583 Allow custom paths on Windows, fixes tests on Windows 2016-03-26 22:25:34 +01:00
Bob Weinand
9f12b2264f Fix resolving localhost on Windows 2016-03-26 21:35:44 +01:00
Bob Weinand
78cda5692a Add (array) cast for $types inside resolve() 2016-03-24 20:17:04 +01:00
Bob Weinand
4311c836bf Rename SystemResolver => DefaultResolver 2016-03-20 11:40:08 +01:00
Niklas Keller
e3411ce472 Refactor into class with accessor like in amphp/amp and amphp/file, resolves #28 2016-03-19 22:23:55 +01:00
Bob Weinand
daf859ec40 Fix issues #25 and #26 2016-03-14 22:50:59 +01:00
Bob Weinand
2ca9766dff Prevent multiple unloading of server 2016-02-29 19:58:53 +01:00
Bob Weinand
a3b2c9099f Fixed issue #27 2016-02-25 12:36:51 +01:00
Bob Weinand
35b147d6f0 Fix parameter order 2016-02-21 21:54:50 +01:00
Niklas Keller
f70bd2d79f Add missing return, add tests for __loadResolvConf 2015-12-23 16:47:49 +01:00
Niklas Keller
2f8103f173 Handle IPv6 nameservers correctly 2015-12-23 14:56:14 +01:00
Niklas Keller
4c4d450d4a Fix #24: Default nameservers without port 2015-12-08 10:41:38 +01:00
Niklas Keller
29ae0bd341 Catch RuntimeException from Amp\some and turn it into ResolutionException 2015-09-23 22:22:33 +02:00
Niklas Keller
218e5877cd Add TODOs, update README 2015-09-18 15:09:28 +02:00
Bob Weinand
b63526343d Style, fix minor bug with wrong $option index in conf loader 2015-09-18 03:37:10 +02:00
Niklas Keller
67ed5539ce Add basic resolv.conf support 2015-09-18 02:49:06 +02:00
Bob Weinand
72764745f2 Automatically fallback to TCP upon timeout 2015-09-16 16:31:31 +02:00
Niklas Keller
e0fcee2f0a Update to new cache api, remove minor code smell, import classes 2015-09-10 17:11:48 +02:00
Bob Weinand
bdb8b5bf96 Fixes, use amphp/file, few renamings 2015-09-08 23:03:25 +02:00
Bob Weinand
94f27c663f Add support for DNS messages over TCP 2015-09-08 17:27:33 +02:00
Bob Weinand
ebb5fb510c Switch to a new API to enable getting not only the first entry and not only A/AAAA records
This now can do queries to dns servers and you'll get the list of raw records in an array
2015-09-08 17:27:33 +02:00
Daniel Lowrey
b37314ce61 Miscellaneous cleanup 2015-08-02 09:19:32 -04:00
Daniel Lowrey
a2fe7a5764 Massive refactor using amp/1.0.0 2015-08-01 22:38:25 -04:00
Daniel Lowrey
79be6e8c28 initial wip 2015-07-27 21:53:44 -04:00
Daniel Lowrey
dd38041160 Update in preparation of amp v1 2015-05-20 15:30:20 -04:00
Daniel Lowrey
46d1981ff5 Remove ext/filter dependency in IP type check 2015-02-17 15:34:12 -05:00
Niklas Keller
0ac694a5ee Match also subdomains with only one character
Example: m.example.com
2015-02-09 12:27:04 +01:00
Daniel Lowrey
aaf718e128 Update for amphp/amp v0.15.0 2014-12-08 12:07:24 -05:00
Chris Wright
980c7c9130 Add CacheFactory 2014-11-26 16:05:50 +00:00
Chris Wright
4dd32347a0 Remove unused "use" statement 2014-11-26 15:55:54 +00:00
Chris Wright
2a8e46babc Merge pull request #17 from DaveRandom/fix/cached-null-address
Cached null value checks
2014-11-26 15:47:49 +00:00
Danack
0c9d4a62d5 Added extra check to ensure APC is functioning. This is apparently necessary as tested on PHP5.4 on OSX. 2014-11-21 19:34:40 +00:00
Danack
ea5610963b Added check that the cache is enabled. 2014-11-21 16:06:36 +00:00
Danack
3bcf7e53a7 Changed default cache to be APCCache if the APC extension is loaded. This allows DNS lookups to be cached across requests when the library is used in a web SAPI. 2014-11-19 19:20:03 +00:00
Chris Wright
3e9fae44c0 Cached null value checks
- Prevent null values from being cached
- Delete values with expired TTLs from memory cached when an attempt is
  made to access them
- Use default TTL when none is specified with Redis and APC
2014-11-19 12:22:42 +00:00
Danack
dd893c09a1 Fixed typo on variable. Added ClientTest to have client specific tests. 2014-11-10 15:42:58 +00:00
Danack
67b0ff1494 Fixed incorrect exception name. 2014-11-10 14:20:38 +00:00
Daniel Lowrey
e58d46d3c5 Disable read watcher when no resolve operations pending 2014-11-03 23:49:19 -05:00
Chris Wright
c188896170 Allow leading digits in name labels
Update name validator to allow RFC1101 names
2014-10-02 16:41:33 +01:00
Daniel Lowrey
d562ce24f4 Simplify directory structure 2014-09-24 13:35:10 -04:00
Daniel Lowrey
ccd9c87aeb Initial amphp refactor 2014-09-24 00:04:46 -04:00
Chris Wright
3d81d18176 Fix hosts file bug and tests
Thanks to @Danack
2014-07-22 16:18:26 +01:00
Chris Wright
585b5578e3 Cache refactoring
- pull $type back down into interface
 - remove delete() from interface
 - make get() async-capable
2014-07-22 02:54:23 +01:00
Chris Wright
a30ead4952 Whitespace and code style fixes
I am anal. I am also sorry. Deal with it.
2014-07-21 17:48:36 +01:00
Danack
ca150f4093 Changed to project standard bracket placement. Moved AddrCache to Addr\Cache. Refactored to use 'use', added not about running tests to readme. Moved travis badge to point at main repo. 2014-07-21 14:12:51 +01:00
Danack
a50369e71e Tests, Travis and Cache implementations
- Add tests
 - Configure repo for use with Travis
 - Add some more Cache implementations
2014-07-21 12:24:35 +01:00
Chris Wright
10bd03789c Fix memory cache lookup handling 2014-07-20 00:15:33 +01:00
Chris Wright
6df50e2fc8 Fix undefined reference in async cache handling 2014-07-18 01:11:40 +01:00
Chris Wright
d74f8c9a10 Make caching API asynchronous
Closes #5
2014-07-18 01:07:01 +01:00
Chris Wright
361e207d1f Merge branch '0.2' 2014-07-18 00:19:14 +01:00
Chris Wright
6fcf8b4d07 Check for errors when writing to socket
Fix for #3
2014-07-18 00:18:58 +01:00
Chris Wright
7960dc0e69 Merge branch '0.2' 2014-07-17 21:33:17 +01:00
Chris Wright
0cf046c2c5 Merge branch '0.1' into 0.2 2014-07-17 21:32:59 +01:00
Mateusz Nowak
add4e38c1c Prevent from crashes when url doesn't exists
Cherry picked from 3655b79..0d62434
2014-07-17 21:31:55 +01:00
Chris Wright
d91f47a017 Partial implementation for #6 2014-07-17 21:07:24 +01:00
Chris Wright
d4257d132f Merge branch '0.1' into 0.2 2014-06-17 18:06:25 +01:00
Chris Wright
22c90049f3 Handle CNAME resource records correctly 2014-06-17 18:01:10 +01:00
Chris Wright
01b3d38c43 Move caching layer into client 2014-06-16 18:30:28 +01:00
Chris Wright
f60ac3fc5e Merge branch '0.1' into 0.2 2014-06-16 17:48:38 +01:00
Chris Wright
5a5610a0de Validate name format in private method 2014-06-16 17:47:51 +01:00
Chris Wright
8699d67081 Merge branch '0.1' into 0.2 2014-06-16 03:55:10 +01:00
Chris Wright
6174dfdb25 Call cache store callback before lookup callbacks 2014-06-16 03:53:40 +01:00
Chris Wright
dce47d6a83 Merge branch '0.1' into 0.2 2014-06-16 03:32:14 +01:00
Chris Wright
8e82108197 Allow reusing of outstanding requests
Refactoring to ensure only one concurrent request is sent to the server for a unique name/type tuple
2014-06-16 03:28:59 +01:00
Chris Wright
f7e199ff75 Rename request -> lookup in client 2014-06-16 01:30:28 +01:00
Chris Wright
dd39ab1fef Merge branch '0.1' into 0.2 2014-06-16 01:20:59 +01:00
Chris Wright
32d52285e1 Make outstanding request struct associative 2014-06-16 01:20:38 +01:00
Chris Wright
f8b44f24ac Allow injecting of cache through factory 2014-06-15 23:36:17 +01:00
Chris Wright
4ab6ecc2be Extract Cache to an interface 2014-06-15 22:52:02 +01:00
Chris Wright
f4cd031352 Move Client default values out of arg default value list
Allows constructor args to be skipped with null
2014-06-15 22:45:33 +01:00
Chris Wright
d5b5192ba3 Finished initial implementation
zOMG too many things to document
2014-06-15 00:47:15 +01:00
Chris Wright
1d418d3e82 Initial commit
WIP
2014-06-13 18:17:49 +01:00