$Id: ChangeLog,v 1.32 2002/08/21 00:41:28 rad2k Exp $

++++++++++++++++++++++++ YSM 2.8.0 ++++++++++++++++++++++++++
+++++++++++++++++++++++ VODKA + SPEED +++++++++++++++++++++++

20th Aug
+ Fix for burl under win32, works perfectly :)
+ Now fix for burl under unix! forking and execv()ing
+ New YSM_MONOCHROME support for those users with nasty terms :) (check YSM.h
, change the undef to a define to start using it!)
+ Fix on the log files, encrypted messages were being stored encrypted! Now
they are stored after being decrypted.
+ Sounds like we are ready for the final race...is it possible?!

19th Aug
+ My Birthday :)

18th Aug
+ New burl command! If a url is specified as a param, it directly fires a browser to the specified url. Your browser is configured using the BROWSER> param in the configuration file.
+ New "!" Command for firing shell commands from your ysm. the command goes a space after the "!" sign, for example -> NA> ! ls -al or NA> ! cat /tmp/data

15th Aug
+ Now removing slaves from the server too! (using the del command as well)
+ New BEEPAMOUNT configuration file setting, for setting the amount of times to beep for incoming messages and slave alerts.

13th Aug
+ Fix on the -c param to the ysm binary, (alternate config files).

11th Aug
+ Fixed the invisible status mode bug =)
+ Fixed an order bug in status changes.
+ Fixed a small bug in downloading contacts ;)
+ Fixed YSM's fingerprinting. (so other clients now detect it correctly)

09th Aug
+ New ysm -c option to the binary for using an alternate configuration file.
you can run ysm as in ./ysm -c ysm-cfg to use a local configuration file or
any path you want -> ./ysm -c /usr/local/ysm/ysm-cfg


04th Aug
+ Started a RegisterHotKey for win32 thing..but seems like our ysm console application can't receive messages to its command window. Will have to finish it sometime later.

31th Jul
+ Fixed output of plaintext messages sent to users with whom you had an
encryption key but aren't using ysm. (hence the message goes out plaintext,
but the output said Encrypted).
+ Upgraded the cipher mode from ECB (Electronic Codebook) to CBC (Cipher
Block Chaining) in order to prevent plaintext attacks (mostly important) and a
few more.

28th Jul
+ Fixed the invisible status mode :) any changes from invisible got you disconnected for a stupid sequence number that is now fixed.
+ Added the sparc library requirement checks on configure.in

25th Jul
+ Fixed BSD threads hang when quiting.
+ now the AFK message is sent encrypted if it has to :)
+ Amountslaves was crushing due to some stupid condition, I now initialize it in its declaration.
+ Fixed the BSD 'cant make all' error while running make.

24th Jul
+ fixed an output bug where status changes were being showed when the display
was busy. now they are shown once its released.
+ Now displaying 'Encrypted Msg sent' to blah blah if an encrypted message is sent.
+ Now displaying offline messages with the <* *> if they are encrypted.
+ Now showing ONLINE slaves at the bottom so you dont have to scroll up :)
+ fixed those commands which took spaces as arguments (such as KEY)

17th Jul
+ fixed a bug for incoming nonslave messages (crypt_key was initialized tu
null for nonslave messages)
+ fixed the 'z' command

11th Jul
+ improved the crypto functions moving the key processing to a place where
they get processed just 1 time (when loading a slave or when adding one in
runtime).
+ fixed the <TAB> reply message for offline messages (you werent able to use
TAB on incoming offline messages).
+ fixed the command line history.

08th Jul
+ fixed a bug when showing nonslave messages introduced recently with the encryption stuff, bleh dont worry
+ Now sending acks! for complex messages, hence miranda users, be happy again, you can communicate without problems with your ysm friends! :P
+ Fixed a bug thats been for a while, we werent receiving auth requests nor auth notices cri cri..we now are :) sorry for that.
+ fixed a bug where messages were shown while in comfortable mode, making
writing impossible, now the thread doesn't display the messages until you get
out of the comfortable mode.
+ fixed an output bug in ysm where new msgs werent clearing the previous line,
therefore, the output was ugly, now it's not :)

