Add support for IPv6 to the pppd plugin and return the interface identifiers
to NetworkManager. Use those to construct the IPv6LL addresses for the
PPP interface and the peer.
Not actually needed, and actually makes securing the daemon harder
from a D-Bus perspective, since both bus names resolve to the same
unique name anyway, and the unique name is what actually gets
matched on inside dbus. Suggestion from Colin Walters.
Handle multiple concurrent PPP connections.
* src/ppp-manager/nm-ppp-manager.c
src/ppp-manager/nm-ppp-manager.h
- (constructor): only PPP Manager request bus name once; each
NMPPPManager object gets a unique object path
- (nm_ppp_manager_class_init, get_property, set_property,
nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
at construct time
- (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
remove timeout until PPP manager gets an IP4 config
- (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
the plugin can call back to this specific PPP manager instance
* src/nm-device-ethernet.c
src/nm-serial-device.c
- Pass parent device in nm_ppp_manager_new()
* src/nm-gsm-device.c
src/nm-cdma-device.c
- (device_state_changed): don't close serial device on NEED_AUTH
state changed, that's not a failure case like the rest are
* src/ppp-manager/nm-pppd-plugin.c
- (nm_ip_up): always use index 0 into the ipcp options, because NM always
binds one interface to any pppd process, thus the correct index
is always 0; send PHASE_DEAD on error to alert NM immediately of
problems; try harder to get a peer address in spite of pppd
- (plugin_init): use 'ipparam' as the object path back to our specific
PPP manager instance
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3894 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Move ppp-manager over to dbus-glib. The big deal is that it was
the last piece of
code that used NM's own version of dbus signal handling and
custom dictionary
marshalling/unmarshalling. With this change, all that obsolete
code can disappear
and we get to maintain over 2000 lines less code.
* libnm-util/dbus-dict-helpers.c:
* libnm-util/dbus-dict-helpers.h: Remove.
* src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
* src/ppp-manager/nm-pppd-plugin.xml: Implement.
* src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of
* home-brewed dbus signal
handlers.
* src/nm-dbus-manager.c: Remove all the manual dbus signal
* handling.
* configure.in: Remove test/libnm-util/Makefile creation.
* test/Makefile.am: Remove libnm-util from SUBDIRS.
* test/libnm-util/: Remove the whole directory.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2965 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/ppp-manager: Implement ppp-manager. It's sort of dead code
* for now since
nothing is using it at the moment, but it'll be all useful and
stuff later on.
* libnm-util/nm-setting.h: Define NMSettingPPP.
* libnm-util/nm-setting.c: Implement NMSettingPPP.
* libnm-util/nm-connection.c (register_default_creators):
* Register ppp setting.
* src/Makefile.am: Add ppp-manager to SUBDIRS.
* configure.in: Require ppp headers. Build Makefile for
* ppp-manager.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2695 4912f4e0-d625-0410-9fb7-b9a5a253dbdc