Fossil

Check-in [f99e7632]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Added a check for ns_parserr(), which we currently don't know how to find on OpenBSD. This also fixes a logic error in auto.def which would cause the warning that this feature won't be compiled to not be given.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | libbind-ns-alternative
Files: files | file ages | folders
SHA3-256: f99e76324c87363626fb94e0eea4ffa40f055176e33898a9c0c32f9490c885e5
User & Date: wyoung 2018-09-22 17:02:56
Context
2018-09-22
17:09
Typo fix (Closed-Leaf check-in: b6c490ce user: tangent tags: libbind-ns-alternative)
17:02
Added a check for ns_parserr(), which we currently don't know how to find on OpenBSD. This also fixes a logic error in auto.def which would cause the warning that this feature won't be compiled to not be given. (check-in: f99e7632 user: wyoung tags: libbind-ns-alternative)
16:55
Removed the "Linux" platform test from the DNS MX stuff in src/smtp.c. You should always test for features, not platforms, and we've now got the feature tests we need to replace this too-broad platform test. (check-in: 5358fe95 user: wyoung tags: libbind-ns-alternative)
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to auto.def.

518
519
520
521
522
523
524
525
526
527


528
529
530
531
532
533
534
535
536

# The SMTP module requires special libraries and headers for MX DNS
# record lookups and such.
cc-check-includes arpa/nameser.h
cc-include-needs bind/resolv.h netinet/in.h
cc-check-includes bind/resolv.h
cc-check-includes resolv.h
if {    (![cc-check-function-in-lib dn_expand resolv] ||
         ![cc-check-function-in-lib   ns_name_uncompress {bind resolv}] ||
         ![cc-check-function-in-lib __ns_name_uncompress {bind resolv}]) &&


        (![cc-check-function-in-lib   res_query {bind resolv}] ||
         ![cc-check-function-in-lib __res_query {bind resolv}])} {
    msg-result "WARNING: SMTP feature will not be able to look up local MX."
}
cc-check-function-in-lib res_9_ns_initparse resolv

# Other nonstandard function checks
cc-check-functions utime
cc-check-functions usleep







|
|
|
>
>
|
|







518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538

# The SMTP module requires special libraries and headers for MX DNS
# record lookups and such.
cc-check-includes arpa/nameser.h
cc-include-needs bind/resolv.h netinet/in.h
cc-check-includes bind/resolv.h
cc-check-includes resolv.h
if {    !(([cc-check-function-in-lib dn_expand resolv] ||
           [cc-check-function-in-lib   ns_name_uncompress {bind resolv}] ||
           [cc-check-function-in-lib __ns_name_uncompress {bind resolv}]) &&
          ([cc-check-function-in-lib   ns_parserr {bind resolv}] ||
           [cc-check-function-in-lib __ns_parserr {bind resolv}]) &&
          ([cc-check-function-in-lib   res_query {bind resolv}] ||
           [cc-check-function-in-lib __res_query {bind resolv}]))} {
    msg-result "WARNING: SMTP feature will not be able to look up local MX."
}
cc-check-function-in-lib res_9_ns_initparse resolv

# Other nonstandard function checks
cc-check-functions utime
cc-check-functions usleep

Changes to src/smtp.c.

18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
** Implementation of SMTP (Simple Mail Transport Protocol) according
** to RFC 5321.
*/
#include "config.h"
#include "smtp.h"
#include <assert.h>
#if (HAVE_DN_EXPAND || HAVE___NS_NAME_UNCOMPRESS || HAVE_NS_NAME_UNCOMPRES) && \
    !defined(FOSSIL_OMIT_DNS)
#  include <sys/types.h>
#  include <netinet/in.h>
#  if defined(HAVE_BIND_RESOLV_H)
#    include <bind/resolv.h>
#    include <bind/arpa/nameser_compat.h>
#  else
#    include <arpa/nameser.h>







|







18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
** Implementation of SMTP (Simple Mail Transport Protocol) according
** to RFC 5321.
*/
#include "config.h"
#include "smtp.h"
#include <assert.h>
#if (HAVE_DN_EXPAND || HAVE___NS_NAME_UNCOMPRESS || HAVE_NS_NAME_UNCOMPRES) && \
    (HAVE_NS_PARSERR || HAVE___NS_PARSERR) && !defined(FOSSIL_OMIT_DNS)
#  include <sys/types.h>
#  include <netinet/in.h>
#  if defined(HAVE_BIND_RESOLV_H)
#    include <bind/resolv.h>
#    include <bind/arpa/nameser_compat.h>
#  else
#    include <arpa/nameser.h>