CramMD5Credentials.setResponse does not check for proper format of parameter 'response'
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 6k
- Forks
- 1.2k
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 10
Description
| implizit reported | |
|---|---|
| Trac ID | trac#6285 |
| Type | defect |
| Created | 2013-01-29 16:35:40Z |
t.c.credentials.CramMD5Credentials.setResponse assumes that parameter response has a proper format (something like ). However, this is not guaranteed. For example, if you create a small ESMTP-Server with CRAM-MD5-Support, it is possible that the client does not send the proper response. I observed this with Apple Mail. You can test it via telnet by entering:
EHLO 127.0.0.1
AUTH CRAM-MD5
QUIT
In this case, setResponse throws a ValueError. One possible fix is to catch this exception and assign an empty string to self.username and self.reponse. The above "QUIT" will be interpreted as the response, which is IMHO valid w.r.t the RFC.
Searchable metadata
trac-id__6285 6285
type__defect defect
reporter__implizit implizit
priority__low low
milestone__
branch__
branch_author__
status__new new
resolution__None None
component__core core
keywords__
time__1359477340000000 1359477340000000
changetime__1359917767000000 1359917767000000
version__None None
owner__
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the t.c.credentials.CramMD5Credentials.setResponse entry point and inspect how the response is parsed. Exercise it with the malformed CRAM-MD5 input shown in the issue; done means an invalid format no longer raises ValueError and the resulting credentials state matches the requested behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- authentication, networking
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 48/100