Stas Rudakou
75d2da797e
[1.7.x] Fixed #22266 - quote PK before redirecting away from add_view (django.contrib.admin)
...
Backport of ebd70d4d00
from master.
2014-05-16 18:38:26 +02:00
Erik Romijn
2a66d12e77
[1.7.x] Fixed #22579 -- Corrected validation for email to reject trailing slash
...
Backport of 424fe76349
from master.
2014-05-16 15:19:21 +02:00
Stephen Burrows
79f15ab1ef
[1.7.x] Fixed #22628 -- Took initial forms into account when combining FormSet.min_num and FormSet.extra.
2014-05-16 06:37:05 -04:00
mbacho
6f0dcec44c
[1.7.x] Fixed typo in multipartparser.py
...
Backport of 8a9d54aa69
from master
2014-05-16 05:35:28 -04:00
Claude Paroz
e8a7436941
[1.7.x] Harmonized some PEP 0263 coding preambles
...
Backport of e520a73ee
from master.
2014-05-15 20:01:31 +02:00
Anders Steinlein
2914f66983
[1.7.x] Fixed #17642 -- Added min_num support to modelformsets, inlines, and the admin.
...
Thanks Stephen Burrows for work on the patch as well.
2014-05-15 07:02:06 -04:00
Collin Anderson
93d5b0d5b6
[1.7.x] typo: urlaprse -> urlparse
...
Backport of 8a2f04db91
from master
2014-05-15 06:36:14 -04:00
Jacob Kaplan-Moss
95cf17244c
Bumped version number for release.
2014-05-14 18:45:54 +02:00
Erik Romijn
e7b0cace45
[1.7.x] Added additional checks in is_safe_url to account for flexible parsing.
...
This is a security fix. Disclosure following shortly.
2014-05-14 10:18:27 +02:00
Aymeric Augustin
7fef18ba9e
[1.7.x] Dropped fix_IE_for_vary/attach.
...
This is a security fix. Disclosure following shortly.
2014-05-14 10:18:26 +02:00
Claude Paroz
9d0ebceb32
[1.7.x] Fixed #21685 -- Displayed app verbose name in admindocs model index
...
Backport of 4cf82e5bcf
from master.
2014-05-10 18:10:05 +02:00
Aymeric Augustin
e9d0ef19bc
[1.7.x] Fixed #22508 -- Avoided overwriting select_related.
...
Previously, known related objects overwrote related objects loaded
though select_related. This could cancel the effect of select_related
when it was used over more than one level.
Thanks boxm for the bug report and timo for bisecting the regression.
Backport of f574220f
from master
2014-05-10 17:03:42 +02:00
Aymeric Augustin
c54fb3d922
[1.7.x] Adjusted refactoring of vendor checks.
...
Thanks Shai for the thorough review.
Backport of fb90b7c
from master
2014-05-10 14:55:22 +02:00
Stephen Burrows
0c198035e9
[1.7.x] Fixed #22502 -- Fixed microseconds/default/form interaction
...
Made explicit lack of microsecond handling by built-in datetime form
fields. Used that explicitness to appropriately nix microsecond
values in bound fields. Thanks Claude Paroz for the review.
Backport of a5de0df58
from master.
2014-05-10 10:58:51 +02:00
Malcolm Box
8a090c21f1
[1.7.x] Fixed #22606 -- Locmemcache has_key() failed for infinite cache expiry
...
Refactored cache expiry logic for Locmemcache to make consistent across
all places where accessed, and correctly handle None as expiry time.
Backport of 66880e4cd
from master.
2014-05-09 19:47:43 +02:00
Andrew Godwin
1e8b1db050
[1.7.x] Fixed #22325 : Ignore __first__ dependencies to your own app
2014-05-08 21:39:31 -07:00
Andrew Godwin
4535dedc42
[1.7.x] Fixed #22563 : Ignore AUTH_USER_MODEL errors in from_state
2014-05-08 21:34:57 -07:00
Andrew Godwin
d2e96b5792
Merge pull request #2637 from davidszotten/validator_comparisons
...
[1.7.x] Fixed #22588 -- Fix RegexValidator __eq__
2014-05-08 19:49:59 -07:00
Aymeric Augustin
7194d40236
[1.7.x] Added feature flags for introspection capabilities.
...
Backport of 99d9fa32
from master
2014-05-08 22:53:21 +02:00
Aymeric Augustin
92a1e71100
[1.7.x] Split ignores_nulls_in_unique_constraints feature.
...
Oracle and SQL Server don't have exactly the same limitations. It's
worth treating them differently.
Backport of cff59bed
from master
2014-05-08 22:53:11 +02:00
Aymeric Augustin
e3bc11cca9
[1.7.x] Replaced vendor checks by three feature flags.
...
Backport of c70a61eb
from master
2014-05-08 22:53:00 +02:00
Aymeric Augustin
e244e456c7
[1.7.x] Appeased flake8.
...
Backport of b1432bfc
from master
2014-05-08 22:45:26 +02:00
Claude Paroz
189bcb9b09
[1.7.x] Removed unused imports in makemigrations
...
Backport of fc32e9c0d
from master.
2014-05-08 19:40:48 +02:00
Andrew Godwin
f2bf59a5bc
[1.7.x] Fixed #22476 : Couldn't alter attributes on M2Ms with through= set
2014-05-08 10:34:45 -07:00
Ramiro Morales
bc82c0dbac
[1.7.x] Restored site header text in password reset view.
...
It's the one shown when the optional integration described in
https://docs.djangoproject.com/en/dev/ref/contrib/admin/#adding-a-password-reset-feature
is used.
Follow-up to commits 6f470650d0
and 1d42a86ec7
, together they fix
different small UI regressions after a962286b74
.
Refs #21293 .
5ea34f3f86
from master.
2014-05-07 23:32:36 -03:00
Andrew Godwin
7f63ac5a9f
[1.7.x] Fixed #22496 : Data migrations get transactions again!
2014-05-07 14:29:04 -07:00
Andrew Godwin
d8bf415ab2
[1.7.x] Fixed #22581 : Pass default values for schema through get_db_prep_save()
2014-05-07 13:47:02 -07:00
Andrew Godwin
f67433e74b
[1.7.x] Fixed #22563 : Better error message when trying to change AUTH_USER_MODEL
...
You're not allowed to do this after you've made migrations; see ticket
for more details.
2014-05-07 13:05:32 -07:00
David Szotten
724a7bf222
[1.7.x] Fixed #22588 -- Fix RegexValidator __eq__
...
Compare parameters instead of re.pattern instances, and add the other
parameters to the comparison. Also add a __ne__ to make assertNotEqual
work properly.
2014-05-07 19:28:42 +01:00
Andrew Godwin
2afb6e0526
[1.7.x] Fixed #22576 : Ensure makemigrations doesn't touch the database.
2014-05-06 22:42:53 -07:00
Andrew Godwin
f53d1576ca
[1.7.x] Fixed #22337 : FileSystemStorage marked as deconstructible and tested.
2014-05-06 22:24:39 -07:00
Tim Graham
a75318e813
[1.7.x] Fixed #22586 -- Added LANGUAGE_SESSION_KEY to __all__.
...
Thanks david.fischer.ch at gmail.com for the report.
Backport of 4492ea5475
from master
2014-05-06 19:50:32 -04:00
Claude Paroz
0d138b9cf4
[1.7.x] Fixed #22564 -- Prevented unneeded bytestrings in migrations
...
In some cases, this could lead to migrations written with Python 2
being incompatible with Python 3.
Thanks Tim Graham for the report and Loïc Bistuer for the advices.
Backport of da9cf53cb
from master.
2014-05-06 09:14:32 +02:00
Claude Paroz
e8f1395f4e
[1.7.x] Added a bunch of missing unicode_literals
...
Refs #22564 .
Backport of 12474dace
from master.
2014-05-06 09:14:03 +02:00
Ben Davis
549b658241
[1.7.x] Fixed #22570 -- Made Form.__getitem__ KeyError more descriptive.
...
Backport of df60db0e78
from master
2014-05-05 20:02:14 -04:00
Anssi Kääriäinen
76979a257d
[1.7.x] Fixed #22466 -- ordering by reverse foreign key
...
Ordering by reverse foreign key was broken by custom lookups patch
(commit 20bab2cf9d
).
Thanks to everybody who helped solving this issue. Special thanks to
Trac alias takis for reporting this.
Backport of 3b7c66a3ac
from master
2014-05-05 15:29:24 +03:00
Jakub Roztocil
4b6ba2c1d1
[1.7.x] Fixed #22489 -- missing implemenation for search lookup
...
When custom lookups were added, converting the search lookup to use
the new Lookup infrastructure wasn't done.
Some changes were needed to the added test, main change done by
committer was ensuring the test works on MySQL versions prior to 5.6.
Backport of 7131e14d00
from master
2014-05-05 14:40:06 +03:00
Anssi Kääriäinen
402fc4f6c9
[1.7.x] Fixed #22429 -- Incorrect SQL when using ~Q and F
...
Backport of 5e1f4656b9
from master
2014-05-05 13:06:51 +03:00
Tim Graham
f8fa735dc2
[1.7.x] Fixed #22435 -- Prevented adding a ManyToManyField from prompting for a default.
...
Thanks andrewsg for the report.
Backport of 3818d96426
from master
2014-05-02 20:53:39 -04:00
Claude Paroz
61fd00d4fd
[1.7.x] Fixed #22565 -- Prevented pgettext_lazy crash with bytestring input
...
Thanks ygbo for the report.
Backport of 142c27218
from master.
2014-05-02 19:33:58 +02:00
Chris Beaven
5ab93bbe74
[1.7.x] Fix migration autodector to work correctly with custom deconstructed values
2014-05-02 15:12:42 +12:00
Yehonatan Daniv
d56267ba57
[1.7.x] Fixed #22539 -- Copied exclude argument in Model.full_clean() to prevent side effects.
...
Backport of e2e4cdba11
from master
2014-05-01 09:30:49 -04:00
Tim Graham
e5941ba5f3
[1.7.x] flake8 fixes.
...
Backport of 45c2d1f5d9
from master.
2014-04-30 18:35:40 -04:00
Andrew Godwin
6ca5367869
[1.7.x] Cleanup failing test w/contenttypes and remove useless graph load
2014-04-30 15:12:18 -07:00
Andrew Godwin
35c2a14a49
[1.7.x] Fixed #22485 : Include all unmigrated apps in project state by default.
2014-04-30 12:26:11 -07:00
Simon Charette
a6ecd5dbb3
[1.7.x] Fixed #19195 -- Allow explicit ordering by a relation `_id` field.
...
Thanks to chrisedgemon for the report and shaib, akaariai and
timgraham for the review.
Backport of 24ec9538b7
from master
2014-04-30 14:26:39 -04:00
Claude Paroz
1084456ac2
[1.7.x] Fixed #22474 -- Made migration recorder aware of multiple databases
...
Thanks Tim Graham for the review.
Backport of 7c54f8cce
from master.
2014-04-30 16:55:12 +02:00
Tim Graham
a2cac1b68d
[1.7.x] Removed unused import.
...
Backport of d9c272b22f
from master
2014-04-30 07:27:56 -04:00
Bruno Ribeiro da Silva
72493b1b7c
[1.7.x] Fixed #22511 -- Added args to migrations management commands.
...
Backport of 83413c53d2
from master
2014-04-30 07:20:44 -04:00
Simon Charette
f02f20a739
[1.7.x] Use the new implementation of `six.with_metaclass`.
...
No more `NewBase` horrors.
Thanks to bendavis78 for his work on merging this into six.
Backport of a2340ac6d6
from master
2014-04-29 10:55:36 -04:00
Ramiro Morales
62bbfba3aa
[1.7.x] Removed bogus, ineffective 'U' flag from codecs.open() call.
...
2df7238512
from master.
2014-04-29 07:52:43 -03:00
Tim Graham
1d20693fa6
[1.7.x] Revert "Fixed #15179 -- middlewares not applied for test client login()"
...
This reverts commit 4fdd51b732
.
See the ticket for concerns with this implementation; it will be revisited.
Backport of aabceadd7d
from master
2014-04-28 18:49:24 -04:00
James Bennett
edca57817f
[1.7.x] Bump version number for 1.7 beta 3 bugfix release.
2014-04-28 15:46:13 -05:00
Alex Gaynor
996564df4d
[1.7.x] Fix many many typos in comments throughout the codebase
...
Backport of 2bcb8bfc8d
from master
2014-04-26 14:35:57 -04:00
Aymeric Augustin
3bb0f118ca
[1.7.x] Fixed #3214 -- Stopped parsing SQL with regex.
...
Avoided introducing a new regex-based SQL splitter in the migrations
framework, before we're bound by backwards compatibility.
Adapted this change to the legacy "initial SQL data" feature, even
though it's already deprecated, in order to facilitate the transition
to migrations.
sqlparse becomes mandatory for RunSQL on some databases (all but
PostgreSQL). There's no API to provide a single statement and tell
Django not to attempt splitting. Since we have a more robust splitting
implementation, that seems like a good tradeoff. It's easier to add a
new keyword argument later if necessary than to remove one.
Many people contributed to both tickets, thank you all, and especially
Claude for the review.
Refs #22401 .
Backport of 8b5b199
from master
2014-04-26 17:46:57 +02:00
Aymeric Augustin
6b38e48ba1
[1.7.x] Fixed #21166 -- Reset errors_occurred flag after commit and rollback.
...
Backport of 3033a71
from master.
Conflicts:
django/db/backends/__init__.py
2014-04-25 22:52:51 +02:00
Tim Graham
6d87acc390
[1.7.x] Fixed #22515 -- Fixed the object_id of the LogEntry that's created after a user password change in the admin.
...
Thanks ross at servercode.co.uk for the report.
Backport of 9e7f86b890
from master
2014-04-25 08:36:20 -04:00
Aymeric Augustin
782fa14db4
[1.7.x] Set some transaction-related feature flags on SQLite.
...
Refs #22496 .
Backport of e368912
from master.
2014-04-25 11:45:58 +02:00
Shai Berger
b8b179bbf5
[1.7.x] Fixed #22498 -- constraint name was not quoted in FK creation SQL
...
Backport of 843613add4
from master
2014-04-25 01:35:59 +03:00
Shai Berger
7421e1e320
[1.7.x] Made sure cursor.close() does not complain if cursor is already closed on Oracle
...
Refs #22483
Backport of 53d97e4fe3
from master
2014-04-25 01:35:38 +03:00
Aymeric Augustin
9bbb43dd1a
[1.7.x] Ignored repeated calls to connection.close().
...
Backport of d4cc59ef from master
2014-04-24 08:43:24 +02:00
Aymeric Augustin
5cd6429620
[1.7.x] Prevented a crash in the cursor wrappers on Oracle.
...
Fixed #22483 (again).
Backport of 0f85103e from master
2014-04-24 08:43:16 +02:00
Aymeric Augustin
e32e359d6a
[1.7.x] Used the same instance of atomic for entry and exit.
...
Since all state is maintained on the connection at this time and none in
the atomic, it doesn't matter, but it could introduce some subtle bugs
if the implementation changed in the future.
Backport of 0aa4c6c3
from master
2014-04-23 21:45:49 +02:00
Aymeric Augustin
9bf890f6f9
[1.7.x] Wrapped migrations in a transaction only on DBs with transactional DDL.
...
Backport of e74d2183
from master
2014-04-23 21:45:38 +02:00
Claude Paroz
0424c84d54
[1.7.x] Set compile messages options as class variable
...
Refs #18714 . Same logic as options for makemessages commands.
Backport of 3a435a057
from master.
2014-04-23 15:16:38 +02:00
Malcolm Box
07235aec9d
[1.7.x] Fixed #22495 -- Locmem cache.add() failed with infinite timeouts
...
cache.add() incorrectly succeeded when there was an existing key
with an infinite (None) timeout.
Backport of af5f688392
from master.
2014-04-23 14:56:54 +02:00
Tim Graham
e192f13103
[1.7.x] Fixed #22486 -- Restored the ability to reverse views created using functools.partial.
...
Regression in 8b93b31487
.
Thanks rcoup for the report.
Backport of 3c06b2f2a3
from master
2014-04-23 08:49:53 -04:00
Claude Paroz
c3228ef3e2
[1.7.x] Added Spatialite support to the new migration framework
...
Refs #22451 .
Backport of 2ffa6ca73a
from master.
2014-04-23 13:48:36 +02:00
Claude Paroz
423e2cf1ea
[1.7.x] Used migration framework in GIS test tearDown
...
Backport of 48c4ea414
from master.
2014-04-23 13:47:49 +02:00
Claude Paroz
1d0f1ee199
[1.7.x] Fixed table cleanup in GIS migration tests
...
Backport of ab90c4707b
from master.
2014-04-22 19:52:58 +02:00
Claude Paroz
417e9f383f
[1.7.x] Fixed removal of GIS column in PostGIS 1.x migration
...
Refs #22481 .
Backport of 2f9d1576e
from master, squashed with 2f9d1576e8
.
2014-04-22 19:52:58 +02:00
Claude Paroz
5c19c698b1
[1.7.x] Fixed adding new GIS column in PostGIS 1.x migration
...
Refs #22451 .
Backport of fb09a489c
from master.
2014-04-22 19:52:58 +02:00
Preston Timmons
935159d951
[1.7.x] Fixed #22478 -- Regression in test label discovery.
...
As part of the app-loading updates the old test runner was changed to not
require a models module. This introduced a regression in behavior so
applabel.TestCase failed for tests defined in a directory.
The fix is thanks to yakky and rtnpro.
2014-04-22 12:48:39 -04:00
Florian Apolloner
97b5833e21
[1.7.x] Fixed #22426 -- Added support old-style d.c.messages format.
...
Forward ported code from 1.5 that adds backwards compatibility with legacy message length.
See commit 9e7183073f
for details.
Thanks to Ofir Ovadia for the initial patch.
Backport of f286721f7f
from master.
2014-04-22 10:47:26 +02:00
James Bennett
df81625da6
[1.7.x] Update for 1.7b2 security release.
2014-04-21 18:21:55 -05:00
Erik Romijn
34526c2f56
[1.7.x] Fixed queries that may return unexpected results on MySQL due to typecasting.
...
This is a security fix. Disclosure will follow shortly.
Backport of 75c0d4ea3a
from master
2014-04-21 18:29:39 -04:00
Aymeric Augustin
380545bf85
[1.7.x] Prevented leaking the CSRF token through caching.
...
This is a security fix. Disclosure will follow shortly.
Backport of c083e3815a
from master
2014-04-21 18:29:24 -04:00
Tim Graham
546740544d
[1.7.x] Fixed a remote code execution vulnerabilty in URL reversing.
...
Thanks Benjamin Bach for the report and initial patch.
This is a security fix; disclosure to follow shortly.
Backport of 8b93b31487
from master
2014-04-21 18:29:12 -04:00
Aymeric Augustin
62eb79fc4c
[1.7.x] Appeased flake8 2.1.0.
...
Backport of 428c0bbe1b
from master
2014-04-21 07:50:50 -04:00
Alex Gaynor
50dddbdfc7
[1.7.x] Corrected many style guide violations that the newest version of flake8 catches
...
Backport of 778ce245dd
from master
2014-04-21 07:50:43 -04:00
Simon Charette
33d1dc2eeb
[1.7.x] Fixed flake8 warnings introduced in recent commits.
...
Backport of 79f05616fb
from master
2014-04-20 13:10:52 -04:00
Tim Graham
9e86c3f0a6
[1.7.x] Fixed flake8 errors.
...
Backport of 471fb04a30
from master
2014-04-20 13:09:12 -04:00
Andrew Gorcester
bc5d568e1e
[1.7.x] Fixed #22397 -- Issues removing M2M field with explicit through model
...
Changed the migration autodetector to remove models last so that FK
and M2M fields will not be left as dangling references. Added a check
in the migration state renderer to error out in the presence of
dangling references instead of leaving them as strings. Fixed a bug
in the sqlite backend to handle the deletion of M2M fields with
"through" models properly (i.e., do nothing successfully).
Thanks to melinath for report, loic for tests and andrewgodwin and
charettes for assistance with architecture.
Backport of 956bd64424
from master
2014-04-18 18:34:00 -04:00
Claude Paroz
13340df769
[1.7.x] Adapted fixture read mode to file type
...
Binary mode added in ed532a6a1e
is not supported by ZipFile.
Refs #22399 .
Backport of 275811a93
from master.
2014-04-18 19:24:39 +02:00
Claude Paroz
8d7023dc71
[1.7.x] Fixed #22399 -- Forced fixture reading in binary mode
...
This might help on systems where default encoding is not UTF-8 (and
on Python 3).
Thanks bacilla for the report.
Backport of ed532a6a1
from master.
2014-04-18 17:56:14 +02:00
Moayad Mardini
4df5dc42dd
[1.7.x] Fixed #22454 - Changed compatibility warning hint
...
The warning hint of `_check_test_runner` of 1.6 compatibility had a link
to a general release note. The link should be edited to refer the
relevant "Backwards incompatible changes in 1.6" section that documents
the cause and the possible solutions and workarounds of the warning.
Backport of 214d1e1b0f
from master
2014-04-17 20:42:04 -04:00
Tim Graham
548acd77fd
[1.7.x] Fixed a KeyError on login with legacy sessions; refs #21649 .
...
Thanks Loic for the report.
Backport of 11e30b684d
from master
2014-04-17 20:07:05 -04:00
Claude Paroz
f039c555ca
[1.7.x] Fixed #22456 -- Replaced 900913 EPSG code by 3857 in some tests
...
3857 is now the official EPSG code for the Google spherical mercator
projection and some recent versions of GDAL do not recognize 900913
any longer.
Thanks Tim Graham for the report and initial patch.
Backport of c082f3c74c
from master.
2014-04-17 21:21:27 +02:00
Justin Hamade
7f8bd1a4b3
[1.7.x] Fixed #22434 -- Retain ordering on related sliced subqueries.
...
Thanks maciej.pawlisz for the report, and charettes for the review.
Backport of a13df671a5
from master
2014-04-16 18:02:25 -04:00
Motiejus Jakštys
71c8ae543f
[1.7.x] Fixed #22460 -- Explicity remove constraints when dropping a related field.
...
Backport of 0e45669fa9
from master
2014-04-16 16:37:08 -04:00
Simon Charette
9fb61cb64a
[1.7.x] Fixed #22350 -- Consistently serialize bytes and text in migrations.
...
Thanks to @treyhunner and Loïc for their suggestions and review.
Backport of 72d3889db4
from master
2014-04-13 19:03:20 -04:00
valtron
6b3a8d2705
[1.7.x] Fixed #21760 -- prefetch_related used an inefficient query for reverse FK.
...
Regression introduced by commit 9777442
. Refs #21410 .
Backport of d3b71b976d
from master
2014-04-13 00:51:38 +07:00
Claude Paroz
a6eda3a5fc
[1.7.x] Also allowed a non-overridden setting to be deleted
...
Refs #20032 , #18824 . Thanks ztorstri at gmail.com for the report.
Backport of 3417ba0309
from master.
2014-04-12 15:35:11 +02:00
Claude Paroz
d9f8cc12ae
[1.7.x] Fixed #22102 -- Made SimpleTestCase tests run before unittest.TestCase ones
...
Thanks aptiko for the report and Tim Graham for the review.
Backport of 3e3a7372f5
from master.
2014-04-12 11:43:10 +02:00
Aymeric Augustin
3f48ca2071
[1.7.x] Improved a comment. Thanks intgr for the report.
...
Backport of 476db08
from master
2014-04-11 23:03:25 +02:00
Aymeric Augustin
1bcc8eb0f6
[1.7.x] Increased robustness of 58161e4e
. Refs #22291 .
...
Backport of ee837b9a
from master
2014-04-10 23:18:36 +02:00
Aymeric Augustin
2ad0bc132a
[1.7.x] Fixed #21202 -- Maintained atomicity when the server disconnects.
...
Thanks intgr for the report.
This commit doesn't include a test because I don't know how to emulate a
database disconnection in a cross-database compatible way.
Also simplified a 'backends' test that was constrained by this problem.
Backport of 81761508
from master
2014-04-10 23:18:36 +02:00
Aymeric Augustin
2e42c859da
[1.7.x] Fixed #21239 -- Maintained atomicity when closing the connection.
...
Refs #15802 -- Reverted #7c657b24 as BaseDatabaseWrapper.close() now
has a proper "finally" clause that may need to preserve self.connection.
Backport of 25860096
from master.
2014-04-10 23:18:35 +02:00
Aymeric Augustin
5f22bda382
[1.7.x] Fixed #22321 -- Wrapped exceptions in _set_autocommit.
...
Refs #21202 .
Backport of 3becac84
from master
2014-04-10 23:06:58 +02:00
Aymeric Augustin
7e89434084
[1.7.x] Fixed #22291 -- Avoided shadowing deadlock exceptions on MySQL.
...
Thanks err for the report.
Backport of 58161e4e
from master.
2014-04-10 23:02:54 +02:00