packages icon



 PETIDOMO(1)                      Petidomo                       PETIDOMO(1)
 Petidomo                                                           Petidomo

                             4.0b6 (19-Mar-2004)



 NAME
      petidomo -- Mailing List Manager

 VERSION
      OSSP Petidomo 4.0b6 (19-Mar-2004)

 SYNOPSIS
      petidomo --mode=deliver|dump --listname=NAME [--masterconf=FILE]

      petidomo --mode=listserv [--listname=NAME] [--masterconf=FILE]

      petidomo --mode=approve [--masterconf=FILE]

      petidomo [--approved]

 DESCRIPTION
      Petidomo is a mailing list manager very similar to the popular package
      Majordomo. It handles both list un-/subscription and the address
      expansion of list postings. The actual delivery of postings is still
      performed by an MTA like Sendmail.

      Petidomo provides only the most important features of Majordomo, but
      should be considered as rather complete. It will handle nearly most of
      the task you come across in handling several mailing lists.

 COMMAND LINE OPTIONS
      The Petidomo program provides the following command line options:

      --mode=MODE
          The mode parameter is the only mandatory parameter and it will
          determine what mode Petidomo runs in: listserv, deliver, approve,
          dump.

          listserv
              In this mode, Petidomo will expect to read an e-mail from
              standard input, which contains commands like subscribe, index
              or help. These commands will be carried out and notifications
              be sent back to the mail's originator if apropriate.

          deliver
              This mode will cause Petidomo to read the incoming e-mail from
              standard input and post it to the mailing list, which's name
              has been provided via the listname option.

          approve
              When running in this mode, Petidomo will read the incoming
              mail from standard input and search for any cookies that mail
              might contain.  If it does, it checks the ack-queue for a mail
              that has been deferred until confirmation that matches that



                                    - 1 -      Formatted:  December 26, 2024






 PETIDOMO(1)                      Petidomo                       PETIDOMO(1)
 Petidomo                                                           Petidomo

                             4.0b6 (19-Mar-2004)



              cookie and processes the mail.

          dump
              In this mode, Petidomo will expect the name of a mailing list
              on the command line --- the listname option --- and dump the
              list of subscribed addresses on that list to standart output.

      --listname=NAME
          The name of the mailing list Petidomo should work on.

      --masterconf=FILE
          Using this parameter you can tell Petidomo to use a different
          location for the master config file than the one that has been
          compiled in.

      --approved
          This flag is for internal purposes and should not be specified by
          the administrator. It will tell Petidomo that, whatever it is
          supposed to do now, is the result of a received confirmation
          cookie. This will effectively tell the checks for posting (in
          ListType acknowledged and acknowledged-once mode) and
          un-/subscription (in SubscriptionType acknowledged mode) that
          everything is fine and that the request should be carried out.

 CONFIGURATION
      Petidomo Global Configuration

      The global Petidomo configuration is stored in
      @PREFIX@/etc/petidomo/petidomo.conf.

      Syntax

              keyword       parameter

      If the parameter contains any blank characters, it has to be quoted,
      ie.:

              AdminPassword     "open sesame"

      The following directives are supported:

      Hostname string
          This entry specifies the fully qualified domain name, Petidomo
          should use. This will usually be the FQDN of the machine the
          software is running on. This option is mandatory. Petidomo will
          abort with an error, if it is unset.

          Example: Hostname petidomo.example.org




                                    - 2 -      Formatted:  December 26, 2024






 PETIDOMO(1)                      Petidomo                       PETIDOMO(1)
 Petidomo                                                           Petidomo

                             4.0b6 (19-Mar-2004)



      AdminPassword string
          This tag sets the master password, which authenticiates the
          administrator of the package. Please chose this password
          carefully.  Knowledge of the master password will enable you to
          access ALL mailing lists running on this system. Passwords are
          always case-insensitive.  This option is mandatory. Petidomo will
          abort with an error, if it is unset.

          Example: AdminPassword    "open sesame"

      MTA string
          The MTA tag tells Petidomo which mail transport agent should be
          used to deliver outgoing emails. Normally this option has been set
          by the install script already, so you don't need to worry about
          this anymore.

          Example: MTA     @PREFIX@/sendmail"

          but Petidomo will run fine with other mail transport agents, too.
          So far, the system has been tested with the Allman sendmail, SMail
          and qmail without any problems.  This option is required. Petidomo
          will abort with an error, if the master config file doesn't set
          it.

      MTAOptions string
          This tag is a bit tricky and in ninety-nine out of hundred cases
          you should simply leave this option undefined as it is rarely
          required anyway.  This entry sets the options which will be handed
          over to the MTA when it is called. You usually won't change this.

          Example: MTAOptions   "-odq -i -f%s"

          This will yield a call "$<$MTA$>$ -odq -i -f$<$envelope$>$". The
          `\%s' is replaced with the envelope the mail should be sent under.

          Adding options to the execution call of the mail transport agent
          can be useful to enable or disable certain features for mailing
          lists only, while leaving them on for all other mail. The `-odq'
          setting is a fine example. This parameter will tell the Allmann
          sendmail to queue all mail, instead of trying to deliver it
          immediately.

      ListDirectory string
          Here you can tell Petidomo the path to the directory where the
          mailing list config files reside. The compiled-in default is
          @PREFIX@/etc/petidomo.  When Petidomo tries to find the
          configuration of list, say, "foobar", it will look for any of the
          following files in this directory: foobar.conf, foobar.config,
          foobar/conf or foobar/config.



                                    - 3 -      Formatted:  December 26, 2024






 PETIDOMO(1)                      Petidomo                       PETIDOMO(1)
 Petidomo                                                           Petidomo

                             4.0b6 (19-Mar-2004)



      AckQueueDirectory string
          This tag will tell Petidomo where to store files that need to be
          queued for later processing --- for example subscribe requests
          that need to be acknowledged by the user before they'll be carried
          out. The default location is @PREFIX@/var/petidomo.  Please note
          that Petidomo will need permission to write to that directory in
          order for things to work.

      HelpFile string
          This tag will tell Petidomo where to find the text file that will
          be sent back to a user sending in a help command. The default
          location is @PREFIX@/etc/petidomo/petidomo.help.

      IndexFile string
          Similarly to "HelpFile" this tag will tell Petidomo where to find
          the text file that will be sent back to a user requesting the
          server's "index". The default location is
          @PREFIX@/etc/petidomo/petidomo.index.

      ACLFilePre  string
      ACLFilePost string
          This tags tell Petidomo the path to the system-wide ACL files for
          pre- and postprocessing. The default location is
          @PREFIX@/etc/petidomo/petidomo.acl-[pre|post].  This ACLs will be
          run against all incoming mails first before the mail is checked
          against the list specific ACLs.  Rules from an ACL-Pre file will
          be matched against incoming mail before certain processing in
          lists with ListType acknowledged and acknowledged-once mode set
          will take place.  The rules in an ACL-Post file is matched against
          the original posting after the approval process.

      Petidomo List Configuration

      While the master config file sets options which are relevant for the
      Petidomo package as a whole, the list config file sets options which
      are valid only locally for the mailing list.

      The list specific configuration is stored in
      @PREFIX@/etc/petidomo/$listname.conf.

      Syntax

              keyword       parameter

      If the parameter contains any blank characters, it has to be quoted,
      ie.:

              AdminPassword     "open sesame"




                                    - 4 -      Formatted:  December 26, 2024






 PETIDOMO(1)                      Petidomo                       PETIDOMO(1)
 Petidomo                                                           Petidomo

                             4.0b6 (19-Mar-2004)



      The supported keywords are as follows :

      ListType open | closed | moderated | acknowledged |  acknowledged-once
          This option tells Petidomo who is allowed to post to the mailing
          list.

          If this option is unset, the default is to run an open list.

          open
              On this type mailing list, everybody is allowed to post,
              whether he's subscribed or not.

          closed
              In this case only subscribers are allowed to post. That means
              that only mails coming from an address found on the list's
              address database will go through.  All other mails will be
              sent back to the person trying to post with the comment that
              he should subscribe first.

              Please note that a closed list may not do exactly what you
              want, because when a person is subscribed to a list as
              "example@address.net", but tries to post from a different
              account than that one, Petidomo will not let him post. It
              tries to recognize this case as far as possible: For example,
              it doesn't matter whether you are posting from
              "address@host1.address.net" or "address@host2.address.net",
              Petidomo will handle that. But if the article comes from
              "example@private.account", it will be rejected, even though
              the sender might be a valid subscriber. It depends on the
              subscribers of the mailing list, whether this is a problem or
              not.

          acknowledged
          acknowledged-once
              These types are better ways off keeping spam off your lists.
              In this case every time someone tries to post, he will get a
              short reply back which contains some cryptographic cookies.
              Furthermore the mail will tell him to please concatenate the
              cookies and sent it back Petidomo.  Once that is accomplished,
              Petidomo will let the posting pass.

              This means that only people will be able to post, that have a
              valid envelope or from address --- something spammers usually
              do not. Since the request for confirmation never reaches them,
              their postings will not go through. Everybody else can
              acknoledge the posting by sending the cookie back and thus get
              by that hurdle.

              The difference between the acknowledged and acknowledged-once



                                    - 5 -      Formatted:  December 26, 2024






 PETIDOMO(1)                      Petidomo                       PETIDOMO(1)
 Petidomo                                                           Petidomo

                             4.0b6 (19-Mar-2004)



              mode is, that in the latter mode, people have to send that
              confirmation back only once, while in the first mode, they
              have to send it in every time they're trying to post. Petidomo
              will keep a database of addresses that have been confirmed by
              that mechanism and these addresses are allowed to post from
              now on without having to confirm their posting again. Please
              note that this list of addresses is not related to the list of
              subscribers!

          moderated
              Here nobody is allowed to post unless he can provide the
              correct posting- or administrator password for the list.

      SubscriptionType    public | admin | acknowledged
          This option specifies who may subscribe to a mailing list.

          If this option is unset, the default will allow public
          subscription.

          public
              In this case anybody may subscribe any address to the list.

          admin
              Only the person knowing the admin password of the mailing list
              is allowed to subscribe or unsubscribe addresses. All other
              requests that aren't properly authenticated will be forwarded
              to the list owner for approval.

          acknowledged
              Anybody can issue a subscribe command, but the address will
              not be added to the list (or removed from the list in case of
              an unsubscribe) unless the request has been confirmed.
              Petidomo will send a random cookie to the address in question
              and ask to send the concatenated cookie back to acknowledge
              the request. Once the cookie has been send back, the request
              is carried out.

              This mode is useful to prevent people from adding random
              addresses to the list or to prevent them from removing other
              people from the list without their consensus.

      AllowMembersCommand    yes | no
          Petidomo knows a command "members" or "who", which can be sent to
          the server, which will reply with the complete list of subscribed
          addresses of the specified mailing list. This may be useful for
          list administrators, but it can be abused easily by spammers, to
          collect addresses where to send their unsolicted commercial e-mail
          to.




                                    - 6 -      Formatted:  December 26, 2024






 PETIDOMO(1)                      Petidomo                       PETIDOMO(1)
 Petidomo                                                           Petidomo

                             4.0b6 (19-Mar-2004)



          Furthermore, with certain mailing lists it may be undesirable that
          one can see who else is subscribed to that list. That's why this
          option has been added. If you set it to no, the members command
          will be diabled for this list. This is also the default if the
          option is not specified in the config file.

      Hostname  string
          This options tells  Petidomo to use this hostname for the mailing
          list, instead of the one configured in the master configuration
          file. This feature is useful to do virtual hosting.  If this entry
          is unset, the name configured in the master config file will be
          used as hostname for this mailing list.

          Example: Hostname petidomo.example.org

          Virtual hosting is required if several mailing lists run on the
          same server, but they have to look like they would coming from
          different machines. For a more detailed explanation look further
          down in the administration section.

      AdminPassword  string
          This tag sets the master password, which authenticiates the
          administrator of this mailing list. The administrator has special
          priviledes, such as deleting other users, overriding access
          control restrictions or un-/subscribing users to closed mailing
          lists.

          Example: AdminPassword    "open sesame"

          Please note that passwords are always case-insensitive. It is also
          worth noting that the master password is always valid as
          administrator password for the list, also.

          Leave this entry blank, if you don't want to enable remote
          administration of the mailing list.

      PostingPassword  string
          This tag sets the posting password. The posting password allows to
          post an article to a moderated mailing list, but it does not allow
          any administration of the list itself. On lists that are of a
          different type than moderated, setting a posting password does
          usually not make any sense and you can leave this entry unset.

          Example: PostingPassword    "open sesame"

      ReplyTo  [none | address]
          This tag controls the "Reply-To:" field, which Petidomo adds to
          posted articles before it is delivered to the recipients. Using
          this option, you can force Petidomo to insert a "Reply-To:" which



                                    - 7 -      Formatted:  December 26, 2024






 PETIDOMO(1)                      Petidomo                       PETIDOMO(1)
 Petidomo                                                           Petidomo

                             4.0b6 (19-Mar-2004)



          points to a certain address. On a moderated list, for example, you
          can set this as follows:

          Example:    ReplyTo         moderator@petidomo.net

          to direct all replies to the posting to the moderator again,
          regardless of what address is noted in the "From:" line of the
          mail.

          If you set "none", Petidomo will not add a "Reply-To:" header at
          all.

          If this option is unset, Petidomo will insert a "Reply-To:" header
          that directs replies back to the mailing list, so that subscribers
          can conveniently post simply by hitting the "reply" function in
          their mail reader.

      Archive  string
          This option tells Petidomo to archive all articles that have been
          posted on that mailing list. The parameter for this tag may either
          be the name and path of a file or of a directory. The path may
          either be absolute "/var/archive/list" or relative "archive". For
          relative paths, the directory where the list's config file resides
          will be used as starting point. If the Archive tag points to a
          file, Petidomo will append every posted article to that file. If
          it points to a directory, each posting will be stored as a
          separate file in that directory.

          If is unset, posted articles will not be archived at all.

      IntroductionFile  string
          This tag specifies the path to the introduction file.  Every time
          an address is added to the mailing list, Petidomo will send the
          contents of this file to the new subscriber. This should be used
          to inform the new subscriber about the list's topic, habits etc.
          If the file does not exist, no mail is sent out.

          If the path specified has no trailing "/", it is interpreted to be
          relative to the directory where the list's config file has been
          found.  The default path is @PREFIX@/etc/petidomo/$listname.intro.

      DescriptionFile  string
          This tag specifies the path to the description file.  This file is
          supposed to contain a short description of the mailing list's
          topic and purpose. It's contents will be sent back if a user
          requests the command "help listname".

          If the path specified has no trailing "/", it is interpreted to be
          relative to the directory where the list's config file has been



                                    - 8 -      Formatted:  December 26, 2024






 PETIDOMO(1)                      Petidomo                       PETIDOMO(1)
 Petidomo                                                           Petidomo

                             4.0b6 (19-Mar-2004)



          found. The default path is @PREFIX@/etc/petidomo/listname.desc.

      SignatureFile  string
          The contents of the file this tag points to will be appended to
          every posting on this list. This may be used to add a list-
          specific signature.

          If the path specified has no trailing "/", it is interpreted to be
          relative to the directory where the list's config file has been
          found. The default path is @PREFIX@/etc/petidomo/$listname.sig.

      AddressFile  string
          This option specifies the path to the file, which Petidomo uses to
          store the list of subscribed addresses.  If the path specified has
          no trailing "/", it is interpreted to be relative to the directory
          where the list's config file has been found.  The default path is
          @PREFIX@/etc/petidomo/$listname.list.

      AcknowledgementFile  string
          This option specifies the path to the file, which Petidomo uses to
          store the list of addresses that have been verified by the
          acknowledgement-once mechanism.

          If the path specified has no trailing "/", it is interpreted to be
          relative to the directory where the list's config file has been
          found.  The default path is @PREFIX@/etc/petidomo/$listname.ack.

      HeaderFile  string
          The contents of this file specified in this option will be added
          to the header of posting on this list. This may be used to add
          custom headers like:

          Example:    X-List-Archive-is-at: http://list-archive.example.org/

          Please note that the contents of this file will be added as is!!!
          So don't include empty lines in here, as empty lines mark the end
          of the mail headers! Generally, please use this feature with care;
          most mailing list administrators tend to overestimate the
          importance of custom headers on their mailing list.

          If the path specified has no trailing "/", it is interpreted to be
          relative to the directory where the list's config file has been
          found.  The default path is @PREFIX@/etc/petidomo/$listname.hdr.

      ACLFilePre  string
      ACLFilePost  string
          This option specifies the path to the list-specific ACL files for
          pre- and postprocessing.  This ACLs will be run against all
          incoming mails after the mail was checked against the global ACLs.



                                    - 9 -      Formatted:  December 26, 2024






 PETIDOMO(1)                      Petidomo                       PETIDOMO(1)
 Petidomo                                                           Petidomo

                             4.0b6 (19-Mar-2004)



          Rules from an ACL-Pre file will be matched against incoming mail
          before certain processing in lists with ListType acknowledged and
          acknowledged-once mode set will take place.  The rules in an ACL-
          Post file is matched against the original posting after the
          approval process.

          If the path specified has no trailing "/", it is interpreted to be
          relative to the directory where the list's config file has been
          found.  The default path is
          @PREFIX@/etc/petidomo/$listname.acl-[pre|post].

      PostingFilter  string
          Here you can specify the path to a program through which every
          message deliverd to the list will be passed. For example this
          comes in useful, if you would like to bring the message in a
          certain format or would like to manipulate the "Subject:" line
          before realy posting the article to the list. Keep in mind that
          this filter will be applied after all ACL processing has taken
          place, thus after an ACL filter action eventually has been
          applied.

          The path can be given without quotes, but if you want to pass
          arguments or want to specify complicated shell expressions, you
          will have to use double quotes.

          The filter is given the message on stdin and Petidomo expects the
          output on stdout of the filter.

          Example:

                  PostingFilter        "@PREFIX@/etc/petidomo/filter.sh
                  listname"

          Example:

                  PostingFilter        "/bin/cat | /bin/cat; echo ; echo
                  Testing""

          Example for a filter that expects the listname as parameter and
          inserts the string [listname-list] At the beginning of the if it's
          not already there:

              #! /bin/sh
              SUB="[$1-list]"
              awk -v "SUB=$SUB" \
              '
              BEGIN { found=0 }
              /^Subject:/ {
                  if (index($0,SUB)) print $line;



                                   - 10 -      Formatted:  December 26, 2024






 PETIDOMO(1)                      Petidomo                       PETIDOMO(1)
 Petidomo                                                           Petidomo

                             4.0b6 (19-Mar-2004)



                  else {
                      if (found==0) {
                          s=sprintf( "Subject: %s", SUB)
                          $1=s
                          print $0
                      }
                  }
                  found=1
                  next
              }
              /.*/ { print }
              '
              exit 0

      Access Control Lists (ACL)

      Unfortunately, we live in a world where some people are trying to
      abuse services like mailing lists for their entertainment or for
      commercial purposes. It is also not uncommon that among thousands of
      mailing list subscribers, there is one particular moron who simply
      can't behave. That is why access control is a useful feature, even
      though it contradicts the idea of a mailing list: To be a media for
      communication.

      Writing and understanding ACL files is, to be honest, not very easy
      and the novice mailing list administrator should better be careful
      when using them, because a wrong access control rule might cause more
      trouble than it is worth, but the experienced administrator will
      certainly appreciate their power. Understanding how ACL files work
      will also require you to know a bit about the syntax of an RFC format
      e-mail. A good place to start is to take a look at RFC822 and its
      sons.

      In Petidomo, two places exist to control who is allowed to do what:
      The global ACL files and the ACL files that are local to the mailing
      list. While the latter are valid only for the list for which they are
      configured for, the global ACL files will be parsed for all your
      mailing lists. ACL files are only relevant for mailing list postings,
      Petidomo does not use them in listserv mode.

      The syntax of an ACL file is similar to the C programming language, as
      you can see in the following example:

          if (envelope matches "mailer-daemon@") then
                      forward "petidomo-manager";

      This expression tells Petidomo to forward all postings to the manager
      of the mailing list, if the envelope of the mail matches the regular
      expression ``mailer-daemon@''.  It will make sure that bounces of



                                   - 11 -      Formatted:  December 26, 2024






 PETIDOMO(1)                      Petidomo                       PETIDOMO(1)
 Petidomo                                                           Petidomo

                             4.0b6 (19-Mar-2004)



      articles will not be posted to the list again, causing an infinite
      mail loop.

      The syntax of ACL statements is shown here:

          IF ( (Condition) [ AND | OR ] (Condition) ............ )
              THEN Action ;

      Or more Detailed:

           IF ( (Source [NOT] MatchCode "Expression") [ AND | OR ]
               (Source [NOT] MatchCode "Expression") [ AND | OR ]
               ([NOT] "Filter Expression) .......... )
                                                     THEN    Action ;

           IF ([NOT] "Filter Expression") [ AND | OR ]
                  ([NOT] "Filter Expression") [ AND | OR ]
                  (Source [NOT] MatchCode "Expression") .......... )
                                                     THEN    Action ;

      Where:

      Source
          Specifies the source to match against. This can be one of the
          following: envelope | from | subject | header | body

          envelope
              References the envelope line of the message.

          from
              References the "From:" line of the message.

          subject
              References the "Subject" line of the message.

              Example:

                  IF (subejct == "make money fast") THEN
                      rejectwith "/usr/local/share/petidomo/make-money-fast.txt";
          header
              References a specific line in the message header. The line to
              match is also expressed in the Expression. Is meant to be used
              with regular expression matching.

              Example:

                  IF (header matches "^Received:.*from spam.domain") THEN
                      forward "petidomo-manager";
          body



                                   - 12 -      Formatted:  December 26, 2024






 PETIDOMO(1)                      Petidomo                       PETIDOMO(1)
 Petidomo                                                           Petidomo

                             4.0b6 (19-Mar-2004)



              References the body of the message. Is meant to be used with
              regular expression matching.

              Example:

                  IF (body matches
                         THEN
                  ".*[Vv][^a-zA-Z]*[iI][^a-zA-Z]*[aA][^a-zA-Z]*[gG][^a-zA-Z]*[rR][^a-zA-Z]*[aA].*")
                  rejectwith "/usr/local/share/petidomo/no-viagra.txt";


      MatchCode
          Tell the ACL how to match. There are two possibilities here: match
          / matches | = | ==

          match | matches
              Does an extended regular expression match using the Expression
              parameter.

          = | ==
              Does an exact string match using the string given in the
              Expression parameter.

      "Expression"
          Depending on MatchCode used, can be an extended regular expression
          or just a plain string.  In both cases the match is case
          insensitiv and has to be quoted.

      "Filter Expression"
          This a special feature, as you specify an external program to do
          the matching for you. This can be a very useful tool. Dependant on
          the return code of the external program the Action part is
          executed or not. As in the shell an exit code of 0 means true and
          of 1 means false. The path name has to be quoted.

          Example:    ("/usr/local/bin/very_important.filter") THEN
                           forward "petidomo-manager";

      Action
          The Action part specifies what to do after a match occured.

          drop
              Just drops the message without firther notice to the sender or
              list manager.

          pass
              Posts the message onto the list immediately.

          approve



                                   - 13 -      Formatted:  December 26, 2024






 PETIDOMO(1)                      Petidomo                       PETIDOMO(1)
 Petidomo                                                           Petidomo

                             4.0b6 (19-Mar-2004)



              Will flag the message as approved, bypassing all other checks
              for approval.

          reject
              Rejects the message from the list, sending a status message to
              the sender.

          rejectwith "file"
              Rejects the message, sending a status message to the user
              including the contents of "file" as the message body. The
              parameter has to be quoted.

              Example:

                  IF (header matches "^Received:.*from spam.domain") THEN
                       rejectwith "@PREFIX@/etc/petidomo/spam.txt";

          forward "address"
              Forwards the message to the given address. Originator will be
              the Mailing List Manager. The original message will be quoted
              in the mail body.  The address has to be quoted.

          redirect "address"
              Just resends the message to the given address without changing
              any of the headers.  The message will still look as if it has
              been sent by the original poster.  The address has to be
              quoted.

          filter "script"
              This Action is pretty much the same as the posting filter, but
              it allows you to re-write the posting depending on who posted
              it or other criteria. Please note that this filter is executed
              additionally and before a regular posting filter you might
              have configured.  The filter is given the message on stdin and
              Petidomo expects the output on stdout of the filter.

              A nice example for what this feature can be used is the
              following:

              Example:

                  if (from == "simons@computer.org") then
                       filter "/@PREFIX@/etc/petidomo/simons.filter";

 Administration
      Each mailing list has an alias "listname-owner" (see section Sendmail
      Configuration), where the mail address of the person who is
      responsible for this mailing list should be specified. Per default,
      this is the user who is known as "petidomo-manager". But you are free



                                   - 14 -      Formatted:  December 26, 2024






 PETIDOMO(1)                      Petidomo                       PETIDOMO(1)
 Petidomo                                                           Petidomo

                             4.0b6 (19-Mar-2004)



      to direct mail for this accoun to any other person --- or several
      persons.

      The list owner will receive administrative e-mail from Petidomo in the
      following cases:

      subscribe | unsubscribe
          When a new user subscribes, or a subscriber removes himself from
          the list, a carbon copy of the recipt will be sent to the owner.
          By looking at these mails, the owner can check whether a subscribe
          or unsubscribe command looks bogus. He or she can also keep track
          of who is on the list and who is not.

      members | who
          If a members command is received for a mailing list where this
          command has been disabled, this will also be forwarded to the
          owner.

      These mails are merely for information purposes and do not necessarily
      require an action from the admin. There are cases, where the list
      owner will receive mails from Petidomo, though, that require some kind
      of reaction.

      Closed an moderated lists

      If you have configured a mailing list to reject postings under certain
      circumstances, such as a closed or moderated mailing list, these
      rejected articles will be forwarded to you for approval. When you
      receive such a rejected article, you can either silently discard it,
      contact the author or post it to the mailing list with your approval.

      You can approve an article with the AdminPassword for Petidomo, the
      AdminPassword of the mailing list in question or the PostingPassword.

      Approving requests

      To approve requests, you have several ways of specifying the
      appropriate password. They are all the same for Petidomo and it is
      only a matter of taste, which scheme you use.

      When sending a command to Petidomo in listserv mode through the
      listname-request or petidomo address, just preface your commands with
      a password command, like in the following example:

          To: testlist-request@foo.bar
          Subject:


          password open sesame



                                   - 15 -      Formatted:  December 26, 2024






 PETIDOMO(1)                      Petidomo                       PETIDOMO(1)
 Petidomo                                                           Petidomo

                             4.0b6 (19-Mar-2004)



          subscribe some@one.else
          subscribe someone@even.elser

      One password command sets your password for all the commands to
      follow. If you want to use one mail to send requests for several
      mailing lists with different passwords, just give a password command
      again:

          To: petidomo@foo.bar
          Subject:


          password open sesame
          subscribe user@inter.net testlist1
          password let me in
          subscribe user@inter.net testlist2

      Instead of password, you can also use the commands passwd, or approve,
      they are all synonymous.

      Caution, the command can only be parsed, if they start at the
      beginning of the line and have no junk appended.

      Approving postings

      If you want to approve a posting for a mailing list, just send the
      article to the mailing list and specify your password either in the
      header or in the body of the mail.

      If you choose to approve the mail in the body, add line with the
      command approve to the mail as first line of the body. Petidomo will
      strip that line before actually posting the article . You can also use
      the synonyms approved, password or passwd instead. Here is an example:

          From: simons@computer.org (Peter Simons)
          Subject: Cats are the most beautiful animals in the world.


          approve let me post
          It's not that I wouldn't like animals like dogs, birds
          or fishes, but for me, a cat is *the* animal to have.
          [...]

      The line approve let me post will be stripped by Petidomo and the
      article will then be sent out.

      If you want to specify the password in the headers, just add an header
      of the name Approved: or Approve: to the headers of the mail.
      Unfortunately, many mail readers do not allow you to modify the



                                   - 16 -      Formatted:  December 26, 2024






 PETIDOMO(1)                      Petidomo                       PETIDOMO(1)
 Petidomo                                                           Petidomo

                             4.0b6 (19-Mar-2004)



      headers of outgoing mail. That is why the body-approval has been
      added. Here is the same example as above now using the headers:

          From: simons@computer.org (Peter Simons)
          Subject: Cats are the most beautiful animals in the world.
          Approve: let me post


          It's not that I wouldn't like animals like dogs, birds
          or fishes, but for me, a cat is *the* animal to have.
          [...]

      Please note that you have to add a colon to the keyword to make a
      valid RFC mail-header.

      Bounces

      While maintaining mailing list with a larger number of subscribers, it
      happens regularly that subscribed addresses become invalid or are
      temporarily not reachable. In this case postings will bounce.  You
      will then receive a mail from a mail server telling you, that the
      delivery of the mail failed.

      Often, addresses become unreachable due to a misconfiguration of a
      machine, so it is not always necessary to remove that address from the
      list immediately, but when an addresses bounces for several days in a
      row, it is a good idea to delete that address from the mailing list.
      You should do that by sending an unsubscribe command for that address
      to the listname-request address of the mailing list.

      If you have configured Petidomo to disallow the unsubscription of
      addresses not equal to the address the mail is sent from, you will
      have to specify your admin password in the mail, to override the
      barrier.

      Verifying the address list

      Petidomo tries its best to make sure that only syntactically correct
      addresses are subscribed to mailing lists, and if you stick to the
      correct mail interface, there's very little chance, an incorrect
      address will make it into the Listname.list file.

      Sometimes, it is necessary to edit these files manually, though, or
      Petidomo's address validation algorithm fails. Once you have an
      incorrect address in your list file, sendmail will abort with an
      error, without trying to deliver the mail at all.

      To clarify, this does not happen when an address is not reachable,
      this happens only when you subscribe something like



                                   - 17 -      Formatted:  December 26, 2024






 PETIDOMO(1)                      Petidomo                       PETIDOMO(1)
 Petidomo                                                           Petidomo

                             4.0b6 (19-Mar-2004)



      hey@this@is@wrong..... Once you suspect that your address list has
      been corrupted, there's an easy way to find out, which addresses are
      wrong. Simply use sendmail's address verification mode like this:

          $ xargs < listname.list sendmail -bv | grep -vi deliverable
          hey@this@is@wrong ... Invalid route address

      This call will find all incorrect address and notify you. The 'sed'
      call will filter out all correct addresses for your convenience.

      Mailing list archives

      If your are hosting a public mailing list, you might want to offer a
      mailing list archive, that is accessible through the WWW and has all
      the postings available for immediate access. We were in the midst of
      developing a tool that does this for you when we came accross a
      brilliant tool named MHonArc. We installed it, tested it, and deleted
      all attempts of writing something like that ourselves immediately.

      We strongly recommend looking at MHonArc, if you want to offer a WWW
      archive of your mailing lists. You can find more information about
      MHonArc at the following location:
      http://www.oac.uci.edu/indiv/ehood/mhonarc.html

      The installation of the tool itself is very easy. Once you have
      MHonArc running, just enable the archiving feature in Petidomo and
      feed the archives into MHonArc. That's it.

      Sendmail configuration

      Before you can use Petidomo, you have to configure sendmail so that it
      knows about Petidomo. If you are using an MTA other than sendmail, the
      configuration might be slightly different.

      You will have to create apropriate aliases for Petidomo and its lists.
      You do this by adding the folling lines to your aliases file. For the
      exact location of this file refer to the documentation on your system.

          petidomo-manager:   postmaster
          petidomo:           "| @PREFIX@/bin/petidomo --mode=listserv"
          petidomo-approve:   "| @PREFIX@/bin/petidomo --mode=approve"

      In case you installed the Petidomo binary to some other location, you
      will have to change the paths here apropriately of course. You may
      also chose that mail for the petidomo-manager should go to some
      different address than postmaster, if that suits your needs better.
      It's important that somebody actually reads what arrives there.

      For every mailing list you want to install on your system, you will



                                   - 18 -      Formatted:  December 26, 2024






 PETIDOMO(1)                      Petidomo                       PETIDOMO(1)
 Petidomo                                                           Petidomo

                             4.0b6 (19-Mar-2004)



      have to add the following lines :

          testlist:           "| @PREFIX@/bin/petidomo --mode=deliver testlist"
          testlist-request:   "| @PREFIX@/bin/petidomo --mode=listserv testlist"
          testlist-owner:     petidomo-manager
          owner-testlist:     testlist-owner

      Having done all this, execute the newaliases(1) utility to rebuild
      sendmail's internal database. Your changes will not have any effect
      unless you do this.

      Virtual Hosting

      Virtual hosting is required if you want to host several mailing lists
      that have to run under different domain names.  After registering
      these domains to point to your machine, you will have to configure
      Petidomo and your MTA to make use of this feature.  As an example for
      MTA configuration, the sendmail system is used here.

      To configure Petidomo, all you have to do is, set the Hostname
      parameter in the lists config file listname.conf to the required name
      (see above).  You can do this for every list you want to run. If you
      do not specify a Hostname in the lists config file, the name
      configured in the global config file petidomo.conf will be used.

      But to get this feature really running, you will have to make your
      local mail agent (MTA) aware of the additional domains it has to
      recognize as local.

      For the sendmail v8 system, you will have to write these additional
      domais to the w class in your sendmail.cf file, or the corresponfing
      M4 config. This is done by adding the line:

              Cwdomain.name1 domain.name2 ...

      This will tell sendmail that these names are to be accepted and
      delivered locally rather than to the MX of these entries.

      Doing this might not lead to the expected behavior, if you are using
      sendmail's masquerading functionality, which isused to hide the
      various hostnames and subdomains in your domain.  By default, sendmail
      not only masquerades the domain names it was configured to with the
      MASQUERADE_DOMAIN() command, it will also automatically masquerades
      all domain names configured in the w class.

      As a result the virtual hosting you configured in Petidomo will be
      overwritten.  To fix for this behavior you will have to add the
      command FEATURE(limited_masquerade) to your M4 file and sendmail won't
      touch the names that are stated only in the w class anymore.



                                   - 19 -      Formatted:  December 26, 2024






 PETIDOMO(1)                      Petidomo                       PETIDOMO(1)
 Petidomo                                                           Petidomo

                             4.0b6 (19-Mar-2004)



 USER COMMANDS
      In this chapter, we will describe the commands, that are understood in
      listserv mode, eg. listname-request@yourhost.dom. This is the
      interface for the users of the mailing lists, where they can send
      their requests to in order to be subscribed or unsubscribed to or from
      a mailing.  The text here is mostly identical with the default help
      text that is sent to the user whenever he or she issues a command that
      is syntactically incorrect.

      User commands always have to be sent to the request address of the
      mailing list not to the mailing list itself!

      Alternatively, commands can always be sent to the address
      petidomo@yourhost.dom, but the listname-request@yourhost.dom address
      is preferable, since Petidomo will have a default listname for this
      address and thus understand a simpler command syntax.

      Subscribe

      The subscribe command will add the address of the user to a mailing
      list. The behavior of the list software on such a request is dependant
      on the setting of the list parameter SubscriptionType. Have a look
      there for a brief explanation.

      The command add is synonymous to subscribe.

      When using the listname-request address, only the word subscribe is
      required for the request to suceed. If the command is sent to the
      petidomo address, the user will have to specify an additional
      parameter: The name of the mailing list he or she wants to be added
      to, like in the following example:

              subscribe politics

      If the user wants to add an address that is not equal to the one he is
      sending from, the e-mail address will have to be specified as well:

              subscribe politics joe@foo.bar

      The order in which the e-mail address and the mailing list name are
      provided does not matter.

      Unsubscribe

      The syntax and usage of the unsubscribe command is the same as the
      subscribe command. The difference is, that the user's address is
      removed from the mailing list rather than added to it.

      delete and remove can be used synonymously to unsubscribe.



                                   - 20 -      Formatted:  December 26, 2024






 PETIDOMO(1)                      Petidomo                       PETIDOMO(1)
 Petidomo                                                           Petidomo

                             4.0b6 (19-Mar-2004)



      Index

      The index command does not need any parameters. Sending it to the
      server will return a list of available mailing lists on this server.
      This is useful in case you want to subscribe to a list but can't
      remember the exact name anymore.

      The commands lists and longindex are synonyms to index.

      Help

      If the server receives the command b<help>, it will send the help file
      back. If b<help> has a parameter, Petidomo will check whether this is
      a valid name of an existing mailing list, and if it is, it will return
      the description file for this mailing list, rather than the help file.

      Members

      The members command will return the addresses of all subscribers of
      the mailing list, if the administrator chose to allow this command.
      When members is sent to the listname-request address, the default list
      will be used by Petidomo. Otherwise, the name of the mailing list
      which's subscribers should be listed, has to be specified as an option
      like in the following example:

              members politics

      The command who can be used as a synomym to members.

 FILES
          @PREFIX@/etc/petidomo/petidomo.conf
          @PREFIX@/etc/petidomo/petidomo.hdr
          @PREFIX@/etc/petidomo/petidomo.help
          @PREFIX@/etc/petidomo/petidomo.index
          @PREFIX@/etc/petidomo/petidomo.acl-pre
          @PREFIX@/etc/petidomo/petidomo.acl-post
          @PREFIX@/etc/petidomo/listname.conf
          @PREFIX@/etc/petidomo/listname.desc
          @PREFIX@/etc/petidomo/listname.intro
          @PREFIX@/etc/petidomo/listname.hdr
          @PREFIX@/etc/petidomo/listname.sig
          @PREFIX@/etc/petidomo/listname.list
          @PREFIX@/etc/petidomo/listname.ack
          @PREFIX@/etc/petidomo/listname.acl-pre
          @PREFIX@/etc/petidomo/listname.acl-post

 SEE ALSO





                                   - 21 -      Formatted:  December 26, 2024






 PETIDOMO(1)                      Petidomo                       PETIDOMO(1)
 Petidomo                                                           Petidomo

                             4.0b6 (19-Mar-2004)



      Allman Sendmail

              sendmail(8)

      Postfix

              bounce(8), cleanup(8), defer(8), error(8), flush(8), lmtp(8),
              local(8), master(8), pickup(8), pipe(8), qmgr(8), showq(8),
              smtp(8), smtpd(8), spawn(8), trivial-rewrite(8).

 HISTORY
 AUTHOR
      Peter Simons <simons@computer.org>







































                                   - 22 -      Formatted:  December 26, 2024