[tryton-debian-vcs] tryton-server branch upstream updated. upstream/3.8.2-1-g05fe3c2
Mathias Behrle
tryton-debian-vcs at alioth.debian.org
Wed Feb 10 19:55:48 UTC 2016
The following commit has been merged in the upstream branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/tryton-server.git;a=commitdiff;h=upstream/3.8.2-1-g05fe3c2
commit 05fe3c240e9b7465bf40495095a8f52ee3989322
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Wed Feb 10 18:16:09 2016 +0100
Adding upstream version 3.8.3.
Signed-off-by: Mathias Behrle <mathiasb at m9s.biz>
diff --git a/CHANGELOG b/CHANGELOG
index c67bc63..7d6c5bc 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,9 @@
+Version 3.8.3 - 2016-02-06
+* Bug fixes (see mercurial logs for details)
+* Strip and unquote double-quote from Postgresql schema in search_path
+* Don't read historized user when evaluating record rules as it could lead to
+ past privilege escalation.
+
Version 3.8.2 - 2016-01-11
* Bug fixes (see mercurial logs for details)
diff --git a/PKG-INFO b/PKG-INFO
index e6aa46b..c944c45 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: trytond
-Version: 3.8.2
+Version: 3.8.3
Summary: Tryton server
Home-page: http://www.tryton.org/
Author: Tryton
diff --git a/trytond.egg-info/PKG-INFO b/trytond.egg-info/PKG-INFO
index e6aa46b..c944c45 100644
--- a/trytond.egg-info/PKG-INFO
+++ b/trytond.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: trytond
-Version: 3.8.2
+Version: 3.8.3
Summary: Tryton server
Home-page: http://www.tryton.org/
Author: Tryton
diff --git a/trytond/__init__.py b/trytond/__init__.py
index b60e110..2871eed 100644
--- a/trytond/__init__.py
+++ b/trytond/__init__.py
@@ -4,7 +4,7 @@ import os
import time
from email import charset
-__version__ = "3.8.2"
+__version__ = "3.8.3"
os.environ['TZ'] = 'UTC'
if hasattr(time, 'tzset'):
diff --git a/trytond/backend/postgresql/database.py b/trytond/backend/postgresql/database.py
index 9776784..3d7cf2d 100644
--- a/trytond/backend/postgresql/database.py
+++ b/trytond/backend/postgresql/database.py
@@ -39,6 +39,18 @@ RE_VERSION = re.compile(r'\S+ (\d+)\.(\d+)')
os.environ['PGTZ'] = os.environ.get('TZ', '')
+def unescape_quote(s):
+ if s.startswith('"') and s.endswith('"'):
+ return s.strip('"').replace('""', '"')
+ return s
+
+
+def replace_special_values(s, **mapping):
+ for name, value in mapping.iteritems():
+ s = s.replace('$' + name, value)
+ return s
+
+
class Database(DatabaseInterface):
_databases = {}
@@ -347,8 +359,14 @@ class Cursor(CursorInterface):
def search_path(self):
if self._search_path is None:
self.execute('SHOW search_path')
- self._search_path = self.fetchone()[0].replace(
- '"$user"', self.current_user).split(',')
+ path, = self.fetchone()
+ special_values = {
+ 'user': self.current_user,
+ }
+ self._search_path = [
+ unescape_quote(replace_special_values(
+ p.strip(), **special_values))
+ for p in path.split(',')]
return self._search_path
register_type(UNICODE)
diff --git a/trytond/ir/rule.py b/trytond/ir/rule.py
index cb61ffc..267705b 100644
--- a/trytond/ir/rule.py
+++ b/trytond/ir/rule.py
@@ -145,7 +145,7 @@ class Rule(ModelSQL, ModelView):
def _get_context():
User = Pool().get('res.user')
user_id = Transaction().user
- with Transaction().set_context(_check_access=False):
+ with Transaction().set_context(_check_access=False, _datetime=None):
user = EvalEnvironment(User(user_id), User)
return {
'user': user,
--
tryton-server
More information about the tryton-debian-vcs
mailing list