summaryrefslogtreecommitdiffstats
path: root/ncr-pk.c
diff options
context:
space:
mode:
authorMiloslav Trmač <mitr@redhat.com>2010-08-18 05:51:32 +0200
committerMiloslav Trmač <mitr@redhat.com>2010-08-24 23:59:46 +0200
commitf9fa90899a4691ce01244593e2902111fe9bf2c6 (patch)
tree39d1ba8c29b4df7323016dc171692225cc1f847f /ncr-pk.c
parenteef7de54be0cd38abb689de7b0a749154b04c694 (diff)
downloadcryptodev-linux-f9fa90899a4691ce01244593e2902111fe9bf2c6.tar.gz
cryptodev-linux-f9fa90899a4691ce01244593e2902111fe9bf2c6.tar.xz
cryptodev-linux-f9fa90899a4691ce01244593e2902111fe9bf2c6.zip
Replace ncr_derive_t by NLA_NUL_STRING
Diffstat (limited to 'ncr-pk.c')
-rw-r--r--ncr-pk.c39
1 files changed, 18 insertions, 21 deletions
diff --git a/ncr-pk.c b/ncr-pk.c
index ecac4c7..c6055db 100644
--- a/ncr-pk.c
+++ b/ncr-pk.c
@@ -632,30 +632,27 @@ int ret;
err();
return -EINVAL;
}
- switch(nla_get_u32(nla)) {
- case NCR_DERIVE_DH:
- if (oldkey->type != NCR_KEY_TYPE_PRIVATE &&
- oldkey->algorithm->algo != NCR_ALG_DH) {
- err();
- return -EINVAL;
- }
+ if (nla_strcmp(nla, NCR_DERIVE_DH) == 0) {
+ if (oldkey->type != NCR_KEY_TYPE_PRIVATE &&
+ oldkey->algorithm->algo != NCR_ALG_DH) {
+ err();
+ return -EINVAL;
+ }
- nla = tb[NCR_ATTR_DH_PUBLIC];
- if (nla == NULL) {
- err();
- return -EINVAL;
- }
- ret = dh_derive_gxy(newkey, &oldkey->key.pk.dh,
- nla_data(nla), nla_len(nla));
- if (ret < 0) {
- err();
- return ret;
- }
-
- break;
- default:
+ nla = tb[NCR_ATTR_DH_PUBLIC];
+ if (nla == NULL) {
err();
return -EINVAL;
+ }
+ ret = dh_derive_gxy(newkey, &oldkey->key.pk.dh, nla_data(nla),
+ nla_len(nla));
+ if (ret < 0) {
+ err();
+ return ret;
+ }
+ } else {
+ err();
+ return -EINVAL;
}
return 0;