home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 March B / SCO_CASTOR4RRT.iso / base / root.15 / usr / lib / hpnp / cfg / bootptabadd / bootptabadd~
Text File  |  1998-08-19  |  6KB  |  251 lines

  1. #!/bin/ksh
  2. #ident    "@(#)bootptabadd    1.2"
  3. #        copyright    "%c%"
  4. #
  5. # (c)Copyright Hewlett-Packard Company 1991.  All Rights Reserved.
  6. # (c)Copyright 1983 Regents of the University of California
  7. # (c)Copyright 1988, 1989 by Carnegie Mellon University
  8. #                          RESTRICTED RIGHTS LEGEND
  9. # Use, duplication, or disclosure by the U.S. Government is subject to
  10. # restrictions as set forth in sub-paragraph (c)(1)(ii) of the Rights in
  11. # Technical Data and Computer Software clause in DFARS 252.227-7013.
  12. #
  13. #                          Hewlett-Packard Company
  14. #                          3000 Hanover Street
  15. #                          Palo Alto, CA 94304 U.S.A.
  16. #
  17. #  Create entry into the peripheral tftp config file and
  18. #  enter peripheral entries into bootptab         
  19. #
  20.  
  21. if [ ! -d "$CONFIGDIR" ]
  22. then
  23.   echo "" | tee -a -- "$LOG"
  24.   echo mkdir -m u=rwx,go=rx -p $CONFIGDIR | tee -a -- "$LOG"
  25.   mkdir -m u=rwx,go=rx -p "$CONFIGDIR" > /dev/null 2>&1
  26.   if [ $? -ne 0 ]
  27.   then
  28.     echo "Not able to create directory $CONFIGDIR"
  29.     exit 100
  30.   fi
  31. fi
  32.  
  33.  
  34. SHORTNAME="`echo $NAME | awk -F. '{print $1}'`"
  35. DT144TAG="$SHORTNAME.cfg"
  36. CFGFILE="$CONFIGDIR/$DT144TAG"
  37.  
  38. echo "--------------------------------------------------------------"
  39.  
  40. SUBNETSLOCAL=""
  41. if [ -f "$CFGFILE" ]
  42. then
  43.   #
  44.   # Carry forward subnets-local if it is in the config file.
  45.   # The only way to get subnets-local into the config file
  46.   # is manually since hpnpcfg does not question for it.
  47.   #
  48.   SUBNETSLOCAL="`grep '^subnets-local:' $CFGFILE`"
  49.   echo "" | tee -a -- "$LOG"
  50.   echo "Removing $CFGFILE" | tee -a -- "$LOG"
  51.   rm -f -- "$CFGFILE"
  52. fi
  53.  
  54. if [ "$SETCFG" = "YES" -o "$SHORTNAME" != "$NAME" -o -n "$SUBNETSLOCAL" ]
  55. then
  56.   # Create remote configuration file $RNAME.cfg for peripheral $NAME 
  57.  
  58.   if [ -n "$SUBNETSLOCAL" ]
  59.   then
  60.     echo $SUBNETSLOCAL >> "$CFGFILE"
  61.   fi
  62.  
  63.   if [ -n "$IDLETO" ]
  64.   then
  65.     echo "idle-timeout: $IDLETO"         >>  "$CFGFILE"
  66.   fi
  67.  
  68.   if [ -n "$SYSLOGFAC" ]
  69.   then
  70.     echo "syslog-facility: $SYSLOGFAC" >> "$CFGFILE"
  71.   fi
  72.  
  73.   #  There may be as many as 10 entries to the access list
  74.  
  75.   if [ -n "$ALLOWLIST1" ]
  76.   then
  77.      echo "allow: $ALLOWLIST1"         >>  "$CFGFILE"
  78.   fi
  79.   if [ -n "$ALLOWLIST2" ]
  80.   then
  81.     echo "allow: $ALLOWLIST2"         >>  "$CFGFILE"
  82.   fi
  83.   if [ -n "$ALLOWLIST3" ]
  84.   then
  85.     echo "allow: $ALLOWLIST3"         >>  "$CFGFILE"
  86.   fi
  87.   if [ -n "$ALLOWLIST4" ]
  88.   then
  89.     echo "allow: $ALLOWLIST4"         >>  "$CFGFILE"
  90.   fi
  91.   if [ -n "$ALLOWLIST5" ]
  92.   then
  93.     echo "allow: $ALLOWLIST5"         >>  "$CFGFILE"
  94.   fi
  95.   if [ -n "$ALLOWLIST6" ]
  96.   then
  97.     echo "allow: $ALLOWLIST6"         >>  "$CFGFILE"
  98.   fi
  99.   if [ -n "$ALLOWLIST7" ]
  100.   then
  101.     echo "allow: $ALLOWLIST7"         >> "$CFGFILE"
  102.   fi
  103.   if [ -n "$ALLOWLIST8" ]
  104.   then
  105.     echo "allow: $ALLOWLIST8"         >> "$CFGFILE"
  106.   fi
  107.   if [ -n "$ALLOWLIST9" ]
  108.   then
  109.     echo "allow: $ALLOWLIST9"         >> "$CFGFILE"
  110.   fi
  111.   if [ -n "$ALLOWLIST10" ]
  112.   then
  113.     echo "allow: $ALLOWLIST10"         >>  "$CFGFILE"
  114.   fi
  115.  
  116.   if [ "$SNMP" = "YES" -o "$SHORTNAME" != "$NAME" ]
  117.   then
  118.  
  119.     if [ "$SHORTNAME" != "$NAME" ]
  120.     then
  121.       echo '#' >> "$CFGFILE"
  122.       echo '# Place domain name here to avoid overflowing' >> "$CFGFILE"
  123.       echo '# the vendor information area of the BOOTP reply.' >> "$CFGFILE"
  124.       echo '#' >> "$CFGFILE"
  125.       echo "name: $NAME"             >> "$CFGFILE"
  126.     fi
  127.           
  128.     if [ -n "$LOCATE" ]
  129.     then
  130.       echo "location: $LOCATE"         >>  "$CFGFILE"
  131.     fi
  132.     if [ -n "$CONTACT" ]
  133.     then
  134.       echo "contact: $CONTACT"        >> "$CFGFILE"
  135.     fi
  136.     if [ -n "$GETCOMNAM" ]
  137.     then
  138.       echo "get-community-name: $GETCOMNAM"    >> "$CFGFILE"
  139.     fi
  140.     if [ -n "$STCOMNAM" ]
  141.     then
  142.       echo "set-community-name: $STCOMNAM"    >> "$CFGFILE"
  143.     fi
  144.     if [ "$SNMPTRAP" = "YES" ]
  145.     then
  146.       if [ -n "$TRAPLIST1" ]
  147.       then
  148.         echo "trap-dest: $TRAPLIST1" >> "$CFGFILE"
  149.       fi
  150.       if [ -n "$TRAPLIST2" ]
  151.       then
  152.         echo "trap-dest: $TRAPLIST2" >> "$CFGFILE"
  153.       fi
  154.       if [ -n "$TRAPLIST3" ]
  155.       then
  156.         echo "trap-dest: $TRAPLIST3" >> "$CFGFILE"
  157.       fi
  158.       if [ -n "$TRAPLIST4" ]
  159.       then
  160.         echo "trap-dest: $TRAPLIST4" >> "$CFGFILE"
  161.       fi
  162.       if [ -n "$TRPCOMNAM" ]
  163.       then
  164.         echo "trap-community-name: $TRPCOMNAM" >> "$CFGFILE"
  165.       fi
  166.       if [ "$SNMPTRPAUTH" = "YES" ]
  167.       then
  168.         echo "authentication-trap: on"    >> "$CFGFILE"
  169.       else
  170.         echo "authentication-trap: off"    >> "$CFGFILE"
  171.       fi
  172.     fi
  173.   fi
  174.   if [ -s "$CFGFILE" ]
  175.   then
  176.     echo "" | tee -a -- "$LOG"
  177.     echo "Network peripheral interface configuration file" | tee -a -- "$LOG"
  178.     echo "$CFGFILE created.  Here are its contents:" | tee -a -- "$LOG"
  179.     echo "" | tee -a -- "$LOG"
  180.     cat -- "$CFGFILE" | tee -a -- "$LOG"
  181.     echo "" | tee -a -- "$LOG"
  182.     chmod u=rw,go=r "$CFGFILE"
  183.     echo "--------------------------------------------------------------"
  184.     echo ""
  185.     echo "Press the return key to continue ... $NL"
  186.     read -r RESP
  187.     echo ""
  188.     echo "--------------------------------------------------------------"
  189.   fi
  190. fi
  191.  
  192. touch -- "$BOOTPTABLE"
  193. rmbootpentry "$SHORTNAME" > /dev/null
  194.  
  195. if [ $? -eq 0 ]
  196. then
  197.   echo ""
  198.   echo "Removed existing entry for $SHORTNAME in $BOOTPTABLE"
  199.   echo "Removed existing entry for $SHORTNAME in $BOOTPTABLE" >> "$LOG"
  200. fi
  201.  
  202. echo "" | tee -a -- "$LOG"
  203. echo "Adding the following BOOTP entry to $BOOTPTABLE:" | tee -a -- "$LOG"
  204. echo "" | tee -a -- "$LOG"
  205.  
  206. rm -f -- "$TMP/BOOTPTAB"
  207.  
  208. echo "$SHORTNAME:\\" >> "$TMP/BOOTPTAB"
  209. echo "    :ht=ether:\\" >> "$TMP/BOOTPTAB"
  210. echo "    :ha=$HATAG:\\" >> "$TMP/BOOTPTAB"
  211. if [ -n "$SNMASK" ]
  212. then
  213.   echo "    :sm=$SNMASK:\\" >> "$TMP/BOOTPTAB"
  214. fi
  215. if [ -n "$SNGATEWAY" ]
  216. then
  217.   echo "    :gw=$SNGATEWAY:\\" >> "$TMP/BOOTPTAB"
  218. fi
  219. if [ -n "$SYSLOGIP" ]
  220. then
  221.   echo "    :lg=$SYSLOGIP:\\" >> "$TMP/BOOTPTAB"
  222. fi
  223. if [ "$SHORTNAME" = "$NAME" ]
  224. then
  225.   echo "    :hn:\\" >> "$TMP/BOOTPTAB"
  226. fi
  227. echo "    :ip=$IPADDR:\\" >> "$TMP/BOOTPTAB"
  228. if [ -s "$CFGFILE" ]
  229. then
  230.     echo "    :T144=\"hpnp/$DT144TAG\":\\" >> "$TMP/BOOTPTAB"
  231. fi
  232. echo "    :vm=rfc1048:" >> "$TMP/BOOTPTAB"
  233.  
  234.  
  235. cat -- "$TMP/BOOTPTAB" | tee -a -- "$LOG"
  236. cat -- "$TMP/BOOTPTAB" >> "$BOOTPTABLE"
  237. rm -f -- "$TMP/BOOTPTAB"
  238.  
  239. if [ $? -ne 0 ] 
  240. then  
  241.     echo "Error: Modification of $BOOTPTABLE failed"
  242.     exit 1
  243. fi
  244.  
  245. echo "" | tee -a -- "$LOG"
  246. echo "--------------------------------------------------------------"
  247.  
  248.  
  249. exit 0
  250.