@ECHO OFF
SET CSDTYPE=BASE
SET CSDNO=BASE 2.1.1.2 (UB09829)
rem
rem  Licensed Materials - Property of IBM
rem
rem  (C) Copyright IBM Corp. 1991, 1994. All rights reserved.
rem  US Government Users Restricted Rights - Use, duplication or
rem  disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
rem
rem
rem  Written by:  William T. Nelson
rem               IBM Corporation
rem               March 23, 1991
rem
rem  Updated by:  Lee Cole
rem               IBM Corporation
rem               Feb. 15, 1993
rem
rem  Updated by:  Michael Luther
rem               IBM Corporation
rem               April 5, 1994
rem

set DSK=%1
set ODSK=%DSK%
if %1.==. SET DSK=A:\
if not exist %DSK%lpt1 goto slash
goto noslash
:slash
SET DSK=%DSK%\
if not exist %DSK%lpt1 goto help

:MOUNT
if not exist %DSK%%CSDTYPE%CSD.DOC goto REQUEST
goto CONTINUE

:REQUEST
if "%DSK%"=="A:\" goto REQ1
if "%DSK%"=="B:\" goto REQ1
goto help

:REQ1
echo Please insert TCPCSD Diskette 1
pause
if not exist %DSK%%CSDTYPE%CSD.DOC goto help
goto CONTINUE

:noslash
if not exist %DSK%%CSDTYPE%CSD.DOC goto REQUEST
if exist %DSK%ASK.EXE goto CONTINUE
:help

cls
echo.
echo IBM TCP/IP for DOS Version 2.1.1
echo Corrective Service Diskette
echo May 4, 1994
echo.
echo.
echo The files needed to install this CSD were not found on the
echo drive and/or path specified.  Verify that you have inserted the
echo correct diskette.
echo.
echo If you are running this program from anything other than diskette
echo drive A, you must enter:
echo.
echo           %0 [drive letter:][\path]
echo.
echo to override diskette drive A (i.e. %0 B:).
echo.
echo The drive:\path %ODSK% is not valid.  Correct and try again.
goto QUIT

SET D=B
if "%D%"=="" goto QUIT
if EXIST %DSK%ASK.EXE SET D=
if "%D%"=="B" goto QUIT

:CONTINUE
cls
echo.
echo IBM TCP/IP for DOS Version 2.1.1
echo Corrective Service Diskette
echo May 4, 1994
echo.

%DSK%TCPCHKV %CSDNO%
if errorlevel 1 goto  CHKBASE

echo.
echo.
echo.
echo.
echo This CSD has already been installed.  If you install it again
echo you may backlevel your system.
echo Do you want the Corrective Service to be applied again? (Y, N or Q):
%DSK%ask Yy Nn Qq
if ERRORLEVEL 3 goto QUIT
if ERRORLEVEL 2 goto QUIT

:CHKBASE
if %tcpbase%.==. set tcpbase=%ETC%\..

echo.
echo.
echo.
echo.
echo Your TCPBASE environment variable is set to:  %TCPBASE%
echo.
echo Do you want the Corrective Service to be applied to the TCP/IP for DOS
echo installed at %TCPBASE% (Y, N or Q):
%DSK%ask Yy Nn Qq
if ERRORLEVEL 3 goto QUIT
if ERRORLEVEL 2 goto BADBASE
if ERRORLEVEL 1 goto CHKDECOMP
echo.
echo.
echo ERROR:  Your entry must be Y(es), N(o) or Q(uit)
echo.
goto CHKBASE


:BADBASE

echo.
echo.
echo The environment variable TCPBASE must be set for this CSD to
echo install correctly.  TCPBASE points to the base directory for the
echo TCP/IP for DOS product.  Please set this variable by entering:
echo.
echo        SET TCPBASE=[base directory]
echo.
echo For example:
echo.
echo        SET TCPBASE=C:\TCPDOS
echo.
goto QUIT


:CHKDECOMP

IF EXIST %TCPBASE%\BIN\DECOMP.EXE goto DOCSDSECT
echo.
echo.
echo ERROR:
echo.
echo You must have installed the IBM TCP/IP for DOS Product in the directory
echo indicated by the environment variable TCPBASE.  This BIN subdirectory
echo should contain the file DECOMP.EXE.  If you have deleted this file, you
echo must reinstall the TCP/IP for DOS before this CSD can be applied.
echo.
goto QUIT

