| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
I was never sure about the design, and the supporting code was removed
when I refactored connectivity for 5.16. If it's needed in future,
we can bring it back, hopefully with a simpler design (fd.o #24896).
Reviewed-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=69600
|
|
|
|
|
|
|
|
| |
This means we need to pass the client factory through the McdManager
from the McdMaster, so, do.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=55391
Reviewed-by: Xavier Claessens <xavier.claessens@collabora.co.uk>
|
|
|
|
|
|
| |
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=68712
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
|
|
|
|
|
|
|
|
|
| |
There's only one transport plugin, it only has one transport, and
its state is basically boolean, so we can delete a lot of code.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=68712
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
|
|
|
|
|
|
|
|
| |
Iterating over all accounts? Looks like a job for the account manager.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=68712
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
|
|
|
|
|
|
|
|
|
| |
Instead of proxying through the transport plugin and the McdMaster, just
watch the McdConnectivityMonitor. Much simpler!
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=68712
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
|
|
|
|
|
|
| |
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=68712
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
|
|
|
|
|
|
| |
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=68712
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We only have one transport now, so there are two options: either the
account is a special one that "needs dispatch" and also bypasses the
transport check (in practice this means cellular accounts), or it is
connected via the Internet.
Binding accounts to transports never made a vast amount of sense. If we
have many parallel Internet connections (e.g. wired + wifi + cellular +
VPN), Mission Control can't know which one a Connection is relying on -
only the connection manager can know that - so we have to err on the
side of disconnecting everything on a connectivity change anyway.
A possible refinement in future Tp versions would be a way for a CM
to tell MC "this connection does its own connectivity-monitoring,
so don't kick it when we get disconnected". For now, we assume that
everything needs the Internet, unless it's one of the accounts that
wouldn't previously have been bound to a connection (i.e.
_mcd_account_needs_dispatch() returns FALSE).
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=68712
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
|
|
|
|
|
|
|
|
| |
Nothing constructs a McdMaster with a non-default McdAccountManager.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=68712
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
|
|
|
|
|
|
|
|
|
| |
We no longer have API for external transport providers, and we've never
defined any conditions on the transport provider we do have.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=68712
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
|
|
|
|
|
|
|
|
|
| |
There's no point in this being virtual: there are no subclasses,
and it isn't API any more.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=68712
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
|
|
|
|
|
|
| |
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=68712
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
|
|
|
|
|
|
| |
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=55391
Reviewed-by: Xavier Claessens <xavier.claessens@collabora.co.uk>
|
|
|
|
|
|
|
|
| |
Originally two patches for 'next' by Jonny Lamb.
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=55391
Reviewed-by: Xavier Claessens <xavier.claessens@collabora.co.uk>
|
|
|
|
|
|
| |
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Xavier Claessens <xavier.claessens@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=54633
|
|
|
|
|
|
|
|
|
| |
We ought to be able to rely on umask() for files created since 5.2.2,
at least on Unix.
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Xavier Claessens <xavier.claessens@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=54151
|
|
|
|
|
|
|
|
| |
The dispatcher subscribes to the master's abort signal rather than
implementing any of the McdMission virtual methods, so nothing in
McdMission is actually doing anything for it.
This means we can get rid of McdProxy, so, do.
|
|
|
|
|
| |
This older plugin API exposes enough MC internals that there's no point
trying to support it out-of-tree.
|
| |
|
| |
|
|
|
|
|
| |
Less code, fewer bugs. Also, people should have stopped embedding MC by
now, and an earlier patch in this series made it impossible.
|
|
|
|
| |
Only in-tree code can use mcd_* functions now.
|
|
|
|
|
| |
This will make my life much easier when trying to debug issues from users'
logs.
|
|
|
|
| |
we need to include io.h to make unmask work when cross compiling
|
|
|
|
|
|
| |
Modified from an original patch by Derek Foreman
https://bugs.freedesktop.org/show_bug.cgi?id=42508
|
|
|
|
|
|
|
|
|
|
|
| |
Replace g_(ptr_)array_free (foo, TRUE) and g_hash_table_destroy
with respectively g_(ptr_)array_unref (foo) and g_hash_table_unref.
I used this command to generate this patch:
for f in `find -name "*.c"`; do sed -i $f -re 's/g_ptr_array_free \(([^ ,]+), TRUE\)/g_ptr_array_unref \(\1\)/'; done
See Danielle's blog for explanation of possible bug _free can do:
http://blogs.gnome.org/danni/2011/11/16/mistakes-with-g_value_set_boxed/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, when a connection was brought online in response to
an event other than a transport becoming connected, it would always be
bound to a transport (if any transport plugins are loaded, obviously),
regardless of whether the dictionary o' conditions was empty or not.
However, when a transport coming online caused a connection to be
brought up, that connection would not be bound to the transport that
caused it to come online if the conditions were empty (which they
generally are).
For reasons I can't quite fathom, this actually doesn't seem to have
affected anything: it could be because monitor_state_changed_cb in
McdKludgeTransport also binds waiting connections to the transport that
came online. But this seems like a sensible change for sanity and
consistency reasons.
|
|
|
|
| |
This consolidates logic previously duplicated between two code paths.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, when the 'default' instance of McdMaster (i.e., the
singleton) was disposed, the 'default_master' variable was left pointing
to it. This is basically fine in practice, since the McdMaster is meant
to survive for the lifetime of the connection. But I hit a weird crash
(caused by the test suite's version of MC waiting 5 seconds after the
McdMaster is destroyed before closing, which interacts badly with the
reconnection timeout being less than 5 seconds) and it would have been
much clearer what was happening if 'default_master' had held a known-bad
address rather than a possibly-valid pointer to a freed object.
This doesn't change the behaviour of the code in any significant way:
we'll still crash in this situation. But as far as I can tell the bug is
harmless.
|
|
|
|
|
|
|
| |
This entails doing a little more code generation for the daemon: some
bits depended on generated code from libmcclient, and there was an error
enum used in exactly one place. But broadly speaking this just deletes a
tonne of code and documentation.
|
| |
|
| |
|
| |
|
|
|
|
| |
successful replacement if no account conditions were specified, forcing unwanted reconnections
|
|
|
|
| |
or not
|
|
|
|
| |
This is not used anywhere, which is good, because it doesn't work.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
_mcd_master_account_replace_transport
It has the startling side-effect of binding the account to the selected
transport, so the old name was rather misleading.
|
|
|
|
|
|
|
|
|
| |
libmissioncontrol-server no longer has anything to do with GConf.
In the case where plugins are enabled, this requires promoting the GModule
dependency from libmissioncontrol-server.la to libmcd-convenience.la:
previously, libmcd-convenience.la implicitly had a GModule dependency
anyway, via GConf, which masked this mistake.
|
| |
|
| |
|