*BSD News Article 24872


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!howland.reston.ans.net!xlink.net!zib-berlin.de!zrz.TU-Berlin.DE!cs.tu-berlin.de!klier
From: klier@cs.tu-berlin.de (Jan Klier)
Newsgroups: comp.os.386bsd.development
Subject: new option for crond - part 1/3
Date: 10 Dec 1993 09:28:47 GMT
Organization: Technical University of Berlin, Germany
Lines: 469
Message-ID: <2e9fgf$7kp@news.cs.tu-berlin.de>
NNTP-Posting-Host: jet.cs.tu-berlin.de
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Summary: patch to introduce new option the the cron daemon

The following post includes a patch to the FreeBSD crond and one additional
command. All that is intended to add a new option to the crond.

The problem that lead to this development was the following:

  I need my machine running FreeBSD also for running DOS and I have to
switch it off during the night. Basically this is not a big deal, but as
the machine is not running at night time all the housekeeping that is 
usually done by /etc/daily, /etc/weekly and /etc/monthly never gets started.
  Now I could schedule these jobs at times during which the system is
usually up. But instead of that I thought about a new feature of the
cron daemon: Everytime the deamon gets started he inspects all jobs in
his crontabs and for every job in the crontabs he searches the log file
he keeps to find out when this job has been run the last time. With these
two data at hand, he figures out if this particular job should have been
run since the last time, but didn't because the system was down. In this
special case, the jobs is run right at this point to keep up with 
work not done so far. To avoid conflicts, all the jobs that will be run
by this keeping-up will run sequently instead of simultanously to avoid
possible conflicts of several commands.
  This new feature of the crond is only active when it gets started with
an option introduced for that purpose.

  Also with this code comes a new command called cronlog that does some
housekeeping on the crond's log file. This log file can grow quite fast
and as the length of the log file slows down the searches necessary to
figure out which jobs should be run, it makes sense to keep the log file
short.
  This new command does exactly this: it scans the log file and keeps
one entry per command (always the most recent entry for that command) and
deletes all log entries not related to commands, or for commands that have
been run at a later time. Thus it keeps exactly that information that is
needed (the time when a particular command was executed last time) and 
throws away everything elese. This command is intended to be included in 
either /etc/weekly or /etc/monthly to make sure that the crond's log file 
doesn't grow to big.

  Below is a tar archive of all the changes. There are the files for
this new command, called cronlog, which should be unpacked into 
/usr/src/usr.bin/cronlog and the files which are necessary to introduce
this new feature to the crond, which should be unpacked to
/usr/src/libexec/crond. There is one file (crond.c) which replaces the
existing file completely, all other files are diffs suitable for the
patch command.

  Still to do with this is for further improvement: For some commands it
would be desirable to exclude them from this feature. For example if there
is a command which causes network traffic which is more expensive at 
daytime than at nighttime, than this command shouldn't be run at some
other time than the scheduled one. The command line option is not
granular enough, thus it would be nice to have a flag in the crontabs
which can exluced a single command from that feature.

  Send any comments, bug reports or flames to klier@cs.tu-berlin.de

							jan


to install: take all articles and remove the headers, concatenate them
            and run uudecode to get the tar archive, the rest is obious.

