]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
UBUNTU: SAUCE: apparmor: add/use fns to print hash string hex value
authorJohn Johansen <john.johansen@canonical.com>
Tue, 2 May 2017 01:20:25 +0000 (18:20 -0700)
committerPaolo Pisati <paolo.pisati@canonical.com>
Mon, 16 Sep 2019 13:06:31 +0000 (15:06 +0200)
Signed-off-by: John Johansen <john.johansen@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
security/apparmor/crypto.c
security/apparmor/include/crypto.h

index b498ed3024610f406d15a204fec2c650bc8c1ac8..82d56bd204b00d5318c0afab50b2d998c1349f90 100644 (file)
@@ -25,6 +25,25 @@ unsigned int aa_hash_size(void)
        return apparmor_hash_size;
 }
 
+void aa_snprint_hashstr(char *out, unsigned char *hash, unsigned int hsize)
+{
+       unsigned int i;
+
+       for (i = 0; i < hsize; i++)
+               sprintf(out + i*2, "%.2x", hash[i]);
+       out[hsize*2] = 0;
+}
+
+char *aa_asprint_hashstr(unsigned char *hash, unsigned int hsize, gfp_t gfp)
+{
+       char *buffer = kmalloc(hsize*2 + 1, gfp);
+       if (!buffer)
+               return NULL;
+       aa_snprint_hashstr(buffer, hash, hsize);
+
+       return buffer;
+}
+
 char *aa_calc_hash(void *data, size_t len)
 {
        SHASH_DESC_ON_STACK(desc, apparmor_tfm);
index 636a04e20d9184fc19ff672de5eb40936b7f9e82..ceee04f4b4282e8c1a0e1c5991a2671c9c7ad4ec 100644 (file)
@@ -14,6 +14,8 @@
 
 #ifdef CONFIG_SECURITY_APPARMOR_HASH
 unsigned int aa_hash_size(void);
+void aa_snprint_hashstr(char *out, unsigned char *hash, unsigned int hsize);
+char *aa_asprint_hashstr(unsigned char *hash, unsigned int hsize, gfp_t gfp);
 char *aa_calc_hash(void *data, size_t len);
 int aa_calc_profile_hash(struct aa_profile *profile, u32 version, void *start,
                         size_t len);
@@ -32,6 +34,15 @@ static inline unsigned int aa_hash_size(void)
 {
        return 0;
 }
+
+void aa_snprint_hashstr(char *out, unsigned char *hash, unsigned int hsize)
+{
+}
+
+char *aa_asprint_hashstr(unsigned char *hash, unsigned int hsize, gfp_t gfp);
+{
+       return NULL;
+}
 #endif
 
 #endif /* __APPARMOR_CRYPTO_H */