Quick viewing(Text Mode)

Sympa a Mailing List Management Software Reference Manual

Sympa a Mailing List Management Software Reference Manual

        

   

        

        

          !  " #         $   %&'( )*+          ,-       " .          /   )*+$     0            1

    

" . 2 133    3    3 3 4" . 5

" # . 2 133    3    3 34" # .3  5

               ,2 133    3   335 & 

)   

)     (  +  ) 0     %   '     

  , 

  ,   )    -   -  6   7  8    76 8    )     798    '   7:  8    7   8

;    

1 sur 189 ;             )  <      <    ;   )  )=  6<  )=     !=;>                       6    (

6   

   ;=;&        

!   

!    ;    )=    *      )       ,   6           '       

'

' '6% 6  (     ?  

       $

      

       @

      

2 sur 189    ,             A  A  A  A     A AA      AB A@  A@"       A A-           A  A    A  A    A  A   A   A$A,     A    A A    A A      A A  A   A  AA  

       #

       *              A A  A  - -A              A $  A  A   $A,  A 

3 sur 189  A A $    A      A   A #.CDA A- A  A  A    A$A A A A     A A-  A A   A A E$ ,A A, F     A A<     A A<       <   <     <   <    <    <     <    <    <     <         A A<    A A<      A A<     A A<      A A<    A A<     A A<      A A<     A A<      A A  

       .

       ;    ,    

4 sur 189     A    A A  -  A   9     A   A  A   A  A   A A E$ $ A A    A  A A   A  A    A  A     A  A    A  A   A    A A@A     A A#A    AA -$  A A    A A     A  A   &   A A -  A   A    <  A      A      A A    *     AA-A  A  A  A  A  A   A A   A   A  A  A   A- A  A  A-  A  A A    AA A   A$   A   A A A  

5 sur 189  A A   A A A    A A  (    A A$ A A A  A A A   A   A $ 3';': -        -  A    4    A    A    A   

    

     )  <   ;   ):6(      * 9 *    *          *           ;       ;     $ - ;       - '      :$               -   

  G  

  G     ,            ;           ;        $ ! + H;

6 sur 189         A   A  A $  4  A-  A   A-  A$   A    A  A  A       A     I A  I      @I A ABI@ *  -    (     

 

  +  '%         -          6    ;   

 ;    , 

 ;    ,        &           *-    4-   &        %    

 6 

 6    A   A    A    AA 

7 sur 189  ) 

 )   ;               !   " . ?  " J      &       &*(      4       K  $

   

     3';': %&&)                  H       4          A         A         G          )          

  ,    

  ,     (    -           6   6 -   =+   (*)=+  *-    F(=+  *-                      9       )     

8 sur 189 %   -

 

?   %         ?    ,   '      

;            

;              6     G                       

'  

' L *   M (   

  ,  

  ,  3  & -   '  - - #   # A   #  A  A #   -     ,    - A  A         M !        !       ;    ,        ,   (     ,   !     ,   &

9 sur 189   ,           (    & 

'  -  

'  -    ' (  -   - :$ -   -    - ; - %- *    - (   -  #   #  # 0 #    #   #   #  A #   - ( -       $      '         

(        

(         (     *       >'(-   (  (                       (                  &   -    (   

6  

10 sur 189 ( +

(  +    !   *-    ;      '-           6      '     :         $          -    '& *-       -   

(  -      

(  -      

( -  

(    1-     0         A        A         A    A     

  3   

     A$A, A  A     A  A   A  A A   A A 

11 sur 189 A A    A A     A     A  #.CDA A- A  A  A    A 0    A 

) 

                 A

 

      A   A  A

9  

9        A@   A# A  A   A  A   A  

*   

*      A A      A    A    A  A A 

12 sur 189   A<A<     AA<     AA#A<     A-   A  A-

  

     A   $ A    (    $A, A   A $  A             A     A AA    

6  

'  ' -                 '   '   3   

   

    &           &   - & -   ,             & - A  # A   #

9  

9    ?:6)

13 sur 189 6+

  

  

!   (*)

!   (*)

  3';': %&&)

  3';': %&&)      !3';':      !3';':     3  -    ;     '     -   -         -      ,3';':          '   -      A A$       A     

!   

!    !       '    

    

)    :   

        ;                           ;              <       7 4            8 &                        

   N      ;                ;  -          ,          -    $    ,    

14 sur 189                             '&)From    3';':      $       (*)    F(          

                        ;  -     E          1  #BBBB     <    C    D" O            7   .BB'%,#"'9.PC    ( $8

&        -          7" . @B8  2 133    5

 

    /            H=!H  ) ( ?  # 2 133   3  3  5

                                    



                      <           <             &  1

   !                              ;  ,  1      '&)     < ) -$   $   '&)          G             /         &   3   7 8    ,  &           )-/ " !      :      ,     ""#    / $%       ';':                 -          -   $ ';':   + $    &        '&  &'    7=                    '&  8/ &       4  & -     N         private              -   privateoreditorkey              7      4   8      <                   +     N            &    -   7        8-     (          

15 sur 189 -    ,          #B -  -          7:$1                   <        ,  8/                  7        8 -    config-             -    /etc/sympa.conf -   -7    -        8 )         ADDDELETE REVIEW          <    3';':  / Q9R'6R1 A S)! 1         7       8 ;  1 -       $             7                      8      7  -     8  %&'(      ,      3                            7               8         7       -   8/ &       G   *+1                          @ $  $ -      &          0 &        &):6( ); DBI3DBD        6*9'7' F(F( )  F(  8 &         / ,   1                     ,  7?  8/ *!   14           F(<     (*)   ;                        &&(7&&(8   7   44<  8/ *    1     (*)*         $   (*)      T  U    7             8/     1 $                      '3  + 3?)&  ' 3?     7  8/ $    ! !          &         4         T    9  U  

-   

    0 1      &                0       )    +            0    

16 sur 189 

        @DD" &        &!()              1   

=   <   &!()0       &              L$            0        

;             -     

   1

' @DDD;    7' F(8-        $     76*9' (*)8  @DDD          ,     +#BBB    #BBB       ' #BBB(        K #BB@   3';':7       8                 +    %&'(   K #BB@ 4              K #BB#?   (*)     #BB.     #BB.4  4    *#BB. )   #BBJ  &&#     )    #BB" %&'( >%&'(V6 

   

;            sympa-authors(@)cru.fr

&   4   2 133    3 3 3   < 3 51

sympa-users(@)cru.fr       sympa-fr(@)cru.fr +  4     sympa-announce(@)cru.fr     sympa-dev(@)cru.fr   sympa-translation(@)cru.fr     

&0     sympa(@)cru.fr1

subscribe

7        -        8

       2 133    5/    -      2 133    3   3    5 +F 

:

17 sur 189 .  ( 

%                &           -   - -                             

&            -     =                         -  ,                          -  

/home/sympa &        -               $    -   - /home/sympa/bin &            H; ;        ,         -   -     /home/sympa/bin          make install        ,      ,      /home/sympa/bin /home/sympa/bin/etc %             -  /home/sympa/etc7     ,        -   -  ,3' -  8 /home/sympa/etc &   G -         /home/sympa/bin/etc        /home/sympa/etc/create_list_templates/ (   7        8 /home/sympa/etc/scenari/ &         ,     ;   G       ,         ,     &  ,               /home/sympa/etc/my.domain.org/scenari/            /home/sympa/expl/mylist/scenari   -      /home/sympa/etc/data_sources/ &         -7*    -8        - <     owner_include editor_include   -- /home/sympa/etc/list_task_models/ &           7  ,   8 /home/sympa/etc/global_task_models/       7  ,   8 /home/sympa/etc/web_tt2/7  /home/sympa/etc/wws_templates/8 &  7 8  %&'(-   H;    &  -       /home/sympa/expl/mylist/web_tt2/   /home/sympa/etc/my.domain.org/web_tt2/ /home/sympa/etc/mail_tt2/7  /home/sympa/etc/templates/8    G  -    7welcome.tt2 !96;9:8        -                

18 sur 189    /home/sympa/etc/families/         7'     8 +         /home/sympa/etc/my.domain.org/families/ /home/sympa/etc/my.domain.org &    -               7           /home/sympa/expl/my.domain.org8  &         /home/sympa/etc   -         /home/sympa/expl  G     /home/sympa/expl/mylist &    7   '  -   8 (               -     -       /home/sympa/expl/my.domain.org/mylist             /home/sympa/expl/X509-user-certs &         G -  /home/sympa/locale ;    ,     ;       H=!   /home/sympa/spool   DN  78 /home/sympa/src/   

 

sympa.pl &  /            msg/ sympa_wizard.pl ,   sympa.conf wwsympa.conf '            -        $   wwsympa.fcgi &H;  N         ;     H;  + H;    + H;   @B   bounced.pl &   7  4 8     (                   bounce/ archived.pl &       %&'(       ;   , MhOnArc       outgoing/ task_manager.pl &     1     $  ;       task/  sympa_soap_server.fcgi &   )7 8 <  &   <  + H;/          %&&) -

19 sur 189 queue &             msg/ bouncequeue queue       bounce/

/ 0   0 

/etc/sympa.conf &  -   -        /etc/wwsympa.conf  -   -       edit_list.conf *-    3-      (    topics.conf          G 7-    8           sample/        & auth.conf *-         ,  7(*)4    4        8 robot.conf ;   sympa.conf-  ?  7  ?  8 Q9R'6R1    Snrcpt_by_domain &-         '&) ;)     0        ;                     N '&)     '& &-              &-        $      '&) :$1

yohaa.com 3 oal.com 5

data_structure.version &-            ;                                  ldap_alias_manager.conf &--      (*)      ldap_alias_manager.pl     

 

   -    sympa.conf

/home/sympa/spool/auth/ +         -  +        sympa.pl   /home/sympa/spool/bounce/ +         +     bouncequeue  7

20 sur 189 8    bounced.pl /home/sympa/spool/bounce/bad/ +                - +     bounced.pl /home/sympa/spool/bounce/OTHER/         G         +     bounced.pl /home/sympa/spool/digest/ +          +       sympa.pl  /home/sympa/spool/mod/ +        +     sympa.pl        sympa.pl wwsympa.fcgi /home/sympa/spool/msg/ +      7    8 +     queue  7 8    sympa.pl   /home/sympa/spool/msg/bad/     0      +     sympa.pl /home/sympa/spool/distribute/ +          &         #sympa.pl        /home/sympa/spool/distribute/bad/     0      +     sympa.pl       /home/sympa/spool/task/ +         +       task_manager.pl /home/sympa/spool/outgoing/ sympa.pl        archived.pl wwsympa.fcgi    -   /home/sympa/spool/outgoing/bad/ +      G   +     archived.pl /home/sympa/spool/topic/ +         - /home/sympa/spool/tmp/ +             L $         4 

     

       7 -   8 N    /    7   8       7        8      

7  8   

&          -   sympa.conf- &                         

21 sur 189 76 8   

  - N         7  robot.conf-8 &             7     -   8                 ! -             (           7    -     8        

)    

&-  -        <       (      $   &    78                   7      8   G                78   /     , edit-list.conf -

798   

&                -         7    8 -     --

'   7:  8

'              7        8 '             ;     -                 

   7   8

           /                    7(*)F(     8 &         7     nomail  8         7     8 '              $  4  ,    7  8

: 1 sympa.pl   /         sympa.pl  ,       1

– add_list familyname - - robot robotname - - input_file /path/to/list_file.xml      >'(-    1     – close_family familyname - - robot robotname    1(    – close_list listname@robot

22 sur 189   7      8 7sendmail_aliases     8      *97                 8        $    1(    – close_unknown                      – config config_fileI-f config_file +         -   - &       -   --   Makefile7$CONFIG8 – create_list – robot robotname - - input_file /path/to/list_file.xml        $-1(           – debugI-d               *          &*:66         :     !      – dump listname | ALL *                  subscribers.db.dump – helpI-h )      – import listname ;       *    &*;= – instanciate_family familyname robotname - - input_file /path/to/family_file.xml ;        (  – keepcopy recipient_directoryI-k recipient_directory &                      – lang catalogI-l catalog             &    -    ~sympa/locale   – lowercase ( 4    – mailI-m          !      7-       8 – make_alias_file    - /tmp/  7     G G8 ;     A #   – modify_list familyname - - robot robotname - - input_file /path/to/list_file.xml '- $            >'(- 1'    –quiet                  &*!& – reload_list_config - -list=mylist@dom 6  configbin-           ,     & list      serviceII           7 A8    

23 sur 189 7 A 8      <  7 A   8 – sync_include listaddress &            $     – upgrade - - from=X - -to=Y 6             >    – versionI-v )       

$2$" 

&make install     ?       /etc/rc.d/init.d/    7      configure   -with-initdir  8                ' F( =   ' F(      wwsympa.fcgi

&      1sympa.pltask_manager.plarchived.pl bounced.pl

    

4&:6'

     sympa.pl7kill -TERM8                7  8 ;kill -TERM sympa.pl             ;   sympa.pl        

4%!)

     sympa.pl7kill -HUP8   -mail          

: 3  

                        ,  7   -     ,     8        7*9  )=     8

!          1

@          #    .    1

./configure ; make ; make install

J    

24 sur 189 sympa.pl --upgrade

   G W&     <  *9 7  ' F(8     -   - <  

$  !  

=    -$   ,  NEWS-    ,7 Changelog - -? 8

+ $         " . J      ' F(J @

  4   0 0    $  &           <     1

  " @7   #BB"8 >%&'(    /   J #.7   #BBJ8  &&#    /   J B"7  #BB.8 auth.conf7            -8/   . . C#7' #BB#8     user_data_source    #      

&-NEWS         <                  -      GXXXXXG    make install                                                       make install1

You are upgrading from Sympa 4.2 You should read CAREFULLY the changes listed below; they might be incompatible changes:

***** require new perlmodule XML-LibXML

***** You should update your DB structure (automatically performed by Sympa with MySQL), adding the following table (MySQL example): ***** CREATE TABLE admin_table ( ***** list_admin varchar(50) NOT NULL, ***** user_admin varchar(100) NOT NULL, ***** role_admin enum('listmaster','owner','editor') NOT NULL, ***** date_admin datetime NOT NULL, ***** update_admin datetime, ***** reception_admin varchar(20), ***** comment_admin varchar(150), ***** subscribed_admin enum('0','1'), ***** included_admin enum('0','1'), ***** include_sources_admin varchar(50), ***** info_admin varchar(150), ***** profile_admin enum('privileged','normal'), ***** PRIMARY KEY (list_admin, user_admin,role_admin), ***** INDEX (list_admin, user_admin,role_admin) ***** );

***** Extend the generic_sso feature; Sympa is now able to retrieve the user address in a LDAP directory

/2   

25 sur 189 &     <     )  7)=8      make           +        

   make 1

Checking for REQUIRED modules: ------ module from CPAN STATUS ------Archive::Zip Archive-Zip OK (1.09 >= 1.05) CGI CGI OK (2.89 >= 2.52) DB_File DB_FILE OK (1.806 >= 1.75) Digest::MD5 Digest-MD5 OK (2.20 >= 2.00) FCGI FCGI OK (0.67 >= 0.67) File::Spec File-Spec OK (0.83 >= 0.8) IO::Scalar IO-stringy OK (2.104 >= 1.0) LWP libwww-perl OK (5.65 >= 1.0) Locale::TextDomain libintl-perl OK (1.10 >= 1.0) MHonArc::UTF8 MHonArc version is too old ( < 2.4.6). >>>>>>> You must update ''MHonArc'' to version '''' <<<<<<. Setting FTP Passive mode Description: Install module MHonArc::UTF8 ? n MIME::Base64 MIME-Base64 OK (3.05 >= 3.03) MIME::Tools MIME-tools OK (5.411 >= 5.209) Mail:: MailTools OK (1.60 >= 1.51) Regexp::Common Regexp-Common OK (2.113 >= 1.0) Template Template-ToolkitOK (2.13 >= 1.0) XML::LibXML XML-LibXML OK (1.58 >= 1.0)

Checking for OPTIONAL modules: ------perl module from CPAN STATUS ------Bundle::LWP LWP OK (1.09 >= 1.09) Constant subroutine CGI::XHTML_DTD redefined at /usr/lib/perl5/5.8.0/constant.pm line 108, line 1. CGI::Fast CGI CGI::Fast doesn't return 1 (check it). Crypt::CipherSaber CipherSaber OK (0.61 >= 0.50) DBD::Oracle DBD-Oracle was not found on this system. Description: Oracle database driver, required if you connect to a Oracle database. Install module DBD::Oracle ?

*! 

  6*9'     7' F(F( )   8      - ;  sympa.pl    ;     ' F(   -      7    8        *9    -  E   ;       ' F(  *9   -   sympa.conf E                   NEWS-7      3      8

   1

Table admin_table created in database sympa Field 'comment_admin' (table 'admin_table' ; database 'sympa') was NOT found. Attempting to add it... Field comment_admin added to table admin_table Field 'date_admin' (table 'admin_table' ; database 'sympa') was NOT found. Attempting to add it... Field date_admin added to table admin_table Field 'include_sources_admin' (table 'admin_table' ; database 'sympa') was NOT found. Attempting to add it... Field include_sources_admin added to table admin_table Field 'included_admin' (table 'admin_table' ; database 'sympa') was NOT found. Attempting to add it... Field included_admin added to table admin_table Field 'info_admin' (table 'admin_table' ; database 'sympa') was NOT found. Attempting to add it...

26 sur 189 Field info_admin added to table admin_table Field 'list_admin' (table 'admin_table' ; database 'sympa') was NOT found. Attempting to add it... Field list_admin added to table admin_table Field 'profile_admin' (table 'admin_table' ; database 'sympa') was NOT found. Attempting to add it... Field profile_admin added to table admin_table Field 'reception_admin' (table 'admin_table' ; database 'sympa') was NOT found. Attempting to add it... Field reception_admin added to table admin_table Field 'role_admin' (table 'admin_table' ; database 'sympa') was NOT found. Attempting to add it... Field role_admin added to table admin_table Field 'subscribed_admin' (table 'admin_table' ; database 'sympa') was NOT found. Attempting to add it... Field subscribed_admin added to table admin_table Field 'update_admin' (table 'admin_table' ; database 'sympa') was NOT found. Attempting to add it... Field update_admin added to table admin_table Field 'user_admin' (table 'admin_table' ; database 'sympa') was NOT found. Attempting to add it... Setting list_admin,user_admin,role_admin fields as PRIMARY Field user_admin added to table admin_table

                        &       sympa.pl -upgrade       /data_structure.version                     1

sympa.pl --upgrade --from=4.1 --to=5.2

  (  

     -   -7     8       /home/sympa/bin   ;      ,      --        /home/sympa/etc   ;               ,  

     

&                        

9                                

&          ./configure %   ./configure      1

./configure --prefix=/home/sympa-dev \ --with-confdir=/home/sympa-dev/etc \ --with-mandir=/home/sympa-dev/man \ --with-initdir=/home/sympa-dev/init \ --with-piddir=/home/sympa-dev/pid --with-lockdir=/home/sympa-dev/lock \ --with-sendmail_aliases=/home/sympa-dev/etc/sympa_aliases

    ,     /home/sympa-dev/etc/sympa.conf-

;                     1homedb_namearc_path

  

27 sur 189 ;  G                   -                        &               

&     <                 1

    ;  ' F(     0   mysqld    /var/lib//sympa/        / /home/sympa/expl         -/         /    /etc/sympa.conf wwsympa.conf         - /etc/sympa.conf7      8      ,                                               W  

;                      $         ;                       $        1

@        / #     / .   /data_structure.version     /       L     / J   T  4  U              :   

'  <     sympa.pl       '      '&7sendmailqmailpostfixexim8  G                     



;     -     smrsh

# grep smrsh /etc/mail/sendmail.mc FEATURE(`smrsh', `/usr/sbin/smrsh')dnl

                 /etc/smrsh   &    G             /etc/smrsh   &    –with-bindir   Gconfigure1

./configure --with-bindir=/etc/smrsh

! 

                1

28 sur 189        7        8   '&)       '&)    queue  7    8      &sympa.pl                           <    7       8

&      7          <    8                 <              &          sendmail-7  /etc/aliases81

sympa: "| /home/sympa/bin/queue [email protected]" listmaster: "| /home/sympa/bin/queue [email protected]" bounce+*: "| /home/sympa/bin/bouncequeue [email protected]" abuse-feedback-report: "| /home/sympa/bin/bouncequeue [email protected]" sympa-request: postmaster sympa-owner: postmaster

= 1          sympa    7?   8 sympa-request                 7 postmaster(@)cru.fr8 sympa-owner        

& VX     ?:6)7     8   ;   welcome_return_path unique remind_return_path unique   verp_rate         

&abuse-feedback-report            6+   7 6 + 8           ;      (

* G     newaliases      /etc/aliases-W

= 1 listserv7      sympa8    -       listserv majordomo  + $1

listserv: sympa listserv-request: sympa-request majordomo: sympa listserv-owner: sympa-owner

 

+           $7    8 ;        7  8            

+ $    mylist     1

mylist: |/home/sympa/bin/queue [email protected] mylist-request: |/home/sympa/bin/queue [email protected] mylist-editor: |/home/sympa/bin/queue [email protected] mylist-owner: |/home/sympa/bin/bouncequeue [email protected]

29 sur 189 mylist-subscribe: |/home/sympa/bin/queue [email protected] mylist-unsubscribe: |/home/sympa/bin/queue [email protected]

& mylist-request            mylist7    8      mylist-request    mylist-   /home/sympa/expl/mylist/config- !            -       

    mylist-editor         -   /home/sympa/expl/mylist/config & -      

& mylist-owner      4   7     -owner E$    ,    E$ &bouncequeue        queuebounce    7     8     ,      

& mylist-subscribe               $    9 1              -           

& mylist-unsubscribe <        9                        W

   

&alias_manager.pl    ;                & N      7ldap_alias_manager.pl $8     alias_manager       7A  8

&  $      1

@ addIdel # <  > . <  >

:$1

/home/sympa/bin/alias_manager.pl add mylistcru.fr

/home/sympa/bin/alias_manager.pl   -7-  sympa.conf8    sendmail_aliases 7  /etc/mail/sympa_aliases8         -   sendmail.mc7   81

define(`ALIAS_FILE', `/etc/aliases,/etc/mail/sympa_aliases')dnl

=   sendmail <              sympa_aliases  sympa_aliases.db-7         newaliases 8     -                        

/home/sympa/bin/alias_manager.pl newaliases 7aliaswrapper8      -

30 sur 189 ;                             , list_aliases           7 A #8

=             '&     ) -$G virtual_transport &              sendmail_aliases    none

( '       ldap_alias_manager.pl  (*)  &          &     $   )9  9   &     , (*)    ldap_alias_manager.conf-

,    

      sendmail postfix         [email protected]    4 /etc/aliases    -             <      $      

 ) -$     /etc/postfix/virtual.regexp-1

/^(.*)@my.domain.org$/ my.domain.org-$1

:   GG-   1

my.domain.org-sympa: /home/sympa/bin/queue [email protected] ..... my.domain.org-listA: /home/sympa/bin/queue [email protected]

      /etc/mail/virtusertable-1

@my.domain.org my.domain.org-%1%3

: 1 

&/etc/sympa.conf -   -             4    ;    -                 

&/etc/sympa.conf-         1

  ! 

     #         :            &                -    

 4    @

          ,    

31 sur 189         A  A  A  A     A AA      AB A@  A@"       A A-           A  A    A  A    A  A   A   A$A,     A    A A    A A      A A  A   A  AA  

 4    #

       *              A A  A  - -A              A $  A  A   $A,  A   A A $  

32 sur 189  A      A   A #.CDA A- A  A  A    A$A A A A     A A-  A A   A A E$ ,A A, F     A A<     A A<       <   <     <   <    <    <     <    <    <     <         A A<    A A<      A A<     A A<      A A<    A A<     A A<      A A<     A A<      A A  

 4    .

       ;    ,         A 

33 sur 189   A A  -  A   9     A   A  A   A  A   A A E$ $ A A    A  A A   A  A    A  A     A  A    A  A   A    A A@A     A A#A    AA -$  A A    A A     A  A   &   A A -  A   A    <  A      A      A A    *     AA-A  A  A  A  A  A   A A   A   A  A  A   A- A  A  A-  A  A A    AA A   A$   A   A A A    A A   A A A  

34 sur 189  A A  (    A A$ A A A  A A A   A   A $ 3';': -        -  A    4    A    A    A     4    @ : 1 

&/etc/sympa.conf -   -             4    ;    -                 

&/etc/sympa.conf-         1

  ! 

     #         :            &                -    

  ( 



&     ;       From:        <    '&)  7<  -$   8    ,     &   host   ,       

:$1

domain cru.fr



7*   1sympa8

35 sur 189 ! 7       @ 8   From:         <  

:$1

email listserv

  

&       7    ,      8 (    -   

:$1

listmaster [email protected],[email protected]

   A

7*   1listmaster8

! 7       Y 8       &                  7    $8

;               

+ $   1

listmaster listmaster-test

        1

listmaster-test: | /home/sympa/bin/queue [email protected]

6  

 A 

7*   1http://host/wws8

&   !6( 

:$1

wwsympa_url https://my.server/sympa

A 

&   !6( G)   G*(      !6(     

:$1

36 sur 189 soap_url http://my.server/sympasoap

A   

7*   1javascript8

&                  ?               spam_protection web_archive_spam_protection    )  1

0  1     0  !  K               1 UYU      T&U  1        

A AA   

7*   1cookie8

&spam_protection            1 cookie                      &           

 AB A@  A@"

&    -           &           -        -               &       

&  $   A$          ,   

     

           -      1dark_color light_colortext_colorbg_colorerror_colorselected_colorshaded_color

&          " @       style.css print.cssprint-preview.css fullPage.css

" A        =      

A A-  

&                %&'(          &     ,  :$1

logo_html_definition my company

     

37 sur 189              #-                  .    -    7  $     8  !6(      

 A A  A  A@A    A A  A  A@A   A A  A  A@A  

6 @ # .         

$1

main_menu_custom_button_1_title faq

main_menu_custom_button_1_url http://www.cru.fr/faq/universalistes/index

main_menu_custom_button_1_target help

A 

) 4 -7 G   -8             & -                      ;       robot.conf-   css_path   &               T  U     - ;       -    -  css_url   &            9    T;    U         -        css_url  

   sympa.pl    /0       css.tt21"       ( /0 1

A 

9   -style.cssprint.cssprint-preview.css fullPage.css               css !6(   GG 133  3 33  GG -         css.tt2 &  -          -               

;                     -       &            -  &     css_url   &        !6(      style.cssprint.cssprint-preview.css fullPage.css                    -

;              -       1

@ -      -                 A      !6(- A / #                  -   -        -

38 sur 189   A  A 

7*   1{Sympa install directory}/static-content8

      %&&)  78            ;             static_content_dir   &           G      (         &      sympa.pl    &    -   robot.conf

  A  A 

7*   1/static-sympa8

         -    static_content_url      %&&)     !6(- static_content_url   -              &    -  robot.conf

 A 

7*   1off8

:$1

pictures_feature on

        7  G     G8         &   -              =&     ;                  , edit-list.conf-           

)        -  static_content_path  

 A$A,

&$ ,   -7 8

 

&       '*"       ;           N       ;                   &          sympa.conf       sympa 

=           %&&)      G        >"BD     &    sympa.pl      cookie     

:$1

39 sur 189 cookie gh869jku5

  A

7*   1public_listmaster8

&create_list   -     ,    7  ,    8

*-     7  <      8         ,     

:$1

create_list intranet

  A A 

7*   1off”

:$1

automatic_list_feature on

;  on                 7       8

  A A  

7*   1none8

&automatic_list_creation   -     ,    7  ,     8

;automatic_list_feature      7       ,    8 -           

  A A 

7*   1

:$1

automatic_list_feature if_empty

;  if_empty           0                 7      8

A  

7*   1listmaster8

40 sur 189 &global_remind         ,    7  ,    8

*-   REMIND * 

A  AA  

7*   1on8

;  TNU       7    8    N    T U

: 1 

*  



7*   133 3$8

&           N   

:$133 3$

 

7*   1/home/sympa/etc8

&      -   -7 edit_list.conf ;   "    1

scenari   ,    / mail_tt2   G        / web_tt2   G%&'(  / global_task_models   / list_task_models    

:$1

etc /home/sympa/etc

 

 

7*   1LOCAL18

=  4  7 8  

41 sur 189 :$1

syslog LOCAL2

A

7*   108

&         7   8 -  0         3   

:$1

log_level 2

A  A 

7*   1unix8

    syslogd    !*) !=;>    log_socket_type inet  !*)  !=;>  

-

7*   1/home/sympa/etc/sympa.pid8

&-  sympa.pl         1 sympa          -        $

:$1

pidfile /var/run/sympa.pid

-A  

7*   1/home/sympa/etc/sympa-creation.pid8

&-         sympa.pl          1 sympa         -        $

:$1

pidfile_creation /var/run/sympa-creation.pid



7*   10278

*    -   7  8 =           

42 sur 189 :$1

umask 007

  

   A

7*   1single8

!                    sympa.pl           7 8 sympa.pl                      4  7 8 &                       <        

:$1

distribution_mode fork

$ 

7*   1208

'$   '&)      &      

:$1

maxsmtp 500

A 

7*   1off8

  '&       -m  

:$1

log_smtp on

A 

7*   1send,create_list”8

             &use_blacklist    -                  send  7        8                                 <    

43 sur 189 ;        - use_blacklist none                 

$A,

7*   15 Mb8

'$ ,7  8      &   ,           max_size      

:$1

max_size 2097152

 A 

7*   1reject8

            0   &    N         

 A A $

7*   1(subscribe|unsubscribe|signoff)8

& )    $    0          A   



7*   1258

'$      sendmail &          7sendmail8'&  ,   '&)     ;                  nrcpt_by_domain -   - 7  A A 8



7*   1108

'$   N  ;        sendmail

A 

7*   1/home/sympa/bin/alias_manager.pl8

&        3 4

44 sur 189 :$1

alias_manager /home/sympa/bin/ldap_alias_manager.pl

 

7*   1/usr/sbin/sendmail8

   '&)       $        7 -$F :$      8

:$1

sendmail /usr/sbin/sendmail

 A 

7*   1-oi -odi -oem8

     '&)   

 A

7*   1defined by makefile, sendmail_aliases | none8

)  -        ;      --            -    -         -   sendmail.mc1      none         7     virtual_transport ) -$8

#.CDA A-

7*   1help,subscribe,unsubscribe,post,owner,archive8

6+#.CD  -7( 4$$$8     & -    '!G  

A 

7*   1 Return-Receipt-To,Precedence,X-Sequence,Disposition-Notification-To8

&  '&) -         !   $                    <           -   - &   -     -7rfc2369_header_fields custom_header8

:$1

remove_headers Resent-Date,Resent-From,Resent-To,Resent-Message-Id,Sender,Delivered-To"

45 sur 189 A  A 

7*   1none8

  - 4   '&) -              <          -   - &      G  - /           G   -7 X-Loop X-No-Archive8  

:$1

remove_outgoing_headers X-no-archive"

  A$A A A A 

7*   1off8

 G            X-no-archive'&)  - &ignore_x_no_archive_header_feature       

:$1

gnore_x_no_archive_header_feature on

   A A-

7*   1 Sender,X-Sender,Received,Message-id,From,X-Envelope-To,Resent-From,Reply-To,Organization,Disposition-Notification-To,X-Envelope-From,X-X-Sender

&   -   '&) -             7   A  8

 A A 

7*   1NONE8

;      '&)                   $   '&)  ;   -      N   '&)            &                      

 A A E$

7*   1request,owner,unsubscribe8

&   4     E$          mylist-requestmylist-owner  &      list_check_smtp    ;            

46 sur 189 ,A A,

7*   1102408

&       URLIZE    / -    ,7  8  ';':    ,

4

  A A<  

&   <  7   R 8  G     

  A A<  

&   <  7   R 8  G 

  



7*   1/home/sympa/spool8

&          

<  

&         <      queue     sympa.pl &     

:$1

/home/sympa/spool/msg

<    

7*   1/home/sympa/spool/distribute8

&              

<  

7*   1/home/sympa/spool/moderation8

&              

47 sur 189 <  

&              

<   

7*   1/home/sympa/spool/auth8

&              

<    

7*   1/home/sympa/spool/outgoing8

&              

<   

7*   1/home/sympa/spool/topic8

&              

<   

7*   1/home/sympa/spool/bounce8

    7  4   8   bouncequeue    mylist-owner7   E$  ,8 bounce+* 7?:6)8 &             

<   

7*   1/home/sympa/spool/task8

     -        &             

<    

7*   1none8

&         <              familyqueue    sympa.pl &          automatic_list_creation

:$1

/home/sympa/spool/msg

48 sur 189 

7*   1/home/sympa/spool/tmp8

&        (   



7*   158

   7  8     <   =     BW

 A A<  

7*   118

6    7  8 TU  7- queue8    0      7      8     &  -            

:$1

clean_delay_queue 3

 A A<    

7*   118

6    7  8 TU    7- queueoutgoing8     0      7          -  8      & -            

:$1

clean_delay_queueoutgoing 3

 A A<   

7*   118

6    7  8 TU   7- queuebounce8     0      7          8     & -            

:$1

clean_delay_queuebounce 3

 A A<   

49 sur 189 7*   1308

6    7  8   bounce/OTHER7- queuebounce8     0           & -            

:$1

clean_delay_queueother 7

 A A<  

7*   1108

:$    7  8     7- queuemod8 9              +                    MODINDEX 

 A A<   

7*   138

:$    7  8      <   9          

 A A<    

7*   1108

:$    7  8       <  <   9     <        

 A A<   

7*   178

*     -7  8   <   9    -  

 A A<    

7*   1108

6    7  8 TU   7- queueautomatic8     0      7      8         -$ BAD & -            

 A A 

50 sur 189 7*   178

6    7  8 -     7- tmpdir8 & -           -  

: 1 

$     (   



7*   1/home/sympa/locale8

&       - '     ~src/locale/Makefile

  A 

:$1

supported_lang fr,en_US,de,es

&        7  8       &                

 

7*   1en_US8

&        & 7.po.mo-8           

A A 

79(:&:8

  !&+4P 

-  A  

9(:&:

=-7    -   -    ,     8   !&+4P 

+  

51 sur 189  A  

7*   10%8

?:6)       ?:6)  

 verp_rate ?:6)   /verp_rate@BBO?:6)   

?:6) <        bounce+*   

A  A 

7*   1owner8

;     <   ?:6)                 &          

 A  A 

7*   1owner8

( welcome_return_path       

 A A E$

7*   1-owner8

&-   E$            4       &          7 8

$ A A 

7*   1daily8

&         task_manager.pl    $   &                   @B         

 A  A A 

7*   1Monthly8

&         task_manager.pl       &            

A  A 

52 sur 189 7*   1daily8

&  eval_bouncers         - - bounce_score_suscriber  suscriber_table   &    4      

 A  A 

7*   1monthly8

&  process_bouncers$  -                &           (  -   &   -    <   $     

  A  A

7*   1108

&      4    1  4       4       &                  &              4      

  A  A 

7*   1108

*              4    (           4 B

 A

7*   108

         4    1        7  8                !           

  A A@A  

7*   1458

&     bouncerslevel1 rate 7  A@8

  A A#A  

7*   1758

&     bouncerslevel2 rate 7  A#8

53 sur 189  AA -$

7*   1bounce8

& -$          7?:6)8 ;   $ ?:6)              -     &      )                      &                   7    $8

;               

+ $    1

bounce_email_prefix bounce-test

        1

bounce-test+*: | /home/sympa/bin/queuebounce [email protected]

6  

 A A  

7*   1308

       &               $  

 A A  

7*   1508

+6+!&!6:!:

       '       $   

  A  A 

7*   12month8

&   -    remind_task   

"

A A -

+  1none | binary_file7*   1none8

54 sur 189 ;      binary_file              -    7config.bin-8 &-    config-    &                    -- &         -     7            8/        ,              7     8                  <     sympa.pl --reload_list_config      ;         config.bin-   A 

     -       7@BBBV8

 A 

+  1flock | nfs7*   1flock8

&            <  7   *9    - - 8 &        flock          =+  /  <        File::NFSLock  - 

 A  

7*   118

)         

  # . @

<  A  

7*   108

)       mylist-request      

  # . .

  A  

7*   198

)       mylist-owner   &    4   7 8    

  # . .

  A A  

7*   158

*        -     -   -

  # . @

55 sur 189 *! 

&         6*9'       <  

 AA-A 

+  1

update_db_field_types auto | disabled

7*   1auto8

&   -               $   -  &    ' F( =       " . "      *9-   ,7update_db_fields_types  auto8

A 

+  1

db_type mysql | SQLite | Pg | Oracle | Sybase

*      7  ' F() 8

&    ):6(* 9*  7*9*8     4  

A 

7*   1sympa8

=           ;     F(        *9 - 

A

*   

A

* 

A 

!      

A

56 sur 189 )  A 

A 

&     F(  

A  

;    -           

:$ ' F(1

db_options mysql_read_default_file=/home/joe/my.cnf;mysql_socket=tmp/mysql.sock-test

    *9*          

A 

H             &G/G       

:$  1

db_env ORACLE_TERM=vt100;ORACLE_HOME=/var/hote/oracle/7.3.4

A  A   A-

;  subscriber_table   -   <    7       8       , -           3     ,    72   Z-58 &-              &    4  

:$1

db_additional_subscriber_fields billing_delay,subscription_expiration

A  A  A-

;  user_table   -   <    7        8       , -           3  72  Z-58 &   4  

:$1

db_additional_user_fields address,gender

 A  A A 

57 sur 189 &           7:$1monthly8          task_manager.pl     user_table          subscriber_table 

 AA A 

7*   1daily8

&           7:$1monthly8          task_manager.pl     logs_table 

A$   A 

7*   138

*  logs_table          logs_expiration_period &             7           $  8

 A A A 

7*   1daily8

&           7:$1monthly8          task_manager.pl     session_table 

 A A 

7*   13d8

      sympa_session                     &                        ;           A                

*                                     

 A A A 

7*   1daily8

&           7:$1monthly8          task_manager.pl     chalenge_table  7&                8

 A A 

58 sur 189 7*   15d8

                                  , &            #

  

& -         7(   8

A A$

7*   12008

&$                    BAD -$       

A A A

7*   136008

&   -                   

A A A 

7*   10.58

&      7 B @8             $     

A   A $

7*   1mailer-daemon|sympa|listserv|majordomo|smartlist|mailman8

&   $       ;          $      0  &                

&$% 0  

        3';':       ;     -               7 -        &       

 

&    (  -

59 sur 189  

&       (    - 

      -  & -     hash.0        7hash  -  0  1 -hash    ($"BD  8 &         SSLCACertificatePath -  mod_ssl  

-

&     4 4 -      -  -      78     &         -           ):'4  - -       &        3     capath

 A

&           ;  -                

     

               $                 

  A 

&          -7      -8

:$1

antivirus_path /usr/local/bin/uvscan

  A 

&                              unzip    $   

:$   1

antivirus_args --summary --secure

:$ 1

antivirus_args --dumb --archive

:$ ?)1

60 sur 189 antivirus_path /opt/AVP/kavscanner antivirus_args -Y -O- -MP -I0

:$ 1

antivirus_path /usr/local/bin/sweep antivirus_args -nc -nb -ss -archive

:$ 1

antivirus_path /usr/local/bin/clamdscan antivirus_args --stdout

  A   sender | nobody

7*   1sender8

&   -                

:    !

  <  6*9'            6*9'1' F(7  J @   8F( )  F(   ;      6*9' <          ); *9;2 133      3   3 3*9;357* 9;  8 *9*7* 9*  8  6*9'

                 1

           user_table /              subscriber_table           &         7  include28/             admin_table   include2           &                   logs_table/                  

5  

   * 9    7         8        *       /    ):6(*9*7* 9 *  8  6*9'  W  GG*9;GG'  2 133      3   3 3*9;35

$  %   

  DBI             <   *9*        *9; *9*11 *97Msql-Mysql-modules ' F(8   )=   6  ;   ):6( )=         

61 sur 189 / *+

*   

&      N      subscribers-  subscribers- $ -   7   config-8/         ;      3       -

&* 9               7   8  3       7            8 &            1 user_table  subscriber_table     3   

&          admin_table      subscriber_table     include2 ;          7        T    U          -     8

*         

    sympa.pl    7 -  sympa;conf8    $    ;  sympa.pl               2   !  5         6*9'   =        <      <root    /       sympa.pl  -   

&         db_user  G  sympa.conf

*    

&create_db            -    script/        7       ' F(F( )  F(    8

' F(      1

## MySQL Database creation script CREATE DATABASE sympa; ## Connect to DB \r sympa CREATE TABLE user_table ( email_user varchar (100) NOT NULL, gecos_user varchar (150), password_user varchar (40), cookie_delay_user int, lang_user varchar (10), attributes_user varchar(255), PRIMARY KEY (email_user) ); CREATE TABLE subscriber_table ( list_subscriber varchar (50) NOT NULL, user_subscriber varchar (100) NOT NULL,

62 sur 189 robot_subscriber varchar (80) NOT NULL, date_subscriber datetime NOT NULL, update_subscriber datetime, visibility_subscriber varchar (20), reception_subscriber varchar (20), topics_subscriber varchar (200), bounce_subscriber varchar (35), bounce_score_subscriber smallint (6), bounce_address_subscriber varchar (100), comment_subscriber varchar (150), subscribed_subscriber int(1), included_subscriber int(1), include_sources_subscriber varchar(50), PRIMARY KEY (list_subscriber, user_subscriber, robot_subscriber), INDEX (user_subscriber,list_subscriber,robot_subscriber) ); CREATE TABLE admin_table ( list_admin varchar(50) NOT NULL, user_admin varchar(100) NOT NULL, robot_admin varchar(80) NOT NULL, role_admin enum('listmaster','owner','editor') NOT NULL, date_admin datetime NOT NULL, update_admin datetime, reception_admin varchar(20), comment_admin varchar(150), subscribed_admin int(1), included_admin int(1), include_sources_admin varchar(50), info_admin varchar(150), profile_admin enum('privileged','normal'), PRIMARY KEY (list_admin, user_admin, robot_admin, role_admin), INDEX (list_admin, user_admin,robot_admin,role_admin) ); CREATE TABLE netidmap_table ( netid_netidmap varchar (100) NOT NULL, serviceid_netidmap varchar (100) NOT NULL, robot_netidmap varchar (80) NOT NULL, email_netidmap varchar (100), PRIMARY KEY (netid_netidmap, serviceid_netidmap, robot_netidmap) ); CREATE TABLE logs_table ( id_logs bigint(20) NOT NULL, date_logs int(11) NOT NULL, robot_logs varchar(80), list_logs varchar(50), action_logs varchar(50) NOT NULL, parameters_logs varchar(100), target_email_logs varchar(100), user_email_logs varchar(100), msg_id_logs varchar(255), status_logs varchar(10) NOT NULL, error_type_logs varchar(150), client_logs varchar(100), daemon_logs varchar(10) NOT NULL, PRIMARY KEY (id_logs) );

F( (      1

CREATE TABLE user_table ( email_user varchar (100) NOT NULL, gecos_user varchar (150), password_user varchar (40), cookie_delay_user integer, lang_user varchar (10), attributes_user varchar(255), PRIMARY KEY (email_user) ); CREATE TABLE subscriber_table ( list_subscriber varchar (50) NOT NULL,

63 sur 189 user_subscriber varchar (100) NOT NULL, robot_subscriber varchar (80) NOT NULL, date_subscriber timestamp NOT NULL, update_subscriber timestamp, visibility_subscriber varchar (20), reception_subscriber varchar (20), topics_subscriber varchar (200), bounce_subscriber varchar (35), bounce_address_subscriber varchar (100), comment_subscriber varchar (150), subscribed_subscriber boolean, included_subscriber boolean, include_sources_subscriber varchar(50), bounce_score_subscriber integer, PRIMARY KEY (list_subscriber, user_subscriber, robot_subscriber) ); CREATE INDEX subscriber_idx ON subscriber_table (user_subscriber,list_subscriber,robot_subscriber); CREATE TABLE admin_table ( list_admin varchar(50) NOT NULL, user_admin varchar(100) NOT NULL, robot_admin varchar(80) NOT NULL, role_admin varchar(15) NOT NULL, date_admin timestamp NOT NULL, update_admin timestamp, reception_admin varchar(20), comment_admin varchar(150), subscribed_admin boolean, included_admin boolean, include_sources_admin varchar(50), info_admin varchar(150), profile_admin varchar(15), PRIMARY KEY (list_admin, user_admin, robot_admin, role_admin) ); CREATE INDEX admin_idx ON admin_table(list_admin, user_admin, robot_admin, role_admin); CREATE TABLE netidmap_table ( netid_netidmap varchar (100) NOT NULL, serviceid_netidmap varchar (100) NOT NULL, robot_netidmap varchar (80) NOT NULL, email_netidmap varchar (100), PRIMARY KEY (netid_netidmap, serviceid_netidmap, robot_netidmap) ); CREATE INDEX netidmap_idx ON netidmap_table(netid_netidmap, serviceid_netidmap, robot_netidmap); CREATE TABLE logs_table ( id_logs integer NOT NULL, date_logs integer NOT NULL, robot_logs varchar(80), list_logs varchar(50), action_logs varchar(50) NOT NULL, parameters_logs varchar(100), target_email_logs varchar(100), user_email_logs varchar(100), msg_id_logs varchar(255), status_logs varchar(10) NOT NULL, error_type_logs varchar(150), client_logs varchar(100), daemon_logs varchar(10) NOT NULL, PRIMARY KEY (id_logs) ); CREATE INDEX logs_idx ON logs_table(id_logs);

)  F(      1

-- PostgreSQL Database creation script CREATE DATABASE sympa; -- Connect to DB \connect sympa DROP TABLE user_table; CREATE TABLE user_table ( email_user varchar (100) NOT NULL, gecos_user varchar (150),

64 sur 189 cookie_delay_user int4, password_user varchar (40), lang_user varchar (10), attributes_user varchar (255), CONSTRAINT ind_user PRIMARY KEY (email_user) ); DROP TABLE subscriber_table; CREATE TABLE subscriber_table ( list_subscriber varchar (50) NOT NULL, user_subscriber varchar (100) NOT NULL, robot_subscriber varchar (80) NOT NULL, date_subscriber timestamp with time zone NOT NULL, update_subscriber timestamp with time zone, visibility_subscriber varchar (20), reception_subscriber varchar (20), topics_subscriber varchar (200), bounce_subscriber varchar (35), bounce_score_subscriber int4, bounce_address_subscriber varchar (100), comment_subscriber varchar (150), subscribed_subscriber smallint, included_subscriber smallint, include_sources_subscriber varchar(50), CONSTRAINT ind_subscriber PRIMARY KEY (list_subscriber, user_subscriber, robot_subscriber) ); CREATE INDEX subscriber_idx ON subscriber_table (user_subscriber,list_subscriber,robot_subscriber); DROP TABLE admin_table; CREATE TABLE admin_table ( list_admin varchar(50) NOT NULL, user_admin varchar(100) NOT NULL, robot_admin varchar(80) NOT NULL, role_admin varchar(15) NOT NULL, date_admin timestamp with time zone NOT NULL, update_admin timestamp with time zone, reception_admin varchar(20), comment_admin varchar(150), subscribed_admin smallint, included_admin smallint, include_sources_admin varchar(50), info_admin varchar(150), profile_admin varchar(15), CONSTRAINT ind_admin PRIMARY KEY (list_admin, user_admin, robot_admin, role_admin) ); CREATE INDEX admin_idx ON admin_table(list_admin, user_admin,robot_admin, role_admin); DROP TABLE netidmap_table; CREATE TABLE netidmap_table ( netid_netidmap varchar (100) NOT NULL, serviceid_netidmap varchar (100) NOT NULL, robot_netidmap varchar (80) NOT NULL, email_netidmap varchar (100), CONSTRAINT ind_netidmap PRIMARY KEY (netid_netidmap, serviceid_netidmap, robot_netidmap) ); CREATE INDEX netidmap_idx ON netidmap_table(netid_netidmap, serviceid_netidmap, robot_netidmap); DROP TABLE logs_table; CREATE TABLE logs_table ( id_logs bigint NOT NULL, date_logs int4 NOT NULL, robot_logs varchar (80), list_logs varchar (50), action_logs varchar (50) NOT NULL, parameters_logs varchar (100), target_email_logs varchar (100), user_email_logs varchar (100), msg_id_logs varchar (255), status_logs varchar (10) NOT NULL, error_type_logs varchar (150), client_logs varchar (100), daemon_logs varchar (10) NOT NULL, CONSTRAINT ind_logs PRIMARY KEY (id_logs) ); CREATE INDEX logs_idx ON logs_table(id_logs);

65 sur 189        1

/* Sybase Database creation script 2.5.2 */ /* Thierry Charles */ /* 15/06/01 : extend password_user */ /* sympa database must have been created */ /* eg: create database sympa on your_device_data=10 log on your_device_log=4 */ use sympa go create table user_table ( email_user varchar(100) not null, gecos_user varchar(150) null , password_user varchar(40) null , cookie_delay_user numeric null , lang_user varchar(10) null , attributes_user varchar(255) null , constraint ind_user primary key (email_user) ) go create index email_user_fk on user_table (email_user) go create table subscriber_table ( list_subscriber varchar(50) not null, user_subscriber varchar(100) not null, robot_subscriber varchar(80) not null, date_subscriber datetime not null, update_subscriber datetime null, visibility_subscriber varchar(20) null , reception_subscriber varchar(20) null , topics_subscriber varchar(200) null, bounce_subscriber varchar(35) null , bounce_score_subscriber numeric null , comment_subscriber varchar(150) null , subscribed_subscriber numeric null , included_subscriber numeric null , include_sources_subscriber varchar(50) null , constraint ind_subscriber primary key (list_subscriber, user_subscriber, robot_subscriber) ) go create index list_subscriber_fk on subscriber_table (list_subscriber) go create index user_subscriber_fk on subscriber_table (user_subscriber) go create index robot_subscriber_fk on subscriber_table (robot_subscriber) go create table admin_table ( list_admin varchar(50) not null, user_admin varchar(100) not null, robot_admin varchar(80) not null, role_admin varchar(15) not null, date_admin datetime not null, update_admin datetime null, reception_admin varchar(20) null, comment_admin varchar(150) null, subscribed_admin numeric null, included_admin numeric null, include_sources_admin varchar(50) null, info_admin varchar(150) null, profile_admin varchar(15) null, constraint ind_admin primary key (list_admin, user_admin,robot_admin,role_admin) ) go create index list_admin_fk on admin_table (list_admin) go create index user_admin_fk on admin_table (user_admin) go create index robot_admin_fk on admin_table (robot_admin)

66 sur 189 go create index role_admin_fk on admin_table (role_admin) go create table netidmap_table ( netid_netidmap varchar (100) NOT NULL, serviceid_netidmap varchar (100) NOT NULL, robot_netidmap varchar (80) NOT NULL, email_netidmap varchar (100), constraint ind_netidmap primary key (netid_netidmap, serviceid_netidmap, robot_netidmap) ) go create index netid_netidmap_fk on netidmap_table (netid_netidmap) go create index serviceid_netidmap_fk on netidmap_table (serviceid_netidmap) go create index robot_netidmap_fk on netidmap_table (robot_netidmap) go CREATE TABLE logs_table ( id_logs numeric NOT NULL, date_logs numeric NOT NULL, robot_logs varchar(80), list_logs varchar(50), action_logs varchar(50) NOT NULL, parameters_logs varchar(100), target_email_logs varchar(100), user_email_logs varchar(100), msg_id_logs varchar(255), status_logs varchar(10) NOT NULL, error_type_logs varchar(150), client_logs varchar(100), daemon_logs varchar(10) NOT NULL, constraint ind_logs primary key (id_logs) ) go create index id_logs_fk on logs_table (id_logs) go

       1

## Oracle Database creation script ## Fabien Marquois /Bases/oracle/product/7.3.4.1/bin/sqlplus loginsystem/passwdoracle <<-! create user SYMPA identified by SYMPA default tablespace TABLESP temporary tablespace TEMP; grant create session to SYMPA; grant create table to SYMPA; grant create synonym to SYMPA; grant create view to SYMPA; grant execute any procedure to SYMPA; grant select any table to SYMPA; grant select any sequence to SYMPA; grant resource to SYMPA; ! /Bases/oracle/product/7.3.4.1/bin/sqlplus SYMPA/SYMPA <<-! CREATE TABLE user_table ( email_user varchar2(100) NOT NULL, gecos_user varchar2(150), password_user varchar2(40), cookie_delay_user number, lang_user varchar2(10), attributes_user varchar2(500), CONSTRAINT ind_user PRIMARY KEY (email_user) ); CREATE TABLE subscriber_table ( list_subscriber varchar2(50) NOT NULL, user_subscriber varchar2(100) NOT NULL, robot_subscriber varchar2(80) NOT NULL, date_subscriber date NOT NULL, update_subscriber date,

67 sur 189 visibility_subscriber varchar2(20), reception_subscriber varchar2(20), topics_subscriber varchar2(200), bounce_subscriber varchar2 (35), bounce_score_subscriber number, bounce_address_subscriber varchar2 (100), comment_subscriber varchar2 (150), subscribed_subscriber number NULL constraint cons_subscribed_subscriber CHECK (subscribed_subscriber in (0,1)), included_subscriber number NULL constraint cons_included_subscriber CHECK (included_subscriber in (0,1)), include_sources_subscriber varchar2(50), CONSTRAINT ind_subscriber PRIMARY KEY (list_subscriber,user_subscriber,robot_subscriber) ); CREATE TABLE admin_table ( list_admin varchar2(50) NOT NULL, user_admin varchar2(100) NOT NULL, robot_admin varchar2(80) NOT NULL, role_admin varchar2(20) NOT NULL, date_admin date NOT NULL, update_admin date, reception_admin varchar2(20), comment_admin varchar2(150), subscribed_admin number NULL constraint cons_subscribed_admin CHECK (subscribed_admin in (0,1)), included_admin number NULL constraint cons_included_admin CHECK (included_admin in (0,1)), include_sources_admin varchar2(50), info_admin varchar2(150), profile_admin varchar2(20), CONSTRAINT ind_admin PRIMARY KEY (list_admin,user_admin,robot_admin,role_admin) ); CREATE TABLE netidmap_table ( netid_netidmap varchar2 (100) NOT NULL, serviceid_netidmap varchar2 (100) NOT NULL, robot_netidmap varchar2 (80) NOT NULL, email_netidmap varchar2 (100), CONSTRAINT ind_netidmap PRIMARY KEY (netid_netidmap, serviceid_netidmap, robot_netidmap) ); CREATE TABLE logs_table ( id_logs number NOT NULL, date_logs number NOT NULL, robot_logs varchar2 (80), list_logs varchar2 (50), action_logs varchar2 (50) NOT NULL, parameters_logs varchar2 (100), target_email_logs varchar2 (100), user_email_logs varchar2 (100), msg_id_logs varchar2 (255), status_logs varchar2 (10) NOT NULL, error_type_logs varchar2 (150), client_logs varchar2 (100), daemon_logs varchar2 (10) NOT NULL, CONSTRAINT ind_admin PRIMARY KEY (id_logs) ); !

  $      F(  << < 

:$1

# mysql < create_db.mysql

  !   

                     db_user  db_passwd sympa.conf

 ' F(1

68 sur 189 grant all on sympa.* to sympa@localhost identified by 'your_password'; flush privileges;

$ ! ! 

;     $ -

           $ -     1 -  -     7  8-     + 4  

:$1

## Data to be imported ## email gecos [email protected] John - accountant [email protected] Mary - secretary

&     1

cat /tmp/my_import_file | sympa.pl --import=my_list

7  8

;       -

;              subscribers-7          # #8            &       -      7  <      8       file database/          

; subscribers-        + H;$  7               -idle-timeout   FastCgiServer -      8 ;                load_subscribers.pl 

      

                 Ginclude2        <      76*9'(*)   L -    8   

           *9+7include8                7include28 &        1

         7   8                  '$ 7  V    8                9          

69 sur 189         7  6:?;:8 $        ;                  

%'  !! 

     -              $    - $  :(:&<  

'       -    7   8        - sympa.conf7A  A   A- A  A  A-8

    !

&logs_table       " .  &*9      30                 G    /        3    3                 &             /                   

&logs_table     *9,   &       -   A$   A   

9   - logs_table 1

A1         A1               A1          ;    -      A1         ;   -         -  7         8   A1  -        :         7             8 &             -   Log.pm      A1      ;    4        AA1 -             AA1                    /   ;       the target_email_logs-         A1;)                     AA1'4;*        A1      /       1successerror   A A1;    -    -         A1       ;   bouncedsympa wwsympa

 0  

&                   -         

70 sur 189            -       

 G                    1 db_typedb_namedb_hostdb_userdb_passwd

;               1

@ db_name     ;* #  G    ORACLE_HOME environment variable through the db_env sympa.conf parameter All your lists are now configured to use the database, unless you set the list parameter  A A  to - or   . Sympa will now extract and store user information for this list using the database instead of the     file. Note however that subscriber information is dumped to        at every shutdown, to allow a manual rescue restart (by renaming        to     and changing the  A A GG   8        : ))6! 

 G  

.  ( 

        ;  sympa.conf  G   &           

:  %&'(       H;    -7&  -  8 &     ,   4   ,  

&    ):6(H;  wwsympa.fcgi &          -    + H;/ H;           H;     & <             

            user_table/     Crypt::CipherSaber                    6J           $ ;      

&             %&&)       & %&&)       -     /           <  

&                  *       !6(    N  

G        1

@              %&&) / #     G     <    / .    <    /

71 sur 189 J            / "   %&'(  -

)!

    

9      -wwsympa.fcgi      3 archived.plbounced.pl sympa.pl &  N     

*  

!   " .1 ) 

&         ;   G   –enable_secure -      wwsympa.fcgi     !;*                 

            $                        wwsympa.fcgi %  $7       81

#include #define WWSYMPA ''/home/sympa/bin/wwsympa.fcgi'' int main(int argn, char **argv, char **envp) { argv[0] = WWSYMPA; execve(WWSYMPA,argv,envp); }

     " J1 

&                    " J

&       4         [        [ ) 

   7  8

 

!sudo  wwsympa.fcgi  sympa   -      wwsympa_sudo_wrapper.pl  wwsympa.fcgi      /etc/sudoers- 7 visudo 81

apache ALL = (sympa) NOPASSWD: /home/sympa/bin/wwsympa.fcgi

      5   7L      sudoers -    -1

#Defaults requiretty

72 sur 189 #Defaults env_reset

 requiretty              / env_reset                       !6( <    

*  

6     sympa.sympa  7   apache.apache8/

 :$

!    sympa.sympa  /    $ 9      $   -  !;*3H;*        :>: +                 100  !;* 7  H;*8     @BB  $        !;*3H;*    133    33 $  \  2 133    33 $  \  5    &!  H        +        /

;         

;   $   G      " . 7     8 &         wwsympa.fcgi *       -        1 ;         wwsympa.fcgi wwsympa_sudo_wrapper.pl/ ;       " J        wwsympa.fcgi  wwsympa-wrapper.fcgi

 -                   7       8     

:$1

Alias /static-sympa /home/sympa/static_content

;    wwsympa.fcgiH;       

:$1

ScriptAlias /sympa /home/sympa/bin/wwsympa.fcgi

6  + H;              7        133   3  334   2 133   3  334   58

;      1

LoadModule fcgid_module modules/mod_fcgid.so

IPCCommTimeout 120 MaxProcessCount 2

SetHandler fcgid-script

73 sur 189

ScriptAlias /sympa /home/sympa/bin/wwsympa.fcgi

;      1

LoadModule fastcgi_module modules/mod_fastcgi.so FastCgiServer /home/sympa/bin/wwsympa.fcgi -processes 2 SetHandler fastcgi-script

ScriptAlias /sympa /home/sympa/bin/wwsympa.fcgi

;       +   78      &       -          -   -

;        $

& -      : R   2 1 O#BO"9 O"*O#B   O#BO"9 O"*O#B   O#BO"9 O"*O#B5

&    $2 133  $  35      $    ,    " . .1

server { listen 80; server_name my.domain.org;

location / { fastcgi_pass unix:/var/run/sympa/wwsympa.socket; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param SERVER_NAME $server_name; }

location /static-sympa { alias /usr/local/sympa/static_content; } }

=     <  A           

;          A     A       ;    ]               A    <  A 

;       

& -      ' *   2 1  O#BO"9 O"*O#B   O#BO"9 O"*O#B O#BO"9 O"*O#B  5

%  -           7 133    2 133    58 

74 sur 189  -  <         , H 

server.modules += ("mod_fastcgi")

alias.url += ( "/static-sympa/icons/" => "/usr/share/sympa/icons/" ) alias.url += ( "/static-sympa/" => "/var/spool/sympa/static_content/" )

$HTTP["url"] =~ "^/sympa" { fastcgi.server = ( "/sympa" => (( "check-local" => "disable", "bin-path" => "/usr/libexec/sympa/wwsympa-wrapper.fcgi", "socket" => "/var/run/lighttpd/sympa.sock", "max-procs" => 2, "idle-timeout" => 20, )) ) }

! + H;

+ H;2 133   35 $    H;        H;   ;  $                                  &      3         <  

    + H;7   A A4@ -      8       

&   + H;      1

&FCGI)  7   A A A A 8      + H;      #    1 A 2 133   35 historical  =      $      #         2 133   3 3D"5 A2 133     35       & N        mod_fastcgi                -    <   

1 

 A 

7*   1/home/httpd/html/arc8     %&'(  &      archived.pl ;                         %  -                   

 A  A $  4

7*   1thrd8 &   $  ,        1         

75 sur 189  A-

7*   1archived.pid8 &-    );*archived.pl

 A 

7*   1/var/bounce8 6         7  4   8 &         bounced.pl

 A-

7*   1bounced.pid8 &-    );*bounced.pl

 A$ 

7*   108 ( 7  8%&&)  &        $     

 A

7*   1localhost8 *   %&&)  ;    7.8     -         - :$1

cookie_domain cru.fr cookie is available for host 'cru.fr'

cookie_domain .cru.fr cookie is available for any host within 'cru.fr' domain

&              G                 

  A

7*   1home8   ,     ;         home7        ,  8   lists7   8

 A 

7*   1/icons8 !6( G   

76 sur 189 A

    *    G   -          

  

7*   1/usr/bin/mhonarc8 )   7  8'    2 133    3 33    5 6<     %&'( 

  A 

7*   1undefined8 6 !6(  7  8  %&'(  %&'(  ;    K             %&'(          ;                          %&'(     %&'(           1 133  3 0 3 4   2 133  3 0 3 4  5

 A  I   

7*   1insensitive8 ;  insensitive G      &                 (*)

+    . $$            &     4               

 

7*   1Mailing List Service8 &       ;    &    

A ABI@

7*   118        + H;   133    2 133    5  + H;   G       @B 6   133    2 133   5   -        + H;

*! 0  

  6*9'76  * '    8           );        ' F(2 133  <  35 F( 2 133<   35)  F(2 133   <     35 2 133   3 35

77 sur 189   2 133   3 $A   5

             &            /               7  script8

!     7     8     User  !                6J       cookie                &             

   

               7   8 $          

'         sympa.conf7 robot.conf8 listmaster -      7      8 =           7  sympa.conf8                  -  7       8      

&             - 7  % &#8  &      sympa.conf/     -     Send me a password                 - Preferences

=          sympa.pl     /              

: $     ( 

/    

        ,       7     8               )-           H=! $  2 133   3  3 $ 3\&    5

*              1 133        3 2 133        35

    7  J @ $8  >)HJ           4- &   ,     < -                                    loc &&#- 

:$1

[%|loc%]User Email[% END %]

[%|loc(list.name,user.email)%]You have subscribed to list %1 with email address %2[% END %]

78 sur 189          @"         $                               &                                )-

"       

;                 

*0     0 

&                           ,         - N     N      &     ll_CC    web_tt2 mail_tt2     

:$1

/web_tt2/home.tt2 /web_tt2/de_DE/home.tt2 /web_tt2/fr_FR/home.tt2

&  comment.tt2-       

      locale       4  1

:$1

[% IF locale == 'fr_FR' %] Personnalisation [% ELSE %] Customization [% END %]

"      

& -  topics.conf- ;  -      N     &

 

!   " .       G  74PP"D4@ +   4P K  8     4P  $  - !&+4P    1 -   -    ,    )-

=       7   8-  F4             &          

:  

79 sur 189 &    7 G  8 %     G6  1

7*   1http:///wws/rss8 :$1https://my.server/wws/rss

& 6<                  6 1

        7latest_lists8/       7active_lists8/    7active_arc8/       7latest_d_read8

7 

&       

:$1http://my.server/wws/rss/latest_lists?for=3&count=6 &  C        .  

:$1http://my.server/wws/rss/latest_lists/computing?count=6 &  C       computing 

)   1

for1    7$   8 &H;   ;           for count <   count1$   $    &H;   ;          for count <   1        7$  computing8 &      

 7 

&           7   8

:$1http://my.server/wws/rss/active_lists?for=3&count=6 &  C      .  

:$1http://my.server/wws/rss/active_lists/computing?count=6 &  C     computing 

)   1

for1    7$   8 &H;   ;           for count <   count1$   $    &H;   ;          for count <   1        7$    8 &      

80 sur 189 7

&    

:$1http://my.server/wws/rss/latest_arc/mylist?for=3&count=6 &  C          .  

)   1

 1         &      for1    7$   8 &H;   ;           for count <   count1$   $    &H;   ;          for count <  

7 7

&           

:$1http://my.server/wws/rss/latest_d_read/mylist?for=3&count=6 &  C               .  

)   1

 1         &      for1    7$   8 &H;   ;           for count <   count1$   $    &H;   ;          for count <   : .

$   

)2 133 .  3#BB#335  7    %&&)8      !    )                             )                   >'(    & )  G);  )*         G  

&)          A                                $        ,             N    &      1

&        <       sympa-user &           sympa-user%&&)  &                              &)  getUserEmailByCookieRequest

81 sur 189 &        <     )    authenticateAndRun)  &      $      ,              ,       &                    -   -  trusted_applications.conf &      

;      ,             

&)    )11( 2 133   35)   &     7   + H;8    ) <    7 $8

    

=          )              G 

&             )  1

 1           *9        ( 1       $             6 1   )    G   %&&) /             <         6  6 1<           $ 7  A  A  8  1   7  ,     8 $( 1      $     1           1          $1     $    ;1       1       1           N1        1        7  8 1       7  8   ( 1     7 <      8 ( 1   7  8

=         <                    %        

  AA A     );    

)!

 819  AA        AA  4         4        4   

82 sur 189      /:$  )          

!   " .

%   httpd.conf )   - 1

FastCgiServer /home/sympa/bin/sympa_soap_server.fcgi -processes 1 ScriptAlias /sympasoap /home/sympa/bin/sympa_soap_server.fcgi

SetHandler fastcgi-script

?  " J 

%   httpd.conf )   -        1

FastCgiServer /home/sympa/bin/sympa_soap_server-wrapper.fcgi -processes 1 ScriptAlias /sympasoap /home/sympa/bin/sympa_soap_server-wrapper.fcgi

SetHandler fastcgi-script



&               sympa.conf3robot.conf- soap_url  -  !6( )                   -  

&       ) !6(  *(-7-   );8    )     ? %       ) <  7 )       8

"   

&) authenticateRemoteAppAndRun              <      $      ;                             $

& -   -trusted_applications.conf       etc/        /home/sympa/etc            7      -trusted_applications.conf  soap   8 &-                trusted_application  trusted_applications.conf-     :  -           3  1

name1     !       /  remote_application_name       ,    / md5password1 '*"           1

83 sur 189 sympa.pl -md5_digest= proxy_for_variables1                      )         ,      ;   USER_EMAIL                      remote_host  

      )    sympa_soap_client.pl  1

/home/sympa/bin/sympa_soap_client.pl --soap_url=http://my.server/sympasoap --service=createList --trusted_application=myTestApp --trusted_application_password=myTestAppPwd --proxy_vars=''[email protected]'' --service_parameters=listA,listSubject,discussion_list,description,myTopic

/home/sympa/bin/sympa_soap_client.pl --soap_url=http://myserver/sympasoap --service=add --trusted_application=myTestApp --trusted_application_password=myTestAppPwd --proxy_vars=''[email protected]'' --service_parameters=listA,someone@some;domain,name

9)   )  7 !96;9:  8     A   1

my $soap = new SOAP::Lite(); $soap->uri('urn:sympasoap'); $soap->proxy('http://myserver/sympasoap');

my $response = $soap->authenticateRemoteAppAndRun('myTestApp', 'myTestAppPwd', '[email protected]', 'subscribe', ['myList@dom']);

   2 1   O#BO"9 O"*O#BO#BO"9O"*O#B O#BO"9 O"*O#B 5     )%)&        

")*     

%   *(-       1

84 sur 189

85 sur 189

86 sur 189

87 sur 189

88 sur 189

89 sur 189

90 sur 189

/    

    #     )   )%) & )          !)  K 7  $8 &)%))         1 133    3 

91 sur 189 2 133    3 5

*            )                  ) 7  ) )11(   8 -   *(      7 )%)  K$8 $      *( 

&*(            G !6(1  133    3 3

= 1 login()         %&&)  ;             ,          )        authenticateAndRun()        <       

   K  $

+   0  4$7 133   3$2 133   3$58

        0  $7S@ @8   ()&% &   1

$ 0 / 0 0 /  4 0 /  4  0 / $ ; 0 / 0$  0 / $4 0 / 0 0 / J0 0 /  0

=$        K-   *(!6( !   1

java org.apache.axis.wsdl.WSDL2Java -av WSDL_URL

+ $1

java org.apache.axis.wsdl.WSDL2Java -av http://demo.sympa.org/sympa/wsdl

:$          K-1

Parsing XML file: http://demo.sympa.org/sympa/wsdl Generating org/sympa/demo/sympa/msdl/ListType.java Generating org/sympa/demo/sympa/msdl/SympaPort.java Generating org/sympa/demo/sympa/msdl/SOAPStub.java Generating org/sympa/demo/sympa/msdl/SympaSOAP.java Generating org/sympa/demo/sympa/msdl/SympaSOAPLocator.java

;             7    4 0      $8      1

java org.apache.axis.wsdl.WSDL2Java -h

&   1 133   3$303      2 133   3$303     5

92 sur 189 &  &     $                   & 0     )               $      

% K            casLogin() which()     )  1

SympaSOAP loc = new SympaSOAPLocator(); ((SympaSOAPLocator)loc).setMaintainSession(true); SympaPort tmp = loc.getSympaPort(); String _value = tmp.casLogin(_ticket); String _cookie = tmp.checkCookie(); String[] _abonnements = tmp.which();

:    

        7           8               7  ,   8  <   <                         V         (*)      

        .     (      From:'&) -       <        - 3   &          3';':7       3';':   8

     7 8        JN   7            8 *              G         ; (*)      7   8  -           3 (*)             0      /   2 133   3 3 35 7 !     8                  %&&)    >"BD  -       

&  ,     7  ,    8         &   ,         /             <  1 -   7    8<         7    8/3';':    <   %&&)   -      :    ,     <        7smtpmd5  smime8/  <                 <  

&$%  ""   

  !3';':        3';':       OpenSSL     3';':     -       1 3>"BD  -  

 %&&)     VA(     <              H;            -     %&&)  <  >"BD  -  %  -   1

SSLEngine on

93 sur 189 SSLVerifyClient optional SSLVerifyDepth 10 ... SSLOptions +StdEnvVars SetHandler fastcgi-script

;       0 =         $   -    mod_ssl         $  $  4 (4>"BD)=         -   -1

SSLOptions +ExportCertData

             

             * 9    1   $        & (*)                     

&     N         ldap_uid  alternate_email          (*)  

       (*)     ldap_uid  alternate_email   -                   G*=       *=    Gldap_password       E     &         ldap_password  ;         7*=A 8  

:$1   

Dn:cn=Fabrice Rafart, ou=Siege , o=MyCompany, c=FR Objectclass: person Cn: Fabrice Rafart Title: Network Responsible O: Siege Or: Data processing Telephonenumber: 01-00-00-00-00 Facsimiletelephonenumber:01-00-00-00-00 L:Paris Country: France uid: frafart mail: [email protected] alternate_email: [email protected] alternate:[email protected]

+ 6      1  +  6 Y'      Y'   6 Y'             +6'-     +  6 Y'   &                              1  

:  .   

94 sur 189 &     -             2 133     #  35;   #G  4           9                       -!6(    7    8 % httpd.conf  4       !6(1

... AuthType shibboleth require mail ~ @ ...

            ;          ;     -                    (*)   7  -                 8

&             generic_sso  7    8   auth.conf -   -7  A  8                

                       user_table*9 7     8    2  A  5             ,    76 -  8     2O    O5  

/!    

 !               

(    -        7  8 auth.conf ;  non_blocking_redirection                             ;                   ;*    &        (*)           ;       ;*                 

1 

&/home/sympa/etc/auth.conf -   -              4   ;    -             wwsympa.fcgi    

&/home/sympa/etc/auth.conf  ,    :               <                 G              (*)      $     4  7   8      user_table 

&   # 1               user_table               negative_regexp    regexp negative_regexp regexp -    user_table                 

95 sur 189     

&                $     

:          casldap user_table

&/home/sympa/etc/auth.conf-         1

paragraphs keyword value

paragraphs keyword value

     #        

:                  -               &                     

:$1

#Configuration file auth.conf for the LDAP authentification #Description of parameters for each directory

cas base_url https://sso-cas.cru.fr non_blocking_redirection on auth_service_name cas-cru ldap_host ldap.cru.fr:389 ldap_get_email_by_uid_filter (uid=[uid]) ldap_timeout 7 ldap_suffix dc=cru,dc=fr ldap_scope sub ldap_email_attribute mail

## The URL corresponding to the service_id should be protected by the SSO (Shibboleth in the exampl) ## The URL would look like http://yourhost.yourdomain/sympa/sso_login/inqueue in the following example generic_sso service_name InQueue Federation service_id inqueue http_header_prefix HTTP_SHIB email_http_header HTTP_SHIB_EMAIL_ADDRESS

## The email address is not provided by the user home institution generic_sso service_name Shibboleth Federation service_id myfederation http_header_prefix HTTP_SHIB netid_http_header HTTP_SHIB_EMAIL_ADDRESS internal_email_by_netid 1 force_email_verify 1

ldap regexp univ-rennes1\.fr host ldap.univ-rennes1.fr:389 timeout 30 suffix dc=univ-rennes1,dc=fr get_dn_by_uid_filter (uid=[sender]) get_dn_by_email_filter (|(mail=[sender])(mailalternateaddress=[sender])) email_attribute mail alternative_email_attribute mailalternateaddress,ur1mail scope sub use_ssl 1 ssl_version sslv3

96 sur 189 ssl_ciphers MEDIUM:HIGH

ldap host ldap.univ-nancy2.fr:392,ldap1.univ-nancy2.fr:392,ldap2.univ-nancy2.fr:392 timeout 20 bind_dn cn=sympa,ou=people,dc=cru,dc=fr bind_password sympaPASSWD suffix dc=univ-nancy2,dc=fr get_dn_by_uid_filter (uid=[sender]) get_dn_by_email_filter (|(mail=[sender])(n2atraliasmail=[sender])) alternative_email_attribute n2atrmaildrop email_attribute mail scope sub authentication_info_url http://sso.univ-nancy2.fr/

user_table negative_regexp ((univ-rennes1)|(univ-nancy2))\.fr

 A   

&user_table                ;      &      regexp negative_regexp )    $                      

  

regexp negative_regexp   user_table  1   7       8      $   -   (*)               host &     ;                    $                                         :$1

host ldap.univ-rennes1.fr:389 host ldap0.university.com:389,ldap1.university.com:389,ldap2.university.com:389

timeout ;                     $  7  8    B7   8       <   suffix &   *;&7*   ;    & 8 &*=   0            :$1dc=university,dc=fr bind_dn ;        (*)  *=     bind_password &     bind_dn get_dn_by_uid_filter *-   -       ldap_uid 76+##"J 8 ;     

97 sur 189 -         G2  5G ;         7  alternate_email 8  :$1

(Login = [sender]) (|(ID = [sender])(UID = [sender]))

get_dn_by_email_filter *-   -        7      4 6+ ##"J 8 ;      -         G2  5G ;          7uidalternate_email 8  :$1   

Dn:cn=Fabrice Rafart, ou=Siege , o=MaSociete , c=FR Objectclass: person Cn: Fabrice Rafart Title: Network Responsible O: Siege Or: Data processing Telephonenumber: 01-00-00-00-00 Facsimiletelephonenumber:01-00-00-00-00 L:Paris Country: France uid: frafart mail: [email protected] alternate_email: [email protected] alternate:[email protected]

&-   1

(mail = [sender]) (| (mail = [sender])(alternate_email = [sender]) ) (| (mail = [sender])(alternate_email = [sender])(alternate = [sender]) )

email_attribute &              1    mail canonic_emailcanonic_address ;    $   mail alternative_email_attribute &               1    alternate_email mailalternateaddress          

               1         (*)                                               <    user_table subscriber_table   

scope7*   1sub8 9           -0 &      1 base1    0  one1      0  sub1    0 &   authentication_info_url *-  !6(    (*)       G 

98 sur 189      (*)       !6( use_ssl ;  1     (*)   (7(*)8 ssl_version &-     (3&(     *  = 11(*) sslv2/3     sslv2sslv3 tlsv1 A 

                    (     &   = 11(*)  ALL            W

  A  

service_name &     N           service_id & ;*            7     8     !6(            / !6(    http://yourhost.yourdomain/sympa/sso_login/inqueue service_id inqueue http_header_prefix                  &         user_table*9        ,    7   8              -  -$  email_http_header &   -                 G   logout_url &         !6( ;-          !6(        

&    -                   1

internal_email_by_netid ;  1        netidmap   = ;*      netid_http_header &   -              G - &             force_email_verify ;  1          G  ;                   <     

&    -         /   email_http_header   0  

99 sur 189 ldap_host &(*)         &ldap_host                  ldap_bind_dn &*=                  -  ldap_bind_password &         ldap_suffix &(*) E$       ldap_scope &       )  subbase one ldap_get_email_by_uid_filter &-         ;                    :$1

ldap_get_email_by_uid_filter (mail=[SSL_CLIENT_S_DN_Email])

ldap_email_attribute &          ;          -       (*)    ldap_timeout &      ldap_use_ssl ;  1     (*)   (7(*)8 ldap_ssl_version &-     (3&(     *  = 11(*) sslv2/3     sslv2sslv3 tlsv1 ldap_ssl_ciphers -                (     &   = 11(*)  ALL             W

  

=            *   $     $ "BD -  &           -            /   -     -       -      

auth_service_name &              host79(:&:8 &      !7    base_url &!6(   non_blocking_redirection &        -                                                 )  on off  on &     

100 sur 189    H;   gateway=1  -               !6( 0       ;   N                   login_uri79(:&:8 &       login_path   login_path7)&;=(8 &    check_uri79(:&:8 &       service_validate_path   service_validate_path7)&;=(8 &        logout_uri79(:&:8 &       logout_path   logout_path7)&;=(8 &    proxy_path7)&;=(8 & $         )  proxy_validate_path7)&;=(8 & $          )  ldap_host &(*)                 & ldap_host                 ldap_bind_dn &*=                  -  ldap_bind_password &         ldap_suffix &(*) E$       ldap_scope &       )  subbase one ldap_get_email_by_uid_filter &-         ldap_email_attribute &          ;          -       (*)    ldap_timeout &      ldap_use_ssl ;  1     (*)   (7(*)8 ldap_ssl_version &-     (3&(     *  = 11(*) sslv2/3     sslv2sslv3 tlsv1 ldap_ssl_ciphers -                (     &   = 11(*)  ALL             W

101 sur 189  ))6         

;                                       %&&)     G           &            &            1

*            ;           H; ( (   6       G                        &   1

sympauser=:

    G 4      P    '*"   V cookie -               cookie       %&&)  /             Gloginrequest          !6(       % %&'(  1

Login page

     %&'(     wwsympa.fcgiH; ;       referer     !6;     failure_referer         N  !6; 

!  G%&&)             &           %&&)              '*"     cookie -      ;                         

       

            &      1

Access web archives of list


&$                           &previous_action previous_list -    

102 sur 189         

:  (    

   ,     -                      <       ,          &    L$   -   ,    <           

(    -

(            N    ,     + $1 send private       send.private   &          ,             ,      -           /home/sympa/expl//scenari ;   -  -          -       /home/sympa/etc/my.domain.org/scenari    G -       /home/sympa/etc/scenari -  /home/sympa/bin/etc/scenari         ' -

   ,             G   3 3 3      $        7           3 3 3        8                                                /             

   $                 --      

9   -    -          

    

&-     -       &  $         4           &   0    $ 1

Restricted to subscribers

;        ,1

title.gettext Restricted to subscribers

&         title.gettext        ,    

6  

:  ,       1

103 sur 189    1         ;     sender     Glist            &      smtpmd5 smime &                   $ smtp    '&)From:  md5  < '*"        <       smime   7 -      ,3';':  8/        $      

:$1

del.auth

title.us deletion performed only by list owners, need authentication title.fr suppression r\'eserv\'ee au propri\'etaire avec authentification title.es eliminacin reservada slo para el propietario, necesita autentificacin

is_owner([listname],[sender]) smtp -> request_auth is_listmaster([sender]) smtp -> request_auth true() md5,smime -> do_it

6 -  

   ,                -  6  -  1

::= ->

::= [!] , ) | match (, /perl_regexp/) | search () | is_subscriber (, ) | is_owner (, ) | is_editor (, ) | is_listmaster () | older (, ) # true if first date is anterior to the second date | newer (, ) # true if first date is posterior to the second date | CustomCondition:: (*)

::= [email] | [sender] | [user->] | [previous_email] | [remote_host] | [remote_addr] | [user_attributes->] | [subscriber->] | [list->] | [env->] | [conf->] | [msg_header->] | [msg_body] | [msg_part->type] | [msg_part->body] | [msg_encrypted] | [is_bcc] | [current_date] | [topic-auto] | [topic-sender,] | [topic-editor] | [topic] | [topic-needed] | [custom_vars->] |

[is_bcc] ::= set to 1 if the list is neither in To: nor Cc:

[sender] ::= email address of the current user (used on web or mail interface). Default value is 'nobody'

[previous_email] ::= old email when changing subscription email in preference page.

[msg_encrypted] ::= set to 'smime' if the message was S/MIME encrypted

[topic-auto] ::= topic of the message if it has been automatically tagged

[topic-sender] ::= topic of the message if it has been tagged by sender

[topic-editor] ::= topic of the message if it has been tagged by editor

104 sur 189 [topic] ::= topic of the message (this variable has a value if any of the previous [topic-*] variable has a value.

[topic-needed] ::= the message has not got any topic and message topic are required for the list

/perl_regexp/ ::= a perl regular expression. Don't forget to escape special characters (^, $, \{, \(, ...) Check http://perldoc.perl.org/perlre.html for regular expression syntax.

::= ' [ +|- ]'

::= | |

::=

::= ymdhminsec

::= name of the custom parameter you want to use.

::= [listname] |

::= , |

::= smtp|md5|smime

::= do_it [,notify] | do_it [,quiet] | reject(reason=) [,quiet] | reject(tt2=) [,quiet] | request_auth | owner | editor | editorkey[,quiet] | listmaster

::= match a key in mail_tt2/authorization_reject.tt2 template corresponding to an information message about the reason of the reject of the user

notify ::= sends a notification to list owner

::= corresponding template (.tt2) is send to the sender

::= email | gecos | lang | password | cookie_delay_user |

::= one of the user attributes provided by the SSO system via environment variables. The [user_attributes] structure is available only if user authenticated with a generic_sso.

::= email | gecos | bounce | reception | visibility | date | update_date |

::= name | host | lang | max_size | priority | reply_to | status | subject | account | total

::= domain | email | listmaster | default_list_priority | sympa_priority | request_priority | lang | max_size

::= filename ending with .ldap , . or .txt

::= name of a perl package in /etc/custom_conditions/ (small letters)

76  &     -   8

&               custom_vars                perl_regexp      2 57             8 &      [msg_header->]     '&)            ,        ;    $  <  

105 sur 189          [msg_part->type] [msg_part->body]  ';':    4  /   ';':   $ 3$$$   

&N    editor editorkey   editor                     editorkey                       0             )                 editorkey           

   ,           /       -             9         ,           ;                 ,         

&     ,        /home/sympa/bin/etc/scenari/    *      .default

  -        ,           /home/sympa/etc/scenari   &                 -       7      /home/sympa/etc//scenari8    7/home/sympa/expl///scenari8          0    !     !     ;1

:$1       scenari/subscribe.rennes11

equal([sender], '[email protected]') smtp,smime -> reject match([sender], /univ-rennes1\.fr$/) smtp,smime -> do_it true() smtp,smime -> owner

         ,        -   - $1

subscribe rennes1

2  

   =+         ,     &         ,     ,  

 <               (*)    F(   L  $ -      ,    

=             $   7   2  5  2 58

(*)=+  *-  

)      (*)-  -   -   - &-   $   G G ;    /home/sympa/etc/search_filters/

             (*)=+  1

host

106 sur 189   1 (*)   7  8  suffix *-        7      (*)  8 filter *-  (*) -  76+##"J 8 9             -    -  1(mail_attribute = [sender])   $     mail_attribute                     -   -  scope 9           -0 &      1 base1    0 one1      0 sub1    0 &     bind_dn ;        (*)  *=     bind_password &     bind_dn example.ldap1          !   6 @ +  1

host ldap.univ-rennes1.fr:389,ldap2.univ-rennes1.fr:390 suffix dc=univ-rennes1.fr,dc=fr filter (&(canonic_mail = [sender])(EmployeeType = prof)(subject = math)) scope sub

F(=+  *-  

)      F(-  -   -   - &-   $    G <G ;    /home/sympa/etc/search_filters/

&   F(=+      - F(                 sympa.conf      N           *     $     

)     *     $     

%          sql_named_filter_query  

db_type +  1db_type mysql|SQLite|Pg|Oracle|Sybase/*        '       db_host *    '   db_name =  <  '   statement '   &F(    $      ,  &       B              &SELECT COUNT(*)...       <       &     F(<       G

107 sur 189       )    sympa.conf      db_user db_password db_options db_env db_port db_timeout example.sql1          !   6 @ +  1

sql_named_filter_query db_type mysql db_name people db_host dbserver.rennes1.fr db_user sympa db_passwd pw_sympa_mysqluser statement SELECT count(*) as c FROM users WHERE mail=[sender] AND EmployeeType='PROFESSOR' AND department='mathematics'

   

&        ,    

& $  1

search(example.ldap) smtp,smime,md5 -> do_it search(blacklist.txt) smtp,smime,md5 -> do_it

&   search   (*) -   -  $      

=                (*)     F(  /      

    G $ G-$    -              7       8 :      *       &          79  8

&        

     

       1

include commonreject match([sender], /cru\.fr$/) smtp,smime -> do_it true() smtp,smime -> owner

;          include.commonreject          &                 

        

108 sur 189   -          include..header          =                  --

+ ;     

+       use_blacklist7 A  8             1

search(blacklist.txt) smtp,md5,pgp,smime -> reject,quiet

&       <        &   -                             

/ ;    

   )             ;        $             7 <   8 ;        )     CustomCondition             1   undef              , 

&)  1

       custom_conditions etc              /  -    /     CustomCondition /      verify     /           

+ $               1

/home/sympa/etc/custom_conditions/yes.pm :

#!/usr/bin/perl

package CustomCondition::yes;

use strict; use Log; # optional : we log parameters

sub verify { my @args = @_; foreach my $arg (@args) { do_log ('debug3', 'arg: ', $arg); } # I always say 'yes' return 1; } ## Packages must return true. 1;

           1

109 sur 189 CustomCondition::yes(,,) smtp,smime,md5 -> do_it true() smtp,smime -> reject

=    ,,                    yes.pm       

6          CustomCondition     ;     undef     G    G ;       1    G  G 

  0 

9          -          7            8 &  -        -  :ignore E$ *     -                

:$1

/home/sympa/etc/my.domain.org/scenari/send.intranetorprivate:ignore

&intranetorprivatesend   7     8         

: ,  

                                    -      -           %&&)  :               

'  -        -    $             7     '&)       8

&   -         -   -    ;       

=        #    7 8 N      ;        " #

  

             sympa.pl             K   -                 -  

"*2   -  -  $    7'>8           7  8 7=':8     -      -   "7  -$$ 8               :$7  81

110 sur 189 [email protected]: "| /home/sympa/bin/queue [email protected]" [email protected]: "| /home/sympa/bin/queue [email protected]" bounce+*@your.virtual.domain: "| /home/sympa/bin/bouncequeue [email protected]"

*-     ""* &   -        %&&)*                    :$1

FastCgiServer /home/sympa/bin/wwsympa.fcgi -processes 3 -idle-timeout 120 ..... ServerAdmin [email protected] DocumentRoot /var/www/your.virtual.domain ServerName your.virtual.domain SetHandler fastcgi-script ScriptAlias /sympa /home/sympa/bin/wwsympa.fcgi Alias /static-sympa /home/sympa/your.virtual.domain/static_content

  /home/sympa/etc/your.virtual.domain/robot.conf -   -     ;     sympa.conf     $   / robot.conf    /home/sympa/expl/your.virtual.domain/                 &     sympa                

# su sympa -c 'mkdir /home/sympa/expl/your.virtual.domain' # chmod 750 /home/sympa/expl/your.virtual.domain

!1 

       G my.domain.org -      /home/sympa/etc/my.domain.org &         robot.conf- &-    /etc/sympa.conf7  robot.conf   8           -       1

http_host &    SERVER_NAME      wwsympa.fcgi        ? %                        :$1

http_host myhost.mydom http_host myhost.mydom/sympa

host & <   hostsympa.conf   &             7         8/ wwsympa_url &!6( / soap_url &!6( G)  7   /8/ cookie_domain/

111 sur 189 email/ title/ default_home/ create_list/ lang/ supported_lang/ log_smtp/ listmaster/ max_size/ css_path/ css_url/ static_content_path/ static_content_url/ pictures_feature/ pictures_max_size/ logo_html_definition/ color_0 A@  A@"/    -   1dark_colorlight_colortext_colorbg_color error_colorselected_colorshaded_color

&      <     -  /etc/sympa.conf   my.domain.org  /  listmaster   ? 6    & http_host        SERVER_NAME        ,    

?    , 

) +                     <            L                  <    

 

  <              -    logo_html_definition     robot.conf-

       

   -          *           ,             -  %     G             $      <            0       0   

Alias /static-sympa {path to your sympa installation directory}/static-content

              sympa.conf   robot.conf1 static_content_urlstatic_content_pathcss_urlcss_pathpictures_url pictures_path

112 sur 189 : ^W

%       ,   -           

           +           &                       

static_content_urlcss_urlpictures_url- !6(        static_content_pathcss_pathpictures_path-           -           

;    !6(                    -           *_url      *_path   

&static_content_*               css_*  pictures_*        -    -   + $css_path G  -     static_content_path/css

     -  sympa.conf robot.conf            -     H        robot.conf        sympa.conf

&                         N   -   -       vhost.com

;          robot.conf       sympa.conf                 

A 

1 <!1    7  7 =>> 7 =>>  T  4 33 T T33 T TT  7  7 =>!> T33 T T33 T TT 7 =>!> TT T33 T TT

A 

 7  7= 7= 1 <!1   >> >> U_     T33 T TT    `3  4  33 T  7  7= T33 T T33 T TT >!> 7=>!> TT T33 T TT

 A 

1 <!1    7  7 =>>  7 =>>  T  4 3 3T T3 3T TT

 7  7 =>!> T3 3T T3 3T TT

113 sur 189  7 =>!> TT T3 3T TT

=      G  pictures_url robot.conf   !6(   4-  

 A 

 7  7=  7= 1 <!1   >> >> U_     T3 3T TT    `3  4  3 3T  7  7= T3 3T T3 3T TT >!>  7=>!> TT T3 3T TT

=      G  pictures_path robot.conf       4-  

  , 

;      ,        -    -     css.tt2

       -                 -       ;                  -   css_path css_url    0      

! A  A    

  - css_path       -          - css_url             !6(   # #    #   #   #  # #   css_path    # !    '#  &   -        sympa.conf-               robot.conf

!   

                   

  ,      ,    

;         ,           ,    

&/home/sympa/etc/my.domain.org/web_tt2/ /home/sympa/etc/my.domain.org/mail_tt2/  /home/sympa/etc/my.domain.org/scenari/                 /home/sympa/etc /home/sympa/bin/etc & -  N    N  H!; ? %

114 sur 189        

;        #                           /home/sympa/expl/my.domain.org/    &  -         -    -     7     ,    8                 

&            /home/sympa/expl/my.domain.org/  /home/sympa/etc/my.domain.org/   /  , hosthttp_host  wwsympa_url     /home/sympa/etc/my.domain.org/robot.conf         7-  sympa.conf wwsympa.conf-8

: $   !     



 ) 

 

 G6 

 ))6         

   G         

      

  $              1

 $ -/     / (*)  

   A A    

&     -        -     -       G  ,       7 A  A   A- A  A  A-8

*    -

! ! 

115 sur 189 &           $      <      subscriber_count    

:$1

http://my.server/wws/subscriber_count/mylist

: / ( &))

" 0 

& -                  &&# 2 133 #  5   

 -        &&# $   1&&1#1 ?&&1#1 @

;           &&#  2 133   335 * 

%           -  1

6   )       ?A A@          :$1

[%|loc(list.name,list.host)%]Welcome to list %1 %2[%END%]

+$           -                -   / &&#      INCLUDE_PATH     -    -   3  &5  -        '&) -   F4   :$1

[% FILTER qencode %]Message à modérer[%END%]

    N      - N              tt2   :$1/mail_tt2/fr_FR/helpfile.tt2               , a#BBb3BC3##@b1BDa    Y    0 

&-         &-      7 8      &&#    / -1#$   & -  

    -     7   -              81

@ /home/sympa/expl//mail_tt2//.tt2 # /home/sympa/expl//mail_tt2/.tt2 . /home/sympa/etc/my.domain.org/mail_tt2//.tt2

116 sur 189 J /home/sympa/etc/my.domain.org/mail_tt2/.tt2 " /home/sympa/etc/mail_tt2//.tt2 C /home/sympa/etc/mail_tt2/.tt2 b /home/sympa/bin/etc/mail_tt2//.tt2 P /home/sympa/bin/etc/mail_tt2/.tt2

; -   + 1       7    8   '&)     -   $ 3 

&        -1

2O  O514    / 2O  A O516 4) '&)  / 2O  O51+ '&)  / 2O  O516 4&'&)  / 2O  O51';':        / 2O  A O51   -   host   / 2O  O51      / 2O O51   / 2O  O51      / 2O  O51      / 2O  0 O51  0   / 2O   O51           / 2O  O51&     G -      / 2O  O51   / 2O   O51      / 2O   O51 G  / 2O  <  O51     7 4 <  8/ 2O     O51   G / 2O   A O51 G  !6(/ 2O   O51%   / 2O     AO51   G4  / 2O    O51     (     / 2O  O51   / 2O   O51    / 2O  O51  -7   3  8/ 2O   O51   / 2O    O51          / 2O    A O51         3 -/ 2O    O51   G   / 2O   -  A O51       3-   

- #

&-     HELP        1

2OA  O51TRUE      /

2OA  O51TRUE     

117 sur 189   #

+    LISTS      1

2O O51   $        G 0         7    visibility    8  

:$1

These are the public lists for [conf->email]@[conf->domain]

[% FOREACH l = lists %] [% l.key %]@[% l.value.host %] : [% l.value.subject %] ([% l.value.topics.0 %])

[% END %]

A   #

&-     REMIND *  7   8       1

42O O51                 

:$1

This is a subscription reminder.

You are subscribed to the following lists: [% FOREACH l = lists %]

[% l %]: [% conf.wwsympa\_url \%]/info/[% l %]

[% END %]

Your subscriber e-mail: [% user.email %] Your password: [% user.password %]

 A  A #

&                  7  8

)! 0 

  -      -N          -      -               

    -   /home/sympa/expl/mylist/web_tt2            ~/home/sympa/etc/web_tt2  

    ,   

       A$       

118 sur 189  -                =                 T    U            -    $     -   G ' -7        8

      M

color_01    1           color_5 ;        color_5    color_11    1           7      ' ' ( 8 color_21     1     :$      Q&*3S  /$             color_31    1 $   $ color_41    1   7   $        8      7             ' (  8 color_51    1     $             AB color_61    1    7 $                            8               ' (        color_71    1    0             color_81     1     color_91        7 $                            8                       7          8

color_101     6    * G   color_111   1

119 sur 189       %#           7             ' (  8 color_121+     =     color_1319    1    7 $      8      7      ' ' ( 8 color_141!  color_151! 

   0 M

%                -     &                 0         0 

'    

&   N         1

&1color_4/   K          & $1color_5/&    $        & $   1color_3/  $               &         &   1color_13/&           7 $     8

9  

&          G0     1

/  !    ;/      ;/ 

*      color_1 color_4

%     color_13 color_6

*    color_2 color_2

%   color_1 color_11

*     color_2 color_2

%    color_2 color_2

( 

%        $ $ 1

@ &          color_8 #         color_11

'  

120 sur 189 &     1

   +;  + 

*  color_2 None None

%  color_11 color_6 color_9

  color_2 color_9 color_6

  color_2 color_6 color_9

'  

=        1

@           ' ' (         ' (   / # $   ' ' (    #            color_11  / .   7;  :   - 8    0       

/0 

    1style.cssprint.cssprint-preview.css  fullPage.css

;               <      

9                   1css_path  css_url

A  A    

css_path-      wwsympa -   -/ css_url-  !6(     <        

&        robot.conf-    sympa.conf          4  

4;css_path G -      1${static_content_path}/css  static_content_path    -              ; static_content_path -  sympa.conf robot.conf    1 sympa_home_dir/static_content 4;css_url G -      1 ${static_content_url}/css static_content_url    -               ;static_content_url -  sympa.conf robot.conf     1/static-sympa

& 1

        1sympa_home_dir/static_content/css/style.css   !6(      1 http://host.name/static-sympa/css/style.css

121 sur 189 [http://host.name/static-sympa/css/style.css]

&sympa_wizard.pl         static_content_path  static_content_url 

    M

@1    -  css_path$   css_url  -     - #1     G $   css_url   css  7   http://url.to.wwsympa/css/ [http://url.to.wwsympa/css/]8

&           

/B1        0               -      !6( ;                  css_path    ;     css_path       -     wwsympa ;            -               wwsympa    #         G   %&&) <  &                   

/#1             css  wwsympa - css.tt2   -     web_tt2       L           ;          <   wwsympa           &         @    css.tt2             &       $     

!       

&       #       1

@  -     L   <  @ H     -       -   css_path   &     T;    U            &-   <       

& $          7  4   8   9         -  

/  -    sympa.conf robot.conf &      $      ,   

+                   robot.conf  sympa.conf   wwsympa              <                   &             -   -           wwsympa        

122 sur 189  /   -  css.tt2                   -7 sympa_home/bin/etc/web_tt28      sympa_home/etc/web_tt2 sympa_home/etc/robot_dir/web_tt2     ;     3 3            N    

!     

=        -            <   !6(    css_url           N          css_path &         style.css-  - G         $    &       G   color_x   -     robot.conf3sympa.conf- ;          css.tt2

$     ( 

         ' ( '  :                  =(  7     >)HJ   8 (  lang       =           G     

;                    1  133    3      2 133    3      5

     , 

:                 &     /home/sympa/locale  

&              lang     sympa.conf

(     , 

&lang    -      ;           ,  G           

;                G  

!     , 

&               &  4       3    &       ,       3  -         

" 

G        &     

123 sur 189   N   Gtopics -                 &   N    msg_topic       

&  -   topics.conf -   -   /home/sympa/etc    &   -1

title title.fr visibility .... title title.de

              3 &     7B4@4,4c8    7A8 &           G &visibility -        ;      topics_visibility  ,      - topics.conf  sample   /==:    

    4  1default &           -

 (    

  ,    

/

                   ,         

&    -    -                ' ) *   ) +  &         C7D  & -              -           

        1

   1   $[custom_vars→your_custom_var_name]     1   $custom_vars.your_custom_var_name

:$

 -          1

  1sisterList   1math-teachers

    1

   1   $[custom_vars→sisterList]    T 4  U

124 sur 189     1   $custom_vars.sisterList    T 4  U

  

        '  

+    0     7    From:    -8      

        X-Loop -     ;             7 X-Loop -   8

&     ';*          ;*   

+           7   4      8  &   1

@ >     #       > . >  4         J          " (   .

    7     8          &     1

      ;      7-   loop_command_sampling_delay    8 ;   $ loop_command_max                    :         ,            loop_command_decrease_factor  

";

   

:    0  

&            

  

   '

125 sur 189  0   0 

& -   -  mylist   /home/sympa/expl/my.domain.org/mylist/config7  /home/sympa/expl/mylist/config   - 8          -   &-                $  

;    cache_list_configsympa.conf   7A A -8       -7/home/sympa/expl/my.domain.org/mylist/config.bin          7          8

9           -W

 -  -   -  sample  

(  -                (  -      

%'  0   0 

&-  $      1

subject First example (an open list)

visibility noconceal

owner email [email protected]

send public

review public

& $            1

subject Second example (a moderated list)

visibility noconceal

owner email [email protected]

editor email [email protected]

send editor

subscribe auth

review owner

reply_to_header value list

cookie 142cleliste

&  $                             '   &  

126 sur 189 owner email [email protected]

editor email [email protected]

send editor

subscribe owner

review owner

reply_to_header value list

digest 1,4 12:00

! !0 

+ 1   . . C 6*9' <         + -      $            -   -   includedatabase user_data_source

&/home/sympa/expl/mylist/subscribers-         ;              ;      - '     1

email :     gecos ;         7  -     8&           reception | nomail | digest | summary | notice | txt | html | urlize | not_me           nomail digestsummarynoticetxthtmlurlize not_me ;                 ;          :&(;&=':!''6  :&(;&=':=';(       visibilityconceal          REVIEW     ;            REVIEW = 1      N     REVIEW       :&(;&=':=:(    

$ 0 

/home/sympa/expl/mylist/info     $           INFO  ;        -  

 0 

/home/sympa/expl/mylist/homepage %&'( $       

127 sur 189 *    0 

: -   $   '   -      owner_include  editor_include    -   -7     $   87(  -       8 &-   -

         1

@ /home/sympa/expl/mylist/data_sources/.incl/ # /home/sympa/etc/data_sources/.incl/ . /home/sympa/etc/my.domain.org/data_sources/.incl

&-              1       - ! 7-               8 ;       $       F( (*)<           

    -               ?    include_fileinclude_remote_fileinclude_list include_remote_sympa_listinclude_sql_queryinclude_ldap_2level_query  include_ldap_query &     (  -       

  -         7param  8 &                 source_parameterowner_include  editor_inlude

:$1

    -   -/home/sympa/expl/mylist/config1

owner_include source myfile source_parameters mysql,rennes1,stduser,mysecret,studentbody,student

 /home/sympa/etc/data_sources/myfile.incl1

include_sql_query db_type [% param.0 %] host sqlserv.admin.univ-[% param.1 %].fr user [% param.2 %] passwd [% param.3 %] db_name [% param.4 %] sql_query SELECT DISTINCT email FROM [% param.5 %]

                   1

include_sql_query db_type mysql host sqlserv.admin.univ-rennes1.fr user stduser passwd mysecret db_name studentbody sql_query SELECT DISTINCT email FROM student

 0 

&-        SUBADDSIGDELREJECT 

128 sur 189 &-     7 8          / -  # $   & - 

    -     1

@ /home/sympa/expl/mylist/mail_tt2/.tt2/ # /home/sympa/etc/mail_tt2/.tt2/ . /home/sympa/bin/etc/mail_tt2/.tt2

; -   From:        7    8      '&)     -   $ 3 

&        -1

[% conf.email %]1   / [% conf.domain %]1 G    / [% conf.sympa %]1 G  / [% conf.wwsympa_url %]1 G  !6(/ [% conf.listmaster %]1   G / [% list.name %]1  / [% list.host %]1  7       8/ [% list.lang %]1   / [% list.subject %]1  0 / [% list.owner %]1    / [% user.email %]1   / [% user.gecos %]1  -7   3  8/ [% user.password %]1   / [% user.lang %]1    / [% execution_date %]1      $ 

      -      [% INSERT %]  

:$1

Dear [% user.email %],

Welcome to list [% list.name %]@[% list.host %].

Presentation of the list: [% INSERT 'info' %]

The owners of [% list.name %] are: [% FOREACH ow = list.owner %] [% ow.value.gecos %] <[% ow.value.email %]> [% END %]

 #

        &   ,

129 sur 189 

  #

    SIGNOFF  

 #

&      7   DELETE 8         

0 #

   0      0       ;   -$  REJECT     QUIET  0   

   #

&       7   INVITE 8    

      

[% requested_by %]1     INVITE /

[% url %]1  1!6(     

  #

&-               6:';=*  

  #

&    7     8 :&(;&=':!''6 

 A #

&   -   ;    alias_manager 

2             7#& ! 1

0 

/home/sympa/expl/mylist/stats $ -         *            1

       >4<   /

130 sur 189  >    /   >  /   >  >    /     /     7  8     *9       # 

  0 

&-         - &      7 8              & 

    

:     7   remind.tt28               

$    

:              G       

   

     /home/sympa/expl/mylist/message.header  /home/sympa/expl/mylist/message.footer- &                              4    7 footer_type      mime8      - message.header.mime message.footer.mime

&footer_type    -       3    ';':  7$     3   8       7  $ 3  8

!         =& 3     1

if message is not multipart/signed if footer_type==append if message is text/plain append header/footer to it else if message is multipart AND first part is text/plain append header/footer to first part

if footer_type==mime if message is not multipart/alternative add header/footer as a new MIME part

   

&/home/sympa/expl/mylist/archives/            /  &-          <   -    archive  

131 sur 189 :      

&                1

                  ;            7                      8          sympa.pl          -      ;           

'                  1          7pending open8                     

      -       Gconfig-7  -   -  8       <                 

 

'    N     N         N      !  E               -            -      -  &     -        --7   8           ;            $      ,  #    #       #   - &&&

*     

&             <  1

 1   / !-1 0   7    8/  CD1   -    3  -   ;   -        owner      email  <   +  -        owner_include      source  <      -    /    1    -

      <                   &        -   -1

                              >'(-

>'(- 

&>'(-      1

132 sur 189   /             /               -    /         7           sympa.pl/    $    -    8

%  $>'(          $       1

example my_profile a list example open editor private fr [email protected] C.R.U. [email protected] my_file oracle sqlserv.admin.univ-x.fr stdutilisateur monsecret les_etudiants SELECT DISTINCT email FROM etudiant

subject [% subject %]

status [% status %]

[% IF topic %] topics [% topic %]

[% END %] visibility noconceal

send privateoreditorkey

Web_archive access public

subscribe open_notify

shared_doc d_edit [% shared_edit %] d_read [% shared_read %]

lang [% language %]

[% FOREACH o = owner %] owner email [% o.email %] profile privileged [% IF o.gecos %]

133 sur 189 gecos [% o.gecos %] [% END %]

[% END %] [% IF moderator %] [% FOREACH m = moderator %] editor email [% m.email %]

[% END %] [% END %]

[% IF sql %] include_sql_query db_type [% sql.type %] host [% sql.host %] user [% sql.user %] passwd [% sql.pwd %] db_name [% sql.name %] sql_query [% sql.query %]

[% END %] ttl 360

&>'(-        1

&     >'(    1      &   $             7T  0    3   A    U8 1                        sympa.pl ;   $      1  $           info-7  *&   8 +                     :            multiple    1$1 +        4    :$  owner   1                     <       -   >'(  -     1 ... ...

 

  ( 

      1

&        

%       1

sympa.pl -create_list -robot my.domain.org-input_file /path/to/my_file.xml

&      my_robot        -my_file.xml &>'(

134 sur 189 -  >'(- 

9          open

&   -7      8

&      -         >'( 

(  -    /home/sympa/etc/create_list_templates   /home/sympa/bin/etc/create_list_templates7   8

       -7            8 ; -$        /home/sympa/etc/create_list_templates    /home/sympa/bin/etc/create_list_templates       -   

/       )!

&       -                          &      -              

(        

(                  -           -       &   -  sympa.conf     -      9           <                     

&  0         -           , 7list_rejected.tt2 list_created.tt28

        

&-     A sympa.conf   &      create_list   ,     ;                    <      -  

&  ,              2  57     8    rejectdo_it listmaster  

        ,  create_list  ,     create       ;     do_it         ;     listmaster               pending               &              pending list    server admin             

&   -   

135 sur 189               -  -    G    0         9         >'(-         -     &   -7       8     -               -   create_list.conf-7     -  /home/sympa/bin/etc               ,   /home/sympa/etc8 &-          :$1

## This sample hides the public_anonymous create_list template public_anonymous hidden defaults read

(   

+        7    /home/sympa/etc/edit_list.conf  -   -8           /    /home/sympa/bin/etc/edit_list.conf   

:  .-

: :

    -        7               .                    G G   7$1 1  !7 158             # 

&               -   -    $       

+ $listmaster        owner privileged_owner

:$1

# only listmaster can edit user_data_source, priority, ... user_data_source listmaster write

priority owner,privileged_owner read priority listmaster write

# only privileged owner can modify editor parameter, send, ... editor privileged_owner write

send owner read send privileged_owner,listmaster write

# other parameters can be changed by simple owners default owner write

)    -    Gconfig-1

owner email [email protected] profile privileged

&      1

136 sur 189          profile privileged              7$  - 8 &           )      3   3      )       G 7      G 8

  -        7            custom_subject              8       7        user_data_sources8        <           G                          

         $          $

  

   78               sympa.pl         $1

sympa.pl -close_list=mylist@mydomain

)                      6                                       /     subscribers.closed.dump-

:  

       ,                  - ;              -    +     1                     N      '          -                  *      

  

      ; -       1

          -   -   -/            1                   free7    8controlled7   -      8 fixed7          8 &                   ,      / -            1 -             ,  

137 sur 189 %         1

-   1-                    ,  /      1     -  $          &   -     >'(  / -  1-      &-  N    $         <     /  1  /     /    /    

3  

*-  

+ -              7     8               G   families   1

:$1

/home/sympa/etc/families/my_family /home/sympa/etc/my_robot/families/my_family

;            -1

config.tt27   8/ param_constraint.conf7   8/ edit_list.conf/   ,-

 - #

&       -   ;          &-      -       -7   8               ;             $    (   - & - 

:$1

subject [% subject %]

status [% status %]

[% IF topic %] topics [% topic %]

[% END %] visibility noconceal

send privateoreditorkey

138 sur 189 web_archive access public

subscribe open_notify

shared_doc d_edit [% shared_edit %] d_read [% shared_read %]

lang [% language %]

[% FOREACH o = owner %] owner email [% o.email %] profile privileged [% IF o.gecos %] gecos [% o.gecos %] [% END %]

[% END %] [% IF moderator %] [% FOREACH m = moderator %] editor email [% m.email %]

[% END %] [% END %]

[% IF sql %] include_sql_query db_type [% sql.type %] host [% sql.host %] user [% sql.user %] passwd [% sql.pwd %] db_name [% sql.name %] sql_query [% sql.query %]

[% END %] ttl 360

 A    

&-   ; -         &         1

free   1                    param_constraint.conf- controlled   1                  param_constraint.conf- fixed   1             param_constraint.conf-

&           

)2$2:1           1msg_topic.keywords 74 8owner_include.source_parameter7  A  8  editor_include.source_parameter7  A  8  digest   7 8        

:$1

lang fr,us archive.period days,week,month visibility conceal,noconceal

139 sur 189 shared_doc.d_read public shared_doc.d_edit editor

 A  

&   - ; -    3-      (    ;      -     -            7 -  $     $ 8  =       family_name                 

  ,-

+    ,     7  ,    8     7   -8    7  -8      -     1          

:$     1

/home/sympa/etc/families/myfamily/mail_tt2/ /home/sympa/etc/families/myfamily/mail_tt2/bye.tt2 /home/sympa/etc/families/myfamily/mail_tt2/welcome.tt2

;    

;                >'(-          family   list  (        >'(-  :       N       

%        1

sympa.pl --instantiate\_family my_family --robot \samplerobot --input\_file /path/to/my\_file.xml

&       my_family       my_robot        -my_file.xml    -  >'(-     : >'(-     

E 7 ;          -          E5            &*!&

:$1

liste1 a list example open editor private fr [email protected] C.R.U.

140 sur 189 [email protected] my_file oracle sqlserv.admin.univ-x.fr stdutilisateur monsecret les_etudiants SELECT DISTINCT email FROM etudiant liste2 a list example open editor private fr [email protected] C.R.U. [email protected] my_file oracle sqlserv.admin.univ-x.fr stdutilisateur monsecret les_etudiants SELECT DISTINCT email FROM etudiant ...

:                       1

    1           /  -  1   $             >'(-      /   1            ;              ;        family_closed       >'(-              -   

       -          1

fixed   1      / controlled   1        / free   1     

 

; -  7 8  ,     1

141 sur 189 7@81    -7      8    config_changes-        -   -       1 fixed   1      controlled   1            free   1   / 7#81   -   -      / 7.81         -   -

= 1

+   7 -                   8       error_config       - &                     +      $       family_closed      - +        ,       -

'- 

&       -  &-  N   $       )2$2:1& -     0                             error_config 

 

  7         8  1     family_closed          *97                 8

%    1

sympa.pl --close_family my_family --robot \samplerobot

    

             &                      &>'(-         (       (          

%      1

sympa.pl --add\_list my\_family --robot \samplerobot --input\_file /path/to/my\_file.xml

6    

           1      family_closed         *97                8

142 sur 189 %     7    81

sympa.pl --close_list my_list@\samplerobot

'   

'-           & 7         8 - -        &>'(-          (       (          

%       1

sympa.pl --modify\_list my\_family --robot \samplerobot --input\_file /path/to/my\_file.xml

:         $

   -edit_list.conf       (    9     $                ,    1

 

= 1         ,            -7       8    config_changes-

   

   -                  (              -   7    8       ,  '                  

         -                     &              

&          1

 -   '& <          / -      /  -      

 -    '&

& <    7  -$8

&    -   '&      -  &      ,                   queue     familyqueue   + $             auto-                    

143 sur 189 familyqueue$ #   1      7  queue     $    8

= G    1       4                 $     & -      [email protected]  &              (*)   7        1F(- 8     age-occupation

+   -  '&   'auto-*G familyqueue   age-occupation

/etc/postfix/main.cf ... transport_maps = regexp:/etc/postfix/transport_regexp

/etc/postfix/transport_regexp /^.*+owner\@lists\.domain\.com$/ sympabounce: /^auto-.*\@lists\.domain\.com$/ sympafamily: /^.*\@lists\.domain\.com$/ sympa:

/etc/postfix/master.cf sympa unix - n n - - pipe flags=R user=sympa argv=/home/sympa/bin/queue ${recipient} sympabounce unix - n n - - pipe flags=R user=sympa argv=/home/sympa/bin/bouncequeue ${user} sympafamily unix - n n - - pipe flags=R user=sympa argv=/home/sympa/bin/familyqueue ${user} age-occupation

  [email protected]<     /home/sympa/spool/automatic-   queueautomaticsympa.conf    7<    8 &-         sympa.pl                    

& 4    7  8

;   G   -$  G     -$                1 4 

&      K4' '   , 2 1KO#BO"9O"*O#B' O#BO"9 O"*O#B'  O#BO"9 O"*O#B O#BO"9 O"*O#B 5

          ,               G   ;   <  

+     G    

&       1

;   4 

            1 13304     3 4  3 2 13304     3 4  35

       1tar xzvf sympa-milter-0.6.tgz

&      1

144 sur 189 # cd sympa-milter-0.6/ # ./configure # make # make install

&       /usr/local/sympa-milter/7         –prefix -   8

&      /etc/init.d/ sympa-milter  G         /etc/rc3.d ;  G   +  ( $        /sbin/chkconfig    

/sbin/chkconfig sympa-milter on

         -   -sympa-milter.conf  -  -    - /usr/local/sympa-milter/etc   &-         >'(4   ;      -      <  1 parameters_name parameter_value

           -             $  ;      1

A7    81       4  / A 7  81       / A  7  1 3 81;    syslog     [ID 000000 local6.info]             7  81        /     -    '&/ A 7  81     automatic [http://www.sympa.org/wiki/manual/organization#spools]   / A-7  81     -7  d /usr/local/sympa-milter/var/sympa-milter.pid8/ AA  7  8        $  4  7  dsympa    configure    8/         / AA         $  4  7  dsympa    configure    8/         /  -            -     $   4         &                   $1

family recipient_regular_expression

   T U7    8     $   

%  $sympa-milter.conf-4     1

# # Section general #

145 sur 189 log_level 10 log_facility local6 log_severity yes

socket inet:2030@localhost

spool_dir /usr/local/sympa-milter/var

pid_file /usr/local/sympa-milter/var/sympa-milter.pid

run_as_user sympa run_as_group sympa # # Section families # # Syntax : # family recipient regular expression # joe ^joe+.*@one.domain.com toto ^[email protected] best ^best.*@another.domain.com

2;            $     TeU &     G     4       

       $   -       

    '&

             1

     '&   4  1

O InputMailFilters=sympa-milter Xsympa-milter, S=inet:2030@localhost, T=C:2m;S:20s;R:20s;E:5m

-            7         8  G $ ;        T U $     1

auto : /dev/null



auto : "some_file"

6  '& -  W

*-    

        etc/families/age-occupation/config.tt2     &&#    -  4 4L  (*)    &&# 

/home/sympa/etc/families/age-occupation/config.tt2 ... user_data_source include2

[%

146 sur 189 occupations = { cto = { title=>"chief technical officer", abbr=>"CHIEF TECH OFF" }, coo = { title=>"chief operating officer", abbr=>"CHIEF OPER OFF" }, cio = { title=>"chief information officer", abbr=>"CHIEF INFO OFF" }, } nemes = listname.split('-'); THROW autofamily "SYNTAX ERROR: listname must begin with 'auto-' " IF (nemes.size != 2 || nemes.0 != 'auto'); tokens = nemes.1.split('\.'); THROW autofamily "SYNTAX ERROR: wrong listname syntax" IF (tokens.size != 2 || ! occupations.${tokens.0} || tokens.1 < 20 || tokens.1 > 99 ); age = tokens.1 div 10; %]

custom_subject [[% occupations.${tokens.0}.abbr %] OF [% tokens.1 %]]

subject Every [% tokens.1 %] years old [% occupations.${tokens.0}.title %]

include_ldap_query attrs mail filter (&(objectClass=inetOrgPerson)(employeeType=[% occupations.${tokens.0}.abbr %])(personAge=[% age %]*)) name ldap port 389 host ldap.domain.com passwd ldap_passwd suffix dc=domain,dc=com timeout 30 user cn=root,dc=domain,dc=com scope sub select all

&             listname     $

 -   

=            & 1

  automatic_list_feature    on -        automatic_list_creation7     A A     8/   queueautomaticsympa.conf              7  N    /home/sympa/spool/msg8

              ,   /       automatic_list_removal    if_empty

/home/sympa/etc/sympa.conf ... automatic_list_feature on automatic_list_creation public queueautomatic /home/sympa/spool/automatic automatic_list_removal if_empty

      automatic_list_creation     1

              /           4    /       smtp smime         7     <   " 8 '     do_it reject   

=      4 JB  4  "B       L

   G   G      $          , 

147 sur 189 :  0   

& -   -              

:               -      &      <   owner7 owner_include8 subject          

 -              9(=R(;=:=(W

!             ,       1

( -   /   3   / ) /  / 9   / *   /    :  0  

 0 subject //#/

&       0         LISTS   & 0    $     



7*   1conceal8

&visibility   -     ,    7  ,    8

&                      LISTS  

visibilityconceal72 133    3   3  3 3 3  3  58 visibilityintranet72 133    3   3  3 3 3  3    58 visibilitynoconceal7 2 133    3   3  3 3 3  3  58 visibilitysecret72 133    3   3  3 3 3  3   58

 

&config-   owner     ;       -   + 

148 sur 189  -     A  

:$1

owner email [email protected] gecos C.R.U. info Tel: 02 99 76 45 34 reception nomail

&            ,    ADD DELETE 7    8     

       -         $                    SUBSCRIBE <    

&       /              owner   

&owner               G     1

email   G4 / reception nomail              !  -         1     ,        reception nomail            / visibility 0 ff*-           gecos )         / info   # . )          / profile privileged | normal   # . " ) -   &                  

  A  

&config-   owner_include       -7*    -  ;      -   1   $    +     -              4 

:$1

owner_include source myfile source_parameters a,b,c reception nomail profile normal

&owner_include               78       1

source myfile

149 sur 189 &    -1        -myfile.incl &-    ;               source_parameter  =    source    =&   &-$   / myfile.incl-     data_sources   source_parameters a,b,c ;            N   param        -7*    -8 &        reception nomail        78     visibility 0 ff*-            profile privileged | normal ) -   78

 

&config-   editor      7   8 ;        -   +  -              A  

:$1

editor email [email protected] gecos Pierre paul (Computer center director)

        ,            editor editorkey editorkeyonly &editor            7privateoreditorkey8

& $                    - 

  A  

&config-   editor_include       -7*     -8 ;      -   1   $    +     -               

:$1

editor_include reception mail source myfile source_parameters a,b,c

& $         A  GG           - 

 topics  3      3  

&    -      -      

150 sur 189    G        &   N    msg_topic       



7*   1domain robot parameter8 host  /1 //

*                robot.conf-  - /etc/sympa.conf

 

7*   1lang robot parameter8

:$1

lang en_US

&   -        ;     ,  G     /      $      

;    ,     

 A 

&               

:$1

family_name my_family

  A    

&              

:$1

latest_instantiation email [email protected] date 27 jui 2004 at 09:04:38 date_epoch 1090911878

:  

7*   1private8

&send   -     ,    7  ,    8

151 sur 189 &   -     ?           

sendclosed72 133    3   3  3 3 3  3  58 sendeditorkey72 133    3   3  3 3 3  3     58 sendeditorkeyonly72 133    3   3  3 3 3  3       58 sendeditorkeyonlyauth7 2 133    3   3  3 3 3  3        58 sendintranet72 133    3   3  3 3 3  3     58 sendintranetorprivate7 2 133    3   3  3 3 3  3        58 sendnewsletter72 133    3   3  3 3 3  3    58 sendnewsletterkeyonly7 2 133    3   3  3 3 3  3       58 sendprivate72 133    3   3  3 3 3  3    58 sendprivate_smime72 133    3   3  3 3 3  3    A58 sendprivateandeditorkey7 2 133    3   3  3 3 3  3        58 sendprivateandnomultipartoreditorkey7 2 133    3   3  3 3 3  3             58 sendprivatekey72 133    3   3  3 3 3  3      58 sendprivatekeyandeditorkeyonly7 2 133    3   3  3 3 3  3            58 sendprivateoreditorkey7 2 133    3   3  3 3 3  3        58 sendprivateorpublickey7 2 133    3   3  3 3 3  3        58 sendpublic72 133    3   3  3 3 3  3   58 sendpublic_nobcc72 133    3   3  3 3 3  3   A 58 sendpublickey72 133    3   3  3 3 3  3     58 sendpublicnoattachment7 2 133    3   3  3 3 3  3      58 sendpublicnomultipart7 2 133    3   3  3 3 3  3       58

 digest # 1 

*-   digest ;                     3 ';':  '                             

Daylist            7 B    C   8    

:$1

digest 1,2,3,4,5 15:30

152 sur 189 ;  $    .1.B)' '   + 

)2$2:1      7      8          &           #.1BB

= 9 1;   $ digest        

 A$A,

7*   1258

'$     ;   $            

A  A  

&available_user_options        -          

reception

7*   1reception mail,notice,digest,summary,nomail,txt,html,urlize,not_me8  7mailnoticedigestsummarynomailtxthtmlurlizenot_metopics8               ;          -       -   default_user_options  

:$1

## Nomail reception mode is not available available_user_options reception digest,mail

  A  A  

&default_user_options        -    -       

& -       3     ;          default_user_options       $     reception notice | digest | summary | nomail | mail '    visibility conceal | noconceal ?       REVIEW 

:$1

default_user_options reception digest visibility noconceal

153 sur 189 A 

&msg_topic        -      +      -    7' 8

:$1

msg_topic name os keywords ,mac-os,nt,xp title Operating System

)   msg_topic.name msg_topic.title    msg_topic.title     7other    msg_topic.name   8 & msg_topic.keywords                  

= 9 1   $ msg_topic.keywords       

A A   A A

&msg_topic_keywords_apply_on   -            7' 8

:$1

msg_topic_key_apply_on subject

;   1subjectbody subject_and_body

A A  

&msg_topic_tagging           <    7' 8

:$1

msg_topic_tagging optional

;   T  UT <  A   U T <  A  U    <     <                     

 A A

&reply_to_header       -      Reply-To: '&) -    

value sender | list | all | other_email7*   1sender8

&        Reply-To:-        7sender8   7list8     7all8      7-   

154 sur 189 other_email   8

= 1                  list :$                                      &                <  

other_email ;value  other_email           apply respect | forced7*   1respect8  &     7  8 $  Reply-To:'&) -     ;  forced Reply-To:'&) -   

:$1

reply_to_header value other_email other_email [email protected] apply forced

   A  anonymous_sender! 

;                   '&) From:             anonymous_sender    ?    -  7Received:Reply-To:Sender:X-Sender: Message-id:Resent-From:

  A custom_header#/:! 

&      & -        @ # #            -    -   

:$1

custom_header X-url: http://www.cru.fr/listes/apropos/sedesabonner.faq.html

#.CDA A- rfc2369_header_fields#2#!7*   1rfc2369_header_fieldssympa.conf    8

6+#.CD  -7( 4$$$8     & 4-    '!G  

A 

155 sur 189 7*   1remove_headerssympa.conf   8

  -   '&) -           <                

A  A 

7*   1remove_outgoing_headerssympa.conf   8

  -   '&) -              <                

  A 0 custom_subject! 

&      ; -     0    7               8 &      G25G   

&   0       72O <  O5  $8

:$1

custom_subject sympa-users

  $1

custom_subject newsletter num [%list.sequence%]

  A  footer_type mime | append7*   1mime8

&      (                &   -     3  

footer_typemime &        3  ';': ;      3           7    <     ';':     8 footer_typeappend       ';':       3        /home/sympa/expl/mylist/message.footer.mime   % 3       $ 3   :  

&  -      

156 sur 189   

7*   1open8

&subscribe   -     ,    7  ,    8

&subscribe   -          ) -   ,      1

subscribeauth72 133    3   3  3 3 3  3    58/ subscribeauth_notify7 2 133    3   3  3 3 3  3    A   58/ subscribeauth_owner7 2 133    3   3  3 3 3  3    A  58/ subscribeclosed72 133    3   3  3 3 3  3   58/ subscribeintranet72 133    3   3  3 3 3  3      58/ subscribeintranetorowner7 2 133    3   3  3 3 3  3         58/ subscribeopen72 133    3   3  3 3 3  3    58/ subscribeopen_notify7 2 133    3   3  3 3 3  3    A   58/ subscribeopen_quiet7 2 133    3   3  3 3 3  3    A<  58/ subscribeowner72 133    3   3  3 3 3  3     58/ subscribesmime72 133    3   3  3 3 3  3   58/ subscribesmimeorowner7 2 133    3   3  3 3 3  3      58

  

7*   1open8

&unsubscribe   -     ,    7  ,    8

&   -          !open_notify auth_notify      -       ) -   ,     1

unsubscribeauth72 133    3   3  3 3 3  3     58/ unsubscribeauth_notify7 2 133    3   3  3 3 3  3     A   58/ unsubscribeclosed72 133    3   3  3 3 3  3    58/ unsubscribeopen72 133    3   3  3 3 3  3     58/ unsubscribeopen_notify7 2 133    3   3  3 3 3  3     A   58/ unsubscribeowner72 133    3   3  3 3 3  3      58



157 sur 189 7*   1owner8 add   -     ,    7  ,    8

&   -  ,   ADD  ) -   ,      1

addauth72 133    3   3  3 3 3  3  58/ addclosed72 133    3   3  3 3 3  3 58/ addowner72 133    3   3  3 3 3  3   58/ addowner_notify72 133    3   3  3 3 3  3   A   58



7*   1owner8

&del   -     ,    7  ,    8

&   -  ,   DEL  ) -   ,      1

delauth72 133    3   3  3 3 3  3  58/ delclosed72 133    3   3  3 3 3  3 58/ delowner72 133    3   3  3 3 3  3   58/ delowner_notify72 133    3   3  3 3 3  3   A   58

  

7*   1owner8

&            ;      add     &   -    &    - 



7*   1owner8 review   -     ,    7  ,    8

&   -  REVIEW7!  8    <  

) -   ,     1

reviewclosed72 133    3   3  3 3 3  3  58/ reviewintranet72 133    3   3  3 3 3  3     58/ reviewlistmaster72 133    3   3  3 3 3  3     58/ reviewowner72 133    3   3  3 3 3  3    58/ reviewprivate72 133    3   3  3 3 3  3    58/ reviewpublic72 133    3   3  3 3 3  3   58

 

158 sur 189 7*   1owner8

&remind   -     ,    7  ,    8

&   -  ,   remind  ) -   ,      1

remindlistmaster72 133    3   3  3 3 3  3      58/ remindowner72 133    3   3  3 3 3  3     58

 A

&  -           

A 

7*   1private8

&d_read   -     ,    7  ,    8

&   -     7    Gshared    8

) -   ,     1

d_readowner72 133    3   3  3 3 3  3A    58/ d_readprivate72 133    3   3  3 3 3  3A    58/ d_readp72 133    3   3  3 3 3  3A  58/ d_readpublic72 133    3   3  3 3 3  3A   58

A

7*   1owner8

&d_edit   -     ,    7  ,    8

&   -       Gshared   7   -        8

) -   ,     1

d_editeditor72 133    3   3  3 3 3  3A   58/ d_editowner72 133    3   3  3 3 3  3A   58/ d_editprivate72 133    3   3  3 3 3  3A   58/ d_editp72 133    3   3  3 3 3  3A 58/ d_editpublic72 133    3   3  3 3 3  3A  58

:$1

shared_doc d_read public d_edit private

159 sur 189 <   quota  //3 

&   -  <             ;<  $- 

:   

        ;      " #     '      /home/sympa/expl/mylist/archives/  

        7  8         -  T   U7    A  ?  " #          

 

; T -U-   T U        

:$1

archive period week access private

; archive   -         GET    $         INDEX 7           LAST 8 period day | week | month | quarter | year

&   -    ,1 dayweekmonthquarter year  H         <                     7/home/sympa/expl/mylist/archives/8        access private | public | owner | closed

&   -  ,   GETLAST INDEX 

A 

; config-  web_archive           queueoutgoing ;       G%&'(   &                   

:$1

web_archive access private quota 10000

160 sur 189 A  

&access_web_archive   -     ,    7  ,     8

) -   ,     1

accessclosed72 133    3   3  3 3 3  3AA  58/ accessintranet7 2 133    3   3  3 3 3  3AA     58/ accesslistmaster7 2 133    3   3  3 3 3  3AA     58/ accessowner72 133    3   3  3 3 3  3AA    58/ accessprivate7 2 133    3   3  3 3 3  3AA    58/ accesspublic72 133    3   3  3 3 3  3AA   58

A  <   quota  //3 

&   -  <     G     &   G   default_archive_quotasympa.conf   ;<  $            -     D"O    

A  $A 

T$A U     $                 

 A  A

7*   1cleartext8 archive_crypted_msg cleartext | decrypted

&   -  G    3';':    ;   cleartext         /  decrypted     =            

: +  

 

&  -       1

161 sur 189 warn_rate 7*   1bounce_warn_rate robot parameter8 &              7  8  $   halt_rate 7*   1bounce_halt_rate robot parameter8 T=&!:*:&U ;     halt_rate               <          $             expire_bounce_task 7*   1daily8 =          !                  ;        R  task_manager.pl  

:$1

## Owners are warnt with 10% bouncing addresses ## message distribution is halted with 20% bouncing rate bounce warn_rate 10 halt_rate 20

  A@

rate 7*   1default_bounce_level1_rate      8 :     7 B @BB8 &   -         @    + $          J" b"  @   action remove_bouncers | notify_bouncers | none 7*   1notify_bouncers8 &   -       @    1 $       @   notification none | owner | listmaster 7*   1owner8          @    -              &                  

  A#

rate 7*   1default_bounce_level2_rate      8 :     7 B @BB8 &   -         #    + $          b" @BB  #   action remove_bouncers | notify_bouncers | none

162 sur 189 7*   1remove_bouncers8 &   -       #    1 $       #   notification none | owner | listmaster 7*   1owner8          #    -              &                  

:$1

## All bouncing adresses with a score between 75 and 100 ## will be unsubscribed, and listmaster will receive an email Bouncers level 2 rate:75 Points action: remove\_bouncers Notification: Listmaster

A  A  welcome_return_path unique | owner 7*   1welcome_return_path robot parameter8 ;  unique     <                    A  A      

 A  A  remind_return_path unique | owner 7*   1remind_return_path robot parameter8 welcome_return_path        A  A       

 A  

7*   1verp_rate host parameter8 ?:6)       ?:6)  

 verp_rate ?:6)   /verp_rate@BBO?:6)   

?:6) <         VX   

: * 

 A A 

7*   1include2   6*9'8 user_data_source file | database | include | include2

163 sur 189   81F1'include   include21 8191'include2     1

+;  1$ #         456+         7 subscribers &  #   #           -      #     456+     & 8#   # 9  9 &     # 9 9  9 9   # 9 :9& 8#   #  !  # 9  9    #!  # # &  #  ;&<&- # 9 9         9 :9     #! ! # 99  9 9   # ! !  & 8#  #   ;&= #       9 :9&  #   #   &

                  !          $ -           $    7 L -   (*) F(<  8

user_data_sourcefile             - -    subscribers    sympa.conf &       user_data_sourcedatabase &             &              %&&)                ;     ' F(   #BBBBB               $ - ;        L       )        user_data_sourceinclude %       - -! 7       8 ! 7-             8 ;      $        F( (*)<                    -      ?    78 include_file include_listinclude_remote_sympa_listinclude_sql_query  include_ldap_query user_data_sourceinclude2 &       ;         *9+        &         7'     8 &                 



7*   136008 ttldelay_in_seconds

    $     include_xx -       & &&( 7 4 48           &   .CBB

   A  distribution_ttldelay_in_seconds

164 sur 189 9              G  4 4  & $     ,              -          ,       G         

&         1

      

  A include_listlistname

    listname            <     include_listlistname           / user_data_source-                     -          9         A  B    B  A         -  

:$1

include_list local-list

  $1

include_list other-local-list@other-local-robot

  A  A A include_remote_sympa_list

           %&&)                          <      include_remote_sympa_list      9          -       

+                                       &      ,    

+       -      !6;

remote_host#/ port7*  JJ.8/ path   #7     3 3 38

9 %&&)N          %&&)                  1    - 7      8  1

certlist & -      - 7  -  0         8 & -              certrobot

165 sur 189 & -         1  -  0        [email protected] -      etc      /       /home/sympa/etc

  A<A<  include_sql_query

;       -   F(<     1

db_type  &  7 <F( )  ? 8 &  - ) * 9 *  7*9*8      4   host# &*          db_port ;       6*9'      db_name   &      user  &            passwd  &   user sql_query 1   &F(<     =-          <  W connect_options>?-@:?  &      - 6*9'  &            :$1

include_sql_query db_type mysql host sqlserv.admin.univ-x.fr user stduser passwd mysecret db_name studentbody sql_query SELECT DISTINCT email FROM student connect_options mysql_connect_timeout=5

 $     " 

db_env! &     /   6*9'7 8                &G/G        :$  1

db_env ORACLE_TERM=vt100;ORACLE_HOME=/var/hote/oracle/7.3.4

name#  &      ;    4       ;    6:?;:    0    7    

166 sur 189     8 f_dir!! &      ;      ?        ?               ?-  

:$1

include_sql_query db_type oracle host sqlserv.admin.univ-x.fr user stduser passwd mysecret db_name studentbody sql_query SELECT DISTINCT email FROM student

  AA<  include_ldap_query

&  -     (*)<          &  <   Net::LDAP7 8):6( 

host # = (*)         1 &            (*)  :$1

host ldap.cru.fr:389,backup-ldap.cru.fr:389

port 79(:&:8 )   *        user  !     (*)   passwd5',   )  user use_ssl 0 ;  yes (*)    ssl_version!:0!<07*   1sslv38 ;  (    -   ( &(  ssl_ciphers# 7*   1ALL8 ;  (    -                   (    &   = 11(*)  ALL           W suffix  *-        7      (*)  8 timeout  &          filter# *-  (*) -  76+##"J 8 attrs 7*   1mail8 &       78  0   

167 sur 189 select | 7*   1first8 *-        -              scope  |  |  7*   1sub8 9           -0 &              1 !1    0   1      0  !1    0

:$1

include_ldap_query host ldap.cru.fr suffix dc=cru, dc=fr timeout 10 filter (&(cn=aumont) (c=fr)) attrs mail select first scope one

  AA#A<  include_ldap_2level_query

&  -      4(*)<          !    -  4<     *=   4<     *=    &     user_data_source  include &  <    Net::LDAP7 8)  

host # = (*)         1 &            (*)

:$1

host ldap.cru.fr:389,backup-ldap.cru.fr:389

port 79(:&:8 )   *       7       -       -  8 user  !     (*)   passwd5',   )  user use_ssl 0 ;  yes (*)    ssl_version!:0!<07*   1sslv38 ;  (    -   ( &(  ssl_ciphers# 7*   1ALL8 ;  (    -                   (    &   = 11(*)  ALL           W

168 sur 189 suffix1  *-       -  4 7      (*)  8 timeout1  &   -  4<            filter1# *-  (*) -    -  4<  76+##"J 8 attrs1 

&         0         4<  &         $[attrs1]

select1 |  | -7*   1first8 *-        -                 $  regex1 -7*   18 &)    $    select1  regex scope1  |  |  7*   1sub8 9    -  4       -0 &              1 !1    0   1      0  !1    0 suffix2  *-        4 7      (*)   8 &[attrs1] $         -  4<        timeout2  &    4<            filter2# *-  (*) -     4<  76+##"J 8 &[attrs1]  $         -  4<       attrs2 7*   1mail8 &       78  0      4<   select2 |  | -7*   1first8 *-        -               $     4<   regex2 -7*   18 &)    $    select2  regex scope2  |  |  7*   1sub8 9     4       -0 &      #        1 !1    0   1      0  !1    0

:$1

(cn=testgroup,dc=cru,dc=fr should be a groupOfUniqueNames here)

169 sur 189 include_ldap_2level_query host ldap.univ.fr port 389 suffix1 ou=Groups,dc=univ,dc=fr scope1 one filter1 (&(objectClass=groupOfUniqueNames) (| (cn=cri)(cn=ufrmi))) attrs1 uniquemember select1 all suffix2 [attrs1] scope2 base filter2 (objectClass=n2pers) attrs2 mail select2 first

  A- include_filepath_to_file

&-                       7    G\G   8

  -1

## Data for Sympa member import [email protected] John Smith - math department [email protected] Sarah Hanrahan - physics department

  A  A- include_remote_file

&   7  ,  8  include_file   $        - !          -            &     1

url  & !6(   -    user  &    ;    %&&)     <      - passwd   &    ;    %&&)     <      -

:$1

include_remote_file url http://www.myserver.edu/myfile user john_netid passwd john_passwd

: /  

 A 

170 sur 189 7*   1    8

&         remind  remind                        

:$1

remind_task annual

$ A 

7*   1    8

&          expire   expire            7       8                ;        

:$1

expire_task annual



7*   1owner8

&review   -     ,    7  ,    8

&   -   REVIEW 7!  8    <  

) -   ,     1

reviewclosed72 133    3   3  3 3 3  3  58/ reviewintranet72 133    3   3  3 3 3  3     58/ reviewlistmaster72 133    3   3  3 3 3  3     58/ reviewowner72 133    3   3  3 3 3  3    58/ reviewprivate72 133    3   3  3 3 3  3    58/ reviewpublic72 133    3   3  3 3 3  3   58



$A,

7*   1max_size robot parameter8 max_size  // 

'$ , P4   &      /etc/sympa.conf-

A   A $

171 sur 189 7*   1loop_prevention_regex sympa.conf parameter8 loop_prevention_regex/0 0!000

&   $       ;          $      0  &                

 A 

7*   1pictures_feature robot parameter8 pictures_feature 0 A

&                 

 

7*   1cookie robot parameter8 cookie/  //

&    -                   7ADDDELETE  8 &            &                   auth   7  8

:$1

cookie secret22

  

7*   1default_list_priority robot parameter8 priorityB/C

&         &          

B     &      10...9 z z          -   7      8

  # . @

 

A   

7*   1spam_protection robot parameter8

172 sur 189 &                   ?            spam_protection  web_archive_spam_protection    )  1

javascript1     K  !  K              at1 GYG      G&G none1        

A AA   

7*   1web_archive_spam_protection robot parameter8

&spam_protection            1 cookie                      &         

:   

   -   7    N         8 !                1                                          

' -    

  -       +       msg_topic    -          ;   -                           -    7A 8 &-            -  msg_topic_keywords_apply_on    7 A A   A A 8 &      <       A A     

          

&     normal               &               other &              7subscriber_table 8

'  

+     msg_topic.keywords -         &                      ,    1       editorkey7 $   

173 sur 189 send.editorkey8          ;       request_auth7 $   send.privatekey8         &         ,  1topic topic-sendertopic-editortopic-autotopic-needed7  ,    8 ;    <                

&        -  /home/sympa/spool/topic/ ;       '4;* +    X-Sympa-Topic-       -  

  &   

;     "G"  "     ;            G  4    3   

:    

        N                       ,                       

G        ;                     4 ;         -                     

-          ;  <       N      N       &        !6(       %&'(      7  )  8     - W

;                            -     1   

 G        /home/sympa/expl/mylist/shared   &         Create shared            shared_doc    ;   G                shared_doc         create_list_templates/xx/config.tt2-

&                  1

            /     /    -  /       /  -

&         

174 sur 189                            1

    /     /    

&   

;            7    4       ,  TU8

; -      -7--# 8  

&   

; 1

       / -  / - , /      7       8/      $ -/   7-    8  *          

&N      <       !    ,               -      !   ,  -          

&   

&                ;             =       ,            <     -          )             63:   

&                                                             

&   -

&    7       8                -   -    .desc -$

&   -      mydirectory/mysubdirectory   mydirectory/mysubdirectory/.desc &   --    mydirectory/mysubdirectory/myfile.myextension   mydirectory/mysubdirectory/.desc.myfile.myextension

175 sur 189      -

&    7-    8   -    !      -

title

creation email date_epoch

access read edit

& $                             

title module C++ which uses the class List

creation email [email protected] date_epoch 998698638

access read private edit owner

& -   ,    

&   

&public        ;    7       8         

&    

&private        :        ,         &private         shared      & -      -   -

&   

&  owner                           7      8           &owner          

&   

&  editor        :           9         0       

176 sur 189 *                  78       &                       -            -  ;  0              

 

                  

&                           

(       

&                  &            &           ;                             

    

;                          shared   7     8    &         -    -   -        -        ,   G -         shared  

H   mydirectory/mysubdirectory/myfile                    G          7   8     &  1

6    &  ,       mydirectory/mysubdirectory/myfileG     ,          /    3     myfile7   ,        -myfile    do_it   G8    mysubdirectory mydirectory8  ;                            mydirectory/mysubdirectory/myfile              myfilemysubdirectory mydirectory  &  ,1

X can read if (X can read AND X can read AND X can read ) OR (X owner of OR X owner of OR X owner of )

177 sur 189 :     &           1

X can edit if (X can edit AND X can edit AND X can edit ) OR (X owner of OR X owner of OR X owner of )

     &     7          8                             1

X can control if (X owner of OR X owner of OR X owner of )

     

&      

  D_ADMIN           &d_admin    G     D_READ 6        ;               ; -        ;        - index index.htm                             $ &d_read     G    D_CREATE_DIR                     &           &            D_DESCRIBE *          D_DELETE *        ;       D_UPLOAD !-           D_UNZIP ! ,-             &-        c;)-         D_OVERWRITE    -    &    -              D_EDIT_FILE D_SAVE_FILE

178 sur 189 : -       &    -           D_CHANGE_ACCESS       7   8          ,   D_SET_OWNER                 , &      &                        

& -

&   -        

A  #

&       ; -  78   ;                   N         ;             -  ;                          c;)-      -   ;             

A - #

&   - ;  $ -      &    -      

A  #

&          

A  #

&  -       -  $ 

A   #

&       -    

: +    

  7  4   8  &          7@        8    $               0          

9     mylist-owner 7     -owner E$   ,

179 sur 189   A A E$8    bouncequeue     1

samplelist-owner: "|/home/sympa/bin/bouncequeue samplelist" bouncequeue79  8    /home/sympa/spool/bounce/

9       bounced.pl &     -                 ;        G           7 subscriber_table8 '          bounce_path/mylist/email7 bounce_path -  wwsympa.conf        8 =    OTHER/                ,        

                       -                

            1

&    eval_bouncer      &   B @BB  -        7@ #8           $     process_bouncers 

&         1

Bounces count1            Type rate1  -               ;     mailbox is full7     J # #   8    B "       7" $ $8   <  @ Regularity rate1                 E  &  E   msg_count- 

&   1

Score = bounce_count * type_rate * regularity_rate

&   7  -   8              1

&       minimum_bouncing_count7   A  A 8 &       minimum_bouncing_period7  A  A 8

9     $       &   @B      ,     expire_bounce  7$ A A  8

  -           0          +  7  A@8 &           

  -          7  A@8 :        -         7   A@8

,%

180 sur 189 ?:6)7? : 6 ) 8                  ;?:6)                     7 8               &                                ?:6)                   %   ?:6) -   ?:6) <                       , 

;     -  ?:6)          ?:6)         ; $ verp_rate7 A  8@BO    @B             ?:6)  (       ?:6)          ,     ?:6) 

;?:6)         1

Return-Path:

=             VX76 8



6+7 + 6  +  8         ;       (     (                   9                6+          ;      -  6+      ;   1               1

abuse-feedback-report: "| /home/sympa/bin/bouncequeue sympa@samplerobot"

&           ;)7 $(8 &              4  4 4         ;                   !  ,       

:    

      $           ;         antivirus_path antivirus_args -      7  A 4       '3  + 3?)&  ' 3?      +   $   ';':    /home/sympa/spool/tmp/antivirus                               &*!&   your_infected_msg.tt2        &GG         7$      8

: 3   *

181 sur 189 (*) 4                      (*)   1

      (*)            7   8/ -      ,       7=+  8/ (*)$       7  A A 8/ (*)$         7*    -8/    (*)7  8 :  &$%  ""

3';':     ';': >"BD -  9      3';': 73 8              1 S/MIME Secure MIME &         Simple

&              3';':    -    ;          3';':    $W6+  #.@@#.@##C.##C.. #C.J       3';': )R\b )R;  ;    # b -        3';':   4    

     ! 

=   <              7     8   3';':       ';':          : '0     W  ';':                            &                              7'    8               

3&$% !  

   3';':       3';':                            -    &              3';':   3';':             ' 3';':                          W&  1 $                   7 $Subject:Date:  To:                    

     3';':          Subject:-      -subscribe -unsubscribe 

3&$%  

3        S/MIME Symmetric Key Distribution      &   <               

182 sur 189  

   3                         

;                  >"BD -                   G -  &          -         &     # P 

& 0  

;   

&   <    (7 133    2 133    58  B D "    (    $    7    -$8           7$    8

'     - 

!  -             3';':                        -   & -         )R;  1         -   )R; -    7(*)8

& G         -        -          

 -    ):'-  /home/sympa/expl/X509-user-certs/   +     Y  Y    Y  Y 7 @enc @sign E$       -  8 =             -                  -

 -       

&3  -     ;     (      ;      (                 

& <         -    -   (      -     -    &        openSSL  capath 3 cafile

openssl1     (  -   /usr/local/ssl/bin/openSSL/ cafile7 capath81   7      8   -  &- ~/home/sympa/bin/etc/cabundle.crt           &cafile-7  capath   8     VA -    & <    G      -      A  / key_password1            

183 sur 189  -      ,3';':  

 OpenSSL    sympa.conf -   3     3';':                       ,               7  ,    8

       ,                  ;        smtp                   smime      

;          ,        ,           <   0   <     ,            # b       ( -          ,     7     8    smime  & $  send.private_smime             3  1

title.us restricted to subscribers check SMIME signature title.fr limité aux abonnés, vérif de la signature SMIME

is_subscriber([listname],[sender]) smime -> do_is_editor([listname],[sender]) smime -> do_it is_owner([listname],[sender]) smime -> do_it

;  $           ,     &  $send.private_key <     '*"      3';':  1

title.us restricted to subscribers with previous MD5 authentication title.fr réservé aux abonnés avec authentification MD5 préalable

is_subscriber([listname],[sender]) smtp -> request_auth true() md5,smime -> do_it

      

;     3       &  3';':                         

 3     3';':        M;               >"BD -      <     G     &                           -   <                         & 3          

&3                        &              >"BD -     -   <       -         &    -      $      3      -                  /home/sympa/bin/p12topem.pl  &       )R\@# -          -        

;          7 133     2 133    58 3 )R;  G         -  

184 sur 189 4     -               G   cafile-  capath  -     

&          - /home/sympa/expl/mylist/private_key                -   password     sympa.conf

!      >"BD  - 

;  >"BD -                  1',    :$   -  $  -

%      -   1

H   -       -                   -  :$     -  &    = pkcs#12   -           \@#-  ):'-1cert.pem private_key    /home/sympa/bin/p12topem.pl  !p12topem.pl -help   9   cert.pem private_key     r   -               -     G       

   0 ;

        -          &        6    A A$   A    A  A  sympa.conf     -        

 A A$     

      chk_cert_expiration.daily.task    $      -     /home/sympa/expl/X509-user-certs/   &      daily_cert_expiration   3  - $     $      

 A     

    crl_update.daily.task          -       

: 3  

!                          <  7         8

&       <           

185 sur 189         <                 &         Subject:      &To:     Sympadomain      , listservdomain 

:$1

From: [email protected] To: [email protected]

LISTS INFO Sympa-users REVIEW Sympa-users QUIT

'      4     7  REV  REVIEW8

3 

HELP )           &       helpfile.tt2  - INFO )       -7        8     &      ~welcome[.mime] LISTS )        &          visibility   7? 8 &lists.tt2  -      LISTS  REVIEW )          ,          -   -     ,                              (  ! !  WHICH 6          -           7*;H:&=';(!''6=:(8 STATS )      - 1           &    stats-          review   INDEX )  $    -             GET  GET#! &     78       REVIEW       LAST &       78       GET  

186 sur 189 SUBSCRIBE   6<   4   - &        ;    -         7      8            INVITE %#  ;         - &      &    ADD    -                        SIGNOFF2 %#5 6<         - SIGNOFF *         SETDIGEST )         ;                      &            3   &                      :&(;&=':';(         Q9R'6R1 A  SSETSUMMARY )      summary   ;                      &   *;H:&              &        Q9R'6R1 A SSETNOMAIL )     nomail   &                              &                       :&(;&=':';(         SETTXT )     txt   &             $ 3   $ 3     $ 3           SETHTML )     html   &             $ 3   $ 3     $ 3           SETURLIZE )     urlize   &          - & -   !6(   -               SETNOT_ME )     not_me   &             3          Q9R'6R1 ASSETMAIL )      normal7  8   &        nomailsummary digest ;     nomail            :&(;&=':=';(         '        7' 8 Q9R'6R1 A SSETCONCEAL )      conceal   &      

187 sur 189   REVIEW              :&(;&=':==:(   ?    Q9R'6R1 A  SSETNOCONCEAL )      noconceal7  8   &        REVIEW  &conceal       :&(;&=':=:(   ?    QUIT :     &           $            G  7'!8 CONFIRM  ; send      privatekeypublickey privateorpublickey                      4   7    8 +           <      CONFIRM     QUIET &    7 8  1            -$ QUIET

.  

    <          &             <      &  1

ADD %#      SUBSCRIBE       -      QUIET -$7  1 QUIET ADD8 DELETE %# *    SIGNOFF       -      QUIET -$7  1 QUIET DELETE8 Q9R'6R1A  SREMIND REMIND                      &    remind.tt2- REMIND * REMIND *                   3      ;           global_remind.tt2- +          -       7     8 9                )       W

&   -$ QUIET          

  

;               7  8 '                  

DISTRIBUTE  ; send      editorkey editorkeyonly<   

188 sur 189       7<  8     &              REJECT  &             MODINDEX &     <         &           $           ,         :

 3  $ a( -1#BBb3B#3#B@"1BJ7$   8

189 sur 189



© 2022 Docslib.org