            Laurent Constantin's network toolbox (lcrzoex)


            ----------------------------------------------
            |              LCRZOEX 's CHANGELOG          |
            ----------------------------------------------

---------------------------------------------------------------------
Version 4.13 - 11-aug-2002
 ++ bugs fixed ++
  - Added a sleep of 300 ms in several tools to be sure sniff is
    ready before spoofing (138, 244, 246, 252, 254, 256, 316, 317,
    318, 322, 323, 324). This ensure on fast networks that we do not
    miss the first answer.
  - Deal with non RFC compliant web servers answering an error code
    immediately followed by a newline. It caused a crash (free of
    unallocated memory).

 ++ major evolutions ++
  - Tool 409 : download a ftp directory. It is similar to 286, but
    it supports directory names containing spaces (we use a walk
    through algorithm otherwise the FTP server refuses to list the
    files in the directory). Thanks to Steven Vanberghen for
    reporting the problem with tool 286.

 ++ minor evolutions ++
  - Tool 264 (check if a SMTP server is an open) : add Exchange
    relaying with IMCEASMTP.
  - Increase of resolver timeout for HTTP tools. Now, it is 12
    seconds instead of 4 (which is ok for intranet, but not for
    slow internet dns resolution).
  - Unix : return code is set to LCRZOEX_ERR_MISC_ERRTOOBIG instead
    of being truncated to 255 by the system (because under Unix
    exit(258)<==>exit(2)).

 ++ internal evolutions (not seen by end users) ++
  - Creation of module shared_toolbox containing only functions to
    deal with tools.
  - Rewrite of http functions dealing with login and password. They
    are now homogeneous.


---------------------------------------------------------------------
Version 4.12 - 14-jul-2002
 ++ bugs fixed ++
  - Tool 272 : argc was not correctly checked, so the program
    stopped if the last parameter was not set on command line.

 ++ major evolutions ++
  - Tools 384..388 : backdoor TCP server using MD5 during 
    authentication (no clear text password over the network). Tools
    216..220 also implemented a backdoor TCP server with no clear
    password, but using a less secure hash algorithm (for most users,
    it was fully sufficient). If you are more confident in MD5, 
    just use the new tools.
  - Tool 389 : execute one of the tools by reading its parameters
    from a file, instead of reading from the command line. This
    overcomes the small command size limit of Windows 9x (around 127
    characters on the line).
  - Tools 390..399 : spoof Data records, adding wanted headers.
  - Tools 400..408 : spoof Eth/IP/UDP/TCP/ICMP records. They
    recompute ip.totlen, ip.check, udp.len, udp.check, tcp.check,
    icmp.check before sending the packets. So, user does not have
    to bother setting correct values in the record, they are
    automatically recomputed when data is modified.

 ++ minor evolutions ++
  - Creation of documentation file doc/unimplemented_en.txt 
    describing limitations of lcrzoex.
  - Web spider : user can now specify the wanted User-Agent
    (Mozilla, Internet Explorer, Opera, etc.).
  - Tools 23, 28, 36, 47, 64, 230, 236 and 239 do not enforce anymore
    data to be correct to send it. It's user's responsability to
    create a valid packet. So, now it permits to send corrupted
    packets, as well as valid ones.

 ++ internal evolutions (not seen by end users) ++
    none in this version


---------------------------------------------------------------------
Version 4.11 - 30-jun-2002
 ++ bugs fixed ++
  - A missing lcrzo_file_close in the web spider caused all file
    descriptors to be used, and stopped the web spider.
  - In web spider, anchors were not added when converting links in a
    local file.

 ++ major evolutions ++
  + In help mode, by pressing key 'o', we can search a tool. For
    example, searching "icmp" displays all tools whose title contains
    icmp.
  + In help mode, by pressing key 'q', the list of tools is saved in
    a file.
  + Tool 382 : check if an url exists, and return HTTP error code.
  + Tool 383 : sniff packets and execute a command for each one

 ++ minor evolutions ++
  - In web spider, local filenames are now not separated on an
    extension when maxfilenamelen is used. They are easier to read.

 ++ internal evolutions (not seen by end users) ++
  - In shared_ftp, lcrzo_stringlist is used to store directory
    listings.
  - Rewrite of shared_ipcexec to support better error cases.


