Age | Commit message (Collapse) | Author |
|
TFRewrite is okay, but it has obscure limitations (256 Tags), even more
obscure bugs (order for renames is defined by the old name) and the
interface is very c-style encouraging bad usage like we do it in
apt-ftparchive passing massive amounts of c_str() from std::string in.
The old-style is marked as deprecated accordingly. The next commit will
fix all places in the apt code to not use the old-style anymore.
|
|
We have a d-pointer available here, so go ahead and use it which also
helps in hidding some dirty details here. The "hard" part is keeping the
abi for the inlined methods so that they don't break – at least not more
than before as much of the point beside a speedup is support for more
than 256 fields in a single section.
|
|
Adding a new parameter (with a default) is an ABI break, but you can
overload a method, which is "just" an API break for everyone doing
references to this method (aka: nobody).
Git-Dch: Ignore
|
|
Git-Dch: Ignore
|
|
Reimplementing an inline method is opening a can of worms we don't want
to open if we ever want to us a d-pointer in those classes, so we do the
only thing which can save us from hell: move the destructors into the cc
sources and we are good.
Technically not an ABI break as the methods inline or not do the same
(nothing), so a program compiled against the old version still works
with the new version (beside that this version is still in experimental,
so nothing really has been build against this library anyway).
Git-Dch: Ignore
|
|
Reported-By: cppcheck
Git-Dch: Ignore
|
|
Reported-By: codespell
Git-Dch: Ignore
|
|
The by-hash can be configured on a per-hostname basis and a Release
file can indicate that it has by-hash support via a new flag.
The location of the hash now matches the AptByHash spec
|
|
Removes the 256 fields limit, deals consistently with spaces littered
all over the place and is even a tiny bit faster than before.
Even comes with a bunch of new tests to validate these claims.
|
|
|
|
This methods should not be used by anyone expect the library itself as
they are helpers for the specific class and therefore perfect candidates
for hidding.
Git-Dch: Ignore
|
|
Reported-By: gcc -Wignored-qualifiers
Git-Dch: Ignore
|
|
Conflicts:
apt-pkg/tagfile.h
|
|
In 91c4cc14d3654636edf997d23852f05ad3de4853 I removed the +256 from
the pkgTagFile call parsing Release files as I couldn't find a
mentioning of a reason for why and it was marked as XXX which suggested
that at least someone else was suspicious.
It turns out that it is indeed "documented", it just didn't found it at
first but the changelog of apt 0.6.6 (29. Dec 2003) mentions:
* Restore the ugly hack I removed from indexRecords::Load which set the
pkgTagFile buffer size to (file size)+256. This is concealing a bug,
but I can't fix it right now. This should fix the segfaults that
folks are seeing with 0.6.[45].
The bug it is "hiding" is that if pkgTagFile works with a file which doesn't
end in a double newline it will be adding it without checking if the Buffer
is big enough to store them. Its also not a good idea to let the End
pointer be past the end of our space, even if we don't access the data.
Closes: 719629
|
|
|
|
|
|
|
|
|
|
The breakage is just to big for now, so guard the change with
#ifndef APT_8_CLEANER_HEADERS and be nice to library users
|
|
|
|
|
|
|
|
size are pretty unlikely for now, but we need it for deb
packages which could become bigger than 4GB now (LP: #815895)
|
|
|
|
constructor.
|
|
* [ABI-Break] merge lp:~mvo/apt/sha512-template to add support for sha512
* [ABI-Break] merge lp:~mvo/apt/dpointer to support easier extending
without breaking the ABI
|
|
apt-pkg/deb/debsystem.h: make destructor virtual
|
|
|
|
|
|
* apt-pkg/deb/deblistparser.cc:
- rewrite LoadReleaseInfo to cope with clearsigned Releasefiles
|
|
- switch {,Install-}Size to unsigned long long
* apt-pkg/depcache.cc:
- deal with long long, not with int to remove 2GB Limit (LP: #250909)
|
|
- remove Auto-Installed information from extended_states
together with the package itself (Closes: #572364)
|
|
(closes: #189866)
|
|
and fallback
|
|
|
|
- make the internal buffer grow dynamically if required
|
|
- increase the buffer in tagfile.cc for now, this really needs to
become a dynamic buffer
|
|
- reverted the mmap patch again, it caused too much trouble with
pipes etc
|
|
|
|
- use mmap for the tagfile code (closes: #350025)
|
|
Author: doogie
Date: 2003-05-19 17:13:57 GMT
Fix api breakage caused when attempting to support blocks larger than 32k,
by backing out the patch.
|
|
Author: doogie
Date: 2003-04-27 05:59:14 GMT
Fix status file parser so that if a record is larger than 32k, the buffer
size will be doubled, and the read attempted again.
|
|
Author: jgg
Date: 2001-10-04 05:13:23 GMT
Fixes from Christoph Pfisterer
|
|
Author: jgg
Date: 2001-04-22 05:42:52 GMT
Tag file can read from unseekable objects
|
|
Author: jgg
Date: 2001-03-11 07:22:19 GMT
Pedantic fixes
|
|
Author: jgg
Date: 2001-02-20 07:03:16 GMT
Join with aliencode
|
|
Author: jgg
Date: 1999-07-03 06:45:40 GMT
Fixed a small memory leak
|
|
Author: jgg
Date: 1998-12-14 02:23:46 GMT
Release support
|
|
Author: jgg
Date: 1998-12-07 07:26:19 GMT
Optimizations
|
|
Author: jgg
Date: 1998-11-28 03:54:29 GMT
More tagfile accessors
|