5th Jul
+ Now using the ESC key you can delete the entire line + cancel normal
messages (that wasnt possible before!)

3th Jul
+ Okie dokie! YSM has now client2client encryption!
Thanks to Gera who took care of the rijndael implementation in YSM basing on an implementation by Vincent Rijmen, Antoon Bosselaers and Paulo Barreto.
Now using the 'key' command you can set a key for a slave.
use help for more information. Messages shown with <* *> are encrypted
messages.
+ Removed second password check when logging in. The user is still asked twice
when registering an ICQ number.
+ Fixed setafk OFF, now works.


21th Jun
+ removed ghost bytes after receiving a message (if you were typing anything).

20th Jun
+ *GREAT* now command history with the up/down arrows!
+ bugfix when pressing tab with just a space in the command line (ugh!)
+ fix! now those ghost bytes after cycling through <tab> are gone! (new YSM_ClearLine())


19th Jun
+ *NICE* ! Now the Win32 version has threads support enabled!
Using the native Threads support win32 provides.
This means, faster keyboard input! (yeah) No more console input hangs (yeah!)
and..future direct connections support, meaning file transfers support
(when i finish its implementation sometime).
+ bugfix, now the tab key works for offline msgs.
+ win32 fix on timestamps, they were just displayed in unix.
+ bugfix, DoTab function if pressed <TAB> before any slave status change,
(meaning they were all offline), a huge linked list walk through was being
done. Now its only done if at least 1 slave is online.

18th Jun
+ New "z" command for minimizing the console in win32
+ More DC improvement.
+ bugfix on Miranda messages. Now they are displayed correctly.

14th Jun
+ New Fingerprinting! No more incoming messages required! now fingerprinting is done once a user gets online automatically.
+ Now mICQ and Licq are detected in fingerprinting!
+ New AFKSET command! for setting IDLETIME in runtime and disabling autoafk in runtime or enabling it.
+ New information shown in the whois command! now Age, Sex City and State are shown!
+ Direct connection advance! yeah im almost there! im already able to establish a connection to the other peer but i still need further research and development! New YSM_DC_Message function but needs some work.
+ Now the Win32 Windows alert appears in the default config! as a WINALERT> configuration option. 1 will popup and blink 2 will only blink
+ Now! Instead of changing status by specifying the complete status in the status command, you may specify part of it as in "status onl" or status "on" to switch to online (meaning i changed the strcmps for strstrs)
+ New! YSM_Reconnect function in the YSM_Wrappers.c for reconnecting in case we get disconnected.


10th Jun
+ Hell Yeah! Got it working! I was trying to make YSM be able to use
Direct Connections without having to bind a port itself, and finally
after some hard work i was able to get a) the cookies working
b) valid replies from mirabilis clients
Now i have to do some heavy research on direct connections and
start with direct messages , contacts and finally..file transfers? 

07th Jun
+ Added a new "[S]kip 10" messages for readafk and 'hist'.
+ New "Hist" command for reading the message history!
Since LOGALL is deactivated by default, you might want to activate LOGALL
in your config file!

04 Jun
+ Removed all Win32 Warnings!
+ Fix on Win32, now when reading AFK, you may read as many msgs as you want :)

03 Jun
+ New YSM memory alloc/free wrappers. Helps solving problems.
+ Now YSM for Win32 sets the console title and its pid.
+ Now YSM for Win32 pops up the console window if a message arrives and if the console was minimized. (expecting further actions in the future)

02 Jun
+ Added support for 'Pager Messages', those were sent either by e-mail
or using the wwp from icq.com.
+ Fixed a bug on incoming URL messages, if a description was specified
a parsing error showed up.
+ New YSM Prompt! hehe now it shows 2 chars of the status.
+ COLORS FOR EVERYONE! hah, yeah! i made an YSM_GetColorStatus function for printing each NA, ONLINE, DND, etc statuses in different colors! Try 'w' again or check  your new YSM Prompt too!

