2006-07-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>

To improve the conditional compilation:

	* src/MultiDiskWriter.h:
	Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.	
	* src/MultiDiskWriter.cc:
	Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.
	* src/Util.h:
	Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.
	Added ENABLE_BITTORRENT around computeFastSet().
	* src/Util.cc:
	Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.
	Added ENABLE_BITTORRENT around computeFastSet().	
	* src/messageDigest.h:
	Replaced ENABLE_BITTORRENT with ENABLE_SSL.
	* src/ShaVisitor.h:
	Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.
	* src/ShaVisitor.cc:
	Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.
	* src/main.cc:
	Added ENABLE_BITTORRENT around includes and blocks related to
	BitTorrent.
	* src/AbstractDiskWriter.h:
	Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.
	* src/AbstractDiskWriter.cc:
	Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.
	
	To add command-line options for Metalink:

	* src/main.cc:
	Added metalink-version, metalink-language, metalink-os,
	follow-metalink.

	To use EXIT_SUCCESS and EXIT_FAILURE with exit():

	* src/main.cc: Use these definition.
This commit is contained in:
Tatsuhiro Tsujikawa 2006-07-04 10:57:56 +00:00
parent 8d340992d6
commit 31cf446f6d
27 changed files with 1035 additions and 538 deletions

View File

@ -1,3 +1,41 @@
2006-07-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
To improve the conditional compilation:
* src/MultiDiskWriter.h:
Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.
* src/MultiDiskWriter.cc:
Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.
* src/Util.h:
Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.
Added ENABLE_BITTORRENT around computeFastSet().
* src/Util.cc:
Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.
Added ENABLE_BITTORRENT around computeFastSet().
* src/messageDigest.h:
Replaced ENABLE_BITTORRENT with ENABLE_SSL.
* src/ShaVisitor.h:
Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.
* src/ShaVisitor.cc:
Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.
* src/main.cc:
Added ENABLE_BITTORRENT around includes and blocks related to
BitTorrent.
* src/AbstractDiskWriter.h:
Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.
* src/AbstractDiskWriter.cc:
Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.
To add command-line options for Metalink:
* src/main.cc:
Added metalink-version, metalink-language, metalink-os,
follow-metalink.
To use EXIT_SUCCESS and EXIT_FAILURE with exit():
* src/main.cc: Use these definition.
2006-07-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
To add Metalink support(http/ftp only):

View File

@ -113,6 +113,10 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_BITTORRENT_FALSE = @ENABLE_BITTORRENT_FALSE@
ENABLE_BITTORRENT_TRUE = @ENABLE_BITTORRENT_TRUE@
ENABLE_METALINK_FALSE = @ENABLE_METALINK_FALSE@
ENABLE_METALINK_TRUE = @ENABLE_METALINK_TRUE@
EXEEXT = @EXEEXT@
GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@

8
TODO
View File

@ -4,16 +4,10 @@
* Add SSL client cert support
* Better HTTP status handling
* Download files listed in a specifed file.
* check MD5 checksum
* Add the feature which adds or removes URLs on-the-fly.
* Tracker UDP protocol
* no-compact peers format
* Add port range command-line option
* Add max peers command-line option
* Distinguish seeder from leecher
* Add Mainline-compatible DHT support
* Add Message stream encryption support
* Refacturing HttpConnection and FtpConnection
* Use EXIT_SUCCESS and EXIT_FAILURE
* Query resource by location
* Conditional compilation based on ENABLE_LIBXML2
* Log version

View File

@ -11,6 +11,9 @@
/* Define to 1 if BitTorrent support is enabled. */
#undef ENABLE_BITTORRENT
/* Define to 1 if message digest support is enabled. */
#undef ENABLE_MESSAGE_DIGEST
/* Define to 1 if Metalink support is enabled. */
#undef ENABLE_METALINK
@ -18,9 +21,6 @@
language is requested. */
#undef ENABLE_NLS
/* Define to 1 if SHA1 Digest support is enabled. */
#undef ENABLE_SHA1DIGEST
/* Define to 1 if ssl support is enabled. */
#undef ENABLE_SSL

143
configure vendored
View File