:DOCSDSECT
cls

:DOCSD

echo.
echo.
echo This CSD replaces several files within the %TCPBASE%\BIN and
echo %TCPBASE%\ETC directories.  If you wish, a backup copy of each
echo original file will be saved under under a different name.  The backup
echo file will be created by changing the last character in each file type
echo to an "@" (i.e. TELNET.EXE will be saved as TELNET.EX@).
echo.
echo Please note that only one backup of each file will be saved and if
echo you have any backup copies that you wish to retain, you must back these
echo files up by hand.
echo.
echo WARNING:  To perform this backup, you must have at lease 2.5MB free
echo           (2,500,000 bytes) on the disk drive that contains %TCPBASE%.
echo           There is no error checking to verify if you have enough free
echo           disk space so, YOU MUST ASSURE THAT YOU HAVE ENOUGH ROOM TO
echo           BACKUP THE FILES.
echo.
echo Do you want the previous versions to be saved (Y, N or Q):
%DSK%PUSHD %TCPBASE%
if errorlevel 1 goto QUIT

%DSK%ask Yy Nn Qq
if ERRORLEVEL 3 goto QUIT
if ERRORLEVEL 2 goto REALLYDOCSD
if ERRORLEVEL 1 goto COPYFILES
echo.
echo.
echo ERROR:  Your entry must be Y(es), N(o) or Q(uit)
echo.
goto DOCSD

:COPYFILES

cls

echo.
echo.
echo PLEASE WAIT WHILE THE ORIGINAL FILES ARE BEING BACKED UP....
echo.
echo.

COPY %ETC%\..\BIN\COMPRESS.EXE CP$.EXE>nul

REM
REM Backup Files
REM
REM Backup EXE's
REM
echo .... BOOTP.EXE     -- BOOTP.EX@
if exist BIN\BOOTP.EXE CP$ BIN\BOOTP.EXE BIN\BOOTP.EX@ >nul
echo .... CUSTOM.EXE    -- CUSTOM.EX@
if exist BIN\CUSTOM.EXE CP$ BIN\CUSTOM.EXE BIN\CUSTOM.EX@ >nul
echo .... FINGER.EXE    -- FINGER.EX@
if exist BIN\FINGER.EXE CP$ BIN\FINGER.EXE BIN\FINGER.EX@ >nul
echo .... FTP.EXE       -- FTP.EX@
if exist BIN\FTP.EXE CP$ BIN\FTP.EXE BIN\FTP.EX@ >nul
echo .... FTPP.EXE      -- FTPP.EX@
if exist BIN\FTPP.EXE CP$ BIN\FTPP.EXE BIN\FTPP.EX@ >nul
echo .... FTPD.EXE      -- FTPD.EX@
if exist BIN\FTPD.EXE CP$ BIN\FTPD.EXE BIN\FTPD.EX@ >nul
echo .... IFCONFIG.EXE  -- IFCONFIG.EX@
if exist BIN\IFCONFIG.EXE CP$ BIN\IFCONFIG.EXE BIN\IFCONFIG.EX@ >nul
echo .... INET.EXE      -- INET.EX@
if exist BIN\INET.EXE CP$ BIN\INET.EXE BIN\INET.EX@ >nul
echo .... ROUTED.EXE    -- ROUTED.EX@
if exist BIN\ROUTED.EXE CP$ BIN\ROUTED.EXE BIN\ROUTED.EX@ >nul
echo .... SETCLOCK.EXE  -- SETCLOCK.EX@
if exist BIN\SETCLOCK.EXE CP$ BIN\SETCLOCK.EXE BIN\SETCLOCK.EX@ >nul
echo .... SETTERM.EXE   -- SETTERM.EX@
if exist BIN\SETTERM.EXE CP$ BIN\SETTERM.EXE BIN\SETTERM.EX@ >nul
echo .... SLIP.EXE      -- SLIP.EX@
if exist BIN\SLIP.EXE CP$ BIN\SLIP.EXE BIN\SLIP.EX@ >nul
echo .... SLIPDIAL.EXE  -- SLIPDIAL.EX@
if exist BIN\SLIPDIAL.EXE CP$ BIN\SLIPDIAL.EXE BIN\SLIPDIAL.EX@ >nul
echo .... TCPODI.EXE    -- TCPODI.EX@
if exist BIN\TCPODI.EXE CP$ BIN\TCPODI.EXE BIN\TCPODI.EX@ >nul
echo .... TELNET.EXE    -- TELNET.EX@
if exist BIN\TELNET.EXE CP$ BIN\TELNET.EXE BIN\TELNET.EX@ >nul
echo .... TN3270.EXE    -- TN3270.EX@
if exist BIN\TN3270.EXE CP$ BIN\TN3270.EXE BIN\TN3270.EX@ >nul
echo .... WFTP.EXE      -- WFTP.EX@
if exist BIN\WFTP.EXE CP$ BIN\WFTP.EXE BIN\WFTP.EX@ >nul
echo .... WMAIL.EXE     -- WMAIL.EX@
if exist BIN\WMAIL.EXE CP$ BIN\WMAIL.EXE BIN\WMAIL.EX@ >nul
echo .... WTELNET.EXE   -- WTELNET.EX@
if exist BIN\WTELNET.EXE CP$ BIN\WTELNET.EXE BIN\WTELNET.EX@ >nul
echo .... SETTERM.EXE   -- SETTERM.EX@
if exist BIN\SETTERM.EXE CP$ BIN\SETTERM.EXE BIN\SETTERM.EX@ >nul

