##// END OF EJS Templates
dependencies: bumped pyramid-debugtoolbar to 4.3.1
marcink -
r1907:d622a0b9 default
parent child Browse files
Show More
@@ -405,19 +405,6 b''
405 license = [ pkgs.lib.licenses.mit ];
405 license = [ pkgs.lib.licenses.mit ];
406 };
406 };
407 };
407 };
408 backport-ipaddress = super.buildPythonPackage {
409 name = "backport-ipaddress-0.1";
410 buildInputs = with self; [];
411 doCheck = false;
412 propagatedBuildInputs = with self; [];
413 src = fetchurl {
414 url = "https://pypi.python.org/packages/d3/30/54c6dab05a4dec44db25ff309f1fbb6b7a8bde3f2bade38bb9da67bbab8f/backport_ipaddress-0.1.tar.gz";
415 md5 = "9c1f45f4361f71b124d7293a60006c05";
416 };
417 meta = {
418 license = [ pkgs.lib.licenses.psfl ];
419 };
420 };
421 backports.shutil-get-terminal-size = super.buildPythonPackage {
408 backports.shutil-get-terminal-size = super.buildPythonPackage {
422 name = "backports.shutil-get-terminal-size-1.0.0";
409 name = "backports.shutil-get-terminal-size-1.0.0";
423 buildInputs = with self; [];
410 buildInputs = with self; [];
@@ -822,13 +809,13 b''
822 };
809 };
823 };
810 };
824 graphviz = super.buildPythonPackage {
811 graphviz = super.buildPythonPackage {
825 name = "graphviz-0.7.1";
812 name = "graphviz-0.8";
826 buildInputs = with self; [];
813 buildInputs = with self; [];
827 doCheck = false;
814 doCheck = false;
828 propagatedBuildInputs = with self; [];
815 propagatedBuildInputs = with self; [];
829 src = fetchurl {
816 src = fetchurl {
830 url = "https://pypi.python.org/packages/7d/2d/f5cfa56467ca5a65eb44e1103d89d2f65dbc4f04cf7a1f3d38e973c3d1a8/graphviz-0.7.1.zip";
817 url = "https://pypi.python.org/packages/da/84/0e997520323d6b01124eb01c68d5c101814d0aab53083cd62bd75a90f70b/graphviz-0.8.zip";
831 md5 = "d5926e89975121d56dec777a79bfc9d1";
818 md5 = "9486a885360a5ee54a81eb2950470c71";
832 };
819 };
833 meta = {
820 meta = {
834 license = [ pkgs.lib.licenses.mit ];
821 license = [ pkgs.lib.licenses.mit ];
@@ -899,6 +886,19 b''
899 license = [ pkgs.lib.licenses.bsdOriginal ];
886 license = [ pkgs.lib.licenses.bsdOriginal ];
900 };
887 };
901 };
888 };
889 ipaddress = super.buildPythonPackage {
890 name = "ipaddress-1.0.18";
891 buildInputs = with self; [];
892 doCheck = false;
893 propagatedBuildInputs = with self; [];
894 src = fetchurl {
895 url = "https://pypi.python.org/packages/4e/13/774faf38b445d0b3a844b65747175b2e0500164b7c28d78e34987a5bfe06/ipaddress-1.0.18.tar.gz";
896 md5 = "310c2dfd64eb6f0df44aa8c59f2334a7";
897 };
898 meta = {
899 license = [ pkgs.lib.licenses.psfl ];
900 };
901 };
902 ipdb = super.buildPythonPackage {
902 ipdb = super.buildPythonPackage {
903 name = "ipdb-0.10.3";
903 name = "ipdb-0.10.3";
904 buildInputs = with self; [];
904 buildInputs = with self; [];
@@ -1446,13 +1446,13 b''
1446 };
1446 };
1447 };
1447 };
1448 pyramid-debugtoolbar = super.buildPythonPackage {
1448 pyramid-debugtoolbar = super.buildPythonPackage {
1449 name = "pyramid-debugtoolbar-3.0.5";
1449 name = "pyramid-debugtoolbar-4.2.1";
1450 buildInputs = with self; [];
1450 buildInputs = with self; [];
1451 doCheck = false;
1451 doCheck = false;
1452 propagatedBuildInputs = with self; [pyramid pyramid-mako repoze.lru Pygments];
1452 propagatedBuildInputs = with self; [pyramid pyramid-mako repoze.lru Pygments ipaddress];
1453 src = fetchurl {
1453 src = fetchurl {
1454 url = "https://pypi.python.org/packages/64/0e/df00bfb55605900e7a2f7e4a18dd83575a6651688e297d5a0aa4c208fd7d/pyramid_debugtoolbar-3.0.5.tar.gz";
1454 url = "https://pypi.python.org/packages/db/26/94620b7752936e2cd74838263ff366db9b454f7394bfb62d1eb2f84b29c1/pyramid_debugtoolbar-4.2.1.tar.gz";
1455 md5 = "aebab8c3bfdc6f89e4d3adc1d126538e";
1455 md5 = "3dfaced2fab1644ff5284017be9d92b9";
1456 };
1456 };
1457 meta = {
1457 meta = {
1458 license = [ { fullName = "Repoze Public License"; } pkgs.lib.licenses.bsdOriginal ];
1458 license = [ { fullName = "Repoze Public License"; } pkgs.lib.licenses.bsdOriginal ];
@@ -1722,7 +1722,7 b''
1722 name = "rhodecode-enterprise-ce-4.9.0";
1722 name = "rhodecode-enterprise-ce-4.9.0";
1723 buildInputs = with self; [pytest py pytest-cov pytest-sugar pytest-runner pytest-catchlog pytest-profiling gprof2dot pytest-timeout mock WebTest cov-core coverage configobj];
1723 buildInputs = with self; [pytest py pytest-cov pytest-sugar pytest-runner pytest-catchlog pytest-profiling gprof2dot pytest-timeout mock WebTest cov-core coverage configobj];
1724 doCheck = true;
1724 doCheck = true;
1725 propagatedBuildInputs = with self; [Babel Beaker FormEncode Mako Markdown MarkupSafe MySQL-python Paste PasteDeploy PasteScript Pygments pygments-markdown-lexer Pylons Routes SQLAlchemy Tempita URLObject WebError WebHelpers WebHelpers2 WebOb WebTest Whoosh alembic amqplib anyjson appenlight-client authomatic backport-ipaddress cssselect celery channelstream colander decorator deform docutils gevent gunicorn infrae.cache ipython iso8601 kombu lxml msgpack-python nbconvert packaging psycopg2 py-gfm pycrypto pycurl pyparsing pyramid pyramid-debugtoolbar pyramid-mako pyramid-beaker pysqlite python-dateutil python-ldap python-memcached python-pam recaptcha-client repoze.lru requests simplejson subprocess32 waitress zope.cachedescriptors dogpile.cache dogpile.core psutil py-bcrypt];
1725 propagatedBuildInputs = with self; [Babel Beaker FormEncode Mako Markdown MarkupSafe MySQL-python Paste PasteDeploy PasteScript Pygments pygments-markdown-lexer Pylons Routes SQLAlchemy Tempita URLObject WebError WebHelpers WebHelpers2 WebOb WebTest Whoosh alembic amqplib anyjson appenlight-client authomatic cssselect celery channelstream colander decorator deform docutils gevent gunicorn infrae.cache ipython iso8601 kombu lxml msgpack-python nbconvert packaging psycopg2 py-gfm pycrypto pycurl pyparsing pyramid pyramid-debugtoolbar pyramid-mako pyramid-beaker pysqlite python-dateutil python-ldap python-memcached python-pam recaptcha-client repoze.lru requests simplejson subprocess32 waitress zope.cachedescriptors dogpile.cache dogpile.core psutil py-bcrypt];
1726 src = ./.;
1726 src = ./.;
1727 meta = {
1727 meta = {
1728 license = [ { fullName = "Affero GNU General Public License v3 or later (AGPLv3+)"; } { fullName = "AGPLv3, and Commercial License"; } ];
1728 license = [ { fullName = "Affero GNU General Public License v3 or later (AGPLv3+)"; } { fullName = "AGPLv3, and Commercial License"; } ];
@@ -6,7 +6,6 b' amqplib==1.0.2'
6 anyjson==0.3.3
6 anyjson==0.3.3
7 authomatic==0.1.0.post1
7 authomatic==0.1.0.post1
8 Babel==1.3
8 Babel==1.3
9 backport-ipaddress==0.1
10 Beaker==1.9.0
9 Beaker==1.9.0
11 celery==2.2.10
10 celery==2.2.10
12 Chameleon==2.24
11 Chameleon==2.24
@@ -55,7 +54,7 b' pygments-markdown-lexer==0.1.0.dev39'
55 Pygments==2.2.0
54 Pygments==2.2.0
56 pyparsing==1.5.7
55 pyparsing==1.5.7
57 pyramid-beaker==0.8
56 pyramid-beaker==0.8
58 pyramid-debugtoolbar==3.0.5
57 pyramid-debugtoolbar==4.2.1
59 pyramid-jinja2==2.5
58 pyramid-jinja2==2.5
60 pyramid-mako==1.0.2
59 pyramid-mako==1.0.2
61 pyramid==1.9.0
60 pyramid==1.9.0
@@ -90,9 +90,6 b''
90 "python2.7-authomatic-0.1.0.post1": {
90 "python2.7-authomatic-0.1.0.post1": {
91 "MIT License": "http://spdx.org/licenses/MIT"
91 "MIT License": "http://spdx.org/licenses/MIT"
92 },
92 },
93 "python2.7-backport-ipaddress-0.1": {
94 "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0"
95 },
96 "python2.7-backports.shutil-get-terminal-size-1.0.0": {
93 "python2.7-backports.shutil-get-terminal-size-1.0.0": {
97 "MIT License": "http://spdx.org/licenses/MIT"
94 "MIT License": "http://spdx.org/licenses/MIT"
98 },
95 },
@@ -1991,9 +1991,10 b' def check_ip_access(source_ip, allowed_i'
1991 :param allowed_ips: list of allowed ips together with mask
1991 :param allowed_ips: list of allowed ips together with mask
1992 """
1992 """
1993 log.debug('checking if ip:%s is subnet of %s' % (source_ip, allowed_ips))
1993 log.debug('checking if ip:%s is subnet of %s' % (source_ip, allowed_ips))
1994 source_ip_address = ipaddress.ip_address(source_ip)
1994 source_ip_address = ipaddress.ip_address(safe_unicode(source_ip))
1995 if isinstance(allowed_ips, (tuple, list, set)):
1995 if isinstance(allowed_ips, (tuple, list, set)):
1996 for ip in allowed_ips:
1996 for ip in allowed_ips:
1997 ip = safe_unicode(ip)
1997 try:
1998 try:
1998 network_address = ipaddress.ip_network(ip, strict=False)
1999 network_address = ipaddress.ip_network(ip, strict=False)
1999 if source_ip_address in network_address:
2000 if source_ip_address in network_address:
@@ -101,7 +101,7 b' def _filter_port(ip):'
101 else:
101 else:
102 # fallback to ipaddress
102 # fallback to ipaddress
103 try:
103 try:
104 ipaddress.IPv6Address(ip_addr)
104 ipaddress.IPv6Address(safe_unicode(ip_addr))
105 except Exception:
105 except Exception:
106 return False
106 return False
107 return True
107 return True
@@ -286,6 +286,7 b' def attach_context_attributes(context, r'
286 Attach variables into template context called `c`, please note that
286 Attach variables into template context called `c`, please note that
287 request could be pylons or pyramid request in here.
287 request could be pylons or pyramid request in here.
288 """
288 """
289
289 rc_config = SettingsModel().get_all_settings(cache=True)
290 rc_config = SettingsModel().get_all_settings(cache=True)
290
291
291 context.rhodecode_version = rhodecode.__version__
292 context.rhodecode_version = rhodecode.__version__
@@ -1123,7 +1123,7 b' class UserIpMap(Base, BaseModel):'
1123
1123
1124 @classmethod
1124 @classmethod
1125 def _get_ip_range(cls, ip_addr):
1125 def _get_ip_range(cls, ip_addr):
1126 net = ipaddress.ip_network(ip_addr, strict=False)
1126 net = ipaddress.ip_network(safe_unicode(ip_addr), strict=False)
1127 return [str(net.network_address), str(net.broadcast_address)]
1127 return [str(net.network_address), str(net.broadcast_address)]
1128
1128
1129 def __json__(self):
1129 def __json__(self):
@@ -777,6 +777,7 b' class UserModel(BaseModel):'
777
777
778 def parse_ip_range(self, ip_range):
778 def parse_ip_range(self, ip_range):
779 ip_list = []
779 ip_list = []
780
780 def make_unique(value):
781 def make_unique(value):
781 seen = []
782 seen = []
782 return [c for c in value if not (c in seen or seen.append(c))]
783 return [c for c in value if not (c in seen or seen.append(c))]
@@ -788,8 +789,8 b' class UserModel(BaseModel):'
788 ip_range = ip_range.strip()
789 ip_range = ip_range.strip()
789 if '-' in ip_range:
790 if '-' in ip_range:
790 start_ip, end_ip = ip_range.split('-', 1)
791 start_ip, end_ip = ip_range.split('-', 1)
791 start_ip = ipaddress.ip_address(start_ip.strip())
792 start_ip = ipaddress.ip_address(safe_unicode(start_ip.strip()))
792 end_ip = ipaddress.ip_address(end_ip.strip())
793 end_ip = ipaddress.ip_address(safe_unicode(end_ip.strip()))
793 parsed_ip_range = []
794 parsed_ip_range = []
794
795
795 for index in xrange(int(start_ip), int(end_ip) + 1):
796 for index in xrange(int(start_ip), int(end_ip) + 1):
@@ -27,7 +27,7 b' import ipaddress'
27 import colander
27 import colander
28
28
29 from rhodecode.translation import _
29 from rhodecode.translation import _
30 from rhodecode.lib.utils2 import glob2re
30 from rhodecode.lib.utils2 import glob2re, safe_unicode
31
31
32 log = logging.getLogger(__name__)
32 log = logging.getLogger(__name__)
33
33
@@ -35,7 +35,7 b' log = logging.getLogger(__name__)'
35 def ip_addr_validator(node, value):
35 def ip_addr_validator(node, value):
36 try:
36 try:
37 # this raises an ValueError if address is not IpV4 or IpV6
37 # this raises an ValueError if address is not IpV4 or IpV6
38 ipaddress.ip_network(value, strict=False)
38 ipaddress.ip_network(safe_unicode(value), strict=False)
39 except ValueError:
39 except ValueError:
40 msg = _(u'Please enter a valid IPv4 or IpV6 address')
40 msg = _(u'Please enter a valid IPv4 or IpV6 address')
41 raise colander.Invalid(node, msg)
41 raise colander.Invalid(node, msg)
@@ -48,7 +48,7 b' class IpAddrValidator(object):'
48 def __call__(self, node, value):
48 def __call__(self, node, value):
49 try:
49 try:
50 # this raises an ValueError if address is not IpV4 or IpV6
50 # this raises an ValueError if address is not IpV4 or IpV6
51 ipaddress.ip_network(value, strict=self.strict)
51 ipaddress.ip_network(safe_unicode(value), strict=self.strict)
52 except ValueError:
52 except ValueError:
53 msg = _(u'Please enter a valid IPv4 or IpV6 address')
53 msg = _(u'Please enter a valid IPv4 or IpV6 address')
54 raise colander.Invalid(node, msg)
54 raise colander.Invalid(node, msg)
@@ -44,7 +44,7 b' from rhodecode.authentication.base impor'
44 from rhodecode.config.routing import ADMIN_PREFIX
44 from rhodecode.config.routing import ADMIN_PREFIX
45 from rhodecode.lib.auth import HasRepoGroupPermissionAny, HasPermissionAny
45 from rhodecode.lib.auth import HasRepoGroupPermissionAny, HasPermissionAny
46 from rhodecode.lib.utils import repo_name_slug, make_db_config
46 from rhodecode.lib.utils import repo_name_slug, make_db_config
47 from rhodecode.lib.utils2 import safe_int, str2bool, aslist, md5
47 from rhodecode.lib.utils2 import safe_int, str2bool, aslist, md5, safe_unicode
48 from rhodecode.lib.vcs.backends.git.repository import GitRepository
48 from rhodecode.lib.vcs.backends.git.repository import GitRepository
49 from rhodecode.lib.vcs.backends.hg.repository import MercurialRepository
49 from rhodecode.lib.vcs.backends.hg.repository import MercurialRepository
50 from rhodecode.lib.vcs.backends.svn.repository import SubversionRepository
50 from rhodecode.lib.vcs.backends.svn.repository import SubversionRepository
@@ -972,13 +972,13 b' def ValidIp():'
972 # we ovveride the default to_python() call
972 # we ovveride the default to_python() call
973 def to_python(self, value, state):
973 def to_python(self, value, state):
974 v = super(_validator, self).to_python(value, state)
974 v = super(_validator, self).to_python(value, state)
975 v = v.strip()
975 v = safe_unicode(v.strip())
976 net = ipaddress.ip_network(address=v, strict=False)
976 net = ipaddress.ip_network(address=v, strict=False)
977 return str(net)
977 return str(net)
978
978
979 def validate_python(self, value, state):
979 def validate_python(self, value, state):
980 try:
980 try:
981 addr = value.strip()
981 addr = safe_unicode(value.strip())
982 # this raises an ValueError if address is not IpV4 or IpV6
982 # this raises an ValueError if address is not IpV4 or IpV6
983 ipaddress.ip_network(addr, strict=False)
983 ipaddress.ip_network(addr, strict=False)
984 except ValueError:
984 except ValueError:
@@ -261,7 +261,7 b' def test_revoke_perm(test_user):'
261 def test_ip_range_generator(ip_range, expected, expect_errors):
261 def test_ip_range_generator(ip_range, expected, expect_errors):
262 func = UserModel().parse_ip_range
262 func = UserModel().parse_ip_range
263 if expect_errors:
263 if expect_errors:
264 pytest.raises(Exception, func, ip_range)
264 pytest.raises(ValueError, func, ip_range)
265 else:
265 else:
266 parsed_list = func(ip_range)
266 parsed_list = func(ip_range)
267 assert parsed_list == expected
267 assert parsed_list == expected
@@ -99,7 +99,6 b' install_requirements = ['
99 'anyjson',
99 'anyjson',
100 'appenlight-client',
100 'appenlight-client',
101 'authomatic',
101 'authomatic',
102 'backport_ipaddress',
103 'cssselect',
102 'cssselect',
104 'celery',
103 'celery',
105 'channelstream',
104 'channelstream',
General Comments 0
You need to be logged in to leave comments. Login now