Build: avoid compiling code for unused transports, routers, authenticators
authorJeremy Harris <jgh146exb@wizmail.org>
Thu, 28 Sep 2023 10:10:13 +0000 (11:10 +0100)
committerJeremy Harris <jgh146exb@wizmail.org>
Sun, 25 Feb 2024 23:49:42 +0000 (23:49 +0000)
The smtp transport is not covered here; there are dependencies in
other bits of the exim body.

17 files changed:
src/src/auths/cram_md5.c
src/src/auths/dovecot.c
src/src/auths/external.c
src/src/auths/plaintext.c
src/src/auths/spa.c
src/src/auths/tls.c
src/src/routers/accept.c
src/src/routers/dnslookup.c
src/src/routers/ipliteral.c
src/src/routers/iplookup.c
src/src/routers/manualroute.c
src/src/routers/queryprogram.c
src/src/routers/redirect.c
src/src/transports/appendfile.c
src/src/transports/autoreply.c
src/src/transports/lmtp.c
src/src/transports/pipe.c

index 0761b7c6a7a6e9861391e5fdbeee446f8c07fcdf..8f00ee498e00f435fd26a1c436d1cf029bcc46ab 100644 (file)
@@ -13,15 +13,17 @@ in the MD5 computation functions, without their own stand-alone main
 program. */
 
 #ifdef STAND_ALONE
 program. */
 
 #ifdef STAND_ALONE
-#define CRAM_STAND_ALONE
-#include "md5.c"
+# define CRAM_STAND_ALONE
+# include "md5.c"
 
 
 /* This is the normal, non-stand-alone case */
 
 #else
 
 
 /* This is the normal, non-stand-alone case */
 
 #else
-#include "../exim.h"
-#include "cram_md5.h"
+# include "../exim.h"
+
+# ifdef AUTH_CRAM_MD5
+#  include "cram_md5.h"
 
 /* Options specific to the cram_md5 authentication mechanism. */
 
 
 /* Options specific to the cram_md5 authentication mechanism. */
 
@@ -49,7 +51,7 @@ auth_cram_md5_options_block auth_cram_md5_option_defaults = {
 };
 
 
 };
 
 
-#ifdef MACRO_PREDEF
+#  ifdef MACRO_PREDEF
 
 /* Dummy values */
 void auth_cram_md5_init(auth_instance *ablock) {}
 
 /* Dummy values */
 void auth_cram_md5_init(auth_instance *ablock) {}
@@ -57,7 +59,7 @@ int auth_cram_md5_server(auth_instance *ablock, uschar *data) {return 0;}
 int auth_cram_md5_client(auth_instance *ablock, void *sx, int timeout,
     uschar *buffer, int buffsize) {return 0;}
 
 int auth_cram_md5_client(auth_instance *ablock, void *sx, int timeout,
     uschar *buffer, int buffsize) {return 0;}
 
-#else  /*!MACRO_PREDEF*/
+#  else        /*!MACRO_PREDEF*/
 
 
 /*************************************************
 
 
 /*************************************************
@@ -81,8 +83,9 @@ if (ob->client_secret != NULL)
   }
 }
 
   }
 }
 
-#endif /*!MACRO_PREDEF*/
-#endif  /* STAND_ALONE */
+#  endif       /*!MACRO_PREDEF*/
+# endif                /*AUTH_CRAM_MD5*/
+#endif         /*!STAND_ALONE*/
 
 
 
 
 
 
@@ -154,7 +157,8 @@ md5_end(&base, md5secret, 16, digestptr);
 }
 
 
 }
 
 