REM
REM Backup DLL's
REM
echo .... POP.DLL       -- POP.DL@
if exist BIN\POP.DLL CP$ BIN\POP.DLL BIN\POP.DL@ >nul
echo .... SMTP.DLL      -- SMTP.DL@
if exist BIN\SMTP.DLL CP$ BIN\SMTP.DLL BIN\SMTP.DL@ >nul
echo .... WFTPAPI.DLL   -- WFTPAPI.DL@
if exist BIN\WFTPAPI.DLL CP$ BIN\WFTPAPI.DLL BIN\WFTPAPI.DL@ >nul
echo .... WINSOCK.DLL   -- WINSOCK.DL@
if exist BIN\WINSOCK.DLL CP$ BIN\WINSOCK.DLL BIN\WINSOCK.DL@ >nul

REM
REM Backup BOO's
REM
echo .... DALA2101.BOO  -- DALA2101.BO@
if exist DOC\DALA2101.BOO CP$ DOC\DALA2101.BOO DOC\DALA2101.BO@ >nul
echo .... DALM2001.BOO  -- DALM2001.BO@
if exist DOC\DALM2001.BOO CP$ DOC\DALM2001.BOO DOC\DALM2001.BO@ >nul


REM
REM Backup LST's
REM
echo .... BOOTP.LST     -- BOOTP.LS@
if exist HELP\BOOTP.LST CP$ HELP\BOOTP.LST HELP\BOOTP.LS@ >nul
echo .... FINGER.LST    -- FINGER.LS@
if exist HELP\FINGER.LST CP$ HELP\FINGER.LST HELP\FINGER.LS@ >nul
echo .... FTP.LST       -- FTP.LS@
if exist HELP\FTP.LST CP$ HELP\FTP.LST HELP\FTP.LS@ >nul
echo .... IFCONFIG.LST  -- IFCONFIG.LS@
if exist HELP\IFCONFIG.LST CP$ HELP\IFCONFIG.LST HELP\IFCONFIG.LS@ >nul
echo .... PING.LST      -- PING.LS@
if exist HELP\PING.LST CP$ HELP\PING.LST HELP\PING.LS@ >nul
echo .... SNMPD.LST     -- SNMPD.LS@
if exist HELP\SNMPD.LST CP$ HELP\SNMPD.LST HELP\SNMPD.LS@ >nul

