Re: [VOTE] Release Apache Guacamole 1.0.0 (RC1)

2019-01-07 Thread Mike Jumper
Thanks, guys!

Anyone else have a few moments to look things over? We've accumulated
enough +1 votes to move forward with release once the 72 hours is up, but
it would be a shame to not have more eyes. This is the largest release
we've ever had.

- Mike



On Mon, Jan 7, 2019, 15:26 James Muehlner  Looks good to me.
>
> +1
>
> James
>
> On Sat, Jan 5, 2019 at 5:40 AM Nick Couchman  wrote:
>
> > On Sat, Jan 5, 2019 at 1:03 AM Mike Jumper  wrote:
> >
> > > Hello all,
> > >
> > > The first release candidate for Apache Guacamole 1.0.0 has been
> uploaded
> > > and is ready for VOTE. The draft release notes (along with links to
> > > artifacts, signatures/checksums, and updated documentation) can be
> found
> > > here:
> > >
> > > http://guacamole.apache.org/releases/1.0.0/
> > >
> > > The git tag for all relevant repositories is "1.0.0-RC1":
> > >
> > > https://github.com/apache/guacamole-client/tree/1.0.0-RC1
> > > https://github.com/apache/guacamole-server/tree/1.0.0-RC1
> > > https://github.com/apache/guacamole-manual/tree/1.0.0-RC1
> > >
> > > Build instructions are included in the manual, which is part of the
> > updated
> > > documentation referenced above. For convenience:
> > >
> > > http://guacamole.apache.org/doc/1.0.0/gug/installing-guacamole.html
> > >
> > > Maven artifacts for guacamole-common, guacamole-common-js, and
> > > guacamole-ext can be found in the following staging repository:
> > >
> > >
> >
> https://repository.apache.org/content/repositories/orgapacheguacamole-1009
> > >
> > > Source and binary distributions (also linked within the release notes):
> > >
> > > https://dist.apache.org/repos/dist/dev/guacamole/1.0.0-RC1/
> > >
> > > Artifacts have been signed with the "mjum...@apache.org" key listed
> in:
> > >
> > > https://dist.apache.org/repos/dist/dev/guacamole/KEYS
> > >
> > > Please review and vote:
> > >
> > > [ ] +1 Approve the release
> > > [ ] -1 Don't approve the release (please provide specific comments)
> > >
> > > This vote will be open for at least 72 hours.
> > >
> > > Here is my +1.
> > >
> > > Thanks,
> > >
> > > - Mike
> > >
> >
> > +1 from me.
> >
> > -Nick
> >
>


[GitHub] guacamole-client pull request #353: GUACAMOLE-577: Support for configuring t...

2019-01-07 Thread necouchman
Github user necouchman commented on a diff in the pull request:

https://github.com/apache/guacamole-client/pull/353#discussion_r245858704
  
--- Diff: 
guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnection.java
 ---
@@ -68,21 +72,34 @@ public SimpleConnection() {
  * @param identifier The identifier to associate with this connection.
  * @param config The configuration describing how to connect to this
  *   connection.
+ * 
+ * @throws GuacamoleException
+ * If the default proxy configuration cannot be retrieved.
  */
 public SimpleConnection(String name, String identifier,
-GuacamoleConfiguration config) {
+GuacamoleConfiguration config) throws GuacamoleException {
 
 // Set name
-setName(name);
+super.setName(name);
 
 // Set identifier
-setIdentifier(identifier);
+super.setIdentifier(identifier);
 
 // Set config
-setConfiguration(config);
+super.setConfiguration(config);
 this.config = config;
+this.proxyConfig = new 
LocalEnvironment().getDefaultGuacamoleProxyConfiguration();
 
 }
+
+public SimpleConnection(String name, String identifier,
--- End diff --

Documented.


---


[GitHub] guacamole-client pull request #353: GUACAMOLE-577: Support for configuring t...

2019-01-07 Thread necouchman
Github user necouchman commented on a diff in the pull request:

https://github.com/apache/guacamole-client/pull/353#discussion_r245858747
  
--- Diff: 
guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Connection.java ---
@@ -125,5 +125,17 @@
  * connection.
  */
 public Set getSharingProfileIdentifiers() throws 
GuacamoleException;
+
+/**
+ * Get the GuacamoleProxyConfiguration for this connection.
+ * 
+ * @return
+ * The GuacamoleProxyConfiguration for this connection.
+ * 
+ * @throws GuacamoleException 
+ * If configuration information cannot be retrieved or parsed.
--- End diff --

Pulled this out.


---


[GitHub] guacamole-client pull request #353: GUACAMOLE-577: Support for configuring t...

2019-01-07 Thread necouchman
Github user necouchman commented on a diff in the pull request:

https://github.com/apache/guacamole-client/pull/353#discussion_r245858656
  
--- Diff: 
guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnection.java
 ---
@@ -68,21 +72,34 @@ public SimpleConnection() {
  * @param identifier The identifier to associate with this connection.
  * @param config The configuration describing how to connect to this
  *   connection.
+ * 
+ * @throws GuacamoleException
+ * If the default proxy configuration cannot be retrieved.
  */
 public SimpleConnection(String name, String identifier,
-GuacamoleConfiguration config) {
+GuacamoleConfiguration config) throws GuacamoleException {
--- End diff --

Backed this change out and just kept things in the `connect()` method.


---


[GitHub] guacamole-client pull request #353: GUACAMOLE-577: Support for configuring t...

2019-01-07 Thread necouchman
Github user necouchman commented on a diff in the pull request:

https://github.com/apache/guacamole-client/pull/353#discussion_r245858609
  
--- Diff: 
guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Connection.java ---
@@ -125,5 +125,17 @@
  * connection.
  */
 public Set getSharingProfileIdentifiers() throws 
GuacamoleException;
+
+/**
+ * Get the GuacamoleProxyConfiguration for this connection.
--- End diff --

Removed.


---


[GitHub] guacamole-client pull request #353: GUACAMOLE-577: Support for configuring t...

2019-01-07 Thread necouchman
Github user necouchman commented on a diff in the pull request:

https://github.com/apache/guacamole-client/pull/353#discussion_r245858540
  
--- Diff: 
guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Connection.java ---
@@ -125,5 +125,17 @@
  * connection.
  */
 public Set getSharingProfileIdentifiers() throws 
GuacamoleException;
+
+/**
+ * Get the GuacamoleProxyConfiguration for this connection.
+ * 
+ * @return
+ * The GuacamoleProxyConfiguration for this connection.
+ * 
+ * @throws GuacamoleException 
+ * If configuration information cannot be retrieved or parsed.
+ */
+public GuacamoleProxyConfiguration getGuacamoleProxyConfiguration()
--- End diff --

Okay, I've removed this entirely from the interfaces and abstracts.


---


[GitHub] guacamole-client pull request #353: GUACAMOLE-577: Support for configuring t...

2019-01-07 Thread necouchman
Github user necouchman commented on a diff in the pull request:

https://github.com/apache/guacamole-client/pull/353#discussion_r245858363
  
--- Diff: 
extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
 ---
@@ -148,12 +169,25 @@
 
 // Set protocol
 GuacamoleConfiguration config = new 
GuacamoleConfiguration();
+
+GuacamoleProxyConfiguration proxyConfig;
+try {
+proxyConfig = new 
LocalEnvironment().getDefaultGuacamoleProxyConfiguration();
+}
+catch (GuacamoleException e) {
+return null;
--- End diff --

Logged.


---


[GitHub] guacamole-client pull request #353: GUACAMOLE-577: Support for configuring t...

2019-01-07 Thread necouchman
Github user necouchman commented on a diff in the pull request:

https://github.com/apache/guacamole-client/pull/353#discussion_r245858320
  
--- Diff: 
extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
 ---
@@ -148,12 +169,25 @@
 
 // Set protocol
 GuacamoleConfiguration config = new 
GuacamoleConfiguration();
+
+GuacamoleProxyConfiguration proxyConfig;
+try {
+proxyConfig = new 
LocalEnvironment().getDefaultGuacamoleProxyConfiguration();
--- End diff --

Okay, switched back to this method.


---


[GitHub] guacamole-client pull request #353: GUACAMOLE-577: Support for configuring t...

2019-01-07 Thread necouchman
Github user necouchman commented on a diff in the pull request:

https://github.com/apache/guacamole-client/pull/353#discussion_r245858199
  
--- Diff: 
extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
 ---
@@ -167,18 +201,34 @@
 // Parse name
 String name = parameter.substring(0, equals);
 String value = parameter.substring(equals+1);
-
-config.setParameter(name, value);
+
+// Pull out and set proxy parameters, if 
present
+// Otherwise set the parameter.
+switch(name) {
+case PROXY_HOST_PARAMETER:
--- End diff --

Okay, created a new LDAP attribute for the proxy configuration, under the 
existing OID string.


---


Re: [DISCUSS] Creating additional lists for announcements and JIRA

2019-01-07 Thread Mike Jumper
On Mon, Jan 7, 2019 at 4:16 PM Mike Jumper  wrote:

> On Mon, Jan 7, 2019 at 4:04 PM Nick Couchman  wrote:
>
>> On Mon, Jan 7, 2019 at 17:38 Mike Jumper 
>>
>> > >
>> > > I'll also use this opportunity to ping on the topic of resurrecting
>> the
>> > > Guacamole Twitter account - any further thoughts/discussion on this?
>> > >
>> >
>> > I think the main issue with Twitter is that there can be only one set of
>> > credentials. AFAIK, we can't have a project account to which various
>> people
>> > have permission to post without sharing a username/password. Other than
>> > that, I would have nothing against a project Twitter account, though I'm
>> > not sure I would find occasion to post to it except at release time. I
>> do
>> > see other Apache projects with a PMC-wide twitter, so it should be
>> > doable...
>> >
>> > Are you familiar with any way to share a Twitter account without having
>> to
>> > share credentials?
>> >
>>
>> Admittedly, no, I don't know if a great way to do this.  I did stumble
>> across this:
>>
>> https://help.twitter.com/en/using-twitter/tweetdeck-teams
>>
>> Looks like it may be doable there, and we'd just have to have someone  be
>> the primary account holder and hold the credentials, and that person could
>> grant access to others?
>
>
> Since I'm the one with the credentials to the old account, I can give that
> a shot.
>
> I'll also try to rename from @GuacDev to something like @ApacheGuacamole.
>

All set: https://twitter.com/ApacheGuacamole

Since granting access to tweetdeck requires Twitter accounts, I'll send a
separate email on private@ to ask for usernames of any PMC members having
accounts.

- Mike


Re: [DISCUSS] Creating additional lists for announcements and JIRA

2019-01-07 Thread Mike Jumper
On Mon, Jan 7, 2019 at 4:04 PM Nick Couchman  wrote:

> On Mon, Jan 7, 2019 at 17:38 Mike Jumper 
>
> > >
> > > I'll also use this opportunity to ping on the topic of resurrecting the
> > > Guacamole Twitter account - any further thoughts/discussion on this?
> > >
> >
> > I think the main issue with Twitter is that there can be only one set of
> > credentials. AFAIK, we can't have a project account to which various
> people
> > have permission to post without sharing a username/password. Other than
> > that, I would have nothing against a project Twitter account, though I'm
> > not sure I would find occasion to post to it except at release time. I do
> > see other Apache projects with a PMC-wide twitter, so it should be
> > doable...
> >
> > Are you familiar with any way to share a Twitter account without having
> to
> > share credentials?
> >
>
> Admittedly, no, I don't know if a great way to do this.  I did stumble
> across this:
>
> https://help.twitter.com/en/using-twitter/tweetdeck-teams
>
> Looks like it may be doable there, and we'd just have to have someone  be
> the primary account holder and hold the credentials, and that person could
> grant access to others?


Since I'm the one with the credentials to the old account, I can give that
a shot.

I'll also try to rename from @GuacDev to something like @ApacheGuacamole.

- Mike


Re: [DISCUSS] Creating additional lists for announcements and JIRA

2019-01-07 Thread Nick Couchman
On Mon, Jan 7, 2019 at 17:38 Mike Jumper 

> >
> > I'll also use this opportunity to ping on the topic of resurrecting the
> > Guacamole Twitter account - any further thoughts/discussion on this?
> >
>
> I think the main issue with Twitter is that there can be only one set of
> credentials. AFAIK, we can't have a project account to which various people
> have permission to post without sharing a username/password. Other than
> that, I would have nothing against a project Twitter account, though I'm
> not sure I would find occasion to post to it except at release time. I do
> see other Apache projects with a PMC-wide twitter, so it should be
> doable...
>
> Are you familiar with any way to share a Twitter account without having to
> share credentials?
>

Admittedly, no, I don't know if a great way to do this.  I did stumble
across this:

https://help.twitter.com/en/using-twitter/tweetdeck-teams

Looks like it may be doable there, and we'd just have to have someone  be
the primary account holder and hold the credentials, and that person could
grant access to others?


-Nick

>
>


Re: Sound not working on custom application

2019-01-07 Thread Mike Jumper
On Thu, Dec 13, 2018 at 10:08 AM Hanke, Alex  wrote:

> I created my own application following Chapter 23 of the guacamole guide.
> I
> implemented it using the websocket tunnel instead of the http tunnel.  I
> am
> using rdp to connect to a windows 10 machine.  Everything works fine
> except
> for the sound.  To implement my custom application I cloned a VM that had
> a
> standalone instance of guacamole and just replaced the tomcat portion with
> my custom web app so I dont think it should have anything to do with
> guacd.
> I also don't get any error in the logs for guacd.  Is there something I
> have
> to do on the javascript side to enable the sound?  Or perhaps on the java
> side I have to enable something to make the sound pass through?
>
>
Other than passing the supported mimetypes through via
GuacamoleClientInformation as you've done below, no, there's nothing else
you need to do on the Java or JavaScript side to enable sound.

Are you sure the Windows audio service is running on the RDP machine? Could
there be a group policy set which disables audio?


>
>
> As a proof of concept I added the following lines to my java code that
> creates the connection and sent it along with my request to create the
> ConfiguredGuacamoleSocket.  However this still did not produce any sound.
> I
> also tried L16 and adding ,channels=2 but none of those  combinations
> produced sound.
>
> GuacamoleClientInformation gci = new GuacamoleClientInformation();
> gci.getAudioMimetypes().add("audio/L8;rate=44100");
>
> I do see this in the logs
>
> Dec  4 06:03:45 irixgw1 guacd[22874]: Accepted format: 16-bit PCM
> with 2 channels at 44100 Hz
>
> Also I am using chrome to test and running the getSupportedTypes yields
> ["audio/L8", "audio/L16"]
>

Anything in the console of Chrome's dev tools?

- Mike


Re: [VOTE] Release Apache Guacamole 1.0.0 (RC1)

2019-01-07 Thread James Muehlner
Looks good to me.

+1

James

On Sat, Jan 5, 2019 at 5:40 AM Nick Couchman  wrote:

> On Sat, Jan 5, 2019 at 1:03 AM Mike Jumper  wrote:
>
> > Hello all,
> >
> > The first release candidate for Apache Guacamole 1.0.0 has been uploaded
> > and is ready for VOTE. The draft release notes (along with links to
> > artifacts, signatures/checksums, and updated documentation) can be found
> > here:
> >
> > http://guacamole.apache.org/releases/1.0.0/
> >
> > The git tag for all relevant repositories is "1.0.0-RC1":
> >
> > https://github.com/apache/guacamole-client/tree/1.0.0-RC1
> > https://github.com/apache/guacamole-server/tree/1.0.0-RC1
> > https://github.com/apache/guacamole-manual/tree/1.0.0-RC1
> >
> > Build instructions are included in the manual, which is part of the
> updated
> > documentation referenced above. For convenience:
> >
> > http://guacamole.apache.org/doc/1.0.0/gug/installing-guacamole.html
> >
> > Maven artifacts for guacamole-common, guacamole-common-js, and
> > guacamole-ext can be found in the following staging repository:
> >
> >
> https://repository.apache.org/content/repositories/orgapacheguacamole-1009
> >
> > Source and binary distributions (also linked within the release notes):
> >
> > https://dist.apache.org/repos/dist/dev/guacamole/1.0.0-RC1/
> >
> > Artifacts have been signed with the "mjum...@apache.org" key listed in:
> >
> > https://dist.apache.org/repos/dist/dev/guacamole/KEYS
> >
> > Please review and vote:
> >
> > [ ] +1 Approve the release
> > [ ] -1 Don't approve the release (please provide specific comments)
> >
> > This vote will be open for at least 72 hours.
> >
> > Here is my +1.
> >
> > Thanks,
> >
> > - Mike
> >
>
> +1 from me.
>
> -Nick
>


Re: [DISCUSS] Creating additional lists for announcements and JIRA

2019-01-07 Thread Mike Jumper
On Mon, Jan 7, 2019 at 2:38 PM Mike Jumper  wrote:

> On Mon, Jan 7, 2019 at 2:20 PM Nick Couchman  wrote:
>
>> On Mon, Jan 7, 2019 at 4:33 PM Mike Jumper  wrote:
>>
>> > It occurs to me that it might be beneficial to have a low-traffic
>> announce@
>> > list for Guacamole which would receive only things like release
>> > announcements or security advisories.
>> >
>> ...
>
> >
>> > Similarly, JIRA issues and comments currently go to commits@. Perhaps a
>> > separate issues@ list would be more appropriate, leaving commits@ for
>> > truly
>> > only pushed git commits?
>> >
>>
>> This is probably a good idea, too.  Concurrently, I'd like to make sure
>> I'm
>> on both the commits@ and issues@ lists - I'm not 100% certain I get
>> either
>> JIRA issues or pushed commits at the moment, unless I'm tagged on them
>> specifically.
>>
>
> I'll move ahead with creating the lists and see how things go.
>
>
Alrighty - creation of the issues@ list has been queued. Once the list is
ready, I'll open a ticket with Infra to update the JIRA project to send all
mail there.

Since the announce@ list needs special setup (only posts from apache.org
addresses should be allowed), I've opened a ticket with Infra for that:

https://issues.apache.org/jira/browse/INFRA-17578

- Mike


Re: [DISCUSS] Creating additional lists for announcements and JIRA

2019-01-07 Thread Mike Jumper
On Mon, Jan 7, 2019 at 2:20 PM Nick Couchman  wrote:

> On Mon, Jan 7, 2019 at 4:33 PM Mike Jumper  wrote:
>
> > It occurs to me that it might be beneficial to have a low-traffic
> announce@
> > list for Guacamole which would receive only things like release
> > announcements or security advisories.
> >
>
> Sounds good to me.  I'm hoping this year will see an increase in number of
> release (and, thus, release traffic) with the adoption of the new
> versioning scheme :-D.
>
> I'll also use this opportunity to ping on the topic of resurrecting the
> Guacamole Twitter account - any further thoughts/discussion on this?
>

I think the main issue with Twitter is that there can be only one set of
credentials. AFAIK, we can't have a project account to which various people
have permission to post without sharing a username/password. Other than
that, I would have nothing against a project Twitter account, though I'm
not sure I would find occasion to post to it except at release time. I do
see other Apache projects with a PMC-wide twitter, so it should be doable...

Are you familiar with any way to share a Twitter account without having to
share credentials?


> >
> > Similarly, JIRA issues and comments currently go to commits@. Perhaps a
> > separate issues@ list would be more appropriate, leaving commits@ for
> > truly
> > only pushed git commits?
> >
>
> This is probably a good idea, too.  Concurrently, I'd like to make sure I'm
> on both the commits@ and issues@ lists - I'm not 100% certain I get either
> JIRA issues or pushed commits at the moment, unless I'm tagged on them
> specifically.
>

I'll move ahead with creating the lists and see how things go.

We should poke the other members of the PMC (as well as any non-PMC
committers) to subscribe if not already subscribed. I can manually check to
see who's missing.

- Mike


[GitHub] guacamole-client pull request #353: GUACAMOLE-577: Support for configuring t...

2019-01-07 Thread necouchman
Github user necouchman commented on a diff in the pull request:

https://github.com/apache/guacamole-client/pull/353#discussion_r245818609
  
--- Diff: 
extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
 ---
@@ -167,18 +201,34 @@
 // Parse name
 String name = parameter.substring(0, equals);
 String value = parameter.substring(equals+1);
-
-config.setParameter(name, value);
+
+// Pull out and set proxy parameters, if 
present
+// Otherwise set the parameter.
+switch(name) {
+case PROXY_HOST_PARAMETER:
--- End diff --

Cool.  I'm thinking the right way to do this is to continue with the 
current OID in this PR, and then open a separate JIRA issue (and PR) for 
converting from the old OID to the ASF OID?


---


Re: [DISCUSS] Creating additional lists for announcements and JIRA

2019-01-07 Thread Nick Couchman
On Mon, Jan 7, 2019 at 4:33 PM Mike Jumper  wrote:

> It occurs to me that it might be beneficial to have a low-traffic announce@
> list for Guacamole which would receive only things like release
> announcements or security advisories.
>

Sounds good to me.  I'm hoping this year will see an increase in number of
release (and, thus, release traffic) with the adoption of the new
versioning scheme :-D.

I'll also use this opportunity to ping on the topic of resurrecting the
Guacamole Twitter account - any further thoughts/discussion on this?


>
> Similarly, JIRA issues and comments currently go to commits@. Perhaps a
> separate issues@ list would be more appropriate, leaving commits@ for
> truly
> only pushed git commits?
>

This is probably a good idea, too.  Concurrently, I'd like to make sure I'm
on both the commits@ and issues@ lists - I'm not 100% certain I get either
JIRA issues or pushed commits at the moment, unless I'm tagged on them
specifically.

-Nick


[DISCUSS] Creating additional lists for announcements and JIRA

2019-01-07 Thread Mike Jumper
It occurs to me that it might be beneficial to have a low-traffic announce@
list for Guacamole which would receive only things like release
announcements or security advisories.

Similarly, JIRA issues and comments currently go to commits@. Perhaps a
separate issues@ list would be more appropriate, leaving commits@ for truly
only pushed git commits?

Thoughts?

- Mike


[GitHub] guacamole-client pull request #353: GUACAMOLE-577: Support for configuring t...

2019-01-07 Thread mike-jumper
Github user mike-jumper commented on a diff in the pull request:

https://github.com/apache/guacamole-client/pull/353#discussion_r245799935
  
--- Diff: 
extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
 ---
@@ -167,18 +201,34 @@
 // Parse name
 String name = parameter.substring(0, equals);
 String value = parameter.substring(equals+1);
-
-config.setParameter(name, value);
+
+// Pull out and set proxy parameters, if 
present
+// Otherwise set the parameter.
+switch(name) {
+case PROXY_HOST_PARAMETER:
--- End diff --

Depending on OID assignment, it looks like we should be fine with the above 
system. There is no standard limit imposed on OID length, and longer OIDs are 
already actively used.


---


[GitHub] guacamole-client pull request #353: GUACAMOLE-577: Support for configuring t...

2019-01-07 Thread mike-jumper
Github user mike-jumper commented on a diff in the pull request:

https://github.com/apache/guacamole-client/pull/353#discussion_r245791722
  
--- Diff: 
extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
 ---
@@ -167,18 +201,34 @@
 // Parse name
 String name = parameter.substring(0, equals);
 String value = parameter.substring(equals+1);
-
-config.setParameter(name, value);
+
+// Pull out and set proxy parameters, if 
present
+// Otherwise set the parameter.
+switch(name) {
+case PROXY_HOST_PARAMETER:
--- End diff --

According to 
https://cwiki.apache.org/confluence/display/DIRxPMGT/OID+Assignment+Scheme:

> Each contact person is the authority for assigning unique OID values and 
ranges to projects or persons. Contact that person for more assignments.

The contact person listed for the main ASF OID is Alex Karasulu. Feels 
weird to me to not use a mailing list, but I'll shoot him an email. ;)


---


[GitHub] guacamole-client pull request #353: GUACAMOLE-577: Support for configuring t...

2019-01-07 Thread necouchman
Github user necouchman commented on a diff in the pull request:

https://github.com/apache/guacamole-client/pull/353#discussion_r245789239
  
--- Diff: 
extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
 ---
@@ -167,18 +201,34 @@
 // Parse name
 String name = parameter.substring(0, equals);
 String value = parameter.substring(equals+1);
-
-config.setParameter(name, value);
+
+// Pull out and set proxy parameters, if 
present
+// Otherwise set the parameter.
+switch(name) {
+case PROXY_HOST_PARAMETER:
--- End diff --

Cool.  Do we need to open an INFRA ticket to get that OID assigned under 
ASF?  Or is there some documentation somewhere on the ASF site that documents 
this?


---


[GitHub] guacamole-client pull request #353: GUACAMOLE-577: Support for configuring t...

2019-01-07 Thread mike-jumper
Github user mike-jumper commented on a diff in the pull request:

https://github.com/apache/guacamole-client/pull/353#discussion_r245786503
  
--- Diff: 
extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
 ---
@@ -167,18 +201,34 @@
 // Parse name
 String name = parameter.substring(0, equals);
 String value = parameter.substring(equals+1);
-
-config.setParameter(name, value);
+
+// Pull out and set proxy parameters, if 
present
+// Otherwise set the parameter.
+switch(name) {
+case PROXY_HOST_PARAMETER:
--- End diff --

Found it!


![ancient-guac-ldap-oid-assignment-scheme](https://user-images.githubusercontent.com/4632905/50790691-7c27cc00-1274-11e9-8baa-182f9e2fb50c.jpg)

Quoting the contents here for reference:

> 1.3.6.1.4.1.38971= guac
>  .1  = LDAP schema OID's
>.1= attribute types
>  .1  = guacConfigProtocol
>  .2  = guacConfigParameter
>.2= object classes
>  .1  = guacConfigGroup

Using the ASF OID, assuming we end up with "1.3.6.1.4.1.18060.18", we could 
redefine things beneath that. Presumably:

1.3.6.1.4.1.18060.18= Apache Guacamole
.1  = LDAP schema
  .1= attribute types
.1  = guacConfigProtocol
.2  = guacConfigParameter
  .2= object classes
.1  = guacConfigGroup

I'm looking around to see if there is a limit on the number of numeric 
groups in an LDAP OID, or at least if there are examples in the wild of LDAP 
schemas having OIDs at least as long as those proposed above.


---


[GitHub] guacamole-client pull request #353: GUACAMOLE-577: Support for configuring t...

2019-01-07 Thread mike-jumper
Github user mike-jumper commented on a diff in the pull request:

https://github.com/apache/guacamole-client/pull/353#discussion_r245779470
  
--- Diff: 
extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
 ---
@@ -167,18 +201,34 @@
 // Parse name
 String name = parameter.substring(0, equals);
 String value = parameter.substring(equals+1);
-
-config.setParameter(name, value);
+
+// Pull out and set proxy parameters, if 
present
+// Otherwise set the parameter.
+switch(name) {
+case PROXY_HOST_PARAMETER:
--- End diff --

We could switch over to the ASF one: 
https://cwiki.apache.org/confluence/display/DIRxPMGT/OID+Assignment+Scheme

Probably a good idea to do so. I'll still locate the ancient scrap of paper 
to server as a reference for assigning numbers from that, though - we need to 
use some consistent method for assigning the numbers within the Guacamole part 
of the ASF space (once that exists).


---


[GitHub] guacamole-client pull request #353: GUACAMOLE-577: Support for configuring t...

2019-01-07 Thread necouchman
Github user necouchman commented on a diff in the pull request:

https://github.com/apache/guacamole-client/pull/353#discussion_r245760171
  
--- Diff: 
guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnection.java
 ---
@@ -68,21 +72,34 @@ public SimpleConnection() {
  * @param identifier The identifier to associate with this connection.
  * @param config The configuration describing how to connect to this
  *   connection.
+ * 
+ * @throws GuacamoleException
+ * If the default proxy configuration cannot be retrieved.
  */
 public SimpleConnection(String name, String identifier,
-GuacamoleConfiguration config) {
+GuacamoleConfiguration config) throws GuacamoleException {
--- End diff --

Okay, will refactor.


---


[GitHub] guacamole-client pull request #353: GUACAMOLE-577: Support for configuring t...

2019-01-07 Thread necouchman
Github user necouchman commented on a diff in the pull request:

https://github.com/apache/guacamole-client/pull/353#discussion_r245757432
  
--- Diff: 
extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
 ---
@@ -148,12 +169,25 @@
 
 // Set protocol
 GuacamoleConfiguration config = new 
GuacamoleConfiguration();
+
+GuacamoleProxyConfiguration proxyConfig;
+try {
+proxyConfig = new 
LocalEnvironment().getDefaultGuacamoleProxyConfiguration();
--- End diff --

I originally went this route, but thought it might be a little overkill 
:-).  I'll go back to this method...


---


[GitHub] guacamole-client pull request #353: GUACAMOLE-577: Support for configuring t...

2019-01-07 Thread necouchman
Github user necouchman commented on a diff in the pull request:

https://github.com/apache/guacamole-client/pull/353#discussion_r245757512
  
--- Diff: 
extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
 ---
@@ -148,12 +169,25 @@
 
 // Set protocol
 GuacamoleConfiguration config = new 
GuacamoleConfiguration();
+
+GuacamoleProxyConfiguration proxyConfig;
+try {
+proxyConfig = new 
LocalEnvironment().getDefaultGuacamoleProxyConfiguration();
+}
+catch (GuacamoleException e) {
+return null;
--- End diff --

Got it.


---


[GitHub] guacamole-client pull request #353: GUACAMOLE-577: Support for configuring t...

2019-01-07 Thread necouchman
Github user necouchman commented on a diff in the pull request:

https://github.com/apache/guacamole-client/pull/353#discussion_r245756503
  
--- Diff: 
extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
 ---
@@ -167,18 +201,34 @@
 // Parse name
 String name = parameter.substring(0, equals);
 String value = parameter.substring(equals+1);
-
-config.setParameter(name, value);
+
+// Pull out and set proxy parameters, if 
present
+// Otherwise set the parameter.
+switch(name) {
+case PROXY_HOST_PARAMETER:
--- End diff --

Sounds good.  I hesitated to modify the LDAP schema, but I'm happy to go 
that route if that's the best way to go.  Do you think separate LDAP attributes 
specifically for proxying, or just a generic Guacamole Attribute that is 
handled similar to the parameters?

For the OID, should we use the Guacamole one, or does ASF have one we 
should go with?


---


[GitHub] guacamole-client pull request #353: GUACAMOLE-577: Support for configuring t...

2019-01-07 Thread mike-jumper
Github user mike-jumper commented on a diff in the pull request:

https://github.com/apache/guacamole-client/pull/353#discussion_r245753521
  
--- Diff: 
guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Connection.java ---
@@ -125,5 +125,17 @@
  * connection.
  */
 public Set getSharingProfileIdentifiers() throws 
GuacamoleException;
+
+/**
+ * Get the GuacamoleProxyConfiguration for this connection.
--- End diff --

There should be more to the documentation of `X.getFoo()` than "Gets the 
Foo for this X". There are semantics which apply here that should be noted.


---


[GitHub] guacamole-client pull request #353: GUACAMOLE-577: Support for configuring t...

2019-01-07 Thread mike-jumper
Github user mike-jumper commented on a diff in the pull request:

https://github.com/apache/guacamole-client/pull/353#discussion_r245747944
  
--- Diff: 
extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
 ---
@@ -148,12 +169,25 @@
 
 // Set protocol
 GuacamoleConfiguration config = new 
GuacamoleConfiguration();
+
+GuacamoleProxyConfiguration proxyConfig;
+try {
+proxyConfig = new 
LocalEnvironment().getDefaultGuacamoleProxyConfiguration();
+}
+catch (GuacamoleException e) {
+return null;
--- End diff --

If retrieval of the proxy config fails, that failure should be logged 
rather than silently ignored.


---


[GitHub] guacamole-client pull request #353: GUACAMOLE-577: Support for configuring t...

2019-01-07 Thread mike-jumper
Github user mike-jumper commented on a diff in the pull request:

https://github.com/apache/guacamole-client/pull/353#discussion_r245755153
  
--- Diff: 
guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnection.java
 ---
@@ -68,21 +72,34 @@ public SimpleConnection() {
  * @param identifier The identifier to associate with this connection.
  * @param config The configuration describing how to connect to this
  *   connection.
+ * 
+ * @throws GuacamoleException
+ * If the default proxy configuration cannot be retrieved.
  */
 public SimpleConnection(String name, String identifier,
-GuacamoleConfiguration config) {
+GuacamoleConfiguration config) throws GuacamoleException {
 
 // Set name
-setName(name);
+super.setName(name);
 
 // Set identifier
-setIdentifier(identifier);
+super.setIdentifier(identifier);
 
 // Set config
-setConfiguration(config);
+super.setConfiguration(config);
 this.config = config;
+this.proxyConfig = new 
LocalEnvironment().getDefaultGuacamoleProxyConfiguration();
 
 }
+
+public SimpleConnection(String name, String identifier,
--- End diff --

Please document this constructor.


---


[GitHub] guacamole-client pull request #353: GUACAMOLE-577: Support for configuring t...

2019-01-07 Thread mike-jumper
Github user mike-jumper commented on a diff in the pull request:

https://github.com/apache/guacamole-client/pull/353#discussion_r245754954
  
--- Diff: 
guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnection.java
 ---
@@ -68,21 +72,34 @@ public SimpleConnection() {
  * @param identifier The identifier to associate with this connection.
  * @param config The configuration describing how to connect to this
  *   connection.
+ * 
+ * @throws GuacamoleException
+ * If the default proxy configuration cannot be retrieved.
  */
 public SimpleConnection(String name, String identifier,
-GuacamoleConfiguration config) {
+GuacamoleConfiguration config) throws GuacamoleException {
--- End diff --

If possible, we should avoid adding new exceptions to an existing 
constructor, as downstream users of that constructor will suddenly have new 
things to catch.

Perhaps retrieving the configuration from the local environment could still 
be put off until `connect()`, being the default behavior if no 
`GuacamoleProxyConfiguration` is provided?


---


[GitHub] guacamole-client pull request #353: GUACAMOLE-577: Support for configuring t...

2019-01-07 Thread mike-jumper
Github user mike-jumper commented on a diff in the pull request:

https://github.com/apache/guacamole-client/pull/353#discussion_r245747651
  
--- Diff: 
extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
 ---
@@ -148,12 +169,25 @@
 
 // Set protocol
 GuacamoleConfiguration config = new 
GuacamoleConfiguration();
+
+GuacamoleProxyConfiguration proxyConfig;
+try {
+proxyConfig = new 
LocalEnvironment().getDefaultGuacamoleProxyConfiguration();
--- End diff --

The `LocalEnvironment` should not be repeatedly recreated if it can be 
avoided.

A singleton instance of it is actually already bound during startup of the 
LDAP extension, so that would be the instance of choice:


https://github.com/apache/guacamole-client/blob/78f1ae1b4eac25501d532ddee94fd1d8588e56dc/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/LDAPAuthenticationProviderModule.java#L74

That singleton instance can be injected within this class if needed, for 
example:


https://github.com/apache/guacamole-client/blob/78f1ae1b4eac25501d532ddee94fd1d8588e56dc/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/ConfigurationService.java#L41-L45

Since this is configuration, though, I'd think it would make more sense to 
provide this via a function within `ConfigurationService`.


---


[GitHub] guacamole-client pull request #353: GUACAMOLE-577: Support for configuring t...

2019-01-07 Thread mike-jumper
Github user mike-jumper commented on a diff in the pull request:

https://github.com/apache/guacamole-client/pull/353#discussion_r245744066
  
--- Diff: 
extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
 ---
@@ -167,18 +201,34 @@
 // Parse name
 String name = parameter.substring(0, equals);
 String value = parameter.substring(equals+1);
-
-config.setParameter(name, value);
+
+// Pull out and set proxy parameters, if 
present
+// Otherwise set the parameter.
+switch(name) {
+case PROXY_HOST_PARAMETER:
--- End diff --

These should probably be separate, dedicated LDAP attributes, rather than 
reusing `guacConfigParameter` (which is meant for connection parameters). This 
would mean changes to the LDAP schema, which would mean new OID values.

I have the OID number assignment scheme written down on a scrap of paper 
from years past ... I'll locate my notes and copy them here. There's an OID 
space which was reserved for Guacamole ages ago (see 38971 within 
https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers), but 
there is a system for consistently assigning numbers within that space.


---


[GitHub] guacamole-client pull request #353: GUACAMOLE-577: Support for configuring t...

2019-01-07 Thread mike-jumper
Github user mike-jumper commented on a diff in the pull request:

https://github.com/apache/guacamole-client/pull/353#discussion_r245752774
  
--- Diff: 
guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Connection.java ---
@@ -125,5 +125,17 @@
  * connection.
  */
 public Set getSharingProfileIdentifiers() throws 
GuacamoleException;
+
+/**
+ * Get the GuacamoleProxyConfiguration for this connection.
+ * 
+ * @return
+ * The GuacamoleProxyConfiguration for this connection.
+ * 
+ * @throws GuacamoleException 
+ * If configuration information cannot be retrieved or parsed.
+ */
+public GuacamoleProxyConfiguration getGuacamoleProxyConfiguration()
--- End diff --

We have historically avoided making the assumption that extensions will 
define a means of connecting to guacd at the `Connection` level. The connection 
to an underlying Guacamole proxy, whether such a proxy is used at all, etc. is 
all kept abstract behind the `GuacamoleTunnel` returned by a call to 
`connect()`.

I think it would be better to continue avoiding that assumption.

If we will be providing such a getter for convenience (which is OK), there 
needs to be well-defined semantics allowing implementations to choose not to 
define it at that level (returning `null` perhaps).


---


[GitHub] guacamole-manual pull request #104: GUACAMOLE-661: Document deprecation of "...

2019-01-07 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/guacamole-manual/pull/104


---


[GitHub] guacamole-manual pull request #104: GUACAMOLE-661: Document deprecation of "...

2019-01-07 Thread mike-jumper
GitHub user mike-jumper opened a pull request:

https://github.com/apache/guacamole-manual/pull/104

GUACAMOLE-661: Document deprecation of "nest" instruction.



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/mike-jumper/guacamole-manual deprecate-nest

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/guacamole-manual/pull/104.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #104


commit 206400f063b7e04e6350fb368fa9506193601b57
Author: Michael Jumper 
Date:   2019-01-07T17:47:14Z

GUACAMOLE-661: Document deprecation of "nest" instruction.




---


[GitHub] guacamole-server pull request #210: GUACAMOLE-661: Mark "nest" instruction a...

2019-01-07 Thread mike-jumper
GitHub user mike-jumper opened a pull request:

https://github.com/apache/guacamole-server/pull/210

GUACAMOLE-661: Mark "nest" instruction and socket as deprecated.



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/mike-jumper/guacamole-server deprecate-nest

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/guacamole-server/pull/210.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #210


commit d73b86b4b7c41fc7fa16423fc340d644c729b233
Author: Michael Jumper 
Date:   2019-01-07T17:37:08Z

GUACAMOLE-661: Mark "nest" instruction and socket as deprecated.




---


Jenkins build is back to normal : guacamole-server-master #81

2019-01-07 Thread Apache Jenkins Server
See 




[GitHub] guacamole-server pull request #208: GUACAMOLE-662: Correct behavior of neste...

2019-01-07 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/guacamole-server/pull/208


---