mirror of
https://github.com/nzbget/nzbget.git
synced 2026-01-03 11:37:46 -05:00
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c0eedc342b | ||
|
|
eb4b8b30e1 | ||
|
|
593e29f163 | ||
|
|
c4d29bc57f | ||
|
|
92db424ce0 | ||
|
|
17fbb795c8 | ||
|
|
35e65e792b | ||
|
|
486b9d7d2b | ||
|
|
3abaa0fb3f |
10
ChangeLog
10
ChangeLog
@@ -1,3 +1,13 @@
|
||||
nzbget-19.1:
|
||||
- proper handling of changing category (and destination path) during direct
|
||||
unpack; direct unpack now gracefully aborts with cleanup; the files will
|
||||
be unpacked during post-processing stage;
|
||||
- fixed: password protected downloads of certain kind may sometimes end up
|
||||
with no files if direct unpack was active;
|
||||
- fixed: rar-renamer mistakenly renamed some encrypted rar3 files causing
|
||||
unnecessary repair;
|
||||
- fixed: rar-renamer could not process some encrypted rar3-archives.
|
||||
|
||||
nzbget-19.0:
|
||||
- unpack during downloading:
|
||||
- downloaded files can now be unpacked as soon as every archive part is
|
||||
|
||||
20
configure
vendored
20
configure
vendored
@@ -1,6 +1,6 @@
|
||||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.61 for nzbget 19.0.
|
||||
# Generated by GNU Autoconf 2.61 for nzbget 19.1.
|
||||
#
|
||||
# Report bugs to <hugbug@users.sourceforge.net>.
|
||||
#
|
||||
@@ -574,8 +574,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='nzbget'
|
||||
PACKAGE_TARNAME='nzbget'
|
||||
PACKAGE_VERSION='19.0'
|
||||
PACKAGE_STRING='nzbget 19.0'
|
||||
PACKAGE_VERSION='19.1'
|
||||
PACKAGE_STRING='nzbget 19.1'
|
||||
PACKAGE_BUGREPORT='hugbug@users.sourceforge.net'
|
||||
|
||||
ac_unique_file="daemon/main/nzbget.cpp"
|
||||
@@ -1255,7 +1255,7 @@ if test "$ac_init_help" = "long"; then
|
||||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
\`configure' configures nzbget 19.0 to adapt to many kinds of systems.
|
||||
\`configure' configures nzbget 19.1 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@@ -1326,7 +1326,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of nzbget 19.0:";;
|
||||
short | recursive ) echo "Configuration of nzbget 19.1:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@@ -1477,7 +1477,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
nzbget configure 19.0
|
||||
nzbget configure 19.1
|
||||
generated by GNU Autoconf 2.61
|
||||
|
||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
|
||||
@@ -1491,7 +1491,7 @@ cat >config.log <<_ACEOF
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by nzbget $as_me 19.0, which was
|
||||
It was created by nzbget $as_me 19.1, which was
|
||||
generated by GNU Autoconf 2.61. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@@ -2287,7 +2287,7 @@ fi
|
||||
|
||||
# Define the identity of the package.
|
||||
PACKAGE='nzbget'
|
||||
VERSION='19.0'
|
||||
VERSION='19.1'
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
@@ -12297,7 +12297,7 @@ exec 6>&1
|
||||
# report actual input values of CONFIG_FILES etc. instead of their
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by nzbget $as_me 19.0, which was
|
||||
This file was extended by nzbget $as_me 19.1, which was
|
||||
generated by GNU Autoconf 2.61. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@@ -12350,7 +12350,7 @@ Report bugs to <bug-autoconf@gnu.org>."
|
||||
_ACEOF
|
||||
cat >>$CONFIG_STATUS <<_ACEOF
|
||||
ac_cs_version="\\
|
||||
nzbget config.status 19.0
|
||||
nzbget config.status 19.1
|
||||
configured by $0, generated by GNU Autoconf 2.61,
|
||||
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ(2.59)
|
||||
AC_INIT(nzbget, 19.0, hugbug@users.sourceforge.net)
|
||||
AC_INIT(nzbget, 19.1, hugbug@users.sourceforge.net)
|
||||
AC_CONFIG_AUX_DIR(posix)
|
||||
AC_CANONICAL_TARGET
|
||||
AM_INIT_AUTOMAKE([foreign])
|
||||
|
||||
@@ -422,6 +422,18 @@ void DirectUnpack::WaitNextVolume(const char* filename)
|
||||
{
|
||||
debug("WaitNextVolume for %s", filename);
|
||||
|
||||
// Stop direct unpack if destination directory was changed during unpack
|
||||
{
|
||||
GuardedDownloadQueue downloadQueue = DownloadQueue::Guard();
|
||||
NzbInfo* nzbInfo = downloadQueue->GetQueue()->Find(m_nzbId);
|
||||
if (nzbInfo && (strcmp(m_destDir, nzbInfo->GetDestDir()) ||
|
||||
strcmp(m_finalDir, nzbInfo->BuildFinalDirName())))
|
||||
{
|
||||
nzbInfo->AddMessage(Message::mkWarning, BString<1024>("Destination directory changed for %s", nzbInfo->GetName()));
|
||||
Stop(downloadQueue, nzbInfo);
|
||||
}
|
||||
}
|
||||
|
||||
BString<1024> fullFilename("%s%c%s", *m_destDir, PATH_SEPARATOR, filename);
|
||||
if (FileSystem::FileExists(fullFilename))
|
||||
{
|
||||
|
||||
@@ -268,6 +268,12 @@ RarVolume::RarBlock RarVolume::ReadRar3Block(DiskFile& file)
|
||||
uint16 size = ((uint16)buf[6] << 8) + buf[5];
|
||||
|
||||
uint32 blocksize = size;
|
||||
if (m_encrypted)
|
||||
{
|
||||
// Align to 16 bytes
|
||||
blocksize = (blocksize + ((~blocksize + 1) & (16 - 1)));
|
||||
}
|
||||
|
||||
block.trailsize = blocksize - sizeof(buf);
|
||||
|
||||
uint8 addbuf[4];
|
||||
|
||||
@@ -224,10 +224,10 @@ void RarRenamer::MakeSets()
|
||||
volume.GetVolumeNo() == lastVolume->GetVolumeNo() + 1 &&
|
||||
volume.GetVersion() == lastVolume->GetVersion() &&
|
||||
lastVolume->GetHasNextVolume() &&
|
||||
((volume.GetFiles()->at(0).GetSplitBefore() &&
|
||||
lastVolume->GetFiles()->at(0).GetSplitAfter() &&
|
||||
!strcmp(volume.GetFiles()->at(0).GetFilename(), lastVolume->GetFiles()->at(0).GetFilename())) ||
|
||||
(!volume.GetFiles()->at(0).GetSplitBefore() && !lastVolume->GetFiles()->at(0).GetSplitAfter())))
|
||||
((volume.GetFiles()->front().GetSplitBefore() &&
|
||||
lastVolume->GetFiles()->back().GetSplitAfter() &&
|
||||
!strcmp(volume.GetFiles()->front().GetFilename(), lastVolume->GetFiles()->back().GetFilename())) ||
|
||||
(!volume.GetFiles()->front().GetSplitBefore() && !lastVolume->GetFiles()->back().GetSplitAfter())))
|
||||
{
|
||||
debug(" adding %s", FileSystem::BaseFileName(volume.GetFilename()));
|
||||
set.push_back(&volume);
|
||||
@@ -237,7 +237,9 @@ void RarRenamer::MakeSets()
|
||||
}
|
||||
}
|
||||
|
||||
bool completed = !set.back()->GetHasNextVolume();
|
||||
RarVolume* lastVolume = set.back();
|
||||
bool completed = !lastVolume->GetHasNextVolume() &&
|
||||
(lastVolume->GetFiles()->empty() || !lastVolume->GetFiles()->back().GetSplitAfter());
|
||||
|
||||
return !completed;
|
||||
}),
|
||||
|
||||
@@ -103,12 +103,23 @@ void UnpackController::Run()
|
||||
|
||||
if (m_hasRarFiles)
|
||||
{
|
||||
if (m_hasUnpackedRarFiles)
|
||||
if (m_hasNotUnpackedRarFiles || m_unpackDirCreated)
|
||||
{
|
||||
if (m_postInfo->GetNzbInfo()->GetDirectUnpackStatus() == NzbInfo::nsSuccess)
|
||||
{
|
||||
PrintMessage(Message::mkInfo, "Found archive files not processed by direct unpack, unpacking all files again");
|
||||
if (m_unpackDirCreated)
|
||||
{
|
||||
PrintMessage(Message::mkWarning, "Could not find files unpacked by direct unpack, unpacking all files again");
|
||||
}
|
||||
else
|
||||
{
|
||||
PrintMessage(Message::mkInfo, "Found archive files not processed by direct unpack, unpacking all files again");
|
||||
}
|
||||
}
|
||||
|
||||
// Discard info about extracted archives to prevent reusing on next unpack attempt
|
||||
m_postInfo->GetExtractedArchives()->clear();
|
||||
|
||||
UnpackArchives(upUnrar, false);
|
||||
}
|
||||
else
|
||||
@@ -606,6 +617,7 @@ void UnpackController::CreateUnpackDir()
|
||||
const char* destDir = !m_finalDir.Empty() ? *m_finalDir : *m_destDir;
|
||||
|
||||
m_unpackDir.Format("%s%c%s", destDir, PATH_SEPARATOR, "_unpack");
|
||||
m_unpackDirCreated = !FileSystem::DirectoryExists(m_unpackDir);
|
||||
|
||||
detail("Unpacking into %s", *m_unpackDir);
|
||||
|
||||
@@ -637,7 +649,7 @@ void UnpackController::CheckArchiveFiles()
|
||||
if (regExRar.Match(filename))
|
||||
{
|
||||
m_hasRarFiles = true;
|
||||
m_hasUnpackedRarFiles |= std::find(
|
||||
m_hasNotUnpackedRarFiles |= std::find(
|
||||
m_postInfo->GetExtractedArchives()->begin(),
|
||||
m_postInfo->GetExtractedArchives()->end(),
|
||||
filename) == m_postInfo->GetExtractedArchives()->end();
|
||||
|
||||
@@ -73,7 +73,7 @@ private:
|
||||
bool m_noFilesMessageReceived = false;
|
||||
bool m_hasParFiles = false;
|
||||
bool m_hasRarFiles = false;
|
||||
bool m_hasUnpackedRarFiles = false;
|
||||
bool m_hasNotUnpackedRarFiles = false;
|
||||
bool m_hasRenamedArchiveFiles = false;
|
||||
bool m_hasSevenZipFiles = false;
|
||||
bool m_hasSevenZipMultiFiles = false;
|
||||
@@ -86,6 +86,7 @@ private:
|
||||
bool m_cleanedUpDisk = false;
|
||||
bool m_autoTerminated = false;
|
||||
bool m_finalDirCreated = false;
|
||||
bool m_unpackDirCreated = false;
|
||||
bool m_passListTried = false;
|
||||
FileList m_joinedFiles;
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\daemon\connect;.\daemon\extension;.\daemon\feed;.\daemon\frontend;.\daemon\main;.\daemon\nserv;.\daemon\nntp;.\daemon\postprocess;.\daemon\queue;.\daemon\remote;.\daemon\util;.\daemon\windows;.\lib\par2;.\windows\resources;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;PACKAGE="nzbget";VERSION="19.0";_DEBUG;_CONSOLE;DEBUG;_WIN32_WINNT=0x0403;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;PACKAGE="nzbget";VERSION="19.1";_DEBUG;_CONSOLE;DEBUG;_WIN32_WINNT=0x0403;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
@@ -72,7 +72,7 @@
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>.\daemon\connect;.\daemon\extension;.\daemon\feed;.\daemon\frontend;.\daemon\main;.\daemon\nserv;.\daemon\nntp;.\daemon\postprocess;.\daemon\queue;.\daemon\remote;.\daemon\util;.\daemon\windows;.\lib\par2;.\windows\resources;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;PACKAGE="nzbget";VERSION="19.0";NDEBUG;_CONSOLE;_WIN32_WINNT=0x0403;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;PACKAGE="nzbget";VERSION="19.1";NDEBUG;_CONSOLE;_WIN32_WINNT=0x0403;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
|
||||
Reference in New Issue
Block a user