hashicorp / hashicorp/boundary

RDP connect helper outputs unexpected URL format for macOS 14.5 (Sonoma)

Open
#4,902 1 comment 1 reaction 0 assignees View on GitHub
bug
Dominant language
Go
Stars
4.1k
Forks
317
Avg merge
5h 10m
Merged PRs (30d)
1

Description

**Describe the bug**

In macOS Sonoma, the open command seems to require stricter URL handling. As a result, the following command no longer works:

```
open -W -a "/Applications/Microsoft Remote Desktop.app" -u 'rdp://full%20address=s:127.0.0.1:51246'
```

This command generates the following error:

```
Unable to interpret 'rdp://full%20address=s:127.0.0.1:51246' as a URL
```

Instead, you must use percent-encoding format (ie, `%3A`, which is the URL encoding for `:`)

```
open -W -a "/Applications/Microsoft Remote Desktop.app" -u 'rdp://full%20address=s%3A127.0.0.1%3A51647'
```

**To Reproduce**

Steps to reproduce the behavior:

1. Open the Terminal application on a macOS Sonoma system.

2. Execute the commands:

```
boundary connect -target-id

open -W -a "/Applications/Microsoft Remote Desktop.app" -u 'rdp://full%20address=s:127.0.0.1:port-from-output-above'
```

3. Observe the error message indicating that the URL could not be interpreted.

This obviously also impacts the rdp connect helper:

```
boundary connect rdp -target-id ttcp_CPHHKitqQk
Credentials:
Credential Source ID: credup_Vjy4uaxptZ
Credential Source Name: aws-ec2-rdp-server
Credential Store ID: csst_GaJN5lkjnR
Credential Store Type: static
Credential Type: username_password
Secret:
password: 5XemW$*vpF&qC9!i)I-4*u5k2o(i8ueo
username: Administrator

Unable to interpret 'rdp://full%20address=s:127.0.0.1:52073' as a path or URL
```

**Expected behavior**

Since Boundary can't exactly control how Apple writes its software, I suggest the boundary connect rdp helper automatically format the correct connection URL as described above when running on affected versions of macOS.

(note-- i've only tested this on sonoma, could be problematic for earlier versions as well)

Contributor guide

Open the contributing guide

Research direction

Start at the boundary connect rdp helper that constructs the macOS Microsoft Remote Desktop URL, then reproduce the reported command on macOS Sonoma. Update the emitted URL handling so the connection is accepted, and verify it with boundary connect rdp using a test target.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, macos
Domain
cli, desktop
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.