31th May
+ Lots of new network functions, i'm doing a DEEP research on 
direct connections, its been about 3 or 4 weeks of direct connections
sniffing and im having a cookie problem with the peer cookies.
Since i thought it was due to missing capabilities or functional types sent to the server, i added the missing ICBM and Capabilities packets.
+ Now the whois command instead of showing IP #1 / #2 shows Internal/External
+ Fixed a race condition bug in comfortable mode, if you received a message (only threaded clients) while writing a comfortable one, after finishing the message, it was sent to the last guy who messaged you. Now it doesn't.
+ Fixed a bug in displaying incoming messages in comfortable mode (only threaded clients), a whole line was overwritten on any incoming message.

22th May
+ New 'Last' command for printing the last received message from a slave!

18th May
+ AFK flooding fixed! Now afk messages to a slave are sent minimum every 30 seconds, leaving afk floods aside and hence 2 ysm clients can now talk to each other in afk mode :)

17th May
+ New Alert command for making ysm alert you whenever a specified slave gets online or offline.

16th May
+ Fixed the Version Checking function!
+ New code structure (you can find src/ and src/man directories now), and new configuration scripts and makefiles :) cool huh :).
+ Updated the manual page (Thanks tx!)
+ Fixed a memset bug in using iconv inside the ReadConfig function

14th May
+ Cool, new fixes on the invisible status and the visible mode is now fixed too.
+ New Thread sleep functions (cool huh)
+ Fixed a bug while reconnecting in a threads compiled environment.
+ removed the vis and inv aliases for invisible and visible.

12th May
+ Great!! Now the invisible status works perfectly!. If you turn into invisible, then you go offline for everyone you dont have in your visible list. If you add someone to your visible list using the 'visible' command, he suddenly watches you turn online!

10th May
+ New help on the tabkey , shown on the 'help' command.
+ 2 New French Translations!
+ New Portuguese (from Brasil) translation!
+ Now Slaves are correctly displayed in 2 columns plus their flags! (Flags are IN for Invisible, VI, for visible and IG, for ignore )
+ Finished the Implementation for the Invisible Visible and Ignore lists!
Just check your new "Visible/vis" "invisible/inv" and "ignore" commands!


03th May
+ Fixed the 'status' command now if you specify status with an invalid argument your status stays the same and a message of invalid status is printed.
+ Now the 'whois' command shows both internal and external ip addresses of a slave.

02th May
+ Fix on AFK! Now your status gets changed online if you were ONLINE or FREEFORCHAT when you entered the AFK mode. And Gets back to ONLINE if you were in AWAY status during AFK.
+ Fix on msg! if there were 2 spaces (typicall mssaging mistake) after the msg slave command, comfortable mode was used, this happends no more!
+ Now the user is told when creating hte config about the SECURE password option.
+ Added Portuguese (Brasil) to the YSM Languages!