@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.59 for aria2c 0.5.2.
# Generated by GNU Autoconf 2.59 for aria2c 0.6.0.
#
# Report bugs to <tujikawa@rednoah.com>.
#
@ -269,8 +269,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='aria2c'
PACKAGE_TARNAME='aria2c'
PACKAGE_VERSION='0.5.2'
PACKAGE_STRING='aria2c 0.5.2'
PACKAGE_VERSION='0.6.0'
PACKAGE_STRING='aria2c 0.6.0'
PACKAGE_BUGREPORT='tujikawa@rednoah.com'
ac_unique_file="src/Socket.h"
@ -311,7 +311,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CPPUNIT_CONFIG CPPUNIT_CFLAGS CPPUNIT_LIBS localedir CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CC CFLAGS ac_ct_CC CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE RANLIB ac_ct_RANLIB YACC XML2_CONFIG XML_CPPFLAGS XML_LIBS LIBGNUTLS_CONFIG LIBGNUTLS_CFLAGS LIBGNUTLS_LIBS LIBGCRYPT_CONFIG LIBGCRYPT_CFLAGS LIBGCRYPT_LIBS OPENSSL_LIBS OPENSSL_CFLAGS ALLOCA CPP EGREP MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE build build_cpu build_vendor build_os host host_cpu host_vendor host_os GLIBC21 LIBICONV LTLIBICONV INTLBISON BUILD_INCLUDED_LIBINTL USE_INCLUDED_LIBINTL CATOBJEXT DATADIRNAME INSTOBJEXT GENCAT INTLOBJS INTL_LIBTOOL_SUFFIX_PREFIX INTLLIBS LIBINTL LTLIBINTL POSUB LIBOBJS LTLIBOBJS'
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CPPUNIT_CONFIG CPPUNIT_CFLAGS CPPUNIT_LIBS localedir CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CC CFLAGS ac_ct_CC CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE RANLIB ac_ct_RANLIB YACC XML2_CONFIG XML_CPPFLAGS XML_LIBS LIBGNUTLS_CONFIG LIBGNUTLS_CFLAGS LIBGNUTLS_LIBS LIBGCRYPT_CONFIG LIBGCRYPT_CFLAGS LIBGCRYPT_LIBS OPENSSL_LIBS OPENSSL_CFLAGS ENABLE_BITTORRENT_TRUE ENABLE_BITTORRENT_FALSE ENABLE_METALINK_TRUE ENABLE_METALINK_FALSE ALLOCA CPP EGREP MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE build build_cpu build_vendor build_os host host_cpu host_vendor host_os GLIBC21 LIBICONV LTLIBICONV INTLBISON BUILD_INCLUDED_LIBINTL USE_INCLUDED_LIBINTL CATOBJEXT DATADIRNAME INSTOBJEXT GENCAT INTLOBJS INTL_LIBTOOL_SUFFIX_PREFIX INTLLIBS LIBINTL LTLIBINTL POSUB LIBOBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@ -788,7 +788,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures aria2c 0.5.2 to adapt to many kinds of systems.
\`configure' configures aria2c 0.6.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@ -854,13 +854,15 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of aria2c 0.5.2:";;
short | recursive ) echo "Configuration of aria2c 0.6.0:";;
esac
cat <<\_ACEOF
Optional Features:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-bittorrent enable BitTorrent support. Default: yes
--enable-metalink enable Metalink support. Default: yes
--disable-dependency-tracking speeds up one-time build
--enable-dependency-tracking do not reject slow dependency extractors
--disable-xmltest Do not try to compile and run a test LIBXML program
@ -998,7 +1000,7 @@ fi
test -n "$ac_init_help" && exit 0
if $ac_init_version; then
cat <<\_ACEOF
aria2c configure 0.5.2
aria2c configure 0.6.0
generated by GNU Autoconf 2.59
Copyright (C) 2003 Free Software Foundation, Inc.
@ -1012,7 +1014,7 @@ cat >&5 <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by aria2c $as_me 0.5.2, which was
It was created by aria2c $as_me 0.6.0, which was
generated by GNU Autoconf 2.59. Invocation command line was
$ $0 $@
@ -1655,7 +1657,7 @@ fi
# Define the identity of the package.
PACKAGE='aria2c'
VERSION='0.5.2'
VERSION='0.6.0'
cat >>confdefs.h <<_ACEOF
@ -1946,6 +1948,20 @@ else
with_libxml2=yes
fi;
# Check whether --enable-bittorrent or --disable-bittorrent was given.
if test "${enable_bittorrent+set}" = set; then
enableval="$enable_bittorrent"
enable_bittorrent=$enableval
else
enable_bittorrent=yes
fi;
# Check whether --enable-metalink or --disable-metalink was given.
if test "${enable_metalink+set}" = set; then
enableval="$enable_metalink"
enable_metalink=$enableval
else
enable_metalink=yes
fi;
# Checks for programs.
ac_ext=cc
@ -4437,14 +4453,6 @@ _ACEOF
fi
if test "x$with_openssl" = "xyes" && test "x$have_libgnutls" != "xyes"; then
# AC_CHECK_LIB([ssl], [SSL_library_init], [have_openssl=yes])
# if test "x$have_openssl" = "xyes"; then
# AC_DEFINE([HAVE_LIBSSL], [1], [Define to 1 if you have openssl.])
# OPENSSL_LIBS="-lssl"
# OPENSSL_CFLAGS=""
# AC_SUBST(OPENSSL_LIBS)
# AC_SUBST(OPENSSL_CFLAGS)
# fi
# Check whether --with-openssl-prefix or --without-openssl-prefix was given.
@ -4617,14 +4625,7 @@ CPPFLAGS=$CPPFLAGS_save
fi
if test "x$have_libxml2" = "xyes"; then
cat >>confdefs.h <<\_ACEOF
#define ENABLE_METALINK 1
_ACEOF
fi
# Define variables based on the result of the checks for libraries.
if test "x$have_libgnutls" = "xyes" || test "x$have_openssl" = "xyes"; then
cat >>confdefs.h <<\_ACEOF
@ -4636,16 +4637,70 @@ fi
if test "x$have_libgcrypt" = "xyes" || test "x$have_openssl" = "xyes"; then
cat >>confdefs.h <<\_ACEOF
#define ENABLE_SHA1DIGEST 1
#define ENABLE_MESSAGE_DIGEST 1
_ACEOF
enable_message_digest=yes
fi
if test "x$enable_bittorrent" = "xyes" && test "x$enable_message_digest" = "xyes"; then
cat >>confdefs.h <<\_ACEOF
#define ENABLE_BITTORRENT 1
_ACEOF
if true; then
ENABLE_BITTORRENT_TRUE=
ENABLE_BITTORRENT_FALSE='#'
else
ENABLE_BITTORRENT_TRUE='#'
ENABLE_BITTORRENT_FALSE=
fi
else
if false; then
ENABLE_BITTORRENT_TRUE=
ENABLE_BITTORRENT_FALSE='#'
else
ENABLE_BITTORRENT_TRUE='#'
ENABLE_BITTORRENT_FALSE=
fi
fi
if test "x$have_libxml2" = "xyes" && test "x$enable_metalink" = "xyes" && \
test "x$enable_message_digest" = "xyes"; then
cat >>confdefs.h <<\_ACEOF
#define ENABLE_METALINK 1
_ACEOF
if true; then
ENABLE_METALINK_TRUE=
ENABLE_METALINK_FALSE='#'
else
ENABLE_METALINK_TRUE='#'
ENABLE_METALINK_FALSE=
fi
else
if false; then
ENABLE_METALINK_TRUE=
ENABLE_METALINK_FALSE='#'
else
ENABLE_METALINK_TRUE='#'
ENABLE_METALINK_FALSE=
fi
fi
# Checks for header files.
ac_ext=c
@ -11590,6 +11645,34 @@ echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${ENABLE_BITTORRENT_TRUE}" && test -z "${ENABLE_BITTORRENT_FALSE}"; then
{ { echo "$as_me:$LINENO: error: conditional \"ENABLE_BITTORRENT\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
echo "$as_me: error: conditional \"ENABLE_BITTORRENT\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${ENABLE_BITTORRENT_TRUE}" && test -z "${ENABLE_BITTORRENT_FALSE}"; then
{ { echo "$as_me:$LINENO: error: conditional \"ENABLE_BITTORRENT\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
echo "$as_me: error: conditional \"ENABLE_BITTORRENT\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${ENABLE_METALINK_TRUE}" && test -z "${ENABLE_METALINK_FALSE}"; then
{ { echo "$as_me:$LINENO: error: conditional \"ENABLE_METALINK\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
echo "$as_me: error: conditional \"ENABLE_METALINK\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${ENABLE_METALINK_TRUE}" && test -z "${ENABLE_METALINK_FALSE}"; then
{ { echo "$as_me:$LINENO: error: conditional \"ENABLE_METALINK\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
echo "$as_me: error: conditional \"ENABLE_METALINK\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
: ${CONFIG_STATUS=./config.status}
ac_clean_files_save=$ac_clean_files
@ -11861,7 +11944,7 @@ _ASBOX
} >&5
cat >&5 <<_CSEOF
This file was extended by aria2c $as_me 0.5.2, which was
This file was extended by aria2c $as_me 0.6.0, which was
generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@ -11924,7 +12007,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
aria2c config.status 0.5.2
aria2c config.status 0.6.0
configured by $0, generated by GNU Autoconf 2.59,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
@ -12197,6 +12280,10 @@ s,@LIBGCRYPT_CFLAGS@,$LIBGCRYPT_CFLAGS,;t t
s,@LIBGCRYPT_LIBS@,$LIBGCRYPT_LIBS,;t t
s,@OPENSSL_LIBS@,$OPENSSL_LIBS,;t t
s,@OPENSSL_CFLAGS@,$OPENSSL_CFLAGS,;t t
s,@ENABLE_BITTORRENT_TRUE@,$ENABLE_BITTORRENT_TRUE,;t t
s,@ENABLE_BITTORRENT_FALSE@,$ENABLE_BITTORRENT_FALSE,;t t
s,@ENABLE_METALINK_TRUE@,$ENABLE_METALINK_TRUE,;t t
s,@ENABLE_METALINK_FALSE@,$ENABLE_METALINK_FALSE,;t t
s,@ALLOCA@,$ALLOCA,;t t
s,@CPP@,$CPP,;t t
s,@EGREP@,$EGREP,;t t

View File

@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
#
AC_PREREQ(2.59)
AC_INIT(aria2c, 0.5.2, tujikawa@rednoah.com)
AC_INIT(aria2c, 0.6.0, tujikawa@rednoah.com)
AM_INIT_AUTOMAKE()
AM_PATH_CPPUNIT(1.10.2)
AC_CONFIG_SRCDIR([src/Socket.h])
@ -17,6 +17,8 @@ AC_ARG_WITH([gnutls], [ --with-gnutls use gnutls library if insta
AC_ARG_WITH([openssl], [ --with-openssl use openssl library if installed. Default: yes], [with_openssl=$enableval], [with_openssl=yes])
AC_ARG_WITH([libxml2], [ --with-libxml2 use libxml2 library if installed. Default: yes], [with_libxml2=$enableval], [with_libxml2=yes])
AC_ARG_ENABLE([bittorrent], [ --enable-bittorrent enable BitTorrent support. Default: yes], [enable_bittorrent=$enableval], [enable_bittorrent=yes])
AC_ARG_ENABLE([metalink], [ --enable-metalink enable Metalink support. Default: yes], [enable_metalink=$enableval], [enable_metalink=yes])
# Checks for programs.
AC_PROG_CXX
@ -48,30 +50,33 @@ if test "x$have_libgnutls" = "xyes"; then
fi
if test "x$with_openssl" = "xyes" && test "x$have_libgnutls" != "xyes"; then
# AC_CHECK_LIB([ssl], [SSL_library_init], [have_openssl=yes])
# if test "x$have_openssl" = "xyes"; then
# AC_DEFINE([HAVE_LIBSSL], [1], [Define to 1 if you have openssl.])
# OPENSSL_LIBS="-lssl"
# OPENSSL_CFLAGS=""
# AC_SUBST(OPENSSL_LIBS)
# AC_SUBST(OPENSSL_CFLAGS)
# fi
AM_PATH_OPENSSL
fi
if test "x$have_libxml2" = "xyes"; then
AC_DEFINE([ENABLE_METALINK], [1], [Define to 1 if Metalink support is enabled.])
fi
# Define variables based on the result of the checks for libraries.
if test "x$have_libgnutls" = "xyes" || test "x$have_openssl" = "xyes"; then
AC_DEFINE([ENABLE_SSL], [1], [Define to 1 if ssl support is enabled.])
fi
if test "x$have_libgcrypt" = "xyes" || test "x$have_openssl" = "xyes"; then
AC_DEFINE([ENABLE_SHA1DIGEST], [1], [Define to 1 if SHA1 Digest support is enabled.])
AC_DEFINE([ENABLE_BITTORRENT], [1], [Define to 1 if BitTorrent support is enabled.])
AC_DEFINE([ENABLE_MESSAGE_DIGEST], [1], [Define to 1 if message digest support is enabled.])
enable_message_digest=yes
fi
if test "x$enable_bittorrent" = "xyes" && test "x$enable_message_digest" = "xyes"; then
AC_DEFINE([ENABLE_BITTORRENT], [1], [Define to 1 if BitTorrent support is enabled.])
AM_CONDITIONAL([ENABLE_BITTORRENT], true)
else
AM_CONDITIONAL([ENABLE_BITTORRENT], false)
fi
if test "x$have_libxml2" = "xyes" && test "x$enable_metalink" = "xyes" && \
test "x$enable_message_digest" = "xyes"; then
AC_DEFINE([ENABLE_METALINK], [1], [Define to 1 if Metalink support is enabled.])
AM_CONDITIONAL([ENABLE_METALINK], true)
else
AM_CONDITIONAL([ENABLE_METALINK], false)
fi
# Checks for header files.
AC_FUNC_ALLOCA

View File

@ -87,6 +87,10 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_BITTORRENT_FALSE = @ENABLE_BITTORRENT_FALSE@
ENABLE_BITTORRENT_TRUE = @ENABLE_BITTORRENT_TRUE@
ENABLE_METALINK_FALSE = @ENABLE_METALINK_FALSE@
ENABLE_METALINK_TRUE = @ENABLE_METALINK_TRUE@
EXEEXT = @EXEEXT@
GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@

View File

@ -9,7 +9,7 @@
# General Public License and is *not* in the public domain.
PACKAGE = aria2c
VERSION = 0.5.2
VERSION = 0.6.0
SHELL = /bin/sh

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://aria2.sourceforge.net/\n"
"POT-Creation-Date: 2006-05-27 00:27+0900\n"
"POT-Creation-Date: 2006-07-04 01:30+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -329,39 +329,39 @@ msgstr ""
msgid "Failed to peek data, cause: %s"
msgstr ""
#: src/main.cc:65
#: src/main.cc:76
#, c-format
msgid ""
"\n"
"The download was complete. <%s>\n"
msgstr ""
#: src/main.cc:73
#: src/main.cc:84
msgid ""
"\n"
"The download was not complete because of errors. Check the log.\n"
msgstr ""
#: src/main.cc:88
#: src/main.cc:101
msgid ""
"\n"
"stopping application...\n"
msgstr ""
#: src/main.cc:94
#: src/main.cc:107
msgid "done\n"
msgstr ""
#: src/main.cc:125
#: src/main.cc:123
#, c-format
msgid "Unrecognized URL or unsupported protocol: %s\n"
msgstr ""
#: src/main.cc:131
#: src/main.cc:129
msgid " version "
msgstr ""
#: src/main.cc:135
#: src/main.cc:133
msgid ""
"This program is free software; you can redistribute it and/or modify\n"
"it under the terms of the GNU General Public License as published by\n"
@ -378,45 +378,50 @@ msgid ""
"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n"
msgstr ""
#: src/main.cc:149
#: src/main.cc:147
#, c-format
msgid "Contact Info: %s\n"
msgstr ""
#: src/main.cc:155
#: src/main.cc:153
#, c-format
msgid "Usage: %s [options] URL ...\n"
msgstr ""
#: src/main.cc:157
#: src/main.cc:155
#, c-format
msgid " %s [options] -T TORRENT_FILE FILE ...\n"
msgstr ""
#: src/main.cc:160
msgid "Options:"
#: src/main.cc:158
#, c-format
msgid " %s [options] -M METALINK_FILE\n"
msgstr ""
#: src/main.cc:161
msgid " -d, --dir=DIR The directory to store downloaded file."
msgid "Options:"
msgstr ""
#: src/main.cc:162
msgid " -o, --out=FILE The file name for downloaded file."
msgid " -d, --dir=DIR The directory to store downloaded file."
msgstr ""
#: src/main.cc:163
msgid " -o, --out=FILE The file name for downloaded file."
msgstr ""
#: src/main.cc:164
msgid ""
" -l, --log=LOG The file path to store log. If '-' is "
"specified,\n"
" log is written to stdout."
msgstr ""
#: src/main.cc:165
#: src/main.cc:166
msgid " -D, --daemon Run as daemon."
msgstr ""
#: src/main.cc:166
#: src/main.cc:167
msgid ""
" -s, --split=N Download a file using N connections. N must "
"be\n"
@ -426,24 +431,24 @@ msgid ""
" N connections."
msgstr ""
#: src/main.cc:170
#: src/main.cc:171
msgid ""
" --retry-wait=SEC Set amount of time in second between requests\n"
" for errors. Specify a value between 0 and 60.\n"
" Default: 5"
msgstr ""
#: src/main.cc:173
#: src/main.cc:174
msgid " -t, --timeout=SEC Set timeout in second. Default: 60"
msgstr ""
#: src/main.cc:174
#: src/main.cc:175
msgid ""
" -m, --max-tries=N Set number of tries. 0 means unlimited.\n"
" Default: 5"
msgstr ""
#: src/main.cc:176
#: src/main.cc:177
msgid ""
" --min-segment-size=SIZE[K|M] Set minimum segment size. You can append\n"
" K or M(1K = 1024, 1M = 1024K). This\n"
@ -451,40 +456,40 @@ msgid ""
" 1024."
msgstr ""
#: src/main.cc:180
#: src/main.cc:181
msgid ""
" --http-proxy=HOST:PORT Use HTTP proxy server. This affects to all\n"
" URLs."
msgstr ""
#: src/main.cc:182
msgid " --http-user=USER Set HTTP user. This affects to all URLs."
msgstr ""
#: src/main.cc:183
msgid ""
" --http-passwd=PASSWD Set HTTP password. This affects to all URLs."
msgid " --http-user=USER Set HTTP user. This affects to all URLs."
msgstr ""
#: src/main.cc:184
msgid ""
" --http-proxy-user=USER Set HTTP proxy user. This affects to all URLs"
" --http-passwd=PASSWD Set HTTP password. This affects to all URLs."
msgstr ""
#: src/main.cc:185
msgid ""
" --http-proxy-user=USER Set HTTP proxy user. This affects to all URLs"
msgstr ""
#: src/main.cc:186
msgid ""
" --http-proxy-passwd=PASSWD Set HTTP proxy password. This affects to all "
"URLs."
msgstr ""
#: src/main.cc:186
#: src/main.cc:187
msgid ""
" --http-proxy-method=METHOD Set the method to use in proxy request.\n"
" METHOD is either 'get' or 'tunnel'.\n"
" Default: tunnel"
msgstr ""
#: src/main.cc:189
#: src/main.cc:190
msgid ""
" --http-auth-scheme=SCHEME Set HTTP authentication scheme. Currently, "
"basic\n"
@ -492,23 +497,23 @@ msgid ""
" Default: basic"
msgstr ""
#: src/main.cc:192
#: src/main.cc:193
msgid " --referer=REFERER Set Referer. This affects to all URLs."
msgstr ""
#: src/main.cc:193
#: src/main.cc:194
msgid ""
" --ftp-user=USER Set FTP user. This affects to all URLs.\n"
" Default: anonymous"
msgstr ""
#: src/main.cc:195
#: src/main.cc:196
msgid ""
" --ftp-passwd=PASSWD Set FTP password. This affects to all URLs.\n"
" Default: ARIA2USER@"
msgstr ""
#: src/main.cc:197
#: src/main.cc:198
msgid ""
" --ftp-type=TYPE Set FTP transfer type. TYPE is either "
"'binary'\n"
@ -516,11 +521,11 @@ msgid ""
" Default: binary"
msgstr ""
#: src/main.cc:200
#: src/main.cc:201
msgid " -p, --ftp-pasv Use passive mode in FTP."
msgstr ""
#: src/main.cc:201
#: src/main.cc:202
msgid ""
" --ftp-via-http-proxy=METHOD Use HTTP proxy in FTP. METHOD is either 'get' "
"or\n"
@ -528,11 +533,11 @@ msgid ""
" Default: tunnel"
msgstr ""
#: src/main.cc:205
#: src/main.cc:206
msgid " -T, --torrent-file=TORRENT_FILE The file path to .torrent file."
msgstr ""
#: src/main.cc:206
#: src/main.cc:207
msgid ""
" --follow-torrent=true|false Setting this option to false prevents aria2 "
"to\n"
@ -541,25 +546,25 @@ msgid ""
" Default: true"
msgstr ""
#: src/main.cc:210
#: src/main.cc:211
msgid ""
" -S, --show-files Print file listing of .torrent file and exit."
msgstr ""
#: src/main.cc:211
#: src/main.cc:212
msgid ""
" --direct-file-mapping=true|false Directly read from and write to each file\n"
" mentioned in .torrent file.\n"
" Default: true"
msgstr ""
#: src/main.cc:214
#: src/main.cc:215
msgid ""
" --listen-port=PORT Set port number to listen to for peer "
"connection."
msgstr ""
#: src/main.cc:215
#: src/main.cc:216
msgid ""
" --upload-limit=SPEED Set upload speed limit in KB/sec. aria2 tries "
"to\n"
@ -567,7 +572,7 @@ msgid ""
"unlimited."
msgstr ""
#: src/main.cc:217
#: src/main.cc:218
msgid ""
" --select-file=INDEX... Set file to download by specifing its index.\n"
" You can know file index through --show-files\n"
@ -579,135 +584,190 @@ msgid ""
" ',' and '-' can be used together."
msgstr ""
#: src/main.cc:224
#: src/main.cc:226
msgid " -M, --metalink-file=METALINK_FILE The file path to .metalink file."
msgstr ""
#: src/main.cc:227
msgid ""
" -C, --metalink-servers=NUM_SERVERS The number of servers to connect to\n"
" simultaneously. If more than one connection "
"per\n"
" server is required, use -s option.\n"
" Default: 15"
msgstr ""
#: src/main.cc:231
msgid " --metalink-version=VERSION The version of file to download."
msgstr ""
#: src/main.cc:232
msgid " --metalink-language=LANGUAGE The language of file to download."
msgstr ""
#: src/main.cc:233
msgid ""
" --metalink-os=OS The operating system the file is targeted."
msgstr ""
#: src/main.cc:234
msgid ""
" --follow-metalink=true|false Setting this option to false prevents aria2 "
"to\n"
" enter Metalink mode even if the filename of\n"
" downloaded file ends with .metalink.\n"
" Default: true"
msgstr ""
#: src/main.cc:239
msgid " -v, --version Print the version number and exit."
msgstr ""
#: src/main.cc:225
#: src/main.cc:240
msgid " -h, --help Print this message and exit."
msgstr ""
#: src/main.cc:228
#: src/main.cc:243
msgid ""
" You can specify multiple URLs. All URLs must point to the same file\n"
" or downloading fails."
msgstr ""
#: src/main.cc:233
#: src/main.cc:248
msgid ""
" Specify files in multi-file torrent to download. Use conjunction with\n"
" -T option. This arguments are ignored if you specify --select-file option."
msgstr ""
#: src/main.cc:237
#: src/main.cc:252
msgid "Examples:"
msgstr ""
#: src/main.cc:238
#: src/main.cc:253
msgid " Download a file by 1 connection:"
msgstr ""
#: src/main.cc:240
#: src/main.cc:255
msgid " Download a file by 2 connections:"
msgstr ""
#: src/main.cc:242
#: src/main.cc:257
msgid " Download a file by 2 connections, each connects to a different server:"
msgstr ""
#: src/main.cc:244
#: src/main.cc:259
msgid " You can mix up different protocols:"
msgstr ""
#: src/main.cc:247
#: src/main.cc:263
msgid " Download a torrent:"
msgstr ""
#: src/main.cc:249
#: src/main.cc:265
msgid " Download a torrent using local .torrent file:"
msgstr ""
#: src/main.cc:251
#: src/main.cc:267
msgid " Download only selected files:"
msgstr ""
#: src/main.cc:253
#: src/main.cc:269
msgid " Print file listing of .torrent file:"
msgstr ""
#: src/main.cc:257
#: src/main.cc:274
msgid " Metalink downloading:"
msgstr ""
#: src/main.cc:276
msgid " Download a file using local .metalink file:"
msgstr ""
#: src/main.cc:278
msgid " Metalink downloading with preferences:"
msgstr ""
#: src/main.cc:282
#, c-format
msgid "Report bugs to %s"
msgstr ""
#: src/main.cc:353
#: src/main.cc:444
msgid "unrecognized proxy format"
msgstr ""
#: src/main.cc:380
#: src/main.cc:471
msgid "Currently, supported authentication scheme is basic."
msgstr ""
#: src/main.cc:389
#: src/main.cc:480
msgid "retry-wait must be between 0 and 60."
msgstr ""
#: src/main.cc:406
#: src/main.cc:497
msgid "ftp-type must be either 'binary' or 'ascii'."
msgstr ""
#: src/main.cc:415
#: src/main.cc:506
msgid "ftp-via-http-proxy must be either 'get' or 'tunnel'."
msgstr ""
#: src/main.cc:433
#: src/main.cc:524
msgid "min-segment-size invalid"
msgstr ""
#: src/main.cc:444
#: src/main.cc:535
msgid "http-proxy-method must be either 'get' or 'tunnel'."
msgstr ""
#: src/main.cc:452
#: src/main.cc:543
msgid "listen-port must be between 1024 and 65535."
msgstr ""
#: src/main.cc:463
#: src/main.cc:554
msgid "follow-torrent must be either 'true' or 'false'."
msgstr ""
#: src/main.cc:477
#: src/main.cc:568
msgid "direct-file-mapping must be either 'true' or 'false'."
msgstr ""
#: src/main.cc:485
#: src/main.cc:576
msgid "upload-limit must be greater than or equal to 0."
msgstr ""
#: src/main.cc:517
#: src/main.cc:601
msgid "follow-metalink must be either 'true' or 'false'."
msgstr ""
#: src/main.cc:628
msgid "split must be between 1 and 5."
msgstr ""
#: src/main.cc:527
#: src/main.cc:638
msgid "timeout must be between 1 and 600"
msgstr ""
#: src/main.cc:536
#: src/main.cc:647
msgid "max-tries invalid"
msgstr ""
#: src/main.cc:565
#: src/main.cc:669
msgid "metalink-servers must be greater than 0."
msgstr ""
#: src/main.cc:687
msgid "specify at least one URL"
msgstr ""
#: src/main.cc:572
#: src/main.cc:694
msgid "daemon failed"
msgstr ""
#: src/main.cc:673
#: src/main.cc:831
msgid "Files:"
msgstr ""
#: src/main.cc:704
#: src/main.cc:862
msgid "Errors occurred while binding port.\n"
msgstr ""

BIN
po/de.gmo

Binary file not shown.

224
po/de.po
View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: de\n"
"Report-Msgid-Bugs-To: http://aria2.sourceforge.net/\n"
"POT-Creation-Date: 2006-05-27 00:27+0900\n"
"POT-Creation-Date: 2006-07-04 01:30+0900\n"
"PO-Revision-Date: 2006-05-05 19:44+0900\n"
"Last-Translator: Hermann J. Beckers <hj.beckers@onlinehome.de>\n"
"Language-Team: deutsch <de@li.org>\n"
@ -338,7 +338,7 @@ msgstr "Konnte Daten nicht erhalten, Ursache: %s"
msgid "Failed to peek data, cause: %s"
msgstr "Datenermittelung fehlgeschlagen, Ursache: %s"
#: src/main.cc:65
#: src/main.cc:76
#, c-format
msgid ""
"\n"
@ -347,7 +347,7 @@ msgstr ""
"\n"
"Abruf ist vollständig. <%s>\n"
#: src/main.cc:73
#: src/main.cc:84
msgid ""
"\n"
"The download was not complete because of errors. Check the log.\n"
@ -355,7 +355,7 @@ msgstr ""
"\n"
"Abruf wegen Fehlern nicht vollständig. Überprüfen Sie die Log-Datei.\n"
#: src/main.cc:88
#: src/main.cc:101
msgid ""
"\n"
"stopping application...\n"
@ -363,20 +363,20 @@ msgstr ""
"\n"
"Anwendung wird gestoppt ...\n"
#: src/main.cc:94
#: src/main.cc:107
msgid "done\n"
msgstr "erledigt\n"
#: src/main.cc:125
#: src/main.cc:123
#, c-format
msgid "Unrecognized URL or unsupported protocol: %s\n"
msgstr "URL nicht erkannt oder nicht unterstütztes Protokoll: %s\n"
#: src/main.cc:131
#: src/main.cc:129
msgid " version "
msgstr " Version "
#: src/main.cc:135
#: src/main.cc:133
msgid ""
"This program is free software; you can redistribute it and/or modify\n"
"it under the terms of the GNU General Public License as published by\n"
@ -406,36 +406,41 @@ msgstr ""
"along with this program; if not, write to the Free Software\n"
"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n"
#: src/main.cc:149
#: src/main.cc:147
#, c-format
msgid "Contact Info: %s\n"
msgstr "Kontakt-Info: %s\n"
#: src/main.cc:155
#: src/main.cc:153
#, c-format
msgid "Usage: %s [options] URL ...\n"
msgstr "Aufruf: %s [Optionen] URL ...\n"
#: src/main.cc:157
#: src/main.cc:155
#, c-format
msgid " %s [options] -T TORRENT_FILE FILE ...\n"
msgstr " %s [Optionen] -T TORRENT_FILE FILE ...\n"
#: src/main.cc:160
#: src/main.cc:158
#, fuzzy, c-format
msgid " %s [options] -M METALINK_FILE\n"
msgstr " %s [Optionen] -T TORRENT_FILE FILE ...\n"
#: src/main.cc:161
msgid "Options:"
msgstr "Optionen:"
#: src/main.cc:161
#: src/main.cc:162
msgid " -d, --dir=DIR The directory to store downloaded file."
msgstr ""
" -d, --dir=DIR Verzeichnis zum Speichern der abgerufenen "
"Datei."
#: src/main.cc:162
#: src/main.cc:163
msgid " -o, --out=FILE The file name for downloaded file."
msgstr " -o, --out=FILE Dateiname für die abgerufene Datei."
#: src/main.cc:163
#: src/main.cc:164
msgid ""
" -l, --log=LOG The file path to store log. If '-' is "
"specified,\n"
@ -446,11 +451,11 @@ msgstr ""
" wird das Log auf die Standardausgabe "
"geschrieben."
#: src/main.cc:165
#: src/main.cc:166
msgid " -D, --daemon Run as daemon."
msgstr " -D, --daemon Start als Daemon-Prozeß."
#: src/main.cc:166
#: src/main.cc:167
msgid ""
" -s, --split=N Download a file using N connections. N must "
"be\n"
@ -466,7 +471,7 @@ msgstr ""
" Daher verbindet sich aria2 zu jeder URL mit\n"
" N Verbindungen."
#: src/main.cc:170
#: src/main.cc:171
msgid ""
" --retry-wait=SEC Set amount of time in second between requests\n"
" for errors. Specify a value between 0 and 60.\n"
@ -478,12 +483,12 @@ msgstr ""
"und 60 an.\n"
" Fehlwert: 5"
#: src/main.cc:173
#: src/main.cc:174
msgid " -t, --timeout=SEC Set timeout in second. Default: 60"
msgstr ""
" -t, --timeout=SEC Setzt Wartezeit in Sekunden. Fehlwert: 60"
#: src/main.cc:174
#: src/main.cc:175
msgid ""
" -m, --max-tries=N Set number of tries. 0 means unlimited.\n"
" Default: 5"
@ -491,7 +496,7 @@ msgstr ""
" -m, --max-tries=N Anzahl Versuche. 0 bedeutet unbegrenzt.\n"
" Fehlwert: 5"
#: src/main.cc:176
#: src/main.cc:177
msgid ""
" --min-segment-size=SIZE[K|M] Set minimum segment size. You can append\n"
" K or M(1K = 1024, 1M = 1024K). This\n"
@ -504,7 +509,7 @@ msgstr ""
" Wert muss größer oder gleich \n"
" 1024 sein."
#: src/main.cc:180
#: src/main.cc:181
msgid ""
" --http-proxy=HOST:PORT Use HTTP proxy server. This affects to all\n"
" URLs."
@ -512,26 +517,26 @@ msgstr ""
" --http-proxy=HOST:PORT HTTP-Proxyserver benutzen. Dies betrifft alle\n"
" URLs."
#: src/main.cc:182
#: src/main.cc:183
msgid " --http-user=USER Set HTTP user. This affects to all URLs."
msgstr ""
" --http-user=USER HTTP-Anwendername angeben. Dies betrifft alle "
"URLs."
#: src/main.cc:183
#: src/main.cc:184
msgid ""
" --http-passwd=PASSWD Set HTTP password. This affects to all URLs."
msgstr ""
" --http-passwd=PASSWD HTTP-Passwort setzen. Dies betrifft alle URLs."
#: src/main.cc:184
#: src/main.cc:185
msgid ""
" --http-proxy-user=USER Set HTTP proxy user. This affects to all URLs"
msgstr ""
" --http-proxy-user=USER HTTP-Proxy-Anwender setzen. Dies betrifft alle "
"URLs."
#: src/main.cc:185
#: src/main.cc:186
msgid ""
" --http-proxy-passwd=PASSWD Set HTTP proxy password. This affects to all "
"URLs."
@ -539,7 +544,7 @@ msgstr ""
" --http-proxy-passwd=PASSWD HTTP-Proxy-Passwort setzen. Dies betrifft alle "
"URLs."
#: src/main.cc:186
#: src/main.cc:187
msgid ""
" --http-proxy-method=METHOD Set the method to use in proxy request.\n"
" METHOD is either 'get' or 'tunnel'.\n"
@ -550,7 +555,7 @@ msgstr ""
" METHOD ist entweder 'get' oder 'tunnel'.\n"
" Fehlwert: tunnel"
#: src/main.cc:189
#: src/main.cc:190
msgid ""
" --http-auth-scheme=SCHEME Set HTTP authentication scheme. Currently, "
"basic\n"
@ -562,11 +567,11 @@ msgstr ""
" das einzig zulässige Schema.\n"
" Fehlwert: basic"
#: src/main.cc:192
#: src/main.cc:193
msgid " --referer=REFERER Set Referer. This affects to all URLs."
msgstr " --referer=REFERER Referer setzen. Dies betrifft alle URLs."
#: src/main.cc:193
#: src/main.cc:194
msgid ""
" --ftp-user=USER Set FTP user. This affects to all URLs.\n"
" Default: anonymous"
@ -574,7 +579,7 @@ msgstr ""
" --ftp-user=USER FTP-Anwender setzen. Dies betrifft alle URLs.\n"
" Fehlwert: anonymous"
#: src/main.cc:195
#: src/main.cc:196
msgid ""
" --ftp-passwd=PASSWD Set FTP password. This affects to all URLs.\n"
" Default: ARIA2USER@"
@ -582,7 +587,7 @@ msgstr ""
" --ftp-passwd=PASSWD FTP-Passwort setzen. Dies betrifft alle URLs.\n"
" Fehlwert: ARIA2USER@"
#: src/main.cc:197
#: src/main.cc:198
msgid ""
" --ftp-type=TYPE Set FTP transfer type. TYPE is either "
"'binary'\n"
@ -594,11 +599,11 @@ msgstr ""
" oder 'ascii'.\n"
" Fehlwert: binary"
#: src/main.cc:200
#: src/main.cc:201
msgid " -p, --ftp-pasv Use passive mode in FTP."
msgstr " -p, --ftp-pasv Passiv-Modus für FTP benutzen."
#: src/main.cc:201
#: src/main.cc:202
msgid ""
" --ftp-via-http-proxy=METHOD Use HTTP proxy in FTP. METHOD is either 'get' "
"or\n"
@ -610,11 +615,11 @@ msgstr ""
" 'tunnel'.\n"
" Fehlwert: tunnel"
#: src/main.cc:205
#: src/main.cc:206
msgid " -T, --torrent-file=TORRENT_FILE The file path to .torrent file."
msgstr " -T, --torrent-file=TORRENT_FILE Datenpfad zur torrent-Datei."
#: src/main.cc:206
#: src/main.cc:207
msgid ""
" --follow-torrent=true|false Setting this option to false prevents aria2 "
"to\n"
@ -629,14 +634,14 @@ msgstr ""
" auf .torrent endet.\n"
" Fehlwert: true"
#: src/main.cc:210
#: src/main.cc:211
msgid ""
" -S, --show-files Print file listing of .torrent file and exit."
msgstr ""
" -S, --show-files Dateiliste der .torrent-Datei ausgeben und "
"beenden."
#: src/main.cc:211
#: src/main.cc:212
msgid ""
" --direct-file-mapping=true|false Directly read from and write to each file\n"
" mentioned in .torrent file.\n"
@ -646,7 +651,7 @@ msgstr ""
" .torrent-Datei erwähnten Datei.\n"
" Fehlwert: true"
#: src/main.cc:214
#: src/main.cc:215
msgid ""
" --listen-port=PORT Set port number to listen to for peer "
"connection."
@ -654,7 +659,7 @@ msgstr ""
" --listen-port=PORT Port-Nummer zum Lauschen auf Peer-Verbindungen "
"setzen."
#: src/main.cc:215
#: src/main.cc:216
msgid ""
" --upload-limit=SPEED Set upload speed limit in KB/sec. aria2 tries "
"to\n"
@ -666,7 +671,7 @@ msgstr ""
" Sendegeschwindigkeit unter SPEED zu halten. 0 "
"bedeutet keine Begrenzung."
#: src/main.cc:217
#: src/main.cc:218
msgid ""
" --select-file=INDEX... Set file to download by specifing its index.\n"
" You can know file index through --show-files\n"
@ -686,15 +691,65 @@ msgstr ""
" Sie können auch '-' verwenden wie in \"1-5\".\n"
" ',' und '-' können zusammen benutzt werden."
#: src/main.cc:224
#: src/main.cc:226
#, fuzzy
msgid " -M, --metalink-file=METALINK_FILE The file path to .metalink file."
msgstr " -T, --torrent-file=TORRENT_FILE Datenpfad zur torrent-Datei."
#: src/main.cc:227
#, fuzzy
msgid ""
" -C, --metalink-servers=NUM_SERVERS The number of servers to connect to\n"
" simultaneously. If more than one connection "
"per\n"
" server is required, use -s option.\n"
" Default: 15"
msgstr ""
" --follow-torrent=true|false Setzen dieser Option auf false verhindert die "
"Nutzung\n"
" des BitTorrent-Modus, selbst wenn der Abruf-"
"Dateiname \n"
" auf .torrent endet.\n"
" Fehlwert: true"
#: src/main.cc:231
msgid " --metalink-version=VERSION The version of file to download."
msgstr ""
#: src/main.cc:232
msgid " --metalink-language=LANGUAGE The language of file to download."
msgstr ""
#: src/main.cc:233
msgid ""
" --metalink-os=OS The operating system the file is targeted."
msgstr ""
#: src/main.cc:234
#, fuzzy
msgid ""
" --follow-metalink=true|false Setting this option to false prevents aria2 "
"to\n"
" enter Metalink mode even if the filename of\n"
" downloaded file ends with .metalink.\n"
" Default: true"
msgstr ""
" --follow-torrent=true|false Setzen dieser Option auf false verhindert die "
"Nutzung\n"
" des BitTorrent-Modus, selbst wenn der Abruf-"
"Dateiname \n"
" auf .torrent endet.\n"
" Fehlwert: true"
#: src/main.cc:239
msgid " -v, --version Print the version number and exit."
msgstr " -v, --version Versionsnummer ausgeben und beenden."
#: src/main.cc:225
#: src/main.cc:240
msgid " -h, --help Print this message and exit."
msgstr " -h, --help Diese Anzeige ausgeben und beenden."
#: src/main.cc:228
#: src/main.cc:243
msgid ""
" You can specify multiple URLs. All URLs must point to the same file\n"
" or downloading fails."
@ -703,7 +758,7 @@ msgstr ""
"verweisen\n"
"oder der Abruf schlägt fehl."
#: src/main.cc:233
#: src/main.cc:248
msgid ""
" Specify files in multi-file torrent to download. Use conjunction with\n"
" -T option. This arguments are ignored if you specify --select-file option."
@ -713,117 +768,140 @@ msgstr ""
" -T-Option. Diese Argumente werden ignoriert, wenn sie die Option --select-"
"file angeben."
#: src/main.cc:237
#: src/main.cc:252
msgid "Examples:"
msgstr "Beispiele:"
#: src/main.cc:238
#: src/main.cc:253
msgid " Download a file by 1 connection:"
msgstr " Abruf einer Datei über 1 Verbindung:"
#: src/main.cc:240
#: src/main.cc:255
msgid " Download a file by 2 connections:"
msgstr " Abruf einer Datei mit 2 Verbindungen:"
#: src/main.cc:242
#: src/main.cc:257
msgid " Download a file by 2 connections, each connects to a different server:"
msgstr ""
" Abruf einer Datei über 2 Verbindungen, jede verbindet zu einem anderen "
"Server:"
#: src/main.cc:244
#: src/main.cc:259
msgid " You can mix up different protocols:"
msgstr " Sie können verschiedene Protokolle mischen:"
#: src/main.cc:247
#: src/main.cc:263
msgid " Download a torrent:"
msgstr " Einen torrent abrufen:"
#: src/main.cc:249
#: src/main.cc:265
msgid " Download a torrent using local .torrent file:"
msgstr " Einen torrent mit einer lokalen .torrent-Datei abrufen:"
#: src/main.cc:251
#: src/main.cc:267
msgid " Download only selected files:"
msgstr " Nur ausgewählte Dateien abrufen:"
#: src/main.cc:253
#: src/main.cc:269
msgid " Print file listing of .torrent file:"
msgstr " Dateiliste einer .torrent-Datei ausgeben:"
#: src/main.cc:257
#: src/main.cc:274
msgid " Metalink downloading:"
msgstr ""
#: src/main.cc:276
#, fuzzy
msgid " Download a file using local .metalink file:"
msgstr " Einen torrent mit einer lokalen .torrent-Datei abrufen:"
#: src/main.cc:278
msgid " Metalink downloading with preferences:"
msgstr ""
#: src/main.cc:282
#, c-format
msgid "Report bugs to %s"
msgstr "Fehler an %s melden"
#: src/main.cc:353
#: src/main.cc:444
msgid "unrecognized proxy format"
msgstr "nicht erkanntes Proxy-Format"
#: src/main.cc:380
#: src/main.cc:471
msgid "Currently, supported authentication scheme is basic."
msgstr "Derzeit unterstütztes Authentifizierungsschema ist basic."
#: src/main.cc:389
#: src/main.cc:480
msgid "retry-wait must be between 0 and 60."
msgstr "retry-wait muss zwischen 0 und 60 liegen."
#: src/main.cc:406
#: src/main.cc:497
msgid "ftp-type must be either 'binary' or 'ascii'."
msgstr "ftp-type muss entweder 'binary' oder 'ascii' sein."
#: src/main.cc:415
#: src/main.cc:506
msgid "ftp-via-http-proxy must be either 'get' or 'tunnel'."
msgstr "ftp-via-http-proxy muss entweder 'get' oder 'tunnel' sein."
#: src/main.cc:433
#: src/main.cc:524
msgid "min-segment-size invalid"
msgstr "min-segment-size ungültig"
#: src/main.cc:444
#: src/main.cc:535
msgid "http-proxy-method must be either 'get' or 'tunnel'."
msgstr "http-proxy-method muss entweder 'get' oder 'tunnel' sein."
#: src/main.cc:452
#: src/main.cc:543
msgid "listen-port must be between 1024 and 65535."
msgstr "listen-port muss zwischen 1024 und 65535 liegen."
#: src/main.cc:463
#: src/main.cc:554
msgid "follow-torrent must be either 'true' or 'false'."
msgstr "follow-torrent muss entweder 'true' oder 'false' sein."
#: src/main.cc:477
#: src/main.cc:568
msgid "direct-file-mapping must be either 'true' or 'false'."
msgstr "direct-file-mapping muss entweder 'true' oder 'false' sein."
#: src/main.cc:485
#: src/main.cc:576
msgid "upload-limit must be greater than or equal to 0."
msgstr "upload-limit muss größer oder gleich 0 sein."
#: src/main.cc:517
#: src/main.cc:601
#, fuzzy
msgid "follow-metalink must be either 'true' or 'false'."
msgstr "follow-torrent muss entweder 'true' oder 'false' sein."
#: src/main.cc:628
msgid "split must be between 1 and 5."
msgstr "split muss zwischen 1 und 5 liegen."
#: src/main.cc:527
#: src/main.cc:638
msgid "timeout must be between 1 and 600"
msgstr "timeout muss zwischen 1 und 600 liegen."
#: src/main.cc:536
#: src/main.cc:647
msgid "max-tries invalid"
msgstr "max-tries ungültig"
#: src/main.cc:565
#: src/main.cc:669
#, fuzzy
msgid "metalink-servers must be greater than 0."
msgstr "upload-limit muss größer oder gleich 0 sein."
#: src/main.cc:687
msgid "specify at least one URL"
msgstr "Geben Sie zumindest eine URL an"
#: src/main.cc:572
#: src/main.cc:694
msgid "daemon failed"
msgstr "Daemon-Start nicht erfolgreich"
#: src/main.cc:673
#: src/main.cc:831
msgid "Files:"
msgstr "Dateien:"
#: src/main.cc:704
#: src/main.cc:862
msgid "Errors occurred while binding port.\n"
msgstr "Fehler beim Binden an Port aufgetreten.\n"

BIN
po/ja.gmo

Binary file not shown.

224
po/ja.po
View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: aria2c 0.2.1\n"
"Report-Msgid-Bugs-To: http://aria2.sourceforge.net/\n"
"POT-Creation-Date: 2006-05-27 00:27+0900\n"
"PO-Revision-Date: 2006-05-27 00:25+0900\n"
"POT-Creation-Date: 2006-07-04 01:30+0900\n"
"PO-Revision-Date: 2006-07-04 01:41+0900\n"
"Last-Translator: Tatsuhiro Tsujikawa <tujikawa@rednoah.com>\n"
"Language-Team: Japanese <ja@li.org>\n"
"MIME-Version: 1.0\n"
@ -341,7 +341,7 @@ msgstr "
msgid "Failed to peek data, cause: %s"
msgstr "データの peek に失敗しました. 原因: %s"
#: src/main.cc:65
#: src/main.cc:76
#, c-format
msgid ""
"\n"
@ -350,7 +350,7 @@ msgstr ""
"\n"
"<%s> のダウンロードが完了しました.\n"
#: src/main.cc:73
#: src/main.cc:84
msgid ""
"\n"
"The download was not complete because of errors. Check the log.\n"
@ -358,7 +358,7 @@ msgstr ""
"\n"
"ダウンロードはエラーのため完了していません. ログを確認してください.\n"
#: src/main.cc:88
#: src/main.cc:101
msgid ""
"\n"
"stopping application...\n"
@ -366,22 +366,22 @@ msgstr ""
"\n"
"アプリケーションを終了しています...\n"
#: src/main.cc:94
#: src/main.cc:107
msgid "done\n"
msgstr "完了\n"
#: src/main.cc:125
#: src/main.cc:123
#, c-format
msgid "Unrecognized URL or unsupported protocol: %s\n"
msgstr ""
"%s は, 理解できない URL フォーマット, または, サポートされないプロトコルで"
"す.\n"
#: src/main.cc:131
#: src/main.cc:129
msgid " version "
msgstr " バージョン "
#: src/main.cc:135
#: src/main.cc:133
msgid ""
"This program is free software; you can redistribute it and/or modify\n"
"it under the terms of the GNU General Public License as published by\n"
@ -411,36 +411,41 @@ msgstr ""
"along with this program; if not, write to the Free Software\n"
"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n"
#: src/main.cc:149
#: src/main.cc:147
#, c-format
msgid "Contact Info: %s\n"
msgstr "連絡先: %s\n"
#: src/main.cc:155
#: src/main.cc:153
#, c-format
msgid "Usage: %s [options] URL ...\n"
msgstr "使い方: %s [オプション] URL ...\n"
#: src/main.cc:157
#: src/main.cc:155
#, c-format
msgid " %s [options] -T TORRENT_FILE FILE ...\n"
msgstr " %s [オプション] -T TORRENT_FILE FILE ...\n"
#: src/main.cc:160
#: src/main.cc:158
#, c-format
msgid " %s [options] -M METALINK_FILE\n"
msgstr " %s [オプション] -M METALINK_FILE\n"
#: src/main.cc:161
msgid "Options:"
msgstr "オプション:"
#: src/main.cc:161
#: src/main.cc:162
msgid " -d, --dir=DIR The directory to store downloaded file."
msgstr ""
" -d, --dir=DIR ダウンロードしたファイルを保存するディレクトリ."
#: src/main.cc:162
#: src/main.cc:163
msgid " -o, --out=FILE The file name for downloaded file."
msgstr ""
" -o, --out=FILE ダウンロードしたファイルの保存先ファイル名."
#: src/main.cc:163
#: src/main.cc:164
msgid ""
" -l, --log=LOG The file path to store log. If '-' is "
"specified,\n"
@ -450,11 +455,11 @@ msgstr ""
"力\n"
" に出力します."
#: src/main.cc:165
#: src/main.cc:166
msgid " -D, --daemon Run as daemon."
msgstr " -D, --daemon デーモンとして起動します."
#: src/main.cc:166
#: src/main.cc:167
msgid ""
" -s, --split=N Download a file using N connections. N must "
"be\n"
@ -473,7 +478,7 @@ msgstr ""
"ショ\n"
" ンを確立します."
#: src/main.cc:170
#: src/main.cc:171
msgid ""
" --retry-wait=SEC Set amount of time in second between requests\n"
" for errors. Specify a value between 0 and 60.\n"
@ -484,13 +489,13 @@ msgstr ""
" す. 0 - 60 の値を指定してください.\n"
" デフォルト値: 5"
#: src/main.cc:173
#: src/main.cc:174
msgid " -t, --timeout=SEC Set timeout in second. Default: 60"
msgstr ""
" -t, --timeout=SEC タイムアウトとなる時間を秒で指定します.\n"
" デフォルト値: 60"
#: src/main.cc:174
#: src/main.cc:175
msgid ""
" -m, --max-tries=N Set number of tries. 0 means unlimited.\n"
" Default: 5"
@ -499,7 +504,7 @@ msgstr ""
"行\n"
" します. デフォルト値: 5"
#: src/main.cc:176
#: src/main.cc:177
msgid ""
" --min-segment-size=SIZE[K|M] Set minimum segment size. You can append\n"
" K or M(1K = 1024, 1M = 1024K). This\n"
@ -512,7 +517,7 @@ msgstr ""
"1024K).\n"
" 1024 以上の値を指定してください."
#: src/main.cc:180
#: src/main.cc:181
msgid ""
" --http-proxy=HOST:PORT Use HTTP proxy server. This affects to all\n"
" URLs."
@ -521,14 +526,14 @@ msgstr ""
"シ\n"
" ョンはすべての URL に影響します."
#: src/main.cc:182
#: src/main.cc:183
msgid " --http-user=USER Set HTTP user. This affects to all URLs."
msgstr ""
" --http-user=USER HTTP での認証ユーザーを指定します. このオプショ"
"ン\n"
" はすべての URL に影響します."
#: src/main.cc:183
#: src/main.cc:184
msgid ""
" --http-passwd=PASSWD Set HTTP password. This affects to all URLs."
msgstr ""
@ -536,7 +541,7 @@ msgstr ""
"ショ\n"
" ンはすべての URL に影響します."
#: src/main.cc:184
#: src/main.cc:185
msgid ""
" --http-proxy-user=USER Set HTTP proxy user. This affects to all URLs"
msgstr ""
@ -546,7 +551,7 @@ msgstr ""
"ま\n"
" す."
#: src/main.cc:185
#: src/main.cc:186
msgid ""
" --http-proxy-passwd=PASSWD Set HTTP proxy password. This affects to all "
"URLs."
@ -557,7 +562,7 @@ msgstr ""
"し\n"
" ます."
#: src/main.cc:186
#: src/main.cc:187
msgid ""
" --http-proxy-method=METHOD Set the method to use in proxy request.\n"
" METHOD is either 'get' or 'tunnel'.\n"
@ -568,7 +573,7 @@ msgstr ""
" す. 'get' または 'tunnel' を指定してください.\n"
" デフォルト値: tunnel"
#: src/main.cc:189
#: src/main.cc:190
msgid ""
" --http-auth-scheme=SCHEME Set HTTP authentication scheme. Currently, "
"basic\n"
@ -580,14 +585,14 @@ msgstr ""
" いるのは basic です. \n"
" デフォルト値: basic"
#: src/main.cc:192
#: src/main.cc:193
msgid " --referer=REFERER Set Referer. This affects to all URLs."
msgstr ""
" --referer=REFERER リファラーを指定します. このオプションはすべて"
"の\n"
" URL に影響します."
#: src/main.cc:193
#: src/main.cc:194
msgid ""
" --ftp-user=USER Set FTP user. This affects to all URLs.\n"
" Default: anonymous"
@ -597,7 +602,7 @@ msgstr ""
" はすべての URL に影響します.\n"
" デフォルト値: anonymous"
#: src/main.cc:195
#: src/main.cc:196
msgid ""
" --ftp-passwd=PASSWD Set FTP password. This affects to all URLs.\n"
" Default: ARIA2USER@"
@ -607,7 +612,7 @@ msgstr ""
" ンはすべての URL に影響します.\n"
" デフォルト値: ARIA2USER@"
#: src/main.cc:197
#: src/main.cc:198
msgid ""
" --ftp-type=TYPE Set FTP transfer type. TYPE is either "
"'binary'\n"
@ -618,11 +623,11 @@ msgstr ""
" 'ascii' を指定してください. デフォルト値: "
"binary"
#: src/main.cc:200
#: src/main.cc:201
msgid " -p, --ftp-pasv Use passive mode in FTP."
msgstr " -p, --ftp-pasv FTP で passive モードを使用します."
#: src/main.cc:201
#: src/main.cc:202
msgid ""
" --ftp-via-http-proxy=METHOD Use HTTP proxy in FTP. METHOD is either 'get' "
"or\n"
@ -635,11 +640,11 @@ msgstr ""
"く\n"
" ださい. デフォルト値: tunnel"
#: src/main.cc:205
#: src/main.cc:206
msgid " -T, --torrent-file=TORRENT_FILE The file path to .torrent file."
msgstr " -T, --torrent-file=TORRENT_FILE .torrent ファイルのパスを指定."
#: src/main.cc:206
#: src/main.cc:207
msgid ""
" --follow-torrent=true|false Setting this option to false prevents aria2 "
"to\n"
@ -654,7 +659,7 @@ msgstr ""
" は, BitTorrent モードに入りません.\n"
" デフォルト値: true"
#: src/main.cc:210
#: src/main.cc:211
msgid ""
" -S, --show-files Print file listing of .torrent file and exit."
msgstr ""
@ -662,7 +667,7 @@ msgstr ""
"し\n"
" 終了します."
#: src/main.cc:211
#: src/main.cc:212
msgid ""
" --direct-file-mapping=true|false Directly read from and write to each file\n"
" mentioned in .torrent file.\n"
@ -673,14 +678,14 @@ msgstr ""
" します.\n"
" デフォルト値: true"
#: src/main.cc:214
#: src/main.cc:215
msgid ""
" --listen-port=PORT Set port number to listen to for peer "
"connection."
msgstr ""
" --listen-port=PORT ピアからの接続を受け付けるポート番号を指定."
#: src/main.cc:215
#: src/main.cc:216
msgid ""
" --upload-limit=SPEED Set upload speed limit in KB/sec. aria2 tries "
"to\n"
@ -693,7 +698,7 @@ msgstr ""
"し\n"
" ます. 0 は速度無制限を意味します."
#: src/main.cc:217
#: src/main.cc:218
msgid ""
" --select-file=INDEX... Set file to download by specifing its index.\n"
" You can know file index through --show-files\n"
@ -714,16 +719,65 @@ msgstr ""
" また, '-' を使って範囲指定もできます: \"1-5\"\n"
" ',' と '-' は組み合わせて使うことができます."
#: src/main.cc:224
#: src/main.cc:226
msgid " -M, --metalink-file=METALINK_FILE The file path to .metalink file."
msgstr " -M, --metalink-file=METALINK_FILE .metalink ファイルのパスを指定."
#: src/main.cc:227
msgid ""
" -C, --metalink-servers=NUM_SERVERS The number of servers to connect to\n"
" simultaneously. If more than one connection "
"per\n"
" server is required, use -s option.\n"
" Default: 15"
msgstr ""
" -C, --metalink-servers=NUM_SERVERS 同時に接続するサーバの数を指定します.\n"
" 1 サーバに複数の接続が必要ならば, -s オプション"
"を\n"
" 使用してください.\n"
" デフォルト値: 15"
#: src/main.cc:231
msgid " --metalink-version=VERSION The version of file to download."
msgstr " --metalink-version=VERSION ダウンロードするファイルのバージョン."
#: src/main.cc:232
msgid " --metalink-language=LANGUAGE The language of file to download."
msgstr " --metalink-language=LANGUAGE ダウンロードするファイルの言語."
#: src/main.cc:233
msgid ""
" --metalink-os=OS The operating system the file is targeted."
msgstr ""
" --metalink-os=OS ダウンロードするファイルがターゲットとするオペ"
"レー\n"
" ティング・システム."
#: src/main.cc:234
msgid ""
" --follow-metalink=true|false Setting this option to false prevents aria2 "
"to\n"
" enter Metalink mode even if the filename of\n"
" downloaded file ends with .metalink.\n"
" Default: true"
msgstr ""
" --follow-metalink=true|false このオプションを false に設定すると, ダウン"
"ロード\n"
" したファイルの拡張子が .metalink であっても, "
"aria2\n"
" は, Metalink モードに入りません.\n"
" デフォルト値: true"
#: src/main.cc:239
msgid " -v, --version Print the version number and exit."
msgstr " -v, --version バージョン番号を表示し, 終了します."
#: src/main.cc:225
#: src/main.cc:240
msgid " -h, --help Print this message and exit."
msgstr ""
" -h, --help このヘルプメッセージを表示し, 終了します."
#: src/main.cc:228
#: src/main.cc:243
msgid ""
" You can specify multiple URLs. All URLs must point to the same file\n"
" or downloading fails."
@ -732,7 +786,7 @@ msgstr ""
"れ\n"
" ばなりません. さもなくばダウンロードは失敗します."
#: src/main.cc:233
#: src/main.cc:248
msgid ""
" Specify files in multi-file torrent to download. Use conjunction with\n"
" -T option. This arguments are ignored if you specify --select-file option."
@ -741,115 +795,135 @@ msgstr ""
"ン\n"
" と共に使用します. --select-file オプションと併用はできません."
#: src/main.cc:237
#: src/main.cc:252
msgid "Examples:"
msgstr "例:"
#: src/main.cc:238
#: src/main.cc:253
msgid " Download a file by 1 connection:"
msgstr " 1 コネクションでのダウンロード:"
#: src/main.cc:240
#: src/main.cc:255
msgid " Download a file by 2 connections:"
msgstr " 2 コネクションでのダウンロード:"
#: src/main.cc:242
#: src/main.cc:257
msgid " Download a file by 2 connections, each connects to a different server:"
msgstr " 二つの異なるサーバーに接続してダウンロード:"
#: src/main.cc:244
#: src/main.cc:259
msgid " You can mix up different protocols:"
msgstr " 異なるプロトコルを混合させてダウンロード:"
#: src/main.cc:247
#: src/main.cc:263
msgid " Download a torrent:"
msgstr "torrent ¤ò¥À¥¦¥ó¥í¡¼¥É:"
msgstr " torrent をダウンロード:"
#: src/main.cc:249
#: src/main.cc:265
msgid " Download a torrent using local .torrent file:"
msgstr " ローカル .torrent ファイルを使ってダウンロード:"
#: src/main.cc:251
#: src/main.cc:267
msgid " Download only selected files:"
msgstr " ファイルを指定してダウンロード:"
#: src/main.cc:253
#: src/main.cc:269
msgid " Print file listing of .torrent file:"
msgstr " この .torrent ファイルに含まれるファイルリストを表示:"
#: src/main.cc:257
#: src/main.cc:274
msgid " Metalink downloading:"
msgstr " Metalink でダウンロード:"
#: src/main.cc:276
msgid " Download a file using local .metalink file:"
msgstr " ローカル .metalink ファイルを使ってダウンロード:"
#: src/main.cc:278
msgid " Metalink downloading with preferences:"
msgstr " ユーザ設定による Metalink ダウンロード:"
#: src/main.cc:282
#, c-format
msgid "Report bugs to %s"
msgstr "バグレポートはこちらへ: %s"
#: src/main.cc:353
#: src/main.cc:444
msgid "unrecognized proxy format"
msgstr "理解できないProxyフォーマットです."
#: src/main.cc:380
#: src/main.cc:471
msgid "Currently, supported authentication scheme is basic."
msgstr "現在サポートされている認証方法は basic です."
#: src/main.cc:389
#: src/main.cc:480
msgid "retry-wait must be between 0 and 60."
msgstr "retry-wait は 0 から 60 の間で指定してください."
#: src/main.cc:406
#: src/main.cc:497
msgid "ftp-type must be either 'binary' or 'ascii'."
msgstr "ftp-type は 'binary' または 'ascii' を指定してください."
#: src/main.cc:415
#: src/main.cc:506
msgid "ftp-via-http-proxy must be either 'get' or 'tunnel'."
msgstr "ftp-via-http-proxy は 'get' または 'tunnel' を指定してください."
#: src/main.cc:433
#: src/main.cc:524
msgid "min-segment-size invalid"
msgstr "min-segment-size が不正です."
#: src/main.cc:444
#: src/main.cc:535
msgid "http-proxy-method must be either 'get' or 'tunnel'."
msgstr "http-proxy-method は 'get' または 'tunnel' を指定してください."
#: src/main.cc:452
#: src/main.cc:543
msgid "listen-port must be between 1024 and 65535."
msgstr "listen-port は 1024 - 65535 の値を指定してください."
#: src/main.cc:463
#: src/main.cc:554
msgid "follow-torrent must be either 'true' or 'false'."
msgstr "follow-torrent は 'true' または 'false を指定してください."
#: src/main.cc:477
#: src/main.cc:568
msgid "direct-file-mapping must be either 'true' or 'false'."
msgstr "direct-file-mapping は 'true' または 'false を指定してください."
#: src/main.cc:485
#: src/main.cc:576
msgid "upload-limit must be greater than or equal to 0."
msgstr "upload-limit は 0 以上の数を指定してください."
#: src/main.cc:517
#: src/main.cc:601
msgid "follow-metalink must be either 'true' or 'false'."
msgstr "follow-metalink は 'true' または 'false を指定してください."
#: src/main.cc:628
msgid "split must be between 1 and 5."
msgstr "split は 1 - 5 の値を指定してください."
#: src/main.cc:527
#: src/main.cc:638
msgid "timeout must be between 1 and 600"
msgstr "timeout は 1 - 600 の値を指定してください."
#: src/main.cc:536
#: src/main.cc:647
msgid "max-tries invalid"
msgstr "max-tries が不正です."
#: src/main.cc:565
#: src/main.cc:669
msgid "metalink-servers must be greater than 0."
msgstr "metalink-servers は 0 以上の数を指定してください."
#: src/main.cc:687
msgid "specify at least one URL"
msgstr "一個以上の URL を指定してください."
#: src/main.cc:572
#: src/main.cc:694
msgid "daemon failed"
msgstr "デーモン起動に失敗"
#: src/main.cc:673
#: src/main.cc:831
msgid "Files:"
msgstr "ファイル:"
#: src/main.cc:704
#: src/main.cc:862
msgid "Errors occurred while binding port.\n"
msgstr "ポートをバインド中にエラーが発生しました.\n"

View File

@ -31,17 +31,17 @@
#include <fcntl.h>
AbstractDiskWriter::AbstractDiskWriter():fd(0) {
#ifdef ENABLE_SHA1DIGEST
#ifdef ENABLE_MESSAGE_DIGEST
ctx.setAlgo(MessageDigestContext::ALGO_SHA1);
digestInit(ctx);
#endif // ENABLE_SHA1DIGEST
#endif // ENABLE_MESSAGE_DIGEST
}
AbstractDiskWriter::~AbstractDiskWriter() {
closeFile();
#ifdef ENABLE_SHA1DIGEST
#ifdef ENABLE_MESSAGE_DIGEST
digestFree(ctx);
#endif // ENABLE_SHA1DIGEST
#endif // ENABLE_MESSAGE_DIGEST
}
void AbstractDiskWriter::openFile(const string& filename) {
@ -99,7 +99,7 @@ int AbstractDiskWriter::readDataInternal(char* data, int len) {
}
string AbstractDiskWriter::sha1Sum(long long int offset, long long int length) {
#ifdef ENABLE_SHA1DIGEST
#ifdef ENABLE_MESSAGE_DIGEST
digestReset(ctx);
try {
int BUFSIZE = 16*1024;
@ -126,7 +126,7 @@ string AbstractDiskWriter::sha1Sum(long long int offset, long long int length) {
}
#else
return "";
#endif // ENABLE_SHA1DIGEST
#endif // ENABLE_MESSAGE_DIGEST
}
void AbstractDiskWriter::seek(long long int offset) {

View File

@ -23,17 +23,17 @@
#define _D_ABSTRACT_DISK_WRITER_H_
#include "DiskWriter.h"
#ifdef ENABLE_SHA1DIGEST
#ifdef ENABLE_MESSAGE_DIGEST
#include "messageDigest.h"
#endif // ENABLE_SHA1DIGEST
#endif // ENABLE_MESSAGE_DIGEST
class AbstractDiskWriter:public DiskWriter {
protected:
string filename;
int fd;
#ifdef ENABLE_SHA1DIGEST
#ifdef ENABLE_MESSAGE_DIGEST
MessageDigestContext ctx;
#endif // ENABLE_SHA1DIGEST
#endif // ENABLE_MESSAGE_DIGEST
void createFile(const string& filename, int addFlags = 0);

View File

@ -47,7 +47,13 @@ SRCS = Socket.cc Socket.h\
Option.cc Option.h\
Base64.cc Base64.h\
CookieBox.cc CookieBox.h\
MetaEntry.h\
messageDigest.h\
LogFactory.cc LogFactory.h\
NullLogger.h\
Time.cc Time.h
if ENABLE_BITTORRENT
SRCS += MetaEntry.h\
Data.cc Data.h\
Dictionary.cc Dictionary.h\
List.cc List.h\
@ -72,7 +78,6 @@ SRCS = Socket.cc Socket.h\
TorrentAutoSaveCommand.cc TorrentAutoSaveCommand.h\
Directory.cc Directory.h\
TrackerWatcherCommand.cc TrackerWatcherCommand.h\
messageDigest.h\
PeerInteraction.cc PeerInteraction.h\
MultiDiskWriter.cc MultiDiskWriter.h\
DiskAdaptor.cc DiskAdaptor.h\
@ -80,7 +85,6 @@ SRCS = Socket.cc Socket.h\
DirectDiskAdaptor.cc DirectDiskAdaptor.h\
MultiDiskAdaptor.cc MultiDiskAdaptor.h\
FileEntry.h\
LogFactory.cc LogFactory.h\
TrackerUpdateCommand.cc TrackerUpdateCommand.h\
ByteArrayDiskWriter.cc ByteArrayDiskWriter.h\
PeerChokeCommand.cc PeerChokeCommand.h\
@ -100,14 +104,17 @@ SRCS = Socket.cc Socket.h\
RejectMessage.cc RejectMessage.h\
AllowedFastMessage.cc AllowedFastMessage.h\
SuggestPieceMessage.cc SuggestPieceMessage.h\
SimplePeerMessage.cc SimplePeerMessage.h\
NullLogger.h\
Time.cc Time.h\
Metalinker.cc Metalinker.h\
SimplePeerMessage.cc SimplePeerMessage.h
endif # ENABLE_BITTORRENT
if ENABLE_METALINK
SRCS += Metalinker.cc Metalinker.h\
MetalinkEntry.cc MetalinkEntry.h\
MetalinkResource.cc MetalinkResource.h\
MetalinkProcessor.h\
Xml2MetalinkProcessor.cc Xml2MetalinkProcessor.h
endif # ENABLE_METALINK
noinst_LIBRARIES = libaria2c.a
libaria2c_a_SOURCES = $(SRCS)
aria2c_LDADD = libaria2c.a @LIBINTL@ @ALLOCA@ @LIBGNUTLS_LIBS@\

View File

@ -38,6 +38,65 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
bin_PROGRAMS = aria2c$(EXEEXT)
@ENABLE_BITTORRENT_TRUE@am__append_1 = MetaEntry.h\
@ENABLE_BITTORRENT_TRUE@ Data.cc Data.h\
@ENABLE_BITTORRENT_TRUE@ Dictionary.cc Dictionary.h\
@ENABLE_BITTORRENT_TRUE@ List.cc List.h\
@ENABLE_BITTORRENT_TRUE@ MetaFileUtil.cc MetaFileUtil.h\
@ENABLE_BITTORRENT_TRUE@ MetaEntryVisitor.h\
@ENABLE_BITTORRENT_TRUE@ ShaVisitor.cc ShaVisitor.h\
@ENABLE_BITTORRENT_TRUE@ TorrentMan.cc TorrentMan.h\
@ENABLE_BITTORRENT_TRUE@ PeerConnection.cc PeerConnection.h\
@ENABLE_BITTORRENT_TRUE@ PeerMessageUtil.cc PeerMessageUtil.h\
@ENABLE_BITTORRENT_TRUE@ PeerAbstractCommand.cc PeerAbstractCommand.h\
@ENABLE_BITTORRENT_TRUE@ PeerInitiateConnectionCommand.cc PeerInitiateConnectionCommand.h\
@ENABLE_BITTORRENT_TRUE@ PeerInteractionCommand.cc PeerInteractionCommand.h\
@ENABLE_BITTORRENT_TRUE@ Peer.cc Peer.h\
@ENABLE_BITTORRENT_TRUE@ BitfieldMan.cc BitfieldMan.h\
@ENABLE_BITTORRENT_TRUE@ TorrentDownloadEngine.cc TorrentDownloadEngine.h\
@ENABLE_BITTORRENT_TRUE@ TorrentConsoleDownloadEngine.cc TorrentConsoleDownloadEngine.h\
@ENABLE_BITTORRENT_TRUE@ PeerListenCommand.cc PeerListenCommand.h\
@ENABLE_BITTORRENT_TRUE@ PeerMessage.cc PeerMessage.h\
@ENABLE_BITTORRENT_TRUE@ HandshakeMessage.cc HandshakeMessage.h\
@ENABLE_BITTORRENT_TRUE@ Piece.cc Piece.h\
@ENABLE_BITTORRENT_TRUE@ RequestSlot.cc RequestSlot.h\
@ENABLE_BITTORRENT_TRUE@ TorrentAutoSaveCommand.cc TorrentAutoSaveCommand.h\
@ENABLE_BITTORRENT_TRUE@ Directory.cc Directory.h\
@ENABLE_BITTORRENT_TRUE@ TrackerWatcherCommand.cc TrackerWatcherCommand.h\
@ENABLE_BITTORRENT_TRUE@ PeerInteraction.cc PeerInteraction.h\
@ENABLE_BITTORRENT_TRUE@ MultiDiskWriter.cc MultiDiskWriter.h\
@ENABLE_BITTORRENT_TRUE@ DiskAdaptor.cc DiskAdaptor.h\
@ENABLE_BITTORRENT_TRUE@ CopyDiskAdaptor.cc CopyDiskAdaptor.h\
@ENABLE_BITTORRENT_TRUE@ DirectDiskAdaptor.cc DirectDiskAdaptor.h\
@ENABLE_BITTORRENT_TRUE@ MultiDiskAdaptor.cc MultiDiskAdaptor.h\
@ENABLE_BITTORRENT_TRUE@ FileEntry.h\
@ENABLE_BITTORRENT_TRUE@ TrackerUpdateCommand.cc TrackerUpdateCommand.h\
@ENABLE_BITTORRENT_TRUE@ ByteArrayDiskWriter.cc ByteArrayDiskWriter.h\
@ENABLE_BITTORRENT_TRUE@ PeerChokeCommand.cc PeerChokeCommand.h\
@ENABLE_BITTORRENT_TRUE@ ChokeMessage.cc ChokeMessage.h\
@ENABLE_BITTORRENT_TRUE@ UnchokeMessage.cc UnchokeMessage.h\
@ENABLE_BITTORRENT_TRUE@ InterestedMessage.cc InterestedMessage.h\
@ENABLE_BITTORRENT_TRUE@ NotInterestedMessage.cc NotInterestedMessage.h\
@ENABLE_BITTORRENT_TRUE@ HaveMessage.cc HaveMessage.h\
@ENABLE_BITTORRENT_TRUE@ BitfieldMessage.cc BitfieldMessage.h\
@ENABLE_BITTORRENT_TRUE@ RequestMessage.cc RequestMessage.h\
@ENABLE_BITTORRENT_TRUE@ PieceMessage.cc PieceMessage.h\
@ENABLE_BITTORRENT_TRUE@ CancelMessage.cc CancelMessage.h\
@ENABLE_BITTORRENT_TRUE@ KeepAliveMessage.cc KeepAliveMessage.h\
@ENABLE_BITTORRENT_TRUE@ PortMessage.cc PortMessage.h\
@ENABLE_BITTORRENT_TRUE@ HaveAllMessage.cc HaveAllMessage.h\
@ENABLE_BITTORRENT_TRUE@ HaveNoneMessage.cc HaveNoneMessage.h\
@ENABLE_BITTORRENT_TRUE@ RejectMessage.cc RejectMessage.h\
@ENABLE_BITTORRENT_TRUE@ AllowedFastMessage.cc AllowedFastMessage.h\
@ENABLE_BITTORRENT_TRUE@ SuggestPieceMessage.cc SuggestPieceMessage.h\
@ENABLE_BITTORRENT_TRUE@ SimplePeerMessage.cc SimplePeerMessage.h
@ENABLE_METALINK_TRUE@am__append_2 = Metalinker.cc Metalinker.h\
@ENABLE_METALINK_TRUE@ MetalinkEntry.cc MetalinkEntry.h\
@ENABLE_METALINK_TRUE@ MetalinkResource.cc MetalinkResource.h\
@ENABLE_METALINK_TRUE@ MetalinkProcessor.h\
@ENABLE_METALINK_TRUE@ Xml2MetalinkProcessor.cc Xml2MetalinkProcessor.h
subdir = src
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in alloca.c
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@ -62,7 +121,126 @@ AR = ar
ARFLAGS = cru
libaria2c_a_AR = $(AR) $(ARFLAGS)
libaria2c_a_LIBADD =
am__objects_1 = Socket.$(OBJEXT) SocketCore.$(OBJEXT) \
am__libaria2c_a_SOURCES_DIST = Socket.cc Socket.h SocketCore.cc \
SocketCore.h Command.h AbstractCommand.cc AbstractCommand.h \
InitiateConnectionCommandFactory.cc \
InitiateConnectionCommandFactory.h DownloadCommand.cc \
DownloadCommand.h HttpInitiateConnectionCommand.cc \
HttpInitiateConnectionCommand.h HttpRequestCommand.cc \
HttpRequestCommand.h HttpResponseCommand.cc \
HttpResponseCommand.h HttpProxyRequestCommand.cc \
HttpProxyRequestCommand.h HttpProxyResponseCommand.cc \
HttpProxyResponseCommand.h HttpDownloadCommand.cc \
HttpDownloadCommand.h HttpHeader.cc HttpHeader.h \
HttpConnection.cc HttpConnection.h FtpConnection.cc \
FtpConnection.h FtpInitiateConnectionCommand.cc \
FtpInitiateConnectionCommand.h FtpNegotiationCommand.cc \
FtpNegotiationCommand.h FtpDownloadCommand.cc \
FtpDownloadCommand.h FtpTunnelRequestCommand.cc \
FtpTunnelRequestCommand.h FtpTunnelResponseCommand.cc \
FtpTunnelResponseCommand.h SleepCommand.cc SleepCommand.h \
DownloadEngine.cc DownloadEngine.h ConsoleDownloadEngine.cc \
ConsoleDownloadEngine.h Segment.h SegmentMan.cc SegmentMan.h \
SegmentSplitter.cc SegmentSplitter.h \
SplitFirstSegmentSplitter.cc SplitFirstSegmentSplitter.h \
SplitSlowestSegmentSplitter.cc SplitSlowestSegmentSplitter.h \
Util.cc Util.h Request.cc Request.h common.h message.h \
Exception.h DlAbortEx.h DlRetryEx.h Logger.h SimpleLogger.cc \
SimpleLogger.h TransferEncoding.h ChunkedEncoding.cc \
ChunkedEncoding.h DiskWriter.h DefaultDiskWriter.cc \
DefaultDiskWriter.h PreAllocationDiskWriter.cc \
PreAllocationDiskWriter.h AbstractDiskWriter.cc \
AbstractDiskWriter.h File.cc File.h Option.cc Option.h \
Base64.cc Base64.h CookieBox.cc CookieBox.h messageDigest.h \
LogFactory.cc LogFactory.h NullLogger.h Time.cc Time.h \
MetaEntry.h Data.cc Data.h Dictionary.cc Dictionary.h List.cc \
List.h MetaFileUtil.cc MetaFileUtil.h MetaEntryVisitor.h \
ShaVisitor.cc ShaVisitor.h TorrentMan.cc TorrentMan.h \
PeerConnection.cc PeerConnection.h PeerMessageUtil.cc \
PeerMessageUtil.h PeerAbstractCommand.cc PeerAbstractCommand.h \
PeerInitiateConnectionCommand.cc \
PeerInitiateConnectionCommand.h PeerInteractionCommand.cc \
PeerInteractionCommand.h Peer.cc Peer.h BitfieldMan.cc \
BitfieldMan.h TorrentDownloadEngine.cc TorrentDownloadEngine.h \
TorrentConsoleDownloadEngine.cc TorrentConsoleDownloadEngine.h \
PeerListenCommand.cc PeerListenCommand.h PeerMessage.cc \
PeerMessage.h HandshakeMessage.cc HandshakeMessage.h Piece.cc \
Piece.h RequestSlot.cc RequestSlot.h TorrentAutoSaveCommand.cc \
TorrentAutoSaveCommand.h Directory.cc Directory.h \
TrackerWatcherCommand.cc TrackerWatcherCommand.h \
PeerInteraction.cc PeerInteraction.h MultiDiskWriter.cc \
MultiDiskWriter.h DiskAdaptor.cc DiskAdaptor.h \
CopyDiskAdaptor.cc CopyDiskAdaptor.h DirectDiskAdaptor.cc \
DirectDiskAdaptor.h MultiDiskAdaptor.cc MultiDiskAdaptor.h \
FileEntry.h TrackerUpdateCommand.cc TrackerUpdateCommand.h \
ByteArrayDiskWriter.cc ByteArrayDiskWriter.h \
PeerChokeCommand.cc PeerChokeCommand.h ChokeMessage.cc \
ChokeMessage.h UnchokeMessage.cc UnchokeMessage.h \
InterestedMessage.cc InterestedMessage.h \
NotInterestedMessage.cc NotInterestedMessage.h HaveMessage.cc \
HaveMessage.h BitfieldMessage.cc BitfieldMessage.h \
RequestMessage.cc RequestMessage.h PieceMessage.cc \
PieceMessage.h CancelMessage.cc CancelMessage.h \
KeepAliveMessage.cc KeepAliveMessage.h PortMessage.cc \
PortMessage.h HaveAllMessage.cc HaveAllMessage.h \
HaveNoneMessage.cc HaveNoneMessage.h RejectMessage.cc \
RejectMessage.h AllowedFastMessage.cc AllowedFastMessage.h \
SuggestPieceMessage.cc SuggestPieceMessage.h \
SimplePeerMessage.cc SimplePeerMessage.h Metalinker.cc \
Metalinker.h MetalinkEntry.cc MetalinkEntry.h \
MetalinkResource.cc MetalinkResource.h MetalinkProcessor.h \
Xml2MetalinkProcessor.cc Xml2MetalinkProcessor.h
@ENABLE_BITTORRENT_TRUE@am__objects_1 = Data.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ Dictionary.$(OBJEXT) List.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ MetaFileUtil.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ ShaVisitor.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ TorrentMan.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ PeerConnection.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ PeerMessageUtil.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ PeerAbstractCommand.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ PeerInitiateConnectionCommand.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ PeerInteractionCommand.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ Peer.$(OBJEXT) BitfieldMan.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ TorrentDownloadEngine.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ TorrentConsoleDownloadEngine.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ PeerListenCommand.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ PeerMessage.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ HandshakeMessage.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ Piece.$(OBJEXT) RequestSlot.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ TorrentAutoSaveCommand.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ Directory.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ TrackerWatcherCommand.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ PeerInteraction.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ MultiDiskWriter.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ DiskAdaptor.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ CopyDiskAdaptor.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ DirectDiskAdaptor.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ MultiDiskAdaptor.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ TrackerUpdateCommand.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ ByteArrayDiskWriter.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ PeerChokeCommand.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ ChokeMessage.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ UnchokeMessage.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ InterestedMessage.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ NotInterestedMessage.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ HaveMessage.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ BitfieldMessage.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ RequestMessage.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ PieceMessage.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ CancelMessage.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ KeepAliveMessage.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ PortMessage.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ HaveAllMessage.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ HaveNoneMessage.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ RejectMessage.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ AllowedFastMessage.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ SuggestPieceMessage.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ SimplePeerMessage.$(OBJEXT)
@ENABLE_METALINK_TRUE@am__objects_2 = Metalinker.$(OBJEXT) \
@ENABLE_METALINK_TRUE@ MetalinkEntry.$(OBJEXT) \
@ENABLE_METALINK_TRUE@ MetalinkResource.$(OBJEXT) \
@ENABLE_METALINK_TRUE@ Xml2MetalinkProcessor.$(OBJEXT)
am__objects_3 = Socket.$(OBJEXT) SocketCore.$(OBJEXT) \
AbstractCommand.$(OBJEXT) \
InitiateConnectionCommandFactory.$(OBJEXT) \
DownloadCommand.$(OBJEXT) \
@ -84,35 +262,9 @@ am__objects_1 = Socket.$(OBJEXT) SocketCore.$(OBJEXT) \
ChunkedEncoding.$(OBJEXT) DefaultDiskWriter.$(OBJEXT) \
PreAllocationDiskWriter.$(OBJEXT) AbstractDiskWriter.$(OBJEXT) \
File.$(OBJEXT) Option.$(OBJEXT) Base64.$(OBJEXT) \
CookieBox.$(OBJEXT) Data.$(OBJEXT) Dictionary.$(OBJEXT) \
List.$(OBJEXT) MetaFileUtil.$(OBJEXT) ShaVisitor.$(OBJEXT) \
TorrentMan.$(OBJEXT) PeerConnection.$(OBJEXT) \
PeerMessageUtil.$(OBJEXT) PeerAbstractCommand.$(OBJEXT) \
PeerInitiateConnectionCommand.$(OBJEXT) \
PeerInteractionCommand.$(OBJEXT) Peer.$(OBJEXT) \
BitfieldMan.$(OBJEXT) TorrentDownloadEngine.$(OBJEXT) \
TorrentConsoleDownloadEngine.$(OBJEXT) \
PeerListenCommand.$(OBJEXT) PeerMessage.$(OBJEXT) \
HandshakeMessage.$(OBJEXT) Piece.$(OBJEXT) \
RequestSlot.$(OBJEXT) TorrentAutoSaveCommand.$(OBJEXT) \
Directory.$(OBJEXT) TrackerWatcherCommand.$(OBJEXT) \
PeerInteraction.$(OBJEXT) MultiDiskWriter.$(OBJEXT) \
DiskAdaptor.$(OBJEXT) CopyDiskAdaptor.$(OBJEXT) \
DirectDiskAdaptor.$(OBJEXT) MultiDiskAdaptor.$(OBJEXT) \
LogFactory.$(OBJEXT) TrackerUpdateCommand.$(OBJEXT) \
ByteArrayDiskWriter.$(OBJEXT) PeerChokeCommand.$(OBJEXT) \
ChokeMessage.$(OBJEXT) UnchokeMessage.$(OBJEXT) \
InterestedMessage.$(OBJEXT) NotInterestedMessage.$(OBJEXT) \
HaveMessage.$(OBJEXT) BitfieldMessage.$(OBJEXT) \
RequestMessage.$(OBJEXT) PieceMessage.$(OBJEXT) \
CancelMessage.$(OBJEXT) KeepAliveMessage.$(OBJEXT) \
PortMessage.$(OBJEXT) HaveAllMessage.$(OBJEXT) \
HaveNoneMessage.$(OBJEXT) RejectMessage.$(OBJEXT) \
AllowedFastMessage.$(OBJEXT) SuggestPieceMessage.$(OBJEXT) \
SimplePeerMessage.$(OBJEXT) Time.$(OBJEXT) \
Metalinker.$(OBJEXT) MetalinkEntry.$(OBJEXT) \
MetalinkResource.$(OBJEXT) Xml2MetalinkProcessor.$(OBJEXT)
am_libaria2c_a_OBJECTS = $(am__objects_1)
CookieBox.$(OBJEXT) LogFactory.$(OBJEXT) Time.$(OBJEXT) \
$(am__objects_1) $(am__objects_2)
am_libaria2c_a_OBJECTS = $(am__objects_3)
libaria2c_a_OBJECTS = $(am_libaria2c_a_OBJECTS)
am__installdirs = "$(DESTDIR)$(bindir)"
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
@ -133,7 +285,7 @@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libaria2c_a_SOURCES) $(aria2c_SOURCES)
DIST_SOURCES = $(libaria2c_a_SOURCES) $(aria2c_SOURCES)
DIST_SOURCES = $(am__libaria2c_a_SOURCES_DIST) $(aria2c_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@ -167,6 +319,10 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_BITTORRENT_FALSE = @ENABLE_BITTORRENT_FALSE@
ENABLE_BITTORRENT_TRUE = @ENABLE_BITTORRENT_TRUE@
ENABLE_METALINK_FALSE = @ENABLE_METALINK_FALSE@
ENABLE_METALINK_TRUE = @ENABLE_METALINK_TRUE@
EXEEXT = @EXEEXT@
GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
@ -264,115 +420,39 @@ sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
aria2c_SOURCES = main.cc
SRCS = Socket.cc Socket.h\
SocketCore.cc SocketCore.h\
Command.h\
AbstractCommand.cc AbstractCommand.h\
InitiateConnectionCommandFactory.cc InitiateConnectionCommandFactory.h\
DownloadCommand.cc DownloadCommand.h\
HttpInitiateConnectionCommand.cc HttpInitiateConnectionCommand.h\
HttpRequestCommand.cc HttpRequestCommand.h\
HttpResponseCommand.cc HttpResponseCommand.h\
HttpProxyRequestCommand.cc HttpProxyRequestCommand.h\
HttpProxyResponseCommand.cc HttpProxyResponseCommand.h\
HttpDownloadCommand.cc HttpDownloadCommand.h\
HttpHeader.cc HttpHeader.h\
HttpConnection.cc HttpConnection.h\
FtpConnection.cc FtpConnection.h\
FtpInitiateConnectionCommand.cc FtpInitiateConnectionCommand.h\
FtpNegotiationCommand.cc FtpNegotiationCommand.h\
FtpDownloadCommand.cc FtpDownloadCommand.h\
FtpTunnelRequestCommand.cc FtpTunnelRequestCommand.h\
FtpTunnelResponseCommand.cc FtpTunnelResponseCommand.h\
SleepCommand.cc SleepCommand.h\
DownloadEngine.cc DownloadEngine.h\
ConsoleDownloadEngine.cc ConsoleDownloadEngine.h\
Segment.h\
SegmentMan.cc SegmentMan.h\
SegmentSplitter.cc SegmentSplitter.h\
SplitFirstSegmentSplitter.cc SplitFirstSegmentSplitter.h\
SplitSlowestSegmentSplitter.cc SplitSlowestSegmentSplitter.h\
Util.cc Util.h\
Request.cc Request.h\
common.h\
message.h\
Exception.h\
DlAbortEx.h\
DlRetryEx.h\
Logger.h\
SimpleLogger.cc SimpleLogger.h\
TransferEncoding.h\
ChunkedEncoding.cc ChunkedEncoding.h\
DiskWriter.h\
DefaultDiskWriter.cc DefaultDiskWriter.h\
PreAllocationDiskWriter.cc PreAllocationDiskWriter.h\
AbstractDiskWriter.cc AbstractDiskWriter.h\
File.cc File.h\
Option.cc Option.h\
Base64.cc Base64.h\
CookieBox.cc CookieBox.h\
MetaEntry.h\
Data.cc Data.h\
Dictionary.cc Dictionary.h\
List.cc List.h\
MetaFileUtil.cc MetaFileUtil.h\
MetaEntryVisitor.h\
ShaVisitor.cc ShaVisitor.h\
TorrentMan.cc TorrentMan.h\
PeerConnection.cc PeerConnection.h\
PeerMessageUtil.cc PeerMessageUtil.h\
PeerAbstractCommand.cc PeerAbstractCommand.h\
PeerInitiateConnectionCommand.cc PeerInitiateConnectionCommand.h\
PeerInteractionCommand.cc PeerInteractionCommand.h\
Peer.cc Peer.h\
BitfieldMan.cc BitfieldMan.h\
TorrentDownloadEngine.cc TorrentDownloadEngine.h\
TorrentConsoleDownloadEngine.cc TorrentConsoleDownloadEngine.h\
PeerListenCommand.cc PeerListenCommand.h\
PeerMessage.cc PeerMessage.h\
HandshakeMessage.cc HandshakeMessage.h\
Piece.cc Piece.h\
RequestSlot.cc RequestSlot.h\
TorrentAutoSaveCommand.cc TorrentAutoSaveCommand.h\
Directory.cc Directory.h\
TrackerWatcherCommand.cc TrackerWatcherCommand.h\
messageDigest.h\
PeerInteraction.cc PeerInteraction.h\
MultiDiskWriter.cc MultiDiskWriter.h\
DiskAdaptor.cc DiskAdaptor.h\
CopyDiskAdaptor.cc CopyDiskAdaptor.h\
DirectDiskAdaptor.cc DirectDiskAdaptor.h\
MultiDiskAdaptor.cc MultiDiskAdaptor.h\
FileEntry.h\
LogFactory.cc LogFactory.h\
TrackerUpdateCommand.cc TrackerUpdateCommand.h\
ByteArrayDiskWriter.cc ByteArrayDiskWriter.h\
PeerChokeCommand.cc PeerChokeCommand.h\
ChokeMessage.cc ChokeMessage.h\
UnchokeMessage.cc UnchokeMessage.h\
InterestedMessage.cc InterestedMessage.h\
NotInterestedMessage.cc NotInterestedMessage.h\
HaveMessage.cc HaveMessage.h\
BitfieldMessage.cc BitfieldMessage.h\
RequestMessage.cc RequestMessage.h\
PieceMessage.cc PieceMessage.h\
CancelMessage.cc CancelMessage.h\
KeepAliveMessage.cc KeepAliveMessage.h\
PortMessage.cc PortMessage.h\
HaveAllMessage.cc HaveAllMessage.h\
HaveNoneMessage.cc HaveNoneMessage.h\
RejectMessage.cc RejectMessage.h\
AllowedFastMessage.cc AllowedFastMessage.h\
SuggestPieceMessage.cc SuggestPieceMessage.h\
SimplePeerMessage.cc SimplePeerMessage.h\
NullLogger.h\
Time.cc Time.h\
Metalinker.cc Metalinker.h\
MetalinkEntry.cc MetalinkEntry.h\
MetalinkResource.cc MetalinkResource.h\
MetalinkProcessor.h\
Xml2MetalinkProcessor.cc Xml2MetalinkProcessor.h
SRCS = Socket.cc Socket.h SocketCore.cc SocketCore.h Command.h \
AbstractCommand.cc AbstractCommand.h \
InitiateConnectionCommandFactory.cc \
InitiateConnectionCommandFactory.h DownloadCommand.cc \
DownloadCommand.h HttpInitiateConnectionCommand.cc \
HttpInitiateConnectionCommand.h HttpRequestCommand.cc \
HttpRequestCommand.h HttpResponseCommand.cc \
HttpResponseCommand.h HttpProxyRequestCommand.cc \
HttpProxyRequestCommand.h HttpProxyResponseCommand.cc \
HttpProxyResponseCommand.h HttpDownloadCommand.cc \
HttpDownloadCommand.h HttpHeader.cc HttpHeader.h \
HttpConnection.cc HttpConnection.h FtpConnection.cc \
FtpConnection.h FtpInitiateConnectionCommand.cc \
FtpInitiateConnectionCommand.h FtpNegotiationCommand.cc \
FtpNegotiationCommand.h FtpDownloadCommand.cc \
FtpDownloadCommand.h FtpTunnelRequestCommand.cc \
FtpTunnelRequestCommand.h FtpTunnelResponseCommand.cc \
FtpTunnelResponseCommand.h SleepCommand.cc SleepCommand.h \
DownloadEngine.cc DownloadEngine.h ConsoleDownloadEngine.cc \
ConsoleDownloadEngine.h Segment.h SegmentMan.cc SegmentMan.h \
SegmentSplitter.cc SegmentSplitter.h \
SplitFirstSegmentSplitter.cc SplitFirstSegmentSplitter.h \
SplitSlowestSegmentSplitter.cc SplitSlowestSegmentSplitter.h \
Util.cc Util.h Request.cc Request.h common.h message.h \
Exception.h DlAbortEx.h DlRetryEx.h Logger.h SimpleLogger.cc \
SimpleLogger.h TransferEncoding.h ChunkedEncoding.cc \
ChunkedEncoding.h DiskWriter.h DefaultDiskWriter.cc \
DefaultDiskWriter.h PreAllocationDiskWriter.cc \
PreAllocationDiskWriter.h AbstractDiskWriter.cc \
AbstractDiskWriter.h File.cc File.h Option.cc Option.h \
Base64.cc Base64.h CookieBox.cc CookieBox.h messageDigest.h \
LogFactory.cc LogFactory.h NullLogger.h Time.cc Time.h \
$(am__append_1) $(am__append_2)
noinst_LIBRARIES = libaria2c.a
libaria2c_a_SOURCES = $(SRCS)
aria2c_LDADD = libaria2c.a @LIBINTL@ @ALLOCA@ @LIBGNUTLS_LIBS@\

View File

@ -26,17 +26,17 @@
#include <errno.h>
MultiDiskWriter::MultiDiskWriter(int pieceLength):pieceLength(pieceLength) {
#ifdef ENABLE_SHA1DIGEST
#ifdef ENABLE_MESSAGE_DIGEST
ctx.setAlgo(MessageDigestContext::ALGO_SHA1);
digestInit(ctx);
#endif // ENABLE_SHA1DIGEST
#endif // ENABLE_MESSAGE_DIGEST
}
MultiDiskWriter::~MultiDiskWriter() {
clearEntries();
#ifdef ENABLE_SHA1DIGEST
#ifdef ENABLE_MESSAGE_DIGEST
digestFree(ctx);
#endif // ENABLE_SHA1DIGEST
#endif // ENABLE_MESSAGE_DIGEST
}
void MultiDiskWriter::clearEntries() {
@ -143,7 +143,7 @@ int MultiDiskWriter::readData(char* data, int len, long long int offset) {
return totalReadLength;
}
#ifdef ENABLE_SHA1DIGEST
#ifdef ENABLE_MESSAGE_DIGEST
void MultiDiskWriter::hashUpdate(DiskWriterEntry* entry, long long int offset, long long int length) {
int BUFSIZE = 16*1024;
char buf[BUFSIZE];
@ -162,10 +162,10 @@ void MultiDiskWriter::hashUpdate(DiskWriterEntry* entry, long long int offset, l
digestUpdate(ctx, buf, r);
}
}
#endif // ENABLE_SHA1DIGEST
#endif // ENABLE_MESSAGE_DIGEST
string MultiDiskWriter::sha1Sum(long long int offset, long long int length) {
#ifdef ENABLE_SHA1DIGEST
#ifdef ENABLE_MESSAGE_DIGEST
long long int fileOffset = offset;
bool reading = false;
int rem = length;
@ -194,6 +194,6 @@ string MultiDiskWriter::sha1Sum(long long int offset, long long int length) {
}
#else
return "";
#endif // ENABLE_SHA1DIGEST
#endif // ENABLE_MESSAGE_DIGEST
}

View File

@ -48,10 +48,10 @@ private:
bool isInRange(const DiskWriterEntry* entry, long long int offset) const;
int calculateLength(const DiskWriterEntry* entry, long long int fileOffset, int rem) const;
void clearEntries();
#ifdef ENABLE_SHA1DIGEST
#ifdef ENABLE_MESSAGE_DIGEST
MessageDigestContext ctx;
void hashUpdate(DiskWriterEntry* entry, long long int offset, long long int length);
#endif // ENABLE_SHA1DIGEST
#endif // ENABLE_MESSAGE_DIGEST
public:
MultiDiskWriter(int pieceLength);

View File

@ -23,21 +23,21 @@
#include "Util.h"
ShaVisitor::ShaVisitor() {
#ifdef ENABLE_SHA1DIGEST
#ifdef ENABLE_MESSAGE_DIGEST
ctx.setAlgo(MessageDigestContext::ALGO_SHA1);
digestInit(ctx);
digestReset(ctx);
#endif // ENABLE_SHA1DIGEST
#endif // ENABLE_MESSAGE_DIGEST
}
ShaVisitor::~ShaVisitor() {
#ifdef ENABLE_SHA1DIGEST
#ifdef ENABLE_MESSAGE_DIGEST
digestFree(ctx);
#endif // ENABLE_SHA1DIGEST
#endif // ENABLE_MESSAGE_DIGEST
}
void ShaVisitor::visit(const Data* d) {
#ifdef ENABLE_SHA1DIGEST
#ifdef ENABLE_MESSAGE_DIGEST
if(d->isNumber()) {
digestUpdate(ctx, "i", 1);
} else {
@ -49,11 +49,11 @@ void ShaVisitor::visit(const Data* d) {
if(d->isNumber()) {
digestUpdate(ctx, "e", 1);
}
#endif // ENABLE_SHA1DIGEST
#endif // ENABLE_MESSAGE_DIGEST
}
void ShaVisitor::visit(const Dictionary* d) {
#ifdef ENABLE_SHA1DIGEST
#ifdef ENABLE_MESSAGE_DIGEST
digestUpdate(ctx, "d", 1);
const Order& v = d->getOrder();
for(Order::const_iterator itr = v.begin(); itr != v.end(); itr++) {
@ -65,17 +65,17 @@ void ShaVisitor::visit(const Dictionary* d) {
this->visit(e);
}
digestUpdate(ctx, "e", 1);
#endif // ENABLE_SHA1DIGEST
#endif // ENABLE_MESSAGE_DIGEST
}
void ShaVisitor::visit(const List* l) {
#ifdef ENABLE_SHA1DIGEST
#ifdef ENABLE_MESSAGE_DIGEST
digestUpdate(ctx, "l", 1);
for(MetaList::const_iterator itr = l->getList().begin(); itr != l->getList().end(); itr++) {
this->visit(*itr);
}
digestUpdate(ctx, "e", 1);
#endif // ENABLE_SHA1DIGEST
#endif // ENABLE_MESSAGE_DIGEST
}
void ShaVisitor::visit(const MetaEntry* e) {
@ -89,8 +89,8 @@ void ShaVisitor::visit(const MetaEntry* e) {
}
void ShaVisitor::getHash(unsigned char* hashValue, int& len) {
#ifdef ENABLE_SHA1DIGEST
#ifdef ENABLE_MESSAGE_DIGEST
digestFinal(ctx, hashValue);
len = 20;
#endif // ENABLE_SHA1DIGEST
#endif // ENABLE_MESSAGE_DIGEST
}

View File

@ -27,15 +27,15 @@
#include "Dictionary.h"
#include "List.h"
#include "common.h"
#ifdef ENABLE_SHA1DIGEST
#ifdef ENABLE_MESSAGE_DIGEST
#include "messageDigest.h"
#endif // ENABLE_SHA1DIGEST
#endif // ENABLE_MESSAGE_DIGEST
class ShaVisitor : public MetaEntryVisitor {
private:
#ifdef ENABLE_SHA1DIGEST
#ifdef ENABLE_MESSAGE_DIGEST
MessageDigestContext ctx;
#endif // ENABLE_SHA1DIGEST
#endif // ENABLE_MESSAGE_DIGEST
public:
ShaVisitor();
~ShaVisitor();

View File

@ -360,20 +360,20 @@ string Util::getContentDispositionFilename(const string& header) {
return trim(header.substr(filenamesp, filenameep-filenamesp));
}
#ifdef ENABLE_MESSAGE_DIGEST
void Util::sha1Sum(unsigned char* digest, const void* data, int dataLength) {
#ifdef ENABLE_SHA1DIGEST
MessageDigestContext ctx(MessageDigestContext::ALGO_SHA1);
digestInit(ctx);
digestReset(ctx);
digestUpdate(ctx, data, dataLength);
digestFinal(ctx, digest);
digestFree(ctx);
#endif // ENABLE_SHA1DIGEST
}
#endif // ENABLE_MESSAGE_DIGEST
#ifdef ENABLE_MESSAGE_DIGEST
void Util::fileChecksum(const string& filename, unsigned char* digest,
MessageDigestContext::HashAlgo algo) {
#ifdef ENABLE_SHA1DIGEST
MessageDigestContext ctx(algo);
digestInit(ctx);
digestReset(ctx);
@ -403,9 +403,10 @@ void Util::fileChecksum(const string& filename, unsigned char* digest,
}
digestFinal(ctx, digest);
digestFree(ctx);
#endif // ENABLE_SHA1DIGEST
}
#endif // ENABLE_MESSAGE_DIGEST
#ifdef ENABLE_BITTORRENT
Integers Util::computeFastSet(string ipaddr, const unsigned char* infoHash,
int pieces, int fastSetSize) {
Integers fastSet;
@ -441,6 +442,7 @@ Integers Util::computeFastSet(string ipaddr, const unsigned char* infoHash,
}
return fastSet;
}
#endif // ENABLE_BITTORRENT
/*
int Util::countBit(unsigned int n) {

View File

@ -23,9 +23,9 @@
#define _D_UTIL_H_
#include "common.h"
#ifdef ENABLE_SHA1DIGEST
#ifdef ENABLE_MESSAGE_DIGEST
#include "messageDigest.h"
#endif // ENABLE_SHA1DIGEST
#endif // ENABLE_MESSAGE_DIGEST
#include <string>
#include <utility>
#include <deque>
@ -83,15 +83,21 @@ public:
static string getContentDispositionFilename(const string& header);
// digest must be at least 20 bytes long.
#ifdef ENABLE_MESSAGE_DIGEST
static void sha1Sum(unsigned char* digest, const void* data, int dataLength);
#endif // ENABLE_MESSAGE_DIGEST
// Before call this method, allocate enough memory to the parameter "digest".
// For sha1, you need 20 bytes. For md5, 16 bytes.
#ifdef ENABLE_MESSAGE_DIGEST
static void fileChecksum(const string& filename, unsigned char* digest,
MessageDigestContext::HashAlgo algo);
#endif // ENABLE_MESSAGE_DIGEST
#ifdef ENABLE_BITTORRENT
static Integers computeFastSet(string ipaddr, const unsigned char* infoHash,
int pieces, int fastSetSize);
#endif // ENABLE_BITTORRENT
static int countBit(unsigned int);

View File

@ -88,8 +88,8 @@ MetalinkEntry* Xml2MetalinkProcessor::getEntry(const string& xpath) {
entry->version = Util::trim(xpathContent(xpath+"/m:version"));
entry->language = Util::trim(xpathContent(xpath+"/m:language"));
entry->os = Util::trim(xpathContent(xpath+"/m:os"));
entry->md5 = Util::trim(xpathContent(xpath+"/m:verification/m:hash[@type=\"md5\"]"));
entry->sha1 = Util::trim(xpathContent(xpath+"/m:verification/m:hash[@type=\"sha1\"]"));
entry->md5 = Util::toLower(Util::trim(xpathContent(xpath+"/m:verification/m:hash[@type=\"md5\"]")));
entry->sha1 = Util::toLower(Util::trim(xpathContent(xpath+"/m:verification/m:hash[@type=\"sha1\"]")));
for(int index = 1; 1; index++) {
MetalinkResource* resource =
getResource(xpath+"/m:resources/m:url["+Util::itos(index)+"]");

View File

@ -21,9 +21,7 @@
/* copyright --> */
#include "HttpInitiateConnectionCommand.h"
#include "ConsoleDownloadEngine.h"
#include "TorrentConsoleDownloadEngine.h"
#include "SegmentMan.h"
#include "TorrentMan.h"
#include "SplitSlowestSegmentSplitter.h"
#include "LogFactory.h"
#include "common.h"
@ -31,13 +29,22 @@
#include "Util.h"
#include "InitiateConnectionCommandFactory.h"
#include "prefs.h"
#include "PeerListenCommand.h"
#include "TorrentAutoSaveCommand.h"
#include "TrackerWatcherCommand.h"
#include "TrackerUpdateCommand.h"
#include "ByteArrayDiskWriter.h"
#include "PeerChokeCommand.h"
#include "Xml2MetalinkProcessor.h"
#ifdef ENABLE_BITTORRENT
# include "TorrentConsoleDownloadEngine.h"
# include "TorrentMan.h"
# include "PeerListenCommand.h"
# include "TorrentAutoSaveCommand.h"
# include "TrackerWatcherCommand.h"
# include "TrackerUpdateCommand.h"
# include "ByteArrayDiskWriter.h"
# include "PeerChokeCommand.h"
#endif // ENABLE_BITTORRENT
#ifdef ENABLE_METALINK
# include "Xml2MetalinkProcessor.h"
#endif // ENABLE_METALINK
#include <deque>
#include <algorithm>
#include <time.h>
@ -86,7 +93,9 @@ void setSignalHander(int signal, void (*handler)(int), int flags) {
}
DownloadEngine* e;
#ifdef ENABLE_BITTORRENT
TorrentDownloadEngine* te;
#endif // ENABLE_BITTORRENT
void handler(int signal) {
printf(_("\nstopping application...\n"));
@ -96,28 +105,14 @@ void handler(int signal) {
e->cleanQueue();
delete e;
printf(_("done\n"));
exit(0);
exit(EXIT_SUCCESS);
}
#ifdef ENABLE_BITTORRENT
void torrentHandler(int signal) {
/*
printf(_("\nstopping application...\n"));
fflush(stdout);
te->torrentMan->diskAdaptor->closeFile();
if(te->torrentMan->downloadComplete() && te->isFilenameFixed()) {
te->torrentMan->remove();
//te->torrentMan->deleteTempFile();
printDownloadCompeleteMessage();
} else {
te->torrentMan->save();
}
te->cleanQueue();
delete te;
printf(_("done\n"));
exit(0);
*/
te->torrentMan->setHalt(true);
}
#endif // ENABLE_BITTORRENT
void createRequest(int cuid, const string& url, string referer, Requests& requests) {
Request* req = new Request();
@ -159,6 +154,9 @@ void showUsage() {
#ifdef ENABLE_BITTORRENT
printf(_(" %s [options] -T TORRENT_FILE FILE ...\n"), PACKAGE_NAME);
#endif // ENABLE_BITTORRENT
#ifdef ENABLE_METALINK
printf(_(" %s [options] -M METALINK_FILE\n"), PACKAGE_NAME);
#endif // ENABLE_METALINK
cout << endl;
cout << _("Options:") << endl;
cout << _(" -d, --dir=DIR The directory to store downloaded file.") << endl;
@ -224,6 +222,20 @@ void showUsage() {
" You can also use '-' to specify rangelike \"1-5\".\n"
" ',' and '-' can be used together.") << endl;
#endif // ENABLE_BITTORRENT
#ifdef ENABLE_METALINK
cout << _(" -M, --metalink-file=METALINK_FILE The file path to .metalink file.") << endl;
cout << _(" -C, --metalink-servers=NUM_SERVERS The number of servers to connect to\n"
" simultaneously. If more than one connection per\n"
" server is required, use -s option.\n"
" Default: 15") << endl;
cout << _(" --metalink-version=VERSION The version of file to download.") << endl;
cout << _(" --metalink-language=LANGUAGE The language of file to download.") << endl;
cout << _(" --metalink-os=OS The operating system the file is targeted.") << endl;
cout << _(" --follow-metalink=true|false Setting this option to false prevents aria2 to\n"
" enter Metalink mode even if the filename of\n"
" downloaded file ends with .metalink.\n"
" Default: true") << endl;
#endif // ENABLE_METALINK
cout << _(" -v, --version Print the version number and exit.") << endl;
cout << _(" -h, --help Print this message and exit.") << endl;
cout << endl;
@ -247,6 +259,7 @@ void showUsage() {
cout << _(" You can mix up different protocols:") << endl;
cout << " aria2c http://AAA.BBB.CCC/file.zip ftp://DDD.EEE.FFF/GGG/file.zip" << endl;
#ifdef ENABLE_BITTORRENT
cout << endl;
cout << _(" Download a torrent:") << endl;
cout << " aria2c -t 180 -o test.torrent http://AAA.BBB.CCC/file.torrent" << endl;
cout << _(" Download a torrent using local .torrent file:") << endl;
@ -255,8 +268,17 @@ void showUsage() {
cout << " aria2c -t 180 -T test.torrent dir/file1.zip dir/file2.zip" << endl;
cout << _(" Print file listing of .torrent file:") << endl;
cout << " aria2c -t 180 -T test.torrent -S" << endl;
cout << endl;
#endif // ENABLE_BITTORRENT
#ifdef ENABLE_METALINK
cout << endl;
cout << _(" Metalink downloading:") << endl;
cout << " aria2c http://AAA.BBB.CCC/file.metalink" << endl;
cout << _(" Download a file using local .metalink file:") << endl;
cout << " aria2c -M test.metalink" << endl;
cout << _(" Metalink downloading with preferences:") << endl;
cout << " aria2c -M test.metalink --metalink-version=1.1.1 --metalink-language=en-US" << endl;
#endif // ENABLE_METALINK
cout << endl;
printf(_("Report bugs to %s"), "<tujikawa at users dot sourceforge dot net>");
cout << endl;
}
@ -329,7 +351,7 @@ int main(int argc, char* argv[]) {
string metalinkVersion;
string metalinkLanguage;
string metalinkOs;
int metalinkConnection = 15;
int metalinkServers = 15;
Integers selectFileIndexes;
#ifdef ENABLE_BITTORRENT
bool followTorrent = true;
@ -396,7 +418,11 @@ int main(int argc, char* argv[]) {
#endif // ENABLE_BITTORRENT
#ifdef ENABLE_METALINK
{ "metalink-file", required_argument, NULL, 'M' },
{ "metalink-connection", required_argument, NULL, 'C' },
{ "metalink-servers", required_argument, NULL, 'C' },
{ "metalink-version", required_argument, &lopt, 100 },
{ "metalink-language", required_argument, &lopt, 101 },
{ "metalink-os", required_argument, &lopt, 102 },
{ "follow-metalink", required_argument, &lopt, 103 },
#endif // ENABLE_METALINK
{ "version", no_argument, NULL, 'v' },
{ "help", no_argument, NULL, 'h' },
@ -417,7 +443,7 @@ int main(int argc, char* argv[]) {
!(0 < port && port <= 65535)) {
cerr << _("unrecognized proxy format") << endl;
showUsage();
exit(1);
exit(EXIT_FAILURE);
}
op->put(PREF_HTTP_PROXY_HOST, proxy.first);
op->put(PREF_HTTP_PROXY_PORT, Util::itos(port));
@ -453,7 +479,7 @@ int main(int argc, char* argv[]) {
if(!(0 <= wait && wait <= 60)) {
cerr << _("retry-wait must be between 0 and 60.") << endl;
showUsage();
exit(1);
exit(EXIT_FAILURE);
}
op->put(PREF_RETRY_WAIT, Util::itos(wait));
break;
@ -470,7 +496,7 @@ int main(int argc, char* argv[]) {
} else {
cerr << _("ftp-type must be either 'binary' or 'ascii'.") << endl;
showUsage();
exit(1);
exit(EXIT_FAILURE);
}
break;
case 12:
@ -479,7 +505,7 @@ int main(int argc, char* argv[]) {
} else {
cerr << _("ftp-via-http-proxy must be either 'get' or 'tunnel'.") << endl;
showUsage();
exit(1);
exit(EXIT_FAILURE);
}
break;
case 13: {
@ -497,7 +523,7 @@ int main(int argc, char* argv[]) {
if(size < 1024) {
cerr << _("min-segment-size invalid") << endl;
showUsage();
exit(1);
exit(EXIT_FAILURE);
}
op->put(PREF_MIN_SEGMENT_SIZE, Util::llitos(size));
break;
@ -508,7 +534,7 @@ int main(int argc, char* argv[]) {
} else {
cerr << _("http-proxy-method must be either 'get' or 'tunnel'.") << endl;
showUsage();
exit(1);
exit(EXIT_FAILURE);
}
break;
case 15:
@ -516,7 +542,7 @@ int main(int argc, char* argv[]) {
if(!(1024 <= listenPort && listenPort <= 65535)) {
cerr << _("listen-port must be between 1024 and 65535.") << endl;
showUsage();
exit(1);
exit(EXIT_FAILURE);
}
break;
case 16:
@ -527,7 +553,7 @@ int main(int argc, char* argv[]) {
} else {
cerr << _("follow-torrent must be either 'true' or 'false'.") << endl;
showUsage();
exit(1);
exit(EXIT_FAILURE);
}
break;
case 18:
@ -541,7 +567,7 @@ int main(int argc, char* argv[]) {
} else {
cerr << _("direct-file-mapping must be either 'true' or 'false'.") << endl;
showUsage();
exit(1);
exit(EXIT_FAILURE);
}
break;
case 20: {
@ -549,7 +575,7 @@ int main(int argc, char* argv[]) {
if(0 > uploadSpeed) {
cerr << _("upload-limit must be greater than or equal to 0.") << endl;
showUsage();
exit(1);
exit(EXIT_FAILURE);
}
op->put(PREF_UPLOAD_LIMIT, Util::itos(uploadSpeed));
break;
@ -557,6 +583,26 @@ int main(int argc, char* argv[]) {
case 21:
Util::unfoldRange(optarg, selectFileIndexes);
break;
case 100:
metalinkVersion = string(optarg);
break;
case 101:
metalinkLanguage = string(optarg);
break;
case 102:
metalinkOs = string(optarg);
break;
case 103:
if(string(optarg) == "true") {
followMetalink = true;
} else if(string(optarg) == "false") {
followMetalink = false;
} else {
cerr << _("follow-metalink must be either 'true' or 'false'.") << endl;
showUsage();
exit(EXIT_FAILURE);
}
break;
}
break;
}
@ -581,7 +627,7 @@ int main(int argc, char* argv[]) {
if(!(1 <= split && split <= 5)) {
cerr << _("split must be between 1 and 5.") << endl;
showUsage();
exit(1);
exit(EXIT_FAILURE);
}
break;
case 't': {
@ -591,7 +637,7 @@ int main(int argc, char* argv[]) {
} else {
cerr << _("timeout must be between 1 and 600") << endl;
showUsage();
exit(1);
exit(EXIT_FAILURE);
}
break;
}
@ -600,7 +646,7 @@ int main(int argc, char* argv[]) {
if(retries < 0) {
cerr << _("max-tries invalid") << endl;
showUsage();
exit(1);
exit(EXIT_FAILURE);
}
op->put(PREF_MAX_TRIES, Util::itos(retries));
break;
@ -618,35 +664,35 @@ int main(int argc, char* argv[]) {
metalinkFile = string(optarg);
break;
case 'C':
metalinkConnection = (int)strtol(optarg, NULL, 10);
if(metalinkConnection <= 0) {
cerr << _("metalink-connection must be greater than 0.") << endl;
metalinkServers = (int)strtol(optarg, NULL, 10);
if(metalinkServers <= 0) {
cerr << _("metalink-servers must be greater than 0.") << endl;
showUsage();
exit(1);
exit(EXIT_FAILURE);
}
break;
case 'v':
showVersion();
exit(0);
exit(EXIT_SUCCESS);
case 'h':
showUsage();
exit(0);
exit(EXIT_SUCCESS);
default:
showUsage();
exit(1);
exit(EXIT_FAILURE);
}
}
if(torrentFile.empty() && metalinkFile.empty()) {
if(optind == argc) {
cerr << _("specify at least one URL") << endl;
showUsage();
exit(1);
exit(EXIT_FAILURE);
}
}
if(daemonMode) {
if(daemon(1, 1) < 0) {
perror(_("daemon failed"));
exit(1);
exit(EXIT_FAILURE);
}
}
@ -660,9 +706,9 @@ int main(int argc, char* argv[]) {
#ifdef HAVE_LIBGNUTLS
gnutls_global_init();
#endif // HAVE_LIBGNUTLS
#ifdef HAVE_LIBXML2
#ifdef ENABLE_METALINK
xmlInitParser();
#endif // HAVE_LIBXML2
#endif // ENABLE_METALINK
srandom(time(NULL));
if(stdoutLog) {
LogFactory::setLogFile("/dev/stdout");
@ -675,7 +721,7 @@ int main(int argc, char* argv[]) {
} catch(Exception* ex) {
cerr << ex->getMsg() << endl;
delete ex;
exit(1);
exit(EXIT_FAILURE);
}
setSignalHander(SIGPIPE, SIG_IGN, 0);
@ -699,6 +745,7 @@ int main(int argc, char* argv[]) {
for_each(requests.begin(), requests.end(), Deleter());
requests.clear();
}
#ifdef ENABLE_METALINK
if(!metalinkFile.empty() || followMetalink && readyToMetalinkMode) {
string targetMetalinkFile = metalinkFile.empty() ?
downloadedMetalinkFile : metalinkFile;
@ -709,8 +756,8 @@ int main(int argc, char* argv[]) {
metalinkLanguage,
metalinkOs);
if(entry == NULL) {
printf("No file matched with your preference");
exit(1);
printf("No file matched with your preference.\n");
exit(EXIT_FAILURE);
}
entry->dropUnsupportedResource();
entry->reorderResourcesByPreference();
@ -719,14 +766,17 @@ int main(int argc, char* argv[]) {
for(MetalinkResources::const_iterator itr = entry->resources.begin();
itr != entry->resources.end(); itr++) {
MetalinkResource* resource = *itr;
createRequest(cuidCounter, resource->url, referer, requests);
cuidCounter++;
for(int s = 1; s <= split; s++) {
createRequest(cuidCounter, resource->url, referer, requests);
cuidCounter++;
}
}
Requests reserved;
if((int)requests.size() > metalinkConnection) {
copy(requests.begin()+metalinkConnection, requests.end(),
int maxConnection = metalinkServers*split;
if((int)requests.size() > maxConnection) {
copy(requests.begin()+maxConnection, requests.end(),
insert_iterator<Requests>(reserved, reserved.end()));
requests.erase(requests.begin()+metalinkConnection, requests.end());
requests.erase(requests.begin()+maxConnection, requests.end());
}
setSignalHander(SIGINT, handler, 0);
@ -749,7 +799,10 @@ int main(int argc, char* argv[]) {
}
delete metalinker;
} else if(!torrentFile.empty() || followTorrent && readyToTorrentMode) {
}
#endif // ENABLE_METALINK
#ifdef ENABLE_BITTORRENT
if(!torrentFile.empty() || followTorrent && readyToTorrentMode) {
try {
//op->put(PREF_MAX_TRIES, "0");
setSignalHander(SIGINT, torrentHandler, SA_RESETHAND);
@ -785,7 +838,7 @@ int main(int argc, char* argv[]) {
Util::llitos(itr->length, true).c_str());
cout << "---+---------------------------------------------------------------------------" << endl;
}
exit(0);
exit(EXIT_SUCCESS);
} else {
if(selectFileIndexes.empty()) {
Strings targetFiles;
@ -807,7 +860,7 @@ int main(int argc, char* argv[]) {
}
if(port == -1) {
printf(_("Errors occurred while binding port.\n"));
exit(1);
exit(EXIT_FAILURE);
}
te->torrentMan->setPort(port);
te->commands.push_back(listenCommand);
@ -832,16 +885,17 @@ int main(int argc, char* argv[]) {
} catch(Exception* ex) {
cerr << ex->getMsg() << endl;
delete ex;
exit(1);
exit(EXIT_FAILURE);
}
}
#endif // ENABLE_BITTORRENT
delete op;
LogFactory::release();
#ifdef HAVE_LIBGNUTLS
gnutls_global_deinit();
#endif // HAVE_LIBGNUTLS
#ifdef HAVE_LIBXML2
#ifdef ENABLE_METALINK
xmlCleanupParser();
#endif // HAVE_LIBXML2
#endif // ENABLE_METALINK
return 0;
}

View File

@ -24,7 +24,7 @@
#include "common.h"
#ifdef ENABLE_BITTORRENT
#ifdef ENABLE_SSL
#ifdef HAVE_LIBSSL
#include <openssl/evp.h>
@ -103,6 +103,6 @@ memcpy(HASH, gcry_md_read(CTX.ctx, 0), gcry_md_get_algo_dlen(CTX.algo));\
#define digestFree(CTX) gcry_md_close(CTX.ctx)
#endif // HAVE_LIBGCRYPT
#endif // ENABLE_BITTORRENT
#endif // ENABLE_SSL
#endif // _D_MESSAGE_DIGEST_H_

View File

@ -120,6 +120,10 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_BITTORRENT_FALSE = @ENABLE_BITTORRENT_FALSE@
ENABLE_BITTORRENT_TRUE = @ENABLE_BITTORRENT_TRUE@
ENABLE_METALINK_FALSE = @ENABLE_METALINK_FALSE@
ENABLE_METALINK_TRUE = @ENABLE_METALINK_TRUE@
EXEEXT = @EXEEXT@
GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@