1. 13 9月, 2018 1 次提交
    • R
      reduce spurious inclusion of libc.h · 5ce37379
      Rich Felker 提交于
      libc.h was intended to be a header for access to global libc state and
      related interfaces, but ended up included all over the place because
      it was the way to get the weak_alias macro. most of the inclusions
      removed here are places where weak_alias was needed. a few were
      recently introduced for hidden. some go all the way back to when
      libc.h defined CANCELPT_BEGIN and _END, and all (wrongly implemented)
      cancellation points had to include it.
      
      remaining spurious users are mostly callers of the LOCK/UNLOCK macros
      and files that use the LFS64 macro to define the awful *64 aliases.
      
      in a few places, new inclusion of libc.h is added because several
      internal headers no longer implicitly include libc.h.
      
      declarations for __lockfile and __unlockfile are moved from libc.h to
      stdio_impl.h so that the latter does not need libc.h. putting them in
      libc.h made no sense at all, since the macros in stdio_impl.h are
      needed to use them correctly anyway.
      5ce37379
  2. 07 6月, 2014 1 次提交
    • S
      accept trailing . and empty domain names · 07355f50
      Szabolcs Nagy 提交于
      trailing . should be accepted in domain name strings by convention
      (RFC 1034), host name lookup accepts "." but rejects empty "", res_*
      interfaces also accept empty name following existing practice.
      07355f50
  3. 06 6月, 2014 1 次提交
  4. 02 6月, 2014 1 次提交
    • R
      implement new dns backend, res_send and other legacy resolver functions · 8312f7f6
      Rich Felker 提交于
      this is the second phase of the "resolver overhaul" project.
      
      the key additions in this commit are the __res_msend and __res_mkquery
      functions, which have been factored so as to provide a backend for
      both the legacy res_* functions and the standard getaddrinfo and
      getnameinfo functions. the latter however are still using the old
      backend code; there is code duplication which still needs to be
      removed, and this will be the next phase of the resolver overhaul.
      
      __res_msend is derived from the old __dns_doqueries function, but
      generalized to send arbitrary caller-provided packets in parallel
      rather than producing the parallel queries itself. this allows it to
      be used (completely trivially) as a backend for res_send. the
      factored-out query generation code, with slightly more generality, is
      now part of __res_mkquery.
      8312f7f6