.tar.uue part 1/3
************************************************************************
begin 644 crond.tar
M=7-R+P                                                      
M                                                            
M             " @(#<U-2  (" @-# P(  @(" Q-S @ " @(" @(" @(" P
M(" U-3 Q-C$S-C<U(" @-#8U-0 @                                
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                      !U<W(O<W)C+P                          
M                                                            
M                                    (" @-S4U(  @(" T,# @ " @
M(#$W,"  (" @(" @(" @(# @(#4U,#$V,3,W,S @(" U-#,T "          
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                             '5S<B]S<F,O=7-R
M+F)I;B\                                                     
M                                                           @
M(" W-34@ " @(#0P,"  (" @,3<P(  @(" @(" @(" @," @-34P,38Q,S<R
M,B @(#<P,34 (                                               
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M        =7-R+W-R8R]U<W(N8FEN+V-R;VYL;V<O                    
M                                                            
M                     " @(#<U-2  (" @-# P(  @(" Q-S @ " @(" @
M(" @(" P(" U-3 Q-C$S-S(Q(" Q,#0U-P @                        
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                              !U<W(O<W)C+W5S<BYB:6XO8W)O;FQO
M9R]-86ME9FEL90                                              
M                                            (" @-C0T(  @(" T
M,# @ " @(#$W,"  (" @(" @(" Q,C,@(#4U,#$R-S$Q-C8@(#$R,38S "  
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                      I04D]'
M/0EC<F]N;&]G"E-20U,]"6-R;VYL;V<N8R *0T9,04=3*STM9PI-04XQ/0EC
M<F]N;&]G+C$*"BYI;F-L=61E(#QB<V0N<')O9RYM:SX*                
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                =7-R+W-R8R]U<W(N8FEN+V-R;VYL;V<O8W)O;FQO9RXQ
M                                                            
M                             " @(#8T-"  (" @-# P(  @(" Q-S @
M " @(" @(" S,#$Q(" U-3 Q,C<Q,38V(" Q,C(V-P @                
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                       N7"(@)$AE861E<CH@+V$O
M8W9S+S,X-D)31"]S<F,O;&EB97AE8R]C<F]N9"]C<F]N9"XX+'8@,2XQ+C$N
M,2 Q.3DS+S V+S$R(#$T.C4U.C T(')G<FEM97,@17AP("0*+EPB( HN7"(O
M*B!#;W!Y<FEG:'0@,3DY,R!B>2!*86X@2VQI97(*+EPB("H@06QL(')I9VAT
M<R!R97-E<G9E9 HN7"(@*@HN7"(@*B!$:7-T<FEB=71E(&9R965L>2P@97AC
M97!T.B!D;VXG="!R96UO=F4@;7D@;F%M92!F<F]M('1H92!S;W5R8V4@;W(*
M+EPB("H@9&]C=6UE;G1A=&EO;B H9&]N)W0@=&%K92!C<F5D:70@9F]R(&UY
M('=O<FLI+"!M87)K('EO=7(@8VAA;F=E<R H9&]N)W0*+EPB("H@9V5T(&UE
M(&)L86UE9"!F;W(@>6]U<B!P;W-S:6)L92!B=6=S*2P@9&]N)W0@86QT97(@
M;W(@<F5M;W9E('1H:7,*+EPB("H@;F]T:6-E+B @36%Y(&)E('-O;&0@:68@
M8G5I;&1A8FQE('-O=7)C92!I<R!P<F]V:61E9"!T;R!B=7EE<BX@($YO"BY<
M(B J('=A<G)A;G1E92!O9B!A;GD@:VEN9"P@97AP<F5S<R!O<B!I;7!L:65D
M+"!I<R!I;F-L=61E9"!W:71H('1H:7,*+EPB("H@<V]F='=A<F4[('5S92!A
M="!Y;W5R(&]W;B!R:7-K+"!R97-P;VYS:6)I;&ET>2!F;W(@9&%M86=E<R H
M:68@86YY*2!T;PHN7"(@*B!A;GEO;F4@<F5S=6QT:6YG(&9R;VT@=&AE('5S
M92!O9B!T:&ES('-O9G1W87)E(')E<W1S(&5N=&ER96QY('=I=&@@=&AE"BY<
M(B J('5S97(N"BY<(B J"BY<(B J(%-E;F0@8G5G(')E<&]R=',L(&)U9R!F
M:7AE<RP@96YH86YC96UE;G1S+"!R97%U97-T<RP@9FQA;65S+"!E=&,N+"!A
M;F0*+EPB("H@22=L;"!T<GD@=&\@:V5E<"!A('9E<G-I;VX@=7 @=&\@9&%T
M92X@($D@8V%N(&)E(')E86-H960@87,@9F]L;&]W<SH*+EPB("H@:VQI97) 
M8W,N='4M8F5R;&EN+F1E("\@:FML:65R+FEP:RYF:&<N9&4@+R Q,# P,C(N
M,3<P,$!C;VUP=7-E<G9E+F-O;0HN7"(@*B\*+D1D($YO=B R."P@,3DY,PHN
M1'0@0U)/3DQ/1R Q"BY/<R!"4T0@- HN4V@@3D%-10HN3FT@8W)O;FQO9PHN
M3F0@:V5E<"!D;W=N('1H92!S:7IE(&]F('1H92!C<F]N9"!L;V<@9FEL90HN
M4V@@4UE.3U!325,*+DYM(&-R;VYL;V<*+E-H($1%4T-225!424]."E=H96X*
M+DYM(&-R;VYL;V<*:7,@<W1A<G1E9"!I="!R96%D<R!T:&4@8W5R<F5N="!L
M;V<@9FEL92 H+W9A<B]C<F]N+VQO9RD@;V8@"BY8<B!C<F]N9" X"F%N9"!R
M96UO=F5S(&%L;"!E;G1R:65S(&9R;VT@8V]M;6%N9',@=&AA="!H879E(&)E
M96X@<G5N(&%G86EN(&%T(&$@;&%T97(*=&EM92X@5&AI<R!P<F5V96YT<R!T
M:&4@;&]G(&9I;&4@9G)O;2!G<F]W:6YG('1O(&)I9RP@=VAI8V@@8V%U<V5S
M('1H90HN6'(@8W)O;F0@. ID865M;VX@=&\@8F4@<75I=&4@8G5S>2!K965P
M:6YG('5P('=I=&@@;6ES<V5D(&IO8G,@*"UK(&]P=&EO;BDN"BY3:"!&24Q%
M4PHN0FP@+71A9R M=VED=&@*+DET(%!A("]V87(O8W)O;B]L;V<*5&AE(&-R
M;VYD)W,@;&]G(&9I;&4*+D5L"BY3:"!3144@04Q33PHN6'(@8W)O;F0@. HN
M4G,*+B5!($IA;B!+;&EE<BP@:VQI97) 8W,N='4M8F5R;&EN+F1E"BY290H 
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M         '5S<B]S<F,O=7-R+F)I;B]C<F]N;&]G+V-R;VYL;V<N8P      
M                                                            
M                       @(" V-#0@ " @(#0P,"  (" @,3<P(  @(" @
M(" Q-#,R-B @-34P,3(W,3$V-B @,3(T,#0 (                       
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                +RH@0V]P>7)I9VAT(#$Y.3,@8GD@
M2F%N($ML:65R"B J($%L;"!R:6=H=',@<F5S97)V960*("H*("H@1&ES=')I
M8G5T92!F<F5E;'DL(&5X8V5P=#H@9&]N)W0@<F5M;W9E(&UY(&YA;64@9G)O
M;2!T:&4@<V]U<F-E(&]R"B J(&1O8W5M96YT871I;VX@*&1O;B=T('1A:V4@
M8W)E9&ET(&9O<B!M>2!W;W)K*2P@;6%R:R!Y;W5R(&-H86YG97,@*&1O;B=T
M"B J(&=E="!M92!B;&%M960@9F]R('EO=7(@<&]S<VEB;&4@8G5G<RDL(&1O
M;B=T(&%L=&5R(&]R(')E;6]V92!T:&ES"B J(&YO=&EC92X@($UA>2!B92!S
M;VQD(&EF(&)U:6QD86)L92!S;W5R8V4@:7,@<')O=FED960@=&\@8G5Y97(N
M("!.;PH@*B!W87)R86YT964@;V8@86YY(&MI;F0L(&5X<')E<W,@;W(@:6UP
M;&EE9"P@:7,@:6YC;'5D960@=VET:"!T:&ES"B J('-O9G1W87)E.R!U<V4@
M870@>6]U<B!O=VX@<FES:RP@<F5S<&]N<VEB:6QI='D@9F]R(&1A;6%G97,@
M*&EF(&%N>2D@=&\*("H@86YY;VYE(')E<W5L=&EN9R!F<F]M('1H92!U<V4@
M;V8@=&AI<R!S;V9T=V%R92!R97-T<R!E;G1I<F5L>2!W:71H('1H90H@*B!U
M<V5R+@H@*@H@*B!396YD(&)U9R!R97!O<G1S+"!B=6<@9FEX97,L(&5N:&%N
M8V5M96YT<RP@<F5Q=65S=',L(&9L86UE<RP@971C+BP@86YD"B J($DG;&P@
M=')Y('1O(&ME97 @82!V97)S:6]N('5P('1O(&1A=&4N("!)(&-A;B!B92!R
M96%C:&5D(&%S(&9O;&QO=W,Z"B J(&ML:65R0&-S+G1U+6)E<FQI;BYD92 O
M(&IK;&EE<D!I<&LN9FAG+F1E("\@,3 P,#(R+C$W,#! 8V]M<'5S97)V92YC
M;VT*("HO"@HC:6YC;'5D92 \<W1D:6\N:#X*(VEN8VQU9&4@/'5N:7-T9"YH
M/@HC:6YC;'5D92 \97)R;F\N:#X*(VEN8VQU9&4@/'-T<FEN9RYH/@HC:6YC
M;'5D92 \<WES+V9I;&4N:#X*"B-D969I;F4@3$]'7T9)3$4)(B]V87(O8W)O
M;B]L;V<B"@HO*B!L;V-A;"!T>7!E(&1E9FEN:71I;VYS"0D)"0D)*B\*='EP
M961E9B!S=')U8W0@16YT<GE?<PI[('-T<G5C="!%;G1R>5]S*@E.97AT.PH@
M(&-H87(J"0D)5&5X=#L*?2!%;G1R>5]T.PH*+RH@;&]C86P@9&%T80D)"0D)
M"0D)*B\*<W1A=&EC"45N=')Y7W0J"6Q?3&ES=$AE860)"3T@3E5,3#L*<W1A
M=&EC"45N=')Y7W0J"6Q?3&ES=%1A:6P)"3T@3E5,3#L*"B\J('!R;W1O='EP
M97,@9F]R(&QO8V%L(&9U;F-T:6]N<PD)"0D)*B\*<W1A=&EC"79O:60)"6Q?
M4V-A;DQO9T9I;&4)"2A&24Q%*BD["G-T871I8PE%;G1R>5]T*@EL7TQO;VM5
M<$5N=')Y"0DH8VAA<BHI.PH*+RHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*B\*+RH@;6%I;@D)"0D)"0D)"2HO"B\J(&1E<V-R:7!T:6]N"3H@5&AE(&%P
M<&QI8V%T:6]N<R!M86EN(&9U;F-T:6]N+@D)"2HO"B\J('!A<F%M971E<@DZ
M('!?07)G0V]U;G0@("T@;G5M8F5R(&]F(&-O;6UA;F1L:6YE(&%R9W5M96YT
M<PD)*B\*+RH)"2 @<%]!<F=686QU97,@+2!V86QU97,@;V8@=&AE(&-O;6UA
M;F1L:6YE(&%R9W5M96YT<PDJ+PHO*B!R971U<FYS"3H@97AI="!S=&%T=7,@
M"0D)"0D)*B\*+RHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*B\*:6YT(&UA
M:6X*(" H(&EN= D)<%]!<F=#;W5N="P*(" @(&-H87(J"7!?07)G5F%L=65S
M6UT*(" I"GL@("!I;G0)"6%?3&]G1F0["B @("!&24Q%*@EA7TQO9T9I;&4[
M"B @("!%;G1R>5]T*@EA7U!T<CL*"B @+RH@0VAE8VL@=&AE(&5X:7-T96YC
M92!A;F0@86-C97-S(')I9VAT<R!O9B!T:&4@8W5R<F5N="!L;V<@9FEL92X)
M*B\*("!I9BAA8V-E<W,H3$]'7T9)3$4L5U]/2RD@/" P*0H@(" @>R!I9BAE
M<G)N;R ]/2!%3D]%3E0I"@ER971U<FXH,"D["0D)+RH@9FEL92!D;V5S(&YO
M="!E>&ES="XN+@DJ+PH@(" @("!P97)R;W(H(F-R;VYL;V<@*&-A;B=T(&]P
M96X@;&]G(&9I;&4I(BD["B @(" @(')E='5R;B@R*3L)"0DO*B!N;R!W<FET
M92!P97)M:7-S:6]N+BXN"2HO"B @("!]"@H@("\J(%)E860@=&AE(&-U<G)E
M;G0@;&]G(&9I;&4@86YD('!L86-E(&%L;"!E;G1R:65S('=H:6-H('-H;W5L
M9" )*B\*(" O*B!S=&%Y(&EN('1H92!L;V<@9FEL92!I;G1O(&$@9VQO8F%L
M(&QI<W0N"0D)"2HO"B @:68H*&%?3&]G1FEL92 ](&9O<&5N*$Q/1U]&24Q%
M+")R(BDI(#T]($Y53$PI"B @("![('!E<G)O<B@B8W)O;FQO9R H8V%N)W0@
M;W!E;B!L;V<@9FEL92DB*3L*(" @(" @<F5T=7)N*#(I.PH@(" @?0H@(&Q?
M4V-A;DQO9T9I;&4H85],;V=&:6QE*3L*("!F8VQO<V4H85],;V=&:6QE*3L*
M"B @+RH@56YL:6YK('1H92!O;&0@;&]G(&9I;&4@86YD(')E8W)E871E(&ET
M(&)Y('=R:71I;F<@86QL(&QI<W0@:71E;7,N"2HO"B @=6YL:6YK*$Q/1U]&
M24Q%*3L*"B @:68H*&%?3&]G1F0@/2!O<&5N*$Q/1U]&24Q%+$]?5U)/3DQ9
M?$]?05!014Y$?$]?0U)%050L,#8P,"DI(#P@,"D*(" @('L@<&5R<F]R*")C
M<F]N;&]G("AC86XG="!O<&5N(&QO9R!F:6QE(&9O<B!W<FET:6YG*2(I.R!R
M971U<FXH,BD[('T*("!A7TQO9T9I;&4@/2!F9&]P96XH85],;V=&9"PB=R(I
M.PH@(&9O<BAA7U!T<CUL7TQI<W1(96%D.V%?4'1R.V%?4'1R/6%?4'1R+3Y.
M97AT*0H@(" @9G!U=',H85]0='(M/E1E>'0L85],;V=&:6QE*3L*("!F8VQO
M<V4H85],;V=&:6QE*3L*"B @<F5T=7)N*# I.PI]"@HO*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ+PHO*B!L7U-C86Y,;V=&:6QE"0D)"0D)"2HO"B\J
M(&1E<V-R:7!T:6]N"3H@4V-A;B!C<F]N9"=S(&QO9R!F:6QE(&%N9"!B=6EL
M9"!T:&4@9VQO8F%L(&QI<W0@;V8)*B\*+RH)"2 @86QL(&5N=')I97,@=&AA
M="!S:&]U;&0@8F4@:V5P="X)"0DJ+PHO*B!P87)A;65T97().B!P7T9I;&4@
M+2!H86YD;&4@=&\@=&AE('-T<F5A;2!T:&%T('=A<R!O<&5N960@9F]R"2HO
M"B\J"0D)(" @=&AE(&QO9R!F:6QE+@D)"0DJ+PHO*B!R971U<FYS"3H@+2TM
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @*B\*+RH@<VED92!E9F9E8W1S"3H@5&AI<R!F=6YC=&EO;G,@861D
M<R!D871A('1O('1H92!G;&]B86P@;&ES="!A;F0@"2HO"B\J"0D@(&UO9&EF
M:65S(&5N=')I97,@86QR96%D>2!I;B!T:&4@;&ES="X)"0DJ+PHO*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ+PIS=&%T:6,@=F]I9"!L7U-C86Y,;V=&
M:6QE"B @*"!&24Q%*@EP7T9I;&4@*0I[(" @8VAA<@EA7TEN<'5T0G5F9F5R
M6S(U-ET["B @("!%;G1R>5]T*@EA7T5N=')Y.PH*("!W:&EL92@Q*0H@(" @
M>R O*B!296%D(&]N92!L;V<@96YT<GD@9G)O;2!T:&4@9FEL90D)"0DJ+PH@
M(" @("!F9V5T<RAA7TEN<'5T0G5F9F5R+'-I>F5O9BAA7TEN<'5T0G5F9F5R
M*2QP7T9I;&4I.PH@(" @("!I9BAF97)R;W(H<%]&:6QE*2!\?"!F96]F*'!?
M1FEL92DI"@ER971U<FX["@H@(" @(" O*B!#:&5C:R!I9B!T:&ES(&ES(&$@
M8V]M;6%N9"!E;G1R>2X@268@;F]T(&9O<F=E="!I="P@;VYL>0DJ+PH@(" @
M(" O*B!C;VUM86YD(&5N=')I97,@=VEL;"!B92!S879E9"X)"0D)"2HO"B @
M(" @(&EF*"%S=')S='(H85]);G!U=$)U9F9E<BPB0TU$(BDI"@EC;VYT:6YU
M93L*"B @(" @("\J($QO;VL@=7 @=&AI<R!E;G1R>2!I;B!T:&4@9VQO8F%L
M(&QI<W0L(&EF(&ET(&ES(&%L<F5A9'D@:6X)*B\*(" @(" @+RH@=&AE<F4N
M($EF('-O+"!O=F5R=W)I=&4@:70@=VET:"!T:&ES(&YE=V5R(&5N=')Y("AL
M;V<@96YT<FEE<PDJ+PH@(" @(" O*B!A<F4@86QW87ES(&]R9&5R960@:6X@
M=&AE(&9I;&4I+"!O=&AE<G=I<V4@87!P96YD(&ET('1O('1H92 )*B\*(" @
M(" @+RH@;&ES="X)"0D)"0D)"2HO"B @(" @(&EF*&%?16YT<GD@/2!L7TQO
M;VM5<$5N=')Y*&%?26YP=71"=69F97(I*0H)>R!F<F5E*&%?16YT<GDM/E1E
M>'0I.PH)("!I9BAA7T5N=')Y+3Y.97AT*0H)(" @('L@+RH@82!L:71T;&4@
M=')I8VLZ(')O=&%T92!T:&4@;F5X="!E;G1R>2!T;R!T:&4@96YD(&]F"2HO
M"@D@(" @(" O*B!T:&4@;&ES="!T;R!K965P('5P('1H92!O<F1E<B!O9B!T
M:&4@96YT<FEE<RX)"2HO"@D@(" @("!A7T5N=')Y+3Y497AT(" @(#T@85]%
M;G1R>2T^3F5X="T^5&5X=#L*"2 @(" @(&Q?3&ES=%1A:6PM/DYE>'0@/2!A
M7T5N=')Y+3Y.97AT.PH)(" @(" @;%],:7-T5&%I;" @(" @(" ](&%?16YT
M<GDM/DYE>'0["@D@(" @("!A7T5N=')Y+3Y.97AT(" @(#T@85]%;G1R>2T^
M3F5X="T^3F5X=#L*"2 @(" @(&Q?3&ES=%1A:6PM/E1E>'0@/2!S=')D=7 H
M85]);G!U=$)U9F9E<BD["@D@(" @("!L7TQI<W1486EL+3Y.97AT(#T@3E5,
M3#L*"2 @("!]"@D@(&5L<V4*(" @"2 @("!A7T5N=')Y+3Y497AT(#T@<W1R
M9'5P*&%?26YP=71"=69F97(I.PH)?0H@(" @("!E;'-E"@E[(&%?16YT<GD@
M/2 H16YT<GE?="HI(&UA;&QO8RAS:7IE;V8H16YT<GE?="DI.PH)("!A7T5N
M=')Y+3Y.97AT(#T@3E5,3#L*"2 @85]%;G1R>2T^5&5X=" ]('-T<F1U<"AA
M7TEN<'5T0G5F9F5R*3L*"@D@(&EF*&Q?3&ES=$AE860I"@D@(" @>R!L7TQI
M<W1486EL+3Y.97AT(#T@85]%;G1R>3L*"2 @(" @(&Q?3&ES=%1A:6P@(" @
M(" @/2!A7T5N=')Y.PH)(" @('T*"2 @96QS90H)(" @('L@;%],:7-T2&5A
M9" ](&%?16YT<GD["@D@(" @("!L7TQI<W1486EL(#T@85]%;G1R>3L*"2 @
M("!]"@E]"B @("!]"GT*"B\J*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHO
M"B\J(&Q?3&]O:U5P16YT<GD)"0D)"0D)*B\*+RH@9&5S8W)I<'1I;VX).B!&
M:6YD(&]U="!I9B!A;B!E;G1R>2!W:71H('1H92!S86UE(&-O;6UA;F0@:7,@
M86QR96%D>0DJ+PHO*@D)("!I;B!T:&4@9VQO8F%L(&QI<W0N($EF('-O(')E
M='5R;B!T:&ES(&5N=')Y+@D)*B\*+RH@<&%R86UE=&5R"3H@<%]%;G1R>51E
M>'0@+2!497AT(&]F('1H92!E;G1R>2!T:&%T(&ES(&QO;VME9"!U< DJ+PHO
M*B!R971U<FYS"3H@061D<F5S<R!O9B!T:&4@;6%T8VAI;F<@96YT<GD@=&AA
M="!I<R!A;')E861Y(&EN('1H90DJ+PHO*@D)("!L:7-T+"!O<B!.54Q,(&EF
M(&YO;B!W87,@9F]U;F0N"0D)*B\*+RH@<F5S=')I8W1I;VYS"3H@5&AI<R!F
M=6YC=&EO;B!R96QI97,@;VX@=&AE(&QO9R!E;G1R>2!F;W)M870@=7-E9 DJ
M+PHO*@D)("!B>2!C<F]N9"X@5&AE<F4@:7,@;F\@9W5A<F%N=&5E('1H870@
M=&AI<R!F=6YC=&EO;@DJ+PHO*@D)("!S=&EL;"!W;W)K<RP@<VAO=6QD('1H
M92!F;W)M870@;V8@=&AE(&QO9R!F:6QE(&)E"2HO"B\J"0D@(&-H86YG960N
M"0D)"0D)*B\*+RHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*B\*<W1A=&EC
M($5N=')Y7W0J(&Q?3&]O:U5P16YT<GD*(" H(&-H87(J"7!?16YT<GE497AT
M("D*>R @($5N=')Y7W0J"6%?16YT<GD["B @("!C:&%R*@EA7U!T<CL*(" @
M(&-H87(J"6%?4F5F4'1R.PH*(" O*B!4<F%V97)S('1H92!L:7-T(&%N9"!C
M;VUP87)E(&5V97)Y(&5N=')Y('=I=&@@=&AE(&YE=R!T97AT+BXN"2HO"B @
M9F]R*&%?16YT<GD];%],:7-T2&5A9#MA7T5N=')Y.V%?16YT<GD]85]%;G1R
M>2T^3F5X="D*(" @('L@+RH@0V]M<&%R92!T:&4@='=O('-T<FEN9W,L(&)U
M="!S:VEP('1H92!T:6UE('-T86UP('1H870@:7,)*B\*(" @(" @+RH@96YC
M;&]S960@:6X@=&AE(&9I<G-T('!A:7(@;V8@<&%R96YT:&5S97,N"0D)*B\*
M(" @(" @85]0='(@(" @/2!S=')C:'(H<%]%;G1R>51E>'0L)R@G*3L*(" @
M(" @:68H(6%?4'1R*0H)>R!F<')I;G1F*'-T9&5R<BPB8W)O;FQO9SH@9F]R
M;6%T(&9A:6QU<F4@:6X@;&]G(&9I;&5<;B(I.PH)("!E>&ET*#(I.PH)?0H@
M(" @("!I9BAS=')N8VUP*'!?16YT<GE497AT+&%?16YT<GDM/E1E>'0L85]0
M='(M<%]%;G1R>51E>'0I("$](# I"@EC;VYT:6YU93L*"B @(" @(&%?4'1R
M(" @(#T@<W1R8VAR*'!?16YT<GE497AT+"<I)RD["B @(" @(&%?4F5F4'1R
M(#T@<W1R8VAR*&%?16YT<GDM/E1E>'0L)RDG*3L*(" @(" @:68H(6%?4'1R
M('Q\("%A7U)E9E!T<BD*"7L@9G!R:6YT9BAS=&1E<G(L(F-R;VYL;V<Z(&9O
M<FUA="!F86EL=7)E(&EN(&QO9R!F:6QE7&XB*3L*"2 @97AI="@R*3L*"7T*
M(" @(" @:68H<W1R8VUP*&%?4'1R+&%?4F5F4'1R*2 ]/2 P*0H)<F5T=7)N
M*&%?16YT<GDI.PH@(" @?0H*("!R971U<FXH3E5,3"D["GT*"@          
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                          !U<W(O<W)C+VQI8F5X96,O            
M                                                            
M                                        (" @-S4U(  @(" T,# @
M " @(#$W,"  (" @(" @(" @(# @(#4U,#(P,S8U-C,@(" W,#4S "      
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                 '5S<B]S<F,O
M;&EB97AE8R]C<F]N9"\                                         
M                                                            
M   @(" W-34@ " @(#0P,"  (" @,3<P(  @(" @(" @(" @," @-34P,38Q
M-3 Q-R @,3 Q-30 (                                           
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M            =7-R+W-R8R]L:6)E>&5C+V-R;VYD+V-R;VYD+C@         
M                                                            
M                         " @(#8T-"  (" @-# P(  @(" Q-S @ " @
M(" @(" V,C(P(" U-3 Q-C$T,S P(" Q,30S,0 @                    
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                   N7"(@)$AE861E<CH@+V$O8W9S
M+S,X-D)31"]S<F,O;&EB97AE8R]C<F]N9"]C<F]N9"XX+'8@,2XQ+C$N,2 Q
M.3DS+S V+S$R(#$T.C4U.C T(')G<FEM97,@17AP("0*+EPB( HN7"(O*B!#
M;W!Y<FEG:'0@,3DX."PQ.3DP(&)Y(%!A=6P@5FEX:64*+EPB("H@06QL(')I
M9VAT<R!R97-E<G9E9 HN7"(@*@HN7"(@*B!$:7-T<FEB=71E(&9R965L>2P@
M97AC97!T.B!D;VXG="!R96UO=F4@;7D@;F%M92!F<F]M('1H92!S;W5R8V4@
M;W(*+EPB("H@9&]C=6UE;G1A=&EO;B H9&]N)W0@=&%K92!C<F5D:70@9F]R
M(&UY('=O<FLI+"!M87)K('EO=7(@8VAA;F=E<R H9&]N)W0*+EPB("H@9V5T
M(&UE(&)L86UE9"!F;W(@>6]U<B!P;W-S:6)L92!B=6=S*2P@9&]N)W0@86QT
M97(@;W(@<F5M;W9E('1H:7,*+EPB("H@;F]T:6-E+B @36%Y(&)E('-O;&0@
M:68@8G5I;&1A8FQE('-O=7)C92!I<R!P<F]V:61E9"!T;R!B=7EE<BX@($YO
M"BY<(B J('=A<G)A;G1E92!O9B!A;GD@:VEN9"P@97AP<F5S<R!O<B!I;7!L
M:65D+"!I<R!I;F-L=61E9"!W:71H('1H:7,*+EPB("H@<V]F='=A<F4[('5S
M92!A="!Y;W5R(&]W;B!R:7-K+"!R97-P;VYS:6)I;&ET>2!F;W(@9&%M86=E
M<R H:68@86YY*2!T;PHN7"(@*B!A;GEO;F4@<F5S=6QT:6YG(&9R;VT@=&AE
M('5S92!O9B!T:&ES('-O9G1W87)E(')E<W1S(&5N=&ER96QY('=I=&@@=&AE
M"BY<(B J('5S97(N"BY<(B J"BY<(B J(%-E;F0@8G5G(')E<&]R=',L(&)U
M9R!F:7AE<RP@96YH86YC96UE;G1S+"!R97%U97-T<RP@9FQA;65S+"!E=&,N
M+"!A;F0*+EPB("H@22=L;"!T<GD@=&\@:V5E<"!A('9E<G-I;VX@=7 @=&\@
M9&%T92X@($D@8V%N(&)E(')E86-H960@87,@9F]L;&]W<SH*+EPB("H@4&%U
M;"!6:7AI92P@,S(Y($YO92!3=')E970L(%-A;B!&<F%N8VES8V\L($-!+" Y
M-#$Q-"P@*#0Q-2D@.#8T+3<P,3,L"BY<(B J('!A=6Q =FEX:64N<V8N8V$N
M=7,@?'P@>VAO<'1O860L<&%C8F5L;"QD96-W<FPL8W)A<VA](79I>&EE(7!A
M=6P*+EPB("HO"BY$9"!.;W8@,34L(#$Y.#@*+D1T($-23TY$(#$*+D]S($)3
M1" T"BY3:"!.04U%"BY.;2!C<F]N9 HN3F0@9&%E;6]N('1O(&5X96-U=&4@
M<V-H961U;&5D(&-O;6UA;F1S("A6:7AI92!#<F]N*0HN4V@@4UE.3U!325,*
M+DYM(&-R;VYD"BY/<"!&;"!K"BY3:"!$15-#4DE05$E/3@HN3FT@0W)O;F0*
M<VAO=6QD(&)E('-T87)T960@9G)O;2 O971C+W)C(&]R("]E=&,O<F,N;&]C
M86PN("!)="!W:6QL(')E='5R;B!I;6UE9&EA=&5L>2P*<V\@>6]U(&1O;B=T
M(&YE960@=&\@<W1A<G0@:70@=VET:" G)B<N"BY0< HN3FT@0W)O;F0*<V5A
M<F-H97,@+W9A<B]C<F]N+W1A8G,@9F]R(&-R;VYT86(@9FEL97,@=VAI8V@@
M87)E(&YA;65D(&%F=&5R(&%C8V]U;G1S(&EN"B]E=&,O<&%S<W=D.R!C<F]N
M=&%B<R!F;W5N9"!A<F4@;&]A9&5D(&EN=&\@;65M;W)Y+@HN3FT@0W)O;F0*
M=&AE;B!W86ME<R!U<"!E=F5R>2!M:6YU=&4L(&5X86UI;FEN9R!A;&P@<W1O
M<F5D(&-R;VYT86)S+"!C:&5C:VEN9R!E86-H"F-O;6UA;F0@=&\@<V5E(&EF
M(&ET('-H;W5L9"!B92!R=6X@:6X@=&AE(&-U<G)E;G0@;6EN=71E+B @5VAE
M;B!E>&5C=71I;F<*8V]M;6%N9',L(&%N>2!O=71P=70@:7,@;6%I;&5D('1O
M('1H92!O=VYE<B!O9B!T:&4@8W)O;G1A8B H;W(@=&\@=&AE('5S97(*;F%M
M960@:6X@=&AE($U!24Q43R!E;G9I<F]N;65N="!V87)I86)L92!I;B!T:&4@
M8W)O;G1A8BP@:68@<W5C:"!E>&ES=',I+@HN4' *061D:71I;VYA;&QY+ HN
M3FT@8W)O;F0*8VAE8VMS(&5A8V@@;6EN=71E('1O('-E92!I9B!I=',@<W!O
M;VP@9&ER96-T;W)Y)W,@;6]D=&EM92!H87,@8VAA;F=E9"P@86YD"FEF(&ET
M(&AA<RP*+DYM(&-R;VYD"G=I;&P@=&AE;B!E>&%M:6YE('1H92!M;V1T:6UE
M(&]N(&%L;"!C<F]N=&%B<R!A;F0@<F5L;V%D('1H;W-E('=H:6-H(&AA=F4*
M8VAA;F=E9"X@(%1H=7,*+DYM(&-R;VYD"FYE960@;F]T(&)E(')E<W1A<G1E
M9"!W:&5N979E<B!A(&-R;VYT86(@9FEL92!I<R!M;V1I9FEE9"X@($YO=&4@
M=&AA="!T:&4*+EAR(&-R;VYT86(@,0IC;VUM86YD('5P9&%T97,@=&AE(&UO
M9'1I;64@;V8@=&AE('-P;V]L(&1I<F5C=&]R>2!W:&5N979E<B!I="!C:&%N
M9V5S(&$*8W)O;G1A8BX*+D)L("UT86<@+7=I9'1H(&9L86<*+DET($9L(&L*
M5&AI<R!O<'1I;VX@=&5L;',@"BY.;2!C<F]N9 IT;R!E>&%M:6YE('1H92!L
M;V<@9FEL92!A="!S=&%R="UU<"X@179E<GD@:F]B('1H870@<VAO=6QD(&AA
M=F4@8F5E;B!R=6X@"G-I;F-E(&ET(&AA<R!B965N(')U;B!T:&4@;&%S="!T
M:6UE(&%C8V]R9&EN9R!T;R!T:&4@;&]G(&9I;&4L('=I;&P@8F4@<G5N( II
M;6UE9&EA=&5L>2!I;B!O<F1E<B!T;R!K965P('5P('=I=&@@:F]B<R!N;W0@
M97AE8W5T960@:6X@=&EM97,@=VAE;B!T:&4@"G-Y<W1E;2!W87,@9&]W;BX*
M+E!P"DIO8G,@=&AA="!D;VXG="!A<'!E87(@:6X@=&AE(&QO9R!F:6QE(&%R
M92!A<W-U;65D('1O(&AA=F4@8F5E;B!R=6X@;&%S= IT:6UE(&%T('1H92!B
M96=I;FYI;F<@;V8@=&AE('EE87(N"BY0< I)9B!A(&IO8B!I<R!R=6X@8F5C
M875S92!O9B!T:&ES(&]P=&EO;BP@8W)O;F0@=VEL;"!W86ET(&9O<B!I="!T
M;R!C;VUP;&5T90IB969O<F4@<W1A<G1I;F<@;W1H97(@:F]B<RX@5&AI<R!I
M<R!N96-E<W-A<GD@=&\@879O:60@<&]S<VEB;&4@8V]N9FQI8W1S"F]F('-I
M;75L=&%N;W5S(&IO8G,L('=H:6-H(&ES(&YO<FUA;&QY(&1O;F4@8GD@<V-H
M961U;&EN9R!J;V)S(&%T(&1I9F9E<F5N= IT:6UE<R!O9B!T:&4@9&%Y+"!B
M=70@9&]E<VXG="!W;W)K(&AE<F4@87,@=&AE('-C:&5D=6QE(&ES(&)R;VME
M;B!U<"X@5&AE"F]R9&5R(&IO8G,@87)E(')U;B!A="!D97!E;F1S(&]N('1H
M92!T:&5I<B!O<F1E<B!O9B!A<'!E87)A;F-E(&EN('1H92!C<F]N=&%B( IF
M:6QE+@HN16P*+E-H($9)3$53"BY";" M=&%G("UW:61T:" *+DET(%!A("]V
M87(O8W)O;B]T86)S+RH*5&AE(&-R;VYT86(@9FEL97,@9F]R(&%L;"!U<V5R
M<PHN270@4&$@+W9A<B]C<F]N+VQO9PI4:&4@;&]G(&9I;&4@9F]R(&5X96-U
M=&5D(&-O;6UA;F1S"BY%; HN4V@@4T5%($%,4T\*+EAR(&-R;VYD;&]G(#$@
M+ HN6'(@8W)O;FQO9R Q("P*+EAR(&-R;VYT86(@,2 L"BY8<B!C<F]N=&%B
M(#4*+E)S"BXE02!0875L(%9I>&EE+"!P875L0'9I>&EE+G-F+F-A+G5S"BY2
M90I%4T-225!424]."BY.;2!#<F]N9 IS:&]U;&0@8F4@<W1A<G1E9"!F<F]M
M("]E=&,O<F,@;W(@+V5T8R]R8RYL;V-A;"X@($ET('=I;&P@<F5T=7)N(&EM
M;65D:6%T96QY+ IS;R!Y;W4@9&]N)W0@;F5E9"!T;R!S=&%R="!I="!W:71H
M("<F)RX*+E!P"BY.;2!#<F]N9 IS96%R8VAE<R O=F%R+V-R;VXO=&%B<R!F
M;W(@8W)O;G1A8B!F:6QE<R!W:&EC:"!A<F4@;F%M960@869T97(@86-C;W5N
M=',@:6X*+V5T8R]P87-S=V0[(&-R;VYT86)S(&9O=6YD(&%R92!L;V%D960@
M:6YT;R!M96UO<GDN"BY.;2!#<F]N9 IT:&5N('=A:V5S('5P(&5V97)Y(&UI
M;G5T92P@97AA;6EN:6YG(&%L;"!S=&]R960@8W)O;G1A8G,L(&-H96-K:6YG
M(&5A8V@*8V]M;75S<B]S<F,O;&EB97AE8R]C<F]N9"]C<F]N9"YC+G!A=&-H

-- 
*********** Freedom is inversely proportional to security ******************
Jan Klier                                                    Berlin, Germany
e-mail: klier@cs.tu-berlin.de 		  cis   : 100022,1700
      | jklier@ipk.fhg.de        		| 100022.1700@compuserve.com