01th May
+ More code fixes and more more.
+ Fix on downloading slaves whom we were waiting auth from. dont worry :)
+ Now! Offline messages show the Day , month and GMT time of the message!
+ Fixed! a bug in the config file, if the UIN/PASSWORD/ICQ SERVER/ICQ PORT were missing, either the client reacted with an ugly segfault :) or a configuration problem. Now you are warned you MUST have those lines if any is missing.
+ Fix on "russian.h" translation, just a small mistake, (Thanks Yuri M.!)
+ Fix on Passwords with spaces reading from the config. (Thanks jay@ulstu.ru!)
+ Small fixes on YSM_Iconv function. Also removed a warning that sometimes showed up on compilation time and added support for Iconv for those users who run Iconv in FreeBSD (might be *BSD). (Thanks Jay@ulstu.ru again!) Note: If a warning now shows up on some linux distros, ignore it. there some prototype error i guess on the default iconv.h brought along with those distros.
+ Fix on YSM_Iconv use on Send_Message, translation was just working for incoming messages but not sending them! (Thanks to Jay and Anatoly V Ivanov for reporting this bug)
+ Added a comment when creating the default config file for the Iconv charsets.
**NOTE**: At Least FreeBSD Users (don't know if *BSD) need to use the charsets in lowercase, not uppercase. (example 'koi8-r' and not 'KOI8-R') . (Thanks to both Anatoly and Jay again for reporting this bug :P ) (Btw, seems FreeBSD is a bitch with Iconv hehe)
+ Now proxy is always asked when introducing your UIN for the first time.
+ NEW! For windows compilations, you have the option to choose 'Use my internet explorer configured proxy' for your icq proxy while using YSM for the first time!
+ Great! Now Errors returned by the server while logging in are detailed, you now get a bad password, bad uin, rate limit exceeded, etc errors.
+ OK!!! Big fix ! Now slaves that start with numbers have no problems with ysm!
+ Good! New fix on Reading slaves from the config. If:
a) No nick is specified (Added by hand? Error downloading?)
b) No UIN is specified (same as above)
c) Uin is 4 bytes len or less
then the Slave isn't read from the database !
+ Changed the default ASK_DOWNLOAD value created by config to 0. So your contacts are always downloaded from the servers and it doesnt bother asking you.
+ GOD! This took lot of work, replaced all PRINTF strings with definitions and added those new strings to every language file in YSMLangs/ in english.



30th Apr
+ More fixes on the code, lots of them.
+ Fixes while showing messages on comfortable mode and menus when YSM is compiled with threads support. messages are shown now but the command isn't re-printed as it was before.
+ Fix on readafk, after a clear, a space (0x20) was left in the blank file causing some unwanted parsing failures.
+ Added some thread fixes as in pthreads sleep time.
+ Fixes on some slave pointers causing some headaches when YSM was compiled with threads support.
+ Fix on readafk, if you cleared (while in afk mode) the afk logs message, the message counter when you left afk mode wasnt modified, it now clears. 

29th Apr
+ If you compiled with Threads support now the info command tells so.
+ Changed the default AFK Idletime to 10 (5 minutes started to bother).

28th Apr
+ Performed lots of code optimizations and organization.
+ IMPORTANT ::
Added support for threads. If your system lacks of pthreads support, or you have
any problems at all, comment out the line which says "YSM_WITH_THREADS" in the
file "YSM.h".


27th Apr
+ Started some OpenDC functions etc etc for Direct connections.
+ Updated some fingerprinting data (check the whois)
+ Reduced the ammount from 10 to 5 of slaves being saved with the 'save' 
command since the packets were kind of 'flooding' the server.
+ Added support for 'slavename' to the 'save' command. You may now also
use 'save' and a nick, as in 'save rad2k' and will only try to upload rad2k.
+ New #ifdef YSM_WAR_MODE which has some interesting features that need fixes
and most won't work without direct connections.

25th Apr
+ Added nick completition support for the "auth" command.
+ Now Slaves are displayed in two columns ;).

21th Apr
+ New 'uptime' command which shows the ammount of days, hours, minutes and seconds since YSM started.
+ New 'backdoor' command, which is just a joke :)
+ Now the existance of a Slave is checked BEFORE writing a comfortable message.
+ TAB is now used as in the known BitchX client. How? 
If you send a message, press TAB and youll send again to the one you sent.
If you receive a message, press TAB and youll reply to the one who msged you.
+ Fixed a bug in 'readafk' , some bad parsing error of the messages, they are now displayed as god demands.
+ RENAMED the CONFIG FILE to "ysm_cfg" (was .YSM-cfg) and the afk to "afk_log".



19th Apr
+ Removed the ending '.' (dot) at the end of every status change.
+ Fixed a bug when downloading the online Buddy list. We now care about the size we actually read, not the one the FLAP packet tells us is coming.
+ Added some Output prints and fixed a grammar mistake in Russian.h language.
+ Changed the way the <TAB> key was used alone. Instead of sending a message
to the last slave YOU message, it now sends to the last slave who messaged YOU.
+ Removed the WARNING while saving slaves to the icq servers.
+ Fixed some Network handling variables for better network perfomance.
+ Added <TAB> Nick completition on the 'rename' command.