REM
REM Backup HLP's
REM
echo .... CUSTOM.HLP    -- CUSTOM.HL@
if exist HELP\CUSTOM.HLP CP$ HELP\CUSTOM.HLP HELP\CUSTOM.HL@ >nul
echo .... SETTERM.HLP   -- SETTERM.HL@
if exist HELP\SETTERM.HLP CP$ HELP\SETTERM.HLP HELP\SETTERM.HL@ >nul
echo .... WFTP.HLP      -- WFTP.HL@
if exist HELP\WFTP.HLP CP$ HELP\WFTP.HLP HELP\WFTP.HL@ >nul
echo .... WTELNET.HLP   -- WTELNET.HL@
if exist HELP\WTELNET.HLP CP$ HELP\WTELNET.HLP HELP\WTELNET.HL@ >nul
echo .... WLPR.HLP      -- WLPR.HL@
if exist HELP\WLPR.HLP CP$ HELP\WLPR.HLP HELP\WLPR.HL@ >nul
echo .... WMAIL.HLP     -- WMAIL.HL@
if exist HELP\WMAIL.HLP CP$ HELP\WMAIL.HLP HELP\WMAIL.HL@ >nul
echo .... WPING.HLP     -- WPING.HL@
if exist HELP\WPING.HLP CP$ HELP\WPING.HLP HELP\WPING.HL@ >nul

REM
REM Backup DOC's
REM
echo .... SMCREL.DOC    -- SMCREL.DO@
if exist DOC\SMCREL.DOC CP$ DOC\SMCREL.DOC DOC\SMCREL.DO@ >nul

REM
REM Backup MAP's
REM
echo .... INET.MAP      -- INET.MA@
if exist ETC\MAP\INET.MAP CP$ ETC\MAP\INET.MAP ETC\MAP\INET.MA@ >nul
echo .... WINSOCK.MAP   -- WINSOCK.MA@
if exist ETC\MAP\WINSOCK.MAP CP$ ETC\MAP\WINSOCK.MAP ETC\MAP\WINSOCK.MA@ >nul

REM
REM Backup DDI's
REM
echo .... NDIS.DDI      -- NDIS.DD@
if exist ETC\NDIS.DDI CP$ ETC\NDIS.DDI ETC\NDIS.DD@ >nul
echo .... ODI.DDI       -- ODI.DD@
if exist ETC\ODI.DDI CP$ ETC\ODI.DDI ETC\ODI.DD@ >nul

REM
REM Backup SYM's
REM
echo .... INET.SYM      -- INET.SY@
if exist BIN\INET.SYM CP$ BIN\INET.SYM BIN\INET.SY@ >nul

REM
REM Backup FON's
REM
echo .... TCP437.FON    -- TCP437.FO@
if exist BIN\TCP437.FON CP$ BIN\TCP437.FON BIN\TCP437.FO@ >nul
echo .... TCP850.FON    -- TCP850.FO@
if exist BIN\TCP850.FON CP$ BIN\TCP850.FON BIN\TCP850.FO@ >nul

if exist DOC\READ.ME CP$ DOC\READ.ME DOC\READ.ME@ >nul
ERASE CP$.EXE>nul
:REALLYDOCSD

cls

echo.
echo.
echo PLEASE WAIT WHILE THE CSD IS BEING APPLIED....
echo.
echo.

@echo off
COPY %ETC%\..\BIN\DECOMP.EXE DC$.EXE>nul
echo .... %CSDTYPE%CSD.DOC
COPY %DSK%%CSDTYPE%CSD.DOC DOC\%CSDTYPE%CSD.DOC >nul

