$Log$
+ Revision 601.118 2003/01/17 22:36:56 ajc
+ * This commit is a figment of your imagination.
+
Revision 601.117 2003/01/17 21:50:27 ajc
* Began making some build changes for Cygwin compatibility
Fri Jul 10 1998 Art Cancro <ajc@uncensored.citadel.org>
* Initial CVS import
-
EXEEXT=@EXEEXT@
-SMTP=@SMTP@
-
CLIENT_TARGETS=citadel$(EXEEXT) whobbs$(EXEEXT)
SERVER_TARGETS=citserver setup $(CHKPWD)
SERV_MODULES=serv_chat.o \
serv_upgrade.o \
- $(SMTP) \
+ serv_smtp.o \
+ serv_spam.o \
serv_pop3.o \
serv_vcard.o vcard.o \
serv_mrtg.o \
VPATH=$(srcdir)
-DOMAIN=@DOMAIN@
-
SOURCES=aidepost.c auth.c base64.c chkpwd.c citadel.c citadel_ipc.c \
citmail.c citserver.c client_chat.c client_passwords.c \
clientsocket.c commands.c config.c control.c $(DATABASE) \
- $(DOMAIN) serv_extensions.c file_ops.c genstamp.c getutline.c \
+ domain.c serv_extensions.c file_ops.c genstamp.c getutline.c \
housekeeping.c html.c imap_fetch.c imap_misc.c imap_search.c \
imap_store.c imap_tools.c internet_addressing.c ipc_c_tcp.c \
locate_host.c logging.c md5.c messages.c migratenet.c \
SERV_OBJS = server_main.o \
user_ops.o citserver.o sysdep.o serv_extensions.o \
- tools.o $(DATABASE:.c=.o) $(DOMAIN:.c=.o) \
+ tools.o $(DATABASE:.c=.o) domain.o \
control.o policy.o config.o support.o room_ops.o \
file_ops.o msgbase.o \
locate_host.o housekeeping.o logging.o mime_parser.o html.o \
AC_CHECK_HEADERS(ncurses.h,,,[ ])
fi
-AC_CHECK_HEADER(resolv.h, [SMTP=serv_smtp.o serv_spam.o; DOMAIN=domain.c],,
+AC_CHECK_HEADER(resolv.h,,,
[#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
int ret;
unsigned char *startptr, *endptr, *ptr;
char expanded_buf[1024];
+ char buf[SIZ];
+ FILE *fp;
unsigned short pref, type;
int n = 0;
int qdcount;
n = get_hosts(mxbuf, "smarthost");
if (n > 0) return(n);
+
/*
* No smart-host? Look up the best MX for a site.
*/
+
+#ifdef __CYGWIN__
+
+ /*
+ * On systems with b0rken or non-standard resolver libraries, learn
+ * the MX records by calling "nslookup" from the command line.
+ */
+ sprintf(buf, "nslookup -query=mx %s", dest);
+ fp = popen(buf, "r");
+ if (fp == NULL) return(0);
+ while (fgets(buf, sizeof buf, fp) != NULL) {
+ buf[strlen(buf) - 1] = 0;
+ lprintf(9, "RESOLV: %s\n", buf);
+ }
+ pclose(fp);
+ return(0); /* FIXME */
+
+#else /* __CYGWIN__ */
+
+ /*
+ * Make a call to the standard resolver library.
+ */
+
ret = res_query(
dest,
C_IN, T_MX, (unsigned char *)answer.bytes, sizeof(answer) );
}
}
}
+#endif /* __CYGWIN__ */
sort_mxrecs(mxrecs, num_mxrecs);