shared/import-util: Tag renamed to reference

Added (sha256) digest validation function
This commit is contained in:
Pavel Odvody
2015-05-19 18:21:46 +02:00
committed by Lennart Poettering
parent c6497ccb71
commit 74eff91e5f
2 changed files with 23 additions and 0 deletions
+21
View File
@@ -150,6 +150,27 @@ int raw_strip_suffixes(const char *p, char **ret) {
return 0;
}
bool dkr_digest_is_valid(const char *digest) {
/* 7 chars for prefix, 64 chars for the digest itself */
if (strlen(digest) != 71)
return false;
return startswith(digest, "sha256:") && in_charset(digest + 7, "0123456789abcdef");
}
bool dkr_ref_is_valid(const char *ref) {
const char *colon;
if (isempty(ref))
return false;
colon = strchr(ref, ':');
if (!colon)
return filename_is_valid(ref);
return dkr_digest_is_valid(ref);
}
bool dkr_name_is_valid(const char *name) {
const char *slash, *p;
+2
View File
@@ -44,4 +44,6 @@ int raw_strip_suffixes(const char *name, char **ret);
bool dkr_name_is_valid(const char *name);
bool dkr_id_is_valid(const char *id);
bool dkr_ref_is_valid(const char *ref);
bool dkr_digest_is_valid(const char *digest);
#define dkr_tag_is_valid(tag) filename_is_valid(tag)