From 908f95f2726663b1cb012eb9d63aa9b154ce5767 Mon Sep 17 00:00:00 2001 From: Papoteur Date: Sun, 18 Dec 2016 13:46:39 +0100 Subject: Change the logic on checking the signing If signed and checking fails, not perform the sum, say failed. Add messages on standard ouput --- mageiaSync/mageiaSyncExt.py | 16 +++++++++++----- mageiaSync/mageiasync.py | 21 +++++++++++++++++++++ 2 files changed, 32 insertions(+), 5 deletions(-) (limited to 'mageiaSync') diff --git a/mageiaSync/mageiaSyncExt.py b/mageiaSync/mageiaSyncExt.py index 4abbee6..23c5d3b 100644 --- a/mageiaSync/mageiaSyncExt.py +++ b/mageiaSync/mageiaSyncExt.py @@ -37,8 +37,19 @@ class checkThread(QThread): verified = gpg.verify_file(g) if verified.valid: checkvalue=64 + print('Valid signature') + else: + print('Invalid signature for %s'%self.name+'.'+sumType) + print(verified.key_status) + return 0 except: print('Signature file %s not found'%sig_file) + checkvalue = 32 + try: + fs=open(self.destination+'/'+self.path+'/'+self.name+'.'+sumType,'r') + except: + # reference file not found + return checkvalue try: with open(self.destination+'/'+self.path+'/'+self.name, 'rb') as f: while True: @@ -48,11 +59,6 @@ class checkThread(QThread): sumcalc=hashfunc.hexdigest() except: return checkvalue - try: - fs=open(self.destination+'/'+self.path+'/'+self.name+'.'+sumType,'r') - except: - # reference file not found - return checkvalue sumcheck=(fs.readline()).split()[0] if sumcalc==sumcheck: checkvalue += 128 diff --git a/mageiaSync/mageiasync.py b/mageiaSync/mageiasync.py index 365a847..c9c3fa6 100644 --- a/mageiaSync/mageiasync.py +++ b/mageiaSync/mageiasync.py @@ -260,33 +260,54 @@ class IsosViewer(QMainWindow, mageiaSyncUI.Ui_mainWindow): def md5Check(self,check): verified=False + signed=True if check>=128: val=self.tr("OK") row=check-128 if row >= 64: verified=True row -= 64 + if row >= 32: + row -= 32 + signed=False else: val=self.tr("Failed") row=check + if row >=32: + signed=False + row-=32 + if not signed: + self.lvMessage("Signature for %s.md5 not found"%self.model.data(self.model.index(row,1))) if verified: # we add an icon for the GPG key self.model.setData(self.model.index(row, 4, QtCore.QModelIndex()),QIcon("preflight-verifier"),1) + self.lvMessage("MD5 Signature OK") self.model.setData(self.model.index(row, 4, QtCore.QModelIndex()), val) def sha1Check(self,check): verified=False + signed=True if check>=128: val=self.tr("OK") row=check-128 if row >= 64: verified=True row -= 64 + if row >= 32: + row -= 32 + signed=False else: val=self.tr("Failed") row=check + if row >=32: + signed=False + row-=32 + print(row) + if not signed: + self.lvMessage("Signature for %s.sha512 not found"%self.model.data(self.model.index(row,1))) if verified: # we add an icon for the GPG key + self.lvMessage("Sha512 signature OK") self.model.setData(self.model.index(row, 4, QtCore.QModelIndex()),QIcon("preflight-verifier"),1) self.model.setData(self.model.index(row, 3, QtCore.QModelIndex()), val) -- cgit v1.2.1