提交 f3752fdd 编写于 作者: T Thomas Viehmann

send mails to sponsors

上级 881bcc72
......@@ -1072,6 +1072,8 @@ def check_signed_by_key():
if uid_name == "": sponsored = 1
else:
sponsored = 1
if daklib.utils.is_email_alias(uid_email):
changes["sponsoremail"] = uid_email
if sponsored and not may_sponsor:
reject("%s is not authorised to sponsor uploads" % (uid))
......
......@@ -279,6 +279,8 @@ class Upload:
Subst["__MAINTAINER_FROM__"] = changes["changedby2047"]
Subst["__MAINTAINER_TO__"] = "%s, %s" % (changes["changedby2047"],
changes["maintainer2047"])
if "sponsoremail" in changes:
Subst["__MAINTAINER_TO__"] += ", %s"%changes["sponsoremail"]
Subst["__MAINTAINER__"] = changes.get("changed-by", "Unknown")
else:
Subst["__MAINTAINER_FROM__"] = changes["maintainer2047"]
......
......@@ -468,6 +468,14 @@ def which_apt_conf_file ():
else:
return default_apt_config
def which_alias_file():
hostname = socket.gethostbyaddr(socket.gethostname())[0]
aliasfn = '/var/lib/misc/'+hostname+'/forward-alias'
if os.path.exists(aliasfn):
return aliasfn
else:
return None
################################################################################
# Escape characters which have meaning to SQL's regex comparison operator ('~')
......@@ -1148,6 +1156,20 @@ If 'dotprefix' is non-null, the filename will be prefixed with a '.'."""
################################################################################
# checks if the user part of the email is listed in the alias file
def is_email_alias(email):
aliasfn = which_alias_file()
uid = email.split('@')[0]
if not aliasfn:
return False
for l in open(aliasfn):
if l.startswith(uid+': '):
return True
return False
################################################################################
apt_pkg.init()
Cnf = apt_pkg.newConfiguration()
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册