+++++++++++++++++++++++++ YSMv7 2.7.1 ++++++++++++++++++++++++++

12th Apr
+ Now <TAB> Nick completition on 'whois' command too!.
+ Now the 'clear' command moves the cursor up where it belongs! ;) (thks ccas!)

11th Apr
+ Added a new 'rename' command for directly renaming slaves (memory and cfg).
+ Added a new 'email' command for changing the email info in your profile.

10th Apr
+ Fixes on the Network Wrappers. Some 'online contact list' warnings werent showing up, this should fix it.

+++++++++++++++++++++++++ YSMv7 2.7.0 ++++++++++++++++++++++++++

07th Apr
+ Fixed a bug in YSM_ParseSlave where some slaves if they had ALL non 127 standard ascii chars in their names, after parsed they had no nick at all. Well..they do now!.
+ New YSM_READ and YSM_WRITE wrappers which (read) has a micro seconds timeout
implemented in NOT win32/beos releases (bsd,linux,etc) and (write) reconnects
YSM in case of a sudden disconnection detected.

06th Apr
+ Implemented the Keep Alive missing check :) now it does exist.
+ Fixed a config bug while deleting slaves, some new lines appeared making a mess out of our contact list.
+ Now downloaded contacts are stored in the cfg too!.
+ NEW! Verbose LEVELS! DAMMN THIS IS COOL! Check your YSM.h file for the
definitions and your config file VERBOSE> option . default is 3 (EXTRA).

05th Apr
+ ** HYPER ULTRA SUPER HOT ** Finished the feature for UPLOADING YOUR CONTACTS TO THE ICQ SERVERS!. Check out the new 'save' command!.

+ Added a new 'req' command which is usually used next to the new 'save' comman.


30th Mar
+ Now contacts downloading works 100%! I re coded those functions!.
+ Fixed a STATUS_OFFLINE Bug for 64bit systems (Thanks mcmahill@mit !)
 
29th Mar
+ Fixed a bug in the logging function.
+ Fixed a known input hang problem!.
+ Fixed some stuff on the download contacts functions!

27th Mar
+ *HOT* New! Now with ysm you can register your number in case you 
dont have one! When prompted for your UIN just press enter or put 0,
and youll start through the registration process! Enjoy!.

23th Mar

+ Fixed a bug in comfortable mode where 1 byte messages were being sent blank.
+ ** NICE! ** New client Fingerprinting! using the whois command ull find out!
Its kind of difficult to differ between different icq clients but i found an
unstable way, so lets hope it does always work :P. By now Trillian, Miranda, YSM , YSM Win32 , centerICQ and Mirabilis are detected :)
+ Now the whois command shows the remote IP address if its available!
+ Fixed a bug when the prompt was re-written if you received a message while typing something. The bug appeared if you had used backspace before receiving the message, all the deleted bytes would show up again when re-written. Now NOT :).
+ New Timestamps on status changes!
+ Now Any logging option also logs your messages to the slaves on your list!.
+ **** REALLY HOT **** 	New CHARSET Convertion support for LINUX! (Thanks Alexey Kotovich!) You may now use CHARSET_TRANS> (for transfering/receiving messages) and CHARSET_LOCAL> (for displaying/inputting messages) in your config file!. For example CHARSET_TRANS>CP1251 and CHARSET_LOCAL>K0I8R are Russian default ones. If you specify 0 as their value, Convertion will be disabled.
+ You can now enable or disable the default BEEP setting by using BEEP>1 or 0 in your config file.
+ You can now specify LOGALL>1 in your config file to enable Auto Logging! 0 will disable auto logging on startup.
+ Reduced the maximum message size from 500 to 450! The server wasnt accepting
500 byte messages!.
+ Fixed a bug in Comfortable Mode!
+ **HOT** New YSM UP TO DATE Version Checking option! If you specify in your configfile VERSION_CHECK>1 your ysm will automatically check if you are running the Last ysm version!. 0 will disable it.
+ Now YSM_Connect has a verbose mode option (code use)!


