diff -urN current/check/samba_lpd.txt foo/check/samba_lpd.txt
--- current/check/samba_lpd.txt	Fri Mar 12 05:09:40 2004
+++ foo/check/samba_lpd.txt	Wed Apr  7 11:48:45 2004
@@ -50,15 +50,26 @@
 SAMBA_TRUSTED_NETS          OPT_SAMBA        -                 ENETWORKS
 SAMBA_LOG                   OPT_SAMBA        -                 YESNO
 
-SAMBA_LPD_PARPORT_%_NAME    OPT_LPD          LPD_PARPORT_N     SMB_PRINTERNAME
-SAMBA_LPD_PARPORT_%_NET     OPT_LPD          LPD_PARPORT_N     SMB_ACCESS
+SAMBA_LPD_PARPORT_%_NAME    OPT_LPD_PARPORT  LPD_PARPORT_N     SMB_PRINTERNAME
+SAMBA_LPD_PARPORT_%_NET     OPT_LPD_PARPORT  LPD_PARPORT_N     SMB_ACCESS
 
-SAMBA_LPD_USBPORT_%_NAME    OPT_LPD          LPD_USBPORT_N     SMB_PRINTERNAME
-SAMBA_LPD_USBPORT_%_NET     OPT_LPD          LPD_USBPORT_N     SMB_ACCESS
+SAMBA_LPD_USBPORT_%_NAME    OPT_LPD_USBPORT  LPD_USBPORT_N     SMB_PRINTERNAME
+SAMBA_LPD_USBPORT_%_NET     OPT_LPD_USBPORT  LPD_USBPORT_N     SMB_ACCESS
 
-SAMBA_LPD_REMOTE_%_NAME     OPT_LPD          LPD_REMOTE_N      SMB_PRINTERNAME
-SAMBA_LPD_REMOTE_%_NET      OPT_LPD          LPD_REMOTE_N      SMB_ACCESS
+SAMBA_LPD_REMOTE_%_NAME     OPT_LPD_REMOTE   LPD_REMOTE_N      SMB_PRINTERNAME
+SAMBA_LPD_REMOTE_%_NET      OPT_LPD_REMOTE   LPD_REMOTE_N      SMB_ACCESS
 
+SAMBA_ADMINIP               OPT_SAMBA        -                 SMB_ACCESS
+SAMBA_SHARE_N               OPT_SAMBA        -                 NUMERIC
+SAMBA_SHARE_%_NAME          OPT_SAMBA        SAMBA_SHARE_N     SMB_NAME
+SAMBA_SHARE_%_RW            OPT_SAMBA        SAMBA_SHARE_N     YESNO
+SAMBA_SHARE_%_BROWSE        OPT_SAMBA        SAMBA_SHARE_N     YESNO
+SAMBA_SHARE_%_PATH          OPT_SAMBA        SAMBA_SHARE_N     ABS_PATH
+SAMBA_SHARE_%_NET           OPT_SAMBA        SAMBA_SHARE_N     SMB_ACCESS
+
+SAMBA_CDROM_N               OPT_SAMBA        -                 NUMERIC
+SAMBA_CDROM_%_DEV           OPT_SAMBA        SAMBA_CDROM_N     DISK
+SAMBA_CDROM_%_NET           OPT_SAMBA        SAMBA_CDROM_N     SMB_ACCESS
 #------------------------------------------------------------------------------
 #  nmbd
 #
diff -urN current/config/samba_lpd.txt foo/config/samba_lpd.txt
--- current/config/samba_lpd.txt	Fri Mar 12 05:09:40 2004
+++ foo/config/samba_lpd.txt	Wed Apr  7 11:47:10 2004
@@ -28,6 +28,18 @@
 SAMBA_TRUSTED_NETS=''            # grant access also to nets
 SAMBA_LOG='no'                   # log errors in /var/log/log.smb and
                                  # /var/log/log.nmb: yes or no