-#ifndef STAND_ALONE
+# ifndef STAND_ALONE
+#  ifdef AUTH_CRAM_MD5
 
 /*************************************************
 *             Server entry point                 *
 
 /*************************************************
 *             Server entry point                 *
@@ -329,7 +333,8 @@ if (smtp_write_command(sx, SCMD_FLUSH, "%s\r\n", b64encode(CUS big_buffer,
 return smtp_read_response(sx, US buffer, buffsize, '2', timeout)
   ? OK : FAIL;
 }
 return smtp_read_response(sx, US buffer, buffsize, '2', timeout)
   ? OK : FAIL;
 }
-#endif  /* STAND_ALONE */
+#  endif  /*AUTH_CRAM_MD5*/
+# endif  /*!STAND_ALONE*/
 
 
 /*************************************************
 
 
 /*************************************************
@@ -338,7 +343,7 @@ return smtp_read_response(sx, US buffer, buffsize, '2', timeout)
 **************************************************
 *************************************************/
 
 **************************************************
 *************************************************/
 
-#ifdef STAND_ALONE
+# ifdef STAND_ALONE
 
 int main(int argc, char **argv)
 {
 
 int main(int argc, char **argv)
 {
@@ -355,7 +360,7 @@ printf("\n");
 return 0;
 }
 
 return 0;
 }
 
-#endif
+# endif        /*STAND_ALONE*/
 
 #endif /*!MACRO_PREDEF*/
 /* End of cram_md5.c */
 
 #endif /*!MACRO_PREDEF*/
 /* End of cram_md5.c */
index 377c09205f4258e1aa68459a12d65e3bb16db4c5..7f437fa0dbc64e3cae4169925915b319990cd407 100644 (file)
@@ -23,6 +23,8 @@ because using C buffered I/O gives problems on some operating systems. PH */
  */
 
 #include "../exim.h"
  */
 
 #include "../exim.h"
+
+#ifdef AUTH_DOVECOT    /* Remainder of file */
 #include "dovecot.h"
 
 #define VERSION_MAJOR  1
 #include "dovecot.h"
 
 #define VERSION_MAJOR  1
@@ -533,4 +535,6 @@ return ret;
 }
 
 
 }
 
 
-#endif   /*!MACRO_PREDEF*/
+#endif /*!MACRO_PREDEF*/
+#endif /*AUTH_DOVECOT*/
+/* end of auths/dovecot.c */
index a89a50486b59be3248bed2d354ce8ba78cdd45ff..6ae5833afcef274219b7c42b7fe0fcac977e5c19 100644 (file)
@@ -14,6 +14,8 @@ method defined in RFC 4422 Appendix A.
 
 
 #include "../exim.h"
 
 
 #include "../exim.h"
+
+#ifdef AUTH_EXTERNAL   /* Remainder of file */
 #include "external.h"
 
 /* Options specific to the external authentication mechanism. */
 #include "external.h"
 
 /* Options specific to the external authentication mechanism. */
@@ -153,5 +155,6 @@ return OK;
 
 
 
 
 
 
-#endif   /*!MACRO_PREDEF*/
+#endif /*!MACRO_PREDEF*/
+#endif /*AUTH_EXTERNAL*/
 /* End of external.c */
 /* End of external.c */
index 391e629f9e230a52b42baa23a246e5ec9a1eddc2..8148960473dfa622ac5af597977f22fc2d536c39 100644 (file)
@@ -8,6 +8,8 @@
 /* SPDX-License-Identifier: GPL-2.0-or-later */
 
 #include "../exim.h"
 /* SPDX-License-Identifier: GPL-2.0-or-later */
 
 #include "../exim.h"
+
+#ifdef AUTH_PLAINTEXT  /* Remainder of file */
 #include "plaintext.h"
 
 
 #include "plaintext.h"
 
 
@@ -176,5 +178,6 @@ while ((s = string_nextinlist(&text, &sep, NULL, 0)))
 return FAIL;
 }
 
 return FAIL;
 }
 
-#endif   /*!MACRO_PREDEF*/
+#endif /*!MACRO_PREDEF*/
+#endif /*AUTH_PLAINTEST*/
 /* End of plaintext.c */
 /* End of plaintext.c */
