diff -up ecryptfs-utils-86/src/key_mod/ecryptfs_key_mod_pkcs11_helper.c.werror ecryptfs-utils-86/src/key_mod/ecryptfs_key_mod_pkcs11_helper.c
--- ecryptfs-utils-86/src/key_mod/ecryptfs_key_mod_pkcs11_helper.c.werror 2011-02-25 17:04:05.760026778 +0100
+++ ecryptfs-utils-86/src/key_mod/ecryptfs_key_mod_pkcs11_helper.c 2011-02-25 17:04:05.841024970 +0100
@@ -86,7 +86,7 @@ static int ecryptfs_pkcs11h_deserialize(
pkcs11h_data->serialized_id = NULL;
}
else {
- pkcs11h_data->serialized_id = blob + i;
+ pkcs11h_data->serialized_id = (char *)blob + i;
i += serialized_id_length;
}
pkcs11h_data->certificate_blob_size = blob[i++] % 256;
@@ -104,12 +104,11 @@ static int ecryptfs_pkcs11h_deserialize(
pkcs11h_data->passphrase = NULL;
}
else {
- pkcs11h_data->passphrase = blob + i;
+ pkcs11h_data->passphrase = (char *)blob + i;
i += passphrase_length;
}
rc = 0;
-out:
return rc;
}
@@ -346,14 +345,14 @@ static int ecryptfs_pkcs11h_get_key_sig(
data[i++] = '\02';
data[i++] = (char)(nbits >> 8);
data[i++] = (char)nbits;
- BN_bn2bin(rsa->n, &(data[i]));
+ BN_bn2bin(rsa->n, (unsigned char *)&(data[i]));
i += nbytes;
data[i++] = (char)(ebits >> 8);
data[i++] = (char)ebits;
- BN_bn2bin(rsa->e, &(data[i]));
+ BN_bn2bin(rsa->e, (unsigned char *)&(data[i]));
i += ebytes;
- SHA1(data, len + 3, hash);
- to_hex(sig, hash, ECRYPTFS_SIG_SIZE);
+ SHA1((unsigned char *)data, len + 3, (unsigned char *)hash);
+ to_hex((char *)sig, hash, ECRYPTFS_SIG_SIZE);
sig[ECRYPTFS_SIG_SIZE_HEX] = '\0';
rc = 0;
@@ -411,8 +410,8 @@ static int ecryptfs_pkcs11h_encrypt(char
if (
(rc = RSA_public_encrypt(
from_size,
- from,
- to,
+ (unsigned char *)from,
+ (unsigned char *)to,
rsa,
RSA_PKCS1_PADDING
)) == -1
@@ -506,9 +505,9 @@ static int ecryptfs_pkcs11h_decrypt(char
(rv = pkcs11h_certificate_decryptAny (
certificate,
CKM_RSA_PKCS,
- from,
+ (unsigned char *)from,
from_size,
- to,
+ (unsigned char *)to,
to_size
)) != CKR_OK
) {
@@ -534,9 +533,9 @@ static int ecryptfs_pkcs11h_decrypt(char
pkcs11h_certificate_decryptAny (
certificate,
CKM_RSA_PKCS,
- from,
+ (unsigned char *)from,
from_size,
- tmp,
+ (unsigned char *)tmp,
to_size
);
@@ -851,7 +850,7 @@ static int ecryptfs_pkcs11h_process_key(
rc = MOUNT_ERROR;
goto out;
}
- if ((rc = ecryptfs_pkcs11h_serialize(subgraph_key_ctx->key_mod->blob,
+ if ((rc = ecryptfs_pkcs11h_serialize((unsigned char *)subgraph_key_ctx->key_mod->blob,
&subgraph_key_ctx->key_mod->blob_size,
pkcs11h_data))) {
syslog(LOG_ERR, "PKCS#11: Error serializing pkcs11; rc=[%d]\n", rc);
@@ -930,7 +929,7 @@ static int tf_pkcs11h_global_loglevel(st
rc = DEFAULT_TOK;
node->val = NULL;
-out:
+// out:
return rc;
}
@@ -943,7 +942,7 @@ static int tf_pkcs11h_global_pincache(st
rc = DEFAULT_TOK;
node->val = NULL;
-out:
+// out:
return rc;
}
@@ -1013,7 +1012,7 @@ static int tf_pkcs11h_provider_prot_auth
sscanf (node->val, "%x", &subgraph_provider_ctx->allow_protected_authentication);
rc = DEFAULT_TOK;
node->val = NULL;
-out:
+
return rc;
}
@@ -1027,7 +1026,7 @@ static int tf_pkcs11h_provider_cert_priv
sscanf (node->val, "%x", &subgraph_provider_ctx->certificate_is_private);
rc = DEFAULT_TOK;
node->val = NULL;
-out:
+
return rc;
}
@@ -1042,7 +1041,7 @@ static int tf_pkcs11h_provider_private_m
rc = DEFAULT_TOK;
node->val = NULL;
-out:
+
return rc;
}
@@ -1073,7 +1072,7 @@ static int tf_pkcs11h_provider_end(struc
free(subgraph_provider_ctx);
*foo = NULL;
rc = DEFAULT_TOK;
-out:
+
return rc;
}
@@ -1120,7 +1119,7 @@ static int tf_pkcs11h_key_x509file(struc
X509 *x509 = NULL;
unsigned char *p = NULL;
FILE *fp = NULL;
- int rc;
+ int rc = 0;
subgraph_key_ctx = (struct pkcs11h_subgraph_key_ctx *)(*foo);
diff -up ecryptfs-utils-86/src/libecryptfs/ecryptfs-stat.c.werror ecryptfs-utils-86/src/libecryptfs/ecryptfs-stat.c
--- ecryptfs-utils-86/src/libecryptfs/ecryptfs-stat.c.werror 2010-12-17 18:34:04.000000000 +0100
+++ ecryptfs-utils-86/src/libecryptfs/ecryptfs-stat.c 2011-02-25 17:04:05.843024925 +0100
@@ -146,7 +146,7 @@ int ecryptfs_parse_stat(struct ecryptfs_
if (buf_size < (ECRYPTFS_FILE_SIZE_BYTES
+ MAGIC_ECRYPTFS_MARKER_SIZE_BYTES
+ 4)) {
- printf("%s: Invalid metadata size; must have at least [%lu] "
+ printf("%s: Invalid metadata size; must have at least [%zu] "
"bytes; there are only [%zu] bytes\n", __FUNCTION__,
(ECRYPTFS_FILE_SIZE_BYTES
+ MAGIC_ECRYPTFS_MARKER_SIZE_BYTES
diff -up ecryptfs-utils-86/src/pam_ecryptfs/pam_ecryptfs.c.werror ecryptfs-utils-86/src/pam_ecryptfs/pam_ecryptfs.c
--- ecryptfs-utils-86/src/pam_ecryptfs/pam_ecryptfs.c.werror 2011-02-06 03:44:30.000000000 +0100
+++ ecryptfs-utils-86/src/pam_ecryptfs/pam_ecryptfs.c 2011-02-25 17:10:08.898668231 +0100
@@ -39,35 +39,11 @@
#include <sys/stat.h>
#include <fcntl.h>
#include <security/pam_modules.h>
+#include <security/pam_ext.h>
#include "../include/ecryptfs.h"
#define PRIVATE_DIR "Private"
-static void error(const char *msg)
-{
- syslog(LOG_ERR, "errno = [%i]; strerror = [%m]\n", errno);
- switch (errno) {
- case ENOKEY:
- syslog(LOG_ERR, "%s: Requested key not available\n", msg);
- return;
-
- case EKEYEXPIRED:
- syslog(LOG_ERR, "%s: Key has expired\n", msg);
- return;
-
- case EKEYREVOKED:
- syslog(LOG_ERR, "%s: Key has been revoked\n", msg);
- return;
-
- case EKEYREJECTED:
- syslog(LOG_ERR, "%s: Key was rejected by service\n", msg);
- return;
- default:
- syslog(LOG_ERR, "%s: Unknown key error\n", msg);
- return;
- }
-}
-
/* returns: 0 if file does not exist, 1 if it exists, <0 for error */
static int file_exists_dotecryptfs(const char *homedir, char *filename)
{
@@ -87,7 +63,7 @@ out:
return rc;
}
-static int wrap_passphrase_if_necessary(char *username, uid_t uid, char *wrapped_pw_filename, char *passphrase, char *salt)
+static int wrap_passphrase_if_necessary(const char *username, uid_t uid, char *wrapped_pw_filename, char *passphrase, char *salt)
{
char *unwrapped_pw_filename = NULL;
struct stat s;
@@ -201,8 +177,6 @@ PAM_EXTERN int pam_sm_authenticate(pam_h
if ((argc == 1)
&& (memcmp(argv[0], "unwrap\0", 7) == 0)) {
char *wrapped_pw_filename;
- char *unwrapped_pw_filename;
- struct stat s;
rc = asprintf(
&wrapped_pw_filename, "%s/.ecryptfs/%s",
@@ -294,8 +268,6 @@ static int private_dir(pam_handle_t *pam
char *autoumount = "auto-umount";
struct stat s;
pid_t pid;
- struct utmp *u;
- int count = 0;
if ((pwd = fetch_pwd(pamh)) == NULL) {
/* fetch_pwd() logged a message */
@@ -342,7 +314,7 @@ static int private_dir(pam_handle_t *pam
if (stat(recorded, &s) != 0 && stat("/usr/share/ecryptfs-utils/ecryptfs-record-passphrase", &s) == 0) {
/* User has not recorded their passphrase */
unlink("/var/lib/update-notifier/user.d/ecryptfs-record-passphrase");
- symlink("/usr/share/ecryptfs-utils/ecryptfs-record-passphrase", "/var/lib/update-notifier/user.d/ecryptfs-record-passphrase");
+ rc=symlink("/usr/share/ecryptfs-utils/ecryptfs-record-passphrase", "/var/lib/update-notifier/user.d/ecryptfs-record-passphrase");
fd = open("/var/lib/update-notifier/dpkg-run-stamp", O_WRONLY|O_CREAT|O_NONBLOCK, 0666);
close(fd);
}
@@ -413,7 +385,7 @@ PAM_EXTERN int pam_sm_chauthtok(pam_hand
char *old_passphrase = NULL;
char *new_passphrase = NULL;
char *wrapped_pw_filename;
- char *name = NULL;
+// char *name = NULL;
char salt[ECRYPTFS_SALT_SIZE];
char salt_hex[ECRYPTFS_SALT_SIZE_HEX];
pid_t child_pid, tmp_pid;
@@ -427,11 +399,11 @@ PAM_EXTERN int pam_sm_chauthtok(pam_hand
if (pwd) {
uid = pwd->pw_uid;
homedir = pwd->pw_dir;
- name = pwd->pw_name;
+// name = pwd->pw_name;
}
} else {
syslog(LOG_ERR, "Error getting passwd info for user [%s]; "
- "rc = [%ld]\n", username, rc);
+ "rc = [%d]\n", username, rc);
goto out;
}
saved_uid = geteuid();
diff -up ecryptfs-utils-86/src/utils/mount.ecryptfs.c.werror ecryptfs-utils-86/src/utils/mount.ecryptfs.c
--- ecryptfs-utils-86/src/utils/mount.ecryptfs.c.werror 2010-12-17 18:34:04.000000000 +0100
+++ ecryptfs-utils-86/src/utils/mount.ecryptfs.c 2011-02-25 17:04:05.857024613 +0100
@@ -461,7 +461,7 @@ static int ecryptfs_do_mount(int argc, c
{
int rc;
int flags = 0;
- int num_opts = 0;
+// int num_opts = 0;
char *src = NULL, *targ = NULL, *opts = NULL, *new_opts = NULL, *temp;
char *val;
@@ -472,7 +472,7 @@ static int ecryptfs_do_mount(int argc, c
rc = strip_userland_opts(opts);
if (rc)
goto out;
- num_opts = ecryptfs_generate_mount_flags(opts, &flags);
+ ecryptfs_generate_mount_flags(opts, &flags);
if (!(temp = strdup("ecryptfs_unlink_sigs"))) {
rc = -ENOMEM;
goto out;
diff -up ecryptfs-utils-86/src/utils/mount.ecryptfs_private.c.werror ecryptfs-utils-86/src/utils/mount.ecryptfs_private.c
--- ecryptfs-utils-86/src/utils/mount.ecryptfs_private.c.werror 2011-02-25 17:04:05.802025842 +0100
+++ ecryptfs-utils-86/src/utils/mount.ecryptfs_private.c 2011-02-25 17:04:05.859024569 +0100
@@ -95,7 +95,6 @@ int read_config(char *pw_dir, int uid, c
*s = strdup(e->mnt_fsname);
if (!*s)
return -2;
-out:
return 0;
}
diff -up ecryptfs-utils-86/src/utils/test.c.werror ecryptfs-utils-86/src/utils/test.c
--- ecryptfs-utils-86/src/utils/test.c.werror 2010-12-17 18:34:04.000000000 +0100
+++ ecryptfs-utils-86/src/utils/test.c 2011-02-25 17:04:05.860024547 +0100
@@ -281,7 +281,7 @@ int ecryptfs_encrypt_page(int page_cache
struct inode *lower_inode;
struct ecryptfs_crypt_stat *crypt_stat;
int rc = 0;
- int lower_byte_offset;
+ int lower_byte_offset = 0;
int orig_byte_offset = 0;
int num_extents_per_page;
#define ECRYPTFS_PAGE_STATE_UNREAD 0