noderb 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/LICENSE +19 -0
- data/README.md +25 -0
- data/ext/noderb_extension/extconf.rb +11 -0
- data/ext/noderb_extension/libuv/AUTHORS +11 -0
- data/ext/noderb_extension/libuv/LICENSE +48 -0
- data/ext/noderb_extension/libuv/Makefile +119 -0
- data/ext/noderb_extension/libuv/README +45 -0
- data/ext/noderb_extension/libuv/build/all.gyp +254 -0
- data/ext/noderb_extension/libuv/build/common.gypi +13 -0
- data/ext/noderb_extension/libuv/build/gyp_uv +43 -0
- data/ext/noderb_extension/libuv/config-mingw.mk +67 -0
- data/ext/noderb_extension/libuv/config-unix.mk +121 -0
- data/ext/noderb_extension/libuv/create-msvs-files.bat +14 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ANNOUNCE +482 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/BUGS +141 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/Bmakefile +268 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/CONTRIBUTORS +140 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/COPYING +150 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/COPYING.LIB +504 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ChangeLog +5194 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/FAQ +451 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/GNUmakefile +593 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/MAINTAINERS +4 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/Makefile +516 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/NEWS +1245 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/Nmakefile +24 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/Nmakefile.tests +260 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/PROGRESS +4 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/README +601 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/README.Borland +57 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/README.CV +3036 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/README.NONPORTABLE +783 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/README.Watcom +62 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/README.WinCE +6 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/TODO +7 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/WinCE-PORT +222 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/attr.c +53 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/autostatic.c +69 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/barrier.c +47 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/build/all.gyp +207 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/builddmc.bat +9 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/cancel.c +44 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/cleanup.c +148 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/condvar.c +50 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/config.h +153 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/context.h +74 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/create.c +308 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/dll.c +92 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/errno.c +94 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/exit.c +44 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/fork.c +39 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/global.c +107 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/implement.h +944 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/misc.c +50 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/mutex.c +62 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/need_errno.h +145 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/nonportable.c +47 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/private.c +54 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.c +66 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.dsp +142 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.dsw +29 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.h +1368 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_destroy.c +79 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getdetachstate.c +86 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getinheritsched.c +51 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getschedparam.c +52 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getschedpolicy.c +61 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getscope.c +54 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getstackaddr.c +97 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getstacksize.c +100 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_init.c +117 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setdetachstate.c +91 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setinheritsched.c +57 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setschedparam.c +63 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setschedpolicy.c +55 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setscope.c +62 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setstackaddr.c +97 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setstacksize.c +110 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrier_destroy.c +103 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrier_init.c +69 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrier_wait.c +104 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_destroy.c +83 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_getpshared.c +95 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_init.c +85 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_setpshared.c +119 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cancel.c +189 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_destroy.c +253 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_init.c +167 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_signal.c +231 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_wait.c +567 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_destroy.c +86 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_getpshared.c +97 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_init.c +87 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_setpshared.c +117 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_delay_np.c +172 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_detach.c +136 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_equal.c +76 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_exit.c +106 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getconcurrency.c +45 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getschedparam.c +75 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getspecific.c +87 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getunique_np.c +47 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getw32threadhandle_np.c +65 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_join.c +157 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_key_create.c +108 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_key_delete.c +125 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_kill.c +105 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_consistent.c +187 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_destroy.c +148 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_init.c +130 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_lock.c +269 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_timedlock.c +324 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_trylock.c +154 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_unlock.c +175 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_destroy.c +83 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_getkind_np.c +44 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_getpshared.c +95 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_getrobust.c +113 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_gettype.c +56 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_init.c +86 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_setkind_np.c +44 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_setpshared.c +119 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_setrobust.c +119 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_settype.c +143 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_num_processors_np.c +56 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_once.c +79 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_destroy.c +143 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_init.c +109 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_rdlock.c +102 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_timedrdlock.c +109 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_timedwrlock.c +139 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_tryrdlock.c +102 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_trywrlock.c +122 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_unlock.c +93 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_wrlock.c +133 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_destroy.c +84 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_getpshared.c +97 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_init.c +83 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_setpshared.c +120 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_self.c +141 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setcancelstate.c +125 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setcanceltype.c +126 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setconcurrency.c +53 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setschedparam.c +123 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setspecific.c +167 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_destroy.c +111 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_init.c +123 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_lock.c +80 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_trylock.c +77 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_unlock.c +71 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_testcancel.c +103 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_timechange_handler_np.c +108 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_win32_attach_detach_np.c +258 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_MCS_lock.c +278 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_callUserDestroyRoutines.c +232 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_calloc.c +56 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_cond_check_need_init.c +78 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_getprocessors.c +91 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_is_attr.c +47 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_mutex_check_need_init.c +92 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_new.c +94 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_processInitialize.c +92 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_processTerminate.c +105 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_relmillisecs.c +132 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_reuse.c +151 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_rwlock_cancelwrwait.c +50 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_rwlock_check_need_init.c +77 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_semwait.c +135 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_spinlock_check_need_init.c +78 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_threadDestroy.c +79 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_threadStart.c +357 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_throw.c +189 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_timespec.c +83 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_tkAssocCreate.c +118 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_tkAssocDestroy.c +114 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/rwlock.c +51 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sched.c +53 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sched.h +183 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sched_get_priority_max.c +134 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sched_get_priority_min.c +135 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sched_getscheduler.c +71 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sched_setscheduler.c +83 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sched_yield.c +71 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_close.c +58 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_destroy.c +144 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_getvalue.c +110 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_init.c +169 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_open.c +58 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_post.c +128 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_post_multiple.c +142 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_timedwait.c +238 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_trywait.c +117 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_unlink.c +58 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_wait.c +187 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/semaphore.c +69 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/semaphore.h +169 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/signal.c +179 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/spin.c +46 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sync.c +43 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/tsd.c +44 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/version.rc +388 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/w32_CancelableWait.c +161 -0
- data/ext/noderb_extension/libuv/doc/desired-api.md +159 -0
- data/ext/noderb_extension/libuv/doc/iocp-links.html +574 -0
- data/ext/noderb_extension/libuv/include/ares.h +582 -0
- data/ext/noderb_extension/libuv/include/ares_version.h +24 -0
- data/ext/noderb_extension/libuv/include/eio.h +376 -0
- data/ext/noderb_extension/libuv/include/ev.h +835 -0
- data/ext/noderb_extension/libuv/include/ngx-queue.h +102 -0
- data/ext/noderb_extension/libuv/include/tree.h +762 -0
- data/ext/noderb_extension/libuv/include/uv-unix.h +138 -0
- data/ext/noderb_extension/libuv/include/uv-win.h +187 -0
- data/ext/noderb_extension/libuv/include/uv.h +635 -0
- data/ext/noderb_extension/libuv/src/ares/AUTHORS +37 -0
- data/ext/noderb_extension/libuv/src/ares/CHANGES +1198 -0
- data/ext/noderb_extension/libuv/src/ares/CMakeLists.txt +22 -0
- data/ext/noderb_extension/libuv/src/ares/NEWS +21 -0
- data/ext/noderb_extension/libuv/src/ares/README +60 -0
- data/ext/noderb_extension/libuv/src/ares/README.cares +13 -0
- data/ext/noderb_extension/libuv/src/ares/README.msvc +118 -0
- data/ext/noderb_extension/libuv/src/ares/README.node +21 -0
- data/ext/noderb_extension/libuv/src/ares/RELEASE-NOTES +25 -0
- data/ext/noderb_extension/libuv/src/ares/TODO +23 -0
- data/ext/noderb_extension/libuv/src/ares/ares__close_sockets.c +66 -0
- data/ext/noderb_extension/libuv/src/ares/ares__get_hostent.c +263 -0
- data/ext/noderb_extension/libuv/src/ares/ares__read_line.c +71 -0
- data/ext/noderb_extension/libuv/src/ares/ares__timeval.c +111 -0
- data/ext/noderb_extension/libuv/src/ares/ares_cancel.c +63 -0
- data/ext/noderb_extension/libuv/src/ares/ares_data.c +190 -0
- data/ext/noderb_extension/libuv/src/ares/ares_data.h +65 -0
- data/ext/noderb_extension/libuv/src/ares/ares_destroy.c +105 -0
- data/ext/noderb_extension/libuv/src/ares/ares_dns.h +90 -0
- data/ext/noderb_extension/libuv/src/ares/ares_expand_name.c +193 -0
- data/ext/noderb_extension/libuv/src/ares/ares_expand_string.c +75 -0
- data/ext/noderb_extension/libuv/src/ares/ares_fds.c +62 -0
- data/ext/noderb_extension/libuv/src/ares/ares_free_hostent.c +39 -0
- data/ext/noderb_extension/libuv/src/ares/ares_free_string.c +25 -0
- data/ext/noderb_extension/libuv/src/ares/ares_gethostbyaddr.c +292 -0
- data/ext/noderb_extension/libuv/src/ares/ares_gethostbyname.c +515 -0
- data/ext/noderb_extension/libuv/src/ares/ares_getnameinfo.c +426 -0
- data/ext/noderb_extension/libuv/src/ares/ares_getopt.c +122 -0
- data/ext/noderb_extension/libuv/src/ares/ares_getopt.h +53 -0
- data/ext/noderb_extension/libuv/src/ares/ares_getsock.c +72 -0
- data/ext/noderb_extension/libuv/src/ares/ares_init.c +1665 -0
- data/ext/noderb_extension/libuv/src/ares/ares_ipv6.h +78 -0
- data/ext/noderb_extension/libuv/src/ares/ares_library_init.c +132 -0
- data/ext/noderb_extension/libuv/src/ares/ares_library_init.h +39 -0
- data/ext/noderb_extension/libuv/src/ares/ares_llist.c +86 -0
- data/ext/noderb_extension/libuv/src/ares/ares_llist.h +42 -0
- data/ext/noderb_extension/libuv/src/ares/ares_mkquery.c +195 -0
- data/ext/noderb_extension/libuv/src/ares/ares_nowarn.c +59 -0
- data/ext/noderb_extension/libuv/src/ares/ares_nowarn.h +24 -0
- data/ext/noderb_extension/libuv/src/ares/ares_options.c +253 -0
- data/ext/noderb_extension/libuv/src/ares/ares_parse_a_reply.c +260 -0
- data/ext/noderb_extension/libuv/src/ares/ares_parse_aaaa_reply.c +256 -0
- data/ext/noderb_extension/libuv/src/ares/ares_parse_mx_reply.c +170 -0
- data/ext/noderb_extension/libuv/src/ares/ares_parse_ns_reply.c +182 -0
- data/ext/noderb_extension/libuv/src/ares/ares_parse_ptr_reply.c +208 -0
- data/ext/noderb_extension/libuv/src/ares/ares_parse_srv_reply.c +179 -0
- data/ext/noderb_extension/libuv/src/ares/ares_parse_txt_reply.c +201 -0
- data/ext/noderb_extension/libuv/src/ares/ares_private.h +351 -0
- data/ext/noderb_extension/libuv/src/ares/ares_process.c +1296 -0
- data/ext/noderb_extension/libuv/src/ares/ares_query.c +183 -0
- data/ext/noderb_extension/libuv/src/ares/ares_rules.h +144 -0
- data/ext/noderb_extension/libuv/src/ares/ares_search.c +322 -0
- data/ext/noderb_extension/libuv/src/ares/ares_send.c +134 -0
- data/ext/noderb_extension/libuv/src/ares/ares_setup.h +191 -0
- data/ext/noderb_extension/libuv/src/ares/ares_strcasecmp.c +66 -0
- data/ext/noderb_extension/libuv/src/ares/ares_strcasecmp.h +30 -0
- data/ext/noderb_extension/libuv/src/ares/ares_strdup.c +42 -0
- data/ext/noderb_extension/libuv/src/ares/ares_strdup.h +26 -0
- data/ext/noderb_extension/libuv/src/ares/ares_strerror.c +56 -0
- data/ext/noderb_extension/libuv/src/ares/ares_timeout.c +80 -0
- data/ext/noderb_extension/libuv/src/ares/ares_version.c +11 -0
- data/ext/noderb_extension/libuv/src/ares/ares_writev.c +79 -0
- data/ext/noderb_extension/libuv/src/ares/ares_writev.h +36 -0
- data/ext/noderb_extension/libuv/src/ares/bitncmp.c +59 -0
- data/ext/noderb_extension/libuv/src/ares/bitncmp.h +26 -0
- data/ext/noderb_extension/libuv/src/ares/config_cygwin/ares_config.h +510 -0
- data/ext/noderb_extension/libuv/src/ares/config_darwin/ares_config.h +510 -0
- data/ext/noderb_extension/libuv/src/ares/config_freebsd/ares_config.h +510 -0
- data/ext/noderb_extension/libuv/src/ares/config_linux/ares_config.h +510 -0
- data/ext/noderb_extension/libuv/src/ares/config_openbsd/ares_config.h +510 -0
- data/ext/noderb_extension/libuv/src/ares/config_sunos/ares_config.h +510 -0
- data/ext/noderb_extension/libuv/src/ares/config_win32/ares_config.h +369 -0
- data/ext/noderb_extension/libuv/src/ares/get_ver.awk +35 -0
- data/ext/noderb_extension/libuv/src/ares/inet_net_pton.c +450 -0
- data/ext/noderb_extension/libuv/src/ares/inet_net_pton.h +31 -0
- data/ext/noderb_extension/libuv/src/ares/inet_ntop.c +232 -0
- data/ext/noderb_extension/libuv/src/ares/inet_ntop.h +27 -0
- data/ext/noderb_extension/libuv/src/ares/nameser.h +193 -0
- data/ext/noderb_extension/libuv/src/ares/setup_once.h +488 -0
- data/ext/noderb_extension/libuv/src/ares/windows_port.c +22 -0
- data/ext/noderb_extension/libuv/src/eio/Changes +63 -0
- data/ext/noderb_extension/libuv/src/eio/LICENSE +36 -0
- data/ext/noderb_extension/libuv/src/eio/Makefile.am +15 -0
- data/ext/noderb_extension/libuv/src/eio/aclocal.m4 +8957 -0
- data/ext/noderb_extension/libuv/src/eio/autogen.sh +3 -0
- data/ext/noderb_extension/libuv/src/eio/config.h.in +86 -0
- data/ext/noderb_extension/libuv/src/eio/config_cygwin.h +77 -0
- data/ext/noderb_extension/libuv/src/eio/config_darwin.h +137 -0
- data/ext/noderb_extension/libuv/src/eio/config_freebsd.h +78 -0
- data/ext/noderb_extension/libuv/src/eio/config_linux.h +101 -0
- data/ext/noderb_extension/libuv/src/eio/config_sunos.h +81 -0
- data/ext/noderb_extension/libuv/src/eio/configure.ac +22 -0
- data/ext/noderb_extension/libuv/src/eio/demo.c +194 -0
- data/ext/noderb_extension/libuv/src/eio/ecb.h +370 -0
- data/ext/noderb_extension/libuv/src/eio/eio.3 +3428 -0
- data/ext/noderb_extension/libuv/src/eio/eio.c +2562 -0
- data/ext/noderb_extension/libuv/src/eio/eio.pod +969 -0
- data/ext/noderb_extension/libuv/src/eio/libeio.m4 +195 -0
- data/ext/noderb_extension/libuv/src/eio/xthread.h +164 -0
- data/ext/noderb_extension/libuv/src/ev/Changes +388 -0
- data/ext/noderb_extension/libuv/src/ev/LICENSE +36 -0
- data/ext/noderb_extension/libuv/src/ev/Makefile.am +18 -0
- data/ext/noderb_extension/libuv/src/ev/Makefile.in +771 -0
- data/ext/noderb_extension/libuv/src/ev/README +58 -0
- data/ext/noderb_extension/libuv/src/ev/aclocal.m4 +8957 -0
- data/ext/noderb_extension/libuv/src/ev/autogen.sh +6 -0
- data/ext/noderb_extension/libuv/src/ev/config.guess +1526 -0
- data/ext/noderb_extension/libuv/src/ev/config.h.in +125 -0
- data/ext/noderb_extension/libuv/src/ev/config.sub +1658 -0
- data/ext/noderb_extension/libuv/src/ev/config_cygwin.h +123 -0
- data/ext/noderb_extension/libuv/src/ev/config_darwin.h +122 -0
- data/ext/noderb_extension/libuv/src/ev/config_freebsd.h +120 -0
- data/ext/noderb_extension/libuv/src/ev/config_linux.h +130 -0
- data/ext/noderb_extension/libuv/src/ev/config_sunos.h +122 -0
- data/ext/noderb_extension/libuv/src/ev/configure +13037 -0
- data/ext/noderb_extension/libuv/src/ev/configure.ac +18 -0
- data/ext/noderb_extension/libuv/src/ev/depcomp +630 -0
- data/ext/noderb_extension/libuv/src/ev/ev++.h +816 -0
- data/ext/noderb_extension/libuv/src/ev/ev.3 +5311 -0
- data/ext/noderb_extension/libuv/src/ev/ev.c +3913 -0
- data/ext/noderb_extension/libuv/src/ev/ev.pod +5243 -0
- data/ext/noderb_extension/libuv/src/ev/ev_epoll.c +266 -0
- data/ext/noderb_extension/libuv/src/ev/ev_kqueue.c +198 -0
- data/ext/noderb_extension/libuv/src/ev/ev_poll.c +148 -0
- data/ext/noderb_extension/libuv/src/ev/ev_port.c +179 -0
- data/ext/noderb_extension/libuv/src/ev/ev_select.c +310 -0
- data/ext/noderb_extension/libuv/src/ev/ev_vars.h +203 -0
- data/ext/noderb_extension/libuv/src/ev/ev_win32.c +153 -0
- data/ext/noderb_extension/libuv/src/ev/ev_wrap.h +196 -0
- data/ext/noderb_extension/libuv/src/ev/event.c +402 -0
- data/ext/noderb_extension/libuv/src/ev/event.h +170 -0
- data/ext/noderb_extension/libuv/src/ev/install-sh +294 -0
- data/ext/noderb_extension/libuv/src/ev/libev.m4 +39 -0
- data/ext/noderb_extension/libuv/src/ev/ltmain.sh +8413 -0
- data/ext/noderb_extension/libuv/src/ev/missing +336 -0
- data/ext/noderb_extension/libuv/src/ev/mkinstalldirs +111 -0
- data/ext/noderb_extension/libuv/src/uv-common.c +172 -0
- data/ext/noderb_extension/libuv/src/uv-common.h +53 -0
- data/ext/noderb_extension/libuv/src/uv-cygwin.c +52 -0
- data/ext/noderb_extension/libuv/src/uv-darwin.c +64 -0
- data/ext/noderb_extension/libuv/src/uv-eio.c +113 -0
- data/ext/noderb_extension/libuv/src/uv-eio.h +13 -0
- data/ext/noderb_extension/libuv/src/uv-freebsd.c +65 -0
- data/ext/noderb_extension/libuv/src/uv-linux.c +51 -0
- data/ext/noderb_extension/libuv/src/uv-sunos.c +60 -0
- data/ext/noderb_extension/libuv/src/uv-unix.c +2408 -0
- data/ext/noderb_extension/libuv/src/win/async.c +129 -0
- data/ext/noderb_extension/libuv/src/win/cares.c +304 -0
- data/ext/noderb_extension/libuv/src/win/core.c +155 -0
- data/ext/noderb_extension/libuv/src/win/error.c +140 -0
- data/ext/noderb_extension/libuv/src/win/getaddrinfo.c +341 -0
- data/ext/noderb_extension/libuv/src/win/handle.c +176 -0
- data/ext/noderb_extension/libuv/src/win/internal.h +237 -0
- data/ext/noderb_extension/libuv/src/win/loop-watcher.c +128 -0
- data/ext/noderb_extension/libuv/src/win/pipe.c +828 -0
- data/ext/noderb_extension/libuv/src/win/process.c +936 -0
- data/ext/noderb_extension/libuv/src/win/req.c +141 -0
- data/ext/noderb_extension/libuv/src/win/stdio.c +75 -0
- data/ext/noderb_extension/libuv/src/win/stream.c +149 -0
- data/ext/noderb_extension/libuv/src/win/tcp.c +895 -0
- data/ext/noderb_extension/libuv/src/win/timer.c +269 -0
- data/ext/noderb_extension/libuv/src/win/util.c +82 -0
- data/ext/noderb_extension/libuv/test/benchmark-ares.c +117 -0
- data/ext/noderb_extension/libuv/test/benchmark-getaddrinfo.c +90 -0
- data/ext/noderb_extension/libuv/test/benchmark-list.h +77 -0
- data/ext/noderb_extension/libuv/test/benchmark-ping-pongs.c +210 -0
- data/ext/noderb_extension/libuv/test/benchmark-pound.c +237 -0
- data/ext/noderb_extension/libuv/test/benchmark-pump.c +459 -0
- data/ext/noderb_extension/libuv/test/benchmark-sizes.c +39 -0
- data/ext/noderb_extension/libuv/test/benchmark-spawn.c +154 -0
- data/ext/noderb_extension/libuv/test/dns-server.c +323 -0
- data/ext/noderb_extension/libuv/test/echo-server.c +299 -0
- data/ext/noderb_extension/libuv/test/run-benchmarks.c +64 -0
- data/ext/noderb_extension/libuv/test/run-tests.c +82 -0
- data/ext/noderb_extension/libuv/test/runner-unix.c +335 -0
- data/ext/noderb_extension/libuv/test/runner-unix.h +36 -0
- data/ext/noderb_extension/libuv/test/runner-win.c +343 -0
- data/ext/noderb_extension/libuv/test/runner-win.h +42 -0
- data/ext/noderb_extension/libuv/test/runner.c +311 -0
- data/ext/noderb_extension/libuv/test/runner.h +155 -0
- data/ext/noderb_extension/libuv/test/task.h +111 -0
- data/ext/noderb_extension/libuv/test/test-async.c +218 -0
- data/ext/noderb_extension/libuv/test/test-callback-stack.c +205 -0
- data/ext/noderb_extension/libuv/test/test-connection-fail.c +149 -0
- data/ext/noderb_extension/libuv/test/test-delayed-accept.c +198 -0
- data/ext/noderb_extension/libuv/test/test-fail-always.c +29 -0
- data/ext/noderb_extension/libuv/test/test-get-currentexe.c +53 -0
- data/ext/noderb_extension/libuv/test/test-getaddrinfo.c +110 -0
- data/ext/noderb_extension/libuv/test/test-gethostbyname.c +192 -0
- data/ext/noderb_extension/libuv/test/test-getsockname.c +196 -0
- data/ext/noderb_extension/libuv/test/test-hrtime.c +51 -0
- data/ext/noderb_extension/libuv/test/test-idle.c +83 -0
- data/ext/noderb_extension/libuv/test/test-list.h +165 -0
- data/ext/noderb_extension/libuv/test/test-loop-handles.c +361 -0
- data/ext/noderb_extension/libuv/test/test-pass-always.c +28 -0
- data/ext/noderb_extension/libuv/test/test-ping-pong.c +256 -0
- data/ext/noderb_extension/libuv/test/test-pipe-bind-error.c +148 -0
- data/ext/noderb_extension/libuv/test/test-ref.c +91 -0
- data/ext/noderb_extension/libuv/test/test-shutdown-eof.c +183 -0
- data/ext/noderb_extension/libuv/test/test-spawn.c +345 -0
- data/ext/noderb_extension/libuv/test/test-tcp-bind-error.c +204 -0
- data/ext/noderb_extension/libuv/test/test-tcp-bind6-error.c +164 -0
- data/ext/noderb_extension/libuv/test/test-tcp-writealot.c +198 -0
- data/ext/noderb_extension/libuv/test/test-timer-again.c +141 -0
- data/ext/noderb_extension/libuv/test/test-timer.c +134 -0
- data/ext/noderb_extension/noderb.c +340 -0
- data/ext/noderb_extension/noderb.h +2 -0
- data/lib/noderb/connection.rb +21 -0
- data/lib/noderb/process.rb +17 -0
- data/lib/noderb.rb +25 -0
- metadata +470 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
|
|
2
|
+
/* Copyright (C) 2005 by Dominick Meglio
|
|
3
|
+
*
|
|
4
|
+
* Permission to use, copy, modify, and distribute this
|
|
5
|
+
* software and its documentation for any purpose and without
|
|
6
|
+
* fee is hereby granted, provided that the above copyright
|
|
7
|
+
* notice appear in all copies and that both that copyright
|
|
8
|
+
* notice and this permission notice appear in supporting
|
|
9
|
+
* documentation, and that the name of M.I.T. not be used in
|
|
10
|
+
* advertising or publicity pertaining to distribution of the
|
|
11
|
+
* software without specific, written prior permission.
|
|
12
|
+
* M.I.T. makes no representations about the suitability of
|
|
13
|
+
* this software for any purpose. It is provided "as is"
|
|
14
|
+
* without express or implied warranty.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
#ifndef ARES_IPV6_H
|
|
18
|
+
#define ARES_IPV6_H
|
|
19
|
+
|
|
20
|
+
#ifndef HAVE_PF_INET6
|
|
21
|
+
#define PF_INET6 AF_INET6
|
|
22
|
+
#endif
|
|
23
|
+
|
|
24
|
+
#ifndef HAVE_STRUCT_SOCKADDR_IN6
|
|
25
|
+
struct sockaddr_in6
|
|
26
|
+
{
|
|
27
|
+
unsigned short sin6_family;
|
|
28
|
+
unsigned short sin6_port;
|
|
29
|
+
unsigned long sin6_flowinfo;
|
|
30
|
+
struct ares_in6_addr sin6_addr;
|
|
31
|
+
unsigned int sin6_scope_id;
|
|
32
|
+
};
|
|
33
|
+
#endif
|
|
34
|
+
|
|
35
|
+
#ifndef HAVE_STRUCT_ADDRINFO
|
|
36
|
+
struct addrinfo
|
|
37
|
+
{
|
|
38
|
+
int ai_flags;
|
|
39
|
+
int ai_family;
|
|
40
|
+
int ai_socktype;
|
|
41
|
+
int ai_protocol;
|
|
42
|
+
ares_socklen_t ai_addrlen; /* Follow rfc3493 struct addrinfo */
|
|
43
|
+
char *ai_canonname;
|
|
44
|
+
struct sockaddr *ai_addr;
|
|
45
|
+
struct addrinfo *ai_next;
|
|
46
|
+
};
|
|
47
|
+
#endif
|
|
48
|
+
|
|
49
|
+
#ifndef NS_IN6ADDRSZ
|
|
50
|
+
#if SIZEOF_STRUCT_IN6_ADDR == 0
|
|
51
|
+
/* We cannot have it set to zero, so we pick a fixed value here */
|
|
52
|
+
#define NS_IN6ADDRSZ 16
|
|
53
|
+
#else
|
|
54
|
+
#define NS_IN6ADDRSZ SIZEOF_STRUCT_IN6_ADDR
|
|
55
|
+
#endif
|
|
56
|
+
#endif
|
|
57
|
+
|
|
58
|
+
#ifndef NS_INADDRSZ
|
|
59
|
+
#define NS_INADDRSZ SIZEOF_STRUCT_IN_ADDR
|
|
60
|
+
#endif
|
|
61
|
+
|
|
62
|
+
#ifndef NS_INT16SZ
|
|
63
|
+
#define NS_INT16SZ 2
|
|
64
|
+
#endif
|
|
65
|
+
|
|
66
|
+
#ifndef IF_NAMESIZE
|
|
67
|
+
#ifdef IFNAMSIZ
|
|
68
|
+
#define IF_NAMESIZE IFNAMSIZ
|
|
69
|
+
#else
|
|
70
|
+
#define IF_NAMESIZE 256
|
|
71
|
+
#endif
|
|
72
|
+
#endif
|
|
73
|
+
|
|
74
|
+
/* Defined in ares_net_pton.c for no particular reason. */
|
|
75
|
+
extern const struct ares_in6_addr ares_in6addr_any; /* :: */
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
#endif /* ARES_IPV6_H */
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
|
|
2
|
+
/* Copyright 1998 by the Massachusetts Institute of Technology.
|
|
3
|
+
* Copyright (C) 2004-2009 by Daniel Stenberg
|
|
4
|
+
*
|
|
5
|
+
* Permission to use, copy, modify, and distribute this
|
|
6
|
+
* software and its documentation for any purpose and without
|
|
7
|
+
* fee is hereby granted, provided that the above copyright
|
|
8
|
+
* notice appear in all copies and that both that copyright
|
|
9
|
+
* notice and this permission notice appear in supporting
|
|
10
|
+
* documentation, and that the name of M.I.T. not be used in
|
|
11
|
+
* advertising or publicity pertaining to distribution of the
|
|
12
|
+
* software without specific, written prior permission.
|
|
13
|
+
* M.I.T. makes no representations about the suitability of
|
|
14
|
+
* this software for any purpose. It is provided "as is"
|
|
15
|
+
* without express or implied warranty.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
#include "ares_setup.h"
|
|
19
|
+
|
|
20
|
+
#include "ares.h"
|
|
21
|
+
#include "ares_library_init.h"
|
|
22
|
+
#include "ares_private.h"
|
|
23
|
+
|
|
24
|
+
/* library-private global and unique instance vars */
|
|
25
|
+
|
|
26
|
+
#ifdef USE_WINSOCK
|
|
27
|
+
fpGetNetworkParams_t ares_fpGetNetworkParams = ZERO_NULL;
|
|
28
|
+
fpSystemFunction036_t ares_fpSystemFunction036 = ZERO_NULL;
|
|
29
|
+
#endif
|
|
30
|
+
|
|
31
|
+
/* library-private global vars with source visibility restricted to this file */
|
|
32
|
+
|
|
33
|
+
static unsigned int ares_initialized;
|
|
34
|
+
static int ares_init_flags;
|
|
35
|
+
|
|
36
|
+
#ifdef USE_WINSOCK
|
|
37
|
+
static HMODULE hnd_iphlpapi;
|
|
38
|
+
static HMODULE hnd_advapi32;
|
|
39
|
+
#endif
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
static int ares_win32_init(void)
|
|
43
|
+
{
|
|
44
|
+
#ifdef USE_WINSOCK
|
|
45
|
+
|
|
46
|
+
hnd_iphlpapi = 0;
|
|
47
|
+
hnd_iphlpapi = LoadLibrary("iphlpapi.dll");
|
|
48
|
+
if (!hnd_iphlpapi)
|
|
49
|
+
return ARES_ELOADIPHLPAPI;
|
|
50
|
+
|
|
51
|
+
ares_fpGetNetworkParams = (fpGetNetworkParams_t)
|
|
52
|
+
GetProcAddress(hnd_iphlpapi, "GetNetworkParams");
|
|
53
|
+
if (!ares_fpGetNetworkParams)
|
|
54
|
+
{
|
|
55
|
+
FreeLibrary(hnd_iphlpapi);
|
|
56
|
+
return ARES_EADDRGETNETWORKPARAMS;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/*
|
|
60
|
+
* When advapi32.dll is unavailable or advapi32.dll has no SystemFunction036,
|
|
61
|
+
* also known as RtlGenRandom, which is the case for Windows versions prior
|
|
62
|
+
* to WinXP then c-ares uses portable rand() function. Then don't error here.
|
|
63
|
+
*/
|
|
64
|
+
|
|
65
|
+
hnd_advapi32 = 0;
|
|
66
|
+
hnd_advapi32 = LoadLibrary("advapi32.dll");
|
|
67
|
+
if (hnd_advapi32)
|
|
68
|
+
{
|
|
69
|
+
ares_fpSystemFunction036 = (fpSystemFunction036_t)
|
|
70
|
+
GetProcAddress(hnd_advapi32, "SystemFunction036");
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
#endif
|
|
74
|
+
return ARES_SUCCESS;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
static void ares_win32_cleanup(void)
|
|
79
|
+
{
|
|
80
|
+
#ifdef USE_WINSOCK
|
|
81
|
+
if (hnd_advapi32)
|
|
82
|
+
FreeLibrary(hnd_advapi32);
|
|
83
|
+
if (hnd_iphlpapi)
|
|
84
|
+
FreeLibrary(hnd_iphlpapi);
|
|
85
|
+
#endif
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
int ares_library_init(int flags)
|
|
90
|
+
{
|
|
91
|
+
int res;
|
|
92
|
+
|
|
93
|
+
if (ares_initialized)
|
|
94
|
+
return ARES_SUCCESS;
|
|
95
|
+
ares_initialized++;
|
|
96
|
+
|
|
97
|
+
if (flags & ARES_LIB_INIT_WIN32)
|
|
98
|
+
{
|
|
99
|
+
res = ares_win32_init();
|
|
100
|
+
if (res != ARES_SUCCESS)
|
|
101
|
+
return res;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
ares_init_flags = flags;
|
|
105
|
+
|
|
106
|
+
return ARES_SUCCESS;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
void ares_library_cleanup(void)
|
|
111
|
+
{
|
|
112
|
+
if (!ares_initialized)
|
|
113
|
+
return;
|
|
114
|
+
ares_initialized--;
|
|
115
|
+
|
|
116
|
+
if (ares_init_flags & ARES_LIB_INIT_WIN32)
|
|
117
|
+
ares_win32_cleanup();
|
|
118
|
+
|
|
119
|
+
ares_init_flags = ARES_LIB_INIT_NONE;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
int ares_library_initialized(void)
|
|
124
|
+
{
|
|
125
|
+
#ifdef USE_WINSOCK
|
|
126
|
+
if (!ares_initialized)
|
|
127
|
+
return ARES_ENOTINITIALIZED;
|
|
128
|
+
#endif
|
|
129
|
+
return ARES_SUCCESS;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
#ifndef HEADER_CARES_LIBRARY_INIT_H
|
|
2
|
+
#define HEADER_CARES_LIBRARY_INIT_H
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
/* Copyright 1998 by the Massachusetts Institute of Technology.
|
|
6
|
+
* Copyright (C) 2004-2009 by Daniel Stenberg
|
|
7
|
+
*
|
|
8
|
+
* Permission to use, copy, modify, and distribute this
|
|
9
|
+
* software and its documentation for any purpose and without
|
|
10
|
+
* fee is hereby granted, provided that the above copyright
|
|
11
|
+
* notice appear in all copies and that both that copyright
|
|
12
|
+
* notice and this permission notice appear in supporting
|
|
13
|
+
* documentation, and that the name of M.I.T. not be used in
|
|
14
|
+
* advertising or publicity pertaining to distribution of the
|
|
15
|
+
* software without specific, written prior permission.
|
|
16
|
+
* M.I.T. makes no representations about the suitability of
|
|
17
|
+
* this software for any purpose. It is provided "as is"
|
|
18
|
+
* without express or implied warranty.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
#include "ares_setup.h"
|
|
22
|
+
|
|
23
|
+
#ifdef USE_WINSOCK
|
|
24
|
+
|
|
25
|
+
#include <iphlpapi.h>
|
|
26
|
+
|
|
27
|
+
typedef DWORD (WINAPI *fpGetNetworkParams_t) (FIXED_INFO*, DWORD*);
|
|
28
|
+
typedef BOOLEAN (APIENTRY *fpSystemFunction036_t) (void*, ULONG);
|
|
29
|
+
|
|
30
|
+
/* Forward-declaration of variables defined in ares_library_init.c */
|
|
31
|
+
/* that are global and unique instances for whole c-ares library. */
|
|
32
|
+
|
|
33
|
+
extern fpGetNetworkParams_t ares_fpGetNetworkParams;
|
|
34
|
+
extern fpSystemFunction036_t ares_fpSystemFunction036;
|
|
35
|
+
|
|
36
|
+
#endif /* USE_WINSOCK */
|
|
37
|
+
|
|
38
|
+
#endif /* HEADER_CARES_LIBRARY_INIT_H */
|
|
39
|
+
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
|
|
2
|
+
/* Copyright 1998 by the Massachusetts Institute of Technology.
|
|
3
|
+
*
|
|
4
|
+
* Permission to use, copy, modify, and distribute this
|
|
5
|
+
* software and its documentation for any purpose and without
|
|
6
|
+
* fee is hereby granted, provided that the above copyright
|
|
7
|
+
* notice appear in all copies and that both that copyright
|
|
8
|
+
* notice and this permission notice appear in supporting
|
|
9
|
+
* documentation, and that the name of M.I.T. not be used in
|
|
10
|
+
* advertising or publicity pertaining to distribution of the
|
|
11
|
+
* software without specific, written prior permission.
|
|
12
|
+
* M.I.T. makes no representations about the suitability of
|
|
13
|
+
* this software for any purpose. It is provided "as is"
|
|
14
|
+
* without express or implied warranty.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
#include "ares_setup.h"
|
|
18
|
+
|
|
19
|
+
#include "ares.h"
|
|
20
|
+
#include "ares_private.h"
|
|
21
|
+
|
|
22
|
+
/* Routines for managing doubly-linked circular linked lists with a
|
|
23
|
+
* dummy head.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/* Initialize a new head node */
|
|
27
|
+
void ares__init_list_head(struct list_node* head) {
|
|
28
|
+
head->prev = head;
|
|
29
|
+
head->next = head;
|
|
30
|
+
head->data = NULL;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/* Initialize a list node */
|
|
34
|
+
void ares__init_list_node(struct list_node* node, void* d) {
|
|
35
|
+
node->prev = NULL;
|
|
36
|
+
node->next = NULL;
|
|
37
|
+
node->data = d;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/* Returns true iff the given list is empty */
|
|
41
|
+
int ares__is_list_empty(struct list_node* head) {
|
|
42
|
+
return ((head->next == head) && (head->prev == head));
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/* Inserts new_node before old_node */
|
|
46
|
+
void ares__insert_in_list(struct list_node* new_node,
|
|
47
|
+
struct list_node* old_node) {
|
|
48
|
+
new_node->next = old_node;
|
|
49
|
+
new_node->prev = old_node->prev;
|
|
50
|
+
old_node->prev->next = new_node;
|
|
51
|
+
old_node->prev = new_node;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/* Removes the node from the list it's in, if any */
|
|
55
|
+
void ares__remove_from_list(struct list_node* node) {
|
|
56
|
+
if (node->next != NULL) {
|
|
57
|
+
node->prev->next = node->next;
|
|
58
|
+
node->next->prev = node->prev;
|
|
59
|
+
node->prev = NULL;
|
|
60
|
+
node->next = NULL;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/* Swap the contents of two lists */
|
|
65
|
+
void ares__swap_lists(struct list_node* head_a,
|
|
66
|
+
struct list_node* head_b) {
|
|
67
|
+
int is_a_empty = ares__is_list_empty(head_a);
|
|
68
|
+
int is_b_empty = ares__is_list_empty(head_b);
|
|
69
|
+
struct list_node old_a = *head_a;
|
|
70
|
+
struct list_node old_b = *head_b;
|
|
71
|
+
|
|
72
|
+
if (is_a_empty) {
|
|
73
|
+
ares__init_list_head(head_b);
|
|
74
|
+
} else {
|
|
75
|
+
*head_b = old_a;
|
|
76
|
+
old_a.next->prev = head_b;
|
|
77
|
+
old_a.prev->next = head_b;
|
|
78
|
+
}
|
|
79
|
+
if (is_b_empty) {
|
|
80
|
+
ares__init_list_head(head_a);
|
|
81
|
+
} else {
|
|
82
|
+
*head_a = old_b;
|
|
83
|
+
old_b.next->prev = head_a;
|
|
84
|
+
old_b.prev->next = head_a;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
#ifndef __ARES_LLIST_H
|
|
2
|
+
#define __ARES_LLIST_H
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
/* Copyright 1998 by the Massachusetts Institute of Technology.
|
|
6
|
+
*
|
|
7
|
+
* Permission to use, copy, modify, and distribute this
|
|
8
|
+
* software and its documentation for any purpose and without
|
|
9
|
+
* fee is hereby granted, provided that the above copyright
|
|
10
|
+
* notice appear in all copies and that both that copyright
|
|
11
|
+
* notice and this permission notice appear in supporting
|
|
12
|
+
* documentation, and that the name of M.I.T. not be used in
|
|
13
|
+
* advertising or publicity pertaining to distribution of the
|
|
14
|
+
* software without specific, written prior permission.
|
|
15
|
+
* M.I.T. makes no representations about the suitability of
|
|
16
|
+
* this software for any purpose. It is provided "as is"
|
|
17
|
+
* without express or implied warranty.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
/* Node definition for circular, doubly-linked list */
|
|
22
|
+
struct list_node {
|
|
23
|
+
struct list_node *prev;
|
|
24
|
+
struct list_node *next;
|
|
25
|
+
void* data;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
void ares__init_list_head(struct list_node* head);
|
|
29
|
+
|
|
30
|
+
void ares__init_list_node(struct list_node* node, void* d);
|
|
31
|
+
|
|
32
|
+
int ares__is_list_empty(struct list_node* head);
|
|
33
|
+
|
|
34
|
+
void ares__insert_in_list(struct list_node* new_node,
|
|
35
|
+
struct list_node* old_node);
|
|
36
|
+
|
|
37
|
+
void ares__remove_from_list(struct list_node* node);
|
|
38
|
+
|
|
39
|
+
void ares__swap_lists(struct list_node* head_a,
|
|
40
|
+
struct list_node* head_b);
|
|
41
|
+
|
|
42
|
+
#endif /* __ARES_LLIST_H */
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
|
|
2
|
+
/* Copyright 1998 by the Massachusetts Institute of Technology.
|
|
3
|
+
*
|
|
4
|
+
* Permission to use, copy, modify, and distribute this
|
|
5
|
+
* software and its documentation for any purpose and without
|
|
6
|
+
* fee is hereby granted, provided that the above copyright
|
|
7
|
+
* notice appear in all copies and that both that copyright
|
|
8
|
+
* notice and this permission notice appear in supporting
|
|
9
|
+
* documentation, and that the name of M.I.T. not be used in
|
|
10
|
+
* advertising or publicity pertaining to distribution of the
|
|
11
|
+
* software without specific, written prior permission.
|
|
12
|
+
* M.I.T. makes no representations about the suitability of
|
|
13
|
+
* this software for any purpose. It is provided "as is"
|
|
14
|
+
* without express or implied warranty.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
#include "ares_setup.h"
|
|
18
|
+
|
|
19
|
+
#ifdef HAVE_SYS_SOCKET_H
|
|
20
|
+
# include <sys/socket.h>
|
|
21
|
+
#endif
|
|
22
|
+
#ifdef HAVE_NETINET_IN_H
|
|
23
|
+
# include <netinet/in.h>
|
|
24
|
+
#endif
|
|
25
|
+
#ifdef HAVE_ARPA_NAMESER_H
|
|
26
|
+
# include <arpa/nameser.h>
|
|
27
|
+
#else
|
|
28
|
+
# include "nameser.h"
|
|
29
|
+
#endif
|
|
30
|
+
#ifdef HAVE_ARPA_NAMESER_COMPAT_H
|
|
31
|
+
# include <arpa/nameser_compat.h>
|
|
32
|
+
#endif
|
|
33
|
+
|
|
34
|
+
#include <stdlib.h>
|
|
35
|
+
#include <string.h>
|
|
36
|
+
#include "ares.h"
|
|
37
|
+
#include "ares_dns.h"
|
|
38
|
+
#include "ares_private.h"
|
|
39
|
+
|
|
40
|
+
/* Header format, from RFC 1035:
|
|
41
|
+
* 1 1 1 1 1 1
|
|
42
|
+
* 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
|
|
43
|
+
* +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|
|
44
|
+
* | ID |
|
|
45
|
+
* +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|
|
46
|
+
* |QR| Opcode |AA|TC|RD|RA| Z | RCODE |
|
|
47
|
+
* +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|
|
48
|
+
* | QDCOUNT |
|
|
49
|
+
* +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|
|
50
|
+
* | ANCOUNT |
|
|
51
|
+
* +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|
|
52
|
+
* | NSCOUNT |
|
|
53
|
+
* +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|
|
54
|
+
* | ARCOUNT |
|
|
55
|
+
* +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|
|
56
|
+
*
|
|
57
|
+
* AA, TC, RA, and RCODE are only set in responses. Brief description
|
|
58
|
+
* of the remaining fields:
|
|
59
|
+
* ID Identifier to match responses with queries
|
|
60
|
+
* QR Query (0) or response (1)
|
|
61
|
+
* Opcode For our purposes, always QUERY
|
|
62
|
+
* RD Recursion desired
|
|
63
|
+
* Z Reserved (zero)
|
|
64
|
+
* QDCOUNT Number of queries
|
|
65
|
+
* ANCOUNT Number of answers
|
|
66
|
+
* NSCOUNT Number of name server records
|
|
67
|
+
* ARCOUNT Number of additional records
|
|
68
|
+
*
|
|
69
|
+
* Question format, from RFC 1035:
|
|
70
|
+
* 1 1 1 1 1 1
|
|
71
|
+
* 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
|
|
72
|
+
* +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|
|
73
|
+
* | |
|
|
74
|
+
* / QNAME /
|
|
75
|
+
* / /
|
|
76
|
+
* +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|
|
77
|
+
* | QTYPE |
|
|
78
|
+
* +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|
|
79
|
+
* | QCLASS |
|
|
80
|
+
* +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|
|
81
|
+
*
|
|
82
|
+
* The query name is encoded as a series of labels, each represented
|
|
83
|
+
* as a one-byte length (maximum 63) followed by the text of the
|
|
84
|
+
* label. The list is terminated by a label of length zero (which can
|
|
85
|
+
* be thought of as the root domain).
|
|
86
|
+
*/
|
|
87
|
+
|
|
88
|
+
int ares_mkquery(const char *name, int dnsclass, int type, unsigned short id,
|
|
89
|
+
int rd, unsigned char **buf, int *buflen)
|
|
90
|
+
{
|
|
91
|
+
int len;
|
|
92
|
+
unsigned char *q;
|
|
93
|
+
const char *p;
|
|
94
|
+
|
|
95
|
+
/* Set our results early, in case we bail out early with an error. */
|
|
96
|
+
*buflen = 0;
|
|
97
|
+
*buf = NULL;
|
|
98
|
+
|
|
99
|
+
/* Compute the length of the encoded name so we can check buflen.
|
|
100
|
+
* Start counting at 1 for the zero-length label at the end. */
|
|
101
|
+
len = 1;
|
|
102
|
+
for (p = name; *p; p++)
|
|
103
|
+
{
|
|
104
|
+
if (*p == '\\' && *(p + 1) != 0)
|
|
105
|
+
p++;
|
|
106
|
+
len++;
|
|
107
|
+
}
|
|
108
|
+
/* If there are n periods in the name, there are n + 1 labels, and
|
|
109
|
+
* thus n + 1 length fields, unless the name is empty or ends with a
|
|
110
|
+
* period. So add 1 unless name is empty or ends with a period.
|
|
111
|
+
*/
|
|
112
|
+
if (*name && *(p - 1) != '.')
|
|
113
|
+
len++;
|
|
114
|
+
|
|
115
|
+
/* Immediately reject names that are longer than the maximum of 255
|
|
116
|
+
* bytes that's specified in RFC 1035 ("To simplify implementations,
|
|
117
|
+
* the total length of a domain name (i.e., label octets and label
|
|
118
|
+
* length octets) is restricted to 255 octets or less."). We aren't
|
|
119
|
+
* doing this just to be a stickler about RFCs. For names that are
|
|
120
|
+
* too long, 'dnscache' closes its TCP connection to us immediately
|
|
121
|
+
* (when using TCP) and ignores the request when using UDP, and
|
|
122
|
+
* BIND's named returns ServFail (TCP or UDP). Sending a request
|
|
123
|
+
* that we know will cause 'dnscache' to close the TCP connection is
|
|
124
|
+
* painful, since that makes any other outstanding requests on that
|
|
125
|
+
* connection fail. And sending a UDP request that we know
|
|
126
|
+
* 'dnscache' will ignore is bad because resources will be tied up
|
|
127
|
+
* until we time-out the request.
|
|
128
|
+
*/
|
|
129
|
+
if (len > MAXCDNAME)
|
|
130
|
+
return ARES_EBADNAME;
|
|
131
|
+
|
|
132
|
+
*buflen = len + HFIXEDSZ + QFIXEDSZ;
|
|
133
|
+
*buf = malloc(*buflen);
|
|
134
|
+
if (!*buf)
|
|
135
|
+
return ARES_ENOMEM;
|
|
136
|
+
|
|
137
|
+
/* Set up the header. */
|
|
138
|
+
q = *buf;
|
|
139
|
+
memset(q, 0, HFIXEDSZ);
|
|
140
|
+
DNS_HEADER_SET_QID(q, id);
|
|
141
|
+
DNS_HEADER_SET_OPCODE(q, QUERY);
|
|
142
|
+
if (rd) {
|
|
143
|
+
DNS_HEADER_SET_RD(q, 1);
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
DNS_HEADER_SET_RD(q, 0);
|
|
147
|
+
}
|
|
148
|
+
DNS_HEADER_SET_QDCOUNT(q, 1);
|
|
149
|
+
|
|
150
|
+
/* A name of "." is a screw case for the loop below, so adjust it. */
|
|
151
|
+
if (strcmp(name, ".") == 0)
|
|
152
|
+
name++;
|
|
153
|
+
|
|
154
|
+
/* Start writing out the name after the header. */
|
|
155
|
+
q += HFIXEDSZ;
|
|
156
|
+
while (*name)
|
|
157
|
+
{
|
|
158
|
+
if (*name == '.')
|
|
159
|
+
return ARES_EBADNAME;
|
|
160
|
+
|
|
161
|
+
/* Count the number of bytes in this label. */
|
|
162
|
+
len = 0;
|
|
163
|
+
for (p = name; *p && *p != '.'; p++)
|
|
164
|
+
{
|
|
165
|
+
if (*p == '\\' && *(p + 1) != 0)
|
|
166
|
+
p++;
|
|
167
|
+
len++;
|
|
168
|
+
}
|
|
169
|
+
if (len > MAXLABEL)
|
|
170
|
+
return ARES_EBADNAME;
|
|
171
|
+
|
|
172
|
+
/* Encode the length and copy the data. */
|
|
173
|
+
*q++ = (unsigned char)len;
|
|
174
|
+
for (p = name; *p && *p != '.'; p++)
|
|
175
|
+
{
|
|
176
|
+
if (*p == '\\' && *(p + 1) != 0)
|
|
177
|
+
p++;
|
|
178
|
+
*q++ = *p;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/* Go to the next label and repeat, unless we hit the end. */
|
|
182
|
+
if (!*p)
|
|
183
|
+
break;
|
|
184
|
+
name = p + 1;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/* Add the zero-length label at the end. */
|
|
188
|
+
*q++ = 0;
|
|
189
|
+
|
|
190
|
+
/* Finish off the question with the type and class. */
|
|
191
|
+
DNS_QUESTION_SET_TYPE(q, type);
|
|
192
|
+
DNS_QUESTION_SET_CLASS(q, dnsclass);
|
|
193
|
+
|
|
194
|
+
return ARES_SUCCESS;
|
|
195
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
|
|
2
|
+
/* Copyright (C) 2010 by Daniel Stenberg
|
|
3
|
+
*
|
|
4
|
+
* Permission to use, copy, modify, and distribute this
|
|
5
|
+
* software and its documentation for any purpose and without
|
|
6
|
+
* fee is hereby granted, provided that the above copyright
|
|
7
|
+
* notice appear in all copies and that both that copyright
|
|
8
|
+
* notice and this permission notice appear in supporting
|
|
9
|
+
* documentation, and that the name of M.I.T. not be used in
|
|
10
|
+
* advertising or publicity pertaining to distribution of the
|
|
11
|
+
* software without specific, written prior permission.
|
|
12
|
+
* M.I.T. makes no representations about the suitability of
|
|
13
|
+
* this software for any purpose. It is provided "as is"
|
|
14
|
+
* without express or implied warranty.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
#include "ares_setup.h"
|
|
19
|
+
|
|
20
|
+
#include "ares_nowarn.h"
|
|
21
|
+
|
|
22
|
+
#define CARES_MASK_UINT (~(unsigned int) 0)
|
|
23
|
+
#define CARES_MASK_SINT (CARES_MASK_UINT >> 1)
|
|
24
|
+
|
|
25
|
+
/*
|
|
26
|
+
** size_t to signed int
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
int aresx_uztosi(size_t uznum)
|
|
30
|
+
{
|
|
31
|
+
#ifdef __INTEL_COMPILER
|
|
32
|
+
# pragma warning(push)
|
|
33
|
+
# pragma warning(disable:810) /* conversion may lose significant bits */
|
|
34
|
+
#endif
|
|
35
|
+
|
|
36
|
+
return (int)(uznum & (size_t) CARES_MASK_SINT);
|
|
37
|
+
|
|
38
|
+
#ifdef __INTEL_COMPILER
|
|
39
|
+
# pragma warning(pop)
|
|
40
|
+
#endif
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/*
|
|
44
|
+
** signed long to signed int
|
|
45
|
+
*/
|
|
46
|
+
|
|
47
|
+
int aresx_sltosi(long slnum)
|
|
48
|
+
{
|
|
49
|
+
#ifdef __INTEL_COMPILER
|
|
50
|
+
# pragma warning(push)
|
|
51
|
+
# pragma warning(disable:810) /* conversion may lose significant bits */
|
|
52
|
+
#endif
|
|
53
|
+
|
|
54
|
+
return (int)(slnum & (long) CARES_MASK_SINT);
|
|
55
|
+
|
|
56
|
+
#ifdef __INTEL_COMPILER
|
|
57
|
+
# pragma warning(pop)
|
|
58
|
+
#endif
|
|
59
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#ifndef HEADER_CARES_NOWARN_H
|
|
2
|
+
#define HEADER_CARES_NOWARN_H
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
/* Copyright (C) 2010 by Daniel Stenberg
|
|
6
|
+
*
|
|
7
|
+
* Permission to use, copy, modify, and distribute this
|
|
8
|
+
* software and its documentation for any purpose and without
|
|
9
|
+
* fee is hereby granted, provided that the above copyright
|
|
10
|
+
* notice appear in all copies and that both that copyright
|
|
11
|
+
* notice and this permission notice appear in supporting
|
|
12
|
+
* documentation, and that the name of M.I.T. not be used in
|
|
13
|
+
* advertising or publicity pertaining to distribution of the
|
|
14
|
+
* software without specific, written prior permission.
|
|
15
|
+
* M.I.T. makes no representations about the suitability of
|
|
16
|
+
* this software for any purpose. It is provided "as is"
|
|
17
|
+
* without express or implied warranty.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
int aresx_uztosi(size_t uznum);
|
|
21
|
+
|
|
22
|
+
int aresx_sltosi(long slnum);
|
|
23
|
+
|
|
24
|
+
#endif /* HEADER_CARES_NOWARN_H */
|