Connect and Notify version 1.2
by Costas Kotsokalis - C.Kotsokalis@ece.ntua.gr

What is CaN?
CaN (Connect and Notify) is an IP Poster. This is the kind of programs you 
would use if you get dynamic PPP (or SLIP) from your Internet Services 
Provider, and want to let the others know your current IP address so that they 
connect to a FTP, WWW or other Internet server you have set up on your PC. CaN 
will upload a HTML file you edit to the WWW server of your choice, using FTP.

What is new from 1.1?
Fixed a bug with ftp password. IF YOU UPGRADE FROM 1.1, REMOVE can.dat OR,
TO SAVE TIME, DELETE THE PASSWORD LINE FROM IT.
Used 8-bit graphics and removed background images to save computer resources. 
Added the ability to upload a .plan file (the one used by finger) edited by 
the user, and also a feature to connect to a time server and synchronize local 
clock if desired.
Added a system tray icon with basic options, to speed up use of CaN.  Added 
the ability to hide CaN window after going online and work only with the
system tray icon. 
CaN will now upload the HTML file with the name you want. If no name is
defined, the name Xline.html will be used as in v1.1.

How does it work?
If you upgrade from 1.0, you will have to delete all of your old configuration 
files since CaN reads files in a different format now.
When you first run CaN you have to define some basic parameters for the upload 
process. These would be the hostname or IP address of the WWW server to contact 
using FTP, your login name there, your password and the directory to change to 
before you upload the file. You can make these settings by clicking on the 
'Settings' button. This should be the very first thing to do. If you don't set 
these values, before uploading an 'online' or an 'offline' file, CaN will prompt
you for that.
There are two different files you will upload each time, a file notifying you 
went online, and another one notifying you are going offline. These are pure 
HTML files, that you can edit if you click on the 'HTML files' button. This 
will bring up a menu from which you'll have to choose which file to edit. 
Whatever the choice may be, a dialog box will come up in which you'll have to 
define a title, a background (or bgcolor) and the body of the file. These 
starting tags (html, head, title, body, etc) are put in the file automatically 
by CaN. 
In these two files you can use %I and %T to reference your current IP address 
and current time respectively. CaN will substitute '%I' sequences with your 
current IP, and '%T' with currect time (don't use the quotes!). The files are 
edited once and used every time after that. If you want to change these files, 
just bring up the two dialogs. If you try to upload without having edited (or 
at least saved the examples provided) you will be prompted to perform these 
actions.
When you want to upload one of the two files, you'll have to click on 'Online 
Notify' or 'Offline Notify' buttons. 
While uploading online file, offline button is disabled, and vice versa. This 
is because CaN is a multithreaded program and miscellaneous conflicts could be 
produced by two threads trying to upload the two different files simultaneously.
I prefered to do this ONLY when uploading, and not all the time the program is 
running, meaning that even when you load the program you can actually upload 
an offline file. Why? So that users can run the program when they connect, 
close it, and run it again right before they disconnect.
CaN will also start local servers, if you define their location on your disk - 
we'll get back to this later on though. There are also available:
- A 'finger' button. Using this you can perform finger queries to other 
internet users, and see when they last logged in, etc.
- A 'Ping' button. Using this you can a) see if a server worldwide is up, 
b) check the connection   quality between your PC and this server -through the 
Round Trip time provided- and last but not   least, c) keep your connection 
alive while CaN is pinging some host you define, or until your time limit is 
reached :-) 
  Clicking on the 'Ping' button will bring up a menu with three choices: 
1) Set ping properties, 
2) Start ping thread, and 
3) End ping thread. 
Before starting any ping process you should define ping properties. Note that, 
you can configure CaN to send only a number of packets, or ping infinitely 
until program exits.
- CaN will now get online on startup, if you want it too. This means that, you 
can define this feature and as soon as you start CaN it will upload the 
online file it will find/generate. As   you understand, you can combine all 
these things and have CaN do things like automatically upload 'online' 
file, start pinging remote host, start the local servers you want it to   
(FTP, WWW etc), and disappear so that all functions are performed from the
system tray icon (as discussed above).
- Using 'Local servers' button, now you can launch not only 2 (as in version 
1.0) but an infinite number of server programs. It is obvious that you can 
launch any executable, even if this is not a server. For example, you can load 
CaN and have it go online on startup, launching Netscape, Internet Explorer, 
some FTP client, an IRC client, telnet sessions and any other Internet tool 
you are using, without you having to perform not even one mouse click.  
- Added a timer which will be enabled as soon as you go online, and will show 
you for how   long   you have been online. 