REM
REM Decompress Disk 1
REM
REM Decompress EXE'S
REM
echo .... CUSTOM.EX#    -- CUSTOM.EXE
DC$ %DSK%CUSTOM.EX#     BIN\CUSTOM.EXE >nul
echo .... FTP.EX#       -- FTP.EXE
DC$ %DSK%FTP.EX#        BIN\FTP.EXE >nul
echo .... FTPD.EX#      -- FTPD.EXE
DC$ %DSK%FTPD.EX#       BIN\FTPD.EXE >nul
echo .... INET.EX#      -- INET.EXE
DC$ %DSK%INET.EX#       BIN\INET.EXE >nul
echo .... ROUTED.EX#    -- ROUTED.EXE
DC$ %DSK%ROUTED.EX#     BIN\ROUTED.EXE >nul
echo .... SLIP.EX#      -- SLIP.EXE
DC$ %DSK%SLIP.EX#       BIN\SLIP.EXE >nul
echo .... SLIPDIAL.EX#  -- SLIPDIAL.EXE
DC$ %DSK%SLIPDIAL.EX#   BIN\SLIPDIAL.EXE >nul
echo .... TCPODI.EX#    -- TCPODI.EXE
DC$ %DSK%TCPODI.EX#     BIN\TCPODI.EXE >nul
echo .... TELNET.EX#    -- TELNET.EXE
DC$ %DSK%TELNET.EX#     BIN\TELNET.EXE >nul
echo .... TN3270.EX#    -- TN3270.EXE
DC$ %DSK%TN3270.EX#     BIN\TN3270.EXE >nul
echo .... WFTP.EX#      -- WFTP.EXE
DC$ %DSK%WFTP.EX#       BIN\WFTP.EXE >nul
echo .... WMAIL.EX#     -- WMAIL.EXE
DC$ %DSK%WMAIL.EX#      BIN\WMAIL.EXE >nul
echo .... WTELNET.EX#   -- WTELNET.EXE
DC$ %DSK%WTELNET.EX#    BIN\WTELNET.EXE >nul
echo .... SETTERM.EX#   -- SETTERM.EXE
DC$ %DSK%SETTERM.EX#    BIN\SETTERM.EXE >nul

@echo off
echo.
echo.
echo.
echo Please insert TCPCSD Diskette 2.
pause
echo.
@echo off

REM
REM Decompress Disk 2
REM
REM Decompress EXE'S
REM
echo .... BOOTP.EX#     -- BOOTP.EXE
DC$ %DSK%BOOTP.EX#      BIN\BOOTP.EXE >nul
echo .... FINGER.EX#    -- FINGER.EXE
DC$ %DSK%FINGER.EX#     BIN\FINGER.EXE >nul
echo .... IFCONFIG.EX#  -- IFCONFIG.EXE
DC$ %DSK%IFCONFIG.EX#   BIN\IFCONFIG.EXE >nul
echo .... FTPP.EX#      -- FTPP.EXE
DC$ %DSK%FTPP.EX#       BIN\FTPP.EXE >nul
echo .... SETCLOCK.EX#  -- SETCLOCK.EXE
DC$ %DSK%SETCLOCK.EX#   BIN\SETCLOCK.EXE >nul
echo .... SETTERM.EX#   -- SETTERM.EXE
DC$ %DSK%SETTERM.EX#    BIN\SETTERM.EXE >nul

REM
REM Decompress DLL'S
REM
echo .... POP.DL#       -- POP.DLL
DC$ %DSK%POP.DL#        BIN\POP.DLL >nul
echo .... SMTP.DL#      -- SMTP.DLL
DC$ %DSK%SMTP.DL#       BIN\SMTP.DLL >nul
echo .... WFTPAPI.DL#   -- WFTPAPI.DLL
DC$ %DSK%WFTPAPI.DL#    BIN\WFTPAPI.DLL >nul
echo .... WINSOCK.DL#   -- WINSOCK.DLL
DC$ %DSK%WINSOCK.DL#    BIN\WINSOCK.DLL >nul

:DCLST

REM
REM Decompress LST'S
REM
echo .... BOOTP.LS#     -- BOOTP.LST
DC$ %DSK%BOOTP.LS#      HELP\BOOTP.LST >nul
echo .... FINGER.LS#    -- FINGER.LST
DC$ %DSK%FINGER.LS#     HELP\FINGER.LST >nul
echo .... FTP.LS#       -- FTP.LST
DC$ %DSK%FTP.LS#        HELP\FTP.LST >nul
echo .... IFCONFIG.LS#  -- IFCONFIG.LST
DC$ %DSK%IFCONFIG.LS#   HELP\IFCONFIG.LST >nul
echo .... PING.LS#      -- PING.LST
DC$ %DSK%PING.LS#       HELP\PING.LST >nul
echo .... SNMPD.LS#     -- SNMPD.LST
DC$ %DSK%SNMPD.LS#      HELP\SNMPD.LST >nul

