diff options
-rw-r--r-- | INSTALL | 6 | ||||
-rw-r--r-- | config-win32.h.in | 2 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | install-win32/GetWindowsVersion.nsi | 109 | ||||
-rwxr-xr-x | install-win32/openvpn.nsi.in | 52 | ||||
-rwxr-xr-x | install-win32/prebuild | 29 | ||||
-rwxr-xr-x | service-win32/service.patch | 2 | ||||
-rwxr-xr-x | tap-win32/SOURCES | 6 | ||||
-rwxr-xr-x | tap-win32/amd64/OemWin2k.inf | 54 | ||||
-rwxr-xr-x | tap-win32/common.h | 2 | ||||
-rwxr-xr-x | tap-win32/constants.h | 2 | ||||
-rwxr-xr-x | tap-win32/i386/OemWin2k.inf | 54 |
12 files changed, 232 insertions, 88 deletions
@@ -323,7 +323,7 @@ I had to edit the file OemWin2k.inf and change the Manufactured + Product Section to: [Manufacturer] - %Provider% = tap0801, NTamd64 + %Provider% = tap0901, NTamd64 -[tap0801.NTamd64] - %DeviceDescription% = tap0801.ndi, tap0801 +[tap0901.NTamd64] + %DeviceDescription% = tap0901.ndi, tap0901 diff --git a/config-win32.h.in b/config-win32.h.in index 502c6ae..20ed726 100644 --- a/config-win32.h.in +++ b/config-win32.h.in @@ -59,7 +59,7 @@ typedef unsigned long in_addr_t; * * The TAP-Win32 version number is defined in tap-win32/SOURCES */ -#define TAP_WIN32_MIN_MAJOR 8 +#define TAP_WIN32_MIN_MAJOR 9 #define TAP_WIN32_MIN_MINOR 1 /* Allow --askpass and --auth-user-pass passwords to be read from a file */ diff --git a/configure.ac b/configure.ac index cac1e11..e3189e1 100644 --- a/configure.ac +++ b/configure.ac @@ -25,7 +25,7 @@ dnl Process this file with autoconf to produce a configure script. AC_PREREQ(2.50) -AC_INIT([OpenVPN], [2.1_rc1c], [openvpn-users@lists.sourceforge.net], [openvpn]) +AC_INIT([OpenVPN], [2.1_rc1d], [openvpn-users@lists.sourceforge.net], [openvpn]) AM_CONFIG_HEADER(config.h) AC_CONFIG_SRCDIR(syshead.h) diff --git a/install-win32/GetWindowsVersion.nsi b/install-win32/GetWindowsVersion.nsi new file mode 100644 index 0000000..103caff --- /dev/null +++ b/install-win32/GetWindowsVersion.nsi @@ -0,0 +1,109 @@ +; Turn off old selected section +; GetWindowsVersion +; +; Based on Yazno's function +; Updated by Joost Verburg +; Updated for Windows 98 SE by Matthew Win Tibbals 5-21-03 +; Updated for Vista by Joe Cincotta 12-2-07 +; +; Returns on top of stack +; +; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003, VISTA) +; or +; '' (Unknown Windows Version) +; +; Usage: +; Call GetWindowsVersion +; Pop $R0 +; ; at this point $R0 is "NT 4.0" or whatnot +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Function GetWindowsVersion + + Push $R0 + Push $R1 + + ClearErrors + + ReadRegStr $R0 HKLM \ + "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion + + IfErrors 0 lbl_winnt + + ; we are not NT + ReadRegStr $R0 HKLM \ + "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber + + StrCpy $R1 $R0 1 + StrCmp $R1 '4' 0 lbl_error + + StrCpy $R1 $R0 3 + + StrCmp $R1 '4.0' lbl_win32_95 + StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98 + + lbl_win32_95: + StrCpy $R0 '95' + Goto lbl_done + + lbl_win32_98: +;;beginning of additions to support win 98 SE + push $R0 + push "." + call strstr + pop $R0 + StrCpy $R0 $R0 "" 1 + StrCmp $R0 "10.2222" lbl_win32_98SE + StrCpy $R0 '98' ;;this line was not added + Goto lbl_done ;;this line was not added either + + lbl_win32_98SE: + StrCpy $R0 '98 SE' + Goto lbl_done +;;end of additions to support win 98 SE + lbl_win32_ME: + StrCpy $R0 'ME' + Goto lbl_done + + lbl_winnt: + + StrCpy $R1 $R0 1 + + StrCmp $R1 '3' lbl_winnt_x + StrCmp $R1 '4' lbl_winnt_x + + StrCpy $R1 $R0 3 + + StrCmp $R1 '5.0' lbl_winnt_2000 + StrCmp $R1 '5.1' lbl_winnt_XP + StrCmp $R1 '5.2' lbl_winnt_2003 + StrCmp $R1 '6.0' lbl_winnt_VISTA lbl_error + + lbl_winnt_x: + StrCpy $R0 "NT $R0" 6 + Goto lbl_done + + lbl_winnt_2000: + Strcpy $R0 '2000' + Goto lbl_done + + lbl_winnt_XP: + Strcpy $R0 'XP' + Goto lbl_done + + lbl_winnt_2003: + Strcpy $R0 '2003' + Goto lbl_done + + lbl_winnt_VISTA: + Strcpy $R0 'VISTA' + Goto lbl_done + + lbl_error: + Strcpy $R0 '' + lbl_done: + + Pop $R1 + Exch $R0 + +FunctionEnd +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/install-win32/openvpn.nsi.in b/install-win32/openvpn.nsi.in index 9a5b47a..8c24158 100755 --- a/install-win32/openvpn.nsi.in +++ b/install-win32/openvpn.nsi.in @@ -9,6 +9,7 @@ !include "MUI.nsh" !include "setpath.nsi" +!include "GetWindowsVersion.nsi" !define HOME ".." !define BIN "${HOME}\bin" @@ -16,7 +17,7 @@ !define PRODUCT_NAME "OpenVPN" !define VERSION "@VERSION@" # AUTO_VERSION -!define TAP "tap0801" +!define TAP "tap0901" !define TAPDRV "${TAP}.sys" ; something like "-DBG2" @@ -168,6 +169,8 @@ FunctionEnd Function .onInit ClearErrors + +# Verify that user has admin privs UserInfo::GetName IfErrors ok Pop $R0 @@ -177,6 +180,35 @@ Function .onInit Messagebox MB_OK "Administrator privileges required to install OpenVPN [$R0/$R1]" Abort ok: + + Call GetWindowsVersion + Pop $1 + StrCmp $1 "2000" goodwinver + StrCmp $1 "XP" goodwinver + StrCmp $1 "2003" goodwinver + StrCmp $1 "VISTA" goodwinver + + Messagebox MB_OK "Sorry, OpenVPN does not currently support Windows $1" + Abort + +goodwinver: + System::Call "kernel32::GetCurrentProcess() i .s" + System::Call "kernel32::IsWow64Process(i s, *i .r0)" + IntCmp $0 0 init32bits + + ; we are running on 64-bit windows + StrCmp $1 "VISTA" vista64bummer + + Messagebox MB_OK "Sorry, OpenVPN doesn't currently support 64-bit Windows." + Abort + +vista64bummer: + + Messagebox MB_OK "Sorry, OpenVPN doesn't currently support 64-bit Vista because Microsoft doesn't allow the installation of 64 bit unsigned drivers." + Abort + +init32bits: + FunctionEnd !define SF_SELECTED 1 @@ -290,13 +322,15 @@ Section "TAP-Win32 Virtual Ethernet Adapter" SecTAP DetailPrint "We are running on a 64-bit system." SetOutPath "$INSTDIR\bin" - File "${BIN}\ti3790-amd64\tapinstall.exe" + +; File "${BIN}\ti3790-amd64\tapinstall.exe" SetOutPath "$INSTDIR\driver" - File "${HOME}\tap-win32\amd64\OemWin2k.inf" - File "${HOME}\tap-win32\amd64\${TAPDRV}" - goto tapend +; File "${HOME}\tap-win32\amd64\OemWin2k.inf" +; File "${HOME}\tap-win32\amd64\${TAPDRV}" + +goto tapend tap-32bit: @@ -382,12 +416,10 @@ Section -post tapinstall: DetailPrint "TAP-Win32 REMOVE OLD TAP" - nsExec::ExecToLog '"$INSTDIR\bin\tapinstall.exe" remove TAP' - Pop $R0 # return value/error/timeout - DetailPrint "tapinstall remove TAP returned: $R0" - nsExec::ExecToLog '"$INSTDIR\bin\tapinstall.exe" remove TAPDEV' + + nsExec::ExecToLog '"$INSTDIR\bin\tapinstall.exe" remove TAP0801' Pop $R0 # return value/error/timeout - DetailPrint "tapinstall remove TAPDEV returned: $R0" + DetailPrint "tapinstall remove TAP0801 returned: $R0" DetailPrint "TAP-Win32 INSTALL (${TAP})" nsExec::ExecToLog '"$INSTDIR\bin\tapinstall.exe" install "$INSTDIR\driver\OemWin2k.inf" ${TAP}' diff --git a/install-win32/prebuild b/install-win32/prebuild index b4cb00b..95b93de 100755 --- a/install-win32/prebuild +++ b/install-win32/prebuild @@ -28,11 +28,10 @@ LZO=$H/lzo-2.02 # dmalloc. DMALLOC=$H/dmalloc-5.4.2 -# TAP binaries should be here: tap0801.sys and tapinstall.exe +# TAP binaries should be here: tap0901.sys and tapinstall.exe # These must be built with MS DDK. -TAPBIN=$H/tapbin-0804 -TAPBIN64=$H/tapbin64-0801 -#TAPBIN64=$H/tapbin64-0804 +TAPBIN=$H/tapbin-0901 +#TAPBIN64=$H/tapbin64-0901 # u2d.c should exist here. SCRIPTS=$IN/install-win32 @@ -86,6 +85,7 @@ mkdir $OUT/install-win32 cp $IN/install-win32/openvpn.nsi $OUT/install-win32 cp $IN/install-win32/setpath.nsi $OUT/install-win32 +cp $IN/install-win32/GetWindowsVersion.nsi $OUT/install-win32 cp $IN/images/install-whirl.bmp $OUT/install-win32 cp $IN/images/openvpn.ico $OUT/install-win32 cp $IN/INSTALL-win32.txt $OUT/install-win32 @@ -107,18 +107,17 @@ cp $IN/tap-win32/SOURCES $OUT/tap-win32 mkdir $OUT/tap-win32/i386 cp $IN/tap-win32/i386/OemWin2k.inf $OUT/tap-win32/i386 cp $IN/tap-win32/i386/tap.cat $OUT/tap-win32/i386 -cp $TAPBIN/tap0801.sys $OUT/tap-win32/i386 +cp $TAPBIN/tap0901.sys $OUT/tap-win32/i386 -mkdir $OUT/tap-win32/amd64 -cp $TAPBIN64/OemWin2k.inf $OUT/tap-win32/amd64 -#cp $IN/tap-win32/amd64/OemWin2k.inf $OUT/tap-win32/amd64 -cp $IN/tap-win32/amd64/tap.cat $OUT/tap-win32/amd64 -cp $TAPBIN64/tap0801.sys $OUT/tap-win32/amd64 +#mkdir $OUT/tap-win32/amd64 +#cp $TAPBIN64/OemWin2k.inf $OUT/tap-win32/amd64 +#cp $IN/tap-win32/amd64/tap.cat $OUT/tap-win32/amd64 +#cp $TAPBIN64/tap0901.sys $OUT/tap-win32/amd64 mkdir $OUT/bin/ti3790-i386 cp $TAPBIN/tapinstall.exe $OUT/bin/ti3790-i386 -mkdir $OUT/bin/ti3790-amd64 -cp $TAPBIN64/tapinstall.exe $OUT/bin/ti3790-amd64 +#mkdir $OUT/bin/ti3790-amd64 +#cp $TAPBIN64/tapinstall.exe $OUT/bin/ti3790-amd64 echo BUILD service-win32 @@ -133,7 +132,11 @@ cp $OUT/service-win32/service.h $OUT/service-win32/service.h.orig cp $OUT/service-win32/service.c $OUT/service-win32/service.c.orig pushd $OUT/service-win32 -patch <service.patch + +# Vista security theatre +cp `which patch` p.exe + +./p <service.patch popd echo BUILD easy-rsa diff --git a/service-win32/service.patch b/service-win32/service.patch index 8de38eb..3b45549 100755 --- a/service-win32/service.patch +++ b/service-win32/service.patch @@ -335,7 +335,7 @@ +#define SZSERVICEDISPLAYNAME "OpenVPN Service" // list of service dependencies - "dep1\0dep2\0\0" -#define SZDEPENDENCIES "" -+#define SZDEPENDENCIES "TAP0801\0Dhcp\0\0" ++#define SZDEPENDENCIES "TAP0901\0Dhcp\0\0" ////////////////////////////////////////////////////////////////////////////// diff --git a/tap-win32/SOURCES b/tap-win32/SOURCES index 4d6cdee..faddb0c 100755 --- a/tap-win32/SOURCES +++ b/tap-win32/SOURCES @@ -4,7 +4,7 @@ MAJORCOMP=ntos MINORCOMP=ndis -TARGETNAME=tap0801 +TARGETNAME=tap0901 TARGETTYPE=DRIVER TARGETPATH=. TARGETLIBS=$(DDK_LIB_PATH)\ndis.lib $(DDK_LIB_PATH)\ntstrsafe.lib @@ -14,8 +14,8 @@ INCLUDES=$(DDK_INCLUDE_PATH) # TAP_WIN32_MIN_x values defined in # config-win32.h C_DEFINES= -C_DEFINES=$(C_DEFINES) -DTAP_DRIVER_MAJOR_VERSION=8 -C_DEFINES=$(C_DEFINES) -DTAP_DRIVER_MINOR_VERSION=4 +C_DEFINES=$(C_DEFINES) -DTAP_DRIVER_MAJOR_VERSION=9 +C_DEFINES=$(C_DEFINES) -DTAP_DRIVER_MINOR_VERSION=1 # Use 00:FF:XX:XX:XX:XX format MAC addresses where # the Xs are random (like Linux tap driver). diff --git a/tap-win32/amd64/OemWin2k.inf b/tap-win32/amd64/OemWin2k.inf index 68879bd..2315fee 100755 --- a/tap-win32/amd64/OemWin2k.inf +++ b/tap-win32/amd64/OemWin2k.inf @@ -11,9 +11,9 @@ ; OUTPUT -> file:///c:/WINDDK/3790/tools/chkinf/htm/c%23+src+openvpn+tap-win32+i386+__OemWin2k.htm ; INSTALL/REMOVE DRIVER -; tapinstall install OemWin2k.inf TAP0801 -; tapinstall update OemWin2k.inf TAP0801 -; tapinstall remove TAP0801 +; tapinstall install OemWin2k.inf TAP0901 +; tapinstall update OemWin2k.inf TAP0901 +; tapinstall remove TAP0901 ;********************************************************* ; Note to Developers: @@ -51,20 +51,20 @@ ; This version number should match the version ; number given in SOURCES. - DriverVer=09/13/2006,8.00.00.0004 + DriverVer=02/27/2007,9.00.00.0001 [Strings] - DeviceDescription = "TAP-Win32 Adapter V8" - Provider = "TAP-Win32 Provider" + DeviceDescription = "TAP-Win32 Adapter V9" + Provider = "TAP-Win32 Provider V9" ;---------------------------------------------------------------- ; Manufacturer + Product Section (Done) ;---------------------------------------------------------------- [Manufacturer] - %Provider% = tap0801, NTamd64 + %Provider% = tap0901, NTamd64 -[tap0801.NTamd64] - %DeviceDescription% = tap0801.ndi, tap0801 +[tap0901.NTamd64] + %DeviceDescription% = tap0901.ndi, tap0901 ;--------------------------------------------------------------- ; Driver Section (Done) @@ -79,23 +79,23 @@ ; NCF_HAS_UI = 0x80 ;----------------- Characteristics ------------ -[tap0801.ndi] - CopyFiles = tap0801.driver, tap0801.files - AddReg = tap0801.reg - AddReg = tap0801.params.reg +[tap0901.ndi] + CopyFiles = tap0901.driver, tap0901.files + AddReg = tap0901.reg + AddReg = tap0901.params.reg Characteristics = 0x81 -[tap0801.ndi.Services] - AddService = tap0801, 2, tap0801.service +[tap0901.ndi.Services] + AddService = tap0901, 2, tap0901.service -[tap0801.reg] - HKR, Ndi, Service, 0, "tap0801" +[tap0901.reg] + HKR, Ndi, Service, 0, "tap0901" HKR, Ndi\Interfaces, UpperRange, 0, "ndis5" HKR, Ndi\Interfaces, LowerRange, 0, "ethernet" HKR, , Manufacturer, 0, "%Provider%" HKR, , ProductName, 0, "%DeviceDescription%" -[tap0801.params.reg] +[tap0901.params.reg] HKR, Ndi\params\MTU, ParamDesc, 0, "MTU" HKR, Ndi\params\MTU, Type, 0, "int" HKR, Ndi\params\MTU, Default, 0, "1500" @@ -136,13 +136,13 @@ ; SERVICE_DISABLED = 0x4 ;---------- Start Mode --------------- -[tap0801.service] +[tap0901.service] DisplayName = %DeviceDescription% ServiceType = 1 StartType = 3 ErrorControl = 1 LoadOrderGroup = NDIS - ServiceBinary = %12%\tap0801.sys + ServiceBinary = %12%\tap0901.sys ;----------------------------------------------------------------- ; File Installation @@ -158,25 +158,25 @@ ; 1 = "Intel Driver Disk 1",e100bex.sys,, [SourceDisksNames] - 1 = %DeviceDescription%, tap0801.sys + 1 = %DeviceDescription%, tap0901.sys ; SourceDisksFiles ; filename_on_source = diskID[, [subdir][, size]] ; e100bex.sys = 1,, ; on distribution disk 1 [SourceDisksFiles] -tap0801.sys = 1 +tap0901.sys = 1 [DestinationDirs] - tap0801.files = 11 - tap0801.driver = 12 + tap0901.files = 11 + tap0901.driver = 12 -[tap0801.files] +[tap0901.files] ; TapPanel.cpl,,,6 ; COPYFLG_NOSKIP | COPYFLG_NOVERSIONCHECK ; cipsrvr.exe,,,6 ; COPYFLG_NOSKIP | COPYFLG_NOVERSIONCHECK -[tap0801.driver] - tap0801.sys,,,6 ; COPYFLG_NOSKIP | COPYFLG_NOVERSIONCHECK +[tap0901.driver] + tap0901.sys,,,6 ; COPYFLG_NOSKIP | COPYFLG_NOVERSIONCHECK ;--------------------------------------------------------------- ; End diff --git a/tap-win32/common.h b/tap-win32/common.h index 3c183c2..5aaab20 100755 --- a/tap-win32/common.h +++ b/tap-win32/common.h @@ -79,4 +79,4 @@ // simultaneously. //========================================================= -#define TAP_COMPONENT_ID "tap0801" +#define TAP_COMPONENT_ID "tap0901" diff --git a/tap-win32/constants.h b/tap-win32/constants.h index 37c1335..6a5c760 100755 --- a/tap-win32/constants.h +++ b/tap-win32/constants.h @@ -30,7 +30,7 @@ // Product and Version public settings //==================================================================== -#define PRODUCT_STRING "TAP-Win32 Adapter V8" +#define PRODUCT_STRING "TAP-Win32 Adapter V9" #define TAP_NDIS_MAJOR_VERSION 5 #define TAP_NDIS_MINOR_VERSION 0 diff --git a/tap-win32/i386/OemWin2k.inf b/tap-win32/i386/OemWin2k.inf index 219b4ca..c8316af 100755 --- a/tap-win32/i386/OemWin2k.inf +++ b/tap-win32/i386/OemWin2k.inf @@ -11,9 +11,9 @@ ; OUTPUT -> file:///c:/WINDDK/3790/tools/chkinf/htm/c%23+src+openvpn+tap-win32+i386+__OemWin2k.htm ; INSTALL/REMOVE DRIVER -; tapinstall install OemWin2k.inf TAP0801 -; tapinstall update OemWin2k.inf TAP0801 -; tapinstall remove TAP0801 +; tapinstall install OemWin2k.inf TAP0901 +; tapinstall update OemWin2k.inf TAP0901 +; tapinstall remove TAP0901 ;********************************************************* ; Note to Developers: @@ -51,20 +51,20 @@ ; This version number should match the version ; number given in SOURCES. - DriverVer=09/13/2006,8.00.00.0004 + DriverVer=02/27/2007,9.00.00.0001 [Strings] - DeviceDescription = "TAP-Win32 Adapter V8" - Provider = "TAP-Win32 Provider" + DeviceDescription = "TAP-Win32 Adapter V9" + Provider = "TAP-Win32 Provider V9" ;---------------------------------------------------------------- ; Manufacturer + Product Section (Done) ;---------------------------------------------------------------- [Manufacturer] - %Provider% = tap0801 + %Provider% = tap0901 -[tap0801] - %DeviceDescription% = tap0801.ndi, tap0801 +[tap0901] + %DeviceDescription% = tap0901.ndi, tap0901 ;--------------------------------------------------------------- ; Driver Section (Done) @@ -79,23 +79,23 @@ ; NCF_HAS_UI = 0x80 ;----------------- Characteristics ------------ -[tap0801.ndi] - CopyFiles = tap0801.driver, tap0801.files - AddReg = tap0801.reg - AddReg = tap0801.params.reg +[tap0901.ndi] + CopyFiles = tap0901.driver, tap0901.files + AddReg = tap0901.reg + AddReg = tap0901.params.reg Characteristics = 0x81 -[tap0801.ndi.Services] - AddService = tap0801, 2, tap0801.service +[tap0901.ndi.Services] + AddService = tap0901, 2, tap0901.service -[tap0801.reg] - HKR, Ndi, Service, 0, "tap0801" +[tap0901.reg] + HKR, Ndi, Service, 0, "tap0901" HKR, Ndi\Interfaces, UpperRange, 0, "ndis5" HKR, Ndi\Interfaces, LowerRange, 0, "ethernet" HKR, , Manufacturer, 0, "%Provider%" HKR, , ProductName, 0, "%DeviceDescription%" -[tap0801.params.reg] +[tap0901.params.reg] HKR, Ndi\params\MTU, ParamDesc, 0, "MTU" HKR, Ndi\params\MTU, Type, 0, "int" HKR, Ndi\params\MTU, Default, 0, "1500" @@ -136,13 +136,13 @@ ; SERVICE_DISABLED = 0x4 ;---------- Start Mode --------------- -[tap0801.service] +[tap0901.service] DisplayName = %DeviceDescription% ServiceType = 1 StartType = 3 ErrorControl = 1 LoadOrderGroup = NDIS - ServiceBinary = %12%\tap0801.sys + ServiceBinary = %12%\tap0901.sys ;----------------------------------------------------------------- ; File Installation @@ -158,25 +158,25 @@ ; 1 = "Intel Driver Disk 1",e100bex.sys,, [SourceDisksNames] - 1 = %DeviceDescription%, tap0801.sys + 1 = %DeviceDescription%, tap0901.sys ; SourceDisksFiles ; filename_on_source = diskID[, [subdir][, size]] ; e100bex.sys = 1,, ; on distribution disk 1 [SourceDisksFiles] -tap0801.sys = 1 +tap0901.sys = 1 [DestinationDirs] - tap0801.files = 11 - tap0801.driver = 12 + tap0901.files = 11 + tap0901.driver = 12 -[tap0801.files] +[tap0901.files] ; TapPanel.cpl,,,6 ; COPYFLG_NOSKIP | COPYFLG_NOVERSIONCHECK ; cipsrvr.exe,,,6 ; COPYFLG_NOSKIP | COPYFLG_NOVERSIONCHECK -[tap0801.driver] - tap0801.sys,,,6 ; COPYFLG_NOSKIP | COPYFLG_NOVERSIONCHECK +[tap0901.driver] + tap0901.sys,,,6 ; COPYFLG_NOSKIP | COPYFLG_NOVERSIONCHECK ;--------------------------------------------------------------- ; End |