Apart from these, CaN has 6 speedbuttons:
1. A button to find/refresh your local IP address and show it on top of the 
window.
2. A button to minimize the window
3. A button to refresh the window
4. An 'about' button
5. An 'exit' button.
6. A 'Hide' button was added in this version, which will hide the main window
from the screen AND from the taskbar. The application window will be
visible again if you click on the 'Show main window' option, on the system
tray icon.
The reason for using 'minimize' and 'exit' speedbuttons instead of leaving the 
system buttons as they are, is that CaN is multithreaded -again :-))- and 
exiting with the 'x' button on top of the window could leave threads alive 
while parent application has exited -- see also: System Crash :-)

System Reqirements:
You will definitely need a PC with the Windows95 or NT operating system, and 8 Mbs 
of RAM. Although CaN is not that complicated, using nice graphics makes it a 
whole lot heavier that it would be with standard buttons etc. 
CaN 1.1 had a problem with windows NT which was corrected. Version 1.2
will work fine under NT now. At this point i would like to thank Peter
Laur for his precious co-operation, so that CaN runs under NT as well.

ToDo list:
- Add a help file. I really don't think this is needed, but some complain that 
it would be of use. What can i say, users :-)
- Maybe add a 'chat' service, integrated into CaN. Of course, 
this could be accomplished with any talk server, but what can i say, 
developers :-)
- Add name service lookup
- Add a mail-checker and possibly a mail-sender

BUGS:
Only one that i know, when using pseudo-PPP or pseudo-SLIP the first time you 
try to upload the 'online' or 'offline' file, after it's transmitted you will 
get a winsock error. The funny thing is that this happens only the first time 
of each session, and then it's all nice and perfect. I will try to find what's 
the problem with this, although it does not seem to be of need - almost 
everyone gets real PPP these days. If you don't, find another ISP :-)
Writing CaN from the beginning and paying attention to synchronization 
issues fixed all other bugs i was aware off. If you happen to notice peculiar 
behaviour, or get errors like exceptions, GPFs etc., please mail me at 
C.Kotsokalis@ece.ntua.gr and let me know exactly what happens.
PLEASE note that if you are upgrading from 1.0, you HAVE to delete the old 
configuration files. If you don't you can be sure you will get an error 
right on startup.

LISENCE AGREEMENT:
The shareware version of CaN 1.2 has 2 features disabled: It won't hide after
uploading the 'online' file(s), and it will not get the network time (nor will
it synchronize the clock, as obvious). As soon as you use your registration
password these will all be functioning as desired.
You can use this piece of software without registering within an evaluation 
period of 30 days.  If you want to continue using it after this period, you 
have to register with CaN. To do this, send $15 US, to the address:

Constantinos Kotsokalis
Solomou 43
Galatsi 11147
Athens
GREECE

DO NOT FORGET TO WRITE CLEARLY YOUR FULL NAME AND EMAIL ADDRESS!!! One day 
after i receive your subscription i will email you a password which you can 
use to register CaN. Make sure you make a note of the name to register, 
because the password will be generated according to this name. 

Registering with CaN entitles you to full support though email. This includes 
serious effort to add features you would like CaN to have, in next versions. 
IF YOU REGISTER WITH CaN YOU WILL ALSO GET THE NEXT VERSIONS OF IT FOR FREE,
UNTIL VERSION 2.0.
Unregistered users have no right to technical support, still i'm eager to hear 
their comments, suggestions, bug reports. If you have any of the above, please 
let me know - no matter if you have registered or not.

DISCLAIMER:
"Connect and Notify" is supplied as is.  The author disclaims all warranties, 
expressed or implied, including, without limitation, the warranties of 
merchantability and of fitness for any purpose. The author assumes no 
liability for damages, direct or consequential, which may result from the use 
of "Connect and Notify". By using "Connect and Notify" you automatically 
agree to the above conditions of use.