---------------------------------------------------------------------
Version 4.10 - 21-may-2002
 ++ bugs fixed ++
  - Memory leak in shared_para_priv_decode.
  - Web spider : links in large files (>128k) were not all obtained.
  - Free of unallocated memory in shared_http_url_download_file.
  - Tool 345 and 349 (DNS servers) : memory leak.
  - Tool 260 and 358 (web servers) : free of unallocated memory 
    when POST method was not used (did not cause a crash because 
    it occured at the end of each child process).
  - Memory leaks in shared_router_[masq|forward][in|out]put when bad
    packets were received.
  - Function shared_misc_randpasshash contained a long format "%08lX"
    instead of "%08X". This caused an error and the function exited.

 ++ major evolutions ++
  - Tools 364,365 : sniff TCP data and display or save it in 
    separate files.
  - Creation of shared_md5 module.
  - Tool 366 : compute the md5 of a file.
  - Tool 367 : periodically spoof ARP replies in order to redirect
    trafic.
  - Tool 368 : sniff DNS and send answers indicating our computer
    in order to redirect trafic.
  - Tool 369 : flood an Ethernet network with random Ethernet/IP
    addresses.
  - Tool 370 : sniff and display HTTP urls.
  - Tool 371 : slow down a TCP connection using small TCP Windows.
  - Tools 372,373 : split a file in several parts.
  - Tools 374..378 : sniff and send ICMP errors (unreachable, time
    exceeded, parameter problem, redirect, source quench).
  - Tools 379..381 : send and receive ICMP timestamps.

 ++ minor evolutions ++
  - Web spider : add a ".html" at the end of link files which do not
    have an extension (helps to navigate into the static copy).
  - Ping tools (248,249,319) : a new parameter asks to beep when
    destination computer is reached (permits to test network cable 
    plugging without keeping an eye on computer's screen).


---------------------------------------------------------------------
Version 4.09 - 28-april-2002
 ++ bugs fixed ++
  - On computers having no Ethernet card, the default choice
    LCRZO_DEVICE_TYPE_ONLYBOARDS was not correct. So, a new type is
    added in lcrzo (LCRZO_DEVICE_TYPE_BEST) in order to select the
    best interface for those tools.

 ++ major evolutions ++
  - Creation of shared_conffile module.
  - Tool 359 : display urls located in a file.
  - Tool 360..362 : web spider (create a local copy of a website).
  - Tool 363 : display ASCII-127 table.

 ++ minor evolutions ++
  - Tool 322,323 : when a range is specified, do not stop on a bad
    IP address (ie 192.168.1.0/24).
  - Tool 175 : displayed information was mis-aligned.


---------------------------------------------------------------------
Version 4.08 - 07-april-2002
 ++ bugs fixed ++
  - Tool 208 crashed, when no answer was received, because of a 
    free() on an unallocated memory area.

 ++ major evolutions ++
  - Update of tools 139..143 : several new kind of display for
    numeric data. Negative values are now displayed.
  - Tool 351 : display usage of other tools.
  - Tool 352 : Ethernet bridge.
  - Tools 353..356 : sniff and search data ("network grep").
  - Tool 357 : flood an Ethernet network.
  - Help mode can be navigated only by pressing keys. Please note
    that the meaning of key 0 has changed.
  - Tool 358 : web server.

 ++ minor evolutions ++
  - Ethernet address in description of few tools was not correct 
    ("aa:bbcc:dd:ee:ff").
  - Menu 'o' in help mode to display usage of other tools.
  - Tools 341,342 : when no DNS type is specified, use "all".
  - Update of text displayed in tool 176.
  - Tools 248..251,319,320 (ping tools) : user can specify the max
    number of sent packets.
  - Several modifications in order to suppress g++ warnings.


---------------------------------------------------------------------
Version 4.07 - 25-march-2002
 ++ bugs fixed ++
    none in this version

 ++ major evolutions ++
  - Creation of module shared_dns to implement DNS functions.
  - Tools 327,328 : spoof of DNS question (A, PTR, NS, etc.).
  - Tools 329..340 : spoof of DNS responses (A, NS, PTR, HINFO, MX
    and TXT).
  - Update of sniff tools 10..15, 295..297 to display DNS data.
  - Tools 341..343 : query a DNS server.
  - Tool 344 : display version of a Bind DNS server.
  - Tools 345,348 : always refuse a DNS query.
  - Tools 349,350 : always answer the same DNS response.

 ++ minor evolutions ++
  - Support for FTP passive mode of a special server (I don't know
    which one, the banner is unknown). This server returns two 
    spaces in a 227 answer. So the function shared_ftp_cmd_pasv was
    updated.
  - Compiling one tool separately is now easier. It's described
    in doc/compil1toolunix_en.txt.
  - Various English spelling corrections.
  - In help mode, upper value for HTTP clients was incorrect (202
    instead of 294).
  - Tools 346,347 : udp multiclient servers displaying and echoing
    data.


---------------------------------------------------------------------
Version 4.06 - 12-march-2002
 ++ bugs fixed ++
  - Tool 149 and 150 : if input and output files were the same, 
    an error was displayed, and the file was not renamed. The 
    solution was to update lcrzo_filename_copy and 
    lcrzo_filename_rename.

 ++ major evolutions ++
  - Support for serial line modems. Please note that PPP is not
    Ethernet, so several functionalities aren't available on this
    device type. Read lcrzoex-4.06-doc_html for a complete
    description of supported functionalities on each operating
    system.

 ++ minor evolutions ++
  - Update of tool 173 to display modem information.
  - Tools 298..307 : spoof without having to specify an IP option.
  - Tools 308..315 : create udp/tcp client/servers without having to
    specify an IP option.
  - Tools 316,317,318 : tcp/udp/icmp traceroute at IP level
  - Tools 319,320 : icmp/tcp ping at IP level
  - Tool 321 : prediction of sequence numbers at IP level
  - Tools 322,323,324 : tcp/udp/icmp scan at IP level
  - It's now possible to symlink lcrzoex. For example, if lc133
    is a symlink to lcrzoex, then "lc133" directly calls tool 133.
  - Tools 325,326 : to edit binary files.


---------------------------------------------------------------------
Version 4.05 - 17-february-2002
 ++ bugs fixed ++
    none in this version

 ++ major evolutions ++
  - Port to Linux under Alpha processor.
  - Port to FreeBSD under Alpha processor.
  - Port to MacOS X (thanks to snikt at cyberspace dot org). The port
    of spoofing functions has to be terminated.
  - Reorganization of text documentation.

 ++ minor evolutions ++
  - Tool 294 : download a web page
  - Tool 295, 296, and 297 : sniff and display packets. During the
    sniff, we can pause by pressing the key 'p'.
  - In help mode, when '0' is pressed, go up of one category only.


---------------------------------------------------------------------
Version 4.04 - 3-february-2002
 ++ bugs fixed ++
    none in this version

 ++ major evolutions ++
  - Creation of module shared_para to deal with tool parameters. For
    example d[]d can be used for interactive device selection. Read
    documentation to learn how to use it.

 ++ minor evolutions ++
  - Tool 291 : remove a file on a FTP server
  - Tool 292 : recursively remove a directory on a FTP server
  - Tool 293 : check if posting is allowed on a NNTP server
  - Several spelling corrections.
  - Improvement of tools 149 and 150.


---------------------------------------------------------------------
Version 4.03 - 13-january-2002
 ++ bugs corrected ++
    none in this version

 ++ major evolutions ++
  - Rewrite of the module shared_ftp.
  - Creation of new FTP functions :
     279/280 - active/passive ftp listing a directory
     281/282 - active/passive ftp retrieving a file
     283/284 - active/passive ftp uploading a file
     285/286 - active/passive ftp downloading a directory
     287/288 - active/passive ftp uploading a directory
     289 - ftp listing a directory using control connection only
     290 - ftp client displaying type of a remote file

 ++ minor evolutions ++
  - Added lcrzo_compilparam_check at the beginning to check if
    compilation parameters (endianness, size of structures) are 
    correct.
  - Permit to compile lcrzoex without having to install lcrzo (it
    still needs to be compiled). This is useful for non root users.
  - Creation of lcrzoex-4.xx-doc_html.tgz, which contains user's
    manual and examples of lcrzoex.
  - When user does not have admin privileges, the warning is now
    only displayed in help mode.


---------------------------------------------------------------------
Version 4.02 - 26-december-2001
 ++ bugs corrected ++
  - The function lcrzo_close was called too soon in tool 133.
  - In tool 133, IP id field was not incremented for each
    spoofed packet.

 ++ major evolutions ++
  - Port to Windows 2000.
  - Port to Windows Me.

 ++ minor evolutions ++
  - Creation of tool 278 displaying debugging information about
    the local computer configuration. This tool should be used
    to report problems about lcrzo.


---------------------------------------------------------------------
Version 4.01 - 25-november-2001
 ++ bugs corrected ++
  - Memory leak in tool 216.
  - Memory leak in tool 264.
  - Memory leak in tool 272.
  - Tool 216 under Unix : code was executed with 'exec' command, but
    result was not sent through the socket. So, the message "could
    not execute this command" was incorrectly displayed in the 217 or
    218 clients.

 ++ major evolutions ++
    none in this version

 ++ minor evolutions ++
  - Functions lcrzo_init and lcrzo_close added in every tool. So,
    user does not have to do it to compile them separately.
  - Creation of tools 274 and 275 to sniff, like tool 7, but with an
    easy device selection.
  - Creation of tool 276, like tool 216, but user can specify a
    password.
  - Creation of tool 277, like tool 260, but user can specify a login
    and a password.
  - When a bad address, pcap filter, range or integer is specified
    on command line, it is printed along with the corresponding error
    message.


---------------------------------------------------------------------
Version 4.00 - 12-november-2001
 ++ bugs corrected ++
  - In tool 192, the password was not assigned to the correct
    argv parameter.

 ++ major evolutions ++
  - This version is a major rewrite, in order to be system
    independent.
  - No new tool added.

 ++ minor evolutions ++
  - It's possible to go up by pressing 0 in the menus.

---------------------------------------------------------------------
The changelog for previous versions was removed from this file.
