3 Reenable --enable-debug
7 Don't double quote CFLAGS.
11 Change the way we pass the autoconf args to the libevent autoconf script.
19 Update ChangeLog for 0.12
23 Bind UDP listeners first.
31 Reset ac_configure_args before configuring libevent.
32 This fixes the issue with the OpenBSD port, that was reseting both CC and
37 Use both -fPIE (cc) and -pie (linker) or none.
42 It breaks the OpenBSD-current port, but unbreaks Linux, aaahhhhhh.
46 No more rlimit for now.
50 Don't strip symbols on Debian packages. Screw you, stupid Debian policies.
54 Start UDP listeners first. They provide an error message when they fail.
58 Linux doesn't like RLIMIT_NPROC = 0.
62 Use nonexistent.local instead of nonexistent.example.com
63 or else OpenDNS servers can return the "guide" IP instead of NXDOMAIN.
67 Invert the ifdef logic for retries.
79 Fix UDP retries: ditch the retry timer after a successful sendto().
87 Update NetBSD / Dragonfly BSD packages again.
91 Update OpenBSD package.
95 Update Homebrew formula.
99 Bring back _FORTIFY_SOURCE.
103 Prepare OpenBSD package update.
115 Nuke -pie for now. It breaks the OpenBSD-current port.
119 Update NetBSD / Dragonfly BSD package
123 Bump Homebrew package
131 Bump fpm packages to 0.11
143 Disable UDP sendto() retries for now.
151 Check for -W combos, not for individual switches.
155 Add config.guess patch for bitrig to the tree.
159 Try harder to trigger the gcc warning bug.
171 Improve ax_check_compile_flag by adding an unused variable in order to
172 always trigger a non-fatal compiler warning.
176 Ignore unknown warnings only if we are using clang.
180 Remove -Wno-unknown-warning-option because of this stupid gcc.
184 libevent Win32: avoid crash when waiting forever on zero fds.
188 Explicitly mention libtool in the autoconf script.
192 Run sandbox_init() only if it's not a stub.
212 opendnscache-proxy was the name of dnscrypt 1 year ago.
213 Rename it to dnscrypt-proxy.
221 And Gemfile and more tests.
225 Exit with 1 when an invalid option is given in hostip, too.
229 Exit with 1 when an unknown option is given.
233 Revert to always using -fstack-protector-all on Windows.
234 If it fails outside the MingW environment, either do some magic to
235 statically link it, or use --disable-ssp if you're desperate.
239 Statically link libssp on Windows.
247 Add --disable-ssp option for platforms lacking libssp. (sad)
251 Ignore deprecated declarations warnings for sandbox*()
259 Try to better detect Windows targets.
263 Copy with Winsock2 prototypes.
267 Use ev_socklen_t everywhere.
271 Update noops for systems without dtrace.
275 Update NEWS / ChangeLog
279 Deprecate --local-port and --resolver-port
283 Use some crazy heuristics to support ip:port addresses as well as the old
284 format --x-address and --x-port.
288 Export evutil_format_sockaddr_port()
292 Update NEWS/ChangeLog
296 Remove pwnam comments.
300 Rename SendtoWithRetryCbCtx to SendtoWithRetryCtx
304 Retries is zero, already, thanks to calloc().
308 Support retries on Windows.
312 Retry every second. On relevant errors only. At least on !_WIN32.
313 Windows roots are the DOS, anyway.
317 Retry on UDP sendto() error.
318 We should only do that on non-fatal errors only.
319 Which means testing for different error codes on Windows. Bleh.
323 Factorize sendto() calls and pave the way for retrying on non-fatal errors.
327 Port 443 is already the default.
331 Don't assert(! TAILQ_EMPTY()) unless the request has actually been inserted in
332 the list of queued requests.
333 Should fix issue #19.
337 hostip: add things Windows needs in order to get the in6_addr structure defined
341 Check for setrlimit() existence.
345 Restrict a bit more what processes can do.
357 Update ChangeLog, bump version to 0.11
361 Introduce hostip(8), a tool for resolving a name before dnscrypt-proxy starts.
362 It should help fighting the chicken-and-egg issue seen on routers, where
363 dnscrypt-proxy requires a working NTP server, but the NTP server requires
368 Useless indentation nits.
372 Use ioctl() instead of fnctl(fnctl()) as much as possible. Saves 1 syscall.
376 Define getpwnam() and struct passwd if getpwnam(3) exists but the headers don't.
384 Bump Linux packages to 10.0.1
392 Current dev version is 0.10.1
396 chroot() as soon as we can again. Drop libevent2's evdns arc4random() to use
397 our chroot()-proof salsa20_random() function instead.
401 libevent: resurrect evdns_set_random_bytes_fn() and add evdns_set_random_init_fn().
402 Using the provided RC4 generator is nice, but we maybe want to use something
403 else, in particular if we need something that is guaranteed to work in a
404 chroot jail, without a /dev/*random device.
408 libevent: don't use memset(<something on the stack>) to securely wipe a buffer,
409 because it's prone to compiler optimization.
413 libevent: do not close /dev/*random and /proc/**/uuid descriptors, in order to
414 keep them accessible after chroot(), when reseeding is needed.
418 Revoke privileges after cert_updater_start() for systems without arc4random().
419 Pointed out by Ben Kibbey.
423 Change arc4random_uniform() to calculate ``2**32 % upper_bound'' as
424 ``-upper_bound % upper_bound''.
429 Update pkgsrc packages.
433 Update FreeBSD package.
437 Update Homebrew formula.
449 Don't install libevent.
453 Compile with -fPIC if possible.
457 Make some type conversions explicit.
465 Fix IOC diagnostic with a left shift.
469 mingw defines cygwin32 as a host OS.
473 Update NetBSD / Dragonfly BSD package.
477 Update Homebrew formula
481 Update OpenBSD package
485 Update the FreeBSD port
489 We officially support Bitrig.
501 Update TCP dtrace probes
505 Bump Linux packages to 0.10
509 Update libevent to be7a95c62995a679ee24146b0d641b7392cbab51
513 Cast txtlen to size_t
521 Update date & changelog.
525 IPPROTO_TCP is defined in netinet/in.h on Dragonfly BSD
529 More gwurglz zindoz needz
537 Some fixes for Windows...
541 Allow 64K packets on TCP, use a different definition for UDP.
545 Spacing, blank lines, etc.
549 Test for big endianness in configure.ac
550 Change the first part of the client nonce to little endian on a big endian
551 system. Add 10 extra bits of randomness by the way.
559 Disable the Nagle algorithm when sending a query to a resolver.
563 If we need a free slot and there's none for the current protocol, steal one from the other protocol.
564 Having distinct knobs for UDP and TCP makes sense now, but it will not make
565 sense once OpenDNS will properly support TCP persistent connections.
577 Only resolve local_sockaddr once.
581 Unfuck libevent on Win32 when threading support has been disabled.
585 Run libevent's autogen.sh along with the top-level one.
589 Unfuck compilation on Linux.
597 Remove free() leftover.
601 Use -Oz for the iOS build.
605 Rewrite using libevent instead of libuv.
617 Unbreak libuv compilation with mingw32.
621 This libuv code is scary and we don't use it, but check at least the strdup() output.
625 Change #if FIONBIO to #ifdef FIONBIO. Fixes compilation on Debian/ppc 6.0.4.
626 Reported by Sebastian Sjoholm.
630 Don't malloc(0). If we don't have any interfaces, return OK / null.
634 Rewrite uv_hrtime() for Darwin in a portable way.
638 rename() requires <stdio.h> on OSX. Don't ask why.
646 Remove overzealous assertion.
654 OpenDNS finally sends zero-padded replies. Define TRIM_PADDING_FROM_REPLIES.
658 Update Homebrew formula.
662 Update the OpenBSD package to 0.9.5
670 Implement dnscrypt_memzero() instead of using a volatile cast.
678 Send the initial query through ares to whatever port has been specified
679 using --resolver-port even using UDP.
683 More libuv cherrypicks
695 Revert libuv to 3f0833eec07b5fbea2057c47e1c9014d3b347d35
696 Something looks broken on Linux between this revision and 75565907073055dd717fb6a6074518cafdd9355d.
700 libuv update to 7d2ea316183ba29a8ab5883593d1f6ee6f8f8ae3
701 unix: fix event loop stall
709 Update libuv to 0dff0e7d47453fafb72a287c0acdddd6e3f2d9de
710 A big and scary update.
714 Avoid compiler optimizations.
718 Update the plist file to use port 443 by default.
722 libuv update to 75565907073055dd717fb6a6074518cafdd9355d
726 Make sure that the event loop is always NULL before parsing options.
730 Don't call anything from libuv before fork()ing.
731 Since libuv will never be fork()-safe.
735 Initialize options one by one. Fixes dnscrypt on iOS.
739 Log when uv_loop_new() fails.
743 Remove libc6 dependency for RPMs because Fedora apparently doesn't like it.
747 We need to somehow call WSAStartup before trying to perform any lookups on Win32.
763 Bump version to 0.9.5, but don't tag yet.
767 Introduce ares_set_servers_any()
771 Remove useless prototype.
775 Remove STORAGE_PORT4 and STORAGE_PORT6. All we want is STORAGE_PORT_ANY.
779 Complete IPv6 support.
783 Support IPv6 for retrieving a certificate.
787 Wrap some libuv functions to work both with IPv4 and IPv6.
791 Don't use proxy_context->(ud|tc)p_listener_handle in a function where a handle
796 Trim padding from replies.
797 Not supported by OpenDNS yet, so #ifdef'd.
801 libuv update to 3f0833eec07b5fbea2057c47e1c9014d3b347d35
805 Ignore log_fd on Windows.
809 Gentoo ebuiild for dnscrypt-proxy 0.9.4.
813 libuv update to d1665792ca22d30b60319199662a0399be9f1352
817 Revert USE_NONBLOCKING_RANDOM since gathering enough entropy can be way too slow on Linux.
818 Turn this switch on if your OS doesn't correctly seed /dev/urandom at boot and
819 at install time, or use a better operating system.
823 Update the Linux fpm package
827 Update the FreeBSD package
831 Update the NetBSD/Dragonfly BSD package.
835 Update Homebrew formula.
843 Unfuck libuv on Dragonfly... Again...
847 Unbreak libuv compilation with mingw32.
851 Update the OpenBSD port
855 Update dist-files, dist-dirs
863 Mention the new Gentoo packages and credit David Lebel.
871 This libuv code is scary and we don't use it, but check at least the strdup() output.
875 Use --enable-debug instead of --with-debug
879 Provide --use-nonblocking-random if you really need to use /dev/urandom
880 but use /dev/random by default.
881 /dev/arandom has been removed from OpenBSD a long time ago, but I'm attached to it.
885 Don't recommend DNS caches that are unable to perform DNSSec validation.
889 Rename section title.
893 Drop the --tcp-port= switch, and introduce --resolver-port= and --tcp-only switches instead.
897 Update libuv to e82d46452e3db141d3875286cf90be0de6d724e0
905 Provide a link to github for bug reports.
909 Credit Sebastian Sjoholm.
913 Change #if FIONBIO to #ifdef FIONBIO. Fixes compilation on Debian/ppc 6.0.4.
914 Reported by Sebastian Sjoholm.
918 libuv - test: prevent accidental division by zero
922 Mention the official GUI for Windows, now that it's officially out.
926 Update Xcode Path to 4.4DP4, and mention that iOS binaries have to be signed.
934 Move all checks for linker flags to the same place, and always use -Wl.
938 Add pass -z,noexecstack to the linker if it accepts it.
940 Merge: 00af2e8 7c77d94
943 Merge remote-tracking branch 'lebel/lebel'
946 Add gentoo's portage files.
950 Sync libuv to 985b961d4eab778857101b17b62f9e521d43a157
954 Switch the iOS SDK to 5.1
958 Update libuv to 6367da25b38274c31b42097056b2995c2696caef.
959 Pretty sure it breaks non-Linux & OSX platforms as usual.
967 Add gentoo's portage files.
971 Sync libuv up to c9c9d805dae321a7bdf0077547c2da2dbe70f2a2
975 Sync libuv up to 49d4e1884ba5ea135f68c8b17fdf2c5d5bf0f91e
979 Give fpm a list of directories to package.
983 libuv does support Openwall Linux by default, now.
984 The libuv guys are very reactive when it comes to merging patches.
988 Sync libuv up to db413f3806356a632774b8a589546fc6788debd6
996 --daemonize has been fixed.
1008 Initialize the event loop after having parse the options
1009 so that the event loop works fine after a possible fork() when the proxy
1010 is started with the --daemonize switch.
1014 sync libuv to d07f2466d0a10ab02db588374dd97c2edd54c7fc
1018 Update Dragonfly BSD & NetBSD package.
1022 Fix FreeBSD distinfo.
1026 Update FreeBSD package.
1030 Update OpenBSD package to 0.9.3
1034 Update Homebrew formula.
1038 Bump Linux package version to 0.9.3
1042 cygwin: we need to include uv-common.h for uv__set_sys_error()
1046 Add windows quirks to the distribution.
1050 Don't include sys/sysctl.h without sys/param.h first.
1058 Remove command-line switches that are unsupported on Win32.
1062 Add missing break so that comments in fingerprints work.
1066 Check for an actual library symbol in order to link Win32-specific libs.
1070 Update libuv to 5505f2e9063aaf9b52d47315ae4324efbb5834be
1074 Mention Noxwizard's dnscrypt-winclient
1078 <stdlib.h> is required for NULL to be defined in safe_rw.c
1082 Now, that's a super ugly way of linking ws2_32, psapi and iphlpapi.
1086 Mark some unused variables on Win32.
1090 Compile out more pid_file.c code on Win32.
1094 Use _WIN32 instead of __MINGW32__ just in case we want to support Visual Studio.
1098 Unfuck daemonization on Cygwin builds.
1102 Bump version to 0.9.3, featuring native support for Windows.
1103 Now, back to serious work.
1107 Native Windows builds are now supported.
1112 Provide some logging on Windows, and disable unsupported options.
1116 Pass CRYPT_VERIFYCONTEXT to CryptAcquireContext().
1120 Use the CryptoAPI on Win32.
1124 Fascinating whitespace changes.
1129 test: make pipe_connect_to_file succeed with ECONNREFUSED
1130 windows: return UV_ENOTSOCK when doing uv_pipe_connect to a file
1134 Windows: we need to zero the loop structure when we initialize it
1135 or else the ares list of handles is uninitialized and bad things can happen
1136 when we try to perform async lookups.
1140 Oh course, there will be no /dev/*random on zindoz.
1144 Force line buffering for stdout, for zindoz
1148 Yes, it now natively compiles on Win32.
1149 Fortunately, it crashes.
1157 Link with Winsock2 on Windows.
1161 Unfuck MingW detection.
1165 libuv - unix: fix fs_event refcount bug on darwin
1169 libuv - unix: don't rely on libev to track timer state
1173 Bump year & remove empty line.
1174 (wow, awesome and useful commit)
1178 The beginning of the end.
1186 There are so many random() calls that having just one hack for Win32 will never fit the bill.
1190 More disgusting changes Windows requires. Not having random()/srandom() is going to be a PITA.
1194 setrlimit() on Win32? LOL.
1198 <windows.h> is needed, even for Sleep().
1202 Jeez, Win32 doesn't even provide sleep().
1206 Fix memory leak in uv_exepath() on OSX.
1211 Share inotify fd across event loop.
1219 Update ChangeLog for version 0.9.2
1223 Mention iOS support, bump version to 0.9.2
1227 Some distributions don't provide a "hostname" command.
1228 Always use the same name for a compilation directory.
1232 Improve detection of -fPIE support.
1236 Unbreak libuv on iPhone.
1240 Don't benchmark functions at compile-time.
1241 That should be done at run-time.
1245 Test /dev/urandom with -r, not -f
1249 Run less executables at compile-time in order to make cross-compilation for iPhone & Android possible.
1253 Don't run test-c - It breaks cross-compilation.
1257 Add some extra info to the Debian packages so that lintian stops whining.
1261 libuv - linux: fix signedness issue in uv_exepath()
1269 Add URL / maintainer / category to the Linux packages.
1273 Update NetBSD and Dragonfly BSD packages.
1277 Update FreeBSD & Homebrew packages
1281 Update the dnscrypt package for OpenBSD to 0.9.1
1282 It should now work on non-Intel architectures.
1286 Bump version to 0.9.1
1294 Both the compiler and the linker have to accept -fstack-protector
1298 Try to compile something that performs some stack allocation in order to
1299 make the AX_CHECK_COMPILE_FLAG work with -fstack-protector
1303 We actually need uclibc 0.9.32 to use ifaddrs.h
1307 Thanks, Lance Fredrickson.
1311 uClibc < 0.9.30 didn't have ifaddrs.h
1315 Regen OpenBSD distinfo.
1323 Replace cpucycles with a no-op.
1324 We're favoring portability for now, and we're not benchmarking functions.
1325 And cpucycles seems to be causing a lot of trouble on some architectures.
1329 Update Dragonfly BSD / NetBSD package.
1333 Update Homebrew formula.
1337 execinfo is *not* required on OpenBSD.
1341 Update OpenBSD packages
1345 Bump FreeBSD package to 0.9
1349 Update the documentation to mention where the tarballs can be downloaded from.
1353 Update Linux packages to 0.9
1362 Trying to keep the version number in sync with the Mac GUI doesn't make any
1363 sense, especially with a Windows GUI on the way.
1367 2012 & regen man page
1371 Remove test-ipc-threads.c and regen uv/dist-files.
1379 Explicitly NULLify app_context.proxy_context
1383 libuv: plug memleak on error path
1387 Don't malloc(0). If we don't have any interfaces, return OK / null.
1391 Rewrite uv_hrtime() for Darwin in a portable way.
1395 rename() requires <stdio.h> on OSX. Don't ask why.
1403 Next version will be 0.11.
1404 (yeah, people are having a hard time figuring out that the OSX GUI is a
1405 different product, so let's try to keep version numbers more or less in sync)
1409 libuv cherrypick: unix: set SO_REUSEADDR before binding
1413 libuv cherrypick: unix: don't close kqueue fd in kqueue_fork()
1417 libuv cherrypick: unix: clean up udp read/write watchers
1421 libuv cherrypick: unix: clean up udp shutdown sequence
1425 libuv cherrypick: unix: don't retry close() on EINTR
1429 libuv cherrypick: unix: fix segfault in uv_guess_handle()
1433 libuv cherrypick: unix: fix udp recv_start refcount
1437 libuv cherrypick: remove unused #define
1441 libuv cherrypick: docs: add c-ares license note
1449 Cherry-pick 6a9cb902ae25efa6f853dc10b20cd657b8a1f809
1453 Cherrypick libuv 3cbe7c3f7952aa249450438b21cf4f346bb88e22
1457 Revert "Update libuv" - libuv is still b0rk3d on OpenBSD, DragonflyBSD and NetBSD.
1462 Revert "Unbreak libuv on Dragonfly BSD."
1467 Unbreak libuv on Dragonfly BSD.
1475 Set TZ even if strftime() fails.
1479 Update libuv - Except the obviously untested patch provided by Microsoft that totally breaks libuv on BSD.
1483 Revert - libuv is now totally b0rk3d on FreeBSD/DragonflyBSD.
1487 Big and scary update to libuv
1491 Add --disable-dependency-tracking to the Homebrew formula.
1495 Update Dragonfly BSD / NetBSD package.
1499 Update Homebrew package
1503 Update FreeBSD package.
1507 Update OpenBSD package.
1515 We can detect accept4() while SOCK_CLOEXEC and SOCK_NONBLOCK are unavailable.
1516 Fixes compilation on Openwall-current.
1520 Redirect compile-time tests to an errors file.
1524 Update for Dragonfly BSD.
1528 -fstack-protector-all is causing trouble with Dragonfly BSD and NaCl.
1529 Use -fstack-protector only on Dragonfly BSD for now.
1533 Update packages to 0.8 - distinfo files have to be regenerated though.
1537 Update NEWS / ChangeLog
1541 Rename C_ASSERT, because Windows defines a macro with the same name.
1545 Don't use substitution in a $(shell) statement.
1549 Unfortunately, ULONG_LONG_MAX isn't always defined.
1561 Don't include crypto_int32.h
1573 assert() -> C_ASSERT()
1585 Make getword() a bit faster by using all the output bytes.
1593 Introduce a C_ASSERT() macro instead of repeating (void) sizeof(char[X?1:-1])
1597 Switch to salsa20/20 as a stream cipher.
1601 curvecp is fantastic but we don't use it for now. So don't ship a copy of it.
1605 Move Linux packages to /usr
1609 Provide better detection for Mingw when used on Windows.
1613 Disable -fstack-protector-all on Windows but enable specific flags for ASLR & DEP.
1617 Enable ASLR and DEP on Win32.
1621 Works out of the box on Windows using Cygwin (for now, native port is coming).
1625 Mention do-not-query-localhost: no for Unbound.
1629 We do support Openwall Linux now.
1633 Don't try compiling inotify-related functions on Linux distros without inotify.
1637 Provide compatibility with glibc versions that don't provide pipe2()/O_CLOEXEC
1649 Add the default public key for ed25519-signed certs.
1653 Switch to 2.dnscrypt-cert.opendns.com
1665 Import ed25519 - thanks to djb for his feedback.
1669 Add a sample .plist file.
1673 Add a formula for Homebrew
1689 Downcase + remove some redundant stuff.
1697 Per popular request, add a description of the protocol + implementation details.
1701 Add links & credits for NaCl and libuv.
1705 Add THANKS file, credit sthen@ for his help on the OpenBSD port.
1709 dnscrypt has been written by humans.
1713 Test presence of 6Jack, that will be required for new tests.
1715 Merge: 2a196e1 cfbb34c
1718 Merge pull request #1 from sthen/master
1724 add ONLY_FOR_ARCH, NaCl needs more work on !i386/amd64
1728 picks up libexecinfo if installed; add dep
1736 needs a homedir to chroot to; use /var/empty
1740 daemonize in rc script, add cvs id for OpenBSD
1744 Fix MASTER_SITE and HOMEPAGE
1748 Switch back to using the .tar.gz file since the github CDN finally has it.
1752 Update the OpenBSD package.
1756 OpenBSD uid 685/686 were taken by other ports already. Switch to uid 688, reserved by sthen@
1760 Initial public release.