> Here the error from catalina.out: > > 10:00:25.850 [localhost-startStop-1] ERROR o.a.h.extension.ExtensionModule > - > Extension "guacamole-auth-totp-1.0.0.jar" could not be loaded: > Authentication provider class cannot be loaded (wrong version of API?). > 10:00:25.853 [localhost-startStop-1] INFO > o.a.h.environment.LocalEnvironment - GUACAMOLE_HOME is "/etc/guacamole". > > I use MySQL authenticator and it works great, I have put *.jar in > /etc/guacamole/extensions/ and from what I have found about TOTP, it don't > need any configuration file nor into guacamole.properties, am I right? >
Yeah, it seems like there's some sort of mis-match between the TOTP jar you're installing and the version of Guacamole Client that you're running. Make sure it's all downloaded from the same place and the exact same build/version. Just changing the version number somewhere in the code from 1.1.0 to 1.0.0 or changing the filename won't do - the builds need to match up. > > > > > You can do this by cloning the git repository - either your fork or the > > original one - and then checking out the 1.0.0 tag. This is the place in > > git where 1.0.0 was released, so it should match your running 1.0.0 > > version. You can then modify and build the code from there, and should > be > > able to build just the TOTP module and add that to your existing > > installation. > > > > -Nick > > This point isn't clear to me, can you please explain it in deep? Thanks! > The git repository has branches and tags. Branches are the active working places where code is being updated - so, currently we have the master branch, which contains all changes, and the staging/1.1.0 branch, which contains changes that will go into the 1.1.0 release. For historical reasons, we also have tags - so, within the git repo, each version we've released is tagged such that you can check out the code at a particular release. When you clone the repo you can then do a "git checkout <tag>" and you'll be taken to the commit that represents that version of code - e.g. "git checkout 1.0.0" will take you to the commit where 1.0.0 was released. This puts you in a "detached head" state, where your working repository doesn't match up with any branch, so you won't be able to commit anything from there, but you can build the code and effectively build from a particular release. You can also then checkout a tag into a new branch so that you can make changes and commit the code. -Nick