22th Mar
+ Added New Languages! GERMAN ITALIAN and SWEDISH!
+ Now using 'w or wo' next to a string such as 'w p' or 'w pat' you will
be listed with all those slaves starting with p or pat!
+ Now the output of 'w' or 'wo' is organized in different status!

+++++++++++++++++++ YSM 2.6.1 +++++++++++++++++++++++++++++

18th Mar
+ Added a russian language header file! check YSMLangs/ (thanks Yuri Malinovsky)
+ Win32 - Removed the snprintf() port (David L.!) by now we will use _snprintf (yes, compile under vc++ with the new .dsp) until we get a non buggy snprintf.
+ Win32 - Changed the config default path to $HOMEPATH or if the variable isnt found, as always c:\
+ Win32 - Added a new ysm dsp file for compiling under Visual C++ !
+ Win32 - Fixed a bug for the 'w' and 'wo' commands.
+ Win32 - Removed unused Windows socket variables.
+ Win32 - Implemented a new getpass() function for not showing the pass :)
+ Win32 - Fixed a bug in AUTO AFK by IDLETIME.


+++++++++++++++++++++ YSM 2.6 +++++++++++++++++++++++++++++++++

17th Mar 2002
+ *REALLY OUTSTANDING HOT* New HTTP / HTTPS PROXY SUPPORT!
Using the PROXY>iporhost PROXY_PORT>whatever PROXY_HTTPS>0 or 1
you can start using ICQ right away! proxied!
+ *REALLY HOT* New 'readafk' command! Scroll through your stored AFK Messages
and clear the log without leaving ysm ! the default ammount of messages per
time shown is 3, you may still specify in your config file using AFKMAXSHOWN>x
the ammount of messages where x is a number > 0.
+ Now using 'afk message' you can directly set the afk message! if you dont
specify a message, the default specified in the config will be used!
+ Updated some documentation files.

16th Mar 2002
+ YSM is now officialy GPL!
+ Fixed a while-blocking loop which caused some input hangs.

08th Mar 2002
+ New! Fixed newlines for carriage returns on messages and displays! (thanks Tobias B.!)
+ New! Using the config with MSG_KIND> you can select how to display your messages! Either ONELINE(0), VERBOSE(1) or IRC(2)!! Still default is IRC. (Thanks Tobias B.!)
+ New! the Default Message text color is now defined in YSM.h under the COLOR_MSGTEXT constant! (Thanks Tobias B.!)
+ New way of displaying incoming messages applied. (Thanks Tobias B.!)

02th Mar 2002
+ *HOT* *WEEHA* Added multi language support to YSM. now every language has its own header file inside YSMLangs/ directory. For switching between different
YSM languages, edit the YSM_Lang.h file. 
If no language is defined by the user before compilation time, then 
ENGLISH is the default used.
+ New ! you can now use backspace to go up one line!, fixing the bug where
long messages were difficult to delete! (cool fix by ccas!)


27th Feb 2002
+ Fixed a bug where newlines in messages werent being sent.

26th Feb 2002
+ Fixed a bug in 'm' using nick completition, it didn't work now it does :)
+ fixed a bug where the 'r' command pointer wasn't being updated when
you were messaged by someone using the miranda client or equals, so if you
used the 'r' command it replied the slave before the one who messaged you.
its now fixed.

+++++++++++++++++++++ YSM 2.5 ++++++++++++++++++++++++++++++++++++

25th Feb 2002 (00:00am in the morning!) (YSM 2.5)

+ *EXTREMELY HOT* hehe. Nick Completition! Just start typing either
'msg' or 'm' and part of the slave name and press <TAB> woalla! :)

24th Feb 2002 (00:00am in the morning) (YSM 2.5)

