]> git.ipfire.org Git - thirdparty/dnspython.git/commitdiff
add set_flags()
authorBob Halley <halley@dnspython.org>
Sun, 30 Jun 2013 19:34:27 +0000 (12:34 -0700)
committerBob Halley <halley@dnspython.org>
Sun, 30 Jun 2013 19:34:27 +0000 (12:34 -0700)
dns/resolver.py

index 9c4bce0935a33b04bdfcc60dc35fc788d60f522c..938ca939145a52fbc2233479cb8e7162df555ce8 100644 (file)
@@ -459,6 +459,8 @@ class Resolver(object):
     @type ednsflags: int
     @ivar payload: The EDNS payload size.  The default is 0.
     @type payload: int
+    @ivar flags: The message flags to use.  The default is None (i.e. not overwritten)
+    @type flags: int
     @ivar cache: The cache to use.  The default is None.
     @type cache: dns.resolver.Cache object
     @ivar retry_servfail: should we retry a nameserver if it says SERVFAIL?
@@ -503,6 +505,7 @@ class Resolver(object):
         self.ednsflags = 0
         self.payload = 0
         self.cache = None
+        self.flags = None
         self.retry_servfail = False
 
     def read_resolv_conf(self, f):
@@ -795,6 +798,8 @@ class Resolver(object):
                 request.use_tsig(self.keyring, self.keyname,
                                  algorithm=self.keyalgorithm)
             request.use_edns(self.edns, self.ednsflags, self.payload)
+            if self.flags is not None:
+                request.flags = self.flags
             response = None
             #
             # make a copy of the servers list so we can alter it later.
@@ -935,6 +940,13 @@ class Resolver(object):
         self.ednsflags = ednsflags
         self.payload = payload
 
+    def set_flags(self, flags):
+        """Overrides the default flags with your own
+
+        @param flags: The flags to overwrite the default with
+        @type flags: int"""
+        self.flags = flags
+
 default_resolver = None
 
 def get_default_resolver():