| diff '--color=auto' -wrBu a/Common/DtaDevEnterprise.cpp b/Common/DtaDevEnterprise.cpp |
| --- a/Common/DtaDevEnterprise.cpp 2023-05-04 22:50:11.459380518 -0700 |
| +++ b/Common/DtaDevEnterprise.cpp 2023-05-04 20:40:37.034405137 -0700 |
| @@ -384,11 +384,6 @@ |
| string defaultPassword; |
| char *pwd = password, *newpwd = newpassword; |
| |
| - if (securemode) { |
| - LOG(I) << "setSIDPassword in secure mode in the Enterprise SSC is not supported"; |
| - return lastRC; |
| - } |
| - |
| if (11 > strnlen(userid, 15)) { |
| LOG(E) << "Invalid Userid " << userid; |
| return DTAERROR_INVALID_PARAMETER; |
| @@ -1280,11 +1275,6 @@ |
| LOG(D1) << "Entering DtaDevEnterprise::setSIDPassword()"; |
| uint8_t lastRC = 0; |
| |
| - if (securemode) { |
| - LOG(I) << "setSIDPassword in the Enterprise SSC is not supported"; |
| - return lastRC; |
| - } |
| - |
| vector<uint8_t> user; |
| set8(user, OPALUID[OPAL_SID_UID]); |
| |
| diff '--color=auto' -wrBu a/Common/DtaOptions.h b/Common/DtaOptions.h |
| --- a/Common/DtaOptions.h 2023-05-04 22:50:11.459380518 -0700 |
| +++ b/Common/DtaOptions.h 2023-05-04 22:19:12.038237932 -0700 |
| @@ -45,6 +45,7 @@ |
| bool no_hash_passwords; /** global parameter, disables hashing of passwords */ |
| bool secure_mode; /** global parameter, enable the secure mode */ |
| bool ask_password; /** global parameter, to know if the password needs to be interactively asked to the user */ |
| + bool ask_new_password; /** global parameter, to know if the new password needs to be interactively asked to the user */ |
| sedutiloutput output_format; |
| } DTA_OPTIONS; |
| /** Print a usage message */ |
| @@ -134,8 +135,12 @@ |
| (!(strcasecmp(#option_field, "password")) || \ |
| !(strcasecmp(#option_field, "newpassword")))) { \ |
| opts->option_field = 255; \ |
| - if (opts->action != sedutiloption::initialSetup)\ |
| opts->ask_password = true; \ |
| + if (opts->action == sedutiloption::setSIDPassword || \ |
| + opts->action == sedutiloption::setAdmin1Pwd || \ |
| + opts->action == sedutiloption::setPassword) {\ |
| + opts->ask_new_password = true; \ |
| + } \ |
| } \ |
| else { \ |
| opts->option_field = ++i; \ |
| @@ -146,6 +151,6 @@ |
| opts.secure_mode? (char*) interactive_password.c_str() : argv[opts.password]\ |
| |
| #define GET_NEW_PASSWORD() \ |
| - opts.secure_mode? (char*)"" : argv[opts.newpassword]\ |
| + opts.secure_mode? (char*) new_interactive_password.c_str() : argv[opts.newpassword]\ |
| |
| #endif /* _DTAOPTIONS_H */ |
| diff '--color=auto' -wrBu a/Common/sedutil.cpp b/Common/sedutil.cpp |
| --- a/Common/sedutil.cpp 2023-05-04 22:50:11.459380518 -0700 |
| +++ b/Common/sedutil.cpp 2023-05-04 22:00:03.810890575 -0700 |
| @@ -54,15 +54,20 @@ |
| { |
| DTA_OPTIONS opts; |
| DtaDev *tempDev = NULL, *d = NULL; |
| - std::string interactive_password; |
| + std::string interactive_password, new_interactive_password; |
| if (DtaOptions(argc, argv, &opts)) { |
| return DTAERROR_COMMAND_ERROR; |
| } |
| |
| #ifdef __linux__ |
| - if (opts.secure_mode && opts.ask_password) { |
| + if (opts.secure_mode){ |
| + if (opts.ask_password) { |
| interactive_password = GetPassPhrase("Please enter password "); |
| } |
| + if (opts.ask_new_password) { |
| + new_interactive_password = GetPassPhrase("Please enter new password "); |
| + } |
| + } |
| #endif //__linux__ |
| |
| if ((opts.action != sedutiloption::scan) && |