-*- coding: utf-8 -*-

2005-04-27 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* fix: i18nInit() was called twice, second time with LC_MESSAGE
	  (thus, LC_CTYPE was effectively ignored)
	* fix aligning for non-UTF-8 locales (only question marks
	  in non-latin non-UTF-8 locales in finger output)
	* 0.5.0.3

2005-04-24 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* auto-update: forget accidently set explicit local character encoding
	* fix segfault on h <nick> 99999999999 - just display all messages
	* hide unknown roster types 15 and 20
	* print normal contacts first
	* 0.5.0.2

2005-04-16 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* re-set temporary away messages on manual status change
	* ru micq.7 update by Seva Gluschenko
	* implement auto-expanding aliases
	* implement contact delete
	* import new contacts into correct group
	* revert tty settings for most UtilIOReadline(stdin) calls
	* get rid of no-op Echo_On, Echo_Off macros
	* re-work and implement contact import to always modify group and flags
	* refactor encoding flags a bit to fix encoding always hardcoded in micqrc
	* also set CO_ENCODINGSTR when guessing CO_ENCODING so it is shown and saved
	* assume contact list to be UTF-8 if it is valif UTF-8
	* further code clean-up in i18n (hope it doesn't break anything)
	* set locale-broken flag properly if setlocale fails

2005-04-07 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* keep old version of micqrc/status file
	* fix little memory leak
	* ru micq.1 update by Seva Gluschenko
	* fix last command to display all remembered messages
	* fix display of group ids
	* only print auto-response-message-sent-messages
	  when user wants to see status changes
	* fix busy loop in GnuTLS code
	* send temporary away messages also for explicit requests for them

2005-03-31 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* remove useless copying of input line;
	  avoids input line stripped to 1023 characters
	* hide repeated messages in log

2005-03-07 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* fix segfault of ^Y if there is nothing to yank
	* correctly split messages at 0xFE where required
	* merge changes suggested by Hans Fuchs into micq.info file
	* new ReadLinePrintWidth() function to left-align text to given width
	* use in ss command
	* correctly reset tabbing on ^U

2005-02-28 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Try to fix incomplete file transfer
	* 0.5.0.1

2005-02-26 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* fix handling of server's response to type-1/type-4 messages
	* recognize BOS and SERVICE familiy errors and ignore them
	* clear CAP_UTF8 on Trillian, as it doesn't actually understands it
	* make prompt reappear after ^L
	* fix uninitialized mem access in tabbing code
	* do not close(-1)
	* some file transfer fixes, avoid segfault

2005-02-17 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* identify new versions of licq as SSL capable
	* fix OpenSSL connections
	* remove iso8859_*, use ISO8859* without any - (HPUX)
	* pt.i18n update
	* pt micq.1 micq.7 micqrc.5 update
	* Trust result of nl_langinfo *sigh*
	* add Mac OS X compiler #define
	* fix peek command to actually work
	* update ru.i18n
	* remove bogus offline state switches
	* make time to reveal invisibility to receivers of
	  messages configurable, new default 10 min

2005-02-14 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* update sk.i18n
	* 0.5

2005-02-01 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* add parameter to quit command
	* add 'verbose sane' for typical verbosity
	* add peek2 command, alias for getauto away
	* fix getauto command
	* apply chat-command patch from gnomeking__at__gmail.com
	* fix toggling intimate/hidefrom (previously could lead to nothing,
	  or to becoming visible to everyone)
	* be 'intimate' for a user for 5min after talking to him
	* hopefully fix segfault in roster.c
	* fix \r in messages corrupting terminal output
	* interpret \r \n \r\n \n\r all as one newline
	* fix parsing of contacts to better find the longest match
	* try to fix -u -p -C
	* actually save connection options
	* more sk.i18n and man page updates
	* hide unimplemented contact list functions
	* fix away for W32
	* add example ~/.micq/event script
	* update capability list, detect newer licq versions
	* add big fat warning to reference version in .i18n file
	* fix email/web pager messages

2005-01-25 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* fix a few translation strings
	* fix %s order
	* add a few new capabilities

2005-01-04 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* fix capability array overflow, now allow 63
	* update sk.i18n
	* assume setlocale() to be working correctly if nl_charset() exists
	* add sk man pages
	* implement hideack option
	* ignore trailing white space on add command
	* allow C for no translation - C locale still sucks
	* set locale to broken if encoding locale is set
	* merge man page installation into one Makefile.am
	* update all en and de man pages
	* allow for a forth encoding alias - HPUX sucks
	* fix allocating too few bytes in history/find commands
	* fix segfault in conv.c
	* try to fix HPUX iconv
	* fix a few compiler warnings

2004-12-16 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* compile fixes in OpenSSL code
	* fix missing @LIBICONV@
	* ru.i18n update by _Iww_
	* also search translations in the default base dir
	* don't open connection twice
	* use mICQ as my name pre-installed nick
	* fix color handling
	* create base dir early
	* fix bulk adding of contacts
	* interpret rosterok as empty list
	* show (wrong) contact for which an upload error occured
	* do not overwrite contact flags while downloading
	* show tag and id if verbose
	* add notab keyword to msg command to suppress addition to tab list

2004-12-04 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* use different option for loading the sbl
	* fix uninitialized variable on cmd_user.c
	* #define timelocal mktime if it doesn't exist

2004-11-09 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* fix double-free found by Ralf Kutschenreiter
	* ru man page update

2004-10-23 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* a bit more syntax in util_syntax.c
	* add OpenSSL exemption to licence

2004-09-07 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* another attempt at fixing -s
	* check-in missing update

2004-08-28 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* improve help command (rtc)

2004-08-17 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* fix missing break
	* add undocumented 'contact delid' command to delete server
	  side contact list items
	* re-add missing sr.i18n
	* renumber strings due to changed format string

2004-08-10 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* make ESC DEL delete last word
	* try to fix parameters once more
	* send correct ADDEND
	* add 'contact activate' command
	* properly decode rate limits
	* reserve lower roster id numbers for special roster entries
	* fixes, create ImportTime, nuke entry type 17
	* add ICQTIC if missing, fix missing ADDSTART/ADDEND
	* fix authorization required contacts

2004-08-01 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* option 'local' for non-contacts
	* send correct type to server when uploading contactst
	* try to update group on server as well
	* Tcl double-^C fix from stable
	* fix upgrading issues
	* add sk.i18n from Ján Stanik
	* add missing include in util_tcl.c

2004-07-24 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* re-implement roster code, now does allow to upload contacts
	* implement roster diff
	* try to handle contact groups correctly, less output
	* implement auto-update feature to fix some configuration values once on update
	* ... and use to switch off autofingering once
	* replace 9999 i18n numbers
	* fix default i18n file encoding to UTF8
	* make 1008 default local encoding
	* import & update *.i18n files from stable
	* fix some micqrc loading bugs
	* fix potential segfault
	* fix another segfault
	* fix segfault for removed contacts
	* extra check for NULL contact group name
	* fix uninitialized value in roster code
	* try to fix contact group handling in roster code
	* add 'shadow' option to not display contact(s| groups) unless specificially mentioned

2004-07-14 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* make optional arguments for status changes the temporary away-message,
	  which is not saved
	* fix wrong #ifdef spotted by Roman

2004-07-04 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* fix segfault
	* separate contacts from different server connections
	* update spec once more

2004-06-24 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* disallow tabbing when not in default prompt
	* remove backslash handling on final arguments upon popular demand
	* copy updated .spec
	* do not add lines to history when tabs are disallowed (i.e. when prompt
	  has been changed and a command requests input)
	* corrected (hopefully) tabbing, add time stamps to tabs command

2004-06-16 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* know about family 34
	* fix segfault at setup
	* Tcl fixes from Roman
	* fix segfault found by Roman
	* apply OpenSSL patch

2004-03-11 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* apply Sebastian Felis' historyd command patch
	* indent URL messages properly
	* fix tabbing logic errors
	* fix quoting in libgnutls.m4
	* fix never disappearing special prompts
	* fix parsing of broken micqrc
	* try to fix client detection on 64bit platforms

2004-01-17 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* detect ICQ2003(b)
	* allow UTF-8 for non-normal messages
	* improve 'last'-history by saving outgoing messages as well

2004-01-15 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* change malloc()ed size as suggested by Sebastian Felis
	* apply Sebastian Felis' history dump and search patch
	* make message splitting correct
	* ignore CAP_STR_2001 and CAP_STR_200 messages
	* handle type-1 encoding differently (for debugging)
	* adapt "conn login" help string
	* add large file test

2003-11-26 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* detect new Kopete capability
	* opens current instead of first connection if no number is given
	* interpret number as UIN for conn login if there is no connection
	  with this number
	* display "Your status is offline (<last status>)" instead of "Your
	  status is <last status>" when offline
	* fix indentation once more

2003-10-20 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* fix compilation under --disable-peer2peer
	* fix QNX compilation, remove #includes that are already done in micq.h
	* fix contact group mess
	* improve debugging
	* fix configure check for variadic macros
	* work around gcc-2.95 preprocessor bug
	* fix segfault in contact meta data handling
	* rename session.c to connection.c and ConnectionClose() to ConnectionD()
	* move s_parse*() functions into seperate util_parse.c
	* rename contactopts.c to util_opts.c, and ContactOptions*() to Opt*()
	* rename/split cmd_pkt_v8*.c into oscar*.c
	* fix compiler warnings on MinGW
	* split oscar.c to oscar_icbm.c and oscar_flap.c
	* move cmd_pkt_cmd_v5.c cmd_pkt_cmd_v5_util.c cmd_pkt_server.c
	  network.c to oldicq_base.c oldicq_client.c oldicq_compat.c
	  oldicq_server.c oldicq_util.c
	* rename oscar_flap.c to oscar_base.c for consistency with oldicq_*
	* reimplement mselect.c functionality in util_io.c, rename M_print{f,}
	  to rl_print{f,}, M_logo* in rl_logo*, M_pos in rl_pos
	* fix gross logic error in util_io.c
	* recognize CAP_UTF8 on auto-replies to normal messages
	* detect MobICQ
	* don't save temporary contact groups
	* rewrite rl_ debug function without strndup()
	* use 4-byte-type to store current edited line
	* convert codepoints to wchar_t for wcwidth()
	* fix tabbing; also tab through aliases
	* fix command execution when no UIN is given on the command line
	* fix segfault (thanks rtc)

2003-10-06 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* more SSL/Tcl compile fixes
	* add zh_TW.i18n from stable
	* show online since time for online contacts, last seen time for
	  offline contacts; save timestamps via contact opts
	* POSIXify usage of tail
	* fix typo resulting in lost CFLAGS
	* fix/improve s_catf(), s_sprintf() memory strategy
	* add s_split() to split and recode a string, with given maximum string length in
	  bytes in target encoding
	* expose ConvGetUTF8() again
	* move replacement #defined for iswalnum to datatype.h, add check for iswspace
	* display SSL flag correctly by using correct variable, add SSL status in verbose mode
	* allow licq SSL request messages for PeerMsg() (*outch*)
	* print newline seperatly to cope with overlong lines
	* ConvTranslit(): manual transliteration; absoletes HaveUe()
	* implement webaware, hideip, dccont, dcauth as contact options
	* rewrite contact option handling to reduce complexity,
	  but allow arbitrarely many flags
	* remove extra* struff in favour of (contact)options
	* fix peek command
	* check for #defined CODESET
	* change s_parse() functions to return result directly for pointer types
	* add s_parselist() to parse for a list of contacts, use everywhere
	* fix cursor moving at end of line at last column
	* implement command line option for status
	* nuke search request event if the search failed and try some
	  usefull error messages
	* implement event dependencies
	* fix dc message mem leak
	* fix file transfer
	* move unknown-nick-messages to s_parselist*() to simplify code
	* add 'x' command to exit without saving
	* add debugging to queue by counting events
	* new command '_queue' when #ifdef ENABLE_DEBUG to list message queue
	* fix: assume UTF-8 as file encoding for contact meta data files, fix fast comment test
	* fix printing milliseconds in Debug() output
	* various optimizations and boundary check fixes in util_str.c
	* change connection open functions to return Event to depend on when connecting is finished
	* reorganize command line parsing into new Init() function
	* improve -v option parsing
	* allow -s off[line] to not open the connection
	* generalize eg logon command into new command line parameter -C to
	  execute arbitrary mICQ commands upon logon completion
	* fix auto-reconnect
	* fix: guarantee different buffers for ConvTo() and ConvFrom()
	* expose new PrefNewConnection() to constrcut a new default server connection
	* when opening v8 server connection, print contact
	* fix contact group handling in 0.4.10.x compatibility code
	* add -s status and -p password switches, and allow more than one UIN to be given
	* discard unassociated p2p conections
	* up build number
	* cache C.i18n versions in i18n-template
	* fix contact list downloading

2003-09-23 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
        * fix Tcl (broken call backs)
        * fix SSL (man page, no more connection failed on unanswered SSL request)
        * fix alias expansion when no argument is given

2003-09-22 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* backport file transfer fixes from stable
	* handle ^W (delete-word-backward)

2003-09-15 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* fix rl_uca_st() macro
	* add fallback if locale is broken

2003-09-03 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* implement double-width character support
	* fix line breaking bugs exposed by the former
	* fix SIGWINCH handling
	* implement ESC b, ESC f as backward-word, forward-word
	   as requested by Thorsten Sandfuchs
	* implement backwards tabbing via ESC [ Z (shift tab)
	* fix conversion fallback for WCHAR_T

2003-09-01 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* add convenience macros s_wordquote, s_msgquote (both for s_mquote) and
	  s_qquote (for s_cquote), and use s_*quote to make sure all incoming/server
	  data is decontaminated from control sequences
	* fix infinite loop in rinfo
	* workaround bug in Miranda < 0.3.1
	* make configure test for encodings work with autoconf's cache,
	  get rid of created .h file
	* add configure tests for wchar_t, wchar.h, wcwidth()
	* add fallback function for conversion to/from WCHAR_T
	* activate v8 (versus v7) authorization packets
	* fix failed assertion due to wrong check for server type

2003-08-29 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* fix registration of new UINs
	* also create p2p listener
	* guard more code with #ifdef PEER2PEER
	* discard connection if no new UIN is granted
	* fix reconnect
	* fill in conn->cont after status file is read in
	* fix compilation bugs found for MingW port
	* fix missing line break for language contact info, improve display
	* reduce calls to ContactPref() in PacketDump() and reduce dependancies
	  by adding parameters for the debug color / no color to use
	* replace fHexDump() by call to PacketDump()
	* fix login sequence, don't send CliRosterAck (fixes invisible)

2003-08-18 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* replace some UDWORD uin by Contact *cont members
	* on the way rename PacketWriteUIN() to PacketWriteCont(),
	  make PacketReadUIN() return screen name and PacketReadCont() a contact *
	* ConnectionFind() is split into ConnectionFind() and ConnectionFindUIN()
	* remove some obsplete declarations: macro Get_Config_Info,
	  Get_Unix_Config_Info(), Set_rcfile(), PeerFileRequested()
	* remove dead code: icq_sendmsg(), TCPSendMsg ()
	* make sure all IM* functions get a Connection* to the server session
	* fix too early line break
	* fix segfault in meta data setting
	* rename all Connection *conn to serv as they're server connections in *snac.c
	* merge PreferencesConnection into Connection, drop some duplicate entries
	* remove unused cases from ConnectionFindUIN()
	* fix segfault if contact group name is undefined
	* reduce race conditions on signals
	* fix cursor placing after ^Z
	* allow a cleanup call for sticky user commands
	* fix contact group leak that way
	* make sure cursor really wraps to new line
	* improve tab handling: expire outgoing to incoming tabbed contacts after 5 mins

2003-08-16 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* remove obsolete tab micqrc option
	* remove obsolete alter name member in user command table
	* remove obsolete CmdUserLookupName()
	* add missing special case for opts user command
	* fix a bunch of missing initializer, missing prototypes and signedness differences
	* up build num after so many changes (0.4.99.4)
	* fix to use \ instead of latin1-¶
	* fix _ input bug
	* fix iconv() fallback functions
	* fix fallback function list for --disable-iconv
	* fix prompt re-display
	* fix infinite loop on connection close
	* fix direct connection sending
	* fix another infinite loop in tab handling

2003-08-15 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	** complete rewrite of line editing code:
	* new: util_rl.c, util_rl.h with ReadLineInit() - initialize code;
	  ReadLineTtyUnset(), ReadLineTtySet() - set terminal options for mICQ and undo;
	  ReadLineClrScr() - clear +screen; ReadLine() - process input byte;
	  ReadLinePrompt() - show prompt; ReadLinePromptHide() - hide prompt;
	  ReadLinePromptSet() - set prompt; ReadLinePromptUpdate () - update prompt (ignore if too often);
	  ReadLinePromptReset() - set default prompt; extern int rl_columns - keeps current screen width;
	* remove functions: R_init(), R_undraw(), R_redraw(), R_setprompt(),
	  R_setpromptf(), R_settimepromptf(), R_resetprompt(), R_remprompt(),
	  R_prompt(), R_process_input(), R_getline(), R_pause(), R_resume(), R_goto(),
	  R_clrscr(), R_isinterrupted(), Get_Max_Screen_Width();
	* turn Echo_Off(), Echo_On() into no-ops
	* new CmdUserInterupt() - call if interrupt has occured
	* remove: TabGetAny(); new: TabHas() - check if Contact is in any of the tab lists
	* make Tab* parameter/returns const
	* do not store contacts in outgoing list into incoming list
	* new line editing code features better unified tab completion and supports
	  characters of arbitrary cell width
	* lots of new static rl_*() functions; lots of calling name fixes

2003-08-15 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* make util_str.h a default include
	* new: s_catn() - append n bytes, s_insn() - insert n bytes,
	  s_insc() - insert one byte, s_delc() - delete on byte, s_deln() - delete n bytes
	* turn remaining COL* macros into ContactPrefStr() calls
	* differentiate better between incomplete input sequence, broken input
	  sequence and unavailable character if possible
	* change tab handling to have two lists, for incoming and outgoing used contacts

2003-08-11 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* remove obsolete commands: w-old, e-old, msg-old, alter
	* remove obsolete code, don't write compatibility section in micqrc anymore
	* remove unmaintained, unsecure non-WORD_WRAP code
	* fix another stupid type-1 bug

2003-08-09 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>(stable-0-4-10)
	* fix those freakin' \x## parsing
	* add zh_TW translation from Kenneth Chan

2003-08-09 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* fix COLMESSAGE abuse by introducing COLQUOTE for quotes/options
	* optimize color handling and get rid of CX* macros
	* actually use the contact's settings for incoming/ack/message color
	* show and edit only options relevant to contact/contact group/global
	* update opt command to use more COLQUOTE
	* add specialised commands optglobal, optgroup, optcontact
	* fix segfault introduced by last sucky setlocale() workaround
	* fix segfault if contact group name is empty
	* fix \x## output
	* fix segfault due to uninitialized string for type-1 messages
	* fix double Warning when no locale is given at all
	* fix warning message for C locale
	* make COLCONTACT per-contact
	* escape more US-ASCII control codes
	* bring back possibility to not load any translation by using the
	  en_US.US-ASCII locale
	* fix the opt command for undefining strings
	* re-implement and fix CmdUserStatusWide(), remove obsolete MAX_CONTACTS #define
	* a few contact management and CmdUserStatusDetail() fixes/changes

2003-08-08 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* fix \x## decoding; quote empty string as "" in s_cquote
	* keep color through line breaks
	* use nl_langinfo() from langinfo.h
	* change i18nInit() and i18nOpen() to always access the global preferences:
	  thus, a reload of the translation may change the output encoding used
	* make sure my name is transliterated if the umlaut is not supported in the given locale
	* split ENC_AUTO #define into ENC_AUTO (no encoding yet found) and ENC_FAUTO
	  (flag for autodetected encoding) to allow to have an auto-detected ASCII encoding
	* use US-ASCII as default instead of LATIN1
	* use ENC_* macros instead of hard-coded array indices
	* fix unset return string length of iconv_*_iconv()
	* change translation search order: first check for file with current encoding in it's name, then without
	* use shifted indices for funny messages instead of seperate translation file
	* fix long-name command line parameters
	* issue big, fat warnings if setlocale() doesn't understand the locale,
	  if no locale is set, or C or POSIX is used as a locale
	* add *.m4 files from gettext that were used for the iconv() check
	* work-around for even more buggy iconv() implementation
	  (those that return de_DE with iso-8859-1 when de_DE.UTF-8 was requested, but unknown)

2003-08-05 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* change iconv() configure test - check the correct name of the standard encodings at runtime
	* allow fallbacks for standard encodings to be compiled in depending on iconv() or all by demand
	* re-implement iconv() fallbacks as seperate function each and compile only the needed ones
	* select iconv() vs fallback in a new initialization function ConvInit()
	* split ConvToUTF8() into ConvFrom() and ConvFromSplit()
	* rename ConvFromUTF8() to ConvTo(), macro c_in_to_0 to ConvFromCont,
	  macro c_in_to to c_in_to_split, macro c_in to ConvFromServ
	* use strc_t for the arguments/returns of those
	* change UtilIOReadline to return a strc_t as well
	* conv_error external to report unknown encodings
	* add a huge warning if neither iconv() nor fallback of standard encodings are available
	* make s_parse fill in a strc_t instead of a char *
	* use s_parsekey() instead of some adventurous constructs in some places
	* transcode an file input line before parsing it to reduce number of conversion calls
	* fix s_parse() \\x.. parsing
	* ... and fix uncountably many calls to changed functions.
	* up buildmark and version number
	* new s_cquote(): quote a string, hex-encoding control characters, adding quotes and color
	* new s_mquote(): ^-encoding control characters (except maybe \n), skip \r and trailing \n, add color
	* use s_cquote()/s_mquote() in some places, in particular for displaying contact meta data

2003-04-08 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>(stable-0-4-10)
	* update it.i18n 

2003-04-08 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* src/contactopts.c, include/contactopt.h: new file to cope with contact options,
	  which can be flags or strings; currently intimate,hidefrom,ignore,auto*
	* use them in contacts, contact groups and globally
	* allow for arbitrarely many connections
	* replace contact structure for aliases by a linked list of char *, obsoletes CONT_ALIAS
	* do not report back the nick used on the command line from s_parsenick();
	  always display main nick for messages
	* get rid of CONT_TEMPORARY by having a global list of noncontacts
	* split ContactGroupFind() into ContactGroupC() and ContactGroupFind()
	* make ContactUIN() a function (fixes failed assertion)
	* split PrefParse() into PrefParseVal() and PrefParseStr(),
	  ContactOptionsGet() into ContactOptionsGetVal() and ContactOptionsGetStr(),
	  ContactOptionsSet() into ContactOptionsSetVal(), ContactOptionsSetStr() and ContactOptionsUndef()
	* implement numeric options, allow debugging and fix implementation
	* implement color options
	* new ContactOptionsC2S() and ContactOptionsS2C() to convert between escape sequence and color description
	* turn 'encoding remote', 'b_enc', 'auto(away,na,...)', 'hermit', 'log', 'logonoff',
	  'quiet', 'quiet complete', 'color *' into contact options
	* don't hide unset webaware/hideip/dcauth/dccont options anymore

2003-07-22 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>(+stable-0-4-10)
	* fix mem leak, fix handling of failed malloc()
	* fix handling if uname()/gethostname() fails
	* fix crash if too many tlvs
	* these bugs were reportet by Robert Lemmon

2003-07-04 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>(+stable-0-4-10)
	* update Japanese ja.UTF-8.i18n
	* fix sound command, mark auto replies as such, add missing translations
	* update  de.i18n en.i18n
	* fix i18n-template to use stable branch only

2003-07-04 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* using UTF-8 internally is now mandatory
	* str_t-ify PacketCreate(), fix incorrect text termination
	* use macros ContactPref(),ContactPrefSet() to access contact flags
	* have a contact group associated to each contact
	* have contact flags for contact groups and global also;
	  query by ContactPref(), set by ContactPrefSet(), ContactGroupPrefSet(), PrefContactSet()
	* put contact groups and contacts into a seperate config file
	* save/load contact flags for contacts group and gloabl, fix slight mem leak
	* useless variable renaming (t->str) for better readability
	* deprecate the -f option - use -b instead
	* be safer in util_str.c to make sure "txt" member is never NULL
	* make sure prG->rcfile and prG->statfile are set
	* add functions to parse for keywords and contact groups
	* fix options saving for contact groups
	* new user command opt to set/clear/undef contact options

2003-05-29 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* apply str_t string type patch
	* fix: contact list loading; fix setup wizard; fix compile warnings (+stable-0-4-10)
	* use str_t everywhere where possible
	* fix possible segfault when connection fails (+stable-0-4-10)
	* try to recognize GAIM better
	* fix --nocolor flag (+stable-0-4-10)
	* fix buildmark format string
	* fix auto-away for Windows (stable)
	
2003-05-14 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>(+stable-0-4-10)
	* add UCS-2BE, drop CP1257 from list of required encodings
	* fix verbosity getting set to 0x8000
	* test for UCS-2BE as well
	* fix silent acception in DND/OCC state
	* don't send UCS-2BE type-1 to offline clients
	* show type-2 auto messages
	* add libiconv question to FAQ
	* fix yet another typo in iconv() check
	* don't regenerate *.i18n from *-UTF-8.i18n during build; fix compile error
	* interpret trailing \ as itself, fixes trailing \ on msg command
	* don't show status as offline for auto-responses
	* don't double-unquote the input line

2003-05-13 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>(+stable-0-4-10)
	* activate code using new strings: better display of used locale, add one missing help text
	* remove unused beos.[ch]
	* compile fix for ConvFits()
	* detect screensaver/locks on WIN32
	* hide meta ref error
	* change 'message' (undocumented) behaviour
	* fix temporary contacts
	* fix auto-away
	* use #defines for message timeouts
	* implement webaware, hideip, dcauth, dccont, but undocumented
	* don't set unicode byte flag for non-unicode
	* make -v0 effective during micqrc loading
	* fix meta load output
	* s/dead/deceased
	* new function UtilIOReadline() do read a line into a dynamic buffer; use everywhere
	* don't show groups of inactive connections
	* fix compile error when UTF-8 is disabled
	* understand dc update packets
	* automatically re-set status whenwebaware/hideip/dcauth/dccont is changed
	* reduce scrolling on logons when verbose
	* know that error 4 = offline for blocked messages
	* output dumb message for turboing lusers
	* FAQ: add question about encodings, add question about libiconv
	* recognize hex numbers when parsing integers
	* message sending tweak: use type-2 for URLs, but don't send UTF-8 except to mICQ
	* less timeout for peer2peer
	* silence compiler warning
	* implement preliminary contact error display
	* make sure contacts don't tunnel to other connections via the global list
	* new undocumented command "as" to run a command on a different connection
	* add i18n string: version without build date
	* make copyright visible so that those blind Debian/Mandrake/Red Hat guys realize that mICQ is GPLv2
	* add numeric build platform id, use
	* add loads of GPLv2 notices
	* fix iconv() configure check (s/none/buildin)
	* release as 0.4.10.3

2003-04-22 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>(+stable-0-4-10)
	* fix sending to DND and OCC, fix embedded status
	* fix pixmap location
	* fix assertion
	* BeOS fixes
	* fix missing -liconv in $LIBS
	* added missing string conversion to v8 user search (rtc)
	* corrected age parsing in search results (rtc)
	* moved authorization type display from the email to the nick name
	  field to match the meaning in a better way. (rtc)
	* corrected 'additional email addresses' meta info handling (rtc)
	* cleaned up MetaMore variables for uniformity (rtc)
	* added missing check for memcmp (rtc)
	* fixed fax not being displayed in Display_Ext_Info_Reply (rtc)
	* fixed UtilUIDisplayMeta() so it doesn't reserve empty meta info records when displaying them (rtc)
	* increased meta search grace time to one minute (rtc)
	* UtilUIDisplayMeta() usage in Display_Ext_Info_Reply() instead of extra code (rtc)
	* only display the information in UtilUIDisplayMeta() which is really available (eg white-page searching) (rtc)
	* remove auto-generated INSTALL from cvs
	* finish Indonesian translation
	* implement UCS-2BE; send/receive encoding-typed type-1 messages
	* fix TCPFLAGS to 1 for disabled
	* don't require open connection for the 'last' command
	* don't remove quotes from final arguments, but interpret \x as well
	* fix segfaulting when incoming type-2 messages were delayed the right way
	* change: for -b, take relative to cwd when it starts with ./,
	  otherwise relative to default base dir
	* rename TCP_MSG_* to MSG_* and TCP_MSG_GREETING to MSG_EXTENDED
	* understand ICQ2003 contact lists via extended messages
	* fix spec file to include man pages
	* add ru@fun
	* add cp-1257 for type-1

2003-03-11 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* add first traces of contact list upload, still unusable

2003-03-07 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>(+stable-0-4-10)
	* fix endless resend stuff
	* ignore empty nick names on contact list import
	* fix documentation glitches in man pages
	* update de man pages
	* uppercase encoding names
	* check for encoding name of latin1, latin9
	* fix 'Buggy: avoiding deadlock' message
	* remove 0xfe from log file entries
	* fix deprecated syntax messages for newly creates micqrcs
	* fix 0xfe problems
	* fix sending to DND and OCC
	* fix embedded status
	* RELEASE as 0.4.10.2

2003-02-24 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>(+stable-0-4-10)
	* debian sync
	* special-case around Kopete as well
	* Debian maintainer saw the light, so removing Debian blurb
	* fix importing multi-packet contact list
	* fix 0xfe stuff
	* update micq.spec
	* handle SRV_SERVERPAUSE
	* fix quoting issues with " in nick names, aliases, alters, ...
	* add pt translation

2003-02-14 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>(+stable-0-4-10)
	* fix set tabs command
	* fix buildmark
	* fix status code length (allows workaround for webaware)
	* start multiline mode by trailing \ as well
	* recognize several key codes for Home and End keys
	* better guard #includes, use more configure test results to #ifdef
	  around stuff that might be undefined on obscure platforms, use
	  _OS_PATHSEPSTR and _OS_PATHSEP vs. "/" and '/'
	* fix typos in micqrc.5
	* special case around buggy SIM 0.8.x for UTF-8 messages
	* use winsocks2; fix Windows terminal input
	* removed another #ANSI_TERM-unconditionalized ESC-sequence
	* fix 0xfe output for msg ack
	* fix last_sent_uin code
	* small fixes (mostly) for AmigaOS (CSI versus ESC [)
	* fix tab handling in some border cases
	* fix download of invisible/visible users
	* be more safe when using v5
	* hide winsock2.h and conio.h from Cygwin

2003-01-24 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>(+stable-0-4-10)
	* recognize kxICQ
	* fix reception of mass messages
	* fix building for builddir != srcdir
	* RELEASE as 0.4.10.1

2003-01-22 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>(+stable-0-4-10)
	* fix remgroup command
	* fix url/msg order
	* fix typos (thanks, David Krause)
	* fix segfault caused by printf-interpolation for type-1 messages
	* remove usage of sprintf
	* add serbian web pages

2003-01-19 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>(+stable-0-4-10)
	* fix tab handling for real
	* fix segfault when UTF-8 is enabled, but not used
	* update ja_JP.UTF-8.i18n, ro.i18n
	* rename ja_JP -> ja, sr_YU -> sr
	* fix encoding name (s/cp-1251/cp1251/)
	* add sr (serbian) man pages
	* move IP/port info to util_ui.c, drop dupe UIN display

2003-01-15 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>(+stable-0-4-10)
	* fix auto-away prompt string (wasn't always cleared)
	* fix stupid typo
	* fix __attribute__ stuff for real
	* add 1000: for encoding as well
	* fix time format string for Cygwin
	* fix setlocale() stuff to ignore empty LC_* variables
	* save contact's meta data as well when autosaving
	* fix setlocale handling
	* fix i18n-extract,i18n-template to be 7bit only
	* fix missing recoding of about text
	* fix: don't pinpoint latin1 charset in micqrc when no locale is used
	* use 1023 as default for PATH_MAX
	* use int instead of unsigned int for socklen_t
	* fix missing spaces and rephrase encoding options in micqrc.5
	* also try .UTF-8 file even if utf-8 is not current locale, but only after the normal file
	* fix encoding from i18n file
	* add sr_YU.UTF-8.i18n (Serbian)
	* add transcoded ja_JP.i18n and sr_YU.i18n
	* update ja_JP.UTF-8.i18n, uk.i18n, de.i18n, AUTHORS

2003-01-09 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>(+stable-0-4-10)
	* add pt_BR micq.7
	* fix compiler warnings (unused variables, UBYTE != char)
	* update *.i18n files (use branch release number)
	* don't use ^U for Unicode input, it's the kill character
	  (ESC u still works)

2003-01-08 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>(+stable-0-4-10)
        * fix buggy setlocale()s (workaround)
        * fix missing character recoding in tab completion
        * fix rand segfault
        * #define __attributes__ to nothing if undefined
        * fix configure tests on HPUX
        * fix spelling
        * fix freaking SIM/Kopete detection
        * suppress instant message error

2003-01-07 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* fix configure test for FIFO (test with O_NOBLOCK as used in util_io.c)
	* fix file group length reported in file transfer request
	* fix a/r tab deny
	* fix compiler warnings on BSD
	* refrain v5-in-v8 message sending of wrong message types
	* use C.i18n instead of build.i18n
	* update *.i18n files, drop old strings, fix string formats
	* rename fun.i18n files to correct name
	* man page updates
	* fix mICQ logo in nocolor
	* fix usage string
	* use string number 1000 for encoding insteaf of 1007
	* add needs-updating-notes to all not updated man pages
	* fix setup passwd breakage
	* fix autofinger and make default on setup
	* implement simple history
	* fix Kopete/SIM detection
	**
	** Release 0.4.10
	**

2003-01-04 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* expand extra parameters
	* deny tabs on r and a commands
	* compile-time configured LAN IP hiding
	* contact list download: also understand visible, invisible, ignored contacts
	* update online help and micq.7
	* fix embedded status in incoming messages related problems
	* update/move documentation for *.i18n files
	* print watching failures insetad of hex dump (SNAC (3,b))
	* delay login eg
	* make underlining a compile-time option defaulting off
	* some tiny fixes
	* rename silence to silent upon now3d's request
	* change mICQ logo again

2002-12-25 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* add ukrainian man pages
	* add alias quit, exit for q; file for peer file
	* new command getauto to fetch auto messages, replaces peer auto|away|na|dnd|occ|ffc
	* streamline dc auto message fetching into normal message sending
	* Document quit,exit,file aliases
	* add getauto command
	* document remote control (FIFO), encoding/format options, new event handling, contact groups
	* add configure test for remote control FIFOs
	* redo iconv convifuger test to check for minimum set of available conversions
	* require newest autotools
	* add configure test for gmt_off
	* prefer cp1251 to windows-1251 as that is supported by more iconv() implementations
	* fix segfault, underline every 5th line in status display
	* implement autofinger
	* re-implement set command to allow to change all options
	* make silence available in micqrc
	* document complete set command and set rc option
	* add issues from FAQ to man page
	* make receive/acknowledge string configurable
	* fix adding of temporary users with aliases
	* (preliminarily) implement splitting of overlong type-1 messages

2002-12-20 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* new stuff:
	- add autosaving of micqrc and meta data
	- new QueueDequeue2(): search for seq and/or uin
	- new Event->rel: new pointer for related event
	- new ExtraClone(): deep-copy an extra structure
	* obsolete stuff:
	* renames:
	* changes:
	- fold receivescript,soundonline,soundoffline into a single event command
	- implement per-contact encoding
	- change links to 0.4.9.4 man pages, not CVS man pages
	- man pages: transcode all possible characters to named characters (that is, except Russian)
	- man pages: replace some - meant as - and not as hyphen by \-
	- check for setlocale() and use
	- require autoconf 1.56 / automake 1.7
	- unify type-2 and tcp incoming message handling
	- note *BSD in default EXTRAVERSION
	- implement file accepting command
	- i18n-template: also add previous English string
	- add dated CVS snapshots
	* fixes:
	- fix meta data loading: wrong function called, test for strcmp inverted,
	  give empty string as a pair of double quotes
	- fix undocumented message command for type-2 when type-2 is not guaranteed to be understood
	- fix contact removing
	- fix event script segfault
	- fix saving -1 chat group as 255
	- fix saving auto remote encoding as actual remote encoding
	- fix typo; ignore format id
	- fix warning (errror with automake 1.7.2) about not-really missing files
	- fix iconv() calling
	- fix: recognize koi* as buildin koi8-u when compiled without iconv()
	- fix interactive input by new R_settimepromptf() for time-checked prompts
	- fix koi8 / win1251 buildin conversion
	- fix time format string
	- fix a few memory leaks
	- fix slow sending time
	- fix s_parserem() to advance input pointer (fixes file sending command), a few more syntax descriptions
	- fix wrong sender printed
	- fix scrolling for incoming messages

2002-12-02 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* new stuff:
	- add contact groups
	- add rtc's log converter, log util and log format readme
	- new ContactGroupIndex(): iterate through contact groups
	- new ContactGroupID(): return valid contact group id
	- new ContactIndex(): iterate through contacts in contact group
	- new ContactAdd(), ContactRemAlias(): add/remove aliases
	- new ContactUIN(): new macro, use instead of ContactByUIN( , 1)
	- new commands: eg, eeg, wg, wwg, addgroup, addalias, remgroup, remalias
	* obsolete stuff:
	- get rid of ContactByUIN(), ContactByNick(), ContactFindAlias():
	  use ContactFind() instead
	- get rid of ContactAdd(), ContactRem(): use new ContactAdd(),
	  ContactRemAlias() instead
	- get rid of ContactStart(), ContactNext(), ContactHasNext():
	  use ContactIndex(NULL, ) instead
	* renames:
	- rename ContactGroupAdd(), ContactGroupRem() to ContactAdd(), ContactRem()
	* changes:
	- implement contact groups: load, save, import, add/remove
	- increase M_printf buffer size, add SRV_ROSTER syntax
	- implement encoding setting for micqrc and meta data files
	- disable SJIS<->EUC via unicode reserved area hack
	- logmod.tcl: Added support for TCP direct connection records. Implemented splitting by UIN. (rtc)
	- begin support for meta data saving
	- make nick parsing case insensitive
	- allow -b argument to contain or not contain a trailing /
	- quote strings written to micqrc and meta data files properly
	- replace most UDWORD uin parameters by Contact *
	- sisplay eg instead of e when server connection established
	- bump numeric version id
	* fixes:
	- fix some i18n typos / wording improvements
	- fix snprintf/%n
	- fix using C locale (recognized as en_US with iso-8859-1)
	- fix dumb infinite recursion bug
	- fix logfile line counting
	- fix ENC_* #defines
	- fix possible zero TCP version

2002-11-13 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* new stuff:
	- add ^C handler (initial patch from kaolin)
	- add type-2 message sending
	- add Extra data structure to hold optional data
	- add compiler check for format strings
	- new SnacCliSendmsg2(): type-2 message with possible extra information
	- new ExtraFree: free a list of extra data
	- new ExtraSet(), ExtraGet(): set and get optional data
	- new ExtraGetS(), ExtraFind(), ExtraD(): new, handle extra options
	- new IMCliMsg(): send an arbitrary instant message tryig all transports
	- new CmdUserMessageNG(): new message command using IMCliMsg(), no max len
	- new PeerSendMsg(): send message with extra
	- new IMIntMsg(): central entry point for internal messages
	  regarding a contact (used for sent and acked messages/file transfers)
	- new ContactGroupFind(): find/create contact group
	- new ContactGroupAdd(), ContactGroupRem(): add/remove contact from contact group
	* obsolete:
	- get rid of ContactFind(): replace by definition
	- get rid of icq_sendurl(): replace by icq_sendmsg()
	- obsolete icq_sendmsg(): will be replaced by IMCliMsg()
	* renames:
	- Auto_Reply(): move to cmd_pkt_cmd_v5_util.c
	* changes:
	- add note about CVS snapshot to README
	- implement type-2 resend
	- make s_sprintf cope with arbitrarily long strings
	- recognize libicq2000 based clients
	- recognize alicq
	- swallow message/messagetype into *extra for SnacCliSendmsg2() and IMCliMsg(); don't reden peek; don't
	- segfault if no nick is given for msg
	- Store Extra in Event for more data, remove info char*
	- use EventD() everywhere
	- use IMCliMsg() everywhere except old message command
	- make utf8 default
	- don't beep for outgoing messages
	- avoid excessive realloc()ing
	- switch IMSrvMsg to Extra* style parameter
	- accepts colour for color as well
	- more correct handling of \xfe separator character
	- don't require CAP_ISICQ for type-2 for peek
	- increase packet size
	- don't abort on already closed connections
	- replace 8bit characters in code by escape sequences
	- remember type-2 packets send
	- make i18n-format check for newlines as well
	* fixes:
	- fix localtime() calling
	- fix segfault when saving
	- fix extra hyphen
	- fix coloring
	- fix some i18n strings to not reuse string # with different format
	- fix segfault in multiline msg
	- fix peek (again and again)
	- fix endlessly requested email
	- fix lots of memory hoes found with valgrind
	- fix a failed assertion in tcp.c
	- fix type-2 acknowledge
	- fix length of dc cookie

2002-11-01 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* new stuff:
	- add FIFO socket remote control
	- add remembering of contact meta data
	- new s_realpath(): expand ~, prepend base dir if relative path
	- new UtilIOConnectF(): open FIFO
	- new UtilIOReceiveF(): receive line from FIFO
	- new ContactByUIN(): find Contact by UIN, creating temporary if requested
	- new types MetaGeneral, MetaWork, MetaMore, MetaEmail, MetaObsolete, MetaList,
	  ContactGroup, ContactDC for ...
	- new structs ContactMetaGeneral_s, ContactMetaWork_s,
	  ContactMetaMore_s, ContactMetaEmail_s, ContactMetaList_s, ContactMetaObsolete_s,
	  ContactGroup_s, ContactDC_s
	- new user command ss, new CmdUserStatusMeta(): show stored status
	  info for user
	- new UtilUIDisplayMeta(): display all meta information given in the new structures
	- new ContactByNick(): find nick, optionally create if numeric
	* obsolete stuff:
	- get rid if Hex_Dump(): use s_dump() instead
	- get rid of UtilCheckUIN(): use new ContactByUIN() instead
	- get rid of ExecScript(): use new EventExec() instead
	- get rid of MsgEllipsis(): re-implement in M_printf()
	- get rid of ContactFindName(), ContactFindContact(), ContactFindByNick():
	  use ContactByNick() instead
	- get rid of CmdUserRInfo(): implemented in CmdUserInfo()
	- get rid of Display_Rand_User(): inlined.
	* renames:
	- src/util.c/clrsrc() to src/mreadline.c/R_clrscr()
	- ContactFind(): degraded to macro using ContactByUIN()
	- move Get_Max_Screen_Width(), Echo_Off(), Echo_On(), M_print(),
	  M_printf(), M_pos(), M_logo(), M_logo_clear() from util_ui.c to
	  mreadline.c
	* changes:
	- remember length of nicks and use in all events
	- test for iconv() and use if requested instead of home-brewn
	  conversion functions
	- amend version ID
	- make message string arguments const
	- add delimiter characters for s_parse* to allow uinlist arguments
	- change script execute arguments
	- rewrite M_print() to cope with ESC sequences in messages
	- use 'invisible' instead of 'invisible-online' (rtc)
	- make parsing more intuitive for line-remainder arguments
	- syntax dump v5 packets
	- never create a contact for UIN 0
	- reconnect also for not-yet-established connections
	- prepare tcp.c and type-2 v8 code unification
	* fixes:
	- fix info reply segfault
	- fix status width
	- fix disconnect error code
	- fix disable-utf8 and CONT_UTF8 #define
	- fix auto remote encoding
	- fix segfault if -v without argument is given
	- fix subversions not cleared for sim version
	- fix lots of typos
	- fix segfault for NULL arguments in Conv{To,From}UTF-8
	- fix character set detection
	- fix webaware display
	- fix socks connection (mangled connection type and server name)
	- fix display connections for UIN 0
	- fix display search results (random search)
	- fix some i18n numbering
	- fix segfaults in tcp.c

2002-10-22 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Last minute fixes for 0.4.9.4:
	- always ack type-2
	- fix sound preferences
	- fix timezone type configure test
	* new functions:
	- move syntax dump to new util_syntax.c, improve syntax
	- ConvUTF8(): convert a single code point
	- ConvToUTF8(), ConvFromUTF8(): convert string from or to utf8
	- s_strlen(): UTF string length
	- s_offset(): byte offset of character offset
	- s_strnlen(): count characers within at most n bytes
	- PrefLogName(): was init_log()
	* obsolete stuff:
	- get rid of UIN_DELIM, get rid of unused SOCKREAD
	- get rid of ConvWinUnix(), ConvUnixWin() and conv_rus.c, conv_jp.c
	* renames:
	- rename CAP_IS_2002 to CAP_UTF8
	- rename Session to Connection
	* implement UTF-8:
	- add configure option --enable-utf8 (until it is default)
	- input, output, type-2 and dc UTF-8 messages
	- implement config option "encoding local" and "encoding remote" for encodings
	- Use ^u or ^p or ESC u to input an arbitrary Unicode 16bit codepoint
	- add EUC<->UTF8<->SJIS pseudo-conversions
	- load bla_bla.UTF-8.i18n if UTF-8 is used
	* fixes:
	- fix soundoffline cmd
	- fix initial contact import
	- fix passwords with null-encoded bytes
	- fix order LC_* are checked
	- compile fixes for --disable-p2p
	- fixes for i18n issues
	- fix wrong port used in second attempt on file transfer
	* other changes:
	- change logo to a flower
	- return success if opening the config file succeeded
	- add UAE workaround when compiling for AmigaOS
	- remove instead of just close incoming connection if accept() fails
	- clear errno before select()
	- use ISO date, add UTC time zone
	- notify user of offline user (but only once)
	- interpret obsolete meta response
	- use \n instead of  in i18n files
	- Debian merge
	- improve argument parsing
	- implement GNU style options as well, add option for setting the base dir
	- new nice mICQ ASCII art logo
	- preliminarily fix login trouble by ignoring error message
	- bind to next free port if specified port is already in use
	- support for shorter capabilities, detect sim version with this,
	  add mICQ version capability
	  NOTE: The complete version detection code from mICQ was stolen
	        from the sim developers and used without any attribution,
	        thus infringing on my copyright. The same is true for the
	        capabilities table, as you can see from the #defines used.
	- fix check for unknown capability

2002-10-03 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* add error message for missing file reception directory
	* web page: add blurb for misconfigured browsers
	* final translation updates
	* .. or non-updates (english text copied to translated man pages)
	* compile fixes (thanks, Andy)
	* do not send CAP_IS_2002 (it means UTF-8, we can't do that yet)
	* show failing connections only when verbose or for server connections
	* display 0x46 meta result (just output the text)
	* 0.4.9.4 released

2002-09-30 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* add tel code for Moldava
	* debian merge
	* fix & improve file transfer
	* synchronize help texts, man pages with reality
	* do not wait for direct connection when automatically creating one
	* more translation updates
	* implement sess->close() hook (allows closing of given connection)
	* fix prompt bug, limit prompt change frequency
	* random chat group is now configurable and set upon login
	* make cont->nick a char*
	* sync packet names with protocol database
	* actually check for autotools; add last cvs up to compiled in version
	* message: new undocumented command to explicitly specifiy delivery to use;
	  let SnacCliSendmsg have an extra parameter to specify format to use
	* fix type-2 msg reception, fix unknown packet dump
	* recognize &RQ, ICQ for Mac, ICQ2go, ICQ Lite, SIM
	* recognize AIM-based clients, ICQ 2001, 2002, partially 2000
	* implement feature to dump packet according to a syntax string
	* remove flag 0x8000 skips that are already done in Snac...Receive
	* add session parameter to some Queue* functions
	* util_io.c/preferences.h cleanup
	* use cap for identification, display caps
	* log but ignore instead of ignore and don't log ignored contacts
	* support server/type-2 auto response requests
	* s_sprintf(), s_catf(), s_status(), s_now(), s_time(), s_ip(),
	  s_repl(), s_free(): new, create static string functions library
	* s_dump(), s_dumpnd(): new string lib functions to dump data
	* s_ind(): indent string; s_cat(): like s_catf()
	* s_msgsep(): new, was _septok()
	* s_parse(), s_parsenick(), s_parserem(), s_parseint(): new, was UtilUIParse*
	* Chars_2_DW(): remove.
	* Move UtilUIUser{On,Off}line as IM{On,Off}line to icq_response.c
	* PacketCreate(): new, replace TLVPak()
	* M_print(): rename to M_printf(), add new to print unformatted string
	* PacketReadCap(), PacketWriteCap(), PacketCap():
	  implement capabilities in packet library and use
	* ContactSetVersion(): new, was UtilUISetVersion()

2002-09-22 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* fix file send transfer corruption
	* UtilUIParseNick(): return the 'real' Contact* as well
	* Get_Port(): obsolete
	* add/rem: only add or remove alias
	* recognize vICQ
	* add color for debug
	* remove all remaining hard coded color values
	* allow connections to be closed
	* f,finger: new alias for info

2002-09-19 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* use version from build.i18n to tag *.i18n files
	* don't physically drop old translations anymore automatically
	* UtilUIParse* fixes, # as comment-character
	* add ./configure option for enabling peer2peer connections
	* add de_CH (funny?), de_fun translations
	* several translation updates
	* add UIN to SMS
	* e,ee,w,ww,s: show temporary contacts as more offline than
	  offline, show all aliases with s and ww
	* fix a run-away-TCP-sending by giving TCPDirectOpen() a BOOL return
	* TCP_MSG_* & *_MESS -> MSG_* unification
	* fix url command I broke earlier
	* some v5 related fixes
	* auth add
	* Do_Msg() rewrite

2002-09-09 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Change translations not to contain ESC characters.
	* add pt_BR micq.1
	* update ro.i18n
	* add memmove() replacement function

2002-09-06 Peter Backes <rtc@gmx.de>
	* Well-defined logging format.
	* Message handling cleanup.

2002-09-04 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* util_ui.c: UtilUIParse{,Int,Nick,Remainder}: new, quote
	  arguments with " or \, detects intelligent nick names intelligently.
	* cmd_user.c: use UtilUIParse*.
	* src/Makefile.am: fix bogus snprintf.[ch] links.
	* TODO, Changelog: update.

2002-09-04 Peter Backes <rtc@gmx.de>
	* Changed some remaining code to use the packet handling library
	  instead of structure aliasing.

2002-09-03 Tobias Bengtsson <tobbe@tobbe.nu>
	* remove code duplication
	* improve wide display

2002-09-01 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* add web page to CVS
	* rewrote table based layout to a CSS based layout
	* do lots of update work for several languages

2002-08-27 Alberto Bertogli <albertogli@telpin.com.ar>
	* update Spanish (es) translation and man pages
	* add Spanish (es) web page

2002-08-27 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Fix last-minute bugs (contact download crash)
	* Fix get status from correct session
	* Fix history symlinks
	* Re-release as 0.4.9.3.1
	* Transcode incoming contact names
	* de, en, ru i18n update
	* more status flags for direct connections displayed

2002-08-24 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* unify packet.c code: read strings now always need free()
	* forget about mc.ukeer.de or micq.ukeeer.de and use www.micq.org
	* many more assertions, better debug display, debug sessions
	* remove gone session pointers (should fix wrong-send tcp mesgs)
	* make file transfer official
	* Spanish micqrc.5
	* Typos, typos, typos fixed.
	* add CVS id to *.i18n files, change script to remove old strings
	* rework prompt stuff: eliminate dead code, more sensibel names
	* note in prompt number and nicks of messages received during auto-away
	* allow selection of current connection, remove connections
	* make colors customizable
	* fix contact list download, improve contact command
	* adding Trillian bugaround: set connectivity properly (see micqrc.5)
	* 0.4.9.3

2002-08-17 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* auto-extend TLV array
	* add French man pages
	* convert French man pages to an-old macros
	* fix auto-reply string getting segfault (!)
	* add .cvsignore files
	* yet another status2str
	* improve file transfer (WIP)
	* implement v8 auth stuff
	* use v8 auth stuff, implement auth request/deny
	* new sorted status display
	* correctly name Chinese translation: cn.i18n -> zh_CN.i18n
	* add Spanish translation
	* add sprintf() replacement (for IRIX 6.x)
	* restrict CONT_ALIAS handlich to contact.c, ignore dupe aliases
	* add ~-expansion to logplace

2002-08-10 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* convert man pages to an-old macros (for conversion to HTML)
	* move packet read position pointer even for broken data
	* fix segfault for overlong url messages

2002-08-08 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* replace struct Event by Event, dito for struct Queue
	* remove queue argument to message queue functions
	* add symbolic names to queue types while debugging
	* new: QueueRetry() to re-run oldest event for uin of given type
	  (e.g. allows instant reaction to established direct connection)
	* allow requeing with same time (necessary for file transfer)
	* fix HHHUUUGGGEEEE memory leaks
	* actually restrict select timeout to time difference to next event
	* WIP: first file transfer happened today

2002-08-01 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* More verbosity flags.
	* add auto_ffc (semi-auto) response
	* implement command to request auto responses
	* add check to include WorkInProgress
	* prepare for 0.4.9.pl2
	* add missing CVS version identifiers
	* update man pages for new commands
	* show timestamps as hex for client detection when verbose

2002-07-22 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* detect sizeof() of types (for 64bit systems)
	* document tab completion option
	* don't auto-away on listening connections
	* don't segfault on "conn login"
	* don't segfault on missing nick in contact section
	* fix deletion of UINs: fix test for whether UIN exists
	  and don't delete anything else
	* implement server side contact list download
	* free file descriptor for micqrc after read
	* free sent packets

2002-06-26 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* fix SOCKS5 authorization
	* document resend command, let it take arbitrarily many arguments
	* change behaviour of autoaway command
	* hopefully fix reconnect loops this time
	* rework verbose: setting verbose won't give any debug messages

2002-06<24 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* fix auto-away
	* be more verbose if saving fails
	* #define DATADIR instead of PREFIX "/share/micq/"
	* set CONNECT_FAIL more often to avoid reconnect loops

2002-06-12 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* compile fixes
	* recognize YSM
	* actually install man pages

2002-06-10 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* es translation by Alberto  Bertogli (albertogli@telpin.com.ar)
	* lower requirement for gethostbyname() for BeOS

2002-06-04 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Fix Russian/Japanese.
	* Close log file descriptor (thanks, Alberto  Bertogli)
	* Automatic responses.
	* Automatic reconnects.
	* Delay online status changes till own login is finished.
	* Display birthday flag.
	* tcp fixes, interface cleanup
	* move uin logs again
	* status codes <-> status flags cleanup
	* sync and update man page and run-time help texts
	* de_DE
	* fr_FR translation by Guillaume Coqueblin <esquimo_2ooo@caramail.com>
	* use v8 for p2p for wizard
	* 0.4.9

2002-05-25 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* tcp.c: s/TYPE_PEER/TYPE_LISTEN; get rid of assert()s; mem leaks;
	  timeout fixes; more #define cleanup; more gracious on changed
	  connection status data and more quiet; ACK types;
	  short: just fixes.
	* ru.i18n update by "Pest".

2002-05-15 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Debian merges.
	* change version information to be more like other ICQ clones.
	* debug: save all packets.
	* p2p rewrite: v8.
	* Tab completion (Peter Stuge).
	* Solaris compile fix.
	* Russian update ("Pest").
	* Peek command to check whether someone is really online.
	* Sending keep-alives.
	* Meta packet sending cleanup.
	* quiet mode: do not show status changes.
	* Ignoring users; now differentiate between ignore and invisible.
	* i18n fix of stuuuuuupid bug.
	* now recognizing: StrICQ.
	* Honoring hermit.

2002-05-10 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* SMS sending implemented
	* Password changing implemented
	* hopefully working Russian/Japanese conversion
	* namespace cleanup in packet.c (BAt -> AtB)
	* ANSI_TERM now does what ANSI_COLOR was before; ANSI_COLOR
	  is always on, use runtime option to switch off

2002-05-07 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Introduce a lot of missing #defines for the META handling.
	* Implement random chat group setting and requesting.

2002-05-06 Peter Backes <rtc@gmx.de>
	* Implement contact flags differently.

2002-05-06 Peter Backes <rtc@helen.PLASMA.Xg8.DE>
	* Add status (quite raw, hexadecimal) to online messages in the logfile.
	* Further cleanup of icq_response.c, reducing code size.
	* Completed personal info searching.
	* Prepared handler for random search.
	* mreadline speedup patch
	* fix: command line was partially overwritten when more than one
	  line was entered, but the cursur wasn't in the last line
	
	* do not display status change for temporary contacts (rk)

2002-05-03 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* add & use new functions to write LLNTS, TLV and length markers.
	* recognize MirandaICQ version number
	* implement white page search; amend "search" syntax, so that
	  wpsearch becomes obsolete
	* i18n news: use 4 digit numbers; enable mechanism to reliably
	  track changed strings; remove strings where even the format
	  has changed!
	* implement general/other/about change.
	* fix "wide" command (Peter Backes)

2002-05-02 Peter Stuge <stuge@cdy.org>
	* SNAC(13,19) SNAC(13,1b): authorization requests and grants
	* remove / from Nicknames for logfile.

2002-05-01 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* more ui fixes: status change msg, "r" command
	* packet.c cleanup for...
	* search/metainfo patch (Peter Backes)
	* split Session->type into type and flags (Peter Backes)
	* avoid code duplication: remove User_Online, Status_Update,
	  User_Offline
	* fix tcp message types
	* allow UIN_DELIM characters in UIN (except for the last character)!

2002-04-30 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Some logging/output cleanup (Peter Backes)
	* Implemented SRV_ADDEDYOU handling (Peter Backes)
	* Small improvements to non-ANSI_COLOR part of mreadline (Peter Backes)
	* Implement registering a new UIN: SNAC(17,1) SNAC(17,4) SNAC(17,5).
	* New registration wizard.
	* A few interface fixes.
	* type-4 and (hopefully) type-2 messages.
	* SOCKS5 support.
	* Part 1 of info request (Peter Backes)

2002-04-27 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Fix insert-char-deletes-2-other-chars-bug (switched arguments)
	* Implement SNAC(9,5) SNAC(9,6) SNAC(9,7) SNAC(9,8) (visible/
	  invisible lists add/remove) and SNAC(3,5) (contact remove)
	* Send visible/invisible list if necessary on status change
	* Implement togvis/togign.
	* Add ContactRem() to remove contact list entry.
	* Add UIN temporary to contact list for sent/received messages.
	* Fix compiler warnings.
	* Fix packet statistics (somewhat).

2002-04-25 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Rewrite mreadline.c: use new M_pos() in util_ui.h to get cursor
	  position (prompt length) in new R_goto() to set cursor to given
	  position by first stepping back as many lines as needed
	* UtilUIUserOnline: give new status as arg, ignore if unchanged
	* Do logging of outgoing messages in icq_sendmsg only
	* Fix typo in TLV exchange; also free() incoming message text
	* use ESC [J instead of ESC [K (Peter Backes)
	* remove surplus brackets as requested by Peter Backes
	* get window size from stdin terminal, not stdout
	* no overlapping strcpy (Peter Backes)
	* implement request/receive/ack offline messages

2002-04-16 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* mention GPL-2 in COPYING
	* UtilUIUserOnline, UtilUIUserOffline - notify another user's status change
	* implement SRV_RECVMSG for type 1 messages following patch from
	  Peter Backes <rtc@helen.PLASMA.Xg8.DE>
	* don't crash on online/offline message for non-contacts
	* add missing output on server sent messages
	* some tcp fixes: unknown nicks were treated as UIN -1;
	  list listening "connection" as "listening", not "peer-to-peer";
	  fix crash after tcp off/close/open cycle
	* allow to direct connect even if user is offline
	* fix crash in ExecScript()
	* prompt redraw fixes

2002-04-05 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Fix remember password (thanks Pavel Roskin).
	* update debian/ to be more like in the real Debian package.
	* Fix Debian#113805 (US reported as US Virgin Islands)
	* Quickfix for scroll/prompt bug

2002-04-03 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Really check in i18n changes.
	* Fix off-by-one in packet.c.
	* Fix "tcp off <nick>".

2002-04-03 Pavel Roskin <proski@gnu.org>
	* Include <string.h> when needed.
	* Comment extra text after #endif
	* Fix missing newlines at the end of file.
	* Set -Wall for gcc only.
	* Use AM_CFLAGS is src/Makefile.am instead of overwriting CFLAGS.

2002-03-07 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Adopt tcp stuff to use connection that can be listed using conn.
	* With this, make tcp event-driven - no DOS by simply connecting,
	  sending "0xffff" as packet length and then waiting forever
	* Moved some common code to util_io.c.
	* Fix huge bugs regarding entering passwords.

2002-03-05 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* All files now have a Copyright mark; change files by me to GPL.
	* Rewrote TLV handling.
	* CmdUser* functions now find their connection * theirselves;
	  a function that doesn't support v8 will complain.
	* understand SNAC(1,15) SNAC(3,B) SNAC(3,C) - status, online, offline
	* send SNAC(1,1e) SNAC(3,4) SNAC(4,6) SNAC(13,5) - status change,
	  contact list, msg
	* implement client autodetection (micq,licq)
	* again a few more packet read/write functions: UIN
	* fix wrong order that let PrefUserDir() be NULL
	* get rid of more compatibility cruft
	* add debian packaging stuff

2002-03-04 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Fix packet position pointer size. Oooops!
	* Implement more packet reading/writing: big endian, v8-style
	  strings, TLVs. Have destructor for packets.
	* Handle keep alive through global msg queue.
	* New command "conn" to list and open connections.
	* Remove compatibility cruft for file_utils.c. Please use
	  0.4.8 to convert config files; you may need to create ~/.micq/.
	* Implement v8. Can log in, nothing more.

2002-03-02 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* fix ~/.micq/ creation

2002-02-15 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* update man pages.
	* Bump to version 0.4.8.

2002-02-10 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* fix verbose command line buglet
	* new: session.c for connection management. TCP still (ab)uses
	  the server (UDP) session^h^h^h^h^h^h^hconnection.
	* Better transition to .micq/micqrc (create .micq); change
	  rc file format to have arbitrarily many connections. The
	  idea is to have a v5 and a v8 connection at the same time till
	  the latter is usable.

2002-02-06 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* finish big rename by moving stuff from session.h to uiG;
	  realized that session is the wrong name...
	* reset reconnect_count on successful login
	* fix typo in last release

2002-02-06 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* new: util_io.c for all IO related stuff (that what SOCK* did);
	  there's still stuff around that belongs there
	* removed: sendmsg.c
	* new: preferences.c that contains (or should contain) all
	  stuff that is saved in .micq/micqrc; big move of stuff. TODO.
	* thereby replacing all char[] by char *
	* more stuff in packet.c for reading; should be sufficient now
	* log TCP messages, too

2002-02-05 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* new: packet.c for functions creating a packet;
	  got rid of *_2_Chars() completely; Chars_2_* deprecated
	* new: cmd_pkt_cmd_v5.c implementing all server bound packets,
	  IE all CMD_* stuff; complete rewrite of sendmsg.c using packet.c
	* new: cmd_pkt_cmd_v5_util.c helpers for above
	* The "global" ssG is now passed around and only local.
	  Rationale: Have a different session for each transport
	  (v5, v7, TCPv6)
	* Bug fixes of TCP. Should work now (finally).
	* Made more parameters const.
	* Save Packet * in Queue instead of UBYTE *.

2001-12-18 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Change mselect.c to also do select()ing on exceptfds; use
	  M_Add_xsocket() to add. I'm not sure if we need it, but anyway.
	* Get rid of 99% R_{re,un}draw() - basically just have a pair
	  around the select() and where needed in mreadline.c.
	* Add debugging to msg_queue.c (verbose & 32; was & 16 outside
	  of msg_queue.c...)
	* Make TCP differences to micq.c less invading: add TCPAddSockets()
	  and TCPDispatch() to do the stuff. Make TCP socket# global.
	* Don't bark on interrupted select() (e.g. on SIGWINCH...)
	* Have a timeout for connects (10s for now). Reports IP correct
	  when failed. Correctly dequeues first TCP message now.
	* Fix creating wrong log directories.

2001-12-14 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Change mselect.c to also do select()ing on writefds; use
	  M_Add_wsocket() to add.
	* Let msg_queue.c sort the queue by exp_time; fix long-standing
	  memory corruption bug; add callback
	* Move all this contact list stuff to a new src/contact.c. All
	  functions now named Contact*(), all source files changed
	  accordingly. Lots of stuff!
	* Rewrote huge parts of tcp.c to make it asynchronous (though
	  still DoS'able); get rid of send queue; clean up output;
	  add supplementary "tcp <open|close>" command
	* Ignore trailing newlines on incoming messages

2001-12-11 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Recognize and display licq's version numbers. Define a way
	  for micq's version numbers.
	* Display incoming tcp messages differently than server messages
	* Create cmd_pkt_server.c, handles incoming server packets. Move
	  stuff from server.c there, create jump table (though still
	  somewhat empty) holding all commands; replace Print_CMD() by
	  CmdPktSrvName() using this table.
	* Print tcp connections even if nonverbose, since it may freeze
	  till a network timeout occurs, which can be minutes.
	* Remove tcp socket when connect fails (cures segfault)
	* Fix segfault reported by Jeremy Hall <jhall@UU.NET>.

2001-12-06 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Moved tcp packet defs to icq_tcp.h.
	* Revamped Logging: now have LogLevel (>0 = on, &2 = omit on/off)
	  and LogPlace (and no local stored path); log to dir iff
	  trailing slash.
	* Fix i18n-extract not to loop forever when i18n lacks a ).
	* Do not regenerate *.i18n files with make lang, only en.i18n.
	* new: CmdUserSet "set" to set a few options (currently color and
	  funny); removed CmdUserColor. CmdUserRandomSet is now "setr".
	* new: GetUserBaseDir() yielding $HOME/.micq/ or equivalent.
	* rc file is now $HOME/.micq/micqrc instead of $HOME/.micqrc.
	* local i18n files are now in $HOME/.micq/i18n.
	* default log dir is now $HOME/.micq/history/.
	* Warn about deprecated rc file options and rc file on old place.
	* Rewrote i18n loading to load local i18n file, then add missing
	  string from global one. Actually, first try all "funny"
	  i18n files it funny is on; thus _fun.i18n has only the mod' strings.
	* i18n: locales starting with a + are added; starting with a /
	  are taken as absolut i18n file path names.
	* tcp.c is i18n'ed now. What about patches that apply cleanly?

2001-11-29 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Move sent message output to icq_sendmsg_srv and Send_TCP_Msg
	  to have different output for TCP messages.
	* Rewrote Login() a little, rename login packet fields now known,
	  set TCP flag.
	* Fix some overwrites of TCP port with the irrelevant UDP port.
	* Remove obsolete Connect_Remote_Old
	* Hex dump output tuning for UDP, fix newline glitch in Hex_Dump()
	* A HUGE LOT of code de-uglification
	* Make W_{un,re}draw() nesting. There's one redraw() too much
	  during login.
	* assign verbosity flag 16 for Queue debugging. 4 is show packets,
	  8 is also show packet contents, though 4 acts as 8 right now.
	* Don't segfault on UINs if TCP is on.
	* Add TCP packet dumps.
	* TCP should work now, though it's scrolling a lot.

2001-11-27 Jake Lau <Jake.Lau@compaq.com>
	* Fix non-TCP compilation. Add note when TCP enabled.

2001-11-20 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Include James' partial TCP implementation. Kinda experimental -
	  enable with TCP_COMM in micqconfig.h.
	* Fix Hex_Dump() output. Indent ingoing & outgoing packets; show
	  them if verbosity & 4.
	* Let -v accept a verbosity (without space after -v).

2001-11-01 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Fix M_strcpy in src/file_utils.c.
	* Use hstrerror() to print diagnostics if hostname lookup fails.
	* Correct one ntohs() to htons().
	* Everything suggested by Michel Oosterhof <micheloo@xs4all.nl>.
	* Complain if adding a user fails.
	* Break out protocol defs into include/icq_v[245].h.

2001-09-20 Kaolin Fire <cognosco@tentacle.net>
	* added "s" command -- display your current online status
	* added "resend" command -- resend your last message to a new UIN

2001-09-19 Kaolin Fire <cognosco@tentacle.net>
	* added command autoaway to set the auto away timeout.
	* fix alter.

2001-09-19 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* rewrote CmdUserStatusWide to also do ewide, as proposed
	  by Sander Smeenk <ssmeenk@cistron.nl>.
	* merge CmdStatus(E|W), now called CmdStatusShort, rename
	  CmdStatus as CmdStatsDetail.
	* fix alter.
	* prefer user defined command names.
	* update man page for r, sound, soundonline, soundoffline, autoaway.

2001-09-13 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* fix delete.
	* fix line length in wide for LANG != C.
	* fix about.

2001-09-07 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Fix "search" commands.
	* Add target UIN to "info" output.
	* check terminfo keycodes last when processing input.
	* fix receivescript security leak.
	* SoundOnline and SoundOffline were mixed up.
	* Implement SoundExec in util.c for script execution.
	* free memory used for script execution.

2001-08-12 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Fix saving alter'ed commands.

2001-08-12 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* small fixes (\a, last check-in only src/, _POSIX_VDISABLE)

2001-08-11 Georgi Kuzmanov <georgi@cs.man.ac.uk>
	* Big stuff-all-globals-into-a-struct-patch: one for preferences (uiG),
	  session (ssG) and socks5 (s5G).
	* This patch is big.
	* It deserves a few more lines.

2001-08-02 Sander Smeenk <ssmeenk@debian.org>
	* Added support for SoundOnline & SoundOffline events

2001-06-27 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Tiny fix for double prompts printed when replying.

2001-06-25 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Core dump fixes. Lots of 'em.
	* lang/*.i18n: regenerate, update en_fun, de.

2001-06-25 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Add bright red color COLERR.
	* New functions CmdUserLookup, CmdUserLookupName.
	* Use them to replace <whatever>_cmd strings.
	* Rewrote CmdUserAlter.
	* Started to change config file format; I don't want a new
	  config option for every possible command.
	* Since micqrc reading now calls CmdUserAlter, added a quiet
	  option to it.
	* Don't have problems with empty auto response strings.

2001-06-24 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* rename ui.(c|h) as cmd_user.(c|h) and rename all user functions
	  as CmdUser<something>, turn some commands into explicit functions,
	  create a jump table containing all those functions and their
	  command names, and iterate over the jump table instead of having a
	  huge if/else-chain; also do the same to commands changing the
	  prompt (so give status as argument and return new status; if != 0,
	  call last function again). Since "alter"ed command names are
	  in the jump table, they don't work yet. (=> alter is broken).

2001-06-20 Benjamin Michotte <binny@baby-linux.net>
	* lang/fr.i18n: update.

2001-06-17 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Get rid of UNIX and FUNNY_MSGS.
	* Move #include <time.h> to micq.h and protect <sys/time.h>.
	* Catch SIGTSTOP and SIKCONT to restore/prepare terminal.
	* Fix terminal restore on reconnect.

2001-06-15 James Morrison <ja2morrison@student.math.uwaterloo.ca>, rk
	* src/ui.c:
	  help patch from James Morrison, but \t and \n moved to format
	  string, and indenting used.
	* doc/micq.1, doc/micq.7, doc/micqrc.5:
	  micq.7 new, all modified in appearance.
	* lang/*.i18n:
	  Regenerated; white space changes of this and earlier check ins
	  merged into some *.i18n files.

2001-06-12 James Morrison <ja2morrison@student.math.uwaterloo.ca>
	* src/ui.c: Add help for trans, wide, tabs
	* doc/micq.7, doc/micqrc.5: new.
	* README: add info to run ./prepare.

2001-06-12 Björn Hansson <hansson@netera.se>
	* lang/se.i18n: update.

2001-06-11 Keith Kelley <kkelley@locallink.net>
	* src/icq_response.c, include/micq.h:
	  New understood packets META_SRV_WP_FOUND, META_SRV_WP_LAST_USER.
	* src/sendmsg.c, include/sendmsg.h:
	  New function Search_WP() to search the yellow pages of ICQ.
	* src/ui.c, include/ui.h:
	  New function Wp_Search() for th UI part of the search, bound
	  to new command "wpsearch".

2001-05-31 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* src/ui.c:
	  Fixed togvis, togig based on patch by Sander Smeenk
	* lang/*: Regenerate.
	* lang/i18n-template: Fixed stupid harmless bug.
	* src/util.c: Clean up UIN2Contact().

2001-05-31 Michel Oosterhof <micheloo@xs4all.nl>
	* src/file_utils.c, include/file_utils.h:
	  Fix termination of wrong string with '\0', use HAVE_UNISTD_H
	  instead of UNIX, tighten Set_rcfile parameter to const.

2001-05-24 Dmitri Lukyanov <ldv@sdsl-64-7-10-170.dsl.iad.megapath.net>
	* lang/ru.i18n: Update language/country name translations again.

2001-05-23 Björn Hansson <hansson@netera.se>
	* lang/se.i18n: update.

2001-05-23 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	+ configure.in: prefer *-2.50 for autoconf, autoheader.
	* configure.in: complain if necessary functions are missing.
	* prepare: added to create generated files.
	* Makefile.am: add cvsclean target.
	* .cvsignore, */.cvsignore: added.

2001-05-23 Michel Oosterhof <micheloo@xs4all.nl>
	* add support for autoconf/automake
	* src/*.c: Add cvs tag

2001-05-20 Dmitri Lukyanov <ldv@sdsl-64-7-10-170.dsl.iad.megapath.net>
	* lang/ru.i18n: Update language/country name translations.

2001-05-12 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* lang/i18n-*: Mark changed translation strings.
	* lang/*.i18n: Regenerate, update de.i18n.
	* src/*: Fix lots of plenking and get as much formatting
	  out of i18n strings as possible.
	* src/icq_response.c: Replace Show_String* () functions by
	  new PktPrintString () function.
	* src/ui.c: Make sure user really wants to apply the user info
	  changes he entered.
	* include/buildmark.h: Upped pl.

2001-05-04 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* src/util_ui.c: Fix output glitch.

2001-05-02 Rico Glöckner <mc@ukeer.de>
	* fixed tiny Input bug

2001-04-27 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Makefile, src/Makefile: Fixes.
	* include/micq.h, include/color.h:
	  Move color #defines to color.h, add #defines for COL*, which
	  yield a string to be interpreted by M_print as color, but can
	  be used in i18n files.
	* src/util_ui.c: Implement the above in M_print ().
	* src/*.c:
	  Use COL* macros instead of *COL, apply i18n () to everything
	  not running away fast enough.
	* lang/i18n-*: Adopt scripts to work with some macros in the
	  parameter to i18n ().
	* lang/en.i18n: Regenerate.
	* lang/de.i18n, lang/en_fun.i18n: Update.
	* lang/*.i18n: Regenerate with more to-translate strings.
	* src/i18n.c:
	  Enlarge array for more i18n strings. Add debug option to also
	  print string numbers.

2001-04-26 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* Makefile, src/Makefile, src/i18n.c, src/server.c,
	  include/config.h:
	  Adapt from Debian changes (by maintainer Sander Smeenk
	  <ssmeenk@debian.org>): Reconnect patch, and use $(DESTDIR) and
	  $(prefix).
	* src/icq_response.c:
	  Stop translating month's name twice. You'd see text #0.
	* lang/i18n-extract, lang/i18n-number, lang/i18n-template:
	  New scripts to number, extract and copy string to be translated.
	* src/file_util.c, src/ui.c:
	  Patch to modify sound command from Shane Wegner <shane@cm.nu>,
	  modified for i18n.
	* src/micq.c:
	  Timestamp for auto status change.
	* src/ui.c:
	  New "trans" function. Info about translation, loads new
	  translation, print given or all translation texts.
	  
2001-04-23 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* include/*.h, src/*.c:
	  Finish moving prototypes to individual files. Make functions
	  static that are supposed to.
	* src/icq_response.c, src/util_table.c, lang/*.i18n:
	  Move "Occupation" and "Interest" to a table, add i18n.
	  Fixed table size.
	* src/*conv*.c, src/icq_response.c, src/sendmsg.c:
	  Renamed to conv.c, conv_jp.c, conv_rus.c and replace
	  char_conv ("wc", ) resp.("cw", ) by separate functions.
	* src/file_utils.c:
	  Overwrite rc file on save. Allow spaces before UINs in rc file.
	  Align on output.

2001-04-18 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* include/*.h, src/*.c:
	  Rename DWORD, WORD, BYTE, S_DWORD, S_WORD, S_BYTE, INT32, INT16,
	  INT8, U_INT32, U_INT16, U_INT8 to UDWORD, UWORD, UBYTE, SDWORD,
	  SWORD, SBYTE, SINT32, SINT16, SINT8, UINT32, UINT16, UINT8 since
	  BYTE et al. are signed on AmigaOS.
	* src/*.c:
	  Let indent operate on it, plus removing some glitches by it.
	* src/util_table.c:
	  New. Move language and country and all further tables here.
	* Makefile, lang/Makefile:
	  Install internationalization files. Ooops, Rico was faster.
	* src/buildmark.c, include/buildmark.h, src/Makefile:
	  Move version information here and make sure this module is
	  always rebuild before linking. Move CVS tag out of it.
	* src/Makefile, src/.indent.pro:
	  Move indent parameters to extra file.
	* src/.cvsignore:
	  Add.
	* src/file_utils.c:
	  Replace strncpy by snprintf, as only it ensures trailing \0.
	  Don't add existing UINs.
	* src/mreadline.c:
	  Fix tab handling. Fix ^k.

2001-04-18 Rico "mc" Glöckner <mc@verdinet.de>
	* added Makefile for lang/
	* AUTHORS file complemented

2001-04-17 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* include/*.h, src/*.c:
	  Move prototypes to proper place. Remove lang.h.
	  Add necessary #includes.
	* include/mreadline.h, src/mreadline.c, src/ui.c, src/util.c,
	  src/util_ui.c:
	  Tighten char * to const where appropriate.
	* lang/*.h: Remove.
	* lang/??.i18n: New localization files.
	* include/tabs.h, src/tabs.c, src/micq.c, src/file_util.c,
	  src/icq_response.c, src/mreadline.c, src/ui.c:
	  Implement tab list in a new extra module and use it.  Rename
	  get_tab() to R_process_input_tab(); avoid clobbering of input.
	* include/i18n.h, src/i18n.c, src/*.c:
	  Implement simple internationalization functions and use them.
	  Move some initialization from micq.c and add Show_String_A()
	  to aid using the new functions.
	* src/*.c:
	  Change indenting to 4 chars, no tabs whereever I came across.
	* src/util_ui.c:
	  Add M_fdopen() to wrap the open() call.

2001-04-13 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* include/micq.h, src/msg_queue.c, src/server.c, src/util.c:
	  ICQ# with 9 digits start showing up, so use 10 instead of 8 digits
	  for UIN/nick. Thus, rename Print_UIN_Name_8 to Print_UIN_Name_10.
	* src/file_util.c, src/util.c:
	  _Really_ use PROGDIR: if $HOME is unset on AmigaOS.
	* include/micq.h, src/file_util.c, src/micq.c:
	  New config option "LineBreakType" tied to int "line_break_type".
	* src/util_ui.c, src/icq_response.c, include/config.h:
	  Rewrote line break code from scratch. Doesn't use a buffer, but
	  printf %.*s stuff. Depending on line_break_type, can indent a text
	  embraced by ESC  ... ESC  by: start it on a new line, ignore it,
	  indent it to current column, or line break unless piece fits on
	  current line. Start using it for received msgs.
	* src/util.c: 
	  In MsgEllipsis, strips text after \r or \n (add a  instead) and
	  print at most one line (assuming timestamp & UIN is printed
	  before).
	* include/ui.h, src/ui.c:
	  More time stamp first work.
	* src/file_util.c, src/micq.c, src/server.c, src/util_ui.c:
	  Minor cleanups.

2001-03-24 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* src/server.c: Send login message 2 only once.
	* include/config.h: Add #defines MSGSENTSTR, MSGACKSTR, MSGRECSTR
	  for the strings denoting a sent, acknowledged resp. received
	  message.
	* include/micq.h: New #defines SENTCOL and ACKCOL for the
	  respective colors.
	* src/icq_response.c, src/msq_queue, src/server.c, src/ui.c:
	  Modify to include timestamp at beginning of line.  Rewrite URL
	  message reception code not to use superfluous fixed-size buffers
	  anymore.
	* include/micq.h: Upped version to 0.4.6p2.

2001-03-24 Huub Reuver <theanaloguekid@tak.dhis.org>
	* src/file_util.c: Changed order of included files to cure
	  warnings on FreeBSD.

2001-03-23 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* src/file_util.c, src/micq.c, include/micq.h: Add config option
	  "Del_is_Del" tied to global BOOL del_is_bs, (default TRUE).
	* src/mreadline.c: Put backspace and delete processing into
	  separate functions R_process_input_backspace() and
	  R_process_input_delete(); now ^h triggers backspace, ESC[3~
	  delete, and the delete character backspace or delete depending on
	  whether del_is_bs is set. Allow different arrow key codes
	  and stop beeping at end of line etc.
	* src/file_util.c, src/micq.c, include/micq.h: Add config option
	  "Last_UIN_Prompt" tied to global BOOL last_uin_prompt (default
	  FALSE).
	* include/ui.h, src/ui.c, src/util_ui.c: Change prompt to contain
	  last used UIN's name, if last_uin_prompt is set.

2001-03-23 Rüdiger Kuhlmann <info@ruediger-kuhlmann.de>
	* src/mselect.c: Zero fd set on failure of select() (e.g. caused
	  by interruption by SIGWINCH), which could freeze micq till a
	  server input.
	* src/util_ui.c: Use sigwinch handler in Get_Max_Screen_Width() to
	  update screen width if possible.
	* src/util_ui.c: Change color handling: Everything between
	  ESC and m ist either printed directly or ignored (if color is
	  off).
	* include/color.h: Add back BOLD #define.
	* include/micq.h, src/util.c, include/config.h: Add new functions
	  UIN2Name() and Print_UIN_Name_8() to better convert UIN to strings
	  resp. print them, and MsgEllipsis() to "shorten" messages to
	  MSGID_LENGTH characters, using ellipsis if necessary.
	* src/file_util.c, src/util.c: Prefer $HOME to PROGDIR: on AmigaOS.
	  Do not segfault if $HOME is unset.

Feb 11, 2001
mc - changed Language Behaviour (Patch submitted by l@kondara.org) 
mc - ignoring non-alphanumerical chars before command (euro@hq.alert.sk)
mc - ignoring spaces at the end of a nick (euro@hq.alert.sk)

Jan 20, 2001
mc - cleaned up code into subdirs 
mc - added micq.1 from debian.diff
mc - fixed vulnerability in icq_response.c from debian.diff

Jun 9, 2000
Word wraping at the screen boundaries
nickname sym links to log files
fixed russian/japanese encoding on last command
added japanese encoding
wide command
uptime command
config.h file
option to disable shell command ability
added -L command line option to change the logging directory
Added LogDir to the ~/.micqrc 
clear command is no configurable

Mar 19, 2000
Added logtype in ~/.micqrc file to use old style logging
Added the -f file command line option for using alternate config files
Added simpler color macros.
Added some new countries
Added internationalization strings
Beos support should work now.
Fixed msga bug with no newline.
Fixed bug with about messages and russian encoding.
Fixed a bug with invisible sub-statuses not being displayed properly.

Mar 11, 2000
Added some color to the user info display
Fixed the long standing "auto away" segfaulting bug
Added Hermit mode to keep random people from messaging you.
Added more info display capabilities
Added the other command to update other user info (age sex homepage)
About command can now make multiline about messages just like message multiline mode.
Added peliminary SOCKS5 support
Added BEOS support.
Added screen width option for dumb terminals that don't automatically wrap.
Added compile time configurable tab stops (default 8 characters)
Extended the status command so status nick gives info on nick

Sept 12, 1999
Improved tabbed nick names
added more info to the update command
added ability to update about info.
various cosmetic changes
decode language codes

May 12, 1999
added tabbed nick names
added e & i commands
added togig and toginv commands
removed potential ^L exploit
added line editing commands
added configurable auto away timings
added new logging format
added configurable max contacts limit
added many new translations

Feb 21, 1999
V5 of the ICQ protocol.
Anti-spoofing/hijacking.
Several memory leaks that may or may not be related to V5
More internationalization strings.
Brazilian language support started.
dumb bug with user offline being displayed incorrectly.
Added na to the auto away.
Users who change status to their current status (i.e no change) are no longer displayed.
several small bugs.

Jan 27, 1999
Added new innovative (patent pending) CHANGELOG feature.
Password changing!
Added auto away functionality.
Fixed minor bug in russian translation tables.
Fixed (hopefully) bug in russian msga command.
Began lang.h internationalization effort - currently only english.
Revamped the logging function.
Changed output functions to better manage screen space.
fixed that stupid offline at startup bug. :)
Improved help display so it doesn't scroll off the screen.

6-17-1998 by Linux_Dude (rus_conv.c)
 Moved initialization of table out front of 'if' block to prevent compiler
 warning. Improved error message, and now return without performing string
 conversion to prevent addressing memory out of range (table pointer would
 previously have remained uninitialized ( = bad)).
