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>