shared/import-util: Tag renamed to reference
Added (sha256) digest validation function
This commit is contained in:
committed by
Lennart Poettering
parent
c6497ccb71
commit
74eff91e5f
@@ -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;
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user