pyca / pyca/pynacl

pwhash check_condition unexpected keyword argument {0}

Open
#439 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
1.2k
Forks
267
Avg merge
42m
Merged PRs (30d)
2

Description

I'm seeing this error on Mac with python version 3.6.5 and pynacl version 1.2.1:

venv3/lib/python3.6/site-packages/nacl/pwhash/argon2id.py:109: in kdf
    ALG)
venv3/lib/python3.6/site-packages/nacl/bindings/crypto_pwhash.py:375: in crypto_pwhash_alg
    raising=exc.TypeError)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

cond = False, args = (), kwds = {}, _CHK_UNEXP = 'check_condition() got an unexpected keyword argument {0}', raising = <class 'nacl.exceptions.TypeError'>

    def ensure(cond, *args, **kwds):
        """
        Return if a condition is true, otherwise raise a caller-configurable
        :py:class:`Exception`
        :param bool cond: the condition to be checked
        :param sequence args: the arguments to be passed to the exception's
                              constructor
        The only accepted named parameter is `raising` used to configure the
        exception to be raised if `cond` is not `True`
        """
        _CHK_UNEXP = 'check_condition() got an unexpected keyword argument {0}'

        raising = kwds.pop('raising', AssertionError)
        if kwds:
            raise TypeError(_CHK_UNEXP.format(repr(kwds.popitem()[0])))

        if cond is True:
            return
>       raise raising(*args)
E       nacl.exceptions.TypeError

venv3/lib/python3.6/site-packages/nacl/exceptions.py:68: TypeError

Do you have an idea what this means?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the traceback with Python 3.6.5 and PyNaCl 1.2.1, then inspect nacl/pwhash/argon2id.py and nacl/bindings/crypto_pwhash.py around the reported calls. Determine why ensure receives an unexpected keyword argument and confirm the affected password-hashing path works without the error.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
security
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.