File: getfs-amd

package info (click to toggle)
tiger 2.2.4-22
  • links: PTS
  • area: main
  • in suites: woody
  • size: 2,188 kB
  • ctags: 240
  • sloc: sh: 8,388; ansic: 2,109; makefile: 141; perl: 106
file content (75 lines) | stat: -rwxr-xr-x 1,525 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#!/bin/sh
#
#     tiger - A UN*X security checking system
#     Copyright (C) 1993 Douglas Lee Schales, David K. Hess, David R. Safford
#
#     Please see the file `COPYING' for the complete copyright notice.
#
# util/getfs-amd - 04/27/93
#
# 04/27/93 dls Support map files in files or in NIS.
#
#-----------------------------------------------------------------------------
#

haveallof()
{
  retval=0
  what=$1
  shift
  for file
  do
    eval cmd=\$$file
    [ ! -n "$cmd" ] && {
      echo "--CONFIG-- Don't have all required $what (missing $file)"
      retval=1
    }
  done
  return $retval
}

$AWK '{
       if($2 == "/")
	  print $2, $0;
       else {
          n=split($2, path, "/");
          print path[n], $0;
       }
      }' |
$SORT > $WORKDIR/gfsa1.$$

{
  if [ -f "$AUTOHOMEMAP" ]; then
    $AWK 'BEGIN {LINE=""; }
     /\\$/ {LINE=LINE " " substr($0, 1, length($0)-1); }
     !/\\$/ {print LINE $0; LINE=""; }
     END { if(LINE != "") print LINE; }
    ' $AUTOHOMEMAP
  else
    $YPCAT -k $AUTOHOMEMAP 2>/dev/null
  fi
} |
$SED -e 's/^\([^ 	]*\).*rhost:=\([^;]*\).*$/\1 \2/' |
$SORT > $WORKDIR/gfsa2.$$

if [ -s $WORKDIR/gfsa2.$$ ]; then
  $JOIN -a1 -j 1 -o 1.2 1.3 2.2 $WORKDIR/gfsa1.$$ $WORKDIR/gfsa2.$$ |
  while read user dir location
  do
    echo $user $dir ${location:=$HOSTNAME}
  done |
  $SORT
else
  #
  # Something went wrong... nothing in the map, so
  # we'll just use the standard method.
  $BASEDIR/util/getfs-std
fi

$RM -f $WORKDIR/gfsa1.$$ $WORKDIR/gfsa2.$$
#
exit 0
#
exit 0
#
exit 0