if changes["source"] == "dpkg":
fpr = changes["fingerprint"]
- (uid, uid_name) = dak_module.lookup_uid_from_fingerprint(fpr)
+ (uid, uid_name, is_dm) = dak_module.lookup_uid_from_fingerprint(fpr)
if fpr == "5906F687BD03ACAD0D8E602EFCF37657" or uid == "iwj":
reject("Upload blocked due to hijack attempt 2008/03/19")
sys, tempfile, traceback, stat
import apt_pkg
import database
+import time
from dak_exceptions import *
################################################################################
if keywords.has_key("NODATA"):
reject("no signature found in %s." % (sig_filename))
bad = 1
+ if keywords.has_key("EXPKEYSIG"):
+ args = keywords["EXPKEYSIG"]
+ if len(args) >= 1:
+ key = args[0]
+ reject("Signature made by expired key ßx%s" % (key))
+ bad = 1
if keywords.has_key("KEYEXPIRED") and not keywords.has_key("GOODSIG"):
args = keywords["KEYEXPIRED"]
+ expiredate=""
if len(args) >= 1:
- key = args[0]
- reject("The key (0x%s) used to sign %s has expired." % (key, sig_filename))
+ timestamp = args[0]
+ if timestamp.count("T") == 0:
+ expiredate = time.strftime("%Y-%m-%d", time.gmtime(timestamp))
+ else:
+ expiredate = timestamp
+ reject("The key used to sign %s has expired on %s" % (sig_filename, expiredate))
bad = 1
if bad:
psql --html projectb <<EOF
SELECT uid.uid, uid.name, f.fingerprint
FROM uid LEFT OUTER JOIN fingerprint f ON (uid.id = f.uid)
- WHERE uid.uid LIKE 'dm:%'
+ WHERE uid.uid LIKE '%@%'
ORDER BY uid.uid;
EOF
JOIN uid u ON
(m.name LIKE u.name || ' <%>' OR
m.name LIKE '% <' || substring(u.uid FROM 4) || '>')
- WHERE u.uid LIKE 'dm:%' AND sa.suite = 5
+ WHERE u.uid LIKE '%@%' AND sa.suite = 5
)
ORDER BY uid.uid;
EOF
echo "Packages debian maintainers may update:"
psql --html projectb <<EOF
- SELECT s.source, s.version, u.uid
+ SELECT s.source, space_separated_list(s.version), u.uid
FROM src_uploaders su JOIN source s ON (su.source = s.id)
JOIN src_associations sa ON (s.id = sa.source)
JOIN maintainer m ON (su.maintainer = m.id)
JOIN uid u ON (m.name LIKE u.name || ' <%>' OR
- m.name LIKE '% <' || substring(u.uid FROM 4) || '>')
- WHERE u.uid LIKE 'dm:%' AND sa.suite = 5
+ m.name LIKE '% <' || substring(u.uid FROM 4) || '>')
+ WHERE s.dm_upload_allowed = 't' GROUP BY s.source, s.version, u.uid
ORDER BY u.uid, s.source, s.version;
EOF
SELECT s.source, s.version, s.install_date, u.uid
FROM source s JOIN fingerprint f ON (s.sig_fpr = f.id)
JOIN uid u ON (f.uid = u.id)
- WHERE u.uid LIKE 'dm:%'
+ WHERE u.uid LIKE '%@%'
ORDER BY u.uid, s.source, s.version;
EOF
FROM binaries b JOIN architecture a ON (b.architecture = a.id)
JOIN fingerprint f ON (b.sig_fpr = f.id)
JOIN uid u ON (f.uid = u.id)
- WHERE u.uid LIKE 'dm:%'
+ WHERE u.uid LIKE '%@%'
ORDER BY u.uid, b.package, b.version;
EOF