In current state, a user can input path to directory in New Keystore location: prompt, which is not allowed. Installer correctly reports the issue when user tries to proceed after all other inputs are filled in.
This is in contrast with other check like no permission to write in the place (see example below). Also the next prompt for Encrypted file directory: issues a warning and allows reenter the path if it was not a directory path.
My proposal is to move this check right after I try to enter a directory path - validation warning would appear and prompt is redisplayed so that user doesn't have to go through the whole dialogue again.
current:
Configure password vault A password vault encrypts sensitive strings and stores them in an encrypted keystore. The vault mechanism manages decrypting the strings for use with security domains, security realms, or other verification systems. Note that the keystore must be of type "JCEKS". Please make note of your entry below in order to mask any subsequent passwords. See JBoss EAP 7 documentation for further details. The password must have no fewer than 6 characters. Vault alias: [vault] Salt (8-chars) [8675309K] Iteration count [44] Vault keystore password: [] ****** Re-enter vault keystore password: [******] ****** New Keystore location: [/home/jbliznak/dev/installer/test/EAP-7.0.0/vault.keystore] /bin/vault.keystore Validation error: You do not have write permissions in the location given for the vault keystore. [/home/jbliznak/dev/installer/test/EAP-7.0.0/vault.keystore] /bin Validation error: You do not have write permissions in the location given for the vault keystore. [/home/jbliznak/dev/installer/test/EAP-7.0.0/vault.keystore] /tmp Encrypted file directory: [/home/jbliznak/dev/installer/test/EAP-7.0.0/vault/] press 1 to continue, 2 to quit, 3 to redisplay. 1 Validation error:: The supplied keystore path is a directory. Configure password vault A password vault encrypts sensitive strings and stores them in an encrypted keystore. The vault mechanism manages decrypting the strings for use with security domains, security realms, or other verification systems. Note that the keystore must be of type "JCEKS". Please make note of your entry below in order to mask any subsequent passwords. See JBoss EAP 7 documentation for further details. The password must have no fewer than 6 characters. Vault alias: [vault]
proposal:
Configure password vault A password vault encrypts sensitive strings and stores them in an encrypted keystore. The vault mechanism manages decrypting the strings for use with security domains, security realms, or other verification systems. Note that the keystore must be of type "JCEKS". Please make note of your entry below in order to mask any subsequent passwords. See JBoss EAP 7 documentation for further details. The password must have no fewer than 6 characters. Vault alias: [vault] Salt (8-chars) [8675309K] Iteration count [44] Vault keystore password: [] ****** Re-enter vault keystore password: [******] ****** New Keystore location: [/home/jbliznak/dev/installer/test/EAP-7.0.0/vault.keystore] /tmp Validation error: The supplied keystore path is a directory. New Keystore location: [/home/jbliznak/dev/installer/test/EAP-7.0.0/vault.keystore]