Replace plaintext password in ovf-env.xml with the hash.
This commit is contained in:
parent
db607f0e55
commit
01e02ae0aa
2 changed files with 18 additions and 1 deletions
|
@ -720,6 +720,21 @@ azure_getovfenv(struct system_config *sc)
|
||||||
log_debug("%s: password failed", __func__);
|
log_debug("%s: password failed", __func__);
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
free(xe->xe_tag);
|
||||||
|
free(xe->xe_data);
|
||||||
|
explicit_bzero(xe->xe_data, xe->xe_datalen);
|
||||||
|
|
||||||
|
/* Replace unencrypted password with hash */
|
||||||
|
xe->xe_tag = strdup("UserPasswordHash");
|
||||||
|
xe->xe_data = strdup(sc->sc_password);
|
||||||
|
xe->xe_datalen = strlen(sc->sc_password);
|
||||||
|
} else if ((xe = xml_findl(&xp->xe_head,
|
||||||
|
"UserPasswordHash", NULL)) != NULL) {
|
||||||
|
if ((sc->sc_password = strdup(xe->xe_data)) != NULL) {
|
||||||
|
log_debug("%s: password hash failed", __func__);
|
||||||
|
goto done;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((fd = open(sc->sc_ovfenv, O_WRONLY|O_CREAT|O_TRUNC, 0600)) == -1 ||
|
if ((fd = open(sc->sc_ovfenv, O_WRONLY|O_CREAT|O_TRUNC, 0600)) == -1 ||
|
||||||
|
|
|
@ -239,8 +239,10 @@ xml_end_element(void *data, const char *el)
|
||||||
fatal("missing element");
|
fatal("missing element");
|
||||||
if (strcmp(xe->xe_tag, el) != 0)
|
if (strcmp(xe->xe_tag, el) != 0)
|
||||||
fatal("unexpected closing tag: %s <> %s", el, xe->xe_tag);
|
fatal("unexpected closing tag: %s <> %s", el, xe->xe_tag);
|
||||||
if (xe->xe_data == NULL)
|
if (xe->xe_data == NULL) {
|
||||||
xe->xe_data = strdup("");
|
xe->xe_data = strdup("");
|
||||||
|
xe->xe_datalen = 0;
|
||||||
|
}
|
||||||
|
|
||||||
env->ox_cur = xe->xe_parent;
|
env->ox_cur = xe->xe_parent;
|
||||||
env->ox_depth--;
|
env->ox_depth--;
|
||||||
|
|
Loading…
Add table
Reference in a new issue