Skip to content

Commit

Permalink
#3575 add capability authentication
Browse files Browse the repository at this point in the history
  • Loading branch information
totaam committed Jul 13, 2022
1 parent e666e3b commit 6878043
Showing 1 changed file with 38 additions and 0 deletions.
38 changes: 38 additions & 0 deletions xpra/server/auth/capability_auth.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# This file is part of Xpra.
# Copyright (C) 2022 Antoine Martin <[email protected]>
# Xpra is released under the terms of the GNU GPL v2, or, at your option, any
# later version. See the file COPYING for details.

from xpra.server.auth.sys_auth_base import SysAuthenticator, log
from xpra.util import typedict, ellipsizer


class Authenticator(SysAuthenticator):

def __init__(self, **kwargs):
log("capability.Authenticator(%s)", kwargs)
self.uid = -1
self.gid = -1
self.property = kwargs.pop("property", "display")
self.value = kwargs.pop("value", "")
#connection = kwargs.get("connection", None)
super().__init__(**kwargs)

def get_uid(self):
return self.uid

def get_gid(self):
return self.gid


def requires_challenge(self):
return False

def authenticate(self, caps : typedict) -> bool: #pylint: disable=arguments-differ
value = caps.strget(self.property, None)
log("capability.authenticate(..) %r=%r (value required: %r",
self.property, value, self.value)
return value==self.value

def __repr__(self):
return "capability"

0 comments on commit 6878043

Please sign in to comment.