diff options
Diffstat (limited to 'dev-lang/python/files')
-rw-r--r-- | dev-lang/python/files/digest-python-2.2.3-r6 (renamed from dev-lang/python/files/digest-python-2.2.3-r5) | 0 | ||||
-rw-r--r-- | dev-lang/python/files/digest-python-2.3.3-r1 | 1 | ||||
-rw-r--r-- | dev-lang/python/files/digest-python-2.3.3-r2 (renamed from dev-lang/python/files/digest-python-2.3.3) | 0 | ||||
-rw-r--r-- | dev-lang/python/files/digest-python-2.3.4-r1 (renamed from dev-lang/python/files/digest-python-2.3.4) | 0 | ||||
-rw-r--r-- | dev-lang/python/files/digest-python-2.4-r1 (renamed from dev-lang/python/files/digest-python-2.4) | 0 | ||||
-rw-r--r-- | dev-lang/python/files/python-2.2.3-xmlrpc.patch | 98 | ||||
-rw-r--r-- | dev-lang/python/files/python-2.3-xmlrpc.patch | 121 | ||||
-rw-r--r-- | dev-lang/python/files/python-2.4-xmlrpc.patch | 121 |
8 files changed, 340 insertions, 1 deletions
diff --git a/dev-lang/python/files/digest-python-2.2.3-r5 b/dev-lang/python/files/digest-python-2.2.3-r6 index 283c3d783859..283c3d783859 100644 --- a/dev-lang/python/files/digest-python-2.2.3-r5 +++ b/dev-lang/python/files/digest-python-2.2.3-r6 diff --git a/dev-lang/python/files/digest-python-2.3.3-r1 b/dev-lang/python/files/digest-python-2.3.3-r1 deleted file mode 100644 index 8c0e033775a0..000000000000 --- a/dev-lang/python/files/digest-python-2.3.3-r1 +++ /dev/null @@ -1 +0,0 @@ -MD5 70ada9f65742ab2c77a96bcd6dffd9b1 Python-2.3.3.tar.bz2 7195007 diff --git a/dev-lang/python/files/digest-python-2.3.3 b/dev-lang/python/files/digest-python-2.3.3-r2 index 8c0e033775a0..8c0e033775a0 100644 --- a/dev-lang/python/files/digest-python-2.3.3 +++ b/dev-lang/python/files/digest-python-2.3.3-r2 diff --git a/dev-lang/python/files/digest-python-2.3.4 b/dev-lang/python/files/digest-python-2.3.4-r1 index b7cd9dae4d5c..b7cd9dae4d5c 100644 --- a/dev-lang/python/files/digest-python-2.3.4 +++ b/dev-lang/python/files/digest-python-2.3.4-r1 diff --git a/dev-lang/python/files/digest-python-2.4 b/dev-lang/python/files/digest-python-2.4-r1 index f096fae6214a..f096fae6214a 100644 --- a/dev-lang/python/files/digest-python-2.4 +++ b/dev-lang/python/files/digest-python-2.4-r1 diff --git a/dev-lang/python/files/python-2.2.3-xmlrpc.patch b/dev-lang/python/files/python-2.2.3-xmlrpc.patch new file mode 100644 index 000000000000..d5eecf5b5676 --- /dev/null +++ b/dev-lang/python/files/python-2.2.3-xmlrpc.patch @@ -0,0 +1,98 @@ +diff -c -r1.2 SimpleXMLRPCServer.py +*** Lib/SimpleXMLRPCServer.py 29 Sep 2001 04:54:33 -0000 1.2 +--- Lib/SimpleXMLRPCServer.py 3 Feb 2005 05:34:18 -0000 +*************** +*** 161,167 **** + try: + func = _resolve_dotted_attribute( + self.server.instance, +! method + ) + except AttributeError: + pass +--- 161,168 ---- + try: + func = _resolve_dotted_attribute( + self.server.instance, +! method, +! self.allow_dotted_names + ) + except AttributeError: + pass +*************** +*** 178,188 **** + BaseHTTPServer.BaseHTTPRequestHandler.log_request(self, code, size) + + +! def _resolve_dotted_attribute(obj, attr): + """Resolves a dotted attribute name to an object. Raises + an AttributeError if any attribute in the chain starts with a '_'. + """ +! for i in attr.split('.'): + if i.startswith('_'): + raise AttributeError( + 'attempt to access private attribute "%s"' % i +--- 179,198 ---- + BaseHTTPServer.BaseHTTPRequestHandler.log_request(self, code, size) + + +! def _resolve_dotted_attribute(obj, attr, allow_dotted_names=True): + """Resolves a dotted attribute name to an object. Raises + an AttributeError if any attribute in the chain starts with a '_'. ++ ++ If the optional allow_dotted_names argument is false, dots are not ++ supported and this function operates similar to getattr(obj, attr). + """ +! +! if allow_dotted_names: +! attrs = attr.split('.') +! else: +! attrs = [attr] +! +! for i in attrs: + if i.startswith('_'): + raise AttributeError( + 'attempt to access private attribute "%s"' % i +*************** +*** 206,212 **** + self.instance = None + SocketServer.TCPServer.__init__(self, addr, requestHandler) + +! def register_instance(self, instance): + """Registers an instance to respond to XML-RPC requests. + + Only one instance can be installed at a time. +--- 216,222 ---- + self.instance = None + SocketServer.TCPServer.__init__(self, addr, requestHandler) + +! def register_instance(self, instance, allow_dotted_names=False): + """Registers an instance to respond to XML-RPC requests. + + Only one instance can be installed at a time. +*************** +*** 225,233 **** +--- 235,257 ---- + + If a registered function matches a XML-RPC request, then it + will be called instead of the registered instance. ++ ++ If the optional allow_dotted_names argument is true and the ++ instance does not have a _dispatch method, method names ++ containing dots are supported and resolved, as long as none of ++ the name segments start with an '_'. ++ ++ *** SECURITY WARNING: *** ++ ++ Enabling the allow_dotted_names options allows intruders ++ to access your module's global variables and may allow ++ intruders to execute arbitrary code on your machine. Only ++ use this option on a secure, closed network. ++ + """ + + self.instance = instance ++ self.allow_dotted_names = allow_dotted_names + + def register_function(self, function, name = None): + """Registers a function to respond to XML-RPC requests. diff --git a/dev-lang/python/files/python-2.3-xmlrpc.patch b/dev-lang/python/files/python-2.3-xmlrpc.patch new file mode 100644 index 000000000000..61f61f2d8391 --- /dev/null +++ b/dev-lang/python/files/python-2.3-xmlrpc.patch @@ -0,0 +1,121 @@ +diff -c -r1.7.8.1 SimpleXMLRPCServer.py +*** Lib/SimpleXMLRPCServer.py 3 Oct 2004 23:23:00 -0000 1.7.8.1 +--- Lib/SimpleXMLRPCServer.py 3 Feb 2005 05:33:55 -0000 +*************** +*** 107,120 **** + import types + import os + +! def resolve_dotted_attribute(obj, attr): + """resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d + + Resolves a dotted attribute name to an object. Raises + an AttributeError if any attribute in the chain starts with a '_'. + """ + +! for i in attr.split('.'): + if i.startswith('_'): + raise AttributeError( + 'attempt to access private attribute "%s"' % i +--- 107,128 ---- + import types + import os + +! def resolve_dotted_attribute(obj, attr, allow_dotted_names=True): + """resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d + + Resolves a dotted attribute name to an object. Raises + an AttributeError if any attribute in the chain starts with a '_'. ++ ++ If the optional allow_dotted_names argument is false, dots are not ++ supported and this function operates similar to getattr(obj, attr). + """ + +! if allow_dotted_names: +! attrs = attr.split('.') +! else: +! attrs = [attr] +! +! for i in attrs: + if i.startswith('_'): + raise AttributeError( + 'attempt to access private attribute "%s"' % i +*************** +*** 156,162 **** + self.funcs = {} + self.instance = None + +! def register_instance(self, instance): + """Registers an instance to respond to XML-RPC requests. + + Only one instance can be installed at a time. +--- 164,170 ---- + self.funcs = {} + self.instance = None + +! def register_instance(self, instance, allow_dotted_names=False): + """Registers an instance to respond to XML-RPC requests. + + Only one instance can be installed at a time. +*************** +*** 174,182 **** +--- 182,204 ---- + + If a registered function matches a XML-RPC request, then it + will be called instead of the registered instance. ++ ++ If the optional allow_dotted_names argument is true and the ++ instance does not have a _dispatch method, method names ++ containing dots are supported and resolved, as long as none of ++ the name segments start with an '_'. ++ ++ *** SECURITY WARNING: *** ++ ++ Enabling the allow_dotted_names options allows intruders ++ to access your module's global variables and may allow ++ intruders to execute arbitrary code on your machine. Only ++ use this option on a secure, closed network. ++ + """ + + self.instance = instance ++ self.allow_dotted_names = allow_dotted_names + + def register_function(self, function, name = None): + """Registers a function to respond to XML-RPC requests. +*************** +*** 295,301 **** + try: + method = resolve_dotted_attribute( + self.instance, +! method_name + ) + except AttributeError: + pass +--- 317,324 ---- + try: + method = resolve_dotted_attribute( + self.instance, +! method_name, +! self.allow_dotted_names + ) + except AttributeError: + pass +*************** +*** 374,380 **** + try: + func = resolve_dotted_attribute( + self.instance, +! method + ) + except AttributeError: + pass +--- 397,404 ---- + try: + func = resolve_dotted_attribute( + self.instance, +! method, +! self.allow_dotted_names + ) + except AttributeError: + pass diff --git a/dev-lang/python/files/python-2.4-xmlrpc.patch b/dev-lang/python/files/python-2.4-xmlrpc.patch new file mode 100644 index 000000000000..61f61f2d8391 --- /dev/null +++ b/dev-lang/python/files/python-2.4-xmlrpc.patch @@ -0,0 +1,121 @@ +diff -c -r1.7.8.1 SimpleXMLRPCServer.py +*** Lib/SimpleXMLRPCServer.py 3 Oct 2004 23:23:00 -0000 1.7.8.1 +--- Lib/SimpleXMLRPCServer.py 3 Feb 2005 05:33:55 -0000 +*************** +*** 107,120 **** + import types + import os + +! def resolve_dotted_attribute(obj, attr): + """resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d + + Resolves a dotted attribute name to an object. Raises + an AttributeError if any attribute in the chain starts with a '_'. + """ + +! for i in attr.split('.'): + if i.startswith('_'): + raise AttributeError( + 'attempt to access private attribute "%s"' % i +--- 107,128 ---- + import types + import os + +! def resolve_dotted_attribute(obj, attr, allow_dotted_names=True): + """resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d + + Resolves a dotted attribute name to an object. Raises + an AttributeError if any attribute in the chain starts with a '_'. ++ ++ If the optional allow_dotted_names argument is false, dots are not ++ supported and this function operates similar to getattr(obj, attr). + """ + +! if allow_dotted_names: +! attrs = attr.split('.') +! else: +! attrs = [attr] +! +! for i in attrs: + if i.startswith('_'): + raise AttributeError( + 'attempt to access private attribute "%s"' % i +*************** +*** 156,162 **** + self.funcs = {} + self.instance = None + +! def register_instance(self, instance): + """Registers an instance to respond to XML-RPC requests. + + Only one instance can be installed at a time. +--- 164,170 ---- + self.funcs = {} + self.instance = None + +! def register_instance(self, instance, allow_dotted_names=False): + """Registers an instance to respond to XML-RPC requests. + + Only one instance can be installed at a time. +*************** +*** 174,182 **** +--- 182,204 ---- + + If a registered function matches a XML-RPC request, then it + will be called instead of the registered instance. ++ ++ If the optional allow_dotted_names argument is true and the ++ instance does not have a _dispatch method, method names ++ containing dots are supported and resolved, as long as none of ++ the name segments start with an '_'. ++ ++ *** SECURITY WARNING: *** ++ ++ Enabling the allow_dotted_names options allows intruders ++ to access your module's global variables and may allow ++ intruders to execute arbitrary code on your machine. Only ++ use this option on a secure, closed network. ++ + """ + + self.instance = instance ++ self.allow_dotted_names = allow_dotted_names + + def register_function(self, function, name = None): + """Registers a function to respond to XML-RPC requests. +*************** +*** 295,301 **** + try: + method = resolve_dotted_attribute( + self.instance, +! method_name + ) + except AttributeError: + pass +--- 317,324 ---- + try: + method = resolve_dotted_attribute( + self.instance, +! method_name, +! self.allow_dotted_names + ) + except AttributeError: + pass +*************** +*** 374,380 **** + try: + func = resolve_dotted_attribute( + self.instance, +! method + ) + except AttributeError: + pass +--- 397,404 ---- + try: + func = resolve_dotted_attribute( + self.instance, +! method, +! self.allow_dotted_names + ) + except AttributeError: + pass |