diff --git a/dat/ncdc b/dat/ncdc index 84b2717..476ec91 100644 --- a/dat/ncdc +++ b/dat/ncdc @@ -10,12 +10,16 @@ ncurses interface. =item Latest version -1.12 ([dllink ncdc-1.12.tar.gz download] +1.13 ([dllink ncdc-1.13.tar.gz download] - L - L) -Statically linked binaries for Linux are also available with the -L. +Convenient static binaries for Linux: +L<64-bit|http://dev.yorhel.nl/download/ncdc-linux-x86_64-1.13.tar.gz> - +L<32-bit|http://dev.yorhel.nl/download/ncdc-linux-i486-1.13.tar.gz> - +L. +Check the L for +more info. =item Development version @@ -28,7 +32,7 @@ You are also invited to join the development hub at C =item Requirements -The following libraries are required: ncurses, bzip2, sqlite3, glib2 and +The following libraries are required: ncurses, zlib, bzip2, sqlite3, glib2 and gnutls. Ncdc is entirely written in C and available under a liberal MIT license. diff --git a/dat/ncdc-changelog b/dat/ncdc-changelog index b656edd..1bd34bd 100644 --- a/dat/ncdc-changelog +++ b/dat/ncdc-changelog @@ -1,3 +1,19 @@ +1.13 - 2012-08-16 + - zlib library added as a required dependency + - Purge empty directories from share by default + - Added "share_emptydirs" setting + - Disable tls_policy by default when using an old GnuTLS version + - Improved support for group chat + - Honor G_FILENAME_ENCODING for path autocomplete, /share and queued files + - Use a default connection string on NMDC if no 'connection' has been set + - Support ZLIG for partial file list transfers on ADC + - Send more subdirectories in partial file list transfers + - Removed use of system-provided realpath() + - Don't allow /search with an empty string + - Fix segfault on /search command without query + - Fix display of 'sudp_policy' setting if SUDP is not supported + - Fix --enable-git-version when cross-compiling + 1.12 - 2012-07-10 - Don't follow symlinks in share by default - Added 'share_symlink' option diff --git a/dat/ncdc-faq b/dat/ncdc-faq index 6e51291..790e5fa 100644 --- a/dat/ncdc-faq +++ b/dat/ncdc-faq @@ -22,10 +22,23 @@ positive things about it. Has not seen any recent development, either. =head2 Why did you start from scratch? Why not use the DC++ core? -There are many reasons why I chose not to use code from existing projects, but -all of them boil down to the following two: 1) I am a control freak, and 2) -personal preferences. That is the short answer. The long answer will require a -full article, and I don't feel like writing that much at this point. >_> +There are several reasons why I chose not to use code from existing projects, +but the two most important reasons are the following: 1) I am a control freak, +and 2) personal preferences. + +B I have no idea how to create an interface to a protocol if I +don't know the overall design and all the tiny details of the actual protocol +I'm working with. And what's a better way to get used to a protocol than by +writing everything yourself? Then there's some other advantages to +reimplementing everything: I get to choose the library dependencies and the +memory/CPU efficiency trade-offs, and I am not limited by an existing +implementation that needs quite a few modifications to achieve what I want. +Most of the "special features not commonly found in other clients" mentioned on +the L are a direct result of this. + +B These are simple: I rather dislike C++ and working +with other people's code. Working with other people's C++ code isn't exactly +something I wish to spend my free time on. =head2 What protocol features does ncdc support? @@ -48,52 +61,40 @@ up-to-date client that still uses any of these features. =head2 This "Generating certificates..." is taking ages! When starting up ncdc for the first time, it will need to generate a TLS -certificate. If you're on Linux, some versions of GnuTLS may use C -to obtain random bytes. Unfortunately, this can be horribly slow, and in -extreme cases it may take up to an hour before the certificate has been -generated. GnuTLS does not provide a way to use a faster but less secure +certificate. If you're on Linux, older versions of GnuTLS may use +C to obtain random bytes. Unfortunately, this can be horribly +slow, and in extreme cases it may take several hours before the certificate has +been generated. GnuTLS does not provide a way to use a faster but less secure alternative, so here are some tips to speed it up or cheat a little. B If you're on a desktop, the general advise is to do something else on the background so that Linux can generate more data. For example, move your mouse around a bit, go do some web surfing or play a game. Any activity -might help. If you're on a server, you could start transferring some large -data over the network. +might help. If you're on a server, you could try transferring some large data +over the network. -B There is also another way to "generate" randomness without waiting -for too long: You can feed some bytes from C back to the system -by running the following command as root: C
. You might have to run that command multiple times to complete -the certificate generation, but certainly no more than about 5 times or so. -Note that this solution weakens the security of the certificate by a bit. For -ncdc that doesn't matter at all, but if you have other applications reading -from C, then the security of those applications is also affected. -Unless you happen to be running something that absolutely requires ulta-secure -random numbers, this trick should be perfectly fine. +B If you have root access, you can probably trick GnuTLS by temporarily +replacing C with something else. For example, run C as root, then start ncdc as you +normally would, let it generate the certificates, and then restore your +modifications with C. =head2 Ncdc crashes a lot! -Since version 1.10, the following crashes are possible: +Since version 1.13, the following crash is still possible: =over -=item * You're using an old GnuTLS version (< 2.10 or so, you can check this -with C), and you have tls_policy enabled. To fix this, upgrade -GnuTLS or C. (Bug L<#11|http://dev.yorhel.nl/ncdc/bug/11>). - -=item * You're running ncdc on an old system. FreeBSD <= 8.0 and Mac OS X <= -10.5 are known to be problematic. To get around this, upgrade your system or -bug me hard enough to come with a fix within ncdc. (Bug -L<#14|http://dev.yorhel.nl/ncdc/bug/14>). - -=item * You were typing a C command but forgot to provide a query. -This crash will be fixed soonish. +=item * You're using an old GnuTLS version (< 3.0, you can check this with +C), and you have tls_policy enabled. To fix this, upgrade +GnuTLS or use C. (Bug +L<#11|http://dev.yorhel.nl/ncdc/bug/11>). =back If you're running an older version of ncdc, please upgrade! If your ncdc is up -to date and still have a crash not described here, please report a bug. +to date and you still have a crash not described here, please report a bug. =head2 Ncdc uses too much disk space! diff --git a/dat/ncdc-install b/dat/ncdc-install index dce5b2d..59a80b9 100644 --- a/dat/ncdc-install +++ b/dat/ncdc-install @@ -38,11 +38,11 @@ compiling and/or installing it, I also offer statically linked binaries: =over -=item * L +=item * L -=item * L +=item * L -=item * L (Only tested on some devices, may not work on all) +=item * L =back @@ -119,9 +119,9 @@ First install some required packages (as root): Then, fetch the ncdc source tarball, extract and build as follows: - wget http://dev.yorhel.nl/download/ncdc-1.12.tar.gz - tar -xf ncdc-1.12.tar.gz - cd ncdc-1.12 + wget http://dev.yorhel.nl/download/ncdc-1.13.tar.gz + tar -xf ncdc-1.13.tar.gz + cd ncdc-1.13 export PATH="$PATH:/usr/perl5/5.10.0/bin" ./configure --prefix=/usr LDFLAGS='-L/usr/gnu/lib -R/usr/gnu/lib' make @@ -165,13 +165,13 @@ you can also try to compile ncdc from source. To do so, first install the required libraries: sudo apt-get install libbz2-dev libsqlite3-dev libncurses5-dev\ - libncursesw5-dev libglib2.0-dev libgnutls-dev + libncursesw5-dev libglib2.0-dev libgnutls-dev zlib1g-dev Then run the following commands to download and install ncdc: - wget http://dev.yorhel.nl/download/ncdc-1.12.tar.gz - tar -xf ncdc-1.12.tar.gz - cd ncdc-1.12 + wget http://dev.yorhel.nl/download/ncdc-1.13.tar.gz + tar -xf ncdc-1.13.tar.gz + cd ncdc-1.13 ./configure --prefix=/usr make sudo make install @@ -196,6 +196,8 @@ website|http://cygwin.com/> and use it to install the following packages: =item * wget +=item * zlib-devel + =item * libncursesw-devel =item * libbz2-devel @@ -211,8 +213,8 @@ website|http://cygwin.com/> and use it to install the following packages: Then open a Cygwin terminal and run the following commands to download, compile, and install ncdc: - wget http://dev.yorhel.nl/download/ncdc-1.12.tar.gz - tar -xf ncdc-1.12.tar.gz - cd ncdc-1.12 + wget http://dev.yorhel.nl/download/ncdc-1.13.tar.gz + tar -xf ncdc-1.13.tar.gz + cd ncdc-1.13 ./configure --prefix=/usr make install diff --git a/dat/ncdc-man b/dat/ncdc-man index a293219..ebb100c 100644 --- a/dat/ncdc-man +++ b/dat/ncdc-man @@ -497,6 +497,10 @@ The time to wait before automatically reconnecting to a hub. Set to 0 to disable Whether or not to use the sendfile() system call to upload files, if supported. Using sendfile() allows less resource usage while uploading, but may not work well on all systems. +=item B + +Share empty directories. When disabled (the default), empty directories in your share will not be visible to others. This also affects empty directories containing only empty directories, etc. A file list refresh is required for this setting to be effective. + =item B Any file or directory with a name that matches this regular expression will not be shared. A file list refresh is required for this setting to be effective. diff --git a/dat/tuwf b/dat/tuwf index ff62839..4fd79a4 100644 --- a/dat/tuwf +++ b/dat/tuwf @@ -53,7 +53,9 @@ TUWF is also available on a git repository at L. =item * L (the site that spawned TUWF - L) -=item * L (also L) +=item * L (L) + +=item * L (L) =item * L (L) diff --git a/download/ncdc-1.13.tar.gz.asc b/download/ncdc-1.13.tar.gz.asc new file mode 100644 index 0000000..ebe4e20 --- /dev/null +++ b/download/ncdc-1.13.tar.gz.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.19 (GNU/Linux) + +iQIcBAABCgAGBQJQLNnBAAoJEGI5TGmMJzn6lgAP/ih34mF9DPoJ+FGGdIPWNbLG +qFg1JF4Wm2TY9orKxETNCTU0v77sA0w+cyMs/jCl1+V3zapMZ30k75c/lUH2vQlq +x3WnSdJqMtuDxo1EFPt6I5fZj1XmTzGx/qaOIe8AuYL9ij1s/yPKNOf2YQZ2KAvt +0pQfjQN21Y52njAUwMq9kRB8PUQfydPLcecmPAGRSsRdlHdnVdIFiVM4uWeAW1lS +AaPK4Suz0OlElTLRwd8XozKs/Er7gVi+UergGlWlWE92AcwLpaU+2dxqbL4ox3K1 ++3LWqo044pUyevBP1B3vM75tcEUfNZYZAXac5sHhhoml5ysLnpDmV3fprdDOqpPW +HCy3JMdJn+MUtHL/KGe6ysn+7OnVIGwZp76DTmZAnV++LmFF3Qi8q2seAhqjXJoy +vChZ8FPyiBdmsoGfGsHtH9oQEdLFPMs1264ESWBNwRnvmINxd9NYITIx64snmW38 +E3S9wsKd7kVJx9TSloPOYDeqZURO8mdrgLnyo/OMKDrlPDNmq7lESzWCouYzWXWX +jLb/+Xgm35cLoZKucovzS0HNsaf/nGOPuBo9+YwGmBJIpC1TKFzkZLSHTEaksOnT +95G/xg5e6cgdKKlJPYEwRfUHZwbDlhVGi7e5EpeJYR1j3UxIthEX4tnrI4xGeQp5 +Uc6wznqnXM6r8nv8u5lk +=vDPK +-----END PGP SIGNATURE----- diff --git a/download/ncdc-1.13.tar.gz.md5 b/download/ncdc-1.13.tar.gz.md5 new file mode 100644 index 0000000..b36315e --- /dev/null +++ b/download/ncdc-1.13.tar.gz.md5 @@ -0,0 +1 @@ +523061427c041a4a079ea5ecbfd26742 ncdc-1.13.tar.gz diff --git a/download/ncdc-1.13.tar.gz.sha1 b/download/ncdc-1.13.tar.gz.sha1 new file mode 100644 index 0000000..77bfb71 --- /dev/null +++ b/download/ncdc-1.13.tar.gz.sha1 @@ -0,0 +1 @@ +e919dfcf9ff11d48dd133cbd7709ebd317666295 ncdc-1.13.tar.gz diff --git a/index.cgi b/index.cgi index 92559fa..7978e2c 100755 --- a/index.cgi +++ b/index.cgi @@ -12,6 +12,7 @@ BEGIN { ($ROOT = abs_path $0) =~ s{index\.cgi$}{}; } my @changes = ( + [ '2012-08-16', '/ncdc', 'ncdc 1.13 released.' ], [ '2012-07-10', '/ncdc', 'ncdc 1.12 released.' ], [ '2012-05-15', '/ncdc', 'ncdc 1.11 released.' ], [ '2012-05-03', '/ncdc/install', 'Added installation instructions for ncdc.' ], @@ -90,7 +91,7 @@ TUWF::register( ); TUWF::set( - logfile => '/www/err.log', + logfile => '/home/yorhel/tuwf.log', error_404_handler => \¬found, mail_from => 'Yorhels Bug Tracker ', # this is a fairly static site, allow some aggressive caching @@ -255,7 +256,7 @@ sub bug_post { } # Experimental: announce this report to the ncdc hub, through the globster bot - my $sock = '/tmp/glob.sock'; + my $sock = '/tmp/globster.sock'; if(-e $sock) { my $msg = "Bug activity for $p: $l->{summary} -> http://dev.yorhel.nl/$p/bug/$l->{issue}"; require AnyEvent; @@ -396,6 +397,7 @@ sub htmlHeader { a href => 'mailto:projects@yorhel.nl', 'projects@yorhel.nl'; br; a href => 'http://yorhel.nl', 'yh'; txt ' - '; a href => 'http://g.blicky.net', 'git'; + txt ' - '; a href => 'http://github.com/yorhel', 'github'; txt ' - '; a href => 'http://pgp.mit.edu:11371/pks/lookup?search=0x8c2739fa', 'pgp'; br;br; lit q|