[379] Improve mosquitto_passwd error messages.

Thanks to Jaimyn Mayer. Closes #379.

Bug: https://github.com/eclipse/mosquitto/issues/379
This commit is contained in:
Roger A. Light 2017-02-12 21:22:58 +00:00
parent 565c9c3432
commit ebad302119
2 changed files with 39 additions and 23 deletions

View File

@ -6,6 +6,7 @@ Broker:
- For http only websockets clients, close files served over http in all cases
when the client disconnects. Closes #354.
- Fix error message when websockets http_dir directory does not exist.
- Improve password utility error message. Closes #379.
Client library:
- Clients can now use TLS with IPv6.

View File

@ -377,35 +377,50 @@ int main(int argc, char *argv[])
OpenSSL_add_all_digests();
if(argc == 5){
if(!strcmp(argv[1], "-b")){
batch_mode = true;
}else{
fprintf(stderr, "Error: Unknown option '%s'\n", argv[1]);
if(argc == 1){
print_usage();
return 1;
}
if(!strcmp(argv[1], "-c")){
create_new = true;
if(argc != 4){
fprintf(stderr, "Error: -c argument given but password file or username missing.\n");
return 1;
}
password_file_tmp = argv[2];
username = argv[3];
password_cmd = argv[4];
}else if(argc == 4){
if(!strcmp(argv[1], "-c")){
create_new = true;
}else if(!strcmp(argv[1], "-D")){
delete_user = true;
}else{
fprintf(stderr, "Error: Unknown option '%s'\n", argv[1]);
return 1;
password_file_tmp = argv[2];
username = argv[3];
}
password_file_tmp = argv[2];
username = argv[3];
}else if(argc == 3){
if(!strcmp(argv[1], "-U")){
}else if(!strcmp(argv[1], "-D")){
delete_user = true;
if(argc != 4){
fprintf(stderr, "Error: -D argument given but password file or username missing.\n");
return 1;
}else{
password_file_tmp = argv[2];
username = argv[3];
}
}else if(!strcmp(argv[1], "-b")){
batch_mode = true;
if(argc != 5){
fprintf(stderr, "Error: -b argument given but password file, username or password missing.\n");
return 1;
}else{
password_file_tmp = argv[2];
username = argv[3];
password_cmd = argv[4];
}
}else if(!strcmp(argv[1], "-U")){
if(argc != 3){
fprintf(stderr, "Error: -U argument given but password file missing.\n");
return 1;
}else{
do_update_file = true;
password_file_tmp = argv[2];
}else{
password_file_tmp = argv[1];
username = argv[2];
}
}else if(argc == 3){
password_file_tmp = argv[1];
username = argv[2];
}else{
print_usage();
return 1;