Somewhere to put common behaviour. Not that there is any yet, so
there's no functional change.
Signed-off-by: Mark Wooding <mdw@distorted.org.uk>
# Classes describing possible datatypes in the configuration file
# Classes describing possible datatypes in the configuration file
+class basetype:
+ "Common protocol for configuration types."
+ pass
+
+class single_ipaddr (basetype):
"An IP address"
def __init__(self,w):
self.addr=ipaddr.IPAddress(w[1])
def __str__(self):
return '"%s"'%self.addr
"An IP address"
def __init__(self,w):
self.addr=ipaddr.IPAddress(w[1])
def __str__(self):
return '"%s"'%self.addr
+class networks (basetype):
"A set of IP addresses specified as a list of networks"
def __init__(self,w):
self.set=ipaddrset.IPAddressSet()
"A set of IP addresses specified as a list of networks"
def __init__(self,w):
self.set=ipaddrset.IPAddressSet()
def __str__(self):
return ",".join(map((lambda n: '"%s"'%n), self.set.networks()))
def __str__(self):
return ",".join(map((lambda n: '"%s"'%n), self.set.networks()))
+class dhgroup (basetype):
"A Diffie-Hellman group"
def __init__(self,w):
self.mod=w[1]
"A Diffie-Hellman group"
def __init__(self,w):
self.mod=w[1]
def __str__(self):
return 'diffie-hellman("%s","%s")'%(self.mod,self.gen)
def __str__(self):
return 'diffie-hellman("%s","%s")'%(self.mod,self.gen)
"A choice of hash function"
def __init__(self,w):
self.ht=w[1]
"A choice of hash function"
def __init__(self,w):
self.ht=w[1]
def __str__(self):
return '%s'%(self.ht)
def __str__(self):
return '%s'%(self.ht)
"An email address"
def __init__(self,w):
self.addr=w[1]
def __str__(self):
return '<%s>'%(self.addr)
"An email address"
def __init__(self,w):
self.addr=w[1]
def __str__(self):
return '<%s>'%(self.addr)
+class boolean (basetype):
"A boolean"
def __init__(self,w):
if re.match('[TtYy1]',w[1]):
"A boolean"
def __init__(self,w):
if re.match('[TtYy1]',w[1]):
def __str__(self):
return ['False','True'][self.b]
def __str__(self):
return ['False','True'][self.b]
"A decimal number"
def __init__(self,w):
self.n=string.atol(w[1])
def __str__(self):
return '%d'%(self.n)
"A decimal number"
def __init__(self,w):
self.n=string.atol(w[1])
def __str__(self):
return '%d'%(self.n)
+class address (basetype):
"A DNS name and UDP port number"
def __init__(self,w):
self.adr=w[1]
"A DNS name and UDP port number"
def __init__(self,w):
self.adr=w[1]
def __str__(self):
return '"%s"; port %d'%(self.adr,self.port)
def __str__(self):
return '"%s"; port %d'%(self.adr,self.port)
+class rsakey (basetype):
"An RSA public key"
def __init__(self,w):
self.l=string.atoi(w[1])
"An RSA public key"
def __init__(self,w):
self.l=string.atoi(w[1])