From edfb6a8d170c40cdd6aed9ca8792400f24a6d2c3 Mon Sep 17 00:00:00 2001 From: miguelfigueiredo Date: Mon, 22 Dec 2025 16:19:57 +0000 Subject: [PATCH 1/7] Fix CLI login error Signed-off-by: miguelfigueiredo --- .../mirth/connect/cli/CommandLineInterface.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/command/src/com/mirth/connect/cli/CommandLineInterface.java b/command/src/com/mirth/connect/cli/CommandLineInterface.java index 1e785ab14..49945e93d 100644 --- a/command/src/com/mirth/connect/cli/CommandLineInterface.java +++ b/command/src/com/mirth/connect/cli/CommandLineInterface.java @@ -58,6 +58,7 @@ import com.mirth.connect.client.core.PaginatedEventList; import com.mirth.connect.client.core.PaginatedMessageList; import com.mirth.connect.client.core.PropertiesConfigurationUtil; +import com.mirth.connect.client.core.UnauthorizedException; import com.mirth.connect.donkey.model.channel.DeployedState; import com.mirth.connect.donkey.model.message.ContentType; import com.mirth.connect.donkey.model.message.Message; @@ -179,10 +180,17 @@ private void runShell(String server, String user, String password, String script client = new Client(server); this.debug = debug; - LoginStatus loginStatus = client.login(user, password); - - if (loginStatus.getStatus() != LoginStatus.Status.SUCCESS) { - error("Could not login to server.", null); + LoginStatus loginStatus = null; + try { + loginStatus = client.login(user, password); + } catch (UnauthorizedException ex) { + if (ex.getResponse() != null && ex.getResponse() instanceof LoginStatus) { + loginStatus = (LoginStatus) ex.getResponse(); + } + } + + if (loginStatus == null || loginStatus.getStatus() != LoginStatus.Status.SUCCESS) { + error("Could not login to server. Status: " + loginStatus.getStatus(), null); return; } From 6f6a8df03ac2b074e7da61f5148a4d3c5ce25f9f Mon Sep 17 00:00:00 2001 From: miguelfigueiredo Date: Mon, 22 Dec 2025 17:32:40 +0000 Subject: [PATCH 2/7] Implement review changes Signed-off-by: miguelfigueiredo --- .../src/com/mirth/connect/cli/CommandLineInterface.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/command/src/com/mirth/connect/cli/CommandLineInterface.java b/command/src/com/mirth/connect/cli/CommandLineInterface.java index 49945e93d..5926e0306 100644 --- a/command/src/com/mirth/connect/cli/CommandLineInterface.java +++ b/command/src/com/mirth/connect/cli/CommandLineInterface.java @@ -180,16 +180,20 @@ private void runShell(String server, String user, String password, String script client = new Client(server); this.debug = debug; - LoginStatus loginStatus = null; + LoginStatus loginStatus; try { loginStatus = client.login(user, password); } catch (UnauthorizedException ex) { if (ex.getResponse() != null && ex.getResponse() instanceof LoginStatus) { loginStatus = (LoginStatus) ex.getResponse(); } + else { + error("Could not login to server.", ex); + return; + } } - if (loginStatus == null || loginStatus.getStatus() != LoginStatus.Status.SUCCESS) { + if (loginStatus.getStatus() != LoginStatus.Status.SUCCESS) { error("Could not login to server. Status: " + loginStatus.getStatus(), null); return; } From 8e627c0f4a9e0d2626a5c13bc2a6a22b3f4ebf9c Mon Sep 17 00:00:00 2001 From: miguelfigueiredo Date: Mon, 22 Dec 2025 18:13:07 +0000 Subject: [PATCH 3/7] Implement suggestion Signed-off-by: miguelfigueiredo --- command/src/com/mirth/connect/cli/CommandLineInterface.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/command/src/com/mirth/connect/cli/CommandLineInterface.java b/command/src/com/mirth/connect/cli/CommandLineInterface.java index 5926e0306..bb944920c 100644 --- a/command/src/com/mirth/connect/cli/CommandLineInterface.java +++ b/command/src/com/mirth/connect/cli/CommandLineInterface.java @@ -184,7 +184,7 @@ private void runShell(String server, String user, String password, String script try { loginStatus = client.login(user, password); } catch (UnauthorizedException ex) { - if (ex.getResponse() != null && ex.getResponse() instanceof LoginStatus) { + if (ex.getResponse() instanceof LoginStatus) { loginStatus = (LoginStatus) ex.getResponse(); } else { From 3d7063e8b47bde2d59290ffef4de7616bdfa4c86 Mon Sep 17 00:00:00 2001 From: miguelfigueiredo Date: Mon, 22 Dec 2025 20:10:42 +0000 Subject: [PATCH 4/7] Use LoginStatus.isSuccess() to evaluate login result Signed-off-by: miguelfigueiredo --- command/src/com/mirth/connect/cli/CommandLineInterface.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/command/src/com/mirth/connect/cli/CommandLineInterface.java b/command/src/com/mirth/connect/cli/CommandLineInterface.java index bb944920c..9bf23e174 100644 --- a/command/src/com/mirth/connect/cli/CommandLineInterface.java +++ b/command/src/com/mirth/connect/cli/CommandLineInterface.java @@ -193,7 +193,7 @@ private void runShell(String server, String user, String password, String script } } - if (loginStatus.getStatus() != LoginStatus.Status.SUCCESS) { + if (!loginStatus.isSuccess()) { error("Could not login to server. Status: " + loginStatus.getStatus(), null); return; } From 8cb1b583eeef02e7a6ed155fad34c88b23612e3e Mon Sep 17 00:00:00 2001 From: miguelfigueiredo Date: Tue, 23 Dec 2025 11:41:03 +0000 Subject: [PATCH 5/7] Use new java syntax Signed-off-by: miguelfigueiredo --- command/src/com/mirth/connect/cli/CommandLineInterface.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/command/src/com/mirth/connect/cli/CommandLineInterface.java b/command/src/com/mirth/connect/cli/CommandLineInterface.java index 9bf23e174..365b2a605 100644 --- a/command/src/com/mirth/connect/cli/CommandLineInterface.java +++ b/command/src/com/mirth/connect/cli/CommandLineInterface.java @@ -184,8 +184,8 @@ private void runShell(String server, String user, String password, String script try { loginStatus = client.login(user, password); } catch (UnauthorizedException ex) { - if (ex.getResponse() instanceof LoginStatus) { - loginStatus = (LoginStatus) ex.getResponse(); + if (ex.getResponse() instanceof LoginStatus status) { + loginStatus = status; } else { error("Could not login to server.", ex); From 0ebf5d466c87c00ecf69e5df54ebeabd2026aa10 Mon Sep 17 00:00:00 2001 From: miguelfigueiredo Date: Wed, 31 Dec 2025 11:01:05 +0000 Subject: [PATCH 6/7] Update exit codes + Cleanup Signed-off-by: miguelfigueiredo --- .../connect/cli/CommandLineInterface.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/command/src/com/mirth/connect/cli/CommandLineInterface.java b/command/src/com/mirth/connect/cli/CommandLineInterface.java index 365b2a605..408c05003 100644 --- a/command/src/com/mirth/connect/cli/CommandLineInterface.java +++ b/command/src/com/mirth/connect/cli/CommandLineInterface.java @@ -180,22 +180,22 @@ private void runShell(String server, String user, String password, String script client = new Client(server); this.debug = debug; - LoginStatus loginStatus; + LoginStatus loginStatus = null; try { loginStatus = client.login(user, password); } catch (UnauthorizedException ex) { - if (ex.getResponse() instanceof LoginStatus status) { + if (ex.getResponse() instanceof LoginStatus status && status.isSuccess()) { loginStatus = status; - } - else { - error("Could not login to server.", ex); - return; } } - - if (!loginStatus.isSuccess()) { - error("Could not login to server. Status: " + loginStatus.getStatus(), null); - return; + finally { + if (loginStatus == null) { + error("Could not login to server"); + System.exit(70); + } + else if (!loginStatus.isSuccess()) { + error("Could not login to server. Please check your username and password and try again.", null); System.exit(77); + } } String serverVersion = client.getVersion(); From 10e6da1f54084c33da98b69a5b2258ea2b20cfca Mon Sep 17 00:00:00 2001 From: miguelfigueiredo Date: Wed, 31 Dec 2025 11:04:26 +0000 Subject: [PATCH 7/7] Cleanup Signed-off-by: miguelfigueiredo --- command/src/com/mirth/connect/cli/CommandLineInterface.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/command/src/com/mirth/connect/cli/CommandLineInterface.java b/command/src/com/mirth/connect/cli/CommandLineInterface.java index 408c05003..e1582bfaa 100644 --- a/command/src/com/mirth/connect/cli/CommandLineInterface.java +++ b/command/src/com/mirth/connect/cli/CommandLineInterface.java @@ -185,7 +185,7 @@ private void runShell(String server, String user, String password, String script loginStatus = client.login(user, password); } catch (UnauthorizedException ex) { if (ex.getResponse() instanceof LoginStatus status && status.isSuccess()) { - loginStatus = status; + loginStatus = status; } } finally {