index 0d4262ec563423b11b0c4d9de36bb559c449ec8b..51418c4ed1736af57a8e856166fc5410d3507d26 100644 (file)
@@ -34,6 +34,8 @@ References:
 
 
 #include "../exim.h"
 
 
 #include "../exim.h"
+
+#ifdef AUTH_SPA                /* Remainder of file */
 #include "spa.h"
 
 /* #define DEBUG_SPA */
 #include "spa.h"
 
 /* #define DEBUG_SPA */
@@ -372,5 +374,6 @@ if (errno != 0 || buffer[0] != '3')
 return FAIL;
 }
 
 return FAIL;
 }
 
-#endif   /*!MACRO_PREDEF*/
+#endif /*!MACRO_PREDEF*/
+#endif /*AUTH_SPA*/
 /* End of spa.c */
 /* End of spa.c */
index 72ad56c4e1f7cd0af34caab423dab698f0500f6b..005032f57dfa21e6eaf336294db71e793e8b734c 100644 (file)
@@ -12,6 +12,8 @@ a server to verify a client SSL certificate
 
 
 #include "../exim.h"
 
 
 #include "../exim.h"
+
+#ifdef AUTH_TLS                /* Remainder of file */
 #include "tls.h"
 
 /* Options specific to the tls authentication mechanism. */
 #include "tls.h"
 
 /* Options specific to the tls authentication mechanism. */
@@ -91,5 +93,6 @@ return auth_check_serv_cond(ablock);
 }
 
 
 }
 
 
-#endif   /*!MACRO_PREDEF*/
+#endif /*!MACRO_PREDEF*/
+#endif /*AUTH_TLS*/
 /* End of tls.c */
 /* End of tls.c */
index 8b72bfac159f95d58b5984dae133ecb11a923bcf..9766e5e103140c05ab0b83d47e886ce0c1ea3595 100644 (file)
@@ -9,6 +9,8 @@
 
 
 #include "../exim.h"
 
 
 #include "../exim.h"
+
+#ifdef ROUTER_ACCEPT           /* Remainder of file */
 #include "rf_functions.h"
 #include "accept.h"
 
 #include "rf_functions.h"
 #include "accept.h"
 
@@ -137,4 +139,5 @@ return rf_queue_add(addr, addr_local, addr_remote, rblock, pw)? OK : DEFER;
 }
 
 #endif /*!MACRO_PREDEF*/
 }
 
 #endif /*!MACRO_PREDEF*/
+#endif /*ROUTER_ACCEPT*/
 /* End of routers/accept.c */
 /* End of routers/accept.c */
index 671e8c93f00d28bb218b05eb03eea6202ea5b24d..33382671fdddea8636f8a02909ba6e6c2b3de7c0 100644 (file)
@@ -8,6 +8,8 @@
 /* SPDX-License-Identifier: GPL-2.0-or-later */
 
 #include "../exim.h"
 /* SPDX-License-Identifier: GPL-2.0-or-later */
 
 #include "../exim.h"
+
+#ifdef ROUTER_DNSLOOKUP                /* Remainder of file */
 #include "rf_functions.h"
 #include "dnslookup.h"
 
 #include "rf_functions.h"
 #include "dnslookup.h"
 
@@ -469,7 +471,8 @@ return rf_queue_add(addr, addr_local, addr_remote, rblock, pw)?
   OK : DEFER;
 }
 
   OK : DEFER;
 }
 
-#endif   /*!MACRO_PREDEF*/
+#endif /*!MACRO_PREDEF*/
+#endif /*ROUTER_DNSLOOKUP
 /* End of routers/dnslookup.c */
 /* vi: aw ai sw=2
 */
 /* End of routers/dnslookup.c */
 /* vi: aw ai sw=2
 */
