sympa-community / sympa

Sympa, Mailing List Management Software
https://www.sympa.community/sympa
GNU General Public License v2.0
241 stars 95 forks source link

sympa.conf's wwsympa_url overrides robot.conf entry #321

Closed 1resu closed 5 years ago

1resu commented 6 years ago

According to the documentation the wwsympa_url entry in sympa.conf overrides the one in a robot.conf file. I can reproduce the behaviour with Sympa 6.2.32

Hence it isn't possbile to insert a valid unsubscribe link via [% 'auto_signoff' | url_abs([listname],{email=>user.email}) %] for a virtual domain with another domain name as the one in sympa.conf because the variable will be replaced by sympa.conf's wwsympa_url.

I would expect that the entry in the robot.conf file overrides the one in the sympa.conf.

ikedas commented 6 years ago

Hi @1resu,

Can you try these?

  1. Restart services (see "Reloading services).
  2. If behavior reproduces, remove sympa.conf.bin and robot.conf.bin in the same directory of sympa.conf and robot.conf, and then restart services.
1resu commented 6 years ago

Unfortunately none of the points change the behaviour.

ikedas commented 6 years ago

Hi @1resu, Could you please show us following?

1resu commented 6 years ago

Sorry for the late reply. Here are the configuration files:

sympa.conf:

domain          example.org
listmaster      listmaster@example.org
wwsympa_url     https://example.org
max_wrong_password      5
static_content_path     /usr/share/sympa/static_content
cookie          `/usr/bin/head -n1 /etc/sympa/cookie`
create_list     list_creators
home            /sympa/list_data
log_level       0
sendmail_aliases        none
log_smtp        on
lang            de
db_type         mysql
db_name         sympa
db_host         localhost
db_user         sympa
db_passwd       password
spam_status     x-spam-status
use_fast_cgi    1
password_validation     MINLEN=8,GROUPS=3
dmarc_protection_mode   dmarc_reject
dmarc_protection_phrase name_email_via_list 
css_path        /var/lib/sympa/css
css_url         /css-sympa
pictures_path   /var/lib/sympa/pictures
pictures_url    /pictures-sympa

robot.conf:

http_host       ml.example.org
host            ml.example.org
domain          ml.example.org
gecos           ml.example.org
title           ml.example.org
wwsympa_url     https://ml.example.org
cookie_domain   ml.example.org

Apache2 configuration:

<VirtualHost *:80>
        ServerName      ml.example.org
        SetEnv          HTTPS on
        DocumentRoot    /usr/lib/cgi-bin/sympa
        ErrorLog        /var/log/apache2/sympa.error.log

        <IfModule mod_fcgid.c>
                Alias /static-sympa /usr/share/sympa/static_content
                <Directory /usr/share/sympa/static_content>
                        Require all granted
                </Directory>
                Alias /images-sympa /var/www/sympa-images
                Alias /css-sympa /var/lib/sympa/css
                <Directory /var/lib/sympa/css>
                        Require all granted
                </Directory>
                Alias /pictures-sympa /var/lib/sympa/pictures
                <Directory /var/lib/sympa/pictures>
                        Require all granted
                </Directory>
                ScriptAliasMatch ^/(.*) /usr/lib/cgi-bin/sympa/wwsympa-wrapper.fcgi/$1
                FcgidIOTimeout 300
                <Directory /usr/lib/cgi-bin/sympa>
                        Require all granted
                </Directory>
        </IfModule>
</VirtualHost>
ikedas commented 6 years ago

Hi @1resu,

How do you handle mail aliases? Can you show configuration of MTA?

ikedas commented 5 years ago

Stagnating issue. Close by now.

adam12b1 commented 4 months ago

Arriving late to the party (as we've just upgraded from Sympa 6.1 after so many years), and this is a pretty minor bug but I'm sorry to say it remains in place. And maybe it will help to know, only the [% 'auto_signoff' | url_abs([listname],{email=>user.email}) %] syntax is affected, because we were able to revert to this syntax and it works just fine with a virtual robot:

[% wwsympa_url %]/auto_signoff/[% listname %]?email=[% user.escaped_email %]

So somehow, the url_abs variable is confused about virtual robots, while wwsympa_url works fine.

adam12b1 commented 4 months ago

Pardon me, I just learned from https://www.sympa.community/manual/customize/message-personalization.html that the variable we used in that modified auto_signoff link has been obsoleted, so the corrected syntax should read:

[% wwsympa_url %]/auto_signoff/[% listname %]?email=[% user.email | uri %]