]> err.no Git - yubikey-personalization/commitdiff
set protection in the exported json if the meta-property is set
authorKlas Lindfors <klas@yubico.com>
Fri, 7 Jun 2013 11:22:09 +0000 (13:22 +0200)
committerKlas Lindfors <klas@yubico.com>
Fri, 7 Jun 2013 11:22:09 +0000 (13:22 +0200)
ykpers-json.c

index 9e683c9a737b40dcdd49a396630438df345b3ad2..c64e8d9d5ff1bd91a10fbc8bd096775a1dd456aa 100644 (file)
@@ -46,6 +46,8 @@ int _ykp_json_export_cfg(const YKP_CONFIG *cfg, char *json, size_t len) {
                int mode = MODE_OTP_YUBICO;
                struct map_st *p;
                json_object *target_config = NULL;
+               json_object *prot_obj = NULL;
+               int protection = ykp_get_acccode_type(cfg);
 
                if((ycfg.tktFlags & TKTFLAG_OATH_HOTP) == TKTFLAG_OATH_HOTP){
                        if((ycfg.cfgFlags & CFGFLAG_CHAL_HMAC) == CFGFLAG_CHAL_HMAC) {
@@ -77,6 +79,17 @@ int _ykp_json_export_cfg(const YKP_CONFIG *cfg, char *json, size_t len) {
                        json_object_object_add(yprod_json, "targetConfig", target_config);
                }
 
+               if(protection == YKP_ACCCODE_NONE) {
+                       prot_obj = json_object_new_string("none");
+               } else if(protection == YKP_ACCCODE_RANDOM) {
+                       prot_obj = json_object_new_string("random");
+               } else if(protection == YKP_ACCCODE_SERIAL) {
+                       prot_obj = json_object_new_string("id");
+               }
+               if(prot_obj) {
+                       json_object_object_add(yprod_json, "protection", prot_obj);
+               }
+
                json_object_object_add(jobj, "yubiProdConfig", yprod_json);
                json_object_object_add(yprod_json, "options", options_json);