]> git.k1024.org Git - pyxattr.git/log
pyxattr.git
9 years agoAdd release dates to NEWS file
Iustin Pop [Fri, 1 May 2015 18:31:39 +0000 (20:31 +0200)]
Add release dates to NEWS file

9 years agoMake the code -Wconversion ready: explicit casts only
Iustin Pop [Fri, 1 May 2015 01:00:35 +0000 (03:00 +0200)]
Make the code -Wconversion ready: explicit casts only

This patch, while adding lots of extra boilerplate, converts all code
to explicit casts only; it now builds with `-Wconversion` cleanly,
although that's a bit too strong to turn on by default (for now).

9 years agoFix a few int/size_t conversion issues
Iustin Pop [Thu, 30 Apr 2015 23:02:59 +0000 (01:02 +0200)]
Fix a few int/size_t conversion issues

From https://bugzilla.redhat.com/show_bug.cgi?id=1127310: the
'#'-variats of parsing (s#, et#, etc.) take a size_t if
PY_SSIZE_T_CLEAN is defined (which the code does). On some
architectures (little-endian only?) this doesn't seem to be a problem,
but on PPC this is a failure in unit tests (at least yay).

The patch changes the type of bufsize to Py_ssize_t, and does an
explicit cast to size_t with underflow check in order to make the code
safer (assuming this is the right thing to do). This should result in
no unexpected conversion issues.

9 years agoImprove error checking in get_all()
Iustin Pop [Thu, 30 Apr 2015 22:52:52 +0000 (00:52 +0200)]
Improve error checking in get_all()

After getting a too big value via ERANGE, making the call with the
proper length could still fail due to other issues, and this check is
missing. A negative value here would be changed into something weird
in the realloc call (which takes size_t), so the error reporting would
be bogus.

9 years agoStyle change: name all jump labels uniformly
Iustin Pop [Thu, 30 Apr 2015 22:48:35 +0000 (00:48 +0200)]
Style change: name all jump labels uniformly

9 years agoFix memory leak on get_all OutOfMemory handling path
Iustin Pop [Thu, 30 Apr 2015 22:43:16 +0000 (00:43 +0200)]
Fix memory leak on get_all OutOfMemory handling path

It's unlikely that the situation is recoverable when failing to
allocate memory, but the current code is clearly buggy: PyMem_Realloc
doesn't clobber the existing buffer on failure, so not deallocating it
will result in a leak.

9 years agoUpdate my email address pyxattr-v0.5.4
Iustin Pop [Thu, 30 Apr 2015 15:32:50 +0000 (17:32 +0200)]
Update my email address

9 years agoBump upper python version test in Makefile
Iustin Pop [Thu, 30 Apr 2015 15:31:18 +0000 (17:31 +0200)]
Bump upper python version test in Makefile

9 years agoBump version for 0.5.4 release
Iustin Pop [Thu, 30 Apr 2015 15:29:37 +0000 (17:29 +0200)]
Bump version for 0.5.4 release

9 years agoRemove all .so files on make clean
Iustin Pop [Thu, 30 Apr 2015 11:40:25 +0000 (13:40 +0200)]
Remove all .so files on make clean

9 years agoUpdate copyright year
Iustin Pop [Thu, 30 Apr 2015 11:39:20 +0000 (13:39 +0200)]
Update copyright year

Sigh, boring.

9 years agoFix memory leaks in get() failure handling path
Iustin Pop [Thu, 30 Apr 2015 11:31:06 +0000 (13:31 +0200)]
Fix memory leaks in get() failure handling path

The freeing memory labels were used wrongly; easily reproducible by
simulating failures in a loop.

10 years agoUpdate changelog and bump version for 0.5.3 pyxattr-v0.5.3
Iustin Pop [Fri, 23 May 2014 15:42:04 +0000 (17:42 +0200)]
Update changelog and bump version for 0.5.3

10 years agoAdd helpers to test suite for easier checking
Iustin Pop [Fri, 23 May 2014 15:36:44 +0000 (17:36 +0200)]
Add helpers to test suite for easier checking

Since the _ignore/_ignore_tuples methods are always called with
assertEqual, let's add two wrappers to simplify the code a bit.

10 years agoMake the environment variable TEST_DIR match the python var
Iustin Pop [Fri, 23 May 2014 11:10:34 +0000 (13:10 +0200)]
Make the environment variable TEST_DIR match the python var

Having things inconsistent just leads to confusion.

10 years agoMerge pull request #3 from jborg/surrogateescape
Iustin Pop [Fri, 23 May 2014 10:57:44 +0000 (12:57 +0200)]
Merge pull request #3 from jborg/surrogateescape

Use "surrogateescape" error handler when encoding unicode paths.

10 years agoMerge pull request #4 from edelkind/master
Iustin Pop [Fri, 23 May 2014 10:49:21 +0000 (12:49 +0200)]
Merge pull request #4 from edelkind/master

Better handling of files without xattrs

10 years agoMerge pull request #5 from quantheory/master
Iustin Pop [Fri, 23 May 2014 10:41:01 +0000 (12:41 +0200)]
Merge pull request #5 from quantheory/master

Add workaround for tests on SELinux systems.

10 years agoFix tests when tmp files have attributes.
Sean Patrick Santos [Sun, 9 Mar 2014 02:17:26 +0000 (19:17 -0700)]
Fix tests when tmp files have attributes.

SELinux systems may have the security.selinux attribute defined for
temporary files upon creation. This can cause problems for the tests,
which assumed that new files have no attributes. Similar problems can
arise in other cases where temporary files created by python start out
with attributes.

To work around this, a comma-separated list of attributes to ignore can
be specified in the environment variable "TEST_IGNORE_XATTRS". Any
attributes specified in this way will be filtered out by tests.

11 years agoBetter handling of files without xattrs
ari edelkind [Tue, 17 Sep 2013 18:20:33 +0000 (14:20 -0400)]
Better handling of files without xattrs

Return an empty list immediately if a file has no xattrs (as most would
not on most systems).  The number of system calls for files with no
extended attributes is reduced by (at least) half.

11 years agoUse "surrogateescape" error handler when encoding unicode paths.
Jonas Borgström [Thu, 13 Jun 2013 20:17:32 +0000 (22:17 +0200)]
Use "surrogateescape" error handler when encoding unicode paths.

On Python 3 functions like os.listdir() always returns unicode
paths. "invalid" byte paths are decoded using the "surrogateescape" error
handler which must also be used when decoding.
See os.fsencodefs() and os.fsdecode().

11 years agoUpdate docs for the 0.5.2 release pyxattr-v0.5.2
Iustin Pop [Thu, 3 Jan 2013 21:27:40 +0000 (22:27 +0100)]
Update docs for the 0.5.2 release

Of course I forgot this, and as github has also deprecated downloads,
we should switch to something else…

11 years agoBump version and update NEWS for the 0.5.2 release
Iustin Pop [Thu, 3 Jan 2013 20:45:14 +0000 (21:45 +0100)]
Bump version and update NEWS for the 0.5.2 release

All tests pass, let's release!

11 years agoFix string/unicode buffer size parsing
Iustin Pop [Thu, 3 Jan 2013 20:36:36 +0000 (21:36 +0100)]
Fix string/unicode buffer size parsing

It seems that CPython allows passing "wrong" pointers for et#
(Py_ssize_t instead of int), but PyPy has problems with this, and
wrongly casts the pointers, leading to unsigned/signed conversion
failures.

This bug was introduced in commits 433c5852 and 8aa6fd81; I'm no
longer sure why bufsize was changed from int to Py_ssize_t as well,
but passing an int value to a C function expecting an ssize_t should
be safe as the compiler should do the required conversions behind the
scenes (as long as it has correct information about the types).

Closes gh-1.

11 years agoEnable testing with python 3.3 and pypy as well
Iustin Pop [Thu, 3 Jan 2013 20:35:44 +0000 (21:35 +0100)]
Enable testing with python 3.3 and pypy as well

The pypy test is not versioned, since Debian only provides a single
pypy binary, so I don't have an environment with multiple pypy
installations.

11 years agoEnable compiler warnings
Iustin Pop [Thu, 3 Jan 2013 20:27:03 +0000 (21:27 +0100)]
Enable compiler warnings

`-Wall -Werror` should make compiler warnings much more obvious,
hopefully catching more latent bugs.

11 years agoMake setup.py behave nicely without setuptools
Iustin Pop [Thu, 3 Jan 2013 20:26:15 +0000 (21:26 +0100)]
Make setup.py behave nicely without setuptools

Currently, it would fail hard, whereas we can at least build the
extension (even though the testsuite will not work) when setuptools is
missing.

12 years agoPython 2.5 can't parse byte literals, so use bytes() instead.
Mike Gilbert [Fri, 21 Dec 2012 21:33:18 +0000 (16:33 -0500)]
Python 2.5 can't parse byte literals, so use bytes() instead.

12 years agoFix title in index page
Iustin Pop [Tue, 15 May 2012 23:48:26 +0000 (01:48 +0200)]
Fix title in index page

12 years agoClarify the namespace type under Py3 pyxattr-v0.5.1
Iustin Pop [Tue, 15 May 2012 23:34:42 +0000 (01:34 +0200)]
Clarify the namespace type under Py3

12 years agoUpdate NEWS file for the 0.5.1 release
Iustin Pop [Tue, 15 May 2012 23:23:20 +0000 (01:23 +0200)]
Update NEWS file for the 0.5.1 release

12 years agoComplete the change of namespace handling
Iustin Pop [Tue, 15 May 2012 23:19:58 +0000 (01:19 +0200)]
Complete the change of namespace handling

This disables None as a valid namespace under Python 2.x too; now only
an empty string is accepted.

The patch also documents the change.

12 years agoFix bug in get_all for empty namespace handling
Iustin Pop [Tue, 15 May 2012 23:11:13 +0000 (01:11 +0200)]
Fix bug in get_all for empty namespace handling

Also add an unit test for it.

12 years agoMore setup.py updates
Iustin Pop [Tue, 15 May 2012 22:58:24 +0000 (00:58 +0200)]
More setup.py updates

12 years agoAdd a download_url for pypi
Iustin Pop [Tue, 15 May 2012 22:46:42 +0000 (00:46 +0200)]
Add a download_url for pypi

12 years agoBump version number for new release
Iustin Pop [Tue, 15 May 2012 22:31:56 +0000 (00:31 +0200)]
Bump version number for new release

Also switch the homepage URL.

12 years agoUpdate gitignore file
Iustin Pop [Tue, 15 May 2012 22:25:12 +0000 (00:25 +0200)]
Update gitignore file

12 years agoMakefile improvements
Iustin Pop [Tue, 15 May 2012 22:23:43 +0000 (00:23 +0200)]
Makefile improvements

… and remove old run-tests file, obsoleted by the Makefile.

12 years agoUpdate manifest file
Iustin Pop [Tue, 15 May 2012 22:22:15 +0000 (00:22 +0200)]
Update manifest file

12 years agoUpdate README to include the old website info
Iustin Pop [Tue, 15 May 2012 22:16:03 +0000 (00:16 +0200)]
Update README to include the old website info

12 years agoConvert NEWS file
Iustin Pop [Tue, 15 May 2012 22:07:07 +0000 (00:07 +0200)]
Convert NEWS file

This allows it to be included in the doc nicely.

12 years agoSwitch documentation style to sphinx
Iustin Pop [Tue, 15 May 2012 22:03:47 +0000 (00:03 +0200)]
Switch documentation style to sphinx

Still work needed to transition this completely, but looks good so far.

12 years agoRename convertObj → convert_obj
Iustin Pop [Tue, 15 May 2012 20:03:55 +0000 (22:03 +0200)]
Rename convertObj → convert_obj

Makes the style more consistent with the rest of the file.

12 years agoFix two missing close() class in tests
Iustin Pop [Tue, 15 May 2012 20:01:53 +0000 (22:01 +0200)]
Fix two missing close() class in tests

Eliminates a warning during testing.

12 years agoRework parsing of the namespace argument
Iustin Pop [Tue, 15 May 2012 19:24:04 +0000 (21:24 +0200)]
Rework parsing of the namespace argument

In Python 3, we cannot accept (easily) bytes or None, so we have to
change how we accept the namespace argument.

Previously, if the argument was not passed or it was None, it was
considered missing. Since the None option is no longer possible, we
change it so that if not passed or passed as an empty string, it is
considered missing. This changes the behaviour somewhat, but I hope
that empty namespaces are not used (that's what I understand from
reading various pages on the internet).

12 years agoRemove use of deprecated fail* test functions
Iustin Pop [Tue, 15 May 2012 19:23:20 +0000 (21:23 +0200)]
Remove use of deprecated fail* test functions

12 years agoRework init sequence
Iustin Pop [Mon, 14 May 2012 22:38:56 +0000 (00:38 +0200)]
Rework init sequence

This makes it a bit more clean, and thus removes the last refcount
issue; however, the code itself is much uglier :(

12 years agoA few docstring fixes
Iustin Pop [Mon, 14 May 2012 22:23:12 +0000 (00:23 +0200)]
A few docstring fixes

12 years agoFix a (harmless) integer mismatch
Iustin Pop [Mon, 14 May 2012 22:20:35 +0000 (00:20 +0200)]
Fix a (harmless) integer mismatch

This is not critical, but let's not over-optimise and request a byte
when we store it anyway in an int…

12 years agoCheck merge_ns return value in all places
Iustin Pop [Mon, 14 May 2012 22:17:39 +0000 (00:17 +0200)]
Check merge_ns return value in all places

This eliminates another potential round of errors. Also add cpychecker
attribute for even less noise.

12 years agoRework merge_ns signature
Iustin Pop [Mon, 14 May 2012 22:12:30 +0000 (00:12 +0200)]
Rework merge_ns signature

This is also in order to clarify what is an "error" return for
cpychecker.

Note that most calls to this function do not have yet error checking,
will be fixed in separate patch.

12 years agoFix a case of missing exception on return NULL
Iustin Pop [Mon, 14 May 2012 22:04:54 +0000 (00:04 +0200)]
Fix a case of missing exception on return NULL

Now that the noise is gone, this is an actual error.

12 years agoRename a variable for more consistency
Iustin Pop [Mon, 14 May 2012 21:54:09 +0000 (23:54 +0200)]
Rename a variable for more consistency

At least, more consistency in the output of git grep convertObj :)

12 years agoMark convertObj as setting the exception on errors
Iustin Pop [Mon, 14 May 2012 21:53:40 +0000 (23:53 +0200)]
Mark convertObj as setting the exception on errors

This eliminates lots of clutter from the cpychecker output, yay!

12 years agoSwitch converObj to negative error return
Iustin Pop [Mon, 14 May 2012 21:48:12 +0000 (23:48 +0200)]
Switch converObj to negative error return

This will allow cpychecker to know that this function has set the
exception already, eliminating false positives.

12 years agoFix some const char* pointers
Iustin Pop [Mon, 14 May 2012 21:40:35 +0000 (23:40 +0200)]
Fix some const char* pointers

This reduces the warnings, and it's a good thing to do.

12 years agoSwitch to setuptools
Iustin Pop [Mon, 14 May 2012 20:50:43 +0000 (22:50 +0200)]
Switch to setuptools

For proper testsuite support.

12 years agoFix small typo
Iustin Pop [Mon, 14 May 2012 20:48:40 +0000 (22:48 +0200)]
Fix small typo

12 years agoFix some potential issues if PyBytes_FromString fails
Iustin Pop [Mon, 14 May 2012 20:37:56 +0000 (22:37 +0200)]
Fix some potential issues if PyBytes_FromString fails

This is unlikely, but if it happens it's ugly.

12 years agoFix bugs reported by cpychecker
Iustin Pop [Mon, 14 May 2012 20:32:07 +0000 (22:32 +0200)]
Fix bugs reported by cpychecker

Thanks to Dave Malcolm's cpychecker tool, this patch fixes a number of
serious issues. All issues that were not deemed false-positives were
fixed; some other issues in the same category that were found only by
a high number of refcount checks are also fixed (I should
split/simplify some parts of the code…).

14 years agoIncrease version to 0.5.0 v0.5.0
Iustin Pop [Sun, 27 Dec 2009 13:30:14 +0000 (14:30 +0100)]
Increase version to 0.5.0

14 years agoImprove the unittest runner
Iustin Pop [Sun, 27 Dec 2009 13:13:58 +0000 (14:13 +0100)]
Improve the unittest runner

This uses only existing python interpreters and does a cleanup before
building the unittest, to help with stale objects.

16 years agoFix a size_t/ssize_t mismatch
Iustin Pop [Sun, 14 Dec 2008 20:12:43 +0000 (21:12 +0100)]
Fix a size_t/ssize_t mismatch

ACL library functions return a ssize_t, so all variables that hold
return values from such return types must be ssize_t, otherwise
comparisons with -1 will fail.

16 years agoSmall style fixes
Iustin Pop [Sun, 14 Dec 2008 18:11:30 +0000 (19:11 +0100)]
Small style fixes

16 years agoAdd python 3 support
Iustin Pop [Sun, 14 Dec 2008 17:47:51 +0000 (18:47 +0100)]
Add python 3 support

This big patch does a few things (which are hard to split):
  - uniformize all function w.r.t. the error exit path (all functions
    now use only one exit point)
  - move from 's' to 'et' format in ParseArgs so that we can accept both
    binary and text, in both 2.x and 3.0
  - update the unittest for py3k

16 years agoInitialize local variables
Iustin Pop [Sun, 14 Dec 2008 17:46:01 +0000 (18:46 +0100)]
Initialize local variables

This patch prepares for the "et" format conversion by initializing the
local variables; it also adds a new "res" object for returns and adds a
few style fixes.

16 years agoAdd a new field to the target_t structure
Iustin Pop [Sun, 14 Dec 2008 17:41:34 +0000 (18:41 +0100)]
Add a new field to the target_t structure

The patch extends the target_t structure with a new PyObject field and
adds a cleanup function for it. This field is needed for properly
handling unicode input arguments with Py3K.

16 years agoMake the module setup py3k-compatible
Iustin Pop [Thu, 11 Dec 2008 09:16:55 +0000 (10:16 +0100)]
Make the module setup py3k-compatible

This patch converts the initialization of the module to work with both
2.x and 3.0.

16 years agoAdd script to run tests
Iustin Pop [Thu, 11 Dec 2008 09:12:54 +0000 (10:12 +0100)]
Add script to run tests

Since we don't have setuptools for now, we add a script to run tests and
modify the test script to work without setuptools.

16 years agoSwitch back to distutils
Iustin Pop [Thu, 11 Dec 2008 09:10:53 +0000 (10:10 +0100)]
Switch back to distutils

Python 3.0 doesn't yet have setuptools, so temporarily we switch back to
distutils.

16 years agoAdd license information to source file
Iustin Pop [Sun, 6 Jul 2008 08:37:43 +0000 (10:37 +0200)]
Add license information to source file

16 years agoIncrease version to 0.4.0 v0.4.0
Iustin Pop [Mon, 30 Jun 2008 20:07:06 +0000 (22:07 +0200)]
Increase version to 0.4.0

16 years agoUpdate MANIFEST.in file for the release
Iustin Pop [Mon, 30 Jun 2008 20:14:50 +0000 (22:14 +0200)]
Update MANIFEST.in file for the release

16 years agoSome final docstring touches before release
Iustin Pop [Mon, 30 Jun 2008 20:04:50 +0000 (22:04 +0200)]
Some final docstring touches before release

16 years agoUpdate license to LGPLv2.1 or later
Iustin Pop [Mon, 30 Jun 2008 19:58:51 +0000 (21:58 +0200)]
Update license to LGPLv2.1 or later

16 years agounittests: enhance symlink tests
Iustin Pop [Mon, 30 Jun 2008 19:17:08 +0000 (21:17 +0200)]
unittests: enhance symlink tests

The patch adds support for testing the behaviour of non-dangling
symlinks; we test that indeed attributes set on the target file are not
visible on the symlink when using nofollow.

16 years agoSome more docstring updates
Iustin Pop [Mon, 30 Jun 2008 18:42:55 +0000 (20:42 +0200)]
Some more docstring updates

16 years agoDocstring updates
Iustin Pop [Mon, 30 Jun 2008 07:08:45 +0000 (09:08 +0200)]
Docstring updates

More epydoc features are now used for prettier output.

16 years agoMore PEP 353 compliancy (new-style functions)
Iustin Pop [Mon, 30 Jun 2008 06:06:00 +0000 (08:06 +0200)]
More PEP 353 compliancy (new-style functions)

16 years agoReorder some declarations
Iustin Pop [Mon, 30 Jun 2008 05:33:27 +0000 (07:33 +0200)]
Reorder some declarations

It's better to have the 'system' defs before our user defs.

16 years agoUpdate .gitignore
Iustin Pop [Mon, 30 Jun 2008 05:32:30 +0000 (07:32 +0200)]
Update .gitignore

16 years agoMerge branch 'fixes' into new_style
Iustin Pop [Mon, 30 Jun 2008 05:20:25 +0000 (07:20 +0200)]
Merge branch 'fixes' into new_style

Fixed conflicts in:

xattr.c

16 years agoImplement changes needed for PEP 353 compliance
Iustin Pop [Mon, 30 Jun 2008 05:16:53 +0000 (07:16 +0200)]
Implement changes needed for PEP 353 compliance

It seems the coded wrongly mixed ssize_t and ints in a couple of places,
plus not properly using Py_ssize_t as needed. Fix these and ensure
backwards compat with python 2.4.

16 years agounittests: add many checks for namespace ops
Iustin Pop [Sun, 29 Jun 2008 22:13:38 +0000 (00:13 +0200)]
unittests: add many checks for namespace ops

The patch adds in many places checks for result correctness when using
namespaces, and for the equality of non-ns versus ns usage.

16 years agoChange the get_all function when using namespaces
Iustin Pop [Sun, 29 Jun 2008 21:35:36 +0000 (23:35 +0200)]
Change the get_all function when using namespaces

This patch changes the returned names from get_all() so that if a
namespace was passed, it and the prefix will be stripped from the names.

Also the docstring for list() was changed to have the same wording as
this one with regard to the names returned.

16 years agoChange the match_ns function syntax
Iustin Pop [Sun, 29 Jun 2008 21:26:10 +0000 (23:26 +0200)]
Change the match_ns function syntax

This patch changes the order of the two arguments and makes the function
return either NULL (failure) or a pointer to the (possibly shortened)
name, so that getting the short name is easier.

16 years agoDocstring updates
Iustin Pop [Sun, 29 Jun 2008 21:21:00 +0000 (23:21 +0200)]
Docstring updates

16 years agoAdd new-style list function
Iustin Pop [Sun, 29 Jun 2008 21:01:04 +0000 (23:01 +0200)]
Add new-style list function

16 years agounittests: allow changing the test dir
Iustin Pop [Sun, 29 Jun 2008 20:50:59 +0000 (22:50 +0200)]
unittests: allow changing the test dir

16 years agoAdd new-style remove function
Iustin Pop [Sun, 29 Jun 2008 20:45:54 +0000 (22:45 +0200)]
Add new-style remove function

16 years agoAdd the new-style get function
Iustin Pop [Sun, 29 Jun 2008 20:33:12 +0000 (22:33 +0200)]
Add the new-style get function

16 years agoCorrect the signature of the generic tgt methods
Iustin Pop [Sun, 29 Jun 2008 20:30:21 +0000 (22:30 +0200)]
Correct the signature of the generic tgt methods

16 years agoAdd new-style set() function
Iustin Pop [Sun, 29 Jun 2008 18:24:35 +0000 (20:24 +0200)]
Add new-style set() function

This patch adds a new style set function and a generic merge_ns function
for combining a namespace string and an attribute name into the final
name.

The patch also duplicates all test methods for dual testing of new-style
and deprecated functions.

16 years agoSome small fixes in get_all
Iustin Pop [Sun, 29 Jun 2008 17:46:03 +0000 (19:46 +0200)]
Some small fixes in get_all

16 years agoAdd unittests for the get_all function
Iustin Pop [Sun, 29 Jun 2008 17:43:57 +0000 (19:43 +0200)]
Add unittests for the get_all function

16 years agoMerge branch 'fixes' into multiget
Iustin Pop [Sun, 29 Jun 2008 17:37:11 +0000 (19:37 +0200)]
Merge branch 'fixes' into multiget

16 years agoSimplify the return None cases
Iustin Pop [Sun, 29 Jun 2008 17:36:24 +0000 (19:36 +0200)]
Simplify the return None cases

16 years agoMerge branch 'fixes' into multiget
Iustin Pop [Sun, 29 Jun 2008 17:31:04 +0000 (19:31 +0200)]
Merge branch 'fixes' into multiget

16 years agoRename dolink to nofollow
Iustin Pop [Sun, 29 Jun 2008 17:30:32 +0000 (19:30 +0200)]
Rename dolink to nofollow

This name makes more sense.

16 years agoMerge branch 'fixes' into multiget
Iustin Pop [Sun, 29 Jun 2008 17:28:10 +0000 (19:28 +0200)]
Merge branch 'fixes' into multiget