mirror of
https://github.com/openSUSE/osc.git
synced 2024-11-10 06:46:15 +01:00
fix credentials with passx entries
Existing passx enries resulted in a stacktrace because the cp.get() call for the passx entries was missing. Also added a delete_password function for ObfuscatedPasswordManager to delete passx entries
This commit is contained in:
parent
64a5969ca8
commit
c5231d61dd
@ -65,6 +65,8 @@ class AbstractCredentialsManager(object):
|
||||
|
||||
class PlaintextConfigFileCredentialsManager(AbstractCredentialsManager):
|
||||
def get_password(self, url, user, defer=True):
|
||||
if self._cp.has_option(url, 'passx', proper=True):
|
||||
return self._cp.get(url, 'passx', raw=True)
|
||||
return self._cp.get(url, 'pass', raw=True)
|
||||
|
||||
def set_password(self, url, user, password):
|
||||
@ -101,6 +103,10 @@ class ObfuscatedConfigFileCredentialsManager(
|
||||
password = base64.b64encode(compressed_pw).decode("ascii")
|
||||
super(self.__class__, self).set_password(url, user, password)
|
||||
|
||||
def delete_password(self, url, user):
|
||||
self._cp.remove_option(url, 'passx')
|
||||
super(self.__class__, self).delete_password(url, user)
|
||||
|
||||
@classmethod
|
||||
def decode_password(cls, password):
|
||||
compressed_pw = base64.b64decode(password.encode("ascii"))
|
||||
|
Loading…
Reference in New Issue
Block a user