summaryrefslogtreecommitdiff
path: root/lang/python24/patches/patch-an
diff options
context:
space:
mode:
Diffstat (limited to 'lang/python24/patches/patch-an')
-rw-r--r--lang/python24/patches/patch-an82
1 files changed, 0 insertions, 82 deletions
diff --git a/lang/python24/patches/patch-an b/lang/python24/patches/patch-an
deleted file mode 100644
index 00cf610e3ac..00000000000
--- a/lang/python24/patches/patch-an
+++ /dev/null
@@ -1,82 +0,0 @@
-$NetBSD: patch-an,v 1.1 2005/02/04 15:39:04 drochner Exp $
-
---- Lib/SimpleXMLRPCServer.py.orig 2004-10-04 01:21:44.000000000 +0200
-+++ Lib/SimpleXMLRPCServer.py
-@@ -106,14 +106,22 @@ import BaseHTTPServer
- import sys
- import os
-
--def resolve_dotted_attribute(obj, attr):
-+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).
- """
-
-- for i in attr.split('.'):
-+ 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
-@@ -155,7 +163,7 @@ class SimpleXMLRPCDispatcher:
- self.funcs = {}
- self.instance = None
-
-- def register_instance(self, instance):
-+ 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.
-@@ -173,9 +181,23 @@ class SimpleXMLRPCDispatcher:
-
- 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.
-@@ -294,7 +316,8 @@ class SimpleXMLRPCDispatcher:
- try:
- method = resolve_dotted_attribute(
- self.instance,
-- method_name
-+ method_name,
-+ self.allow_dotted_names
- )
- except AttributeError:
- pass
-@@ -373,7 +396,8 @@ class SimpleXMLRPCDispatcher:
- try:
- func = resolve_dotted_attribute(
- self.instance,
-- method
-+ method,
-+ self.allow_dotted_names
- )
- except AttributeError:
- pass