Accéder au contenu.
Menu Sympa

fr - Re: Sympa 1.4.2 disponible

Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa

Archives de la liste

Chronologique Discussions  
  • From: Raphael Hertzog <adresse@cachée>
  • To: adresse@cachée
  • Subject: Re: Sympa 1.4.2 disponible
  • Date: Thu, 11 Feb 1999 18:13:26 +0100

Le Thu, Feb 11, 1999 at 11:34:35AM +0100, Olivier Salaun - CRU écrivait:
> Entièrement d'accord avec toi, il manque la notion de paramètres optionnels
> dans Conf.pm.
>
> > Je peux faire un patch si vous voulez.
>
> On est preneur, envoi-nous le patch.

Il est joint. C'est très simple. Si dans %Default_Conf tu mets une valeur
à undef alors ce champ devient "required" sinon il est optionnel et la
valeur indiquée sera utilisée (si elle n'est pas trouvée dans le fichier
de config, bien sûr).

Remarque sur cette portion du patch :
@@ -67,7 +99,7 @@
}
## Do we have all required values ?
foreach $i (keys %valid_options) {
- unless ($o{$i}) {
+ unless (exists $o{$i} or defined $Conf{$i}) {
printf STDERR Msg(1, 5, "Required field not found: %s\n"), $i;
$config_err++;
next;

Dans le premier cas on teste si $o{$i} est vrai (ce qui est la cas en
général car c'est une référence sur un tableau), mais il vaut mieux
tester l'existence de l'élément dans le hash (même si cela ne change rien
dans ce cas), c'est pourquoi j'ai mis ce "exists".

A+
--
Raphaël Hertzog >> 0C4CABF1 >> http://prope.insa-lyon.fr/~rhertzog/
--- Conf.pm.orig Thu Feb 11 17:58:55 1999
+++ Conf.pm Thu Feb 11 18:01:32 1999
@@ -25,6 +25,35 @@
my %valid_options = ();
map { $valid_options{$_}++; } @valid_options;

+my %Default_Conf = (
+ 'home' => '/home/sympa/expl',
+ 'lists' => 'lists',
+ 'help' => 'helpfile',
+ 'umask' => '027',
+ 'syslog' => 'LOCAL1',
+ 'nrcpt' => 25,
+ 'avg' => 10,
+ 'maxsmtp' => 20,
+ 'sendmail'=> '/usr/sbin/sendmail',
+ 'host' => undef, ## No default value => required field
+ 'email' => 'sympa',
+ 'pidfile' => '/home/sympa/sympa.pid',
+ 'msgcat' => '/home/sympa/nls',
+ 'sort' => 'fr,ca,be,ch,uk,edu,*,com',
+ 'queue' => '/home/sympa/queue',
+ 'queuedigest'=> '/home/sympa/queuedigest',
+ 'queuemod' => '/home/sympa/queuemoderation',
+ 'queueexpire'=> '/home/sympa/queueexpire',
+ 'queueauth' => '/home/sympa/queueauth',
+ 'sleep' => 5,
+ 'clean_delay_queue' => 1,
+ 'clean_delay_queuemod' => 10,
+ 'clean_delay_queuauth' => 3,
+ 'log_socket_type' => 'inet',
+ 'lists_header' => 'lists.header',
+ 'lists_footer' => 'lists.footer'
+ );
+
%Conf = ();

## Loads and parses the configuration file. Reports errors if any.
@@ -34,6 +63,9 @@
my $config_err = 0;
my($i, %o);

+ ## Set default values
+ %Conf = %Default_Conf;
+
## Open the configuration file or return and read the lines.
unless (open(IN, $config)) {
printf STDERR Msg(1, 2, "Unable to open %s: %s\n"), $config, $!;
@@ -67,7 +99,7 @@
}
## Do we have all required values ?
foreach $i (keys %valid_options) {
- unless ($o{$i}) {
+ unless (exists $o{$i} or defined $Conf{$i}) {
printf STDERR Msg(1, 5, "Required field not found: %s\n"), $i;
$config_err++;
next;



Archives gérées par MHonArc 2.6.19+.

Haut de le page