REM
REM Decompress HLP'S
REM
echo .... CUSTOM.HL#    -- CUSTOM.HLP
DC$ %DSK%CUSTOM.HL#     HELP\CUSTOM.HLP >nul
echo .... SETTERM.HL#   -- SETTERM.HLP
DC$ %DSK%SETTERM.HL#    HELP\SETTERM.HLP >nul
echo .... WFTP.HL#      -- WFTP.HLP
DC$ %DSK%WFTP.HL#       HELP\WFTP.HLP >nul
echo .... WTELNET.HL#   -- WTELNET.HLP
DC$ %DSK%WTELNET.HL#    HELP\WTELNET.HLP >nul
echo .... WLPR.HL#      -- WLPR.HLP
DC$ %DSK%WLPR.HL#       HELP\WLPR.HLP >nul
echo .... WMAIL.HL#     -- WMAIL.HLP
DC$ %DSK%WMAIL.HL#      HELP\WMAIL.HLP >nul
echo .... WPING.HL#     -- WPING.HLP
DC$ %DSK%WPING.HL#      HELP\WPING.HLP >nul

REM
REM Decompress DOC'S
REM
if not exist DOC\nul md DOC
echo .... SMCREL.DO#    -- SMCREL.DOC
DC$ %DSK%SMCREL.DO#     DOC\SMCREL.DOC >nul

REM
REM Decompress MAP'S
REM
if not exist ETC\MAPS\nul md ETC\MAPS
echo .... INET.MA#      -- INET.MAP
DC$ %DSK%INET.MA#       ETC\MAPS\INET.MAP >nul
echo .... WINSOCK.MA#   -- WINSOCK.MAP
DC$ %DSK%WINSOCK.MA#    ETC\MAPS\WINSOCK.MAP >nul

REM
REM Decompress DDI'S
REM
echo .... NDIS.DD#      -- NDIS.DDI
DC$ %DSK%NDIS.DD#       ETC\NDIS.DDI >nul
echo .... ODI.DD#       -- ODI.DDI
DC$ %DSK%ODI.DD#        ETC\ODI.DDI >nul

REM
REM Decompress SYM'S
REM
echo .... INET.SY#      -- INET.SYM
DC$ %DSK%INET.SY#       BIN\INET.SYM >nul

REM
REM Decompress FON'S
REM
echo .... TCP437.FO#    -- TCP437.FON
DC$ %DSK%TCP437.FO#     BIN\TCP437.FON >nul
echo .... TCP850.FO#    -- TCP850.FON
DC$ %DSK%TCP850.FO#     BIN\TCP850.FON >nul

:BOOKS
REM
REM Decompress BOO'S
REM
echo.
echo.
echo This CSD contains updated copies of the on-line books, TCP/IP for DOS
echo User's Guide and the TCP/IP for DOS Command Reference.
echo Do you want to install these at this time?  (Y, N or Q):
%DSK%ask Yy Nn Qq
if ERRORLEVEL 3 goto QUIT
if ERRORLEVEL 2 goto BOOKSKIP
if ERRORLEVEL 1 goto DCDOC
echo.
echo.
echo ERROR:  Your entry must be Y(es), N(o) or Q(uit)
echo.
goto BOOKS

:DCDOC

if not exist DOC\nul md DOC
echo .... DALA2101.BO#  -- DALA2101.BOO
DC$ %DSK%DALA2101.BO#   DOC\DALA2101.BOO >nul
echo .... DALM2001.BO#  -- DALM2001.BOO
DC$ %DSK%DALM2001.BO#   DOC\DALM2001.BOO >nul


:BOOKSKIP

ERASE DC$.EXE>nul

echo.
echo.
cls
echo.
echo The Corrective Service has been installed correctly...
echo.
if not exist DOC\%CSDTYPE%CSD.DOC goto nocsddoc
echo Please look at the file DOC\%CSDTYPE%CSD.DOC to see what has been
echo fixed in this CSD.
:nocsddoc
echo.
echo.

:installed
%DSK%TCPSETV %CSDNO%
call POPD$
ERASE %TCPBASE%\POPD$.BAT>nul
echo CSD %CSDNO% is installed.

:QUIT
SET DSK=
SET ODSK=
SET D=
