summaryrefslogtreecommitdiff
path: root/apt-pkg/contrib/fileutl.cc
AgeCommit message (Collapse)Author
2013-11-30truncating /dev/null to zero is always successfulDavid Kalnischkies
Calling truncate on /dev/null can happen by the download methods if they are instructed to download a file to /dev/null (as testcases are only interested in the status code, but do not support HEAD requests yet) So just ignore truncate calls on the /dev/null file as it is always empty anyway, so truncating to zero isn't a problem. Git-Dch: Ignore
2013-11-28fix regression that APT::Keep-Fds is not honored (closes: #730490)Michael Vogt
2013-11-01small documentation updates0.9.13_exp1Michael Vogt
2013-10-31add new pid_t ExecFork(std::set<int> KeepFDs) to get rid of the super ugly ↵Michael Vogt
APT::Keep-Fds hack and also add a new PackageManagerProgressFd::StartDpkg() progress state
2013-10-07fix libapt-inst for >2G debs (closes: #725483)Michael Vogt
2013-08-31fix typo (mkostemp->mkstemp)Michael Vogt
2013-08-27use mkstemp instead of mkostemp in FileFd::Open()David Kalnischkies
FileFd currently supports no fileflags which would make sense to provide via mkostemp, so we can just use mkstemp here which is a standard function compared to glib extension mkostemp. O_CREAT (Create) and O_TRUNC (Empty) are implied by O_EXCL, which is the mode mkstemp uses by default. The file description is opened ReadWrite, but that used to be the default for FileFd in the old times and not a problem as the difference is needed by FileFd to decide in which way the compressor pipeline needs to be created (if any). Git-Dch: Ignore
2013-08-27replace usage of potential dangerous mktemp with mkstempAngel Guzman Maeso
Avoid the warning "the use of `mktemp' is dangerous, better use `mkstemp' or `mkdtemp'". It is not strictly necessary to change the usage from a security point of view here, but mktemp is also removed from the standard since POSIX.1-2008. The mkostemp call returns a file descriptor the logic for TemporaryFileName has been changed accordingly to get the same results. The file permissions are corrected by using fchmod() as the default for FileFd is 666 while mkstemp creates files with 600 by default.
2013-08-22apt-pkg:contrib Avoid compiler warning about sign-compareÁngel Guzmán Maeso
The fix avoid the warning "comparison between signed and unsigned integer expressions [-Wsign-compare]"· The index for the loop needs to be unsigned for compare with globbuf.gl_pathc structure member
2013-08-15* lp:~mvo/apt/add-glob-function:Michael Vogt
- add Glob() to fileutl.{cc,h} Conflicts: apt-pkg/contrib/fileutl.h debian/changelog
2013-07-28Merge remote-tracking branch 'mvo/bugfix/coverity' into debian/sidMichael Vogt
2013-07-26ensure that FileFd::Size returns 0 in error casesDavid Kalnischkies
2013-07-25add missing "free(buffer) for allocated bufferMichael Vogt
2013-07-25fix resource leak (thanks coverity)Michael Vogt
2013-07-25always "delete d" in FileFd::~FileFd to coverity happyMichael Vogt
2013-06-09fail in CopyFile if the FileFds have error flag setDavid Kalnischkies
Testing for global PendingErrors in users of CopyFile is incorrect in so far as unrelated errors will prevent us from copying perfectly fine files and checking for the validity of the files is just better in CopyFiles as it already checks if files are at least opened. Add also a higher-level error message to the error stack if it fails.
2013-06-09OpenDescriptor should autoclose fd always on errorDavid Kalnischkies
OpenInternDescriptor failures would cause additional errors to be generated by double-closing an fd. Other errors (although these are generated if the method is used incorrectly, so unlikely) didn't close the fd aswell. Closes: 704608
2013-06-09set Fail flag in FileFd on all errors consistentlyDavid Kalnischkies
Previously some errors would set the Fail flag while some didn't without a clear reason as all errors leave a bad FileFd behind, so we use a helper now to ensure that all errors set the flag.
2013-06-06fix double free (closes: #711045)Michael Vogt
2013-03-10various simple changes to fix cppcheck warningsDavid Kalnischkies
2012-08-04* apt-pkg/contrib/fileutl.cc:David Kalnischkies
- remove _POSIX_SYNCHRONIZED_IO guard in FileFd::Sync() around fsync as this guard is only needed for fdatasync and not defined on hurd
2012-05-22* apt-pkg/contrib/fileutl.cc:David Kalnischkies
- dup() given compressed fd in OpenDescriptor if AutoClose is disabled as otherwise gzclose() and co will close it
2012-05-16* apt-pkg/contrib/fileutl.cc:David Kalnischkies
- ensure that we close compressed fds, wait for forks and such even if the FileFd itself is set to not autoclose the given Fd
2012-05-10ensure that d is set before accessing itDavid Kalnischkies
2012-05-10ensure that in error conditions the Fail flag is setDavid Kalnischkies
2012-05-10collect zombie (de)compressor processes on reopenDavid Kalnischkies
2012-05-09ensure that we do init d only once and especially not with its ownDavid Kalnischkies
content as this causes some "interesting" hickups resulting in segfaults as it seems (Closes: #554387, #670979)
2012-05-09* apt-pkg/contrib/fileutl.cc:David Kalnischkies
- check that the fd which are closed are valid
2012-04-19* apt-pkg/contrib/fileutl.cc:David Kalnischkies
- redirect stderr from compressors to /dev/null
2012-04-11use a static FileFd::Write overload to reduce duplication of write()-retry codeDavid Kalnischkies
2012-04-05 - add libbz2-dev as new build-dependencyDavid Kalnischkies
- remove the libz-dev alternative from zlib1g-dev build-dependency - do the same for bz2 builtin if available * apt-pkg/contrib/fileutl.cc: - use libz2 library for (de)compression instead of the bzip2 binary as the first is a dependency of dpkg and the later just priority:optional so we gain 'easier' access to bz2-compressed Translation files this way
2012-04-05if we have zlib builtin insert add a dummy gzip compressor for FileFDDavid Kalnischkies
2012-04-05detect zlib correctly. We still don't allow to build without it to remainDavid Kalnischkies
compatible with users accessing it directly, but this prepares for a drop of this strict requirement in the future
2012-03-06* apt-pkg/contrib/fileutl.cc:David Kalnischkies
- do not warn about the ignoring of directories (Closes: #662762)
2012-02-11* apt-pkg/cachefile.cc:David Kalnischkies
- clean up lost atomic cachefiles with 'clean' (Closes: #650513)
2012-02-03rework previous patch to avoid changing the inline codeMichael Vogt
2012-01-18* apt-pkg/contrib/fileutl.h:David Kalnischkies
- store the offset in the internal fd before calculate size of the zlib-handled file to jump back to this place again It jumped back to the position of the content - which is wrong as the internal fd is compressed and even reseting to the beginning of the file doesn't work as zlib uses an internal buffer, so while we might haven't read anything yet zlib might have done so already…
2012-01-18improve error reporting in case of errors in combination with zlibDavid Kalnischkies
2011-12-18usage of Skipping in pipes can't work, so we ignore-read insteadDavid Kalnischkies
Also, read only one char in each step of ReadLine instead of back-"seeking"
2011-12-17keep track of where we are in a filedescriptor so we can use it as Tell()David Kalnischkies
information if we are working on a pipe which can't seek
2011-12-16try seeking on fds opened with OpenDescriptor before giving upDavid Kalnischkies
2011-12-15refactor compressor calling so that we don't (need to) export ExecCompressorDavid Kalnischkies
anymore and therefore are also able to drop quiet a bit of duplicated code
2011-12-14use FileFd instead of forking the compression childs by handDavid Kalnischkies
2011-12-13allow Open() and OpenDescriptor() to be called with a CompressorDavid Kalnischkies
2011-12-13note to myself: In case you rename something, make sure that you haveDavid Kalnischkies
renamed it everywhere as otherwise stuff "magically" starts to fail… Fixes commit 2209 as the mixture of #define names generates a lovely compilable but non-functional mixture of gzip usage…
2011-12-13Allow the FileFd to use an external Compressor to uncompress a given fileDavid Kalnischkies
internally so that it is exported and can be used like a "normal" uncompressed file with FileFd This allows us to hide th zlib usage in the implementation and use gzip instead if we don't have zlib builtin (the same for other compressors). The code includes quiet a few FIXME's so while all tests are working it shouldn't be used just yet outside of libapt as it might break.
2011-12-11 - add a ReadLine methodDavid Kalnischkies
- drop the explicit export of gz-compression handling
2011-12-10* apt-pkg/contrib/fileutl.{h,cc}:David Kalnischkies
- implement a ModificationTime method for FileFd
2011-12-10enable FileFd to guess the compressor based on the filename if requested orDavid Kalnischkies
to search for compressed silbings of the given filename and use this guessing instead of hardcoding Gzip compression
2011-11-29split up the OpenMode into OpenMode and CompressionMode andDavid Kalnischkies
provide ReadOnly, WriteOnly and ReadWrite as flags alongside the additional flags as decompression will be one-way later, but certain parts really depend on Write* openmodes being ReadWrite opens, so we will have to fail for those.