navigation
Home
admin
|
Sympa
October 18th, 2016
|
| Table des matières |  |
Erreurs
Script de surveillance des daemons
transport_regexp
Gestion des logs
Liens HTML et archives
Divers
| Erreurs |  |
Use of uninitialized value in sprintf at /usr/lib/perl/5.10/Sys/Syslog.pm line 365
Ce message apparaît lors de l'exécution du script perl /usr/lib/sympa/bin/sympa.pl
Solution : Rajouter les options "-U -X" en début de fichier (cf shebang) :
# more /usr/lib/sympa/bin/sympa.pl
#! /usr/bin/perl -U -X
# sympa.pl - This script is the main one ; it runs as a daemon and does
[...] |
Source : http://comments.gmane.org/gmane.mail.sympa.user/585
| Script de surveillance des daemons |  |
# cat /root/monitor_sympa.sh
#!/bin/bash
pidfile=/var/run/sympa/sympa.pid
pidfile_distribute=/var/run/sympa/sympa-distribute.pid
pidfile_creation=/var/run/sympa/sympa-creation.pid
pidfile_bulk=/var/run/sympa/bulk.pid
archived_pidfile=/var/run/sympa/archived.pid
bounced_pidfile=/var/run/sympa/bounced.pid
task_manager_pidfile=/var/run/sympa/task_manager.pid
RESTART=0
A=$(pgrep -f sympa.pl)
B=$?; if [ "$B" != 0 ]; then RESTART=1;echo deamon sympa.pl absent; fi
A=$(pgrep -f archived.pl)
B=$?; if [ "$B" != 0 ]; then RESTART=1;echo deamon archived.pl absent; fi
A=$(pgrep -f task_manager.pl)
B=$?; if [ "$B" != 0 ]; then RESTART=1;echo deamon task_manager.pl absent; fi
A=$(pgrep -f bounced.pl)
B=$?; if [ "$B" != 0 ]; then RESTART=1;echo deamon bounced.pl absent; fi
A=$(pgrep -f bulk.pl)
B=$?; if [ "$B" != 0 ]; then RESTART=1;echo deamon bulk.pl absent; fi
if [ "$RESTART" = "1" ]; then
echo relance sympa
/etc/init.d/sympa stop
sleep 3s
# verification des fichiers pid
[ -f $pidfile ] && rm -f $pidfile
[ -f $pidfile_distribute ] && rm -f $pidfile_distribute
[ -f $pidfile_creation ] && rm -f $pidfile_creation
[ -f $pidfile_bulk ] && rm -f $pidfile_bulk
[ -f $archived_pidfile ] && rm -f $archived_pidfile
[ -f $bounced_pidfile ] && rm -f $bounced_pidfile
[ -f $task_manager_pidfile ] && rm -f $task_manager_pidfile
/etc/init.d/sympa start
fi
# |
| transport_regexp |  |
Sympa version 6.1.1 - Debian wheezy
version 1
pb : les mails adressés aux comptes locaux sont interceptés par sympa via les règles de transport.
Comme il n'existe pas de listes qui correspondent, l'envoi du mail échoue.
Message d'erreur obtenu : "list root does not exist"
Solution : je modifie les règles de transport qui deviennent
cat /etc/sympa/transport_regexp
/^mailer-daemon@listes.domaine.fr$/ local:
/^postmaster@listes.domaine.fr$/ local:
/^root@listes.domaine.fr$/ local:
/^.*-owner@listes2.domaine.fr$/ sympabounce:
/^.*@listes.domaine.fr$/ sympa: |
Ainsi, les mails adressés à mailer-daemon, postmaster ou root sont traités en local.
Doc sur la config de postfix avec sympa : http://www.sympa.org/faq/postfix_howto
version 2
la solution ci-dessus me pose problème : j'ai besoin de créer des alias particuliers pour la continuité ancienne - version nouvelle version et les règles de transport_regexp ne sont pas particulièrement fines : tout est renvoyé vers sympa ou vers sympa_bounces.
En conséquence,
je configure postfix sans transport_regexp
je configure postfix pour aller chercher les alias dans deux tables. Une table gérée par postfix (/etc/aliases, droits à root) et une autre pour sympa (/etc/mail/sympa/aliases, droits à sympa)
| Gestion des logs |  |
Sympa facility
Par défaut aucune facility n'est définie =>
# echo local1 > /etc/sympa/facility
# cat /etc/sympa/facility
local1 |
Modification de rsyslog
# cat /etc/rsyslog.d/sympa.conf
local1.=debug -/var/log/sympa/sympa.debug
local1.=info;local1.=notice;local1.=warning /var/log/sympa/sympa.log
local1.err /var/log/sympa/sympa.err |
plus une légère modification de rsyslog.conf (la facility local1 n'est plus envoyée dans /var/log/syslog) :
[...]
#*.*;auth,authpriv.none -/var/log/syslog
!local1.*;auth,authpriv.none -/var/log/syslog
[...] |
On peut faire de même pour www-sympa en envoyant les logs sur local0 (cf wwsympa.conf)
| Liens HTML et archives |  |
Avec Sympa 6.0.1, les liens contenus dans les mails codés en HTML (il n'y a pas de pb avec les mails en texte simple) continuaient d'être cliquables dans les archives.
Ce n'est plus le cas avec Sympa 6.11.1.
Le changement se situe dans le fichier /usr/share/lib/lib/tools.pm :
sub _create_xss_parser {
my %parameters = @_;
&do_log('debug3','tools::_create_xss_parser(%s)',$parameters{'robot'});
my $hss = HTML::StripScripts::Parser->new({ Context => 'Document',
AllowSrc => 1,
Rules => {
'*' => {
src => '^http://'.&Conf::get_robot_conf($parameters{'robot'},'http_host'),
},
},
});
return $hss;
} |
vs pour la 6.0.1
sub _create_xss_parser {
my %parameters = @_;
&do_log('debug3','tools::_create_xss_parser(%s)',$parameters{'robot'});
my $hss = HTML::StripScripts::Parser->new({ Context => 'Document',
AllowSrc => 1,
AllowHref => 1,
AllowRelURL => 1,
EscapeFiltered => 1,
Rules => {
'*' => {
src => '^http://'.&Conf::get_robot_conf($parameters{'robot'},'http_host'),
},
},
});
return $hss;
} |
Des explications concernant les différentes à rajouter ou non sont disponibles ici : http://search.cpan.org/~drtech/HTML-StripScripts-1.05/StripScripts.pm
Note : les mails codés uniquement en texte ne sont pas impactés
La modification ci-dessus ne semble pas suffisante : les archives créés à partir de mails codés en HTML ne sont pas propres (balises apparentes par ex).
=> Je modifie le script archived.pl (cf lignes commentées ci-dessous) pour désactiver les modifications du HTML effectuées avant le passage de monharc
sub clean_archived_message{
my $params = shift;
&do_log('debug',"Cleaning HTML in archived file '%s/%s' (overwrite: %s).",$params->{'path'},$params->{'file'},$params->{'overwrite'});
my $filtered_file;
if ($params->{'overwrite'}){
$filtered_file = $params->{'path'}.'/'.$params->{'file'};
}else{
$filtered_file = $Conf::Conf{'tmpdir'}.'/'.$params->{'file'};
}
my $file_to_archive = $params->{'path'}.'/'.$params->{'file'};
if (my $msg = new Message($file_to_archive,1">{
# if($msg->clean_html(">{
if(open TMP, ">$filtered_file") {
print TMP $msg->{'msg'}->as_string;
close TMP;
$file_to_archive = $filtered_file;
}else{
&do_log('err','Unable to create a tmp file to write clean HTML to file %s',$filtered_file);
return undef;
}
# }else{
# &do_log('err','HTML cleaning in file %s failed.',$file_to_archive);
# return undef;
# }
}else{
&do_log('err','Unable to create a Message object with file %s',$file_to_archive);
return undef;
}
return $file_to_archive;
} |
| Divers |  |
Changement de listmaster
Attention après avoir changé de listmaster (fichier /etc/sympa/sympa.conf), il ne faut pas oublier de relancer sympa ET apache...
Ajouter les alias pour une liste
Il est possible de regénérer les alias du fichier sympa_aliases pour une liste particulière :
alias_manager add ma_liste listes.univ-lemans.fr |
|
|
Dernières modifs
|
|---|
VNC (November 22nd, 2020) Editeurs (October 20th, 2016) Awk (October 18th, 2016) Claws Mail (October 18th, 2016) Cups (October 18th, 2016) Gimp (October 18th, 2016) Git (October 18th, 2016) |
Contact
|
|---|
Pour m'envoyer un mail, Pour me laisser un commentaire :richard.brunooo chez gmail.com |  |
|
|