public void execute()

in kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/ChangePasswordCommand.java [43:87]


    public void execute(String input) {
        String[] commands = input.split("\\s");
        String principal = commands[commands.length - 1];
        String password;

        if (commands.length <= 1) {
            System.err.println(USAGE);
            return;
        }

        if (commands.length == 2) { //only principal is given
            password = getPassword(principal);
            if (password == null) {
                System.out.println("Did not get new password successfully. Please try again");
                return;
            }
            try {
                getKadmin().changePassword(principal, password);
                System.out.println("Update password success.");
            } catch (KrbException e) {
                System.err.println("Fail to update password. " + e.getCause());
            }
        } else {
            kOptions = ToolUtil.parseOptions(commands, 1, commands.length - 2);
            if (kOptions == null) {
                System.err.println(USAGE);
                return;
            }
            if (kOptions.contains(KadminOption.PW)) {
                password = kOptions.getStringOption(KadminOption.PW);
                try {
                    getKadmin().changePassword(principal, password);
                    System.out.println("Update password success.");
                } catch (KrbException e) {
                    System.err.println("Fail to update password. " + e.getMessage());
                }
            } else if (kOptions.contains(KadminOption.RANDKEY)) {
                try {
                    getKadmin().updateKeys(principal);
                } catch (KrbException e) {
                    System.err.println("Fail to update key. " + e.getMessage());
                }
            }
        }
    }