From: Franck B. <fra...@us...> - 2005-07-30 14:16:02
|
Update of /cvsroot/ipcop/ipcop/src/misc-progs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1822/src/misc-progs Modified Files: Tag: IPCOP_v1_4_0 installpackage.c Log Message: Add a little more support to gpg usage when you don't have key Make.sh produce a batch to help signing the updates Index: installpackage.c =================================================================== RCS file: /cvsroot/ipcop/ipcop/src/misc-progs/installpackage.c,v retrieving revision 1.3.2.4 retrieving revision 1.3.2.5 diff -C2 -d -r1.3.2.4 -r1.3.2.5 *** installpackage.c 29 Jul 2005 21:32:16 -0000 1.3.2.4 --- installpackage.c 30 Jul 2005 14:15:47 -0000 1.3.2.5 *************** *** 91,100 **** memset(command, 0, STRING_SIZE); snprintf(command, STRING_SIZE-1, "/usr/bin/gpg --batch --homedir /root/.gnupg -o %s/patch.tar.gz --decrypt /var/patches/patch-%s.tar.gz.gpg", tmpdir, argv[1]); ! ret = safe_system(command); ! if(ret==1) /* 1=> gpg-key error else 2,.... any other error lik disk space */ { fprintf(stderr, "Invalid package: signature check failed\n"); exit(ERR_SIG); } if(ret) /* retry extraction on other partition */ { --- 91,105 ---- memset(command, 0, STRING_SIZE); snprintf(command, STRING_SIZE-1, "/usr/bin/gpg --batch --homedir /root/.gnupg -o %s/patch.tar.gz --decrypt /var/patches/patch-%s.tar.gz.gpg", tmpdir, argv[1]); ! ret = safe_system(command) >> 8; ! if(ret==1) /* 1=> gpg-key error */ { fprintf(stderr, "Invalid package: signature check failed\n"); exit(ERR_SIG); } + if(ret==2) /* 2=> gpg pub key not found */ + { + fprintf(stderr, "Public signature not found (who signed package?) !\n"); + exit(ERR_SIG); + } if(ret) /* retry extraction on other partition */ { *************** *** 111,115 **** if(ret) { ! fprintf(stderr, "Not enougth disk space or gpg error !\n"); exit(ERR_DISK); } --- 116,120 ---- if(ret) { ! fprintf(stderr, "Not enougth disk space or gpg error %d !\n",ret); exit(ERR_DISK); } |