On 242, 08 30, 2005 at 10:50:57AM +0200, Steffen Kaiser
wrote:> Hello,
>
> I'd suggest a way to get to know the "capabilities" of a
compiled Dovecot.
You can try the attached patch.
> The background is that I've run the sequence
>
> ./configure --with-ldap && make && make install
>
> twice, all three commands tell me that all is fine (ldap is listed in the
> modules), but still dovecot told me that ldap is no Usedb module.
>
> A "make clean" before solved the problem -- well, something one
should
> anyway.
>
> Besides, the "dovecot --capabilities" should also list all the
defaults.
>
> Bye,
>
> --
> Steffen Kaiser
>
--
Andrey Panin | Linux and UNIX system administrator
pazke at donpac.ru | PGP key: wwwkeys.pgp.net
-------------- next part --------------
diff -urdpNX /usr/share/dontdiff dovecot-1.0-test80.vanilla/src/master/main.c
dovecot-1.0-test80/src/master/main.c
--- dovecot-1.0-test80.vanilla/src/master/main.c 2005-08-15 02:07:35.000000000
+0400
+++ dovecot-1.0-test80/src/master/main.c 2005-08-30 15:09:21.000000000 +0400
@@ -572,6 +572,95 @@ static void print_help(void)
printf("Usage: dovecot [-F] [-c <config file>]\n");
}
+static void print_capabilities(void)
+{
+ printf("Build options:"
+#ifdef IOLOOP_EPOLL
+ " ioloop=epoll"
+#endif
+#ifdef IOLOOP_POLL
+ " ioloop=poll"
+#endif
+#ifdef IOLOOP_SELECT
+ " ioloop=select"
+#endif
+#ifdef IOLOOP_NOTIFY_DNOTIFY
+ " dnotify"
+#endif
+#ifdef IOLOOP_NOTIFY_INOTIFY
+ " inotify"
+#endif
+#ifdef HAVE_IPV6
+ " ipv6"
+#endif
+#ifdef HAVE_GNUTLS
+ " gnutls"
+#endif
+#ifdef HAVE_OPENSSL
+ " openssl"
+#endif
+#ifdef HAVE_MYSQL
+ " mysql"
+#endif
+#ifdef HAVE_PGSQL
+ " postgresql"
+#endif
+ "\nPassdb: "
+#ifdef PASSDB_BSDAUTH
+ "bsdauth "
+#endif
+#ifdef PASSDB_CHECKPASSWORD
+ "checkpassword "
+#endif
+#ifdef PASSDB_LDAP
+ "ldap "
+#endif
+#ifdef PASSDB_PAM
+ "pam "
+#endif
+#ifdef PASSDB_PASSWD
+ "passwd "
+#endif
+#ifdef PASSDB_PASSWD_FILE
+ "passwd-file "
+#endif
+#ifdef PASSDB_SHADOW
+ "shadow "
+#endif
+#ifdef PASSDB_SQL
+ "sql "
+#endif
+#ifdef PASSDB_VPOPMAIL
+ "vpopmail "
+#endif
+ "\nUserdb: "
+#ifdef USERDB_CHECKPASSWORD
+ "checkpassword "
+#endif
+#ifdef USERDB_LDAP
+ "ldap "
+#endif
+#ifdef USERDB_PASSDB
+ "passdb "
+#endif
+#ifdef USERDB_PASSWD
+ "passwd "
+#endif
+#ifdef USERDB_PASSWD_FILE
+ "passwd-file "
+#endif
+#ifdef USERDB_SQL
+ "sql "
+#endif
+#ifdef USERDB_STATIC
+ "static "
+#endif
+#ifdef USERDB_VPOPMAIL
+ "vpopmail "
+#endif
+ "\n");
+}
+
int main(int argc, char *argv[])
{
/* parse arguments */
@@ -606,6 +695,9 @@ int main(int argc, char *argv[])
} else if (strcmp(argv[i], "--version") == 0) {
printf("%s\n", VERSION);
return 0;
+ } else if (strcmp(argv[i], "--capabilities") == 0) {
+ print_capabilities();
+ return 0;
} else {
print_help();
i_fatal("Unknown argument: %s", argv[1]);