From: root Date: Wed, 17 Nov 2010 21:43:54 +0000 (+0100) Subject: Merge commit 'origin/master' X-Git-Tag: plcapi-5.0-19~56^2~1 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=53c87406a99b2f65bcfe00a050185139e97a0963;hp=a0b98745bd9a073d3ff9a91e33cbab0904dbfdf2;p=plcapi.git Merge commit 'origin/master' --- diff --git a/aspects/ratelimitaspects.py b/aspects/ratelimitaspects.py index 25db395..9a309f4 100644 --- a/aspects/ratelimitaspects.py +++ b/aspects/ratelimitaspects.py @@ -40,18 +40,26 @@ class BaseRateLimit(object): api_method_name = wobj.name api_method_source = wobj.source + api_method = args[0]["AuthMethod"] - # FIXME: Support SessionAuth, GPGAuth, BootAuth and AnonymousAuth - try: + if api_method == "session": + api_method_caller = args[0]["session"] + elif api_method == "password" or api_method == "capability": api_method_caller = args[0]["Username"] - except KeyError: - api_method_caller = "_" + elif api_method == "gpg": + api_method_caller = args[0]["name"] + elif api_method == "hmac" or api_method == "hmac_dummybox": + api_method_caller = args[0]["node_id"] + elif api_method == "anonymous": + api_method_caller = "anonymous" + else: + api_method_caller = "unknown" if api_method_source == None or api_method_source[0] == self.config.PLC_API_IP or api_method_source[0] in self.whitelist: return if api_method_caller == None: - self.log("%s called from %s with Username = None" % (api_method_name, api_method_source[0])) + self.log("%s called from %s with Username = None?" % (api_method_name, api_method_source[0])) return mc = memcache.Client(["%s:11211" % self.config.PLC_API_HOST])