]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
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)
committerSeth Forshee <seth.forshee@canonical.com>
Tue, 5 Sep 2017 12:33:44 +0000 (07:33 -0500)
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 136f2a04783670d5ea8ad0c93d063d5a866fc297..cfedacb0a19707ad236f0026f9d5a7d060f2d276 100644 (file)
@@ -29,6 +29,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 c1469f8db1747addfdf4805861dacba1685e2baa..4d927dc1ed30866030eca87f017798af0a00b80a 100644 (file)
@@ -18,6 +18,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);
@@ -36,6 +38,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 */