* src/nm-netlink.c
src/NetworkManagerSystem.c
- (new_nl_handle): ensure that the same netlink pid is never chosen
twice (gnome.org #491047)
- Make more robust against allocation-related failures should they occur
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3156 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-umts-device.c (real_act_stage1_prepare): Flash the
* modem (drop DTR)
before doing anything else.
(init_modem): Move modem initialization here.
* src/nm-serial-device.c (ppp_state_changed): React on pppd
* state changes.
(nm_serial_device_flash): Implement.
* src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the
* typoes: the state
changes signal is "StateChanged" and not "Status".
(ppp_exit_code, ppp_status_changed): Remove the debug output,
it's working fine now.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3146 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/supplicant-manager/nm-supplicant-config.c
- (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
to only send some options when they make sense; also send phase2
option to the supplicant (possible fix for rh #399631)
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3143 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerSystem.c
* (nm_system_device_set_from_ip4_config): Change the
arguments: This whole file shouldn't really know anything about
NMDevices, it
should deal only with device interfaces. Devices might have
different ifaces for
different stuff and this place shouldn't know anything about it.
* src/NetworkManagerPolicy.c: Get rid of leftover global
* variable global_policy.
(global_state_changed): Implement. In the current NM it's not
really important,
but will be required in the case of multiple active devices. (Or
even better,
if stuff like that gets moved out from NM).
* src/vpn-manager/nm-vpn-connection.c
* (connection_state_changed): Don't call
nm_system_device_set_from_ip4_config() directly, use
nm_device_set_ip4_config()
instead.
* src/nm-device.c: Add a ip_face protected member. It's used for
* 'multi-interface'
devices like serial devices (ttyS0 and ppp0 for example).
(nm_device_get_ip_iface): Implement. Default to the device iface
if ip_iface is not
set.
(nm_device_set_ip_iface): Implement.
(nm_device_activate_stage5_ip_config_commit): Move all the extra
actions that happen
after setting ip4_config from here ...
(nm_device_set_ip4_config): ... to here. The reason behind it is
that no other code
than this function should call
nm_system_device_set_from_ip4_config() because no
other code has enough information on which arguments to use. So
instead, other code
could just set the new ip4 config using this function and
everyone is happy.
* src/nm-umts-device.c: Store the pending ids so that we can
* remove pending actions
if we happen to get deactivated while something is pending.
(automatic_registration): Handle the response that indicates
pending network
registration and wait until the pending registration is done.
(real_deactivate_quickly): If there's a pending operation,
cancel it.
* src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when
* the iface is up ...
(real_deactivate_quickly): ... and remove it when it's down.
(nm_serial_device_get_reply): Return the timeout id so that the
callers can remove
it if needed.
(nm_serial_device_wait_for_reply): Ditto.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3141 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
(get_network_done): Remove newline, nm_info() does it already.
(real_act_stage1_prepare): Turn the modem echo off.
* src/NetworkManagerSystem.c
* (nm_system_device_set_from_ip4_config): In case of serial
device, set the route to the device interface. This is a hack.
* src/nm-serial-device.c (nm_serial_device_send_command_string):
* Only append carriage
return, no need for a new-line.
(ppp_ip4_config): Store the ip4 config to be set in the next
stage.
Change the device iface here (ugh).
(real_act_stage4_get_ip4_config): Implement.
(real_deactivate_quickly): Free the pending ip4 config if it's
still pending.
Restore the device iface.
* src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do
* nothing if the active
device is not wired or wireless (eg, automatically upped)
device.
* src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make
* the config secondary,
it isn't.
(nm_ppp_manager_start): Don't let pppd to set the default route,
we want to do it.
* src/nm-hal-manager.c (get_creator): Make sure the device has
* required capability
before calling it's is_device_fn().
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3137 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patch from Michael Biebl <biebl@debian.org>
* system-settings/plugins/ifcfg/Makefile.am
system-settings/src/main.c
system-settings/src/Makefile.am
- Put system settings plugins in NM plugins dir
* src/ppp-manager/Makefile.am
src/ppp-manager/nm-ppp-manager.c
- Move pppd plugin to NM plugins dir
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3131 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Implement PIN and PUK requesting.
* src/nm-umts-device.c (enter_pin_done): Request the secret
* again if it failed.
(enter_pin): Handle PIN and PUK requests.
(real_act_stage1_prepare): Clear the secret type.
(real_connection_secrets_updated): Implement this class method
to get
notified when new secrets arrive.
(nm_umts_device_class_init): Add private data back to the umts
device class
to store the required secret type.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3128 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Merge the beginnings of the new GSM card support.
* src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove
* the
ppp watch source before killing pppd - If this happens from
g_object_unref()
then the ppp manager is already destroyed by the time the watch
callback runs.
* src/nm-hal-manager.c: Add a device_type_name string to the
* device
creators, so that we can print a nice human readable string when
a
device is added.
* src/nm-umts-device.c (automatic_registration_get_network):
* Query
for the activated network, not much is done with the result
thought.
* src/nm-serial-device.c (nm_serial_device_get_reply):
* Implement.
(ppp_ip4_config): Change the device state to activated here for
now.
(real_check_connection): Make sure the connection includes ppp
setting.
* libnm-glib/nm-client.c (get_device): Handle umts devices.
* libnm-glib/Makefile.am: Add the new files to build.
* libnm-glib/nm-umts-device.c:
* libnm-glib/nm-umts-device.h: Implement.
2007-11-26 Tambet Ingo <tambet@gmail.com>
* src/nm-umts-device.c (automatic_registration_get_network): For
* now, dial
immediately, nm_serial_device_get_reply() isn't implemented
correctly yet.
* src/nm-serial-device.c (wait_for_reply_info_destroy): Don't
* try to remove
the timeout source - this function is only called when the
timeout source has
been removed.
(nm_serial_device_wait_for_reply): Allocate the duplicate
responses array
to be big enough to contain the terminating zero element as
well.
The timeout argument is meant to be in seconds now.
(real_deactivate_quickly): Implement.
* src/NetworkManager.conf: Allow root to own
"org.freedesktop.NetworkManager.PPP", deny it for everybody
else.
* libnm-util/nm-setting-umts.c: Network type and band properties
* are ints,
(not unsigned ints).
* libnm-util/nm-setting-serial.c (nm_setting_serial_class_init):
* Fix a
small issue with parity bounds - capital letters have lower
ascii codes
than lower case letters.
* libnm-util/nm-connection.c (register_default_settings):
* Register serial
and umts settings.
2007-11-22 Tambet Ingo <tambet@gmail.com>
Remove the "index" property from devices as not all device types
have this.
* include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
* src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
(wired_device_creator): Get the device interface from hal to
create the device.
(wireless_device_creator): Ditto.
* src/nm-device.c (nm_device_init): Remove the index member.
(constructor): Remove the checks for index property, make
interface property
a require constructor property.
Use the HAL udi for DBus path for devices.
(nm_device_get_index): Remove.
(set_property): Remove index handling.
(get_property): Ditto.
(nm_device_get_dbus_path): Remove.
* src/nm-device-interface.c (nm_device_interface_init): Remove
* the index
property.
* src/nm-device-802-3-ethernet.c
* (nm_device_802_3_ethernet_link_activated):
Access the device index through it's interface.
(nm_device_802_3_ethernet_link_deactivated): Ditto.
(nm_device_802_3_ethernet_new): Remove the useless argument
test_dev. Remove
index argument. Add interface argument.
* src/nm-device-802-11-wireless.c
* (nm_device_802_11_wireless_new): Remove
the useless test_dev argument. Remove index argument. Add
interface arugment.
* src/NetworkManagerSystem.c
* (nm_system_device_set_from_ip4_config): Get the
device index through interface.
(nm_system_set_mtu): Ditto.
* introspection/nm-device.xml: Remove the "Index" property.
2007-11-21 Tambet Ingo <tambet@gmail.com>
* src/nm-serial-device.c:
* src/nm-serial-device.c:
* src/nm-umts-device.c:
* src/nm-umts-device.h: Implement.
* src/nm-hal-manager.c (nm_get_device_driver_name):
* libhal_free_string the string
allocated by libhal.
(modem_device_creator): Implement.
(register_built_in_creators): Register the modem creator.
* src/nm-device-802-11-wireless.c
* (nm_device_802_11_wireless_new):
Remove the unused test_dev argument.
* src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new):
* Ditto.
* src/Makefile.am: Add new files to build.
Link in ppp-manager.
* libnm-util/nm-setting-umts.c:
* libnm-util/nm-setting-umts.h:
* libnm-util/nm-setting-serial.c:
* libnm-util/nm-setting-serial.h: Implement.
* libnm-util/Makefile.am: Add new files to build.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3116 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
Support DHCP-provided static routes.
* src/nm-ip4-config.h
src/nm-ip4-config.c
- Add get/set functions for static routes
* src/dhcp-manager/nm-dhcp-manager.c
- (nm_dhcp_manager_get_ip4_config): extract static routes from the
DHCP response
* src/NetworkManagerSystem.c
- (nm_system_device_set_from_ip4_config): set any static routes on the
interface when applying the IP4Config
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3115 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-dbus-manager.h
src/nm-hal-manager.c
- Include the correct headers now that NetworkManagerDbusUtils.h doesn't
do it for them
* src/Makefile.am
src/NetworkManagerDbusUtils.c
src/NetworkManagerDbusUtils.h
- Remove these two source files; they are unused
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3111 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-util/nm-setting.c
- (nm_setting_to_hash, one_property_cb): revert previous commit, it's
unecessary to serialize 'name'
* src/nm-activation-request.c
- (get_secrets_cb): fix cases where a full NMSetting is returned from
the GetSecrets call
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3085 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-util/nm-setting-connection.h
libnm-util/nm-setting-connection.c
- Rename the 'name' property to 'id', because it conflicted with the
NMSetting superclass' 'name' property.
* libnm-util/nm-setting.c
- (nm_setting_to_hash): serialize the 'name' property
- (one_property_cb): ignore 'name' on deserialization of a connection
* src/nm-device-802-11-wireless.c
src/vpn-manager/nm-vpn-connection.c
src/NetworkManagerPolicy.c
- Fix up for NMSettingConnection 'name'->'id' changes
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3084 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/supplicant-manager/nm-supplicant-settings-verify.c
- Allow fragment_size option
* src/supplicant-manager/nm-supplicant-settings-verify.c
- (nm_supplicant_config_add_setting_wireless_security): use a lower
EAP fragment size than the default to help some TLS connections
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3081 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Make certs actually work. The private key is now a secret, and should be
decrypted when requested by NM. The private key and phase2 private key
passwords are no longer interesting to NM because they should be used by
the settings service to decrypt the private key itself before passing it
to NM, and hence have been removed as fields.
* libnm-util/nm-setting-wireless-security.h
libnm-util/nm-setting-wireless-security.c
- Remove private-key-passwd and phase2-private-key-passwd from
properties
- (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
need_secrets): use property #defines instead strings to keep things
consistent
- (need_secrets_tls): if a client certificate is present but no
private key, request the private key
- (set_property, get_property, nm_setting_wireless_security_class_init):
remove private key password stuff, mark private keys as secret
* src/supplicant-manager/nm-supplicant-settings-verify.c
- Remove private_key_passwd and private_key2_passwd from opt_table
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3080 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/supplicant-manager/nm-supplicant-config.c
- (nm_supplicant_config_add_setting_wireless_security): private key
passwords are never sent to wpa_supplicant, because the supplicant
should never be reading random files from the disk. Clients like
the applet are required to decrypt the private keys and send NM
the decrypted blobs.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3076 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Rework NMSetting structures: Move each setting to it's own file.
Convert to GObject. Remove home grown setting types and use
GTypes.
Use GObject property introspection for hash conversion,
enumerating
properties, etc.
* libnm-util/nm-setting-connection.[ch]
* libnm-util/nm-setting-ip4-config.[ch]
* libnm-util/nm-setting-ppp.[ch]
* libnm-util/nm-setting-vpn.[ch]
* libnm-util/nm-setting-vpn-properties.[ch]
* libnm-util/nm-setting-wired.[ch]
* libnm-util/nm-setting-wireless.[ch]
* libnm-util/nm-setting-wireless-security.[ch]
New files, each containing a setting.
* libnm-util/nm-setting-template.[ch]: A template for creating
* new
settings. To use it, just replace 'template' with the new
setting
name, and you're half-way done.
* libnm-util/nm-setting.c: Convert to GObject and use GObject
introspection instead of internal types and tables.
* libnm-util/nm-connection.c: Adapt the new NMSetting work.
* libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
GValue types defined by dbus-glib for composed types like
collections,
structures and maps.
* src/*: The API of NMSetting and NMConnection changed a bit:
* Getting
a setting from connection takes the setting type now. Also,
since
the settings are in multiple files, include relevant settings.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3068 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-hal-manager.c
- (device_added, device_new_capability): ignore device additions while
asleep. Fixes crash caused when NM goes to sleep, a network device
kernel module is unloaded and reloaded and recognized by NM again.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3053 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
* src/NetworkManagerAP.c
src/NetworkManagerAP.h
libnm-glib/nm-access-point.c
libnm-glib/nm-access-point.h
- Make 'rate' property a guint32 to better match with WEXT and
wpa_supplicant and to allow representation of higher bitrates
* src/nm-device-802-11-wireless.c
introspection/nm-device-802-11-wireless.xml
libnm-glib/nm-device-802-11-wireless.c
libnm-glib/nm-device-802-11-wireless.h
- Make 'bitrate' property a guint32 to match AP 'rate' property type
* src/nm-device-802-3-ethernet.c
src/nm-device-802-3-ethernet.h
introspection/nm-device-802-3-ethernet.xml
libnm-glib/nm-device-802-3-ethernet.c
libnm-glib/nm-device-802-3-ethernet.h
- Make 'speed' property a guint32 to match other speed/rate types
- Make nm_device_802_3_ethernet_get_speed() static
* test/nm-tool.c
- Update for the changes above
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3030 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/named-manager/nm-named-manager.c
- (rewrite_resolv_conf): clean up error handling to avoid double-free by
not calling fclose() twice on some error conditions
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3029 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-activation-request.c
- (dispose): clean up indentation; get the right DBusGProxy object to
cancel the GetSecrets pending call on. Need to use the Secrets
proxy, not the regular connection proxy. Otherwise the GetSecrets
pending call doesn't get canceled, and pressing Cancel in the
applet's password dialog could cause get_secrets_cb() to be called
after the activation request has already been destroyed
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3028 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/supplicant-manager/nm-supplicant-config.c
- (nm_supplicant_config_add_blob): pass blob data and length for
verification
- (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3020 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/supplicant-manager/nm-supplicant-interface.c
- (blob_free): correctly free blob data after use
- (call_set_blobs): use the right D-Bus interfaace for setBlobs
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3018 4912f4e0-d625-0410-9fb7-b9a5a253dbdc