index 1297b97f24225f7b164dcb5d386d6954975b4d65..16e096b406c5a010663c9f84d1d98a271039df9c 100644 (file)
@@ -9,6 +9,8 @@
 
 
 #include "../exim.h"
 
 
 #include "../exim.h"
+
+#ifdef ROUTER_IPLITERAL                /* Remainder of file */
 #include "rf_functions.h"
 #include "ipliteral.h"
 
 #include "rf_functions.h"
 #include "ipliteral.h"
 
@@ -199,5 +201,6 @@ return rf_queue_add(addr, addr_local, addr_remote, rblock, pw)?
   OK : DEFER;
 }
 
   OK : DEFER;
 }
 
-#endif   /*!MACRO_PREDEF*/
+#endif /*!MACRO_PREDEF*/
+#endif /*ROUTER_IPLITERAL*/
 /* End of routers/ipliteral.c */
 /* End of routers/ipliteral.c */
index f9966bcc0260f9fc21ecf35c0d92ebdfe99a72b5..b88212e5c557b97e839b79f1062462b070a2e3dd 100644 (file)
@@ -9,6 +9,8 @@
 
 
 #include "../exim.h"
 
 
 #include "../exim.h"
+
+#ifdef ROUTER_IPLOOKUP         /* Remainder of file */
 #include "rf_functions.h"
 #include "iplookup.h"
 
 #include "rf_functions.h"
 #include "iplookup.h"
 
@@ -414,5 +416,6 @@ if (rc != OK) return rc;
 return OK;
 }
 
 return OK;
 }
 
-#endif   /*!MACRO_PREDEF*/
+#endif /*!MACRO_PREDEF*/
+#endif /*ROUTER_IPLOOKUP*/
 /* End of routers/iplookup.c */
 /* End of routers/iplookup.c */
index 200e0206e6ff4bbc2257bba82e0d98583b14fc88..45378ce3d820c81d1a5cea1fa1f7bcc832e10e75 100644 (file)
@@ -9,6 +9,8 @@
 
 
 #include "../exim.h"
 
 
 #include "../exim.h"
+
+#ifdef ROUTER_MANUALROUTE
 #include "rf_functions.h"
 #include "manualroute.h"
 
 #include "rf_functions.h"
 #include "manualroute.h"
 
@@ -488,5 +490,6 @@ addr->transport = transport;
 return OK;
 }
 
 return OK;
 }
 
-#endif   /*!MACRO_PREDEF*/
+#endif /*!MACRO_PREDEF*/
+#endif /*ROUTER_MANUALROUTE*/
 /* End of routers/manualroute.c */
 /* End of routers/manualroute.c */
index dd5e24b9392cd3099971671b8a81d854390c888e..b1d736f948c1063981b4f64ddc4f97e6b7ca0748 100644 (file)
@@ -8,6 +8,8 @@
 /* SPDX-License-Identifier: GPL-2.0-or-later */
 
 #include "../exim.h"
 /* SPDX-License-Identifier: GPL-2.0-or-later */
 
 #include "../exim.h"
+
+#ifdef ROUTER_QUERYPROGRAM     /* Remainder of file */
 #include "rf_functions.h"
 #include "queryprogram.h"
 
 #include "rf_functions.h"
 #include "queryprogram.h"
 
@@ -535,5 +537,6 @@ addr->prop = addr_prop;
 return rf_queue_add(addr, addr_local, addr_remote, rblock, pw) ? OK : DEFER;
 }
 
 return rf_queue_add(addr, addr_local, addr_remote, rblock, pw) ? OK : DEFER;
 }
 
-#endif   /*!MACRO_PREDEF*/
+#endif /*!MACRO_PREDEF*/
+#endif /*ROUTER_QUERYPROGRAM*/
 /* End of routers/queryprogram.c */
 /* End of routers/queryprogram.c */
index 6b27c82b03d63af5c67f0736275d5625dcc9d7db..37b5f5e2440929f7147b70c011d8a0cb03911f8e 100644 (file)
@@ -9,6 +9,8 @@
 
 
 #include "../exim.h"
 
 
 #include "../exim.h"
