=================================================================== Internet Adventurer - The Internet Suite for OS/2 Warp 13. April 1996 =================================================================== Beta release v0.19. Copyright (c) 1996, Kim Rasmussen All rights reserved. SEE MY WEB PAGE at http://www.belle.dk/kr/ for newest info =================================================================== N O T I C E =================================================================== This IS a shareware package, and does require a registration fee if you choose to continue using it after 30 days. The registration fee for this product is currently $?? US. As the feature list grows this price may grow slightly. NOTE: The price will be set when the initial beta is over, until it is, Internet Adventurer is free to use. - and yes, I decide when the inital beta is over :) =================================================================== L E G A L S T U F F =================================================================== As usual with shareware, I'm not responsible for any damages you may suffer by using Internet Adventurer in any form or way. If you are going to jail because of unpaid huge phone-bills, then it's not and never will be my problem. Any damages/faults/whatever arising from the use of Internet Adventurer is entirely you'r own problem. If you'r harddisk vanish after installing, or your wife leaves you it's your own problem - got it ? =================================================================== R E Q U I R E M E N T S =================================================================== Internet Adventurer requires OS/2 Warp, with min 8Mb Memory - it probably will run on 4Mb, but I wouldn't to it :) Also, WebExplorer from IBM is required. At least BETA web0814 is required, you can get the newest from ftp.ibm.net /pub/WebExplorer You also need to have internet software, at least TCP/IP v3.0 (or what you're WebExplorer needs) is required. =================================================================== A C K N O W L E D G E M E N T S =================================================================== I would like to thank all the people in #os/2 and #os2prog who have helped me with this, especially the ones who have given me sample code, and tolerated my bugs :) -------- Contents -------- 1. Contacting the Author (that's me) 2. Current Features List 3. Known Bugs/Workarounds 4. Missing Features / ToDo List 5. Supported IRC Commands 6. REXX Scripts 7. Toolbars 8. Version history ------------------------------------ 1. Contacting the Author (that's me) ------------------------------------ You can contact me in a number of ways. Unfortunately, I can't provide neither a fax or phone number at this time. Mail: Kim Rasmussen Gartnervang 2C, 3tv DK-4000 Roskilde Denmark Web: http://www.belle.dk/kr/ Internet: kr@belle.dk IRC: I can usually be found hanging around in #os/2 or #os2prog you might even catch me in #inetadv :-) My nickname is usually Starlord_, but look for Kim Rasmussen in my real-name. Support: I can't promise anything, but go to #inetadv on IRC, or mail kr@belle.dk, then I'll probably get back to you. ------------------------ 2. Current Features List ------------------------ - IRC (rfc #1459 compliant) - CTCP (Client to Client Protocol) commands supported - DCC CHAT fully supported (private chat - remember to set your IP address) - DCC Multiple concurrent filetransfers are fully supported, both ways - Multiple Threads, one per IRC channel - Fully multithreaded 32-bit code - no 16-bit code at all - No class libraries, uses PM functions directly, for maximum speed - Multiple Windows - one window for each channel or for private messages - Multiple colors, get a complete overview in seconds, configure strings that will be shown with different colors. - Configureable fonts and colors - WWW support, using WebExplorer's API, to ensure that the newest available browser technology is supported. You should even be able to use Internet Adventurer with a newer version of WebExplorer (no guaranties though...) - Proxy and Socks support for WWW, gopher and FTP - You never need to cancel loading of an URL, to begin loading another, you just click on the link you want, even if the page you're currently loading isn't complete yet. - REXX Scripts support, compatible with the GammaTech IRC-Client. - Nickname list in channel-windows - User Configureable toolbars - DLL PlugIn's - support for extending Internet Adventurer with customized tools. The entire IRC is written as a PlugIn DLL. ------------------------- 3. Known Bugs/Workarounds ------------------------- - To change to font in the nickname list, you have to select setting->fonts and press OK. That will update the font in the listbox too. - The scroll-bar in the channel-windows doesn't move, this has something to do with the way word-wrap works now. I'll change it later. - Autodetect hostname does nothing, so you need to enter a hostname. - 'Time' is not updated in filetransfers, but always set to 00:00:00 ------------------------------- 4. Missing Features / ToDo List ------------------------------- - /server command for IRC - Connections to multiple IRC servers simultaneously - DCC firewall support is almost ready - Flood protection to come... - A lot of IRC menus currently doesn't do anything, and some need to be added. - I'll be reworking the entire menu-system, expect lot's of toolbars and stuff. This is already partly complete, but I still need to add/remove some stuff. - I'll add a quicklist very soon, it will contain entires for both irc channels, mailto addresses, www sites, ftp sites and telnet sites. You will also be able to group your entries, eg. 'Computer stuff', 'Fun stuff', 'Gopher holes' etc. - Gopher and FTP is currently only supported via the WebExplorer API I probably won't touch gopher, but you'l get a beefed up FTP, with support for upload/download etc. - Telnet isn't supported yet - News and Mail isn't supported yet, but I'm beginning to look at news. ------------------------- 5. Supported IRC Commands ------------------------- In a channel window, if you just write a string, it's sent to that channel if you put a '/' in front, it's treated as a command. eg. to get statistics (uptime) from you server, type '/STATS U' All RFC 1459 commands are supported, just type '/' in front, and whatever you type will be sent to the IRC server directly (with exceptions) The exceptions are: /CTCP This commands send's a CTCP request to eg. /CTCP Starlord_ VERSION to get the version of Starlord_'s client. /DCC CHAT Ask to open a private chat conversation with you. This causes Internet Adventurer to open a socket, waiting for a call from the other client. Data on this session are NOT sent through the IRC server, and you are therefore sure that no IRC-Operators can listen in. /DCC SEND This command is used if you want to send a file to . This causes Internet Adventurer to open a socket, and wait for a call from 's client. If accepts, he will then connect's to you for receiving the file from you. /ME /ACT /ACTION Use this command to tell that you're performing an action, if your nickname is Starlord_, and you type "/me thinka Internet Adventurer is great", it will be displayed to the other people on the channel as: "* Starlord_ agrees that Internet Adventurer is great" /MSG Uses this command to send a private message to , this message will not be sent to the channel you're in, but only to the you specify. If you wan't to be sure that no one can intercept your message, you might consider using /DCC CHAT instead, to get a true private connection. /LEAVE This command causes the window for the current channel to be closed, and it leaves the channel - it's the same thing as closing the window by double-clicking on it's icon. If this command is issued in a DCC Chat window, the chat connection is disconnected, and the window is closed. /SIGNOFF If issued in a channel-window, this command causes the connection to the server to be closed. The windows will still remain on the screen. If issued in a DCC chat window, the DCC connection is closed. /BEGONE This command removes all the windows, and disconnects. /VERSION /VER These commands do the same as /CTCP VERSION - it ask's for his version. /USERINFO This command does the same as /CTCP USERINFO - it ask's for his userinfo. /FINGER This command does the same as /CTCP FINGER - it ask's for his finger info. /PING This command does the same as /CTCP PING - it ask's to return the ping response, so the delay between the two clients can be measured. /EXECUTE This executes the given command, eg. to put a directory listing into a file, you can use "/exec dir >\file.txt". --------------- 6. REXX Scripts --------------- Yes, I now support REXX scripts. I've tried to make them compatible with GT-IRC, as far as possible, this means that you are able to run eg. the IceBerg scripts for enhancing the IRC client. --- First, a warning ! --- REXX scripts can really eat away at your CPU, it can take some performance, especially for large scripts. I'm currently working on it, to see if I can speed the performance of the REXX scripts up, but for serious scripting, you should use the DLL plug-in interface that I'll soon be adding. They work the following way: You specify the name of 2 rexx script files, one which is called for every command typed by the user (outgoing), and one which is called every time the host sends a line (incoming). The scripts are called with 3 parameters as follows: script.cmd The must be used when displaying messages, the is for the script to use if it want to, and the is either the command that the user has typed, or the line received from the IRC server. The script must return an empty string if Internet Adventurer should not process the command, and a non-empty string if the string should be processed. There are 4 functions available to the script writer: IrcRexxDisplay(, ) This function displayes in the window if is a null-string, the text will be displayed in the main irc window. IrcRexxCommand(, ) This function let's the rexx script enter a command. This command will be processed by Internet Adventurer in the excact same way, as if the user typed the command himself. The command will be passed to the script again. Note however that playing recursive commands should be avoided, eg. a script handling the command "/PLAY" should never send the same command in response to a "/PLAY" command. IrcRexxSend() This function can be used by the cript to send a command directly to the server. Internet Adventurer will not do any processing of the command, but it will forward it directly to the server. IrcRexxWildCard(, ) This function check if a given wildcard matched the string. If a match if found, "MATCH" is returned, otherwise "NOMATCH" is returned. ----------- 8. Toolbars ----------- Internet Adventurer supports user-configureable toolbars. That means that you can create your own buttons on the toolbars, and assign actions to them. To change the buttons on a tool-bar, click on it with the right mouse button, and a menu will appear. You can then select 'Create item' to create a new button, and a notebook will appear where you can assign actions to it. Select an action, and enter eventual parameters for it. After assigning an action, you need to give the new button a name and/or a bitmap. You can select from a list of built-in bitmaps, or you can load one from a file. It is also possible to drag/drop buttons from one toolbar to another. By default, the following actions exist: 1. About InetAdv Parameters: None Action: Pop's up an about-dialog for Internet Adventurer. 2. Execute program Parameters: Programname, and eventual parameters for the program Action: Starts the selected program with the command "start /N (eg. IRC.FONTS) irc: (see explanation) mailto: (eg. kr@belle.dk) http: (eg. www.belle.dk/kr/) ftp: (eg. hobbes.nmsu.edu) gopher: (eg. gopher.almaden.ibm.com) file: (eg. InetAdv.htm) Explanation of : The action can be: 1 - default This causes a normal connection to be established 2 - #channel This causes Internet Adventurer to join the specified channel 3 - /command This executes the specified IRC command. The command will be treated as if it was entered in the main IRC window. ------------------ 8. Version history ------------------ Version 0.11 - Fixed nickname size bug, now you can only enter 9 char nickname. - Fixed bug with "World Wide Web" menu-item only selectable once. - When opening a window, it's now in the foreground instead of in the back. - Bug resurfaced, private messages were shown with your nickname, and CTCP ACTION command was not recognized. - CTCP PING command implemented - Bug in DCC Filetransfer, the number of received bytes was not set to 0 before starting receiving a file. - Private messages no longer popup in a window automatically, they are now displayed in the main IRC window - Profile information is now stored in a .ini file, that makes it easier to upgrade without hurting the old configuration - Autojoin flag for channels added, if set, the channel will automatically be joined when connecting. - If nickname already exists, I now cut one character from the nick, and try again, until it's not rejected. - Yes, I now got rid of the MLE's for the channel-window, and I've made my own MLE lookalike, with color support. - Fixed WWW, so forms work Version 0.12 - Scroll-back in channel-windows now possible - Additional colors added for nicknames - A list of strings can now be configured, when Internet Adventurer sees one of these strings, it will change the color, so you'll be alerted. This is extremely usefull for eg. inserting nicknames of friends etc. - Firewall-settings for DCC is on the way (it doesn't work yet, but the dlg is there) - Now you can cancel loading a WWW document, and news, proxy and socks settings are now possible for the WWW. - Reload and back menu's added to WWW window. - It's now possible to interrupt loading of a WWW document, by just selecting a new link. The current document will then be cancelled, and the new one will be loaded. Version 0.13 - Fixed trap when messages arrived in a minimized window :( Version 0.14 - Now, word-wrap is really word-wrap, lines are no longer cut in the middle of a word, but words displayed whole. - Font's are now selectable from a standard font dialog box. - Colors are now selectable - Fixed trap when a command was sent by the server, without a from name - Fixed a trap which occured if no inetadv.ini file was present (oops) Version 0.15 - Fixed a few spelling mistakes :) - Messages to your nickname now goes to the active window, as well as the main IRC window - Moved the 'Leave Channel' menu into the action menu - Fixed an eventual trap, if a DCC CHAT request was refused. - Incoming DCC messages were not shown (oops) - If the userlist was minimized, and then restored, it would resize wrong. - Fixed a bug in the channel-windows, sometimes if the lines were very long the window could get obfuscated while scrolling. - Previously, the buttom of the chars on the last line couldn't be seen, this is now fixed. - Command /leave implemented - Command /signoff implemented - Command /begone implemented Version 0.16 - DCC command-line is no longer disabled when not connected. - Command /version implemented - Command /ver implemented - Command /userinfo implemented - Fixed bug: Userinfo wasn't sent to the nick asking for it :( - Changed "/DCC ", and "/DCC CHAT" to "/DCC CHAT " - /WHO /WHOIS /ISON etc. replies have been beautified a bit, and are now also shown in the active window. - Command-line scrollback now implemented. Internet Adventurer now remembers the last 20 commands you've typed (much like the cmd shell), use arrows up/down to scroll in the commands. You can also use ESC to clear the input field. - Command /finger implemented - Command /ping implemented - Command /execute implemented (beware of IceBerg's /exec) use this one instead - Command /clientinfo implemented - CTCP responses are now also shown in the active window. - Autodetect IP address now works - When a partially overlapped channel-window was scrolled, sometimes the contents could get corrupted. - It's now possible to specify channel-name and password in the join list, just type "#channel pass", that should work. - Notify list implemented. Version 0.17 - Added '***' to a lot of messages, to make it clear where they come from. - When other people are joining a channel, their username/hostname is now also shown - Fixed a _huge_ memory leak - for every line you've typed, I would loose 513 byte memory :((( This should fix the problem some people have had after running it for a long time. Sorry about that one folks :)) - Fixed problem with using then newer WebEx API's (1.1a and the Java demo) they required that I read the display settings, and set them again - I didn't have to change them - in order to view text. - User-Configureable toolbars have been added to the main InetAdv window. - Nickname list has been added to the channel-windows. - Context-menu has been added to the nicklist, try selecting a nickname, and right-clicking. - User-Configureable toolbars have been added to the channel-windows. - Mode command is now parsed and displayed. - Fixed a trap, if you scrolled up/down when there was 0 lines in the windows it would trap. - It now beeps when a /msg arrives, I'll put it on an option soon. Version 0.18 - When a user got de-opped, it wasn't shown in the nicklist. - Fixed bug that caused that /who, /whois and a few other replies was not shown in the active window, if the active window was the first one created. - CTCP Userinfo, and CTCP Finger added to context-menu for nicklist. - Channel-names were case sensitive when saving toolbar settings, they are now case insensitive. - Fixed a big memory leak related to DCC, all bytes received/sent were never deallocated, sorry about that one :( - UCMENUS.DLL eliminated, I've compiled it into the .exe instead, because come people reported problems with ultimail using the same name for a dll. Version 0.19 - Fixed a trap, if a /topic response arrived before the channel-wnd was created, a sprintf would go haywire :) - Fixed toolbars, so if 'Load Default' is selected on the context-menu, the correct default menu is restored. - The 'Reset Styles' item on the toolbar context-menu didn't work. - Major internal changes ! DLL PlugIn's are now supported, IRC is moved to it's own DLL, and used the PlugIn API. - All settings have been moved to a single notebook - Toolbars are now selectable from the keyboard. - Oops, intercom wasn't started from the main menu, the parameters /C inetadv.cmd were missing from the command-line. - Nuke protection implemented. - Very long nicknames could get InetAdv to trap. - /whois response (msg 311) was not parsed correctly - A DCC SEND from someone with a very long filename (>100 bytes) caused a trap. - If we received multiple JOIN messages from the same channel, more than one window for the same channel would be created. - WWW moved to it's own DLL, and now supports interface to IRC and settings. You can now start IRC from a WWW Link - WWW now saves it's window position - When a user got kicked from a channel, the nicklist wasn't updated - Oops, you could create empty entries in the notify list, but you (almost) couldn't delete them again. - I finally managed to get the WebEx API to receive files it hasn't any viewer for, there were some undocumented messages that I had to use, it took a while to debug them and find out what way to use them, but it works now, thanks to some help from one of the WebEx developers. - You can now double-click on an entry in the join dialog to join the channel. - I've reworked the settings save a bit, so no matter how InetAdv is closed it will save it's window and toolbar settings. NOTE: Positions for minimized windows will not be saved ! - It's now possible to use the cursorkeys, and page up/down in the WWW window. - I've added some IRC options (like beep on incoming msgs) see them on the IRC Options page in the settings notebook. - Fixed a but, page up/down in channel-windows didn't always scroll the correct number of lines. - Added option to start a private window when an incoming /msg arrives. - I hopefully fixed the nickname list, on some channels it didn't occur, it should work now, but please tell me if it doesn't. - Now the REXX functions are not so strict with checking the number of parameters, the IceBerg scripts sometimes specify more parameters than needed.