+SAMBA_ADMINIP=''                 # ip addr of smb-client (mount fli4l rootfs)
+SAMBA_SHARE_N='0'                # how many shares you want to create
+SAMBA_SHARE_1_NAME='share1'      # name of the 1st share
+SAMBA_SHARE_1_RW='yes'           # should share writeable: yes or no
+SAMBA_SHARE_1_BROWSE='yes'       # should share browseable: yes or no
+SAMBA_SHARE_1_PATH='/usr/local/data' # path of the share, see MOUNT_x_POINT !
+SAMBA_SHARE_1_NET=''             # allowed networks for 1st share,
+                                 # if empty all internal nets
+
+SAMBA_CDROM_N='1'                # create shares for n CDROMs
+SAMBA_CDROM_1_DEV='hdc'          # name of the CDROM device eg. hdc
+SAMBA_CDROM_1_NET=''             # allowed networks for 1st CDROM,
 
 SAMBA_LPD_PARPORT_1_NAME=''      # printer name in network neighborhood
 SAMBA_LPD_PARPORT_1_NET=''       # allowed networks for LPD_PARPORT_1,
diff -urN current/opt/etc/rc.d/file_shares.sh foo/opt/etc/rc.d/file_shares.sh
--- current/opt/etc/rc.d/file_shares.sh	Wed Apr  7 11:40:07 2004
+++ foo/opt/etc/rc.d/file_shares.sh	Wed Apr  7 11:47:10 2004
@@ -0,0 +1,115 @@
+    #----------------------------------------------------------------------------
+    # create share(s):
+    #----------------------------------------------------------------------------
+
+    echo "configuring shares"
+    idx='1'
+
+    while [ "$idx" -le "$SAMBA_SHARE_N" ]
+    do
+          eval name='$SAMBA_SHARE_'$idx'_NAME'
+          eval write='$SAMBA_SHARE_'$idx'_RW'
+          eval browse='$SAMBA_SHARE_'$idx'_BROWSE'
+          eval path='$SAMBA_SHARE_'$idx'_PATH'
+          path=$path/$name
+          eval hosts='$SAMBA_SHARE_'$idx'_NET'
+
+          if [ ! -d "$path" ]
+          then
+               mkdir $path
+               if [ "$?" = "0" ]
+               then 
+                    echo "directory $path for share $name on $HOSTNAME created"
+               else
+                    colecho "*** ERROR: cannot create directory $path for share $name on $HOSTNAME! ***" br x br
+                    colecho "*** ERROR: check OPT_MOUNT and SAMBA_SHARE_PATH! ***" br x br
+               fi
+          else
+               echo "directory for share $name on $HOSTNAME always exists"
+          fi
+
+          if [ "$hosts" != '' ]    # which net will be allowed to access the share?
+          then                     # net is defined
+              hosts1=$hosts        # net in SAMBA_SHARE_NET_X will be allowed
+              echo "share $name on $HOSTNAME will be accessable for network(s):"
+              echo "$hosts1"
+          else                     # net is not defined
+              hosts1=$sambahosts   # net in IP_ETH_X_NETWORK/$IP_ETH_X_NETMASK will be allowed
+              echo "share $name on $HOSTNAME will be accessable for network(s):"
+              echo "$hosts1"
+          fi
+
+         (echo "[$name]"
+          echo "   comment = share $name on $HOSTNAME"
+          echo "   browseable = $browse"
+          echo "   available = yes"
+          echo "   writeable = $write"
+          echo "   path = $path"
+          echo "   hosts allow = $hosts1"
+          echo "   force user = root"
+          echo "   "
+          ) >> /etc/smb.conf
+          idx=`expr $idx + 1`
+    done
+
+    #----------------------------------------------------------------------------
+    # create share(s) for cdrom(s):
+    #----------------------------------------------------------------------------
+
+    idx='1'
+
+    while [ "$idx" -le "$SAMBA_CDROM_N" ]
+    do
+          eval dev='$SAMBA_CDROM_'$idx'_DEV'
+          eval hosts='$SAMBA_CDROM_'$idx'_NET'
+          path=''
+
+          if [ "$hosts" != '' ]    # which net will be allowed to access the share?
+          then                     # net is defined
+              hosts1=$hosts        # net in SAMBA_CDROM_NET_X will be allowed
+              echo "cdrom$idx on $HOSTNAME will be accessable for network(s):"
+              echo "$hosts1"
+          else                     # net is not defined
+              hosts1=$sambahosts   # net in IP_ETH_X_NETWORK/$IP_ETH_X_NETMASK will be allowed
+              echo "cdrom$idx on $HOSTNAME will be accessable for network(s):"
+              echo "$hosts1"
+          fi
+
+          if [ -n "`cat /proc/mounts | grep $dev`" ]
+          then                     # found mounted cdrom$idx
+              echo "cdrom$idx already mounted"
+              path=`cat /proc/mounts | grep /dev/$dev | cut -d" " -f2`  # cut mountpath for sharing
+              echo "path for cdrom$idx is $path"
+              exec=false
+          else                     # cdrom$idx not mounted
+              echo "cdrom$idx not mounted"
+              path=/mnt/cdrom$idx
+              echo "path for cdrom$idx is $path"
+              exec=true
+
+              if [ ! -d /mnt/cdrom$idx ]
+              then
+                  mkdir /mnt/cdrom$idx
+              fi
+          fi
+
+         (echo "[cdrom$idx]"
+          echo "   comment = cdrom$idx on $HOSTNAME at device $dev"
+          echo "   read only = yes"
+          echo "   hosts allow = $hosts1"
+          echo "   path = $path"
+          ) >> /etc/smb.conf
+
+          if [ "$exec" = "true" ]
+          then 
+              (echo "   root preexec = /bin/mount -t iso9660 /dev/$dev /mnt/cdrom$idx -o ro"
+               echo "   root postexec = /bin/umount /dev/$dev"
+               echo "   "
+               ) >> /etc/smb.conf
+          else
+              (echo "   "
+               ) >> /etc/smb.conf
+          fi
+          idx=`expr $idx + 1`
+    done
+
diff -urN current/opt/etc/rc.d/rc455.samba foo/opt/etc/rc.d/rc455.samba
--- current/opt/etc/rc.d/rc455.samba	Fri Mar 12 05:09:40 2004
+++ foo/opt/etc/rc.d/rc455.samba	Wed Apr  7 11:47:10 2004
@@ -15,7 +15,7 @@
 # configuring parameters from config.txt:
 #----------------------------------------------------------------------------
 
-SAMBA_ADMINIP=''
+# SAMBA_ADMINIP=''
 interface=''
 sambahosts=''
 start_samba=false
@@ -314,6 +314,11 @@
         echo "   dont descend = proc"
         echo "   "
        ) >> /etc/smb.conf
+    fi
+
+    if [ -f /etc/rc.d/file_shares.sh ]
+    then
+	. /etc/rc.d/file_shares.sh
     fi
 
     #----------------------------------------------------------------------------
diff -urN current/opt/samba_lpd.txt foo/opt/samba_lpd.txt
--- current/opt/samba_lpd.txt	Fri Mar 12 05:09:43 2004
+++ foo/opt/samba_lpd.txt	Wed Apr  7 11:47:10 2004
@@ -12,6 +12,7 @@
 #----------------------------------------------------------------------------
 samba       yes  etc/rc0.d/rc400.samba
 samba       yes  etc/rc.d/rc455.samba
+samba       yes  etc/rc.d/file_shares.sh
 samba       yes  etc/prep/rc400.samba
 samba       yes  etc/lmhosts
 samba       yes  files/usr/lib/samba/codepages/codepage.850
