21 #undef ZYPP_BASE_LOGGER_LOGGROUP
22 #define ZYPP_BASE_LOGGER_LOGGROUP "FileChecker"
39 MIL <<
"File " << file <<
" has no checksum available." << std::endl;
40 if ( report->askUserToAcceptNoDigest(file) )
42 MIL <<
"User accepted " << file <<
" with no checksum." << std::endl;
58 static std::map<std::string,std::string> exceptions;
59 static Date exceptionsAge;
61 if ( !exceptions.empty() && now-exceptionsAge > 12*
Date::hour )
64 WAR <<
"File " << file <<
" has wrong checksum " << real_checksum <<
" (expected " <<
_checksum <<
")" << endl;
67 WAR <<
"User accepted " << file <<
" with WRONG CHECKSUM. (remembered)" << std::endl;
72 WAR <<
"User accepted " << file <<
" with WRONG CHECKSUM." << std::endl;
87 MIL <<
"+ null check on " << file << endl;
94 for ( list<FileChecker>::const_iterator it =
_checkers.begin(); it !=
_checkers.end(); ++it )
103 ERR <<
"Invalid checker" << endl;
113 : _signature(signature)
127 getZYpp()->keyRing()->importKey(publickey,
false);
138 MIL <<
"checking " << file <<
" file validity using digital signature.." << endl;
#define ZYPP_THROW(EXCPT)
Drops a logline and throws the Exception.
SignatureFileChecker()
Default Constructor.
std::list< FileChecker > _checkers
void operator()(const Pathname &file) const
Calls KeyRing::verifyFileSignatureWorkflow to verify the file.
void addPublicKey(const PublicKey &publickey, const KeyContext &keycontext=KeyContext())
add a public key to the list of known keys
DefaultIntegral< bool, false > _fileAccepted
void operator()(const Pathname &file) const
Store and operate on date (time_t).
std::ostream & operator<<(std::ostream &str, const Exception &obj)
void add(const FileChecker &checker)
DefaultIntegral< bool, false > _fileValidated
std::string checksum() const
SignatureCheckException ExceptionType
void operator()(const Pathname &file) const
static const ValueType hour
Class representing one GPG Public Key (PublicKeyData + ASCII armored in a tempfile).
static Date now()
Return the current time.
std::string checksum(const Pathname &file, const std::string &algorithm)
Compute a files checksum.
void operator()(const Pathname &file) const
Try to validate the file.
function< void(const Pathname &file)> FileChecker
Functor signature used to check files.
CheckSumCheckException ExceptionType
void setKeyContext(const KeyContext &keycontext)
Set context for this checker.