python-client: Retries fails, because it reuses the same auth header

RESOLVED FIXED

Status

Taskcluster
General
RESOLVED FIXED
3 years ago
3 years ago

People

(Reporter: jonasfj, Unassigned)

Tracking

Details

Attachments

(1 attachment)

(Reporter)

Description

3 years ago
The python retry logic is broken here:
https://github.com/taskcluster/taskcluster-client.py/blob/master/taskcluster/client.py#L339-L340

Because it uses the same header, with the same auth, with the same nonce, which is verboten :)
The will believe it to be a replay attack.

So we must recreate the authentication header for each retry.
(Reporter)

Comment 1

3 years ago
Created attachment 8566354 [details] [review]
Github PR

This should fix:
 * Bug 1134369
 * Bug 1133876
 * Bug 1133856
 * Bug 1133048
 * Bug 1133020

I might be wrong so please take a look and see if I'm right...
Also please make sure the tests runs as intended. I still get a log thing or something about _aexit...
I think it's just the result of trying to do tests smart :)
Attachment #8566354 - Flags: review?(jhford)
(Reporter)

Comment 2

3 years ago
I assume I have an r+ since you merged it...
Status: NEW → RESOLVED
Last Resolved: 3 years ago
Flags: needinfo?(jhford)
Resolution: --- → FIXED
Comment on attachment 8566354 [details] [review]
Github PR

yep!
Flags: needinfo?(jhford)
Attachment #8566354 - Flags: review?(jhford) → review+
Component: TaskCluster → General
Product: Testing → Taskcluster
Target Milestone: --- → mozilla41
Version: unspecified → Trunk
Resetting Version and Target Milestone that accidentally got changed...
Target Milestone: mozilla41 → ---
Version: Trunk → unspecified
You need to log in before you can comment on or make changes to this bug.