import pprint
import os
+def shellquote(s):
+ return "'" + s.replace("'", "'\\''") + "'"
+
############################################################################
# DSRR class:
# Delegation Signer (DS) resource record
############################################################################
def checkds(zone, masterfile = None):
dslist=[]
- fp=os.popen("%s +noall +answer -t ds %s" % (args.dig, zone))
+ fp=os.popen("%s +noall +answer -t ds -q %s" % (args.dig, shellquote(zone)))
for line in fp:
dslist.append(DSRR(line))
dslist = sorted(dslist, key=lambda ds: (ds.keyid, ds.keyalg, ds.hashalg))
fp = os.popen("%s -f %s %s " %
(args.dsfromkey, masterfile, zone))
else:
- fp = os.popen("%s +noall +answer -t dnskey %s | %s -f - %s" %
- (args.dig, zone, args.dsfromkey, zone))
+ fp = os.popen("%s +noall +answer -t dnskey -q %s | %s -f - %s" %
+ (args.dig, shellquote(zone), args.dsfromkey,
+ shellquote(zone)))
for line in fp:
dsklist.append(DSRR(line))
############################################################################
def checkdlv(zone, lookaside, masterfile = None):
dlvlist=[]
- fp=os.popen("%s +noall +answer -t dlv %s.%s" %
- (args.dig, zone, lookaside))
+ fp=os.popen("%s +noall +answer -t dlv -q %s" %
+ (args.dig, shellquote(zone + '.' + lookaside)))
for line in fp:
dlvlist.append(DLVRR(line, lookaside))
dlvlist = sorted(dlvlist,
(args.dsfromkey, masterfile, lookaside, zone))
else:
fp = os.popen("%s +noall +answer -t dnskey %s | %s -f - -l %s %s"
- % (args.dig, zone, args.dsfromkey, lookaside, zone))
+ % (args.dig, shellquote(zone), args.dsfromkey,
+ shellquote(lookaside), shellquote(zone)))
for line in fp:
dlvklist.append(DLVRR(line, lookaside))