diff options
3 files changed, 22 insertions, 1 deletions
diff --git a/src/net/java/sip/communicator/plugin/sipaccregwizz/SIPAccountRegistrationForm.java b/src/net/java/sip/communicator/plugin/sipaccregwizz/SIPAccountRegistrationForm.java index 902b62e..4c92812 100644 --- a/src/net/java/sip/communicator/plugin/sipaccregwizz/SIPAccountRegistrationForm.java +++ b/src/net/java/sip/communicator/plugin/sipaccregwizz/SIPAccountRegistrationForm.java @@ -384,6 +384,10 @@ public class SIPAccountRegistrationForm accountPanel.setPassword(password); accountPanel.setRememberPassword(true); } + else + { + accountPanel.setRememberPassword(false); + } connectionPanel.setServerAddress(serverAddress); connectionPanel.setServerEnabled(isServerOverridden); diff --git a/src/net/java/sip/communicator/plugin/sipaccregwizz/SIPAccountRegistrationWizard.java b/src/net/java/sip/communicator/plugin/sipaccregwizz/SIPAccountRegistrationWizard.java index f16d46f..0846193 100644 --- a/src/net/java/sip/communicator/plugin/sipaccregwizz/SIPAccountRegistrationWizard.java +++ b/src/net/java/sip/communicator/plugin/sipaccregwizz/SIPAccountRegistrationWizard.java @@ -365,6 +365,11 @@ public class SIPAccountRegistrationWizard { accountProperties.put(ProtocolProviderFactory.PASSWORD, passwd); } + else + { + // clear password if requested + registration.setPassword(null); + } String serverAddress = null; String serverFromUsername = @@ -377,7 +382,7 @@ public class SIPAccountRegistrationWizard && registration.getDefaultDomain() != null) { // we have only a username and we want to add - // a defautl domain + // a default domain userName = userName + "@" + registration.getDefaultDomain(); if(serverAddress == null) diff --git a/src/net/java/sip/communicator/service/protocol/AccountManager.java b/src/net/java/sip/communicator/service/protocol/AccountManager.java index 7a17c05..0a93b7f 100644 --- a/src/net/java/sip/communicator/service/protocol/AccountManager.java +++ b/src/net/java/sip/communicator/service/protocol/AccountManager.java @@ -616,6 +616,18 @@ public class AccountManager }
}
+ // clear the password if missing property, modification can request
+ // password delete
+ if(!accountProperties.containsKey(ProtocolProviderFactory.PASSWORD))
+ {
+ CredentialsStorageService credentialsStorage
+ = ServiceUtils.getService(
+ bundleContext,
+ CredentialsStorageService.class);
+ credentialsStorage.removePassword(
+ factoryPackage + "." + accountNodeName);
+ }
+
if (configurationProperties.size() > 0)
configurationService.setProperties(configurationProperties);
|