Age | Commit message (Collapse) | Author |
|
this, together with the events server registration, was breaking the
events signalling on the client whenever it used ipc:// sockets.
|
|
the idea is that we'll be able to use the threaded version of the
client, which makes use of the tornado ioloop, in a non-twisted module,
like the main graphical client probably will be in the near future.
|
|
|
|
|
|
|
|
to be used in post-sync hooks.
Related: #6996
Releases: 0.4.1
|
|
The emission of an event was being logged twice, and the second time was
logging the pickled content of the event. This pickled content contained line
breaks and other things that caused strange output on the client log.
This commit removes the second loggin of the event pickled content.
Closes #7130.
|
|
Altough we specify maxPersistentPerHost, Twisted won't stop opening
connections after that. This limit is used just to keep the size of
persistent connections pool under control. Additional connections will be
made as non persistent. So, if we ask 10000 requests, it will open 10000
connections immediately and leave 10 open after all finished.
For checking this behavior, see getConnection from Twisted source:
http://twistedmatrix.com/trac/browser/tags/releases/twisted-15.2.1/twisted/web/client.py#L1203
I tested this by using http_target from soledad without a local database to
download all encrypted docs from one account with 1700 of them. The
program just hangs and crashes with 1000+ connections and "Too many
files open" warnings.
With this fix, it was able to download normally, respecting the
maxPersistentPerHost as a limiter. :)
|
|
previous regex wasn't capturing addresses of type ipc://<path>
Closes: #7089
|
|
As @meskio pointed out, some cases could need a dedicated pool with
different parameters.
This is a suggested implementation where the pool is reused by default,
creating a dedicated one just if needed/asked. This way we ensure that
resources are under control and special cases are still handled.
|
|
While testing the way that its implemented now, I found out that no check
is being made on certificate attributes against the host.
I found this simple way of creating a BrowserLikePolicyForHTTPS using
a self signed cert and it worked on my test. I used test_https from
Soledad for checking this (which we are fixing on another branch).
Also, we don't want to depend on twisted for other things than
leap.common.http.
|
|
We ran into a RuntimeError yesterday on this line, the callback can
modify this dict and make the iteration raise an error. Using keys
method to iterate is safer.
See
http://stackoverflow.com/questions/11941817/python-runtimeerror-dictionary-changed-size-during-iteration-how-to-avoid-th/11941855#11941855
|
|
This is needed to get the tests working on environments where zmq was
not initalizated.
The environment variable XDG_CONFIG_HOME is set to get the leap
configuration in the temp folder.
|
|
Before this commit, protobuf and protobuf.socketrpc were used to serialize and
transmit messages between events clients. This change implements a simpler ZMQ
client/server events mechanism that uses ZMQ sockets for transmitting messages
from clients to server and to redistribute such messages to subscribed
clients.
Closes: #6359
|
|
Implements an HTTP client the twisted way, with a focus on pinning the
SSL certs.
* Related: #6506
|
|
The certificate validity times were converted to local time and later on
compared with UTC time, which caused the certificate not being updated
at the right times.
Add tests to be sure this is not happenning again.
Add a joint pem file for the existing cert and key files to ease test.
- Resolves: #6994
|
|
In some systems the used tmp dir is like '/tmp/leap_tests-asdf' and in
others is like '/tmp/username/leap_tests-asdf'.
With this fix we protect the home dir and consider different possible
temp directories.
|
|
|
|
Using trial there is no setUpClass neither tearDownClass, the setting up
of the environment needs to be in an external class to be able to call
it from inhereted classes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
With this fix, we will re-raise an exception that happens
while evaluating the callable, instead of storing None as value.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Also, generate events_pb2.py file using 2.4.1.
|
|
|
|
|
|
|
|
|
|
Related to #3310.
|