+ Fix for auto AFK if you are now in INVISIBLE mode the status isn't
changed to away!. (we are no client that supports busting! :P)
+ Fix! fixed a careless bug in the config file under the SLAVES tag
when deleting a slave having downloaded contacts from the server,
each slave got separated by a BLANK space. No more!
+ Now the AFK Message is either defined in the config file using the
AFKMESSAGE> parameter, for example:
AFKMESSAGE>this is my AFK message
or it will take a default value in case this parameter doesn't exist
+ New ASK_KEYMAP> and ASK_DOWNLOAD> options in the config file!. By using
0 or 1 values you may disable/enable to be prompted for the KEY mapping
settings or about the contacts download feature!.
+ You may now specify "0" in your config file IDLETIME> param in order
to disable automatic AFK mode.
+ Another comfortable fix, the prompt was being re-written whenever you
were typing something an a status change was printed in the console.
the prompt now shows up the way you left it, after printing the status
change.
+ And one more comfortable fix! if you typed anything such as "faggot"
in the console and pressed tab, it would seek for a slave in the list
but remove "faggot" from the msg data, it now keeps the word.
But, there is a prob that i cant still keep it if you keep cycling more
than one time.

23th Feb 2002 	(YSM 2.5)
+ Windows makefile fixes! (thanks to David Lindauer)
+ re-added the snprintf() function since just vc++ had a definition for
_snprintf. So if you want to use _snprintf instead of sprintf, just add a 
#define snprintf      _snprintf
line in YSM.h  (thanks David Lindauer again!)
+ there was an ifndef WIN32 missing in YSM_Prompt.c for a structure
definition. it is now fixed (Thanks David Lindauer!)
+ Finished a lot of networking changes i made along with Alejo one
of YSM developers. Now there is just one spot in the code where the main
packets reading is made.
+ Padding is gone! The win32 padding was eliminated! and now structure
sizes are defined as FLAP_HEAD_SIZE and SNAC_HEAD_SIZE.
+ Some small code fixes and network related bugs were fixed.

+++++++++++++++++++++++ YSM 2.4.2 +++++++++++++++++++++++++++++

19th Feb 2002 (later at night) (2.4.2)
+ Horrible bug fixed! I don't even know how i got to code that line :)
but a bug when global logging was ON is fixed. 
+ *HOT* New Comfortable fix! Now once you are typing something on YSM's prompt
and you receive a message, your line is restored below the printed message!
Instead of being all messy, so you dont loose control on what you were
typing!.
+ *HOT* New TAB Online Slaves Scrolling! You can either use <TAB> without
having typed anything to generate a message body to the last Slave you
messaged. or once you started typing something in the prompt, use <TAB>
to cycle/scroll through your online slaves with a message body!
+ Possible network bug fix! Sometimes a client stucks inside a read loop
when incomplete packets arrive.


19th Feb 2002 (2.4.1)
+ New Idletime! if you dont already have one, add a line like
IDLETIME>x to your config where x is the ammount of minutes to
wait with no keyboard input before automatically going into AFK MODE!
+ New Bug fixed! When deleting a slave before having sent/received messages
a segmentation fault was prompted. Not any more!
+ More debug information if YSM_DEBUG is defined!
+ Fixes on compatibility with miranda and trillian clients!

17th Feb 2002
+ New ysm official site on http://ysmv7.sourceforge.net !
+ *HOT* More fixes on the downloadable contact list from the server! God! took
me 5 hours of straight data staring at night, and thanks to Sean who
kept sending me dumps of data to be parsed.
+ New <TAB> function key! Message the last slave you messaged!
+ *HOT* New shortcut function keys! you can map your keys!
+ New timestamp on common messages!
+ *HOT* New search command for finding users by their emails!
+ Fixes on the slaves list eliminating ghosts and
possible problems with the contacts.
+ Fixes on some unknown subtypes on randomly incoming messages.
+ Fix on the slaves list so you cant add twice a contact!
+ Fix on Ysm's console its now all set for your terminal!
+ Changes on getkey(), some leaks were fixed.
+ New Security checks! Starting by..root cant use ysm! :)

