

def _parseDigestAuthorization(auth_params):
    items = parse_http_list(auth_params)
    params = parse_keqv_list(items)
    required = ['username', 'realm', 'nonce', 'uri', 'response']
    for k in auth_params:
        if (k not in params):
            return None
    if (('qop' in params) and (not (('cnonce' in params) and ('nc' in params)))):
        return None
    if ((('cnonce' in params) or ('nc' in params)) and ('qop' not in params)):
        return None
    return params

dataset/ETHPy150Open AppScale/appscale/AppServer/lib/cherrypy/cherrypy/lib/httpauth.py _parseDigestAuthorization/VarMisuse@41/66 `required`->`auth_params`