-
-/* Now set up the structures, terminated by an entry with a null name. */
-
-router_info routers_available[] = {
-#ifdef ROUTER_ACCEPT
- {
- .driver_name = US"accept",
- .options = accept_router_options,
- .options_count = &accept_router_options_count,
- .options_block = &accept_router_option_defaults,
- .options_len = sizeof(accept_router_options_block),
- .init = accept_router_init,
- .code = accept_router_entry,
- .tidyup = NULL, /* no tidyup entry */
- .ri_flags = ri_yestransport
- },
-#endif
-#ifdef ROUTER_DNSLOOKUP
- {
- .driver_name = US"dnslookup",
- .options = dnslookup_router_options,
- .options_count = &dnslookup_router_options_count,
- .options_block = &dnslookup_router_option_defaults,
- .options_len = sizeof(dnslookup_router_options_block),
- .init = dnslookup_router_init,
- .code = dnslookup_router_entry,
- .tidyup = NULL, /* no tidyup entry */
- .ri_flags = ri_yestransport
- },
-#endif
-#ifdef ROUTER_IPLITERAL
- {
- .driver_name = US"ipliteral",
- .options = ipliteral_router_options,
- .options_count = &ipliteral_router_options_count,
- .options_block = &ipliteral_router_option_defaults,
- .options_len = sizeof(ipliteral_router_options_block),
- .init = ipliteral_router_init,
- .code = ipliteral_router_entry,
- .tidyup = NULL, /* no tidyup entry */
- .ri_flags = ri_yestransport
- },
-#endif
-#ifdef ROUTER_IPLOOKUP
- {
- .driver_name = US"iplookup",
- .options = iplookup_router_options,
- .options_count = &iplookup_router_options_count,
- .options_block = &iplookup_router_option_defaults,
- .options_len = sizeof(iplookup_router_options_block),
- .init = iplookup_router_init,
- .code = iplookup_router_entry,
- .tidyup = NULL, /* no tidyup entry */
- .ri_flags = ri_notransport
- },
-#endif
-#ifdef ROUTER_MANUALROUTE
- {
- .driver_name = US"manualroute",
- .options = manualroute_router_options,
- .options_count = &manualroute_router_options_count,
- .options_block = &manualroute_router_option_defaults,
- .options_len = sizeof(manualroute_router_options_block),
- .init = manualroute_router_init,
- .code = manualroute_router_entry,
- .tidyup = NULL, /* no tidyup entry */
- .ri_flags = 0
- },
-#endif
-#ifdef ROUTER_QUERYPROGRAM
- {
- .driver_name = US"queryprogram",
- .options = queryprogram_router_options,
- .options_count = &queryprogram_router_options_count,
- .options_block = &queryprogram_router_option_defaults,
- .options_len = sizeof(queryprogram_router_options_block),
- .init = queryprogram_router_init,
- .code = queryprogram_router_entry,
- .tidyup = NULL, /* no tidyup entry */
- .ri_flags = 0
- },
-#endif
-#ifdef ROUTER_REDIRECT
- {
- .driver_name = US"redirect",
- .options = redirect_router_options,
- .options_count = &redirect_router_options_count,
- .options_block = &redirect_router_option_defaults,
- .options_len = sizeof(redirect_router_options_block),
- .init = redirect_router_init,
- .code = redirect_router_entry,
- .tidyup = NULL, /* no tidyup entry */
- .ri_flags = ri_notransport
- },
-#endif
- { US"" }
-};
-
-
-
-transport_info transports_available[] = {
-#ifdef TRANSPORT_APPENDFILE
- {
- .driver_name = US"appendfile",
- .options = appendfile_transport_options,
- .options_count = &appendfile_transport_options_count,
- .options_block = &appendfile_transport_option_defaults, /* private options defaults */
- .options_len = sizeof(appendfile_transport_options_block),
- .init = appendfile_transport_init,
- .code = appendfile_transport_entry,
- .tidyup = NULL,
- .closedown = NULL,
- .local = TRUE
- },
-#endif
-#ifdef TRANSPORT_AUTOREPLY
- {
- .driver_name = US"autoreply",
- .options = autoreply_transport_options,
- .options_count = &autoreply_transport_options_count,
- .options_block = &autoreply_transport_option_defaults,
- .options_len = sizeof(autoreply_transport_options_block),
- .init = autoreply_transport_init,
- .code = autoreply_transport_entry,
- .tidyup = NULL,
- .closedown = NULL,
- .local = TRUE
- },
-#endif
-#ifdef TRANSPORT_LMTP
- {
- .driver_name = US"lmtp",
- .options = lmtp_transport_options,
- .options_count = &lmtp_transport_options_count,
- .options_block = &lmtp_transport_option_defaults,
- .options_len = sizeof(lmtp_transport_options_block),
- .init = lmtp_transport_init,
- .code = lmtp_transport_entry,
- .tidyup = NULL,
- .closedown = NULL,
- .local = TRUE
- },
-#endif
-#ifdef TRANSPORT_PIPE
- {
- .driver_name = US"pipe",
- .options = pipe_transport_options,
- .options_count = &pipe_transport_options_count,
- .options_block = &pipe_transport_option_defaults,
- .options_len = sizeof(pipe_transport_options_block),
- .init = pipe_transport_init,
- .code = pipe_transport_entry,
- .tidyup = NULL,
- .closedown = NULL,
- .local = TRUE
- },
-#endif
-#ifdef EXPERIMENTAL_QUEUEFILE
- {
- .driver_name = US"queuefile",
- .options = queuefile_transport_options,
- .options_count = &queuefile_transport_options_count,
- .options_block = &queuefile_transport_option_defaults,
- .options_len = sizeof(queuefile_transport_options_block),
- .init = queuefile_transport_init,
- .code = queuefile_transport_entry,
- .tidyup = NULL,
- .closedown = NULL,
- .local = TRUE
- },
-#endif
-#ifdef TRANSPORT_SMTP
- {
- .driver_name = US"smtp",
- .options = smtp_transport_options,
- .options_count = &smtp_transport_options_count,
- .options_block = &smtp_transport_option_defaults,
- .options_len = sizeof(smtp_transport_options_block),
- .init = smtp_transport_init,
- .code = smtp_transport_entry,
- .tidyup = NULL,
- .closedown = smtp_transport_closedown,
- .local = FALSE
- },
-#endif
- { US"" }
-};
-
-#ifndef MACRO_PREDEF
-
-gstring *
-auth_show_supported(gstring * g)
-{
-g = string_cat(g, US"Authenticators:");
-for (auth_info * ai = auths_available; ai->driver_name[0]; ai++)
- g = string_fmt_append(g, " %s", ai->driver_name);
-return string_cat(g, US"\n");