aboutsummaryrefslogtreecommitdiff
path: root/doc/pies.texi
diff options
context:
space:
mode:
Diffstat (limited to 'doc/pies.texi')
-rw-r--r--doc/pies.texi88
1 files changed, 43 insertions, 45 deletions
diff --git a/doc/pies.texi b/doc/pies.texi
index 8569ab7..f1654c0 100644
--- a/doc/pies.texi
+++ b/doc/pies.texi
@@ -754,7 +754,7 @@ As of version @value{VERSION} only one @command{remove-file} may be given.
754@end deffn 754@end deffn
755 755
756@deffn {Config: component} settle-timeout @var{number} 756@deffn {Config: component} settle-timeout @var{number}
757Wait @var{number} seconds. This is kind of kludge. Currently it is 757Wait @var{number} of seconds. This is kind of kludge. Currently it is
758used for components imported from @file{meta1.conf} file 758used for components imported from @file{meta1.conf} file
759(@pxref{include-meta1}), where @code{settle-timeout 1} is implied. 759(@pxref{include-meta1}), where @code{settle-timeout 1} is implied.
760This may change in future versions. 760This may change in future versions.
@@ -801,7 +801,7 @@ names from the table below:
801@item EX_CONFIG @tab 78 801@item EX_CONFIG @tab 78
802@end multitable 802@end multitable
803 803
804Signal codes can be given either as @samp{SIG+@var{n}}, where @var{n} 804Signal numbers can be given either as @samp{SIG+@var{n}}, where @var{n}
805is the signal number, or as signal names from the following list: 805is the signal number, or as signal names from the following list:
806@samp{SIGHUP}, @samp{SIGINT}, @samp{SIGQUIT}, @samp{SIGILL}, 806@samp{SIGHUP}, @samp{SIGINT}, @samp{SIGQUIT}, @samp{SIGILL},
807@samp{SIGTRAP}, @samp{SIGABRT}, @samp{SIGIOT}, @samp{SIGBUS}, 807@samp{SIGTRAP}, @samp{SIGABRT}, @samp{SIGIOT}, @samp{SIGBUS},
@@ -815,13 +815,14 @@ is the signal number, or as signal names from the following list:
815 815
816 If the component exits with an exit code listed in @var{codes} 816 If the component exits with an exit code listed in @var{codes}
817or is terminated on a signal listed in @var{codes}, 817or is terminated on a signal listed in @var{codes},
818@command{pies} executes actions specified by its substatements. 818@command{pies} executes actions specified in that @samp{return-code}
819They are executed in the order of their appearance below: 819block. The actions are executed in the order of their appearance below:
820 820
821@deffn {Config: return-code} exec @var{command} 821@deffn {Config: return-code} exec @var{command}
822Execute external command. Prior to execution of @var{command} all 822Execute the supplied external command. Prior to execution, all
823file descriptors are closed. It inherits the environment from the 823file descriptors are closed. The @var{command} inherits the
824main @command{pies} process with the following additional variables: 824environment from the main @command{pies} process with the following
825additional variables:
825 826
826@table @env 827@table @env
827@item PIES_VERSION 828@item PIES_VERSION
@@ -862,10 +863,11 @@ Supply notification message text to use by @code{notify} statement.
862 Any number of @code{return-code} statements are allowed, provided 863 Any number of @code{return-code} statements are allowed, provided
863that their @var{codes} do not intersect. 864that their @var{codes} do not intersect.
864 865
865 Such statements can also be used outside of @code{component} block. 866 The @code{return-code} statements can also be used outside of
866In this case, they supply global actions, i.e. actions applicable to 867@code{component} block. In this case, they supply global actions,
867all components. Any @code{return-code} statements appearing within a 868i.e. actions applicable to all components. Any @code{return-code}
868@code{component} block override the global ones. 869statements appearing within a @code{component} block override the
870global ones.
869 871
870@node Output Redirectors 872@node Output Redirectors
871@subsection Output Redirectors 873@subsection Output Redirectors
@@ -882,7 +884,7 @@ The type of redirection is specified by @var{type} argument:
882 884
883@table @asis 885@table @asis
884@item file 886@item file
885Redirect to the file. In this case @var{channel} gives the full name of 887Redirect to a file. In this case @var{channel} gives the full name of
886the file. For example: 888the file. For example:
887 889
888@smallexample 890@smallexample
@@ -890,11 +892,11 @@ stderr file /var/log/component/name.err;
890@end smallexample 892@end smallexample
891 893
892@item syslog 894@item syslog
893Redirect to the syslog channel. The syslog priority is given by the 895Redirect to a syslog channel. The syslog priority is given by the
894@var{channel} argument. Its allowed values are: @samp{emerg}, 896@var{channel} argument. Its allowed values are: @samp{emerg},
895@samp{alert}, @samp{crit}, @samp{err}, @samp{warning}, @samp{notice}, 897@samp{alert}, @samp{crit}, @samp{err}, @samp{warning}, @samp{notice},
896@samp{info}, @samp{debug}. The facility is inherited from the 898@samp{info}, @samp{debug}. The facility is inherited from the
897@code{syslog} statement (@pxref{syslog}), or from @code{facility} 899@code{syslog} statement (@pxref{syslog}), or from the @code{facility}
898statement (see below), if given. 900statement (see below), if given.
899 901
900Example: 902Example:
@@ -907,7 +909,7 @@ stderr syslog err;
907 909
908@deffn {Config: component} facility @var{syslog-facility} 910@deffn {Config: component} facility @var{syslog-facility}
909Specify the syslog facility to use in syslog redirectors. Allowed 911Specify the syslog facility to use in syslog redirectors. Allowed
910values for @var{syslog-facility} are: @samp{user}, @samp{daemon}, 912@var{syslog-facility} values are: @samp{user}, @samp{daemon},
911@samp{auth}, @samp{authpriv}, @samp{mail}, @samp{cron}, @samp{local0} 913@samp{auth}, @samp{authpriv}, @samp{mail}, @samp{cron}, @samp{local0}
912through @samp{local7} (all names case-insensitive), or a facility number. 914through @samp{local7} (all names case-insensitive), or a facility number.
913@end deffn 915@end deffn
@@ -916,8 +918,7 @@ through @samp{local7} (all names case-insensitive), or a facility number.
916@subsection Inetd-Style Components 918@subsection Inetd-Style Components
917@cindex inetd-style components 919@cindex inetd-style components
918 Inetd-style components are declared using @code{mode inetd} 920 Inetd-style components are declared using @code{mode inetd}
919statement. You must also declare a socket to listen for requests for 921statement. You must also declare a socket to listen on.
920such components:
921 922
922@anchor{inetd-socket} 923@anchor{inetd-socket}
923@deffn {Config: component} socket @var{url} 924@deffn {Config: component} socket @var{url}
@@ -932,8 +933,8 @@ component (@pxref{Actions Before Startup, chdir}).
932@item local://@var{file}[;@var{args}] 933@item local://@var{file}[;@var{args}]
933@itemx file://@var{file}[;@var{args}] 934@itemx file://@var{file}[;@var{args}]
934@itemx unix://@var{file}[;@var{args}] 935@itemx unix://@var{file}[;@var{args}]
935Listen on the @acronym{UNIX} socket file @var{file}, which may be either 936Listen on the @acronym{UNIX} socket file @var{file}, which is either
936absolute or relative file name, as described above. Optional 937an absolute or relative file name, as described above. Optional
937arguments @var{args} control ownership and file mode of @var{file}. They 938arguments @var{args} control ownership and file mode of @var{file}. They
938are a list of assignments, separated by semicolons. The following 939are a list of assignments, separated by semicolons. The following
939values are allowed: 940values are allowed:
@@ -956,7 +957,7 @@ and @samp{777}).
956For example: 957For example:
957 958
958@smallexample 959@smallexample
959socket unix:/var/run/socket;user=nobody;group=mail;mode=770 960socket "unix:/var/run/socket;user=nobody;group=mail;mode=770";
960@end smallexample 961@end smallexample
961 962
962@item inet://@var{ip}:@var{port} 963@item inet://@var{ip}:@var{port}
@@ -1098,10 +1099,10 @@ send email messages when components terminate. The exact contents
1098of such notifications and the list of their recipients may depend on 1099of such notifications and the list of their recipients may depend on
1099the exit code which the component returned. Notification is 1100the exit code which the component returned. Notification is
1100configured by supplying @samp{notify} and @samp{message} statements 1101configured by supplying @samp{notify} and @samp{message} statements
1101within a @samp{return-code} block. 1102in a @samp{return-code} block.
1102 1103
1103@deffn {Config: return-code} notify @var{email-string} 1104@deffn {Config: return-code} notify @var{email-string}
1104Send an email notification to addresses from @var{email-string}. The 1105Send email notification to addresses from @var{email-string}. The
1105latter is a comma-separated list of email addresses, e.g.: 1106latter is a comma-separated list of email addresses, e.g.:
1106 1107
1107@smallexample 1108@smallexample
@@ -1190,7 +1191,7 @@ Subject: Component $@{component@} $@{termination@} $@{retcode@}.
1190 1191
1191@cindex mailer 1192@cindex mailer
1192@cindex @command{sendmail} 1193@cindex @command{sendmail}
1193 Notification messages are sent using external program, called 1194 Notification messages are sent using an external program, called
1194@dfn{mailer}. By default it is @command{/usr/sbin/sendmail}. You can 1195@dfn{mailer}. By default it is @command{/usr/sbin/sendmail}. You can
1195change it using the following configuration statement: 1196change it using the following configuration statement:
1196 1197
@@ -1310,18 +1311,18 @@ future use and is described in more detail in @ref{User-Group ACLs}.
1310 1311
1311@anchor{acl-ref} 1312@anchor{acl-ref}
1312The @var{sub-acl} part, if present, allows to branch to another 1313The @var{sub-acl} part, if present, allows to branch to another
1313@acronym{ACL}. The syntax of this group is: 1314@acronym{ACL}. The syntax of this part is:
1314 1315
1315@smallexample 1316@smallexample
1316acl @var{name} 1317acl @var{name}
1317@end smallexample 1318@end smallexample
1318 1319
1319@noindent 1320@noindent
1320where @var{name} is the name of @acronym{ACL} defined previously in 1321where @var{name} is the name of an @acronym{ACL} defined previously in
1321@samp{defacl} statement. 1322@samp{defacl} statement.
1322 1323
1323The @var{host-list} group allows to match client addresses. 1324The @var{host-list} group allows to match client addresses.
1324It consists of a @code{from} keyword followed by a list of 1325It consists of the @code{from} keyword followed by a list of
1325@dfn{address specifiers}. Allowed address specifiers are: 1326@dfn{address specifiers}. Allowed address specifiers are:
1326 1327
1327@table @asis 1328@table @asis
@@ -1348,11 +1349,11 @@ Matches if connection was received from a @acronym{UNIX} socket
1348@var{filename}, which must be given as an absolute file name. 1349@var{filename}, which must be given as an absolute file name.
1349@end table 1350@end table
1350 1351
1351@anchor{acl-any}. 1352@anchor{acl-any}
1352The special form @samp{allow any} means to allow access 1353The special form @samp{allow any} means to allow access
1353unconditionally. Similarly, @samp{deny any}, denies access 1354unconditionally. Similarly, @samp{deny any}, denies access
1354unconditionally. Normally, these forms appear as the last 1355unconditionally. Normally, one of these forms appears as the last
1355statements in an @acronym{ACL} definition. 1356statement in an @acronym{ACL} definition.
1356 1357
1357To summarize, the syntax of an access statement is: 1358To summarize, the syntax of an access statement is:
1358 1359
@@ -1361,15 +1362,14 @@ allow|deny [acl @var{name}] [from @var{addr-list}]
1361@end smallexample 1362@end smallexample
1362 1363
1363@noindent 1364@noindent
1364where square brackets denote optional parts and vertical bar means 1365where square brackets denote optional parts.
1365@samp{one of}.
1366 1366
1367When an @acronym{ACL} is checked, its entries are tried in turn until 1367When an @acronym{ACL} is checked, its entries are tried in turn until
1368one of them matches, or the end of the list is reached. If a matched 1368one of them matches, or the end of the list is reached. If a matched
1369entry is found, its command verb, @code{allow} or @code{deny}, defines 1369entry is found, its command verb, @code{allow} or @code{deny}, defines
1370the result of @acronym{ACL} match. If the end of list is reached, 1370the result of the @acronym{ACL} check. If the end of the list is reached,
1371the result is @samp{allow}, unless explicitly specified otherwise 1371the result is @samp{allow}, unless explicitly specified otherwise
1372(using the @pxref{acl-any, ``any'' form}). 1372(using the @ref{acl-any, ``any'' form}.)
1373 1373
1374For example, the following @acronym{ACL} allows access for anybody 1374For example, the following @acronym{ACL} allows access for anybody
1375coming from networks @samp{192.168.10.0/24} and @samp{192.168.100.0/24}, 1375coming from networks @samp{192.168.10.0/24} and @samp{192.168.100.0/24},
@@ -1393,9 +1393,8 @@ acl @{
1393 MeTA1 is a mail transfer agent