11th Feb 2002
+ New ysm config directory! now everything goes inside ~/.ysm
+ fixed a known status repeat bug.
+ New AFK MODE! incredible but true! I came up with this weird
idea i just finished! check docs/COMMANDS for AFK mode instructions.
or type 'afk' in ysm.
+ New Logging system support! Check COMMANDS inside docs/ for
instructions on use.

07th Feb 2002
+ Created the YSM CVS Mailing list where you can now suscribe! 
just go to :
https://lists.sourceforge.net/lists/listinfo/ysmv7-cvs
+ Now YSM compiles in BeOS!
+ Changed the way Makefiles are used now just type 'make' and
your system should know what makefile to use!.
+ Made a getpass() function compatible with Win32 and BeOS.

04th Feb 2002
+ fixed some unknown snac types!
+ fixed a bug in buddy status where it used to crash!
+ New parseslave function and now slaves are all in lowcaps!.
+ New specific BSD Makefile! just rename Makefile.bsd to Makefile in order
touse it.
+ New Centericq to Ysm contact list convertion! check YSMConvert directory!
+ Now offline messages support! Sorry for the delay!.
+ Re-wrote the ReceiveMessage function so you can now get those Messages
from icq2001 clients you were missing!.
+ INCREDIBLE but TRUE. I implemented the "DOWNLOAD CONTACTS FROM SERVER"
feature! What do you think! God! finally!.
+ fixed a bug in comfortable message mode every newline was being
counted as a new message byte len.
+ added Slaves Status Flood Protection! read the docs/README file!.
+ added the clear command! it now clears your screen!.
+ added help menus for the missing beep, clear, r, etc comands.
+ added an fflush() call after calling every printf call.
+ Fixed the shocking client exit messages when receiving unknown 
types of messages or invalid data from the server.
+ Fixed a known bug in YSM_Set_Buddy_Status() Client used to coredump
while receiving 0 byte messages from the server!.
+ New licq2Ysm scripts! Check the YSMConvert directory ! (Thanks aweil!)
+ New Makefile ! Now compiles each .c file in a sepparate .o and then
links them all! ( Thanks aweil! )

17th Jan 2002
+ Now "r" and "a" support message data on the very same line. if non is
specified, then it enters comfortable mode.
+ New "wo" or "slavesonline" command. Shows Currently logged in Slaves!.
+ New "info" command. Shows important information about the session.
+ New "beep" command. for enabling or disabling Message and Auth beeping.
+ New "whois" command!. Now using whois <uin> or SlaveName you can get
detailed information on the user!.

16th Jan 2002
+ Created and independent YSM_Help.h file where Help msgs are now stored.
+ Fixed the incoming Messages problem!.
  Now messages between Ysm clients are possible and with other clients too!.
+ Added support for incoming URL messages. (was the TypeB bug).
+ Fixed InitC buf[3] bug (Thanks David Lindauer again)
+ Changed the way Slaves are listed (now 1 Slave per line) 
+ Fixed a rand() call and sudden server logouts (Thanks David Lindauer).
+ Started the YSMConvert Project, check the YSMConvert directory.
+ Windows Port available! Use the Makefile.win file! (needs some lil work).
+ Fixed compilation warnings under OpenBSD! (Thanks fidel!)

1 Jan 2002
+ Added the Help and Info command. (thanks to aSy)

27 Dec 2001
+ Fixed the (null) slave Name shown up on non-slave messages.
+ Fixed a bug in InitA, buf[3] is now buf[4]. (Thanks David Lindauer!)
+ Moved the directory "Docs" to "docs"
+ Created docs/.INDEX 
+ New YSM_SLAVE_SLASH_MESSAGE feature. Read the docs.
+ New "r" reply command, Send a reply to the slave who last messaged you.
+ New "a" Another Message command, Send "a"nother message to the last slave
you messaged.
+ Temporary fix for an inexisting channelID termination. It will now only
display the messages if its in DEBUG and wont quit.
+ Half implemented whois command, doesn't yet work, but the command and the
  functions are in the code.

