Release Notes For TJPing 1.7 TJPing by Jim Dunne. Copyright © 1996-1997. All Rights Reserved. Jim Dunne 8651 Silver Quail San Antonio, TX 78250 jdunne@txdirect.net 210-520-3272 INSTALLING: Files included: TJPING.EXE TJPING.TXT Win 95/NT 4.0: UnZip the contents of TJPING1_7.ZIP to a temporary directory. Double-click on "Setup.exe" to start the setup program. The default installation directory is C:\Program Files\TJPing. Setup will create a folder with a user specified name that contains the TJPing files. NT 3.51: Open TJPING1_7.EXE. Click on "UnZip" to extract the TJPING.EXE and TJPING.TXT files to the "C:\Program Files\TJPing" directory, or specify a different directory in the "UnZip to Folder" box. Open the extracted TJPING.EXE to run the program. UNINSTALLING: Win 95/NT 4.0: Go to the Control Panel, then open Add/Remove Programs. Select TJPing and then click on the Add/Remove button. NT 3.51: Manually remove the directory where the TJPing files are located. VERSION HISTORY: v. 1.7 - June 18, 1997 - Allows packet sizes up to 5000 bytes. - NT and Win 95 now look and function identically. - Replaced status window with a Rich Edit box - now allows color and unlimited text entry, vs. black and white and 32k text limit on old box. Right mouse button doesn't function yet in new status window (I'm working on it!), but all accelerator keys (i.e. Ctrl + C for copy, etc.) function. - Allows user to specify the Don't Fragment Packets option - this keeps packets together, provided the packet is equal to or smaller than the Maximum Transmission Units (MTU) specified for your machine. This is usually 1500 bytes. If the packet is bigger than this, you will get an error message. - Allows up to 99 packets to be sent at a time. - Log is now time/date-stamped every time the log is enabled - not just at startup. v. 1.6 - June 3, 1997 - User can manually set packet data - the data size edit box automatically adjusts to reflect the packet data size. - Allows logging. User can set the log file name. - Allows user to look at the data returned by the host, if desired. - User can now delete the current host only, if desired. - Can warn user before deleting any or all entries - user sets this option. - Modifies pre 1.5 Registry entries to current format on startup. - Opened # of Packets and Timeout edit boxes for direct user entry. - # of Packets limit increased to 50. # of Hops increased to 255. v. 1.51 - May 21, 1997 - Packet size restricted to 285 bytes - temporary fix for memory problem when size exceeds 286 bytes. - Timeout increased to up to 99 seconds v. 1.5 - May 12, 1997 - Now displays all IP addresses on Lookup (for example, www.microsoft.com has 13 IP addresses). - Finds DNS aliases (for example, www1.sausage.com has alias name www.sausage.com) - Reworked all Registry access code - now remembers unlimited number of hosts. - Changed "Clear All Hosts" to "Delete All Hosts". v. 1.4 - May 9, 1997 - Program now installs using WinZip Self-Extractor - Enters the last Host used from the previous session to the "Host:" box in the new session. - Remembers last 30 hosts from session to session, up from 10. - "Clear All Hosts" button added - deletes all entries from "Hosts:" box and from the registry - Fixed a problem where short IP addresses would cause the RTT and DNS Name columns to not line up when doing a Trace. - Explicit "Ctrl" accelerator key coding disabled for NT, which doesn't need it. - Fixed a memory leak when using the "Exit" pushbutton on the main dialog screen. v. 1.3 - May 4, 1997 - Now allows keyboard Cut/Copy/Paste/Undo operations on the Host and results boxes by using the Ctrl key (i.e. "Ctrl+C" for Copy). - When performing a traceroute, the "Contacting host..." line now displays the IP address (and the DNS name, if a DNS name is entered by the user originally). v. 1.21 - April 27, 1997 - Fixed a bug with the status box where new text was being entered at the site of the last edit instead of at the end of the box. v. 1.2 - April 26, 1997 - The results text in the status box is now editable. v. 1.1 - Jan 23, 1997: - Program now opens maximized on startup Jan 13, 1997: - Fixed scrolling problem in status list box under NT 3.51 Jan 7, 1997: - Function buttons are disabled until a successful local lookup is done on startup - OS Version is no longer displayed on the status screen at startup - Under NT, the main menu is without the "Set Options" item Dec 20, 1996: - Main title changed to reflect the version number - Now detects the operating system and makes adjustments for NT - Corrected button tab order - Now allows tracing when a host can't be reached DISCLAIMER: This program is freeware and is distributed in the public domain "as is". No guarantee is made about the program. Although the author has tested it on Win 95 and Win NT platforms, users use it at their own risk. The author will not be liable for any actual or claimed damages arising from the use of this program. RESTRICTIONS: Anybody can use TJPing - it's freeware. All I ask is that you don't decompile, disassemble, reverse-engineer, or sell it. COMPATIBILITY AND REQUIREMENTS: TJPing has been tested on: Win 95 - Winsocks v. 1.1 and WSock32 v. 2.2 NT 3.51 - Winsock v. 1.1 NT 4.0 - Winsock v. 2.0 TJPing requires that the file ICMP.DLL be installed in the c:\windows\system or c:\winnt\system32 directory, depending on whether you're running Win 95 or NT. This file is automatically installed by Win 95 and NT 3.5x and 4.0. LOGGING: If you choose to use the default log file, "TJPlog.txt", this file will be placed in the same directory as TJPING.EXE. You can specify any valid directory/file path, such as "C:\Temp\mylog.txt", and the file will be placed there. Only valid file names will function properly - for instance, "/TJPlog.txt" is not a valid file name. PING: TJPing, given a host's IP address, sends an echo request to the host. If the host can be reached, it will send back an echo reply. This is known as "Pinging", and can quickly let you know if a host can be reached via TCP/IP. Because the Microsoft Winsock stacks don't support raw sockets (supposedly v. 2.0 will), TJPing uses the Microsoft ICMP API to emulate the ping functionality. The ICMP functions, which block, have been threaded to allow the user to retain control of the program while a ping is in progress. If a user enters a host's Domain Name Service (DNS) name instead of an IP address, asynchronous, non-blocking Winsock functions are called to find the host's IP address, which the program then uses to ping the host. TRACE: Given a host's name or IP address, TJPing can trace the route the IP packets take to get to the host. This is known as "Traceroute", and is interesting to watch the torturous routing the Internet subjects your packets to. The trace function is also threaded to prevent blocking of the program. The "timeout" setting for the ping function also applies to the trace function. LOOKUP: TJPing, given a host's IP address, will attempt to find it's DNS name, and vice versa. Asynchronous, non-blocking Winsock functions are called to find the host's IP address or DNS name. FEATURES: TJPing has several features that enhance it's user-friendliness: 1. The Microsoft ICMP API IcmpSendEcho function, which blocks, has been threaded to allow users to maintain control of the program during a ping. 2. Between sessions, TJPing remembers an unlimited number of host Names/IP Addresses and all of the options entered by the user. 3. The results window and the "Host" box are editable using the right-mouse button or the "Ctrl" accelerator keys. 4. Upon startup and after every ping, the cursor focus always returns to the "Host Name/IP Address:" edit box. WIN95/NT REGISTRY INFORMATION: In order to save information from session to session, TJPing uses the Registry. While I have tested this program thoroughly on numerous different machines, some people may still not want it to access their Registry. If you'd like to remove those Registry settings, go to the keys "\\HKEY_CURRENT_USER\Software\Top Jimmy Software" "\\HKEY_USERS\Default\Software\Top Jimmy Software" "\\HKEY_CLASSES_ROOT\TJPing.Document" "\\HKEY_LOCAL_MACHINE\Software\Classes\TJPing.Document". Removing these keys removes all traces of this program from the Registry. KNOWN BUGS: - Win 95: 1. After doing a lookup, the focus returns to the Host Name/IP Address window. Hitting the "Tab" key puts the focus on the "Ping" button, but it cannot be executed by pressing "Return"; the mouse must be clicked on "Ping". - Win NT 3.51: The "Top Jimmy Software Homepage" button in the "About TJPing" dialog box doesn't display or function correctly. THANKS: Thanks to MarkG, whoever he is, and his Win32 Programming webpage for providing me enough information about the poorly documented Microsoft ICMP API to get up and running with this project. And thanks to Arthur Dumas and his book "Programming Winsock", for teaching me how to program Winsock with Visual C.