Age | Commit message (Collapse) | Author |
|
|
|
|
|
The start_plugins part of the manhole initialization
was being initialized, logging lines and creating a
file whenever the user agent was started, as opposed
to only when the manhole option is active
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If we get any problem with the upload of the user's public key,
we are deleting the key pair from the local database and denying
login. That way, a new login will have a chance to regenerate the
key and upload it properly.
|
|
We covered a lot of missing cases on the keymanager tests. We also
isolated these tests, that caused some other tests to break, so we
fixed them.
|
|
|
|
The functional tests depend on a pre-existing default user. As it uses
the integration test client, we added this default user to the client
setup.
|
|
The login resource was being totally mocked out of the integration
tests, I adapted the test client to touch the actual login code
and fixed the multi_user_client to use the same checker the single
user one was using. With that change we now have tests that cover
the change of authenticating with bonafide
|
|
This still uses the SRPSession object to hold the credentials
so we don't have to adapt the rest of the user agent code
|
|
To ensure we don't overload the server with requests, we'll
sleep a little bit before each request to check if the inbox
is already loaded
|
|
It now requests using the same session that it logs in until the user
arrives at the inbox (denoted by the compose-trigger showing up on the
html in this case)
|
|
|
|
In case a user was being logged out and there's a soledad invalid
auth token error, there might be an inconsistent state where the
user session doesn't exist when this second logout is tried.
This was breaking the login for that user until the next UA restart,
I adapted the code to make logging out an user idempotent to
prevent this corner case
|
|
|
|
I added a new test to check that an existing public key is not being
sent to leap on every login
|
|
We were using an old version of the python's mock library, which lacks
new features such as assert_called() and assert_not_called() that I
found handy to test #778
|
|
We were always sending the public key to nicknym, even if it was
already there. The send_key method purpose is to update the public
key in case a new pair is created and shouldn't be done at every
login
|
|
Register was trying to use LeapConfig and breaking
when trying to register users
|
|
The interstitial was being read at every login
request, that was a blocking read on the main
loop for every user.
That file was also being opened and not closed
at every request, that would aggravate the
'too many open files' problem
|
|
|
|
|
|
|
|
Since we are creating the combined certificates at the beginning
of the UA and using it for multiple users, it makes more sense to
create it in the leap folder instead of on a temporary file
This bundle will be updated on every UA start
|
|
|
|
|
|
|
|
With this change we don't have to create the combined_ca_bundle
for every user at every login.
To support this change, we started migrating away from the
LeapCertificate class that was making the LeapProvider setup
more brittle
|
|
|
|
We had different outputs for inlineCallbacks
and traditional callbacks and the output was
kinda confusing. We normalized the output to
<time> <type>: function <name> (<file>:<line>) in thread <thread_id>
We also changed the earlier type from deferred
to callback (because that is what's being measured)
so now we have two possible types: callback and
inlineCallbacks
|
|
The inlineCallback returnValue has a different logic using
exceptions, the way we measured before, we were getting the
time of the whole deferred chain (including all the callbacks)
instead of exclusively the timing of the last yield up to the
returnValue call.
|
|
This reverts commit 480e7d3bd48f2a7c23a76843750daaa03f2b12b3.
|
|
This reverts commit 8ef8acf8e853fe097c379eed4d65e67f409531d1.
|
|
|
|
|
|
|
|
We did two changes to the twisted patch to be able to
measure the inlineCallbacks correctly:
- Filtered the traditional callbacks timing so that it
doesn't print inlineCallback timings
- Added a measurement for the g.send() method inside
the inlineCallback, to measure the actual execution
time of the call on the main thread, between the
inlineCallback yields
|
|
|
|
|
|
See #761
|