+
+#ifdef ROUTER_REDIRECT /* Remainder of file */
 #include "rf_functions.h"
 #include "redirect.h"
 
 #include "rf_functions.h"
 #include "redirect.h"
 
@@ -807,4 +809,5 @@ return yield;
 }
 
 #endif   /*!MACRO_PREDEF*/
 }
 
 #endif   /*!MACRO_PREDEF*/
+#endif /*ROUTER_REDIRECT*/
 /* End of routers/redirect.c */
 /* End of routers/redirect.c */
index 72c96f0d0a5ae061e1933797ae26b51b7f6193eb..0279659f255663a471fa7a06736bedb843ceda08 100644 (file)
@@ -9,6 +9,8 @@
 
 
 #include "../exim.h"
 
 
 #include "../exim.h"
+
+#ifdef TRANSPORT_APPENDFILE    /* Remainder of file */
 #include "appendfile.h"
 
 #ifdef SUPPORT_MAILDIR
 #include "appendfile.h"
 
 #ifdef SUPPORT_MAILDIR
@@ -3326,4 +3328,5 @@ ret_panic:
 }
 
 #endif /*!MACRO_PREDEF*/
 }
 
 #endif /*!MACRO_PREDEF*/
+#endif /*TRANSPORT_APPENDFILE*/
 /* End of transport/appendfile.c */
 /* End of transport/appendfile.c */
index 3755ba284e8e2e44757386ccf3f835a0d8dc8645..2f2fe1e16678a19a32aa99f44bce7410964700a7 100644 (file)
@@ -9,6 +9,8 @@
 
 
 #include "../exim.h"
 
 
 #include "../exim.h"
+
+#ifdef TRANSPORT_AUTOREPLY     /* Remainder of file */
 #include "autoreply.h"
 
 
 #include "autoreply.h"
 
 
@@ -820,4 +822,5 @@ return FALSE;
 }
 
 #endif /*!MACRO_PREDEF*/
 }
 
 #endif /*!MACRO_PREDEF*/
+#endif /*TRANSPORT_AUTOREPOL*/
 /* End of transport/autoreply.c */
 /* End of transport/autoreply.c */
index f3f9088363141d18142b546776a863a4834a272a..eff0dc79d905a177844f21e7e8e8d4242f8ff029 100644 (file)
@@ -9,6 +9,8 @@
 
 
 #include "../exim.h"
 
 
 #include "../exim.h"
+#ifdef TRANSPORT_LMTP          /* Remainder of file */
+
 #include "lmtp.h"
 
 #define PENDING_OK 256
 #include "lmtp.h"
 
 #define PENDING_OK 256
@@ -807,4 +809,5 @@ MINUS_N:
 }
 
 #endif /*!MACRO_PREDEF*/
 }
 
 #endif /*!MACRO_PREDEF*/
+#endif /*TRANSPORT_LMTP*/
 /* End of transport/lmtp.c */
 /* End of transport/lmtp.c */
index 157d2368fd5f6fc583bcf979b88a7552900af481..60a20c8fe87d7500ba418a8e52a700b32df901c2 100644 (file)
@@ -9,6 +9,8 @@
 
 
 #include "../exim.h"
 
 
 #include "../exim.h"
+
+#ifdef TRANSPORT_PIPE  /* Remainder of file */
 #include "pipe.h"
 
 #ifdef HAVE_SETCLASSRESOURCES
 #include "pipe.h"
 
 #ifdef HAVE_SETCLASSRESOURCES
@@ -1131,4 +1133,5 @@ return FALSE;
 }
 
 #endif /*!MACRO_PREDEF*/
 }
 
 #endif /*!MACRO_PREDEF*/
+#endif /*TRASPORT_PIPE*/
 /* End of transport/pipe.c */
 /* End of transport/pipe.c */