![]() |
CernVM-FS
2.12.0
|
Classes | |
struct | Breadcrumb |
class | Manifest |
struct | ManifestEnsemble |
class | Reflog |
Enumerations | |
enum | Failures { kFailOk = 0, kFailLoad, kFailIncomplete, kFailNameMismatch, kFailRootMismatch, kFailOutdated, kFailBadCertificate, kFailBadSignature, kFailBadWhitelist, kFailInvalidCertificate, kFailUnknown, kFailNumEntries } |
Functions | |
static Failures | DoVerify (unsigned char *manifest_data, size_t manifest_size, const std::string &base_url, const std::string &repository_name, const uint64_t minimum_timestamp, const shash::Any *base_catalog, signature::SignatureManager *signature_manager, download::DownloadManager *download_manager, ManifestEnsemble *ensemble) |
static Failures | DoFetch (const std::string &base_url, const std::string &repository_name, const uint64_t minimum_timestamp, const shash::Any *base_catalog, signature::SignatureManager *signature_manager, download::DownloadManager *download_manager, ManifestEnsemble *ensemble) |
Failures | Fetch (const std::string &base_url, const std::string &repository_name, const uint64_t minimum_timestamp, const shash::Any *base_catalog, signature::SignatureManager *signature_manager, download::DownloadManager *download_manager, ManifestEnsemble *ensemble) |
Failures | Verify (unsigned char *manifest_data, size_t manifest_size, const std::string &base_url, const std::string &repository_name, const uint64_t minimum_timestamp, const shash::Any *base_catalog, signature::SignatureManager *signature_manager, download::DownloadManager *download_manager, ManifestEnsemble *ensemble) |
const char * | Code2Ascii (const Failures error) |
This file is part of the CernVM File System.
This file is part of the CernVM File System.
The SyncMediator is an intermediate layer between the UnionSync implementation and the CatalogManager. It's main responsibility is to unwind file system intrinsics as deleting all files in a deleted directory. Furthermore newly created directories are recursed and all included files are added as a whole (performance improvement).
Furthermore it keeps track of hard link relations. As we cannot store the transient inode of the union file system in cvmfs, we just keep track of hard link relations itself. Inodes will be assigned at run time of the CVMFS client taking these relations into account.
Another responsibility of this class is the creation and destruction of nested catalogs. If a .cvmfscatalog magic file is encountered, either on delete or add, it will be treated as nested catalog change.
New and modified files are piped to external processes for hashing and compression. Results come back in a pipe.
enum manifest::Failures |
Definition at line 27 of file manifest_fetch.h.
|
inline |
Definition at line 43 of file manifest_fetch.h.
Referenced by ServerTool::FetchRemoteManifest(), catalog::ClientCatalogManager::GetNewRootCatalogContext(), and swissknife::CommandPull::Main().
|
static |
Downloads and verifies the manifest, the certificate, and the whitelist. If base_url is empty, uses the probe_hosts feature from download manager.
Definition at line 162 of file manifest_fetch.cc.
Referenced by Fetch().
|
static |
Verifies the manifest, the certificate, and the whitelist. If base_url is empty, uses the probe_hosts feature from download manager.
Definition at line 30 of file manifest_fetch.cc.
Referenced by DoFetch(), and Verify().
Failures manifest::Fetch | ( | const std::string & | base_url, |
const std::string & | repository_name, | ||
const uint64_t | minimum_timestamp, | ||
const shash::Any * | base_catalog, | ||
signature::SignatureManager * | signature_manager, | ||
download::DownloadManager * | download_manager, | ||
ManifestEnsemble * | ensemble | ||
) |
If the whitelist or the manifest are corrupted, fail-over once to another stratum 1 if more than a single stratum 1 is known.
Definition at line 195 of file manifest_fetch.cc.
Referenced by publish::DownloadRootObjects(), MountPoint::FetchHistory(), HttpObjectFetcher< CatalogT, HistoryT, ReflogT >::FetchManifest(), ServerTool::FetchRemoteManifestEnsemble(), and catalog::ClientCatalogManager::GetNewRootCatalogContext().
Failures manifest::Verify | ( | unsigned char * | manifest_data, |
size_t | manifest_size, | ||
const std::string & | base_url, | ||
const std::string & | repository_name, | ||
const uint64_t | minimum_timestamp, | ||
const shash::Any * | base_catalog, | ||
signature::SignatureManager * | signature_manager, | ||
download::DownloadManager * | download_manager, | ||
ManifestEnsemble * | ensemble | ||
) |
Verifies the manifest, the certificate, and the whitelist. If base_url is empty, uses the probe_hosts feature from download manager. Creates a copy of the manifest to verify.
Definition at line 223 of file manifest_fetch.cc.
Referenced by anonymous_namespace{notification_client.cc}::ActivitySubscriber::Consume(), anonymous_namespace{cmd_sub.cc}::SwissknifeSubscriber::Consume(), signature::SignatureManager::KeysMatch(), and signature::SignatureManager::VerifyLetter().