X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/qmail/blobdiff_plain/7651970eea68ae68f696c4f965d8d533d57ae254..0a045fc157596a9521a5acff73297cc4a7c6c688:/qmail-valid-addresses diff --git a/qmail-valid-addresses b/qmail-valid-addresses index 9821394..d43cf85 100644 --- a/qmail-valid-addresses +++ b/qmail-valid-addresses @@ -41,7 +41,7 @@ for k in udb.keys(): del udb map = {} -def addlocal(p, l, forcep = False): +def addlocal(u, p, l, forcep = False): l = 'L' + l if not os.path.exists(p): if forcep: @@ -50,8 +50,13 @@ def addlocal(p, l, forcep = False): f = open(p) top = f.readline() f.close() - if len(top) > 0 and top[0] == '!': + if len(top) > 1 and top[0:2] == '#!': map[l] = '-' + elif len(top) > 1 and top[0:2] == '#?': + name = u.name + if name[-1] == '-': + name = name[:-1] + map[l] = '?' + name else: map[l] = '+' for k in sort(umap.keys()): @@ -63,9 +68,9 @@ for k in sort(umap.keys()): if not p.startswith(qm): continue ext = p[qmlen:] - addlocal(os.path.join(u.home, p), u.name + ext) + addlocal(u, os.path.join(u.home, p), u.name + ext) else: - addlocal(os.path.join(u.home, qm), u.name, u.dash == '') + addlocal(u, os.path.join(u.home, qm), u.name, u.dash == '') me = open('control/me').readline()