guacamole-client icon indicating copy to clipboard operation
guacamole-client copied to clipboard

GUACAMOLE-577: Support for configuring the Guacamole Proxy in LDAP Connections

Open necouchman opened this issue 7 years ago • 5 comments

This pull request implements the changes necessary to support the GuacamoleProxyConfiguration in LDAP connections (and any future extensions that make use of the SimpleConnection class. Not entirely sure this is the right/best way to go, but took a stab at it.

necouchman avatar Jan 02 '19 16:01 necouchman

Okay, fixed a few things up and made some of the requested changes. Let me know how it looks, now.

necouchman avatar Jan 08 '19 02:01 necouchman

I may end up closing this PR and just redoing it - I tried to resolve the conflicts between current master and this PR, and it was feeling a little like the kitty-in-a-bathtub gif...

necouchman avatar Apr 04 '21 17:04 necouchman

Ah, yes. That gif captures the feeling of refactoring so perfectly.

mike-jumper avatar Apr 07 '21 21:04 mike-jumper

Okay, @mike-jumper, I've reworked this on top of the existing master, so I think it's good, now...

necouchman avatar May 14 '21 14:05 necouchman

I reworked the proxy attributes from LDAP as you suggested, but came across a couple of things:

  • I used the INTEGER syntax for the guacProxyPort attribute, but it's unclear to me if there are any implications to this - that is, will the Apache Directory API's Attribute getString() method actually return a String for this, or is it going to throw an exception? I think it'll return a String, because this isn't a binary value, but I've no easy way to verify that.
  • It ended up being easier to go ahead and grab the default proxy configuration in the LDAP ConnectionService code and use that as a base for then trying to pull values from LDAP. I know this is a bit redundant, but it seemed like the cleanest way to me to handle 1) initialization of those variables in ConnectionService (vs. assigning null and then checking to see if anything had been pulled from LDAP), and 2) cleanly handling situations where one value has been specified in LDAP but the others haven't (e.g. user assigns guacProxyHostname in LDAP, but leaves out guacProxyPort and guacProxyEncryption, and then GuacamolepProxyConfiguration is initialized with one real value and two unknown/other values). If there's a better way, don't hesitate to send that along.

necouchman avatar May 31 '21 01:05 necouchman