9183 lines
360 KiB
Diff
9183 lines
360 KiB
Diff
diff -urdpN ../aMule-2.1.3-orig/amule.desktop ./amule.desktop
|
|
--- ../aMule-2.1.3-orig/amule.desktop 2005-12-14 05:12:44.000000000 +0100
|
|
+++ ./amule.desktop 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -1,7 +1,7 @@
|
|
[Desktop Entry]
|
|
Encoding=UTF-8
|
|
-Name=aMule
|
|
-Comment=aMule
|
|
+Name=aMule AdunanzA
|
|
+Comment=aMule AdunanzA per utenti Fastweb
|
|
Exec=amule
|
|
Icon=amule.xpm
|
|
Terminal=false
|
|
diff -urdpN ../aMule-2.1.3-orig/ap/amule.apspec ./ap/amule.apspec
|
|
--- ../aMule-2.1.3-orig/ap/amule.apspec 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./ap/amule.apspec 2006-06-12 19:14:40.000000000 +0200
|
|
@@ -0,0 +1,164 @@
|
|
+# -*-shell-script-*-
|
|
+
|
|
+[Meta]
|
|
+RootName: @amule.org/amule:$SOFTWAREVERSION
|
|
+DisplayName: aMule AdunanzA
|
|
+ShortName: aMuleAdu
|
|
+Maintainer: lupz <no@spam.com>
|
|
+Packager: lupz <no@spam.com>
|
|
+Summary: aMule AdunanzA e' una versione di aMule specifica per utenti Fastweb
|
|
+URL: http://www.amule.org/
|
|
+License: GNU General Public License, Version 2
|
|
+PackageVersion: 1
|
|
+SoftwareVersion: 3.11b
|
|
+AutopackageTarget: 1.0
|
|
+
|
|
+
|
|
+[Description]
|
|
+aMule AdunanzA e' una versione di aMule specifica per utenti Fastweb
|
|
+
|
|
+[Globals]
|
|
+export WXPREFIX=${HOME}/ap/WX-2.6.3-apbuild-dyn
|
|
+
|
|
+
|
|
+[BuildPrepare]
|
|
+export APBUILD_PROJECTNAME=aMuleAdu
|
|
+
|
|
+DISTRO=debian
|
|
+
|
|
+# Static-linkage and some work-arounds
|
|
+export APBUILD_RESOLVE_LIBPATH="wx_[a-z0-9_-.]+"
|
|
+
|
|
+if [ $DISTRO = 'fedora' ]; then
|
|
+# needed for fedora
|
|
+ echo "Using Fedora settings..."
|
|
+# static libs
|
|
+ export APBUILD_STATIC="bfd-2.15.94.0.2.2=${HOME}/ap/WX/lib/libbfd.a"
|
|
+ export APBUILD_STATIC="${APBUILD_STATIC} glib-2.0=${HOME}/ap/WX/lib/libglib-2.0.a"
|
|
+ export APBUILD_STATIC="${APBUILD_STATIC} iberty=${HOME}/ap/WX/lib/libiberty.a"
|
|
+
|
|
+# compat gcc
|
|
+ export APBUILD_CC=gcc32
|
|
+ export APBUILD_CXX=g++32
|
|
+else
|
|
+# needed for debian
|
|
+ echo "Using Debian settings..."
|
|
+
|
|
+# static libs
|
|
+# don't know .. :D
|
|
+
|
|
+# compat gcc
|
|
+ export APBUILD_CC=gcc-3.3
|
|
+ export APBUILD_CXX=g++-3.3
|
|
+fi
|
|
+
|
|
+env | sort -n
|
|
+
|
|
+# Point to static wx install
|
|
+WXCONFIG=${WXPREFIX}/bin/wx-config
|
|
+
|
|
+# Save a bit on filesize, while the packages are still experiemental
|
|
+
|
|
+export CFLAGS="-O2 -DAUTOPACKAGE"
|
|
+export CXXFLAGS="${CFLAGS}"
|
|
+
|
|
+# Update autoconf/automake, configure, compile and install
|
|
+# 2 to run configure and autogen.sh
|
|
+# 1 to run configure
|
|
+# 0 do nothing
|
|
+CONF=0
|
|
+DAEMONGUI=1
|
|
+USE_APBUILD=1
|
|
+DEBUG=1
|
|
+
|
|
+OPTS=" \
|
|
+ --enable-ccache \
|
|
+ --enable-webserver \
|
|
+ --enable-amulecmd \
|
|
+ --with-wx-config=${WXCONFIG} \
|
|
+ --with-wxbase-config=${WXCONFIG} \
|
|
+ "
|
|
+
|
|
+if [ $DAEMONGUI -gt 0 ]; then
|
|
+ OPTS="$OPTS \
|
|
+ --enable-amule-daemon \
|
|
+ --enable-amule-gui \
|
|
+ "
|
|
+fi
|
|
+
|
|
+if [ $DEBUG -gt 0 ]; then
|
|
+ OPTS="$OPTS \
|
|
+ --enable-debug \
|
|
+ "
|
|
+else
|
|
+ OPTS="$OPTS \
|
|
+ --disable-debug \
|
|
+ "
|
|
+fi
|
|
+
|
|
+if [ $USE_APBUILD -eq 0 ]; then
|
|
+ OPTS="$OPTS \
|
|
+ --disable-rpath \
|
|
+ "
|
|
+fi
|
|
+
|
|
+if [ $CONF -gt 0 ]; then
|
|
+
|
|
+ if [ $CONF -gt 1 ]; then
|
|
+ ./autogen.sh
|
|
+ fi
|
|
+
|
|
+ if [ $USE_APBUILD -eq 0 ]; then
|
|
+ export CC=$APBUILD_CC
|
|
+ export CXX=$APBUILD_CXX
|
|
+ ./configure $OPTS
|
|
+ export APKG_BUILD_SKIP_CONFIGURE=1
|
|
+ fi
|
|
+
|
|
+
|
|
+else
|
|
+
|
|
+ export APKG_BUILD_SKIP_CONFIGURE=1
|
|
+
|
|
+fi
|
|
+
|
|
+if [ $USE_APBUILD -eq 0 ]; then
|
|
+ prepareBuild
|
|
+else
|
|
+ prepareBuild $OPTS
|
|
+fi
|
|
+
|
|
+[BuildUnprepare]
|
|
+unprepareBuild
|
|
+
|
|
+
|
|
+[Imports]
|
|
+# Grab everything from the installation by default
|
|
+echo '*' | import
|
|
+ls ${WXPREFIX}/lib/*.so* | import lib/autopackage
|
|
+
|
|
+[Prepare]
|
|
+require @zlib.org/zlib 1.2 # Require zlib 1.2.x+
|
|
+require @gnu.org/libstdc++ 3 # Require the ABI of GCC-3.2+
|
|
+require @gtk.org/gtk 2.2 # v2.2 is required because of the systray.
|
|
+require @jig.org/libjpeg 62 # Require version 6b+
|
|
+require @gnu.org/readline 5 # Needed for amuleweb/amulecmd
|
|
+require @libpng.org/libpng 3 # Require libpng 1.2.6+
|
|
+
|
|
+
|
|
+[Install]
|
|
+installMan 1 share/man/*
|
|
+installData share/doc/aMule-2.1.3
|
|
+
|
|
+installIcon share/pixmaps/amule.xpm
|
|
+installDesktop "Network/P2P" share/applications/amule.desktop
|
|
+
|
|
+installLocale share/locale
|
|
+installData share/amule
|
|
+
|
|
+copyFiles lib/autopackage "$PREFIX/lib"
|
|
+
|
|
+installExe bin/*
|
|
+
|
|
+[Uninstall]
|
|
+uninstallFromLog
|
|
diff -urdpN ../aMule-2.1.3-orig/ap/makeclean ./ap/makeclean
|
|
--- ../aMule-2.1.3-orig/ap/makeclean 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./ap/makeclean 2006-06-14 13:47:17.000000000 +0200
|
|
@@ -0,0 +1,5 @@
|
|
+#!/bin/bash
|
|
+
|
|
+[ -e Makefile ] && make distclean
|
|
+rm -rf unittests/{muleunit,tests}/{Makefile,.deps}
|
|
+rm -rf `find . \( -name '*~' -o -name '*.orig' -o -name '*.rej' -o -name 'core*' -o -name '*.gmo' -o -name '*.package' \) `
|
|
diff -urdpN ../aMule-2.1.3-orig/ap/readline/skeleton.1 ./ap/readline/skeleton.1
|
|
--- ../aMule-2.1.3-orig/ap/readline/skeleton.1 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./ap/readline/skeleton.1 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,12 @@
|
|
+[Meta]
|
|
+RootName: @gnu.org/readline
|
|
+DisplayName: readline support
|
|
+ShortName: readline
|
|
+Skeleton-Author: lupz <no@spam.com>
|
|
+Skeleton-Version: 1
|
|
+
|
|
+[Notes]
|
|
+Interface version corresponds to soname version
|
|
+
|
|
+[Test]
|
|
+INTERFACE_VERSIONS=`testForLib -i libreadline.so`
|
|
diff -urdpN ../aMule-2.1.3-orig/ap/README ./ap/README
|
|
--- ../aMule-2.1.3-orig/ap/README 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./ap/README 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,91 @@
|
|
+# Note su come creare un autopackage:
|
|
+# createvi anzitutto una dir ~/ap
|
|
+
|
|
+mkdir ~/ap
|
|
+cd ~/ap
|
|
+
|
|
+# scaricate le ultime wxWidgets
|
|
+wget http://puzzle.dl.sourceforge.net/sourceforge/wxwindows/wxWidgets-2.6.2.tar.bz2
|
|
+# patchatele a dovere!!
|
|
+
|
|
+export CC=apgcc
|
|
+export CXX=apg++
|
|
+export CFLAGS="-Os"
|
|
+export CXXFLAGS="${CFLAGS}"
|
|
+
|
|
+APBUILD_RESOLVE_LIBPATH="wx_[a-z0-9_-.]+"
|
|
+
|
|
+# per gcc 3.2 su fedora
|
|
+#export APBUILD_CC=gcc32
|
|
+#export APBUILD_CXX=g++32
|
|
+
|
|
+# per gcc 3.3 su debian NON VA
|
|
+export APBUILD_CC=gcc-3.3
|
|
+export APBUILD_CXX=g++-3.3
|
|
+
|
|
+# per gcc standard
|
|
+#export CC=$APBUILD_CC
|
|
+#export CXX=$APBUILD_CXX
|
|
+
|
|
+export APBUILD_STATIC="Xfixes X11"
|
|
+
|
|
+# le installiamo in una cartella farlocca: ~/ap/WX
|
|
+./configure --disable-debug --prefix=${HOME}/ap/WX-2.6.3-apbuild-dyn \
|
|
+ --enable-shared --disable-precomp-headers --enable-ccache \
|
|
+ --disable-compat24 --without-libtiff --disable-dialupman \
|
|
+ --disable-mshtmlhelp --disable-help --disable-html \
|
|
+ --disable-htmlhelp --disable-xrc --disable-pcx --disable-pnm \
|
|
+ --disable-icocur --without-expat
|
|
+
|
|
+make install
|
|
+
|
|
+# --disable-shared
|
|
+# scaricate i sorgenti di ogni altra libreria che amule linka statica
|
|
+# per scoprire quali sono potete confrontare la riga del linking con ldd
|
|
+# o con l'output di questo mini-script
|
|
+
|
|
+objdump -x src/amule | grep NEEDED | sed -e's#NEEDED\s*##g' | sort | uniq |
|
|
+while read a;
|
|
+do
|
|
+ (test -e "/lib/$a" && echo "/lib/$a") ||
|
|
+ (test -e "/usr/lib/$a" && echo "/usr/lib/$a") ||
|
|
+ (test -e "/usr/X11R6/lib/$a" && echo "/usr/X11R6/lib/$a") ||
|
|
+ echo $a;
|
|
+done | sort
|
|
+
|
|
+# su fedora 4 erano:
|
|
+# - /usr/lib/libglib-2.0.a
|
|
+# - /usr/lib/libXinerama.a
|
|
+# - /usr/lib/libXxf86vm.a
|
|
+# - /usr/lib/libdl.a
|
|
+# - /usr/lib/libbfd.a
|
|
+# - /usr/lib/libm.a
|
|
+# - /usr/lib/libiberty.a
|
|
+# potete anche evitare di ricompilare quelle che non hanno simboli delle GLIBC_2.3
|
|
+# quindi di quelle prima di cui si e' resa necessaria la compilazione sempre su fedora 4 sono state:
|
|
+# - /usr/lib/libbfd.a
|
|
+# - /usr/lib/libiberty.a
|
|
+# - /usr/lib/libglib-2.0.a
|
|
+# quindi i package ricompilati sono stati:
|
|
+# - binutils
|
|
+# - glib2
|
|
+# se ricompilate altre cose fatelo con le variabili di ambiente settate sopra e con --prefix=${HOME}/ap/WX
|
|
+# poi nell'apspec metteteci anche il full path delle librerie statiche da linkare in questo modo:
|
|
+# export APBUILD_STATIC="bfd-2.15.94.0.2.2=${HOME}/ap/WX/lib/libbfd.a"
|
|
+# export APBUILD_STATIC="${APBUILD_STATIC} glib-2.0=${HOME}/ap/WX/lib/libglib-2.0.a"
|
|
+# export APBUILD_STATIC="${APBUILD_STATIC} iberty=${HOME}/ap/WX/lib/libiberty.a"
|
|
+# per le wx non serve in quanto ci pensa wx-config da solo
|
|
+#
|
|
+# Adesso potete finalmente:
|
|
+# 1) scaricare amule
|
|
+# 2) decomprimerlo
|
|
+# 3) andare nella dir di amule
|
|
+# 4) patcharlo con l'ultima patch (che contiene sto README quindi magari gia' lo avevate fatto :P)
|
|
+# 5) e solo ora dare il comando:
|
|
+
|
|
+makeinstaller ap/amule.apspec
|
|
+
|
|
+# Il package compare nella directory dove state
|
|
+#
|
|
+# saluti,
|
|
+# lupz
|
|
diff -urdpN ../aMule-2.1.3-orig/config.guess ./config.guess
|
|
--- ../aMule-2.1.3-orig/config.guess 2006-06-11 17:09:04.000000000 +0200
|
|
+++ ./config.guess 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -3,7 +3,7 @@
|
|
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
|
# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
|
|
|
-timestamp='2006-02-23'
|
|
+timestamp='2005-08-03'
|
|
|
|
# This file is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU General Public License as published by
|
|
@@ -106,7 +106,7 @@ set_cc_for_build='
|
|
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
|
|
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
|
|
: ${TMPDIR=/tmp} ;
|
|
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
|
|
+ { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
|
|
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
|
|
{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
|
|
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
|
|
@@ -206,9 +206,6 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
|
|
*:ekkoBSD:*:*)
|
|
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
|
|
exit ;;
|
|
- *:SolidBSD:*:*)
|
|
- echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
|
|
- exit ;;
|
|
macppc:MirBSD:*:*)
|
|
echo powerppc-unknown-mirbsd${UNAME_RELEASE}
|
|
exit ;;
|
|
@@ -767,12 +764,7 @@ EOF
|
|
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
|
|
exit ;;
|
|
*:FreeBSD:*:*)
|
|
- case ${UNAME_MACHINE} in
|
|
- pc98)
|
|
- echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
|
|
- *)
|
|
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
|
|
- esac
|
|
+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
|
|
exit ;;
|
|
i*:CYGWIN*:*)
|
|
echo ${UNAME_MACHINE}-pc-cygwin
|
|
@@ -780,9 +772,6 @@ EOF
|
|
i*:MINGW*:*)
|
|
echo ${UNAME_MACHINE}-pc-mingw32
|
|
exit ;;
|
|
- i*:MSYS_NT-*:*:*)
|
|
- echo ${UNAME_MACHINE}-pc-mingw32
|
|
- exit ;;
|
|
i*:windows32*:*)
|
|
# uname -m includes "-pc" on this system.
|
|
echo ${UNAME_MACHINE}-mingw32
|
|
@@ -790,11 +779,8 @@ EOF
|
|
i*:PW*:*)
|
|
echo ${UNAME_MACHINE}-pc-pw32
|
|
exit ;;
|
|
- x86:Interix*:[345]*)
|
|
- echo i586-pc-interix${UNAME_RELEASE}
|
|
- exit ;;
|
|
- EM64T:Interix*:[345]*)
|
|
- echo x86_64-unknown-interix${UNAME_RELEASE}
|
|
+ x86:Interix*:[34]*)
|
|
+ echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
|
|
exit ;;
|
|
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
|
|
echo i${UNAME_MACHINE}-pc-mks
|
|
@@ -865,11 +851,7 @@ EOF
|
|
#endif
|
|
#endif
|
|
EOF
|
|
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
|
|
- /^CPU/{
|
|
- s: ::g
|
|
- p
|
|
- }'`"
|
|
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
|
|
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
|
|
;;
|
|
mips64:Linux:*:*)
|
|
@@ -888,11 +870,7 @@ EOF
|
|
#endif
|
|
#endif
|
|
EOF
|
|
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
|
|
- /^CPU/{
|
|
- s: ::g
|
|
- p
|
|
- }'`"
|
|
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
|
|
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
|
|
;;
|
|
or32:Linux:*:*)
|
|
@@ -941,9 +919,6 @@ EOF
|
|
sparc:Linux:*:* | sparc64:Linux:*:*)
|
|
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
|
exit ;;
|
|
- vax:Linux:*:*)
|
|
- echo ${UNAME_MACHINE}-dec-linux-gnu
|
|
- exit ;;
|
|
x86_64:Linux:*:*)
|
|
echo x86_64-unknown-linux-gnu
|
|
exit ;;
|
|
@@ -989,7 +964,7 @@ EOF
|
|
LIBC=gnulibc1
|
|
# endif
|
|
#else
|
|
- #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__sun)
|
|
+ #ifdef __INTEL_COMPILER
|
|
LIBC=gnu
|
|
#else
|
|
LIBC=gnuaout
|
|
@@ -999,11 +974,7 @@ EOF
|
|
LIBC=dietlibc
|
|
#endif
|
|
EOF
|
|
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
|
|
- /^LIBC/{
|
|
- s: ::g
|
|
- p
|
|
- }'`"
|
|
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
|
|
test x"${LIBC}" != x && {
|
|
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
|
|
exit
|
|
@@ -1214,6 +1185,7 @@ EOF
|
|
*:Darwin:*:*)
|
|
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
|
|
case $UNAME_PROCESSOR in
|
|
+ *86) UNAME_PROCESSOR=i686 ;;
|
|
unknown) UNAME_PROCESSOR=powerpc ;;
|
|
esac
|
|
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
|
|
@@ -1292,9 +1264,6 @@ EOF
|
|
i*86:skyos:*:*)
|
|
echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
|
|
exit ;;
|
|
- i*86:rdos:*:*)
|
|
- echo ${UNAME_MACHINE}-pc-rdos
|
|
- exit ;;
|
|
esac
|
|
|
|
#echo '(No uname command or uname output not recognized.)' 1>&2
|
|
diff -urdpN ../aMule-2.1.3-orig/config.sub ./config.sub
|
|
--- ../aMule-2.1.3-orig/config.sub 2006-06-11 17:09:04.000000000 +0200
|
|
+++ ./config.sub 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -3,7 +3,7 @@
|
|
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
|
# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
|
|
|
-timestamp='2006-02-23'
|
|
+timestamp='2005-07-08'
|
|
|
|
# This file is (in principle) common to ALL GNU software.
|
|
# The presence of a machine in this file suggests that SOME GNU software
|
|
@@ -119,9 +119,8 @@ esac
|
|
# Here we must recognize all the valid KERNEL-OS combinations.
|
|
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
|
case $maybe_os in
|
|
- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
|
|
- uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
|
|
- storm-chaos* | os2-emx* | rtmk-nova*)
|
|
+ nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
|
|
+ kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
|
|
os=-$maybe_os
|
|
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
|
;;
|
|
@@ -172,10 +171,6 @@ case $os in
|
|
-hiux*)
|
|
os=-hiuxwe2
|
|
;;
|
|
- -sco6)
|
|
- os=-sco5v6
|
|
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
|
- ;;
|
|
-sco5)
|
|
os=-sco3.2v5
|
|
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
|
@@ -192,10 +187,6 @@ case $os in
|
|
# Don't forget version if it is 3.2v4 or newer.
|
|
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
|
;;
|
|
- -sco5v6*)
|
|
- # Don't forget version if it is 3.2v4 or newer.
|
|
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
|
- ;;
|
|
-sco*)
|
|
os=-sco3.2v2
|
|
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
|
@@ -248,7 +239,7 @@ case $basic_machine in
|
|
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
|
| i370 | i860 | i960 | ia64 \
|
|
| ip2k | iq2000 \
|
|
- | m32r | m32rle | m68000 | m68k | m88k | maxq | mb | microblaze | mcore \
|
|
+ | m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
|
|
| mips | mipsbe | mipseb | mipsel | mipsle \
|
|
| mips16 \
|
|
| mips64 | mips64el \
|
|
@@ -266,9 +257,8 @@ case $basic_machine in
|
|
| mipsisa64sr71k | mipsisa64sr71kel \
|
|
| mipstx39 | mipstx39el \
|
|
| mn10200 | mn10300 \
|
|
- | mt \
|
|
+ | ms1 \
|
|
| msp430 \
|
|
- | nios | nios2 \
|
|
| ns16k | ns32k \
|
|
| or32 \
|
|
| pdp10 | pdp11 | pj | pjl \
|
|
@@ -296,9 +286,6 @@ case $basic_machine in
|
|
;;
|
|
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
|
|
;;
|
|
- ms1)
|
|
- basic_machine=mt-unknown
|
|
- ;;
|
|
|
|
# We use `pc' rather than `unknown'
|
|
# because (1) that's what they normally are, and
|
|
@@ -349,9 +336,8 @@ case $basic_machine in
|
|
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
|
|
| mipstx39-* | mipstx39el-* \
|
|
| mmix-* \
|
|
- | mt-* \
|
|
+ | ms1-* \
|
|
| msp430-* \
|
|
- | nios-* | nios2-* \
|
|
| none-* | np1-* | ns16k-* | ns32k-* \
|
|
| orion-* \
|
|
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
|
|
@@ -710,9 +696,6 @@ case $basic_machine in
|
|
basic_machine=i386-pc
|
|
os=-msdos
|
|
;;
|
|
- ms1-*)
|
|
- basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
|
|
- ;;
|
|
mvs)
|
|
basic_machine=i370-ibm
|
|
os=-mvs
|
|
@@ -820,12 +803,6 @@ case $basic_machine in
|
|
pc532 | pc532-*)
|
|
basic_machine=ns32k-pc532
|
|
;;
|
|
- pc98)
|
|
- basic_machine=i386-pc
|
|
- ;;
|
|
- pc98-*)
|
|
- basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
|
|
- ;;
|
|
pentium | p5 | k5 | k6 | nexgen | viac3)
|
|
basic_machine=i586-pc
|
|
;;
|
|
@@ -882,10 +859,6 @@ case $basic_machine in
|
|
basic_machine=i586-unknown
|
|
os=-pw32
|
|
;;
|
|
- rdos)
|
|
- basic_machine=i386-pc
|
|
- os=-rdos
|
|
- ;;
|
|
rom68k)
|
|
basic_machine=m68k-rom68k
|
|
os=-coff
|
|
@@ -1201,23 +1174,21 @@ case $os in
|
|
| -aos* \
|
|
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
|
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
|
- | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
|
|
- | -openbsd* | -solidbsd* \
|
|
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
|
|
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
|
|
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
|
|
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
|
|
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
|
| -chorusos* | -chorusrdb* \
|
|
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
|
- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
|
|
- | -uxpv* | -beos* | -mpeix* | -udk* \
|
|
+ | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
|
|
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
|
|
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
|
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
|
|
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
|
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
|
|
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
|
|
- | -skyos* | -haiku* | -rdos*)
|
|
+ | -skyos* | -haiku*)
|
|
# Remember, each alternative MUST END IN *, to match a version number.
|
|
;;
|
|
-qnx*)
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/amule-adunanza.dirs ./debian/amule-adunanza.dirs
|
|
--- ../aMule-2.1.3-orig/debian/amule-adunanza.dirs 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/amule-adunanza.dirs 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,5 @@
|
|
+usr/bin
|
|
+usr/sbin
|
|
+usr/share
|
|
+usr/share/pixmaps
|
|
+usr/share/applications
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/amule-adunanza.docs ./debian/amule-adunanza.docs
|
|
--- ../aMule-2.1.3-orig/debian/amule-adunanza.docs 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/amule-adunanza.docs 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,3 @@
|
|
+docs/README
|
|
+docs/amulesig.txt
|
|
+docs/ED2K-Links.HOWTO
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/amule-adunanza.menu ./debian/amule-adunanza.menu
|
|
--- ../aMule-2.1.3-orig/debian/amule-adunanza.menu 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/amule-adunanza.menu 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,7 @@
|
|
+?package(amule-adunanza):needs="X11" section="Apps/Net"\
|
|
+ title="amule" command="/usr/bin/amule"\
|
|
+ icon="/usr/share/pixmaps/amule.xpm"
|
|
+
|
|
+?package(amule-adunanza):needs="X11" section="Apps/Net"\
|
|
+ title="aMule webserver control" command="/usr/bin/amulewebDLG"\
|
|
+ icon="/usr/share/pixmaps/amule.xpm"
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/amule-adunanza.postinst ./debian/amule-adunanza.postinst
|
|
--- ../aMule-2.1.3-orig/debian/amule-adunanza.postinst 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/amule-adunanza.postinst 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,9 @@
|
|
+#!/bin/sh
|
|
+
|
|
+set -e
|
|
+
|
|
+#DEBHELPER#
|
|
+
|
|
+if [ "$1" = "configure" ] && [ -x /usr/bin/update-menus ]; then update-menus ; fi
|
|
+
|
|
+exit 0
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/amule-adunanza.postrm ./debian/amule-adunanza.postrm
|
|
--- ../aMule-2.1.3-orig/debian/amule-adunanza.postrm 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/amule-adunanza.postrm 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,10 @@
|
|
+#!/bin/sh
|
|
+
|
|
+set -e
|
|
+
|
|
+if [ "$1" = remove ]; then
|
|
+ dpkg-divert --package amule-adunanza --rename --remove /usr/bin/ed2k
|
|
+fi
|
|
+
|
|
+
|
|
+#DEBHELPER#
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/amule.dirs ./debian/amule.dirs
|
|
--- ../aMule-2.1.3-orig/debian/amule.dirs 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/amule.dirs 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,5 @@
|
|
+usr/bin
|
|
+usr/sbin
|
|
+usr/share
|
|
+usr/share/pixmaps
|
|
+usr/share/applications
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/amule.docs ./debian/amule.docs
|
|
--- ../aMule-2.1.3-orig/debian/amule.docs 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/amule.docs 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,3 @@
|
|
+docs/README
|
|
+docs/amulesig.txt
|
|
+docs/ED2K-Links.HOWTO
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/amule.manpages ./debian/amule.manpages
|
|
--- ../aMule-2.1.3-orig/debian/amule.manpages 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/amule.manpages 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,5 @@
|
|
+debian/mans/amule.1
|
|
+debian/mans/ed2k.wrapper.fr.1
|
|
+debian/mans/ed2k.wrapper.1
|
|
+debian/mans/ed2k.amule.fr.1
|
|
+debian/mans/ed2k.amule.1
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/amule.menu ./debian/amule.menu
|
|
--- ../aMule-2.1.3-orig/debian/amule.menu 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/amule.menu 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,7 @@
|
|
+?package(amule):needs="X11" section="Apps/Net"\
|
|
+ title="amule" command="/usr/bin/amule"\
|
|
+ icon="/usr/share/pixmaps/amule.xpm"
|
|
+
|
|
+?package(amule):needs="X11" section="Apps/Net"\
|
|
+ title="aMule webserver control" command="/usr/bin/amulewebDLG"\
|
|
+ icon="/usr/share/pixmaps/amule.xpm"
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/amule.postinst ./debian/amule.postinst
|
|
--- ../aMule-2.1.3-orig/debian/amule.postinst 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/amule.postinst 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,9 @@
|
|
+#!/bin/sh
|
|
+
|
|
+set -e
|
|
+
|
|
+#DEBHELPER#
|
|
+
|
|
+if [ "$1" = "configure" ] && [ -x /usr/bin/update-menus ]; then update-menus ; fi
|
|
+
|
|
+exit 0
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/amule.postrm ./debian/amule.postrm
|
|
--- ../aMule-2.1.3-orig/debian/amule.postrm 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/amule.postrm 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,10 @@
|
|
+#!/bin/sh
|
|
+
|
|
+set -e
|
|
+
|
|
+if [ "$1" = remove ]; then
|
|
+ dpkg-divert --package amule --rename --remove /usr/bin/ed2k
|
|
+fi
|
|
+
|
|
+
|
|
+#DEBHELPER#
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/amule.preinst ./debian/amule.preinst
|
|
--- ../aMule-2.1.3-orig/debian/amule.preinst 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/amule.preinst 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,12 @@
|
|
+#!/bin/sh
|
|
+
|
|
+if [ "upgrade" = "$1" ]; then
|
|
+ dpkg-divert --remove --rename /usr/bin/ed2k > /dev/null &>/dev/null
|
|
+fi
|
|
+
|
|
+if [ "install" = "$1" ] || [ "upgrade" = "$1" ]; then
|
|
+ dpkg-divert --package amule --add --rename \
|
|
+ --divert /usr/bin/ed2k.xmule /usr/bin/ed2k
|
|
+fi
|
|
+
|
|
+#DEBHELPER#
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/amule.README.Debian ./debian/amule.README.Debian
|
|
--- ../aMule-2.1.3-orig/debian/amule.README.Debian 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/amule.README.Debian 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,41 @@
|
|
+amule for Debian
|
|
+----------------
|
|
+
|
|
+STANDING AMULE ?
|
|
+----------------
|
|
+With some Window Manager, aMule runs, but the GUI seems to be buggy.
|
|
+So, It's not a problem from the package, you just have to uncheck
|
|
+the option : "minimise icon to system tray" in your aMule preferences.
|
|
+
|
|
+
|
|
+AMULE AND XMULE PACKAGE
|
|
+-----------------
|
|
+Before the 1.2.X version, the package of amule was in conflicts with
|
|
+the xmule package. The bug comes from the /usr/bin/ed2k, which was
|
|
+used by the twice packages.
|
|
+
|
|
+I wrotte a wrapper, which see if amule or xmule is running and
|
|
+invoke the right binary. So, the binary ed2k from amule was
|
|
+renamed as ed2k.amule and this from xmule was renamed ed2k.xmule.
|
|
+According to Debian, I use a diversion to rename this file :-)
|
|
+
|
|
+
|
|
+
|
|
+CONFFILES IN YOUR HOME
|
|
+-----------------
|
|
+aMule is a fork of xMule, it uses the same files (~./aMule, ...).
|
|
+
|
|
+/!\ BE CAREFUL /!\
|
|
+If you are an older user of xMule, aMule move your files of the
|
|
+~/.xMule directory to the ~/.aMule dir.
|
|
+
|
|
+
|
|
+
|
|
+TOO HIGH CPU USAGE
|
|
+------------------
|
|
+If you have a high CPU usage with amule (you can see that when you
|
|
+run 'top'), you need maybe to compile a new kernel. See this topic :
|
|
+http://xmule.org/forums/index.php?showtopic=1030
|
|
+
|
|
+
|
|
+ -- Julien Delange <julien@gunnm.org>, Sat, 27 Sep 2003 00:11:07 +0200
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/amule-utils.dirs ./debian/amule-utils.dirs
|
|
--- ../aMule-2.1.3-orig/debian/amule-utils.dirs 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/amule-utils.dirs 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,5 @@
|
|
+usr/bin
|
|
+usr/share
|
|
+usr/share/pixmaps
|
|
+usr/share/applications
|
|
+usr/share/cas/
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/amule-utils.manpages ./debian/amule-utils.manpages
|
|
--- ../aMule-2.1.3-orig/debian/amule-utils.manpages 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/amule-utils.manpages 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,4 @@
|
|
+debian/mans/amulecmdDLG.fr.1
|
|
+debian/mans/amulecmdDLG.1
|
|
+debian/mans/amulecmd.1
|
|
+debian/mans/amulecmd.fr.1
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/amule-utils.menu ./debian/amule-utils.menu
|
|
--- ../aMule-2.1.3-orig/debian/amule-utils.menu 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/amule-utils.menu 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,7 @@
|
|
+?package(amule-utils):needs="X11" section="Apps/Net"\
|
|
+ title="aMule Stats" command="/usr/bin/wxcas"\
|
|
+ icon="/usr/share/pixmaps/amule.xpm"
|
|
+
|
|
+?package(amule):needs="X11" section="Apps/Net"\
|
|
+ title="aMule command" command="/usr/bin/amulecmdDLG"\
|
|
+ icon="/usr/share/pixmaps/amule.xpm"
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/amule-utils.README.Debian ./debian/amule-utils.README.Debian
|
|
--- ../aMule-2.1.3-orig/debian/amule-utils.README.Debian 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/amule-utils.README.Debian 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,4 @@
|
|
+C AMULE STATS (CAS)
|
|
+
|
|
+CAS is a little programme, which replace astats.
|
|
+The generation of webpage is not implemented yet.
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/changelog ./debian/changelog
|
|
--- ../aMule-2.1.3-orig/debian/changelog 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/changelog 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,356 @@
|
|
+amule-adunanza (2.0.3+cvs20050727-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.3+cvs20050727
|
|
+
|
|
+ -- Stefano Picerno <stefano.picerno@gmail.com> Wed, 27 Jul 2005 18:25:00 +0200
|
|
+
|
|
+amule-adunanza (2.0.3+cvs20050710-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.3+cvs20050710
|
|
+
|
|
+ -- Stefano Picerno <stefano.picerno@gmail.com> Sun, 10 Jul 2005 21:00:23 +0200
|
|
+
|
|
+amule-adunanza (2.0.3+cvs20050709-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.3+cvs20050709
|
|
+
|
|
+ -- Stefano Picerno <stefano.picerno@gmail.com> Sat, 9 Jul 2005 10:38:52 +0200
|
|
+
|
|
+amule-adunanza (2.0.3+cvs20050705-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.3+cvs20050705
|
|
+
|
|
+ -- Stefano Picerno <stefano.picerno@gmail.com> Tue, 5 Jul 2005 18:16:41 +0200
|
|
+
|
|
+amule-adunanza (2.0.3+cvs20050620-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.3+cvs20050620
|
|
+
|
|
+ -- Stefano Picerno <stefano.picerno@gmail.com> Mon, 20 Jun 2005 19:10:30 +0200
|
|
+
|
|
+amule-adunanza (2.0.2+cvs20050612-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.2+cvs20050612
|
|
+ * Cleanup in adu code
|
|
+
|
|
+ -- Stefano Picerno <stefano.picerno@gmail.com> Sun, 12 Jun 2005 13:18:47 +0200
|
|
+
|
|
+amule-adunanza (2.0.2-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.2
|
|
+ * Now show the number of queued adunanza clients in transfer window (amule)
|
|
+
|
|
+ -- Stefano Picerno <stefano.picerno@gmail.com> Wed, 8 Jun 2005 21:31:00 +0200
|
|
+
|
|
+amule-adunanza (2.0.1-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.1
|
|
+ * Fixed debian/rules script
|
|
+
|
|
+ -- Stefano Picerno <stefano.picerno@gmail.com> Thu, 19 May 2005 08:54:07 +0200
|
|
+
|
|
+amule-adunanza (2.0.0-3) unstable; urgency=low
|
|
+
|
|
+ * Fixed compilation errors for amuled and amulegui
|
|
+
|
|
+ -- Stefano Picerno <stefano.picerno@gmail.com> Tue, 10 May 2005 01:09:02 +0200
|
|
+
|
|
+amule-adunanza (2.0.0-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0
|
|
+
|
|
+ -- Stefano Picerno <stefano.picerno@gmail.com> Tue, 3 May 2005 18:56:47 +0200
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050415-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050415
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Fri, 15 Apr 2005 19:16:17 +0200
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050405-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050405
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Tue, 5 Apr 2005 22:56:32 +0200
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050404-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050404
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Mon, 4 Apr 2005 19:19:10 +0200
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050329-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050329
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Tue, 29 Mar 2005 18:19:50 +0200
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050327-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050327
|
|
+ * Removed references to the DWORD type, changed to uint32
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Sun, 27 Mar 2005 17:03:21 +0200
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050326-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050326
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Sat, 26 Mar 2005 17:54:29 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050325-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050325
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Fri, 25 Mar 2005 15:18:20 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050324-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050324
|
|
+ * Removed some code from PartFile.cpp (ie: limit<50 stuff)
|
|
+
|
|
+ -- Stefano Picerno <stefano.picerno@gmail.com> Thu, 24 Mar 2005 12:18:41 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050323-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050323
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Wed, 23 Mar 2005 15:04:58 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050321-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050321
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Mon, 21 Mar 2005 11:11:07 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050318-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050318
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Fri, 18 Mar 2005 13:43:36 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050317-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050317
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Thu, 17 Mar 2005 11:23:51 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050316-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050316
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Wed, 16 Mar 2005 20:36:38 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050315-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050315
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Tue, 15 Mar 2005 08:27:37 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050314-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050314
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Mon, 14 Mar 2005 19:30:10 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050312-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050312
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Sat, 12 Mar 2005 10:39:09 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050309-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050309
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Wed, 9 Mar 2005 13:36:43 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050308-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050308
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Tue, 8 Mar 2005 11:08:26 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050307-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050307
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Mon, 7 Mar 2005 13:26:30 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050306-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050306
|
|
+ * Added support for AdunanzA categories during search
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Sun, 6 Mar 2005 18:32:03 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050305-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050305
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Sun, 6 Mar 2005 11:33:10 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050303-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050303
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Thu, 3 Mar 2005 10:09:30 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050302-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050302
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Wed, 2 Mar 2005 19:15:39 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050301-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050301
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Tue, 1 Mar 2005 16:27:09 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050216-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050216
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Wed, 16 Feb 2005 13:47:48 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050214-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050214
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Mon, 14 Feb 2005 11:36:29 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050208-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050208
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Tue, 8 Feb 2005 10:13:43 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050131-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050131
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Mon, 31 Jan 2005 18:28:38 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050124-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050124
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Mon, 24 Jan 2005 18:02:31 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050110-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050110
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Mon, 10 Jan 2005 11:59:12 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050107-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050107
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Fri, 7 Jan 2005 14:20:41 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20050106-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20050106
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Thu, 6 Jan 2005 12:32:40 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8+cvs20041230-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8+cvs20041230
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Thu, 30 Dec 2004 21:09:31 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc8-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc8
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Wed, 22 Dec 2004 10:09:56 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc7+cvs20041217-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc7+cvs20041217
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Fri, 17 Dec 2004 15:39:32 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc7+cvs20041213-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to cvs snapshot 20041209
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Mon, 13 Dec 2004 12:05:42 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc7+cvs20041209-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to cvs snapshot 20041209
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Thu, 9 Dec 2004 12:13:04 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc7+cvs20041201-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to cvs snapshot 20041201
|
|
+ * Fixed a bug in UploadClient.cpp:607
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Thu, 2 Dec 2004 00:52:52 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc7+cvs20041118-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to cvs snapshot 20041118
|
|
+ * Updated debian directory from official debian package amule (1.2.6+rc7-1)
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Thu, 18 Nov 2004 14:41:40 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc7+cvs20041106-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to cvs snapshot 20041106
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Sat, 6 Nov 2004 11:53:59 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc7+cvs20041105-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to cvs snapshot 20041105
|
|
+ * Enabled ccache support in configure script
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Fri, 5 Nov 2004 17:50:14 +0100
|
|
+
|
|
+amule-adunanza (2.0.0rc7+cvs20041028-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to cvs snapshot 20041028
|
|
+ * Forced TransferFullChunks to true (see Preferences.h)
|
|
+ * Fixed client icons in upload / download / queue list
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Fri, 29 Oct 2004 13:59:09 +0200
|
|
+
|
|
+amule-adunanza (2.0.0rc7-2) unstable; urgency=low
|
|
+
|
|
+ * Fixed a bug in AdunanzA.cpp, 83.x.x.x was not recognized a Fastweb IP
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Fri, 22 Oct 2004 18:31:12 +0200
|
|
+
|
|
+amule-adunanza (2.0.0rc7-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to 2.0.0rc7 tarball
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Wed, 20 Oct 2004 18:20:07 +0200
|
|
+
|
|
+amule-adunanza (2.0.0rc6+cvs20041017-1) unstable; urgency=low
|
|
+
|
|
+ * Updated upstream codebase to cvs snapshot 20041017
|
|
+ * Fixed some tracing calls
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Mon, 18 Oct 2004 14:38:22 +0200
|
|
+
|
|
+amule-adunanza (2.0.0rc6+cvs20041009-2) unstable; urgency=low
|
|
+
|
|
+ * Removed direct access to isAduSoftware ( GetIsAduSoftware and SetIsAduSoftware)
|
|
+ * Added Icons for Adunanza/Fastweb client both in upload and download list pane
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Wed, 13 Oct 2004 15:19:34 +0200
|
|
+
|
|
+amule-adunanza (2.0.0rc6+cvs20041009-1) unstable; urgency=low
|
|
+
|
|
+ * Initial Release.
|
|
+ * Merged network code for AdnzA 3.2 (only ed2k, KAD support is still missing in amule)
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it> Wed, 13 Oct 2004 15:17:08 +0200
|
|
+
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/compat ./debian/compat
|
|
--- ../aMule-2.1.3-orig/debian/compat 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/compat 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1 @@
|
|
+4
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/control ./debian/control
|
|
--- ../aMule-2.1.3-orig/debian/control 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/control 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,23 @@
|
|
+Source: amule-adunanza
|
|
+Section: x11
|
|
+Priority: optional
|
|
+Maintainer: Stefano Picerno <stefano.picerno@gmail.com>
|
|
+Build-Depends: debhelper(>= 4.0.0), libglib1.2-dev, libgtk2.0-dev, zlib1g-dev, libwxgtk2.5-dev, libcurl2-dev, libgd2-xpm-dev, automake1.7 | automake1.8 | automake1.9
|
|
+Standards-Version: 3.6.1.0
|
|
+
|
|
+Package: amule-adunanza
|
|
+Architecture: any
|
|
+Replaces: amule, amule-utils
|
|
+Depends: ${shlibs:Depends}, ${misc:Depends}
|
|
+Description: aNOTHER eMule P2P Client - AdunanzA mod
|
|
+ aMule stand for another eMule file-sharing program, it is also
|
|
+ another fork of the xMule project. It connects to eDonkey2000
|
|
+ network, supports Linux, *BSD and MacOS X platforms, and has
|
|
+ a new vision of the GUI.
|
|
+ .
|
|
+ Contains AdunanzA 3.2 mod ( Fastweb )
|
|
+ .
|
|
+ Debian amule-utils package is contained in amule-adunanza
|
|
+
|
|
+
|
|
+
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/copyright ./debian/copyright
|
|
--- ../aMule-2.1.3-orig/debian/copyright 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/copyright 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,14 @@
|
|
+This package was debianized by Julien Delange <julien@gunnm.org> on
|
|
+Sat, 27 Sep 2003 00:11:07 +0200.
|
|
+
|
|
+It was downloaded from http://sourceforge.net/project/showfiles.php?group_id=88225
|
|
+
|
|
+Upstream Author: Stephane COLIN <bigbob@meloo.com>
|
|
+
|
|
+Copyright:
|
|
+
|
|
+ This program is free software; you can redistribute it and/or modify
|
|
+ it under the terms of the GNU General Public License as published by
|
|
+ the Free Software Foundation; version 2 dated June, 1991.
|
|
+
|
|
+ See /usr/share/common-licenses/GPL.
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/dirs ./debian/dirs
|
|
--- ../aMule-2.1.3-orig/debian/dirs 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/dirs 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+usr/bin
|
|
+usr/sbin
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/manpage.1.ex ./debian/manpage.1.ex
|
|
--- ../aMule-2.1.3-orig/debian/manpage.1.ex 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/manpage.1.ex 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,59 @@
|
|
+.\" Hey, EMACS: -*- nroff -*-
|
|
+.\" First parameter, NAME, should be all caps
|
|
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
|
+.\" other parameters are allowed: see man(7), man(1)
|
|
+.TH AMULE-ADUNANZA SECTION "October 10, 2004"
|
|
+.\" Please adjust this date whenever revising the manpage.
|
|
+.\"
|
|
+.\" Some roff macros, for reference:
|
|
+.\" .nh disable hyphenation
|
|
+.\" .hy enable hyphenation
|
|
+.\" .ad l left justify
|
|
+.\" .ad b justify to both left and right margins
|
|
+.\" .nf disable filling
|
|
+.\" .fi enable filling
|
|
+.\" .br insert line break
|
|
+.\" .sp <n> insert n+1 empty lines
|
|
+.\" for manpage-specific macros, see man(7)
|
|
+.SH NAME
|
|
+amule-adunanza \- program to do something
|
|
+.SH SYNOPSIS
|
|
+.B amule-adunanza
|
|
+.RI [ options ] " files" ...
|
|
+.br
|
|
+.B bar
|
|
+.RI [ options ] " files" ...
|
|
+.SH DESCRIPTION
|
|
+This manual page documents briefly the
|
|
+.B amule-adunanza
|
|
+and
|
|
+.B bar
|
|
+commands.
|
|
+.PP
|
|
+.\" TeX users may be more comfortable with the \fB<whatever>\fP and
|
|
+.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
|
|
+.\" respectively.
|
|
+\fBamule-adunanza\fP is a program that...
|
|
+.SH OPTIONS
|
|
+These programs follow the usual GNU command line syntax, with long
|
|
+options starting with two dashes (`-').
|
|
+A summary of options is included below.
|
|
+For a complete description, see the Info files.
|
|
+.TP
|
|
+.B \-h, \-\-help
|
|
+Show summary of options.
|
|
+.TP
|
|
+.B \-v, \-\-version
|
|
+Show version of program.
|
|
+.SH SEE ALSO
|
|
+.BR bar (1),
|
|
+.BR baz (1).
|
|
+.br
|
|
+The programs are documented fully by
|
|
+.IR "The Rise and Fall of a Fooish Bar" ,
|
|
+available via the Info system.
|
|
+.SH AUTHOR
|
|
+amule-adunanza was written by <upstream author>.
|
|
+.PP
|
|
+This manual page was written by Stefano Picerno <stefanopp@libero.it>,
|
|
+for the Debian project (but may be used by others).
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/manpage.sgml.ex ./debian/manpage.sgml.ex
|
|
--- ../aMule-2.1.3-orig/debian/manpage.sgml.ex 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/manpage.sgml.ex 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,156 @@
|
|
+<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
|
|
+
|
|
+<!-- Process this file with docbook-to-man to generate an nroff manual
|
|
+ page: `docbook-to-man manpage.sgml > manpage.1'. You may view
|
|
+ the manual page with: `docbook-to-man manpage.sgml | nroff -man |
|
|
+ less'. A typical entry in a Makefile or Makefile.am is:
|
|
+
|
|
+manpage.1: manpage.sgml
|
|
+ docbook-to-man $< > $@
|
|
+
|
|
+
|
|
+ The docbook-to-man binary is found in the docbook-to-man package.
|
|
+ Please remember that if you create the nroff version in one of the
|
|
+ debian/rules file targets (such as build), you will need to include
|
|
+ docbook-to-man in your Build-Depends control field.
|
|
+
|
|
+ -->
|
|
+
|
|
+ <!-- Fill in your name for FIRSTNAME and SURNAME. -->
|
|
+ <!ENTITY dhfirstname "<firstname>FIRSTNAME</firstname>">
|
|
+ <!ENTITY dhsurname "<surname>SURNAME</surname>">
|
|
+ <!-- Please adjust the date whenever revising the manpage. -->
|
|
+ <!ENTITY dhdate "<date>October 10, 2004</date>">
|
|
+ <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
|
|
+ allowed: see man(7), man(1). -->
|
|
+ <!ENTITY dhsection "<manvolnum>SECTION</manvolnum>">
|
|
+ <!ENTITY dhemail "<email>stefanopp@libero.it</email>">
|
|
+ <!ENTITY dhusername "Stefano Picerno">
|
|
+ <!ENTITY dhucpackage "<refentrytitle>AMULE-ADUNANZA</refentrytitle>">
|
|
+ <!ENTITY dhpackage "amule-adunanza">
|
|
+
|
|
+ <!ENTITY debian "<productname>Debian</productname>">
|
|
+ <!ENTITY gnu "<acronym>GNU</acronym>">
|
|
+ <!ENTITY gpl "&gnu; <acronym>GPL</acronym>">
|
|
+]>
|
|
+
|
|
+<refentry>
|
|
+ <refentryinfo>
|
|
+ <address>
|
|
+ &dhemail;
|
|
+ </address>
|
|
+ <author>
|
|
+ &dhfirstname;
|
|
+ &dhsurname;
|
|
+ </author>
|
|
+ <copyright>
|
|
+ <year>2003</year>
|
|
+ <holder>&dhusername;</holder>
|
|
+ </copyright>
|
|
+ &dhdate;
|
|
+ </refentryinfo>
|
|
+ <refmeta>
|
|
+ &dhucpackage;
|
|
+
|
|
+ &dhsection;
|
|
+ </refmeta>
|
|
+ <refnamediv>
|
|
+ <refname>&dhpackage;</refname>
|
|
+
|
|
+ <refpurpose>program to do something</refpurpose>
|
|
+ </refnamediv>
|
|
+ <refsynopsisdiv>
|
|
+ <cmdsynopsis>
|
|
+ <command>&dhpackage;</command>
|
|
+
|
|
+ <arg><option>-e <replaceable>this</replaceable></option></arg>
|
|
+
|
|
+ <arg><option>--example <replaceable>that</replaceable></option></arg>
|
|
+ </cmdsynopsis>
|
|
+ </refsynopsisdiv>
|
|
+ <refsect1>
|
|
+ <title>DESCRIPTION</title>
|
|
+
|
|
+ <para>This manual page documents briefly the
|
|
+ <command>&dhpackage;</command> and <command>bar</command>
|
|
+ commands.</para>
|
|
+
|
|
+ <para>This manual page was written for the &debian; distribution
|
|
+ because the original program does not have a manual page.
|
|
+ Instead, it has documentation in the &gnu;
|
|
+ <application>Info</application> format; see below.</para>
|
|
+
|
|
+ <para><command>&dhpackage;</command> is a program that...</para>
|
|
+
|
|
+ </refsect1>
|
|
+ <refsect1>
|
|
+ <title>OPTIONS</title>
|
|
+
|
|
+ <para>These programs follow the usual &gnu; command line syntax,
|
|
+ with long options starting with two dashes (`-'). A summary of
|
|
+ options is included below. For a complete description, see the
|
|
+ <application>Info</application> files.</para>
|
|
+
|
|
+ <variablelist>
|
|
+ <varlistentry>
|
|
+ <term><option>-h</option>
|
|
+ <option>--help</option>
|
|
+ </term>
|
|
+ <listitem>
|
|
+ <para>Show summary of options.</para>
|
|
+ </listitem>
|
|
+ </varlistentry>
|
|
+ <varlistentry>
|
|
+ <term><option>-v</option>
|
|
+ <option>--version</option>
|
|
+ </term>
|
|
+ <listitem>
|
|
+ <para>Show version of program.</para>
|
|
+ </listitem>
|
|
+ </varlistentry>
|
|
+ </variablelist>
|
|
+ </refsect1>
|
|
+ <refsect1>
|
|
+ <title>SEE ALSO</title>
|
|
+
|
|
+ <para>bar (1), baz (1).</para>
|
|
+
|
|
+ <para>The programs are documented fully by <citetitle>The Rise and
|
|
+ Fall of a Fooish Bar</citetitle> available via the
|
|
+ <application>Info</application> system.</para>
|
|
+ </refsect1>
|
|
+ <refsect1>
|
|
+ <title>AUTHOR</title>
|
|
+
|
|
+ <para>This manual page was written by &dhusername; &dhemail; for
|
|
+ the &debian; system (but may be used by others). Permission is
|
|
+ granted to copy, distribute and/or modify this document under
|
|
+ the terms of the &gnu; General Public License, Version 2 any
|
|
+ later version published by the Free Software Foundation.
|
|
+ </para>
|
|
+ <para>
|
|
+ On Debian systems, the complete text of the GNU General Public
|
|
+ License can be found in /usr/share/common-licenses/GPL.
|
|
+ </para>
|
|
+
|
|
+ </refsect1>
|
|
+</refentry>
|
|
+
|
|
+<!-- Keep this comment at the end of the file
|
|
+Local variables:
|
|
+mode: sgml
|
|
+sgml-omittag:t
|
|
+sgml-shorttag:t
|
|
+sgml-minimize-attributes:nil
|
|
+sgml-always-quote-attributes:t
|
|
+sgml-indent-step:2
|
|
+sgml-indent-data:t
|
|
+sgml-parent-document:nil
|
|
+sgml-default-dtd-file:nil
|
|
+sgml-exposed-tags:nil
|
|
+sgml-local-catalogs:nil
|
|
+sgml-local-ecat-files:nil
|
|
+End:
|
|
+-->
|
|
+
|
|
+
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/manpage.xml.ex ./debian/manpage.xml.ex
|
|
--- ../aMule-2.1.3-orig/debian/manpage.xml.ex 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/manpage.xml.ex 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,148 @@
|
|
+<?xml version='1.0' encoding='ISO-8859-1'?>
|
|
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
|
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
|
|
+
|
|
+<!--
|
|
+
|
|
+Process this file with an XSLT processor: `xsltproc \
|
|
+-''-nonet /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\
|
|
+manpages/docbook.xsl manpage.dbk'. A manual page
|
|
+<package>.<section> will be generated. You may view the
|
|
+manual page with: nroff -man <package>.<section> | less'. A
|
|
+typical entry in a Makefile or Makefile.am is:
|
|
+
|
|
+DB2MAN=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\
|
|
+manpages/docbook.xsl
|
|
+XP=xsltproc -''-nonet
|
|
+
|
|
+manpage.1: manpage.dbk
|
|
+ $(XP) $(DB2MAN) $<
|
|
+
|
|
+The xsltproc binary is found in the xsltproc package. The
|
|
+XSL files are in docbook-xsl. Please remember that if you
|
|
+create the nroff version in one of the debian/rules file
|
|
+targets (such as build), you will need to include xsltproc
|
|
+and docbook-xsl in your Build-Depends control field.
|
|
+
|
|
+-->
|
|
+
|
|
+ <!-- Fill in your name for FIRSTNAME and SURNAME. -->
|
|
+ <!ENTITY dhfirstname "<firstname>FIRSTNAME</firstname>">
|
|
+ <!ENTITY dhsurname "<surname>SURNAME</surname>">
|
|
+ <!-- Please adjust the date whenever revising the manpage. -->
|
|
+ <!ENTITY dhdate "<date>October 10, 2004</date>">
|
|
+ <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
|
|
+ allowed: see man(7), man(1). -->
|
|
+ <!ENTITY dhsection "<manvolnum>SECTION</manvolnum>">
|
|
+ <!ENTITY dhemail "<email>stefanopp@libero.it</email>">
|
|
+ <!ENTITY dhusername "Stefano Picerno">
|
|
+ <!ENTITY dhucpackage "<refentrytitle>AMULE-ADUNANZA</refentrytitle>">
|
|
+ <!ENTITY dhpackage "amule-adunanza">
|
|
+
|
|
+ <!ENTITY debian "<productname>Debian</productname>">
|
|
+ <!ENTITY gnu "<acronym>GNU</acronym>">
|
|
+ <!ENTITY gpl "&gnu; <acronym>GPL</acronym>">
|
|
+]>
|
|
+
|
|
+<refentry>
|
|
+ <refentryinfo>
|
|
+ <address>
|
|
+ &dhemail;
|
|
+ </address>
|
|
+ <author>
|
|
+ &dhfirstname;
|
|
+ &dhsurname;
|
|
+ </author>
|
|
+ <copyright>
|
|
+ <year>2003</year>
|
|
+ <holder>&dhusername;</holder>
|
|
+ </copyright>
|
|
+ &dhdate;
|
|
+ </refentryinfo>
|
|
+ <refmeta>
|
|
+ &dhucpackage;
|
|
+
|
|
+ &dhsection;
|
|
+ </refmeta>
|
|
+ <refnamediv>
|
|
+ <refname>&dhpackage;</refname>
|
|
+
|
|
+ <refpurpose>program to do something</refpurpose>
|
|
+ </refnamediv>
|
|
+ <refsynopsisdiv>
|
|
+ <cmdsynopsis>
|
|
+ <command>&dhpackage;</command>
|
|
+
|
|
+ <arg><option>-e <replaceable>this</replaceable></option></arg>
|
|
+
|
|
+ <arg><option>--example <replaceable>that</replaceable></option></arg>
|
|
+ </cmdsynopsis>
|
|
+ </refsynopsisdiv>
|
|
+ <refsect1>
|
|
+ <title>DESCRIPTION</title>
|
|
+
|
|
+ <para>This manual page documents briefly the
|
|
+ <command>&dhpackage;</command> and <command>bar</command>
|
|
+ commands.</para>
|
|
+
|
|
+ <para>This manual page was written for the &debian; distribution
|
|
+ because the original program does not have a manual page.
|
|
+ Instead, it has documentation in the &gnu;
|
|
+ <application>Info</application> format; see below.</para>
|
|
+
|
|
+ <para><command>&dhpackage;</command> is a program that...</para>
|
|
+
|
|
+ </refsect1>
|
|
+ <refsect1>
|
|
+ <title>OPTIONS</title>
|
|
+
|
|
+ <para>These programs follow the usual &gnu; command line syntax,
|
|
+ with long options starting with two dashes (`-'). A summary of
|
|
+ options is included below. For a complete description, see the
|
|
+ <application>Info</application> files.</para>
|
|
+
|
|
+ <variablelist>
|
|
+ <varlistentry>
|
|
+ <term><option>-h</option>
|
|
+ <option>--help</option>
|
|
+ </term>
|
|
+ <listitem>
|
|
+ <para>Show summary of options.</para>
|
|
+ </listitem>
|
|
+ </varlistentry>
|
|
+ <varlistentry>
|
|
+ <term><option>-v</option>
|
|
+ <option>--version</option>
|
|
+ </term>
|
|
+ <listitem>
|
|
+ <para>Show version of program.</para>
|
|
+ </listitem>
|
|
+ </varlistentry>
|
|
+ </variablelist>
|
|
+ </refsect1>
|
|
+ <refsect1>
|
|
+ <title>SEE ALSO</title>
|
|
+
|
|
+ <para>bar (1), baz (1).</para>
|
|
+
|
|
+ <para>The programs are documented fully by <citetitle>The Rise and
|
|
+ Fall of a Fooish Bar</citetitle> available via the
|
|
+ <application>Info</application> system.</para>
|
|
+ </refsect1>
|
|
+ <refsect1>
|
|
+ <title>AUTHOR</title>
|
|
+
|
|
+ <para>This manual page was written by &dhusername; &dhemail; for
|
|
+ the &debian; system (but may be used by others). Permission is
|
|
+ granted to copy, distribute and/or modify this document under
|
|
+ the terms of the &gnu; General Public License, Version 2 any
|
|
+ later version published by the Free Software Foundation.
|
|
+ </para>
|
|
+ <para>
|
|
+ On Debian systems, the complete text of the GNU General Public
|
|
+ License can be found in /usr/share/common-licenses/GPL.
|
|
+ </para>
|
|
+
|
|
+ </refsect1>
|
|
+</refentry>
|
|
+
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/mans/amule.1 ./debian/mans/amule.1
|
|
--- ../aMule-2.1.3-orig/debian/mans/amule.1 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/mans/amule.1 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,17 @@
|
|
+.TH AMULE 1
|
|
+.SH NAME
|
|
+amule \- aNother Peer to Peer client
|
|
+.SH SYNOPSIS
|
|
+.B amule
|
|
+.SH "DESCRIPTION"
|
|
+.B amule
|
|
+is a client, which can connect to emule servers.
|
|
+.PP
|
|
+This manual page was written for the Debian GNU/Linux distribution
|
|
+because the original program does not have a manual page.
|
|
+
|
|
+.SH "SEE ALSO"
|
|
+You can see the Changelog file and README.Debian in the /usr/share/doc directory
|
|
+.SH AUTHOR
|
|
+aMule was written by Stephane Colin <bigbog@tiscali.fr>
|
|
+This manpage was written by Julien Delange for Debian <julien AT gunnm DOT org>
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/mans/amulecmd.1 ./debian/mans/amulecmd.1
|
|
--- ../aMule-2.1.3-orig/debian/mans/amulecmd.1 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/mans/amulecmd.1 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,18 @@
|
|
+.TH AMULECMD 1
|
|
+.SH NAME
|
|
+amulecmd \- Text-based program to control amule
|
|
+.SH SYNOPSIS
|
|
+.B amulecmd
|
|
+.SH "DESCRIPTION"
|
|
+.B amulecmd
|
|
+is a texte based client to control amule. Useful help can
|
|
+be obtained when you launch the program.
|
|
+.PP
|
|
+This manual page was written for the Debian GNU/Linux distribution
|
|
+because the original program does not have a manual page.
|
|
+
|
|
+.SH "SEE ALSO"
|
|
+You can see the Changelog file and README.Debian in the /usr/share/doc directory
|
|
+.SH AUTHOR
|
|
+aMule was written by Stephane Colin <bigbog@tiscali.fr>
|
|
+This manpage was written by Julien Delange for Debian <julien AT gunnm DOT org>
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/mans/amulecmdDLG.1 ./debian/mans/amulecmdDLG.1
|
|
--- ../aMule-2.1.3-orig/debian/mans/amulecmdDLG.1 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/mans/amulecmdDLG.1 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+.TH AMULECMDDLG 1
|
|
+.SH NAME
|
|
+amulecmdDLG \- aMule control program with GUI
|
|
+.SH SYNOPSIS
|
|
+.B amulecmddlg
|
|
+.SH "DESCRIPTION"
|
|
+.B amulecmdDLG
|
|
+is a client program, and can be connected on amule client. You
|
|
+can manage your amule program with it. It provides the same functionnality
|
|
+than amulecmd, but it contains a GUI interface, written in GTK+.
|
|
+.PP
|
|
+This manual page was written for the Debian GNU/Linux distribution
|
|
+because the original program does not have a manual page.
|
|
+
|
|
+.SH "SEE ALSO"
|
|
+You can see the Changelog file and README.Debian in the /usr/share/doc directory
|
|
+.SH AUTHOR
|
|
+aMule was written by Stephane Colin <bigbog@tiscali.fr>
|
|
+This manpage was written by Julien Delange for Debian <julien AT gunnm DOT org>
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/mans/amulecmdDLG.fr.1 ./debian/mans/amulecmdDLG.fr.1
|
|
--- ../aMule-2.1.3-orig/debian/mans/amulecmdDLG.fr.1 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/mans/amulecmdDLG.fr.1 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,18 @@
|
|
+.TH AMULECMDDLG 1
|
|
+.SH NAME
|
|
+amulecmdDLG \- Controle de aMule a travers une interface GTK
|
|
+.SH SYNOPSIS
|
|
+.B amulecmdDLG
|
|
+.SH "DESCRIPTION"
|
|
+.B amulecmdDLG
|
|
+Vous permet de faire les mêmes choses que amulecmd, mis à part que ce programme
|
|
+est en GTK+. Il est donc doté d'une interface graphique.
|
|
+.PP
|
|
+Cette page de manuel a été écrite pour Debian, car le logiciel original n'en avait pas.
|
|
+
|
|
+.SH "VOIR AUSSI"
|
|
+Vous pouvez consultez les fichiers relatifs à ce programme dans le répertoire /usr/share/doc/amule/
|
|
+
|
|
+.SH "AUTEUR"
|
|
+aMule a été écrit par Stéphane Colin <bigbog AT tiscali DOT fr>, ainsi que de nombreux contributeurs.
|
|
+Cette page de manuel a été écrite par Julien Delange <julien AT gunnm DOT org>. Merci de me contacter pour tout problème.
|
|
\ No newline at end of file
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/mans/amulecmd.fr.1 ./debian/mans/amulecmd.fr.1
|
|
--- ../aMule-2.1.3-orig/debian/mans/amulecmd.fr.1 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/mans/amulecmd.fr.1 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,17 @@
|
|
+.TH AMULECMD 1
|
|
+.SH NAME
|
|
+amulecmd \- Control du programme amule à travers une interface en mode texte.
|
|
+.SH SYNOPSIS
|
|
+.B amulecmd
|
|
+.SH "DESCRIPTION"
|
|
+.B amulecmd
|
|
+est un programme qui vous permet de commander le logiciel amule en ligne de commande.
|
|
+.PP
|
|
+Cette page de manuel a été écrite pour Debian, car le logiciel original n'en avait pas.
|
|
+
|
|
+.SH "VOIR AUSSI"
|
|
+Vous pouvez consultez les fichiers relatifs à ce programme dans le répertoire /usr/share/doc/amule/
|
|
+
|
|
+.SH "AUTEUR"
|
|
+aMule a été écrit par Stéphane Colin <bigbog AT tiscali DOT fr>, ainsi que de nombreux contributeurs.
|
|
+Cette page de manuel a été écrite par Julien Delange <julien AT gunnm DOT org>. Merci de me contacter pour tout problème.
|
|
\ No newline at end of file
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/mans/amule.fr.1 ./debian/mans/amule.fr.1
|
|
--- ../aMule-2.1.3-orig/debian/mans/amule.fr.1 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/mans/amule.fr.1 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,17 @@
|
|
+.TH AMULE 1
|
|
+.SH NAME
|
|
+amule \- aNother Peer to Peer client
|
|
+.SH SYNOPSIS
|
|
+.B amule
|
|
+.SH "DESCRIPTION"
|
|
+.B amule
|
|
+est un client Peer to Peer qui permet de se connecter au réseau eDonkey (eMule, ...)
|
|
+.PP
|
|
+Cette page de manuel a été écrite pour Debian, car le logiciel original n'en avait pas.
|
|
+
|
|
+.SH "VOIR AUSSI"
|
|
+Vous pouvez consultez les fichiers relatifs à ce programme dans le répertoire /usr/share/doc/amule/
|
|
+
|
|
+.SH "AUTEUR"
|
|
+aMule a été écrit par Stéphane Colin <bigbog AT tiscali DOT fr>, ainsi que de nombreux contributeurs.
|
|
+Cette page de manuel a été écrite par Julien Delange <julien AT gunnm DOT org>. Merci de me contacter pour tout problème.
|
|
\ No newline at end of file
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/mans/ed2k.amule.1 ./debian/mans/ed2k.amule.1
|
|
--- ../aMule-2.1.3-orig/debian/mans/ed2k.amule.1 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/mans/ed2k.amule.1 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,15 @@
|
|
+.TH ED2K.AMULE 1
|
|
+.SH NAME
|
|
+ed2k \- binary used by aMule program.
|
|
+.SH SYNOPSIS
|
|
+.B ed2k.amule
|
|
+.SH "DESCRIPTION"
|
|
+.B ed2k
|
|
+is a binary used by the aMule program. It is used to get ed2k link.
|
|
+.PP
|
|
+This manual page was written for the Debian GNU/Linux distribution
|
|
+because the original program does not have a manual page.
|
|
+
|
|
+.SH AUTHOR
|
|
+ed2k was written by the aMule team, see http://amule.sourceforge.net
|
|
+This manpage was written by Julien Delange for Debian <julien AT gunnm DOT org>
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/mans/ed2k.amule.fr.1 ./debian/mans/ed2k.amule.fr.1
|
|
--- ../aMule-2.1.3-orig/debian/mans/ed2k.amule.fr.1 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/mans/ed2k.amule.fr.1 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,14 @@
|
|
+.TH ED2K.AMULE 1
|
|
+.SH NAME
|
|
+ed2k \- binaire utilisé par le programme amule
|
|
+.SH SYNOPSIS
|
|
+.B ed2k.amule
|
|
+.SH "DESCRIPTION"
|
|
+.B ed2k
|
|
+est un binaire utilisé par le programme amule. Il sert à passer les URL de type ed2k:// dans le programme amule.
|
|
+.PP
|
|
+Cette page de manuel a été écrite pour Debian, car le logiciel original n'en avait pas.
|
|
+
|
|
+.SH "AUTEUR"
|
|
+ed2k a été écrit par la amule team (site : http://amule.sourceforge.net)
|
|
+Cette page de manuel a été écrite par Julien Delange <julien AT gunnm DOT org>. Merci de me contacter pour tout problème.
|
|
\ No newline at end of file
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/mans/ed2k.wrapper.1 ./debian/mans/ed2k.wrapper.1
|
|
--- ../aMule-2.1.3-orig/debian/mans/ed2k.wrapper.1 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/mans/ed2k.wrapper.1 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,15 @@
|
|
+.TH ED2K 1
|
|
+.SH NAME
|
|
+ed2k \- wrapper for {x|a}Mule
|
|
+.SH SYNOPSIS
|
|
+.B ed2k
|
|
+.SH "DESCRIPTION"
|
|
+.B ed2k
|
|
+is a binary used by to invoke ed2k.amule or ed2k.xmule. Its a specific wrapper for Debian.
|
|
+.PP
|
|
+This manual page was written for the Debian GNU/Linux distribution
|
|
+because the original program does not have a manual page.
|
|
+
|
|
+.SH AUTHOR
|
|
+ed2k and this manpage was written by Julien Delange <julien AT gunnm DOT org> for Debian.
|
|
+
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/mans/ed2k.wrapper.fr.1 ./debian/mans/ed2k.wrapper.fr.1
|
|
--- ../aMule-2.1.3-orig/debian/mans/ed2k.wrapper.fr.1 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/mans/ed2k.wrapper.fr.1 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,13 @@
|
|
+.TH ED2K 1
|
|
+.SH NAME
|
|
+ed2k \- wrapper pour aMule et xMule
|
|
+.SH SYNOPSIS
|
|
+.B ed2k
|
|
+.SH "DESCRIPTION"
|
|
+.B ed2k
|
|
+est un wrapper utilisé pour passer les URL ed2k:// à ed2k.amule ou ed2k.xmule. Ce programme est spécifique à Debian.
|
|
+.PP
|
|
+Cette page de manuel a été écrite pour Debian, car le logiciel original n'en avait pas.
|
|
+
|
|
+.SH "AUTEUR"
|
|
+ed2k et cette page de manuel ont été écrit par Julien Delange <julien AT gunnm DOT org> pour Debian.
|
|
\ No newline at end of file
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/menu ./debian/menu
|
|
--- ../aMule-2.1.3-orig/debian/menu 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/menu 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+?package(amule-adunanza):needs="X11|text|vc|wm" section="Apps/Tools"\
|
|
+ title="amule-adunanza" command="/usr/bin/amule-adunanza"
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/README.Debian ./debian/README.Debian
|
|
--- ../aMule-2.1.3-orig/debian/README.Debian 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/README.Debian 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,7 @@
|
|
+amule-adunanza for Debian
|
|
+-------------------------
|
|
+
|
|
+The Adunanza Mod used is the version 3.2. http://www.adunanza.net
|
|
+Kademlia network is not yet supported by amule.
|
|
+
|
|
+ -- Stefano Picerno <stefanopp@libero.it>, Sun, 10 Oct 2004 11:36:17 +0200
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/rules ./debian/rules
|
|
--- ../aMule-2.1.3-orig/debian/rules 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/rules 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,148 @@
|
|
+#!/usr/bin/make -f
|
|
+# -*- makefile -*-
|
|
+# Sample debian/rules that uses debhelper.
|
|
+# GNU copyright 1997 to 1999 by Joey Hess.
|
|
+
|
|
+# Uncomment this to turn on verbose mode.
|
|
+export DH_VERBOSE=1
|
|
+
|
|
+
|
|
+# These are used for cross-compiling and for saving the configure script
|
|
+# from having to guess our platform (since we know it already)
|
|
+DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
|
|
+DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
|
|
+
|
|
+
|
|
+CFLAGS = -Wall -g -D__USE_KAD__
|
|
+
|
|
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
|
|
+ CFLAGS += -O0
|
|
+else
|
|
+ CFLAGS += -O2
|
|
+endif
|
|
+
|
|
+
|
|
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
|
|
+ INSTALL_PROGRAM += -s
|
|
+endif
|
|
+
|
|
+config.status: autogen.sh
|
|
+ dh_testdir
|
|
+ #
|
|
+ #
|
|
+ ./autogen.sh
|
|
+
|
|
+ # Add here commands to configure the package.
|
|
+ CFLAGS="$(CFLAGS)" CXXFLAGS="-Os" ./configure --enable-kad-compile --enable-amulecmd --enable-optimize --enable-gsocket --enable-alc --enable-alcc --enable-amule-daemon --enable-amulecmdgui --disable-debug --enable-systray --enable-cas --enable-wxcas --enable-ccache --enable-webserver --enable-webservergui --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info
|
|
+
|
|
+
|
|
+build: build-stamp
|
|
+
|
|
+build-stamp: config.status
|
|
+ dh_testdir -a
|
|
+
|
|
+ # Add here commands to compile the package.
|
|
+ $(MAKE) -j4 CCACHE_PREFIX=distcc
|
|
+ #/usr/bin/docbook-to-man debian/amule.sgml > amule.1
|
|
+
|
|
+ touch build-stamp
|
|
+
|
|
+clean:
|
|
+ dh_testdir
|
|
+ dh_testroot
|
|
+ rm -f build-stamp
|
|
+
|
|
+ # Add here commands to clean up after the build process.
|
|
+ -$(MAKE) distclean
|
|
+ rm -f po/*.gmo
|
|
+ifneq "$(wildcard /usr/share/misc/config.sub)" ""
|
|
+ cp -f /usr/share/misc/config.sub config.sub
|
|
+endif
|
|
+ifneq "$(wildcard /usr/share/misc/config.guess)" ""
|
|
+ cp -f /usr/share/misc/config.guess config.guess
|
|
+endif
|
|
+
|
|
+
|
|
+ dh_clean -a
|
|
+
|
|
+install: build
|
|
+ dh_testdir -a
|
|
+ dh_testroot -a
|
|
+ dh_clean -a -k
|
|
+ dh_installdirs -a -k -s
|
|
+
|
|
+ # Add here commands to install the package into debian/amule.
|
|
+ echo Cur dir is: $(CURDIR)
|
|
+ $(MAKE) install DESTDIR=$(CURDIR)/debian/amule-adunanza
|
|
+
|
|
+ #exit
|
|
+ #aMule part
|
|
+ #mv $(CURDIR)/debian/tmp/usr/bin/ed2k $(CURDIR)/debian/amule/usr/bin/ed2k.amule
|
|
+ #mv $(CURDIR)/debian/tmp/usr/bin/amuleweb $(CURDIR)/debian/amule/usr/bin/ || true
|
|
+ #mv $(CURDIR)/debian/tmp/usr/share/amuleweb $(CURDIR)/debian/amule/usr/share/ || true
|
|
+ #mv $(CURDIR)/debian/tmp/usr/bin/amulewebDLG $(CURDIR)/debian/amule/usr/bin/
|
|
+ #mv $(CURDIR)/debian/tmp/usr/bin/amule $(CURDIR)/debian/amule/usr/bin/
|
|
+ #mv $(CURDIR)/debian/tmp/usr/share/pixmaps/amule.xpm $(CURDIR)/debian/amule/usr/share/pixmaps/amule.xpm
|
|
+ #mv $(CURDIR)/debian/tmp/usr/share/locale $(CURDIR)/debian/amule/usr/share/
|
|
+ #mv $(CURDIR)/debian/tmp/usr/share/applications/amule.desktop $(CURDIR)/debian/amule/usr/share/applications/
|
|
+
|
|
+
|
|
+ #install -m 755 debian/wrapper/wrapper $(CURDIR)/debian/amule/usr/bin/ed2k.wrapper
|
|
+ #dh_link /usr/bin/ed2k.wrapper /usr/bin/ed2k
|
|
+ #dh_link /usr/share/man/fr/man1/ed2k.wrapper.1.gz /usr/share/man/fr/man1/ed2k.1.gz
|
|
+ #dh_link /usr/share/man/man1/ed2k.wrapper.1.gz /usr/share/man/man1/ed2k.1.gz
|
|
+
|
|
+ #aMule utils part
|
|
+ #mv $(CURDIR)/debian/tmp/usr/bin/wxcas $(CURDIR)/debian/amule-utils/usr/bin
|
|
+ #mv $(CURDIR)/debian/tmp/usr/bin/cas $(CURDIR)/debian/amule-utils/usr/bin
|
|
+ #mv $(CURDIR)/debian/tmp/usr/bin/alc $(CURDIR)/debian/amule-utils/usr/bin
|
|
+ #mv $(CURDIR)/debian/tmp/usr/bin/alcc $(CURDIR)/debian/amule-utils/usr/bin
|
|
+ #mv $(CURDIR)/debian/tmp/usr/bin/amulecmd $(CURDIR)/debian/amule-utils/usr/bin
|
|
+ #mv $(CURDIR)/debian/tmp/usr/bin/amulecmdDLG $(CURDIR)/debian/amule-utils/usr/bin
|
|
+ #mv $(CURDIR)/debian/tmp/usr/share/applications/alc.desktop $(CURDIR)/debian/amule-utils/usr/share/applications
|
|
+ #mv $(CURDIR)/debian/tmp/usr/share/applications/wxcas.desktop $(CURDIR)/debian/amule-utils/usr/share/applications
|
|
+ #mv $(CURDIR)/debian/tmp/usr/share/pixmaps/alc.xpm $(CURDIR)/debian/amule-utils/usr/share/pixmaps
|
|
+ #mv $(CURDIR)/debian/tmp/usr/share/pixmaps/wxcas.xpm $(CURDIR)/debian/amule-utils/usr/share/pixmaps
|
|
+ #mv $(CURDIR)/debian/tmp/usr/share/cas/stat.png $(CURDIR)/debian/amule-utils/usr/share/cas/
|
|
+ #mv $(CURDIR)/debian/tmp/usr/share/cas/tmp.html $(CURDIR)/debian/amule-utils/usr/share/cas/
|
|
+
|
|
+# mv $(CURDIR)/debian/tmp/usr/share/pixmaps/stat.png $(CURDIR)/debian/amule-utils/usr/share/pixmaps/stat.png
|
|
+
|
|
+
|
|
+# Build architecture-independent files here.
|
|
+binary-indep: build install
|
|
+# We have nothing to do by default.
|
|
+
|
|
+# Build architecture-dependent files here.
|
|
+binary-arch: build install
|
|
+ dh_testdir -a
|
|
+ dh_testroot -a
|
|
+ dh_installchangelogs docs/Changelog
|
|
+ dh_installdocs -a
|
|
+ dh_installexamples -a
|
|
+# dh_install
|
|
+ dh_installmenu -a
|
|
+ dh_installdebconf -a
|
|
+# dh_installlogrotate
|
|
+# dh_installemacsen
|
|
+# dh_installpam
|
|
+# dh_installmime
|
|
+# dh_installinit
|
|
+# dh_installcron
|
|
+# dh_installinfo
|
|
+ dh_installman -a
|
|
+ dh_link -a
|
|
+ dh_strip -a
|
|
+ dh_compress -a
|
|
+ dh_fixperms -a
|
|
+# dh_perl
|
|
+# dh_python
|
|
+# dh_makeshlibs
|
|
+ dh_installdeb -a
|
|
+ dh_shlibdeps -a
|
|
+ dh_gencontrol -a
|
|
+ dh_md5sums -a
|
|
+ dh_builddeb -a
|
|
+
|
|
+binary: binary-indep binary-arch
|
|
+.PHONY: build clean binary-indep binary-arch binary install
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/watch ./debian/watch
|
|
--- ../aMule-2.1.3-orig/debian/watch 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/watch 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,7 @@
|
|
+# Example watch control file for uscan
|
|
+# Rename this file to "watch" and then you can run the "uscan" command
|
|
+# to check for upstream updates and more.
|
|
+# Site Directory Pattern Version Script
|
|
+version=2
|
|
+#http://amule.hirnriss.net /cvs/aMule-cvs-(.*)\.tar\.bz2 debian uupdate
|
|
+http://amule.hirnriss.net/ cvs/aMule-cvs-([0-9]*)\.tar\.bz2
|
|
diff -urdpN ../aMule-2.1.3-orig/debian/wrapper/wrapper ./debian/wrapper/wrapper
|
|
--- ../aMule-2.1.3-orig/debian/wrapper/wrapper 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./debian/wrapper/wrapper 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,64 @@
|
|
+#!/usr/bin/perl
|
|
+
|
|
+
|
|
+my $ps_result;
|
|
+
|
|
+
|
|
+sub which_program
|
|
+{
|
|
+ open(PS_PROC,"ps x |") or die "can't exec ps ! suxor system !\n";
|
|
+
|
|
+ while(<PS_PROC>)
|
|
+ {
|
|
+ if(/amule/)
|
|
+ {
|
|
+ close(PS_PROC);
|
|
+ return "amule";
|
|
+ }
|
|
+ elsif(/xmule/)
|
|
+ {
|
|
+ close(PS_PROC);
|
|
+ return "xmule";
|
|
+ }
|
|
+ }
|
|
+ return "nobody";
|
|
+}
|
|
+
|
|
+sub main
|
|
+{
|
|
+ my $program;
|
|
+ my $url;
|
|
+
|
|
+ $url=@ARGV[0];
|
|
+ $program=which_program();
|
|
+ print "url : $url \n";
|
|
+ if($program=~/nobody/){
|
|
+ exit(-1);
|
|
+ }
|
|
+ elsif($program=~/amule/)
|
|
+ {
|
|
+ if(-x "/usr/bin/ed2k.amule")
|
|
+ {
|
|
+ system("/usr/bin/ed2k.amule '".$url."'");
|
|
+ print "add an amule ed2k link\n";
|
|
+ }
|
|
+ else
|
|
+ {
|
|
+ print "oOops ! In cant exec /usr/bin/ed2k.amule";
|
|
+ }
|
|
+ }
|
|
+ elsif($program=~/xmule/)
|
|
+ {
|
|
+ if (-x "/usr/bin/ed2k.xmule")
|
|
+ {
|
|
+ system("/usr/bin/ed2k.xmule '".$url."'");
|
|
+ print "add an xmule ed2k link\n";
|
|
+ }
|
|
+ else
|
|
+ {
|
|
+ print "OoOps ! couldn't find /usr/bin/ed2k binary !\n"
|
|
+ }
|
|
+ }
|
|
+}
|
|
+
|
|
+&main();
|
|
diff -urdpN ../aMule-2.1.3-orig/po/it.po ./po/it.po
|
|
--- ../aMule-2.1.3-orig/po/it.po 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./po/it.po 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -31,11 +31,11 @@ msgstr "Kademlia: chiave di ricerca trop
|
|
#: src/kademlia/routing/RoutingZone.cpp:159
|
|
#, c-format
|
|
msgid "Read %u Kad contacts"
|
|
-msgstr "Letti %u contatti Kad"
|
|
+msgstr "Letti %u contatti KAdu"
|
|
|
|
#: src/kademlia/routing/RoutingZone.cpp:162
|
|
msgid "Error while reading Kad contacts - 0 entries"
|
|
-msgstr "Errore nella lettura dei contatti Kad - 0 contatti"
|
|
+msgstr "Errore nella lettura dei contatti KAdu - 0 contatti"
|
|
|
|
#: src/utils/wxCas/src/wxcasframe.cpp:97
|
|
#: src/utils/aLinkCreator/src/alcframe.cpp:85
|
|
@@ -2144,7 +2144,7 @@ msgstr "Non connesso"
|
|
#: src/TextClient.cpp:481 src/muuli_wdr.cpp:238 src/muuli_wdr.cpp:4028
|
|
#: src/DataToText.cpp:131
|
|
msgid "Kad"
|
|
-msgstr "Kad"
|
|
+msgstr "KAdu"
|
|
|
|
#: src/TextClient.cpp:485
|
|
msgid "firewalled"
|
|
@@ -2270,7 +2270,7 @@ msgstr "Connetti solo alla rete ed2k."
|
|
|
|
#: src/TextClient.cpp:601
|
|
msgid "Connect to Kad only."
|
|
-msgstr "Connetti solo alla rete Kad."
|
|
+msgstr "Connetti solo alla rete KAdu."
|
|
|
|
#: src/TextClient.cpp:603
|
|
msgid "Disconnect from the network."
|
|
@@ -2286,7 +2286,7 @@ msgstr "Disconnetti solo dalla rete ed2k
|
|
|
|
#: src/TextClient.cpp:606
|
|
msgid "Disconnect from Kad only."
|
|
-msgstr "Disconnetti solo dalla rete Kad."
|
|
+msgstr "Disconnetti solo dalla rete KAdu."
|
|
|
|
#: src/TextClient.cpp:608
|
|
msgid "Adds an ed2k link to core."
|
|
@@ -2867,15 +2867,15 @@ msgstr "Disconnesso dalla rete ed2k"
|
|
|
|
#: src/amule.cpp:1901
|
|
msgid "Connected to Kad (ok)"
|
|
-msgstr "Connesso alla rete Kad (ok)"
|
|
+msgstr "Connesso alla rete KAdu (ok)"
|
|
|
|
#: src/amule.cpp:1903
|
|
msgid "Connected to Kad (firewalled)"
|
|
-msgstr "Connesso alla rete Kad (firewalled)"
|
|
+msgstr "Connesso alla rete KAdu (firewalled)"
|
|
|
|
#: src/amule.cpp:1906
|
|
msgid "Disconnected from Kad"
|
|
-msgstr "Disconnesso dalla rete Kad"
|
|
+msgstr "Disconnesso dalla rete KAdu"
|
|
|
|
#: src/AICHSyncThread.cpp:102
|
|
msgid "AICH Thread: Signaling for thread to terminate."
|
|
@@ -3004,7 +3004,7 @@ msgstr "Connetti"
|
|
|
|
#: src/amuleDlg.cpp:793 src/muuli_wdr.cpp:4088
|
|
msgid "Connect to any server and/or Kad"
|
|
-msgstr "Connetti a qualsiasi server e/o a Kad"
|
|
+msgstr "Connetti a qualsiasi server e/o a KAdu"
|
|
|
|
#: src/amuleDlg.cpp:803
|
|
msgid "WARNING: You have recieved Low-ID!"
|
|
@@ -4121,7 +4121,7 @@ msgstr "Porta UDP avanzata del client:"
|
|
|
|
#: src/muuli_wdr.cpp:1868
|
|
msgid "This UDP port is used for extended Ed2K requests and Kad network"
|
|
-msgstr "Questa porta UDP è usata per richieste ed2k avanzate e per la rete Kad"
|
|
+msgstr "Questa porta UDP è usata per richieste ed2k avanzate e per la rete KAdu"
|
|
|
|
#: src/muuli_wdr.cpp:1871
|
|
msgid "disable"
|
|
@@ -4406,15 +4406,15 @@ msgstr "Barra della velocità nell'icona
|
|
|
|
#: src/muuli_wdr.cpp:2319
|
|
msgid "Kad-nodes current"
|
|
-msgstr "Nodi Kad attuali"
|
|
+msgstr "Nodi KAdu attuali"
|
|
|
|
#: src/muuli_wdr.cpp:2320
|
|
msgid "Kad-nodes running"
|
|
-msgstr "Nodi Kad attivi"
|
|
+msgstr "Nodi KAdu attivi"
|
|
|
|
#: src/muuli_wdr.cpp:2321
|
|
msgid "Kad-nodes session"
|
|
-msgstr "Nodi Kad nella sessione"
|
|
+msgstr "Nodi KAdu nella sessione"
|
|
|
|
#: src/muuli_wdr.cpp:2326 src/muuli_wdr.cpp:2969
|
|
msgid "Select"
|
|
@@ -4804,7 +4804,7 @@ msgstr "Informazioni ed2k"
|
|
|
|
#: src/muuli_wdr.cpp:3189 src/muuli_wdr.cpp:3990
|
|
msgid "Kad Info"
|
|
-msgstr "Informazioni Kad"
|
|
+msgstr "Informazioni KAdu"
|
|
|
|
#: src/muuli_wdr.cpp:3211
|
|
msgid ""
|
|
@@ -4873,7 +4873,7 @@ msgstr "Bootstrap da\n"
|
|
|
|
#: src/muuli_wdr.cpp:3381
|
|
msgid "Disconnect Kad"
|
|
-msgstr "Disconnetti rete Kad"
|
|
+msgstr "Disconnetti rete KAdu"
|
|
|
|
#: src/muuli_wdr.cpp:3434 src/PrefsUnifiedDlg.cpp:171
|
|
msgid "Security"
|
|
@@ -5309,7 +5309,7 @@ msgstr "Overhead server (pacchetti): %s"
|
|
#: src/Statistics.cpp:634 src/Statistics.cpp:653
|
|
#, c-format
|
|
msgid "Kad Overhead (Packets): %s"
|
|
-msgstr "Overhead Kad (pacchetti): %s"
|
|
+msgstr "Overhead KAdu (pacchetti): %s"
|
|
|
|
#: src/Statistics.cpp:636
|
|
#, c-format
|
|
@@ -5626,7 +5626,7 @@ msgstr "Non ha senso usare la ricerca We
|
|
|
|
#: src/ExternalConn.cpp:798
|
|
msgid "Kad is disabled in preferences."
|
|
-msgstr "La rete Kad è disabilitata nelle Preferenze."
|
|
+msgstr "La rete KAdu è disabilitata nelle Preferenze."
|
|
|
|
#: src/ExternalConn.cpp:956
|
|
msgid "No points for graph."
|
|
@@ -5675,11 +5675,11 @@ msgstr "Connessione alla rete ed2k..."
|
|
|
|
#: src/ExternalConn.cpp:1307
|
|
msgid "Already connected to Kad."
|
|
-msgstr "Già connesso alla rete Kad."
|
|
+msgstr "Già connesso alla rete KAdu."
|
|
|
|
#: src/ExternalConn.cpp:1310
|
|
msgid "Connecting to Kad..."
|
|
-msgstr "Connessione alla rete Kad..."
|
|
+msgstr "Connessione alla rete KAdu..."
|
|
|
|
#: src/ExternalConn.cpp:1315
|
|
msgid "All networks are disabled."
|
|
@@ -5691,7 +5691,7 @@ msgstr "Disconnesso dalla rete ed2k."
|
|
|
|
#: src/ExternalConn.cpp:1327
|
|
msgid "Disconnected from Kad."
|
|
-msgstr "Disconnesso dalla rete Kad."
|
|
+msgstr "Disconnesso dalla rete KAdu."
|
|
|
|
#: src/ExternalConn.cpp:1335
|
|
#, c-format
|
|
@@ -5947,7 +5947,7 @@ msgstr "Sospensione upload del file: %s"
|
|
msgid ""
|
|
"Impossible to make Kad search (invalid chars? keywords too short? not "
|
|
"connected?)"
|
|
-msgstr "Impossibile effetturare una ricerca Kad (caratteri non validi? chiave di ricerca troppo corta? mancanza di connessione?)"
|
|
+msgstr "Impossibile effetturare una ricerca KAdu (caratteri non validi? chiave di ricerca troppo corta? mancanza di connessione?)"
|
|
|
|
#: src/SearchDlg.cpp:523
|
|
msgid "You are not connected to a server!"
|
|
@@ -6044,11 +6044,11 @@ msgstr "Troppe connessioni"
|
|
|
|
#: src/DataToText.cpp:72
|
|
msgid "Connecting via Kad"
|
|
-msgstr "Connessione via Kad"
|
|
+msgstr "Connessione via KAdu"
|
|
|
|
#: src/DataToText.cpp:73
|
|
msgid "Too many Kad connections"
|
|
-msgstr "Troppe connessioni Kad"
|
|
+msgstr "Troppe connessioni KAdu"
|
|
|
|
#: src/DataToText.cpp:75
|
|
msgid "Connection Error"
|
|
diff -urdpN ../aMule-2.1.3-orig/src/AdunanzA.cpp ./src/AdunanzA.cpp
|
|
--- ../aMule-2.1.3-orig/src/AdunanzA.cpp 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./src/AdunanzA.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,413 @@
|
|
+#ifdef _DEBUG
|
|
+#include "DebugHelpers.h"
|
|
+#endif
|
|
+#include "amule.h"
|
|
+#include "updownclient.h"
|
|
+#include "Friend.h"
|
|
+#include "ClientList.h"
|
|
+#include "OtherFunctions.h"
|
|
+#include "PartFile.h"
|
|
+#include "ListenSocket.h"
|
|
+#include "Friend.h"
|
|
+#include <zlib.h>
|
|
+#include "Packet.h"
|
|
+#include "OPCodes.h"
|
|
+#include "SafeFile.h"
|
|
+#include "Preferences.h"
|
|
+#include "Statistics.h"
|
|
+#include "ClientCredits.h"
|
|
+#include "IPFilter.h"
|
|
+#include "UploadQueue.h"
|
|
+#include "DownloadQueue.h"
|
|
+#include "SearchList.h"
|
|
+#include "SharedFileList.h"
|
|
+#ifdef __USE_KAD__
|
|
+#include "Kademlia/Kademlia/Kademlia.h"
|
|
+#include "Kademlia/Net/KademliaUDPListener.h"
|
|
+#endif
|
|
+#if !defined(_CONSOLE) && !defined(AMULE_DAEMON)
|
|
+#include "ServerWnd.h"
|
|
+#include "TransferWnd.h"
|
|
+#include "ChatWnd.h"
|
|
+#endif
|
|
+
|
|
+#include <cmath>
|
|
+
|
|
+#include "AdunanzA.h"
|
|
+#include "RemoteSettings.h"
|
|
+
|
|
+// Inclusi per il parsing sul file per Updater
|
|
+#include <stdio.h>
|
|
+#include <stdlib.h>
|
|
+#define thePrefs (*(theApp.glob_prefs))
|
|
+// Funzione molto semplice che ritorna un
|
|
+// valore booleano vero se l'ip passatogli in input
|
|
+// appartiene alla rete FastWeb italiana.
|
|
+/*
|
|
+MAN Milano........................ 1.0.0.0/8
|
|
+MAN Milano hinterland Nord........ 2.0.0.0/8
|
|
+MAN Genova........................ 5.0.0.0/8
|
|
+MAN Veneto........................ 11.0.0.0/8
|
|
+MAN Milano hinterland Sud......... 14.0.0.0/8
|
|
+MAN Ancona........................ 21.0.0.0/8
|
|
+MAN Grosseto...................... 22.0.0.0/8
|
|
+MAN Roma.......................... 23.0.0.0/8
|
|
+MAN Toscana....................... 27.0.0.0/8
|
|
+MAN Triveneto..................... 29.0.0.0/8
|
|
+MAN Bari.......................... 31.0.0.0/8
|
|
+MAN Sicilia....................... 36.0.0.0/8
|
|
+MAN Bologna....................... 37.0.0.0/8
|
|
+MAN Napoli........................ 39.0.0.0/8
|
|
+MAN Torino........................ 41.0.0.0/8
|
|
+MAN Reggio Emilia................. 42.0.0.0/8
|
|
+
|
|
+Routers & OAM..................... 10.0.0.0/8
|
|
+Organization, Administration & Management (ad. es.: Server interni ntp, voip, billing etc. etc.)
|
|
+*/
|
|
+
|
|
+bool AduIsFastWebLANIP(uint32 ip)
|
|
+{
|
|
+ switch (ip & 0xff) {
|
|
+ case MAN_ROMA:
|
|
+ case MAN_MILANO:
|
|
+ case MAN_MILANO_H_NORD:
|
|
+ case MAN_MILANO_H_SUD:
|
|
+ case MAN_GENOVA:
|
|
+ case MAN_TRIVENETO:
|
|
+ case MAN_BARI:
|
|
+ case MAN_BOLOGNA:
|
|
+ case MAN_NAPOLI:
|
|
+ case MAN_TORINO:
|
|
+ case MAN_REGGIO_EMILIA:
|
|
+ case MAN_TOSCANA:
|
|
+ case MAN_VENETO:
|
|
+ case MAN_GROSSETO:
|
|
+ case MAN_SICILIA:
|
|
+ case MAN_ANCONA:
|
|
+ case FASTWEB_ROUTERS:
|
|
+ return true;
|
|
+ default:
|
|
+ return false;
|
|
+ }
|
|
+}
|
|
+
|
|
+void CUpDownClient::SetClientFWCity(void)
|
|
+{
|
|
+ switch (m_dwUserIP & 0x000000ff) {
|
|
+ case MAN_ROMA:
|
|
+ m_FWCity = wxT("RM");
|
|
+ break;
|
|
+ case MAN_MILANO:
|
|
+ m_FWCity = wxT("MI");
|
|
+ break;
|
|
+ case MAN_MILANO_H_NORD:
|
|
+ m_FWCity = wxT("MI H. Nord");
|
|
+ break;
|
|
+ case MAN_MILANO_H_SUD:
|
|
+ m_FWCity = wxT("MI H. Sud");
|
|
+ break;
|
|
+ case MAN_GENOVA:
|
|
+ m_FWCity = wxT("GE");
|
|
+ break;
|
|
+ case MAN_TRIVENETO:
|
|
+ m_FWCity = wxT("Triveneto");
|
|
+ break;
|
|
+ case MAN_BARI:
|
|
+ m_FWCity = wxT("BA");
|
|
+ break;
|
|
+ case MAN_BOLOGNA:
|
|
+ m_FWCity = wxT("BO");
|
|
+ break;
|
|
+ case MAN_NAPOLI:
|
|
+ m_FWCity = wxT("NA");
|
|
+ break;
|
|
+ case MAN_TORINO:
|
|
+ m_FWCity = wxT("TO");
|
|
+ break;
|
|
+ case MAN_REGGIO_EMILIA:
|
|
+ m_FWCity = wxT("RE");
|
|
+ break;
|
|
+ case MAN_TOSCANA:
|
|
+ m_FWCity = wxT("Toscana");
|
|
+ break;
|
|
+ case MAN_VENETO:
|
|
+ m_FWCity = wxT("Veneto");
|
|
+ break;
|
|
+ case MAN_GROSSETO:
|
|
+ m_FWCity = wxT("GR");
|
|
+ break;
|
|
+ case MAN_SICILIA:
|
|
+ m_FWCity = wxT("Sicilia");
|
|
+ break;
|
|
+ case MAN_ANCONA:
|
|
+ m_FWCity = wxT("AN");
|
|
+ break;
|
|
+ case FASTWEB_ROUTERS:
|
|
+ m_FWCity = wxT("OAM");
|
|
+ break;
|
|
+ default:
|
|
+ m_FWCity = wxT("");
|
|
+ break;
|
|
+ }
|
|
+}
|
|
+
|
|
+
|
|
+
|
|
+bool CUpDownClient::IsAduFiber() const
|
|
+{
|
|
+ return AduIsFiber(m_dwUserIP);
|
|
+}
|
|
+
|
|
+bool AduIsFiber (uint32 ip) {
|
|
+ bool is128 = (((ip >> 15) & 1) == (uint32)0);
|
|
+
|
|
+ return AduIsFastWebLANIP(ip) & is128;
|
|
+}
|
|
+
|
|
+bool AduIsFastWebIP(uint32 ip)
|
|
+{
|
|
+ if (AduIsFastWebLANIP(ip))
|
|
+ return true;
|
|
+
|
|
+ // match rapido: (ip & mask) == netid
|
|
+
|
|
+ // netid 213.140.0.0/19 - netid (hex) 0x00008cd5 / mask 0x00e0ffff
|
|
+ if ((ip & 0x00e0ffff) == 0x00008cd5 ||
|
|
+ // netid 213.156.32.0/19 - netid (hex) 0x00209cd5 / mask 0x00e0ffff
|
|
+ (ip & 0x00e0ffff) == 0x00209cd5 ||
|
|
+ // netid 62.101.64.0/18 - netid (hex) 0x0040653e / mask 0x00c0ffff
|
|
+ (ip & 0x00c0ffff) == 0x0040653e ||
|
|
+ // netid 81.208.0.0/17 - netid (hex) 0x0000d051 / mask 0x0080ffff
|
|
+ (ip & 0x0080ffff) == 0x0000d051 ||
|
|
+ // netid 83.103.0.0/17 - netid (hex) 0x00006753 / mask 0x0080ffff
|
|
+ (ip & 0x0080ffff) == 0x00006753 ||
|
|
+ // netid 85.18.0.0/16 - netid (hex) 0x00001255 / mask 0x0000ffff
|
|
+ (ip & 0x0000ffff) == 0x00001255 ||
|
|
+ // netid 89.96.0.0/15 - netid (hex) 0x00006059 / mask 0x0000f7ff
|
|
+ (ip & 0x0000f7ff) == 0x00006059) return true;
|
|
+
|
|
+
|
|
+ return false;
|
|
+}
|
|
+
|
|
+#include "Logger.h"
|
|
+#include <common/Format.h>
|
|
+#include "NetworkFunctions.h"
|
|
+
|
|
+bool AduIsValidKaduAddress( uint32 host )
|
|
+{
|
|
+ host = wxUINT32_SWAP_ALWAYS( host );
|
|
+ //AddDebugLogLineM(false, logClientKadUDP, CFormat(wxT("Checking %s for kADU validity")) % Uint32toStringIP(host));
|
|
+
|
|
+ // TODO: Add Banlist support here
|
|
+
|
|
+ return AduIsFastWebIP( host );
|
|
+}
|
|
+
|
|
+// Metodo dell'oggetto CUpDownClient
|
|
+// Vedere il file
|
|
+// Questo metodo ritorna
|
|
+// ADUNANZA_ICON_NONE Se il client non e' adunanza
|
|
+// ADUNANZA_ICON_FW Se il client non e' adunanza ma e' sulla rete FastWeb Italia
|
|
+// ADUNANZA_ICON_ADU Se il client e' AdunanzA ed e' sulla rete FastWeb Italia
|
|
+uint32 CUpDownClient::GetClientAduType(void) const
|
|
+{
|
|
+ if (AduIsFastWebIP(m_dwUserIP))
|
|
+ {
|
|
+ if (GetIsAduSoftware())
|
|
+ return ADUNANZA_ICON_ADU;
|
|
+ else
|
|
+ return ADUNANZA_ICON_FW;
|
|
+ }
|
|
+ return ADUNANZA_ICON_NONE;
|
|
+}
|
|
+
|
|
+bool CUpDownClient::IsAduClient() const
|
|
+{
|
|
+ return GetClientAduType() == ADUNANZA_ICON_ADU;
|
|
+}
|
|
+
|
|
+float calcolaStima(float avail, uint32& firstPublish, uint32 publishInterval, uint32 pubkRTK, bool sameIP, uint32 now) {
|
|
+ int kRTK = theApp.rm->kadRepublishTimeK;
|
|
+
|
|
+ // Using this increment style, we can guess also if clients use different publish rates.
|
|
+ float inc = (float)pubkRTK / kRTK;
|
|
+
|
|
+ // Only old clients, with republishtimek == 24hrs don't publish their republishtimek.
|
|
+ if (inc == 0.f)
|
|
+ inc = HR2S(24) / kRTK;
|
|
+
|
|
+ if (publishInterval > kRTK)
|
|
+ avail=0.f,firstPublish=now;
|
|
+
|
|
+ while ((now-firstPublish) > kRTK && avail > 2.f)
|
|
+ avail--,firstPublish+=(uint32)(kRTK/avail);
|
|
+
|
|
+ // Some client seem to send duplicate publish to already contacted clients.
|
|
+ // In 90% of the times we avoid this here.
|
|
+ if (!sameIP)
|
|
+ avail+=inc;
|
|
+
|
|
+ return avail;
|
|
+}
|
|
+
|
|
+float normalizzaStima( float avail, uint32 from, uint32 to ) {
|
|
+ // Parte necessaria per il debug
|
|
+ // calcolo il coefficiente di normalizzazione
|
|
+ int kRTK = theApp.rm->kadRepublishTimeK;
|
|
+
|
|
+ float norm_factor = 1.f;
|
|
+
|
|
+ if (avail > theApp.rm->kadFreshGuess_NoNorm) {
|
|
+ norm_factor = (to - from)/kRTK;
|
|
+
|
|
+ if ( norm_factor > 1-1/avail )
|
|
+ norm_factor = 1.f;
|
|
+
|
|
+ norm_factor = ( norm_factor < theApp.rm->kadFreshGuess_Tol ? theApp.rm->kadFreshGuess_Tol : norm_factor );
|
|
+
|
|
+ // We have a good number of publishes, but not high.
|
|
+ // Low normalization is still suggested.
|
|
+ if ( avail < theApp.rm->kadFreshGuess_LowNorm && norm_factor > avail / theApp.rm->kadFreshGuess_LowNorm )
|
|
+ norm_factor /= powf( avail/theApp.rm->kadFreshGuess_LowNorm, 0.5f );
|
|
+ }
|
|
+
|
|
+ if ( avail > 2.f )
|
|
+ avail /= powf( norm_factor, theApp.rm->kadFreshGuess_Weight );
|
|
+
|
|
+ return avail;
|
|
+}
|
|
+
|
|
+#include "Statistics.h"
|
|
+
|
|
+
|
|
+// Decido come selezionare un client in base alla
|
|
+// banda realmente data in upload
|
|
+uint32 AduGetTypeBand()
|
|
+{
|
|
+ uint64 sessionSentBytes = theApp.statistics->GetSessionSentBytes();
|
|
+ uint64 sessionRecvBytes = theApp.statistics->GetSessionReceivedBytes();
|
|
+
|
|
+ uint64 aduSessionSentBytes = theApp.statistics->GetAduSessionSentBytes();
|
|
+ uint64 aduSessionRecvBytes = theApp.statistics->GetAduSessionReceivedBytes();
|
|
+
|
|
+ uint64 sentToExternal = sessionSentBytes - aduSessionSentBytes;
|
|
+ uint64 recvFromExternal = sessionRecvBytes - aduSessionRecvBytes;
|
|
+
|
|
+ if ( sentToExternal < recvFromExternal )
|
|
+ return ADUNANZA_EXTERN;
|
|
+ else
|
|
+ return ADUNANZA_FASTWEB;
|
|
+}
|
|
+
|
|
+// lista di servers solo interna
|
|
+typedef struct _servIP_Port
|
|
+{
|
|
+ uint32 ip;
|
|
+ uint16 port;
|
|
+} servIP_Port, *LPservIP_Port;
|
|
+
|
|
+static LPservIP_Port _aduServers = NULL;
|
|
+static int _aduServersNum = 0;
|
|
+
|
|
+
|
|
+// Ci dice se connesso ad un server adunanza o meno
|
|
+bool IsAduServer(uint32 CurServer) {
|
|
+
|
|
+ if (_aduServers && _aduServersNum)
|
|
+ {
|
|
+ for(int i = 0; i < _aduServersNum; i++)
|
|
+ {
|
|
+ if (CurServer == _aduServers[i].ip) return true;
|
|
+ }
|
|
+ }
|
|
+ return false;
|
|
+}
|
|
+
|
|
+#ifndef CLIENT_GUI
|
|
+int AduQ(void) {
|
|
+ return theApp.uploadqueue->GetAdunanzAUserCount();
|
|
+}
|
|
+
|
|
+bool AduDebt(void) {
|
|
+ uint64 sentToExternal = theApp.statistics->GetSessionSentBytes() - theApp.statistics->GetAduSessionSentBytes();
|
|
+ uint64 recvFromExternal = theApp.statistics->GetSessionReceivedBytes() - theApp.statistics->GetAduSessionReceivedBytes();
|
|
+
|
|
+ if ( sentToExternal < recvFromExternal )
|
|
+ return true;
|
|
+ else
|
|
+ return false;
|
|
+}
|
|
+int SetSlots(void) {
|
|
+ float maxUp = (float)thePrefs.GetMaxUpload();
|
|
+ float kBpsUpPerClient = (float)thePrefs.GetSlotAllocation();
|
|
+ float kBpsUp = (float)theStats::GetUploadRate() / 1024.0f;
|
|
+ int slots;
|
|
+
|
|
+
|
|
+ if (thePrefs.GetMaxUpload() == UNLIMITED)
|
|
+ slots = (int)( kBpsUp / kBpsUpPerClient + 2 );
|
|
+ else
|
|
+ slots = (int)floor( maxUp / kBpsUpPerClient + 0.5f );
|
|
+
|
|
+ return std::max(MIN_UP_CLIENTS_ALLOWED,slots);
|
|
+}
|
|
+
|
|
+int TotSlots(void) {
|
|
+ if (AduDebt())
|
|
+ return (int)(SetSlots() * 1.5f);
|
|
+ else
|
|
+ return SetSlots();
|
|
+}
|
|
+
|
|
+int ExtSlots(void) {
|
|
+ if (AduDebt())
|
|
+ return (int)(TotSlots() * 0.5f);
|
|
+ else
|
|
+ return TotSlots();
|
|
+}
|
|
+
|
|
+uint32 AduNextClient(int fix) {
|
|
+ int totslots = TotSlots(), totcount = theApp.uploadqueue->GetUploadCount() - fix;
|
|
+
|
|
+ if (totcount < totslots) {
|
|
+ if (!AduQ())
|
|
+ return ADUNANZA_ANY;
|
|
+
|
|
+ int aducount = theApp.uploadqueue->GetAduUploadCount();
|
|
+ int extcount = totcount - aducount;
|
|
+
|
|
+ if (AduDebt()) {
|
|
+ int extslots = ExtSlots() - fix;
|
|
+ int aduslots = totslots - extslots;
|
|
+
|
|
+ if (extslots > extcount && aduslots > aducount)
|
|
+ return ADUNANZA_ANY;
|
|
+ else if (extslots > extcount)
|
|
+ return ADUNANZA_EXTERN;
|
|
+ else if (aduslots > aducount)
|
|
+ return ADUNANZA_FASTWEB;
|
|
+ else
|
|
+ return ADUNANZA_NONE; // non dovrebbe poter succedere
|
|
+
|
|
+ } else {
|
|
+ return ADUNANZA_FASTWEB;
|
|
+ }
|
|
+ } else
|
|
+ return ADUNANZA_NONE;
|
|
+}
|
|
+
|
|
+uint32 AduGetMaxUploadSlots(void)
|
|
+{
|
|
+ return TotSlots();
|
|
+}
|
|
+
|
|
+bool AduMaxTrans(void) {
|
|
+ uint32 now = (uint32)time(NULL);
|
|
+ if (AduQ() && AduNextClient(1) == ADUNANZA_FASTWEB && now > theApp.uploadqueue->lastmax + 45 ) {
|
|
+ theApp.uploadqueue->lastmax = now;
|
|
+ return true;
|
|
+ } else
|
|
+ return false;
|
|
+}
|
|
+#endif
|
|
diff -urdpN ../aMule-2.1.3-orig/src/AdunanzA.h ./src/AdunanzA.h
|
|
--- ../aMule-2.1.3-orig/src/AdunanzA.h 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./src/AdunanzA.h 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -0,0 +1,136 @@
|
|
+#ifndef _ADUNANZA_H_
|
|
+#define _ADUNANZA_H_
|
|
+
|
|
+#define V(M, m) _T(#M) _T(".") _T(#m)
|
|
+#define _V(M, m) V(M,m)
|
|
+
|
|
+#define B(n, l) _T(#n) _T(l)
|
|
+#define _B(n, l) B(n, l)
|
|
+
|
|
+#define ADU_VER_MAJ 3
|
|
+#define ADU_VER_MIN 11
|
|
+
|
|
+#define ADU_VER_RL _V(ADU_VER_MAJ, ADU_VER_MIN)
|
|
+
|
|
+#define ADU_BETA_MAJ 0
|
|
+#define ADU_BETA_MIN ""
|
|
+
|
|
+#if ADU_BETA_MAJ > 0
|
|
+ #define ADU_VER ADU_VER_RL _T("b") _B(ADU_BETA_MAJ, ADU_BETA_MIN)
|
|
+#else
|
|
+ #define ADU_VER ADU_VER_RL _T("b")
|
|
+#endif
|
|
+
|
|
+#define ADU_MOD_NAME _T("AdunanzA")
|
|
+#define ADU_MOD ADU_MOD_NAME _T(" ") ADU_VER
|
|
+
|
|
+#include "OPCodes.h"
|
|
+
|
|
+#ifdef HAVE_CONFIG_H
|
|
+ #include "config.h" // VERSION
|
|
+#endif
|
|
+
|
|
+#ifdef __CVS__
|
|
+ #define MOD_VERSION_LONG ADU_MOD wxT(" - aMule CVS")
|
|
+#else
|
|
+ #define MOD_VERSION_LONG ADU_MOD wxT(" - aMule ") wxT(VERSION)
|
|
+#endif
|
|
+
|
|
+// Parametri e definzioni esportate dal file AdunanzA.cpp
|
|
+#define ADUNANZA_ANY 0
|
|
+#define ADUNANZA_EXTERN 1
|
|
+#define ADUNANZA_FASTWEB 2
|
|
+#define ADUNANZA_NONE 0xff
|
|
+
|
|
+// Definizioni per icone e per riconoscimento client
|
|
+#define ADUNANZA_ICON_NONE 0
|
|
+#define ADUNANZA_ICON_FW 1
|
|
+#define ADUNANZA_ICON_ADU 2
|
|
+
|
|
+// Percentuale minima per assegnare uno slot ad un Adu
|
|
+//#define ADUNANZA_MIN_ADU 5
|
|
+// Definizione default del numero di slots
|
|
+#define ADUNANZA_DEF_UPSL 8
|
|
+// Definizione default banda Adu
|
|
+//#define ADUNANZA_BAND_PERC 85
|
|
+// Definizione connessione automatica
|
|
+#define ADUNANZA_AUTO_CONN 1
|
|
+// Definizione forzature upload/dl ext 1:1 - Disabilitato di default
|
|
+#define ADUNANZA_AUTO_EXT11 1
|
|
+
|
|
+#define ADU_VER_CODE(M,m,o) (((M) << 12) + ((m) << 7) + (o))
|
|
+#define ADU_GET_MAJ(v) ((v) >> 12)
|
|
+#define ADU_GET_MIN(v) (((v) >> 7) & 0x1f)
|
|
+#define ADU_GET_B(v) ((v) & 0x7f)
|
|
+
|
|
+// ADU URLS
|
|
+#define ADURM_URL "http://update.adunanza.net/3-10/adu_remote.conf"
|
|
+//#define ADU_SRV_URL "http://ocbmaurice.dyns.net/pl/slist.pl?download/server-best.met"
|
|
+#define ADU_SRV_URL "http://corpo.free.fr/server.met"
|
|
+#define ADU_NODES_DAT "http://update.adunanza.net/adu_nodes.dat"
|
|
+
|
|
+/*
|
|
+MAN Milano........................ 1.0.0.0/8
|
|
+MAN Milano hinterland Nord........ 2.0.0.0/8
|
|
+MAN Genova........................ 5.0.0.0/8
|
|
+MAN Veneto........................ 11.0.0.0/8
|
|
+MAN Milano hinterland Sud......... 14.0.0.0/8
|
|
+MAN Ancona........................ 21.0.0.0/8
|
|
+MAN Grosseto...................... 22.0.0.0/8
|
|
+MAN Roma.......................... 23.0.0.0/8
|
|
+MAN Toscana....................... 27.0.0.0/8
|
|
+MAN Triveneto..................... 29.0.0.0/8
|
|
+MAN Bari.......................... 31.0.0.0/8
|
|
+MAN Sicilia....................... 36.0.0.0/8
|
|
+MAN Bologna....................... 37.0.0.0/8
|
|
+MAN Napoli........................ 39.0.0.0/8
|
|
+MAN Torino........................ 41.0.0.0/8
|
|
+MAN Reggio Emilia................. 42.0.0.0/8
|
|
+
|
|
+Routers & OAM..................... 10.0.0.0/8
|
|
+Organization, Administration & Management (ad. es.: Server interni ntp, voip, billing etc. etc.)
|
|
+*/
|
|
+
|
|
+// Definizione zone italia FW
|
|
+#define MAN_MILANO 1
|
|
+#define MAN_MILANO_H_NORD 2
|
|
+#define MAN_GENOVA 5
|
|
+#define FASTWEB_ROUTERS 10
|
|
+#define MAN_VENETO 11
|
|
+#define MAN_MILANO_H_SUD 14
|
|
+#define MAN_ANCONA 21
|
|
+#define MAN_GROSSETO 22
|
|
+#define MAN_ROMA 23
|
|
+#define MAN_TOSCANA 27
|
|
+#define MAN_TRIVENETO 29
|
|
+#define MAN_BARI 31
|
|
+#define MAN_SICILIA 36
|
|
+#define MAN_BOLOGNA 37
|
|
+#define MAN_NAPOLI 39
|
|
+#define MAN_TORINO 41
|
|
+#define MAN_REGGIO_EMILIA 42
|
|
+
|
|
+// Funzioni esportate
|
|
+extern bool AduIsFastWebIP(uint32 ip);
|
|
+extern bool AduIsFastWebLANIP(uint32 ip);
|
|
+extern bool AduIsFiber(uint32 ip);
|
|
+extern uint32 AduGetTypeBand();
|
|
+extern bool IsAduServer(uint32 CurServer);
|
|
+extern uint32 AduGetMaxUploadSlots(void);
|
|
+//extern float AduGetPercBandwidth(void);
|
|
+extern void AduStartConnection(void);
|
|
+extern void* AduGetNextAduServer(int value, int& num);
|
|
+extern void AduUpdate(char *url);
|
|
+// KAdu
|
|
+extern bool AduIsValidKaduAddress( uint32 host );
|
|
+
|
|
+extern float calcolaStima( float avail, uint32& firstPublish, uint32 publishInterval, uint32 pubkRTK, bool sameIP, uint32 now );
|
|
+extern float normalizzaStima( float avail, uint32 from, uint32 to );
|
|
+
|
|
+#ifndef CLIENT_GUI
|
|
+uint32 AduNextClient(int fix = 0);
|
|
+bool AduMaxTrans(void);
|
|
+#endif
|
|
+
|
|
+#endif
|
|
+
|
|
diff -urdpN ../aMule-2.1.3-orig/src/amule.cpp ./src/amule.cpp
|
|
--- ../aMule-2.1.3-orig/src/amule.cpp 2006-04-21 05:13:51.000000000 +0200
|
|
+++ ./src/amule.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -91,6 +91,7 @@
|
|
#include "kademlia/kademlia/Kademlia.h"
|
|
#include "kademlia/kademlia/Prefs.h"
|
|
#include "Timer.h"
|
|
+#include "RemoteSettings.h"
|
|
|
|
#ifndef AMULE_DAEMON
|
|
#ifdef __WXMAC__
|
|
@@ -212,6 +213,8 @@ int CamuleApp::OnExit()
|
|
printf("Now, exiting main app...\n");
|
|
}
|
|
|
|
+ delete rm;
|
|
+
|
|
// From wxWidgets docs, wxConfigBase:
|
|
// ...
|
|
// Note that you must delete this object (usually in wxApp::OnExit)
|
|
@@ -221,7 +224,7 @@ int CamuleApp::OnExit()
|
|
// above: you may forget about calling Set(). When Get() is called and
|
|
// there is no current object, it will create one using Create() function.
|
|
// To disable this behaviour DontCreateOnDemand() is provided.
|
|
- delete wxConfigBase::Set((wxConfigBase *)NULL);
|
|
+ delete acfg;
|
|
|
|
// Save credits
|
|
clientcredits->SaveList();
|
|
@@ -387,8 +390,9 @@ std::pair<bool, wxString> CheckMuleDirec
|
|
//
|
|
const wxString CamuleApp::FullMuleVersion = GetFullMuleVersion();
|
|
const wxString CamuleApp::OSDescription = wxGetOsDescription();
|
|
-char *CamuleApp::strFullMuleVersion = new char[GetFullMuleVersion().Length()+1];
|
|
-char *CamuleApp::strOSDescription = new char[wxGetOsDescription().Length()+1];
|
|
+
|
|
+char *CamuleApp::strFullMuleVersion = new char[256];
|
|
+char *CamuleApp::strOSDescription = new char[256];
|
|
|
|
bool CamuleApp::OnInit()
|
|
{
|
|
@@ -426,6 +430,7 @@ bool CamuleApp::OnInit()
|
|
OSType = wxT("Unknown");
|
|
}
|
|
|
|
+
|
|
// Parse cmdline arguments.
|
|
wxCmdLineParser cmdline(AMULE_APP_BASE::argc, AMULE_APP_BASE::argv);
|
|
|
|
@@ -559,11 +564,13 @@ bool CamuleApp::OnInit()
|
|
}
|
|
}
|
|
|
|
+ rm = new CRemoteSettings();
|
|
+
|
|
// This creates the CFG file we shall use
|
|
- wxConfigBase* cfg = new wxFileConfig( wxEmptyString, wxEmptyString, ConfigDir + wxT("amule.conf") );
|
|
+ acfg = new wxFileConfig( wxEmptyString, wxEmptyString, ConfigDir + wxT("amule.conf") );
|
|
|
|
// Set the config object as the global cfg file
|
|
- wxConfig::Set( cfg );
|
|
+ //wxConfig::Set( acfg );
|
|
|
|
// Make a backup of the log file
|
|
wxString logfileName(ConfigDir + wxT("logfile"));
|
|
@@ -585,7 +592,7 @@ bool CamuleApp::OnInit()
|
|
|
|
// Load Preferences
|
|
CPreferences::BuildItemList(ConfigDir);
|
|
- CPreferences::LoadAllItems( wxConfigBase::Get() );
|
|
+ CPreferences::LoadAllItems( acfg );
|
|
glob_prefs = new CPreferences();
|
|
|
|
std::pair<bool, wxString> checkResult;
|
|
@@ -617,8 +624,9 @@ bool CamuleApp::OnInit()
|
|
|
|
// Display notification on new version or first run
|
|
wxTextFile vfile( ConfigDir + wxT("lastversion") );
|
|
- wxString newMule(wxT(VERSION));
|
|
+ wxString newMule(ADU_VER);
|
|
|
|
+#if 0
|
|
// Test if there's any new version
|
|
if (thePrefs::CheckNewVersion()) {
|
|
// We use the thread base because I don't want a dialog to pop up.
|
|
@@ -628,6 +636,7 @@ bool CamuleApp::OnInit()
|
|
version_check->Create();
|
|
version_check->Run();
|
|
}
|
|
+#endif
|
|
|
|
if ( !wxFileExists( vfile.GetName() ) ) {
|
|
vfile.Create();
|
|
@@ -1203,6 +1212,7 @@ void CamuleApp::Localize_mule()
|
|
// Is called when the user runs a new version of aMule
|
|
void CamuleApp::Trigger_New_version(wxString new_version)
|
|
{
|
|
+#if 0
|
|
wxString info = wxT(" --- ") + CFormat(_("This is the first time you run aMule %s")) % new_version + wxT(" ---\n\n");
|
|
if (new_version == wxT("CVS")) {
|
|
info += _("This version is a testing version, updated daily, and\n");
|
|
@@ -1216,10 +1226,27 @@ void CamuleApp::Trigger_New_version(wxSt
|
|
info += _("at www.aMule.org, or in our IRC channel #aMule at irc.freenode.net.\n");
|
|
info += wxT("\n");
|
|
info += _("Feel free to report any bugs to http://forum.amule.org");
|
|
+#endif
|
|
|
|
- ShowAlert(info, _("Info"), wxCENTRE | wxOK | wxICON_ERROR);
|
|
-}
|
|
+ wxString info = wxT(" --- ") + CFormat(_("Questa è la prima volta che lanci %s")) % ADU_MOD + wxT(" ---\n\n");
|
|
+
|
|
+ info += wxT("Per maggiori informazioni fate riferimento\n");
|
|
+ info += wxT("al nostro sito www.adunanza.net, o al canale\n");
|
|
+ info += wxT("#La_Stalla sul server IRC chat.adunanza.net.\n");
|
|
+
|
|
+ info += wxT("\n");
|
|
+
|
|
+ info += wxT("Riportate pure qualsiasi problema o consiglio\n");
|
|
+ info += wxT("sul nostro forum.\n");
|
|
+
|
|
+ info += wxT("\n");
|
|
+
|
|
+ info += CFormat(wxT("Basato su aMule %s.")) % wxT(VERSION);
|
|
|
|
+ ShowAlert(info, _("Informazioni"), wxCENTRE | wxOK | wxICON_ERROR);
|
|
+
|
|
+ rm->UpdateURL = wxT(ADURM_URL);
|
|
+}
|
|
|
|
void CamuleApp::SetOSFiles(const wxString new_path)
|
|
{
|
|
@@ -1314,6 +1341,8 @@ void CamuleApp::OnCoreTimer(CMuleInterna
|
|
static uint64 msPrev1, msPrev5, msPrevSave, msPrevHist, msPrevOS, msPrevKnownMet;
|
|
uint64 msCur = theStats::GetUptimeMillis();
|
|
|
|
+ static uint64 msAduConf = 0;
|
|
+
|
|
if (!IsRunning()) {
|
|
return;
|
|
}
|
|
@@ -1388,15 +1417,15 @@ void CamuleApp::OnCoreTimer(CMuleInterna
|
|
wxString buffer;
|
|
|
|
// Save total upload/download to preferences
|
|
- wxConfigBase* cfg = wxConfigBase::Get();
|
|
+ //wxConfigBase* cfg = wxConfigBase::Get();
|
|
buffer = CFormat(wxT("%llu")) % (theStats::GetSessionReceivedBytes() + thePrefs::GetTotalDownloaded());
|
|
- cfg->Write(wxT("/Statistics/TotalDownloadedBytes"), buffer);
|
|
+ acfg->Write(wxT("/Statistics/TotalDownloadedBytes"), buffer);
|
|
|
|
buffer = CFormat(wxT("%llu")) % (theStats::GetSessionSentBytes() + thePrefs::GetTotalUploaded());
|
|
- cfg->Write(wxT("/Statistics/TotalUploadedBytes"), buffer);
|
|
+ acfg->Write(wxT("/Statistics/TotalUploadedBytes"), buffer);
|
|
|
|
// Write changes to file
|
|
- cfg->Flush();
|
|
+ acfg->Flush();
|
|
|
|
}
|
|
|
|
@@ -1412,6 +1441,11 @@ void CamuleApp::OnCoreTimer(CMuleInterna
|
|
msPrevKnownMet = msCur;
|
|
}
|
|
|
|
+ if (msCur > msAduConf) {
|
|
+ msAduConf = msCur + MIN2MS(1); //every minute
|
|
+
|
|
+ rm->CheckUpdate();
|
|
+ }
|
|
|
|
// Recomended by lugdunummaster himself - from emule 0.30c
|
|
serverconnect->KeepConnectionAlive();
|
|
@@ -1517,6 +1551,15 @@ void CamuleApp::ShutDown()
|
|
|
|
thePrefs::Add2TotalDownloaded(theStats::GetSessionReceivedBytes());
|
|
thePrefs::Add2TotalUploaded(theStats::GetSessionSentBytes());
|
|
+ // Mod adu
|
|
+ thePrefs::Add2TotalAduUploaded(theStats::GetAduSessionSentBytes());
|
|
+ thePrefs::Add2TotalAduFUploaded(theStats::GetAduFSessionSentBytes());
|
|
+ thePrefs::Add2TotalAduDUploaded(theStats::GetAduDSessionSentBytes());
|
|
+ thePrefs::Add2TotalAduDownloaded(theStats::GetAduSessionReceivedBytes());
|
|
+ thePrefs::Add2TotalAduFDownloaded(theStats::GetAduFSessionReceivedBytes());
|
|
+ thePrefs::Add2TotalAduDDownloaded(theStats::GetAduDSessionReceivedBytes());
|
|
+ thePrefs::Add2TotalExtUploaded(theStats::GetExtSessionSentBytes());
|
|
+ thePrefs::Add2TotalExtDownloaded(theStats::GetExtSessionReceivedBytes());
|
|
|
|
if (glob_prefs) {
|
|
glob_prefs->Save();
|
|
@@ -1694,6 +1737,9 @@ void CamuleApp::OnFinishedHTTPDownload(C
|
|
AddLogLineM(true, _("Failed to download the nodes list."));
|
|
}
|
|
break;
|
|
+ case HTTP_AdunanzaConf:
|
|
+ rm->FileDownloadedCallback(event.GetExtraLong());
|
|
+ break;
|
|
}
|
|
}
|
|
|
|
diff -urdpN ../aMule-2.1.3-orig/src/amuled.cpp ./src/amuled.cpp
|
|
--- ../aMule-2.1.3-orig/src/amuled.cpp 2006-03-18 08:40:11.000000000 +0100
|
|
+++ ./src/amuled.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -486,26 +486,8 @@ int CamuleDaemonApp::InitGui(bool ,wxStr
|
|
return 0;
|
|
}
|
|
printf("amuled: forking to background - see you\n");
|
|
- //
|
|
- // fork to background and detouch from controlling tty
|
|
- // while redirecting stdout to /dev/null
|
|
- //
|
|
- for(int i_fd = 0;i_fd < 3; i_fd++) {
|
|
- close(i_fd);
|
|
- }
|
|
- int fd = open("/dev/null",O_RDWR);
|
|
- dup(fd);
|
|
- dup(fd);
|
|
- int pid = fork();
|
|
-
|
|
- wxASSERT(pid != -1);
|
|
-
|
|
- if ( pid ) {
|
|
- exit(0);
|
|
- } else {
|
|
- setsid();
|
|
- }
|
|
-
|
|
+ int rc = daemon(0,0);
|
|
+ wxASSERT(rc != -1);
|
|
#endif
|
|
return 0;
|
|
}
|
|
diff -urdpN ../aMule-2.1.3-orig/src/amuleDlg.cpp ./src/amuleDlg.cpp
|
|
--- ../aMule-2.1.3-orig/src/amuleDlg.cpp 2006-03-23 12:37:26.000000000 +0100
|
|
+++ ./src/amuleDlg.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -105,6 +105,7 @@ BEGIN_EVENT_TABLE(CamuleDlg, wxFrame)
|
|
EVT_TOOL(ID_BUTTONMESSAGES, CamuleDlg::OnToolBarButton)
|
|
EVT_TOOL(ID_BUTTONSTATISTICS, CamuleDlg::OnToolBarButton)
|
|
EVT_TOOL(ID_ABOUT, CamuleDlg::OnAboutButton)
|
|
+ EVT_TOOL(ID_IRC, CamuleDlg::OnIrcButton)
|
|
|
|
EVT_TOOL(ID_BUTTONNEWPREFERENCES, CamuleDlg::OnPrefButton)
|
|
#ifndef CLIENT_GUI
|
|
@@ -405,30 +406,101 @@ void CamuleDlg::OnToolBarButton(wxComman
|
|
}
|
|
}
|
|
|
|
+#include "wx/process.h"
|
|
+
|
|
+void CamuleDlg::OnIrcButton(wxCommandEvent& WXUNUSED(ev))
|
|
+{
|
|
+
|
|
+ wxString exe = wxT("/usr/bin/xchat");
|
|
+
|
|
+ if (!wxFileExists(exe)) {
|
|
+ wxString err = wxT("ATTENZIONE!\n");
|
|
+
|
|
+ err += wxT("Per utilizzare questa funzione è necessario\n");
|
|
+ err += wxT("che xchat sia installato.\n\n");
|
|
+ err += wxT("Installate xchat e controllate che l'eseguibile sia\n");
|
|
+ err += CFormat(wxT("reperibile in %s\n")) % exe;
|
|
+
|
|
+ theApp.ShowAlert(err, _("Error"), wxCENTRE | wxOK | wxICON_ERROR);
|
|
+ }
|
|
+
|
|
+ wxString cfgdir = CFormat(wxT("%s.xchat2")) % GetConfigDir();
|
|
+
|
|
+ if (!wxDirExists(cfgdir)) {
|
|
+ wxMkdir(cfgdir, 0760);
|
|
+
|
|
+ wxTextFile vfile( cfgdir + wxT("/xchat.conf") );
|
|
+
|
|
+ if (!vfile.Exists())
|
|
+ vfile.Create();
|
|
+
|
|
+ if (vfile.IsOpened() || vfile.Open()) {
|
|
+ vfile.InsertLine( wxT("gui_slist_skip = 1"), 0 );
|
|
+ vfile.InsertLine( wxT("irc_nick1 = Adu3_linux"), 0 );
|
|
+ vfile.InsertLine( wxT("irc_nick2 = Adu3_linux_2"), 0 );
|
|
+ vfile.InsertLine( wxT("irc_nick3 = Adu3_linux_3"), 0 );
|
|
+
|
|
+ vfile.Write();
|
|
+ vfile.Close();
|
|
+ }
|
|
+
|
|
+ }
|
|
+
|
|
+ wxString cmd = CFormat(wxT("%s --url=irc://chat.adunanza.net/La_Stalla --no-plugins --cfgdir=\"%s\"")) % exe % cfgdir;
|
|
+
|
|
+ wxProcess *process = new wxProcess();
|
|
+ long m_pidLast = wxExecute(cmd, wxEXEC_ASYNC, process);
|
|
+ if ( !m_pidLast ) {
|
|
+ AddDebugLogLineM(false, logGeneral, CFormat(wxT("Execution of '%s' failed.")) % cmd);
|
|
+ delete process;
|
|
+ } else
|
|
+ AddDebugLogLineM(false, logGeneral, CFormat(wxT("Process %ld (%s) launched.")) % m_pidLast % cmd );
|
|
+
|
|
+}
|
|
|
|
void CamuleDlg::OnAboutButton(wxCommandEvent& WXUNUSED(ev))
|
|
{
|
|
wxString msg = wxT(" ");
|
|
+ // Stefano Picerno: Aggiungo la label "AdunanzA" nel nome del programma
|
|
#ifdef CLIENT_GUI
|
|
- msg << _("aMule remote control ") << wxT(VERSION);
|
|
+ msg << wxT("aMule ") << ADU_MOD_NAME << wxT(" remote control ") << ADU_VER; // << wxT(" - ") << wxT(VERSION);
|
|
#else
|
|
- msg << wxT("aMule ") << wxT(VERSION);
|
|
+ msg << wxT("aMule ") << ADU_MOD; // << wxT(" - ") << wxT(VERSION);
|
|
#endif
|
|
msg << wxT(" ");
|
|
+ // Fine modifiche
|
|
#ifdef CVSDATE
|
|
msg << _("Snapshot:") << wxT("\n ") << wxT(CVSDATE);
|
|
#endif
|
|
- msg << wxT("\n\n") << _(
|
|
+ msg << wxT("\n\n") << wxT(
|
|
+ " Versione specifica per utenti Fastweb \n\n"
|
|
+ " Website: http://www.adunanza.net \n\n"
|
|
+ " originalmente modificata da: \n"
|
|
+ " http://amuleadu.altervista.org \n\n"
|
|
+ " E' una modifica di aMule " VERSION " (www.amule.org) \n"
|
|
+ " 'All-Platform' p2p client based on eMule \n"
|
|
+ " Copyright (C) 2003-2006 aMule Team \n\n"
|
|
+ " Part of aMule is based on \n"
|
|
+ " Kademlia: Peer-to-peer routing based on the XOR metric.\n"
|
|
+ " Copyright (C) 2002 Petar Maymounkov\n"
|
|
+ " http://kademlia.scs.cs.nyu.edu\n");
|
|
+
|
|
+#if 0
|
|
+ msg << wxT("\n\n") << wxT(
|
|
" 'All-Platform' p2p client based on eMule \n\n"
|
|
" Website: http://www.amule.org \n"
|
|
" Forum: http://forum.amule.org \n"
|
|
" FAQ: http://wiki.amule.org \n\n"
|
|
+ " ") ADU_MOD wxT("\n"
|
|
+ " by http://www.adunanza.net\n"
|
|
+ " originally developed by http://amuleadu.altervista.org\n\n"
|
|
" Contact: admin@amule.org (administrative issues) \n"
|
|
" Copyright (C) 2003-2006 aMule Team \n\n"
|
|
" Part of aMule is based on \n"
|
|
" Kademlia: Peer-to-peer routing based on the XOR metric.\n"
|
|
" Copyright (C) 2002 Petar Maymounkov\n"
|
|
" http://kademlia.scs.cs.nyu.edu\n");
|
|
+#endif
|
|
|
|
if (is_safe_state) {
|
|
wxMessageBox(msg, _("Message"), wxOK | wxICON_INFORMATION, this);
|
|
@@ -867,7 +939,7 @@ void CamuleDlg::OnBnClickedFast(wxComman
|
|
bool CamuleDlg::LoadGUIPrefs(bool override_pos, bool override_size)
|
|
{
|
|
// Create a config base for loading razor preferences
|
|
- wxConfigBase *config = wxConfigBase::Get();
|
|
+ wxConfigBase *config = theApp.acfg;
|
|
// If config haven't been created exit without loading
|
|
if (config == NULL) {
|
|
return false;
|
|
@@ -913,7 +985,7 @@ bool CamuleDlg::SaveGUIPrefs()
|
|
Save client size and position */
|
|
|
|
// Create a config base for saving razor preferences
|
|
- wxConfigBase *config = wxConfigBase::Get();
|
|
+ wxConfigBase *config = theApp.acfg;
|
|
// If config haven't been created exit without saving
|
|
if (config == NULL) {
|
|
return false;
|
|
@@ -1340,6 +1412,21 @@ void CamuleDlg::Apply_Clients_Skin(wxStr
|
|
bitmaps_found[Client_ExcellentRating_Smiley].found = true;
|
|
bitmaps_found[Client_ExcellentRating_Smiley].filename=skinfile[i].AfterLast(wxT('='));
|
|
}
|
|
+ // Client_Adunanza_Flag
|
|
+ if (skinfile[i].StartsWith(wxT("Client_Adunanza_Flag="))) {
|
|
+ bitmaps_found[Client_Adunanza_Flag].found = true;
|
|
+ bitmaps_found[Client_Adunanza_Flag].filename=skinfile[i].AfterLast(wxT('='));
|
|
+ }
|
|
+ // Client_Fastweb_Flag
|
|
+ if (skinfile[i].StartsWith(wxT("Client_Fastweb_Flag="))) {
|
|
+ bitmaps_found[Client_Fastweb_Flag].found = true;
|
|
+ bitmaps_found[Client_Fastweb_Flag].filename=skinfile[i].AfterLast(wxT('='));
|
|
+ }
|
|
+ // Client_Fiber_Flag
|
|
+ if (skinfile[i].StartsWith(wxT("Client_Fiber_Flag="))) {
|
|
+ bitmaps_found[Client_Fiber_Flag].found = true;
|
|
+ bitmaps_found[Client_Fiber_Flag].filename=skinfile[i].AfterLast(wxT('='));
|
|
+ }
|
|
}
|
|
}
|
|
|
|
diff -urdpN ../aMule-2.1.3-orig/src/amuleDlg.h ./src/amuleDlg.h
|
|
--- ../aMule-2.1.3-orig/src/amuleDlg.h 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/amuleDlg.h 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -89,6 +89,9 @@ enum ClientSkinEnum {
|
|
Client_ExcellentRating_Smiley,
|
|
Client_CommentOnly_Smiley,
|
|
// Add items here.
|
|
+ Client_Adunanza_Flag,
|
|
+ Client_Fastweb_Flag,
|
|
+ Client_Fiber_Flag,
|
|
CLIENT_SKIN_UNUSED
|
|
};
|
|
|
|
@@ -182,6 +185,7 @@ protected:
|
|
|
|
void OnToolBarButton(wxCommandEvent& ev);
|
|
void OnAboutButton(wxCommandEvent& ev);
|
|
+ void OnIrcButton(wxCommandEvent& ev);
|
|
void OnPrefButton(wxCommandEvent& ev);
|
|
#ifndef CLIENT_GUI
|
|
void OnImportButton(wxCommandEvent& ev);
|
|
diff -urdpN ../aMule-2.1.3-orig/src/amule-gui.cpp ./src/amule-gui.cpp
|
|
--- ../aMule-2.1.3-orig/src/amule-gui.cpp 2006-02-03 20:14:05.000000000 +0100
|
|
+++ ./src/amule-gui.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -234,15 +234,15 @@ int CamuleGuiBase::InitGui(bool geometry
|
|
// Should default/last-used position be overridden?
|
|
#ifdef CVSDATE
|
|
#ifdef CLIENT_GUI
|
|
- m_FrameTitle = wxString::Format(wxT("aMule remote control %s %s"), wxT(VERSION), wxT(CVSDATE));
|
|
+ m_FrameTitle = wxString::Format(wxT("aMule ") ADU_MOD); //wxT(" remote control %s %s"), wxT(VERSION), wxT(CVSDATE));
|
|
#else
|
|
- m_FrameTitle = wxString::Format(wxT("aMule %s %s"), wxT(VERSION), wxT(CVSDATE));
|
|
+ m_FrameTitle = wxString::Format(wxT("aMule ") ADU_MOD); // wxT(" - %s %s"), wxT(VERSION), wxT(CVSDATE));
|
|
#endif
|
|
#else
|
|
#ifdef CLIENT_GUI
|
|
- m_FrameTitle = wxString::Format(wxT("aMule remote control %s"), wxT(VERSION));
|
|
+ m_FrameTitle = wxString::Format(wxT("aMule ") ADU_MOD); //wxT(" remote control %s"), wxT(VERSION));
|
|
#else
|
|
- m_FrameTitle = wxString::Format(wxT("aMule %s"), wxT(VERSION));
|
|
+ m_FrameTitle = wxString::Format(wxT("aMule ") ADU_MOD); //wxT(" - %s"), wxT(VERSION));
|
|
#endif
|
|
#endif
|
|
if ( geometry_enabled ) {
|
|
diff -urdpN ../aMule-2.1.3-orig/src/amule.h ./src/amule.h
|
|
--- ../aMule-2.1.3-orig/src/amule.h 2006-06-05 11:41:56.000000000 +0200
|
|
+++ ./src/amule.h 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -72,6 +72,9 @@ class wxSingleInstanceChecker;
|
|
class wxExecuteData;
|
|
class CMuleInternalEvent;
|
|
|
|
+class CRemoteSettings;
|
|
+class wxFileConfig;
|
|
+
|
|
|
|
#define theApp wxGetApp()
|
|
|
|
@@ -179,6 +182,9 @@ public:
|
|
UploadBandwidthThrottler* uploadBandwidthThrottler;
|
|
wxLocale m_locale;
|
|
|
|
+ CRemoteSettings* rm;
|
|
+ wxFileConfig* acfg;
|
|
+
|
|
void ShutDown();
|
|
|
|
wxString GetLog(bool reset = false);
|
|
diff -urdpN ../aMule-2.1.3-orig/src/amule-remote-gui.cpp ./src/amule-remote-gui.cpp
|
|
--- ../aMule-2.1.3-orig/src/amule-remote-gui.cpp 2006-03-24 22:15:56.000000000 +0100
|
|
+++ ./src/amule-remote-gui.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -81,7 +81,8 @@ using std::auto_ptr;
|
|
#include "ServerListCtrl.h"
|
|
#include "ClientCredits.h"
|
|
#include "OtherFunctions.h" // Needed for CastItoIShort
|
|
-
|
|
+#include "InternalEvents.h" // Needed for CMuleInternalEvent
|
|
+#include "RemoteSettings.h"
|
|
|
|
CEConnectDlg::CEConnectDlg() :
|
|
wxDialog(theApp.amuledlg, -1, _("Connect to remote amule"), wxDefaultPosition )
|
|
@@ -89,9 +90,9 @@ CEConnectDlg::CEConnectDlg() :
|
|
CoreConnect(this, TRUE);
|
|
|
|
wxString pref_host, pref_port;
|
|
- wxConfig::Get()->Read(wxT("/EC/Host" ), &pref_host, wxT("localhost"));
|
|
- wxConfig::Get()->Read(wxT("/EC/Port" ), &pref_port, wxT("4712"));
|
|
- wxConfig::Get()->Read(wxT("/EC/Password" ), &pwd_hash);
|
|
+ theApp.acfg->Read(wxT("/EC/Host" ), &pref_host, wxT("localhost"));
|
|
+ theApp.acfg->Read(wxT("/EC/Port" ), &pref_port, wxT("4712"));
|
|
+ theApp.acfg->Read(wxT("/EC/Password" ), &pwd_hash);
|
|
|
|
CastChild(ID_REMOTE_HOST, wxTextCtrl)->SetValue(pref_host);
|
|
CastChild(ID_REMOTE_PORT, wxTextCtrl)->SetValue(pref_port);
|
|
@@ -133,16 +134,28 @@ BEGIN_EVENT_TABLE(CamuleRemoteGuiApp, wx
|
|
|
|
EVT_CUSTOM(wxEVT_EC_CONNECTION, -1, CamuleRemoteGuiApp::OnECConnection)
|
|
EVT_CUSTOM(wxEVT_EC_INIT_DONE, -1, CamuleRemoteGuiApp::OnECInitDone)
|
|
+ EVT_MULE_INTERNAL(wxEVT_CORE_FINISHED_HTTP_DOWNLOAD, -1, CamuleRemoteGuiApp::OnFinishedHTTPDownload)
|
|
|
|
END_EVENT_TABLE()
|
|
|
|
|
|
IMPLEMENT_APP(CamuleRemoteGuiApp)
|
|
|
|
+void CamuleRemoteGuiApp::OnFinishedHTTPDownload(CMuleInternalEvent& event)
|
|
+{
|
|
+ switch (event.GetInt()) {
|
|
+ case HTTP_AdunanzaConf:
|
|
+ rm->FileDownloadedCallback(event.GetExtraLong());
|
|
+ break;
|
|
+ }
|
|
+}
|
|
|
|
int CamuleRemoteGuiApp::OnExit()
|
|
{
|
|
StopTickTimer();
|
|
+
|
|
+ delete rm;
|
|
+ delete acfg;
|
|
|
|
return wxApp::OnExit();
|
|
}
|
|
@@ -210,6 +223,7 @@ bool CamuleRemoteGuiApp::OnInit()
|
|
|
|
amuledlg = NULL;
|
|
|
|
+ printf("amulegui: OnInit - starting timer\n");
|
|
if ( !wxApp::OnInit() ) {
|
|
return false;
|
|
}
|
|
@@ -235,7 +249,10 @@ bool CamuleRemoteGuiApp::OnInit()
|
|
wxMkdir( ConfigDir, CPreferences::GetDirPermissions() );
|
|
}
|
|
|
|
- wxConfig::Set(new wxFileConfig(wxEmptyString, wxEmptyString, ConfigDir + wxT("remote.conf")));
|
|
+ rm = new CRemoteSettings();
|
|
+
|
|
+ theApp.acfg = new wxFileConfig(wxEmptyString, wxEmptyString, ConfigDir + wxT("remote.conf"));
|
|
+
|
|
|
|
glob_prefs = new CPreferencesRem(connect);
|
|
|
|
@@ -294,9 +311,9 @@ void CamuleRemoteGuiApp::OnECInitDone(wx
|
|
void CamuleRemoteGuiApp::Startup() {
|
|
|
|
if ( dialog->SaveUserPass() ) {
|
|
- wxConfig::Get()->Write(wxT("/EC/Host" ), dialog->Host());
|
|
- wxConfig::Get()->Write(wxT("/EC/Port" ), dialog->Port());
|
|
- wxConfig::Get()->Write(wxT("/EC/Password" ), dialog->PassHash());
|
|
+ theApp.acfg->Write(wxT("/EC/Host" ), dialog->Host());
|
|
+ theApp.acfg->Write(wxT("/EC/Port" ), dialog->Port());
|
|
+ theApp.acfg->Write(wxT("/EC/Password" ), dialog->PassHash());
|
|
}
|
|
dialog->Destroy();
|
|
|
|
@@ -530,7 +547,7 @@ CPreferencesRem::CPreferencesRem(CRemote
|
|
m_conn = conn;
|
|
|
|
CPreferences::BuildItemList( theApp.ConfigDir);
|
|
- CPreferences::LoadAllItems( wxConfigBase::Get() );
|
|
+ CPreferences::LoadAllItems( theApp.acfg );
|
|
|
|
//
|
|
// Settings queried from remote side
|
|
@@ -1157,6 +1174,15 @@ void CDownQueueRem::DeleteItem(CPartFile
|
|
{
|
|
auto_ptr<CPartFile> file(in_file);
|
|
|
|
+#if 0
|
|
+ printf("&theApp: %08x\n", &theApp);
|
|
+ printf("theApp.amuledlg: %08x\n", theApp.amuledlg);
|
|
+ printf("theApp.amuledlg->transferwnd: %08x\n", theApp.amuledlg->transferwnd);
|
|
+ printf("theApp.amuledlg->transferwnd->downloadlistctrl: %08x\n", theApp.amuledlg->transferwnd->downloadlistctrl);
|
|
+ printf("file.get(): %08x\n", &theApp);
|
|
+ printf("&theApp: %08x\n", &theApp);
|
|
+#endif
|
|
+
|
|
theApp.amuledlg->transferwnd->downloadlistctrl->RemoveFile(file.get());
|
|
|
|
m_enc_map.erase(file->GetFileHash());
|
|
@@ -1182,6 +1208,7 @@ void CDownQueueRem::ProcessItemUpdate(CE
|
|
tag->SetSourceXferCount(file->transferingsrc);
|
|
tag->SetSourceNotCurrCount(file->m_notCurrentSources);
|
|
tag->SetSourceCount(file->m_source_count);
|
|
+ tag->SetAduSourceCount(file->m_adu_source_count);
|
|
tag->SetSourceCountA4AF(file->m_a4af_source_count);
|
|
tag->SetFileStatus(file->status);
|
|
|
|
@@ -1202,6 +1229,7 @@ void CDownQueueRem::ProcessItemUpdate(CE
|
|
file->transferingsrc = tag->SourceXferCount();
|
|
file->m_notCurrentSources = tag->SourceNotCurrCount();
|
|
file->m_source_count = tag->SourceCount();
|
|
+ file->m_adu_source_count = tag->AduSourceCount();
|
|
file->m_a4af_source_count = tag->SourceCountA4AF();
|
|
file->status = tag->FileStatus();
|
|
|
|
diff -urdpN ../aMule-2.1.3-orig/src/amule-remote-gui.h ./src/amule-remote-gui.h
|
|
--- ../aMule-2.1.3-orig/src/amule-remote-gui.h 2006-06-05 11:41:56.000000000 +0200
|
|
+++ ./src/amule-remote-gui.h 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -713,6 +713,10 @@ public:
|
|
|
|
CStatistics *statistics;
|
|
|
|
+ wxFileConfig* acfg;
|
|
+ CRemoteSettings* rm;
|
|
+ void OnFinishedHTTPDownload(CMuleInternalEvent& evt);
|
|
+
|
|
bool AddServer(CServer *srv, bool fromUser = false);
|
|
|
|
uint32 GetPublicIP();
|
|
diff -urdpN ../aMule-2.1.3-orig/src/BaseClient.cpp ./src/BaseClient.cpp
|
|
--- ../aMule-2.1.3-orig/src/BaseClient.cpp 2006-03-10 03:53:01.000000000 +0100
|
|
+++ ./src/BaseClient.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -60,6 +60,7 @@
|
|
#include "Logger.h"
|
|
#include "DataToText.h" // Needed for GetSoftName()
|
|
#include "OtherFunctions.h"
|
|
+#include "RemoteSettings.h"
|
|
|
|
#include "kademlia/kademlia/Kademlia.h"
|
|
#include "kademlia/net/KademliaUDPListener.h"
|
|
@@ -69,6 +70,9 @@
|
|
|
|
//#define __PACKET_DEBUG__
|
|
|
|
+// Stefano Picerno: include Adunanza header
|
|
+#include "AdunanzA.h" // Needed for AduIsFastWebIP
|
|
+// Fine
|
|
|
|
// some client testing variables
|
|
static wxString crash_name = wxT("[Invalid User Name]");
|
|
@@ -246,6 +250,10 @@ void CUpDownClient::Init()
|
|
|
|
/* Creation time (for buddies timeout) */
|
|
m_nCreationTime = ::GetTickCount();
|
|
+
|
|
+ isAduSoftware = 0;
|
|
+ aduver = 0;
|
|
+ sentadu = false;
|
|
}
|
|
|
|
|
|
@@ -408,6 +416,7 @@ bool CUpDownClient::ProcessHelloTypePack
|
|
switch(temptag.GetNameID()){
|
|
case CT_NAME:
|
|
m_Username = temptag.GetStr();
|
|
+ AddDebugLogLineM(false, logClient, CFormat(wxT("username: %s hash: %s")) % m_Username % hash.Encode());
|
|
break;
|
|
|
|
case CT_VERSION:
|
|
@@ -524,8 +533,13 @@ bool CUpDownClient::ProcessHelloTypePack
|
|
// 7 Min Version (Only need 0-99)
|
|
// 3 Upd Version (Only need 0-5)
|
|
// 7 Bld Version (Only need 0-99)
|
|
- m_byCompatibleClient = (temptag.GetInt() >> 24);
|
|
+ m_byCompatibleClient = m_clientSoft = (temptag.GetInt() >> 24);
|
|
m_nClientVersion = temptag.GetInt() & 0x00ffffff;
|
|
+ uint32 nClientMajVersion = (m_nClientVersion >> 17) & 0x7f;
|
|
+ uint32 nClientMinVersion = (m_nClientVersion >> 10) & 0x7f;
|
|
+ uint32 nClientUpVersion = (m_nClientVersion >> 7) & 0x07;
|
|
+
|
|
+ m_nClientVersion = MAKE_CLIENT_VERSION(nClientMajVersion, nClientMinVersion, nClientUpVersion);
|
|
m_byEmuleVersion = 0x99;
|
|
m_fSharedDirectories = 1;
|
|
dwEmuleTags |= 4;
|
|
@@ -657,6 +671,8 @@ void CUpDownClient::SendMuleInfoPacket(b
|
|
return;
|
|
}
|
|
|
|
+ bool wastePackets = ( m_dwUserIP && AduIsFastWebIP(m_dwUserIP) ? true : false );
|
|
+
|
|
CPacket* packet = NULL;
|
|
CMemFile data;
|
|
|
|
@@ -687,7 +703,9 @@ void CUpDownClient::SendMuleInfoPacket(b
|
|
data.WriteUInt8(EMULE_PROTOCOL);
|
|
|
|
// Tag number
|
|
- data.WriteUInt32(9);
|
|
+ // Stefano Picerno: Aggiungo il tag ET_SUPERADU3, per il riconoscimento dei client Adu
|
|
+ data.WriteUInt32(7 + ( wastePackets ? 1 + 1 /*AdunanzA*/ + 1 /*ET_MOD_VERSION*/ : 0 ) );
|
|
+ // Fine
|
|
|
|
CTag tag1(ET_COMPRESSION,1);
|
|
tag1.WriteTagToFile(&data);
|
|
@@ -713,15 +731,22 @@ void CUpDownClient::SendMuleInfoPacket(b
|
|
CTag tag7(ET_FEATURES, dwTagValue);
|
|
tag7.WriteTagToFile(&data);
|
|
|
|
- CTag tag8(ET_COMPATIBLECLIENT,SO_AMULE);
|
|
- tag8.WriteTagToFile(&data);
|
|
+ if (wastePackets) {
|
|
+
|
|
+ CTag tag8(ET_COMPATIBLECLIENT,SO_AMULE);
|
|
+ tag8.WriteTagToFile(&data);
|
|
|
|
- // Support for tag ET_MOD_VERSION
|
|
- wxString mod_name(MOD_VERSION_LONG);
|
|
- CTag tag9(ET_MOD_VERSION, mod_name);
|
|
- tag9.WriteTagToFile(&data);
|
|
- // Maella end
|
|
+ // Support for tag ET_MOD_VERSION
|
|
+ wxString mod_name(MOD_VERSION_LONG);
|
|
+ CTag tag9(ET_MOD_VERSION, mod_name);
|
|
+ tag9.WriteTagToFile(&data);
|
|
+ // Maella end
|
|
|
|
+ // Stefano Picerno: In realta' gli altri client adu ignorano il valore associato al tag Adu;
|
|
+ // e' sufficiente che tale valore sia != 0.
|
|
+ CTag tag10(ET_SUPERADU3, ADUNANZA_FASTWEB); // E' connesso ad Adunanza
|
|
+ tag10.WriteTagToFile(&data);
|
|
+ }
|
|
}
|
|
|
|
packet = new CPacket(&data,OP_EMULEPROT);
|
|
@@ -859,6 +884,13 @@ bool CUpDownClient::ProcessMuleInfoPacke
|
|
case ET_MOD_VERSION:
|
|
if (temptag.IsStr()) {
|
|
m_strModVersion = temptag.GetStr();
|
|
+ if (m_strModVersion.Find(wxT("AdunanzA")) > -1) {
|
|
+ uint32 adumaj = 0, adumin = 0, adubeta = 0;
|
|
+ if (sscanf(unicode2char(m_strModVersion),"AdunanzA %u.%ub%u", &adumaj, &adumin, &adubeta) < 2)
|
|
+ sscanf(unicode2char(m_strModVersion),"AdunanzA %u.%u", &adumaj, &adumin);
|
|
+
|
|
+ aduver = ADU_VER_CODE(adumaj, adumin, adubeta);
|
|
+ }
|
|
} else if (temptag.IsInt()) {
|
|
m_strModVersion = wxString::Format(wxT("ModID=%u"), temptag.GetInt());
|
|
} else {
|
|
@@ -867,6 +899,18 @@ bool CUpDownClient::ProcessMuleInfoPacke
|
|
|
|
break;
|
|
|
|
+ // Mod Add - Gestisce il tag ET_SUPERADU3
|
|
+ case ET_SUPERADU3:
|
|
+ uint32 tagval;
|
|
+ tagval = temptag.GetInt();
|
|
+ SetIsAduSoftware(tagval);
|
|
+ if (!aduver) {
|
|
+ aduver = ADU_VER_CODE(3, 7, 0);
|
|
+ }
|
|
+
|
|
+ break;
|
|
+ // fine mod Adu
|
|
+
|
|
default:
|
|
AddDebugLogLineM( false, logPacketErrors,
|
|
CFormat( wxT("Unknown Mule tag (%s) from client: %s") )
|
|
@@ -908,7 +952,13 @@ bool CUpDownClient::ProcessMuleInfoPacke
|
|
|
|
ReGetClientSoft();
|
|
|
|
- m_byInfopacketsReceived |= IP_EMULEPROTPACK;
|
|
+ m_byInfopacketsReceived |= IP_EMULEPROTPACK;
|
|
+
|
|
+ // Mod AdunanzA
|
|
+ // lupz
|
|
+ if (IsOldAdu(theApp.rm->mVer))
|
|
+ Ban();
|
|
+ // Fine Mod AdunanzA
|
|
}
|
|
|
|
return (protocol_version == 0xFF); // This was a OS_Info?
|
|
@@ -937,7 +987,21 @@ void CUpDownClient::SendHelloAnswer()
|
|
void CUpDownClient::SendHelloTypePacket(CMemFile* data)
|
|
{
|
|
data->WriteHash(thePrefs::GetUserHash());
|
|
- data->WriteUInt32(theApp.GetID());
|
|
+
|
|
+ amuleIPV4Address address;
|
|
+ m_socket->GetPeer(address);
|
|
+ m_FullUserIP = address.IPAddress();
|
|
+ SetIP(StringIPtoUint32(m_FullUserIP));
|
|
+
|
|
+ uint32 clientid;
|
|
+ if (AduIsFastWebIP(GetIP()))
|
|
+ clientid = theApp.GetID();
|
|
+ else
|
|
+ clientid = theApp.GetED2KID();
|
|
+
|
|
+ data->WriteUInt32(clientid);
|
|
+
|
|
+ //data->WriteUInt32(theApp.GetID());
|
|
data->WriteUInt16(thePrefs::GetPort());
|
|
|
|
uint32 tagcount = 6;
|
|
@@ -1378,7 +1442,7 @@ bool CUpDownClient::TryToConnect(bool bI
|
|
bio.WriteUInt128(Kademlia::CUInt128(GetBuddyID()));
|
|
bio.WriteUInt128(Kademlia::CUInt128(m_reqfile->GetFileHash().GetHash()));
|
|
bio.WriteUInt16(thePrefs::GetPort());
|
|
- CPacket* packet = new CPacket(&bio, OP_KADEMLIAHEADER, KADEMLIA_CALLBACK_REQ);
|
|
+ CPacket* packet = new CPacket(&bio, theApp.rm->kadOpcode, KADEMLIA_CALLBACK_REQ);
|
|
theApp.clientudp->SendPacket(packet, GetBuddyIP(), GetBuddyPort());
|
|
AddDebugLogLineM(false,logLocalClient, wxString::Format(wxT("KADEMLIA_CALLBACK_REQ (%i)"),packet->GetPacketSize()));
|
|
theStats::AddUpOverheadKad(packet->GetRealPacketSize());
|
|
@@ -1535,13 +1599,14 @@ void CUpDownClient::ReGetClientSoft()
|
|
}
|
|
|
|
int iHashType = GetHashType();
|
|
+ AddDebugLogLineM(false, logClient, CFormat(wxT("soft: %u hash: %u byEmuleVersion: %u nClientVersion: %u")) % m_clientSoft % iHashType % m_byEmuleVersion % m_nClientVersion);
|
|
wxString clientModString;
|
|
if (iHashType == SO_EMULE) {
|
|
|
|
m_clientSoft = m_byCompatibleClient;
|
|
m_clientSoftString = GetSoftName(m_clientSoft);
|
|
// Special issues:
|
|
- if((GetClientModString().IsEmpty() == false) && (m_clientSoft != SO_EMULE)) {
|
|
+ if(m_clientSoftString.IsEmpty() && (GetClientModString().IsEmpty() == false) && (m_clientSoft != SO_EMULE)) {
|
|
m_clientSoftString = GetClientModString();
|
|
}
|
|
// Isn't xMule annoying?
|
|
@@ -1591,9 +1656,13 @@ void CUpDownClient::ReGetClientSoft()
|
|
}
|
|
}
|
|
|
|
+ if (m_byEmuleVersion && m_nClientVersion > 0xff)
|
|
+ m_byEmuleVersion = 0x99;
|
|
+
|
|
if (m_byEmuleVersion == 0) {
|
|
m_nClientVersion = MAKE_CLIENT_VERSION(0,0,0);
|
|
- } else if (m_byEmuleVersion != 0x99) {
|
|
+ }
|
|
+ else if (m_byEmuleVersion != 0x99) {
|
|
uint32 nClientMinVersion = (m_byEmuleVersion >> 4)*10 + (m_byEmuleVersion & 0x0f);
|
|
m_nClientVersion = MAKE_CLIENT_VERSION(0,nClientMinVersion,0);
|
|
switch (m_clientSoft) {
|
|
@@ -1609,11 +1678,9 @@ void CUpDownClient::ReGetClientSoft()
|
|
break;
|
|
}
|
|
} else {
|
|
- uint32 nClientMajVersion = (m_nClientVersion >> 17) & 0x7f;
|
|
- uint32 nClientMinVersion = (m_nClientVersion >> 10) & 0x7f;
|
|
- uint32 nClientUpVersion = (m_nClientVersion >> 7) & 0x07;
|
|
-
|
|
- m_nClientVersion = MAKE_CLIENT_VERSION(nClientMajVersion, nClientMinVersion, nClientUpVersion);
|
|
+ uint32 nClientMajVersion = m_nClientVersion / (100U * 10U * 100U);
|
|
+ uint32 nClientMinVersion = m_nClientVersion / (100U * 10U) - (nClientMajVersion * 100U);
|
|
+ uint32 nClientUpVersion = m_nClientVersion / 100U - (nClientMajVersion * 100U * 10U) - (nClientMinVersion * 10U) ;
|
|
|
|
switch (m_clientSoft) {
|
|
case SO_AMULE:
|
|
@@ -1644,6 +1711,33 @@ void CUpDownClient::ReGetClientSoft()
|
|
break;
|
|
}
|
|
}
|
|
+
|
|
+ // Stefano Picerno: Aggiungo alla versione del client i flag Adunanza / Fastweb
|
|
+ uint32 aduResult = GetClientAduType();
|
|
+ if (aduResult == ADUNANZA_ICON_FW )
|
|
+ {
|
|
+ clientModString = _(" - Fastweb - ") + GetClientModString();
|
|
+ }
|
|
+ else if (aduResult == ADUNANZA_ICON_ADU )
|
|
+ {
|
|
+ if (ADU_GET_B(aduver))
|
|
+ m_strModVersion = wxString::Format(wxT("V%u.%ub%u"), ADU_GET_MAJ(aduver), ADU_GET_MIN(aduver), ADU_GET_B(aduver));
|
|
+ else
|
|
+ m_strModVersion = wxString::Format(wxT("V%u.%u"), ADU_GET_MAJ(aduver), ADU_GET_MIN(aduver));
|
|
+
|
|
+ clientModString = _(" - AdunanzA ") + GetClientModString();
|
|
+ } else
|
|
+ clientModString = _(" - ") + GetClientModString();
|
|
+
|
|
+ if (aduResult > 0) {
|
|
+ if (IsAduFiber())
|
|
+ clientModString += _(" Fibra");
|
|
+ else
|
|
+ clientModString += _(" DSL");
|
|
+
|
|
+ SetClientFWCity();
|
|
+ }
|
|
+ // Fine
|
|
} else if (m_bIsHybrid) {
|
|
// seen:
|
|
// 105010 50.10
|
|
@@ -1711,11 +1805,8 @@ void CUpDownClient::ReGetClientSoft()
|
|
m_clientVerString = wxString::Format(wxT("v%u.%u"), m_nClientVersion / 100000, (m_nClientVersion / 1000) % 100);
|
|
}
|
|
|
|
- m_clientVersionString = m_clientVerString;
|
|
- if (!clientModString.IsEmpty()) {
|
|
- m_clientVerString += wxT(" - ") + clientModString;
|
|
- }
|
|
- m_fullClientVerString = m_clientSoftString + wxT(" ") + m_clientVerString;
|
|
+ m_clientVersionString = m_clientVerString + clientModString;
|
|
+ m_fullClientVerString = m_clientSoftString + wxT(" ") + m_clientVerString + clientModString;
|
|
|
|
UpdateStats();
|
|
}
|
|
@@ -1759,6 +1850,9 @@ void CUpDownClient::ResetFileStatusInfo(
|
|
m_pReqFileAICHHash = NULL;
|
|
}
|
|
|
|
+ // Mod Adu
|
|
+ SetIsAduSoftware( 0 );
|
|
+ // Fine adu
|
|
}
|
|
|
|
wxString CUpDownClient::GetUploadFileInfo()
|
|
@@ -1842,12 +1936,19 @@ void CUpDownClient::SendSignaturePacket(
|
|
uint8 byChaIPKind = 0;
|
|
uint32 ChallengeIP = 0;
|
|
if (bUseV2){
|
|
- if (::IsLowID(theApp.GetED2KID())) {
|
|
+
|
|
+ uint32 clientid;
|
|
+ if (AduIsFastWebIP(m_dwUserIP))
|
|
+ clientid = theApp.GetID();
|
|
+ else
|
|
+ clientid = theApp.GetED2KID();
|
|
+
|
|
+ if (::IsLowID(clientid)) {
|
|
// we cannot do not know for sure our public ip, so use the remote clients one
|
|
ChallengeIP = GetIP();
|
|
byChaIPKind = CRYPT_CIP_REMOTECLIENT;
|
|
} else {
|
|
- ChallengeIP = theApp.GetED2KID();
|
|
+ ChallengeIP = clientid;
|
|
byChaIPKind = CRYPT_CIP_LOCALCLIENT;
|
|
}
|
|
}
|
|
@@ -1949,6 +2050,9 @@ void CUpDownClient::ProcessSignaturePack
|
|
}
|
|
|
|
m_dwLastSignatureIP = GetIP();
|
|
+
|
|
+ SendMuleInfoPacket(false);
|
|
+ sentadu = true;
|
|
}
|
|
|
|
void CUpDownClient::SendSecIdentStatePacket(){
|
|
@@ -2088,10 +2192,14 @@ bool CUpDownClient::IsConnected() const
|
|
return m_socket && m_socket->IsConnected();
|
|
}
|
|
|
|
+// Stefano Picerno: aggiunto il parametro actualPayloadSize (e' necessario passarlo al socket
|
|
+#if 0
|
|
bool CUpDownClient::SendPacket(CPacket* packet, bool delpacket, bool controlpacket)
|
|
+#endif
|
|
+bool CUpDownClient::SendPacket(CPacket* packet, bool delpacket, bool controlpacket, uint32 actualPayloadSize )
|
|
{
|
|
if ( m_socket ) {
|
|
- m_socket->SendPacket(packet, delpacket, controlpacket );
|
|
+ m_socket->SendPacket(packet, delpacket, controlpacket, actualPayloadSize );
|
|
return true;
|
|
} else {
|
|
printf("CAUGHT DEAD SOCKET IN SENDPACKET()\n");
|
|
diff -urdpN ../aMule-2.1.3-orig/src/ClientDetailDialog.cpp ./src/ClientDetailDialog.cpp
|
|
--- ../aMule-2.1.3-orig/src/ClientDetailDialog.cpp 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/ClientDetailDialog.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -91,7 +91,7 @@ bool CClientDetailDialog::OnInitDialog()
|
|
|
|
CastChild(ID_DID,wxStaticText)->SetLabel(wxString::Format(wxT("%u (%s)"),ENDIAN_NTOHL(m_client->GetIP()),(m_client->HasLowID() ? _("LowID"):_("HighID"))));
|
|
|
|
- CastChild(ID_DIP,wxStaticText)->SetLabel(m_client->GetFullIP() + wxString::Format(wxT(":%i"),m_client->GetUserPort()));
|
|
+ //CastChild(ID_DIP,wxStaticText)->SetLabel(Uint32_16toStringIP_Port(m_client->GetIP() & 0x000fffff,m_client->GetUserPort()));
|
|
|
|
if (m_client->GetServerIP()) {
|
|
|
|
diff -urdpN ../aMule-2.1.3-orig/src/ClientListCtrl.cpp ./src/ClientListCtrl.cpp
|
|
--- ../aMule-2.1.3-orig/src/ClientListCtrl.cpp 2006-04-06 03:24:09.000000000 +0200
|
|
+++ ./src/ClientListCtrl.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -43,6 +43,7 @@
|
|
#include <wx/brush.h>
|
|
#include <wx/dc.h>
|
|
|
|
+#include "AdunanzA.h"
|
|
|
|
|
|
|
|
@@ -595,7 +596,35 @@ void CUploadingView::DrawCell( CUpDownCl
|
|
wxIMAGELIST_DRAW_TRANSPARENT);
|
|
}
|
|
|
|
- dc->DrawText( client->GetUserName(), rect.x + 20, rect.y + 3 );
|
|
+ // Aggiungo le icone per adu / fastweb
|
|
+ uint32 client_type = client->GetClientAduType();
|
|
+ wxString preUserName = wxString(_(""));
|
|
+
|
|
+ if (client_type!=ADUNANZA_ANY) {
|
|
+ switch (client_type)
|
|
+ {
|
|
+ case ADUNANZA_ICON_ADU:
|
|
+ // Adu protocol -> Draw the '+' in the lower right
|
|
+ imagelist.Draw( Client_Adunanza_Flag, *dc, rect.x, rect.y + 1, wxIMAGELIST_DRAW_TRANSPARENT);
|
|
+ break;
|
|
+ case ADUNANZA_ICON_FW:
|
|
+ // Client from Fastweb address -> Draw the other '+' in the
|
|
+ // lower right
|
|
+ imagelist.Draw( Client_Fastweb_Flag, *dc, rect.x, rect.y + 1, wxIMAGELIST_DRAW_TRANSPARENT);
|
|
+ break;
|
|
+ default:
|
|
+ break;
|
|
+ }
|
|
+ if (client->IsAduFiber())
|
|
+ imagelist.Draw( Client_Fiber_Flag, *dc, rect.x, rect.y + 1, wxIMAGELIST_DRAW_TRANSPARENT);
|
|
+
|
|
+ if (client->GetClientFWCity().Len())
|
|
+ preUserName += _("(") + client->GetClientFWCity() + _(") ");
|
|
+
|
|
+ }
|
|
+ // Fine
|
|
+
|
|
+ dc->DrawText( preUserName + client->GetUserName(), rect.x + 20, rect.y + 3 );
|
|
|
|
return;
|
|
}
|
|
diff -urdpN ../aMule-2.1.3-orig/src/ClientTCPSocket.cpp ./src/ClientTCPSocket.cpp
|
|
--- ../aMule-2.1.3-orig/src/ClientTCPSocket.cpp 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/ClientTCPSocket.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -287,7 +287,7 @@ bool CClientTCPSocket::ProcessPacket(con
|
|
if (m_client->GetInfoPacketsReceived() == IP_BOTH) {
|
|
m_client->InfoPacketsReceived();
|
|
}
|
|
-
|
|
+
|
|
// Socket might die because of sending in InfoPacketsReceived, so check
|
|
if (m_client) {
|
|
m_client->ConnectionEstablished();
|
|
@@ -347,9 +347,10 @@ bool CClientTCPSocket::ProcessPacket(con
|
|
}
|
|
Notify_UploadCtrlRefreshClient( m_client );
|
|
// send a response packet with standart informations
|
|
- if ((m_client->GetHashType() == SO_EMULE) && !bIsMuleHello) {
|
|
- m_client->SendMuleInfoPacket(false);
|
|
- }
|
|
+
|
|
+ if ((m_client->GetHashType() == SO_EMULE) && !bIsMuleHello) {
|
|
+ m_client->SendMuleInfoPacket(false);
|
|
+ }
|
|
|
|
// Client might die from Sending in SendMuleInfoPacket, so check
|
|
if ( m_client ) {
|
|
@@ -360,7 +361,11 @@ bool CClientTCPSocket::ProcessPacket(con
|
|
// Client might die from Sending in SendHelloAnswer, so check
|
|
if (m_client && m_client->GetOSInfoSupport()) {
|
|
m_client->SendMuleInfoPacket(false,true); // Send the OS Info tag on the recycled Mule Info
|
|
- }
|
|
+ }
|
|
+
|
|
+ if ((m_client->GetHashType() == SO_EMULE) && bIsMuleHello && m_client->HasFastwebIP()) {
|
|
+ m_client->SendMuleInfoPacket(false);
|
|
+ }
|
|
|
|
// Client might die from Sending in SendMuleInfoPacket, so check
|
|
if ( m_client ) {
|
|
@@ -1258,6 +1263,7 @@ bool CClientTCPSocket::ProcessExtPacket(
|
|
if (m_client->GetInfoPacketsReceived() == IP_BOTH) {
|
|
m_client->InfoPacketsReceived();
|
|
}
|
|
+
|
|
m_client->SendMuleInfoPacket(true);
|
|
} else {
|
|
AddDebugLogLineM( false, logRemoteClient, wxT("Remote Client: OP_EMULEINFO is an OS_INFO") );
|
|
diff -urdpN ../aMule-2.1.3-orig/src/ClientUDPSocket.cpp ./src/ClientUDPSocket.cpp
|
|
--- ../aMule-2.1.3-orig/src/ClientUDPSocket.cpp 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/ClientUDPSocket.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -46,6 +46,7 @@
|
|
#include "kademlia/kademlia/Kademlia.h"
|
|
#include "kademlia/io/IOException.h"
|
|
#include "zlib.h"
|
|
+#include "RemoteSettings.h"
|
|
|
|
//
|
|
// CClientUDPSocket -- Extended eMule UDP socket
|
|
@@ -81,33 +82,26 @@ void CClientUDPSocket::OnPacketReceived(
|
|
uint16 port = addr.Service();
|
|
|
|
try {
|
|
- switch (protocol) {
|
|
- case OP_EMULEPROT:
|
|
- ProcessPacket((char*)buffer + 2,length - 2, opcode, ip, port);
|
|
- break;
|
|
-
|
|
- case OP_KADEMLIAHEADER:
|
|
- theStats::AddDownOverheadKad(length);
|
|
- Kademlia::CKademlia::processPacket(buffer, length, wxUINT32_SWAP_ALWAYS(ip), port);
|
|
- break;
|
|
-
|
|
- case OP_KADEMLIAPACKEDPROT: {
|
|
- theStats::AddDownOverheadKad(length);
|
|
- uint32 nNewSize = length*10+300; // Should be enough...
|
|
- byte unpack[nNewSize];
|
|
- uLongf unpackedsize = nNewSize-2;
|
|
- uint16 result = uncompress(unpack + 2, &unpackedsize, buffer + 2, length-2);
|
|
- if (result == Z_OK) {
|
|
- unpack[0] = OP_KADEMLIAHEADER;
|
|
- unpack[1] = opcode;
|
|
- Kademlia::CKademlia::processPacket(unpack, unpackedsize + 2, wxUINT32_SWAP_ALWAYS(ip), port);
|
|
- } else {
|
|
- AddDebugLogLineM(false, logClientKadUDP, wxT("Failed to uncompress Kademlia packet"));
|
|
- }
|
|
- break;
|
|
+ if (protocol == OP_EMULEPROT) {
|
|
+ ProcessPacket((char*)buffer + 2,length - 2, opcode, ip, port);
|
|
+ } else if (protocol == theApp.rm->kadOpcode) {
|
|
+ theStats::AddDownOverheadKad(length);
|
|
+ Kademlia::CKademlia::processPacket(buffer, length, wxUINT32_SWAP_ALWAYS(ip), port);
|
|
+ } else if (protocol == theApp.rm->kadZOpcode) {
|
|
+ theStats::AddDownOverheadKad(length);
|
|
+ uint32 nNewSize = length*10+300; // Should be enough...
|
|
+ byte unpack[nNewSize];
|
|
+ uLongf unpackedsize = nNewSize-2;
|
|
+ uint16 result = uncompress(unpack + 2, &unpackedsize, buffer + 2, length-2);
|
|
+ if (result == Z_OK) {
|
|
+ unpack[0] = theApp.rm->kadOpcode;
|
|
+ unpack[1] = opcode;
|
|
+ Kademlia::CKademlia::processPacket(unpack, unpackedsize + 2, wxUINT32_SWAP_ALWAYS(ip), port);
|
|
+ } else {
|
|
+ AddDebugLogLineM(false, logClientKadUDP, wxT("Failed to uncompress Kademlia packet"));
|
|
}
|
|
- default:
|
|
- AddDebugLogLineM(false, logClientUDP, wxString::Format(wxT("Unknown opcode on received packet: 0x%x"), protocol));
|
|
+ } else {
|
|
+ AddDebugLogLineM(false, logClientUDP, wxString::Format(wxT("Unknown opcode on received packet: 0x%x"), protocol));
|
|
}
|
|
} catch (const wxString& e) {
|
|
AddDebugLogLineM(false, logClientUDP, wxT("Error while parsing UDP packet: ") + e);
|
|
diff -urdpN ../aMule-2.1.3-orig/src/DownloadClient.cpp ./src/DownloadClient.cpp
|
|
--- ../aMule-2.1.3-orig/src/DownloadClient.cpp 2006-01-24 23:23:31.000000000 +0100
|
|
+++ ./src/DownloadClient.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -489,7 +489,7 @@ void CUpDownClient::SetDownloadState(uin
|
|
if (m_nDownloadState != byNewState) {
|
|
if (m_reqfile) {
|
|
// Notify the client that this source has changed its state
|
|
- m_reqfile->ClientStateChanged( m_nDownloadState, byNewState );
|
|
+ m_reqfile->ClientStateChanged( m_nDownloadState, byNewState, this );
|
|
|
|
if (byNewState == DS_DOWNLOADING) {
|
|
m_reqfile->AddDownloadingSource(this);
|
|
@@ -571,12 +571,58 @@ void CUpDownClient::ProcessHashSet(const
|
|
SendStartupLoadReq();
|
|
}
|
|
|
|
+void CUpDownClient::CreateBlockRequests(int iMaxBlocks)
|
|
+{
|
|
+ wxASSERT( iMaxBlocks >= 1 /*&& iMaxBlocks <= 3*/ );
|
|
+ if (m_DownloadBlocks_list.IsEmpty())
|
|
+ {
|
|
+ //dazzle: prevent a sign error from occurring
|
|
+ uint16 count, countinit;
|
|
+ if (iMaxBlocks - m_PendingBlocks_list.GetCount() > 0)
|
|
+ countinit = iMaxBlocks - m_PendingBlocks_list.GetCount();
|
|
+ else
|
|
+ countinit = 0;
|
|
+
|
|
+ count = countinit;
|
|
+ //end dazzle
|
|
+ Requested_Block_Struct* toadd[count];
|
|
+ if (m_reqfile->GetNextRequestedBlock(this,toadd,&count)) {
|
|
+ for (int i = 0; i != count; i++)
|
|
+ m_DownloadBlocks_list.AddTail(toadd[i]);
|
|
+ }
|
|
+ //dazzle: if no blocks available, try to drop the slowest source, then try again
|
|
+ else if (m_reqfile->DropSlowestSource(this)) {
|
|
+ count = countinit;
|
|
+ if (m_reqfile->GetNextRequestedBlock(this,toadd,&count)){
|
|
+ for (int i = 0; i < count; i++)
|
|
+ m_DownloadBlocks_list.AddTail(toadd[i]);
|
|
+ }
|
|
+ }
|
|
+
|
|
+ //end dazzle
|
|
+ }
|
|
+
|
|
+ while (m_PendingBlocks_list.GetCount() < iMaxBlocks && !m_DownloadBlocks_list.IsEmpty())
|
|
+ {
|
|
+ Pending_Block_Struct* pblock = new Pending_Block_Struct;
|
|
+ pblock->block = m_DownloadBlocks_list.RemoveHead();
|
|
+ pblock->zStream = NULL;
|
|
+ pblock->totalUnzipped = 0;
|
|
+ pblock->fZStreamError = 0;
|
|
+ pblock->fRecovered = 0;
|
|
+ m_PendingBlocks_list.AddTail(pblock);
|
|
+ }
|
|
+
|
|
+}
|
|
+
|
|
void CUpDownClient::SendBlockRequests()
|
|
{
|
|
m_dwLastBlockReceived = ::GetTickCount();
|
|
if (!m_reqfile) {
|
|
return;
|
|
}
|
|
+
|
|
+#if 0
|
|
if (m_DownloadBlocks_list.IsEmpty()) {
|
|
// Barry - instead of getting 3, just get how many is needed
|
|
uint16 count = 3 - m_PendingBlocks_list.GetCount();
|
|
@@ -599,7 +645,9 @@ void CUpDownClient::SendBlockRequests()
|
|
pblock->fRecovered = 0;
|
|
m_PendingBlocks_list.AddTail(pblock);
|
|
}
|
|
-
|
|
+#endif
|
|
+
|
|
+ CreateBlockRequests(3);
|
|
|
|
if (m_PendingBlocks_list.IsEmpty()) {
|
|
if (!GetSentCancelTransfer()){
|
|
@@ -698,7 +746,17 @@ void CUpDownClient::ProcessBlockPacket(c
|
|
if ( nEndPos == nStartPos || size != ((nEndPos - nStartPos) + HEADER_SIZE)) {
|
|
throw wxString(wxT("Corrupted or invalid DataBlock received (ProcessBlockPacket)"));
|
|
}
|
|
- theStats::AddDownloadFromSoft(GetClientSoft(),size - HEADER_SIZE);
|
|
+ // mod Adu
|
|
+ // Emanem
|
|
+ // Aggiungo i dati trasferiti all'elenco AdunanzA
|
|
+ uint32 aduBytes = 0, aduFBytes = 0;
|
|
+ if (IsAduClient()) {
|
|
+ aduBytes = size - HEADER_SIZE;
|
|
+ if (IsAduFiber())
|
|
+ aduFBytes = aduBytes;
|
|
+ }
|
|
+ theStats::AddDownloadFromSoft(GetClientSoft(),size - HEADER_SIZE,aduBytes,aduFBytes);
|
|
+
|
|
bytesReceivedCycle += size - HEADER_SIZE;
|
|
|
|
credits->AddDownloaded(size - HEADER_SIZE, GetIP(), theApp.CryptoAvailable());
|
|
@@ -1313,7 +1371,7 @@ void CUpDownClient::SetRequestFile(CPart
|
|
if ( m_reqfile != reqfile ) {
|
|
// Decrement the source-count of the old request-file
|
|
if ( m_reqfile ) {
|
|
- m_reqfile->ClientStateChanged( GetDownloadState(), -1 );
|
|
+ m_reqfile->ClientStateChanged( GetDownloadState(), -1, this );
|
|
m_reqfile->UpdatePartsFrequency( this, false );
|
|
}
|
|
|
|
@@ -1324,7 +1382,7 @@ void CUpDownClient::SetRequestFile(CPart
|
|
|
|
if ( reqfile ) {
|
|
// Increment the source-count of the new request-file
|
|
- m_reqfile->ClientStateChanged( -1, GetDownloadState() );
|
|
+ m_reqfile->ClientStateChanged( -1, GetDownloadState(), this );
|
|
|
|
m_nPartCount = reqfile->GetPartCount();
|
|
}
|
|
@@ -1455,3 +1513,31 @@ void CUpDownClient::ProcessAICHFileHash(
|
|
AddDebugLogLineM( false, logAICHTransfer, wxT("ProcessAICHFileHash(): PartFile not found or Partfile differs from requested file, ") + GetClientFullInfo() );
|
|
}
|
|
}
|
|
+
|
|
+void CUpDownClient::SendCancelTransfer(CPacket* packet)
|
|
+{
|
|
+ if (!m_socket){
|
|
+ wxASSERT(0);
|
|
+ return;
|
|
+ }
|
|
+
|
|
+ if (!GetSentCancelTransfer())
|
|
+ {
|
|
+ bool bDeletePacket;
|
|
+ CPacket* pCancelTransferPacket;
|
|
+ if (packet)
|
|
+ {
|
|
+ pCancelTransferPacket = packet;
|
|
+ bDeletePacket = false;
|
|
+ }
|
|
+ else
|
|
+ {
|
|
+ pCancelTransferPacket = new CPacket(OP_CANCELTRANSFER, 0);
|
|
+ bDeletePacket = true;
|
|
+ }
|
|
+
|
|
+ theStats::AddUpOverheadFileRequest(pCancelTransferPacket->GetPacketSize());
|
|
+ m_socket->SendPacket(pCancelTransferPacket,bDeletePacket,true);
|
|
+ SetSentCancelTransfer(1);
|
|
+ }
|
|
+}
|
|
diff -urdpN ../aMule-2.1.3-orig/src/DownloadListCtrl.cpp ./src/DownloadListCtrl.cpp
|
|
--- ../aMule-2.1.3-orig/src/DownloadListCtrl.cpp 2006-03-10 06:02:41.000000000 +0100
|
|
+++ ./src/DownloadListCtrl.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -1411,13 +1411,11 @@ void CDownloadListCtrl::DrawFileItem( wx
|
|
|
|
// Sources
|
|
case 6: {
|
|
+ uint16 asc = file->GetAduSourceCount();
|
|
uint16 sc = file->GetSourceCount();
|
|
uint16 ncsc = file->GetNotCurrentSourcesCount();
|
|
- if ( ncsc ) {
|
|
- text = wxString::Format( wxT("%i/%i" ), sc - ncsc, sc );
|
|
- } else {
|
|
- text = wxString::Format( wxT("%i"), sc );
|
|
- }
|
|
+
|
|
+ text = wxString::Format( wxT("%i"), asc );
|
|
|
|
if ( file->GetSrcA4AFCount() ) {
|
|
text += wxString::Format( wxT("+%i"), file->GetSrcA4AFCount() );
|
|
@@ -1425,6 +1423,12 @@ void CDownloadListCtrl::DrawFileItem( wx
|
|
|
|
text += wxString::Format( wxT(" (%i)"), file->GetTransferingSrcCount() );
|
|
|
|
+ if ( ncsc ) {
|
|
+ text += wxString::Format( wxT(" E[%i/%i]" ), sc - ncsc, sc );
|
|
+ } else {
|
|
+ text += wxString::Format( wxT(" E[%i]"), sc );
|
|
+ }
|
|
+
|
|
break;
|
|
}
|
|
|
|
@@ -1600,13 +1604,39 @@ void CDownloadListCtrl::DrawSourceItem(
|
|
m_ImageList.Draw(Client_BadGuy_Smiley, *dc, point2.x, point.y,
|
|
wxIMAGELIST_DRAW_TRANSPARENT);
|
|
}
|
|
+
|
|
+ // Stefano Picerno: Aggiungo l'immagine giusta a seconda dei flag Adu / Fastweb
|
|
+ uint32 client_type = client->GetClientAduType();
|
|
+ wxString preUserName = wxString(_(""));
|
|
+ if (client_type>ADUNANZA_ANY) {
|
|
+ switch (client_type)
|
|
+ {
|
|
+ case ADUNANZA_ICON_ADU:
|
|
+ // Adu protocol -> Draw the 'A' in the lower right
|
|
+ m_ImageList.Draw(Client_Adunanza_Flag, *dc, point2.x, point.y, wxIMAGELIST_DRAW_TRANSPARENT);
|
|
+ break;
|
|
+ case ADUNANZA_ICON_FW:
|
|
+ // Client from Fastweb address -> Draw the 'F' in the lower right
|
|
+ m_ImageList.Draw(Client_Fastweb_Flag, *dc, point2.x, point.y, wxIMAGELIST_DRAW_TRANSPARENT);
|
|
+ break;
|
|
+ default:
|
|
+ break;
|
|
+ }
|
|
+ if (client->IsAduFiber())
|
|
+ m_ImageList.Draw(Client_Fiber_Flag, *dc, point2.x, point.y, wxIMAGELIST_DRAW_TRANSPARENT);
|
|
+
|
|
+ if (client->GetClientFWCity().Len())
|
|
+ preUserName += _("(") + client->GetClientFWCity() + _(") ");
|
|
+
|
|
+ }
|
|
|
|
if ( client->GetUserName().IsEmpty() ) {
|
|
- dc->DrawText( wxT("?"), rect.GetX() + 40, rect.GetY() );
|
|
+ dc->DrawText( preUserName + wxT("?"), rect.GetX() + 40, rect.GetY() );
|
|
} else {
|
|
- dc->DrawText( client->GetUserName(), rect.GetX() + 40,
|
|
+ dc->DrawText( preUserName + client->GetUserName(), rect.GetX() + 40,
|
|
rect.GetY());
|
|
}
|
|
+ // Fine
|
|
}
|
|
break;
|
|
|
|
@@ -1885,8 +1915,8 @@ int CDownloadListCtrl::Compare( const CP
|
|
// Sort by number of sources
|
|
case 6:
|
|
result = CmpAny(
|
|
- file1->GetSourceCount(),
|
|
- file2->GetSourceCount() );
|
|
+ file1->GetAduSourceCount(),
|
|
+ file2->GetAduSourceCount() );
|
|
break;
|
|
|
|
// Sort by priority
|
|
diff -urdpN ../aMule-2.1.3-orig/src/DownloadQueue.cpp ./src/DownloadQueue.cpp
|
|
--- ../aMule-2.1.3-orig/src/DownloadQueue.cpp 2006-02-24 11:37:53.000000000 +0100
|
|
+++ ./src/DownloadQueue.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -353,11 +353,11 @@ void CDownloadQueue::Process()
|
|
uint32 downspeed = 0;
|
|
if (thePrefs::GetMaxDownload() != UNLIMITED && m_datarate > 1500) {
|
|
downspeed = (((uint32)thePrefs::GetMaxDownload())*1024*100)/(m_datarate+1);
|
|
- if (downspeed < 50) {
|
|
+ /*if (downspeed < 50) {
|
|
downspeed = 50;
|
|
} else if (downspeed > 200) {
|
|
downspeed = 200;
|
|
- }
|
|
+ }*/
|
|
}
|
|
|
|
m_datarate = 0;
|
|
@@ -1363,7 +1363,7 @@ void CDownloadQueue::KademliaSearchFile(
|
|
}
|
|
|
|
//Do we need more sources?
|
|
- if(!(!temp->IsStopped() && thePrefs::GetMaxSourcePerFile() > temp->GetSourceCount())) {
|
|
+ if(!(!temp->IsStopped() && thePrefs::GetMaxSourcePerFile() > temp->GetAduSourceCount())) {
|
|
AddDebugLogLineM(false, logKadSearch, wxT("No more sources needed for this file"));
|
|
return;
|
|
}
|
|
@@ -1382,7 +1382,16 @@ void CDownloadQueue::KademliaSearchFile(
|
|
}
|
|
|
|
CUpDownClient* ctemp = NULL;
|
|
- switch( type ) {
|
|
+
|
|
+ // Se il client è nella rete fastweb lo considero sempre non firewalled
|
|
+ uint8 adutype;
|
|
+ if (type == (uint8)3 && AduIsFastWebLANIP(ED2KID))
|
|
+ adutype = 1;
|
|
+ else
|
|
+ adutype = type;
|
|
+
|
|
+
|
|
+ switch( adutype ) {
|
|
case 1: {
|
|
//NonFirewalled users
|
|
if(!tcp) {
|
|
diff -urdpN ../aMule-2.1.3-orig/src/ECSpecialCoreTags.cpp ./src/ECSpecialCoreTags.cpp
|
|
--- ../aMule-2.1.3-orig/src/ECSpecialCoreTags.cpp 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/ECSpecialCoreTags.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -130,6 +130,7 @@ CEC_PartFile_Tag::CEC_PartFile_Tag(CPart
|
|
valuemap.CreateTag(EC_TAG_PARTFILE_STATUS, file->GetStatus(), this);
|
|
|
|
valuemap.CreateTag(EC_TAG_PARTFILE_SOURCE_COUNT, file->GetSourceCount(), this);
|
|
+ valuemap.CreateTag(EC_TAG_PARTFILE_ADU_SOURCE_COUNT, file->GetAduSourceCount(), this);
|
|
valuemap.CreateTag(EC_TAG_PARTFILE_SOURCE_COUNT_NOT_CURRENT, file->GetNotCurrentSourcesCount(), this);
|
|
valuemap.CreateTag(EC_TAG_PARTFILE_SOURCE_COUNT_XFER, file->GetTransferingSrcCount(), this);
|
|
valuemap.CreateTag(EC_TAG_PARTFILE_SOURCE_COUNT_A4AF, file->GetSrcA4AFCount(), this);
|
|
@@ -166,6 +167,7 @@ CEC_PartFile_Tag::CEC_PartFile_Tag(CPart
|
|
AddTag(CECTag(EC_TAG_PARTFILE_STATUS, file->GetStatus()));
|
|
|
|
AddTag(CECTag(EC_TAG_PARTFILE_SOURCE_COUNT, file->GetSourceCount()));
|
|
+ AddTag(CECTag(EC_TAG_PARTFILE_ADU_SOURCE_COUNT, file->GetAduSourceCount()));
|
|
AddTag(CECTag(EC_TAG_PARTFILE_SOURCE_COUNT_NOT_CURRENT, file->GetNotCurrentSourcesCount()));
|
|
AddTag(CECTag(EC_TAG_PARTFILE_SOURCE_COUNT_XFER, file->GetTransferingSrcCount()));
|
|
AddTag(CECTag(EC_TAG_PARTFILE_SOURCE_COUNT_A4AF, file->GetSrcA4AFCount()));
|
|
diff -urdpN ../aMule-2.1.3-orig/src/EMSocket.cpp ./src/EMSocket.cpp
|
|
--- ../aMule-2.1.3-orig/src/EMSocket.cpp 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/EMSocket.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -510,10 +510,10 @@ SocketSentBytes CEMSocket::Send(uint32 m
|
|
|
|
maxNumberOfBytesToSend = GetNextFragSize(maxNumberOfBytesToSend, minFragSize);
|
|
|
|
- bool bWasLongTimeSinceSend = (::GetTickCount() - lastSent) > 1000;
|
|
-
|
|
lastCalledSend = ::GetTickCount();
|
|
|
|
+ bool bWasLongTimeSinceSend = (lastCalledSend - lastSent) > 1000;
|
|
+
|
|
bool anErrorHasOccured = false;
|
|
uint32 sentStandardPacketBytesThisCall = 0;
|
|
uint32 sentControlPacketBytesThisCall = 0;
|
|
diff -urdpN ../aMule-2.1.3-orig/src/GuiEvents.h ./src/GuiEvents.h
|
|
--- ../aMule-2.1.3-orig/src/GuiEvents.h 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/GuiEvents.h 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -150,7 +150,8 @@ enum HTTP_Download_File {
|
|
// Auto-updating server.met has a different callback.
|
|
HTTP_ServerMetAuto,
|
|
HTTP_VersionCheck,
|
|
- HTTP_NodesDat
|
|
+ HTTP_NodesDat,
|
|
+ HTTP_AdunanzaConf
|
|
};
|
|
|
|
DECLARE_LOCAL_EVENT_TYPE(wxEVT_MULE_NOTIFY_EVENT, wxEVT_USER_FIRST+NOTIFY_EVENT)
|
|
diff -urdpN ../aMule-2.1.3-orig/src/KadDlg.cpp ./src/KadDlg.cpp
|
|
--- ../aMule-2.1.3-orig/src/KadDlg.cpp 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/KadDlg.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -93,13 +93,13 @@ void CKadDlg::SetUpdatePeriod(int step)
|
|
|
|
void CKadDlg::SetGraphColors()
|
|
{
|
|
- static const char aTrend[] = { 2, 1, 0 };
|
|
- static const int aRes[] = { IDC_C0, IDC_C0_3, IDC_C0_2 };
|
|
+ static const char aTrend[] = { 3, 2, 1, 0 };
|
|
+ static const int aRes[] = { IDC_C1, IDC_C0, IDC_C0_3, IDC_C0_2 };
|
|
|
|
m_kad_scope->SetBackgroundColor(CStatisticsDlg::getColors(0));
|
|
m_kad_scope->SetGridColor(CStatisticsDlg::getColors(1));
|
|
|
|
- for (size_t i = 0; i < 3; ++i) {
|
|
+ for (size_t i = 0; i < 4; ++i) {
|
|
m_kad_scope->SetPlotColor(CStatisticsDlg::getColors(12 + i), aTrend[i]);
|
|
|
|
CColorFrameCtrl* ctrl = CastChild(aRes[i], CColorFrameCtrl);
|
|
@@ -111,25 +111,35 @@ void CKadDlg::SetGraphColors()
|
|
|
|
void CKadDlg::UpdateGraph(bool bStatsVisible, const GraphUpdateInfo& update)
|
|
{
|
|
- const float* apfKad[] = { &update.kadnodes[0], &update.kadnodes[1], &update.kadnodes[2] };
|
|
+ const float* apfKad[] = { &update.kadnodes[0], &update.kadnodes[1], &update.kadnodes[2] , &update.kadnodes[3] };
|
|
unsigned nodeCount = static_cast<unsigned>(update.kadnodes[2]);
|
|
+ unsigned activeNodeCount = static_cast<unsigned>(update.kadnodes[3]);
|
|
|
|
if (!bStatsVisible) {
|
|
m_kad_scope->DelayPoints();
|
|
} else {
|
|
+ float range = m_kad_scope->GetUpperLimit();
|
|
+
|
|
// Check the current node-count to see if we should increase the graph height
|
|
- if (m_kad_scope->GetUpperLimit() < update.kadnodes[2]) {
|
|
+ if (range > update.kadnodes[1]*1.5) {
|
|
+ // If the range is really higher than the average adjust this
|
|
+ range = update.kadnodes[1]*1.5;
|
|
+ }
|
|
+
|
|
+ if (range < update.kadnodes[2]) {
|
|
// Grow the limit by 50 sized increments.
|
|
- m_kad_scope->SetRanges(0.0, ((nodeCount + 49) / 50) * 50);
|
|
+ range = ((nodeCount + 49) / 50) * 50;
|
|
}
|
|
|
|
+ m_kad_scope->SetRanges(0.0, range);
|
|
+
|
|
m_kad_scope->AppendPoints(update.timestamp, apfKad);
|
|
}
|
|
|
|
wxStaticText* label = CastChild( wxT("nodesListLabel"), wxStaticText );
|
|
wxCHECK_RET(label, wxT("Failed to find kad-nodes label"));
|
|
|
|
- label->SetLabel(wxString::Format(_("Nodes (%u)"), nodeCount));
|
|
+ label->SetLabel(wxString::Format(_("Active nodes %u (total %u)"), activeNodeCount, nodeCount));
|
|
label->GetParent()->Layout();
|
|
}
|
|
|
|
diff -urdpN ../aMule-2.1.3-orig/src/kademlia/kademlia/Entry.h ./src/kademlia/kademlia/Entry.h
|
|
--- ../aMule-2.1.3-orig/src/kademlia/kademlia/Entry.h 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/kademlia/kademlia/Entry.h 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -81,6 +81,19 @@ public:
|
|
return 0;
|
|
}
|
|
|
|
+ float GetFloatTagValue(const wxString& tagname) const
|
|
+ {
|
|
+ TagList::const_iterator it;
|
|
+ Kademlia::CTag* tag;
|
|
+ for (it = taglist.begin(); it != taglist.end(); ++it) {
|
|
+ tag = *it;
|
|
+ if (!tag->m_name.Cmp(tagname) && tag->IsFloat()) {
|
|
+ return tag->GetFloat();
|
|
+ }
|
|
+ }
|
|
+ return 0.f;
|
|
+ }
|
|
+
|
|
wxString GetStrTagValue(const wxString& tagname) const
|
|
{
|
|
TagList::const_iterator it;
|
|
diff -urdpN ../aMule-2.1.3-orig/src/kademlia/kademlia/Indexed.cpp ./src/kademlia/kademlia/Indexed.cpp
|
|
--- ../aMule-2.1.3-orig/src/kademlia/kademlia/Indexed.cpp 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/kademlia/kademlia/Indexed.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -48,12 +48,16 @@ there client on the eMule forum..
|
|
#include "../net/KademliaUDPListener.h"
|
|
#include "../utils/UInt128.h"
|
|
#include "../../OtherFunctions.h"
|
|
+#include <common/Format.h>
|
|
#include "../kademlia/Tag.h"
|
|
#include "../io/FileIO.h"
|
|
#include "../io/IOException.h"
|
|
#include "amule.h"
|
|
#include "Preferences.h"
|
|
#include "Logger.h"
|
|
+#include <cmath> //for pow in debug
|
|
+#include "../../NetworkFunctions.h" //needed still for debug
|
|
+#include "RemoteSettings.h"
|
|
|
|
#include <wx/arrstr.h>
|
|
|
|
@@ -74,9 +78,9 @@ wxString CIndexed::m_loadfilename;
|
|
|
|
CIndexed::CIndexed()
|
|
{
|
|
- m_sfilename = theApp.ConfigDir + wxT("src_index.dat");
|
|
- m_kfilename = theApp.ConfigDir + wxT("key_index.dat");
|
|
- m_loadfilename = theApp.ConfigDir + wxT("load_index.dat");
|
|
+ m_sfilename = theApp.ConfigDir + wxT("src_index.TEST5");
|
|
+ m_kfilename = theApp.ConfigDir + wxT("key_index.TEST5");
|
|
+ m_loadfilename = theApp.ConfigDir + wxT("load_index.TEST5");
|
|
m_lastClean = time(NULL) + (60*30);
|
|
m_totalIndexSource = 0;
|
|
m_totalIndexKeyword = 0;
|
|
@@ -120,8 +124,9 @@ void CIndexed::readFile(void)
|
|
|
|
uint32 version = k_file.readUInt32();
|
|
if( version < 2 ) {
|
|
- time_t savetime = k_file.readUInt32();
|
|
- if( savetime > time(NULL) ) {
|
|
+ uint32 savetime = k_file.readUInt32();
|
|
+ uint32 now = (uint32)time(NULL);
|
|
+ if( savetime + theApp.rm->kadRepublishTimeK > now ) {
|
|
CUInt128 id;
|
|
|
|
k_file.readUInt128(&id);
|
|
@@ -144,6 +149,8 @@ void CIndexed::readFile(void)
|
|
while( tagList ) {
|
|
CTag* tag = k_file.readTag();
|
|
if(tag) {
|
|
+ uint32 tmpValue;
|
|
+
|
|
if (!tag->m_name.Cmp(wxT(TAG_FILENAME))) {
|
|
toaddN->fileName = tag->GetStr();
|
|
KadTagStrMakeLower(toaddN->fileName); // Make lowercase, the search code expects lower case strings!
|
|
@@ -162,6 +169,22 @@ void CIndexed::readFile(void)
|
|
} else if (!tag->m_name.Cmp(wxT(TAG_SOURCEUPORT))) {
|
|
toaddN->udpport = tag->GetInt();
|
|
toaddN->taglist.push_back(tag);
|
|
+ // Mod Adu
|
|
+ // lupz
|
|
+ // riallineo alla data attuale le date memorizzate
|
|
+ // è necessario per manterenere un comportamento coerente anche tra i
|
|
+ // muli che non stanno online h24
|
|
+ } else if ( !tag->m_name.Cmp(wxT(TAG_KADFIRSTPUBLISH)) ||
|
|
+ !tag->m_name.Cmp(wxT(TAG_KADLASTPUBLISH)) ||
|
|
+ !tag->m_name.Cmp(wxT(TAG_KADCOMPLETE_FIRSTPUBLISH)) ||
|
|
+ !tag->m_name.Cmp(wxT(TAG_KADCOMPLETE_LASTPUBLISH)))
|
|
+ {
|
|
+ wxString tmpTagName = wxString(tag->m_name);
|
|
+ tmpValue = tag->GetInt() + (now - savetime);
|
|
+ delete tag;
|
|
+ tag = new CTagUInt32(tmpTagName, tmpValue);
|
|
+ toaddN->taglist.push_back(tag);
|
|
+ // Fine mod adu
|
|
} else {
|
|
toaddN->taglist.push_back(tag);
|
|
}
|
|
@@ -171,9 +194,10 @@ void CIndexed::readFile(void)
|
|
toaddN->keyID.setValue(keyID);
|
|
toaddN->sourceID.setValue(sourceID);
|
|
uint8 load = 0;
|
|
- if(AddKeyword(keyID, sourceID, toaddN, load)) {
|
|
+ if(AddKeyword(keyID, sourceID, toaddN, load, true)) {
|
|
totalKeyword++;
|
|
} else {
|
|
+ AddDebugLogLineM( false, logKadIndex, CFormat(wxT("Scartato file: %s")) % toaddN->fileName);
|
|
delete toaddN;
|
|
}
|
|
numName--;
|
|
@@ -293,7 +317,7 @@ CIndexed::~CIndexed()
|
|
uint32 version = 1;
|
|
s_file.writeUInt32(version);
|
|
|
|
- s_file.writeUInt32(time(NULL)+KADEMLIAREPUBLISHTIMES);
|
|
+ s_file.writeUInt32(time(NULL)+theApp.rm->kadRepublishTimeS);
|
|
|
|
s_file.writeUInt32(m_Sources_map.size());
|
|
SrcHashMap::iterator itSrcHash = m_Sources_map.begin();
|
|
@@ -333,7 +357,7 @@ CIndexed::~CIndexed()
|
|
uint32 version = 1;
|
|
k_file.writeUInt32(version);
|
|
|
|
- k_file.writeUInt32(time(NULL)+KADEMLIAREPUBLISHTIMEK);
|
|
+ k_file.writeUInt32(time(NULL));
|
|
|
|
k_file.writeUInt128(Kademlia::CKademlia::getPrefs()->getKadID());
|
|
|
|
@@ -486,7 +510,7 @@ void CIndexed::clean(void)
|
|
m_lastClean = time(NULL) + MIN2S(30);
|
|
}
|
|
|
|
-bool CIndexed::AddKeyword(const CUInt128& keyID, const CUInt128& sourceID, Kademlia::CEntry* entry, uint8& load)
|
|
+bool CIndexed::AddKeyword(const CUInt128& keyID, const CUInt128& sourceID, Kademlia::CEntry* entry, uint8& load,bool loading)
|
|
{
|
|
if( !entry ) {
|
|
return false;
|
|
@@ -503,9 +527,21 @@ bool CIndexed::AddKeyword(const CUInt128
|
|
|
|
KeyHashMap::iterator itKeyHash = m_Keyword_map.find(keyID);
|
|
KeyHash* currKeyHash = NULL;
|
|
+ float avail = 1.f, cavail = 1.f;
|
|
+ uint32 now = (uint32)time(NULL);
|
|
+
|
|
if(itKeyHash == m_Keyword_map.end()) {
|
|
Source* currSource = new Source;
|
|
currSource->sourceID.setValue(sourceID);
|
|
+ if (!loading) {
|
|
+ entry->taglist.push_back(new CTagFloat(TAG_KADSOURCES, avail));
|
|
+ entry->taglist.push_back(new CTagUInt32(TAG_KADFIRSTPUBLISH, now));
|
|
+ entry->taglist.push_back(new CTagUInt32(TAG_KADLASTPUBLISH, now));
|
|
+
|
|
+ entry->taglist.push_back(new CTagFloat(TAG_KADCOMPLETE_SOURCES, cavail));
|
|
+ entry->taglist.push_back(new CTagUInt32(TAG_KADCOMPLETE_FIRSTPUBLISH, now));
|
|
+ entry->taglist.push_back(new CTagUInt32(TAG_KADCOMPLETE_LASTPUBLISH, now));
|
|
+ }
|
|
currSource->entryList.push_front(entry);
|
|
currKeyHash = new KeyHash;
|
|
currKeyHash->keyID.setValue(keyID);
|
|
@@ -526,24 +562,71 @@ bool CIndexed::AddKeyword(const CUInt128
|
|
CSourceKeyMap::iterator itSource = currKeyHash->m_Source_map.find(sourceID);
|
|
if(itSource != currKeyHash->m_Source_map.end()) {
|
|
currSource = itSource->second;
|
|
+ Kademlia::CEntry* currEntry = NULL;
|
|
+ uint32 firstPublish = now, cfirstPublish = now;
|
|
+
|
|
if (currSource->entryList.size() > 0) {
|
|
- if( indexTotal > KADEMLIAMAXINDEX - 5000 ) {
|
|
- load = 100;
|
|
- //We are in a hot node.. If we continued to update all the publishes
|
|
- //while this index is full, popular files will be the only thing you index.
|
|
- return false;
|
|
- }
|
|
- delete currSource->entryList.front();
|
|
+ currEntry = currSource->entryList.front();
|
|
+ avail = currEntry->GetFloatTagValue(wxT(TAG_KADSOURCES));
|
|
+ firstPublish = currEntry->GetIntTagValue(wxT(TAG_KADFIRSTPUBLISH));
|
|
+ uint32 publishInterval = (uint32)(now - currEntry->GetIntTagValue(wxT(TAG_KADLASTPUBLISH)));
|
|
+ uint32 pubkRTK = currEntry->GetIntTagValue(wxT(TAG_KADREPUBLISHTIMEK));
|
|
+
|
|
+ avail = calcolaStima( avail, firstPublish, publishInterval, pubkRTK, entry->ip == currEntry->ip, now);
|
|
+
|
|
+ cavail = currEntry->GetFloatTagValue(wxT(TAG_KADCOMPLETE_SOURCES));
|
|
+ cfirstPublish = currEntry->GetIntTagValue(wxT(TAG_KADCOMPLETE_FIRSTPUBLISH));
|
|
+
|
|
+ uint32 complete = currEntry->GetIntTagValue(wxT(TAG_KADCOMPLETE));
|
|
+
|
|
+ if ( complete ) {
|
|
+ uint32 cpublishInterval = (uint32)(now - currEntry->GetIntTagValue(wxT(TAG_KADCOMPLETE_LASTPUBLISH)));
|
|
+
|
|
+ cavail = calcolaStima( cavail, cfirstPublish, cpublishInterval, pubkRTK, entry->ip == currEntry->ip, now);
|
|
+ }
|
|
+
|
|
+#if ADU_BETA_MAJ > 0
|
|
+
|
|
+ AddDebugLogLineM( false, logKadIndex, CFormat(wxT("Estimated %.0f (N: %.0f) sources after %s publish for ed2k://|file|%s|%u|%s|/"))
|
|
+ % avail
|
|
+ % normalizzaStima(avail, firstPublish, now)
|
|
+ % Uint32toStringIP(wxUINT32_SWAP_ALWAYS(entry->ip))
|
|
+ % entry->fileName
|
|
+ % entry->size
|
|
+ % sourceID.toHexString() );
|
|
+
|
|
+ // END
|
|
+#endif
|
|
+
|
|
+ delete currEntry;
|
|
currSource->entryList.pop_front();
|
|
} else {
|
|
m_totalIndexKeyword++;
|
|
}
|
|
load = (indexTotal*100)/KADEMLIAMAXINDEX;
|
|
+
|
|
+ entry->taglist.push_back(new CTagFloat(TAG_KADSOURCES, avail));
|
|
+ entry->taglist.push_back(new CTagUInt32(TAG_KADFIRSTPUBLISH, firstPublish));
|
|
+ entry->taglist.push_back(new CTagUInt32(TAG_KADLASTPUBLISH, now));
|
|
+
|
|
+ entry->taglist.push_back(new CTagFloat(TAG_KADCOMPLETE_SOURCES, cavail));
|
|
+ entry->taglist.push_back(new CTagUInt32(TAG_KADCOMPLETE_FIRSTPUBLISH, cfirstPublish));
|
|
+ entry->taglist.push_back(new CTagUInt32(TAG_KADCOMPLETE_LASTPUBLISH, now));
|
|
+
|
|
currSource->entryList.push_front(entry);
|
|
return true;
|
|
} else {
|
|
currSource = new Source;
|
|
currSource->sourceID.setValue(sourceID);
|
|
+ if (!loading) {
|
|
+ entry->taglist.push_back(new CTagFloat(TAG_KADSOURCES, avail));
|
|
+ entry->taglist.push_back(new CTagUInt32(TAG_KADFIRSTPUBLISH, now));
|
|
+ entry->taglist.push_back(new CTagUInt32(TAG_KADLASTPUBLISH, now));
|
|
+
|
|
+ entry->taglist.push_back(new CTagFloat(TAG_KADCOMPLETE_SOURCES, cavail));
|
|
+ entry->taglist.push_back(new CTagUInt32(TAG_KADCOMPLETE_FIRSTPUBLISH, now));
|
|
+ entry->taglist.push_back(new CTagUInt32(TAG_KADCOMPLETE_LASTPUBLISH, now));
|
|
+ }
|
|
currSource->entryList.push_front(entry);
|
|
currKeyHash->m_Source_map[currSource->sourceID] = currSource;
|
|
m_totalIndexKeyword++;
|
|
@@ -593,18 +676,18 @@ bool CIndexed::AddSources(const CUInt128
|
|
currSource->entryList.pop_front();
|
|
delete currName;
|
|
currSource->entryList.push_front(entry);
|
|
- load = (size*100)/KADEMLIAMAXSOUCEPERFILE;
|
|
+ load = (size*100)/theApp.rm->kadMaxSrcFile;
|
|
return true;
|
|
}
|
|
} else {
|
|
//This should never happen!
|
|
currSource->entryList.push_front(entry);
|
|
wxASSERT(0);
|
|
- load = (size*100)/KADEMLIAMAXSOUCEPERFILE;
|
|
+ load = (size*100)/theApp.rm->kadMaxSrcFile;
|
|
return true;
|
|
}
|
|
}
|
|
- if( size > KADEMLIAMAXSOUCEPERFILE ) {
|
|
+ if( size > theApp.rm->kadMaxSrcFile ) {
|
|
Source* currSource = currSrcHash->m_Source_map.back();
|
|
currSrcHash->m_Source_map.pop_back();
|
|
wxASSERT(currSource!=NULL);
|
|
@@ -623,7 +706,7 @@ bool CIndexed::AddSources(const CUInt128
|
|
currSource->entryList.push_front(entry);
|
|
currSrcHash->m_Source_map.push_front(currSource);
|
|
m_totalIndexSource++;
|
|
- load = (size*100)/KADEMLIAMAXSOUCEPERFILE;
|
|
+ load = (size*100)/theApp.rm->kadMaxSrcFile;
|
|
return true;
|
|
}
|
|
}
|
|
@@ -667,18 +750,18 @@ bool CIndexed::AddNotes(const CUInt128&
|
|
currNote->entryList.pop_front();
|
|
delete currName;
|
|
currNote->entryList.push_front(entry);
|
|
- load = (size*100)/KADEMLIAMAXNOTESPERFILE;
|
|
+ load = (size*100)/theApp.rm->kadMaxNotFile;
|
|
return true;
|
|
}
|
|
} else {
|
|
//This should never happen!
|
|
currNote->entryList.push_front(entry);
|
|
wxASSERT(0);
|
|
- load = (size*100)/KADEMLIAMAXNOTESPERFILE;
|
|
+ load = (size*100)/theApp.rm->kadMaxNotFile;
|
|
return true;
|
|
}
|
|
}
|
|
- if( size > KADEMLIAMAXNOTESPERFILE ) {
|
|
+ if( size > theApp.rm->kadMaxNotFile ) {
|
|
Source* currNote = currNoteHash->m_Source_map.back();
|
|
currNoteHash->m_Source_map.pop_back();
|
|
wxASSERT(currNote!=NULL);
|
|
@@ -696,7 +779,7 @@ bool CIndexed::AddNotes(const CUInt128&
|
|
currNote->sourceID.setValue(sourceID);
|
|
currNote->entryList.push_front(entry);
|
|
currNoteHash->m_Source_map.push_front(currNote);
|
|
- load = (size*100)/KADEMLIAMAXNOTESPERFILE;
|
|
+ load = (size*100)/theApp.rm->kadMaxNotFile;
|
|
return true;
|
|
}
|
|
}
|
|
@@ -952,7 +1035,7 @@ void CIndexed::SendValidKeywordResult(co
|
|
currKeyHash = itKeyHash->second;
|
|
byte packet[1024*50];
|
|
CByteIO bio(packet,sizeof(packet));
|
|
- bio.writeByte(OP_KADEMLIAHEADER);
|
|
+ bio.writeByte(theApp.rm->kadOpcode);
|
|
bio.writeByte(KADEMLIA_SEARCH_RES);
|
|
bio.writeUInt128(keyID);
|
|
bio.writeUInt16(50);
|
|
@@ -975,7 +1058,7 @@ void CIndexed::SendValidKeywordResult(co
|
|
AddDebugLogLineM(false, logClientKadUDP, wxT("KadSearchRes ") + Uint32_16toStringIP_Port(wxUINT32_SWAP_ALWAYS(ip), port));
|
|
CKademlia::getUDPListener()->sendPacket(packet, len, ip, port);
|
|
bio.reset();
|
|
- bio.writeByte(OP_KADEMLIAHEADER);
|
|
+ bio.writeByte(theApp.rm->kadOpcode);
|
|
bio.writeByte(KADEMLIA_SEARCH_RES);
|
|
bio.writeUInt128(keyID);
|
|
bio.writeUInt16(50);
|
|
@@ -1004,7 +1087,7 @@ void CIndexed::SendValidSourceResult(con
|
|
currSrcHash = itSrcHash->second;
|
|
byte packet[1024*50];
|
|
CByteIO bio(packet,sizeof(packet));
|
|
- bio.writeByte(OP_KADEMLIAHEADER);
|
|
+ bio.writeByte(theApp.rm->kadOpcode);
|
|
bio.writeByte(KADEMLIA_SEARCH_RES);
|
|
bio.writeUInt128(keyID);
|
|
bio.writeUInt16(50);
|
|
@@ -1025,7 +1108,7 @@ void CIndexed::SendValidSourceResult(con
|
|
AddDebugLogLineM(false, logClientKadUDP, wxT("KadSearchRes ") + Uint32_16toStringIP_Port(wxUINT32_SWAP_ALWAYS(ip) , port));
|
|
CKademlia::getUDPListener()->sendPacket(packet, len, ip, port);
|
|
bio.reset();
|
|
- bio.writeByte(OP_KADEMLIAHEADER);
|
|
+ bio.writeByte(theApp.rm->kadOpcode);
|
|
bio.writeByte(KADEMLIA_SEARCH_RES);
|
|
bio.writeUInt128(keyID);
|
|
bio.writeUInt16(50);
|
|
@@ -1053,7 +1136,7 @@ void CIndexed::SendValidNoteResult(const
|
|
currNoteHash = itNote->second;
|
|
byte packet[1024*50];
|
|
CByteIO bio(packet,sizeof(packet));
|
|
- bio.writeByte(OP_KADEMLIAHEADER);
|
|
+ bio.writeByte(theApp.rm->kadOpcode);
|
|
bio.writeByte(KADEMLIA_SRC_NOTES_RES);
|
|
bio.writeUInt128(keyID);
|
|
bio.writeUInt16(50);
|
|
@@ -1074,7 +1157,7 @@ void CIndexed::SendValidNoteResult(const
|
|
AddDebugLogLineM(false, logClientKadUDP, wxT("KadNotesRes ") + Uint32_16toStringIP_Port(wxUINT32_SWAP_ALWAYS(ip), port));
|
|
CKademlia::getUDPListener()->sendPacket(packet, len, ip, port);
|
|
bio.reset();
|
|
- bio.writeByte(OP_KADEMLIAHEADER);
|
|
+ bio.writeByte(theApp.rm->kadOpcode);
|
|
bio.writeByte(KADEMLIA_SRC_NOTES_RES);
|
|
bio.writeUInt128(keyID);
|
|
bio.writeUInt16(50);
|
|
diff -urdpN ../aMule-2.1.3-orig/src/kademlia/kademlia/Indexed.h ./src/kademlia/kademlia/Indexed.h
|
|
--- ../aMule-2.1.3-orig/src/kademlia/kademlia/Indexed.h 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/kademlia/kademlia/Indexed.h 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -122,7 +122,7 @@ public:
|
|
CIndexed();
|
|
~CIndexed();
|
|
|
|
- bool AddKeyword(const CUInt128& keyWordID, const CUInt128& sourceID, Kademlia::CEntry* entry, uint8& load);
|
|
+ bool AddKeyword(const CUInt128& keyWordID, const CUInt128& sourceID, Kademlia::CEntry* entry, uint8& load,bool loading = false);
|
|
bool AddSources(const CUInt128& keyWordID, const CUInt128& sourceID, Kademlia::CEntry* entry, uint8& load);
|
|
bool AddNotes(const CUInt128& keyID, const CUInt128& sourceID, Kademlia::CEntry* entry, uint8& load);
|
|
bool AddLoad(const CUInt128& keyID, uint32 time);
|
|
diff -urdpN ../aMule-2.1.3-orig/src/kademlia/kademlia/Prefs.cpp ./src/kademlia/kademlia/Prefs.cpp
|
|
--- ../aMule-2.1.3-orig/src/kademlia/kademlia/Prefs.cpp 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/kademlia/kademlia/Prefs.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -110,6 +110,13 @@ void CPrefs::readFile()
|
|
} catch (const CSafeIOException& e) {
|
|
AddDebugLogLineM(true, logKadPrefs, wxT("IO error while reading prefs: ") + e.what());
|
|
}
|
|
+
|
|
+ // Mod Adu
|
|
+ // lupz
|
|
+ // evitiamo di avere client con id tutto nullo
|
|
+ if (m_clientID == 0)
|
|
+ m_clientID.setValueRandom();
|
|
+ // Fine mod Adu
|
|
}
|
|
|
|
void CPrefs::writeFile()
|
|
diff -urdpN ../aMule-2.1.3-orig/src/kademlia/kademlia/Search.cpp ./src/kademlia/kademlia/Search.cpp
|
|
--- ../aMule-2.1.3-orig/src/kademlia/kademlia/Search.cpp 2006-02-11 02:23:21.000000000 +0100
|
|
+++ ./src/kademlia/kademlia/Search.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -65,6 +65,9 @@ typedef CTag ed2kCTag;
|
|
#include "updownclient.h"
|
|
#include "Logger.h"
|
|
#include "../../Preferences.h"
|
|
+#include <common/Format.h>
|
|
+#include <cmath>
|
|
+#include "RemoteSettings.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
@@ -132,6 +135,10 @@ CSearch::~CSearch()
|
|
// WTF?
|
|
}
|
|
}
|
|
+
|
|
+ if (!m_unique_found_srcs.empty() && temp) {
|
|
+ AddDebugLogLineM(false, logKadIndex, wxString::Format(wxT("Got total results %d for %s"), m_unique_found_srcs.size(), temp->GetFileName().c_str()) );
|
|
+ }
|
|
}
|
|
|
|
void CSearch::go(void)
|
|
@@ -264,7 +271,7 @@ void CSearch::processResponse(uint32 fro
|
|
|
|
// Not interested in responses for FIND_NODE, will be added to contacts by udp listener
|
|
if (m_type == NODE) {
|
|
- AddDebugLogLineM(false, logKadSearch, wxT("Node type search result, discarding."));
|
|
+ AddDebugLogLineM(false, logKadSearch, wxT("Node type search result, discarding. node: ") + Uint32_16toStringIP_Port(wxUINT32_SWAP_ALWAYS(fromIP),fromPort));
|
|
m_answers++;
|
|
m_possible.clear();
|
|
delete results;
|
|
@@ -388,7 +395,7 @@ void CSearch::StorePacket()
|
|
break;
|
|
}
|
|
case STOREFILE: {
|
|
- AddDebugLogLineM(false, logKadSearch, wxT("Search result type: StoreFile"));
|
|
+ //AddDebugLogLineM(false, logKadSearch, wxT("Search result type: StoreFile"));
|
|
if( m_answers > SEARCHSTOREFILE_TOTAL ) {
|
|
prepareToStop();
|
|
break;
|
|
@@ -437,7 +444,7 @@ void CSearch::StorePacket()
|
|
break;
|
|
}
|
|
case STOREKEYWORD: {
|
|
- AddDebugLogLineM(false, logKadSearch, wxT("Search result type: StoreKeyword"));
|
|
+ //AddDebugLogLineM(false, logKadSearch, wxT("Search result type: StoreKeyword"));
|
|
if( m_answers > SEARCHSTOREKEYWORD_TOTAL ) {
|
|
prepareToStop();
|
|
break;
|
|
@@ -458,7 +465,7 @@ void CSearch::StorePacket()
|
|
break;
|
|
}
|
|
case STORENOTES: {
|
|
- AddDebugLogLineM(false, logKadSearch, wxT("Search result type: StoreNotes"));
|
|
+ //AddDebugLogLineM(false, logKadSearch, wxT("Search result type: StoreNotes"));
|
|
byte fileid[16];
|
|
m_target.toByteArray(fileid);
|
|
CKnownFile* file = theApp.sharedfiles->GetFileByID(CMD4Hash(fileid));
|
|
@@ -554,7 +561,7 @@ void CSearch::processResult(uint32 fromI
|
|
processResultNotes(fromIP, fromPort, answer, info);
|
|
break;
|
|
}
|
|
- AddDebugLogLineM(false, logKadSearch, wxT("Got result ") + type + wxT(" from ") + Uint32_16toStringIP_Port(wxUINT32_SWAP_ALWAYS(fromIP),fromPort));
|
|
+ //AddDebugLogLineM(false, logKadSearch, wxT("Got result ") + type + wxT(" from ") + Uint32_16toStringIP_Port(wxUINT32_SWAP_ALWAYS(fromIP),fromPort));
|
|
}
|
|
|
|
void CSearch::processResultFile(uint32 WXUNUSED(fromIP), uint16 WXUNUSED(fromPort), const CUInt128 &answer, TagList *info)
|
|
@@ -602,6 +609,8 @@ void CSearch::processResultFile(uint32 W
|
|
}
|
|
delete info;
|
|
|
|
+ m_unique_found_srcs[ip] = type;
|
|
+
|
|
switch( type ) {
|
|
case 1:
|
|
case 3: {
|
|
@@ -675,7 +684,7 @@ void CSearch::processResultNotes(uint32
|
|
}
|
|
}
|
|
|
|
-void CSearch::processResultKeyword(uint32 WXUNUSED(fromIP), uint16 WXUNUSED(fromPort), const CUInt128 &answer, TagList *info)
|
|
+void CSearch::processResultKeyword(uint32 fromIP, uint16 fromPort, const CUInt128 &answer, TagList *info)
|
|
{
|
|
bool interested = false;
|
|
wxString name;
|
|
@@ -689,6 +698,9 @@ void CSearch::processResultKeyword(uint3
|
|
wxString codec;
|
|
uint32 bitrate = 0;
|
|
uint32 availability = 0;
|
|
+ float kadavailability = 0.f;
|
|
+ uint32 first = 0;
|
|
+ uint32 last = 0;
|
|
|
|
for (TagList::const_iterator it = info->begin(); it != info->end(); ++it) {
|
|
CTag* tag = *it;
|
|
@@ -714,6 +726,12 @@ void CSearch::processResultKeyword(uint3
|
|
bitrate = tag->GetInt();
|
|
} else if (!tag->m_name.Cmp(wxT(TAG_MEDIA_CODEC))) {
|
|
codec = tag->GetStr();
|
|
+ } else if (!tag->m_name.Cmp(wxT(TAG_KADFIRSTPUBLISH))) {
|
|
+ first = tag->GetInt();
|
|
+ } else if (!tag->m_name.Cmp(wxT(TAG_KADLASTPUBLISH))) {
|
|
+ last = tag->GetInt();
|
|
+ } else if (!tag->m_name.Cmp(wxT(TAG_KADSOURCES))) {
|
|
+ kadavailability = tag->GetFloat();
|
|
} else if (!tag->m_name.Cmp(wxT(TAG_SOURCES))) {
|
|
availability = tag->GetInt();
|
|
if( availability > 65500 ) {
|
|
@@ -724,6 +742,8 @@ void CSearch::processResultKeyword(uint3
|
|
}
|
|
delete info;
|
|
|
|
+ kadavailability = normalizzaStima( kadavailability, first, last );
|
|
+
|
|
// Check that it matches original criteria
|
|
// generally this is ok, but with the transition of Kad from ACP to Unicode we may receive 'wrong' results in the next months which are
|
|
// actually not 'wrong' (don't ask for a detailed explanation)
|
|
@@ -770,7 +790,10 @@ void CSearch::processResultKeyword(uint3
|
|
taglist.push_back(new ed2kCTag(TAG_MEDIA_BITRATE, bitrate));
|
|
}
|
|
if (availability) {
|
|
- taglist.push_back(new ed2kCTag(TAG_SOURCES, availability));
|
|
+ taglist.push_back(new ed2kCTag(TAG_COMPLETE_SOURCES, availability));
|
|
+ }
|
|
+ if (kadavailability) {
|
|
+ taglist.push_back(new ed2kCTag(TAG_SOURCES, (uint32)kadavailability));
|
|
}
|
|
|
|
if (interested) {
|
|
@@ -797,19 +820,19 @@ void CSearch::sendFindValue(const CUInt1
|
|
switch(m_type){
|
|
case NODE:
|
|
case NODECOMPLETE:
|
|
- bio.WriteUInt8(KADEMLIA_FIND_NODE);
|
|
+ bio.WriteUInt8(theApp.rm->kadFindNode);
|
|
break;
|
|
case FILE:
|
|
case KEYWORD:
|
|
case FINDSOURCE:
|
|
case NOTES:
|
|
- bio.WriteUInt8(KADEMLIA_FIND_VALUE);
|
|
+ bio.WriteUInt8(theApp.rm->kadFindValue);
|
|
break;
|
|
case FINDBUDDY:
|
|
case STOREFILE:
|
|
case STOREKEYWORD:
|
|
case STORENOTES:
|
|
- bio.WriteUInt8(KADEMLIA_STORE);
|
|
+ bio.WriteUInt8(theApp.rm->kadStore);
|
|
break;
|
|
default:
|
|
AddDebugLogLineM(false, logKadSearch, wxT("Invalid search type. (CSearch::sendFindValue)"));
|
|
@@ -872,7 +895,9 @@ void CSearch::PreparePacketForTags( CByt
|
|
taglist.push_back(new CTagStr(TAG_FILENAME, file->GetFileName()));
|
|
taglist.push_back(new CTagUInt(TAG_FILESIZE, file->GetFileSize()));
|
|
taglist.push_back(new CTagUInt(TAG_SOURCES, (uint32)file->m_nCompleteSourcesCount));
|
|
-
|
|
+ taglist.push_back(new CTagUInt32(TAG_KADREPUBLISHTIMEK, theApp.rm->kadRepublishTimeK));
|
|
+ taglist.push_back(new CTagUInt(TAG_KADCOMPLETE, ( file->IsPartFile() ? 0 : 1 )));
|
|
+
|
|
// eD2K file type (Audio, Video, ...)
|
|
// NOTE: Archives and CD-Images are published with file type "Pro"
|
|
wxString strED2KFileType(GetED2KFileTypeSearchTerm(GetED2KFileTypeID(file->GetFileName())));
|
|
@@ -953,7 +978,7 @@ void CSearch::PreparePacket(void)
|
|
}
|
|
if( count > 100 ) {
|
|
bio3 = new CByteIO(packet3,sizeof(packet3));
|
|
- bio3->writeByte(OP_KADEMLIAHEADER);
|
|
+ bio3->writeByte(theApp.rm->kadOpcode);
|
|
bio3->writeByte(KADEMLIA_PUBLISH_REQ);
|
|
bio3->writeUInt128(m_target);
|
|
bio3->writeUInt16(count-100);
|
|
@@ -973,7 +998,7 @@ void CSearch::PreparePacket(void)
|
|
}
|
|
if( count > 50 ) {
|
|
bio2 = new CByteIO(packet2,sizeof(packet2));
|
|
- bio2->writeByte(OP_KADEMLIAHEADER);
|
|
+ bio2->writeByte(theApp.rm->kadOpcode);
|
|
bio2->writeByte(KADEMLIA_PUBLISH_REQ);
|
|
bio2->writeUInt128(m_target);
|
|
bio2->writeUInt16(count-50);
|
|
@@ -993,7 +1018,7 @@ void CSearch::PreparePacket(void)
|
|
}
|
|
if( count > 0 ) {
|
|
bio1 = new CByteIO(packet1,sizeof(packet1));
|
|
- bio1->writeByte(OP_KADEMLIAHEADER);
|
|
+ bio1->writeByte(theApp.rm->kadOpcode);
|
|
bio1->writeByte(KADEMLIA_PUBLISH_REQ);
|
|
bio1->writeUInt128(m_target);
|
|
bio1->writeUInt16(count);
|
|
diff -urdpN ../aMule-2.1.3-orig/src/kademlia/kademlia/Search.h ./src/kademlia/kademlia/Search.h
|
|
--- ../aMule-2.1.3-orig/src/kademlia/kademlia/Search.h 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/kademlia/kademlia/Search.h 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -148,6 +148,7 @@ private:
|
|
ContactMap m_best;
|
|
ContactList m_delete;
|
|
ContactMap m_inUse;
|
|
+ std::map<uint32, uint8> m_unique_found_srcs;
|
|
};
|
|
|
|
} // End namespace
|
|
diff -urdpN ../aMule-2.1.3-orig/src/kademlia/net/KademliaUDPListener.cpp ./src/kademlia/net/KademliaUDPListener.cpp
|
|
--- ../aMule-2.1.3-orig/src/kademlia/net/KademliaUDPListener.cpp 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/kademlia/net/KademliaUDPListener.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -58,6 +58,11 @@ there client on the eMule forum..
|
|
#include "../../Logger.h"
|
|
#include <common/Format.h>
|
|
#include "../../Preferences.h"
|
|
+#include "../../RemoteSettings.h"
|
|
+
|
|
+// Stefano Picerno: ADunanzaA Mod
|
|
+#include "../../AdunanzA.h"
|
|
+// FIne mod
|
|
|
|
#include <wx/tokenzr.h>
|
|
#include <wx/arrstr.h>
|
|
@@ -93,6 +98,8 @@ void CKademliaUDPListener::sendMyDetails
|
|
bio.WriteUInt16(thePrefs::GetEffectiveUDPPort());
|
|
bio.WriteUInt16(thePrefs::GetPort());
|
|
bio.WriteUInt8(0);
|
|
+ if (opcode==KADEMLIA_HELLO_REQ || opcode==KADEMLIA_HELLO_RES)
|
|
+ AddDebugLogLineM(false, logClientKadUDP, CFormat(wxT("Hello to %s")) % Uint32_16toStringIP_Port(wxUINT32_SWAP_ALWAYS(ip), port));
|
|
sendPacket(&bio, opcode, ip, port);
|
|
}
|
|
|
|
@@ -115,7 +122,7 @@ void CKademliaUDPListener::publishPacket
|
|
//We need to get the tag lists working with CMemFiles..
|
|
byte packet[1024];
|
|
CByteIO bio(packet, sizeof(packet));
|
|
- bio.writeByte(OP_KADEMLIAHEADER);
|
|
+ bio.writeByte(theApp.rm->kadOpcode);
|
|
bio.writeByte(KADEMLIA_PUBLISH_REQ);
|
|
bio.writeUInt128(targetID);
|
|
//We only use this for publishing sources now.. So we always send one here..
|
|
@@ -128,6 +135,13 @@ void CKademliaUDPListener::publishPacket
|
|
|
|
void CKademliaUDPListener::processPacket(const byte* data, uint32 lenData, uint32 ip, uint16 port)
|
|
{
|
|
+ // Stefano Picerno: Modifica Adu
|
|
+ if (!AduIsValidKaduAddress( ip ) )
|
|
+ {
|
|
+ AddDebugLogLineM(false, logKadMain, CFormat(wxT("Skipping processPacket from non kADU %s")) % Uint32_16toStringIP_Port(wxUINT32_SWAP_ALWAYS(ip), port));
|
|
+ return;
|
|
+ }
|
|
+ // Fine Modifica
|
|
//Update connection state only when it changes.
|
|
bool curCon = CKademlia::getPrefs()->hasHadContact();
|
|
CKademlia::getPrefs()->setLastContact();
|
|
@@ -228,6 +242,13 @@ void CKademliaUDPListener::processPacket
|
|
|
|
void CKademliaUDPListener::addContact( const byte *data, uint32 lenData, uint32 ip, uint16 port, uint16 tport)
|
|
{
|
|
+ // Stefano Picerno: mod adu
|
|
+ if (!AduIsValidKaduAddress( ip ) )
|
|
+ {
|
|
+ AddDebugLogLineM(false, logKadMain, CFormat(wxT("Skipping addContact non kADU %s")) % Uint32_16toStringIP_Port(wxUINT32_SWAP_ALWAYS(ip), port));
|
|
+ return;
|
|
+ }
|
|
+ // Fine Modifica
|
|
CMemFile bio((byte*)data, lenData);
|
|
CUInt128 id = bio.ReadUInt128();
|
|
bio.ReadUInt32();
|
|
@@ -253,10 +274,13 @@ void CKademliaUDPListener::addContact( c
|
|
}
|
|
}
|
|
|
|
-void CKademliaUDPListener::addContacts( const byte *data, uint32 lenData, uint16 numContacts)
|
|
+bool CKademliaUDPListener::addContacts( const byte *data, uint32 lenData, uint16 numContacts)
|
|
{
|
|
CMemFile bio((byte*)data, lenData );
|
|
CRoutingZone *routingZone = CKademlia::getRoutingZone();
|
|
+
|
|
+ bool bOnlyFastweb = true;
|
|
+
|
|
for (uint16 i=0; i<numContacts; i++) {
|
|
CUInt128 id = bio.ReadUInt128();
|
|
uint32 ip = bio.ReadUInt32();
|
|
@@ -266,9 +290,14 @@ void CKademliaUDPListener::addContacts(
|
|
byte type = bio.ReadUInt8();
|
|
//AddDebugLogLineM(false, logKadMain, wxT("Adding contact(s) with ip ") + Uint32_16toStringIP_Port(wxUINT32_SWAP_ALWAYS(ip),port));
|
|
if (IsGoodIPPort(wxUINT32_SWAP_ALWAYS(ip),port)) {
|
|
- routingZone->add(id, ip, port, tport, type);
|
|
+ if (AduIsValidKaduAddress( ip ))
|
|
+ routingZone->add(id, ip, port, tport, type);
|
|
+ else
|
|
+ bOnlyFastweb = false;
|
|
}
|
|
}
|
|
+
|
|
+ return bOnlyFastweb;
|
|
}
|
|
|
|
//KADEMLIA_BOOTSTRAP_REQ
|
|
@@ -334,7 +363,12 @@ void CKademliaUDPListener::processBootst
|
|
}
|
|
|
|
// Add these contacts to the list.
|
|
- addContacts(packetData+2, lenPacket-2, numContacts);
|
|
+ if (!addContacts(packetData+2, lenPacket-2, numContacts))
|
|
+ {
|
|
+ // This packet did contain NON fastweb addresses
|
|
+ //
|
|
+ // TODO: Add to blacklist
|
|
+ }
|
|
// Send sender to alive.
|
|
CKademlia::getRoutingZone()->setAlive(ip, port);
|
|
}
|
|
@@ -398,7 +432,11 @@ void CKademliaUDPListener::processKademl
|
|
// bool flag2 = (type >> 7); //Reserved
|
|
// bool flag3 = (type >> 8); //Reserved
|
|
|
|
- type = type & 0x1F;
|
|
+ int req=type;
|
|
+
|
|
+ //type = type & 0x1F;
|
|
+ type=std::min((int)type,56);
|
|
+
|
|
if( type == 0 ) {
|
|
throw wxString::Format(wxT("***NOTE: Received wrong type (0x%02x) in "), type) + wxString::FromAscii(__FUNCTION__);
|
|
}
|
|
@@ -419,10 +457,12 @@ void CKademliaUDPListener::processKademl
|
|
CKademlia::getRoutingZone()->getClosestTo(2, target, distance, (int)type, &results);
|
|
uint16 count = (uint16)results.size();
|
|
|
|
+ AddDebugLogLineM(false, logKadRouting, CFormat(wxT("KadRes %s requested: %u max: %u found: %u")) % Uint32_16toStringIP_Port(wxUINT32_SWAP_ALWAYS(ip), port) % req % type % count);
|
|
+
|
|
// Write response
|
|
- // Max count is 32. size 817..
|
|
- // 16 + 1 + 25(32)
|
|
- CMemFile bio2( 817 );
|
|
+ // Max count is 56. size 1417..
|
|
+ // 16 + 1 + 25(56)
|
|
+ CMemFile bio2( 1417 );
|
|
bio2.WriteUInt128(target);
|
|
bio2.WriteUInt8((byte)count);
|
|
CContact *c;
|
|
@@ -462,6 +502,7 @@ void CKademliaUDPListener::processKademl
|
|
CMemFile bio((byte*)packetData, lenPacket);
|
|
CUInt128 target = bio.ReadUInt128();
|
|
uint16 numContacts = bio.ReadUInt8();
|
|
+ AddDebugLogLineM(false, logKadRouting, CFormat(wxT("KadRes %s found: %u")) % Uint32_16toStringIP_Port(wxUINT32_SWAP_ALWAYS(ip), port) % numContacts);
|
|
|
|
// Verify packet is expected size
|
|
if (lenPacket != (uint32)(16+1 + (16+4+2+2+1)*numContacts)) {
|
|
@@ -480,7 +521,7 @@ void CKademliaUDPListener::processKademl
|
|
uint16 contactPort = bio.ReadUInt16();
|
|
uint16 tport = bio.ReadUInt16();
|
|
byte type = bio.ReadUInt8();
|
|
- if(::IsGoodIPPort(wxUINT32_SWAP_ALWAYS(contactIP),contactPort)) {
|
|
+ if(::IsGoodIPPort(wxUINT32_SWAP_ALWAYS(contactIP),contactPort) && AduIsValidKaduAddress(contactIP)) {
|
|
routingZone->add(id, contactIP, contactPort, tport, type);
|
|
results->push_back(new CContact(id, contactIP, contactPort, tport, target));
|
|
}
|
|
@@ -725,6 +766,7 @@ void CKademliaUDPListener::processSearch
|
|
CSearchManager::processResult(target, ip, port, answer, tags);
|
|
count--;
|
|
}
|
|
+ AddDebugLogLineM(false, logKadSearch, wxT("Got result from ") + Uint32_16toStringIP_Port(wxUINT32_SWAP_ALWAYS(ip),port));
|
|
}
|
|
|
|
//KADEMLIA_PUBLISH_REQ
|
|
@@ -1191,6 +1233,14 @@ void CKademliaUDPListener::processCallba
|
|
|
|
void CKademliaUDPListener::sendPacket(const byte *data, uint32 lenData, uint32 destinationHost, uint16 destinationPort)
|
|
{
|
|
+ // inizio mod Adu
|
|
+ if (!AduIsValidKaduAddress( destinationHost ) )
|
|
+ {
|
|
+ AddDebugLogLineM(false, logKadMain, CFormat(wxT("Skipping sendPacket to non kADU %s")) % Uint32_16toStringIP_Port(wxUINT32_SWAP_ALWAYS(destinationHost), destinationPort));
|
|
+ return;
|
|
+ }
|
|
+ // Fine mod Adu
|
|
+
|
|
//This is temp.. The entire Kad code will be rewritten using CMemFile and send a Packet object directly.
|
|
CMemFile mem_data((byte*)data+2,lenData-2);
|
|
sendPacket(&mem_data,data[1],destinationHost, destinationPort);
|
|
@@ -1198,13 +1248,28 @@ void CKademliaUDPListener::sendPacket(co
|
|
|
|
void CKademliaUDPListener::sendPacket(const byte *data, uint32 lenData, byte opcode, uint32 destinationHost, uint16 destinationPort)
|
|
{
|
|
+ // inizio mod Adu
|
|
+ if (!AduIsValidKaduAddress( destinationHost ) )
|
|
+ {
|
|
+ AddDebugLogLineM(false, logKadMain, CFormat(wxT("Skipping sendPacket to non kADU %s")) % Uint32_16toStringIP_Port(wxUINT32_SWAP_ALWAYS(destinationHost), destinationPort));
|
|
+ return;
|
|
+ }
|
|
+ // Fine mod Adu
|
|
+
|
|
CMemFile mem_data((byte*)data,lenData);
|
|
sendPacket(&mem_data,opcode,destinationHost, destinationPort);
|
|
}
|
|
|
|
void CKademliaUDPListener::sendPacket(CMemFile *data, byte opcode, uint32 destinationHost, uint16 destinationPort)
|
|
{
|
|
- CPacket* packet = new CPacket(data, OP_KADEMLIAHEADER, opcode);
|
|
+ // inizio mod Adu
|
|
+ if (!AduIsValidKaduAddress( destinationHost ) )
|
|
+ {
|
|
+ AddDebugLogLineM(false, logKadMain, CFormat(wxT("Skipping sendPacket to non kADU %s")) % Uint32_16toStringIP_Port(wxUINT32_SWAP_ALWAYS(destinationHost), destinationPort));
|
|
+ return;
|
|
+ }
|
|
+ // Fine mod Adu
|
|
+ CPacket* packet = new CPacket(data, theApp.rm->kadOpcode, opcode);
|
|
if( packet->GetPacketSize() > 200 ) {
|
|
packet->PackPacket();
|
|
}
|
|
diff -urdpN ../aMule-2.1.3-orig/src/kademlia/net/KademliaUDPListener.h ./src/kademlia/net/KademliaUDPListener.h
|
|
--- ../aMule-2.1.3-orig/src/kademlia/net/KademliaUDPListener.h 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/kademlia/net/KademliaUDPListener.h 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -72,7 +72,8 @@ public:
|
|
|
|
private:
|
|
void addContact (const byte* data, uint32 lenData, uint32 ip, uint16 port, uint16 tport = 0);
|
|
- void addContacts(const byte* data, uint32 lenData, uint16 numContacts);
|
|
+ // Stefano Picerno: Aggiunto il valore di ritorno. Se e' true, tutti i contatti sono validi e sono stati aggiunti.
|
|
+ bool addContacts(const byte* data, uint32 lenData, uint16 numContacts);
|
|
static SSearchTerm* CreateSearchExpressionTree(CMemFile& bio, int iLevel);
|
|
static void Free(SSearchTerm* pSearchTerms);
|
|
|
|
diff -urdpN ../aMule-2.1.3-orig/src/kademlia/routing/Contact.cpp ./src/kademlia/routing/Contact.cpp
|
|
--- ../aMule-2.1.3-orig/src/kademlia/routing/Contact.cpp 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/kademlia/routing/Contact.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -54,6 +54,9 @@ using namespace Kademlia;
|
|
CContact::~CContact()
|
|
{
|
|
theStats::RemoveKadNode();
|
|
+
|
|
+ if (m_type<3)
|
|
+ theStats::RemoveActiveKadNode();
|
|
}
|
|
|
|
CContact::CContact()
|
|
@@ -152,11 +155,18 @@ void CContact::checkingType()
|
|
m_expires = time(NULL) + MIN2S(2);
|
|
m_type++;
|
|
|
|
+ if (m_type==3)
|
|
+ theStats::RemoveActiveKadNode();
|
|
+
|
|
}
|
|
|
|
void CContact::updateType()
|
|
{
|
|
uint32 hours = (time(NULL)-m_created)/HR2S(1);
|
|
+
|
|
+ if (m_type>2)
|
|
+ theStats::AddActiveKadNode();
|
|
+
|
|
switch(hours) {
|
|
case 0:
|
|
m_type = 2;
|
|
diff -urdpN ../aMule-2.1.3-orig/src/kademlia/routing/RoutingZone.cpp ./src/kademlia/routing/RoutingZone.cpp
|
|
--- ../aMule-2.1.3-orig/src/kademlia/routing/RoutingZone.cpp 2006-03-10 05:07:58.000000000 +0100
|
|
+++ ./src/kademlia/routing/RoutingZone.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -64,6 +64,13 @@ there client on the eMule forum..
|
|
#include "../../Logger.h"
|
|
#include "../../NetworkFunctions.h"
|
|
#include "../../ArchSpecific.h"
|
|
+#include "../../GuiEvents.h"
|
|
+#include <wx/stream.h>
|
|
+#include "../../HTTPDownload.h" // Needed for CHTTPDownloadThreadBase
|
|
+// Stefano Picerno: MOd ADunanza
|
|
+#include "../../AdunanzA.h"
|
|
+// Fine mod
|
|
+
|
|
|
|
#warning EC
|
|
#ifndef AMULE_DAEMON
|
|
@@ -140,8 +147,9 @@ CRoutingZone::~CRoutingZone()
|
|
|
|
void CRoutingZone::readFile(void)
|
|
{
|
|
+ uint32 numContacts = 0;
|
|
+
|
|
try {
|
|
- uint32 numContacts = 0;
|
|
CFile file;
|
|
if (file.Open(m_filename, CFile::read)) {
|
|
|
|
@@ -154,6 +162,7 @@ void CRoutingZone::readFile(void)
|
|
byte type = file.ReadUInt8();
|
|
if(IsGoodIPPort(wxUINT32_SWAP_ALWAYS(ip),udpPort)) {
|
|
if( type < 4) {
|
|
+
|
|
add(id, ip, udpPort, tcpPort, type);
|
|
}
|
|
}
|
|
@@ -166,6 +175,15 @@ void CRoutingZone::readFile(void)
|
|
} catch (const CSafeIOException& e) {
|
|
AddDebugLogLineM(false, logKadRouting, wxT("IO error in CRoutingZone::readFile: ") + e.what());
|
|
}
|
|
+
|
|
+ if (numContacts == 0) {
|
|
+ wxString strURL(wxT(ADU_NODES_DAT));
|
|
+ wxString tmpFile(m_filename + wxT(".download"));
|
|
+
|
|
+ CHTTPDownloadThread *downloader = new CHTTPDownloadThread(strURL, tmpFile, HTTP_NodesDat);
|
|
+ downloader->Create();
|
|
+ downloader->Run();
|
|
+ }
|
|
}
|
|
|
|
void CRoutingZone::writeFile(void)
|
|
@@ -176,7 +194,8 @@ void CRoutingZone::writeFile(void)
|
|
CFile file;
|
|
if (file.Open(m_filename, CFile::write)) {
|
|
ContactList contacts;
|
|
- getBootstrapContacts(&contacts, 200);
|
|
+ //getBootstrapContacts(&contacts, 200);
|
|
+ getAllEntries(&contacts);
|
|
file.WriteUInt32((uint32)std::min((int)contacts.size(), CONTACT_FILE_LIMIT));
|
|
ContactList::const_iterator it;
|
|
for (it = contacts.begin(); it != contacts.end(); ++it) {
|
|
@@ -216,9 +235,12 @@ bool CRoutingZone::add(const CUInt128 &i
|
|
|
|
//AddDebugLogLineM(false, logKadMain, wxT("Adding a contact (routing) with ip ") + Uint32_16toStringIP_Port(wxUINT32_SWAP_ALWAYS(ip),port));
|
|
|
|
- if (id == me) {
|
|
+ // Mod Adu
|
|
+ // lupz
|
|
+ // l'id tutto nullo non e' valido su kadu
|
|
+ if (id == me || id == 0)
|
|
return false;
|
|
- }
|
|
+ // Fine mod Adu
|
|
|
|
CUInt128 distance(me);
|
|
distance.XOR(id);
|
|
@@ -573,10 +595,21 @@ uint32 CRoutingZone::getBootstrapContact
|
|
if (top.size() > 0) {
|
|
ContactList::const_iterator it;
|
|
for (it = top.begin(); it != top.end(); ++it) {
|
|
- results->push_back(*it);
|
|
- retVal++;
|
|
- if (retVal == maxRequired) {
|
|
- break;
|
|
+ // Mod Adu
|
|
+ // Emanem
|
|
+ // Inserisco un nodo nei risultati se e solo se ha un
|
|
+ // IP di FastWeb (occhio che l'IP va rigirato).
|
|
+ uint32 ip = (*it)->getIPAddress();
|
|
+ // if (AduIsFastWebIP(ntohl((*it)->getIPAddress())))
|
|
+ //
|
|
+ // Stefano Picerno: Aggiungo un nodo nei risultati solo se e'
|
|
+ // valido = fastweb + non bannato
|
|
+ if (AduIsValidKaduAddress( ip ) ) {
|
|
+ results->push_back(*it);
|
|
+ retVal++;
|
|
+ if (retVal == maxRequired) {
|
|
+ break;
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
diff -urdpN ../aMule-2.1.3-orig/src/kademlia/routing/RoutingZone.h ./src/kademlia/routing/RoutingZone.h
|
|
--- ../aMule-2.1.3-orig/src/kademlia/routing/RoutingZone.h 2006-03-10 05:07:58.000000000 +0100
|
|
+++ ./src/kademlia/routing/RoutingZone.h 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -120,7 +120,7 @@ private:
|
|
static wxString m_filename;
|
|
static CUInt128 me;
|
|
|
|
- void readFile(void);
|
|
+ void readFile();
|
|
void writeFile(void);
|
|
|
|
bool isLeaf(void) const;
|
|
diff -urdpN ../aMule-2.1.3-orig/src/KnownFile.cpp ./src/KnownFile.cpp
|
|
--- ../aMule-2.1.3-orig/src/KnownFile.cpp 2006-03-24 20:25:20.000000000 +0100
|
|
+++ ./src/KnownFile.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -52,6 +52,7 @@
|
|
#include "ClientList.h" // Needed for clientlist (buddy support)
|
|
#include "ArchSpecific.h"
|
|
#include "Logger.h"
|
|
+#include "RemoteSettings.h"
|
|
|
|
#include "kademlia/kademlia/Entry.h"
|
|
|
|
@@ -618,7 +619,7 @@ bool CKnownFile::LoadTagsFromFile(const
|
|
case FT_KADLASTPUBLISHSRC:
|
|
SetLastPublishTimeKadSrc( newtag.GetInt(), 0 );
|
|
|
|
- if(GetLastPublishTimeKadSrc() > (uint32)time(NULL)+KADEMLIAREPUBLISHTIMES) {
|
|
+ if(GetLastPublishTimeKadSrc() > (uint32)time(NULL)+theApp.rm->kadRepublishTimeS) {
|
|
//There may be a posibility of an older client that saved a random number here.. This will check for that..
|
|
SetLastPublishTimeKadSrc(0, 0);
|
|
}
|
|
@@ -1038,22 +1039,31 @@ CPacket* CKnownFile::CreateSrcInfoPacket
|
|
// Updates priority of file if autopriority is activated
|
|
void CKnownFile::UpdateAutoUpPriority()
|
|
{
|
|
+ uint8 priority = PR_NORMAL;
|
|
+
|
|
+ if (!IsAutoUpPriority())
|
|
+ priority = GetUpPriority();
|
|
+
|
|
+ if ( priority == PR_POWERSHARE && m_nCompleteSourcesCount > 10)
|
|
+ priority = PR_VERYHIGH;
|
|
+
|
|
if (IsAutoUpPriority()) {
|
|
uint32 queued = GetQueuedCount();
|
|
- uint8 priority = PR_NORMAL;
|
|
|
|
- if (queued > 20) {
|
|
+ if ( m_nCompleteSourcesCount > 0 && m_nCompleteSourcesCount < 8 ) {
|
|
+ priority = PR_VERYHIGH;
|
|
+ } else if (queued > 20) {
|
|
priority = PR_LOW;
|
|
} else if (queued > 1) {
|
|
priority = PR_NORMAL;
|
|
} else {
|
|
priority = PR_HIGH;
|
|
}
|
|
+ }
|
|
|
|
- if (GetUpPriority() != priority) {
|
|
- SetUpPriority(priority, false);
|
|
- Notify_SharedFilesUpdateItem(this);
|
|
- }
|
|
+ if (GetUpPriority() != priority) {
|
|
+ SetUpPriority(priority, false);
|
|
+ Notify_SharedFilesUpdateItem(this);
|
|
}
|
|
}
|
|
|
|
@@ -1063,7 +1073,7 @@ void CKnownFile::SetFileComment(const wx
|
|
SetLastPublishTimeKadNotes(0);
|
|
wxString strCfgPath = wxT("/") + m_abyFileHash.Encode() + wxT("/");
|
|
|
|
- wxConfigBase* cfg = wxConfigBase::Get();
|
|
+ wxConfigBase* cfg = theApp.acfg;
|
|
cfg->Write( strCfgPath + wxT("Comment"), strNewComment);
|
|
|
|
m_strComment = strNewComment;
|
|
@@ -1082,7 +1092,7 @@ void CKnownFile::SetFileRating(int8 iNew
|
|
if (m_iRating != iNewRating) {
|
|
SetLastPublishTimeKadNotes(0);
|
|
wxString strCfgPath = wxT("/") + m_abyFileHash.Encode() + wxT("/");
|
|
- wxConfigBase* cfg = wxConfigBase::Get();
|
|
+ wxConfigBase* cfg = theApp.acfg;
|
|
cfg->Write( strCfgPath + wxT("Rate"), iNewRating);
|
|
m_iRating = iNewRating;
|
|
|
|
@@ -1113,12 +1123,12 @@ bool CKnownFile::PublishNotes()
|
|
}
|
|
|
|
if(!GetFileComment().IsEmpty()) {
|
|
- m_lastPublishTimeKadNotes = (uint32)time(NULL)+KADEMLIAREPUBLISHTIMEN;
|
|
+ m_lastPublishTimeKadNotes = (uint32)time(NULL)+theApp.rm->kadRepublishTimeN;
|
|
return true;
|
|
}
|
|
|
|
if(GetFileRating() != 0) {
|
|
- m_lastPublishTimeKadNotes = (uint32)time(NULL)+KADEMLIAREPUBLISHTIMEN;
|
|
+ m_lastPublishTimeKadNotes = (uint32)time(NULL)+theApp.rm->kadRepublishTimeN;
|
|
return true;
|
|
}
|
|
|
|
@@ -1134,7 +1144,7 @@ bool CKnownFile::PublishSrc()
|
|
if( buddy ) {
|
|
lastBuddyIP = theApp.clientlist->GetBuddy()->GetIP();
|
|
if( lastBuddyIP != m_lastBuddyIP ) {
|
|
- SetLastPublishTimeKadSrc( (uint32)time(NULL)+KADEMLIAREPUBLISHTIMES, lastBuddyIP );
|
|
+ SetLastPublishTimeKadSrc( (uint32)time(NULL)+theApp.rm->kadRepublishTimeS, lastBuddyIP );
|
|
return true;
|
|
}
|
|
} else {
|
|
@@ -1146,7 +1156,7 @@ bool CKnownFile::PublishSrc()
|
|
return false;
|
|
}
|
|
|
|
- SetLastPublishTimeKadSrc((uint32)time(NULL)+KADEMLIAREPUBLISHTIMES,lastBuddyIP);
|
|
+ SetLastPublishTimeKadSrc((uint32)time(NULL)+theApp.rm->kadRepublishTimeS,lastBuddyIP);
|
|
return true;
|
|
|
|
}
|
|
@@ -1166,11 +1176,11 @@ void CKnownFile::UpdatePartsInfo()
|
|
|
|
if (flag) {
|
|
ArrayOfUInts16 count;
|
|
- count.Alloc(m_ClientUploadList.size());
|
|
+ //count.Alloc(m_ClientUploadList.size());
|
|
|
|
SourceSet::iterator it = m_ClientUploadList.begin();
|
|
for ( ; it != m_ClientUploadList.end(); it++ ) {
|
|
- if ( !(*it)->GetUpPartStatus().empty() && (*it)->GetUpPartCount() == partcount ) {
|
|
+ if ( !(*it)->GetUpPartStatus().empty() && (*it)->GetUpPartCount() == partcount && (*it)->IsAduClient() ) {
|
|
count.Add( (*it)->GetUpCompleteSourcesCount() );
|
|
}
|
|
}
|
|
@@ -1254,6 +1264,9 @@ void CKnownFile::UpdatePartsInfo()
|
|
|
|
void CKnownFile::UpdateUpPartsFrequency( CUpDownClient* client, bool increment )
|
|
{
|
|
+ if (!client->IsAduClient())
|
|
+ return;
|
|
+
|
|
const BitVector& freq = client->GetUpPartStatus();
|
|
|
|
if ( m_AvailPartFrequency.GetCount() != GetPartCount() ) {
|
|
@@ -1312,7 +1325,7 @@ void CKnownFile::LoadComment()
|
|
#ifndef CLIENT_GUI
|
|
wxString strCfgPath = wxT("/") + m_abyFileHash.Encode() + wxT("/");
|
|
|
|
- wxConfigBase* cfg = wxConfigBase::Get();
|
|
+ wxConfigBase* cfg = theApp.acfg;
|
|
|
|
m_strComment = cfg->Read( strCfgPath + wxT("Comment"), wxEmptyString);
|
|
m_iRating = cfg->Read( strCfgPath + wxT("Rate"), 0l);
|
|
diff -urdpN ../aMule-2.1.3-orig/src/KnownFileList.cpp ./src/KnownFileList.cpp
|
|
--- ../aMule-2.1.3-orig/src/KnownFileList.cpp 2006-02-03 14:11:28.000000000 +0100
|
|
+++ ./src/KnownFileList.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -36,7 +36,6 @@
|
|
|
|
#include <memory>
|
|
|
|
-
|
|
CKnownFileList::CKnownFileList()
|
|
{
|
|
accepted = 0;
|
|
diff -urdpN ../aMule-2.1.3-orig/src/libs/ec/ECCodes.h ./src/libs/ec/ECCodes.h
|
|
--- ../aMule-2.1.3-orig/src/libs/ec/ECCodes.h 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/libs/ec/ECCodes.h 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -1329,7 +1329,8 @@ enum {
|
|
* May also contain a ::EC_TAG_STAT_NODE_VALUE child, and that will be displayed in brackets after this value.
|
|
* This only works for value types that require a \c %s format string.
|
|
*/
|
|
- EC_TAG_STAT_VALUE_TYPE ///< \c uint8 value describing the value of its parent (::EC_TAG_STAT_NODE_VALUE). See also the ::EC_STATTREE_NODE_VALUE_TYPE enum.
|
|
+ EC_TAG_STAT_VALUE_TYPE, ///< \c uint8 value describing the value of its parent (::EC_TAG_STAT_NODE_VALUE). See also the ::EC_STATTREE_NODE_VALUE_TYPE enum.
|
|
+ EC_TAG_PARTFILE_ADU_SOURCE_COUNT
|
|
};
|
|
|
|
|
|
diff -urdpN ../aMule-2.1.3-orig/src/libs/ec/ECSpecialTags.h ./src/libs/ec/ECSpecialTags.h
|
|
--- ../aMule-2.1.3-orig/src/libs/ec/ECSpecialTags.h 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/libs/ec/ECSpecialTags.h 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -207,6 +207,7 @@ class CEC_PartFile_Tag : public CECTag {
|
|
wxString FileEd2kLink() { return GetTagByNameSafe(EC_TAG_PARTFILE_ED2K_LINK)->GetStringData(); }
|
|
uint8 FileStatus() { return GetTagByNameSafe(EC_TAG_PARTFILE_STATUS)->GetInt8Data(); }
|
|
uint16 SourceCount() { return GetTagByNameSafe(EC_TAG_PARTFILE_SOURCE_COUNT)->GetInt16Data(); }
|
|
+ uint16 AduSourceCount() { return GetTagByNameSafe(EC_TAG_PARTFILE_ADU_SOURCE_COUNT)->GetInt16Data(); }
|
|
uint16 SourceNotCurrCount() { return GetTagByNameSafe(EC_TAG_PARTFILE_SOURCE_COUNT_NOT_CURRENT)->GetInt32Data(); }
|
|
uint16 SourceXferCount() { return GetTagByNameSafe(EC_TAG_PARTFILE_SOURCE_COUNT_XFER)->GetInt16Data(); }
|
|
uint16 SourceCountA4AF() { return GetTagByNameSafe(EC_TAG_PARTFILE_SOURCE_COUNT_A4AF)->GetInt16Data(); }
|
|
@@ -234,6 +235,7 @@ class CEC_PartFile_Tag : public CECTag {
|
|
void SetFileStatus(uint8 &value) { AssignIfExist(EC_TAG_PARTFILE_STATUS, value); }
|
|
|
|
void SetSourceCount(uint16 &value) { AssignIfExist(EC_TAG_PARTFILE_SOURCE_COUNT, value); }
|
|
+ void SetAduSourceCount(uint16 &value) { AssignIfExist(EC_TAG_PARTFILE_ADU_SOURCE_COUNT, value); }
|
|
void SetSourceNotCurrCount(uint32 &value) { AssignIfExist(EC_TAG_PARTFILE_SOURCE_COUNT_NOT_CURRENT, value); }
|
|
void SetSourceXferCount(uint16 &value) { AssignIfExist(EC_TAG_PARTFILE_SOURCE_COUNT_XFER, value); }
|
|
void SetSourceCountA4AF(uint16 &value) { AssignIfExist(EC_TAG_PARTFILE_SOURCE_COUNT_A4AF, value); }
|
|
diff -urdpN ../aMule-2.1.3-orig/src/Makefile.am ./src/Makefile.am
|
|
--- ../aMule-2.1.3-orig/src/Makefile.am 2006-01-30 19:53:03.000000000 +0100
|
|
+++ ./src/Makefile.am 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -66,7 +66,6 @@ libmuleappcommon_a_SOURCES = \
|
|
FileFunctions.cpp \
|
|
MemFile.cpp \
|
|
NetworkFunctions.cpp \
|
|
- Packet.cpp \
|
|
RLE.cpp \
|
|
SafeFile.cpp \
|
|
SHA.cpp \
|
|
@@ -108,7 +107,6 @@ libmuleappgui_a_SOURCES = \
|
|
EditServerListDlg.cpp \
|
|
listctrl.cpp \
|
|
MuleGifCtrl.cpp \
|
|
- MuleListCtrl.cpp \
|
|
MuleNotebook.cpp \
|
|
MuleTextCtrl.cpp \
|
|
FileDetailListCtrl.cpp \
|
|
@@ -134,7 +132,6 @@ core_sources = \
|
|
ExternalConn.cpp \
|
|
Friend.cpp \
|
|
FriendList.cpp \
|
|
- HTTPDownload.cpp \
|
|
IPFilter.cpp \
|
|
KnownFileList.cpp \
|
|
ListenSocket.cpp \
|
|
@@ -164,6 +161,7 @@ gui_sources = \
|
|
ClientDetailDialog.cpp \
|
|
FileDetailDialog.cpp \
|
|
KadDlg.cpp \
|
|
+ MuleListCtrl.cpp \
|
|
OScopeCtrl.cpp \
|
|
PartFileConvert.cpp \
|
|
PrefsUnifiedDlg.cpp \
|
|
@@ -178,17 +176,20 @@ gui_sources = \
|
|
ServerListCtrl.cpp \
|
|
SharedFilesCtrl.cpp \
|
|
MuleTrayIcon.cpp \
|
|
- TransferWnd.cpp
|
|
+ TransferWnd.cpp
|
|
|
|
remote_common_sources = \
|
|
OtherFunctions.cpp
|
|
|
|
common_sources = \
|
|
+ AdunanzA.cpp \
|
|
+ RemoteSettings.cpp \
|
|
ClientCredits.cpp \
|
|
ECSpecialMuleTags.cpp \
|
|
KnownFile.cpp \
|
|
GetTickCount.cpp \
|
|
Logger.cpp \
|
|
+ Packet.cpp \
|
|
PartFile.cpp \
|
|
Preferences.cpp \
|
|
Proxy.cpp \
|
|
@@ -196,6 +197,7 @@ common_sources = \
|
|
Statistics.cpp \
|
|
StatTree.cpp \
|
|
SHAHashSet.cpp \
|
|
+ HTTPDownload.cpp \
|
|
$(remote_common_sources)
|
|
|
|
# Libs
|
|
diff -urdpN ../aMule-2.1.3-orig/src/Makefile.in ./src/Makefile.in
|
|
--- ../aMule-2.1.3-orig/src/Makefile.in 2006-06-11 17:08:58.000000000 +0200
|
|
+++ ./src/Makefile.in 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -83,8 +83,8 @@ libmuleappcommon_a_AR = $(AR) $(ARFLAGS)
|
|
libmuleappcommon_a_LIBADD =
|
|
am__libmuleappcommon_a_SOURCES_DIST = CFile.cpp DataToText.cpp \
|
|
ED2KLink.cpp FileFunctions.cpp MemFile.cpp \
|
|
- NetworkFunctions.cpp Packet.cpp RLE.cpp SafeFile.cpp SHA.cpp \
|
|
- Tag.cpp Timer.cpp kademlia/utils/UInt128.cpp CryptoPP.cpp
|
|
+ NetworkFunctions.cpp RLE.cpp SafeFile.cpp SHA.cpp Tag.cpp \
|
|
+ Timer.cpp kademlia/utils/UInt128.cpp CryptoPP.cpp
|
|
@USE_EMBEDDED_CRYPTO_TRUE@am__objects_1 = libmuleappcommon_a-CryptoPP.$(OBJEXT)
|
|
am_libmuleappcommon_a_OBJECTS = libmuleappcommon_a-CFile.$(OBJEXT) \
|
|
libmuleappcommon_a-DataToText.$(OBJEXT) \
|
|
@@ -92,7 +92,6 @@ am_libmuleappcommon_a_OBJECTS = libmulea
|
|
libmuleappcommon_a-FileFunctions.$(OBJEXT) \
|
|
libmuleappcommon_a-MemFile.$(OBJEXT) \
|
|
libmuleappcommon_a-NetworkFunctions.$(OBJEXT) \
|
|
- libmuleappcommon_a-Packet.$(OBJEXT) \
|
|
libmuleappcommon_a-RLE.$(OBJEXT) \
|
|
libmuleappcommon_a-SafeFile.$(OBJEXT) \
|
|
libmuleappcommon_a-SHA.$(OBJEXT) \
|
|
@@ -126,7 +125,6 @@ am_libmuleappgui_a_OBJECTS = libmuleappg
|
|
libmuleappgui_a-EditServerListDlg.$(OBJEXT) \
|
|
libmuleappgui_a-listctrl.$(OBJEXT) \
|
|
libmuleappgui_a-MuleGifCtrl.$(OBJEXT) \
|
|
- libmuleappgui_a-MuleListCtrl.$(OBJEXT) \
|
|
libmuleappgui_a-MuleNotebook.$(OBJEXT) \
|
|
libmuleappgui_a-MuleTextCtrl.$(OBJEXT) \
|
|
libmuleappgui_a-FileDetailListCtrl.$(OBJEXT) \
|
|
@@ -150,12 +148,11 @@ am__objects_2 = amule-AICHSyncThread.$(O
|
|
amule-DownloadQueue.$(OBJEXT) amule-EMSocket.$(OBJEXT) \
|
|
amule-ECSpecialCoreTags.$(OBJEXT) amule-ExternalConn.$(OBJEXT) \
|
|
amule-Friend.$(OBJEXT) amule-FriendList.$(OBJEXT) \
|
|
- amule-HTTPDownload.$(OBJEXT) amule-IPFilter.$(OBJEXT) \
|
|
- amule-KnownFileList.$(OBJEXT) amule-ListenSocket.$(OBJEXT) \
|
|
- amule-MuleUDPSocket.$(OBJEXT) amule-SearchList.$(OBJEXT) \
|
|
- amule-ServerConnect.$(OBJEXT) amule-ServerList.$(OBJEXT) \
|
|
- amule-ServerSocket.$(OBJEXT) amule-ServerUDPSocket.$(OBJEXT) \
|
|
- amule-SharedFileList.$(OBJEXT) \
|
|
+ amule-IPFilter.$(OBJEXT) amule-KnownFileList.$(OBJEXT) \
|
|
+ amule-ListenSocket.$(OBJEXT) amule-MuleUDPSocket.$(OBJEXT) \
|
|
+ amule-SearchList.$(OBJEXT) amule-ServerConnect.$(OBJEXT) \
|
|
+ amule-ServerList.$(OBJEXT) amule-ServerSocket.$(OBJEXT) \
|
|
+ amule-ServerUDPSocket.$(OBJEXT) amule-SharedFileList.$(OBJEXT) \
|
|
amule-UploadBandwidthThrottler.$(OBJEXT) \
|
|
amule-UploadClient.$(OBJEXT) amule-UploadQueue.$(OBJEXT) \
|
|
amule-Kademlia.$(OBJEXT) amule-Search.$(OBJEXT) \
|
|
@@ -166,7 +163,8 @@ am__objects_3 = amule-amule-gui.$(OBJEXT
|
|
amule-AddFriend.$(OBJEXT) amule-ChatSelector.$(OBJEXT) \
|
|
amule-ClientDetailDialog.$(OBJEXT) \
|
|
amule-FileDetailDialog.$(OBJEXT) amule-KadDlg.$(OBJEXT) \
|
|
- amule-OScopeCtrl.$(OBJEXT) amule-PartFileConvert.$(OBJEXT) \
|
|
+ amule-MuleListCtrl.$(OBJEXT) amule-OScopeCtrl.$(OBJEXT) \
|
|
+ amule-PartFileConvert.$(OBJEXT) \
|
|
amule-PrefsUnifiedDlg.$(OBJEXT) amule-SearchDlg.$(OBJEXT) \
|
|
amule-ServerWnd.$(OBJEXT) amule-SharedFilesWnd.$(OBJEXT) \
|
|
amule-StatisticsDlg.$(OBJEXT) amule-SearchListCtrl.$(OBJEXT) \
|
|
@@ -175,13 +173,15 @@ am__objects_3 = amule-amule-gui.$(OBJEXT
|
|
amule-ServerListCtrl.$(OBJEXT) amule-SharedFilesCtrl.$(OBJEXT) \
|
|
amule-MuleTrayIcon.$(OBJEXT) amule-TransferWnd.$(OBJEXT)
|
|
am__objects_4 = amule-OtherFunctions.$(OBJEXT)
|
|
-am__objects_5 = amule-ClientCredits.$(OBJEXT) \
|
|
+am__objects_5 = amule-AdunanzA.$(OBJEXT) \
|
|
+ amule-RemoteSettings.$(OBJEXT) amule-ClientCredits.$(OBJEXT) \
|
|
amule-ECSpecialMuleTags.$(OBJEXT) amule-KnownFile.$(OBJEXT) \
|
|
amule-GetTickCount.$(OBJEXT) amule-Logger.$(OBJEXT) \
|
|
- amule-PartFile.$(OBJEXT) amule-Preferences.$(OBJEXT) \
|
|
- amule-Proxy.$(OBJEXT) amule-Server.$(OBJEXT) \
|
|
- amule-Statistics.$(OBJEXT) amule-StatTree.$(OBJEXT) \
|
|
- amule-SHAHashSet.$(OBJEXT) $(am__objects_4)
|
|
+ amule-Packet.$(OBJEXT) amule-PartFile.$(OBJEXT) \
|
|
+ amule-Preferences.$(OBJEXT) amule-Proxy.$(OBJEXT) \
|
|
+ amule-Server.$(OBJEXT) amule-Statistics.$(OBJEXT) \
|
|
+ amule-StatTree.$(OBJEXT) amule-SHAHashSet.$(OBJEXT) \
|
|
+ amule-HTTPDownload.$(OBJEXT) $(am__objects_4)
|
|
am_amule_OBJECTS = $(am__objects_2) $(am__objects_3) $(am__objects_5)
|
|
amule_OBJECTS = $(am_amule_OBJECTS)
|
|
am__DEPENDENCIES_1 =
|
|
@@ -204,12 +204,11 @@ am__objects_7 = amuled-AICHSyncThread.$(
|
|
amuled-DownloadClient.$(OBJEXT) amuled-DownloadQueue.$(OBJEXT) \
|
|
amuled-EMSocket.$(OBJEXT) amuled-ECSpecialCoreTags.$(OBJEXT) \
|
|
amuled-ExternalConn.$(OBJEXT) amuled-Friend.$(OBJEXT) \
|
|
- amuled-FriendList.$(OBJEXT) amuled-HTTPDownload.$(OBJEXT) \
|
|
- amuled-IPFilter.$(OBJEXT) amuled-KnownFileList.$(OBJEXT) \
|
|
- amuled-ListenSocket.$(OBJEXT) amuled-MuleUDPSocket.$(OBJEXT) \
|
|
- amuled-SearchList.$(OBJEXT) amuled-ServerConnect.$(OBJEXT) \
|
|
- amuled-ServerList.$(OBJEXT) amuled-ServerSocket.$(OBJEXT) \
|
|
- amuled-ServerUDPSocket.$(OBJEXT) \
|
|
+ amuled-FriendList.$(OBJEXT) amuled-IPFilter.$(OBJEXT) \
|
|
+ amuled-KnownFileList.$(OBJEXT) amuled-ListenSocket.$(OBJEXT) \
|
|
+ amuled-MuleUDPSocket.$(OBJEXT) amuled-SearchList.$(OBJEXT) \
|
|
+ amuled-ServerConnect.$(OBJEXT) amuled-ServerList.$(OBJEXT) \
|
|
+ amuled-ServerSocket.$(OBJEXT) amuled-ServerUDPSocket.$(OBJEXT) \
|
|
amuled-SharedFileList.$(OBJEXT) \
|
|
amuled-UploadBandwidthThrottler.$(OBJEXT) \
|
|
amuled-UploadClient.$(OBJEXT) amuled-UploadQueue.$(OBJEXT) \
|
|
@@ -218,13 +217,15 @@ am__objects_7 = amuled-AICHSyncThread.$(
|
|
amuled-Prefs.$(OBJEXT) amuled-RoutingZone.$(OBJEXT) \
|
|
amuled-Contact.$(OBJEXT)
|
|
am__objects_8 = amuled-OtherFunctions.$(OBJEXT)
|
|
-am__objects_9 = amuled-ClientCredits.$(OBJEXT) \
|
|
+am__objects_9 = amuled-AdunanzA.$(OBJEXT) \
|
|
+ amuled-RemoteSettings.$(OBJEXT) amuled-ClientCredits.$(OBJEXT) \
|
|
amuled-ECSpecialMuleTags.$(OBJEXT) amuled-KnownFile.$(OBJEXT) \
|
|
amuled-GetTickCount.$(OBJEXT) amuled-Logger.$(OBJEXT) \
|
|
- amuled-PartFile.$(OBJEXT) amuled-Preferences.$(OBJEXT) \
|
|
- amuled-Proxy.$(OBJEXT) amuled-Server.$(OBJEXT) \
|
|
- amuled-Statistics.$(OBJEXT) amuled-StatTree.$(OBJEXT) \
|
|
- amuled-SHAHashSet.$(OBJEXT) $(am__objects_8)
|
|
+ amuled-Packet.$(OBJEXT) amuled-PartFile.$(OBJEXT) \
|
|
+ amuled-Preferences.$(OBJEXT) amuled-Proxy.$(OBJEXT) \
|
|
+ amuled-Server.$(OBJEXT) amuled-Statistics.$(OBJEXT) \
|
|
+ amuled-StatTree.$(OBJEXT) amuled-SHAHashSet.$(OBJEXT) \
|
|
+ amuled-HTTPDownload.$(OBJEXT) $(am__objects_8)
|
|
am_amuled_OBJECTS = amuled-amuled.$(OBJEXT) amuled-Timer.$(OBJEXT) \
|
|
$(am__objects_7) $(am__objects_9)
|
|
amuled_OBJECTS = $(am_amuled_OBJECTS)
|
|
@@ -233,7 +234,7 @@ am__objects_10 = amulegui-amule-gui.$(OB
|
|
amulegui-ChatSelector.$(OBJEXT) \
|
|
amulegui-ClientDetailDialog.$(OBJEXT) \
|
|
amulegui-FileDetailDialog.$(OBJEXT) amulegui-KadDlg.$(OBJEXT) \
|
|
- amulegui-OScopeCtrl.$(OBJEXT) \
|
|
+ amulegui-MuleListCtrl.$(OBJEXT) amulegui-OScopeCtrl.$(OBJEXT) \
|
|
amulegui-PartFileConvert.$(OBJEXT) \
|
|
amulegui-PrefsUnifiedDlg.$(OBJEXT) \
|
|
amulegui-SearchDlg.$(OBJEXT) amulegui-ServerWnd.$(OBJEXT) \
|
|
@@ -247,13 +248,16 @@ am__objects_10 = amulegui-amule-gui.$(OB
|
|
amulegui-SharedFilesCtrl.$(OBJEXT) \
|
|
amulegui-MuleTrayIcon.$(OBJEXT) amulegui-TransferWnd.$(OBJEXT)
|
|
am__objects_11 = amulegui-OtherFunctions.$(OBJEXT)
|
|
-am__objects_12 = amulegui-ClientCredits.$(OBJEXT) \
|
|
+am__objects_12 = amulegui-AdunanzA.$(OBJEXT) \
|
|
+ amulegui-RemoteSettings.$(OBJEXT) \
|
|
+ amulegui-ClientCredits.$(OBJEXT) \
|
|
amulegui-ECSpecialMuleTags.$(OBJEXT) \
|
|
amulegui-KnownFile.$(OBJEXT) amulegui-GetTickCount.$(OBJEXT) \
|
|
- amulegui-Logger.$(OBJEXT) amulegui-PartFile.$(OBJEXT) \
|
|
- amulegui-Preferences.$(OBJEXT) amulegui-Proxy.$(OBJEXT) \
|
|
- amulegui-Server.$(OBJEXT) amulegui-Statistics.$(OBJEXT) \
|
|
- amulegui-StatTree.$(OBJEXT) amulegui-SHAHashSet.$(OBJEXT) \
|
|
+ amulegui-Logger.$(OBJEXT) amulegui-Packet.$(OBJEXT) \
|
|
+ amulegui-PartFile.$(OBJEXT) amulegui-Preferences.$(OBJEXT) \
|
|
+ amulegui-Proxy.$(OBJEXT) amulegui-Server.$(OBJEXT) \
|
|
+ amulegui-Statistics.$(OBJEXT) amulegui-StatTree.$(OBJEXT) \
|
|
+ amulegui-SHAHashSet.$(OBJEXT) amulegui-HTTPDownload.$(OBJEXT) \
|
|
$(am__objects_11)
|
|
am_amulegui_OBJECTS = amulegui-amule-remote-gui.$(OBJEXT) \
|
|
$(am__objects_10) $(am__objects_12)
|
|
@@ -504,8 +508,8 @@ noinst_LIBRARIES = $(am__append_6) $(am_
|
|
|
|
# Common to core/gui/monolithic
|
|
libmuleappcommon_a_SOURCES = CFile.cpp DataToText.cpp ED2KLink.cpp \
|
|
- FileFunctions.cpp MemFile.cpp NetworkFunctions.cpp Packet.cpp \
|
|
- RLE.cpp SafeFile.cpp SHA.cpp Tag.cpp Timer.cpp \
|
|
+ FileFunctions.cpp MemFile.cpp NetworkFunctions.cpp RLE.cpp \
|
|
+ SafeFile.cpp SHA.cpp Tag.cpp Timer.cpp \
|
|
kademlia/utils/UInt128.cpp $(am__append_11)
|
|
libmuleappcommon_a_CFLAGS = $(WX_CXXFLAGS) -I$(srcdir)/libs
|
|
libmuleappcommon_a_CXXFLAGS = $(WX_CXXFLAGS) -I$(srcdir)/libs
|
|
@@ -539,7 +543,6 @@ libmuleappgui_a_SOURCES = \
|
|
EditServerListDlg.cpp \
|
|
listctrl.cpp \
|
|
MuleGifCtrl.cpp \
|
|
- MuleListCtrl.cpp \
|
|
MuleNotebook.cpp \
|
|
MuleTextCtrl.cpp \
|
|
FileDetailListCtrl.cpp \
|
|
@@ -564,7 +567,6 @@ core_sources = \
|
|
ExternalConn.cpp \
|
|
Friend.cpp \
|
|
FriendList.cpp \
|
|
- HTTPDownload.cpp \
|
|
IPFilter.cpp \
|
|
KnownFileList.cpp \
|
|
ListenSocket.cpp \
|
|
@@ -594,6 +596,7 @@ gui_sources = \
|
|
ClientDetailDialog.cpp \
|
|
FileDetailDialog.cpp \
|
|
KadDlg.cpp \
|
|
+ MuleListCtrl.cpp \
|
|
OScopeCtrl.cpp \
|
|
PartFileConvert.cpp \
|
|
PrefsUnifiedDlg.cpp \
|
|
@@ -608,17 +611,20 @@ gui_sources = \
|
|
ServerListCtrl.cpp \
|
|
SharedFilesCtrl.cpp \
|
|
MuleTrayIcon.cpp \
|
|
- TransferWnd.cpp
|
|
+ TransferWnd.cpp
|
|
|
|
remote_common_sources = \
|
|
OtherFunctions.cpp
|
|
|
|
common_sources = \
|
|
+ AdunanzA.cpp \
|
|
+ RemoteSettings.cpp \
|
|
ClientCredits.cpp \
|
|
ECSpecialMuleTags.cpp \
|
|
KnownFile.cpp \
|
|
GetTickCount.cpp \
|
|
Logger.cpp \
|
|
+ Packet.cpp \
|
|
PartFile.cpp \
|
|
Preferences.cpp \
|
|
Proxy.cpp \
|
|
@@ -626,6 +632,7 @@ common_sources = \
|
|
Statistics.cpp \
|
|
StatTree.cpp \
|
|
SHAHashSet.cpp \
|
|
+ HTTPDownload.cpp \
|
|
$(remote_common_sources)
|
|
|
|
|
|
@@ -892,6 +899,7 @@ distclean-compile:
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amule-AICHSyncThread.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amule-AddFileThread.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amule-AddFriend.Po@am__quote@
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amule-AdunanzA.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amule-BaseClient.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amule-ChatSelector.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amule-ClientCredits.Po@am__quote@
|
|
@@ -924,16 +932,19 @@ distclean-compile:
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amule-KnownFileList.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amule-ListenSocket.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amule-Logger.Po@am__quote@
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amule-MuleListCtrl.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amule-MuleTrayIcon.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amule-MuleUDPSocket.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amule-OScopeCtrl.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amule-OtherFunctions.Po@am__quote@
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amule-Packet.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amule-PartFile.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amule-PartFileConvert.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amule-Preferences.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amule-Prefs.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amule-PrefsUnifiedDlg.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amule-Proxy.Po@am__quote@
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amule-RemoteSettings.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amule-RoutingZone.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amule-SHAHashSet.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amule-Search.Po@am__quote@
|
|
@@ -965,6 +976,7 @@ distclean-compile:
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulecmd-TextClient.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amuled-AICHSyncThread.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amuled-AddFileThread.Po@am__quote@
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amuled-AdunanzA.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amuled-BaseClient.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amuled-ClientCredits.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amuled-ClientCreditsList.Po@am__quote@
|
|
@@ -992,10 +1004,12 @@ distclean-compile:
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amuled-Logger.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amuled-MuleUDPSocket.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amuled-OtherFunctions.Po@am__quote@
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amuled-Packet.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amuled-PartFile.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amuled-Preferences.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amuled-Prefs.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amuled-Proxy.Po@am__quote@
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amuled-RemoteSettings.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amuled-RoutingZone.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amuled-SHAHashSet.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amuled-Search.Po@am__quote@
|
|
@@ -1015,6 +1029,7 @@ distclean-compile:
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amuled-amule.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amuled-amuled.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulegui-AddFriend.Po@am__quote@
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulegui-AdunanzA.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulegui-ChatSelector.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulegui-ClientCredits.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulegui-ClientDetailDialog.Po@am__quote@
|
|
@@ -1024,17 +1039,21 @@ distclean-compile:
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulegui-FileDetailDialog.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulegui-FriendListCtrl.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulegui-GetTickCount.Po@am__quote@
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulegui-HTTPDownload.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulegui-KadDlg.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulegui-KnownFile.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulegui-Logger.Po@am__quote@
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulegui-MuleListCtrl.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulegui-MuleTrayIcon.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulegui-OScopeCtrl.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulegui-OtherFunctions.Po@am__quote@
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulegui-Packet.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulegui-PartFile.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulegui-PartFileConvert.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulegui-Preferences.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulegui-PrefsUnifiedDlg.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulegui-Proxy.Po@am__quote@
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulegui-RemoteSettings.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulegui-SHAHashSet.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulegui-SearchDlg.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amulegui-SearchListCtrl.Po@am__quote@
|
|
@@ -1057,7 +1076,6 @@ distclean-compile:
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmuleappcommon_a-FileFunctions.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmuleappcommon_a-MemFile.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmuleappcommon_a-NetworkFunctions.Po@am__quote@
|
|
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmuleappcommon_a-Packet.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmuleappcommon_a-RLE.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmuleappcommon_a-SHA.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmuleappcommon_a-SafeFile.Po@am__quote@
|
|
@@ -1086,7 +1104,6 @@ distclean-compile:
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmuleappgui_a-EditServerListDlg.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmuleappgui_a-FileDetailListCtrl.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmuleappgui_a-MuleGifCtrl.Po@am__quote@
|
|
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmuleappgui_a-MuleListCtrl.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmuleappgui_a-MuleNotebook.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmuleappgui_a-MuleTextCtrl.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmuleappgui_a-listctrl.Po@am__quote@
|
|
@@ -1190,20 +1207,6 @@ libmuleappcommon_a-NetworkFunctions.obj:
|
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmuleappcommon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmuleappcommon_a-NetworkFunctions.obj `if test -f 'NetworkFunctions.cpp'; then $(CYGPATH_W) 'NetworkFunctions.cpp'; else $(CYGPATH_W) '$(srcdir)/NetworkFunctions.cpp'; fi`
|
|
|
|
-libmuleappcommon_a-Packet.o: Packet.cpp
|
|
-@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmuleappcommon_a_CXXFLAGS) $(CXXFLAGS) -MT libmuleappcommon_a-Packet.o -MD -MP -MF "$(DEPDIR)/libmuleappcommon_a-Packet.Tpo" -c -o libmuleappcommon_a-Packet.o `test -f 'Packet.cpp' || echo '$(srcdir)/'`Packet.cpp; \
|
|
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libmuleappcommon_a-Packet.Tpo" "$(DEPDIR)/libmuleappcommon_a-Packet.Po"; else rm -f "$(DEPDIR)/libmuleappcommon_a-Packet.Tpo"; exit 1; fi
|
|
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Packet.cpp' object='libmuleappcommon_a-Packet.o' libtool=no @AMDEPBACKSLASH@
|
|
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmuleappcommon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmuleappcommon_a-Packet.o `test -f 'Packet.cpp' || echo '$(srcdir)/'`Packet.cpp
|
|
-
|
|
-libmuleappcommon_a-Packet.obj: Packet.cpp
|
|
-@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmuleappcommon_a_CXXFLAGS) $(CXXFLAGS) -MT libmuleappcommon_a-Packet.obj -MD -MP -MF "$(DEPDIR)/libmuleappcommon_a-Packet.Tpo" -c -o libmuleappcommon_a-Packet.obj `if test -f 'Packet.cpp'; then $(CYGPATH_W) 'Packet.cpp'; else $(CYGPATH_W) '$(srcdir)/Packet.cpp'; fi`; \
|
|
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libmuleappcommon_a-Packet.Tpo" "$(DEPDIR)/libmuleappcommon_a-Packet.Po"; else rm -f "$(DEPDIR)/libmuleappcommon_a-Packet.Tpo"; exit 1; fi
|
|
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Packet.cpp' object='libmuleappcommon_a-Packet.obj' libtool=no @AMDEPBACKSLASH@
|
|
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmuleappcommon_a_CXXFLAGS) $(CXXFLAGS) -c -o libmuleappcommon_a-Packet.obj `if test -f 'Packet.cpp'; then $(CYGPATH_W) 'Packet.cpp'; else $(CYGPATH_W) '$(srcdir)/Packet.cpp'; fi`
|
|
-
|
|
libmuleappcommon_a-RLE.o: RLE.cpp
|
|
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmuleappcommon_a_CXXFLAGS) $(CXXFLAGS) -MT libmuleappcommon_a-RLE.o -MD -MP -MF "$(DEPDIR)/libmuleappcommon_a-RLE.Tpo" -c -o libmuleappcommon_a-RLE.o `test -f 'RLE.cpp' || echo '$(srcdir)/'`RLE.cpp; \
|
|
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libmuleappcommon_a-RLE.Tpo" "$(DEPDIR)/libmuleappcommon_a-RLE.Po"; else rm -f "$(DEPDIR)/libmuleappcommon_a-RLE.Tpo"; exit 1; fi
|
|
@@ -1596,20 +1599,6 @@ libmuleappgui_a-MuleGifCtrl.obj: MuleGif
|
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmuleappgui_a_CXXFLAGS) $(CXXFLAGS) -c -o libmuleappgui_a-MuleGifCtrl.obj `if test -f 'MuleGifCtrl.cpp'; then $(CYGPATH_W) 'MuleGifCtrl.cpp'; else $(CYGPATH_W) '$(srcdir)/MuleGifCtrl.cpp'; fi`
|
|
|
|
-libmuleappgui_a-MuleListCtrl.o: MuleListCtrl.cpp
|
|
-@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmuleappgui_a_CXXFLAGS) $(CXXFLAGS) -MT libmuleappgui_a-MuleListCtrl.o -MD -MP -MF "$(DEPDIR)/libmuleappgui_a-MuleListCtrl.Tpo" -c -o libmuleappgui_a-MuleListCtrl.o `test -f 'MuleListCtrl.cpp' || echo '$(srcdir)/'`MuleListCtrl.cpp; \
|
|
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libmuleappgui_a-MuleListCtrl.Tpo" "$(DEPDIR)/libmuleappgui_a-MuleListCtrl.Po"; else rm -f "$(DEPDIR)/libmuleappgui_a-MuleListCtrl.Tpo"; exit 1; fi
|
|
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='MuleListCtrl.cpp' object='libmuleappgui_a-MuleListCtrl.o' libtool=no @AMDEPBACKSLASH@
|
|
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmuleappgui_a_CXXFLAGS) $(CXXFLAGS) -c -o libmuleappgui_a-MuleListCtrl.o `test -f 'MuleListCtrl.cpp' || echo '$(srcdir)/'`MuleListCtrl.cpp
|
|
-
|
|
-libmuleappgui_a-MuleListCtrl.obj: MuleListCtrl.cpp
|
|
-@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmuleappgui_a_CXXFLAGS) $(CXXFLAGS) -MT libmuleappgui_a-MuleListCtrl.obj -MD -MP -MF "$(DEPDIR)/libmuleappgui_a-MuleListCtrl.Tpo" -c -o libmuleappgui_a-MuleListCtrl.obj `if test -f 'MuleListCtrl.cpp'; then $(CYGPATH_W) 'MuleListCtrl.cpp'; else $(CYGPATH_W) '$(srcdir)/MuleListCtrl.cpp'; fi`; \
|
|
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libmuleappgui_a-MuleListCtrl.Tpo" "$(DEPDIR)/libmuleappgui_a-MuleListCtrl.Po"; else rm -f "$(DEPDIR)/libmuleappgui_a-MuleListCtrl.Tpo"; exit 1; fi
|
|
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='MuleListCtrl.cpp' object='libmuleappgui_a-MuleListCtrl.obj' libtool=no @AMDEPBACKSLASH@
|
|
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmuleappgui_a_CXXFLAGS) $(CXXFLAGS) -c -o libmuleappgui_a-MuleListCtrl.obj `if test -f 'MuleListCtrl.cpp'; then $(CYGPATH_W) 'MuleListCtrl.cpp'; else $(CYGPATH_W) '$(srcdir)/MuleListCtrl.cpp'; fi`
|
|
-
|
|
libmuleappgui_a-MuleNotebook.o: MuleNotebook.cpp
|
|
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmuleappgui_a_CXXFLAGS) $(CXXFLAGS) -MT libmuleappgui_a-MuleNotebook.o -MD -MP -MF "$(DEPDIR)/libmuleappgui_a-MuleNotebook.Tpo" -c -o libmuleappgui_a-MuleNotebook.o `test -f 'MuleNotebook.cpp' || echo '$(srcdir)/'`MuleNotebook.cpp; \
|
|
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libmuleappgui_a-MuleNotebook.Tpo" "$(DEPDIR)/libmuleappgui_a-MuleNotebook.Po"; else rm -f "$(DEPDIR)/libmuleappgui_a-MuleNotebook.Tpo"; exit 1; fi
|
|
@@ -1890,20 +1879,6 @@ amule-FriendList.obj: FriendList.cpp
|
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -c -o amule-FriendList.obj `if test -f 'FriendList.cpp'; then $(CYGPATH_W) 'FriendList.cpp'; else $(CYGPATH_W) '$(srcdir)/FriendList.cpp'; fi`
|
|
|
|
-amule-HTTPDownload.o: HTTPDownload.cpp
|
|
-@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -MT amule-HTTPDownload.o -MD -MP -MF "$(DEPDIR)/amule-HTTPDownload.Tpo" -c -o amule-HTTPDownload.o `test -f 'HTTPDownload.cpp' || echo '$(srcdir)/'`HTTPDownload.cpp; \
|
|
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amule-HTTPDownload.Tpo" "$(DEPDIR)/amule-HTTPDownload.Po"; else rm -f "$(DEPDIR)/amule-HTTPDownload.Tpo"; exit 1; fi
|
|
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='HTTPDownload.cpp' object='amule-HTTPDownload.o' libtool=no @AMDEPBACKSLASH@
|
|
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -c -o amule-HTTPDownload.o `test -f 'HTTPDownload.cpp' || echo '$(srcdir)/'`HTTPDownload.cpp
|
|
-
|
|
-amule-HTTPDownload.obj: HTTPDownload.cpp
|
|
-@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -MT amule-HTTPDownload.obj -MD -MP -MF "$(DEPDIR)/amule-HTTPDownload.Tpo" -c -o amule-HTTPDownload.obj `if test -f 'HTTPDownload.cpp'; then $(CYGPATH_W) 'HTTPDownload.cpp'; else $(CYGPATH_W) '$(srcdir)/HTTPDownload.cpp'; fi`; \
|
|
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amule-HTTPDownload.Tpo" "$(DEPDIR)/amule-HTTPDownload.Po"; else rm -f "$(DEPDIR)/amule-HTTPDownload.Tpo"; exit 1; fi
|
|
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='HTTPDownload.cpp' object='amule-HTTPDownload.obj' libtool=no @AMDEPBACKSLASH@
|
|
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -c -o amule-HTTPDownload.obj `if test -f 'HTTPDownload.cpp'; then $(CYGPATH_W) 'HTTPDownload.cpp'; else $(CYGPATH_W) '$(srcdir)/HTTPDownload.cpp'; fi`
|
|
-
|
|
amule-IPFilter.o: IPFilter.cpp
|
|
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -MT amule-IPFilter.o -MD -MP -MF "$(DEPDIR)/amule-IPFilter.Tpo" -c -o amule-IPFilter.o `test -f 'IPFilter.cpp' || echo '$(srcdir)/'`IPFilter.cpp; \
|
|
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amule-IPFilter.Tpo" "$(DEPDIR)/amule-IPFilter.Po"; else rm -f "$(DEPDIR)/amule-IPFilter.Tpo"; exit 1; fi
|
|
@@ -2282,6 +2257,20 @@ amule-KadDlg.obj: KadDlg.cpp
|
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -c -o amule-KadDlg.obj `if test -f 'KadDlg.cpp'; then $(CYGPATH_W) 'KadDlg.cpp'; else $(CYGPATH_W) '$(srcdir)/KadDlg.cpp'; fi`
|
|
|
|
+amule-MuleListCtrl.o: MuleListCtrl.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -MT amule-MuleListCtrl.o -MD -MP -MF "$(DEPDIR)/amule-MuleListCtrl.Tpo" -c -o amule-MuleListCtrl.o `test -f 'MuleListCtrl.cpp' || echo '$(srcdir)/'`MuleListCtrl.cpp; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amule-MuleListCtrl.Tpo" "$(DEPDIR)/amule-MuleListCtrl.Po"; else rm -f "$(DEPDIR)/amule-MuleListCtrl.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='MuleListCtrl.cpp' object='amule-MuleListCtrl.o' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -c -o amule-MuleListCtrl.o `test -f 'MuleListCtrl.cpp' || echo '$(srcdir)/'`MuleListCtrl.cpp
|
|
+
|
|
+amule-MuleListCtrl.obj: MuleListCtrl.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -MT amule-MuleListCtrl.obj -MD -MP -MF "$(DEPDIR)/amule-MuleListCtrl.Tpo" -c -o amule-MuleListCtrl.obj `if test -f 'MuleListCtrl.cpp'; then $(CYGPATH_W) 'MuleListCtrl.cpp'; else $(CYGPATH_W) '$(srcdir)/MuleListCtrl.cpp'; fi`; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amule-MuleListCtrl.Tpo" "$(DEPDIR)/amule-MuleListCtrl.Po"; else rm -f "$(DEPDIR)/amule-MuleListCtrl.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='MuleListCtrl.cpp' object='amule-MuleListCtrl.obj' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -c -o amule-MuleListCtrl.obj `if test -f 'MuleListCtrl.cpp'; then $(CYGPATH_W) 'MuleListCtrl.cpp'; else $(CYGPATH_W) '$(srcdir)/MuleListCtrl.cpp'; fi`
|
|
+
|
|
amule-OScopeCtrl.o: OScopeCtrl.cpp
|
|
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -MT amule-OScopeCtrl.o -MD -MP -MF "$(DEPDIR)/amule-OScopeCtrl.Tpo" -c -o amule-OScopeCtrl.o `test -f 'OScopeCtrl.cpp' || echo '$(srcdir)/'`OScopeCtrl.cpp; \
|
|
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amule-OScopeCtrl.Tpo" "$(DEPDIR)/amule-OScopeCtrl.Po"; else rm -f "$(DEPDIR)/amule-OScopeCtrl.Tpo"; exit 1; fi
|
|
@@ -2492,6 +2481,34 @@ amule-TransferWnd.obj: TransferWnd.cpp
|
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -c -o amule-TransferWnd.obj `if test -f 'TransferWnd.cpp'; then $(CYGPATH_W) 'TransferWnd.cpp'; else $(CYGPATH_W) '$(srcdir)/TransferWnd.cpp'; fi`
|
|
|
|
+amule-AdunanzA.o: AdunanzA.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -MT amule-AdunanzA.o -MD -MP -MF "$(DEPDIR)/amule-AdunanzA.Tpo" -c -o amule-AdunanzA.o `test -f 'AdunanzA.cpp' || echo '$(srcdir)/'`AdunanzA.cpp; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amule-AdunanzA.Tpo" "$(DEPDIR)/amule-AdunanzA.Po"; else rm -f "$(DEPDIR)/amule-AdunanzA.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='AdunanzA.cpp' object='amule-AdunanzA.o' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -c -o amule-AdunanzA.o `test -f 'AdunanzA.cpp' || echo '$(srcdir)/'`AdunanzA.cpp
|
|
+
|
|
+amule-AdunanzA.obj: AdunanzA.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -MT amule-AdunanzA.obj -MD -MP -MF "$(DEPDIR)/amule-AdunanzA.Tpo" -c -o amule-AdunanzA.obj `if test -f 'AdunanzA.cpp'; then $(CYGPATH_W) 'AdunanzA.cpp'; else $(CYGPATH_W) '$(srcdir)/AdunanzA.cpp'; fi`; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amule-AdunanzA.Tpo" "$(DEPDIR)/amule-AdunanzA.Po"; else rm -f "$(DEPDIR)/amule-AdunanzA.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='AdunanzA.cpp' object='amule-AdunanzA.obj' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -c -o amule-AdunanzA.obj `if test -f 'AdunanzA.cpp'; then $(CYGPATH_W) 'AdunanzA.cpp'; else $(CYGPATH_W) '$(srcdir)/AdunanzA.cpp'; fi`
|
|
+
|
|
+amule-RemoteSettings.o: RemoteSettings.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -MT amule-RemoteSettings.o -MD -MP -MF "$(DEPDIR)/amule-RemoteSettings.Tpo" -c -o amule-RemoteSettings.o `test -f 'RemoteSettings.cpp' || echo '$(srcdir)/'`RemoteSettings.cpp; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amule-RemoteSettings.Tpo" "$(DEPDIR)/amule-RemoteSettings.Po"; else rm -f "$(DEPDIR)/amule-RemoteSettings.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='RemoteSettings.cpp' object='amule-RemoteSettings.o' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -c -o amule-RemoteSettings.o `test -f 'RemoteSettings.cpp' || echo '$(srcdir)/'`RemoteSettings.cpp
|
|
+
|
|
+amule-RemoteSettings.obj: RemoteSettings.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -MT amule-RemoteSettings.obj -MD -MP -MF "$(DEPDIR)/amule-RemoteSettings.Tpo" -c -o amule-RemoteSettings.obj `if test -f 'RemoteSettings.cpp'; then $(CYGPATH_W) 'RemoteSettings.cpp'; else $(CYGPATH_W) '$(srcdir)/RemoteSettings.cpp'; fi`; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amule-RemoteSettings.Tpo" "$(DEPDIR)/amule-RemoteSettings.Po"; else rm -f "$(DEPDIR)/amule-RemoteSettings.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='RemoteSettings.cpp' object='amule-RemoteSettings.obj' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -c -o amule-RemoteSettings.obj `if test -f 'RemoteSettings.cpp'; then $(CYGPATH_W) 'RemoteSettings.cpp'; else $(CYGPATH_W) '$(srcdir)/RemoteSettings.cpp'; fi`
|
|
+
|
|
amule-ClientCredits.o: ClientCredits.cpp
|
|
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -MT amule-ClientCredits.o -MD -MP -MF "$(DEPDIR)/amule-ClientCredits.Tpo" -c -o amule-ClientCredits.o `test -f 'ClientCredits.cpp' || echo '$(srcdir)/'`ClientCredits.cpp; \
|
|
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amule-ClientCredits.Tpo" "$(DEPDIR)/amule-ClientCredits.Po"; else rm -f "$(DEPDIR)/amule-ClientCredits.Tpo"; exit 1; fi
|
|
@@ -2562,6 +2579,20 @@ amule-Logger.obj: Logger.cpp
|
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -c -o amule-Logger.obj `if test -f 'Logger.cpp'; then $(CYGPATH_W) 'Logger.cpp'; else $(CYGPATH_W) '$(srcdir)/Logger.cpp'; fi`
|
|
|
|
+amule-Packet.o: Packet.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -MT amule-Packet.o -MD -MP -MF "$(DEPDIR)/amule-Packet.Tpo" -c -o amule-Packet.o `test -f 'Packet.cpp' || echo '$(srcdir)/'`Packet.cpp; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amule-Packet.Tpo" "$(DEPDIR)/amule-Packet.Po"; else rm -f "$(DEPDIR)/amule-Packet.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Packet.cpp' object='amule-Packet.o' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -c -o amule-Packet.o `test -f 'Packet.cpp' || echo '$(srcdir)/'`Packet.cpp
|
|
+
|
|
+amule-Packet.obj: Packet.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -MT amule-Packet.obj -MD -MP -MF "$(DEPDIR)/amule-Packet.Tpo" -c -o amule-Packet.obj `if test -f 'Packet.cpp'; then $(CYGPATH_W) 'Packet.cpp'; else $(CYGPATH_W) '$(srcdir)/Packet.cpp'; fi`; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amule-Packet.Tpo" "$(DEPDIR)/amule-Packet.Po"; else rm -f "$(DEPDIR)/amule-Packet.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Packet.cpp' object='amule-Packet.obj' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -c -o amule-Packet.obj `if test -f 'Packet.cpp'; then $(CYGPATH_W) 'Packet.cpp'; else $(CYGPATH_W) '$(srcdir)/Packet.cpp'; fi`
|
|
+
|
|
amule-PartFile.o: PartFile.cpp
|
|
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -MT amule-PartFile.o -MD -MP -MF "$(DEPDIR)/amule-PartFile.Tpo" -c -o amule-PartFile.o `test -f 'PartFile.cpp' || echo '$(srcdir)/'`PartFile.cpp; \
|
|
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amule-PartFile.Tpo" "$(DEPDIR)/amule-PartFile.Po"; else rm -f "$(DEPDIR)/amule-PartFile.Tpo"; exit 1; fi
|
|
@@ -2660,6 +2691,20 @@ amule-SHAHashSet.obj: SHAHashSet.cpp
|
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -c -o amule-SHAHashSet.obj `if test -f 'SHAHashSet.cpp'; then $(CYGPATH_W) 'SHAHashSet.cpp'; else $(CYGPATH_W) '$(srcdir)/SHAHashSet.cpp'; fi`
|
|
|
|
+amule-HTTPDownload.o: HTTPDownload.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -MT amule-HTTPDownload.o -MD -MP -MF "$(DEPDIR)/amule-HTTPDownload.Tpo" -c -o amule-HTTPDownload.o `test -f 'HTTPDownload.cpp' || echo '$(srcdir)/'`HTTPDownload.cpp; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amule-HTTPDownload.Tpo" "$(DEPDIR)/amule-HTTPDownload.Po"; else rm -f "$(DEPDIR)/amule-HTTPDownload.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='HTTPDownload.cpp' object='amule-HTTPDownload.o' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -c -o amule-HTTPDownload.o `test -f 'HTTPDownload.cpp' || echo '$(srcdir)/'`HTTPDownload.cpp
|
|
+
|
|
+amule-HTTPDownload.obj: HTTPDownload.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -MT amule-HTTPDownload.obj -MD -MP -MF "$(DEPDIR)/amule-HTTPDownload.Tpo" -c -o amule-HTTPDownload.obj `if test -f 'HTTPDownload.cpp'; then $(CYGPATH_W) 'HTTPDownload.cpp'; else $(CYGPATH_W) '$(srcdir)/HTTPDownload.cpp'; fi`; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amule-HTTPDownload.Tpo" "$(DEPDIR)/amule-HTTPDownload.Po"; else rm -f "$(DEPDIR)/amule-HTTPDownload.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='HTTPDownload.cpp' object='amule-HTTPDownload.obj' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -c -o amule-HTTPDownload.obj `if test -f 'HTTPDownload.cpp'; then $(CYGPATH_W) 'HTTPDownload.cpp'; else $(CYGPATH_W) '$(srcdir)/HTTPDownload.cpp'; fi`
|
|
+
|
|
amule-OtherFunctions.o: OtherFunctions.cpp
|
|
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amule_CXXFLAGS) $(CXXFLAGS) -MT amule-OtherFunctions.o -MD -MP -MF "$(DEPDIR)/amule-OtherFunctions.Tpo" -c -o amule-OtherFunctions.o `test -f 'OtherFunctions.cpp' || echo '$(srcdir)/'`OtherFunctions.cpp; \
|
|
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amule-OtherFunctions.Tpo" "$(DEPDIR)/amule-OtherFunctions.Po"; else rm -f "$(DEPDIR)/amule-OtherFunctions.Tpo"; exit 1; fi
|
|
@@ -2954,20 +2999,6 @@ amuled-FriendList.obj: FriendList.cpp
|
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -c -o amuled-FriendList.obj `if test -f 'FriendList.cpp'; then $(CYGPATH_W) 'FriendList.cpp'; else $(CYGPATH_W) '$(srcdir)/FriendList.cpp'; fi`
|
|
|
|
-amuled-HTTPDownload.o: HTTPDownload.cpp
|
|
-@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -MT amuled-HTTPDownload.o -MD -MP -MF "$(DEPDIR)/amuled-HTTPDownload.Tpo" -c -o amuled-HTTPDownload.o `test -f 'HTTPDownload.cpp' || echo '$(srcdir)/'`HTTPDownload.cpp; \
|
|
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amuled-HTTPDownload.Tpo" "$(DEPDIR)/amuled-HTTPDownload.Po"; else rm -f "$(DEPDIR)/amuled-HTTPDownload.Tpo"; exit 1; fi
|
|
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='HTTPDownload.cpp' object='amuled-HTTPDownload.o' libtool=no @AMDEPBACKSLASH@
|
|
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -c -o amuled-HTTPDownload.o `test -f 'HTTPDownload.cpp' || echo '$(srcdir)/'`HTTPDownload.cpp
|
|
-
|
|
-amuled-HTTPDownload.obj: HTTPDownload.cpp
|
|
-@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -MT amuled-HTTPDownload.obj -MD -MP -MF "$(DEPDIR)/amuled-HTTPDownload.Tpo" -c -o amuled-HTTPDownload.obj `if test -f 'HTTPDownload.cpp'; then $(CYGPATH_W) 'HTTPDownload.cpp'; else $(CYGPATH_W) '$(srcdir)/HTTPDownload.cpp'; fi`; \
|
|
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amuled-HTTPDownload.Tpo" "$(DEPDIR)/amuled-HTTPDownload.Po"; else rm -f "$(DEPDIR)/amuled-HTTPDownload.Tpo"; exit 1; fi
|
|
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='HTTPDownload.cpp' object='amuled-HTTPDownload.obj' libtool=no @AMDEPBACKSLASH@
|
|
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -c -o amuled-HTTPDownload.obj `if test -f 'HTTPDownload.cpp'; then $(CYGPATH_W) 'HTTPDownload.cpp'; else $(CYGPATH_W) '$(srcdir)/HTTPDownload.cpp'; fi`
|
|
-
|
|
amuled-IPFilter.o: IPFilter.cpp
|
|
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -MT amuled-IPFilter.o -MD -MP -MF "$(DEPDIR)/amuled-IPFilter.Tpo" -c -o amuled-IPFilter.o `test -f 'IPFilter.cpp' || echo '$(srcdir)/'`IPFilter.cpp; \
|
|
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amuled-IPFilter.Tpo" "$(DEPDIR)/amuled-IPFilter.Po"; else rm -f "$(DEPDIR)/amuled-IPFilter.Tpo"; exit 1; fi
|
|
@@ -3248,6 +3279,34 @@ amuled-Contact.obj: kademlia/routing/Con
|
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -c -o amuled-Contact.obj `if test -f 'kademlia/routing/Contact.cpp'; then $(CYGPATH_W) 'kademlia/routing/Contact.cpp'; else $(CYGPATH_W) '$(srcdir)/kademlia/routing/Contact.cpp'; fi`
|
|
|
|
+amuled-AdunanzA.o: AdunanzA.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -MT amuled-AdunanzA.o -MD -MP -MF "$(DEPDIR)/amuled-AdunanzA.Tpo" -c -o amuled-AdunanzA.o `test -f 'AdunanzA.cpp' || echo '$(srcdir)/'`AdunanzA.cpp; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amuled-AdunanzA.Tpo" "$(DEPDIR)/amuled-AdunanzA.Po"; else rm -f "$(DEPDIR)/amuled-AdunanzA.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='AdunanzA.cpp' object='amuled-AdunanzA.o' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -c -o amuled-AdunanzA.o `test -f 'AdunanzA.cpp' || echo '$(srcdir)/'`AdunanzA.cpp
|
|
+
|
|
+amuled-AdunanzA.obj: AdunanzA.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -MT amuled-AdunanzA.obj -MD -MP -MF "$(DEPDIR)/amuled-AdunanzA.Tpo" -c -o amuled-AdunanzA.obj `if test -f 'AdunanzA.cpp'; then $(CYGPATH_W) 'AdunanzA.cpp'; else $(CYGPATH_W) '$(srcdir)/AdunanzA.cpp'; fi`; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amuled-AdunanzA.Tpo" "$(DEPDIR)/amuled-AdunanzA.Po"; else rm -f "$(DEPDIR)/amuled-AdunanzA.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='AdunanzA.cpp' object='amuled-AdunanzA.obj' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -c -o amuled-AdunanzA.obj `if test -f 'AdunanzA.cpp'; then $(CYGPATH_W) 'AdunanzA.cpp'; else $(CYGPATH_W) '$(srcdir)/AdunanzA.cpp'; fi`
|
|
+
|
|
+amuled-RemoteSettings.o: RemoteSettings.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -MT amuled-RemoteSettings.o -MD -MP -MF "$(DEPDIR)/amuled-RemoteSettings.Tpo" -c -o amuled-RemoteSettings.o `test -f 'RemoteSettings.cpp' || echo '$(srcdir)/'`RemoteSettings.cpp; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amuled-RemoteSettings.Tpo" "$(DEPDIR)/amuled-RemoteSettings.Po"; else rm -f "$(DEPDIR)/amuled-RemoteSettings.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='RemoteSettings.cpp' object='amuled-RemoteSettings.o' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -c -o amuled-RemoteSettings.o `test -f 'RemoteSettings.cpp' || echo '$(srcdir)/'`RemoteSettings.cpp
|
|
+
|
|
+amuled-RemoteSettings.obj: RemoteSettings.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -MT amuled-RemoteSettings.obj -MD -MP -MF "$(DEPDIR)/amuled-RemoteSettings.Tpo" -c -o amuled-RemoteSettings.obj `if test -f 'RemoteSettings.cpp'; then $(CYGPATH_W) 'RemoteSettings.cpp'; else $(CYGPATH_W) '$(srcdir)/RemoteSettings.cpp'; fi`; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amuled-RemoteSettings.Tpo" "$(DEPDIR)/amuled-RemoteSettings.Po"; else rm -f "$(DEPDIR)/amuled-RemoteSettings.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='RemoteSettings.cpp' object='amuled-RemoteSettings.obj' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -c -o amuled-RemoteSettings.obj `if test -f 'RemoteSettings.cpp'; then $(CYGPATH_W) 'RemoteSettings.cpp'; else $(CYGPATH_W) '$(srcdir)/RemoteSettings.cpp'; fi`
|
|
+
|
|
amuled-ClientCredits.o: ClientCredits.cpp
|
|
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -MT amuled-ClientCredits.o -MD -MP -MF "$(DEPDIR)/amuled-ClientCredits.Tpo" -c -o amuled-ClientCredits.o `test -f 'ClientCredits.cpp' || echo '$(srcdir)/'`ClientCredits.cpp; \
|
|
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amuled-ClientCredits.Tpo" "$(DEPDIR)/amuled-ClientCredits.Po"; else rm -f "$(DEPDIR)/amuled-ClientCredits.Tpo"; exit 1; fi
|
|
@@ -3318,6 +3377,20 @@ amuled-Logger.obj: Logger.cpp
|
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -c -o amuled-Logger.obj `if test -f 'Logger.cpp'; then $(CYGPATH_W) 'Logger.cpp'; else $(CYGPATH_W) '$(srcdir)/Logger.cpp'; fi`
|
|
|
|
+amuled-Packet.o: Packet.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -MT amuled-Packet.o -MD -MP -MF "$(DEPDIR)/amuled-Packet.Tpo" -c -o amuled-Packet.o `test -f 'Packet.cpp' || echo '$(srcdir)/'`Packet.cpp; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amuled-Packet.Tpo" "$(DEPDIR)/amuled-Packet.Po"; else rm -f "$(DEPDIR)/amuled-Packet.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Packet.cpp' object='amuled-Packet.o' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -c -o amuled-Packet.o `test -f 'Packet.cpp' || echo '$(srcdir)/'`Packet.cpp
|
|
+
|
|
+amuled-Packet.obj: Packet.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -MT amuled-Packet.obj -MD -MP -MF "$(DEPDIR)/amuled-Packet.Tpo" -c -o amuled-Packet.obj `if test -f 'Packet.cpp'; then $(CYGPATH_W) 'Packet.cpp'; else $(CYGPATH_W) '$(srcdir)/Packet.cpp'; fi`; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amuled-Packet.Tpo" "$(DEPDIR)/amuled-Packet.Po"; else rm -f "$(DEPDIR)/amuled-Packet.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Packet.cpp' object='amuled-Packet.obj' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -c -o amuled-Packet.obj `if test -f 'Packet.cpp'; then $(CYGPATH_W) 'Packet.cpp'; else $(CYGPATH_W) '$(srcdir)/Packet.cpp'; fi`
|
|
+
|
|
amuled-PartFile.o: PartFile.cpp
|
|
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -MT amuled-PartFile.o -MD -MP -MF "$(DEPDIR)/amuled-PartFile.Tpo" -c -o amuled-PartFile.o `test -f 'PartFile.cpp' || echo '$(srcdir)/'`PartFile.cpp; \
|
|
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amuled-PartFile.Tpo" "$(DEPDIR)/amuled-PartFile.Po"; else rm -f "$(DEPDIR)/amuled-PartFile.Tpo"; exit 1; fi
|
|
@@ -3416,6 +3489,20 @@ amuled-SHAHashSet.obj: SHAHashSet.cpp
|
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -c -o amuled-SHAHashSet.obj `if test -f 'SHAHashSet.cpp'; then $(CYGPATH_W) 'SHAHashSet.cpp'; else $(CYGPATH_W) '$(srcdir)/SHAHashSet.cpp'; fi`
|
|
|
|
+amuled-HTTPDownload.o: HTTPDownload.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -MT amuled-HTTPDownload.o -MD -MP -MF "$(DEPDIR)/amuled-HTTPDownload.Tpo" -c -o amuled-HTTPDownload.o `test -f 'HTTPDownload.cpp' || echo '$(srcdir)/'`HTTPDownload.cpp; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amuled-HTTPDownload.Tpo" "$(DEPDIR)/amuled-HTTPDownload.Po"; else rm -f "$(DEPDIR)/amuled-HTTPDownload.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='HTTPDownload.cpp' object='amuled-HTTPDownload.o' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -c -o amuled-HTTPDownload.o `test -f 'HTTPDownload.cpp' || echo '$(srcdir)/'`HTTPDownload.cpp
|
|
+
|
|
+amuled-HTTPDownload.obj: HTTPDownload.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -MT amuled-HTTPDownload.obj -MD -MP -MF "$(DEPDIR)/amuled-HTTPDownload.Tpo" -c -o amuled-HTTPDownload.obj `if test -f 'HTTPDownload.cpp'; then $(CYGPATH_W) 'HTTPDownload.cpp'; else $(CYGPATH_W) '$(srcdir)/HTTPDownload.cpp'; fi`; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amuled-HTTPDownload.Tpo" "$(DEPDIR)/amuled-HTTPDownload.Po"; else rm -f "$(DEPDIR)/amuled-HTTPDownload.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='HTTPDownload.cpp' object='amuled-HTTPDownload.obj' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -c -o amuled-HTTPDownload.obj `if test -f 'HTTPDownload.cpp'; then $(CYGPATH_W) 'HTTPDownload.cpp'; else $(CYGPATH_W) '$(srcdir)/HTTPDownload.cpp'; fi`
|
|
+
|
|
amuled-OtherFunctions.o: OtherFunctions.cpp
|
|
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amuled_CXXFLAGS) $(CXXFLAGS) -MT amuled-OtherFunctions.o -MD -MP -MF "$(DEPDIR)/amuled-OtherFunctions.Tpo" -c -o amuled-OtherFunctions.o `test -f 'OtherFunctions.cpp' || echo '$(srcdir)/'`OtherFunctions.cpp; \
|
|
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amuled-OtherFunctions.Tpo" "$(DEPDIR)/amuled-OtherFunctions.Po"; else rm -f "$(DEPDIR)/amuled-OtherFunctions.Tpo"; exit 1; fi
|
|
@@ -3542,6 +3629,20 @@ amulegui-KadDlg.obj: KadDlg.cpp
|
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -c -o amulegui-KadDlg.obj `if test -f 'KadDlg.cpp'; then $(CYGPATH_W) 'KadDlg.cpp'; else $(CYGPATH_W) '$(srcdir)/KadDlg.cpp'; fi`
|
|
|
|
+amulegui-MuleListCtrl.o: MuleListCtrl.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -MT amulegui-MuleListCtrl.o -MD -MP -MF "$(DEPDIR)/amulegui-MuleListCtrl.Tpo" -c -o amulegui-MuleListCtrl.o `test -f 'MuleListCtrl.cpp' || echo '$(srcdir)/'`MuleListCtrl.cpp; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amulegui-MuleListCtrl.Tpo" "$(DEPDIR)/amulegui-MuleListCtrl.Po"; else rm -f "$(DEPDIR)/amulegui-MuleListCtrl.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='MuleListCtrl.cpp' object='amulegui-MuleListCtrl.o' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -c -o amulegui-MuleListCtrl.o `test -f 'MuleListCtrl.cpp' || echo '$(srcdir)/'`MuleListCtrl.cpp
|
|
+
|
|
+amulegui-MuleListCtrl.obj: MuleListCtrl.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -MT amulegui-MuleListCtrl.obj -MD -MP -MF "$(DEPDIR)/amulegui-MuleListCtrl.Tpo" -c -o amulegui-MuleListCtrl.obj `if test -f 'MuleListCtrl.cpp'; then $(CYGPATH_W) 'MuleListCtrl.cpp'; else $(CYGPATH_W) '$(srcdir)/MuleListCtrl.cpp'; fi`; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amulegui-MuleListCtrl.Tpo" "$(DEPDIR)/amulegui-MuleListCtrl.Po"; else rm -f "$(DEPDIR)/amulegui-MuleListCtrl.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='MuleListCtrl.cpp' object='amulegui-MuleListCtrl.obj' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -c -o amulegui-MuleListCtrl.obj `if test -f 'MuleListCtrl.cpp'; then $(CYGPATH_W) 'MuleListCtrl.cpp'; else $(CYGPATH_W) '$(srcdir)/MuleListCtrl.cpp'; fi`
|
|
+
|
|
amulegui-OScopeCtrl.o: OScopeCtrl.cpp
|
|
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -MT amulegui-OScopeCtrl.o -MD -MP -MF "$(DEPDIR)/amulegui-OScopeCtrl.Tpo" -c -o amulegui-OScopeCtrl.o `test -f 'OScopeCtrl.cpp' || echo '$(srcdir)/'`OScopeCtrl.cpp; \
|
|
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amulegui-OScopeCtrl.Tpo" "$(DEPDIR)/amulegui-OScopeCtrl.Po"; else rm -f "$(DEPDIR)/amulegui-OScopeCtrl.Tpo"; exit 1; fi
|
|
@@ -3752,6 +3853,34 @@ amulegui-TransferWnd.obj: TransferWnd.cp
|
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -c -o amulegui-TransferWnd.obj `if test -f 'TransferWnd.cpp'; then $(CYGPATH_W) 'TransferWnd.cpp'; else $(CYGPATH_W) '$(srcdir)/TransferWnd.cpp'; fi`
|
|
|
|
+amulegui-AdunanzA.o: AdunanzA.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -MT amulegui-AdunanzA.o -MD -MP -MF "$(DEPDIR)/amulegui-AdunanzA.Tpo" -c -o amulegui-AdunanzA.o `test -f 'AdunanzA.cpp' || echo '$(srcdir)/'`AdunanzA.cpp; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amulegui-AdunanzA.Tpo" "$(DEPDIR)/amulegui-AdunanzA.Po"; else rm -f "$(DEPDIR)/amulegui-AdunanzA.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='AdunanzA.cpp' object='amulegui-AdunanzA.o' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -c -o amulegui-AdunanzA.o `test -f 'AdunanzA.cpp' || echo '$(srcdir)/'`AdunanzA.cpp
|
|
+
|
|
+amulegui-AdunanzA.obj: AdunanzA.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -MT amulegui-AdunanzA.obj -MD -MP -MF "$(DEPDIR)/amulegui-AdunanzA.Tpo" -c -o amulegui-AdunanzA.obj `if test -f 'AdunanzA.cpp'; then $(CYGPATH_W) 'AdunanzA.cpp'; else $(CYGPATH_W) '$(srcdir)/AdunanzA.cpp'; fi`; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amulegui-AdunanzA.Tpo" "$(DEPDIR)/amulegui-AdunanzA.Po"; else rm -f "$(DEPDIR)/amulegui-AdunanzA.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='AdunanzA.cpp' object='amulegui-AdunanzA.obj' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -c -o amulegui-AdunanzA.obj `if test -f 'AdunanzA.cpp'; then $(CYGPATH_W) 'AdunanzA.cpp'; else $(CYGPATH_W) '$(srcdir)/AdunanzA.cpp'; fi`
|
|
+
|
|
+amulegui-RemoteSettings.o: RemoteSettings.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -MT amulegui-RemoteSettings.o -MD -MP -MF "$(DEPDIR)/amulegui-RemoteSettings.Tpo" -c -o amulegui-RemoteSettings.o `test -f 'RemoteSettings.cpp' || echo '$(srcdir)/'`RemoteSettings.cpp; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amulegui-RemoteSettings.Tpo" "$(DEPDIR)/amulegui-RemoteSettings.Po"; else rm -f "$(DEPDIR)/amulegui-RemoteSettings.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='RemoteSettings.cpp' object='amulegui-RemoteSettings.o' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -c -o amulegui-RemoteSettings.o `test -f 'RemoteSettings.cpp' || echo '$(srcdir)/'`RemoteSettings.cpp
|
|
+
|
|
+amulegui-RemoteSettings.obj: RemoteSettings.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -MT amulegui-RemoteSettings.obj -MD -MP -MF "$(DEPDIR)/amulegui-RemoteSettings.Tpo" -c -o amulegui-RemoteSettings.obj `if test -f 'RemoteSettings.cpp'; then $(CYGPATH_W) 'RemoteSettings.cpp'; else $(CYGPATH_W) '$(srcdir)/RemoteSettings.cpp'; fi`; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amulegui-RemoteSettings.Tpo" "$(DEPDIR)/amulegui-RemoteSettings.Po"; else rm -f "$(DEPDIR)/amulegui-RemoteSettings.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='RemoteSettings.cpp' object='amulegui-RemoteSettings.obj' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -c -o amulegui-RemoteSettings.obj `if test -f 'RemoteSettings.cpp'; then $(CYGPATH_W) 'RemoteSettings.cpp'; else $(CYGPATH_W) '$(srcdir)/RemoteSettings.cpp'; fi`
|
|
+
|
|
amulegui-ClientCredits.o: ClientCredits.cpp
|
|
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -MT amulegui-ClientCredits.o -MD -MP -MF "$(DEPDIR)/amulegui-ClientCredits.Tpo" -c -o amulegui-ClientCredits.o `test -f 'ClientCredits.cpp' || echo '$(srcdir)/'`ClientCredits.cpp; \
|
|
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amulegui-ClientCredits.Tpo" "$(DEPDIR)/amulegui-ClientCredits.Po"; else rm -f "$(DEPDIR)/amulegui-ClientCredits.Tpo"; exit 1; fi
|
|
@@ -3822,6 +3951,20 @@ amulegui-Logger.obj: Logger.cpp
|
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -c -o amulegui-Logger.obj `if test -f 'Logger.cpp'; then $(CYGPATH_W) 'Logger.cpp'; else $(CYGPATH_W) '$(srcdir)/Logger.cpp'; fi`
|
|
|
|
+amulegui-Packet.o: Packet.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -MT amulegui-Packet.o -MD -MP -MF "$(DEPDIR)/amulegui-Packet.Tpo" -c -o amulegui-Packet.o `test -f 'Packet.cpp' || echo '$(srcdir)/'`Packet.cpp; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amulegui-Packet.Tpo" "$(DEPDIR)/amulegui-Packet.Po"; else rm -f "$(DEPDIR)/amulegui-Packet.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Packet.cpp' object='amulegui-Packet.o' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -c -o amulegui-Packet.o `test -f 'Packet.cpp' || echo '$(srcdir)/'`Packet.cpp
|
|
+
|
|
+amulegui-Packet.obj: Packet.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -MT amulegui-Packet.obj -MD -MP -MF "$(DEPDIR)/amulegui-Packet.Tpo" -c -o amulegui-Packet.obj `if test -f 'Packet.cpp'; then $(CYGPATH_W) 'Packet.cpp'; else $(CYGPATH_W) '$(srcdir)/Packet.cpp'; fi`; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amulegui-Packet.Tpo" "$(DEPDIR)/amulegui-Packet.Po"; else rm -f "$(DEPDIR)/amulegui-Packet.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Packet.cpp' object='amulegui-Packet.obj' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -c -o amulegui-Packet.obj `if test -f 'Packet.cpp'; then $(CYGPATH_W) 'Packet.cpp'; else $(CYGPATH_W) '$(srcdir)/Packet.cpp'; fi`
|
|
+
|
|
amulegui-PartFile.o: PartFile.cpp
|
|
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -MT amulegui-PartFile.o -MD -MP -MF "$(DEPDIR)/amulegui-PartFile.Tpo" -c -o amulegui-PartFile.o `test -f 'PartFile.cpp' || echo '$(srcdir)/'`PartFile.cpp; \
|
|
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amulegui-PartFile.Tpo" "$(DEPDIR)/amulegui-PartFile.Po"; else rm -f "$(DEPDIR)/amulegui-PartFile.Tpo"; exit 1; fi
|
|
@@ -3920,6 +4063,20 @@ amulegui-SHAHashSet.obj: SHAHashSet.cpp
|
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -c -o amulegui-SHAHashSet.obj `if test -f 'SHAHashSet.cpp'; then $(CYGPATH_W) 'SHAHashSet.cpp'; else $(CYGPATH_W) '$(srcdir)/SHAHashSet.cpp'; fi`
|
|
|
|
+amulegui-HTTPDownload.o: HTTPDownload.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -MT amulegui-HTTPDownload.o -MD -MP -MF "$(DEPDIR)/amulegui-HTTPDownload.Tpo" -c -o amulegui-HTTPDownload.o `test -f 'HTTPDownload.cpp' || echo '$(srcdir)/'`HTTPDownload.cpp; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amulegui-HTTPDownload.Tpo" "$(DEPDIR)/amulegui-HTTPDownload.Po"; else rm -f "$(DEPDIR)/amulegui-HTTPDownload.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='HTTPDownload.cpp' object='amulegui-HTTPDownload.o' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -c -o amulegui-HTTPDownload.o `test -f 'HTTPDownload.cpp' || echo '$(srcdir)/'`HTTPDownload.cpp
|
|
+
|
|
+amulegui-HTTPDownload.obj: HTTPDownload.cpp
|
|
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -MT amulegui-HTTPDownload.obj -MD -MP -MF "$(DEPDIR)/amulegui-HTTPDownload.Tpo" -c -o amulegui-HTTPDownload.obj `if test -f 'HTTPDownload.cpp'; then $(CYGPATH_W) 'HTTPDownload.cpp'; else $(CYGPATH_W) '$(srcdir)/HTTPDownload.cpp'; fi`; \
|
|
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amulegui-HTTPDownload.Tpo" "$(DEPDIR)/amulegui-HTTPDownload.Po"; else rm -f "$(DEPDIR)/amulegui-HTTPDownload.Tpo"; exit 1; fi
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='HTTPDownload.cpp' object='amulegui-HTTPDownload.obj' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -c -o amulegui-HTTPDownload.obj `if test -f 'HTTPDownload.cpp'; then $(CYGPATH_W) 'HTTPDownload.cpp'; else $(CYGPATH_W) '$(srcdir)/HTTPDownload.cpp'; fi`
|
|
+
|
|
amulegui-OtherFunctions.o: OtherFunctions.cpp
|
|
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(amulegui_CXXFLAGS) $(CXXFLAGS) -MT amulegui-OtherFunctions.o -MD -MP -MF "$(DEPDIR)/amulegui-OtherFunctions.Tpo" -c -o amulegui-OtherFunctions.o `test -f 'OtherFunctions.cpp' || echo '$(srcdir)/'`OtherFunctions.cpp; \
|
|
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/amulegui-OtherFunctions.Tpo" "$(DEPDIR)/amulegui-OtherFunctions.Po"; else rm -f "$(DEPDIR)/amulegui-OtherFunctions.Tpo"; exit 1; fi
|
|
diff -urdpN ../aMule-2.1.3-orig/src/Makengfile ./src/Makengfile
|
|
--- ../aMule-2.1.3-orig/src/Makengfile 2005-03-16 18:27:56.000000000 +0100
|
|
+++ ./src/Makengfile 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -7,6 +7,7 @@ $(proc add-type-options,c,o, $(CFLAGS))
|
|
$(proc add-type-options,cpp,o, -Isrc $(CXXFLAGS))
|
|
|
|
SOURCES = AddFriend.cpp \
|
|
+ AdunanzA.cpp \
|
|
animate.cpp \
|
|
BarShader.cpp \
|
|
BaseClient.cpp \
|
|
diff -urdpN ../aMule-2.1.3-orig/src/MuleListCtrl.cpp ./src/MuleListCtrl.cpp
|
|
--- ../aMule-2.1.3-orig/src/MuleListCtrl.cpp 2006-01-10 01:06:29.000000000 +0100
|
|
+++ ./src/MuleListCtrl.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -36,6 +36,7 @@
|
|
#include "MuleListCtrl.h" // Interface declarations
|
|
#include "OPCodes.h" // Needed for MP_LISTCOL_1
|
|
#include "GetTickCount.h" // Needed for GetTickCount()
|
|
+#include "amule.h"
|
|
|
|
#include <cctype> // Needed for isprint() and tolower
|
|
|
|
@@ -107,7 +108,7 @@ void CMuleListCtrl::SaveSettings()
|
|
return;
|
|
}
|
|
|
|
- wxConfigBase* cfg = wxConfigBase::Get();
|
|
+ wxConfigBase* cfg = theApp.acfg;
|
|
|
|
// Save sorting, column and order
|
|
cfg->Write(wxT("/eMule/TableSorting") + m_name, (long)(m_sort_column | m_sort_order));
|
|
@@ -131,7 +132,7 @@ void CMuleListCtrl::LoadSettings()
|
|
return;
|
|
}
|
|
|
|
- wxConfigBase* cfg = wxConfigBase::Get();
|
|
+ wxConfigBase* cfg = theApp.acfg;
|
|
|
|
// Load sort order (including sort-column)
|
|
long setting = cfg->Read(wxT("/eMule/TableSorting") + m_name, 0l);
|
|
diff -urdpN ../aMule-2.1.3-orig/src/muuli_wdr.cpp ./src/muuli_wdr.cpp
|
|
--- ../aMule-2.1.3-orig/src/muuli_wdr.cpp 2006-05-02 05:28:53.000000000 +0200
|
|
+++ ./src/muuli_wdr.cpp 2006-06-12 19:20:49.000000000 +0200
|
|
@@ -50,6 +50,9 @@
|
|
#include "PartFileConvert.h"
|
|
#include "KadDlg.h"
|
|
|
|
+#include "amuleDlg.h"
|
|
+#include "AdunanzA.h"
|
|
+
|
|
|
|
// Implement window functions
|
|
|
|
@@ -199,7 +202,7 @@ wxSizer *searchDlg( wxWindow *parent, bo
|
|
{
|
|
_("Local Search"),
|
|
_("Global Search"),
|
|
- _("Kad"),
|
|
+ _("KAdu"),
|
|
_("FileHash (WWW)")
|
|
};
|
|
wxChoice *item9 = new wxChoice( parent, ID_SEARCHTYPE, wxDefaultPosition, wxDefaultSize, 4, strs9, 0 );
|
|
@@ -1596,7 +1599,7 @@ wxSizer *PreferencesGeneralTab( wxWindow
|
|
wxStaticBox *item6 = new wxStaticBox( parent, -1, _("Nick") );
|
|
wxStaticBoxSizer *item5 = new wxStaticBoxSizer( item6, wxVERTICAL );
|
|
|
|
- CMuleTextCtrl *item7 = new CMuleTextCtrl( parent, IDC_NICK, _("http://www.aMule.org - the Linux Mule"), wxDefaultPosition, wxSize(90,-1), 0 );
|
|
+ CMuleTextCtrl *item7 = new CMuleTextCtrl( parent, IDC_NICK, _("http://www.adunanza.net"), wxDefaultPosition, wxSize(90,-1), 0 );
|
|
item7->SetToolTip( _("This is the name that other users will see when connecting to you.") );
|
|
item5->Add( item7, 0, wxGROW|wxALIGN_CENTER_VERTICAL, 5 );
|
|
|
|
@@ -1755,7 +1758,7 @@ wxSizer *PreferencesConnectionTab( wxWin
|
|
|
|
wxBoxSizer *item16 = new wxBoxSizer( wxHORIZONTAL );
|
|
|
|
- wxSpinCtrl *item17 = new wxSpinCtrl( parent, IDC_SLOTALLOC, wxT("2"), wxDefaultPosition, wxSize(100,-1), 0, 1, 30, 2 );
|
|
+ wxSpinCtrl *item17 = new wxSpinCtrl( parent, IDC_SLOTALLOC, wxT("2"), wxDefaultPosition, wxSize(100,-1), 0, 1, 500, 2 );
|
|
item16->Add( item17, 0, wxALIGN_CENTER_VERTICAL, 5 );
|
|
|
|
wxStaticText *item18 = new wxStaticText( parent, ID_TEXT, _("kB/s"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
@@ -2270,11 +2273,12 @@ wxSizer *PreferencesStatisticsTab( wxWin
|
|
_("Active downloads"),
|
|
_("Active uploads"),
|
|
_("Systray Icon Speedbar"),
|
|
+ _("Kad-nodes active"),
|
|
_("Kad-nodes current"),
|
|
_("Kad-nodes running"),
|
|
_("Kad-nodes session")
|
|
};
|
|
- wxChoice *item14 = new wxChoice( parent, IDC_COLORSELECTOR, wxDefaultPosition, wxDefaultSize, 15, strs14, 0 );
|
|
+ wxChoice *item14 = new wxChoice( parent, IDC_COLORSELECTOR, wxDefaultPosition, wxDefaultSize, 16, strs14, 0 );
|
|
item13->Add( item14, 0, wxGROW|wxALIGN_CENTER_HORIZONTAL|wxRIGHT, 5 );
|
|
|
|
wxButton *item15 = new wxButton( parent, IDC_COLOR_BUTTON, _("Select"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
@@ -3212,7 +3216,7 @@ wxSizer *KadDlg( wxWindow *parent, bool
|
|
item5->SetName( wxT("nodesListLabel") );
|
|
item3->Add( item5, 0, wxADJUST_MINSIZE|wxALIGN_CENTER|wxLEFT|wxRIGHT, 5 );
|
|
|
|
- CMuleTextCtrl *item6 = new CMuleTextCtrl( parent, IDC_NODESLISTURL, _("http://download.overnet2000.de/nodes.dat"), wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
|
|
+ CMuleTextCtrl *item6 = new CMuleTextCtrl( parent, IDC_NODESLISTURL, _(ADU_NODES_DAT), wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
|
|
item6->SetToolTip( _("Enter the url to a nodes.dat file here and press the button to the left to update the list of known nodes.") );
|
|
item3->Add( item6, 1, wxADJUST_MINSIZE|wxGROW|wxALIGN_CENTER_HORIZONTAL|wxLEFT, 5 );
|
|
|
|
@@ -3221,7 +3225,7 @@ wxSizer *KadDlg( wxWindow *parent, bool
|
|
wxStaticBox *item8 = new wxStaticBox( parent, -1, _("Nodes stats") );
|
|
wxStaticBoxSizer *item7 = new wxStaticBoxSizer( item8, wxVERTICAL );
|
|
|
|
- wxWindow *item9 = new COScopeCtrl(3,0,GRAPH_KAD,parent);
|
|
+ wxWindow *item9 = new COScopeCtrl(4,0,GRAPH_KAD,parent);
|
|
item9->SetName(wxT("kadScope"));
|
|
wxASSERT( item9 );
|
|
item7->Add( item9, 1, wxGROW, 5 );
|
|
@@ -3232,11 +3236,22 @@ item9->SetName(wxT("kadScope"));
|
|
|
|
wxBoxSizer *item11 = new wxBoxSizer( wxHORIZONTAL );
|
|
|
|
- wxWindow *item12 = new CColorFrameCtrl(parent,IDC_C0,20,14);
|
|
+ wxWindow *item12 = new CColorFrameCtrl(parent,IDC_C1,20,14);
|
|
wxASSERT( item12 );
|
|
item11->Add( item12, 0, wxFIXED_MINSIZE|wxALIGN_CENTER, 5 );
|
|
|
|
- wxStaticText *item13 = new wxStaticText( parent, ID_TEXT, _("Current"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
+ wxStaticText *item13 = new wxStaticText( parent, ID_TEXT, _("Current Active"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
+ item11->Add( item13, 0, wxADJUST_MINSIZE|wxALIGN_CENTER|wxLEFT, 5 );
|
|
+
|
|
+ item10->Add( item11, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
|
|
+
|
|
+ item11 = new wxBoxSizer( wxHORIZONTAL );
|
|
+
|
|
+ item12 = new CColorFrameCtrl(parent,IDC_C0,20,14);
|
|
+ wxASSERT( item12 );
|
|
+ item11->Add( item12, 0, wxFIXED_MINSIZE|wxALIGN_CENTER, 5 );
|
|
+
|
|
+ item13 = new wxStaticText( parent, ID_TEXT, _("Current"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
item11->Add( item13, 0, wxADJUST_MINSIZE|wxALIGN_CENTER|wxLEFT, 5 );
|
|
|
|
item10->Add( item11, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
|
|
@@ -4009,6 +4024,7 @@ void muleToolbar( wxToolBar *parent )
|
|
parent->AddTool( ID_BUTTONSHARED, _("Shared Files"), amuleDlgImages( 23 ), wxNullBitmap, wxITEM_CHECK, _("Shared Files Window") );
|
|
parent->AddTool( ID_BUTTONMESSAGES, _("Messages"), amuleDlgImages( 24 ), wxNullBitmap, wxITEM_CHECK, _("Messages Window") );
|
|
parent->AddTool( ID_BUTTONSTATISTICS, _("Statistics"), amuleDlgImages( 25 ), wxNullBitmap, wxITEM_CHECK, _("Statistics Graph Window") );
|
|
+ parent->AddTool( ID_IRC, _("Chat/Supporto"), amuleDlgImages( 930 ), wxNullBitmap, wxITEM_NORMAL, _("Informazioni e Aiuto") );
|
|
parent->AddSeparator();
|
|
parent->AddTool( ID_BUTTONNEWPREFERENCES, _("Preferences"), amuleDlgImages( 26 ), wxNullBitmap, wxITEM_NORMAL, _("Preferences Settings Window") );
|
|
parent->AddTool( ID_BUTTONIMPORT, _("Import"), amuleDlgImages( 32 ), wxNullBitmap, wxITEM_NORMAL, _("The partfile importer tool") );
|
|
@@ -5062,6 +5078,109 @@ wxBitmap clientImages( size_t index )
|
|
wxBitmap bitmap( image );
|
|
return bitmap;
|
|
}
|
|
+
|
|
+ // Stefano Picerno: Aggiunte due immagini
|
|
+ if (index == Client_Adunanza_Flag)
|
|
+ { // Adunanza FLAG
|
|
+ /* XPM */
|
|
+ static const char *xpm_data[] = {
|
|
+ /* columns rows colors chars-per-pixel */
|
|
+ "16 16 6 1",
|
|
+ " c None",
|
|
+ "a c Black",
|
|
+ "b c #101010",
|
|
+ "c c #FF0000",
|
|
+ "e c #222222",
|
|
+ "f c #0D0D0D",
|
|
+ /* pixels */
|
|
+ " ",
|
|
+ " ",
|
|
+ " ",
|
|
+ " ",
|
|
+ " ",
|
|
+ " ",
|
|
+ " ",
|
|
+ " aa ",
|
|
+ " acca ",
|
|
+ " acccca ",
|
|
+ " accaacca",
|
|
+ " accaacca",
|
|
+ " acccccca",
|
|
+ " accaacca",
|
|
+ " accaacca",
|
|
+ " aa aa "
|
|
+ };
|
|
+
|
|
+ wxBitmap bitmap( xpm_data );
|
|
+ return bitmap;
|
|
+ }
|
|
+ if (index == Client_Fastweb_Flag)
|
|
+ { // Fastweb FLAG
|
|
+ /* XPM */
|
|
+ static const char *xpm_data[] = {
|
|
+ /* columns rows colors chars-per-pixel */
|
|
+ "16 16 6 1",
|
|
+ " c None",
|
|
+ "a c Black",
|
|
+ "b c #101010",
|
|
+ "c c #0000FF",
|
|
+ "e c #222222",
|
|
+ "f c #0D0D0D",
|
|
+ /* pixels */
|
|
+ " ",
|
|
+ " ",
|
|
+ " ",
|
|
+ " ",
|
|
+ " ",
|
|
+ " ",
|
|
+ " ",
|
|
+ " aaaaa ",
|
|
+ " accccca",
|
|
+ " accccca",
|
|
+ " accaa ",
|
|
+ " acccca ",
|
|
+ " acccca ",
|
|
+ " accaa ",
|
|
+ " acca ",
|
|
+ " aa "
|
|
+ };
|
|
+ wxBitmap bitmap( xpm_data );
|
|
+ return bitmap;
|
|
+ }
|
|
+ if (index == Client_Fiber_Flag)
|
|
+ { // Fiber FLAG
|
|
+ /* XPM */
|
|
+ static const char *xpm_data[] = {
|
|
+ /* columns rows colors chars-per-pixel */
|
|
+ "16 16 6 1",
|
|
+ " c None",
|
|
+ "a c Black",
|
|
+ "b c #003070",
|
|
+ "c c #A0A0A0",
|
|
+ "e c #FFFFFF",
|
|
+ "f c #0D0D0D",
|
|
+ /* pixels */
|
|
+ " aa ",
|
|
+ " aeea ",
|
|
+ " aaeaea ",
|
|
+ " abbaeea ",
|
|
+ " abbbbaa ",
|
|
+ "abbbbba ",
|
|
+ "abbbba ",
|
|
+ " abba ",
|
|
+ " aa ",
|
|
+ " ",
|
|
+ " ",
|
|
+ " ",
|
|
+ " ",
|
|
+ " ",
|
|
+ " ",
|
|
+ " "
|
|
+ };
|
|
+ wxBitmap bitmap( xpm_data );
|
|
+ return bitmap;
|
|
+ }
|
|
+ // Fine
|
|
return wxNullBitmap;
|
|
}
|
|
|
|
@@ -5236,6 +5355,8 @@ wxBitmap dlStatusImages( size_t index )
|
|
wxBitmap bitmap( xpm_data );
|
|
return bitmap;
|
|
}
|
|
+
|
|
+
|
|
return wxNullBitmap;
|
|
}
|
|
|
|
@@ -6624,6 +6745,8 @@ wxBitmap amuleSpecial( size_t index )
|
|
wxBitmap bitmap( image );
|
|
return bitmap;
|
|
}
|
|
+
|
|
+
|
|
return wxNullBitmap;
|
|
}
|
|
|
|
@@ -9480,6 +9603,259 @@ wxBitmap amuleDlgImages( size_t index )
|
|
wxBitmap bitmap( image );
|
|
return bitmap;
|
|
}
|
|
+
|
|
+ if (index == 930)
|
|
+ {
|
|
+ static const char *xpm_data[] = {
|
|
+"32 32 211 2",
|
|
+" c None",
|
|
+". c #043F8A",
|
|
+"+ c #1659A2",
|
|
+"@ c #3A92FF",
|
|
+"# c #77A6CD",
|
|
+"$ c #547C67",
|
|
+"% c #2479F1",
|
|
+"& c #084B9A",
|
|
+"* c #003C83",
|
|
+"= c #00397C",
|
|
+"- c #2A5865",
|
|
+"; c #727476",
|
|
+"> c #116CC9",
|
|
+", c #4A7CAD",
|
|
+"' c #1558A7",
|
|
+") c #3B95DB",
|
|
+"! c #54AFED",
|
|
+"~ c #74C2FA",
|
|
+"{ c #7EC6FB",
|
|
+"] c #83C9FB",
|
|
+"^ c #75B8EE",
|
|
+"/ c #71A6DA",
|
|
+"( c #245F9F",
|
|
+"_ c #003572",
|
|
+": c #F1F0EF",
|
|
+"< c #1960AC",
|
|
+"[ c #003F8A",
|
|
+"} c #1B65AE",
|
|
+"| c #4997D8",
|
|
+"1 c #75BCF3",
|
|
+"2 c #95CCFB",
|
|
+"3 c #9CD1FB",
|
|
+"4 c #BEE1FD",
|
|
+"5 c #B4D9F7",
|
|
+"6 c #AFD5F3",
|
|
+"7 c #9DC5EE",
|
|
+"8 c #34659B",
|
|
+"9 c #D1BDA1",
|
|
+"0 c #1A559A",
|
|
+"a c #00408B",
|
|
+"b c #2774C4",
|
|
+"c c #8EC3FD",
|
|
+"d c #B5DCFB",
|
|
+"e c #D4EBFE",
|
|
+"f c #E7F4FF",
|
|
+"g c #FDFFFF",
|
|
+"h c #EAF6FF",
|
|
+"i c #95B3D7",
|
|
+"j c #3F6EA2",
|
|
+"k c #00326C",
|
|
+"l c #0C498E",
|
|
+"m c #4B6389",
|
|
+"n c #EEF8FF",
|
|
+"o c #C3E5FF",
|
|
+"p c #23558D",
|
|
+"q c #035AB3",
|
|
+"r c #276BB8",
|
|
+"s c #F2F2F1",
|
|
+"t c #E3E5EA",
|
|
+"u c #DEE0E6",
|
|
+"v c #D4DCE6",
|
|
+"w c #CADAEA",
|
|
+"x c #C6D6E6",
|
|
+"y c #CDE2F4",
|
|
+"z c #BDDEFB",
|
|
+"A c #7B97BA",
|
|
+"B c #6485AE",
|
|
+"C c #000000",
|
|
+"D c #4182C7",
|
|
+"E c #FF8080",
|
|
+"F c #D90000",
|
|
+"G c #FFFFE0",
|
|
+"H c #D9D900",
|
|
+"I c #9ECBFC",
|
|
+"J c #5384BD",
|
|
+"K c #5BA4E1",
|
|
+"L c #B7CFE6",
|
|
+"M c #FF0504",
|
|
+"N c #B50001",
|
|
+"O c #BC0003",
|
|
+"P c #FFFF00",
|
|
+"Q c #B2B200",
|
|
+"R c #79AEE9",
|
|
+"S c #18529C",
|
|
+"T c #F3FAFF",
|
|
+"U c #FF6262",
|
|
+"V c #8ABFFB",
|
|
+"W c #CEE9FF",
|
|
+"X c #ADCAE6",
|
|
+"Y c #688DBA",
|
|
+"Z c #C1DDF4",
|
|
+"` c #ACD6FE",
|
|
+" . c #83BBF9",
|
|
+".. c #C20000",
|
|
+"+. c #8AA2C1",
|
|
+"@. c #95AFCE",
|
|
+"#. c #ACCBE9",
|
|
+"$. c #76B1F7",
|
|
+"%. c #3A85E8",
|
|
+"&. c #A6D2FE",
|
|
+"*. c #A5C6E6",
|
|
+"=. c #4D79AF",
|
|
+"-. c #B3D4F3",
|
|
+";. c #CBE7FF",
|
|
+">. c #95C6FC",
|
|
+",. c #63A4F6",
|
|
+"'. c #377FE6",
|
|
+"). c #002D62",
|
|
+"!. c #7BB4F9",
|
|
+"~. c #4E94F2",
|
|
+"{. c #256CD0",
|
|
+"]. c #6CA9F7",
|
|
+"^. c #3E89ED",
|
|
+"/. c #114D9C",
|
|
+"(. c #642909",
|
|
+"_. c #A3C5EA",
|
|
+":. c #FFFFA8",
|
|
+"<. c #A0A50B",
|
|
+"[. c #A5AA0B",
|
|
+"}. c #A9AC0B",
|
|
+"|. c #5B9DF4",
|
|
+"1. c #2F76D7",
|
|
+"2. c #D48D4E",
|
|
+"3. c #DAA16C",
|
|
+"4. c #CE8240",
|
|
+"5. c #AE6327",
|
|
+"6. c #8DBBF0",
|
|
+"7. c #C67530",
|
|
+"8. c #B4682C",
|
|
+"9. c #EBC999",
|
|
+"0. c #E4B886",
|
|
+"a. c #D38E52",
|
|
+"b. c #9B5522",
|
|
+"c. c #96BEE6",
|
|
+"d. c #9EC2E6",
|
|
+"e. c #4389F2",
|
|
+"f. c #2D70CD",
|
|
+"g. c #783910",
|
|
+"h. c #E0AE7D",
|
|
+"i. c #D69557",
|
|
+"j. c #86461A",
|
|
+"k. c #858588",
|
|
+"l. c #8E4B1B",
|
|
+"m. c #675B63",
|
|
+"n. c #8192AF",
|
|
+"o. c #A0CEFD",
|
|
+"p. c #7FBDF9",
|
|
+"q. c #4289EC",
|
|
+"r. c #914C1B",
|
|
+"s. c #BA6C2C",
|
|
+"t. c #67A9F8",
|
|
+"u. c #6DAAF8",
|
|
+"v. c #1857B1",
|
|
+"w. c #0A4083",
|
|
+"x. c #A55C25",
|
|
+"y. c #5A2D12",
|
|
+"z. c #EED2AE",
|
|
+"A. c #B67038",
|
|
+"B. c #0D51A5",
|
|
+"C. c #1462D2",
|
|
+"D. c #2171E8",
|
|
+"E. c #2F82F0",
|
|
+"F. c #3684F1",
|
|
+"G. c #4490F2",
|
|
+"H. c #77B2F9",
|
|
+"I. c #DDDBD7",
|
|
+"J. c #45312A",
|
|
+"K. c #32373E",
|
|
+"L. c #014499",
|
|
+"M. c #0657C6",
|
|
+"N. c #7E98B6",
|
|
+"O. c #6F310D",
|
|
+"P. c #CF874A",
|
|
+"Q. c #F6E7DA",
|
|
+"R. c #9A9794",
|
|
+"S. c #48494C",
|
|
+"T. c #A7602A",
|
|
+"U. c #D1B28B",
|
|
+"V. c #E5DCD2",
|
|
+"W. c #BDBDB6",
|
|
+"X. c #DCA25C",
|
|
+"Y. c #CA7B38",
|
|
+"Z. c #C27739",
|
|
+"`. c #C68338",
|
|
+" + c #686A6D",
|
|
+".+ c #171614",
|
|
+"++ c #B4B4B1",
|
|
+"@+ c #AD6228",
|
|
+"#+ c #BE7D3F",
|
|
+"$+ c #AAAAA7",
|
|
+"%+ c #A0A09E",
|
|
+"&+ c #E3E3E0",
|
|
+"*+ c #CD813F",
|
|
+"=+ c #D99A61",
|
|
+"-+ c #D4CDC2",
|
|
+";+ c #E8E8E6",
|
|
+">+ c #EFEFED",
|
|
+",+ c #054EB0",
|
|
+"'+ c #D89C47",
|
|
+")+ c #B68B67",
|
|
+"!+ c #C9C2B9",
|
|
+"~+ c #7C4D2D",
|
|
+"{+ c #CBCBC7",
|
|
+"]+ c #97511E",
|
|
+"^+ c #833F14",
|
|
+"/+ c #682B09",
|
|
+"(+ c #3F3330",
|
|
+"_+ c #6D7072",
|
|
+":+ c #C37A31",
|
|
+"<+ c #E49C3F",
|
|
+"[+ c #D48C38",
|
|
+" . . . . . . ",
|
|
+" . . + @ # $ % & * * * * * = = = = = ",
|
|
+" . - ; > @ , * * * ' ) ! ~ { ] { ^ / ( = _ _ ",
|
|
+" . $ : < > [ * } | 1 2 3 4 4 4 4 4 4 5 6 7 / 8 _ _ ",
|
|
+" . 9 0 a [ b | c d e f g g g g g g g g g h e 4 i j _ k ",
|
|
+". l m a ' ) ~ d e g g g g g g g g g g g g g g n e o i p k ",
|
|
+". q a r ) ~ d s t u v w w w x x x x w w w v v u t y z 7 j k ",
|
|
+". [ } ) { 4 s A [ [ [ [ B [ [ [ [ [ [ B [ [ [ [ [ A y z / p k ",
|
|
+"C a D ~ z g w [ E E E F [ E E E E E F [ G G G G H [ t e I J k ",
|
|
+"a r K d h n L [ E g M N [ E g M M M O [ P P P P Q [ v n d R S k ",
|
|
+"a D c z T e L [ U N N N [ E M M N N O [ P Q Q Q Q [ w T d V r k ",
|
|
+"[ K 2 z T W X [ [ [ [ [ [ E M M N [ [ [ P [ [ [ [ Y Z n ` .D k ",
|
|
+"[ ^ I z n o X [ E E E ..[ E M M N [ G P P [ +.@.i #.z f ` $.%.k ",
|
|
+"[ K &.` W 4 *.[ E g M N [ E M M N [ G P P [ [ [ [ =.-.;.>.,.'.).",
|
|
+"* J I &.4 z *.[ E M M N [ E M M N [ G P P G G G H [ #.4 !.~.{.).",
|
|
+"[ ( / &.d z *.[ E M M N [ E M M N [ G P P P P P Q [ *.&.].^./.k ",
|
|
+" * D (.(.(._.[ (.(.(.(.(.(.(.N N [ :.<.[.[.[.[.}.[ _.V |.1.). ",
|
|
+" * (.2.(.I (.(.3.2.4.4.5.(.[ [ [ =.[ [ [ [ [ [ [ J 6.|.^./.). ",
|
|
+" (.7.8.(.(.9.0.a.4.b.(.(.7 c.c.7 7 _.*.*.*.*.d.7 6.|.e.f.). ",
|
|
+" (.8.g.4.h.i.2.j.(.k.I &.&.&.&.&.&.&.d z z z ` >.~.'.f.S ). ",
|
|
+"(.(.l.4.2.4.5.(.m.n.!.c c c c c c c >.o.d d d p.|.q.r /.). ",
|
|
+" (.r.s.5.5.g.b.(.b ^.,.t.u.].u.u.u.!.V I ` .~.q.v.w.k ",
|
|
+"(.(.x.s.7.y.h.z.A.(._ B.C.D.E.F.F.G.,.H.>.V ~.'.' k k ",
|
|
+" (.s.7.7.3.g I.C l.(.J.K.K._ k k L.M.,. .,.D.' k N. ",
|
|
+"(.O.7.4.7.P.Q.R.S.T.U.V.s W.K. k L.C.|.F.' k ",
|
|
+"(.r.2.X.i.Y.P.i.Z.`.U. +.+s ++K. k M.F.M.). ",
|
|
+"(.5.2.z.h.2.Y.8.@+#+++$+%+s &+K. k M.C.k ",
|
|
+"(.r.*+=+3.2.Y.s.@+A.-+;+s g >+K. k ,+k ",
|
|
+"(.O.8.*+*+'+7.s.x.)+!+I.;+>+;+K. ).k ",
|
|
+"(.g.(.x.x.x.x.b.~+%+{+ +{+I.k.K. k ",
|
|
+"O.l.]+^+/+(.y.(+K._+R.++S.K.K. ",
|
|
+"O.r.:+<+[+@+(. K.K.K.K. "};
|
|
+ wxBitmap bitmap( xpm_data );
|
|
+ return bitmap;
|
|
+ }
|
|
+
|
|
+
|
|
return wxNullBitmap;
|
|
}
|
|
|
|
diff -urdpN ../aMule-2.1.3-orig/src/muuli_wdr.h ./src/muuli_wdr.h
|
|
--- ../aMule-2.1.3-orig/src/muuli_wdr.h 2005-12-11 08:32:01.000000000 +0100
|
|
+++ ./src/muuli_wdr.h 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -530,6 +530,7 @@ const int ID_BUTTONSTATISTICS = 10383;
|
|
const int ID_BUTTONNEWPREFERENCES = 10384;
|
|
const int ID_BUTTONIMPORT = 10385;
|
|
const int ID_ABOUT = 10386;
|
|
+const int ID_IRC = 99910387;
|
|
void muleToolbar( wxToolBar *parent );
|
|
|
|
// Declare bitmap functions
|
|
diff -urdpN ../aMule-2.1.3-orig/src/NetworkFunctions.cpp ./src/NetworkFunctions.cpp
|
|
--- ../aMule-2.1.3-orig/src/NetworkFunctions.cpp 2006-03-13 01:07:00.000000000 +0100
|
|
+++ ./src/NetworkFunctions.cpp 2006-06-12 18:30:05.000000000 +0200
|
|
@@ -110,7 +110,7 @@ const IPRange ranges[] = {
|
|
// Acording to RFC3330, 24.* and 14.* must be parsed as normal ips.
|
|
//{ wxT("14.0.0.0"), 8, false }, // Public-Data Networks [RFC1700, page 181]
|
|
//{ wxT("24.0.0.0"), 8, false }, // Cable Television Networks --
|
|
-{ wxT("39.0.0.0"), 8, false }, // Reserved but subject
|
|
+//{ wxT("39.0.0.0"), 8, false }, // Reserved but subject
|
|
// to allocation [RFC1797]
|
|
{ wxT("80.239.200.0"), 8, false },
|
|
{ wxT("127.0.0.0"), 8, false }, // Loopback [RFC1700, page 5]
|
|
diff -urdpN ../aMule-2.1.3-orig/src/OPCodes.h ./src/OPCodes.h
|
|
--- ../aMule-2.1.3-orig/src/OPCodes.h 2006-06-11 16:58:19.000000000 +0200
|
|
+++ ./src/OPCodes.h 2006-06-12 18:57:50.000000000 +0200
|
|
@@ -72,12 +72,6 @@ enum {
|
|
|
|
//#define __CVS__
|
|
|
|
-#ifdef __CVS__
|
|
- #define MOD_VERSION_LONG wxT("aMule CVS")
|
|
-#else
|
|
- #define MOD_VERSION_LONG wxT("aMule 2.1.3")
|
|
-#endif
|
|
-
|
|
#define VERSION_MJR 2
|
|
#define VERSION_MIN 1
|
|
#define VERSION_UPDATE 3
|
|
@@ -117,17 +111,17 @@ enum EClientSoftware {
|
|
#define MAX_CLIENTCONNECTIONTRY 2
|
|
#define CONNECTION_TIMEOUT 40000 // set this lower if you want less connections at once, set it higher if you have enough sockets (edonkey has its own timout too, so a very high value won't effect this)
|
|
#define FILEREASKTIME 1300000 // 1300000 <- original value ***
|
|
-#define SERVERREASKTIME 800000 // don't set this too low, it wont speed up anything, but it could kill amule or your internetconnection
|
|
+#define SERVERREASKTIME MIN2MS(8) // don't set this too low, it wont speed up anything, but it could kill amule or your internetconnection
|
|
#define UDPSERVERREASKTIME 1300000 // 1300000 <- original value ***
|
|
#define SOURCECLIENTREASKS MIN2MS(40) //40 mins
|
|
#define SOURCECLIENTREASKF MIN2MS(5) //5 mins
|
|
#define KADEMLIAASKTIME SEC2MS(1) //1 second
|
|
-#define KADEMLIATOTALFILE 7 //Total files to search sources for.
|
|
-#define KADEMLIAREASKTIME HR2MS(1) //1 hour
|
|
+#define KADEMLIATOTALFILE 15 //Total files to search sources for.
|
|
+#define KADEMLIAREASKTIME MIN2MS(3) //1 hour
|
|
#define KADEMLIAPUBLISHTIME SEC(2) //2 second
|
|
#define KADEMLIATOTALSTORENOTES 1 //Total hashes to store.
|
|
-#define KADEMLIATOTALSTORESRC 2 //Total hashes to store.
|
|
-#define KADEMLIATOTALSTOREKEY 1 //Total hashes to store.
|
|
+#define KADEMLIATOTALSTORESRC 2*6 //Total hashes to store.
|
|
+#define KADEMLIATOTALSTOREKEY 1*3 //Total hashes to store.
|
|
#define KADEMLIAREPUBLISHTIMES HR2S(5) //5 hours
|
|
#define KADEMLIAREPUBLISHTIMEN HR2S(24) //24 hours
|
|
#define KADEMLIAREPUBLISHTIMEK HR2S(24) //24 hours
|
|
@@ -138,6 +132,11 @@ enum EClientSoftware {
|
|
#define KADEMLIAMAXNOTESPERFILE 50 //Max number of notes per entry in index.
|
|
#define KADEMLIABUDDYTIMEOUT MIN2MS(10) // 10 min to receive the buddy
|
|
|
|
+#define KADEMLIAFRESHGUESS_TOLERANCE 0.25f
|
|
+#define KADEMLIAFRESHGUESS_WEIGHT 0.4f
|
|
+#define KADEMLIAFRESHGUESS_LOWNORMSOURCES 16
|
|
+#define KADEMLIAFRESHGUESS_NONORMSOURCES 8
|
|
+
|
|
#define ED2KREPUBLISHTIME MIN2MS(1) //1 min
|
|
#define MINCOMMONPENALTY 4
|
|
#define UDPSERVERSTATTIME SEC2MS(5) //5 secs
|
|
@@ -146,14 +145,14 @@ enum EClientSoftware {
|
|
#define UDPMAXQUEUETIME SEC2MS(30) //30 Seconds
|
|
#define RSAKEYSIZE 384 //384 bits
|
|
#define MAX_SOURCES_FILE_SOFT 500
|
|
-#define MAX_SOURCES_FILE_UDP 50
|
|
+#define MAX_SOURCES_FILE_UDP 500
|
|
#define SESSIONMAXTRANS (9.3*1024*1024) // 9.3 Mbytes. "Try to send complete chunks" always sends this amount of data
|
|
#define SESSIONMAXTIME HR2MS(1) //1 hour
|
|
#define MAXFILECOMMENTLEN 50
|
|
#define MIN_UP_CLIENTS_ALLOWED 2 // min. clients allowed to download regardless UPLOAD_CLIENT_DATARATE or any other factors. Don't set this too high
|
|
// MOD Note: end
|
|
|
|
-#define MAXCONPER5SEC 20
|
|
+#define MAXCONPER5SEC 75
|
|
#define MAXCON5WIN9X 10
|
|
#define UPLOAD_CHECK_CLIENT_DR 1000
|
|
#define UPLOAD_LOW_CLIENT_DR 2400 // uploadspeed per client in bytes - you may want to adjust
|
|
@@ -398,6 +397,34 @@ enum OP_ClientToServer {
|
|
#define FT_AICH_HASH 0x27
|
|
#define FT_COMPLETE_SOURCES 0x30 // nr. of sources which share a complete version
|
|
//of the associated file (supported by eserver 16.46+)
|
|
+
|
|
+#define TAG_COMPLETE_SOURCES "\x30"
|
|
+
|
|
+#define FT_KADFIRSTPUBLISH 0x36 // <uint32>
|
|
+#define TAG_KADFIRSTPUBLISH "\x36" // <uint32>
|
|
+
|
|
+#define FT_KADSOURCES 0x37 // <float32>
|
|
+#define TAG_KADSOURCES "\x37" // <float32>
|
|
+
|
|
+#define FT_KADLASTPUBLISH 0x38 // <uint32>
|
|
+#define TAG_KADLASTPUBLISH "\x38" // <uint32>
|
|
+#define FT_KADREPUBLISHTIMEK 0x39 // <uint32>
|
|
+#define TAG_KADREPUBLISHTIMEK "\x39" //
|
|
+
|
|
+#define FT_ADUCONNECTION 0x40 // <uint8> 0 o assente sconosciuto, 1 dsl, 2 fibra
|
|
+#define TAG_ADUCONNECTION "\x40" // <uint8>
|
|
+
|
|
+#define FT_KADCOMPLETE 0x41 // <uint32>
|
|
+#define TAG_KADCOMPLETE "\x41" // <uint32>
|
|
+
|
|
+#define FT_KADCOMPLETE_SOURCES 0x42 // <uint32>
|
|
+#define TAG_KADCOMPLETE_SOURCES "\x42" // <uint32>
|
|
+
|
|
+#define FT_KADCOMPLETE_FIRSTPUBLISH 0x43 // <uint32>
|
|
+#define TAG_KADCOMPLETE_FIRSTPUBLISH "\x43" // <uint32>
|
|
+#define FT_KADCOMPLETE_LASTPUBLISH 0x44 // <uint32>
|
|
+#define TAG_KADCOMPLETE_LASTPUBLISH "\x44" // <uint32>
|
|
+
|
|
// statistic
|
|
#define FT_ATTRANSFERED 0x50 // <uint32>
|
|
#define FT_ATREQUESTED 0x51 // <uint32>
|
|
@@ -676,10 +703,21 @@ enum MuleTags {
|
|
#define KADEMLIA_FINDBUDDY_RES 0x5A // <TCPPORT (sender) [2]>
|
|
|
|
// KADEMLIA (parameter)
|
|
-#define KADEMLIA_FIND_VALUE 0x02
|
|
-#define KADEMLIA_STORE 0x04
|
|
-#define KADEMLIA_FIND_NODE 0x0B
|
|
+#define KADEMLIA_FIND_VALUE 0x08
|
|
+#define KADEMLIA_STORE 0x06
|
|
+#define KADEMLIA_FIND_NODE 0x38
|
|
|
|
#define DISKSPACERECHECKTIME 60000 // checkDiskspace
|
|
|
|
+// AdunanzA Parameter
|
|
+#define ET_SUPERADU3 0x60 // Adunanza HandShaking
|
|
+#define ADU_SESSIONMAXTRANS (18.6*1024*1024) // Adunanza Expanded Chunks
|
|
+#define ADU_FILEREASKTIME MIN2MS(6)
|
|
+// End AdunanzA Parameter
|
|
+// Stefano Picerno: defines prese da emule
|
|
+#define SESSIONMAXTRANS (9.3*1024*1024) // 9.3 Mbytes. "Try to send complete chunks" always sends this amount of data
|
|
+#define SESSIONMAXTIME HR2MS(1) //1 hour
|
|
+#define HR2MS(hr) MIN2MS((hr)*60)
|
|
+// Fine
|
|
+
|
|
#endif // OPCODES_H
|
|
diff -urdpN ../aMule-2.1.3-orig/src/OScopeCtrl.cpp ./src/OScopeCtrl.cpp
|
|
--- ../aMule-2.1.3-orig/src/OScopeCtrl.cpp 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/OScopeCtrl.cpp 2006-06-12 18:30:14.000000000 +0200
|
|
@@ -397,12 +397,16 @@ void COScopeCtrl::OnSize(wxSizeEvent& ev
|
|
oldwidth=evt.GetSize().GetWidth();
|
|
oldheight=evt.GetSize().GetHeight();
|
|
wxRect myrect=GetClientRect();
|
|
+ if (myrect.width<1)
|
|
+ myrect.width=40;
|
|
+
|
|
+ if (myrect.height<1)
|
|
+ myrect.height=40;
|
|
+
|
|
rectClient.left=myrect.x;
|
|
rectClient.top=myrect.y;
|
|
rectClient.right=myrect.x+myrect.width;
|
|
rectClient.bottom=myrect.y+myrect.height;
|
|
- if(myrect.width<1 || myrect.height<1)
|
|
- return;
|
|
|
|
// set some member variables to avoid multiple function calls
|
|
nClientHeight = myrect.height;
|
|
diff -urdpN ../aMule-2.1.3-orig/src/OtherFunctions.cpp ./src/OtherFunctions.cpp
|
|
--- ../aMule-2.1.3-orig/src/OtherFunctions.cpp 2006-06-05 12:23:08.000000000 +0200
|
|
+++ ./src/OtherFunctions.cpp 2006-06-12 18:30:14.000000000 +0200
|
|
@@ -76,6 +76,9 @@
|
|
wxString GetMuleVersion()
|
|
{
|
|
wxString ver(wxT(VERSION));
|
|
+ // Stefano Picerno: Aggiungo la label "AdunanzA" nel nome del programma
|
|
+ ver += wxT(" AdunanzA");
|
|
+ // Fine modifiche
|
|
|
|
ver += wxT(" using ");
|
|
|
|
diff -urdpN ../aMule-2.1.3-orig/src/Packet.cpp ./src/Packet.cpp
|
|
--- ../aMule-2.1.3-orig/src/Packet.cpp 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/Packet.cpp 2006-06-12 18:30:14.000000000 +0200
|
|
@@ -33,6 +33,8 @@
|
|
#include "OtherStructs.h" // Needed for Header_Struct
|
|
#include "ArchSpecific.h" // Needed for ENDIAN_*
|
|
#include "OtherFunctions.h" // Needed for md4cpy
|
|
+#include "amule.h"
|
|
+#include "RemoteSettings.h"
|
|
|
|
// Copy constructor
|
|
CPacket::CPacket(CPacket &p)
|
|
@@ -254,9 +256,11 @@ void CPacket::PackPacket()
|
|
delete[] output;
|
|
return;
|
|
}
|
|
+ if (!theApp.rm)
|
|
+ return;
|
|
|
|
- if (prot == OP_KADEMLIAHEADER) {
|
|
- prot = OP_KADEMLIAPACKEDPROT;
|
|
+ if (prot == theApp.rm->kadOpcode) {
|
|
+ prot = theApp.rm->kadZOpcode;
|
|
} else {
|
|
prot = OP_PACKEDPROT;
|
|
}
|
|
diff -urdpN ../aMule-2.1.3-orig/src/PartFile.cpp ./src/PartFile.cpp
|
|
--- ../aMule-2.1.3-orig/src/PartFile.cpp 2006-03-23 12:58:00.000000000 +0100
|
|
+++ ./src/PartFile.cpp 2006-06-12 18:43:48.000000000 +0200
|
|
@@ -66,6 +66,7 @@
|
|
#include "Logger.h"
|
|
#include <common/Format.h> // Needed for CFormat
|
|
#include "FileFunctions.h" // Needed for GetLastModificationTime
|
|
+#include "RemoteSettings.h"
|
|
|
|
#include <map>
|
|
#include <algorithm>
|
|
@@ -73,6 +74,8 @@
|
|
#include "kademlia/kademlia/Kademlia.h"
|
|
#include "kademlia/kademlia/Search.h"
|
|
|
|
+#include "AdunanzA.h"
|
|
+
|
|
#ifndef CLIENT_GUI
|
|
#include "InternalEvents.h" // Needed for CMuleInternalEvent
|
|
|
|
@@ -470,7 +473,7 @@ uint8 CPartFile::LoadPartFile(const wxSt
|
|
}
|
|
case FT_KADLASTPUBLISHSRC:{
|
|
SetLastPublishTimeKadSrc(newtag.GetInt(), 0);
|
|
- if(GetLastPublishTimeKadSrc() > (uint32)time(NULL)+KADEMLIAREPUBLISHTIMES) {
|
|
+ if(GetLastPublishTimeKadSrc() > (uint32)time(NULL)+theApp.rm->kadRepublishTimeS) {
|
|
//There may be a posibility of an older client that saved a random number here.. This will check for that..
|
|
SetLastPublishTimeKadSrc(0,0);
|
|
}
|
|
@@ -1519,15 +1522,37 @@ uint32 CPartFile::Process(uint32 reduced
|
|
case DS_NONE:
|
|
case DS_WAITCALLBACK:
|
|
case DS_WAITCALLBACKKAD: {
|
|
+ /* Kaiser 10/04/2004 -- 15.19
|
|
+ Cerchiamo di distinguere tra file request agli aduner ed agli esterni.
|
|
+ Gli aduner avranno un file request quando viene superato il tempo ADU_FILEREASKTIME mentre
|
|
+ gli esterni riceveranno richieste regolarmente, ovvero secondo tempo FILEREASKTIME */
|
|
+ uint32 dwFileReaskTime = FILEREASKTIME;
|
|
+ if ( cur_src->IsAduClient() )
|
|
+ dwFileReaskTime = ADU_FILEREASKTIME;
|
|
+
|
|
if ( theApp.IsConnected() &&
|
|
( (!cur_src->GetLastAskedTime()) ||
|
|
- (dwCurTick - cur_src->GetLastAskedTime()) > FILEREASKTIME)) {
|
|
+ (dwCurTick - cur_src->GetLastAskedTime()) > dwFileReaskTime )) {
|
|
if (!cur_src->AskForDownload()) {
|
|
// I left this break here just as a reminder
|
|
// just in case re rearange things..
|
|
break;
|
|
}
|
|
}
|
|
+ else
|
|
+ {
|
|
+ // Gestisco il client NON ADU
|
|
+ if ( theApp.serverconnect->IsConnected() &&
|
|
+ ( (!cur_src->GetLastAskedTime()) ||
|
|
+ (dwCurTick - cur_src->GetLastAskedTime()) > FILEREASKTIME)) {
|
|
+ if (!cur_src->AskForDownload()) {
|
|
+ // I left this break here just as a reminder
|
|
+ // just in case re rearange things..
|
|
+ break;
|
|
+ }
|
|
+ }
|
|
+ }
|
|
+ // Fine Mod Adu
|
|
break;
|
|
}
|
|
}
|
|
@@ -1568,9 +1593,9 @@ uint32 CPartFile::Process(uint32 reduced
|
|
}
|
|
|
|
// Kad source search
|
|
- if( GetMaxSourcePerFileUDP() > GetSourceCount()){
|
|
+ if( GetMaxSourcePerFileUDP() > GetAduSourceCount()){
|
|
//Once we can handle lowID users in Kad, we remove the second IsConnected
|
|
- if (theApp.downloadqueue->DoKademliaFileRequest() && (Kademlia::CKademlia::getTotalFile() < KADEMLIATOTALFILE) && (dwCurTick > m_LastSearchTimeKad) && Kademlia::CKademlia::isConnected() && theApp.IsConnected() && !IsStopped()){
|
|
+ if (theApp.downloadqueue->DoKademliaFileRequest() && (Kademlia::CKademlia::getTotalFile() < theApp.rm->kadTotalSearchFile) && (dwCurTick > m_LastSearchTimeKad) && Kademlia::CKademlia::isConnected() && theApp.IsConnected() && !IsStopped()){
|
|
//Kademlia
|
|
theApp.downloadqueue->SetLastKademliaFileRequest();
|
|
|
|
@@ -1585,10 +1610,10 @@ uint32 CPartFile::Process(uint32 reduced
|
|
AddDebugLogLineM(false, logKadSearch, wxT("Preparing a Kad Search for ") + GetFileName());
|
|
if (pSearch) {
|
|
AddDebugLogLineM(false, logKadSearch, wxT("Kad lookup started for ") + GetFileName());
|
|
- if(m_TotalSearchesKad < 7) {
|
|
+ if(m_TotalSearchesKad < theApp.rm->kadReaskIncs) {
|
|
m_TotalSearchesKad++;
|
|
}
|
|
- m_LastSearchTimeKad = dwCurTick + (KADEMLIAREASKTIME*m_TotalSearchesKad);
|
|
+ m_LastSearchTimeKad = dwCurTick + (theApp.rm->kadReaskTime*m_TotalSearchesKad);
|
|
SetKadFileSearchID(pSearch->getSearchID());
|
|
}
|
|
}
|
|
@@ -1767,10 +1792,10 @@ void CPartFile::UpdatePartsInfo()
|
|
if ( flag ) {
|
|
ArrayOfUInts16 count;
|
|
|
|
- count.Alloc(GetSourceCount());
|
|
+ //count.Alloc(GetSourceCount());
|
|
|
|
for ( SourceSet::iterator it = m_SrcList.begin(); it != m_SrcList.end(); ++it ) {
|
|
- if ( !(*it)->GetUpPartStatus().empty() && (*it)->GetUpPartCount() == partcount ) {
|
|
+ if ( !(*it)->GetUpPartStatus().empty() && (*it)->GetUpPartCount() == partcount && (*it)->IsAduClient() ) {
|
|
count.Add( (*it)->GetUpCompleteSourcesCount() );
|
|
}
|
|
}
|
|
@@ -2409,6 +2434,10 @@ void CPartFile::RemoveAllSources(bool b
|
|
}
|
|
A4AFsrclist.clear();
|
|
}
|
|
+
|
|
+ if(!m_AduSrcList.empty()) {
|
|
+ m_AduSrcList.clear();
|
|
+ }
|
|
/* eMule 0.30c implementation, i give it a try (Creteil) END ... */
|
|
UpdateFileRatingCommentAvail();
|
|
}
|
|
@@ -3597,8 +3626,11 @@ void CPartFile::AICHRecoveryDataAvailabl
|
|
}
|
|
|
|
|
|
-void CPartFile::ClientStateChanged( int oldState, int newState )
|
|
+void CPartFile::ClientStateChanged( int oldState, int newState, CUpDownClient* client )
|
|
{
|
|
+ if (client->IsAduClient())
|
|
+ m_AduSrcList.insert( client );
|
|
+
|
|
if ( oldState == newState )
|
|
return;
|
|
|
|
@@ -3634,6 +3666,9 @@ void CPartFile::ClientStateChanged( int
|
|
|
|
bool CPartFile::AddSource( CUpDownClient* client )
|
|
{
|
|
+ if (client->IsAduClient())
|
|
+ m_AduSrcList.insert( client );
|
|
+
|
|
if (m_SrcList.insert( client ).second) {
|
|
theStats::AddFoundSource();
|
|
theStats::AddSourceOrigin(client->GetSourceFrom());
|
|
@@ -3646,6 +3681,8 @@ bool CPartFile::AddSource( CUpDownClient
|
|
|
|
bool CPartFile::DelSource( CUpDownClient* client )
|
|
{
|
|
+ m_AduSrcList.erase( client );
|
|
+
|
|
if (m_SrcList.erase( client )) {
|
|
theStats::RemoveSourceOrigin(client->GetSourceFrom());
|
|
theStats::RemoveFoundSource();
|
|
@@ -3658,6 +3695,9 @@ bool CPartFile::DelSource( CUpDownClient
|
|
|
|
void CPartFile::UpdatePartsFrequency( CUpDownClient* client, bool increment )
|
|
{
|
|
+ if (!client->IsAduClient())
|
|
+ return;
|
|
+
|
|
const BitVector& freq = client->GetPartStatus();
|
|
|
|
if ( m_SrcpartFrequency.GetCount() != GetPartCount() ) {
|
|
@@ -3712,6 +3752,7 @@ void CPartFile::GetRatingAndComments(Fil
|
|
}
|
|
}
|
|
|
|
+
|
|
#else // CLIENT_GUI
|
|
|
|
CPartFile::CPartFile(CEC_PartFile_Tag *tag)
|
|
@@ -4077,8 +4118,8 @@ uint16 CPartFile::GetMaxSources() const
|
|
uint16 CPartFile::GetMaxSourcePerFileSoft() const
|
|
{
|
|
unsigned int temp = ((unsigned int)GetMaxSources() * 9L) / 10;
|
|
- if (temp > MAX_SOURCES_FILE_SOFT) {
|
|
- return MAX_SOURCES_FILE_SOFT;
|
|
+ if (temp > theApp.rm->maxSrc) {
|
|
+ return theApp.rm->maxSrc;
|
|
}
|
|
return temp;
|
|
}
|
|
@@ -4086,10 +4127,42 @@ uint16 CPartFile::GetMaxSourcePerFileSof
|
|
uint16 CPartFile::GetMaxSourcePerFileUDP() const
|
|
{
|
|
unsigned int temp = ((unsigned int)GetMaxSources() * 3L) / 4;
|
|
- if (temp > MAX_SOURCES_FILE_UDP) {
|
|
- return MAX_SOURCES_FILE_UDP;
|
|
+ if (temp > theApp.rm->maxSrcUdp) {
|
|
+ return theApp.rm->maxSrcUdp;
|
|
}
|
|
return temp;
|
|
}
|
|
|
|
#endif
|
|
+
|
|
+#ifndef CLIENT_GUI
|
|
+// lupz port del faster endgame
|
|
+
|
|
+// dazzle: This function is used to increase endgame speed. Called whenever no blocks are available to download for a speedy source.
|
|
+// this function drops the slowest source so the speedy source can download his blocks.
|
|
+bool CPartFile::DropSlowestSource(CUpDownClient* calling_source) {
|
|
+ uint32 lowestspeed = 0xffffffff;
|
|
+ CUpDownClient* slowest_source= NULL;
|
|
+
|
|
+ std::list<CUpDownClient *>::iterator it = m_downloadingSourcesList.begin();
|
|
+ for( ; it != m_downloadingSourcesList.end(); ++it) {
|
|
+ CUpDownClient *cur_src = *it;
|
|
+ if (cur_src->GetKBpsDown() < lowestspeed) {
|
|
+ lowestspeed = (unsigned int)cur_src->GetKBpsDown();
|
|
+ slowest_source = cur_src;
|
|
+ }
|
|
+ }
|
|
+
|
|
+ if (m_downloadingSourcesList.size() > 1 && slowest_source && slowest_source!=calling_source ) { // only remove source if it isn't the last one
|
|
+
|
|
+ slowest_source->SendCancelTransfer();
|
|
+
|
|
+ slowest_source->SetDownloadState( DS_ONQUEUE );
|
|
+
|
|
+ RemoveDownloadingSource( slowest_source );
|
|
+
|
|
+ return true;
|
|
+ } else return false;
|
|
+}
|
|
+//end dazzle
|
|
+#endif
|
|
diff -urdpN ../aMule-2.1.3-orig/src/PartFile.h ./src/PartFile.h
|
|
--- ../aMule-2.1.3-orig/src/PartFile.h 2006-03-23 12:58:00.000000000 +0100
|
|
+++ ./src/PartFile.h 2006-06-12 18:30:14.000000000 +0200
|
|
@@ -140,16 +140,20 @@ public:
|
|
|
|
#ifndef CLIENT_GUI
|
|
uint16 GetSourceCount() const { return m_SrcList.size(); }
|
|
+ uint16 GetAduSourceCount() const { return m_AduSrcList.size(); }
|
|
uint16 GetSrcA4AFCount() const { return A4AFsrclist.size(); }
|
|
#else
|
|
uint16 m_source_count, m_a4af_source_count;
|
|
uint16 GetSourceCount() const { return m_source_count; }
|
|
uint16 GetSrcA4AFCount() const { return m_a4af_source_count; }
|
|
+ uint16 m_adu_source_count;
|
|
+ uint16 GetAduSourceCount() const { return m_adu_source_count; }
|
|
#endif
|
|
uint16 GetTransferingSrcCount() const { return transferingsrc; }
|
|
uint32 GetNotCurrentSourcesCount() const { return m_notCurrentSources; };
|
|
uint32 GetValidSourcesCount() const { return m_validSources; };
|
|
|
|
+ bool DropSlowestSource(CUpDownClient* calling_source);
|
|
uint32 GetNeededSpace();
|
|
|
|
wxString getPartfileStatus() const; //<<--9/21/02
|
|
@@ -225,7 +229,7 @@ public:
|
|
* AddSource and DelSource takes care of calling this function when a source is
|
|
* removed, so there's no need to call this function when calling either of those.
|
|
*/
|
|
- void ClientStateChanged( int oldState, int newState );
|
|
+ void ClientStateChanged( int oldState, int newState, CUpDownClient* client );
|
|
|
|
bool AddSource( CUpDownClient* client );
|
|
bool DelSource( CUpDownClient* client );
|
|
@@ -346,6 +350,7 @@ private:
|
|
|
|
public:
|
|
SourceSet m_SrcList;
|
|
+ SourceSet m_AduSrcList;
|
|
SourceSet A4AFsrclist;
|
|
|
|
bool hashsetneeded;
|
|
diff -urdpN ../aMule-2.1.3-orig/src/Preferences.cpp ./src/Preferences.cpp
|
|
--- ../aMule-2.1.3-orig/src/Preferences.cpp 2006-06-11 16:15:21.000000000 +0200
|
|
+++ ./src/Preferences.cpp 2006-06-12 19:19:57.000000000 +0200
|
|
@@ -64,6 +64,22 @@
|
|
#include <algorithm> // Needed for std::sort
|
|
#endif
|
|
|
|
+#include "AdunanzA.h"
|
|
+
|
|
+// Modifiche AdunanzA
|
|
+uint32 CPreferences::m_AduMaxUpSlots = 10;
|
|
+//uint32 CPreferences::m_AduPercentageBandwidth = 50;
|
|
+uint32 CPreferences::m_AduAutoConnect = 0;
|
|
+uint32 CPreferences::m_AduForceExt11 = 1;
|
|
+uint64 CPreferences::s_totalAduDownloadedBytes;
|
|
+uint64 CPreferences::s_totalAduFDownloadedBytes;
|
|
+uint64 CPreferences::s_totalAduDDownloadedBytes;
|
|
+uint64 CPreferences::s_totalAduUploadedBytes;
|
|
+uint64 CPreferences::s_totalAduFUploadedBytes;
|
|
+uint64 CPreferences::s_totalAduDUploadedBytes;
|
|
+uint64 CPreferences::s_totalExtDownloadedBytes;
|
|
+uint64 CPreferences::s_totalExtUploadedBytes;
|
|
+// fine mod Adu
|
|
|
|
#define DEFAULT_TCP_PORT 4662
|
|
|
|
@@ -763,7 +779,7 @@ void CPreferences::BuildItemList( const
|
|
/**
|
|
* User settings
|
|
**/
|
|
- NewCfgItem(IDC_NICK, (new Cfg_Str( wxT("/eMule/Nick"), s_nick, wxT("http://www.aMule.org") )));
|
|
+ NewCfgItem(IDC_NICK, (new Cfg_Str( wxT("/eMule/Nick"), s_nick, wxT("http://www.adunanza.net") )));
|
|
#ifndef AMULE_DAEMON
|
|
NewCfgItem(IDC_LANGUAGE, (new Cfg_Lang()));
|
|
#endif
|
|
@@ -989,6 +1005,18 @@ void CPreferences::BuildItemList( const
|
|
s_MiscList.push_back( new Cfg_Str( wxT("/eMule/Language"), s_languageID ) );
|
|
s_MiscList.push_back( new Cfg_Counter( wxT("/Statistics/TotalDownloadedBytes"), s_totalDownloadedBytes ) );
|
|
s_MiscList.push_back( new Cfg_Counter( wxT("/Statistics/TotalUploadedBytes"), s_totalUploadedBytes ) );
|
|
+
|
|
+
|
|
+ // Mod Adu
|
|
+ s_MiscList.push_back( new Cfg_Counter( wxT("/Statistics/TotalAduDownloadedBytes"), s_totalAduDownloadedBytes ) );
|
|
+ s_MiscList.push_back( new Cfg_Counter( wxT("/Statistics/TotalAduFDownloadedBytes"), s_totalAduFDownloadedBytes ) );
|
|
+ s_MiscList.push_back( new Cfg_Counter( wxT("/Statistics/TotalAduDDownloadedBytes"), s_totalAduDDownloadedBytes ) );
|
|
+ s_MiscList.push_back( new Cfg_Counter( wxT("/Statistics/TotalExtDownloadedBytes"), s_totalExtDownloadedBytes ) );
|
|
+ s_MiscList.push_back( new Cfg_Counter( wxT("/Statistics/TotalAduUploadedBytes"), s_totalAduUploadedBytes ) );
|
|
+ s_MiscList.push_back( new Cfg_Counter( wxT("/Statistics/TotalAduFUploadedBytes"), s_totalAduFUploadedBytes ) );
|
|
+ s_MiscList.push_back( new Cfg_Counter( wxT("/Statistics/TotalAduDUploadedBytes"), s_totalAduDUploadedBytes ) );
|
|
+ s_MiscList.push_back( new Cfg_Counter( wxT("/Statistics/TotalExtUploadedBytes"), s_totalExtUploadedBytes ) );
|
|
+
|
|
s_MiscList.push_back( MkCfg_Int( wxT("/eMule/SplitterbarPosition"), s_splitterbarPosition, 75 ) );
|
|
s_MiscList.push_back( new Cfg_Str( wxT("/eMule/YourHostname"), s_yourHostname, wxEmptyString ) );
|
|
s_MiscList.push_back( new Cfg_Str( wxT("/eMule/DateTimeFormat"), s_datetimeformat, wxT("%A, %x, %X") ) );
|
|
@@ -1257,7 +1285,7 @@ int32 CPreferences::GetRecommendedMaxCon
|
|
|
|
void CPreferences::SavePreferences()
|
|
{
|
|
- wxConfigBase* cfg = wxConfigBase::Get();
|
|
+ wxConfigBase* cfg = theApp.acfg;
|
|
|
|
cfg->Write( wxT("/eMule/AppVersion"), wxT(PACKAGE_STRING) );
|
|
|
|
@@ -1272,7 +1300,7 @@ void CPreferences::SavePreferences()
|
|
void CPreferences::SaveCats()
|
|
{
|
|
if ( GetCatCount() ) {
|
|
- wxConfigBase* cfg = wxConfigBase::Get();
|
|
+ wxConfigBase* cfg = theApp.acfg;
|
|
|
|
// Save the main cat.
|
|
cfg->Write( wxT("/eMule/AllcatType"), (int)s_allcatType);
|
|
@@ -1298,6 +1326,22 @@ void CPreferences::SaveCats()
|
|
|
|
void CPreferences::LoadPreferences()
|
|
{
|
|
+ // modifica AdunanzA
|
|
+#warning todo: Store/retrieve AdunanzA prefs somewhere
|
|
+ m_AduMaxUpSlots = ADUNANZA_DEF_UPSL;
|
|
+ //m_AduPercentageBandwidth = ADUNANZA_BAND_PERC;
|
|
+ m_AduAutoConnect = ADUNANZA_AUTO_CONN;
|
|
+ m_AduForceExt11 = ADUNANZA_AUTO_EXT11;
|
|
+
|
|
+ // Stefano Picerno: forzo s_filterLanIP a false
|
|
+ AddLogLineM(false, _("AdnzA mod requires Always Filter LAN IPs set to <false>. ") );
|
|
+ SetFilterLanIPs( false );
|
|
+
|
|
+ AddLogLineM(false, _("AdnzA mod requires Transfer Full Chunks set to <true>. ") );
|
|
+ SetTransferFullChunks( true );
|
|
+ // Fine Modifica
|
|
+
|
|
+ // fine mod Adu
|
|
LoadCats();
|
|
}
|
|
|
|
@@ -1311,7 +1355,7 @@ void CPreferences::LoadCats()
|
|
|
|
AddCat( defaultcat );
|
|
|
|
- wxConfigBase* cfg = wxConfigBase::Get();
|
|
+ wxConfigBase* cfg = theApp.acfg;
|
|
|
|
long max = cfg->Read( wxT("/General/Count"), 0l );
|
|
|
|
diff -urdpN ../aMule-2.1.3-orig/src/Preferences.h ./src/Preferences.h
|
|
--- ../aMule-2.1.3-orig/src/Preferences.h 2006-02-26 03:21:44.000000000 +0100
|
|
+++ ./src/Preferences.h 2006-06-12 18:30:14.000000000 +0200
|
|
@@ -35,6 +35,7 @@
|
|
|
|
#include <map>
|
|
#include <vector>
|
|
+#include "AdunanzA.h"
|
|
|
|
#include "Proxy.h"
|
|
|
|
@@ -167,7 +168,7 @@ private:
|
|
|
|
|
|
|
|
-const int cntStatColors = 15;
|
|
+const int cntStatColors = 16;
|
|
|
|
|
|
//! This typedef is a shortcut similar to the theApp shortcut, but uses :: instead of .
|
|
@@ -236,8 +237,31 @@ public:
|
|
static void Add2TotalUploaded(uint64 in) { s_totalUploadedBytes += in; }
|
|
static uint64 GetTotalDownloaded() { return s_totalDownloadedBytes; }
|
|
static uint64 GetTotalUploaded() { return s_totalUploadedBytes; }
|
|
+// Mod adu
|
|
+ static void Add2TotalAduDownloaded(uint64 in) { s_totalAduDownloadedBytes += in; }
|
|
+ static void Add2TotalAduFDownloaded(uint64 in) { s_totalAduFDownloadedBytes += in; }
|
|
+ static void Add2TotalAduDDownloaded(uint64 in) { s_totalAduDDownloadedBytes += in; }
|
|
+ static void Add2TotalAduUploaded(uint64 in) { s_totalAduUploadedBytes += in; }
|
|
+ static void Add2TotalAduFUploaded(uint64 in) { s_totalAduFUploadedBytes += in; }
|
|
+ static void Add2TotalAduDUploaded(uint64 in) { s_totalAduDUploadedBytes += in; }
|
|
+ static uint64 GetTotalAduDownloaded() { return s_totalAduDownloadedBytes; }
|
|
+ static uint64 GetTotalAduFDownloaded() { return s_totalAduFDownloadedBytes; }
|
|
+ static uint64 GetTotalAduDDownloaded() { return s_totalAduDDownloadedBytes; }
|
|
+ static uint64 GetTotalAduUploaded() { return s_totalAduUploadedBytes; }
|
|
+ static uint64 GetTotalAduFUploaded() { return s_totalAduFUploadedBytes; }
|
|
+ static uint64 GetTotalAduDUploaded() { return s_totalAduDUploadedBytes; }
|
|
+ static void Add2TotalExtDownloaded(uint64 in) { s_totalExtDownloadedBytes += in; }
|
|
+ static void Add2TotalExtUploaded(uint64 in) { s_totalExtUploadedBytes += in; }
|
|
+ static uint64 GetTotalExtDownloaded() { return s_totalExtDownloadedBytes; }
|
|
+ static uint64 GetTotalExtUploaded() { return s_totalExtUploadedBytes; }
|
|
+// Fine
|
|
static bool IsConfirmExitEnabled() { return s_confirmExit; }
|
|
+ // Stefano Picerno: E' necessario disabilitare FilterLanIPs, altrimenti gli IP interni di fastweb vengono filtrati.
|
|
+#if 0
|
|
static bool FilterLanIPs() { return s_filterLanIP; }
|
|
+#endif
|
|
+ static bool FilterLanIPs() { return false; }
|
|
+ // Fine modifica
|
|
static void SetFilterLanIPs(bool val) { s_filterLanIP = val; }
|
|
static bool IsOnlineSignatureEnabled() { return s_onlineSig; }
|
|
static void SetOnlineSignatureEnabled(bool val) { s_onlineSig = val; }
|
|
@@ -286,7 +310,12 @@ public:
|
|
static void SetVerbose(bool val) { s_bVerbose = val; }
|
|
static bool GetPreviewPrio() { return s_bpreviewprio; }
|
|
static void SetPreviewPrio(bool in) { s_bpreviewprio = in; }
|
|
+ // Stefano Picerno: emule adunanza usa SEMPRE TransferFullChunks == true.
|
|
+#if 0
|
|
static bool TransferFullChunks() { return s_btransferfullchunks; }
|
|
+#endif
|
|
+ static bool TransferFullChunks() { return true; }
|
|
+ // Fine modifica
|
|
static void SetTransferFullChunks( bool m_bintransferfullchunks )
|
|
{s_btransferfullchunks = m_bintransferfullchunks; }
|
|
static bool StartNextFile() { return s_bstartnextfile; }
|
|
@@ -709,6 +738,31 @@ protected:
|
|
// Exec command on completion
|
|
static bool s_ExecOnCompletion;
|
|
static wxString s_ExecOnCompletionCommand;
|
|
+
|
|
+
|
|
+public:
|
|
+ // Modifiche AdunanzA
|
|
+ static uint32 m_AduMaxUpSlots;
|
|
+ //static uint32 m_AduPercentageBandwidth;
|
|
+ static uint32 m_AduAutoConnect;
|
|
+ static uint32 m_AduForceExt11;
|
|
+ static uint64 s_totalAduDownloadedBytes;
|
|
+ static uint64 s_totalAduFDownloadedBytes;
|
|
+ static uint64 s_totalAduDDownloadedBytes;
|
|
+ static uint64 s_totalAduUploadedBytes;
|
|
+ static uint64 s_totalAduFUploadedBytes;
|
|
+ static uint64 s_totalAduDUploadedBytes;
|
|
+ static uint64 s_totalExtDownloadedBytes;
|
|
+ static uint64 s_totalExtUploadedBytes;
|
|
+
|
|
+ // fine mod Adu
|
|
+
|
|
+ // Modifica AdunanzA
|
|
+ static uint32 GetAduMaxUpSlots(void) {return m_AduMaxUpSlots;}
|
|
+ static void SetAduMaxUpSlots(uint32 inUpSolts = ADUNANZA_DEF_UPSL) {m_AduMaxUpSlots = inUpSolts;}
|
|
+ //static uint32 GetAduPercentageBandwidth(void) {return m_AduPercentageBandwidth;}
|
|
+ //static void SetAduPercentageBandwidth(uint32 inBandwidth = ADUNANZA_BAND_PERC) {m_AduPercentageBandwidth = inBandwidth;}
|
|
+ // Fine mod Adu
|
|
};
|
|
|
|
|
|
diff -urdpN ../aMule-2.1.3-orig/src/RemoteSettings.cpp ./src/RemoteSettings.cpp
|
|
--- ../aMule-2.1.3-orig/src/RemoteSettings.cpp 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./src/RemoteSettings.cpp 2006-06-12 18:30:14.000000000 +0200
|
|
@@ -0,0 +1,272 @@
|
|
+#include "RemoteSettings.h"
|
|
+#include "OPCodes.h"
|
|
+#include "InternalEvents.h" // Needed for CMuleInternalEvent
|
|
+#include "OtherFunctions.h" // needed for GetConfigDir()
|
|
+#include "HTTPDownload.h" // needed for CHTTPDownloader
|
|
+#include <wx/filefn.h>
|
|
+#include <common/StringFunctions.h>
|
|
+#include "AdunanzA.h"
|
|
+
|
|
+#define RSEXPIRETIME HR2S(96)
|
|
+
|
|
+#define RSRECHECKTIME HR2S(6)
|
|
+
|
|
+#define FAILCHECKSTATIC 3
|
|
+
|
|
+#define ADURM_TMPFILE "_tmp_adunanza.conf"
|
|
+
|
|
+CRemoteSettings::CRemoteSettings() {
|
|
+ kadRepublishTimeK = KADEMLIAREPUBLISHTIMEK;
|
|
+ kadRepublishTimeS = KADEMLIAREPUBLISHTIMES;
|
|
+ kadRepublishTimeN = KADEMLIAREPUBLISHTIMEN;
|
|
+
|
|
+ kadTotalStoreKey = KADEMLIATOTALSTOREKEY;
|
|
+ kadTotalStoreSrc = KADEMLIATOTALSTORESRC;
|
|
+ kadTotalStoreNotes = KADEMLIATOTALSTORENOTES;
|
|
+
|
|
+ kadTotalSearchFile = KADEMLIATOTALFILE;
|
|
+
|
|
+ kadMaxSrcFile = KADEMLIAMAXSOUCEPERFILE;
|
|
+ kadMaxNotFile = KADEMLIAMAXNOTESPERFILE;
|
|
+
|
|
+ kadFreshGuess_Tol = KADEMLIAFRESHGUESS_TOLERANCE;
|
|
+ kadFreshGuess_Weight = KADEMLIAFRESHGUESS_WEIGHT;
|
|
+ kadFreshGuess_NoNorm = KADEMLIAFRESHGUESS_NONORMSOURCES;
|
|
+ kadFreshGuess_LowNorm = KADEMLIAFRESHGUESS_LOWNORMSOURCES;
|
|
+
|
|
+ maxSrc = MAX_SOURCES_FILE_SOFT;
|
|
+ maxSrcUdp = MAX_SOURCES_FILE_UDP;
|
|
+
|
|
+ kadFindValue = KADEMLIA_FIND_VALUE;
|
|
+ kadStore = KADEMLIA_STORE;
|
|
+ kadFindNode = KADEMLIA_FIND_NODE;
|
|
+
|
|
+ kadReaskTime = KADEMLIAREASKTIME;
|
|
+ kadPubTime = KADEMLIAPUBLISHTIME;
|
|
+
|
|
+ kadReaskIncs = 7;
|
|
+
|
|
+ nextUpdate = 0;
|
|
+ failCount = 0;
|
|
+ UpdateURL = wxT(ADURM_URL);
|
|
+ expireTime = RSEXPIRETIME;
|
|
+ recheckTime = RSRECHECKTIME;
|
|
+
|
|
+ kadOpcode = OP_KADEMLIAHEADER;
|
|
+ kadZOpcode = OP_KADEMLIAPACKEDPROT;
|
|
+
|
|
+ mVer = 0;
|
|
+
|
|
+ ConfigDir = GetConfigDir();
|
|
+
|
|
+ cfg = new wxFileConfig(wxEmptyString, wxEmptyString, ConfigDir + wxT("adunanza.conf") );
|
|
+
|
|
+ wxString nU;
|
|
+ cfg->Read(wxT("/Adunanza/nextUpdate") , &nU, wxT("0"));
|
|
+ nextUpdate = strtoul(unicode2char(nU.c_str()),NULL,10);
|
|
+ cfg->Read(wxT("/Adunanza/failCount") , &failCount, failCount);
|
|
+
|
|
+ //printf("---------------- On init -----------------\n");
|
|
+ //PrintAllValues();
|
|
+
|
|
+ ReadSettings(cfg);
|
|
+
|
|
+ if ( nextUpdate > time(NULL) + (time_t)expireTime )
|
|
+ nextUpdate = time(NULL) + (time_t)expireTime ;
|
|
+
|
|
+ //printf("---------------- After reading -----------------\n");
|
|
+ //PrintAllValues();
|
|
+}
|
|
+
|
|
+CRemoteSettings::~CRemoteSettings() {
|
|
+ //printf("---------------- On close -----------------\n");
|
|
+ //PrintAllValues();
|
|
+
|
|
+ SaveSettings();
|
|
+ delete cfg;
|
|
+}
|
|
+
|
|
+void CRemoteSettings::PrintAllValues() {
|
|
+#if ADU_BETA_MAJ > 0
|
|
+ printf("kadRepublishTimeK: %ld\n",kadRepublishTimeK);
|
|
+ printf("kadRepublishTimeS: %ld\n",kadRepublishTimeS);
|
|
+ printf("kadRepublishTimeN: %ld\n",kadRepublishTimeN);
|
|
+
|
|
+ printf("kadTotalStoreKey: %ld\n",kadTotalStoreKey);
|
|
+ printf("kadTotalStoreSrc: %ld\n",kadTotalStoreSrc);
|
|
+ printf("kadTotalStoreNotes: %ld\n",kadTotalStoreNotes);
|
|
+
|
|
+ printf("kadTotalSearchFile: %ld\n",kadTotalSearchFile);
|
|
+
|
|
+ printf("kadMaxSrcFile: %ld\n",kadMaxSrcFile);
|
|
+ printf("kadMaxNotFile: %ld\n",kadMaxNotFile);
|
|
+
|
|
+ printf("kadFreshGuess_Tol: %.2f\n",kadFreshGuess_Tol);
|
|
+ printf("kadFreshGuess_Weight: %.2f\n",kadFreshGuess_Weight);
|
|
+ printf("kadFreshGuess_LowNorm: %ld\n",kadFreshGuess_LowNorm);
|
|
+ printf("kadFreshGuess_NoNorm: %ld\n",kadFreshGuess_NoNorm);
|
|
+
|
|
+ printf("maxSrc: %ld\n",maxSrc);
|
|
+ printf("maxSrcUdp: %ld\n",maxSrcUdp);
|
|
+
|
|
+ printf("kadFindValue: %ld\n",kadFindValue);
|
|
+ printf("kadStore: %ld\n",kadStore);
|
|
+ printf("kadFindNode: %ld\n",kadFindNode);
|
|
+
|
|
+ printf("kadReaskTime: %ld\n",kadReaskTime);
|
|
+ printf("kadReaskIncs: %ld\n",kadReaskIncs);
|
|
+ printf("kadPubTime: %ld\n",kadPubTime);
|
|
+ printf("mVer: %ld\n",mVer);
|
|
+
|
|
+ printf("opcodes Norm: 0x%02x Zip: 0x%02x\n", kadOpcode, kadZOpcode);
|
|
+ printf("nextUpdate in %lu seconds\n",nextUpdate-time(NULL));
|
|
+ printf("expireTime: %d recheckTime: %d failCount: %d\n",expireTime,recheckTime,failCount);
|
|
+ printf("updating from %s\n",(const char*)unicode2char(UpdateURL));
|
|
+#endif
|
|
+}
|
|
+
|
|
+void CRemoteSettings::SaveToFile() {
|
|
+ SaveSettings();
|
|
+ delete cfg;
|
|
+ cfg = new wxFileConfig(wxEmptyString, wxEmptyString, ConfigDir + wxT("adunanza.conf") );
|
|
+}
|
|
+
|
|
+void CRemoteSettings::ReadSettings(wxConfigBase *docfg) {
|
|
+ docfg->Read(wxT("/Adunanza/expireTime") , &expireTime, expireTime);
|
|
+ docfg->Read(wxT("/Adunanza/recheckTime") , &recheckTime, recheckTime);
|
|
+ docfg->Read(wxT("/Adunanza/UpdateURL") , &UpdateURL, UpdateURL);
|
|
+
|
|
+ if (expireTime > RSEXPIRETIME)
|
|
+ expireTime = RSEXPIRETIME;
|
|
+
|
|
+ if (recheckTime > RSRECHECKTIME)
|
|
+ recheckTime = RSRECHECKTIME;
|
|
+
|
|
+ docfg->Read(wxT("/Adunanza/kadRepublishTimeK") , &kadRepublishTimeK, kadRepublishTimeK);
|
|
+ docfg->Read(wxT("/Adunanza/kadRepublishTimeS") , &kadRepublishTimeS, kadRepublishTimeS);
|
|
+ docfg->Read(wxT("/Adunanza/kadRepublishTimeN") , &kadRepublishTimeN, kadRepublishTimeN);
|
|
+
|
|
+ docfg->Read(wxT("/Adunanza/kadTotalStoreKey") , &kadTotalStoreKey, kadTotalStoreKey);
|
|
+ docfg->Read(wxT("/Adunanza/kadTotalStoreSrc") , &kadTotalStoreSrc, kadTotalStoreSrc);
|
|
+ docfg->Read(wxT("/Adunanza/kadTotalStoreNotes") , &kadTotalStoreNotes, kadTotalStoreNotes);
|
|
+
|
|
+ docfg->Read(wxT("/Adunanza/kadTotalSearchFile") , &kadTotalSearchFile, kadTotalSearchFile);
|
|
+
|
|
+ docfg->Read(wxT("/Adunanza/kadMaxSrcFile") , &kadMaxSrcFile, kadMaxSrcFile);
|
|
+ docfg->Read(wxT("/Adunanza/kadMaxNotFile") , &kadMaxNotFile, kadMaxNotFile);
|
|
+
|
|
+ kadFreshGuess_Tol = docfg->Read(wxT("/Adunanza/kadFreshGuess_Tol") , (long)(kadFreshGuess_Tol * 10000)) / 10000.f;
|
|
+ kadFreshGuess_Weight = docfg->Read(wxT("/Adunanza/kadFreshGuess_Weight") , (long)(kadFreshGuess_Weight * 10000)) / 10000.f;
|
|
+ docfg->Read(wxT("/Adunanza/kadFreshGuess_LowNorm") , &kadFreshGuess_LowNorm, kadFreshGuess_LowNorm);
|
|
+ docfg->Read(wxT("/Adunanza/kadFreshGuess_NoNorm") , &kadFreshGuess_NoNorm, kadFreshGuess_NoNorm);
|
|
+
|
|
+ docfg->Read(wxT("/Adunanza/maxSrc") , &maxSrc, maxSrc);
|
|
+ docfg->Read(wxT("/Adunanza/maxSrcUdp") , &maxSrcUdp, maxSrcUdp);
|
|
+
|
|
+ docfg->Read(wxT("/Adunanza/kadFindValue") , &kadFindValue, kadFindValue);
|
|
+ docfg->Read(wxT("/Adunanza/kadStore") , &kadStore, kadStore);
|
|
+ docfg->Read(wxT("/Adunanza/kadFindNode") , &kadFindNode, kadFindNode);
|
|
+
|
|
+ docfg->Read(wxT("/Adunanza/kadReaskTime") , &kadReaskTime, kadReaskTime);
|
|
+ docfg->Read(wxT("/Adunanza/kadReaskIncs") , &kadReaskIncs, kadReaskIncs);
|
|
+ docfg->Read(wxT("/Adunanza/kadPubTime") , &kadPubTime, kadPubTime);
|
|
+ docfg->Read(wxT("/Adunanza/mVer") , &mVer, mVer);
|
|
+
|
|
+ kadOpcode = (unsigned char)docfg->Read(wxT("/Adunanza/kadOpcode") , (long)kadOpcode);
|
|
+ kadZOpcode = (unsigned char)docfg->Read(wxT("/Adunanza/kadZOpcode") , (long)kadZOpcode);
|
|
+
|
|
+}
|
|
+
|
|
+void CRemoteSettings::SaveSettings() {
|
|
+ cfg->Write(wxT("/Adunanza/nextUpdate") , wxString::Format(wxT("%ul"),nextUpdate));
|
|
+ cfg->Write(wxT("/Adunanza/failCount") , failCount);
|
|
+ cfg->Write(wxT("/Adunanza/UpdateURL") , UpdateURL);
|
|
+ cfg->Write(wxT("/Adunanza/expireTime") , expireTime);
|
|
+ cfg->Write(wxT("/Adunanza/recheckTime") , recheckTime);
|
|
+
|
|
+ cfg->Write(wxT("/Adunanza/kadRepublishTimeK") , kadRepublishTimeK);
|
|
+ cfg->Write(wxT("/Adunanza/kadRepublishTimeS") , kadRepublishTimeS);
|
|
+ cfg->Write(wxT("/Adunanza/kadRepublishTimeN") , kadRepublishTimeN);
|
|
+
|
|
+ cfg->Write(wxT("/Adunanza/kadTotalStoreKey") , kadTotalStoreKey);
|
|
+ cfg->Write(wxT("/Adunanza/kadTotalStoreSrc") , kadTotalStoreSrc);
|
|
+ cfg->Write(wxT("/Adunanza/kadTotalStoreNotes") , kadTotalStoreNotes);
|
|
+
|
|
+ cfg->Write(wxT("/Adunanza/kadTotalSearchFile") , kadTotalSearchFile);
|
|
+
|
|
+ cfg->Write(wxT("/Adunanza/kadMaxSrcFile") , kadMaxSrcFile);
|
|
+ cfg->Write(wxT("/Adunanza/kadMaxNotFile") , kadMaxNotFile);
|
|
+
|
|
+ cfg->Write(wxT("/Adunanza/kadFreshGuess_Tol") , (long)(kadFreshGuess_Tol * 10000));
|
|
+ cfg->Write(wxT("/Adunanza/kadFreshGuess_Weight") , (long)(kadFreshGuess_Weight * 10000));
|
|
+ cfg->Write(wxT("/Adunanza/kadFreshGuess_LowNorm") , kadFreshGuess_LowNorm);
|
|
+ cfg->Write(wxT("/Adunanza/kadFreshGuess_NoNorm") , kadFreshGuess_NoNorm);
|
|
+
|
|
+ cfg->Write(wxT("/Adunanza/maxSrc") , maxSrc);
|
|
+ cfg->Write(wxT("/Adunanza/maxSrcUdp") , maxSrcUdp);
|
|
+
|
|
+ cfg->Write(wxT("/Adunanza/kadFindValue") , kadFindValue);
|
|
+ cfg->Write(wxT("/Adunanza/kadStore") , kadStore);
|
|
+ cfg->Write(wxT("/Adunanza/kadFindNode") , kadFindNode);
|
|
+
|
|
+ cfg->Write(wxT("/Adunanza/kadReaskTime") , kadReaskTime);
|
|
+ cfg->Write(wxT("/Adunanza/kadReaskIncs") , kadReaskIncs);
|
|
+ cfg->Write(wxT("/Adunanza/kadPubTime") , kadPubTime);
|
|
+ cfg->Write(wxT("/Adunanza/mVer") , mVer);
|
|
+
|
|
+ cfg->Write(wxT("/Adunanza/kadOpcode"), (long)kadOpcode);
|
|
+ cfg->Write(wxT("/Adunanza/kadZOpcode"), (long)kadZOpcode);
|
|
+}
|
|
+
|
|
+void CRemoteSettings::CheckUpdate() {
|
|
+ if (time(NULL) < (time_t)nextUpdate)
|
|
+ return;
|
|
+
|
|
+ //printf("---------------- Before update -----------------\n");
|
|
+ //PrintAllValues();
|
|
+
|
|
+ wxString strURL(UpdateURL);
|
|
+ wxString tmpFile(ConfigDir + wxT(ADURM_TMPFILE));
|
|
+ if (wxFileExists(tmpFile))
|
|
+ wxRemoveFile(tmpFile);
|
|
+
|
|
+ CHTTPDownloadThread *downloader = new CHTTPDownloadThread(strURL, tmpFile, HTTP_AdunanzaConf);
|
|
+ downloader->Create();
|
|
+ downloader->Run();
|
|
+}
|
|
+
|
|
+void CRemoteSettings::FileDownloadedCallback(int result) {
|
|
+ //printf("---------------- Before update (2) ----------------- result: %d\n",result);
|
|
+ //PrintAllValues();
|
|
+
|
|
+ if (result == -1) {
|
|
+ double scaled = rand() / (RAND_MAX + 1.0);
|
|
+ nextUpdate = time(NULL) + (time_t)recheckTime + (time_t)((recheckTime + 1) * scaled);
|
|
+ failCount++;
|
|
+ if (failCount > FAILCHECKSTATIC) {
|
|
+ UpdateURL = wxT(ADURM_URL);
|
|
+ SaveSettings();
|
|
+ }
|
|
+ return;
|
|
+ }
|
|
+
|
|
+ wxString tmpFile(ConfigDir + wxT(ADURM_TMPFILE));
|
|
+ if (!wxFileExists(tmpFile))
|
|
+ return;
|
|
+
|
|
+ wxFileConfig *tmpcfg = new wxFileConfig(wxEmptyString, wxEmptyString, tmpFile);
|
|
+
|
|
+ ReadSettings(tmpcfg);
|
|
+
|
|
+ delete tmpcfg;
|
|
+
|
|
+ wxRemoveFile(tmpFile);
|
|
+
|
|
+ SaveToFile();
|
|
+
|
|
+ nextUpdate = time(NULL) + (time_t)expireTime;
|
|
+ failCount = 0;
|
|
+
|
|
+ printf("---------------- After update -----------------\n");
|
|
+ PrintAllValues();
|
|
+}
|
|
diff -urdpN ../aMule-2.1.3-orig/src/RemoteSettings.h ./src/RemoteSettings.h
|
|
--- ../aMule-2.1.3-orig/src/RemoteSettings.h 1970-01-01 01:00:00.000000000 +0100
|
|
+++ ./src/RemoteSettings.h 2006-06-12 18:30:14.000000000 +0200
|
|
@@ -0,0 +1,65 @@
|
|
+#include <wx/config.h> // to let wxWidgets choose a wxConfig class for your platform
|
|
+#include <wx/confbase.h> // base config class
|
|
+#include <wx/fileconf.h> // wxFileConfig class
|
|
+#include "Types.h"
|
|
+
|
|
+class CRemoteSettings {
|
|
+public:
|
|
+ CRemoteSettings();
|
|
+ ~CRemoteSettings();
|
|
+
|
|
+ void ReadSettings(wxConfigBase *cfg);
|
|
+ void SaveSettings();
|
|
+
|
|
+ void PrintAllValues();
|
|
+
|
|
+ void SaveToFile();
|
|
+ void CheckUpdate();
|
|
+ void FileDownloadedCallback(int result);
|
|
+
|
|
+ long kadRepublishTimeK;
|
|
+ long kadRepublishTimeS;
|
|
+ long kadRepublishTimeN;
|
|
+
|
|
+ long kadTotalStoreKey;
|
|
+ long kadTotalStoreSrc;
|
|
+ long kadTotalStoreNotes;
|
|
+
|
|
+ long kadTotalSearchFile;
|
|
+
|
|
+ long kadMaxSrcFile;
|
|
+ long kadMaxNotFile;
|
|
+
|
|
+ double kadFreshGuess_Tol;
|
|
+ double kadFreshGuess_Weight;
|
|
+ long kadFreshGuess_NoNorm;
|
|
+ long kadFreshGuess_LowNorm;
|
|
+
|
|
+ long maxSrc;
|
|
+ long maxSrcUdp;
|
|
+
|
|
+ long kadFindValue;
|
|
+ long kadStore;
|
|
+ long kadFindNode;
|
|
+
|
|
+ long kadReaskTime;
|
|
+ long kadPubTime;
|
|
+
|
|
+ long kadReaskIncs;
|
|
+
|
|
+ long mVer;
|
|
+
|
|
+ unsigned char kadOpcode;
|
|
+ unsigned char kadZOpcode;
|
|
+
|
|
+ wxString UpdateURL;
|
|
+
|
|
+private:
|
|
+ wxFileConfig *cfg;
|
|
+ wxString ConfigDir;
|
|
+
|
|
+ int failCount;
|
|
+ time_t nextUpdate;
|
|
+ long expireTime;
|
|
+ long recheckTime;
|
|
+};
|
|
diff -urdpN ../aMule-2.1.3-orig/src/SearchDlg.cpp ./src/SearchDlg.cpp
|
|
--- ../aMule-2.1.3-orig/src/SearchDlg.cpp 2006-03-23 13:05:11.000000000 +0100
|
|
+++ ./src/SearchDlg.cpp 2006-06-12 18:30:14.000000000 +0200
|
|
@@ -109,14 +109,14 @@ CSearchDlg::CSearchDlg(wxWindow* pParent
|
|
#endif
|
|
|
|
// Sanity sanity
|
|
- wxASSERT(CastChild( ID_SEARCHTYPE, wxChoice )->GetString(0) == _("Local Search"));
|
|
- wxASSERT(CastChild( ID_SEARCHTYPE, wxChoice )->GetString(2) == _("Kad"));
|
|
+ //wxASSERT(CastChild( ID_SEARCHTYPE, wxChoice )->GetString(0) == _("Local Search"));
|
|
+ //wxASSERT(CastChild( ID_SEARCHTYPE, wxChoice )->GetString(2) == _("Kad"));
|
|
|
|
- if (thePrefs::GetNetworkED2K()){
|
|
- CastChild( ID_SEARCHTYPE, wxChoice )->SetSelection(0);
|
|
- } else {
|
|
- CastChild( ID_SEARCHTYPE, wxChoice )->SetSelection(2);
|
|
- }
|
|
+ /* if (thePrefs::GetNetworkED2K()){
|
|
+ * CastChild( ID_SEARCHTYPE, wxChoice )->SetSelection(0);
|
|
+ * } else {
|
|
+ */ CastChild( ID_SEARCHTYPE, wxChoice )->SetSelection(2);
|
|
+ //}
|
|
|
|
CastChild( IDC_TypeSearch, wxChoice )->SetSelection(0);
|
|
CastChild( IDC_SEARCHMINSIZE, wxChoice )->SetSelection(2);
|
|
diff -urdpN ../aMule-2.1.3-orig/src/SearchList.cpp ./src/SearchList.cpp
|
|
--- ../aMule-2.1.3-orig/src/SearchList.cpp 2006-02-25 13:01:46.000000000 +0100
|
|
+++ ./src/SearchList.cpp 2006-06-12 18:30:14.000000000 +0200
|
|
@@ -422,7 +422,7 @@ void CSearchFile::AddSources(uint32 coun
|
|
|
|
case FT_COMPLETE_SOURCES:
|
|
if (m_nKademlia) {
|
|
- if (count > tag->GetInt()) {
|
|
+ if (count_complete > tag->GetInt()) {
|
|
tag->SetInt(count_complete);
|
|
}
|
|
} else {
|
|
diff -urdpN ../aMule-2.1.3-orig/src/ServerWnd.cpp ./src/ServerWnd.cpp
|
|
--- ../aMule-2.1.3-orig/src/ServerWnd.cpp 2006-03-17 03:06:48.000000000 +0100
|
|
+++ ./src/ServerWnd.cpp 2006-06-12 18:30:14.000000000 +0200
|
|
@@ -46,6 +46,7 @@
|
|
#include "ClientList.h"
|
|
#include "OtherFunctions.h"
|
|
#include "updownclient.h"
|
|
+#include "AdunanzA.h"
|
|
|
|
BEGIN_EVENT_TABLE(CServerWnd,wxPanel)
|
|
EVT_BUTTON(ID_ADDTOLIST,CServerWnd::OnBnClickedAddserver)
|
|
@@ -70,7 +71,7 @@ CServerWnd::CServerWnd(wxWindow* pParent
|
|
|
|
CastChild( ID_SRV_SPLITTER, wxSplitterWindow )->SetSashPosition(splitter_pos, true);
|
|
CastChild( ID_SRV_SPLITTER, wxSplitterWindow )->SetSashGravity(0.5f);
|
|
- CastChild( IDC_SERVERLISTURL, wxTextCtrl )->SetValue(wxT("http://ocbmaurice.dyns.net/pl/slist.pl?download/server-best.met"));
|
|
+ CastChild( IDC_SERVERLISTURL, wxTextCtrl )->SetValue(wxT(ADU_SRV_URL));
|
|
|
|
// Insert two columns, currently without a header
|
|
wxListCtrl* ED2KInfoList = CastChild( ID_ED2KINFO, wxListCtrl );
|
|
diff -urdpN ../aMule-2.1.3-orig/src/SharedFileList.cpp ./src/SharedFileList.cpp
|
|
--- ../aMule-2.1.3-orig/src/SharedFileList.cpp 2006-04-21 05:04:00.000000000 +0200
|
|
+++ ./src/SharedFileList.cpp 2006-06-12 18:30:14.000000000 +0200
|
|
@@ -53,6 +53,7 @@
|
|
#include "Logger.h"
|
|
#include <common/Format.h>
|
|
#include "FileFunctions.h"
|
|
+#include "RemoteSettings.h"
|
|
|
|
#ifndef AMULE_DAEMON
|
|
#include "muuli_wdr.h" // Needed for IDC_RELOADSHAREDFILES
|
|
@@ -64,6 +65,7 @@
|
|
#include "kademlia/kademlia/Kademlia.h"
|
|
#include "kademlia/kademlia/Search.h"
|
|
#include "kademlia/kademlia/Prefs.h"
|
|
+#include "kademlia/io/FileIO.h"
|
|
#include "ClientList.h"
|
|
|
|
typedef std::deque<CKnownFile*> KnownFileArray;
|
|
@@ -143,6 +145,9 @@ public:
|
|
CPublishKeywordList();
|
|
~CPublishKeywordList();
|
|
|
|
+ void saveFile();
|
|
+ void readFile();
|
|
+
|
|
void AddKeywords(CKnownFile* pFile);
|
|
void RemoveKeywords(CKnownFile* pFile);
|
|
void RemoveAllKeywords();
|
|
@@ -164,21 +169,77 @@ protected:
|
|
CTypedPtrList<CPtrList, CPublishKeyword*> m_lstKeywords;
|
|
POSITION m_posNextKeyword;
|
|
uint32 m_tNextPublishKeywordTime;
|
|
+ wxString m_keylistfile;
|
|
|
|
CPublishKeyword* FindKeyword(const wxString& rstrKeyword, POSITION* ppos = NULL) const;
|
|
};
|
|
|
|
CPublishKeywordList::CPublishKeywordList()
|
|
{
|
|
+ m_keylistfile = theApp.ConfigDir + wxT("key_np.dat");
|
|
+ readFile();
|
|
ResetNextKeyword();
|
|
SetNextPublishTime(0);
|
|
}
|
|
|
|
+
|
|
+
|
|
CPublishKeywordList::~CPublishKeywordList()
|
|
{
|
|
+ saveFile();
|
|
RemoveAllKeywords();
|
|
}
|
|
|
|
+void CPublishKeywordList::readFile()
|
|
+{
|
|
+ try {
|
|
+ Kademlia::CBufferedFileIO klist_file;
|
|
+ if (klist_file.Open(m_keylistfile,CFile::read)) {
|
|
+ uint8 version = klist_file.ReadUInt8();
|
|
+ if (version == 1) {
|
|
+ uint32 savetime = klist_file.ReadUInt32();
|
|
+ if (savetime <= (uint32)time(NULL)) {
|
|
+ uint32 nkeys = klist_file.ReadUInt32();
|
|
+ CPublishKeyword* pPubKw;
|
|
+ while (nkeys) {
|
|
+ pPubKw = new CPublishKeyword(klist_file.readStringUTF8(false));
|
|
+ pPubKw->SetNextPublishTime(klist_file.ReadUInt32());
|
|
+ m_lstKeywords.AddTail(pPubKw);
|
|
+ //printf("key: %s next: %u\n", (const char*)unicode2char(pPubKw->GetKeyword()), pPubKw->GetNextPublishTime());
|
|
+ nkeys--;
|
|
+ }
|
|
+ }
|
|
+ }
|
|
+ klist_file.Close();
|
|
+ }
|
|
+ } catch (const wxString& e) {
|
|
+ AddDebugLogLineM(true, logKadIndex, wxT("Exception in CPublishKeywordList::readFile: ") + e);
|
|
+ }
|
|
+}
|
|
+
|
|
+void CPublishKeywordList::saveFile()
|
|
+{
|
|
+ try {
|
|
+ Kademlia::CBufferedFileIO klist_file;
|
|
+ if (klist_file.Open(m_keylistfile, CFile::write)) {
|
|
+ klist_file.writeUInt8(1);
|
|
+ klist_file.writeUInt32((uint32)time(NULL));
|
|
+ klist_file.writeUInt32(m_lstKeywords.GetCount());
|
|
+
|
|
+ CPublishKeyword* pPubKw;
|
|
+ POSITION pos = m_lstKeywords.GetHeadPosition();
|
|
+ while (pos) {
|
|
+ pPubKw = m_lstKeywords.GetNext(pos);
|
|
+ klist_file.writeString(pPubKw->GetKeyword(),false);
|
|
+ klist_file.writeUInt32(pPubKw->GetNextPublishTime());
|
|
+ }
|
|
+ klist_file.Close();
|
|
+ }
|
|
+ } catch (const wxString& e) {
|
|
+ AddDebugLogLineM(true, logKadIndex, wxT("Exception in CPublishKeywordList::saveFile: ") + e);
|
|
+ }
|
|
+}
|
|
+
|
|
CPublishKeyword* CPublishKeywordList::GetNextKeyword()
|
|
{
|
|
if (m_posNextKeyword == NULL) {
|
|
@@ -908,7 +969,7 @@ void CSharedFileList::Publish()
|
|
if( Kademlia::CKademlia::isConnected() && ( !isFirewalled || ( isFirewalled && theApp.clientlist->GetBuddyStatus() == Connected)) && GetCount() && Kademlia::CKademlia::getPublish()) {
|
|
//We are connected to Kad. We are either open or have a buddy. And Kad is ready to start publishing.
|
|
|
|
- if( Kademlia::CKademlia::getTotalStoreKey() < KADEMLIATOTALSTOREKEY) {
|
|
+ if( Kademlia::CKademlia::getTotalStoreKey() < theApp.rm->kadTotalStoreKey) {
|
|
|
|
//We are not at the max simultaneous keyword publishes
|
|
if (tNow >= m_keywords->GetNextPublishTime()) {
|
|
@@ -941,7 +1002,7 @@ void CSharedFileList::Publish()
|
|
|
|
//Only publish complete files as someone else should have the full file to publish these keywords.
|
|
//As a side effect, this may help reduce people finding incomplete files in the network.
|
|
- if( !aFiles[f]->IsPartFile() ) {
|
|
+ if( !aFiles[f]->IsPartFile() || true ) {
|
|
count++;
|
|
pSearch->addFileID(Kademlia::CUInt128(aFiles[f]->GetFileHash().GetHash()));
|
|
if( count > 150 ) {
|
|
@@ -955,7 +1016,7 @@ void CSharedFileList::Publish()
|
|
if( count ) {
|
|
//Start our keyword publish
|
|
pSearch->PreparePacket();
|
|
- pPubKw->SetNextPublishTime(tNow+(KADEMLIAREPUBLISHTIMEK));
|
|
+ pPubKw->SetNextPublishTime(tNow+(theApp.rm->kadRepublishTimeK));
|
|
pPubKw->IncPublishedCount();
|
|
Kademlia::CSearchManager::startSearch(pSearch);
|
|
} else {
|
|
@@ -965,11 +1026,11 @@ void CSharedFileList::Publish()
|
|
}
|
|
}
|
|
}
|
|
- m_keywords->SetNextPublishTime(KADEMLIAPUBLISHTIME+tNow);
|
|
+ m_keywords->SetNextPublishTime(theApp.rm->kadPubTime+tNow);
|
|
}
|
|
}
|
|
|
|
- if( Kademlia::CKademlia::getTotalStoreSrc() < KADEMLIATOTALSTORESRC) {
|
|
+ if( Kademlia::CKademlia::getTotalStoreSrc() < theApp.rm->kadTotalStoreSrc) {
|
|
if(tNow >= m_lastPublishKadSrc) {
|
|
if(m_currFileSrc > GetCount()) {
|
|
m_currFileSrc = 0;
|
|
@@ -988,11 +1049,11 @@ void CSharedFileList::Publish()
|
|
|
|
// even if we did not publish a source, reset the timer so that this list is processed
|
|
// only every KADEMLIAPUBLISHTIME seconds.
|
|
- m_lastPublishKadSrc = KADEMLIAPUBLISHTIME+tNow;
|
|
+ m_lastPublishKadSrc = theApp.rm->kadPubTime+tNow;
|
|
}
|
|
}
|
|
|
|
- if( Kademlia::CKademlia::getTotalStoreNotes() < KADEMLIATOTALSTORENOTES) {
|
|
+ if( Kademlia::CKademlia::getTotalStoreNotes() < theApp.rm->kadTotalStoreNotes) {
|
|
if(tNow >= m_lastPublishKadNotes) {
|
|
if(m_currFileNotes > GetCount()) {
|
|
m_currFileNotes = 0;
|
|
@@ -1010,7 +1071,7 @@ void CSharedFileList::Publish()
|
|
|
|
// even if we did not publish a source, reset the timer so that this list is processed
|
|
// only every KADEMLIAPUBLISHTIME seconds.
|
|
- m_lastPublishKadNotes = KADEMLIAPUBLISHTIME+tNow;
|
|
+ m_lastPublishKadNotes = theApp.rm->kadPubTime+tNow;
|
|
}
|
|
}
|
|
}
|
|
diff -urdpN ../aMule-2.1.3-orig/src/Statistics.cpp ./src/Statistics.cpp
|
|
--- ../aMule-2.1.3-orig/src/Statistics.cpp 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/Statistics.cpp 2006-06-12 18:30:14.000000000 +0200
|
|
@@ -155,6 +155,26 @@ CStatTreeItemBase* CStatistics::s_statT
|
|
// Uptime
|
|
CStatTreeItemTimer* CStatistics::s_uptime;
|
|
|
|
+// Adu mod
|
|
+CStatTreeItemUlDlCounter* CStatistics::s_sessionAduUpload;
|
|
+CStatTreeItemUlDlCounter* CStatistics::s_sessionAduFUpload;
|
|
+CStatTreeItemUlDlCounter* CStatistics::s_sessionAduDUpload;
|
|
+CStatTreeItemUlDlCounter* CStatistics::s_sessionAduDownload;
|
|
+CStatTreeItemUlDlCounter* CStatistics::s_sessionAduFDownload;
|
|
+CStatTreeItemUlDlCounter* CStatistics::s_sessionAduDDownload;
|
|
+CStatTreeItemUlDlCounter* CStatistics::s_sessionExtUpload;
|
|
+CStatTreeItemUlDlCounter* CStatistics::s_sessionExtDownload;
|
|
+CStatTreeItemCounter* CStatistics::s_totAduUpload;
|
|
+CStatTreeItemCounter* CStatistics::s_totAduFUpload;
|
|
+CStatTreeItemCounter* CStatistics::s_totAduDUpload;
|
|
+CStatTreeItemCounter* CStatistics::s_totAduDownload;
|
|
+CStatTreeItemCounter* CStatistics::s_totAduFDownload;
|
|
+CStatTreeItemCounter* CStatistics::s_totAduDDownload;
|
|
+CStatTreeItemCounter* CStatistics::s_totExtUpload;
|
|
+CStatTreeItemCounter* CStatistics::s_totExtDownload;
|
|
+CStatTreeItemCounter* CStatistics::s_totUpload;
|
|
+CStatTreeItemCounter* CStatistics::s_totDownload;
|
|
+
|
|
// Upload
|
|
CStatTreeItemUlDlCounter* CStatistics::s_sessionUpload;
|
|
CStatTreeItemPacketTotals* CStatistics::s_totalUpOverhead;
|
|
@@ -216,6 +236,7 @@ CStatTreeItemCounter* CStatistics::s_si
|
|
// Kad
|
|
uint64 CStatistics::s_kadNodesTotal;
|
|
uint16 CStatistics::s_kadNodesCur;
|
|
+uint16 CStatistics::s_kadActiveNodesCur;
|
|
|
|
|
|
CStatistics::CStatistics()
|
|
@@ -368,6 +389,8 @@ void CStatistics::RecordHistory()
|
|
s_kadNodesTotal += s_kadNodesCur;
|
|
phr->kadNodesTotal = s_kadNodesTotal;
|
|
phr->kadNodesCur = s_kadNodesCur;
|
|
+ phr->kadActiveNodesCur = s_kadActiveNodesCur;
|
|
+
|
|
}
|
|
|
|
|
|
@@ -559,9 +582,10 @@ void CStatistics::ComputeAverages(
|
|
// now compute averages in returned arrays, starting with the earliest values
|
|
float *pf1 = *ppf++ + cntFilled - 1; // holds session avg
|
|
float *pf2 = *ppf++ + cntFilled - 1; // holds running avg
|
|
- float *pf3 = *ppf + cntFilled - 1; // holds current rate
|
|
+ float *pf3 = *ppf++ + cntFilled - 1; // holds current rate
|
|
+ float *pf4 = *ppf + cntFilled - 1; // holds current active rate for kad graph
|
|
|
|
- for (int cnt=cntFilled; cnt>0; cnt--, pf1--, pf2--, pf3--) {
|
|
+ for (int cnt=cntFilled; cnt>0; cnt--, pf1--, pf2--, pf3--, pf4--) {
|
|
HR *phr = *(--pphr);
|
|
if (which_graph == GRAPH_DOWN) {
|
|
kValueRun = phr->kBytesReceived;
|
|
@@ -572,6 +596,7 @@ void CStatistics::ComputeAverages(
|
|
} else {
|
|
kValueRun = phr->kadNodesTotal;
|
|
*pf3 = phr->kadNodesCur;
|
|
+ *pf4 = phr->kadActiveNodesCur;
|
|
}
|
|
|
|
*pf1 = kValueRun / phr->sTimestamp;
|
|
@@ -612,6 +637,7 @@ GraphUpdateInfo CStatistics::GetPointsFo
|
|
update.kadnodes[0] = phr->kadNodesTotal / phr->sTimestamp;
|
|
update.kadnodes[1] = m_graphRunningAvgKad.GetRate() / 1024.0;
|
|
update.kadnodes[2] = phr->kadNodesCur;
|
|
+ update.kadnodes[3] = phr->kadActiveNodesCur;
|
|
|
|
return update;
|
|
}
|
|
@@ -629,6 +655,80 @@ void CStatistics::InitStatsTree()
|
|
s_uptime = (CStatTreeItemTimer*)s_statTree->AddChild(new CStatTreeItemTimer(wxTRANSLATE("Uptime: %s")));
|
|
|
|
tmpRoot1 = s_statTree->AddChild(new CStatTreeItemBase(wxTRANSLATE("Transfer"), stSortChildren));
|
|
+ // Adu mod
|
|
+ tmpRoot2 = tmpRoot1->AddChild(new CStatTreeItemBase(wxTRANSLATE("AdunanzA")), 3);
|
|
+ s_sessionAduUpload = (CStatTreeItemUlDlCounter*)tmpRoot2->AddChild(new CStatTreeItemUlDlCounter(wxTRANSLATE("AdunanzA uploaded [session (total)]: %s"), thePrefs::GetTotalAduUploaded, stSortChildren | stSortByValue),1);
|
|
+
|
|
+ s_sessionAduFUpload = (CStatTreeItemUlDlCounter*)s_sessionAduUpload->AddChild(new CStatTreeItemUlDlCounter(wxTRANSLATE("fibra [session (total)]: %s"), thePrefs::GetTotalAduFUploaded, stSortChildren | stSortByValue),1);
|
|
+ s_sessionAduDUpload = (CStatTreeItemUlDlCounter*)s_sessionAduUpload->AddChild(new CStatTreeItemUlDlCounter(wxTRANSLATE("dsl [session (total)]: %s"), thePrefs::GetTotalAduDUploaded, stSortChildren | stSortByValue),2);
|
|
+
|
|
+
|
|
+ s_sessionAduDownload = (CStatTreeItemUlDlCounter*)tmpRoot2->AddChild(new CStatTreeItemUlDlCounter(wxTRANSLATE("AdunanzA downloaded [session (total)]: %s"), thePrefs::GetTotalAduDownloaded, stSortChildren | stSortByValue),2);
|
|
+
|
|
+ s_sessionAduFDownload = (CStatTreeItemUlDlCounter*)s_sessionAduDownload->AddChild(new CStatTreeItemUlDlCounter(wxTRANSLATE("fibra [session (total)]: %s"), thePrefs::GetTotalAduFDownloaded, stSortChildren | stSortByValue),1);
|
|
+ s_sessionAduDDownload = (CStatTreeItemUlDlCounter*)s_sessionAduDownload->AddChild(new CStatTreeItemUlDlCounter(wxTRANSLATE("dsl [session (total)]: %s"), thePrefs::GetTotalAduDDownloaded, stSortChildren | stSortByValue),2);
|
|
+
|
|
+ s_sessionExtUpload = (CStatTreeItemUlDlCounter*)tmpRoot2->AddChild(new CStatTreeItemUlDlCounter(wxTRANSLATE("Esterni uploaded [session (total)]: %s"), thePrefs::GetTotalExtUploaded, stSortChildren | stSortByValue),3);
|
|
+ s_sessionExtDownload = (CStatTreeItemUlDlCounter*)tmpRoot2->AddChild(new CStatTreeItemUlDlCounter(wxTRANSLATE("Esterni downloaded [session (total)]: %s"), thePrefs::GetTotalExtDownloaded, stSortChildren | stSortByValue),4);
|
|
+
|
|
+
|
|
+ CStatTreeItemBase *tmpAduRoot,*tmpAduRoot2,*tmpAduRoot3;
|
|
+ s_totAduUpload=new CStatTreeItemCounter(wxTRANSLATE("Total AdunanzA upload"));
|
|
+ s_totAduFUpload=new CStatTreeItemCounter(wxTRANSLATE("Total fibra upload"));
|
|
+ s_totAduDUpload=new CStatTreeItemCounter(wxTRANSLATE("Total dsl upload"));
|
|
+ s_totAduDownload=new CStatTreeItemCounter(wxTRANSLATE("Total AdunanzA download"));
|
|
+ s_totAduFDownload=new CStatTreeItemCounter(wxTRANSLATE("Total fibra download"));
|
|
+ s_totAduDDownload=new CStatTreeItemCounter(wxTRANSLATE("Total dsl download"));
|
|
+ s_totExtUpload=new CStatTreeItemCounter(wxTRANSLATE("Total Esterni upload"));
|
|
+ s_totExtDownload=new CStatTreeItemCounter(wxTRANSLATE("Total Esterni download"));
|
|
+ s_totUpload=new CStatTreeItemCounter(wxTRANSLATE("Total upload"));
|
|
+ s_totDownload=new CStatTreeItemCounter(wxTRANSLATE("Total download"));
|
|
+
|
|
+ (*s_totAduDownload) = thePrefs::GetTotalAduDownloaded();
|
|
+ (*s_totAduFDownload) = thePrefs::GetTotalAduFDownloaded();
|
|
+ (*s_totAduDDownload) = thePrefs::GetTotalAduDDownloaded();
|
|
+ (*s_totExtDownload) = thePrefs::GetTotalExtDownloaded();
|
|
+ (*s_totDownload) = thePrefs::GetTotalDownloaded();
|
|
+
|
|
+ (*s_totAduUpload) = thePrefs::GetTotalAduUploaded();
|
|
+ (*s_totAduFUpload) = thePrefs::GetTotalAduFUploaded();
|
|
+ (*s_totAduDUpload) = thePrefs::GetTotalAduDUploaded();
|
|
+ (*s_totExtUpload) = thePrefs::GetTotalExtUploaded();
|
|
+ (*s_totUpload) = thePrefs::GetTotalUploaded();
|
|
+
|
|
+ tmpAduRoot=tmpRoot2->AddChild(new CStatTreeItemBase(wxTRANSLATE("Ratio sessione")), 5);
|
|
+ tmpAduRoot2=tmpAduRoot->AddChild(new CStatTreeItemBase(wxTRANSLATE("Esterni")), 1);
|
|
+ tmpAduRoot2->AddChild(new CStatTreeItemRatio(wxTRANSLATE("Up ADU:Ext %s"), s_sessionAduUpload, s_sessionExtUpload), 1);
|
|
+ tmpAduRoot2->AddChild(new CStatTreeItemRatio(wxTRANSLATE("Down ADU:Ext %s"), s_sessionAduDownload, s_sessionExtDownload), 2);
|
|
+ tmpAduRoot2->AddChild(new CStatTreeItemRatio(wxTRANSLATE("Esterni UL:DL %s"), s_sessionExtUpload, s_sessionExtDownload), 3);
|
|
+
|
|
+ tmpAduRoot2=tmpAduRoot->AddChild(new CStatTreeItemBase(wxTRANSLATE("AdunanzA")), 2);
|
|
+ tmpAduRoot2->AddChild(new CStatTreeItemRatio(wxTRANSLATE("Up Fib:Dsl %s"), s_sessionAduFUpload, s_sessionAduDUpload), 1);
|
|
+ tmpAduRoot2->AddChild(new CStatTreeItemRatio(wxTRANSLATE("Down Fib:Dsl %s"), s_sessionAduFDownload, s_sessionAduDDownload), 2);
|
|
+
|
|
+ tmpAduRoot3=tmpAduRoot2->AddChild(new CStatTreeItemRatio(wxTRANSLATE("AdnzA UL:DL %s"), s_sessionAduUpload, s_sessionAduDownload), 3);
|
|
+ tmpAduRoot3->AddChild(new CStatTreeItemRatio(wxTRANSLATE("Fibra UL:DL %s"), s_sessionAduFUpload, s_sessionAduFDownload), 1);
|
|
+ tmpAduRoot3->AddChild(new CStatTreeItemRatio(wxTRANSLATE("DSL UL:DL %s"), s_sessionAduDUpload, s_sessionAduDDownload), 2);
|
|
+
|
|
+ tmpAduRoot=tmpRoot2->AddChild(new CStatTreeItemBase(wxTRANSLATE("Ratio totali")), 6);
|
|
+ tmpAduRoot2=tmpAduRoot->AddChild(new CStatTreeItemBase(wxTRANSLATE("Esterni")), 1);
|
|
+ tmpAduRoot2->AddChild(new CStatTreeItemRatio(wxTRANSLATE("Up ADU:Ext %s"), s_totAduUpload, s_totExtUpload), 1);
|
|
+ tmpAduRoot2->AddChild(new CStatTreeItemRatio(wxTRANSLATE("Down ADU:Ext %s"), s_totAduDownload, s_totExtDownload), 2);
|
|
+ tmpAduRoot2->AddChild(new CStatTreeItemRatio(wxTRANSLATE("Esterni UL:DL %s"), s_totExtUpload, s_totExtDownload), 3);
|
|
+
|
|
+ tmpAduRoot2=tmpAduRoot->AddChild(new CStatTreeItemBase(wxTRANSLATE("AdunanzA")), 2);
|
|
+ tmpAduRoot2->AddChild(new CStatTreeItemRatio(wxTRANSLATE("Up Fib:Dsl %s"), s_totAduFUpload, s_totAduDUpload), 1);
|
|
+ tmpAduRoot2->AddChild(new CStatTreeItemRatio(wxTRANSLATE("Down Fib:Dsl %s"), s_totAduFDownload, s_totAduDDownload), 2);
|
|
+
|
|
+ tmpAduRoot3=tmpAduRoot2->AddChild(new CStatTreeItemRatio(wxTRANSLATE("AdnzA UL:DL %s"), s_totAduUpload, s_totAduDownload), 3);
|
|
+ tmpAduRoot3->AddChild(new CStatTreeItemRatio(wxTRANSLATE("Fibra UL:DL %s"), s_totAduFUpload, s_totAduFDownload), 1);
|
|
+ tmpAduRoot3->AddChild(new CStatTreeItemRatio(wxTRANSLATE("DSL UL:DL %s"), s_totAduDUpload, s_totAduDDownload), 2);
|
|
+
|
|
+ tmpAduRoot->AddChild(new CStatTreeItemRatio(wxTRANSLATE("Totale UL:DL %s"), s_totUpload, s_totDownload), 13);
|
|
+
|
|
+
|
|
+ // Fine
|
|
+
|
|
|
|
tmpRoot2 = tmpRoot1->AddChild(new CStatTreeItemBase(wxTRANSLATE("Uploads")), 2);
|
|
s_sessionUpload = (CStatTreeItemUlDlCounter*)tmpRoot2->AddChild(new CStatTreeItemUlDlCounter(wxTRANSLATE("Uploaded Data (Session (Total)): %s"), thePrefs::GetTotalUploaded, stSortChildren | stSortByValue));
|
|
@@ -664,7 +764,7 @@ void CStatistics::InitStatsTree()
|
|
s_foundSources = (CStatTreeItemNativeCounter*)tmpRoot2->AddChild(new CStatTreeItemNativeCounter(wxTRANSLATE("Found Sources: %s"), stSortChildren | stSortByValue));
|
|
s_activeDownloads = (CStatTreeItemNativeCounter*)tmpRoot2->AddChild(new CStatTreeItemNativeCounter(wxTRANSLATE("Active Downloads (chunks): %s")));
|
|
|
|
- tmpRoot1->AddChild(new CStatTreeItemRatio(wxTRANSLATE("Session UL:DL Ratio (Total): %s"), s_sessionUpload, s_sessionDownload), 3);
|
|
+ tmpRoot1->AddChild(new CStatTreeItemRatio(wxTRANSLATE("Session UL:DL Ratio (Total): %s"), s_sessionUpload, s_sessionDownload), 4);
|
|
|
|
tmpRoot1 = s_statTree->AddChild(new CStatTreeItemBase(wxTRANSLATE("Connection")));
|
|
tmpRoot1->AddChild(new CStatTreeItemAverageSpeed(wxTRANSLATE("Average Downloadrate (Session): %s"), s_sessionDownload, s_uptime));
|
|
@@ -784,9 +884,9 @@ uint32 GetSoftID(uint8 SoftType)
|
|
}
|
|
}
|
|
|
|
-void CStatistics::AddDownloadFromSoft(uint8 SoftType, uint32 bytes)
|
|
+void CStatistics::AddDownloadFromSoft(uint8 SoftType, uint32 bytes, uint32 adubytes, uint32 adufiberbytes)
|
|
{
|
|
- AddReceivedBytes(bytes);
|
|
+ AddReceivedBytes(bytes,adubytes,adufiberbytes);
|
|
|
|
uint32 id = GetSoftID(SoftType);
|
|
|
|
diff -urdpN ../aMule-2.1.3-orig/src/StatisticsDlg.cpp ./src/StatisticsDlg.cpp
|
|
--- ../aMule-2.1.3-orig/src/StatisticsDlg.cpp 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/StatisticsDlg.cpp 2006-06-12 18:30:14.000000000 +0200
|
|
@@ -42,7 +42,7 @@
|
|
|
|
COLORREF CStatisticsDlg::getColors(unsigned num)
|
|
{
|
|
- wxCHECK(num < 15, RGB(0, 0, 0));
|
|
+ wxCHECK(num < 16, RGB(0, 0, 0));
|
|
|
|
return acrStat[num];
|
|
}
|
|
diff -urdpN ../aMule-2.1.3-orig/src/StatisticsDlg.h ./src/StatisticsDlg.h
|
|
--- ../aMule-2.1.3-orig/src/StatisticsDlg.h 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/StatisticsDlg.h 2006-06-12 18:30:14.000000000 +0200
|
|
@@ -65,7 +65,7 @@ public:
|
|
COScopeCtrl* GetConnScope() { return pscopeConn; };
|
|
|
|
protected:
|
|
- static COLORREF acrStat[15];
|
|
+ static COLORREF acrStat[16];
|
|
COScopeCtrl* pscopeDL,*pscopeUL,*pscopeConn;
|
|
wxTreeCtrl* stattree;
|
|
CStatistics* m_stats;
|
|
diff -urdpN ../aMule-2.1.3-orig/src/Statistics.h ./src/Statistics.h
|
|
--- ../aMule-2.1.3-orig/src/Statistics.h 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/Statistics.h 2006-06-12 18:30:14.000000000 +0200
|
|
@@ -50,7 +50,7 @@ typedef struct UpdateInfo {
|
|
float downloads[3];
|
|
float uploads[3];
|
|
float connections[3];
|
|
- float kadnodes[3];
|
|
+ float kadnodes[4];
|
|
} GraphUpdateInfo;
|
|
|
|
typedef struct HistoryRecord {
|
|
@@ -63,6 +63,7 @@ typedef struct HistoryRecord {
|
|
uint16 cntUploads;
|
|
uint16 cntConnections;
|
|
uint16 kadNodesCur;
|
|
+ uint16 kadActiveNodesCur;
|
|
uint64 kadNodesTotal;
|
|
} HR;
|
|
|
|
@@ -286,6 +287,17 @@ class CStatistics {
|
|
static uint32 GetDownloadingSources() { return (*s_activeDownloads); }
|
|
static double GetDownloadRate() { return s_downloadrate->GetRate(); }
|
|
|
|
+ // Adu
|
|
+ static uint64 GetAduSessionSentBytes() { return (*s_sessionAduUpload); }
|
|
+ static uint64 GetAduFSessionSentBytes() { return (*s_sessionAduFUpload); }
|
|
+ static uint64 GetAduDSessionSentBytes() { return (*s_sessionAduDUpload); }
|
|
+ static uint64 GetAduSessionReceivedBytes() { return (*s_sessionAduDownload); }
|
|
+ static uint64 GetAduFSessionReceivedBytes() { return (*s_sessionAduFDownload); }
|
|
+ static uint64 GetAduDSessionReceivedBytes() { return (*s_sessionAduDDownload); }
|
|
+ static uint64 GetExtSessionSentBytes() { return (*s_sessionExtUpload); }
|
|
+ static uint64 GetExtSessionReceivedBytes() { return (*s_sessionExtDownload); }
|
|
+ // Fine
|
|
+
|
|
// Connection
|
|
static CStatTreeItemTimer* GetServerConnectTimer() { return s_sinceConnected; }
|
|
static void AddReconnect() { ++(*s_reconnects); }
|
|
@@ -324,12 +336,14 @@ class CStatistics {
|
|
// Kad nodes
|
|
static void AddKadNode() { ++s_kadNodesCur; }
|
|
static void RemoveKadNode() { --s_kadNodesCur; }
|
|
+ static void AddActiveKadNode() { ++s_kadActiveNodesCur; }
|
|
+ static void RemoveActiveKadNode() { --s_kadActiveNodesCur; }
|
|
|
|
|
|
// Other
|
|
static void CalculateRates();
|
|
|
|
- static void AddReceivedBytes(uint32 bytes)
|
|
+ static void AddReceivedBytes(uint32 bytes, uint32 adubytes, uint32 adufiberbytes)
|
|
{
|
|
if (!s_sinceFirstTransfer->IsRunning()) {
|
|
s_sinceFirstTransfer->StartTimer();
|
|
@@ -337,9 +351,21 @@ class CStatistics {
|
|
|
|
(*s_sessionDownload) += bytes;
|
|
(*s_downloadrate) += bytes;
|
|
+
|
|
+// Mod adu
|
|
+ (*s_sessionAduDownload) += adubytes;
|
|
+ (*s_sessionExtDownload) += bytes-adubytes;
|
|
+
|
|
+ (*s_sessionAduFDownload) += adufiberbytes;
|
|
+ (*s_sessionAduDDownload) += adubytes-adufiberbytes;
|
|
+
|
|
+ (*s_totAduDownload) += adubytes;
|
|
+ (*s_totExtDownload) += bytes-adubytes;
|
|
+ (*s_totDownload) += bytes;
|
|
+// Fine
|
|
}
|
|
|
|
- static void AddSentBytes(uint32 bytes)
|
|
+ static void AddSentBytes(uint32 bytes, uint32 adubytes, uint32 adufiberbytes)
|
|
{
|
|
if (!s_sinceFirstTransfer->IsRunning()) {
|
|
s_sinceFirstTransfer->StartTimer();
|
|
@@ -347,9 +373,21 @@ class CStatistics {
|
|
|
|
(*s_sessionUpload) += bytes;
|
|
(*s_uploadrate) += bytes;
|
|
+
|
|
+// Mod adu
|
|
+ (*s_sessionAduUpload) += adubytes;
|
|
+ (*s_sessionExtUpload) += bytes-adubytes;
|
|
+
|
|
+ (*s_sessionAduFUpload) += adufiberbytes;
|
|
+ (*s_sessionAduDUpload) += adubytes-adufiberbytes;
|
|
+
|
|
+ (*s_totAduUpload) += adubytes;
|
|
+ (*s_totExtUpload) += bytes-adubytes;
|
|
+ (*s_totUpload) += bytes;
|
|
+// Fine
|
|
}
|
|
|
|
- static void AddDownloadFromSoft(uint8 SoftType, uint32 bytes);
|
|
+ static void AddDownloadFromSoft(uint8 SoftType, uint32 bytes, uint32 adubytes, uint32 adufiberbytes);
|
|
static void AddUploadToSoft(uint8 SoftType, uint32 bytes);
|
|
|
|
// EC
|
|
@@ -406,6 +444,26 @@ class CStatistics {
|
|
// Uptime
|
|
static CStatTreeItemTimer* s_uptime;
|
|
|
|
+ // Adu mod
|
|
+ static CStatTreeItemUlDlCounter* s_sessionAduUpload;
|
|
+ static CStatTreeItemUlDlCounter* s_sessionAduFUpload;
|
|
+ static CStatTreeItemUlDlCounter* s_sessionAduDUpload;
|
|
+ static CStatTreeItemUlDlCounter* s_sessionAduDownload;
|
|
+ static CStatTreeItemUlDlCounter* s_sessionAduFDownload;
|
|
+ static CStatTreeItemUlDlCounter* s_sessionAduDDownload;
|
|
+ static CStatTreeItemUlDlCounter* s_sessionExtUpload;
|
|
+ static CStatTreeItemUlDlCounter* s_sessionExtDownload;
|
|
+ static CStatTreeItemCounter* s_totAduUpload;
|
|
+ static CStatTreeItemCounter* s_totAduFUpload;
|
|
+ static CStatTreeItemCounter* s_totAduDUpload;
|
|
+ static CStatTreeItemCounter* s_totAduDownload;
|
|
+ static CStatTreeItemCounter* s_totAduFDownload;
|
|
+ static CStatTreeItemCounter* s_totAduDDownload;
|
|
+ static CStatTreeItemCounter* s_totExtUpload;
|
|
+ static CStatTreeItemCounter* s_totExtDownload;
|
|
+ static CStatTreeItemCounter* s_totUpload;
|
|
+ static CStatTreeItemCounter* s_totDownload;
|
|
+
|
|
// Upload
|
|
static CStatTreeItemUlDlCounter* s_sessionUpload;
|
|
static CStatTreeItemPacketTotals* s_totalUpOverhead;
|
|
@@ -467,6 +525,7 @@ class CStatistics {
|
|
// Kad nodes
|
|
static uint64 s_kadNodesTotal;
|
|
static uint16 s_kadNodesCur;
|
|
+ static uint16 s_kadActiveNodesCur;
|
|
};
|
|
|
|
#else /* EC_REMOTE == CLIENT_GUI */
|
|
@@ -509,6 +568,10 @@ class CStatistics {
|
|
|
|
static void UpdateStats(const CECPacket* stats);
|
|
|
|
+ static uint64 GetAduSessionSentBytes() { return 0; } // TODO
|
|
+ static uint64 GetAduSessionReceivedBytes() { return 0; } // TODO
|
|
+
|
|
+
|
|
void UpdateStatsTree();
|
|
|
|
void SetAverageMinutes(uint8 minutes) { average_minutes = minutes; }
|
|
@@ -526,6 +589,7 @@ class CStatistics {
|
|
CRemoteConnect* m_conn;
|
|
};
|
|
|
|
+
|
|
#endif /* !EC_REMOTE / EC_REMOTE */
|
|
|
|
|
|
diff -urdpN ../aMule-2.1.3-orig/src/TransferWnd.cpp ./src/TransferWnd.cpp
|
|
--- ../aMule-2.1.3-orig/src/TransferWnd.cpp 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/TransferWnd.cpp 2006-06-12 18:30:14.000000000 +0200
|
|
@@ -103,9 +103,8 @@ CTransferWnd::CTransferWnd( wxWindow* pP
|
|
m_menu = NULL;
|
|
m_splitter = 0;
|
|
|
|
-
|
|
- wxConfigBase *config = wxConfigBase::Get();
|
|
-
|
|
+ wxConfigBase *config = theApp.acfg;
|
|
+
|
|
// Check if the clientlist is hidden
|
|
bool show = true;
|
|
config->Read( wxT("/GUI/TransferWnd/ShowClientList"), &show, true );
|
|
@@ -123,8 +122,15 @@ CTransferWnd::CTransferWnd( wxWindow* pP
|
|
|
|
CTransferWnd::~CTransferWnd()
|
|
{
|
|
- wxConfigBase *config = wxConfigBase::Get();
|
|
+#ifndef CLIENT_GUI
|
|
+ wxConfigBase *config = theApp.acfg;
|
|
+#else
|
|
+ wxConfigBase *config = NULL;
|
|
+#endif
|
|
|
|
+ if (!config)
|
|
+ return;
|
|
+
|
|
if ( clientlistctrl->GetListView() == vtNone ) {
|
|
// Save the splitter position
|
|
config->Write( wxT("/GUI/TransferWnd/Splitter"), m_splitter );
|
|
@@ -298,11 +304,21 @@ void CTransferWnd::OnSetDefaultCat( wxCo
|
|
|
|
downloadlistctrl->SortList();
|
|
}
|
|
-
|
|
+#if defined(AMULE_DAEMON) || defined(CLIENT_GUI)
|
|
+#else
|
|
+#include <UploadQueue.h>
|
|
+#endif
|
|
|
|
void CTransferWnd::ShowQueueCount(uint32 number)
|
|
{
|
|
+#if defined(AMULE_DAEMON) || defined(CLIENT_GUI)
|
|
wxString str = wxString::Format( wxT("%u (%u %s)"), number, theStats::GetBannedCount(), _("Banned") );
|
|
+ #warning "SP: **NON** Mostro il numero di client adu in coda"
|
|
+#else
|
|
+ #warning "SP: Mostro il numero di client adu in coda"
|
|
+ wxString str = wxString::Format( wxT("%u (%u %s, %d AdunanzA)"), number, theStats::GetBannedCount(), _("Banned"), theApp.uploadqueue->GetAdunanzAUserCount() );
|
|
+#endif
|
|
+
|
|
wxStaticText* label = CastChild( ID_CLIENTCOUNT, wxStaticText );
|
|
|
|
label->SetLabel( str );
|
|
diff -urdpN ../aMule-2.1.3-orig/src/updownclient.h ./src/updownclient.h
|
|
--- ../aMule-2.1.3-orig/src/updownclient.h 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/updownclient.h 2006-06-12 18:30:14.000000000 +0200
|
|
@@ -35,6 +35,7 @@
|
|
#include "MD4Hash.h"
|
|
#include <common/StringFunctions.h>
|
|
#include "NetworkFunctions.h"
|
|
+#include "AdunanzA.h"
|
|
|
|
#include <map>
|
|
#include <vector>
|
|
@@ -385,6 +386,8 @@ public:
|
|
bool DeleteFileRequest(CPartFile* file);
|
|
void DeleteAllFileRequests();
|
|
void SendBlockRequests();
|
|
+ void CreateBlockRequests(int iMaxBlocks);
|
|
+
|
|
void ProcessBlockPacket(const char* packet, uint32 size, bool packed = false);
|
|
|
|
#ifndef CLIENT_GUI
|
|
@@ -411,7 +414,7 @@ public:
|
|
uint8 GetFileRating() const { return m_iRating; }
|
|
|
|
const wxString& GetSoftStr() const { return m_clientSoftString; }
|
|
- const wxString& GetSoftVerStr() const { return m_clientVerString; }
|
|
+ const wxString& GetSoftVerStr() const { return m_clientVersionString; }
|
|
|
|
uint16 GetKadPort() const { return m_nKadPort; }
|
|
void SetKadPort(uint16 nPort) { m_nKadPort = nPort; }
|
|
@@ -488,8 +491,12 @@ public:
|
|
*
|
|
* @return True if the socket exists and the packet was sent, false otherwise.
|
|
*/
|
|
+ // Stefano Picerno: Aggiunto il parametro actualPayloadSize
|
|
+#if 0
|
|
bool SendPacket(CPacket* packet, bool delpacket = true, bool controlpacket = true);
|
|
-
|
|
+#endif
|
|
+ bool SendPacket(CPacket* packet, bool delpacket = true, bool controlpacket = true, uint32 actualPayloadSize = 0 );
|
|
+ // Fine
|
|
/**
|
|
* Safe function for setting the download limit of the socket.
|
|
*
|
|
@@ -790,6 +797,32 @@ private:
|
|
uint8 m_byKadVersion;
|
|
uint32 m_dwLastBuddyPingPongTime;
|
|
|
|
+ // Modifica AdunanzA
|
|
+ //
|
|
+ // Emanem 6/4/2004 - 13:25
|
|
+ // Metodi per gestire la variabile "isAduSoftware"
|
|
+public :
|
|
+ uint32 GetIsAduSoftware(void) const {return isAduSoftware;}
|
|
+ void SetIsAduSoftware(uint32 in = 0){isAduSoftware = in;}
|
|
+
|
|
+ bool IsOldAdu(uint32 oldver = ADU_VER_CODE(ADU_VER_MAJ,ADU_VER_MIN,0)) const {return isAduSoftware && aduver < oldver;}
|
|
+ // Metodo che informa se il client e' sia Adu
|
|
+ // che nella rete FastWeb Italiana. Dichiarato qui ma
|
|
+ // definito nel file AdunanzA.cpp
|
|
+ uint32 GetClientAduType(void) const;
|
|
+ void SetClientFWCity(void);
|
|
+ const wxString& GetClientFWCity(void) const {return m_FWCity;}
|
|
+ bool HasFastwebIP(void) const { return m_dwUserIP && AduIsFastWebIP(m_dwUserIP); }
|
|
+
|
|
+ bool IsAduClient() const;
|
|
+ bool IsAduFiber() const;
|
|
+ bool sentadu;
|
|
+private:
|
|
+ uint32 aduver;
|
|
+ uint32 isAduSoftware;
|
|
+ wxString m_FWCity;
|
|
+ // fine mod Adu
|
|
+
|
|
//! This keeps track of aggressive requests for files.
|
|
uint16 m_Aggressiveness;
|
|
//! This tracks the time of the last time since a file was requested
|
|
diff -urdpN ../aMule-2.1.3-orig/src/UploadBandwidthThrottler.cpp ./src/UploadBandwidthThrottler.cpp
|
|
--- ../aMule-2.1.3-orig/src/UploadBandwidthThrottler.cpp 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/UploadBandwidthThrottler.cpp 2006-06-12 18:30:14.000000000 +0200
|
|
@@ -36,6 +36,7 @@
|
|
|
|
#include <algorithm>
|
|
#include <limits>
|
|
+#include <cmath>
|
|
|
|
#ifdef _UI64_MAX
|
|
#undef _UI64_MAX
|
|
@@ -314,8 +315,19 @@ void* UploadBandwidthThrottler::Entry()
|
|
sint64 realBytesToSpend = 0;
|
|
uint32 allowedDataRate = 0;
|
|
uint32 rememberedSlotCounter = 0;
|
|
- uint32 lastTickReachedBandwidth = ::GetTickCountFullRes();
|
|
- uint32 extraSleepTime = TIME_BETWEEN_UPLOAD_LOOPS;
|
|
+ uint32 lastTickReachedBandwidth = lastLoopTick;
|
|
+ uint32 extraSleepTime = 0;
|
|
+ uint32 nextPrint = 0; // needed for debugging
|
|
+ uint32 lastSpent = lastLoopTick;
|
|
+ uint64 spentBytes = 0;
|
|
+ uint64 spentOverhead = 0;
|
|
+ sint64 estSendBytesT = 0;
|
|
+ uint32 timeSinceLastSpent = 0;
|
|
+ uint32 nextEstSBT = 0;
|
|
+
|
|
+ const uint32 maxScale = 1200 * 1024, minScale = 6 * 1024, minFragments = 2, maxFragments = 128;
|
|
+ const float factor = (float)(maxFragments - minFragments) / 2 / (maxScale - minScale);
|
|
+ const uint16 avgPeriod = 10;
|
|
|
|
while (m_doRun) {
|
|
uint32 timeSinceLastLoop = ::GetTickCountFullRes() - lastLoopTick;
|
|
@@ -330,11 +342,15 @@ void* UploadBandwidthThrottler::Entry()
|
|
allowedDataRate = (uint32)(-1);
|
|
}
|
|
} else {
|
|
- allowedDataRate = thePrefs::GetMaxUpload() * 1024;
|
|
+ allowedDataRate = (uint32)thePrefs::GetMaxUpload() * 1024;
|
|
}
|
|
|
|
uint32 minFragSize = 1300;
|
|
- uint32 doubleSendSize = minFragSize*2; // send two packages at a time so they can share an ACK
|
|
+
|
|
+ // Linearly scaling fragments number
|
|
+ uint16 nFragments = (uint16)( factor * ( ( allowedDataRate < maxScale ? allowedDataRate : maxScale ) - minScale ) + minFragments/2 + .5 ) * 2;
|
|
+
|
|
+ uint32 doubleSendSize = minFragSize*nFragments;
|
|
if (allowedDataRate < 6*1024) {
|
|
minFragSize = 536;
|
|
doubleSendSize = minFragSize; // don't send two packages at a time at very low speeds to give them a smoother load
|
|
@@ -350,7 +366,7 @@ void* UploadBandwidthThrottler::Entry()
|
|
sleepTime = std::max((uint32)ceil((double)(-realBytesToSpend + 1000)/allowedDataRate), TIME_BETWEEN_UPLOAD_LOOPS);
|
|
}
|
|
|
|
- if(timeSinceLastLoop < sleepTime) {
|
|
+ if(timeSinceLastLoop < sleepTime && sleepTime) {
|
|
Sleep(sleepTime-timeSinceLastLoop);
|
|
}
|
|
|
|
@@ -373,9 +389,39 @@ void* UploadBandwidthThrottler::Entry()
|
|
lastLoopTick = thisLoopTick - timeSinceLastLoop;
|
|
}
|
|
|
|
+
|
|
realBytesToSpend += allowedDataRate*timeSinceLastLoop;
|
|
|
|
+ // keep in mind that we don't count the IP overhead (~ +3% [~ 1500/1460])
|
|
+ // and we're prone to understimate using an EWMA (~ +2% [simulation])
|
|
+ if ((uint32)(estSendBytesT/avgPeriod*1.05f) > allowedDataRate)
|
|
+ realBytesToSpend = 0;
|
|
+
|
|
bytesToSpend = realBytesToSpend/1000;
|
|
+
|
|
+#if ADU_BETA_MAJ > 0
|
|
+ // debug message
|
|
+ if (nextPrint < time(NULL)) {
|
|
+ AddDebugLogLineM(false, logGeneral, wxString::Format(wxT(
|
|
+ "dLL: %u dLS: %u TS: %lld realTS: %lld SB: %lld DR: %u MaxUpload: %u dSS: %u eSBT: %lld eSR: %lld nFrag: %u ST: %u"),
|
|
+ timeSinceLastLoop,
|
|
+ timeSinceLastSpent,
|
|
+ bytesToSpend,
|
|
+ realBytesToSpend,
|
|
+ spentBytes,
|
|
+ allowedDataRate,
|
|
+ thePrefs::GetMaxUpload(),
|
|
+ doubleSendSize,
|
|
+ estSendBytesT,
|
|
+ estSendBytesT/10,
|
|
+ nFragments,
|
|
+ sleepTime
|
|
+ ));
|
|
+
|
|
+ nextPrint=time(NULL)+2;
|
|
+ }
|
|
+#endif
|
|
+
|
|
} else {
|
|
realBytesToSpend = _I64_MAX;
|
|
bytesToSpend = _I32_MAX;
|
|
@@ -386,10 +432,10 @@ void* UploadBandwidthThrottler::Entry()
|
|
}
|
|
|
|
lastLoopTick = thisLoopTick;
|
|
+ spentBytes = 0;
|
|
+ spentOverhead = 0;
|
|
|
|
if(bytesToSpend >= 1) {
|
|
- uint64 spentBytes = 0;
|
|
- uint64 spentOverhead = 0;
|
|
|
|
wxMutexLocker sendLock(m_sendLocker);
|
|
|
|
@@ -485,9 +531,12 @@ void* UploadBandwidthThrottler::Entry()
|
|
rememberedSlotCounter++;
|
|
}
|
|
|
|
+ // Old behaviour:
|
|
// Any bandwidth that hasn't been used yet are used first to last.
|
|
+ // New behaviour:
|
|
+ // The old one wasn't fair, in this way we share more the bandwidth across sockets in a more fair way
|
|
for(uint32 slotCounter = 0; slotCounter < m_StandardOrder_list.size() && bytesToSpend > 0 && spentBytes < (uint64)bytesToSpend; slotCounter++) {
|
|
- ThrottledFileSocket* socket = m_StandardOrder_list[ slotCounter ];
|
|
+ ThrottledFileSocket* socket = m_StandardOrder_list[ ( slotCounter + rememberedSlotCounter ) % m_StandardOrder_list.size() ];
|
|
|
|
if(socket != NULL) {
|
|
uint32 bytesToSpendTemp = bytesToSpend-spentBytes;
|
|
@@ -528,11 +577,34 @@ void* UploadBandwidthThrottler::Entry()
|
|
m_SentBytesSinceLastCall += spentBytes;
|
|
m_SentBytesSinceLastCallOverhead += spentOverhead;
|
|
|
|
- if ((spentBytes == 0) and (spentOverhead == 0)) {
|
|
- extraSleepTime = std::min<uint32>(extraSleepTime * 5, 1000); // 1s at most
|
|
- } else {
|
|
- extraSleepTime = TIME_BETWEEN_UPLOAD_LOOPS;
|
|
- }
|
|
+ // This one is another important change
|
|
+ // if you send the thread to sleep you will never get good performances
|
|
+ // the cpu is already freed by the system calls (like read and write on the sockets)
|
|
+ // When implemented this you will also get even less cpu usage by the throttling thread
|
|
+ // This is happening because switching between sleep and run a lot of times
|
|
+ // could have high impact on the scheds and paging optimizations of the so.
|
|
+ extraSleepTime = 0;
|
|
+
|
|
+ } else {
|
|
+ if (extraSleepTime == 0)
|
|
+ extraSleepTime=1;
|
|
+
|
|
+ extraSleepTime = std::min<uint32>(extraSleepTime * 5, 1000); // 1s at most
|
|
+ }
|
|
+
|
|
+ estSendBytesT += spentBytes + spentOverhead;
|
|
+
|
|
+ if (nextEstSBT < thisLoopTick) {
|
|
+
|
|
+ timeSinceLastSpent = thisLoopTick - lastSpent;
|
|
+ lastSpent = thisLoopTick;
|
|
+
|
|
+
|
|
+ sint64 estSendBytesTOld = estSendBytesT;
|
|
+ estSendBytesT -= (sint64)(estSendBytesT*(float)timeSinceLastSpent/(1000*avgPeriod));
|
|
+
|
|
+ //printf("eSBT: %lld eSBTO: %lld tSLL: %u Rate: %.2f\n", estSendBytesT, estSendBytesTOld, timeSinceLastSpent, (float)estSendBytesT/(1024*avgPeriod));
|
|
+ nextEstSBT = thisLoopTick + 250;
|
|
}
|
|
}
|
|
|
|
diff -urdpN ../aMule-2.1.3-orig/src/UploadClient.cpp ./src/UploadClient.cpp
|
|
--- ../aMule-2.1.3-orig/src/UploadClient.cpp 2006-02-11 02:43:26.000000000 +0100
|
|
+++ ./src/UploadClient.cpp 2006-06-12 18:30:14.000000000 +0200
|
|
@@ -51,6 +51,12 @@
|
|
#include "Logger.h"
|
|
#include <common/Format.h>
|
|
|
|
+#include "AdunanzA.h"
|
|
+
|
|
+#ifndef AMULE_DAEMON
|
|
+ #include "TransferWnd.h" // Needed for CTransferWnd
|
|
+#endif
|
|
+
|
|
// members of CUpDownClient
|
|
// which are mainly used for uploading functions
|
|
|
|
@@ -118,7 +124,7 @@ uint32 CUpDownClient::GetScore(bool sysv
|
|
filepriority = 2500;
|
|
break; //end
|
|
case PR_VERYHIGH:
|
|
- filepriority = 18;
|
|
+ filepriority = 70;
|
|
break;
|
|
case PR_HIGH:
|
|
filepriority = 9;
|
|
@@ -161,6 +167,12 @@ uint32 CUpDownClient::GetScore(bool sysv
|
|
if( (IsEmuleClient() || GetClientSoft() < 10) && m_byEmuleVersion <= 0x19) {
|
|
fBaseValue *= 0.5f;
|
|
}
|
|
+
|
|
+#if 0
|
|
+ if ( IsOldAdu() )
|
|
+ fBaseValue *= 0.5f;
|
|
+#endif
|
|
+
|
|
return (uint32)fBaseValue;
|
|
}
|
|
#endif
|
|
@@ -826,8 +838,15 @@ void CUpDownClient::CheckForAggressive()
|
|
return;
|
|
}
|
|
|
|
+ // Mod Adunanza
|
|
+#if 0
|
|
// Is this an aggressive request?
|
|
if ( ( cur_time - m_LastFileRequest ) < MIN_REQUESTTIME ) {
|
|
+#endif
|
|
+
|
|
+ // Is this an aggressive request? ( And NOT an Adu3 )
|
|
+ if ( ( ( cur_time - m_LastFileRequest ) < MIN_REQUESTTIME ) && ( !IsAduClient() )) {
|
|
+ // Fine Mod Adunanza
|
|
m_Aggressiveness += 3;
|
|
|
|
// Is the client EVIL?
|
|
diff -urdpN ../aMule-2.1.3-orig/src/UploadQueue.cpp ./src/UploadQueue.cpp
|
|
--- ../aMule-2.1.3-orig/src/UploadQueue.cpp 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/UploadQueue.cpp 2006-06-12 18:30:14.000000000 +0200
|
|
@@ -59,6 +59,9 @@
|
|
#include <common/Format.h>
|
|
#include "UploadBandwidthThrottler.h"
|
|
|
|
+// Mod adu
|
|
+
|
|
+
|
|
#include <numeric>
|
|
|
|
//TODO rewrite the whole networkcode, use overlapped sockets
|
|
@@ -68,19 +71,78 @@ CUploadQueue::CUploadQueue()
|
|
m_nLastStartUpload = 0;
|
|
|
|
lastupslotHighID = true;
|
|
+ // mod Adu
|
|
+ // Emanem
|
|
+ // Inizializzo il numero di clients Adu
|
|
+ m_AduClientsNum = 0;
|
|
+ // fine mod Adu
|
|
}
|
|
|
|
|
|
-void CUploadQueue::AddUpNextClient(CUpDownClient* directadd)
|
|
+void CUploadQueue::AddUpNextClient(CUpDownClient* directadd, uint32 tC)
|
|
{
|
|
POSITION toadd = 0;
|
|
POSITION toaddlow = 0;
|
|
sint64 bestscore = -1;
|
|
sint64 bestlowscore = -1;
|
|
|
|
+ // Mod Adu
|
|
+ // lupz
|
|
+ // capisco cosa voglio
|
|
+ uint32 typeClient = AduNextClient();
|
|
+ //AddDebugLogLineM(false, logClient, CFormat(wxT("voglio: %u")) % typeClient);
|
|
+ if (typeClient == ADUNANZA_NONE)
|
|
+ return;
|
|
+ // Fine mod Adu
|
|
+
|
|
+ // Mod Adu
|
|
+ // Emanem
|
|
+ // Forziamo che il rapporto 1:1 sia rispettato
|
|
+ //if (thePrefs.m_AduForceExt11 &&
|
|
+ // ADUNANZA_FASTWEB == AduGetTypeBand(0) &&
|
|
+ // 0 == m_AduClientsNum)
|
|
+
|
|
+ // lupz: aggiorno alla nuova logica
|
|
+
|
|
+ // lupz: sistemo anche il criterio
|
|
+ // il vecchio criterio causava frequenti coda piena
|
|
+
|
|
+ if (directadd) {
|
|
+ switch(typeClient) {
|
|
+ case ADUNANZA_FASTWEB:
|
|
+ if (!directadd->IsAduClient())
|
|
+ return;
|
|
+ break;
|
|
+ case ADUNANZA_EXTERN:
|
|
+ if (directadd->IsAduClient())
|
|
+ return;
|
|
+ break;
|
|
+ }
|
|
+ } else if (!directadd) {
|
|
+ switch(typeClient) {
|
|
+ case ADUNANZA_FASTWEB:
|
|
+ if (!m_AduClientsNum)
|
|
+ return;
|
|
+ break;
|
|
+ case ADUNANZA_EXTERN:
|
|
+ if (m_AduClientsNum >= waitinglist.GetCount())
|
|
+ return;
|
|
+ break;
|
|
+ }
|
|
+ }
|
|
+
|
|
+ // fine mod Adu
|
|
+
|
|
CUpDownClient* newclient;
|
|
// select next client or use given client
|
|
if (!directadd) {
|
|
+ // mod Adu
|
|
+ // Emanem
|
|
+ // Risistemo il valore temporaneo del numero di clients
|
|
+ // AdunanzA
|
|
+ uint32 _tmp_m_AduClientsNum = 0;
|
|
+ // fine mod Adu
|
|
+
|
|
// Track if we purged any clients from the queue, as to only send one notify in total
|
|
bool purged = false;
|
|
|
|
@@ -109,19 +171,64 @@ void CUploadQueue::AddUpNextClient(CUpDo
|
|
continue;
|
|
}
|
|
// finished clearing
|
|
-
|
|
- sint64 cur_score = cur_client->GetScore(true);
|
|
- if (cur_score > bestscore) {
|
|
- bestscore = cur_score;
|
|
- toadd = pos2;
|
|
- } else {
|
|
- cur_score = cur_client->GetScore(false);
|
|
- if ((cur_score > bestlowscore) && !cur_client->m_bAddNextConnect){
|
|
- bestlowscore = cur_score;
|
|
- toaddlow = pos2;
|
|
+
|
|
+ // Codice AdunanzA
|
|
+ // Emanem 18:15 4/4/2004
|
|
+ //
|
|
+ // In questo caso, in base al tipo di typeClient
|
|
+ // in input si sceglie su che clients fare la "classifica"
|
|
+ /// di priorita'
|
|
+ uint32 cur_score = cur_client->GetScore(true);
|
|
+
|
|
+ // valore temporaneo per sapere se un client e' AdunanzA
|
|
+ // o no
|
|
+ uint32 aduResult = cur_client->GetClientAduType();
|
|
+ // nel caso incremento il contatore temporaneo
|
|
+ if (cur_client->IsAduClient())
|
|
+ _tmp_m_AduClientsNum++;
|
|
+ // Se il tipo di client non e' disponibile
|
|
+ // allora prendo il primo che mi capita
|
|
+ if (typeClient == ADUNANZA_FASTWEB)
|
|
+ {
|
|
+ if (!m_AduClientsNum) typeClient = ADUNANZA_ANY;
|
|
+ }
|
|
+ if (typeClient == ADUNANZA_EXTERN)
|
|
+ {
|
|
+ if (m_AduClientsNum >= waitinglist.GetCount()) typeClient = ADUNANZA_ANY;
|
|
+ }
|
|
+
|
|
+ bool doit = false;
|
|
+ switch(typeClient)
|
|
+ {
|
|
+ case ADUNANZA_EXTERN:
|
|
+ doit = cur_client->IsAduClient() == false;
|
|
+ break;
|
|
+ case ADUNANZA_FASTWEB:
|
|
+ doit = cur_client->IsAduClient() == true;
|
|
+ break;
|
|
+ default:
|
|
+ case ADUNANZA_ANY:
|
|
+ doit = true;
|
|
+ break;
|
|
+ };
|
|
+
|
|
+ if (doit) {
|
|
+ if ( cur_score > bestscore){
|
|
+ bestscore = cur_score;
|
|
+ toadd = pos2;
|
|
+ } else {
|
|
+ cur_score = cur_client->GetScore(false);
|
|
+ if ((cur_score > bestlowscore) && !cur_client->m_bAddNextConnect){
|
|
+ bestlowscore = cur_score;
|
|
+ toaddlow = pos2;
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
+ // mod Adu
|
|
+ // Emanem
|
|
+ // risistemo il numero di clients AdunanzA
|
|
+ m_AduClientsNum = _tmp_m_AduClientsNum;
|
|
|
|
// Update the count on GUI if any clients were purged
|
|
if (purged) {
|
|
@@ -173,6 +280,11 @@ void CUploadQueue::AddUpNextClient(CUpDo
|
|
|
|
theApp.uploadBandwidthThrottler->AddToStandardList(uploadinglist.GetCount(), newclient->GetSocket());
|
|
uploadinglist.AddTail(newclient);
|
|
+ // Mod Adu
|
|
+ // lupz
|
|
+ if (newclient->IsAduClient())
|
|
+ aduuploadinglist.AddTail(newclient);
|
|
+ // Fine mod Adu
|
|
theStats::AddUploadingClient();
|
|
|
|
// Statistic
|
|
@@ -186,13 +298,23 @@ void CUploadQueue::AddUpNextClient(CUpDo
|
|
|
|
void CUploadQueue::Process()
|
|
{
|
|
- if (AcceptNewClient() && waitinglist.GetCount()) {
|
|
+ if (AcceptNewClient(AduNextClient() == ADUNANZA_FASTWEB) && waitinglist.GetCount()) {
|
|
m_nLastStartUpload = ::GetTickCount();
|
|
+ // Modifica AdunanzA
|
|
+#if 0
|
|
AddUpNextClient();
|
|
+#endif
|
|
+ //
|
|
+ // Solo quando devo scegliere un client
|
|
+ // a caso scelgo uno secondo "AduGetType"
|
|
+ AddUpNextClient(NULL, AduGetTypeBand());
|
|
+ // fine mod adu
|
|
}
|
|
|
|
// The loop that feeds the upload slots with data.
|
|
POSITION pos = uploadinglist.GetHeadPosition();
|
|
+ uint64 aduSentBytes = 0, fakeSentBytes = 0, aduFiberSentBytes = 0;
|
|
+
|
|
while (pos != NULL) {
|
|
// Get the client. Note! Also updates pos as a side effect.
|
|
CUpDownClient* cur_client = uploadinglist.GetNext(pos);
|
|
@@ -203,7 +325,14 @@ void CUploadQueue::Process()
|
|
cur_client->Safe_Delete();
|
|
}
|
|
} else {
|
|
- cur_client->SendBlockData();
|
|
+ uint32 sentBytes = cur_client->SendBlockData();
|
|
+
|
|
+ if (cur_client->IsAduClient()) {
|
|
+ aduSentBytes += sentBytes;
|
|
+ if (cur_client->IsAduFiber())
|
|
+ aduFiberSentBytes += sentBytes;
|
|
+ }
|
|
+ fakeSentBytes += sentBytes;
|
|
}
|
|
}
|
|
|
|
@@ -213,12 +342,29 @@ void CUploadQueue::Process()
|
|
|
|
// Update statistics
|
|
if (sentBytes) {
|
|
- theStats::AddSentBytes(sentBytes);
|
|
+ theStats::AddSentBytes(fakeSentBytes,aduSentBytes,aduFiberSentBytes);
|
|
}
|
|
}
|
|
|
|
-bool CUploadQueue::AcceptNewClient()
|
|
+bool CUploadQueue::AcceptNewClient(bool isAduClient)
|
|
{
|
|
+
|
|
+ uint32 typeClient = AduNextClient();
|
|
+
|
|
+ switch (typeClient) {
|
|
+ case ADUNANZA_NONE:
|
|
+ return false;
|
|
+ break;
|
|
+ case ADUNANZA_FASTWEB:
|
|
+ if (!isAduClient)
|
|
+ return false;
|
|
+ break;
|
|
+ case ADUNANZA_EXTERN:
|
|
+ if (isAduClient)
|
|
+ return false;
|
|
+ break;
|
|
+ }
|
|
+
|
|
// check if we can allow a new client to start downloading from us
|
|
if (::GetTickCount() - m_nLastStartUpload < 1000 || uploadinglist.GetCount() >= MAX_UP_CLIENTS_ALLOWED) {
|
|
return false;
|
|
@@ -231,7 +377,8 @@ bool CUploadQueue::AcceptNewClient()
|
|
return true;
|
|
}
|
|
} else {
|
|
- uint16 nMaxSlots = 0;
|
|
+ uint16 nMaxSlots = AduGetMaxUploadSlots();
|
|
+#if 0
|
|
if (thePrefs::GetMaxUpload() >= 10) {
|
|
nMaxSlots = (uint16)floor((float)thePrefs::GetMaxUpload() / kBpsUpPerClient + 0.5);
|
|
// floor(x + 0.5) is a way of doing round(x) that works with gcc < 3 ...
|
|
@@ -241,6 +388,9 @@ bool CUploadQueue::AcceptNewClient()
|
|
} else {
|
|
nMaxSlots = MIN_UP_CLIENTS_ALLOWED;
|
|
}
|
|
+#endif
|
|
+
|
|
+ //AddDebugLogLineM(false, logClient, CFormat(wxT("in up: %u massimi: %u")) % (uint32)uploadinglist.GetCount() % nMaxSlots);
|
|
|
|
if ((uint32)uploadinglist.GetCount() < nMaxSlots) {
|
|
return true;
|
|
@@ -288,11 +438,21 @@ POSITION CUploadQueue::GetDownloadingCli
|
|
|
|
void CUploadQueue::AddClientToQueue(CUpDownClient* client)
|
|
{
|
|
+// Mod Adu
|
|
+// Emanem
|
|
+// Questa mod serve a supportare piu' di 50 clients se
|
|
+// connessi con un low-id
|
|
+#if 0
|
|
if (theApp.serverconnect->IsConnected() && theApp.serverconnect->IsLowID() && !theApp.serverconnect->IsLocalServer(client->GetServerIP(),client->GetServerPort()) && client->GetDownloadState() == DS_NONE && !client->IsFriend() && theStats::GetWaitingUserCount() > 50) {
|
|
- // Well, all that issues finish in the same: don't allow to add to the queue
|
|
+#endif
|
|
+ if (theApp.serverconnect->IsConnected() && theApp.serverconnect->IsLowID() && !theApp.serverconnect->IsLocalServer(client->GetServerIP(),client->GetServerPort()) && client->GetDownloadState() == DS_NONE && !client->IsFriend() && theStats::GetWaitingUserCount() > theApp.glob_prefs->GetQueueSize() ) {
|
|
+ // Well, all that issues finish in the same: don't allow to add to the queue
|
|
return;
|
|
}
|
|
|
|
+ // fine mod Adu
|
|
+
|
|
+
|
|
if ( client->IsBanned() ) {
|
|
return;
|
|
}
|
|
@@ -309,7 +469,13 @@ void CUploadQueue::AddClientToQueue(CUpD
|
|
CUpDownClient* cur_client = *it;
|
|
|
|
if ( cur_client == client ) {
|
|
+ // Stefano Picerno: aggiunto && (uploadinglist.GetCount() < AduGetMaxUploadSlots())
|
|
+#if 0
|
|
if ( client->m_bAddNextConnect && ( ( uploadinglist.GetCount() < thePrefs::GetMaxUpload() ) || ( thePrefs::GetMaxUpload() == UNLIMITED ) ) ) {
|
|
+#endif
|
|
+ //AddDebugLogLineM(false, logClient, CFormat(wxT("in up: %u massimi: %u")) % (uint32)uploadinglist.GetCount() % AduGetMaxUploadSlots());
|
|
+
|
|
+ if ( client->m_bAddNextConnect && ( ( uploadinglist.GetCount() < thePrefs::GetMaxUpload() ) || ( thePrefs::GetMaxUpload() == UNLIMITED ) ) && (uploadinglist.GetCount() < AduGetMaxUploadSlots()) ) {
|
|
if (lastupslotHighID) {
|
|
client->m_bAddNextConnect = false;
|
|
RemoveFromWaitingQueue(client, true);
|
|
@@ -378,6 +544,9 @@ void CUploadQueue::AddClientToQueue(CUpD
|
|
}
|
|
|
|
// TODO find better ways to cap the list
|
|
+
|
|
+ //AddDebugLogLineM(false, logClient, CFormat(wxT("in coda: %u massimi: %u")) % (uint32)waitinglist.GetCount() % thePrefs::GetQueueSize());
|
|
+
|
|
if ( (uint32)waitinglist.GetCount() >= (thePrefs::GetQueueSize())) {
|
|
return;
|
|
}
|
|
@@ -390,7 +559,7 @@ void CUploadQueue::AddClientToQueue(CUpD
|
|
return;
|
|
}
|
|
|
|
- if (waitinglist.IsEmpty() && AcceptNewClient()) {
|
|
+ if (waitinglist.IsEmpty() && AcceptNewClient(client->IsAduClient())) {
|
|
AddUpNextClient(client);
|
|
m_nLastStartUpload = ::GetTickCount();
|
|
} else {
|
|
@@ -398,6 +567,12 @@ void CUploadQueue::AddClientToQueue(CUpD
|
|
theStats::AddWaitingClient();
|
|
client->ClearWaitStartTime();
|
|
client->ClearAskedCount();
|
|
+ // mod Adu
|
|
+ // Emanem
|
|
+ // se un client e' Adu incremento il conteggio
|
|
+ if (client->IsAduClient())
|
|
+ m_AduClientsNum++;
|
|
+ // fine mod Adu
|
|
client->SetUploadState(US_ONUPLOADQUEUE);
|
|
client->SendRankingInfo();
|
|
Notify_QlistAddClient(client);
|
|
@@ -414,6 +589,12 @@ bool CUploadQueue::RemoveFromUploadQueue
|
|
Notify_UploadCtrlRemoveClient(client);
|
|
}
|
|
uploadinglist.RemoveAt(pos);
|
|
+ // Mod Adu
|
|
+ // lupz
|
|
+ POSITION adupos=aduuploadinglist.Find(client);
|
|
+ if (adupos)
|
|
+ aduuploadinglist.RemoveAt(adupos);
|
|
+ // Fine mod Adu
|
|
theStats::RemoveUploadingClient();
|
|
if( client->GetTransferredUp() ) {
|
|
theStats::AddSuccessfulUpload();
|
|
@@ -430,25 +611,91 @@ bool CUploadQueue::RemoveFromUploadQueue
|
|
|
|
bool CUploadQueue::CheckForTimeOver(CUpDownClient* client)
|
|
{
|
|
- if (thePrefs::TransferFullChunks()) {
|
|
- if( client->GetUpStartTimeDelay() > 3600000 ) { // Try to keep the clients from downloading forever.
|
|
+ // Mod Adu
|
|
+ // Emanem
|
|
+ // Se il client e' AdunanzA lo si lascia connesso
|
|
+ // al max per 1 ora. Se e' esterno al max per
|
|
+ // 10 minuti.
|
|
+ if ( client && client->IsAduClient() )
|
|
+ {
|
|
+ if( client->GetUpStartTimeDelay() > SESSIONMAXTIME ){ // Try to keep the clients from downloading for ever.
|
|
+ if (thePrefs::GetVerbose())
|
|
+ AddDebugLogLineM(false, logClient, wxString::Format(_("%s: Upload session ended due to max time %s."), client->GetUserName().c_str(), CastSecondsToHM(SESSIONMAXTIME/1000).c_str() ));
|
|
return true;
|
|
}
|
|
- // For some reason, some clients can continue to download after a chunk size.
|
|
- // Are they redownloading the same chunk over and over????
|
|
- if( client->GetSessionUp() > 10485760 ) {
|
|
+ }
|
|
+ else
|
|
+ {
|
|
+ if( client->GetUpStartTimeDelay() > MIN2MS(10) ) { // Try to keep the clients from downloading for ever.
|
|
return true;
|
|
}
|
|
- } else {
|
|
- for (POSITION pos = waitinglist.GetHeadPosition();pos != 0; ) {
|
|
- if (client->GetScore(true,true) < waitinglist.GetNext(pos)->GetScore(true,false)) {
|
|
+ }
|
|
+ // Fine mod Adu
|
|
+
|
|
+ if (thePrefs::TransferFullChunks()) {
|
|
+ // Allow the client to download a specified amount per session
|
|
+ if ( client->IsAduClient() )
|
|
+ {
|
|
+ /* Kaiser -- 08/04/2004 - 15.43
|
|
+ Se è un ext lo "stacca" dopo SESSIONMAXTRANS (9,3mb) altrimenti cerca
|
|
+ di staccarlo dopo ADU_SESSIONMAXTRANS (18,6mb) ovvero il doppio.
|
|
+ In questo modo possiamo favorire lo scambio tra aduner senza dover
|
|
+ modificare i tempi di reask e rischiando quindi meno ban! */
|
|
+ if( client->GetQueueSessionPayloadUp() > ADU_SESSIONMAXTRANS){
|
|
+ // Inoltre se la prossima slot deve essere AdunanzA e non ho altri Adu in coda
|
|
+ // non lo butto giu' per poi riprenderlo in coda di upload.
|
|
+ // Quindi se la prossima slot e' non adunanza lo butto giu'.
|
|
+ // Condizioni sufficiente per buttare giu' un client sono:
|
|
+ // - Avere altri Adu in coda di attesa
|
|
+ // - Che il prossimo client non sia Adu
|
|
+ if ((theApp.uploadqueue->GetAdunanzAUserCount() > 0) || (ADUNANZA_FASTWEB != AduGetTypeBand()))
|
|
+ {
|
|
+ if (thePrefs::GetVerbose())
|
|
+ AddDebugLogLineM(false, logClient, wxString::Format(_("%s: Upload session ended due to max transfered amount. %s"), client->GetUserName().c_str(), CastItoXBytes(ADU_SESSIONMAXTRANS).c_str() ) );
|
|
+ return true;
|
|
+ }
|
|
+ }
|
|
+ }
|
|
+ else
|
|
+ {
|
|
+ if( client->GetQueueSessionPayloadUp() > SESSIONMAXTRANS || AduMaxTrans() ){
|
|
+ if (thePrefs::GetVerbose())
|
|
+ AddDebugLogLineM(false, logClient, wxString::Format(_("%s: Upload session ended due to max transfered amount. %s"), client->GetUserName().c_str(), CastItoXBytes(SESSIONMAXTRANS).c_str() ));
|
|
return true;
|
|
}
|
|
}
|
|
+ } else {
|
|
+ // Stefano Picerno: emule adunanza usa sempre TransferFullChunks = true !!!!!
|
|
+ AddDebugLogLineM(false, logGeneral, _("ERROR: aMule adunanza assumes that TransferFullChunks is TRUE, but now it's false !!!." ) );
|
|
+ // Fine modifica
|
|
}
|
|
return false;
|
|
}
|
|
|
|
+// Stefano Picerno: Metodo mancante
|
|
+void CUploadQueue::UpdateMaxClientScore()
|
|
+{
|
|
+ m_imaxscore=0;
|
|
+ // Inizio mod Adu
|
|
+ m_AduImaxscore = 0;
|
|
+ m_ExtImaxscore = 0;
|
|
+ for(POSITION pos = waitinglist.GetHeadPosition(); pos != 0; ) {
|
|
+ CUpDownClient* client = waitinglist.GetNext(pos);
|
|
+ uint32 score = client->GetScore(true, false);
|
|
+ if(score > m_imaxscore )
|
|
+ m_imaxscore=score;
|
|
+
|
|
+ if (client->IsAduClient())
|
|
+ if (score > m_AduImaxscore)
|
|
+ m_AduImaxscore = score;
|
|
+ else
|
|
+ if (score > m_ExtImaxscore)
|
|
+ m_ExtImaxscore = score;
|
|
+ }
|
|
+ // fine mod Adu
|
|
+}
|
|
+// Fine
|
|
+
|
|
uint16 CUploadQueue::GetWaitingPosition(CUpDownClient* client)
|
|
{
|
|
if ( !IsOnUploadQueue(client) ) {
|
|
@@ -529,6 +776,12 @@ bool CUploadQueue::RemoveFromWaitingQueu
|
|
void CUploadQueue::RemoveFromWaitingQueue(POSITION pos)
|
|
{
|
|
CUpDownClient* todelete = waitinglist.GetAt(pos);
|
|
+ // mod Adu
|
|
+ // Emanem
|
|
+ // se il client era adu decremento il contatore
|
|
+ if (todelete->IsAduClient())
|
|
+ m_AduClientsNum--;
|
|
+ // fine mod Adu
|
|
waitinglist.RemoveAt(pos);
|
|
theStats::RemoveWaitingClient();
|
|
if( todelete->IsBanned() ) {
|
|
diff -urdpN ../aMule-2.1.3-orig/src/UploadQueue.h ./src/UploadQueue.h
|
|
--- ../aMule-2.1.3-orig/src/UploadQueue.h 2006-01-01 06:17:25.000000000 +0100
|
|
+++ ./src/UploadQueue.h 2006-06-12 18:30:14.000000000 +0200
|
|
@@ -50,7 +50,14 @@ public:
|
|
POSITION GetFirstFromUploadList() {return uploadinglist.GetHeadPosition();}
|
|
CUpDownClient* GetNextFromUploadList(POSITION &curpos) {return uploadinglist.GetNext(curpos);}
|
|
CUpDownClient* GetQueueClientAt(POSITION &curpos) {return uploadinglist.GetAt(curpos);}
|
|
-
|
|
+ // mod Adu
|
|
+ // Emanem
|
|
+ int GetAdunanzAUserCount() {return m_AduClientsNum;}
|
|
+ // mod Adu
|
|
+ // lupz
|
|
+ uint16 GetAduUploadCount() const { return aduuploadinglist.GetCount(); }
|
|
+ uint16 GetUploadCount() const { return uploadinglist.GetCount(); }
|
|
+ // fine mod Adu
|
|
POSITION GetFirstFromWaitingList() {return waitinglist.GetHeadPosition();}
|
|
CUpDownClient* GetNextFromWaitingList(POSITION &curpos) {return waitinglist.GetNext(curpos);}
|
|
CUpDownClient* GetWaitClientAt(POSITION &curpos) {return waitinglist.GetAt(curpos);}
|
|
@@ -61,17 +68,45 @@ public:
|
|
uint16 GetWaitingPosition(CUpDownClient* client);
|
|
void SuspendUpload( const CMD4Hash& );
|
|
void ResumeUpload( const CMD4Hash& );
|
|
-
|
|
+
|
|
+ // Stefano Picerno: metodi presi da emule
|
|
+ void UpdateMaxClientScore();
|
|
+ uint32 GetMaxClientScore() { return m_imaxscore; }
|
|
+ // fine
|
|
+ uint32 lastmax;
|
|
protected:
|
|
void RemoveFromWaitingQueue(POSITION pos);
|
|
POSITION GetWaitingClient(CUpDownClient* client);
|
|
POSITION GetDownloadingClient(CUpDownClient* client);
|
|
- bool AcceptNewClient();
|
|
+ bool AcceptNewClient(bool isAduClient = false);
|
|
+ // Attenzione: verisone modificata per AdunanzA
|
|
+ // il parametro "typeClient" e' settato di base al valore ADUNANZA_ANY
|
|
+#if 0
|
|
void AddUpNextClient(CUpDownClient* directadd = 0);
|
|
+#endif
|
|
+ void AddUpNextClient(CUpDownClient* directadd = 0, uint32 typeClient = 0);
|
|
+
|
|
+ // Inizio mod Adu
|
|
+ uint32 GetAduMaxClientScore() {return m_AduImaxscore;}
|
|
+ uint32 GetExtMaxClientScore() {return m_ExtImaxscore;}
|
|
+ // fine mod Adu
|
|
+private:
|
|
+ // Stefano Picerno: preso da emule
|
|
+ uint32 m_imaxscore;
|
|
+ // Fine
|
|
+ // Mod Adu
|
|
+ uint32 m_AduImaxscore;
|
|
+ uint32 m_ExtImaxscore;
|
|
+ uint32 m_AduClientsNum;
|
|
+ // fine mod Adu
|
|
|
|
private:
|
|
CTypedPtrList<CPtrList, CUpDownClient*> waitinglist;
|
|
CTypedPtrList<CPtrList, CUpDownClient*> uploadinglist;
|
|
+ // Mod Adu
|
|
+ // lupz
|
|
+ CTypedPtrList<CPtrList, CUpDownClient*> aduuploadinglist;
|
|
+ // Fine Mod Adu
|
|
typedef std::list<CMD4Hash> suspendlist;
|
|
suspendlist suspended_uploads_list; //list for suspended uploads
|
|
uint32 m_nLastStartUpload;
|