]> git.proxmox.com Git - mirror_qemu.git/blobdiff - crypto/secret.c
migration/postcopy: discard_length must not be 0
[mirror_qemu.git] / crypto / secret.c
index 9a9257a7f00f4df2aa25256ab0c331c5226308a4..a75d50ae0cc68e87f1024e0b4e6eb42b7594342f 100644 (file)
@@ -6,7 +6,7 @@
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
+ * version 2.1 of the License, or (at your option) any later version.
  *
  * This library is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  *
  */
 
+#include "qemu/osdep.h"
 #include "crypto/secret.h"
 #include "crypto/cipher.h"
+#include "qapi/error.h"
 #include "qom/object_interfaces.h"
 #include "qemu/base64.h"
+#include "qemu/module.h"
 #include "trace.h"
 
 
@@ -351,38 +354,6 @@ qcrypto_secret_complete(UserCreatable *uc, Error **errp)
 }
 
 
-static void
-qcrypto_secret_init(Object *obj)
-{
-    object_property_add_bool(obj, "loaded",
-                             qcrypto_secret_prop_get_loaded,
-                             qcrypto_secret_prop_set_loaded,
-                             NULL);
-    object_property_add_enum(obj, "format",
-                             "QCryptoSecretFormat",
-                             QCryptoSecretFormat_lookup,
-                             qcrypto_secret_prop_get_format,
-                             qcrypto_secret_prop_set_format,
-                             NULL);
-    object_property_add_str(obj, "data",
-                            qcrypto_secret_prop_get_data,
-                            qcrypto_secret_prop_set_data,
-                            NULL);
-    object_property_add_str(obj, "file",
-                            qcrypto_secret_prop_get_file,
-                            qcrypto_secret_prop_set_file,
-                            NULL);
-    object_property_add_str(obj, "keyid",
-                            qcrypto_secret_prop_get_keyid,
-                            qcrypto_secret_prop_set_keyid,
-                            NULL);
-    object_property_add_str(obj, "iv",
-                            qcrypto_secret_prop_get_iv,
-                            qcrypto_secret_prop_set_iv,
-                            NULL);
-}
-
-
 static void
 qcrypto_secret_finalize(Object *obj)
 {
@@ -401,6 +372,33 @@ qcrypto_secret_class_init(ObjectClass *oc, void *data)
     UserCreatableClass *ucc = USER_CREATABLE_CLASS(oc);
 
     ucc->complete = qcrypto_secret_complete;
+
+    object_class_property_add_bool(oc, "loaded",
+                                   qcrypto_secret_prop_get_loaded,
+                                   qcrypto_secret_prop_set_loaded,
+                                   NULL);
+    object_class_property_add_enum(oc, "format",
+                                   "QCryptoSecretFormat",
+                                   &QCryptoSecretFormat_lookup,
+                                   qcrypto_secret_prop_get_format,
+                                   qcrypto_secret_prop_set_format,
+                                   NULL);
+    object_class_property_add_str(oc, "data",
+                                  qcrypto_secret_prop_get_data,
+                                  qcrypto_secret_prop_set_data,
+                                  NULL);
+    object_class_property_add_str(oc, "file",
+                                  qcrypto_secret_prop_get_file,
+                                  qcrypto_secret_prop_set_file,
+                                  NULL);
+    object_class_property_add_str(oc, "keyid",
+                                  qcrypto_secret_prop_get_keyid,
+                                  qcrypto_secret_prop_set_keyid,
+                                  NULL);
+    object_class_property_add_str(oc, "iv",
+                                  qcrypto_secret_prop_get_iv,
+                                  qcrypto_secret_prop_set_iv,
+                                  NULL);
 }
 
 
@@ -434,7 +432,7 @@ int qcrypto_secret_lookup(const char *secretid,
         return -1;
     }
 
-    *data = g_new0(uint8, secret->rawlen + 1);
+    *data = g_new0(uint8_t, secret->rawlen + 1);
     memcpy(*data, secret->rawdata, secret->rawlen);
     (*data)[secret->rawlen] = '\0';
     *datalen = secret->rawlen;
@@ -492,7 +490,6 @@ static const TypeInfo qcrypto_secret_info = {
     .parent = TYPE_OBJECT,
     .name = TYPE_QCRYPTO_SECRET,
     .instance_size = sizeof(QCryptoSecret),
-    .instance_init = qcrypto_secret_init,
     .instance_finalize = qcrypto_secret_finalize,
     .class_size = sizeof(QCryptoSecretClass),
     .class_init = qcrypto_secret_class_init,