Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
debug.c
Go to the documentation of this file.
1 
24 #include "ecryptfs_kernel.h"
25 
33 {
34  char salt[ECRYPTFS_SALT_SIZE * 2 + 1];
35  char sig[ECRYPTFS_SIG_SIZE_HEX + 1];
36 
37  ecryptfs_printk(KERN_DEBUG, "Auth tok at mem loc [%p]:\n",
38  auth_tok);
39  if (auth_tok->flags & ECRYPTFS_PRIVATE_KEY) {
40  ecryptfs_printk(KERN_DEBUG, " * private key type\n");
41  } else {
42  ecryptfs_printk(KERN_DEBUG, " * passphrase type\n");
43  ecryptfs_to_hex(salt, auth_tok->token.password.salt,
45  salt[ECRYPTFS_SALT_SIZE * 2] = '\0';
46  ecryptfs_printk(KERN_DEBUG, " * salt = [%s]\n", salt);
47  if (auth_tok->token.password.flags &
49  ecryptfs_printk(KERN_DEBUG, " * persistent\n");
50  }
51  memcpy(sig, auth_tok->token.password.signature,
53  sig[ECRYPTFS_SIG_SIZE_HEX] = '\0';
54  ecryptfs_printk(KERN_DEBUG, " * signature = [%s]\n", sig);
55  }
56  ecryptfs_printk(KERN_DEBUG, " * session_key.flags = [0x%x]\n",
57  auth_tok->session_key.flags);
58  if (auth_tok->session_key.flags
61  " * Userspace decrypt request set\n");
62  if (auth_tok->session_key.flags
65  " * Userspace encrypt request set\n");
66  if (auth_tok->session_key.flags & ECRYPTFS_CONTAINS_DECRYPTED_KEY) {
67  ecryptfs_printk(KERN_DEBUG, " * Contains decrypted key\n");
69  " * session_key.decrypted_key_size = [0x%x]\n",
70  auth_tok->session_key.decrypted_key_size);
71  ecryptfs_printk(KERN_DEBUG, " * Decrypted session key "
72  "dump:\n");
73  if (ecryptfs_verbosity > 0)
74  ecryptfs_dump_hex(auth_tok->session_key.decrypted_key,
76  }
77  if (auth_tok->session_key.flags & ECRYPTFS_CONTAINS_ENCRYPTED_KEY) {
78  ecryptfs_printk(KERN_DEBUG, " * Contains encrypted key\n");
80  " * session_key.encrypted_key_size = [0x%x]\n",
81  auth_tok->session_key.encrypted_key_size);
82  ecryptfs_printk(KERN_DEBUG, " * Encrypted session key "
83  "dump:\n");
84  if (ecryptfs_verbosity > 0)
85  ecryptfs_dump_hex(auth_tok->session_key.encrypted_key,
86  auth_tok->session_key.
87  encrypted_key_size);
88  }
89 }
90 
98 void ecryptfs_dump_hex(char *data, int bytes)
99 {
100  int i = 0;
101  int add_newline = 1;
102 
103  if (ecryptfs_verbosity < 1)
104  return;
105  if (bytes != 0) {
106  printk(KERN_DEBUG "0x%.2x.", (unsigned char)data[i]);
107  i++;
108  }
109  while (i < bytes) {
110  printk("0x%.2x.", (unsigned char)data[i]);
111  i++;
112  if (i % 16 == 0) {
113  printk("\n");
114  add_newline = 0;
115  } else
116  add_newline = 1;
117  }
118  if (add_newline)
119  printk("\n");
120 }
121