386BSD 0.1 development
authorWilliam F. Jolitz <wjolitz@soda.berkeley.edu>
Mon, 14 Jan 1991 21:48:56 +0000 (13:48 -0800)
committerWilliam F. Jolitz <wjolitz@soda.berkeley.edu>
Mon, 14 Jan 1991 21:48:56 +0000 (13:48 -0800)
Work on file usr/othersrc/contrib/isode/others/rfa/rfa.ps

Co-Authored-By: Lynne Greer Jolitz <ljolitz@cardio.ucsf.edu>
Synthesized-from: 386BSD-0.1

usr/othersrc/contrib/isode/others/rfa/rfa.ps [new file with mode: 0644]

diff --git a/usr/othersrc/contrib/isode/others/rfa/rfa.ps b/usr/othersrc/contrib/isode/others/rfa/rfa.ps
new file mode 100644 (file)
index 0000000..0d2fcc7
--- /dev/null
@@ -0,0 +1,2239 @@
+%!
+%%Title: PubTeX output 1991.01.14:1031
+%%Creator: Pubps,       ArborText, Inc.
+%%BoundingBox: (atend)
+%%Pages: (atend)
+%%DocumentFonts: (atend)
+%%EndComments
+
+%! 
+%  Dvips.pro - included prolog for DviLaser-generated PostScript files.
+% 
+%  Copyright (c) 1986-89, ArborText, Inc.
+%  Permission to copy is granted so long as the PostScript code
+%  is not resold or used in a commercial product.
+%
+%  $Header: pubps.pro,v 1.14 90/04/10 12:27:08 jsg Exp $
+
+systemdict /setpacking known  % use array packing mode if its available
+  {/savepackingmode currentpacking def 
+   true setpacking}
+  if
+/$DviLaser 400 dict def
+% Begin document
+/BeginDviLaserDoc {
+  vmstatus pop pop 0 eq 
+    { $DviLaser begin 
+      InitializeState }
+    { /DviLaserJob save def
+      $DviLaser begin
+      InitializeState
+      /DviLaserFonts save def }
+    ifelse
+} bind def
+% End document
+/EndDviLaserDoc {
+  vmstatus pop pop 0 eq 
+    { end }
+    { DviLaserFonts restore
+      end
+      DviLaserJob restore }
+    ifelse
+} bind def
+$DviLaser begin
+
+/tempstr 64 string def
+/tempint 0 def
+/tempmatrix matrix def
+%
+%  Debugging routines
+%
+/DebugMode false def
+
+/PrintInt {
+  tempstr cvs print
+} bind def
+
+/PrintLn {
+  (\n) print flush
+} bind def
+/PrintVMStats {
+  print
+  PrintLn
+  (VM status - ) print
+  vmstatus
+  3 copy
+  PrintInt (\(total\), ) print
+  PrintInt (\(used\), ) print
+  pop
+  exch sub 
+  PrintInt (\(remaining\), ) print
+  PrintInt (\(level\)) print
+  PrintLn
+} bind def
+/VMS /PrintVMStats load def 
+/VMSDebug {
+  DebugMode
+    {PrintVMStats}
+    {pop}
+    ifelse
+} bind def
+(beginning of common prolog) VMSDebug 
+
+% Make it easy to bind definitions.
+/bdef { bind def } bind def
+/xdef { exch def } bdef
+
+% Begin page
+/BP {
+  /Magnification xdef
+  /DviLaserPage save def
+  (beginning of page) VMSDebug 
+} bdef
+% End page
+/EP {
+  DviLaserPage restore
+} bdef
+% Exit page (temporarily) to add fonts/characters.
+/XP {
+  % Save current point information so it can be reset later. 
+  /Xpos where {pop Xpos} {0} ifelse
+  /Ypos where {pop Ypos} {0} ifelse
+  /currentpoint cvx stopped {0 0 moveto currentpoint} if 
+  /DviLaserPage where {pop DviLaserPage restore} if
+  moveto
+  /Ypos xdef
+  /Xpos xdef
+} bdef
+% Resume page
+/RP {
+  /DviLaserPage save def
+} bdef
+% Purge all fonts to reclaim memory space. 
+/PF {
+  GlobalMode
+  LocalMode
+} bdef
+% Switch to base save/restore level, saving state information. 
+/GlobalMode {
+  /UserSave where {pop UserSave} if  % invoke "UserSave" if available
+  PortraitMode 
+  PaperWidth 
+  PaperHeight 
+  PxlResolution 
+  Resolution 
+  Magnification
+  Ymax
+  RasterScaleFactor
+  % Save current point information so it can be reset later. 
+  /currentpoint cvx stopped {0 0 moveto currentpoint} if 
+  /DviLaserPage where {pop DviLaserPage restore} if
+  DviLaserFonts restore
+  RecoverState
+} bdef
+% Preserve state at the base level.
+/RecoverState {
+  10 copy
+  /Ypos xdef
+  /Xpos xdef
+  /RasterScaleFactor xdef
+  /Ymax xdef
+  /Magnification xdef
+  /Resolution xdef
+  /PxlResolution xdef
+  /PaperHeight xdef
+  /PaperWidth xdef
+  /PortraitMode xdef
+  DoInitialScaling
+  PortraitMode not {PaperWidth 0 SetupLandscape} if
+  Xpos Ypos moveto
+} bdef
+
+% Initialize state variables to default values.
+/InitializeState {
+  /Resolution 3600.0 def
+  /PxlResolution 300.0 def
+  /RasterScaleFactor PxlResolution Resolution div def
+  /PortraitMode true def
+  11.0 Resolution mul /PaperHeight xdef
+  8.5 Resolution mul /PaperWidth xdef
+  /Ymax PaperHeight def
+  /Magnification 1000.0 def
+  /Xpos 0.0 def
+  /Ypos 0.0 def
+  /InitialMatrix matrix currentmatrix def
+} bdef
+
+% Switch from base save/restore level, restoring state information. 
+/LocalMode {
+  /Ypos xdef
+  /Xpos xdef
+  /RasterScaleFactor xdef
+  /Ymax xdef
+  /Magnification xdef
+  /Resolution xdef
+  /PxlResolution xdef
+  /PaperHeight xdef
+  /PaperWidth xdef
+  /PortraitMode xdef
+  DoInitialScaling
+  PortraitMode not {PaperWidth 0 SetupLandscape} if
+  Xpos Ypos moveto
+  /UserRestore where {pop UserRestore} if  % invoke "UserRestore" if available
+  /DviLaserFonts save def
+  /DviLaserPage save def
+} bdef
+% Abbreviations 
+/S /show load def
+/SV /save load def
+/RST /restore load def
+/Yadjust {Ymax exch sub} bdef
+% (x,y) position absolute, just set Xpos & Ypos, don't move.
+/SXY {
+  Yadjust 
+  /Ypos xdef /Xpos xdef
+} bdef
+% (x,y) position absolute
+/XY {
+  Yadjust 
+  2 copy /Ypos xdef /Xpos xdef
+  moveto
+} bdef
+% (x,0) position absolute
+/X {
+  currentpoint exch pop 
+  2 copy /Ypos xdef /Xpos xdef
+  moveto
+} bdef
+% (0,y) position absolute
+/Y {
+  currentpoint pop exch Yadjust 
+  2 copy /Ypos xdef /Xpos xdef
+  moveto
+} bdef
+% (x,y) position relative
+/xy {
+  neg rmoveto
+  currentpoint /Ypos xdef /Xpos xdef
+} bdef
+% (x,0) position relative
+/x {
+  0.0 rmoveto
+  currentpoint /Ypos xdef /Xpos xdef
+} bdef
+% (0,y) position relative
+/y {
+  0.0 exch neg rmoveto
+  currentpoint /Ypos xdef /Xpos xdef
+  } bdef
+% Print a rule.  In order to get correct pixel size and positioning,
+% we usually create a temporary font in which the rule is the only character.
+% When the rule is large, however, we fill a rectangle instead.
+/R {
+  /ht xdef
+  /wd xdef
+  ht 1950 le wd 1950 le and
+    {save
+    /tfd 6 dict def
+    tfd begin
+      /FontType 3 def
+      /FontMatrix [1 0 0 1 0 0] def
+      /FontBBox [0 0 wd ht] def
+      /Encoding 256 array dup 97 /a put def
+      /BuildChar {
+        pop   % ignore character code
+        pop   % ignore font dict, too
+        wd 0 0 0 wd ht setcachedevice
+        wd ht true
+        [1 0 0 -1 0 ht] {<FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF>} imagemask
+        } def
+      end % tfd
+    /tf tfd definefont setfont
+    (a) show
+    restore
+    }
+    {gsave
+    0 setgray
+    currentpoint
+    newpath
+      moveto
+      0.0 ht rlineto
+      wd 0.0 rlineto
+      0.0 ht neg rlineto
+      wd neg 0.0 rlineto
+    closepath fill
+    grestore
+    }
+  ifelse
+  wd 0.0 rmoveto
+  currentpoint /Ypos xdef /Xpos xdef
+} bdef
+
+%
+%  <PXL-file resolution(pix/inch)> <resolution(pix/inch)> RES
+%
+/RES {
+  /Resolution xdef
+  /PxlResolution xdef
+  /RasterScaleFactor PxlResolution Resolution div def
+  DoInitialScaling
+} bdef
+
+%
+% Do initial scaling.
+%
+/DoInitialScaling {
+  InitialMatrix setmatrix
+  72.0 Resolution div dup scale   
+} bdef
+%
+%  <paper-height(pix)> <paper-width(pix)> PM 
+%
+/PM { 
+  XP
+  /PaperWidth xdef 
+  /PaperHeight xdef
+  /Ymax PaperHeight def
+  /PortraitMode true def
+  DoInitialScaling
+  RP
+} bdef  
+%
+%  <paper-height(pix)> <paper-width(pix)> LM 
+%
+/LM {
+  XP
+  /PaperWidth xdef 
+  /PaperHeight xdef
+  /Ymax PaperWidth def
+  /PortraitMode false def
+  DoInitialScaling
+  PaperWidth 0 SetupLandscape
+  RP
+} bdef  
+  
+% Change magnification setting
+/MAG {
+  XP
+  /Magnification xdef
+  RP
+} bdef
+%
+%  Switch to landscape mode
+%
+/SetupLandscape {
+  translate
+  90.0 rotate
+} bdef
+%
+%  <mode> SPB - begin "\special" mode
+%
+%  This is the PostScript procedure used to transfer from the internal
+%  environment used for the DVI translation code emitted by DVIPS to
+%  a standard PostScript environment.
+%
+%  Parameters: 0 - Local
+%              1 - Global
+%              2 - Inline
+%
+/SPB {
+  /spc_mode xdef
+  spc_mode 0 eq spc_mode 2 eq or
+    {XP}
+    {spc_mode 1 eq {GlobalMode} if} 
+    ifelse
+  Resolution 72.0 div dup scale        % Restore default scaling...
+  Magnification 1000.0 div dup scale   % Adjust for any magnification...
+  /Xpos Xpos 72.0 Resolution div mul 1000.0 Magnification div mul def
+  /Ypos Ypos 72.0 Resolution div mul 1000.0 Magnification div mul def
+} bdef
+%
+%  <mode> SPE - end "\special" mode
+%
+%  This is the PostScript procedure used to reenter the internal
+%  environment used for the DVI translation code emitted by DVIPS from 
+%  the standard PostScript environment provided for processing user-supplied
+%  PostScript code.
+%
+%  Parameters: 0 - Local
+%              1 - Global
+%              2 - Inline
+%
+/SPE {
+  /spc_mode xdef
+  1000.0 Magnification div dup scale   % Un-adjust for any magnification...
+  72.0 Resolution div dup scale        % Restore default internal scaling...
+  spc_mode 0 eq spc_mode 2 eq or
+    {RP}
+    {spc_mode 1 eq {LocalMode} if} 
+    ifelse
+} bdef
+%
+%  <num-copies> PP
+%
+/PP {
+  /#copies xdef
+  showpage
+  /#copies 1 def
+} bdef
+%
+%  /font-name <point-size(pix)> DMF
+%
+/DMF {
+  /psz xdef
+  /nam xdef
+  nam findfont psz scalefont setfont
+} bdef
+%
+%  /abcd (xxx) str-concat  ==> /abcdxxx
+%
+/str-concatstr 64 string def
+
+/str-concat {
+  /xxx xdef
+  /nam xdef
+  /namstr nam str-concatstr cvs def
+  /newnam namstr length xxx length add string def
+  newnam 0 namstr putinterval
+  newnam namstr length xxx putinterval
+  newnam cvn 
+} bdef
+%
+%  /abcdef 2 str-strip ==> /cdef
+%
+/str-strip {
+  /num xdef
+  /nam xdef
+  /namstr nam tempstr cvs def
+  /newlen namstr length num sub def
+  namstr num newlen getinterval
+  cvn
+} bdef
+%
+%  <old-dict> copydict ==> new-dict on stack
+%
+/copydict {
+  dup length 1 add dict /newdict xdef
+    {1 index /FID ne
+      {newdict 3 1 roll put}
+      {pop pop}
+     ifelse
+    } forall 
+  newdict
+} bdef
+%
+%  <font-type> DefineCMEncoding
+%
+/DefineCMEncoding {
+  /EncodeType xdef
+  /CMEncoding 256 array def
+  /Times-Roman findfont /Encoding get aload pop CMEncoding astore pop
+  EncodeType 11 eq {Do-CM-rm-encoding} if
+  EncodeType 12 eq {Do-CM-it-encoding} if
+  EncodeType 13 eq {Do-CM-tt-encoding} if
+} bdef
+%
+%  Do special mappings for the various CM-font types.  Characters that
+%  get "covered up" are repositioned in the range (128,128+32).
+%
+/Do-standard-CM-encodings {
+  CMEncoding
+  dup 0 /.notdef put
+  dup 1 /.notdef put
+  dup 2 /.notdef put
+  dup 3 /.notdef put
+  dup 4 /.notdef put
+  dup 5 /.notdef put
+  dup 6 /.notdef put
+  dup 7 /.notdef put
+  dup 8 /.notdef put
+  dup 9 /.notdef put
+  dup 10 /.notdef put
+  dup 11 /.notdef put
+  dup 12 /fi put
+  dup 13 /fl put
+  dup 14 /.notdef put
+  dup 15 /.notdef put
+  dup 16 /dotlessi put
+  dup 17 /.notdef put
+  dup 18 /grave put
+  dup 19 /acute put
+  dup 20 /caron put
+  dup 21 /breve put
+  dup 22 /macron put
+  dup 23 /ring put
+  dup 24 /cedilla put
+  dup 25 /germandbls put
+  dup 26 /ae put
+  dup 27 /oe put
+  dup 28 /oslash put
+  dup 29 /AE put
+  dup 30 /OE put
+  dup 31 /Oslash put
+
+  dup 127 /dieresis put
+
+  dup 128 /space put
+  dup 129 /quotedbl put
+  dup 130 /sterling put
+  dup 131 /dollar put
+  dup 132 /less put
+  dup 133 /greater put
+  dup 134 /backslash put
+  dup 135 /asciicircum put
+
+  dup 136 /underscore put
+  dup 137 /braceleft put
+  dup 138 /bar put
+  dup 139 /braceright put
+  dup 140 /asciitilde put
+  pop
+} bdef
+/Do-CM-rm-encoding {
+  Do-standard-CM-encodings
+  CMEncoding
+  dup 32 /.notdef put
+  dup 34 /quotedblright put
+  dup 60 /exclamdown put
+  dup 62 /questiondown put
+  dup 92 /quotedblleft put
+  dup 94 /circumflex put
+  dup 95 /dotaccent put
+  dup 123 /endash put
+  dup 124 /emdash put
+  dup 125 /hungarumlaut put
+  dup 126 /tilde put
+  pop
+} bdef
+/Do-CM-it-encoding {
+  Do-standard-CM-encodings
+  CMEncoding
+  dup 32 /.notdef put
+  dup 34 /quotedblright put
+  dup 36 /sterling put
+  dup 60 /exclamdown put
+  dup 62 /questiondown put
+  dup 92 /quotedblleft put
+  dup 94 /circumflex put
+  dup 95 /dotaccent put
+  dup 123 /endash put
+  dup 124 /emdash put
+  dup 125 /hungarumlaut put
+  dup 126 /tilde put
+  pop
+} bdef
+/Do-CM-tt-encoding {
+  Do-standard-CM-encodings
+  CMEncoding
+  dup 12 /.notdef put
+  dup 13 /quotesingle put
+  dup 14 /exclamdown put
+  dup 15 /questiondown put
+  dup 94 /circumflex put
+  dup 126 /tilde put
+  pop
+} bdef
+
+%
+% Routines to handle packing/unpacking numbers.
+%
+%  <target> <pos> <num> PackHW --> <new target>
+%
+/PackHW {
+  /num xdef
+  /pos xdef
+  /target xdef
+  num 16#0000FFFF and 1 pos sub 16 mul bitshift
+    target or
+} bdef
+
+%
+%  <target> <pos> <num> PackByte --> <new target>
+%
+/PackByte {
+  /num xdef
+  /pos xdef
+  /target xdef
+  num 16#000000FF and 3 pos sub 8 mul bitshift
+    target or
+} bdef
+
+%
+%  <pos> <num> UnpkHW --> <unpacked value>
+%
+/UnpkHW {
+  /num xdef
+  /pos xdef
+  num 1 pos sub -16 mul bitshift 16#0000FFFF and
+  dup 16#00007FFF gt {16#00010000 sub} if
+} bdef
+
+%
+%  <pos> <num> UnpkByte --> <unpacked value>
+%
+/UnpkByte {
+  /num xdef
+  /pos xdef
+  num 3 pos sub -8 mul bitshift 16#000000FF and
+  dup 16#0000007F gt {16#00000100 sub} if
+} bdef
+
+%
+%  <int-font-name> <ext-font-name> <pt-sz(pix)> <type> <loaded-fg> DefineCMFont
+%
+%    type 10: "as-is" PostScript font
+%    type 11: CM-mapped PostScript font - roman
+%    type 12: CM-mapped PostScript font - text italic 
+%    type 13: CM-mapped PostScript font - typewriter type 
+%
+/int-dict-name {int (-dict) str-concat} bdef
+/int-dict {int (-dict) str-concat cvx load} bdef
+
+/DF {
+  true  % signal that the font is already loaded
+  DefineCMFont
+} bdef
+/DNF {
+  false  % signal that the font is not already loaded
+  DefineCMFont
+} bdef
+
+/DefineCMFont {
+  /loaded xdef
+  /typ xdef
+  /psz xdef
+  /ext xdef
+  /int xdef
+  typ 10 ne 
+    { % font_type = 11, 12, 13
+    loaded not
+      { /fnam ext 3 str-strip def
+        fnam findfont copydict /newdict xdef 
+        typ DefineCMEncoding
+        newdict /Encoding CMEncoding put
+        ext newdict definefont pop
+      } if
+    int-dict-name ext findfont psz scalefont def
+    currentdict int [int-dict /setfont cvx] cvx put
+    }
+    { % font_type = 10
+    /fnam ext def
+    int-dict-name fnam findfont psz scalefont def
+    currentdict int [int-dict /setfont cvx] cvx put
+    }
+  ifelse
+} bdef 
+%
+%  <int-font-name> <ext-font-name> <pt-sz(pix)> <PXL mag> <num-chars>
+%      [llx lly urx ury] <newfont-fg> DefinePXLFont
+%
+
+/PXLF {
+  true  % signal that the font is already loaded
+  DefinePXLFont
+} bdef
+/PXLNF {
+  false  % signal that the font is not already loaded
+  DefinePXLFont
+} bdef
+
+/PXLBuildCharDict 17 dict def
+/CMEncodingArray 256 array def
+0 1 255 {CMEncodingArray exch dup tempstr cvs cvn put} for
+
+/RasterConvert {RasterScaleFactor div} bdef
+/TransformBBox {
+  aload pop
+  /BB-ury xdef
+  /BB-urx xdef
+  /BB-lly xdef
+  /BB-llx xdef
+  [BB-llx RasterConvert BB-lly RasterConvert 
+   BB-urx RasterConvert BB-ury RasterConvert]
+} bdef
+
+/DefinePXLFont {
+  /newfont xdef
+  /bb xdef
+  /num xdef
+  /psz xdef
+  /dsz xdef
+  /pxlmag xdef
+  /ext xdef
+  /int xdef
+  /fnam ext (-) str-concat pxlmag tempstr cvs str-concat def
+  newfont not {
+    int-dict-name 13 dict def
+   
+    int-dict begin
+      /FontType 3 def
+      /FontMatrix [1 dsz div 0 0 1 dsz div 0 0] def
+      /FontBBox bb TransformBBox def
+      /Encoding CMEncodingArray def
+      /CharDict 1 dict def
+      CharDict begin
+        /Char-Info num array def
+        end
+  
+      /BuildChar
+        { 
+          PXLBuildCharDict begin
+            /char xdef
+            /fontdict xdef
+   
+            fontdict /CharDict get /Char-Info get char get aload pop
+   
+            /rasters xdef
+            /PackedWord1 xdef
+   
+            0 PackedWord1 UnpkHW 16#7FFF ne
+              { /PackedWord2 xdef
+                /wx 0 PackedWord1 UnpkHW def
+                /rows 2 PackedWord1 UnpkByte def
+                /cols 3 PackedWord1 UnpkByte def
+                /llx 0 PackedWord2 UnpkByte def
+                /lly 1 PackedWord2 UnpkByte def
+                /urx 2 PackedWord2 UnpkByte def
+                /ury 3 PackedWord2 UnpkByte def }
+              { /PackedWord2 xdef
+                /PackedWord3 xdef
+                /PackedWord4 xdef
+                /wx 1 PackedWord1 UnpkHW def
+                /rows 0 PackedWord2 UnpkHW def
+                /cols 1 PackedWord2 UnpkHW def
+                /llx 0 PackedWord3 UnpkHW def
+                /lly 1 PackedWord3 UnpkHW def
+                /urx 0 PackedWord4 UnpkHW def
+                /ury 1 PackedWord4 UnpkHW def }
+               ifelse
+
+            rows 0 lt
+              { /rows rows neg def
+                /runlength 1 def }
+              { /runlength 0 def }
+             ifelse
+            wx 0 
+            llx RasterConvert lly RasterConvert 
+            urx RasterConvert ury RasterConvert setcachedevice
+            rows 0 ne
+              {
+              gsave
+                cols rows true 
+                RasterScaleFactor 0 0 RasterScaleFactor neg llx neg ury 
+                  tempmatrix astore
+                {GenerateRasters} imagemask
+              grestore
+              } if
+            end
+        } def
+      end
+   
+      fnam int-dict definefont pop 
+    } if 
+  int-dict-name fnam findfont psz scalefont def
+  currentdict int [int-dict /setfont cvx] cvx put
+} bdef 
+%
+%  <int-font-name> <code> <wx> <llx> <lly> <urx> <ury> <rows> <cols> <runlength> <rasters> PXLC
+%
+/PXLC {
+  /rasters xdef
+  /runlength xdef
+  /cols xdef
+  /rows xdef
+  /ury xdef
+  /urx xdef
+  /lly xdef
+  /llx xdef
+  /wx xdef
+  /code xdef
+  /int xdef
+  % See if the long or short format is required
+  true cols CKSZ rows CKSZ ury CKSZ urx CKSZ lly CKSZ llx CKSZ 
+    TackRunLengthToRows
+    { int-dict /CharDict get /Char-Info get code 
+        [0 0 llx PackByte 1 lly PackByte 2 urx PackByte 3 ury PackByte
+         0 0 wx PackHW 2 rows PackByte 3 cols PackByte
+         rasters] put}
+    { int-dict /CharDict get /Char-Info get code 
+        [0 0 urx PackHW 1 ury PackHW
+         0 0 llx PackHW 1 lly PackHW
+         0 0 rows PackHW 1 cols PackHW
+         0 0 16#7FFF PackHW 1 wx PackHW
+         rasters] put} 
+    ifelse
+} bdef
+/CKSZ {abs 127 le and} bdef
+/TackRunLengthToRows {runlength 0 ne {/rows rows neg def} if} bdef
+%
+%  <wx> <dsz> <psz> <llx> <lly> <urx> <ury> <rows> <cols> <runlength> <rasters> PLOTC
+%
+/PLOTC {
+  /rasters xdef
+  /runlength xdef
+  /cols xdef
+  /rows xdef
+  /ury xdef
+  /urx xdef
+  /lly xdef
+  /llx xdef
+  /psz xdef
+  /dsz xdef
+  /wx xdef
+  % "Plot" a character's raster pattern.
+  rows 0 ne
+    {
+    gsave
+      currentpoint translate
+      psz dsz div dup scale
+      cols rows true 
+      RasterScaleFactor 0 0 RasterScaleFactor neg llx neg ury 
+        tempmatrix astore
+      {GenerateRasters} imagemask
+    grestore
+    } if
+  wx x
+} bdef
+% Routine to generate rasters for "imagemask".
+/GenerateRasters {
+  rasters
+  runlength 1 eq {RunLengthToRasters} if
+} bdef
+% Routine to convert from runlength encoding back to rasters.
+/RunLengthToRasters {
+  % ...not done yet...
+} bdef
+%
+%  These procedures handle bitmap processing.
+%
+%  <bitmap columns> <bitmap rows> <bitmap pix/inch> <magnification> BMbeg
+%
+/BMbeg {
+  /BMmagnification xdef
+  /BMresolution xdef
+  /BMrows xdef
+  /BMcols xdef
+
+  /BMcurrentrow 0 def
+  gsave
+    0.0 setgray
+    Resolution BMresolution div dup scale
+    currentpoint translate
+    BMmagnification 1000.0 div dup scale
+    0.0 BMrows moveto
+    BMrows dup scale
+    currentpoint translate
+    /BMCheckpoint save def
+  } bdef
+
+/BMend {
+  BMCheckpoint restore
+  grestore
+  } bdef
+
+%
+%  <hex raster bitmap> <rows> BMswath 
+%
+/BMswath {
+  /rows xdef
+  /rasters xdef
+
+  BMcols rows true
+  [BMrows 0 0 BMrows neg 0 BMcurrentrow neg]
+  {rasters}
+  imagemask
+
+  /BMcurrentrow BMcurrentrow rows add def
+  BMcurrentrow % save this on the stack around a restore...
+  BMCheckpoint restore
+  /BMcurrentrow xdef
+  /BMCheckpoint save def
+  } bdef
+
+%
+%  Procedures for implementing the "rotate <theta>" special:
+%  <theta> ROTB -
+%        - ROTE -
+
+/ROTB {
+  XP
+  gsave
+  Xpos Ypos translate
+  rotate % using <theta> from the stack
+  Xpos neg Ypos neg translate
+  RP
+  } bdef
+
+/ROTE {XP grestore RP} bdef
+
+%
+%  Procedures for implementing the "epsfile <filename> [<mag>]" special:
+%  <llx> <lly> <mag> EPSB -
+%  - EPSE -
+
+/EPSB {
+  0 SPB
+  save
+  4 1 roll % push the savelevel below the parameters
+  /showpage {} def
+  Xpos Ypos translate
+  1000 div dup scale % using <mag> from the stack
+  neg exch neg exch translate % using <llx> <lly> from the stack
+  } bdef
+
+/EPSE {restore 0 SPE} bdef
+
+%
+%  Procedure for implementing revision bars:
+%  <bary1> <bary2> <barx> <barw> REVB -
+%  The bar is a line of width barw drawn from (barx,bary1) to (barx,bary2).
+
+/REVB {
+  /barw xdef
+  /barx xdef
+  /bary2 xdef
+  /bary1 xdef
+  gsave
+    barw setlinewidth
+    barx bary1 Yadjust moveto
+    barx bary2 Yadjust lineto
+    stroke
+  grestore
+  } bdef
+
+%
+%  A small dictionary to facilitate The Publisher's implementation
+%  of gray table cells.
+
+/grpm 40 dict def
+
+%
+%  Procedures for implementing the "paper <source>" option:
+%  <name> <eop> SPS          -
+%         <eop> paper-manual -
+%  etc.  The boolean <eop> is passed so that a paper source procedure
+%  knows if it is being called at the beginning (false) or end
+%  (true) of a page.
+
+/SPS {
+  /eop xdef
+  /name xdef
+  name where {pop eop name cvx exec} if
+  } bdef
+
+/paper-manual {
+    {statusdict /manualfeed known
+      {statusdict /manualfeed true put}
+    if}
+  if
+  } bdef
+
+/paper-automatic {
+    {statusdict /manualfeed known
+      {statusdict /manualfeed false put}
+    if}
+  if
+  } bdef
+
+/paper-top-tray {
+    {}
+    {statusdict /setpapertray known
+      {statusdict begin 0 setpapertray end}
+    if}
+  ifelse
+  } bdef
+
+/paper-bottom-tray {
+    {}
+    {statusdict /setpapertray known
+      {statusdict begin 1 setpapertray end}
+    if}
+  ifelse
+  } bdef
+
+/paper-both-trays {
+    {}
+    {statusdict /setpapertray known
+      {statusdict begin 2 setpapertray end}
+    if}
+  ifelse
+  } bdef
+
+(end of common prolog) VMSDebug 
+
+end
+systemdict /setpacking known 
+  {savepackingmode setpacking}
+  if
+
+% 
+% End of included prolog section.
+%
+
+%%EndProlog
+%%BeginSetup
+BeginDviLaserDoc
+300 300 RES
+%%EndSetup
+
+
+%%PageBoundingBox: (atend)
+%%BeginPageSetup
+1000 BP 3507 2481 PM /paper-automatic false SPS 766 0 XY
+%%EndPageSetup
+XP /F46 /CM-Times-Bold 74.720 11 DNF RP
+766 759 XY F46(RF)S -6 x(A)S 38 x(\320)S 37 x(Remote)S 37 x(File)S
+37 x(Access)S
+XP /F45 /CM-Times-Roman 74.720 11 DNF RP
+688 950 XY F45(A)S 35 x(tool)S 35 x(for)S 35 x(managing)S 35 x
+(access)S 35 x(to)S 34 x(\014les)S 1037 Y 689 X(that)S 35 x(are)S 
+35 x(distributed)S 35 x(at)S 35 x(multiple)S 34 x(sites)S
+XP /F48 /CM-Times-Italic 58.115 12 DNF RP
+1069 1187 XY F48(Oliver)S 32 x(W)S -5 x(enzel)S 70 y 1057 X(GMD)S 
+31 x(\261)S 31 x(Fokus)S 71 y 1015 X(Berlin)S 30 x(\261)S 31 x
+(Germany)S
+XP /F47 /CM-Times-Roman 58.115 11 DF RP
+1112 1527 XY F47(V)S -6 x(ersion)S 35 x(1.0)S
+%%PageTrailer
+/paper-automatic true SPS 1 PP EP
+%%PageBoundingBox: 165 473 437 667
+
+%%PageBoundingBox: (atend)
+%%BeginPageSetup
+1000 BP 3507 2481 PM /paper-automatic false SPS 295 0 XY
+%%EndPageSetup
+XP /F8 /CM-Times-Bold 41.511 11 DF RP
+295 231 XY F8(RF)S -3 x(A)S 295 281 XY 846 3 R 1141 281 XY 
+200 3 R 1340 281 XY 846 3 R -50 y 1977 X(The)S 26 x(Model)S 464 Y 
+295 X F46(1)S 62 x(Intr)S -1 x(oduction)S
+XP /F44 /CM-Times-Roman 45.662 11 DF RP
+295 639 XY F44(This)S 13 x(software)S 12 x(tool)S 12 x(called)S
+XP /F49 /CM-Times-Bold 45.662 11 DF RP
+762 639 XY F49(Remote)S 12 x(File)S 12 x(Access)S 13 x F44(\(RF)S 
+-3 x(A\))S 12 x(has)S 13 x(been)S 12 x(designed)S 12 x(to)S 12 x
+(allow)S 12 x(access)S 13 x(to)S 12 x(a)S 12 x(set)S 12 x(of)S 12 x
+(\014les)S 58 y 295 X(in)S 13 x(a)S 13 x(UNIX)S
+XP /F74 /CM-Times-Roman 33.209 11 DF RP
+492 680 XY F74(TM)S 17 y 16 x F44(\014lesystem)S 14 x(that)S 14 x
+(are)S 14 x(shared)S 14 x(between)S 14 x(multiple)S 13 x(sites.)S 
+20 x(It)S 13 x(has)S 14 x(been)S 13 x(created)S 14 x(within)S 13 x
+(the)S 14 x(VERDI)S 58 y 295 X(3)S 14 x(project)S 13 x(as)S 14 x(a)S
+14 x(result)S 13 x(of)S 14 x(our)S 14 x(own)S 14 x(requirements)S 
+14 x(for)S 14 x(a)S 14 x(distributed)S 14 x(document)S 14 x(and)S 
+14 x(\014le)S 14 x(management)S 14 x(system.)S 58 y 295 X(Basis)S 
+15 x(for)S 15 x(this)S 15 x(requirements)S 15 x(is)S 16 x(the)S 15 x
+(VERDI)S 15 x(3)S 15 x(project)S 15 x(which)S 15 x(members)S 15 x
+(are)S 16 x(located)S 15 x(at)S 15 x(two)S 15 x(dif)S -1 x(ferent)S
+15 x(sites.)S 58 y 295 X(Both)S 16 x(sites)S 17 x(of)S 16 x(the)S 
+16 x(project)S 16 x(share)S 17 x(a)S 16 x(common)S 16 x(set)S 16 x
+(of)S 16 x(documents)S 16 x(and)S 17 x(\014les)S 16 x(which)S 17 x
+(need)S 16 x(to)S 16 x(be)S 16 x(accessed)S 16 x(and)S 58 y 295 X
+(modi)S
+(\014ed)S 15 x(during)S 15 x(the)S 15 x(everyday-project-work.)S 
+20 x(For)S 15 x(some)S 15 x(time)S 15 x(we)S 15 x(used)S 15 x(the)S
+15 x(FT)S -4 x(AM)S 15 x(software)S 15 x(to)S 15 x(exchange)S 58 y 
+295 X(\014les)S 19 x(between)S 18 x(the)S 18 x(two)S 18 x(sites,)S
+19 x(but)S 18 x(after)S 18 x(the)S 19 x(number)S 18 x(of)S 19 x
+(shared)S 18 x(\014les)S 19 x(and)S 18 x(transfer)S 19 x(operations)S
+18 x(grew,)S 19 x(very)S 58 y 295 X(often)S 21 x(questions)S 21 x
+(like)S 1145 Y 378 X(\267)S 67 x(at)S 17 x(which)S 17 x(site)S 17 x
+(the)S 17 x(up-to-date)S 17 x(\(master\))S 17 x(version)S 17 x(of)S
+17 x(the)S 17 x(\014le)S 17 x(is)S 17 x(located)S 17 x(?)S 1228 Y 
+378 X(\267)S 67 x(is)S 19 x(the)S 20 x(local)S 19 x(version)S 19 x
+(up-to-date)S 20 x(?)S 1311 Y 378 X(\267)S 67 x(is)S 19 x(anyone)S
+19 x(already)S 19 x(editing)S 19 x(this)S 20 x(\014le)S 20 x(?)S 
+1394 Y 378 X(\267)S 67 x(are)S 20 x(there)S 19 x(any)S 20 x(newly)S
+20 x(created)S 19 x(\014les)S 20 x(?)S 1493 Y 295 X(appeared.)S 26 x
+(Using)S 18 x(a)S 17 x(distributed)S 17 x(\014lesystem)S 17 x(like)S
+17 x(NFS)S 17 x(was)S 17 x(discussed)S 17 x(as)S 17 x(an)S 17 x
+(alternative)S 17 x(solution,)S 18 x(but)S 17 x(this)S 58 y 295 X
+(did)S 19 x(not)S 20 x(seemed)S 19 x(to)S 20 x(be)S 19 x
+(practicable)S 20 x(because)S 19 x(of)S 20 x(the)S 19 x(very)S 19 x
+(slow)S 19 x(communication)S 19 x(links)S 19 x(between)S 20 x(the)S
+19 x(sites)S 58 y 295 X(\(9600Bps\).)S 20 x(Therefore,)S 14 x(we)S
+13 x(tried)S 13 x(to)S 12 x(build)S 13 x(a)S 13 x(simple)S 12 x
+(tool)S 13 x(to)S 12 x(handle)S 13 x(theses)S 13 x(questions.)S 20 x
+(So)S 13 x(the)S 13 x(RF)S -3 x(A)S 12 x(tool)S 13 x(was)S 59 y 
+295 X(born)S 17 x(and)S 17 x(because)S 16 x(the)S 16 x(project)S 
+17 x(is)S 17 x(working)S 16 x(with)S 16 x(ISO)S 16 x(protocols,)S 
+17 x(we)S 16 x(built)S 17 x(the)S 17 x(tool)S 17 x(on)S 17 x(top)S
+17 x(of)S 16 x(the)S 17 x(ISODE)S 58 y 295 X(software)S 18 x
+(package)S 18 x(using)S 17 x(the)S 17 x(remote)S 17 x(operation)S 
+17 x(compiler)S
+XP /F75 /CM-Times-Italic 45.662 12 DF RP
+1339 1726 XY F75(r)S -2 x(osy\(1\))S F44(.)S 27 x(Currently)S 17 x
+(the)S 17 x(tools)S 17 x(only)S 17 x(supports)S 18 x(to)S 58 y 295 X
+(share)S 14 x(\014les)S 14 x(between)S 14 x(two)S 15 x(sites)S 15 x
+(\(because)S 14 x(this)S 15 x(was)S 15 x(our)S 15 x(primary)S 15 x
+(goal\),)S 15 x(but)S 15 x(it)S 15 x(should)S 14 x(be)S 14 x
+(possible)S 15 x(to)S 15 x(extend)S 58 y 295 X(it)S 20 x(to)S 21 x
+(support)S 20 x(multiple)S 20 x(sites.)S 2164 Y 295 X F46(2)S 62 x
+(The)S 35 x(Model)S
+XP /F76 /CM-Times-Bold 58.115 11 DF RP
+295 2350 XY F76(2.1)S 50 x(The)S 26 x(Data)S 27 x(Model)S 2467 Y 
+295 X F44(The)S 19 x(Data)S 19 x(Model)S 19 x(is)S 19 x(based)S 19 x
+(on)S 19 x(the)S 19 x(hierarchical)S 19 x(structure)S 19 x(of)S 20 x
+(the)S 20 x(UNIX)S -17 y F74(TM)S 17 y 22 x F44(\014lesystem.)S 32 x
+(The)S 20 x(RF)S -3 x(A)S 19 x(tools)S 58 y 295 X(allows)S 18 x(to)S
+18 x(share)S 18 x(a)S 17 x(subtree)S 17 x(of)S 18 x(the)S 17 x
+(hierarchical)S 17 x(\014lesystem)S 17 x(structure)S 18 x(between)S
+17 x(\(currently\))S 18 x(two)S 18 x(sites.)S 27 x(The)S 58 y 295 X
+(structure)S 18 x(of)S 17 x(the)S 18 x(shared)S 18 x(subtree)S 17 x
+(must)S 18 x(be)S 18 x(identical)S 18 x(at)S 17 x(both)S 17 x
+(sites.)S 28 x(The)S 17 x(local)S 18 x(root)S 18 x(of)S 18 x(the)S
+17 x(shared)S 18 x(subtree)S 58 y 295 X(may)S 16 x(be)S 16 x(dif)S
+-1 x(ferent)S 17 x(at)S 16 x(both)S 16 x(sites.)S 24 x(Subject)S 
+16 x(of)S 17 x(the)S 16 x(operation)S 16 x(of)S 17 x(the)S 16 x(RF)S
+-3 x(A)S 16 x(tool)S 17 x(are)S 17 x(the)S 16 x(\014les)S 17 x(and)S
+16 x(directories)S 58 y 295 X(within)S 21 x(the)S 20 x(shared)S 20 x
+(subtree.)S 2886 Y 295 X F76(2.1.1)S 49 x(File)S 26 x(V)S -5 x
+(ersion-T)S -1 x(ime)S 3003 Y 295 X F44(A)S 21 x(\014le)S 21 x
+(within)S 20 x(a)S 21 x(shared)S 21 x(subtree)S 20 x(exists)S 21 x
+(at)S 21 x(the)S 21 x(dif)S -1 x(ferent)S 21 x(sites)S 21 x(as)S 
+21 x(dif)S -1 x(ferent)S 21 x(\(local\))S 20 x(versions)S 20 x(of)S
+21 x(the)S 20 x(\014le.)S 58 y 295 X(The)S 17 x(version-time)S 17 x
+(\(state)S 17 x(of)S 17 x(modi\014cation\))S 17 x(of)S 17 x(a)S 17 x
+(\014le)S 17 x(version)S 17 x(at)S 17 x(a)S 17 x(site)S 17 x(is)S 
+17 x(determined)S 17 x(by)S 17 x(the)S 17 x F75(modi\014cation)S
+XP /F6 /CM-Times-Roman 41.511 11 DF RP
+1230 3276 XY F6(1)S
+%%PageTrailer
+/paper-automatic true SPS 1 PP EP
+%%PageBoundingBox: 71 53 524 794
+
+%%PageBoundingBox: (atend)
+%%BeginPageSetup
+1000 BP 3507 2481 PM /paper-automatic false SPS 295 0 XY
+%%EndPageSetup
+295 231 XY F8(RF)S -3 x(A)S 295 281 XY 846 3 R 1141 281 XY 
+200 3 R 1340 281 XY 846 3 R -50 y 1977 X(The)S 26 x(Model)S 459 Y 
+295 X F75(time)S 16 x F44(provided)S 16 x(by)S 17 x(the)S 17 x(UNIX)S
+-17 y F74(TM)S 17 y 18 x F44(system)S 17 x(call)S 16 x F75
+(stat\(2\))S F44(.)S 24 x(T)S -3 x(o)S 16 x(determine)S 16 x(which)S
+17 x(version)S 16 x(of)S 16 x(\014le)S 17 x(is)S 17 x(up-to-date,)S
+58 y 295 X(the)S 17 x(youngest)S 17 x(version-time)S 17 x(is)S 16 x
+(chosen.)S 25 x(This)S 17 x(requires)S 16 x(that)S 17 x(the)S 16 x
+(sites)S 16 x(participating)S 17 x(in)S 17 x(the)S 17 x(\014le)S 
+17 x(sharing)S 17 x(use)S 58 y 295 X(synchronized)S 11 x(clocks.)S
+19 x(This)S 12 x(is)S 12 x(necessary)S 12 x(because)S 12 x(the)S 
+12 x(modi\014cation)S 11 x(time)S 12 x(is)S 11 x(set)S 12 x
+(automatically)S 12 x(by)S 11 x(the)S 12 x(UNIX)S 58 y 295 X(system)S
+18 x(using)S 18 x(the)S 17 x(local)S 17 x(operating)S 17 x(system)S
+17 x(clock.)S 27 x(The)S 17 x(RF)S -3 x(A)S 17 x(tool)S 17 x
+(provides)S 17 x(an)S 18 x(operation)S 17 x(to)S 17 x(synchronize)S
+59 y 295 X(the)S 18 x(clocks)S 18 x(where)S 18 x(one)S 19 x(of)S 
+18 x(the)S 18 x(sites)S 19 x(is)S 18 x(declared)S 18 x(to)S 18 x(be)S
+19 x(the)S 19 x F75(time-master)S 18 x F44(which)S 18 x(provides)S
+19 x(the)S 18 x(time)S 18 x(to)S 18 x(the)S 58 y 295 X F75
+(time-slave)S F44(.)S 916 Y 295 X F76(2.1.2)S 49 x(RF)S -4 x(A)S 
+26 x(File)S 26 x(Status)S 1025 Y 295 X F44(Each)S 17 x(local)S 18 x
+(version)S 18 x(of)S 18 x(a)S 18 x(\014le)S 18 x(that)S 18 x(exists)S
+17 x(within)S 18 x(the)S 18 x(shared)S 18 x(subtree)S 18 x(at)S 18 x
+(a)S 18 x(site)S 17 x(has)S 18 x(a)S 18 x(RF)S -3 x(A-speci\014c)S
+18 x(status)S 58 y 295 X(which)S 21 x(is)S 21 x(one)S 22 x(of:)S
+XP /F1 /CM-Times-Italic 49.813 12 DF RP
+295 1168 XY F1(MASTER)S -2 y 709 X F44(the)S 13 x(\014le)S 12 x(is)S
+12 x(the)S 12 x(up-to-date)S 12 x(version)S 12 x(of)S 13 x(the)S 
+13 x(\014le)S 12 x(and)S 13 x(modi\014cations)S 13 x(to)S 12 x(the)S
+13 x(local)S 13 x(version)S 58 y 709 X(of)S 19 x(the)S 19 x(\014le)S
+19 x(are)S 19 x(allowed.)S 1308 Y 295 X F1(SLA)S -2 x(VE)S -2 y 
+709 X F44(the)S 18 x(\014le)S 18 x(is)S 18 x(the)S 18 x(read-only)S
+18 x(version)S 18 x(of)S 18 x(the)S 18 x(\014le)S 18 x(and)S 18 x
+(may)S 18 x(be)S 18 x(up-to-date)S 18 x(but)S 18 x(it)S 18 x(need)S
+58 y 709 X(not.)S 20 x(For)S 14 x(each)S 13 x(local)S 13 x(\014le)S
+13 x(with)S 13 x(SLA)S -6 x(VE)S 13 x(status)S 13 x(there)S 13 x
+(must)S 13 x(be)S 13 x(a)S 13 x(MASTER)S 14 x(version)S 13 x(at)S 
+58 y 709 X(the)S 13 x(remote)S 13 x(site.)S 19 x(File)S 13 x
+(version)S 13 x(with)S 13 x(SLA)S -6 x(VE)S 13 x(status)S 13 x(will)S
+12 x(have)S 12 x(\014le)S 12 x(write)S 13 x(permissions)S 59 y 709 X
+(cleared.)S 1565 Y 295 X F1(UNREGISTERED)S -2 y 51 x F44(the)S 16 x
+(\014le)S 15 x(not)S 15 x(shared)S 15 x(and)S 16 x(has)S 16 x(only)S
+15 x(local)S 15 x(signi\014cance.)S 20 x(It)S 15 x(may)S 15 x(be)S
+15 x(modi\014ed)S 15 x(locally.)S 1693 Y 295 X(This)S 14 x(\014le)S
+14 x(status)S 13 x(allows)S 13 x(to)S 13 x(determine)S 13 x(which)S
+13 x(site)S 13 x(has)S 13 x(the)S 14 x(up-to-date)S 14 x(version)S
+14 x(of)S 13 x(a)S 13 x(\014le)S 14 x(and)S 13 x(is)S 13 x(allowed)S
+13 x(to)S 13 x(do)S 58 y 295 X(modi\014cations)S 16 x(to)S 16 x(the)S
+16 x(\014le.)S 22 x(The)S 16 x(site)S 16 x(holding)S 15 x(a)S 16 x
+(SLA)S -6 x(VE)S 16 x(version)S 16 x(of)S 16 x(the)S 15 x(\014le)S
+16 x(has)S 15 x(to)S 16 x(request)S 16 x(the)S 16 x(mastership)S 
+58 y 295 X(before)S 18 x(it)S 18 x(is)S 18 x(allowed)S 18 x(to)S 
+18 x(do)S 18 x(any)S 17 x(modi\014cations.)S 29 x(Further,)S 19 x
+(it)S 18 x(has)S 18 x(to)S 18 x(be)S 18 x(assured)S 18 x(that)S 17 x
+(the)S 18 x(local)S 18 x(version)S 18 x(of)S 58 y 295 X(the)S 16 x
+(\014le)S 15 x(at)S 16 x(the)S 15 x(new)S 16 x(MASTER)S 15 x(site)S
+15 x(is)S 15 x(up-to-date.)S 21 x(Otherwise)S 15 x(the)S 15 x
+(\014le)S 15 x(has)S 16 x(to)S 16 x(be)S 15 x(transferred)S 15 x
+(\014rst.)S 21 x(A)S 15 x(local)S 58 y 295 X(version)S 15 x(of)S 
+14 x(a)S 15 x(\014le)S 15 x(may)S 15 x(change)S 15 x(its)S 15 x
+(status)S 14 x(during)S 15 x(its)S 15 x(lifetime)S 14 x(\(e.g.)S 
+20 x(from)S 14 x(UNREGISTERED)S 15 x(to)S 15 x(MASTER\))S 58 y 295 X
+(as)S 19 x(a)S 19 x(result)S 19 x(of)S 19 x(several)S 19 x(RF)S -3 x
+(A)S 18 x(operations)S 19 x(described)S 19 x(later.)S 2150 Y 295 X 
+F76(2.1.3)S 49 x(File)S 26 x(Locking)S 2259 Y 295 X F44(T)S -3 x(o)S
+21 x(avoid)S 22 x(that)S 21 x(a)S 21 x(\014le)S 21 x(is)S 21 x(modi)S
+(\014ed)S 21 x(by)S 21 x(multiple)S 22 x(users)S 22 x(at)S 21 x(the)S
+21 x(MASTER)S 21 x(site)S 21 x(or)S 21 x(that)S 22 x(the)S 22 x
+(mastership)S 22 x(is)S 58 y 295 X(transferred)S 17 x(to)S 17 x(the)S
+17 x(remote)S 16 x(site)S 16 x(while)S 17 x(the)S 16 x(local)S 17 x
+(version)S 16 x(is)S 16 x(under)S 17 x(modify-access)S 16 x(by)S 
+16 x(a)S 17 x(local)S 16 x(user,)S 17 x(a)S 16 x(local)S 58 y 295 X
+(version)S 16 x(of)S 17 x(a)S 16 x(\014le)S 16 x(can)S 16 x(be)S 
+17 x(\(soft\)-locked.)S 24 x(Locking)S 17 x(of)S 16 x(\014les)S 16 x
+(is)S 17 x(only)S 17 x(applicable)S 17 x(to)S 17 x(\014le)S 17 x
+(versions)S 16 x(with)S 16 x(status)S 58 y 295 X(MASTER)S 21 x(or)S
+20 x(UNREGISTERED.)S 72 y 295 X(Setting)S 15 x(the)S 16 x(lock)S 
+15 x(\015ag)S 15 x(of)S 16 x(a)S 16 x(directory)S 16 x(has)S 15 x
+(the)S 16 x(ef)S -1 x(fect,)S 16 x(that)S 15 x(the)S 16 x F75
+(.rfaexec)S 15 x F44(\014le)S 15 x(is)S 16 x(not)S 16 x(executed)S
+16 x(during)S 16 x(a)S 16 x(RF)S -3 x(A)S 58 y 295 X F75(sync)S 16 x 
+F44(or)S 15 x F75(rsync)S 15 x F44(command.)S 20 x(This)S 15 x(can)S
+15 x(be)S 15 x(used)S 15 x(to)S 15 x(enable)S 15 x(the)S 15 x
+(execution)S 15 x(of)S 15 x(the)S 15 x F75(.rfaexec)S 16 x F44
+(\014le)S 15 x(for)S 16 x(a)S 15 x(period)S 15 x(of)S 58 y 295 X
+(time)S 14 x(\(e.g.)S 19 x(while)S 13 x(doing)S 13 x(incomplete)S 
+13 x(modi\014cations)S 13 x(to)S 13 x(the)S 13 x(source-code)S 13 x
+(when)S 13 x F75(.rfaexec)S 13 x F44(contains)S 13 x(commands)S 58 y 
+295 X(for)S 21 x(re-compilation\).)S 2846 Y 295 X F76(2.1.4)S 49 x
+(T)S -4 x(ransferlevel)S 2954 Y 295 X F44(One)S 14 x(mode)S 14 x(of)S
+13 x(operation)S 13 x(of)S 14 x(the)S 13 x(RF)S -3 x(A)S 13 x(tool)S
+14 x(is)S 14 x(to)S 14 x(synchronize)S 13 x(sets)S 13 x(of)S 14 x
+(local)S 14 x(version)S 14 x(of)S 14 x(\014les)S 13 x(with)S 14 x
+(the)S 13 x(remote)S 58 y 295 X(site.)S 21 x(T)S -3 x(o)S 15 x
+(determine)S 15 x(if)S 15 x(a)S 15 x(\014le)S 16 x(that)S 16 x(is)S
+16 x(mastered)S 16 x(remote)S 15 x(should)S 15 x(be)S 16 x
+(transferred)S 16 x(during)S 16 x(this)S 15 x(synchronization,)S 
+58 y 295 X(a)S 19 x(transferlevel)S 19 x(can)S 20 x(be)S 19 x
+(associated)S 19 x(with)S 19 x(each)S 19 x(\014le:)S 3276 Y 22 x F6
+(2)S
+%%PageTrailer
+/paper-automatic true SPS 1 PP EP
+%%PageBoundingBox: 71 53 524 794
+
+%%PageBoundingBox: (atend)
+%%BeginPageSetup
+1000 BP 3507 2481 PM /paper-automatic false SPS 295 0 XY
+%%EndPageSetup
+295 231 XY F8(RF)S -3 x(A)S 295 281 XY 846 3 R 1141 281 XY 
+200 3 R 1340 281 XY 846 3 R -50 y 1874 X(The)S 25 x(RF)S -3 x(A)S 
+26 x(Client)S 459 Y 295 X F1(REQUEST)S -2 y 709 X F44(The)S 24 x
+(\014le)S 24 x(is)S 24 x(not)S 24 x(transferred)S 24 x
+(automatically)S 24 x(during)S 24 x(synchronization.)S 46 x(If)S 
+24 x(a)S 24 x(new)S 58 y 709 X(MASTER)S 17 x(\014le)S 17 x(is)S 17 x
+(detected)S 18 x(at)S 17 x(the)S 17 x(remote)S 17 x(site,)S 18 x
+(only)S 18 x(a)S 18 x(local)S 18 x(dummy)S 18 x(\(empty)S 17 x
+(\014le\))S 58 y 709 X(is)S 18 x(created)S 17 x(to)S 17 x(indicate)S
+18 x(the)S 18 x(existence)S 18 x(of)S 17 x(the)S 18 x(\014le.)S 
+693 Y 295 X F1(AUT)S -1 x(OMA)S -2 x(TIC)S -2 y 709 X F44(The)S 15 x
+(\014le)S 16 x(is)S 15 x(transferred)S 15 x(automatically)S 15 x
+(during)S 15 x(synchronization)S 15 x(if)S 16 x(the)S 16 x(local)S
+16 x(version)S 58 y 709 X(is)S 19 x(not)S 18 x(up-to-date.)S 31 x
+(If)S 18 x(a)S 18 x(new)S 19 x(MASTER)S 18 x(\014le)S 18 x(is)S 18 x
+(detected)S 19 x(at)S 18 x(the)S 18 x(remote)S 19 x(site,)S 20 x(it)S
+19 x(is)S 58 y 709 X(transferred.)S 1032 Y 295 X F76(2.2)S 50 x(The)S
+25 x(Functional)S 26 x(Model)S 1163 Y 295 X F44(The)S 17 x(RF)S -3 x
+(A)S 16 x(tools)S 16 x(is)S 16 x(built)S 16 x(using)S 16 x(the)S 
+16 x F75(Client-Server)S 17 x F44(model)S 16 x(of)S 16 x(the)S 17 x
+(ISODE)S 16 x(remote)S 16 x(operations)S 16 x(environment.)S 58 y 
+295 X(There)S 15 x(is)S 16 x(a)S 15 x(RF)S -3 x(A)S 15 x(server)S 
+16 x(\(called)S 15 x F75(r)S -2 x(os.rfa\))S 15 x F44(at)S 15 x
+(each)S 15 x(site)S 16 x(which)S 15 x(is)S 15 x(started)S 15 x
+(dynamically)S 15 x(by)S 15 x(the)S 15 x(ISODE)S 16 x F75(tsapd)S 
+F44(.)S 59 y 295 X(Most)S 20 x(of)S 20 x(the)S 19 x(RF)S -3 x(A)S 
+20 x(commands)S 20 x(are)S 20 x(interpreted)S 20 x(by)S 20 x(the)S
+20 x(RF)S -3 x(A)S 19 x(client)S 20 x(\(called)S 20 x F75(rfa)S F44
+(\))S 20 x(which)S 19 x(issues)S 20 x(a)S 20 x(remote)S 58 y 295 X
+(operation)S 21 x(to)S 21 x(the)S 22 x(remote)S 21 x(RF)S -3 x(A)S
+21 x(server.)S 40 x(The)S 21 x(RF)S -3 x(A)S 21 x(client)S 21 x
+(does)S 22 x(not)S 22 x(perform)S 21 x(a)S 22 x(1\261to-1)S 22 x
+(mapping)S 21 x(of)S 22 x(its)S 58 y 295 X(commands)S 14 x(onto)S 
+14 x(the)S 14 x(remote)S 13 x(operations.)S 20 x(It)S 13 x(uses)S 
+14 x(none,)S 14 x(one)S 13 x(or)S 14 x(more)S 13 x(remote)S 14 x
+(operations)S 14 x(to)S 14 x(execute)S 14 x(a)S 14 x(RF)S -3 x(A)S
+58 y 295 X(command.)S 31 x(The)S 19 x(association)S 18 x
+(establishment)S 18 x(is)S 19 x(done)S 19 x(when)S 19 x(the)S 18 x
+(\014rst)S 18 x(remote)S 19 x(operation)S 19 x(is)S 18 x(invoked.)S
+31 x(The)S 58 y 295 X(RF)S -3 x(A)S 17 x(client)S 17 x(can)S 17 x
+(operate)S 17 x(in)S 17 x(an)S 18 x(interactive)S 17 x(mode)S 17 x
+(or)S 18 x(a)S 18 x(command)S 18 x(mode.)S 1592 Y 295 X(One)S 18 x
+(of)S 18 x(the)S 17 x(basic)S 18 x(principles)S 17 x(of)S 18 x(RF)S
+-3 x(A)S 17 x(is)S 17 x(that)S 17 x(modi\014cations)S 18 x(to)S 18 x
+(any)S 18 x(\014les)S 17 x(are)S 18 x(only)S 18 x(performed)S 17 x
+(locally)S 17 x(by)S 58 y 295 X(the)S 17 x(RF)S -3 x(A)S 16 x
+(client.)S 24 x(The)S 17 x(remote)S 17 x(RF)S -3 x(A)S 16 x(server)S
+17 x(never)S 17 x(modi\014es)S 16 x(any)S 17 x(\014le,)S 17 x(so)S
+16 x(no)S 16 x(remote)S 16 x(\014le)S 16 x(modi\014cations)S 16 x
+(are)S 58 y 295 X(possible.)S 20 x(The)S 14 x(ensure)S 14 x(a)S 14 x
+(certain)S 14 x(autonomy)S 14 x(of)S 14 x(the)S 15 x(two)S 14 x
+(sites)S 14 x(concerning)S 14 x(modi\014cations)S 15 x(of)S 14 x
+(their)S 15 x(local)S 15 x(\014les.)S 2067 Y 295 X F46(3)S 62 x(The)S
+34 x(RF)S -6 x(A)S 34 x(Client)S 2279 Y 295 X F44(The)S 16 x(RF)S 
+-3 x(A)S 15 x(client)S 16 x(\()S F75(rfa)S F44(\))S 15 x(provides)S
+15 x(an)S 16 x(interactive)S 15 x(mode)S 15 x(and)S 16 x(a)S 16 x
+(command)S 16 x(mode.)S 21 x(The)S 16 x(rfa)S 16 x(command)S 16 x
+(has)S 15 x(the)S 59 y 295 X(following)S 21 x(syntax:)S
+XP /F78 /CM-Courier 41.511 13 DNF RP
+413 2431 XY F78(rfa)S 25 x([)S 25 x(-u)S 25 x(username)S 25 x(-p)S
+24 x(password)S 25 x(])S 25 x([)S 25 x(-h)S 25 x(hostname])S 25 x([)S
+25 x(-q)S 25 x(])S 49 y 538 X([)S 25 x(-c)S 24 x(rfa-command)S 25 x
+(])S 2582 Y 295 X F44(The)S 16 x(name)S 16 x(of)S 16 x(the)S 16 x
+(host)S 16 x(\(as)S 16 x(de\014ned)S 16 x(in)S 16 x(the)S 16 x F75
+(isoentities)S 16 x F44(database\))S 16 x(where)S 16 x(the)S 16 x
+(remote)S 16 x(site)S 16 x(is)S 16 x(located)S 16 x(can)S 16 x(be)S
+58 y 295 X(speci\014ed)S 12 x(using)S 13 x(the)S 12 x F75(-h)S 13 x 
+F44(option.)S 19 x(Because)S 12 x(the)S 13 x(RF)S -3 x(A)S 13 x
+(client)S 13 x(binds)S 12 x(to)S 12 x(the)S 13 x(remote)S 12 x(RF)S
+-3 x(A)S 12 x(server)S 12 x(with)S 12 x(a)S 13 x(username)S 58 y 
+295 X(that)S 12 x(must)S 13 x(be)S 13 x(valid)S 12 x(at)S 13 x(the)S
+12 x(remote)S 13 x(site,)S 13 x(the)S 12 x F75(-u)S 13 x F44(and)S
+12 x F75(-p)S 13 x F44(options)S 13 x(can)S 13 x(be)S 13 x(used)S 
+13 x(to)S 12 x(specify)S 13 x(the)S 12 x(username)S 13 x(and)S 12 x
+(the)S 58 y 295 X(password)S 15 x(for)S 15 x(the)S 15 x(remote)S 
+15 x(site.)S 20 x(The)S 15 x F75(-q)S 15 x F44(option)S 15 x
+(directs)S 14 x F75(rfa)S 15 x F44(to)S 15 x(run)S 15 x(in)S 15 x
+(quit-mode,)S 15 x(where)S 15 x(only)S 15 x(severe)S 15 x(errors)S
+58 y 295 X(are)S 16 x(reported)S 16 x(and)S 15 x(no)S 16 x(user)S 
+16 x(interaction)S 16 x(is)S 16 x(performed.)S 21 x(Using)S 15 x
+(the)S 16 x F75(-c)S 16 x F44(option,)S 16 x(a)S 16 x(command)S 16 x
+(can)S 16 x(be)S 16 x(passed)S 16 x(to)S 58 y 295 X(rfa)S 18 x(in)S
+18 x(command)S 17 x(mode.)S 28 x(This)S 18 x(can)S 18 x(be)S 17 x
+(any)S 18 x(command)S 17 x(described)S 18 x(below.)S 2952 Y 295 X
+(If)S 15 x(the)S 16 x(rfa)S 15 x(is)S 16 x(called)S 15 x(without)S
+16 x(the)S 16 x F75(-c)S 15 x F44(option,)S 16 x(is)S 15 x(runs)S 
+16 x(in)S 16 x(interactive)S 16 x(mode.)S 22 x(The)S 16 x F75(rfa)S
+16 x F44(provides)S 16 x(the)S 15 x(following)S 58 y 295 X
+(commands.)S 26 x(A)S 17 x(command)S 17 x(can)S 17 x(be)S 17 x
+(abbreviated)S 17 x(with)S 17 x(its)S 17 x(unambiguous)S 18 x(pre)S
+(\014x.)S 3276 Y 1230 X F6(3)S
+%%PageTrailer
+/paper-automatic true SPS 1 PP EP
+%%PageBoundingBox: 71 53 524 794
+
+%%PageBoundingBox: (atend)
+%%BeginPageSetup
+1000 BP 3507 2481 PM /paper-automatic false SPS 295 0 XY
+%%EndPageSetup
+295 231 XY F8(RF)S -3 x(A)S 295 281 XY 846 3 R 1141 281 XY 
+200 3 R 1340 281 XY 846 3 R -50 y 1875 X(The)S 25 x(RF)S -3 x(A)S 
+25 x(Client)S 459 Y 295 X F76(3.1)S 50 x(pwd)S 575 Y 295 X F44
+(During)S 12 x(interactive)S 13 x(mode,)S 13 x F75(rfa)S 13 x F44
+(has)S 13 x(a)S 12 x(current)S 13 x(directory.)S 19 x(This)S 13 x
+(directory)S 13 x(is)S 13 x(relative)S 13 x(to)S 13 x(the)S 12 x
+(root)S 13 x(of)S 12 x(the)S 13 x(shared)S 58 y 295 X(subtree.)S 
+23 x(The)S 17 x F75(pwd)S 16 x F44(command)S 16 x(shows)S 17 x(the)S
+17 x(name)S 16 x(of)S 17 x(the)S 17 x(current)S 17 x(working)S 16 x
+(directory)S 16 x(relative)S 17 x(to)S 17 x(the)S 16 x(root)S 16 x
+(of)S 58 y 295 X(the)S 18 x(shared)S 18 x(subtree.)S 29 x(Initially)S
+19 x(this)S 19 x(is)S 18 x(the)S 18 x(current)S 19 x(working)S 18 x
+(directory)S 18 x(of)S 18 x(the)S 18 x(UNIX)S 18 x F75(sh\(1\))S 
+18 x F44(where)S 18 x F75(rfa)S 18 x F44(has)S 58 y 295 X(been)S 
+20 x(called)S 19 x(if)S 19 x(it)S 19 x(is)S 19 x(within)S 19 x(the)S
+19 x(shared)S 20 x(subtree.)S 934 Y 295 X F76(3.2)S 50 x(cd)S 1050 Y 
+295 X F44(The)S 18 x F75(cd)S 18 x F44(command)S 17 x(changes)S 18 x
+(the)S 17 x(current)S 17 x(directory)S 18 x(of)S 17 x F75(rfa)S 17 x 
+F44(in)S 17 x(interactive)S 18 x(mode)S 18 x(to)S 18 x(the)S 17 x
+(directory)S 18 x(given)S 18 x(as)S 58 y 295 X(the)S 15 x(\014rst)S
+14 x(ar)S -1 x(gument.)S 20 x(No)S 15 x(check)S 14 x(is)S 14 x(made)S
+15 x(if)S 14 x(this)S 15 x(directory)S 15 x(exists.)S 20 x(It)S 15 x
+(is)S 15 x(not)S 15 x(possible)S 14 x(to)S 14 x(change)S 14 x(the)S
+15 x(working)S 58 y 295 X(directory)S 19 x(above)S 20 x(the)S 20 x
+(root)S 19 x(of)S 20 x(the)S 19 x(shared)S 19 x(subtree.)S 1351 Y 
+295 X F76(3.3)S 50 x(list)S 1466 Y 295 X F44(The)S 12 x F75(list)S
+12 x F44(command)S 11 x(provides)S 11 x(a)S 11 x(listing)S 11 x(of)S
+12 x(the)S 12 x(\014les)S 11 x(within)S 11 x(the)S 11 x(directories)S
+11 x(given)S 12 x(as)S 11 x(the)S 11 x(command)S 11 x(ar)S -1 x
+(guments.)S 58 y 295 X(If)S 17 x(no)S 17 x(ar)S -1 x(gument)S 18 x
+(is)S 17 x(given,)S 18 x(the)S 18 x(current)S 18 x(working)S 17 x
+(directory)S 18 x(is)S 18 x(listed.)S 27 x(The)S 18 x(output)S 18 x
+(of)S 17 x(the)S 18 x F75(list)S 18 x F44(command)S 18 x(is)S 58 y 
+295 X(similar)S 19 x(to)S 19 x(the)S 18 x(output)S 18 x(of)S 19 x
+(the)S 18 x(UNIX)S 19 x F75(ls)S 17 x(-lg)S 18 x F44(command,)S 19 x
+(e.g.)S 1664 Y 413 X F78(-rw-rw-r--)S 25 x(M-A)S 25 x(ow)S 1011 X
+(verdi)S 1360 X(754)S 24 x(Jul)S 25 x(12)S 25 x(13:59)S 50 x
+(.sunview)S 50 y 413 X(drwxr-xr-x)S 25 x(---)S 25 x(ow)S 1011 X
+(verdi)S 1360 X(512)S 24 x(Jul)S 25 x(12)S 25 x(14:01)S 50 x(bin)S
+1804 Y 295 X F44(The)S 15 x(three)S 15 x(character)S 15 x(\014eld)S
+16 x(after)S 15 x(the)S 15 x(\014le)S 15 x(permissions)S 15 x(is)S
+16 x(used)S 15 x(to)S 15 x(indicated)S 16 x(the)S 16 x(dif)S -1 x
+(ferent)S 15 x(rfa-speci\014c)S 16 x(states)S 59 y 295 X(of)S 17 x
+(the)S 17 x(\014le.)S 25 x(The)S 17 x(\014rst)S 17 x(character)S 
+17 x(indicates)S 17 x(the)S 17 x(status)S 17 x(of)S 17 x(the)S 17 x
+(\014le,)S 18 x(with)S 17 x F78(M)S 17 x F44(for)S 17 x(master)S 
+17 x(version,)S 17 x F78(S)S 17 x F44(for)S 17 x(slave)S 58 y 295 X
+(V)S -5 x(ersion)S 13 x(and)S 13 x F78(-)S 13 x F44(for)S 13 x
+(unregistered)S 13 x(version.)S 20 x(The)S 12 x(second)S 13 x
+(character)S 13 x(is)S 13 x(the)S 13 x(lock)S 13 x(indicator)S 13 x
+(with)S 13 x(an)S 13 x F78(L)S 12 x F44(indicating)S 58 y 295 X
+(that)S 14 x(the)S 14 x(\014le)S 13 x(is)S 14 x(currently)S 14 x
+(locked)S 14 x(and)S 13 x(an)S 13 x F78(-)S 14 x F44(for)S 14 x
+(unlocked.)S 20 x(The)S 13 x(third)S 14 x(character)S 14 x
+(indicates)S 14 x(the)S 13 x(transfer)S 14 x(mode)S 58 y 295 X(of)S
+18 x(the)S 17 x(\014les)S 17 x(with)S 17 x F78(A)S 17 x F44(for)S 
+17 x(automatic)S 17 x(transfer)S 17 x(and)S 18 x F78(-)S 17 x F44
+(for)S 18 x(transfer)S 17 x(on)S 18 x(request.)S 2222 Y 295 X F76
+(3.4)S 50 x(rlist)S 2337 Y 295 X F44(The)S 18 x F75(rlist)S 17 x F44
+(command)S 17 x(is)S 18 x(similar)S 17 x(to)S 18 x(the)S 18 x F75
+(list)S 18 x F44(command)S 18 x(with)S 18 x(the)S 17 x(dif)S -1 x
+(ference)S 17 x(that)S 18 x(the)S 17 x(\014les)S 18 x(in)S 18 x(the)S
+18 x(directory)S 59 y 295 X(at)S 21 x(the)S 20 x(remote)S 21 x(site)S
+21 x(are)S 20 x(listed.)S 2580 Y 295 X F76(3.5)S 50 x(lock)S 2696 Y 
+295 X F44(The)S 14 x F75(lock)S 14 x F44(command)S 14 x(is)S 14 x
+(used)S 13 x(to)S 13 x(get)S 14 x(a)S 14 x(locked)S 13 x(local)S 
+14 x(version)S 14 x(of)S 14 x(the)S 13 x(\014le\(s\))S 14 x(that)S
+14 x(are)S 13 x(provided)S 13 x(as)S 14 x(ar)S -1 x(gument\(s\))S 
+58 y 295 X(to)S 19 x(the)S 19 x(command.)S 32 x(Only)S 19 x(regular)S
+19 x(\014les)S 19 x(within)S 19 x(the)S 19 x(shared)S 19 x(subtree)S
+19 x(are)S 19 x(valid.)S 32 x(It)S 19 x(is)S 19 x(not)S 19 x
+(possible)S 19 x(to)S 19 x(lock)S 58 y 295 X(directories,)S 16 x
+(links,)S 16 x(etc.)S 21 x(.)S 21 x(If)S 15 x(the)S 15 x(name)S 15 x
+(of)S 16 x(the)S 15 x(\014le)S 16 x(to)S 16 x(be)S 15 x(locked)S 
+15 x(is)S 15 x(a)S 16 x(symbolic)S 16 x(link,)S 15 x(the)S 16 x
+(\014le)S 15 x(referenced)S 15 x(by)S 58 y 295 X(the)S 18 x(link)S
+19 x(is)S 18 x(locked)S 18 x(if)S 19 x(it)S 18 x(is)S 18 x(located)S
+18 x(within)S 18 x(the)S 18 x(shared)S 19 x(subtree.)S 75 y 295 X
+(The)S 18 x F75(lock)S 18 x F44(command)S 18 x(should)S 18 x(be)S 
+18 x(used)S 18 x(whenever)S 18 x(a)S 18 x(\014le)S 17 x(within)S 
+18 x(the)S 18 x(shared)S 18 x(subtree)S 18 x(is)S 18 x(modi\014ed)S
+18 x(to)S 18 x(ensure)S 58 y 295 X(that)S 18 x(the)S 19 x(local)S 
+18 x(version)S 18 x(of)S 19 x(the)S 19 x(\014le)S 19 x(is)S 19 x
+(a\))S 19 x(the)S 18 x(master)S 19 x(version)S 19 x(and)S 18 x(b\))S
+19 x(not)S 19 x(currently)S 19 x(under)S 18 x(modify-access)S 58 y 
+295 X(by)S 21 x(another)S 21 x(local)S 21 x(user.)S 3276 Y 1230 X 
+F6(4)S
+%%PageTrailer
+/paper-automatic true SPS 1 PP EP
+%%PageBoundingBox: 71 53 524 794
+
+%%PageBoundingBox: (atend)
+%%BeginPageSetup
+1000 BP 3507 2481 PM /paper-automatic false SPS 295 0 XY
+%%EndPageSetup
+295 231 XY F8(RF)S -3 x(A)S 295 281 XY 846 3 R 1141 281 XY 
+200 3 R 1340 281 XY 846 3 R -50 y 1874 X(The)S 25 x(RF)S -3 x(A)S 
+26 x(Client)S 459 Y 295 X F44(If)S 15 x(the)S 15 x(local)S 15 x
+(version)S 15 x(of)S 15 x(the)S 16 x(\014les)S 15 x(has)S 15 x(a)S
+16 x(SLA)S -6 x(VE)S 15 x(status,)S 15 x(the)S 15 x(lock)S 15 x
+(command)S 16 x(will)S 15 x(try)S 15 x(to)S 15 x(get)S 15 x(the)S 
+15 x(mastership)S 58 y 295 X(for)S 17 x(the)S 18 x(\014le.)S 28 x
+(Therefore,)S 18 x(it)S 18 x(\014rst)S 17 x(veri\014es)S 18 x(that)S
+18 x(the)S 17 x(local)S 18 x(version)S 18 x(is)S 17 x(up-to-date,)S
+19 x(otherwise)S 18 x(it)S 18 x(transfers)S 18 x(the)S 58 y 295 X
+(up-to-date)S 15 x(version)S 15 x(from)S 16 x(the)S 15 x(current)S
+16 x(master,)S 16 x(similar)S 15 x(to)S 15 x(the)S 16 x F75
+(get\014le)S 16 x F44(command.)S 22 x(After)S 15 x(an)S 15 x
+(up-to-date)S 15 x(local)S 58 y 295 X(version)S 11 x(of)S 11 x(the)S
+11 x(requested)S 11 x(\014le)S 11 x(exists,)S 12 x(a)S 11 x F75
+(RequestMaster)S 11 x F44(operation)S 11 x(is)S 11 x(issued)S 11 x
+(to)S 11 x(the)S 11 x(remote)S 11 x(site)S 11 x(to)S 11 x(transfer)S
+11 x(the)S 59 y 295 X(mastership.)S 19 x(If)S 13 x(the)S 13 x
+(\014le)S 14 x(is)S 13 x(not)S 13 x(locked)S 13 x(at)S 13 x(the)S 
+13 x(remote)S 13 x(site,)S 14 x(the)S 13 x(mastership)S 13 x(is)S 
+14 x(granted)S 13 x(to)S 14 x(the)S 14 x(local)S 14 x(site)S 13 x
+(which)S 58 y 295 X(then)S 15 x(is)S 15 x(the)S 15 x(new)S 15 x
+(master.)S 20 x(The)S 15 x(local)S 16 x(lock)S 15 x(is)S 15 x(set)S
+15 x(the)S 15 x(by)S 15 x(setting)S 15 x(the)S 16 x F78(L)S F44
+(\(ocked\))S 15 x(\015ag)S 15 x(in)S 15 x(the)S 15 x(local)S 15 x
+(\014les)S 15 x(state.)S 831 Y 295 X(If)S 16 x(the)S 16 x(local)S 
+16 x(version)S 16 x(of)S 16 x(the)S 16 x(requested)S 16 x(\014le)S
+16 x(already)S 16 x(is)S 16 x(the)S 16 x(MASTER)S 16 x(version)S 
+16 x(or)S 16 x(is)S 16 x(an)S 16 x(UNREGISTERED)S 58 y 295 X
+(\014le,)S 22 x(it)S 20 x(is)S 20 x(checked)S 21 x(if)S 20 x(the)S
+21 x(\014le)S 21 x(is)S 21 x(already)S 21 x(locked)S 21 x(by)S 21 x
+(another)S 21 x(local)S 21 x(user,)S 22 x(where)S 21 x(the)S 21 x
+(requested)S 20 x(lock)S 21 x(is)S 58 y 295 X(rejected.)S 22 x
+(Otherwise)S 16 x(the)S 16 x(local)S 16 x(lock)S 15 x(is)S 15 x(set)S
+16 x(the)S 15 x(by)S 15 x(setting)S 16 x(the)S 15 x F78(L)S F44
+(\(ocked\))S 15 x(\015ag)S 16 x(in)S 16 x(the)S 16 x(local)S 16 x
+(\014les)S 15 x(state.)S 1029 Y 295 X(Because)S 20 x(the)S 19 x
+(lock)S 19 x(command)S 19 x(will)S 20 x(be)S 19 x(applied)S 19 x(in)S
+19 x(the)S 19 x(most)S 19 x(cases)S 19 x(to)S 19 x(a)S 20 x(local)S
+20 x(version)S 19 x(of)S 20 x(the)S 19 x(\014le)S 20 x(that)S 20 x
+(is)S 58 y 295 X(already)S 17 x(master,)S 18 x(it)S 18 x(is)S 18 x
+(not)S 17 x(necessary)S 18 x(to)S 18 x(execute)S 18 x(the)S 18 x
+(whole)S 18 x F75(rfa)S 18 x F44(program)S 17 x(to)S 18 x(do)S 18 x
+(the)S 18 x(local)S 18 x(lock.)S 28 x(Because)S 58 y 295 X(the)S 
+16 x F75(rfa)S 16 x F44(program)S 16 x(includes)S 16 x(the)S 16 x
+(whole)S 16 x(code)S 17 x(needed)S 16 x(for)S 17 x(the)S 17 x
+(execution)S 17 x(of)S 16 x(the)S 16 x(remote)S 16 x(operations)S 
+16 x(\(ISODE)S 58 y 295 X(stack,)S 13 x(etc.\),)S 13 x(there)S 12 x
+(may)S 13 x(be)S 13 x(a)S 13 x(signi\014cant)S 13 x(time)S 13 x
+(delay)S 12 x(while)S 13 x(loading)S 12 x(this)S 13 x(huge)S 13 x
+(program.)S 19 x(T)S -3 x(o)S 13 x(optimize)S 13 x(this,)S 13 x(a)S
+58 y 295 X(stand-alone)S 12 x(program)S 12 x(called)S 12 x F75
+(llock)S 12 x F44(is)S 11 x(provided)S 12 x(which)S 12 x(is)S 12 x
+(able)S 12 x(to)S 12 x(perform)S 12 x(the)S 12 x(locking)S 12 x(if)S
+12 x(the)S 11 x(local)S 12 x(version)S 12 x(is)S 58 y 295 X(the)S 
+12 x(master)S 13 x(version.)S 20 x(If)S 13 x F75(llock)S 13 x F44
+(could)S 13 x(perform)S 12 x(the)S 12 x(local)S 12 x(lock,)S 12 x
+(it)S 12 x(exits)S 12 x(with)S 13 x(exit\261code)S 12 x(0.)S 19 x
+(If)S 13 x(the)S 12 x(\014le)S 13 x(is)S 13 x(already)S 58 y 295 X
+(locked)S 15 x(locally)S 15 x(or)S 16 x(an)S 15 x(error)S 15 x
+(condition)S 15 x(occurred)S 15 x(it)S 15 x(exits)S 16 x(with)S 15 x
+(exit-code)S 16 x(1.)S 21 x(If)S 16 x(the)S 15 x(local)S 15 x
+(version)S 15 x(of)S 15 x(the)S 16 x(\014le)S 58 y 295 X(is)S 15 x
+(not)S 15 x(MASTER,)S 15 x(it)S 15 x(returns)S 15 x(2)S 14 x(which)S
+15 x(indicates)S 15 x(that)S 15 x(the)S 15 x F75(rfa)S 15 x F44
+(command)S 15 x(is)S 15 x(needed)S 15 x(to)S 15 x(perform)S 15 x
+(the)S 15 x(locking.)S 1671 Y 295 X F76(3.6)S 50 x(unlock)S 1807 Y 
+295 X F44(The)S 15 x F75(unlock)S 15 x F44(command)S 14 x(is)S 14 x
+(used)S 14 x(to)S 14 x(release)S 14 x(a)S 14 x(lock)S 14 x(for)S 
+15 x(a)S 14 x(local)S 14 x(MASTER)S 14 x(version)S 15 x(of)S 14 x
+(the)S 14 x(\014le\(s\))S 14 x(provided)S 14 x(as)S 58 y 295 X
+(command)S 17 x(ar)S -1 x(gument\(s\).)S 24 x(If)S 17 x(the)S 16 x
+(name)S 17 x(of)S 16 x(the)S 16 x(\014le)S 16 x(to)S 16 x(be)S 17 x
+(unlocked)S 17 x(is)S 16 x(a)S 16 x(symbolic)S 16 x(link,)S 16 x
+(the)S 17 x(\014le)S 16 x(referenced)S 58 y 295 X(by)S 16 x(the)S 
+15 x(link)S 15 x(is)S 16 x(unlocked)S 16 x(if)S 16 x(it)S 16 x(is)S
+16 x(located)S 16 x(within)S 16 x(the)S 16 x(shared)S 16 x(subtree.)S
+22 x(There)S 16 x(is)S 15 x(are)S 16 x(no)S 16 x(checks)S 16 x(made)S
+15 x(if)S 16 x(the)S 59 y 295 X(\014le)S 17 x(has)S 18 x(been)S 18 x
+(locked)S 18 x(by)S 17 x(the)S 18 x(user)S 17 x(that)S 17 x
+(performs)S 18 x(the)S 17 x(unlock)S 17 x(operation.)S 2063 Y 295 X
+(Similar)S 12 x(to)S 13 x(the)S 12 x F75(llock)S 12 x F44(command)S
+12 x(there)S 13 x(exists)S 12 x(an)S 12 x F75(lunlock)S 12 x F44
+(command)S 12 x(which)S 12 x(is)S 13 x(capable)S 12 x(to)S 12 x
+(perform)S 12 x(the)S 12 x(release)S 58 y 295 X(of)S 17 x(the)S 17 x
+(\(always\))S 18 x(local)S 17 x(locks)S 17 x(to)S 17 x(avoid)S 17 x
+(the)S 17 x(expensive)S 17 x(use)S 17 x(of)S 17 x(the)S 17 x F75
+(rfa)S 17 x F44(command.)S 2357 Y 295 X F76(3.7)S 50 x(master)S 
+2493 Y 295 X F44(The)S 11 x F75(master)S 11 x F44(command)S 11 x
+(can)S 11 x(be)S 11 x(used)S 11 x(to)S 11 x(request)S 11 x(that)S 
+11 x(the)S 12 x(local)S 11 x(version)S 11 x(of)S 11 x(the)S 11 x
+(\014le\(s\))S 11 x(provided)S 11 x(as)S 11 x(ar)S -1 x(gument\(s\))S
+58 y 295 X(will)S 17 x(become)S 16 x(the)S 16 x(MASTER)S 16 x
+(version.)S 23 x(If)S 16 x(the)S 16 x(name)S 16 x(of)S 16 x(the)S 
+17 x(\014le)S 16 x(is)S 16 x(a)S 16 x(symbolic)S 16 x(link,)S 17 x
+(the)S 16 x(\014le)S 17 x(referenced)S 16 x(by)S 58 y 295 X(the)S 
+17 x(link)S 17 x(is)S 17 x(tar)S -1 x(get)S 17 x(of)S 17 x(the)S 
+17 x(operation)S 17 x(if)S 17 x(it)S 17 x(is)S 17 x(located)S 17 x
+(within)S 17 x(the)S 17 x(shared)S 17 x(subtree.)S 2690 Y 295 X(If)S
+16 x(the)S 16 x(local)S 16 x(version)S 15 x(of)S 16 x(the)S 16 x
+(\014le)S 15 x(is)S 16 x(in)S 16 x(UNREGISTERED)S 16 x(status,)S 
+16 x(its)S 16 x(status)S 16 x(is)S 16 x(set)S 16 x(to)S 16 x(MASTER)S
+16 x(if)S 16 x(there)S 16 x(is)S 58 y 295 X(no)S 17 x(version)S 17 x
+(of)S 17 x(the)S 17 x(\014le)S 17 x(with)S 17 x(MASTER)S 17 x
+(status)S 17 x(at)S 18 x(the)S 18 x(remote)S 18 x(site.)S 27 x(This)S
+17 x(is)S 18 x(the)S 18 x(way)S 17 x(how)S 17 x(locally)S 17 x
+(created)S 59 y 295 X(\014les)S 16 x(will)S 15 x(be)S 15 x
+(introduced)S 15 x(into)S 15 x(the)S 15 x(set)S 15 x(of)S 15 x
+(shared)S 16 x(\014les)S 15 x(where)S 15 x(the)S 15 x(creating)S 
+15 x(site)S 15 x(becomes)S 15 x(the)S 15 x(initial)S 16 x(master.)S
+2888 Y 295 X(If)S 16 x(the)S 16 x(local)S 16 x(version)S 16 x(of)S
+17 x(the)S 17 x(\014le)S 17 x(is)S 16 x(in)S 16 x(SLA)S -6 x(VE)S 
+16 x(status,)S 17 x(then)S 16 x(the)S 16 x(mastership)S 17 x(for)S
+16 x(the)S 16 x(\014le)S 16 x(is)S 16 x(requested)S 16 x(from)S 58 y 
+295 X(the)S 13 x(remote)S 13 x(site)S 13 x(similar)S 13 x(to)S 13 x
+(the)S 13 x F75(lock)S 13 x F44(command.)S 20 x(The)S 13 x(write)S
+13 x(access)S 13 x(permissions)S 13 x(of)S 13 x(the)S 13 x(new)S 
+13 x(local)S 13 x(MASTER)S 58 y 295 X(version)S 21 x(are)S 22 x
+(set.)S 3276 Y 1230 X F6(5)S
+%%PageTrailer
+/paper-automatic true SPS 1 PP EP
+%%PageBoundingBox: 71 53 524 794
+
+%%PageBoundingBox: (atend)
+%%BeginPageSetup
+1000 BP 3507 2481 PM /paper-automatic false SPS 295 0 XY
+%%EndPageSetup
+295 231 XY F8(RF)S -3 x(A)S 295 281 XY 846 3 R 1141 281 XY 
+200 3 R 1340 281 XY 846 3 R -50 y 1875 X(The)S 25 x(RF)S -3 x(A)S 
+25 x(Client)S 459 Y 295 X F76(3.8)S 50 x(slave)S 579 Y 295 X F44
+(The)S 13 x F75(slave)S 13 x F44(command)S 13 x(can)S 13 x(be)S 13 x
+(used)S 13 x(to)S 13 x(request)S 13 x(that)S 13 x(the)S 13 x(local)S
+13 x(version)S 13 x(of)S 13 x(the)S 13 x(\014le\(s\))S 13 x
+(provided)S 13 x(as)S 13 x(ar)S -1 x(gument\(s\))S 58 y 295 X(will)S
+17 x(become)S 16 x(a)S 16 x(SLA)S -6 x(VE)S 16 x(version.)S 24 x(If)S
+16 x(the)S 17 x(name)S 16 x(of)S 17 x(the)S 16 x(\014le)S 16 x(is)S
+16 x(a)S 17 x(symbolic)S 17 x(link,)S 16 x(the)S 17 x(\014le)S 17 x
+(referenced)S 17 x(by)S 16 x(the)S 58 y 295 X(link)S 18 x(is)S 18 x
+(tar)S -1 x(get)S 17 x(of)S 18 x(the)S 18 x(operation)S 18 x(if)S 
+17 x(it)S 18 x(is)S 18 x(located)S 18 x(within)S 17 x(the)S 17 x
+(shared)S 18 x(subtree.)S 771 Y 295 X(If)S 15 x(the)S 15 x(local)S
+15 x(version)S 15 x(of)S 16 x(the)S 16 x(\014le)S 15 x(is)S 15 x(in)S
+16 x(UNREGISTERED)S 15 x(or)S 15 x(MASTER)S 15 x(status,)S 15 x(its)S
+15 x(status)S 16 x(is)S 15 x(set)S 15 x(to)S 15 x(SLA)S -6 x(VE)S 
+58 y 295 X(if)S 17 x(there)S 17 x(is)S 17 x(version)S 16 x(of)S 17 x
+(the)S 17 x(\014le)S 17 x(with)S 17 x(MASTER)S 17 x(status)S 17 x
+(at)S 17 x(the)S 17 x(remote)S 16 x(site.)S 25 x(The)S 17 x(write)S
+16 x(access)S 17 x(permissions)S 58 y 295 X(of)S 20 x(the)S 20 x
+(new)S 19 x(local)S 19 x(SLA)S -6 x(VE)S 19 x(version)S 20 x(are)S
+20 x(cleared.)S 1082 Y 295 X F76(3.9)S 50 x(unr)S -1 x(egister)S 
+1201 Y 295 X F44(The)S 22 x F75(unr)S -2 x(egister)S 23 x F44
+(command)S 21 x(can)S 21 x(be)S 21 x(used)S 22 x(to)S 22 x(request)S
+21 x(that)S 22 x(the)S 22 x(local)S 21 x(version)S 22 x(of)S 21 x
+(the)S 22 x(\014le\(s\))S 22 x(provided)S 22 x(as)S 59 y 295 X(ar)S
+-1 x(gument\(s\))S 15 x(will)S 15 x(become)S 15 x(an)S 15 x
+(UNREGISTERED)S 15 x(version.)S 20 x(If)S 15 x(the)S 15 x(local)S 
+15 x(version)S 15 x(of)S 15 x(the)S 15 x(\014le)S 15 x(is)S 15 x
+(locked,)S 15 x(this)S 58 y 295 X(results)S 16 x(in)S 16 x(an)S 16 x
+(error.)S 22 x(If)S 16 x(the)S 15 x(name)S 16 x(of)S 16 x(the)S 16 x
+(\014le)S 16 x(is)S 16 x(a)S 16 x(symbolic)S 16 x(link,)S 16 x(the)S
+16 x(\014le)S 16 x(referenced)S 16 x(by)S 16 x(the)S 16 x(link)S 
+16 x(is)S 16 x(tar)S -1 x(get)S 58 y 295 X(of)S 19 x(the)S 18 x
+(operation)S 19 x(if)S 18 x(it)S 19 x(is)S 19 x(located)S 18 x
+(within)S 18 x(the)S 18 x(shared)S 19 x(subtree.)S 1571 Y 295 X F76
+(3.10)S 50 x(setr)S -1 x(equest)S 1690 Y 295 X F44(The)S 17 x F75
+(setr)S -2 x(equest)S 16 x F44(command)S 16 x(is)S 17 x(used)S 17 x
+(to)S 17 x(set)S 17 x(the)S 16 x(transfer)S 17 x(mode)S 17 x(of)S 
+16 x(the)S 16 x(local)S 16 x(version)S 16 x(of)S 17 x(the)S 17 x
+(\014le\(s\))S 17 x(provided)S 59 y 295 X(as)S 16 x(ar)S -1 x
+(gument\(s\))S 16 x(to)S 16 x(REQUEST)S 16 x(mode.)S 21 x(If)S 15 x
+(the)S 16 x(name)S 15 x(of)S 16 x(the)S 15 x(\014le)S 15 x(is)S 15 x
+(a)S 15 x(symbolic)S 15 x(link,)S 16 x(the)S 16 x(\014le)S 16 x
+(referenced)S 15 x(by)S 58 y 295 X(the)S 17 x(link)S 17 x(is)S 17 x
+(tar)S -1 x(get)S 17 x(of)S 17 x(the)S 17 x(operation)S 17 x(if)S 
+17 x(it)S 17 x(is)S 17 x(located)S 17 x(within)S 17 x(the)S 17 x
+(shared)S 17 x(subtree.)S 2002 Y 295 X F76(3.11)S 50 x(setauto)S 
+2121 Y 295 X F44(The)S 16 x F75(setauto)S 17 x F44(command)S 16 x
+(is)S 17 x(used)S 17 x(to)S 16 x(set)S 16 x(the)S 16 x(transfer)S 
+16 x(mode)S 17 x(of)S 16 x(the)S 16 x(local)S 16 x(version)S 16 x
+(of)S 17 x(the)S 16 x(\014le\(s\))S 16 x(provided)S 16 x(as)S 58 y 
+295 X(ar)S -1 x(gument\(s\))S 15 x(to)S 15 x(AUT)S -1 x(OMA)S -5 x
+(TIC)S 14 x(mode.)S 20 x(If)S 15 x(the)S 15 x(name)S 15 x(of)S 15 x
+(the)S 15 x(\014le)S 15 x(is)S 15 x(a)S 15 x(symbolic)S 15 x(link,)S
+15 x(the)S 15 x(\014le)S 16 x(referenced)S 15 x(by)S 58 y 295 X(the)S
+17 x(link)S 17 x(is)S 17 x(tar)S -1 x(get)S 17 x(of)S 17 x(the)S 
+17 x(operation)S 17 x(if)S 17 x(it)S 17 x(is)S 17 x(located)S 17 x
+(within)S 17 x(the)S 17 x(shared)S 17 x(subtree.)S 2432 Y 295 X F76
+(3.12)S 50 x(get\014le)S 2552 Y 295 X F44(The)S 17 x F75(get\014le)S
+17 x F44(command)S 16 x(is)S 17 x(used)S 17 x(to)S 17 x(request)S 
+16 x(the)S 16 x(transfer)S 17 x(of)S 16 x(the)S 16 x(shared)S 16 x
+(\014le\(s\))S 17 x(provided)S 16 x(as)S 17 x(ar)S -1 x
+(gument\(s\).)S 24 x(If)S 58 y 295 X(the)S 17 x(name)S 16 x(of)S 
+17 x(the)S 16 x(\014le)S 16 x(is)S 16 x(a)S 16 x(symbolic)S 16 x
+(link,)S 17 x(the)S 16 x(\014le)S 16 x(referenced)S 17 x(by)S 17 x
+(the)S 16 x(link)S 17 x(is)S 17 x(tar)S -1 x(get)S 17 x(of)S 17 x
+(the)S 17 x(operation)S 17 x(if)S 17 x(it)S 58 y 295 X(is)S 20 x
+(located)S 20 x(within)S 20 x(the)S 20 x(shared)S 20 x(subtree.)S 
+2744 Y 295 X(If)S 12 x(the)S 13 x(remote)S 13 x(version)S 13 x(of)S
+12 x(the)S 13 x(\014le)S 12 x(is)S 12 x(in)S 12 x(MASTER)S 12 x
+(status,)S 13 x(a)S 12 x(local)S 13 x(SLA)S -6 x(VE)S 13 x(version)S
+12 x(is)S 12 x(created)S 13 x(if)S 12 x(the)S 12 x(\014le)S 12 x
+(does)S 58 y 295 X(locally)S 17 x(not)S 18 x(exist.)S 27 x(If)S 18 x
+(a)S 17 x(local)S 18 x(SLA)S -6 x(VE)S 17 x(version)S 17 x(already)S
+18 x(exists,)S 18 x(it)S 18 x(is)S 17 x(updated)S 17 x(from)S 18 x
+(the)S 18 x(remote)S 18 x(MASTER)S 58 y 295 X(version.)S 2936 Y 
+295 X(If)S 15 x(the)S 16 x(remote)S 15 x(version)S 16 x(of)S 15 x
+(the)S 16 x(\014le)S 16 x(is)S 16 x(in)S 15 x(UNREGISTERED)S 16 x
+(status,)S 16 x(a)S 16 x(local)S 16 x(version)S 16 x(of)S 16 x(the)S
+16 x(\014le)S 16 x(with)S 16 x(status)S 58 y 295 X(UNREGISTERED)S 
+17 x(is)S 17 x(created)S 17 x(if)S 17 x(the)S 17 x(\014le)S 17 x
+(does)S 17 x(locally)S 17 x(not)S 17 x(exist.)S 25 x(If)S 17 x(a)S
+17 x(local)S 17 x(version)S 17 x(already)S 16 x(exists,)S 17 x(it)S
+17 x(is)S 58 y 295 X(updated)S 20 x(from)S 20 x(the)S 20 x(remote)S
+20 x(version.)S 3276 Y 1230 X F6(6)S
+%%PageTrailer
+/paper-automatic true SPS 1 PP EP
+%%PageBoundingBox: 71 53 524 794
+
+%%PageBoundingBox: (atend)
+%%BeginPageSetup
+1000 BP 3507 2481 PM /paper-automatic false SPS 295 0 XY
+%%EndPageSetup
+295 231 XY F8(RF)S -3 x(A)S 295 281 XY 846 3 R 1141 281 XY 
+200 3 R 1340 281 XY 846 3 R -50 y 1874 X(The)S 25 x(RF)S -3 x(A)S 
+26 x(Client)S 459 Y 295 X F44(The)S 14 x(transfer)S 13 x(of)S 14 x
+(the)S 13 x(\014le)S 14 x(is)S 13 x(performed)S 13 x(according)S 
+13 x(the)S 13 x(version-time)S 14 x(\(time)S 13 x(of)S 14 x(last)S
+13 x(modi\014cation\))S 14 x(of)S 13 x(the)S 13 x(local)S 58 y 295 X
+(and)S 18 x(remote)S 18 x(\014les.)S 28 x(If)S 18 x(both)S 18 x(the)S
+18 x(version-times)S 18 x(of)S 18 x(both)S 18 x(\014les)S 18 x(are)S
+18 x(equal,)S 18 x(no)S 18 x(transfer)S 18 x(has)S 18 x(to)S 18 x
+(be)S 18 x(performed)S 58 y 295 X(because)S 13 x(the)S 13 x(SLA)S 
+-6 x(VE)S 13 x(version)S 14 x(is)S 13 x(already)S 14 x(up-to-date.)S
+19 x(If)S 13 x(the)S 13 x(version-time)S 14 x(of)S 13 x(the)S 14 x
+(remote)S 13 x(MASTER)S 13 x(is)S 13 x(older)S 58 y 295 X(that)S 
+16 x(the)S 16 x(version-time)S 16 x(of)S 17 x(the)S 16 x(local)S 
+16 x(SLA)S -6 x(VE)S 17 x(\(or)S 16 x(UNREGISTERED\))S 17 x
+(version,)S 16 x(an)S 17 x(inconsistency)S 17 x(has)S 17 x(been)S 
+59 y 295 X(detected)S 18 x(and)S 17 x(an)S 17 x(error)S 17 x(is)S 
+18 x(reported.)S 27 x(Otherwise,)S 17 x(the)S 17 x(content)S 17 x
+(of)S 17 x(the)S 17 x(\014le)S 17 x(has)S 17 x(to)S 18 x(be)S 17 x
+(transmitted)S 18 x(to)S 17 x(update)S 58 y 295 X(the)S 18 x(local)S
+18 x(SLA)S -6 x(VE)S 18 x(\(or)S 18 x(UNREGISTERED\))S 19 x(version)S
+18 x(of)S 19 x(the)S 19 x(\014le.)S 831 Y 295 X(The)S 16 x(content)S
+16 x(of)S 16 x(the)S 15 x(\014le)S 15 x(can)S 15 x(be)S 16 x
+(transferred)S 15 x(either)S 16 x(in)S 15 x(uncompressed)S 16 x(or)S
+16 x(in)S 16 x(compressed)S 15 x(mode,)S 16 x(depending)S 59 y 295 X
+(on)S 17 x(the)S 16 x(size)S 17 x(of)S 17 x(the)S 16 x(\014le.)S 
+25 x(The)S 17 x(size)S 17 x(limit)S 17 x(when)S 16 x(compression)S
+17 x(shall)S 17 x(occur)S 17 x(can)S 16 x(be)S 17 x(con\014gured)S
+17 x(as)S 17 x(described)S 58 y 295 X(in)S 22 x(chapter)S 22 x(5.)S
+42 x(The)S 23 x(compression)S 22 x(and)S 23 x(decompression)S 22 x
+(is)S 22 x(done)S 23 x(using)S 22 x(the)S 23 x(UNIX)S -17 y F74(TM)S
+17 y 24 x F75(compr)S -2 x(ess\(1\))S 23 x F44(and)S 58 y 295 X F75
+(uncompr)S -2 x(ess\(1\))S 21 x F44(commands.)S 1088 Y 295 X
+(Optionally,)S 16 x(the)S 16 x(old)S 16 x(version)S 16 x(of)S 16 x
+(the)S 16 x(local)S 15 x(\014le)S 16 x(will)S 15 x(be)S 15 x(saved)S
+16 x(in)S 16 x(as)S 16 x(a)S 16 x(\014le)S 16 x(with)S 16 x(the)S 
+16 x(suf)S -1 x(\014x)S 17 x F75(.bak)S 16 x F44(if)S 16 x(the)S 
+16 x(local)S 58 y 295 X(\014le)S 17 x(is)S 18 x(updated.)S 26 x
+(This)S 18 x(option)S 18 x(can)S 17 x(be)S 18 x(con\014gured)S 17 x
+(as)S 17 x(described)S 18 x(in)S 18 x(chapter)S 17 x(5.)S 1385 Y 
+295 X F76(3.13)S 50 x(syncdir)S 1523 Y 295 X F44(The)S 13 x F75
+(syncdir)S 13 x F44(command)S 13 x(is)S 13 x(used)S 13 x(to)S 13 x
+(synchronize)S 13 x(the)S 13 x(\014les)S 13 x(within)S 13 x(the)S 
+13 x(directory/ies)S 13 x(provided)S 13 x(as)S 13 x(ar)S -1 x
+(gument\(s\))S 58 y 295 X(with)S 12 x(their)S 12 x(counterparts)S 
+12 x(at)S 12 x(the)S 12 x(remote)S 12 x(site.)S 19 x(Here)S 12 x
+(the)S 11 x(basic)S 12 x(principle)S 11 x(is,)S 13 x(that)S 12 x
+(the)S 12 x(site)S 12 x(executing)S 12 x(the)S 12 x F75(syncdir)S 
+58 y 295 X F44(command)S 14 x(is)S 13 x(only)S 14 x(synchronizing)S
+14 x(the)S 14 x(local)S 14 x(site)S 14 x(by)S 14 x(applying)S 14 x
+(the)S 13 x(following)S 14 x(actions)S 14 x(to)S 14 x(the)S 13 x
+(list)S 14 x(of)S 14 x(\014les)S 14 x(that)S 58 y 295 X(exists)S 
+19 x(at)S 19 x(the)S 19 x F49(r)S -1 x(emote)S 18 x F44(site)S 19 x
+(within)S 19 x(the)S 19 x(given)S 19 x(directory:)S 1804 Y 378 X
+(\267)S 67 x(Create)S 17 x(a)S 17 x(local)S 17 x(SLA)S -6 x(VE)S 
+18 x(\014le)S 16 x(versions)S 17 x(for)S 17 x(newly)S 17 x(found)S
+16 x(remote)S 17 x(MASTER)S 17 x(version)S 17 x(\014le.)S 26 x(This)S
+17 x(is)S 58 y 461 X(done)S 18 x(according)S 18 x(to)S 18 x(the)S 
+18 x(transfer)S 18 x(mode)S 18 x(of)S 18 x(the)S 18 x(\014le.)S 28 x
+(If)S 18 x(the)S 18 x(transfer)S 18 x(mode)S 18 x(is)S 18 x(set)S 
+18 x(to)S 18 x(REQUEST,)S 58 y 461 X(only)S 14 x(a)S 14 x(dummy)S 
+14 x(SLA)S -6 x(VE)S 14 x(version)S 14 x(of)S 14 x(\014le)S 15 x(is)S
+14 x(created)S 14 x(which)S 14 x(indicates)S 14 x(the)S 14 x
+(existence)S 14 x(of)S 15 x(the)S 15 x(\014le,)S 15 x(but)S 58 y 
+461 X(does)S 14 x(not)S 14 x(have)S 14 x(its)S 14 x(actual)S 14 x
+(content.)S 20 x(Otherwise,)S 14 x(the)S 14 x(content)S 14 x(of)S 
+14 x(the)S 14 x(\014le)S 14 x(is)S 13 x(transferred)S 14 x(as)S 14 x
+(described)S 58 y 461 X(with)S 20 x(the)S 21 x F75(get\014le)S 20 x 
+F44(command.)S 2119 Y 378 X(\267)S 67 x(Update)S 19 x(local)S 19 x
+(SLA)S -6 x(VE)S 19 x(\014le)S 18 x(version)S 18 x(with)S 19 x(a)S
+19 x(remote)S 19 x(MASTER)S 19 x(version)S 19 x(if)S 19 x(the)S 18 x
+(transfer)S 18 x(mode)S 18 x(of)S 58 y 461 X(the)S 20 x(\014le)S 
+20 x(is)S 21 x(AUT)S -1 x(OMA)S -5 x(TIC)S 2260 Y 378 X(\267)S 67 x
+(Create)S 19 x(local)S 19 x(SLA)S -6 x(VE)S 18 x(sub-directory)S 
+19 x(if)S 19 x(a)S 18 x(new)S 18 x(MASTER)S 19 x(sub-directory)S 
+18 x(has)S 18 x(been)S 18 x(found)S 18 x(at)S 18 x(the)S 58 y 461 X
+(remote)S 17 x(site.)S 26 x(By)S 17 x(this,)S 18 x(the)S 17 x
+(shared)S 17 x(subtree)S 18 x(will)S 17 x(grow)S 17 x(in)S 18 x
+(size.)S 26 x(Directories)S 17 x(found)S 17 x(at)S 17 x(the)S 17 x
+(remote)S 58 y 461 X(site)S 17 x(that)S 18 x(are)S 17 x(in)S 17 x
+(status)S 17 x(UNREGISTERED)S 17 x(are)S 17 x F49(NOT)S 17 x F44
+(created)S 17 x(locally.)S 2459 Y 378 X(\267)S 67 x(Create)S 18 x(a)S
+18 x(local)S 18 x(symbolic)S 18 x(link)S 18 x(if)S 18 x(a)S 17 x
+(symbolic)S 18 x(link)S 18 x(has)S 18 x(been)S 18 x(found)S 18 x(at)S
+18 x(the)S 18 x(remote)S 18 x(site.)S 28 x(This)S 18 x(is)S 59 y 
+461 X(only)S 16 x(done)S 17 x(if)S 17 x(the)S 16 x(\014le)S 16 x
+(referenced)S 16 x(by)S 16 x(the)S 16 x(link)S 17 x(is)S 16 x
+(located)S 16 x(within)S 16 x(the)S 16 x(shared)S 16 x(subtree.)S 
+2601 Y 378 X(\267)S 67 x(Perform)S 18 x(various)S 18 x(checks)S 18 x
+(to)S 18 x(insure)S 18 x(consistency)S 19 x(between)S 18 x(local)S
+18 x(and)S 19 x(remote)S 18 x(sites)S 19 x(views)S 19 x(of)S 18 x
+(the)S 58 y 461 X(\014les)S 21 x(within)S 21 x(the)S 21 x
+(directory.)S 2742 Y 378 X(\267)S 67 x(Removes)S 15 x(local)S 15 x
+(SLA)S -6 x(VE)S 15 x(\014les)S 14 x(if)S 15 x(there)S 15 x(is)S 
+14 x(no)S 15 x(corresponding)S 15 x(MASTER)S 15 x(\014le)S 15 x(at)S
+15 x(the)S 15 x(remote)S 15 x(site.)S 21 x(If)S 58 y 461 X(there)S
+15 x(is)S 16 x(a)S 15 x(UNREGISTERED)S 16 x(\014le)S 15 x(at)S 16 x
+(remote,)S 15 x(the)S 15 x(local)S 16 x(\014le)S 15 x(state)S 15 x
+(is)S 15 x(set)S 15 x(to)S 15 x(UNREGISTERED.)S 2883 Y 378 X(\267)S
+67 x(Execute)S 21 x(a)S 20 x(existing)S 20 x F75(.rfaexec)S 20 x F44
+(\014le)S 20 x(if)S 20 x(any)S 20 x(\014le)S 20 x(within)S 20 x(the)S
+20 x(directory)S 20 x(has)S 21 x(been)S 20 x(updated)S 20 x(and)S 
+20 x(the)S 58 y 461 X(directory)S 20 x(itself)S 20 x(in)S 20 x(not)S
+20 x(LOCKED.)S 3275 Y 1230 X F6(7)S
+%%PageTrailer
+/paper-automatic true SPS 1 PP EP
+%%PageBoundingBox: 71 53 524 794
+
+%%PageBoundingBox: (atend)
+%%BeginPageSetup
+1000 BP 3507 2481 PM /paper-automatic false SPS 295 0 XY
+%%EndPageSetup
+295 231 XY F8(RF)S -3 x(A)S 295 281 XY 846 3 R 1141 281 XY 
+200 3 R 1340 281 XY 846 3 R -50 y 1734 X(The)S 24 x(RF)S -3 x
+(A-EXEC)S 24 x(facility)S 459 Y 295 X F44(T)S -3 x(o)S 19 x(achieve)S
+20 x(a)S 20 x(fully)S 20 x(synchronized)S 20 x(directory,)S 21 x
+(both)S 20 x(sites)S 20 x(need)S 19 x(to)S 20 x(perform)S 19 x(a)S
+19 x F75(syncdir)S 19 x F44(operation)S 20 x(for)S 20 x(that)S 58 y 
+295 X(directory)S 14 x(at)S 15 x(periodic)S 15 x(times.)S 20 x(This)S
+15 x(will)S 14 x(be)S 14 x(typically)S 15 x(done)S 15 x(by)S 15 x
+(creating)S 14 x(an)S 15 x(entry)S 15 x(into)S 14 x(the)S 14 x
+(systems)S 14 x F75(cr)S -2 x(ontab)S F44(.)S 746 Y 295 X F76(3.14)S
+50 x(rsyncdir)S 880 Y 295 X F44(The)S 13 x F75(rsyncdir)S 13 x F44
+(command)S 13 x(is)S 14 x(very)S 13 x(similar)S 13 x(to)S 13 x(the)S
+13 x F75(syncdir)S 13 x F44(command,)S 14 x(but)S 13 x(performs)S 
+13 x(a)S 13 x(recursive)S 13 x(synchroniza-)S 58 y 295 X(tion)S 16 x
+(of)S 16 x(the)S 16 x(whole)S 16 x(subtree)S 16 x(starting)S 16 x
+(at)S 16 x(the)S 16 x(directory/ies)S 16 x(provided)S 16 x(as)S 15 x
+(ar)S -1 x(gument\(s\).)S 22 x(The)S 16 x(same)S 16 x(actions)S 16 x
+(are)S 58 y 295 X(performed)S 18 x(as)S 18 x(within)S 18 x(the)S 
+17 x F75(syncdir)S 18 x F44(command)S 18 x(with)S 17 x(an)S 18 x
+(additional)S 17 x(actions:)S 1124 Y 378 X(\267)S 67 x(If)S 14 x(a)S
+15 x(MASTER)S 14 x(directory)S 15 x(is)S 14 x(detected)S 15 x(at)S
+14 x(the)S 14 x(remote)S 15 x(site)S 14 x(and)S 15 x(the)S 15 x
+(transfer)S 15 x(mode)S 14 x(of)S 15 x(this)S 14 x(directory)S 58 y 
+461 X(is)S 17 x(set)S 17 x(to)S 18 x(AUT)S -1 x(OMA)S -5 x(TIC,)S 
+18 x(the)S 17 x(directory)S 17 x(is)S 17 x(synchronized)S 17 x
+(recursively.)S 1265 Y 378 X(\267)S 67 x(It)S 18 x(does)S 18 x(not)S
+18 x(follow)S 18 x(symbolic)S 18 x(links)S 18 x(pointing)S 18 x(to)S
+17 x(directories)S 1370 Y 295 X(Directories)S 16 x(found)S 15 x(at)S
+16 x(the)S 15 x(remote)S 15 x(site)S 15 x(that)S 15 x(are)S 15 x(in)S
+15 x(status)S 15 x(UNREGISTERED)S 16 x(or)S 15 x(don't)S 15 x(have)S
+16 x(transfer)S 16 x(mode)S 58 y 295 X(AUT)S -1 x(OMA)S -5 x(TIC)S
+15 x(are)S 14 x F49(NOT)S 15 x F44(synchronized)S 15 x(recursively.)S
+20 x(They)S 14 x(have)S 15 x(to)S 14 x(be)S 15 x(updated)S 15 x
+(individually)S 14 x(by)S 14 x(applying)S 58 y 295 X(the)S 21 x F75
+(syncdir)S 21 x F44(command.)S 1567 Y 295 X(Using)S 13 x(the)S 13 x 
+F75(rsyncdir)S 13 x F44(command)S 13 x(it)S 13 x(is)S 12 x(possible)S
+13 x(to)S 13 x(synchronize)S 13 x(the)S 12 x(whole)S 13 x(shared)S
+13 x(subtree.)S 20 x(The)S 13 x(con\014guration)S 58 y 295 X(which)S
+13 x(parts)S 13 x(of)S 14 x(a)S 13 x(subtree)S 14 x(at)S 13 x(a)S 
+14 x(site)S 13 x(belongs)S 14 x(to)S 14 x(that)S 13 x(shared)S 13 x
+(subtree)S 13 x(is)S 13 x(done)S 13 x(by)S 13 x(setting)S 13 x(the)S
+13 x(MASTER)S 13 x(status)S 58 y 295 X(and)S 18 x(the)S 18 x
+(transfer)S 19 x(level)S 18 x(of)S 18 x(the)S 18 x(\014les)S 18 x
+(and)S 18 x(directories)S 18 x(appropriately.)S 1912 Y 295 X F76
+(3.15)S 50 x(timesync)S 2046 Y 295 X F44(T)S -3 x(o)S 17 x
+(synchronize)S 18 x(the)S 17 x(local)S 17 x(clocks)S 17 x(of)S 17 x
+(the)S 17 x(participating)S 17 x(sites,)S 18 x(the)S 18 x F75
+(timesync)S 17 x F44(command)S 17 x(can)S 17 x(be)S 17 x(used.)S 
+26 x(This)S 58 y 295 X(command)S 16 x(synchronizes)S 16 x(the)S 16 x
+(local)S 16 x(clock)S 16 x(of)S 16 x(the)S 16 x(site)S 16 x(acting)S
+16 x(as)S 16 x(the)S 16 x F75(time)S 14 x(slave)S 16 x F44(with)S 
+16 x(the)S 16 x(clock)S 16 x(of)S 16 x(the)S 15 x F75(time)S 58 y 
+295 X(master)S 11 x F44(site.)S 19 x(The)S 12 x(command)S 12 x(can)S
+12 x(be)S 12 x(called)S 12 x(at)S 12 x(both)S 11 x(sites)S 12 x(to)S
+12 x(initiate)S 12 x(the)S 12 x(synchronization.)S 20 x(The)S 12 x
+(con)S
+(\014guration)S 58 y 295 X(of)S 18 x(a)S 18 x(site)S 17 x(to)S 18 x
+(be)S 17 x F75(time)S 16 x(slave)S 18 x F44(or)S 17 x F75(time)S 
+16 x(master)S 18 x F44(is)S 18 x(described)S 18 x(in)S 18 x(chapter)S
+18 x(5)S 2449 Y 295 X F76(3.16)S 50 x(help)S 2583 Y 295 X F44(The)S
+20 x F75(help)S 19 x F44(command)S 20 x(shows)S 20 x(the)S 20 x
+(list)S 20 x(of)S 19 x(available)S 20 x(command)S 19 x(and)S 20 x
+(gives)S 20 x(a)S 20 x(one-line)S 19 x(description)S 20 x(of)S 19 x
+(each)S 58 y 295 X(command.)S 2870 Y 295 X F76(3.17)S 50 x(quit)S 
+3004 Y 295 X F44(Obviously,)S 19 x(the)S 18 x F75(quit)S 19 x F44
+(commands)S 18 x(terminates)S 19 x(the)S 18 x F75(rfa)S 19 x F44
+(session.)S 3276 Y 1230 X F6(8)S
+%%PageTrailer
+/paper-automatic true SPS 1 PP EP
+%%PageBoundingBox: 71 53 524 794
+
+%%PageBoundingBox: (atend)
+%%BeginPageSetup
+1000 BP 3507 2481 PM /paper-automatic false SPS 295 0 XY
+%%EndPageSetup
+295 231 XY F8(RF)S -3 x(A)S 295 281 XY 846 3 R 1141 281 XY 
+200 3 R 1340 281 XY 846 3 R -50 y 1829 X(RF)S -3 x(A)S 25 x
+(Con\014guration)S 464 Y 295 X F46(4)S 62 x(The)S 32 x(RF)S -6 x
+(A-EXEC)S 32 x(facility)S 669 Y 295 X F44(When)S 16 x(a)S 15 x
+(directory)S 16 x(within)S 16 x(the)S 16 x(shared)S 15 x(subtree)S
+16 x(is)S 15 x(synchronized)S 15 x(using)S 16 x(the)S 16 x(RF)S -3 x
+(A)S 15 x F75(sync)S 15 x F44(or)S 15 x F75(rsync)S 16 x F44
+(commands,)S 58 y 295 X(in)S 17 x(most)S 17 x(cases)S 17 x(there)S
+18 x(are)S 17 x(further)S 18 x(actions)S 17 x(required)S 17 x(if)S
+17 x(any)S 18 x(\014les)S 17 x(have)S 18 x(been)S 17 x(updated,)S 
+18 x(e.g.)S 27 x(issuing)S 17 x(a)S 18 x F75(make)S 58 y 295 X F44
+(command)S 18 x(to)S 17 x(re-build)S 18 x(the)S 18 x(updated)S 18 x
+(software.)S 28 x(This)S 18 x(can)S 18 x(be)S 18 x(achieved)S 18 x
+(by)S 17 x(RF)S -3 x(A's)S 18 x(facility)S 18 x(to)S 18 x(create)S
+18 x(a)S 18 x(\014le)S 58 y 295 X(called)S 12 x F75(.rfaexec)S 11 x 
+F44(in)S 11 x(each)S 11 x(directory.)S 19 x(This)S 11 x(\014le)S 
+12 x(is)S 12 x(executed)S 11 x(by)S 11 x F75(sh\(1\))S 12 x F44
+(every)S 12 x(time)S 11 x(the)S 11 x(directory)S 12 x(is)S 12 x
+(synchronized)S 58 y 295 X(and)S 13 x(minimally)S 12 x(one)S 13 x
+(\014le)S 13 x(within)S 13 x(the)S 12 x(directory)S 13 x(has)S 12 x
+(been)S 13 x(updated.)S 19 x(The)S 13 x(\014le)S 13 x F75(.rfaexec)S
+12 x F44(can)S 12 x(be)S 13 x(have)S 13 x(executable)S 58 y 295 X
+(format)S 16 x(\(sh,)S 17 x(csh,)S 16 x(binary\))S 16 x(and)S 17 x
+(should)S 16 x(have)S 16 x(the)S 16 x(executed)S 16 x(permission)S
+16 x(set.)S 23 x(When)S 16 x(RF)S -3 x(A)S 16 x(executed)S 16 x
+(this)S 16 x(\014le,)S 58 y 295 X(it)S 17 x(passes)S 18 x(the)S 18 x
+(names)S 17 x(of)S 18 x(the)S 18 x(\014les)S 17 x(that)S 17 x(have)S
+17 x(been)S 17 x(updated)S 17 x(as)S 17 x(ar)S -1 x(guments)S 18 x
+(to)S 17 x(it.)S 1096 Y 295 X(This)S 16 x(facility)S 16 x(can)S 15 x
+(be)S 16 x(disabled)S 15 x(by)S 15 x(setting)S 15 x(the)S 16 x F75
+(rfaexec)S 15 x F44(tailoring)S 15 x(option)S 15 x(to)S 15 x F75
+(off)S F44(.)S 21 x(Further,)S 15 x(it)S 16 x(can)S 15 x(be)S 16 x
+(disabled)S 58 y 295 X(for)S 21 x(a)S 22 x(single)S 22 x(directory)S
+21 x(by)S 22 x(setting)S 22 x(the)S 21 x(LOCKED)S 21 x(status)S 22 x
+(of)S 22 x(the)S 22 x(directory.)S 40 x(This)S 22 x(is)S 22 x
+(useful)S 22 x(to)S 22 x(prevent)S 58 y 295 X(re-compilations)S 17 x
+(of)S 17 x(software)S 18 x(during)S 18 x(an)S 17 x(un\014nished)S 
+17 x(development)S 18 x(cycle.)S 1291 Y 295 X(For)S 10 x(security)S
+11 x(reasons,)S 12 x(the)S 11 x F75(.rfaexec)S 11 x F44(\014le)S 
+11 x(can)S 11 x F49(NOT)S 10 x F44(be)S 11 x(registered)S 11 x(as)S
+10 x(MASTER)S 10 x(or)S 11 x(SLA)S -6 x(VE)S 11 x(\014le.)S 18 x(An)S
+11 x(automatic)S 58 y 295 X(transfer)S 15 x(of)S 14 x(this)S 15 x
+(\014le)S 15 x(may)S 15 x(cause)S 15 x(a)S 15 x(user)S 15 x(to)S 
+15 x(execute)S 14 x(something)S 14 x(during)S 14 x(the)S 15 x F75
+(sync)S 15 x F44(command)S 15 x(which)S 15 x(has)S 15 x(been)S 58 y 
+295 X(\252imported\272)S 15 x(from)S 16 x(the)S 15 x(remote)S 16 x
+(site.)S 22 x(Therefore,)S 16 x(the)S 15 x F75(.rfaexec)S 16 x F44
+(\014le)S 16 x(is)S 16 x(always)S 15 x(a)S 15 x(local)S 16 x
+(unregistered)S 16 x(\014le.)S 1759 Y 295 X F46(5)S 62 x(RF)S -6 x
+(A)S 32 x(Con\014guration)S 1964 Y 295 X F44(The)S 22 x
+(con\014guration)S 22 x(of)S 21 x(the)S 22 x(RF)S -3 x(A)S 21 x
+(client)S 22 x(\()S F75(rfa)S F44(\))S 22 x(and)S 22 x(the)S 22 x
+(RF)S -3 x(A)S 21 x(server)S 21 x(\()S F75(r)S -2 x(os.rfa\))S 23 x 
+F44(server)S 21 x(can)S 22 x(be)S 22 x(tailored)S 22 x(at)S 58 y 
+295 X(start)S 19 x(time)S 19 x(by)S 19 x(a)S 19 x(con\014guration)S
+19 x(\014le.)S 32 x(This)S 20 x(\014le)S 19 x(is)S 19 x(called)S 
+19 x F75(rfatailor)S 19 x F44(and)S 19 x(can)S 19 x(exist)S 19 x
+(either)S 19 x(in)S 19 x(the)S 20 x(ISODE's)S 58 y 295 X
+(\203\(ETCDIR\))S 19 x(or)S 19 x(the)S 18 x(RF)S -3 x(A)S 19 x
+(speci)S
+(\014c)S 19 x(tailoring)S 18 x(directory)S 19 x(which)S 18 x(is)S 
+18 x(de\014ned)S 19 x(in)S 19 x(the)S 18 x F75(con\014g.h)S 19 x F44
+(\014le)S 19 x(of)S 19 x(RF)S -3 x(A)S 18 x(as)S 58 y 295 X F75(RF)S
+-6 x(A\210T)S -3 x(AILDIR)S F44(.)S 16 x(This)S 16 x(\014le)S 16 x
+(is)S 16 x(read)S 16 x(by)S 16 x(both)S 16 x(the)S 16 x(RF)S -3 x(A)S
+15 x(client)S 16 x(and)S 16 x(server.)S 22 x(The)S 16 x(\014le)S 
+16 x(consists)S 16 x(of)S 16 x(a)S 16 x(number)S 16 x(of)S 58 y 
+295 X(tailoring)S 20 x(statements)S 20 x(with)S 20 x(the)S 20 x
+(syntax)S 2287 Y 413 X F78(tailoringOption)S 912 X(=)S 1036 X
+(tailoringValue)S 2386 Y 295 X F44(Lines)S 20 x(with)S 20 x
+(comments)S 20 x(start)S 20 x(with)S 20 x(a)S 20 x(\252#\272.)S 
+2465 Y 295 X(The)S 18 x(options)S 17 x(that)S 18 x(are)S 18 x(valid)S
+18 x(for)S 18 x(both)S 18 x(the)S 18 x(RF)S -3 x(A)S 17 x(client)S
+18 x(and)S 18 x(server)S 18 x(are:)S 2585 Y 295 X F1(r)S -2 x(oot)S
+4 y 709 X F44(the)S 17 x(pathname)S 17 x(of)S 16 x(the)S 16 x(root)S
+16 x(of)S 17 x(the)S 16 x(shared)S 17 x(subtree)S 17 x(at)S 16 x
+(the)S 16 x(local)S 17 x(site)S 2714 Y 295 X F1(time)S -2 y 709 X 
+F44(the)S 18 x(role)S 17 x(that)S 17 x(the)S 17 x(local)S 17 x(site)S
+17 x(plays)S 17 x(for)S 17 x(time)S 17 x(synchronization.)S 26 x
+(Possible)S 17 x(values)S 17 x(are)S 58 y 709 X F75(master)S 20 x 
+F44(or)S 20 x F75(slave)S F44(.)S 2849 Y 295 X(The)S 18 x(following)S
+18 x(options)S 18 x(are)S 18 x(only)S 18 x(recognized)S 18 x(by)S 
+18 x(the)S 18 x(RF)S -3 x(A)S 18 x(server:)S 2964 Y 295 X F1(compr)S
+-2 x(ess)S 8 y 709 X F44(The)S 11 x(limit)S 11 x(for)S 11 x(the)S 
+11 x(\014lesize)S 11 x(in)S 11 x(bytes)S 11 x(when)S 11 x
+(compression)S 11 x(during)S 11 x(the)S 11 x(transfer)S 11 x
+(operation)S 59 y 709 X(shall)S 20 x(occur.)S 3276 Y 1230 X F6(9)S
+%%PageTrailer
+/paper-automatic true SPS 1 PP EP
+%%PageBoundingBox: 71 53 524 794
+
+%%PageBoundingBox: (atend)
+%%BeginPageSetup
+1000 BP 3507 2481 PM /paper-automatic false SPS 295 0 XY
+%%EndPageSetup
+295 231 XY F8(RF)S -3 x(A)S 295 281 XY 846 3 R 1141 281 XY 
+200 3 R 1340 281 XY 846 3 R -50 y 1829 X(RF)S -3 x(A)S 25 x
+(Con\014guration)S 459 Y 295 X F1(chmod)S -2 y 709 X F44(determines)S
+15 x(if)S 15 x(the)S 15 x(write)S 15 x(permissions)S 15 x(of)S 15 x
+(local)S 15 x(SLA)S -6 x(VE)S 16 x(\014les)S 15 x(shall)S 15 x(be)S
+15 x(removed)S 15 x(and)S 58 y 709 X(write)S 19 x(permissions)S 18 x
+(to)S 18 x(local)S 18 x(MASTER)S 18 x(and)S 18 x(UNREGISTERED)S 18 x
+(versions)S 18 x(shall)S 18 x(be)S 58 y 709 X(set.)S 21 x(This)S 
+16 x(requires)S 15 x(that)S 15 x(user)S 16 x(executing)S 16 x(the)S
+16 x F75(rfa)S 16 x F44(command)S 15 x(is)S 15 x(the)S 15 x(owner)S
+16 x(of)S 15 x(the)S 16 x(\014le)S 58 y 709 X(or)S 15 x(the)S 15 x 
+F75(rfa)S 15 x F44(program)S 15 x(runs)S 15 x(under)S 15 x(the)S 
+15 x(ef)S -1 x(fective)S 15 x(user)S 15 x(id)S 15 x(of)S 16 x(root.)S
+20 x(Possible)S 15 x(values)S 15 x(are)S 58 y 709 X F75(on)S 21 x 
+F44(and)S 20 x F75(off)S F44(.)S 807 Y 295 X F1(debuglog)S -4 y 
+709 X F44(enables)S 22 x(more)S 22 x(detailed)S 23 x(logging)S 22 x
+(information)S 22 x(to)S 22 x(be)S 22 x(written)S 22 x(to)S 23 x
+(the)S 23 x(RF)S -3 x(A)S 21 x(log\014le)S 58 y 709 X F75(rfa.log)S
+16 x F44(in)S 16 x(the)S 17 x(ISODE)S 17 x(logdir.)S 25 x(Possible)S
+16 x(values)S 17 x(are)S 17 x F75(on)S 16 x F44(and)S 17 x F75(off)S
+F44(.)S 938 Y 295 X(The)S 15 x(following)S 15 x(options)S 14 x(are)S
+15 x(only)S 14 x(recognized)S 15 x(by)S 15 x(the)S 14 x(RF)S -3 x(A)S
+14 x(client.)S 20 x(They)S 14 x(may)S 14 x(additionally)S 14 x(be)S
+14 x(de\014ned)S 15 x(on)S 15 x(a)S 58 y 295 X(per-user)S 18 x
+(basis)S 18 x(in)S 17 x(a)S 18 x(\014le)S 18 x(called)S 18 x F75
+(.rfar)S -2 x(c)S 19 x F44(in)S 18 x(the)S 18 x(users)S 18 x(home)S
+18 x(directory.)S 1113 Y 295 X F1(host)S -3 y 709 X F44(the)S 23 x
+(name)S 22 x(of)S 22 x(the)S 22 x(remote)S 22 x(host.)S 41 x(This)S
+23 x(name)S 23 x(must)S 22 x(be)S 22 x(de\014ned)S 22 x(in)S 23 x
+(the)S 23 x(ISODE's)S 59 y 709 X F75(isoentities)S 20 x F44
+(database.)S 1265 Y 295 X F1(user)S 9 y 709 X F44(the)S 20 x
+(username)S 20 x(that)S 20 x(shall)S 20 x(be)S 19 x(used)S 20 x(to)S
+20 x(authenticate)S 19 x(with)S 20 x(the)S 20 x(remote)S 20 x(RF)S
+-3 x(A)S 19 x(server.)S 58 y 709 X(This)S 16 x(must)S 16 x(be)S 16 x
+(a)S 16 x(UNIX)S -17 y F74(TM)S 17 y 18 x F44(login)S 16 x(name)S 
+16 x(that)S 16 x(is)S 16 x(valid)S 16 x(on)S 16 x(the)S 16 x(remote)S
+16 x(site.)S 1448 Y 295 X F1(passwor)S -2 x(d)S -2 y 709 X F44(The)S
+21 x(password)S 21 x(corresponding)S 22 x(to)S 21 x(the)S 22 x(user)S
+21 x(name.)S 39 x(This)S 22 x(password)S 22 x(must)S 22 x(be)S 21 x
+(the)S 58 y 709 X(password)S 17 x(for)S 17 x(the)S 17 x(given)S 17 x
+(login)S 17 x(name)S 17 x(at)S 17 x(the)S 17 x(remote)S 18 x(site.)S
+1622 Y 295 X F1(backup)S -3 y 709 X F44(determines)S 15 x(if)S 15 x
+(a)S 15 x(backup)S 14 x(\014le)S 14 x(with)S 15 x(suf)S -1 x(\014x)S
+15 x F75(.bak)S 14 x F44(shall)S 14 x(be)S 15 x(created)S 14 x(when)S
+15 x(a)S 14 x(local)S 15 x(\014le)S 15 x(is)S 59 y 709 X(updated.)S
+28 x(Possible)S 18 x(values)S 18 x(are)S 18 x F75(on)S 18 x F44(and)S
+18 x F75(off)S F44(.)S 1794 Y 295 X F1(chgrp)S -2 y 709 X F44
+(determines)S 18 x(if)S 19 x(the)S 18 x(group-id)S 19 x(of)S 18 x
+(local)S 18 x(SLA)S -6 x(VE)S 18 x(\014les)S 18 x(shall)S 18 x(be)S
+19 x(set)S 19 x(according)S 18 x(to)S 18 x(the)S 58 y 709 X
+(group-id)S 15 x(of)S 15 x(the)S 14 x(remote)S 15 x(MASTER)S 15 x
+(\014le.)S 20 x(This)S 15 x(requires)S 15 x(that)S 15 x(user)S 15 x
+(executing)S 15 x(the)S 15 x F75(rfa)S 58 y 709 X F44(command)S 20 x
+(is)S 20 x(member)S 20 x(of)S 20 x(all)S 20 x(groups)S 20 x(that)S
+20 x(may)S 20 x(appear)S 20 x(or)S 20 x(the)S 20 x F75(rfa)S 20 x 
+F44(program)S 20 x(runs)S 58 y 709 X(under)S 16 x(the)S 16 x(ef)S 
+-1 x(fective)S 16 x(user)S 16 x(id)S 17 x(of)S 16 x(root.)S 23 x
+(Possible)S 16 x(values)S 16 x(are)S 16 x F75(on)S 17 x F44(and)S 
+16 x F75(off)S F44(.)S 2083 Y 295 X F1(chown)S -2 y 709 X F44
+(determines)S 21 x(if)S 20 x(the)S 21 x(user-id)S 21 x(of)S 20 x
+(local)S 21 x(SLA)S -6 x(VE)S 21 x(\014les)S 21 x(shall)S 21 x(be)S
+21 x(set)S 21 x(according)S 21 x(to)S 21 x(the)S 58 y 709 X(user-id)S
+18 x(of)S 17 x(the)S 17 x(remote)S 17 x(MASTER)S 17 x(\014le.)S 26 x
+(This)S 17 x(requires)S 17 x(that)S 17 x(user)S 17 x(executing)S 
+17 x(the)S 17 x F75(rfa)S 58 y 709 X F44(command)S 17 x(is)S 17 x
+(the)S 17 x(owner)S 17 x(of)S 18 x(the)S 18 x(\014le)S 18 x(or)S 
+17 x(the)S 17 x F75(rfa)S 17 x F44(program)S 17 x(runs)S 17 x(under)S
+18 x(the)S 17 x(ef)S -1 x(fective)S 58 y 709 X(user)S 17 x(id)S 17 x
+(of)S 18 x(root.)S 27 x(Possible)S 18 x(values)S 17 x(are)S 17 x F75
+(on)S 18 x F44(and)S 17 x F75(off)S F44(.)S 2371 Y 295 X F1
+(transfer)S -2 y 709 X F44(the)S 22 x(default)S 22 x(transfer)S 21 x
+(mode)S 21 x(that)S 21 x(is)S 21 x(set)S 21 x(when)S 21 x(a)S 21 x
+(\014le)S 22 x(is)S 21 x(registered)S 21 x(the)S 21 x(\014rst)S 21 x
+(time.)S 58 y 709 X(Possible)S 18 x(values)S 18 x(are)S 18 x F75
+(auto)S 18 x F44(and)S 18 x F75(r)S -2 x(equest)S 2545 Y 295 X F1
+(clearsuid)S -4 y 709 X F44(determines)S 11 x(if)S 11 x(the)S 11 x
+(set-uid-on-execution)S 11 x(bit)S 11 x(of)S 11 x(\014les)S 11 x(is)S
+11 x(cleared)S 11 x(if)S 11 x(they)S 11 x(are)S 11 x(transferred)S
+58 y 709 X(to)S 17 x(the)S 17 x(remote)S 16 x(site.)S 25 x(Possible)S
+17 x(values)S 17 x(are)S 17 x F75(on)S 17 x F44(and)S 17 x F75(off)S
+F44(.)S 25 x(If)S 17 x(RF)S -3 x(A)S 17 x(runs)S 17 x(with)S 17 x
+(ef)S -1 x(fective)S 58 y 709 X(user-id)S 19 x(of)S 18 x(root)S 18 x
+(and)S 19 x F75(chown)S 18 x F44(options)S 18 x(is)S 18 x(enabled,)S
+19 x F75(clearsuid)S 18 x F44(should)S 19 x(be)S 18 x(enabled)S 19 x
+(to)S 58 y 709 X(avoid)S 17 x(that)S 17 x(privileged)S 17 x(users)S
+17 x(from)S 16 x(one)S 17 x(sites)S 17 x(are)S 17 x(able)S 16 x(to)S
+17 x(gain)S 17 x(illegal)S 17 x(privileges)S 17 x(at)S 59 y 709 X
+(the)S 21 x(other)S 20 x(site.)S 2882 Y 295 X F1(rmslaves)S -3 y 
+709 X F44(determines)S 15 x(if)S 16 x(slave)S 15 x(\014les)S 16 x
+(with)S 15 x(no)S 15 x(remote)S 16 x(master)S 16 x(\014le)S 16 x
+(are)S 16 x(deleted)S 15 x(during)S 16 x(the)S 16 x F75(sync)S 58 y 
+709 X F44(and)S 19 x F75(rsync)S 20 x F44(command.)S 34 x(Possible)S
+19 x(values)S 20 x(are)S 19 x F75(on)S 20 x F44(and)S 19 x F75(off)S
+F44(.)S 34 x(If)S 20 x(a)S 20 x(there)S 20 x(is)S 20 x(a)S 20 x
+(remote)S 58 y 709 X(UNREGISTERED)S 18 x(\014le,)S 19 x(the)S 18 x
+(status)S 18 x(of)S 19 x(the)S 19 x(local)S 19 x(SLA)S -6 x(VE)S 
+18 x(\014le)S 18 x(is)S 19 x(only)S 18 x(changed)S 19 x(to)S 58 y 
+709 X(UNREGISTERED.)S 3276 Y 1219 X F6(10)S
+%%PageTrailer
+/paper-automatic true SPS 1 PP EP
+%%PageBoundingBox: 71 53 524 794
+
+%%PageBoundingBox: (atend)
+%%BeginPageSetup
+1000 BP 3507 2481 PM /paper-automatic false SPS 295 0 XY
+%%EndPageSetup
+295 231 XY F8(RF)S -3 x(A)S 295 281 XY 846 3 R 1141 281 XY 
+200 3 R 1340 281 XY 846 3 R -50 y 1731 X(What)S 25 x(is)S 25 x
+(still)S 25 x(missing)S 24 x(...)S 459 Y 295 X F1(rfaexec)S -2 y 
+709 X F44(determines)S 17 x(if)S 17 x(the)S 17 x F75(.rfaexec)S 17 x 
+F44(\014les)S 17 x(are)S 17 x(executed)S 17 x(during)S 17 x(a)S 17 x 
+F75(sync)S 17 x F44(or)S 17 x F75(rsync)S 17 x F44(command.)S 58 y 
+709 X(Possible)S 19 x(values)S 19 x(are)S 19 x F75(on)S 19 x F44
+(and)S 19 x F75(off)S F44(.)S 906 Y 295 X F46(6)S 62 x(Some)S 28 x
+(W)S -4 x(ords)S 27 x(on)S 27 x(User-IDs)S 27 x(and)S 27 x
+(Permissions)S 1149 Y 295 X F44(In)S 15 x(principle,)S 15 x(the)S 
+15 x(RF)S -3 x(A)S 14 x(client)S 15 x(runs)S 15 x(with)S 15 x(the)S
+15 x(user-id)S 15 x(of)S 16 x(the)S 15 x(user)S 15 x(that)S 15 x
+(invokes)S 15 x(the)S 15 x(client.)S 20 x(The)S 15 x(RF)S -3 x(A)S
+14 x(server)S 58 y 295 X(either)S 16 x(runs)S 16 x(with)S 16 x(the)S
+15 x(user-id)S 16 x(of)S 16 x(the)S 16 x(user)S 16 x(who)S 16 x
+(owns)S 16 x(the)S 16 x(server)S 16 x(program)S 16 x(\(as)S 15 x
+(performed)S 16 x(by)S 16 x F75(tsapd\(8\))S F44(\),)S 16 x(or)S 
+58 y 295 X(it)S 16 x(runs)S 16 x(with)S 16 x(the)S 16 x(user-id)S 
+16 x(the)S 16 x(invoker)S 16 x(has)S 16 x(supplied)S 16 x(with)S 
+16 x(the)S 16 x(bind)S 16 x(ar)S -1 x(guments)S 15 x(\(a)S 16 x
+(username)S 16 x(and)S 16 x(password)S 59 y 295 X(valid)S 16 x(at)S
+16 x(the)S 16 x(remote)S 16 x(server)S 16 x(host\).)S 23 x(In)S 16 x
+(the)S 16 x(later)S 16 x(case)S 16 x F75(tsapd)S 16 x F44(needs)S 
+16 x(to)S 16 x(run)S 16 x(with)S 16 x(user-id)S 16 x(of)S 16 x(root)S
+16 x(and)S 16 x(ros.rfa)S 58 y 295 X(needs)S 21 x(to)S 21 x(be)S 
+21 x(owned)S 20 x(by)S 21 x(root.)S 1466 Y 295 X(Under)S 19 x
+(certain)S 19 x(circumstances,)S 20 x(RF)S -3 x(A)S 18 x(client)S 
+19 x(and)S 19 x(server)S 19 x(need)S 19 x(to)S 19 x(do)S 18 x(modi)S
+(\014cation)S 19 x(to)S 19 x(\014les)S 19 x(which)S 18 x(are)S 19 x
+(not)S 58 y 295 X(owned)S 19 x(by)S 19 x(the)S 19 x(user-id)S 18 x
+(that)S 18 x(RF)S -3 x(A)S 18 x(is)S 18 x(running)S 19 x(with,)S 
+20 x(such)S 19 x(as)S 1633 Y 378 X(\267)S 67 x(changing)S 17 x(a)S
+17 x(\014les)S 17 x(access)S 18 x(right)S 17 x(\(e.g.)S 27 x(if)S 
+17 x(it)S 17 x(becomes)S 17 x(a)S 17 x(slave)S 17 x(version\))S 
+1716 Y 378 X(\267)S 67 x(changing)S 13 x(a)S 14 x(\014les)S 13 x
+(owner)S 13 x(of)S 14 x(group)S 14 x(\(e.g.)S 19 x(if)S 14 x(a)S 
+13 x(local)S 14 x(slave)S 13 x(is)S 14 x(updates)S 14 x(according)S
+13 x(to)S 13 x(a)S 13 x(remote)S 13 x(master)S 58 y 461 X(and)S 19 x
+(the)S 18 x F75(chown)S 19 x F44(and)S 19 x F75(chmod)S 19 x F44
+(options)S 19 x(are)S 18 x(enabled)S 1883 Y 295 X(One)S 14 x(way)S
+14 x(to)S 14 x(deal)S 14 x(with)S 14 x(these)S 14 x(problems)S 14 x
+(is)S 14 x(to)S 14 x(disable)S 13 x(these)S 14 x(facilities)S 14 x
+(of)S 14 x(RF)S -3 x(A)S 14 x(by)S 14 x(setting)S 14 x(the)S 14 x 
+F75(chown)S F44(,)S 15 x F75(chgrp)S 58 y 295 X F44(and)S 17 x F75
+(chmod)S 17 x F44(options)S 17 x(to)S 18 x F75(off)S F44(.)S 26 x
+(This)S 18 x(will)S 17 x(be)S 17 x(suitable)S 17 x(in)S 17 x(an)S 
+17 x(environment)S 17 x(where)S 17 x(all)S 17 x(\014les)S 17 x
+(within)S 17 x(the)S 17 x(shared)S 59 y 295 X(subtree)S 16 x(belong)S
+16 x(to)S 16 x(a)S 16 x(single)S 16 x(user)S 16 x(and)S 16 x(only)S
+16 x(this)S 16 x(user)S 16 x(runs)S 16 x(RF)S -3 x(A)S 15 x(client)S
+16 x(and)S 16 x(server)S 16 x(processes.)S 2084 Y 295 X(Otherwise,)S
+15 x(if)S 16 x(dif)S -1 x(ferent)S 15 x(users)S 15 x(access)S 15 x
+(the)S 16 x(\014les,)S 15 x(minimally)S 15 x(the)S 15 x F75(chmod)S
+15 x F44(option)S 15 x(should)S 16 x(be)S 15 x(enabled)S 15 x(to)S
+16 x(avoid)S 58 y 295 X(modi\014cations)S 13 x(to)S 13 x(slave)S 
+14 x(\014les)S 13 x(\(remember)S 14 x(that)S 14 x(locking)S 13 x(in)S
+13 x(rfa)S 13 x(is)S 13 x(advisory\))S 13 x(by)S 13 x(making)S 14 x
+(slave)S 13 x(\014les)S 14 x(read-only.)S 58 y 295 X(Further,)S 15 x
+(the)S 15 x F75(chown)S 15 x F44(and)S 15 x F75(chgrp)S 15 x F44
+(options)S 14 x(should)S 15 x(be)S 15 x(enabled)S 15 x(if)S 15 x
+(the)S 15 x(users)S 15 x(and)S 15 x(groups)S 15 x(are)S 15 x(the)S
+15 x(same)S 15 x(at)S 15 x(both)S 58 y 295 X(sites)S 17 x(to)S 16 x
+(maintain)S 16 x(the)S 16 x(ownership)S 16 x(\(and)S 16 x
+(originatorship)S 16 x(of)S 16 x(modi\014cation\))S 16 x(across)S 
+17 x(the)S 16 x(two)S 16 x(sites.)S 2342 Y 295 X(This)S 12 x(can)S
+12 x(be)S 12 x(achieved)S 12 x(by)S 12 x(running)S 12 x(the)S 12 x
+(RF)S -3 x(A)S 12 x(client)S 12 x(and)S 12 x(server)S 11 x(with)S 
+12 x(the)S 12 x(ef)S -1 x(fective)S 12 x(user-id)S 12 x(of)S 12 x
+(root)S 11 x(\(by)S 12 x(setting)S 58 y 295 X(the)S 15 x
+(set-uid-on-execution)S 14 x(\015ag\).)S 20 x(The)S 14 x(RF)S -3 x
+(A)S 15 x(client)S 15 x(will)S 15 x(set)S 15 x(his)S 15 x(ef)S -1 x
+(fective)S 16 x(user-id)S 15 x(during)S 15 x(start-up)S 14 x(to)S 
+15 x(his)S 15 x(real)S 59 y 295 X(user-id)S 18 x(and)S 17 x
+(switches)S 18 x(back)S 18 x(to)S 18 x(the)S 18 x(ef)S -1 x(fective)S
+18 x(user-id)S 18 x(of)S 17 x(root)S 17 x(only)S 17 x(for)S 18 x
+(these)S 17 x(sections)S 18 x(of)S 17 x(code)S 17 x(where)S 17 x
+(the)S 58 y 295 X(root)S 16 x(permissions)S 17 x(are)S 17 x(really)S
+16 x(required)S 17 x(to)S 16 x(change)S 16 x(the)S 16 x(access)S 
+16 x(mode,)S 17 x(owner)S 16 x(or)S 17 x(group)S 16 x(of)S 17 x
+(\014les.)S 24 x(Otherwise,)S 58 y 295 X(the)S 18 x(RF)S -3 x(A)S 
+17 x(client)S 17 x(run)S 18 x(with)S 17 x(the)S 18 x(ef)S -1 x
+(fective)S 17 x(user-id)S 17 x(equal)S 18 x(to)S 18 x(his)S 17 x
+(real)S 17 x(user-id.)S 2659 Y 295 X(The)S 18 x(RF)S -3 x(A)S 18 x
+(server)S 18 x(changes)S 19 x(his)S 18 x(ef)S -1 x(fective)S 19 x
+(user-id)S 18 x(during)S 18 x(start-up)S 19 x(to)S 18 x(the)S 18 x
+(user-id)S 18 x(provided)S 18 x(by)S 18 x(the)S 18 x(calling)S 58 y 
+295 X(client.)S 20 x(Like)S 15 x(the)S 15 x(RF)S -3 x(A)S 14 x
+(client,)S 15 x(it)S 14 x(switches)S 14 x(back)S 14 x(to)S 14 x(the)S
+15 x(ef)S -1 x(fective)S 14 x(user-id)S 15 x(of)S 14 x(root)S 14 x
+(only)S 15 x(for)S 15 x(these)S 14 x(sections)S 15 x(of)S 58 y 295 X
+(code)S 17 x(where)S 16 x(the)S 16 x(root)S 16 x(permissions)S 16 x
+(are)S 16 x(really)S 16 x(required)S 16 x(to)S 16 x(change)S 16 x
+(the)S 16 x(access)S 16 x(mode)S 16 x(of)S 16 x(a)S 16 x(\014le.)S
+2859 Y 295 X(If)S 22 x(the)S 22 x(RF)S -3 x(A)S 21 x(client)S 22 x
+(and)S 22 x(server)S 23 x(do)S 22 x(not)S 22 x(run)S 22 x(with)S 
+22 x(ef)S -1 x(fective)S 22 x(user-id)S 22 x(of)S 22 x(root,)S 24 x
+(the)S 22 x(time)S 22 x(synchronization)S 59 y 295 X(command)S 16 x
+(of)S 16 x(RF)S -3 x(A)S 16 x(can)S 16 x(only)S 16 x(be)S 16 x
+(used,)S 16 x(if)S 16 x(the)S 16 x(external)S 16 x(program)S 16 x 
+F75(rfatime)S 16 x F44(of)S 16 x(the)S 16 x(RF)S -3 x(A)S 15 x
+(package)S 16 x(is)S 16 x(installed)S 58 y 295 X(to)S 21 x(run)S 
+21 x(with)S 21 x(set-uid)S 21 x(root)S 3276 Y 1219 X F6(11)S
+%%PageTrailer
+/paper-automatic true SPS 1 PP EP
+%%PageBoundingBox: 71 53 524 794
+
+%%PageBoundingBox: (atend)
+%%BeginPageSetup
+1000 BP 3507 2481 PM /paper-automatic false SPS 295 0 XY
+%%EndPageSetup
+295 231 XY F8(RF)S -3 x(A)S 295 281 XY 846 3 R 1141 281 XY 
+200 3 R 1340 281 XY 846 3 R -50 y 1733 X(What)S 24 x(is)S 24 x
+(still)S 24 x(missing)S 24 x(...)S 464 Y 295 X F46(7)S 62 x(What)S
+32 x(is)S 32 x(still)S 31 x(missing)S 32 x(...)S 640 Y 295 X F44
+(The)S 16 x(current)S 16 x(version)S 16 x(of)S 16 x(RF)S -3 x(A)S 
+16 x(is)S 17 x(a)S 16 x(\014rst)S 16 x(shot)S 16 x(which)S 16 x
+(needs)S 16 x(some)S 16 x(completion)S 16 x(and)S 16 x(extensions.)S
+740 Y 378 X(\267)S 67 x(A)S 17 x(command)S 16 x(like)S 17 x
+(\252remote-dif)S -1 x(f\272)S 17 x(could)S 16 x(be)S 16 x(helpful)S
+16 x(for)S 16 x(resolving)S 16 x(inconsistencies.)S 823 Y 378 X
+(\267)S 67 x(The)S 17 x(time)S 16 x(synchronization)S 16 x(only)S 
+16 x(works)S 16 x(if)S 16 x(the)S 16 x(local)S 16 x(time)S 16 x(of)S
+16 x(a)S 17 x F75(time-slave)S 17 x F44(site)S 16 x(can)S 16 x(be)S
+16 x(modi\014ed,)S 58 y 461 X(which)S 18 x(may)S 19 x(not)S 19 x
+(hold)S 18 x(true)S 19 x(in)S 19 x(each)S 18 x(environment.)S 964 Y 
+378 X(\267)S 67 x(There)S 14 x(is)S 14 x(a)S 14 x(problem)S 14 x
+(with)S 14 x(the)S 14 x F75(chown)S F44(,)S 14 x F75(chgrp)S 14 x 
+F44(and)S 14 x F75(chmod)S 14 x F44(facilities)S 14 x(of)S 14 x(RF)S
+-3 x(A)S 14 x(because)S 15 x(the)S 14 x(enabling)S 58 y 461 X(of)S
+19 x(them)S 19 x(may)S 19 x(cause)S 19 x(\252permission)S 19 x
+(denied)S
+(\272)S 18 x(errors)S 18 x(if)S 19 x(the)S 19 x(RF)S -3 x(A)S 18 x
+(does)S 18 x(not)S 19 x(run)S 18 x(with)S 19 x(the)S 18 x(ef)S -1 x
+(fective)S 58 y 461 X(used)S 21 x(id)S 21 x(of)S 21 x(root.)S 1163 Y 
+378 X(\267)S 67 x(RF)S -3 x(A)S 20 x(is)S 21 x(only)S 20 x(capable)S
+20 x(to)S 21 x(support)S 20 x(distribution)S 20 x(over)S 20 x(two)S
+20 x(sites,)S 21 x(which)S 20 x(should)S 20 x(be)S 20 x(extended)S
+21 x(to)S 59 y 461 X(allow)S 18 x(a)S 18 x(multiple)S 18 x(site)S 
+18 x(con\014guration.)S 31 x(This)S 18 x(may)S 19 x(require)S 19 x
+(the)S 19 x(redesign)S 18 x(of)S 19 x(the)S 18 x(RF)S -3 x(A)S 18 x
+(model)S 19 x(and)S 58 y 461 X(will)S 19 x(introduce)S 19 x(a)S 19 x
+(new)S 19 x(level)S 19 x(of)S 19 x(complexity.)S 3276 Y -40 x F6(12)S
+%%PageTrailer
+/paper-automatic true SPS 1 PP EP
+%%PageBoundingBox: 71 53 524 794
+
+%%Trailer
+EndDviLaserDoc
+
+%%BoundingBox: 71 53 524 794
+%%Pages: 13
+%%DocumentFonts: Times-Bold Times-Roman Times-Italic Courier