| Summary: | [server] Implement User Service on Equinox Secure Storage | ||
|---|---|---|---|
| Product: | [ECD] Orion | Reporter: | Szymon Brandys <Szymon.Brandys> |
| Component: | Client | Assignee: | Szymon Brandys <Szymon.Brandys> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | P3 | CC: | john.arthorne, marco, pwebster |
| Version: | 0.2 | ||
| Target Milestone: | 0.2 | ||
| Hardware: | PC | ||
| OS: | Windows XP | ||
| Whiteboard: | |||
| Bug Depends on: | |||
| Bug Blocks: | 334120, 334655 | ||
|
Description
Szymon Brandys
Fixed. This doesn't work on 64-bit windows or Linux because there is no password provider. orion.eclipse.org is a Linux machine so it means authentication won't work on that server. Equinox secure storage provides a default password provider, however it is defined in org.eclipse.equinox.security.ui, which obviously has UI dependencies and is not appropriate for the server. I think we will need to add a PasswordProvider that obtains the password from a system property, so that we have a solution that works on all platforms (this could maybe be contributed back to equinox in the future, but we need something for M5). This is the error I get attempting to run the server on 64-bit windows: org.eclipse.equinox.security.storage.StorageException: No secure storage modules found. at org.eclipse.equinox.internal.security.storage.PasswordProviderSelector.findStorageModule(PasswordProviderSelector.java:190) at org.eclipse.equinox.internal.security.storage.SecurePreferencesRoot.getModulePassword(SecurePreferencesRoot.java:231) at org.eclipse.equinox.internal.security.storage.SecurePreferencesRoot.getPassword(SecurePreferencesRoot.java:224) at org.eclipse.equinox.internal.security.storage.SecurePreferences.put(SecurePreferences.java:224) at org.eclipse.equinox.internal.security.storage.SecurePreferencesWrapper.put(SecurePreferencesWrapper.java:110) at org.eclipse.orion.internal.server.user.securestorage.SecureStorageUserAdmin.internalCreateOrUpdateUser(SecureStorageUserAdmin.java:138) at org.eclipse.orion.internal.server.user.securestorage.SecureStorageUserAdmin.createUser(SecureStorageUserAdmin.java:110) at org.eclipse.orion.server.useradmin.servlets.UserServlet.createUser(UserServlet.java:112) at org.eclipse.orion.server.useradmin.servlets.UserServlet.doPost(UserServlet.java:83) This was blocking me from further testing so I released a password provider that consults a system property. @John Could you please point to the location? I am currently setting up a server on 64bit linux and face the same problem you seem to have solved! |