Skip to content

GUACAMOLE-2273: Implement FreeRDP AuthenticateEx callback and handle deprecation of Authenticate callback.#670

Open
necouchman wants to merge 3 commits into
apache:staging/1.6.1from
necouchman:jira/2273
Open

GUACAMOLE-2273: Implement FreeRDP AuthenticateEx callback and handle deprecation of Authenticate callback.#670
necouchman wants to merge 3 commits into
apache:staging/1.6.1from
necouchman:jira/2273

Conversation

@necouchman

Copy link
Copy Markdown
Contributor

This pull request implements the AuthenticateEx callback for FreeRDP, and handles versions of FreeRDP where the Authenticate callback has been deprecated and compiled out.

@necouchman
necouchman marked this pull request as draft May 4, 2026 01:44
@necouchman
necouchman force-pushed the jira/2273 branch 2 times, most recently from 7696572 to 58d152a Compare May 4, 2026 15:44
@necouchman
necouchman marked this pull request as ready for review May 4, 2026 15:47
@necouchman

Copy link
Copy Markdown
Contributor Author

@mike-jumper @corentin-soriano @sschiffli Anyone do a quick review of this?

Comment thread src/protocols/rdp/rdp.c Outdated
Comment thread src/protocols/rdp/rdp.c
@necouchman
necouchman force-pushed the jira/2273 branch 4 times, most recently from 675b8c4 to cf038c1 Compare July 15, 2026 17:37
Comment thread src/protocols/rdp/rdp.c
Comment thread src/protocols/rdp/rdp.c
Comment thread src/protocols/rdp/rdp.c Outdated
Comment thread configure.ac
Comment thread src/protocols/rdp/rdp.c Outdated
Comment thread src/protocols/rdp/rdp.c Outdated
Comment thread configure.ac
Comment thread src/protocols/rdp/rdp.c Outdated
Comment thread src/protocols/rdp/rdp.c
@necouchman
necouchman force-pushed the jira/2273 branch 2 times, most recently from 1408ed8 to e0857b8 Compare July 21, 2026 00:08
Comment thread src/protocols/rdp/rdp.c Outdated
Comment thread src/protocols/rdp/rdp.c Outdated
Comment thread src/protocols/rdp/rdp.c
Comment thread src/protocols/rdp/rdp.c Outdated
Comment thread src/protocols/rdp/rdp.c
Comment thread src/protocols/rdp/rdp.c
Comment on lines +534 to +544
case AUTH_TLS:
case AUTH_RDP:
case AUTH_NLA:
i = guac_rdp_register_required_auth(settings, params);
break;

case GW_AUTH_HTTP:
case GW_AUTH_RDG:
case GW_AUTH_RPC:
i = guac_rdp_register_required_gateway_auth(settings, params);
break;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any potential that this callback will be invoked multiple times?

If not, then we're fine. If it can be called multiple times, then these parameters will end up being registered repeatedly until GUAC_ARGV_MAX_REGISTERED is reached.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there are a couple of situations where it would be called multiple times:

  • If Gateway authentication is requested, it could be call for both Gateway and then Server authentication. That would be twice.
  • If authentication fails, the connection would retry, but I don't think this necessarily qualifies as being called multiple times, since the guacd connection would close and then restart when authentication fails.

Is there some way that multiple calls should be dealt with?

@necouchman
necouchman force-pushed the jira/2273 branch 2 times, most recently from fae1d07 to 57eb0a0 Compare July 24, 2026 01:05
…sons; support requesting gateway authentication.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants