You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@guacamole.apache.org by Dirk Laurenz <sa...@laurenz.ws> on 2022/06/11 06:01:13 UTC
Central Configuration
Hi,
is there any other way than user-mapping.xml to configure guacamole?
And moreover is it possible to separate Connections and users?
What I mean is, to configure all sessions and only associate them to users.
Currently all sessions exist multiple times.
Regards,
Dirk
AW: Central Configuration
Posted by Dirk Laurenz <sa...@laurenz.ws>.
And i think i‘ve placed all files correctly:
.
./lib
./lib/mariadb-java-client-3.0.5.jar
./guacamole.properties
./extensions
./extensions/guacamole-auth-jdbc-mysql-1.4.0.jar
Von: Nick Couchman <vn...@apache.org>
Gesendet: Samstag, 11. Juni 2022 12:07
An: user@guacamole.apache.org
Betreff: Re: Central Configuration
On Sat, Jun 11, 2022 at 05:59 Dirk Laurenz <samba@laurenz.ws <ma...@laurenz.ws> > wrote:
Hi,
thanks. Did i miss the documantion. I only find different auth methods, but not more…
The documentation is here:
https://guacamole.apache.org/doc/gug/
The different authentication methods are exactly how you store connection information - read those pages carefully and you will see how they replace and enhance the configuration provided by the user mapping file.
- Nick
Re: Central Configuration
Posted by Michael Jumper <mj...@apache.org>.
It is definitely the case that you can use these characters, and definitely
the case that quotes will be considered part of the value (and therefore
cause the password to not match in what you expect).
- Mike
On Sat, Jun 11, 2022, 13:42 Dirk Laurenz <sa...@laurenz.ws> wrote:
> Hi,
>
>
>
> i did this, but it didn’t work. Ich changed to an extralong password
> without any special characters. That worked…
>
>
>
> *Von:* Michael Jumper <mj...@apache.org>
> *Gesendet:* Samstag, 11. Juni 2022 20:49
> *An:* user@guacamole.apache.org
> *Betreff:* Re: Central Configuration
>
>
>
> On Sat, Jun 11, 2022, 11:11 Dirk Laurenz <sa...@laurenz.ws> wrote:
>
> I got further – although it is maria db one should use mysql driver and
> how do I user strong passwords like
>
>
>
> $someBigLettersAndNumberx8789%
>
>
>
> Using ‘’ to quote them in guacamole.properties doesn’t work
>
>
>
> Just write them exactly as-is. If you add quotes, those quotes will be
> part of the value. Everything after the colon and leading whitespace is
> part of the value.
>
>
>
> https://en.wikipedia.org/wiki/.properties
>
>
>
> - Mike
>
>
>
AW: Central Configuration
Posted by Dirk Laurenz <sa...@laurenz.ws>.
Hi,
i did this, but it didn’t work. Ich changed to an extralong password without any special characters. That worked…
Von: Michael Jumper <mj...@apache.org>
Gesendet: Samstag, 11. Juni 2022 20:49
An: user@guacamole.apache.org
Betreff: Re: Central Configuration
On Sat, Jun 11, 2022, 11:11 Dirk Laurenz <samba@laurenz.ws <ma...@laurenz.ws> > wrote:
I got further – although it is maria db one should use mysql driver and how do I user strong passwords like
$someBigLettersAndNumberx8789%
Using ‘’ to quote them in guacamole.properties doesn’t work
Just write them exactly as-is. If you add quotes, those quotes will be part of the value. Everything after the colon and leading whitespace is part of the value.
https://en.wikipedia.org/wiki/.properties
- Mike
Re: Central Configuration
Posted by Michael Jumper <mj...@apache.org>.
On Sat, Jun 11, 2022, 11:11 Dirk Laurenz <sa...@laurenz.ws> wrote:
> I got further – although it is maria db one should use mysql driver and
> how do I user strong passwords like
>
>
>
> $someBigLettersAndNumberx8789%
>
>
>
> Using ‘’ to quote them in guacamole.properties doesn’t work
>
Just write them exactly as-is. If you add quotes, those quotes will be part
of the value. Everything after the colon and leading whitespace is part of
the value.
https://en.wikipedia.org/wiki/.properties
- Mike
AW: Central Configuration
Posted by Dirk Laurenz <sa...@laurenz.ws>.
I got further – although it is maria db one should use mysql driver and how do I user strong passwords like
$someBigLettersAndNumberx8789%
Using ‘’ to quote them in guacamole.properties doesn’t work
Von: Dirk Laurenz <sa...@laurenz.ws>
Gesendet: Samstag, 11. Juni 2022 18:54
An: user@guacamole.apache.org
Betreff: AW: Central Configuration
Hi,
so i walk through the setup and after calling the webserver the first time, I get this error:
root@hostname:~/guacamole-auth-jdbc-1.4.0# <mailto:root@hostname:~/guacamole-auth-jdbc-1.4.0> journalctl -xe
Jun 11 18:45:34 hostname tomcat9[4893]: Command line argument: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
Jun 11 18:45:34 hostname tomcat9[4893]: Command line argument: -Djava.util.logging.config.file=/var/lib/tomcat9/conf/logging.properties
Jun 11 18:45:34 hostname tomcat9[4893]: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
Jun 11 18:45:34 hostname tomcat9[4893]: Command line argument: -Djava.awt.headless=true
Jun 11 18:45:34 hostname tomcat9[4893]: Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
Jun 11 18:45:34 hostname tomcat9[4893]: Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
Jun 11 18:45:34 hostname tomcat9[4893]: Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
Jun 11 18:45:34 hostname tomcat9[4893]: Command line argument: -Dignore.endorsed.dirs=
Jun 11 18:45:34 hostname tomcat9[4893]: Command line argument: -Dcatalina.base=/var/lib/tomcat9
Jun 11 18:45:34 hostname tomcat9[4893]: Command line argument: -Dcatalina.home=/usr/share/tomcat9
Jun 11 18:45:34 hostname tomcat9[4893]: Command line argument: -Djava.io.tmpdir=/tmp
Jun 11 18:45:34 hostname tomcat9[4893]: An older version [1.2.21] of the APR based Apache Tomcat Native library is installed, while Tomcat recommends a minimum version of [1.2.23]
Jun 11 18:45:34 hostname tomcat9[4893]: Loaded APR based Apache Tomcat Native library [1.2.21] using APR version [1.6.5].
Jun 11 18:45:34 hostname tomcat9[4893]: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
Jun 11 18:45:34 hostname tomcat9[4893]: APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]
Jun 11 18:45:34 hostname tomcat9[4893]: OpenSSL successfully initialized [OpenSSL 1.1.1n 15 Mar 2022]
Jun 11 18:45:35 hostname tomcat9[4893]: Initializing ProtocolHandler ["http-nio-8080"]
Jun 11 18:45:35 hostname tomcat9[4893]: Server initialization in [1,287] milliseconds
Jun 11 18:45:35 hostname tomcat9[4893]: Starting service [Catalina]
Jun 11 18:45:35 hostname tomcat9[4893]: Starting Servlet engine: [Apache Tomcat/9.0.31 (Debian)]
Jun 11 18:45:35 hostname tomcat9[4893]: Deploying deployment descriptor [/etc/tomcat9/Catalina/localhost/manager.xml]
Jun 11 18:45:35 hostname tomcat9[4893]: The path attribute with value [/manager] in deployment descriptor [/etc/tomcat9/Catalina/localhost/manager.xml] has been ignored
Jun 11 18:45:37 hostname tomcat9[4893]: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned
Jun 11 18:45:37 hostname tomcat9[4893]: Deployment of deployment descriptor [/etc/tomcat9/Catalina/localhost/manager.xml] has finished in [2,064] ms
Jun 11 18:45:37 hostname tomcat9[4893]: Deploying deployment descriptor [/etc/tomcat9/Catalina/localhost/host-manager.xml]
Jun 11 18:45:37 hostname tomcat9[4893]: The path attribute with value [/host-manager] in deployment descriptor [/etc/tomcat9/Catalina/localhost/host-manager.xml] has been ignored
Jun 11 18:45:38 hostname tomcat9[4893]: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned
Jun 11 18:45:38 hostname tomcat9[4893]: Deployment of deployment descriptor [/etc/tomcat9/Catalina/localhost/host-manager.xml] has finished in [1,134] ms
Jun 11 18:45:38 hostname tomcat9[4893]: Deploying web application archive [/var/lib/tomcat9/webapps/guacamole.war]
Jun 11 18:45:41 hostname tomcat9[4893]: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned
Jun 11 18:45:41 hostname tomcat9[4893]: 18:45:41.949 [main] INFO o.a.g.environment.LocalEnvironment - GUACAMOLE_HOME is "/etc/guacamole".
Jun 11 18:45:42 hostname tomcat9[4893]: 18:45:42.156 [main] INFO o.a.g.GuacamoleServletContextListener - Read configuration parameters from "/etc/guacamole/guacamole.properties".
Jun 11 18:45:42 hostname tomcat9[4893]: 18:45:42.158 [main] INFO o.a.g.rest.auth.HashTokenSessionMap - Sessions will expire after 60 minutes of inactivity.
Jun 11 18:45:42 hostname tomcat9[4893]: 18:45:42.769 [main] INFO o.a.g.a.mysql.conf.MySQLEnvironment - Installed JDBC driver for MySQL/MariaDB detected as "MariaDB Connector/J".
Jun 11 18:45:44 hostname tomcat9[4893]: 18:45:44.632 [main] INFO o.a.g.extension.ExtensionModule - Extension "MySQL Authentication" (mysql) loaded.
Jun 11 18:45:44 hostname tomcat9[4893]: 18:45:44.899 [main] INFO o.a.g.t.w.WebSocketTunnelModule - Loading JSR-356 WebSocket support...
Jun 11 18:45:46 hostname tomcat9[4893]: 18:45:46.069 [main] WARN o.g.jersey.server.wadl.WadlFeature - JAXBContext implementation could not be found. WADL feature is disabled.
Jun 11 18:45:46 hostname tomcat9[4893]: Deployment of web application archive [/var/lib/tomcat9/webapps/guacamole.war] has finished in [8,070] ms
Jun 11 18:45:46 hostname tomcat9[4893]: Deploying web application directory [/var/lib/tomcat9/webapps/ROOT]
Jun 11 18:45:47 hostname tomcat9[4893]: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned
Jun 11 18:45:47 hostname tomcat9[4893]: Deployment of web application directory [/var/lib/tomcat9/webapps/ROOT] has finished in [1,085] ms
Jun 11 18:45:47 hostname tomcat9[4893]: Starting ProtocolHandler ["http-nio-8080"]
Jun 11 18:45:47 hostname tomcat9[4893]: Server startup in [12,545] milliseconds
Jun 11 18:45:48 hostname systemd[1]: Started Checkmk agent (PID 27152/UID 996).
Jun 11 18:45:52 hostname tomcat9[4893]: 18:45:52.045 [http-nio-8080-exec-7] WARN o.a.g.e.AuthenticationProviderFacade - The "mysql" authentication provider has encountered an internal
Jun 11 18:45:52 hostname tomcat9[4893]: 18:45:52.049 [http-nio-8080-exec-7] ERROR o.a.g.rest.RESTExceptionMapper - Unexpected internal error:
Jun 11 18:45:52 hostname tomcat9[4893]: ### Error querying database. Cause: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/guacamole_db
Jun 11 18:45:52 hostname tomcat9[4893]: ### The error may exist in org/apache/guacamole/auth/jdbc/user/UserMapper.xml
Jun 11 18:45:52 hostname tomcat9[4893]: ### The error may involve org.apache.guacamole.auth.jdbc.user.UserMapper.selectOne
Jun 11 18:45:52 hostname tomcat9[4893]: ### The error occurred while executing a query
Jun 11 18:45:52 hostname tomcat9[4893]: ### Cause: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/guacamole_db
Von: Nick Couchman <vnick@apache.org <ma...@apache.org> >
Gesendet: Samstag, 11. Juni 2022 12:07
An: user@guacamole.apache.org <ma...@guacamole.apache.org>
Betreff: Re: Central Configuration
On Sat, Jun 11, 2022 at 05:59 Dirk Laurenz <samba@laurenz.ws <ma...@laurenz.ws> > wrote:
Hi,
thanks. Did i miss the documantion. I only find different auth methods, but not more…
The documentation is here:
https://guacamole.apache.org/doc/gug/
The different authentication methods are exactly how you store connection information - read those pages carefully and you will see how they replace and enhance the configuration provided by the user mapping file.
- Nick
AW: Central Configuration
Posted by Dirk Laurenz <sa...@laurenz.ws>.
Hi,
so i walk through the setup and after calling the webserver the first time, I get this error:
root@hostname:~/guacamole-auth-jdbc-1.4.0# <mailto:root@hostname:~/guacamole-auth-jdbc-1.4.0#> journalctl -xe
Jun 11 18:45:34 hostname tomcat9[4893]: Command line argument: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
Jun 11 18:45:34 hostname tomcat9[4893]: Command line argument: -Djava.util.logging.config.file=/var/lib/tomcat9/conf/logging.properties
Jun 11 18:45:34 hostname tomcat9[4893]: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
Jun 11 18:45:34 hostname tomcat9[4893]: Command line argument: -Djava.awt.headless=true
Jun 11 18:45:34 hostname tomcat9[4893]: Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
Jun 11 18:45:34 hostname tomcat9[4893]: Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
Jun 11 18:45:34 hostname tomcat9[4893]: Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
Jun 11 18:45:34 hostname tomcat9[4893]: Command line argument: -Dignore.endorsed.dirs=
Jun 11 18:45:34 hostname tomcat9[4893]: Command line argument: -Dcatalina.base=/var/lib/tomcat9
Jun 11 18:45:34 hostname tomcat9[4893]: Command line argument: -Dcatalina.home=/usr/share/tomcat9
Jun 11 18:45:34 hostname tomcat9[4893]: Command line argument: -Djava.io.tmpdir=/tmp
Jun 11 18:45:34 hostname tomcat9[4893]: An older version [1.2.21] of the APR based Apache Tomcat Native library is installed, while Tomcat recommends a minimum version of [1.2.23]
Jun 11 18:45:34 hostname tomcat9[4893]: Loaded APR based Apache Tomcat Native library [1.2.21] using APR version [1.6.5].
Jun 11 18:45:34 hostname tomcat9[4893]: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
Jun 11 18:45:34 hostname tomcat9[4893]: APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]
Jun 11 18:45:34 hostname tomcat9[4893]: OpenSSL successfully initialized [OpenSSL 1.1.1n 15 Mar 2022]
Jun 11 18:45:35 hostname tomcat9[4893]: Initializing ProtocolHandler ["http-nio-8080"]
Jun 11 18:45:35 hostname tomcat9[4893]: Server initialization in [1,287] milliseconds
Jun 11 18:45:35 hostname tomcat9[4893]: Starting service [Catalina]
Jun 11 18:45:35 hostname tomcat9[4893]: Starting Servlet engine: [Apache Tomcat/9.0.31 (Debian)]
Jun 11 18:45:35 hostname tomcat9[4893]: Deploying deployment descriptor [/etc/tomcat9/Catalina/localhost/manager.xml]
Jun 11 18:45:35 hostname tomcat9[4893]: The path attribute with value [/manager] in deployment descriptor [/etc/tomcat9/Catalina/localhost/manager.xml] has been ignored
Jun 11 18:45:37 hostname tomcat9[4893]: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned
Jun 11 18:45:37 hostname tomcat9[4893]: Deployment of deployment descriptor [/etc/tomcat9/Catalina/localhost/manager.xml] has finished in [2,064] ms
Jun 11 18:45:37 hostname tomcat9[4893]: Deploying deployment descriptor [/etc/tomcat9/Catalina/localhost/host-manager.xml]
Jun 11 18:45:37 hostname tomcat9[4893]: The path attribute with value [/host-manager] in deployment descriptor [/etc/tomcat9/Catalina/localhost/host-manager.xml] has been ignored
Jun 11 18:45:38 hostname tomcat9[4893]: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned
Jun 11 18:45:38 hostname tomcat9[4893]: Deployment of deployment descriptor [/etc/tomcat9/Catalina/localhost/host-manager.xml] has finished in [1,134] ms
Jun 11 18:45:38 hostname tomcat9[4893]: Deploying web application archive [/var/lib/tomcat9/webapps/guacamole.war]
Jun 11 18:45:41 hostname tomcat9[4893]: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned
Jun 11 18:45:41 hostname tomcat9[4893]: 18:45:41.949 [main] INFO o.a.g.environment.LocalEnvironment - GUACAMOLE_HOME is "/etc/guacamole".
Jun 11 18:45:42 hostname tomcat9[4893]: 18:45:42.156 [main] INFO o.a.g.GuacamoleServletContextListener - Read configuration parameters from "/etc/guacamole/guacamole.properties".
Jun 11 18:45:42 hostname tomcat9[4893]: 18:45:42.158 [main] INFO o.a.g.rest.auth.HashTokenSessionMap - Sessions will expire after 60 minutes of inactivity.
Jun 11 18:45:42 hostname tomcat9[4893]: 18:45:42.769 [main] INFO o.a.g.a.mysql.conf.MySQLEnvironment - Installed JDBC driver for MySQL/MariaDB detected as "MariaDB Connector/J".
Jun 11 18:45:44 hostname tomcat9[4893]: 18:45:44.632 [main] INFO o.a.g.extension.ExtensionModule - Extension "MySQL Authentication" (mysql) loaded.
Jun 11 18:45:44 hostname tomcat9[4893]: 18:45:44.899 [main] INFO o.a.g.t.w.WebSocketTunnelModule - Loading JSR-356 WebSocket support...
Jun 11 18:45:46 hostname tomcat9[4893]: 18:45:46.069 [main] WARN o.g.jersey.server.wadl.WadlFeature - JAXBContext implementation could not be found. WADL feature is disabled.
Jun 11 18:45:46 hostname tomcat9[4893]: Deployment of web application archive [/var/lib/tomcat9/webapps/guacamole.war] has finished in [8,070] ms
Jun 11 18:45:46 hostname tomcat9[4893]: Deploying web application directory [/var/lib/tomcat9/webapps/ROOT]
Jun 11 18:45:47 hostname tomcat9[4893]: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned
Jun 11 18:45:47 hostname tomcat9[4893]: Deployment of web application directory [/var/lib/tomcat9/webapps/ROOT] has finished in [1,085] ms
Jun 11 18:45:47 hostname tomcat9[4893]: Starting ProtocolHandler ["http-nio-8080"]
Jun 11 18:45:47 hostname tomcat9[4893]: Server startup in [12,545] milliseconds
Jun 11 18:45:48 hostname systemd[1]: Started Checkmk agent (PID 27152/UID 996).
Jun 11 18:45:52 hostname tomcat9[4893]: 18:45:52.045 [http-nio-8080-exec-7] WARN o.a.g.e.AuthenticationProviderFacade - The "mysql" authentication provider has encountered an internal
Jun 11 18:45:52 hostname tomcat9[4893]: 18:45:52.049 [http-nio-8080-exec-7] ERROR o.a.g.rest.RESTExceptionMapper - Unexpected internal error:
Jun 11 18:45:52 hostname tomcat9[4893]: ### Error querying database. Cause: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/guacamole_db
Jun 11 18:45:52 hostname tomcat9[4893]: ### The error may exist in org/apache/guacamole/auth/jdbc/user/UserMapper.xml
Jun 11 18:45:52 hostname tomcat9[4893]: ### The error may involve org.apache.guacamole.auth.jdbc.user.UserMapper.selectOne
Jun 11 18:45:52 hostname tomcat9[4893]: ### The error occurred while executing a query
Jun 11 18:45:52 hostname tomcat9[4893]: ### Cause: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/guacamole_db
Von: Nick Couchman <vn...@apache.org>
Gesendet: Samstag, 11. Juni 2022 12:07
An: user@guacamole.apache.org
Betreff: Re: Central Configuration
On Sat, Jun 11, 2022 at 05:59 Dirk Laurenz <samba@laurenz.ws <ma...@laurenz.ws> > wrote:
Hi,
thanks. Did i miss the documantion. I only find different auth methods, but not more…
The documentation is here:
https://guacamole.apache.org/doc/gug/
The different authentication methods are exactly how you store connection information - read those pages carefully and you will see how they replace and enhance the configuration provided by the user mapping file.
- Nick
Re: Central Configuration
Posted by Nick Couchman <vn...@apache.org>.
On Sat, Jun 11, 2022 at 05:59 Dirk Laurenz <sa...@laurenz.ws> wrote:
> Hi,
>
>
>
> thanks. Did i miss the documantion. I only find different auth methods,
> but not more…
>
>
>
The documentation is here:
https://guacamole.apache.org/doc/gug/
The different authentication methods are exactly how you store connection
information - read those pages carefully and you will see how they replace
and enhance the configuration provided by the user mapping file.
- Nick
AW: Central Configuration
Posted by Dirk Laurenz <sa...@laurenz.ws>.
Hi,
thanks. Did i miss the documantion. I only find different auth methods, but not more…
Thanks
Dirk
Von: Michael Jumper <mj...@apache.org>
Gesendet: Samstag, 11. Juni 2022 08:08
An: user@guacamole.apache.org
Betreff: Re: Central Configuration
On Fri, Jun 10, 2022, 23:04 Dirk Laurenz <samba@laurenz.ws <ma...@laurenz.ws> > wrote:
Hi,
is there any other way than user-mapping.xml to configure guacamole?
And moreover is it possible to separate Connections and users?
What I mean is, to configure all sessions and only associate them to users. Currently all sessions exist multiple times.
Yes, this is exactly what you would get if you set up one of the supported databases.
You don't need user-mapping.xml - it's really only meant for initial testing (so you can verify things work without introducing additional variables like whether a database is configured correctly). The other auth mechanisms (database, LDAP, etc.) are intended for production use and provide *much* more functionality.
- Mike
Re: Central Configuration
Posted by Michael Jumper <mj...@apache.org>.
On Fri, Jun 10, 2022, 23:04 Dirk Laurenz <sa...@laurenz.ws> wrote:
> Hi,
>
> is there any other way than user-mapping.xml to configure guacamole?
>
> And moreover is it possible to separate Connections and users?
>
> What I mean is, to configure all sessions and only associate them to
> users. Currently all sessions exist multiple times.
>
Yes, this is exactly what you would get if you set up one of the supported
databases.
You don't need user-mapping.xml - it's really only meant for initial
testing (so you can verify things work without introducing additional
variables like whether a database is configured correctly). The other auth
mechanisms (database, LDAP, etc.) are intended for production use and
provide *much* more functionality.
- Mike