microdc - History
2005-10-18: microdc 0.11.0 released.
Uploaded/download completed messages now contain time elapsed and final transfer rate.
Support extended protocol for hubs -
NoHello extensions are supported.
Support character set conversion through the new variable
charset. Messages received and sent to hub and users are now converted according to
charset (unless unset). (Feature suggested by Vlad Safronov.)
Display many data sizes in human readable form.
Display reason why uploads failed.
LIBINTL for proper portability.
Revamped communication between main and user processes, to reduce possible latency in the main process.
Revamped user process termination handling, cleaning up messages related to that.
Fixed display of private messages - now displays source user properly.
User connections will now be closed after 180 seconds of inactivity.
-c) option to specify a different configuration script to load on startup.
Updated manual page and added new section "Files".
Add gnulib module
getaddrinfo for improved portability.
Add gnulib modules
lookup command to look up host IP addresses.
All host name lookups are done in the background (currently only for
Parsing of downloaded file lists is now done in the background (by a separate process).
Fixed bug: User connection communication is now printed in debug display (
set display +debug).
Added References section to web page and
Somewhat cleaned up hub connection and disconnection messages.
Improved the way user connections are named before they're identified fully.
Allow localization of some strings that previously weren't localized.
Fix potential bugs when reconnecting to a hub - some local values weren't cleared.
Fix potential bug when
GetINFO would be sent twice for a user.
Oops. Send proper tag in
Unescape certain escaped sequences (such as
&) in chat text.
Fix bug when an invalid
$GetINFO command would be sent to the hub.
Changed state in
README from beta to late beta.
2005-09-17: microdc 0.10.0 released.
Improve sorting for completion results.
Fixed possible portability bugs in IPC code.
Partial downloads are now resumed automaticly.
get command now matches complete directories even if the file name was specified with trailing slash(es).
Cleaned up download and upload code, hopefully fixing a few bugs and adding some improvements. Don't open a file to upload before checking if there's a free upload slot.
Cleaned up download and upload messages a bit.
Fix segmentation fault when completion for
find when file list was not received yet.
queue command now accepts zero arguments to list users we have queued files for.
Fix segmentation fault when browsing oneself twice.
grantslot can now be used to displays a list of users with granted slots, and to remove granted slot for a user.
cd commands now accepts wildcards like
Fixed some minor completion issues when completing file names with wildcards.
find command now accepts multiple file arguments.
Improved queueing system, to pave way for automatic download support in upcoming versions. Completed downloads as well as failed ones are now kept in the queue, marked appropriately.
Fix completion for
unqueue command (now same as
get . and
get .. now work properly.
Fix upload slots bug: Don't grant slots to arbitrary users! (oops).
Don't overwrite files when renaming after complete download.
retry command to try to connect and download files from user.
status command now includes total bytes received and sent.
2005-09-06: Added missing package files.
Added missing Slackware and Slamd64 package files.
2005-09-02: microdc 0.9.0 released.
Search strings are now all required, not just one of them! (reported by Megizo Pet).
command can now be run without arguments to run the current shell in the foreground.
Implemented completion natively. The completion support in GNU readline is no longer used, but the microdc implementation tries to mimic GNU readline. The following improvements have been made:
Complete partially quoted words (e.g.
Add closing quote only when expected (cannot control this properly with GNU readline).
Improved completion with wildcards - will no longer escape wildcards if there are many matches.
Probably some other fixes as well.
No longer accept c-style escapes (
etc), but still accepts octal escape sequences (
Sort file name completion results.
Display files starting with dot in completion results only if completion file name starts with a dot.
Implemented wildcard support for completion of local and remote files and directories. A wildcard can be disabled if escaped with backslash or if put inside double quotes (e.g.
command now accepts wildcards.
Fixed a bug: Could get stuck reading the startup script on some systems.
command - don't escape the data for HTML display like it is done with
command - could potentially send nothing or garbage due to freeing memory before using it. Escape the message properly as well.
Fixed parsing of boolean values (for
variable currently only) -
was considered negative and
positive. Also allow for flexible translation (suggested by Jakub Jankowski).
Added completion for boolean values (for
Fix compilation problems on FreeBSD:
strnlen was being used.
Add Gnulib modules
Add Gnulib module
for wildcard support.
2005-08-13: microdc 0.8.0 released.
help command. Document all commands.
Improve commands by accepting multiple arguments:
Fix Ctrl+C again (register signal handler for
SIGINT and other signals in user processes).
--no-config command line option for preventing config files to be read and executed on startup.
Improve error handling for
Improve error messages for terminated user processes.
Improve portability by only assigning
struct sigaction.sa_restorer when available (patch submitted by Jochen Friedrich for another project).
Updated FSF address in copyright and license messages.
Update documentation in README, fix some typos.
Fix a bunch of compilation warnings when using gcc 4.0.
Build Slackware and Slamd64 packages of microdc (thanks Jakub Jankowski and Kanedaaa). Also add
slackware target to Makefile.am.
Add Gnulib modules
Put scripts from autoconf and automake needed for building
build-aux, move the rpm spec file into
rpm, the slackbuild file into
slackware, and some documentation into
Fixed description for Slackware package (from Jakub Jankowski).
Always build slackware packages with
-O2 (from Jakub Jankowski).
RPM packages now contain locale files as well.
2005-07-02: microdc 0.7.0 released.
Created a mailing list
which is open to everyone.
command for executing system commands.
Fix bug in code setting non-blocking mode on file descriptors. The fd wasn't set in non-blocking mode! I can't believe everything worked well before this fix. Now microdc should be more fluid.
command now lists files with small size properly in long mode (
Fix segfault when pressing tab and no completor is expected (reported by Mark Lee).
messages sent to hub.
Get rid of
Invalid $MyINFO message: Unknown user .., ignoring
message (reported by Gheorghe Pula).
Fix small memory leak when using
command now allows multiple user arguments.
Change way arguments for commands are parsed - microdc now handles arguments much like the shell. This means that if you want to put double quote (
), backslash (
), semicolon (
) or number sign (
) in public or private messages (
), you have to escape those characters like this:
say Debian GNU/Linux 3.1 \"sarge\" is out now\; that's good.
Allow commands to be separated with semicolon, like this:
set downloaddir . ; set listingdir .
Support comments starting with the number sign (
). Number signs inside words are not treated as comment introducers though, just like with bash.
Rewrote screen handling code - fixing some display bugs such as Ctrl+C messing up the screen.
Don't start when unrecognized options are encountered on command line.
Correctly log warnings and other messages printed on screen if logging is enabled.
The executables in the RPM packages now links with ncurses to prevent problems on Red Hat and Fedora systems.
Fix many error messages: Print trailing newline.
Add support for building Slackware packages (from Jakub Jankowski and Kanedaaa, thanks).
variables can now be set correctly.
Add Gnulib modules
Complete correctly for
command: Allow multiple arguments and options (
Complete directory names with trailing backslash even if completing inside a word.
Send correct nick to remove users in user connections.
Internal code changes: Add
Internal code changes: Prepare for future POSIX thread support by adding
and removing static variables in
Compile on systems where
is not available.
Allow translation of more strings.
Get rid of year ranges in copyright (as recommended by the FSF).
2005-06-01: microdc 0.6.0 released.
set command, remove many commands for setting and displaying variables.
status command for displaying various status information.
cd command now accepts
- for previous directory (just like bash).
Do not add already added result to searches.
Wrap public and private chat messages better (when they contain newlines).
results command now displays the search pattern.
Accept comma separated list of ranges for
Display outgoing UDP search results in if
debug display flag is set.
Handle incomplete search results from NeoModus DirectConnect 2.20 clients.
Quote strings printed (to prevent non-printable characters from being displayed).
Quote strings generated as completion results.
Use locale settings even if compiled without localization support.
queue command now generates users with queued files only.
Improved completion for
set display command - check if flag starts with `-' or `+'.
queue commands only work when connected (queues are unfortunately cleared on disconnect).
Implement logging to file through
set logfile and
set log commands.
connections display flag, for displaying normal user connection events.
Fix bug in search handling, causing all incoming search results to be discarded (bug reported by Tomas Hallenberg).
$OpList hub message correcly, now issues
$GetINFO for all ops.
$GetNetInfo message from hubs (is this bad?).
MANIFEST.sources (forgot to do this for 0.5.0 release).
Added new Gnulib module
quotearg, update some other modules Gnulib.
Some internal code changes - merge
substrcmp, clean up common code.
Fix handling of files starting with dots -
cd .foo would not change to
Corrected use of quotes in some messages ('foo'
Add replacement for GNU Libc's
Rewrite quoting functions.
Speed up file listing operations by accessing directory children map properly.
2005-05-16: microdc 0.5.0 released.
Fixed copyright year for microdc manual page.
rpm make target is now a
.PHONY makefile target.
Mention more projects in copyright section in the
Set locale and bind to the right message domain in microdc. Otherwise localization won't work. Doh!
Display emotes (patch submitted by Mark Lee).
Fixed typo in manual page (patch submitted by Jakub Jankowski).
Added Polish translation and Polish manual page, also from Jakub Jankowski.
Fix some translation messages (especially regarding plurals).
Improve detection of readline library - the configure script will fail if it is not available.
GNU Readline is required - libedit or libeditline will not do.
Fix memory leak in file completion code.
display command for controlling what's displayed on screen.
debug command in favor of
Fix parsing of ranges in
unqueue command, would cause crash (sooner or later).
Invalid $Quit message only when debug enabled, some hubs send this message for users never joined.
Use a more secure way to resolve and check local path of file to upload.
results command now displays whether new results are accepted for a search or not.
Refuse to handle empty search patterns, both those sent by remote and those made locally.
search command will now properly issue searches that haven't been made before instead of reissuing some other search.
search command will only work when connected to a hub.
Handle downloading of zero size files properly (bug reported by Jakub Jankowski).
Fixed release date for 0.4.0 release. Oops!
2005-05-03: microdc 0.4.0 released.
Fixed various typos in the
debian building: target in Makefile.am is now
Add command-line options
Add very basic manual page.
Add swedish translation.
Improve some error messages and error handling in signal routines.
Add newline to some error messages missing it.
Improve way to determine temporary directory.
Clean up common code - remove
Fix crash in share directory scanning code (crashed when file status could not be retried).
Make it possible to browse ourselves.
Don't add search results to old searches (more than 60 seconds old at the moment).
Create RPM packages for microdc.
Rename Known bugs section and add info about lack of support for multiple share directories.
Make it possible to "fake" address listening on using listenaddr command. This is useful if you are behind a router. Patch submitted by Tiago Cogumbreiro.
Don't add empty lines to readline history.
2005-04-30: microdc 0.3.0 released.
microdc is now hosted on Savannah
The home page has been redesigned.
Better prompt - displays browsing user and current directory.
Automaticly browses users when file list downloaded.
to list recursively.
Improve file name completion - now completes file names with spaces correctly.
Improve completion for say command - now adds colon ("
") when a single match is found.
Fix certain error messages missing newline at end.
Fix completion for
Display more information with who command.
Fix bug in
command - change to root directory now works.
No longer creates full absolute path for downloaded files in the download directory.
command now prints file sizes in megabytes.
command now sorts files.
command now sorts users by name.
command doesn't wrap lines.
Better readline check - only link with termcap and/or ncurses if necessary.
compilation bug (reported by Spoiala Cristian).
Check max number of connections to user before sending them
Add more error messages: "
No more connections allowed
Fix a potential bug with connections being identified for a certain user despite the fact that no more connections to that user are allowed. This should fix this error:
microdc: user.c:1000: user_disconnect: Assertion `c != uc->info->conn_count' failed.
Display who sent private messages (oops).
Download files as "
" and rename when completed.
2005-04-22: microdc 0.2.2 released.
Use autoconf, automake and gnulib.
Fix compilation warnings/errors on 64-bit platforms.
Added patch to fix listenport problem (from Jakub Jankowski, thanks).
msg command no longer sends text into public... Oops!
README (various additions and modifications).
2004-08-21: microdc 0.2.1 released.
Fixed crash on some (many) search requests.
Fixed crash when disabling active mode.
Fixed compile and link problems with readline on some systems (reported by Ludvig Holmström).
Added a new document
Use user name completion for
commands for now.
If file is already queued on get, retry immediately instead of doing nothing.
Detection and handling of user active/passive state has been improved.
TTH searches are now recognized and ignored.
Print only outgoing search information when debug is enabled.
Fixed minor memory leak when reusing searches (issuing same search).
Implemented a better IPC mechanism.
Better status reporting, improving latency of
Improved code looking up user connections.
2004-08-13: microdc 0.2.0 released.
Alpha 2 release.
Added support for searching.
Improved completion of local symbolic links (to match bash behavior).
Some minor bugs that I have forgotten about were probably fixed.
2004-08-11: microdc 0.1.0 released.
First release (alpha 1).
Click here to return to the main page.