Frage zu den Komponenten des E-Mail Server (Procmail, Cyrus)

  • Hallo Community,


    Ich wundere mich ein wenig, warum wir in unserem i-MSCP-System Mailserverprogramme wie Postfix und Dovecot haben, und trotzdem noch Procmail und Cyrus nutzen.


    Zu Procmail hatte ich schon einmal gepostet und Nuxwin meinte damals dazu:

    Procmail is installed for nothing and I'll surely make it optional in near future.

    Nun ist das Teil heute aber immer noch im Bestand.



    Auch kann ich die Umstellung von Dovecot SASL zu Cyrus SASL nicht wirklich nachvollziehen. Sicherlich gab es dafür Gründe. Kennt vielleicht jemand die Hintergründe? Ich für meinen Teil würde zu so wenigen Programmen wie möglich tendieren. Zumal Dovecot sowohl als SASL-Dienst als auch für die Mailfilterung bestens geeignet ist.


    Gruß, Curio

  • @Curio


    Assuming that you use latest i-MSCP stable version 1.2.11:


    Dovecot case


    If you use Dovecot for POP/IMAP servers, you should have only Postfix and Dovecot installed. Cyrus SASL is not installed when you use Dovecot because that last provides its own SASL implementation which is used by postfix for SMTP authentication.


    Edit: In fact, currently, Cyrus SASL implementation is used in both cases...


    Courier case


    If you use Courier for POP/IMAP servers, you should have Cyrus SASL which is used by postfix for SMTP authentication.


    About procmail


    Procmail is not installed by i-MSCP. Procmail is installed on standard installation (It is part of the standard tasksel task).


    In 1.2.12, I'll remove the mailbox command (procmail) from the postfix main.cf and mark the procmail package as a conflict to force it deinstallation when running i-MSCP installer.

    badge.php?id=1239063037&bid=2518&key=1747635596&format=png&z=547451206

  • @'Nuxwin


    Vielen Dank für die rasche Auskunft. ich bin nicht sicher, aber ist damit gemeint, wenn ich in der Updateprozedur mich für Dovecot entscheide, dass dann Dovecot auch automatisch als SASL in der main.cf eingesetzt wird? Das wiederspricht meinen Erfahrungen. Ich setzt seit Anbeginn immer schon Dovecot ein. Bis zur Version 1.1.13 oder 1.1.16 wurde auch Dovecot-SASL benutzt, dann trotz meiner Auswahl für Dovecot erhielt ich seit dem Cyrus-SASL.


    Vielen Dank auch für die tollen News bezüglich Procmail.


    Gruß, Curio



    Thank you very much for your fast answer. My english is not the best, but I hope to understand you right:
    You mean, if I select dovecot during the install- or update procedure then should I get Dovecot-SASL in the main.cf instead of Cyrus SASL? That would be great.
    But I always select dovecot and get cyrus.


    Have I misunderderstood you? Or must I perform appropriate changes by my own in mail config files to obtain dovecot for SASL and LDA?


    Thank you also for the good News regarding procmail.


    Curio

  • @Sorry


    You're right. We never use the Dovecot SASL implementation, even when we install dovecot. I don't remember why. I'll have a look. I'll fix that for 1.2.12.

    badge.php?id=1239063037&bid=2518&key=1747635596&format=png&z=547451206

  • @Curio


    I now know why we use Cyrus SASL even when Dovecot Po server is choosen ;) This is to fullfit the postfix smarthost listener requirements (10_postfix_smarthost.pl) that allows Postfix to act as a smarthost. Indeed, in that case, smtp client auth (which is not smtpd) is required and the problem here is that the Dovecot SASL implementation doesn't support client functionality (only smtpd is supported).


    I've fixed this by updating the listener to schedule installation of the Cyrus SASL implementation when needed for smtp.


    Perl
    1. ...sub fillPackages{ my $packages = shift; if($main::imscpConfig{'PO_SERVER'} ne 'courier') { # Dovecot SASL implementation is not supported by Postfix for smtp (which is not smtpd). Thus, # we need also install Cyrus SASL implementation push @{$packages}, 'libsasl2-modules'; } 0;}...$eventManager->register('beforeInstallPackages', \&fillPackages);...


    To resume, with the version 1.2.12, the SASL implementation used will depend on the choosen PO server:


    Courier PO server case

    • Cyrus SASL implementation will be used by Postfix to provide SMTP authentication (smtpd)

    Dovecot PO server case

    • Dovecot SASL implementation will be used by postfix to provide SMTP authentication (smtpd)

    Now, if you also install the postfix smarthost listener, Cyrus SASL implementation will be also installed, meaning that when choosing the Dovecot Po server, the Dovecot SASL implementation will be used for SMTP authentication (smtpd) while Cyrus SASL implementation will be used for smtp auth.


    CHANGELOG for 1.2.12 will look like this:

    Code
    1. BACKEND Backported: iMSCP::Crypt library from 1.3.x branch Fixed: Don't use Cyrus SASL for SMTP authentication when using Dovecot Po server; Use Dovecot SASL impl. insteadCONFIG Added: performance_schema parameter in mysql/imscp.cnf file to disable performance schema added: event_scheduler parameter in mysql/imscp.cnf file to disable event scheduler Added: DOVECOT_SASL_AUTH_SOCKET_PATH parameter in dovecot/dovecot.data file Added: SQLD_SOCK_DIR, SQLD_USER and SQLD_GROUP parameters in mysql/mysql.data configuration file Added: sql_mode parameter in mysql/imscp.cnf template file to reset server SQL modes (backward compatibility issue) Fixed: Possible segfault with OPcache when fast shutdown feature is enabled Removed: Dovecot 1.x configuration files Removed: procmail mailbox command in Postfix main.cf fileCONTRIB Rewritten: 10_named_zonetransfer.pl listener (now named 10_named_slave_provisioning.pl) Updated: 10_postfix_smarthost listener (We need Cyrus SASL; Dovecot SASL impl. not supported by Postfix for smtp)FRONTEND Fixed: Slow DOM content loading due to some built-in functions override (imscp.js)INSTALLER Added: Allow to specify package version to install in distribution package files Added: Conflict for procmail package to force its removal when running i-MSCP installer Added: Routine to upgrade SQL server system tables when necessary (e.g. MySQL Community Server) Added: Support for MySQL 5.6.x/5.7.x, Percona 5.7 and MariaDB 10.1 (when available) Fixed: Could not type new password when reconfiguring service SQL users due to non-printable characters Fixed: Dependencies problems when switching to another SQL server vendor Fixed: Don't ask admin for SQL root password when not needed (package maintainer script) Fixed: Don't ask admin for data directory (/var/lib/mysql) removal (package maintainer script) Fixed: Do not try to receive/download repository gpg key if already present Fixed: Missing source repositories in APT sources.listYOUTRACK #IP-1397 MySQL "SET PASSWORD" deprecated in version 5.7.6 #IP-1482 Add support for both MySQL 5.6.x and MySQL 5.7.x using MySQL Team repositories


    Hope it is clear enough. As you can see in the changelog above, I've also removed procmail which is only used for local delivery.


    Errata will look like this:


    Note: I'll also prevent installation of saslauthd daemon which is not needed ATM.

    badge.php?id=1239063037&bid=2518&key=1747635596&format=png&z=547451206