2008-10-10 Alexander Sack <asac@ubuntu.com>
[NetworkManager.git] / ChangeLog
1 2008-10-10  Alexander Sack  <asac@ubuntu.com>
2
3         Implement unmanaged mode that will prevent all devices in the
4         well_known_udis set from being touched by NetworkManager
5
6         * system-settings/plugins/ifupdown/plugin.c
7                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
8                         unmanage_well_known field used to turn on/off unmanaged
9                         mode
10                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
11                         signal when well_known_udis get added/removed
12                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
13                         if we are in unmanaged mode
14
15 2008-10-10  Alexander Sack  <asac@ubuntu.com>
16
17         Add support to track network devices that have a configuration
18         with a matching interface.name in /etc/network/interfaces
19
20         * system-settings/plugins/ifupdown/plugin.c
21                 - (typedef struct SCPluginIfupdownPrivate): add hash table
22                         to track |well_known_udis|
23                 - (get_iface_for_udi): helper function to get interface.name
24                         for a udi
25                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
26                         that add and remove devices to and from the well_known_udis
27                         set depending on whether their |interface.name| matches
28                         any interface definition in /etc/network/interfaces
29                 - (SCPluginIfupdown_init): connect callbacks from above with
30                         hal_mgr and setup well_known_udis hashtable
31                 - (GObject__dispose): destroy well_known_udis hashtable
32                 - (hal_device_added_cb2): implement wrapper callback with GFunc
33                         signature. user_data is supposed to be a triple (hal_mgr,
34                         config and devtype)
35                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
36                         startup and call hal_device_added_cb2
37
38 2008-10-10  Alexander Sack  <asac@ubuntu.com>
39
40         Remove implementation for not used NMSystemConfigInterface callback functions
41         in ifupdown plugin
42
43         * system-settings/plugins/ifupdown/plugin.c
44                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
45                 - (SCPluginIfupdown_connection_added): removed
46
47 2008-10-08  Dan Williams  <dcbw@redhat.com>
48
49         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
50
51         * src/NetworkManagerUtils.c
52                 - (nm_utils_call_dispatcher): add a 'hostname' action
53
54         * src/NetworkManagerPolicy.c
55                 - (set_system_hostname): dispatch hostname changes
56
57         * callouts/nm-dispatcher-action.c
58                 - (nm_dispatcher_action): handle 'hostname' actions
59
60 2008-10-08  Dan Williams  <dcbw@redhat.com>
61
62         * src/NetworkManagerSystem.c
63                 - (find_route): ref the route so it doesn't get destroyed when the cache
64                         is cleared
65                 - (nm_system_device_set_priority): unref the route here after it's done
66                         being used
67
68 2008-10-08  Dan Williams  <dcbw@redhat.com>
69
70         * src/nm-serial-device.c
71                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
72
73 2008-10-08  Tambet Ingo  <tambet@gmail.com>
74
75         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
76         connection with new settings before saving it.
77
78 2008-10-06  Dan Williams  <dcbw@redhat.com>
79
80         * src/nm-ip4-config.c
81           src/nm-ip4-config.h
82                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
83
84         * src/nm-device-interface.c
85                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
86                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
87                         by using '/' for the object path
88
89         * src/nm-device.c
90                 - (src/nm-device.c): marshal missing/unexported ip4-config through
91                         dbus as '/' since dbus-glib can't handle NULL objects nor can
92                         dbus handle NULL object paths
93
94 2008-10-03  Alexander Sack  <asac@ubuntu.com>
95
96         Implement system hostname support for debian/ubuntu
97
98         * system-settings/plugins/ifupdown/plugin.c
99                 - (GObject__get_property): extend announced capabilities; add
100                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
101                 - (GObject__set_property,write_system_hostname): implement
102                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
103                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
104                    update_system_hostname, get_hostname):
105                         implement hostname property that watches and
106                         parses /etc/hostname
107
108 2008-10-03  Alexander Sack  <asac@ubuntu.com>
109
110         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
111           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
112           system-settings/plugins/ifcfg-fedora/Makefile.am
113           system-settings/src/nm-inotify-helper.c
114           system-settings/src/nm-inotify-helper.h
115           src/Makefile.am
116                 - Move ifcfg-fedora inotify helpers to the system settings service so
117                         they are available to all plugins
118
119 2008-10-03  Alexander Sack  <asac@ubuntu.com>
120
121         Implement support for wep-tx-keyidx in ifupdown system
122         config plugin.
123
124         * system-settings/plugins/ifupdown/parser.c
125                 - (update_wireless_security_setting_from_if_block): introduce
126                         free_type_mapping func table; rename a few local
127                         variables to improve readability; add wpa security mapping
128                         for wep-tx-keyidx property
129                 - (string_to_gpointerint): new function used for the auto_type_mapping
130                         of new wep-tx-keyidx property
131                 - (slist_free_all): free func used for mapped slist types
132
133 2008-10-03  Alexander Sack  <asac@ubuntu.com>
134
135         * system-settings/src/main.c:
136                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
137                         always used as the hash key; fixes a crash when removing wired
138                         devices
139
140 2008-10-02  Dan Williams  <dcbw@redhat.com>
141
142         * src/nm-gsm-device.c
143                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
144                         pass the required GSM secret along via user_data rather than keeping
145                         it around in the private data where it sometimes didn't get cleared
146                 - (real_get_ppp_name): implement using the GSM username
147
148 2008-10-02  Dan Williams  <dcbw@redhat.com>
149
150         * src/ppp-manager/nm-ppp-manager.c
151           src/ppp-manager/nm-ppp-manager.h
152                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
153                         the settings daemon for completely new ones
154                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
155                         local PPP peer name; allow PPP debuging by launching NM with
156                         the environment variable NM_PPP_DEBUG defined
157                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
158                         create_pppd_cmd_line()
159
160         * src/nm-serial-device.c
161           src/nm-serial-device.h
162                 - New 'get_ppp_name' function for subclasses to implement to return the
163                         local PPP peer name
164                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
165                         and pass that name to the PPP manager
166
167         * src/nm-device-ethernet.c
168                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
169                         the local peer name
170
171         * src/nm-cdma-device.c
172                 - (real_get_ppp_name): implement using the CDMA username
173
174 2008-10-02  Dan Williams  <dcbw@redhat.com>
175
176         Patch from Alexander Sack <asac ubuntu com>
177
178         * system-settings/plugins/ifupdown/parser.c
179                 - Implement more graceful ip4 config parsing for cases where
180                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
181                   by using default values
182
183 2008-10-02  Dan Williams  <dcbw@redhat.com>
184
185         * src/NetworkManagerPolicy.c
186                 - (device_state_changed): when marking a connection invalid, clear its
187                         secrets too so that fresh secrets get requested the next time
188
189 2008-10-01  Dan Williams  <dcbw@redhat.com>
190
191         * system-settings/src/dbus-settings.c
192                 - (nm_sysconfig_settings_init): cache system hostname on startup as
193                         a fallback if no plugin provides a hostname
194                 - (get_property): fall back to cached hostname if no plugin provides
195                         a hostname
196
197 2008-10-01  Dan Williams  <dcbw@redhat.com>
198
199         Fix setting value comparison issue that caused some settings to look the
200         same when they were really different (rh #464417)
201
202         * libnm-util/nm-param-spec-specialized.c
203                 - (type_is_fixed_size): return fundamental size of the fixed type too
204                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
205                         in the comparison so that the _entire_ fixed type collection gets
206                         compared rather than just the first 'len1' bytes
207
208 2008-09-30  Dan Williams  <dcbw@redhat.com>
209
210         * src/NetworkManagerPolicy.c
211                 - (lookup_thread_worker): don't store the idle handler ID becuase the
212                         idle handler could have already run and freed the LookupThread
213                         structure
214
215 2008-09-30  Tambet Ingo  <tambet@gmail.com>
216
217         * src/nm-device.c (nm_device_get_priority): Implement.
218         (nm_device_set_ip4_config): Send the device priority to system ip4 
219         config setter.
220
221         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
222         Add priority argument and if it's >= 0, set the priority of the network
223         route added automatically by netlink (or kernel?).
224         (nm_system_device_set_priority): Implement.
225
226         * src/NetworkManagerPolicy.c (get_best_device): Use 
227         nm_device_get_priority() instead of home-grown version. Revert the
228         meaning, best priority is the lowest one.
229
230 2008-09-29  Dan Williams  <dcbw@redhat.com>
231
232         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
233         when it returns EAGAIN (rh #362421)
234
235         * src/nm-device-wifi.c
236                 - (wireless_get_range): try GIWRANGE a few times until the card responds
237                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
238
239 2008-09-28  Dan Williams  <dcbw@redhat.com>
240
241         * src/nm-serial-device.c
242           src/nm-serial-device.h
243                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
244                         cleaned at the right times when subclasses close the serial port too
245                 - (nm_serial_device_send_command): use a default send delay; don't
246                         spin forever on EAGAIN
247                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
248                         remove, no longer used
249                 - (find_response): return the matched response if any
250                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
251                         while doing so
252                 - (wait_for_reply_done): pass the matched response to the callback
253                 - (wait_for_reply_got_data): save the matched response; simplify timeout
254                         handling
255                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
256                         const since they never get modified
257                 - (cleanup_device): split out common cleanup stuff to a new function
258                 - (real_deactivate_quickly, finalize): use cleanup_device()
259
260         * src/nm-gsm-device.c
261                 - (modem_get_reply): remove, unused
262                 - (set_apn): give the card a bit more time to respond
263                 - (manual_registration_again, schedule_manual_registration_again,
264                    manual_registration_response, manual_registration): handle manual
265                         registration timeouts better by retrying registration a few times
266                         because cards are a bit slow after CFUN=1
267                 - (automatic_registration_get_network, get_network_response): use
268                         modem_wait_for_reply() because it interacts better with the serial
269                         buffer and does more intelligent matching; need to wait for 'OK'
270                         rather than just matching terminators
271                 - (schedule_automatic_registration_again,
272                    automatic_registration_response, automatic_registration): retry
273                         registration a few times on timeout or "searching" because cards
274                         take a bit to find a network after being powered up with CFUN=1
275                 - (power_up_response, power_up, init_full_done, enter_pin,
276                    check_pin_done): power up the card with CFUN=1 before trying to
277                         register with the network
278                 - (init_modem_full, init_modem): use more standard 3G init strings
279
280         * src/nm-hso-gsm-device.c
281                 - (modem_get_reply): remove, unused
282                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
283                         modem_wait_for_reply() to match actual responses instead of single
284                         termination characters; it doesn't leave stuff in the serial buffer
285                         that might confuse later calls
286                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
287                         to ensure that the call is really disconnected and not leave extra
288                         stuff in the serial buffer
289
290         * src/nm-cdma-device.c
291                 - (power_up_response, power_up, init_done): try Sierra-style modem
292                         power up before attempting to connect
293
294 2008-09-27  Dan Williams  <dcbw@redhat.com>
295
296         * libnm-util/nm-setting-gsm.c
297                 - (verify): verify GSM network ID
298
299 2008-09-25  Dan Williams  <dcbw@redhat.com>
300
301         * libnm-util/nm-setting-gsm.c
302           libnm-util/nm-setting-gsm.h
303                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
304                         technology terms (bgo #551361)
305
306 2008-09-25  Dan Williams  <dcbw@redhat.com>
307
308         Fix bgo #549401 (inspired by patch from Alexander Sack)
309
310         * src/nm-device-ethernet.c
311                 - (finish_supplicant_task): clean up scheduled tasks and free memory
312                 - (remove_supplicant_interface_error_handler): remove the supplicant
313                         error idle callback too
314                 - (supplicant_interface_release): rename from supplicant_interface_clean
315                         to match nm-device-wifi.c; clean up supplicant interface-related
316                         state tasks when the supplicant interface is disposed of
317                 - (schedule_state_handler): add scheduled tasks to a list so they can
318                         be cleaned up later
319                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
320                    supplicant_iface_connection_state_cb_handler): use
321                         finish_supplicant_task() to clean up each completed task
322                 - (supplicant_iface_connection_error_cb_handler,
323                    supplicant_connection_timeout_cb): clear source id when the task is
324                         complete
325                 - (supplicant_iface_connection_error_cb): save scheduled task id for
326                         later cleanup
327                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
328                         tasks
329
330         * src/nm-device-wifi.c
331                 - (finish_supplicant_task): clean up scheduled tasks and free memory
332                 - (remove_supplicant_interface_error_handler): remove the supplicant
333                         error idle callback too
334                 - (supplicant_interface_release): clean up supplicant interface-related
335                         state tasks when the supplicant interface is disposed of
336                 - (schedule_state_handler): add scheduled tasks to a list so they can
337                         be cleaned up later
338                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
339                    supplicant_iface_connection_state_cb_handler): use
340                         finish_supplicant_task() to clean up each completed task
341                 - (supplicant_iface_connection_error_cb_handler): clear source id when
342                         the task is complete
343                 - (supplicant_iface_connection_error_cb): save scheduled task id for
344                         later cleanup
345                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
346
347 2008-09-24  Tambet Ingo  <tambet@gmail.com>
348
349         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
350         method and get/set hostname property.
351
352 2008-09-24  Tambet Ingo  <tambet@gmail.com>
353
354         * src/supplicant-manager/nm-supplicant-interface.c
355         (nm_supplicant_interface_disconnect): Don't increment the reference 
356         count when disconnecting. The problem is on shutdown, when the replies
357         to these commands do not arrive before NM exits, resulting on never
358         calling supplicant interface's dispose(), which removes the interface
359         from supplicant.
360
361 2008-09-24  Tambet Ingo  <tambet@gmail.com>
362
363         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
364         all the public function arguments.
365
366 2008-09-22  Tambet Ingo  <tambet@gmail.com>
367
368         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
369         "Failure" signal from VPN plugins, store the failure reason, and
370         use it when the state is changed to failure.
371
372         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
373         description.
374
375         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
376         reason to the end of the list to not break the API.
377         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
378         so it can be shared by plugins and daemon.
379
380 2008-09-18  Dan Williams  <dcbw@redhat.com>
381
382         Patch from Alexander Sack <asac@ubuntu.com>
383
384         * configure.in
385           system-settings/plugins/Makefile.am
386           system-settings/plugins/ifupdown/Makefile.am
387           system-settings/plugins/ifupdown/interface_parser.c
388           system-settings/plugins/ifupdown/interface_parser.h
389           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
390           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
391           system-settings/plugins/ifupdown/parser.c
392           system-settings/plugins/ifupdown/parser.h
393           system-settings/plugins/ifupdown/plugin.c
394           system-settings/plugins/ifupdown/plugin.h
395                 - Implement a Debian/Ubuntu legacy network configuration plugin
396                         (gnome.org #551941)
397
398 2008-09-18  Dan Williams  <dcbw@redhat.com>
399
400         Implement support for honoring configured and automatic hostnames, and for
401         setting the configured hostname.
402
403         * introspection/nm-ip4-config.xml
404           src/nm-ip4-config.c
405           src/nm-ip4-config.h
406           src/dhcp-manager/nm-dhcp-manager.c
407                 - Remove useless hostname property; it's not really part of the IPv4
408                         config
409
410         * introspection/nm-settings-system.xml
411           libnm-glib/nm-dbus-settings-system.c
412           libnm-glib/nm-dbus-settings-system.h
413                 - Add SetHostname() call to system settings D-Bus interface
414                 - Add Hostname property to system settings D-Bus interface
415                 - (nm_dbus_settings_system_save_hostname,
416                    nm_dbus_settings_system_get_hostname): implement
417
418         * src/nm-device.c
419           src/nm-device.h
420                 - (nm_device_get_dhcp4_config): implement
421
422         * src/nm-manager.c
423           src/nm-manager.h
424                 - Fetch and track system settings service hostname changes, and proxy
425                         the changes via a GObject property of the manager
426
427         * system-settings/src/nm-system-config-interface.c
428           system-settings/src/nm-system-config-interface.h
429                 - Replace nm_system_config_interface_supports_add() with a capabilities
430                         bitfield
431
432         * system-settings/src/nm-system-config-error.c
433           system-settings/src/nm-system-config-error.h
434                 - Add additional errors
435
436         * system-settings/src/dbus-settings.c
437           system-settings/src/dbus-settings.h
438                 - (get_property, nm_sysconfig_settings_class_init): add hostname
439                         property; first plugin returning a hostname wins
440                 - (impl_settings_add_connection): use plugin capabilities instead of
441                         nm_system_config_interface_supports_add()
442                 - (impl_settings_save_hostname): implement hostname saving
443
444         * src/NetworkManagerPolicy.c
445                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
446                    lookup_thread_die): implement an asynchronous hostname lookup thread
447                         which given an IPv4 address tries to look up the hostname for that
448                         address with reverse DNS
449                 - (get_best_device): split out best device code from
450                         update_routing_and_dns()
451                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
452                         to preserve the 127.0.0.1 reverse mapping that so many things require
453                 - (set_system_hostname): set a given hostname
454                 - (update_system_hostname): implement hostname policy; a configured
455                         hostname (from the system settings service) is used if available,
456                         otherwise an automatically determined hostname from DHCP, VPN, etc.
457                         If there was no automatically determined hostname, reverse DNS of
458                         the best device's IP address will be used, and as a last resort the
459                         hostname 'localhost.localdomain' is set.
460                 - (update_routing_and_dns): use get_best_device(); update the system
461                         hostname when the network config changes
462                 - (hostname_changed): update system hostname if the system settings
463                         service signals a hostname change
464                 - (nm_policy_new): list for system settings service hostname changes
465                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
466                         gets told to die
467
468         * system-settings/plugins/keyfile/plugin.c
469           system-settings/plugins/ifcfg-suse/plugin.c
470                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
471                         capabilities properties
472
473         * system-settings/plugins/ifcfg-fedora/shvar.c
474                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
475                         writes out /etc/sysconfig/network now
476
477         * system-settings/plugins/ifcfg-fedora/plugin.c
478                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
479                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
480                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
481                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
482                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
483                         hostname get/set and capabilities get
484
485 2008-09-18  Dan Williams  <dcbw@redhat.com>
486
487         * libnm-util/nm-setting-wireless.c
488                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
489                         group ciphers if the wireless-security setting explicitly specified
490                         them, effectively making the default be "all ciphers"  (idea from
491                         Alexander Sack)
492
493 2008-09-15  Dan Williams  <dcbw@redhat.com>
494
495         Patch from Alexander Sack <asac@ubuntu.com>
496
497         * src/named-manager/nm-named-manager.c
498                 - (dispatch_resolvconf): respect resolvconf exit code
499
500 2008-09-12  Tambet Ingo  <tambet@gmail.com>
501
502         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
503         again. Add some debugging.
504
505 2008-09-11  Dan Williams  <dcbw@redhat.com>
506
507         * system-settings/plugins/keyfile/plugin.c
508                 - (update_connection_settings): update connection manually, since
509                         nm_exported_connection_update() does authentication
510                 - (dir_changed): update_connection_settings() doesn't need to return
511                         an error
512
513 2008-09-09  Dan Williams  <dcbw@redhat.com>
514
515         * libnm-glib/nm-vpn-plugin-ui-interface.c
516           libnm-glib/nm-vpn-plugin-ui-interface.h
517           libnm-glib/libnm_glib_vpn.ver
518                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
519                         should clean up resources related to the connection (like keyring
520                         secrets)
521                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
522                         should save user-scope secrets (like to the keyring)
523
524 2008-09-08  Dan Williams  <dcbw@redhat.com>
525
526         Patch from Alexander Sack <asac@ubuntu.com>
527
528         * libnm-util/crypto_gnutls.c
529           libnm-util/crypto_nss.c
530                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
531
532         * libnm-util/nm-utils.c
533           libnm-util/nm-utils.h
534           libnm-util/libnm-util.ver
535                 - (nm_utils_init): initialize libnm-util
536                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
537
538         * libnm-util/nm-setting-8021x.c
539                 - (nm_setting_802_1x_class_init): init libnm-util when needed
540
541 2008-09-05  Dan Williams  <dcbw@redhat.com>
542
543         Patch from Roy Marples <roy@marples.name> and others
544
545         * configure.in
546           src/named-manager/nm-named-manager.c
547                 - Add support for resolvconf; use --with-resolvconf at configure time
548                         to enable it
549
550 2008-09-05  Dan Williams  <dcbw@redhat.com>
551
552         * libnm-util/crypto_nss.c
553           libnm-util/crypto_gnutls.c
554           libnm-util/crypto.h
555                 - (crypto_init): return error when init fails
556
557 2008-09-05  Dan Williams  <dcbw@redhat.com>
558
559         * libnm-glib/nm-device-wifi.c
560                 - (access_point_removed_proxy): clean up the active access point too
561                         just in case the active ap changed signal didn't come through yet
562                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
563
564 2008-09-05  Dan Williams  <dcbw@redhat.com>
565
566         * libnm-glib/nm-client.c
567                 - (constructor): get initial state after we know whether NM is running
568                         or not
569
570 2008-09-05  Dan Williams  <dcbw@redhat.com>
571
572         * libnm-glib/nm-ip4-config.c
573           libnm-glib/nm-dhcp4-config.c
574                 - (finalize): clean up the DBusGProxy
575
576 2008-09-04  Dan Williams  <dcbw@redhat.com>
577
578         * src/nm-ip4-config.c
579           src/nm-ip4-config.h
580                 - (nm_ip4_config_new): don't export over D-Bus here
581                 - (nm_ip4_config_export): new function; export the config over D-Bus
582                 - (nm_ip4_config_is_exported): new function
583
584         * src/nm-device.c
585                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
586                         objects by balancing the IP4Config constructor; the device holds
587                         a reference to the IP4Config already
588                 - (nm_device_set_ip4_config): export the IP4Config when needed
589
590 2008-09-04  Dan Williams  <dcbw@redhat.com>
591
592         * src/supplicant-manager/nm-supplicant-settings-verify.c
593                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
594
595 2008-09-04  Dan Williams  <dcbw@redhat.com>
596
597         * libnm-util/nm-setting-vpn.c
598           libnm-util/nm-setting-vpn.h
599                 - Split VPN secrets from VPN data so that settings services can actually
600                         figure out that they are secrets and store them accordingly
601
602         * system-settings/plugins/keyfile/nm-keyfile-connection.c
603           system-settings/plugins/keyfile/reader.c
604           system-settings/plugins/keyfile/reader.h
605           system-settings/plugins/keyfile/writer.c
606                 - Store VPN secrets separately from VPN data so that they can be fetched
607                         on demand
608                 - Implement the get_secrets() call so that (a) secrets don't leak out
609                         to unprivileged callers, and (b) secrets can be sent to privileged
610                         callers when needed
611
612         * vpn-daemons/vpnc/src/nm-vpnc-service.c
613                 - Handle split VPN secrets
614
615 2008-08-27  Dan Williams  <dcbw@redhat.com>
616
617         * system-settings/plugins/ifcfg-fedora/reader.c
618                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
619
620 2008-08-27  Dan Williams  <dcbw@redhat.com>
621
622         Ensure zombie children get cleaned up.  To get notifications when children
623         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
624         that requires calling waitpid() yourself if you've removed the child watch
625         handler before the process has actually died, which NM needs to do in a few
626         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
627         cleans up after the child when required.  Should fix problems trying to
628         activate mobile broadband connections after a previous failure.
629
630         * src/dhcp-manager/nm-dhcp-dhclient.c
631           src/dhcp-manager/nm-dhcp-dhcpcd.c
632                 - Use G_SPAWN_DO_NOT_REAP_CHILD
633
634         * src/dhcp-manager/nm-dhcp-manager.c
635                 - (nm_dhcp_device_destroy): ensure child is cleaned up
636                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
637                         block on child quitting, since the non-blocking functionality was
638                         never actually used
639
640         * src/dnsmasq-manager/nm-dnsmasq-manager.c
641                 - (dm_watch_cb): child is already reaped here
642                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
643
644         * src/nm-device.c
645                 - (aipd_cleanup): block until child is dead
646
647         * src/named-manager/nm-named-manager.c
648                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
649                         event bothering to watch the child
650
651         * src/ppp-manager/nm-ppp-manager.c
652                 - (ppp_watch_cb): child is already reaped here
653                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
654
655         * src/vpn-manager/nm-vpn-service.c
656                 - (vpn_service_watch_cb): child is already reaped here
657                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
658                         status of the child is actually tracked
659                 - (ensure_killed, finalize): block until child is dead
660
661 2008-08-26  Dan Williams  <dcbw@redhat.com>
662
663         * system-settings/plugins/keyfile/nm-keyfile-connection.c
664                 - (update): Update filename of the connection if the connection id
665                         was changed
666
667         * system-settings/plugins/keyfile/plugin.c
668                 - (dir_changed): first pass at handling connection renames correctly
669
670         * system-settings/plugins/keyfile/writer.c
671           system-settings/plugins/keyfile/writer.h
672                 - (write_connection): replace '/' with '*' when writing out the filename
673                         from the connection id
674
675 2008-08-26  Dan Williams  <dcbw@redhat.com>
676
677         Add connection UUIDs, since connection names can be changed, and since
678         old-style connection IDs could change over the life of the connection.  The
679         UUID should be assigned at connection creation time, be stable for a given
680         connection, and should be unique among all connections for a given settings
681         service.
682
683         * configure.in
684           libnm-util/Makefile.am
685                 - Require libuuid
686
687         * introspection/nm-exported-connection.xml
688                 - Remove "GetID" method
689
690         * libnm-glib/nm-dbus-connection.c
691           libnm-glib/nm-settings.c
692           libnm-glib/nm-settings.h
693                 - Remove id-related stuff
694
695         * libnm-util/nm-utils.c
696           libnm-util/nm-utils.h
697           libnm-util/libnm-util.ver
698                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
699                         utility functions to generate UUIDs
700
701         * libnm-util/nm-setting-connection.c
702           libnm-util/nm-setting-connection.h
703                 - Add 'uuid' member to the connection setting
704                 - (verify): require valid 'uuid' for a valid connection
705
706         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
707           system-settings/plugins/ifcfg-fedora/reader.c
708           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
709           system-settings/plugins/ifcfg-suse/parser.c
710           system-settings/plugins/keyfile/nm-keyfile-connection.c
711           system-settings/src/main.c
712                 - Remove id-related stuff
713                 - Give connections UUIDs where needed
714
715 2008-08-25  Dan Williams  <dcbw@redhat.com>
716
717         * libnm-util/crypto_gnutls.c
718           libnm-util/crypto_nss.c
719                 - (crypto_init, crypto_deinit): refcount init/deinit
720                 - (crypto_md5_hash): allow NULL salt
721
722 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
723
724         * libnm-glib/Makefile.am
725           libnm-util/Makefile.am
726           libnm-glib/libnm_glib.ver
727           libnm-glib/libnm_glib_vpn.ver
728           libnm-util/libnm-util.ver
729                 - Use linker version scripts to control the list of exported 
730                 symbols. List each exported symbol explicitely.
731         * libnm-util/Makefile.am
732                 - Fix compilation of the test-crypto binary. The crypto
733                 functions are no longer part of the libnm-util API. Add 
734                 crypto_*.c to test_crypto_SOURCES and link against the correct
735                 crypto libraries.
736
737 2008-08-19  Dan Williams  <dcbw@redhat.com>
738
739         * configure.in
740           test/Makefile.am
741                 - Don't build test/test-common
742                 - Remove unused stuff
743
744         * test/nm-set-fallback
745           test/nmtestdevices.c
746           test/test-common/.cvsignore
747           test/test-common/Makefile.am
748           test/test-common/test-common.c
749           test/test-common/test-common.h
750                 - delete
751
752 2008-08-18  Dan Williams  <dcbw@redhat.com>
753
754         * libnm-util/nm-utils.c
755           libnm-util/nm-utils.h
756                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
757                         export anything that needs to be converted with this function
758
759         * src/dhcp-manager/nm-dhcp-manager.c
760                 - (garray_to_string): convert a byte array to a UTF-8 string with
761                         minimal validation; the DHCP client sends it in ASCII anyway
762                 - (get_option, copy_option): use garray_to_string()
763
764 2008-08-18  Dan Williams  <dcbw@redhat.com>
765
766         * include/NetworkManager.h
767           introspection/nm-device.xml
768                 - Add a "missing firmware" device state reason
769
770         * src/NetworkManagerSystem.c
771           src/NetworkManagerSystem.h
772                 - (nm_system_device_set_up_down): add a no_firmware argument
773                 - (nm_system_device_set_up_down_with_iface): if the result of setting
774                         IFF_UP is ENOENT, that almost always means missing firmware
775
776         * src/backends/NetworkManagerGeneric.c
777           src/nm-device-ethernet.c
778           src/nm-device-private.h
779           src/nm-device-wifi.c
780           src/nm-device.c
781           src/nm-device.h
782           src/nm-hso-gsm-device.c
783           src/vpn-manager/nm-vpn-connection.c
784                 - Pass no_firmware along; check it where appropriate
785
786 2008-08-18  Dan Williams  <dcbw@redhat.com>
787
788         Patch from Robert Buchholz <rbu@gentoo.org>
789
790         * autogen.sh
791           configure.in
792                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
793                         1003.1-1988, allowing for file names longer than 99 characters
794
795 2008-08-17  Dan Williams  <dcbw@redhat.com>
796
797         * include/NetworkManager.h
798           introspection/nm-device.xml
799           src/nm-gsm-device.c
800                 - Finer-grained GSM registration failure error codes
801
802 2008-08-17  Dan Williams  <dcbw@redhat.com>
803
804         * callouts/Makefile.am
805           src/Makefile.am
806                 - Move dispatcher directory creation to callouts/Makefile.am
807
808         * system-settings/plugins/keyfile/Makefile.am
809                 - Create keyfile connections directory in DESTDIR (bgo #546833)
810
811 2008-08-15  Dan Williams  <dcbw@redhat.com>
812
813         Do connection sharing in a cleaner manner; all required iptables rules
814         are now stored in the activation request and pertain only to the device
815         which is being shared to other computers. (rh #458625)
816
817         * src/nm-activation-request.c
818           src/nm-activation-request.h
819                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
820                         the activation request which will get torn down automatically when
821                         the activation request dies
822                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
823                         is started, and tear them down when sharing is stopped
824
825         * src/nm-device.c
826                 - (start_sharing): start up sharing by doing the required iptables magic
827                 - (share_init): poke the right bits of the kernel and load the right
828                         modules for NAT
829                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
830                         connection if it's a 'shared' connection
831
832         * src/NetworkManagerPolicy.c
833                 - Remove all sharing stuff; done in the device code itself
834
835 2008-08-15  Dan Williams  <dcbw@redhat.com>
836
837         * src/dnsmasq-manager/nm-dnsmasq-manager.c
838                 - (create_dm_cmd_line): send the right router address
839
840 2008-08-15  Dan Williams  <dcbw@redhat.com>
841
842         * src/ppp-manager/nm-ppp-manager.c
843                 - (pppd_timed_out): ensure timeouts fail the connection
844
845 2008-08-14  Dan Williams  <dcbw@redhat.com>
846
847         * src/nm-properties-changed-signal.c
848           src/nm-properties-changed-signal.h
849                 - Add a property spec flag for "don't export this property" in
850                         property changed signals
851
852         * src/nm-hso-gsm-device.c
853           src/nm-gsm-device.c
854           src/nm-cdma-device.c
855                 - Don't export monitor interface or netdev interface properties
856
857 2008-08-14  Dan Williams  <dcbw@redhat.com>
858
859         * src/NetworkManagerPolicy.c
860                 - (update_routing_and_dns): 'hso' devices can be default even if they
861                         don't have a gateway
862
863 2008-08-14  Dan Williams  <dcbw@redhat.com>
864
865         * src/nm-device.c
866                 - (nm_device_deactivate_quickly): tear down activation request after
867                         calling device-specific deactivation
868
869         * src/nm-hso-gsm-device.c
870                 - (real_deactivate_quickly): terminate connection when deactivating
871
872 2008-08-14  Dan Williams  <dcbw@redhat.com>
873
874         * src/nm-activation-request.h
875                 - Add HSO secrets caller
876
877         * src/nm-gsm-device.c
878           src/nm-gsm-device.h
879                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
880                         something to the callback function
881                 - (set_apn, set_apn_done): call class dial function, not a static one
882                 - (nm_gsm_device_class_init): add a class 'dial' function
883
884         * src/nm-hal-manager.c
885                 - (get_hso_netdev): find the hso-driven hardware's net device
886                 - (modem_device_creator): recognize hso-driven hardware and create the
887                         right type of device object for it
888
889         * src/Makefile.am
890           src/nm-hso-gsm-device.c
891           src/nm-hso-gsm-device.h
892                 - Implement support for devices driven by the 'hso' driver as a subclass
893                         of NMGsmDevice
894
895 2008-08-14  Dan Williams  <dcbw@redhat.com>
896
897         * src/NetworkManagerSystem.c
898                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
899                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
900                         success if the operation really was successful
901
902 2008-08-14  Dan Williams  <dcbw@redhat.com>
903
904         * src/nm-netlink-monitor.c
905           src/nm-netlink-monitor.h
906           src/nm-device-ethernet.c
907                 - (nm_netlink_monitor_request_status): return an error on failure
908                 - (constructor): don't segfault on missing error
909
910 2008-08-13  Dan Williams  <dcbw@redhat.com>
911
912         * callouts/nm-dispatcher-action.c
913                 - Add IP4 config info to script environment
914
915 2008-08-12  Dan Williams  <dcbw@redhat.com>
916
917         * src/nm-device.c
918                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
919                         that want to use DHCP hostnames should use dispatcher scripts
920                         for that
921
922         * src/NetworkManagerSystem.h
923           src/backends/NetworkManagerArch.c
924           src/backends/NetworkManagerDebian.c
925           src/backends/NetworkManagerFrugalware.c
926           src/backends/NetworkManagerGeneric.c
927           src/backends/NetworkManagerGeneric.h
928           src/backends/NetworkManagerGentoo.c
929           src/backends/NetworkManagerMandriva.c
930           src/backends/NetworkManagerPaldo.c
931           src/backends/NetworkManagerRedHat.c
932           src/backends/NetworkManagerSlackware.c
933           src/backends/NetworkManagerSuSE.c
934                 - Remove nm_system_set_hostname(), no longer used
935           
936         * src/backends/Makefile.am
937           src/backends/shvar.c
938           src/backends/shvar.h
939                 - Remove shvar.*; no longer used
940
941 2008-08-12  Dan Williams  <dcbw@redhat.com>
942
943         Revert most of the 'hostname' patch.  Too much stuff still breaks when
944         hostname is updated at runtime.  Distros or users who want hostname updates
945         can use dispatcher scripts to update the hostname if they need it.
946
947 2008-08-12  Dan Williams  <dcbw@redhat.com>
948
949         * introspection/nm-settings-system.xml
950           system-settings/src/dbus-settings.c
951           system-settings/src/dbus-settings.h
952                 - Add a 'Hostname' property (rw) which represents the configured
953                         hostname and domain of the system, if any
954
955         * system-settings/src/nm-system-config-error.c
956           system-settings/src/nm-system-config-error.h
957           system-settings/src/nm-system-config-interface.c
958           system-settings/src/nm-system-config-interface.h
959                 - Add a 'hostname' property to the plugin interface
960                 - Add a method to send updated hostname to plugins to save in their
961                         backing configuration store
962
963         * system-settings/plugins/keyfile/nm-keyfile-connection.c
964           system-settings/plugins/keyfile/plugin.c
965           system-settings/plugins/keyfile/writer.c
966           system-settings/plugins/keyfile/writer.h
967           system-settings/plugins/ifcfg-suse/plugin.c
968                 - Add minimal hostname support
969
970         * system-settings/plugins/ifcfg-fedora/plugin.c
971                 - Add support for updating system hostname in /etc/sysconfig/network
972
973 2008-08-12  Dan Williams  <dcbw@redhat.com>
974
975         * system-settings/plugins/ifcfg-fedora/shvar.c
976           system-settings/plugins/ifcfg-fedora/shvar.c
977                 - Fix double-free caused by svSetValue() followed by svCloseFile()
978
979 2008-08-12  Tambet Ingo  <tambet@gmail.com>
980
981         * Makefile.am: Fix distcheck.
982
983 2008-08-12  Tambet Ingo  <tambet@gmail.com>
984
985         * libnm-glib/*.c. Document some more.
986
987 2008-08-12  Tambet Ingo  <tambet@gmail.com>
988
989         Start documenting libnm-glib public API using gtk-doc.
990
991         * libnm-glib/nm-serial-device.c: 
992         * libnm-glib/nm-object.c: 
993         * libnm-glib/nm-gsm-device.c: 
994         * libnm-glib/nm-device.c: 
995         * libnm-glib/nm-device-wifi.c: 
996         * libnm-glib/nm-device-ethernet.c: 
997         * libnm-glib/nm-client.c: 
998         * libnm-glib/nm-cdma-device.c: Document the public API.
999
1000         * docs/libnm-glib/libnm-glib.types: Implement.
1001
1002         * docs/libnm-glib/Makefile.am: Implement.
1003
1004         * autogen.sh: 
1005         * configure.in: 
1006         * Makefile.am: Add gtk-doc support.
1007
1008 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1009
1010         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
1011
1012         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
1013         the composite result of all the IP4 configurations and call a distro
1014         specific update_resolv_conf().
1015         (update_resolv_conf): Implement one for directly writing to 
1016         /etc/resolv.conf and one for opensuse to call netconfig.
1017
1018 2008-08-11  Dan Williams  <dcbw@redhat.com>
1019
1020         * src/ppp-manager/nm-ppp-manager.c
1021                 - (impl_ppp_manager_need_secrets): pass interface as required
1022
1023 2008-08-11  Dan Williams  <dcbw@redhat.com>
1024
1025         Merge the vpn-properties setting with the vpn setting since it was pointless
1026         to keep both of them around.  Convert the vpn 'data' hash table to a hash
1027         of string:string (instead of string:variant) so that system settings plugins
1028         can have an easier time dealing with the arbitrary key/value pairs.
1029
1030 2008-08-11  Dan Williams  <dcbw@redhat.com>
1031
1032         * libnm-util/nm-utils.c
1033                 - (nm_utils_register_value_transformations): add value transform for
1034                         a hash table of string:string
1035
1036 2008-08-10  Dan Williams  <dcbw@redhat.com>
1037
1038         * libnm-glib/nm-vpn-plugin.c
1039                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
1040                         an idle handler so the Connect reply gets delivered before the
1041                         stop StateChanged signal
1042
1043 2008-08-10  Dan Williams  <dcbw@redhat.com>
1044
1045         * src/nm-ip4-config.c
1046                 - (get_property): use common ip4 address/route conversion functions
1047                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
1048                         copy the new route here, not take ownership
1049
1050 2008-08-08  Tambet Ingo  <tambet@gmail.com>
1051
1052         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
1053         Update the IP4 setting's method name.
1054
1055 2008-08-07  Dan Williams  <dcbw@redhat.com>
1056
1057         * introspection/nm-ip4-config.xml
1058           libnm-glib/libnm-glib-test.c
1059           libnm-glib/nm-ip4-config.c
1060           libnm-glib/nm-ip4-config.h
1061           src/NetworkManagerSystem.h
1062           src/backends/NetworkManagerArch.c
1063           src/backends/NetworkManagerDebian.c
1064           src/backends/NetworkManagerFrugalware.c
1065           src/backends/NetworkManagerGeneric.c
1066           src/backends/NetworkManagerGeneric.h
1067           src/backends/NetworkManagerGentoo.c
1068           src/backends/NetworkManagerMandriva.c
1069           src/backends/NetworkManagerPaldo.c
1070           src/backends/NetworkManagerRedHat.c
1071           src/backends/NetworkManagerSlackware.c
1072           src/backends/NetworkManagerSuSE.c
1073           src/dhcp-manager/nm-dhcp-manager.c
1074           src/nm-device.c
1075           src/nm-ip4-config.c
1076           src/nm-ip4-config.h
1077                 - Remove NIS logic; should be done from dispatcher scripts instead
1078
1079 2008-08-07  Dan Williams  <dcbw@redhat.com>
1080
1081         * src/dhcp-manager/nm-dhcp-manager.c
1082                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
1083                         mis-handling of DHCP responses that returned more than one router
1084                         (found by Grant Williamson)
1085
1086 2008-08-07  Dan Williams  <dcbw@redhat.com>
1087
1088         * callouts/nm-dispatcher-action.c
1089                 - (nm_dispatcher_action): grab device path and create the device; pass
1090                         the device's DHCP4 config to script caller
1091                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
1092                         scripts
1093
1094         * libnm-glib/nm-dhcp4-config.c
1095           libnm-glib/nm-dhcp4-config.h
1096                 - (nm_dhcp4_config_get_options): expose
1097                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
1098
1099 2008-08-07  Dan Williams  <dcbw@redhat.com>
1100
1101         * include/NetworkManager.h
1102                 - Add the DHCP4Config D-Bus interface
1103
1104         * libnm-glib/Makefile.am
1105           libnm-glib/nm-dhcp4-config.c
1106           libnm-glib/nm-dhcp4-config.h
1107                 - Handle DHCP4 config objects exported by NM over D-Bus
1108
1109         * libnm-glib/nm-device.c
1110           libnm-glib/nm-device.h
1111                 - Add a 'dhcp4-config' property
1112
1113         * libnm-glib/libnm-glib-test.c
1114                 - Print out DHCP4 config for devices
1115                 - Fix some crashes when no connections are active
1116
1117         * src/nm-device-interface.c
1118           src/nm-device.c
1119           src/nm-dhcp4-config.c
1120           src/nm-dhcp4-config.h
1121                 - Treat dhcp4-config object as an object path at the D-Bus interface so
1122                         that when it doesn't exist we can proxy it as "/" which dbus-glib
1123                         doesn't let us do when the property type is G_TYPE_OBJECT
1124
1125 2008-08-07  Dan Williams  <dcbw@redhat.com>
1126
1127         * src/NetworkManager.c
1128           src/NetworkManagerSystem.h
1129           src/backends/NetworkManagerArch.c
1130           src/backends/NetworkManagerDebian.c
1131           src/backends/NetworkManagerFrugalware.c
1132           src/backends/NetworkManagerGeneric.c
1133           src/backends/NetworkManagerGeneric.h
1134           src/backends/NetworkManagerGentoo.c
1135           src/backends/NetworkManagerMandriva.c
1136           src/backends/NetworkManagerPaldo.c
1137           src/backends/NetworkManagerRedHat.c
1138           src/backends/NetworkManagerSlackware.c
1139           src/backends/NetworkManagerSuSE.c
1140                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
1141
1142 2008-08-06  Dan Williams  <dcbw@redhat.com>
1143
1144         * libnm-glib/nm-ip4-config.c
1145           libnm-glib/nm-ip4-config.h
1146                 - Add 'routes' property
1147
1148         * libnm-util/nm-setting-vpn.c
1149           libnm-util/nm-setting-vpn.h
1150                 - Remove 'routes' property
1151
1152         * libnm-util/nm-setting-ip4-config.c
1153           libnm-util/nm-setting-ip4-config.h
1154                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
1155                 - Add 'ignore-auto-routes' property
1156                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
1157                         accomodate route metrics
1158                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
1159
1160         * libnm-util/nm-utils.c
1161           libnm-util/nm-utils.h
1162                 - Add helpers for marshalling IP4 routes
1163
1164         * src/NetworkManagerUtils.c
1165                 - (nm_utils_merge_ip4_config): handle property renames and new route
1166                         structure
1167
1168         * src/NetworkManagerSystem.c
1169                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
1170                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
1171
1172         * src/dhcp-manager/nm-dhcp-manager.c
1173                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
1174
1175         * system-settings/plugins/ifcfg-fedora/reader.c
1176           system-settings/plugins/ifcfg-fedora/writer.c
1177                 - Handle routes separately from addresses now that routes have a different
1178                         format
1179
1180         * introspection/nm-ip4-config.xml
1181           src/nm-ip4-config.c
1182           src/nm-ip4-config.h
1183                 - Rename internal routing functions
1184                 - 'static-routes' renamed to 'routes'
1185
1186 2008-08-04  Dan Williams  <dcbw@redhat.com>
1187
1188         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
1189
1190         * src/NetworkManager.c
1191           src/nm-manager.c
1192           src/nm-manager.h
1193                 - More explicitly make the NMManager a singleton
1194
1195 2008-08-04  Dan Williams  <dcbw@redhat.com>
1196
1197         * libnm-util/nm-connection.c
1198           libnm-util/nm-connection.h
1199                 - (nm_connection_verify): return error on missing 'connection' setting
1200                         (found by Sjoerd Simons)
1201
1202 2008-08-04  Dan Williams  <dcbw@redhat.com>
1203
1204         Handle multiple concurrent PPP connections.
1205
1206         * src/ppp-manager/nm-ppp-manager.c
1207           src/ppp-manager/nm-ppp-manager.h
1208                 - (constructor): only PPP Manager request bus name once; each
1209                         NMPPPManager object gets a unique object path
1210                 - (nm_ppp_manager_class_init, get_property, set_property,
1211                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
1212                         at construct time
1213                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
1214                         remove timeout until PPP manager gets an IP4 config
1215                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
1216                         the plugin can call back to this specific PPP manager instance
1217
1218         * src/nm-device-ethernet.c
1219           src/nm-serial-device.c
1220                 - Pass parent device in nm_ppp_manager_new()
1221
1222         * src/nm-gsm-device.c
1223           src/nm-cdma-device.c
1224                 - (device_state_changed): don't close serial device on NEED_AUTH
1225                         state changed, that's not a failure case like the rest are
1226
1227         * src/ppp-manager/nm-pppd-plugin.c
1228                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
1229                         binds one interface to any pppd process, thus the correct index
1230                         is always 0; send PHASE_DEAD on error to alert NM immediately of
1231                         problems; try harder to get a peer address in spite of pppd
1232                 - (plugin_init): use 'ipparam' as the object path back to our specific
1233                         PPP manager instance
1234
1235 2008-08-04  Dan Williams  <dcbw@redhat.com>
1236
1237         * src/ppp-manager/nm-ppp-manager.c
1238                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
1239                         since the GSM and CDMA settings now implement need_secrets, we can
1240                         rely on them to do the right thing.  Where secrets are not required,
1241                         just pass empty strings back to the pppd plugin.
1242                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
1243                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
1244                         on successful IP4 config receipt
1245
1246 2008-08-04  Dan Williams  <dcbw@redhat.com>
1247
1248         * libnm-util/nm-setting-cdma.c
1249           libnm-util/nm-setting-gsm.c
1250                 - (verify): validate username & password if they exist
1251                 - (need_secrets): if username given, require a password too
1252
1253 2008-08-04  Dan Williams  <dcbw@redhat.com>
1254
1255         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1256                 - (create_dm_cmd_line): really don't listen on lo, despite what the
1257                         manpage says about --listen-address without --interface
1258                         (bgo #546033)
1259
1260 2008-08-01  Dan Williams  <dcbw@redhat.com>
1261
1262         * libnm-glib/nm-device.c
1263                 - (proxy_get_string): util function for querying a HAL property
1264                 - (get_ancestor_device): split out from get_product_and_vendor()
1265                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
1266                         from PCI devices by querying subsys properties
1267                 - (nm_device_update_description): simplify
1268
1269 2008-08-01  Dan Williams  <dcbw@redhat.com>
1270
1271         * libnm-util/nm-setting-ip4-config.c
1272           libnm-util/nm-setting-ip4-config.h
1273                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
1274                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
1275                         settings, and they don't necessarily use DHCP.
1276
1277         * src/NetworkManagerPolicy.c
1278           src/nm-device.c
1279           system-settings/plugins/ifcfg-fedora/reader.c
1280           system-settings/plugins/ifcfg-suse/parser.c
1281                 - Fixup for method changes
1282
1283 2008-07-31  Dan Williams  <dcbw@redhat.com>
1284
1285         * src/nm-activation-request.c
1286           src/vpn-manager/nm-vpn-connection.c
1287                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
1288                         itself should be attached to the activation request or the VPN
1289                         connection, not the NMConnection object, since the call is not
1290                         expected to live as long as the NMConnection itself
1291
1292 2008-07-31  Dan Williams  <dcbw@redhat.com>
1293
1294         * src/nm-device-wifi.c
1295                 - (real_act_stage2_config): fix issue where association would continue
1296                         even though secrets were needed; 'goto out' was in wrong scope and
1297                         result of handle_auth_or_fail() should have been dumped directly to
1298                         'ret' to ensure that the association was postponed until secrets
1299                         are available
1300
1301 2008-07-31  Dan Williams  <dcbw@redhat.com>
1302
1303         * system-settings/plugins/ifcfg-fedora/plugin.c
1304           system-settings/plugins/ifcfg-fedora/reader.c
1305                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
1306                         valid NM connection
1307
1308 2008-07-29  Dan Williams  <dcbw@redhat.com>
1309
1310         * src/nm-gsm-device.c
1311                 - (automatic_registration_response, automatic_registration): recognize
1312                         denied registration and reorder responses
1313
1314 2008-07-29  Dan Williams  <dcbw@redhat.com>
1315
1316         * src/nm-serial-device.c
1317                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
1318                         time(2) is used for current time, which returns seconds, we shouldn't
1319                         be multiplying by 1000.
1320
1321 2008-07-28  Dan Williams  <dcbw@redhat.com>
1322
1323         Patch from Fabrice Bellet <fabrice@bellet.info>
1324
1325         * src/NetworkManagerSystem.c
1326                 - (route_in_same_subnet): mask addresses and compare them so that the
1327                         function actually does what it says it's going to do (rh #456685)
1328
1329 2008-07-27  Dan Williams  <dcbw@redhat.com>
1330
1331         * libnm-util/nm-setting-ip6-config.c
1332                 - (set_property): add missing break that caused routes to be overwritten
1333                         with addresses
1334
1335         * libnm-util/nm-setting-ip6-config.c
1336                 - (verify): validate routes and return GError everywhere on invalid setting
1337                 - (finalize): don't leak routes
1338                 - (set_property): add missing break that caused routes to be overwritten
1339                         with addresses
1340
1341 2008-07-27  Dan Williams  <dcbw@redhat.com>
1342
1343         * libnm-util/*
1344                 - Relicense to LGPLv2+
1345
1346 2008-07-27  Dan Williams  <dcbw@redhat.com>
1347
1348         * system-settings/plugins/ifcfg-fedora/reader.c
1349                 - (make_ip4_setting): fix parsing automatic configs
1350
1351 2008-07-27  Dan Williams  <dcbw@redhat.com>
1352
1353         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1354           src/nm-device.c
1355           src/ppp-manager/nm-ppp-manager.c
1356                 - Ensure child process gets reaped.  The child watch function may be
1357                         removed from the mainloop before the child gets killed, so we have
1358                         to make sure the child is reaped when it's told to die intentionally
1359
1360 2008-07-27  Dan Williams  <dcbw@redhat.com>
1361
1362         Patch from Roy Marples <roy@marples.name>
1363
1364         * src/dhcp-manager/nm-dhcp-dhcpcd.c
1365                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
1366
1367 2008-07-27  Dan Williams  <dcbw@redhat.com>
1368
1369         * src/nm-gsm-device.c
1370                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
1371                         Huawei devices turn echo back on after CPIN (rh #456770)
1372
1373 2008-07-24  Tambet Ingo  <tambet@gmail.com>
1374
1375         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
1376         format argument to g_set_error() call.
1377
1378         * src/backends/interface_parser.[ch]: Remove.
1379
1380         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
1381
1382 2008-07-21  Dan Williams  <dcbw@redhat.com>
1383
1384         * src/ppp-manager/nm-ppp-manager.c
1385                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
1386                         to prevent pppd from picking up some random local address from an
1387                         interface that doesn't have anything to do with the one we're
1388                         interested in (rh #455348)
1389
1390 2008-07-17  Dan Williams  <dcbw@redhat.com>
1391
1392         * libnm-util/nm-utils.c
1393                 - (string_to_utf8): general function for conversion to UTF-8 assisted
1394                         by locale
1395                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
1396                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
1397
1398 2008-07-17  Dan Williams  <dcbw@redhat.com>
1399
1400         * introspection/Makefile.am
1401           introspection/nm-device.xml
1402           introspection/nm-dhcp4-config.xml
1403                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
1404                         itself
1405         * src/nm-device-interface.c
1406           src/nm-device-interface.h
1407                 - Add the DHCP4Config property
1408
1409         * src/nm-device.c
1410                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
1411                         D-Bus clients when it changes
1412
1413         * src/nm-dhcp4-config.c
1414           src/nm-dhcp4-config.h
1415                 - Simple object to store DHCP4 options, export them over D-Bus, and
1416                         notify when they change
1417
1418         * src/dhcp-manager/nm-dhcp-manager.c
1419           src/dhcp-manager/nm-dhcp-manager.h
1420                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
1421                         filter server-returned DHCP options into an NMDHCP4Config object
1422
1423 2008-07-16  Dan Williams  <dcbw@redhat.com>
1424
1425         * introspection/nm-device.xml
1426                 - Add device state reasons
1427
1428 2008-07-16  Dan Williams  <dcbw@redhat.com>
1429
1430         Patch from Roy Marples <roy@marples.name>
1431
1432         * configure.in
1433                 - Add --with-dhcp-client option
1434
1435         * src/dhcp-manager/Makefile.am
1436                 - pass DHCP_CLIENT_PATH on compile line
1437
1438         * src/dhcp-manager/nm-dhcp-manager.c
1439           src/dhcp-manager/nm-dhcp-manager.h
1440                 - Genericize for both dhcpcd and dhclient
1441
1442         * src/dhcp-manager/nm-dhcp-dhclient.c
1443                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
1444
1445         * src/dhcp-manager/nm-dhcp-dhcpcd.c
1446                 - Implement support for dhcpcd too
1447
1448 2008-07-16  Tambet Ingo  <tambet@gmail.com>
1449
1450         * system-settings/src/nm-system-config-interface.c 
1451         (nm_system_config_interface_supports_add): Implement.
1452         (nm_system_config_interface_add_connection): Return a boolean to notify
1453         of errors.
1454
1455         * system-settings/src/nm-polkit-helpers.c: 
1456         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
1457         a separate file.
1458
1459         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
1460         Return an error when none of the plugins support add or if addition
1461         failed for some reason.
1462
1463         * system-settings/src/nm-system-config-error.h: 
1464         * system-settings/src/nm-system-config-error.c: New files, mostly moved
1465         here from nm-polkit-helpers.[ch].
1466
1467         * system-settings/src/Makefile.am: Build new files.
1468
1469         * system-settings/plugins/keyfile/reader.c 
1470         (read_array_of_array_of_uint): Make it more general so that it would
1471         work for routes as well.
1472
1473         * system-settings/plugins/keyfile/writer.c
1474         (write_array_of_array_of_uint): Ditto.
1475         Fix the netmask/prefix writing.
1476
1477         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
1478         boolean to notify errors.
1479
1480         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
1481         Return more specific error.
1482         (delete): Ditto.
1483
1484 2008-07-11  Dan Williams  <dcbw@redhat.com>
1485
1486         Modify the NMDevice::state-changed signal to include the previous state
1487         and reason. Enables the applet to provide more information why device
1488         activation failed.
1489
1490 2008-07-09  Dan Williams  <dcbw@redhat.com>
1491
1492         * callouts/Makefile.am
1493           callouts/nm-avahi-autoipd-action.c
1494           callouts/nm-avahi-autoipd.conf
1495                 - avahi-autoipd callout to send options back to NM
1496
1497         * src/autoip.c
1498           src/autoip.h
1499                 - remove
1500
1501         * src/nm-device.c
1502           src/nm-device-private.h
1503           src/nm-manager.c
1504                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
1505                         old custom stuff
1506
1507 2008-07-07  Dan Williams  <dcbw@redhat.com>
1508
1509         * system-settings/plugins/ifcfg-fedora/reader.c
1510                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
1511                         handle PREFIX too; clean up
1512
1513 2008-07-07  Dan Williams  <dcbw@redhat.com>
1514
1515         Convert to using IPv4 prefixes instead of netmasks.
1516
1517 2008-07-03  Dan Williams  <dcbw@redhat.com>
1518
1519         * libnm-util/nm-setting-ip4-config.c
1520           libnm-util/nm-setting-ip4-config.h
1521                 - Add properties for DHCP Client Identifier and DHCP Hostname
1522
1523         * src/dhcp-manager/nm-dhcp-manager.c
1524           src/dhcp-manager/nm-dhcp-manager.h
1525                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
1526                         setting as an argument to pass on to the dhclient config file
1527                         creation function
1528                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
1529                         DHCP is torn down
1530                 - (dhclient_run): punt config file handling to create_dhclient_config()
1531                 - (create_dhclient_config): create an interface-specific dhclient
1532                         config file since there may need to be interface-specific options
1533                         passed to dhclient
1534                 - (merge_dhclient_config): merge normal distro dhclient config file and
1535                         add options from the connection
1536                 - (nm_dhcp_device_new): generate the interface specific dhclient
1537                         config file path once
1538                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
1539                         dhclient config file path
1540
1541         * src/nm-device.c
1542                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
1543                         DHCP manager when starting DHCP
1544
1545 2008-07-02  Dan Williams  <dcbw@redhat.com>
1546
1547         * libnm-util/nm-setting-8021x.c
1548                 - (verify): allow forcing the PEAP label to 0
1549
1550 2008-07-02  Dan Williams  <dcbw@redhat.com>
1551
1552         * introspection/nm-active-connection.xml
1553           introspection/nm-vpn-connection.xml
1554           libnm-glib/nm-active-connection.c
1555           src/nm-activation-request.c
1556           src/nm-active-connection.h
1557           src/vpn-manager/nm-vpn-connection.c
1558                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
1559                         and libnm-glib API since sharing didn't get implemented that way
1560
1561 2008-07-02  Dan Williams  <dcbw@redhat.com>
1562
1563         * src/nm-device-wifi.c
1564                 - (can_scan): don't scan when a shared connection is activated since
1565                         that makes drivers mad (causing disconnects); also NM doesn't need
1566                         to hedge against disconnects by keeping up-to-date network topology
1567                         because the connection originates from the local machine, and thus
1568                         there should be no disconnects
1569
1570 2008-07-01  Dan Williams  <dcbw@redhat.com>
1571
1572         Fix mobile broadband username/password issues.  NM was never requesting
1573         mobile broadband secrets, nor was it passing back the username and password
1574         if it had them.
1575
1576         * marshallers/nm-marshal.list
1577                 - Add some new types for activation request objects
1578
1579         * src/nm-activation-request.c
1580           src/nm-activation-request.h
1581                 - (get_secrets_cb): pass the caller type in the signal
1582                 - (nm_act_request_request_connection_secrets): take a caller type, so
1583                         that GetSecrets() reply handlers know who asked for the secrets in
1584                         the first place; use secret hints too so the settings service can
1585                         figure out exactly what NM wants (ie, PIN or the PPP password)
1586
1587         * src/ppp-manager/nm-ppp-manager.c
1588           src/ppp-manager/nm-ppp-manager.h
1589                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
1590                         detect needed secrets when the secret could be blank, like GSM/CDMA
1591                         passwords.  So always ask for secrets, and send a hint as to what
1592                         secret we really want.
1593                 - (nm_ppp_manager_update_secrets): make function more generic by making
1594                         the device specific class figure out the username and password, and
1595                         accept an error argument to return back over D-Bus
1596
1597         * src/nm-device-wifi.c
1598                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
1599                         nm_act_request_request_connection_secrets()
1600                 - (real_connection_secrets_updated): update for 'caller' changes
1601
1602         * src/nm-device.c
1603           src/nm-device.h
1604                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
1605                         for 'caller' changes
1606
1607         * src/nm-device-ethernet.c
1608                 - (real_connection_secrets_updated): update for 'caller' changes and
1609                         move logic for getting PPPoE username and password here before
1610                         calling nm_ppp_manager_update_secrets()
1611                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
1612                         nm_act_request_request_connection_secrets()
1613
1614         * src/nm-cdma-device.c
1615                 - (real_connection_secrets_updated): pass username and password back
1616                         to the PPP manager when required
1617
1618         * src/nm-gsm-device.c
1619                 - (enter_pin): send the required secret name to the settings service
1620                 - (real_connection_secrets_updated): pass username and password back
1621                         to the PPP manager when required
1622
1623 2008-06-30  Dan Williams  <dcbw@redhat.com>
1624
1625         * src/nm-device-wifi.c
1626                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
1627
1628 2008-06-30  Dan Williams  <dcbw@redhat.com>
1629
1630         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
1631         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
1632         priv->supplicant.iface.  When either condition is false, the device should
1633         transition back to UNAVAILABLE because it cannot be used.
1634
1635         * src/nm-device-wifi.c
1636                 - (constructor): cleanup; connect to supplicant manager here since the
1637                         supplicant manager is always around
1638                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
1639                         ensure the supplicant manager is in the IDLE state
1640                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
1641                         cancel any pending scans too
1642                 - (real_bring_up): don't set up the supplicnat interface here, because
1643                         we need the supplicant interface at times when the device may not
1644                         be "up"
1645                 - (real_take_down): just remove the periodic source
1646                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
1647                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
1648                         do anything if there's no supplicant interface
1649                 - (cleanup_association_attempt): cleanup
1650                 - (supplicant_iface_state_cb_handler): request an immediate scan when
1651                         the interface enters the READY state; transition to UNAVAILABLE
1652                         state when the interface goes down because the device can't be used
1653                         without a supplicant interface
1654                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
1655                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
1656                         acquire the supplicant interface and transition to DISCONNECTED
1657                         if the radio isn't killed
1658                 - (nm_device_wifi_dispose): move most of device_cleanup() here
1659                 - (state_changed_cb): release any existing supplicant interface; if the
1660                         radio is enabled then try to acquire a new supplicant interface;
1661                         if the radio is enabled and a supplicant interface has been acquired,
1662                         we can transition to DISCONNECTED
1663                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
1664                         don't enable the radio, because HAL probably lied to us about the
1665                         killswitch being off.  If bringing the hardware up worked, then
1666                         try to grab a supplicant interface, and if that was successful,
1667                         transition to DISCONNECTED
1668
1669 2008-06-30  Dan Williams  <dcbw@redhat.com>
1670
1671         * src/supplicant-manager/nm-supplicant-interface.c
1672                 - (request_scan_results, nm_supplicant_interface_dispose,
1673                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
1674                         the id of the timeout, not a GSource
1675
1676 2008-06-30  Tambet Ingo  <tambet@gmail.com>
1677
1678         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
1679         bunch of typoes introduced by "Patch from David Cantrell 
1680         <dcantrell@redhat.com> and me".
1681
1682 2008-06-30  Tambet Ingo  <tambet@gmail.com>
1683
1684         * src/nm-serial-device.c: 
1685         * src/nm-gsm-device.c: 
1686         * src/nm-cdma-device.c: Move the pending call handling to a common location
1687         in serial device. Handle setting device state to failed in one place as well.
1688
1689 2008-06-29  Dan Williams <dcbw@redhat.com>
1690
1691         * src/nm-hal-manager.c
1692                 - Rework killswitch handling to query killswitch status immediately
1693                         when the first killswitch is added, so that rfkill state is
1694                         known as early as possible
1695                 - Also treat failure of GetPower() as rfkill when the dbus method
1696                         call times out (but not when the HAL callout returns an error)
1697
1698 2008-06-26  Dan Williams <dcbw@redhat.com>
1699
1700         Patch from David Cantrell <dcantrell@redhat.com> and me
1701
1702         * include/nm-dbus-glib-types.h
1703                 - Add IP6 address types
1704
1705         * libnm-util/Makefile.am
1706           libnm-util/nm-setting-ip6-config.c
1707           libnm-util/nm-setting-ip6-config.h
1708                 - Add IP6 settings object
1709
1710         * libnm-util/nm-connection.c
1711                 - (register_default_settings): register ip6 settings object
1712
1713         * libnm-util/nm-utils.c
1714           libnm-util/nm-utils.h
1715                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
1716                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
1717                         ip6 address conversion functions
1718         
1719 2008-06-26  Dan Williams <dcbw@redhat.com>
1720
1721         Patch from David Cantrell <dcantrell@redhat.com>
1722         
1723         * Use inet_ntop() and inet_pton() everwhere and check for errors
1724
1725 2008-06-26  Dan Williams <dcbw@redhat.com>
1726
1727         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
1728
1729 2008-06-26  Dan Williams <dcbw@redhat.com>
1730
1731         Patch from Adel Gadllah <adel.gadllah@gmail.com>
1732
1733         * src/nm-device-wifi.c
1734                 - (link_timeout_cb): don't ignore disconnects due to scanning
1735                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
1736                         a longer timeout when scanning; avoids case where supplicant can't
1737                         find the AP and just keeps scanning forever but isn't connected
1738
1739 2008-06-26  Dan Williams <dcbw@redhat.com>
1740
1741         Patch from Michael Biebl <biebl@debian.org>
1742
1743         * Clean up build system stuff
1744
1745 2008-06-23  Christian Persch  <chpe@gnome.org>
1746
1747         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
1748         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
1749         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
1750         (impl_get_object):
1751         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
1752         (impl_get_object):
1753         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
1754         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
1755         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
1756         (impl_get_object):
1757         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
1758         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
1759         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
1760         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
1761         * vpn-daemons/pptp/properties/vpnui_opt.c:
1762         (vpnui_opt_connect_signals):
1763         * vpn-daemons/pptp/properties/vpnui_opt.h:
1764         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
1765         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
1766         deprecated gtk type macros. Bug #539325.
1767
1768 2008-06-20  Dan Williams  <dcbw@redhat.com>
1769
1770         * libnm-glib/nm-vpn-plugin-ui-interface.c
1771           libnm-glib/nm-vpn-plugin-ui-interface.h
1772                 - 'validity-changed' -> 'changed' to work better with the connection
1773                         editor.  Plugin UI widgets should emit 'changed' whenever their
1774                         UI values change in a meaningful way.
1775                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
1776                         update_connection member now returns validity of the UI widget
1777
1778 2008-06-20  Tambet Ingo  <tambet@gmail.com>
1779
1780         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
1781
1782 2008-06-17  Dan Williams  <dcbw@redhat.com>
1783
1784         * libnm-glib/nm-vpn-plugin-ui-interface.c
1785           libnm-glib/nm-vpn-plugin-ui-interface.h
1786                 - Add "desc" property for longer descriptions of the VPN plugin
1787
1788 2008-06-16  Dan Williams  <dcbw@redhat.com>
1789
1790         * configure.in
1791           libnm-glib/libnm_glib_vpn.pc.in
1792                 - add a .pc file for libnm_glib_vpn
1793
1794         * libnm-glib/nm-vpn-plugin-ui-interface.c
1795           libnm-glib/nm-vpn-plugin-ui-interface.h
1796                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
1797                         rework it substantially
1798
1799 2008-06-12  Dan Williams  <dcbw@redhat.com>
1800
1801         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
1802         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
1803         returns a descriptive GError when verification fails.
1804
1805 2008-06-11  Dan Williams  <dcbw@redhat.com>
1806
1807         Patch from Tambet Ingo <tambet@gmail.com>
1808
1809         * libnm-util/nm-setting-gsm.c
1810                 - (verify): validate APN
1811
1812         * src/nm-gsm-device.c
1813                 - (manual_registration_done): start setting APN if needed
1814                 - (set_apn, set_apn_done): set the APN
1815                 - (do_dial): use the APN when dialing
1816
1817 2008-06-11  Dan Williams  <dcbw@redhat.com>
1818
1819         * src/NetworkManagerSystem.c
1820                 - (nm_system_device_set_ip4_route,
1821                    nm_system_device_replace_default_ip4_route): check for the right
1822                         return value from rtnl_route_add() to know when to add a gateway
1823                         route (from Tambet)
1824
1825 2008-06-11  Dan Williams  <dcbw@redhat.com>
1826
1827         * src/NetworkManagerPolicy.c
1828                 - do_ipt_cmd -> do_cmd
1829                 - (sharing_init): use do_cmd() instead of system()
1830
1831 2008-06-10  Dan Williams  <dcbw@redhat.com>
1832
1833         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
1834         and use "wifi" everwhere instead.
1835
1836 2008-06-10  Dan Williams  <dcbw@redhat.com>
1837
1838         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
1839
1840 2008-06-10  Dan Williams  <dcbw@redhat.com>
1841
1842         Patch from Tambet Ingo <tambet@gmail.com>
1843
1844         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
1845                 changes.
1846
1847         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
1848                 a signal to emit these changes over dbus.
1849
1850         * src/Makefile.am: Genereate nm-serial-device-glue.
1851
1852         * libnm-glib/nm-serial-device.[ch]: Implement.
1853
1854         * libnm-glib/nm-cdma-device.[ch]
1855           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
1856
1857         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
1858
1859         * introspection/nm-device-serial.xml: Implement.
1860
1861         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
1862
1863         * introspection/Makefile.am: Add nm-device-serial.xml.
1864
1865         * include/NetworkManager.h: Add a DBus interface for serial device.
1866
1867 2008-06-10  Dan Williams  <dcbw@redhat.com>
1868
1869         * configure.in
1870                 - Add TARGET_* define to config.h to distinguish distros
1871
1872         * src/dhcp-manager/nm-dhcp-manager.c
1873                 - (dhclient_run): use distro-specific path for dhclient config file
1874
1875 2008-06-09  Dan Williams  <dcbw@redhat.com>
1876
1877         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1878           src/dnsmasq-manager/nm-dnsmasq-manager.h
1879                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
1880                         calculate the addresses passed to dnsmasq instead of hard-coding
1881                         them
1882
1883         * src/nm-device.c
1884                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
1885                         IP addresses for shared connections to guard against shared
1886                         connection address collisions
1887                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
1888                         error conditions
1889                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
1890                         the dnsmasq manager
1891
1892 2008-06-09  Dan Williams  <dcbw@redhat.com>
1893
1894         * src/NetworkManagerPolicy.c
1895                 - (update_routing_and_dns): set the default connection _after_ unsetting
1896                         default on all non-default connections so that two connections can
1897                         never be default at the same time
1898                 - (device_state_changed): start and stop connection sharing when
1899                         needed
1900                 - (active_connection_default_changed): restart or stop sharing when
1901                         the default connection changes to keep shared connections always
1902                         NAT-ed through the default connection
1903                 - (check_sharing): handle activation/deactivation of shared connections
1904                 - (sharing_restart): atom-bomb approach to connection sharing until we
1905                         can use libnl; reinit all sharing when the default connection or
1906                         shared connections change
1907                 - (sharing_init, sharing_stop): evil functions that init and deinit
1908                         iptables
1909
1910 2008-06-09  Dan Williams  <dcbw@redhat.com>
1911
1912         * src/nm-activation-request.c
1913           src/nm-activation-request.h
1914                 - (nm_act_request_set_shared, nm_act_request_get_shared,
1915                    nm_act_request_get_device): new functions to facilitate connection
1916                         sharing
1917
1918 2008-06-09  Dan Williams  <dcbw@redhat.com>
1919
1920         * src/nm-device.c
1921                 - (clear_act_request): unset the 'default' property of the activation
1922                         request when clearing it to ensure the property changed signal gets
1923                         delivered and handled
1924
1925 2008-06-09  Dan Williams  <dcbw@redhat.com>
1926
1927         * libnm-glib/nm-device-802-11-wireless.c
1928                 - (access_point_removed_proxy): actually unref the AP after removing
1929                         it from the device's AP list.  Fixes refcounting bug for APs that
1930                         caused them to get mixed up in the applet's menu.
1931
1932 2008-06-09  Tambet Ingo  <tambet@gmail.com>
1933
1934         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
1935         (nm_dhcp_device_destroy): Destroy the device options hash table.
1936
1937 2008-06-06  Dan Williams <dcbw@redhat.com>
1938
1939         * system-settings/src/nm-polkit-helpers.c
1940                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
1941                         unref the context if the initialization fails; also avoid spew when
1942                         the error isn't set
1943
1944 2008-06-06  Dan Williams <dcbw@redhat.com>
1945
1946         Patch from Tambet Ingo  <tambet@gmail.com>
1947
1948         * src/NetworkManagerSystem.c
1949           src/NetworkManagerSystem.h
1950                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
1951                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
1952                 - (nm_system_device_set_ip4_route): clean up
1953                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
1954
1955         * src/nm-device.c
1956                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
1957
1958         * src/vpn-manager/nm-vpn-connection.c
1959                 - (ip_address_to_string): new function
1960                 - (print_vpn_config): use ip_address_to_string
1961                 - (merge_vpn_routes): add user-defined routes to the ip4 config
1962                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
1963
1964         * include/NetworkManagerVPN.h
1965                 - Add 'routes' key
1966
1967 2008-06-05  Dan Williams <dcbw@redhat.com>
1968
1969         Patch from Markus Becker <mab@comnets.uni-bremen.de>
1970
1971         * test/nm-tool.c
1972                 - Show which device is the default device
1973
1974 2008-06-05  Tambet Ingo  <tambet@gmail.com>
1975
1976         Fix memory leaks.
1977
1978         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
1979         Free data returned from dbus method call.
1980
1981         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
1982         dbus_g_method_get_sender() returns a duplicated string, free it 
1983         when done.
1984         (check_polkit_privileges): Looks like policykit sometimes returns
1985         error and non-null return value, don't leak errors in that case.
1986
1987         * system-settings/src/main.c (find_plugin): Don't leak existing 
1988         plugin names.
1989         (load_stuff): Don't leak device list and list items.
1990         (have_connection_for_device): Don't leak connection list.
1991
1992         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
1993         Free the data received from g_keyfile_get_*.
1994
1995         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
1996         the key when the security object is updated.
1997
1998         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
1999         Free data returned from dbus method call.
2000         (iface_state_cb): Ditto.
2001         (add_network_cb): Ditto.
2002         (nm_supplicant_interface_add_cb): Don't make another copy of already
2003         duplicated object path.
2004         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
2005         when done.
2006
2007         * src/supplicant-manager/nm-supplicant-config.c 
2008         (ADD_STRING_LIST_VAL): Fix a memory leak.
2009
2010         * src/nm-manager.c (free_get_settings_info): Free the allocated
2011         memory slice.
2012         (list_connections_cb): Free data returned from dbus method call.
2013         (system_settings_get_unmanaged_devices_cb): Ditto.
2014
2015         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
2016
2017         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
2018         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
2019         * src/backends/shvar.c (svCloseFile): Free the duplicated content
2020         of the GList.
2021
2022         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
2023         arguments after the object is created.
2024
2025 2008-06-04  Dan Williams <dcbw@redhat.com>
2026
2027         * libnm-util/Makefile.am
2028                 - Don't distribute nm-param-spec-specialized.h
2029
2030 2008-06-02  Tambet Ingo  <tambet@gmail.com>
2031
2032         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
2033
2034         * src/nm-ip4-config.[ch]: Store the static routes as a list of
2035         NMIP4Address, update the getters and setters.
2036
2037         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2038         Use the updated NMIP4Config routes api.
2039
2040         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
2041         static routes as well.
2042
2043         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
2044         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
2045         routes api.
2046
2047 2008-05-30  Dan Williams <dcbw@redhat.com>
2048
2049         * src/named-manager/nm-named-manager.c
2050           src/named-manager/nm-named-manager.h
2051                 - Remove stale/obsolete bits for controlling bind over DBus
2052
2053 2008-05-29  Dan Williams <dcbw@redhat.com>
2054
2055         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2056           src/dnsmasq-manager/nm-dnsmasq-manager.h
2057                 - (nm_dnsmasq_manager_new): move iface argument here
2058                 - (constructor): remove, not needed
2059                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
2060                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
2061
2062         * src/nm-device.c
2063                 - (real_act_stage4_get_ip4_config,
2064                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
2065                         changes
2066
2067 2008-05-29  Dan Williams <dcbw@redhat.com>
2068
2069         * src/nm-device.c
2070                 - (dnsmasq_state_changed_cb): new function; fail the connection if
2071                         something happens to dnsmasq
2072                 - (nm_device_new_ip4_shared_config): new function; create a new
2073                         ip4-config for shared connections.  Shared connections always use a
2074                         fixed static IP address.
2075                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
2076                         autoip connections by actually using the returned ip4-config and
2077                         not leaking it
2078                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
2079                         connections
2080                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
2081                         if its active
2082
2083 2008-05-29  Dan Williams <dcbw@redhat.com>
2084
2085         * src/nm-device-802-11-wireless.c
2086                 - (real_get_best_auto_connection): auto-activate 'shared' method
2087                         connections too
2088
2089 2008-05-29  Dan Williams <dcbw@redhat.com>
2090
2091         * libnm-util/nm-setting-ip4-config.c
2092           libnm-util/nm-setting-ip4-config.h
2093                 - Add a 'shared' method to indicate that this connection should be
2094                         brought up with a DHCP and proxy DNS server to facilitate
2095                         connection sharing.
2096                 - (verify): 'shared' method doesn't allow DNS or searches either
2097
2098 2008-05-29  Dan Williams <dcbw@redhat.com>
2099
2100         * configure.in
2101           src/Makefile.am
2102           src/dnsmasq-manager/Makefile.am
2103           src/dnsmasq-manager/nm-dnsmasq-manager.c
2104           src/dnsmasq-manager/nm-dnsmasq-manager.h
2105                 - Add a dnsmasq daemon manager to facilitate connection sharing
2106
2107 2008-05-29  Dan Williams <dcbw@redhat.com>
2108
2109         * src/nm-device-private.h
2110                 - Remove unused prototypes and clean up
2111
2112         * src/nm-device.c
2113                 - Remove anything related to system_config_data, which is no longer used
2114                 - (nm_device_new_ip4_autoip_config): make static
2115
2116 2008-05-29  Tambet Ingo  <tambet@gmail.com>
2117
2118         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
2119         (file_changed): Fix a bug where suse system settings plugin didn't
2120         update the connections automatically when the files changed.
2121
2122 2008-05-28  Dan Williams  <dcbw@redhat.com>
2123
2124         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
2125
2126 2008-05-28  Dan Williams  <dcbw@redhat.com>
2127
2128         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2129
2130         * src/NetworkManagerSystem.c
2131                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
2132                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
2133                         was causing -EINVAL errors since the libnl code actually does flush
2134                         the routes on VPN interfaces now
2135
2136         * src/backends/NetworkManagerArch.c
2137           src/backends/NetworkManagerDebian.c
2138           src/backends/NetworkManagerFrugalware.c
2139           src/backends/NetworkManagerGeneric.c
2140           src/backends/NetworkManagerGentoo.c
2141           src/backends/NetworkManagerMandriva.c
2142           src/backends/NetworkManagerPaldo.c
2143           src/backends/NetworkManagerRedHat.c
2144           src/backends/NetworkManagerSlackware.c
2145           src/backends/NetworkManagerSuSE.c
2146                 - (nm_system_device_flush_ip4_routes,
2147                    nm_system_device_flush_ip4_routes_with_iface): remove
2148
2149 2008-05-28  Dan Williams  <dcbw@redhat.com>
2150
2151         * libnm-util/nm-setting-wireless.c
2152           libnm-util/nm-setting-wireless.h
2153                 - (set_property, get_property, nm_setting_wireless_class_init): add the
2154                         'adhoc-create' property, which when TRUE indicates that NM should
2155                         create this connection as an adhoc wifi network if it's not found
2156                         as an adhoc network during scanning.  Can be used to auto-create
2157                         adhoc networks when used in combination with autoconnect.
2158
2159 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2160
2161         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
2162
2163         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
2164         checked, it doesn't work on some devices.
2165
2166 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2167
2168         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
2169         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
2170
2171         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2172         Use inet_aton() everywhere to improve error detection.
2173         Don't fall back to 'dhcp_server_identifier' if the gateway is not
2174         provided.
2175
2176 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2177
2178         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
2179         Fix a typo.
2180
2181 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2182
2183         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
2184         reference counting issue.
2185
2186 2008-05-23  Dan Williams  <dcbw@redhat.com>
2187
2188         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2189
2190         * src/backends/NetworkManagerGeneric.c
2191                 - (nm_generic_enable_loopback): use libnl
2192
2193 2008-05-23  Dan Williams  <dcbw@redhat.com>
2194
2195         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2196
2197         * src/NetworkManagerSystem.h
2198           src/backends/NetworkManagerArch.c
2199           src/backends/NetworkManagerDebian.c
2200           src/backends/NetworkManagerFrugalware.c
2201           src/backends/NetworkManagerGentoo.c
2202           src/backends/NetworkManagerMandriva.c
2203           src/backends/NetworkManagerPaldo.c
2204           src/backends/NetworkManagerRedHat.c
2205           src/backends/NetworkManagerSlackware.c
2206           src/backends/NetworkManagerSuSE.c
2207                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
2208                    nm_system_flush_arp_cache): remove, unused
2209
2210         * src/backends/NetworkManagerGeneric.c
2211           src/backends/NetworkManagerGeneric.h
2212                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
2213                    nm_generic_flush_arp_cache): remove, unused
2214
2215 2008-05-23  Dan Williams  <dcbw@redhat.com>
2216
2217         * system-settings/plugins/ifcfg-fedora/reader.c
2218                 - (make_ip4_setting): honor PEERDNS setting
2219
2220 2008-05-23  Dan Williams  <dcbw@redhat.com>
2221
2222         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2223
2224         * src/NetworkManagerSystem.c
2225                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
2226                         libnl
2227
2228         * src/backends/NetworkManagerArch.c
2229           src/backends/NetworkManagerDebian.c
2230           src/backends/NetworkManagerFrugalware.c
2231           src/backends/NetworkManagerGentoo.c
2232           src/backends/NetworkManagerMandriva.c
2233           src/backends/NetworkManagerPaldo.c
2234           src/backends/NetworkManagerRedHat.c
2235           src/backends/NetworkManagerSlackware.c
2236           src/backends/NetworkManagerSuSE.c
2237                 - (nm_system_device_flush_ip4_addresses,
2238                    nm_system_device_flush_ip4_addresses_with_iface): remove
2239
2240         * src/backends/NetworkManagerGeneric.c
2241                 - (nm_generic_device_flush_ip4_addresses,
2242                    nm_generic_device_flush_ip4_addresses_with_iface): remove
2243
2244 2008-05-23  Dan Williams  <dcbw@redhat.com>
2245
2246         * src/supplicant-manager/nm-supplicant-settings-verify.c
2247                 - Switch 'bssid' from bytes to keyword type
2248                 - (validate_type_keyword): allow NULL keyword lists
2249
2250         * src/supplicant-manager/nm-supplicant-config.c
2251                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
2252                         a byte array to string form, which is what the supplicant expects
2253
2254 2008-05-23  Tambet Ingo  <tambet@gmail.com>
2255
2256         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
2257         information received from DHCP.
2258
2259         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
2260         to make it possible to ignore the DNS information (both servers and 
2261         searches) returned by DHCP server.
2262
2263         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
2264         name servers and searches if "ignore_dhcp_dns" is set.
2265
2266         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
2267         (nm_ip4_config_reset_searches): Implement.
2268
2269 2008-05-22  Dan Williams  <dcbw@redhat.com>
2270
2271         Remove anything mDNS related.  This is better done from a distro-specific
2272         dispatcher script.  Plus, any distro using avahi doesn't need to restart
2273         avahi, since avahi can handle interface changes just fine using netlink.
2274
2275         * configure.in
2276                 - Remove --with-mdns-provider
2277
2278         * src/NetworkManagerPolicy.c
2279                 - (global_state_changed): don't restart the mdns provider
2280
2281         * src/NetworkManagerSystem.h
2282           src/backends/NetworkManagerArch.c
2283           src/backends/NetworkManagerDebian.c
2284           src/backends/NetworkManagerFrugalware.c
2285           src/backends/NetworkManagerGentoo.c
2286           src/backends/NetworkManagerMandriva.c
2287           src/backends/NetworkManagerPaldo.c
2288           src/backends/NetworkManagerRedHat.c
2289           src/backends/NetworkManagerSlackware.c
2290           src/backends/NetworkManagerSuSE.c
2291                 - (nm_system_restart_mdns_responder): remove
2292
2293         * src/backends/NetworkManagerGeneric.c
2294           src/backends/NetworkManagerGeneric.h
2295                 - (nm_generic_restart_mdns_responder): remove
2296
2297 2008-05-22  Dan Williams  <dcbw@redhat.com>
2298
2299         * configure.in
2300                 - clean up crypto options; just use --with-crypto=nss or
2301                         --with-crypto=gnutls
2302
2303 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2304
2305         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
2306         anymore, do it right away.
2307
2308 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2309
2310         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
2311         serial device open when we're not connecting or connected.
2312
2313         * src/nm-cdma-device.c (device_state_changed): Ditto.
2314
2315 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2316
2317         Don't remove all devices on waking up, sync with HAL.
2318
2319         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
2320         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
2321         (hal_manager_hal_reappeared_cb): Just call sync_devices.
2322
2323 2008-05-21  Tambet Ingo  <tambet@gmail.com>
2324
2325         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
2326         If the default gateway is unreachable, add a route to gateway and try
2327         again.
2328
2329 2008-05-20  Dan Williams  <dcbw@redhat.com>
2330
2331         * system-settings/plugins/ifcfg-fedora/reader.c
2332                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
2333
2334 2008-05-19  Dan Williams  <dcbw@redhat.com>
2335
2336         * system-settings/plugins/ifcfg-fedora/reader.c
2337                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
2338                         if the ifcfg doesn't specify one (rh #446527)
2339
2340 2008-05-19  Dan Williams  <dcbw@redhat.com>
2341
2342         Make the system settings service exit when the bus goes away.  Since it's
2343         a bus-activated service, it's lifetime is limited to the bus that activated
2344         it (rh #444976).
2345
2346         * system-settings/src/Makefile.am
2347           system-settings/src/nm-system-config-hal-manager-private.h
2348                 - Remove nm-system-config-hal-manager-private.h
2349
2350         * system-settings/src/nm-system-config-hal-manager.c
2351                 - (nm_system_config_hal_manager_reinit_dbus,
2352                    nm_system_config_hal_manager_deinit_dbus): remove
2353
2354         * system-settings/src/main.c
2355                 - (dbus_reconnect): remove
2356                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
2357                 - (destroy_cb): just quit when the bus goes away
2358                 - (start_dbus_service, dbus_init): simplify
2359                 - (main): destroy the wired devices hash table after destroying
2360                         the HAL manager so we don't have to disconnect signals from the
2361                         HAL manager
2362
2363 2008-05-15  Tambet Ingo  <tambet@gmail.com>
2364
2365         Move crypto functions from nm-applet to libnm-util.
2366
2367         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
2368         (nm_setting_802_1x_set_client_cert)
2369         (nm_setting_802_1x_set_phase2_ca_cert)
2370         (nm_setting_802_1x_set_phase2_client_cert)
2371         (nm_setting_802_1x_set_private_key)
2372         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
2373         file (or private key and it's password), read the certificate data.
2374
2375         * libnm-util/crypto_nss.c: 
2376         * libnm-util/crypto_gnutls.c: 
2377         * libnm-util/crypto.[ch]: Move here from nm-applet.
2378
2379         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
2380
2381         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
2382         Imlement WPA-EAP configuration reading from sysconfig.
2383
2384 2008-05-16  Dan Williams  <dcbw@redhat.com>
2385
2386         * src/nm-device-802-11-wireless.c
2387                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
2388                         wireless
2389
2390 2008-05-14  Dan Williams  <dcbw@redhat.com>
2391
2392         Fix Linus' bug in rh #134886
2393
2394         * src/nm-device-802-3-ethernet.c
2395                 - (constructor): request initial carrier state
2396
2397         * src/nm-netlink-monitor.c
2398                 - (nm_netlink_monitor_request_status): schedule emission of carrier
2399                         signals after refilling the link cache.  Because the refill is a 
2400                         synchronous operation, the normal message hander won't get called
2401                         since libnl has already consumed the messages.
2402                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
2403
2404 2008-05-14  Dan Williams  <dcbw@redhat.com>
2405
2406         * src/NetworkManagerSystem.c
2407                 - (nm_system_device_is_up_with_iface): clean up
2408
2409 2008-05-13  Dan Williams  <dcbw@redhat.com>
2410
2411         Fix refcounting issues over sleep/wake when a VPN connection was active that
2412         caused NM to try registering an object path for a device upon wake that was
2413         the same as an already registered object path.
2414
2415         * src/nm-device.c
2416                 - (nm_device_take_down): properly handle cases where the device is
2417                         no longer active but was just active, and therefore must be
2418                         deactivated.  When a device moves to unmanaged mode, this function
2419                         previously would not deactivate the device, because the state was
2420                         already unmanaged by the time this function was called.
2421
2422         * src/vpn-manager/nm-vpn-connection.c
2423                 - (device_state_changed): properly handle multiple devices states in
2424                         which the device is now deactivated.  Code previously didn't handle
2425                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
2426                         UNMANAGED states.
2427
2428 2008-05-13  Dan Williams  <dcbw@redhat.com>
2429
2430         * src/nm-device-private.h
2431           src/nm-device.c
2432                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
2433
2434         * src/nm-device-802-11-wireless.c
2435                 - (nm_device_802_11_wireless_set_enabled): take devices up
2436                         and down as appropriate for the rfkill state
2437
2438 2008-05-13  Dan Williams  <dcbw@redhat.com>
2439
2440         * marshallers/nm-marshal.list
2441                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
2442
2443         * system-settings/plugins/ifcfg-fedora/Makefile.am
2444           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
2445           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
2446                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
2447                         events.  Solely for use watching ifcfg files to pick up changes
2448                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
2449
2450         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
2451                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
2452                         file contents change
2453                 - (finalize): clean up inotify watches
2454                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
2455                         and the connection ifcfg for changes on their hardlinks
2456                 - (files_changed_cb): proxy the changed signal back out to listeners
2457
2458         * system-settings/plugins/ifcfg-fedora/plugin.c
2459                 - (dir_changed): 
2460                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
2461                         changes
2462                 - (read_one_connection): connect to change signals on the new connection
2463                 - (dir_changed, connection_changed_handler,
2464                    handle_connection_remove_or_new): break out connection change
2465                         handling and connection new/remove handling so it can be used from
2466                         both the GFileMonitor callback and the NMIfcfgConnection changed
2467                         signals
2468
2469         * system-settings/plugins/ifcfg-fedora/reader.c
2470           system-settings/plugins/ifcfg-fedora/reader.h
2471                 - (connection_from_file): return the keyfile path the connection would use
2472
2473 2008-05-13  Tambet Ingo  <tambet@gmail.com>
2474
2475         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
2476         single PolKitContext which is shared by all. PolKitContext::unref leaks
2477         just about everything, including all open file descriptiors and results
2478         in 99% cpu usage when data arrives to any of the fds that don't belong
2479         to any context anymore.
2480
2481 2008-05-12  Dan Williams  <dcbw@redhat.com>
2482
2483         * gfilemonitor/glocaldirectorymonitor.c
2484           gfilemonitor/glocaldirectorymonitor.h
2485                 - (g_local_directory_monitor_constructor): actually subscribe to the
2486                         watch
2487                 - (_g_local_directory_monitor_new): ensure that inotify is started up
2488
2489         * gfilemonitor/glocalfilemonitor.c
2490           gfilemonitor/glocalfilemonitor.h
2491                 - (g_local_file_monitor_constructor): actually subscribe to the watch
2492                 - (_g_local_file_monitor_new): ensure that inotify is started up
2493
2494 2008-05-11  Dan Williams  <dcbw@redhat.com>
2495
2496         * configure.in
2497                 - record PolicyKit version
2498
2499         * system-settings/src/nm-polkit-helpers.c
2500                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
2501                         with PolicyKit <= 0.6
2502
2503 2008-05-11  Dan Williams  <dcbw@redhat.com>
2504
2505         Update Fedora system-settings plugin to support latest API and use
2506         GFileMonitor rather than home-rolled inotify code.
2507
2508         * system-settings/plugins/ifcfg-fedora/Makefile.am
2509           system-settings/plugins/ifcfg-fedora/common.h
2510           system-settings/plugins/ifcfg-fedora/plugin.c
2511                 - Update to latest system settings plugin API; use GIO instead of
2512                         custom inotify code; use NMIfcfgConnection objects instead of
2513                         ConnectionData structures tacked onto NMConnection objects
2514
2515         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
2516           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
2517                 - Implement an NMExportedConnection subclass mapping ifcfg files to
2518                         connections
2519
2520         * system-settings/plugins/ifcfg-fedora/reader.c
2521           system-settings/plugins/ifcfg-fedora/reader.h
2522                 - Move ifcfg parsing bits here from parser.c
2523
2524         * system-settings/plugins/ifcfg-fedora/parser.c
2525           system-settings/plugins/ifcfg-fedora/parser.h
2526                 - Remove; most code moved to reader.c
2527
2528 2008-05-11  Dan Williams  <dcbw@redhat.com>
2529
2530         * configure.in
2531           Makefile.am
2532           gfilemonitor/*
2533                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
2534                         implementation, so that the same change monitoring code can be used
2535                         on systems without glib-2.14 (like Fedora 8)
2536
2537         * system-settings/plugins/keyfile/Makefile.am
2538           system-settings/plugins/keyfile/plugin.c
2539           system-settings/plugins/ifcfg-suse/Makefile.am
2540           system-settings/plugins/ifcfg-suse/plugin.c
2541                 - Use private gfilemonitor code if GIO is not present
2542
2543 2008-05-09  Tambet Ingo  <tambet@gmail.com>
2544
2545         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
2546         NMExportedConnection's 'update' and 'delete' and return error with
2547         descriptive message.
2548
2549 2008-05-08  Dan Williams  <dcbw@redhat.com>
2550
2551         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2552
2553         * src/nm-gsm-device.c
2554           src/nm-cdma-device.c
2555                 - (real_get_best_auto_connection): implement; allow autoconnection
2556                         to GSM & CDMA devices
2557
2558 2008-05-08  Tambet Ingo  <tambet@gmail.com>
2559
2560         Use PolicyKit to authorize the system settings' AddConnection method
2561         and the system settings connections' Update and Delete methods.
2562         
2563         * libnm-glib/nm-settings.c (impl_exported_connection_update)
2564         (impl_exported_connection_delete, nm_exported_connection_update)
2565         (nm_exported_connection_delete): Return boolean and fill GError
2566         to notify the callers of the reasons why it might have failed.
2567
2568         * libnm-glib/nm-dbus-settings-system.c
2569         (nm_dbus_settings_system_add_connection): Return the error from dbus
2570         call so that the callers can see why it failed.
2571
2572         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
2573         signatures.
2574
2575         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
2576
2577         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
2578         abstract base class that checks PolicyKit permissions.
2579
2580         * system-settings/src/dbus-settings.c:
2581         (impl_settings_add_connection): Check the policy before carring out
2582         the request.
2583
2584         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
2585         Inherit from NMSysconfigConnection, check the policies before
2586         allowing updating or removing.
2587
2588         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
2589         Inherit from NMSysconfigConnection.
2590
2591         * introspection/nm-exported-connection.xml: Annotate "Update" and 
2592         "Delete" methods with async flag so that the implementations can get
2593         access to DBusGMethodInvocation.
2594
2595         * system-settings/src/dbus-settings.c 
2596         (settings_add_connection_check_privileges): Implement.
2597         (impl_settings_add_connection): Check the privileges before adding a new
2598         connection. Improve error reporting.
2599
2600         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
2601         async so that the implementation can access DBusGMethodInvocation.
2602
2603         * configure.in: Check for PolicyKit.
2604
2605         * policy/org.freedesktop.network-manager-settings.system.policy: 
2606         New file.
2607
2608         * policy/Makefile.am: Install the policy file.
2609
2610         * configure.in: Add 'policy' subdir.
2611
2612 2008-05-08  Tambet Ingo  <tambet@gmail.com>
2613
2614         Rewrite the suse system settings plugin.
2615
2616         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
2617
2618         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
2619
2620         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
2621
2622         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
2623
2624         * system-settings/src/dbus-settings.c: Fix connection reference counting.
2625
2626         * system-settings/src/main.c (load_plugins): Improve error reporting.
2627
2628         * system-settings/src/sha1.[ch] Add.
2629
2630         * system-settings/src/Makefile.am: Add sha1[ch] to build.
2631
2632 2008-05-07  Dan Williams  <dcbw@redhat.com>
2633
2634         * system-settings/plugins/keyfile/reader.c
2635                 - (read_one_setting_value): handle IP address items separately
2636                 - (read_array_of_uint): read IPv4 DNS option as a string array
2637                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
2638                         array
2639
2640         * system-settings/plugins/keyfile/writer.c
2641                 - (write_setting_value): handle IP address items separately
2642                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
2643                         not an array of uint, so that it's user-editable
2644                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
2645                         arrays, so they are user-editable
2646
2647 2008-05-07  Dan Williams  <dcbw@redhat.com>
2648
2649         * system-settings/plugins/keyfile/Makefile.am
2650                 - Change location of the keyfile plugin settings to
2651                         /etc/NetworkManager/system-connections
2652
2653 2008-05-05  Tambet Ingo  <tambet@gmail.com>
2654
2655         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
2656
2657         * system-settings/plugins/keyfile/plugin.c: Work with
2658         NMKeyfileConnections.
2659
2660         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
2661         Plugins are supposed to return NMExportedConnections now and handle the
2662         updated(), removed(), and GetSecrets().
2663         Store the internal list of connections in hash table to make it easier
2664         to find duplicates.
2665
2666 2008-05-07  Tambet Ingo  <tambet@gmail.com>
2667
2668         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
2669         for multiple IP addresses.
2670
2671 2008-05-07  Tambet Ingo  <tambet@gmail.com>
2672
2673         Patch from André Lemos.
2674
2675         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
2676         corruption.
2677
2678 2008-05-06  Dan Williams  <dcbw@redhat.com>
2679
2680         * src/dhcp-manager/nm-dhcp-manager.c
2681                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
2682                         NMIP4Config to support multiple IP addresses
2683
2684         * src/NetworkManagerUtils.c
2685                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
2686
2687         * src/nm-ip4-config.c
2688           src/nm-ip4-config.h
2689                 - Store a list of IPv4 address/netmask/gateway tuples
2690                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
2691                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
2692                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
2693                    nm_ip4_config_set_address): remove
2694                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
2695                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
2696                         new functions; handle multiple IPv4 addresses
2697
2698         * src/nm-device.c
2699           src/ppp-manager/nm-ppp-manager.c
2700           src/vpn-manager/nm-vpn-connection.c
2701           src/NetworkManagerPolicy.c
2702           test/nm-tool.c
2703           libnm-glib/libnm-glib-test.c
2704                 - update for changes to NMIP4Config for multiple IPv4 addresses
2705
2706         * src/NetworkManagerSystem.c
2707                 - (nm_system_device_set_ip4_route): don't add the route if any address
2708                         is on the same subnet as the destination
2709                 - (check_one_address): ignore the exact match, just match family and
2710                         interface index
2711                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
2712                         an interface
2713                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
2714                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
2715
2716         * introspection/nm-ip4-config.xml
2717                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
2718                 - Add 'addresses' property which is an array of (uuu) tuples of
2719                         address/netmask/gateway
2720
2721         * libnm-util/nm-setting-ip4-config.c
2722                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
2723
2724         * libnm-glib/nm-ip4-config.c
2725           libnm-glib/nm-ip4-config.h
2726                 - Handle D-Bus interface changes to support multiple IP addresses
2727
2728 2008-05-06  Dan Williams  <dcbw@redhat.com>
2729
2730         * libnm-util/nm-utils.c
2731           libnm-util/nm-utils.h
2732                 - (nm_utils_ip4_addresses_from_gvalue,
2733                    nm_utils_ip4_addresses_to_gvalue): new functions
2734
2735 2008-05-06  Tambet Ingo  <tambet@gmail.com>
2736
2737         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
2738         the returned connection paths.
2739
2740 2008-05-05  Tambet Ingo  <tambet@gmail.com>
2741
2742         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
2743         "PropertiesChanged" signal signature.
2744
2745         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
2746         defined in nm-dbus-glib-types.h.
2747         Don't register the connection on dbus, we're a proxy class to 
2748         communicate with an already registered connection over dbus.
2749
2750 2008-04-30  Tambet Ingo  <tambet@gmail.com>
2751
2752         Implement new subclasses of NMSettings and NMExportedConnection to make
2753         it easier for the applet to access and modify system settings.
2754
2755         * libnm-glib/nm-dbus-connection.[ch]:
2756         * libnm-glib/nm-dbus-settings.[ch]:
2757         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
2758
2759         * libnm-glib/Makefile.am: Add the new files to build, generate some more
2760         bindings and glue.
2761
2762         * include/NetworkManager.h: Define the system settings DBus interface.
2763
2764 2008-04-30  Tambet Ingo  <tambet@gmail.com>
2765
2766         Implement additional C API for exported connections to make them identical
2767         with the DBus API. Change the (list_connections) virtual function to be
2768         more usable from C - instead of requiring implementers to return a GPtrArray
2769         of dbus paths, return a list of connections.
2770
2771         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
2772         (nm_settings_list_connections):
2773         (nm_exported_connection_new):
2774         (nm_exported_connection_update):
2775         (nm_exported_connection_delete): Implement.
2776
2777         (impl_settings_list_connections):
2778         (impl_exported_connection_update):
2779         (impl_exported_connection_delete): Use the new public functions to make 
2780         sure the C and dbus interfaces stay in sync.
2781
2782         * system-settings/src/dbus-settings.c (list_connections): Return a list of
2783         connections.
2784
2785 2008-05-02  Dan Williams  <dcbw@redhat.com>
2786
2787         * system-settings/plugins/ifcfg-fedora/plugin.c
2788                 - (dispose): use right unref call on the DBusGConnection
2789
2790 2008-05-02  Dan Williams  <dcbw@redhat.com>
2791
2792         * src/nm-serial-device.c
2793                 - (find_terminator): don't compare the whole line, just the size of the
2794                         terminator, since some modems put stuff after the terminator, like
2795                         "CONNECT 9600"
2796
2797 2008-05-01  Dan Williams  <dcbw@redhat.com>
2798
2799         Patch from Michael Biebl <biebl@debian.org>
2800
2801         * callouts/Makefile.am
2802           callouts/org.freedesktop.nm_dispatcher.service.in
2803           system-settings/src/Makefile.am
2804           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
2805                 - use the right install location for dbus-activated stuff
2806
2807 2008-04-30  Dan Williams  <dcbw@redhat.com>
2808
2809         * src/nm-gsm-device.c
2810                 - (enter_pin): fix setting name passed to applets when asking for a GSM
2811                         PIN or PUK
2812
2813 2008-04-30  Dan Williams  <dcbw@redhat.com>
2814
2815         * src/nm-manager.c
2816                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
2817
2818 2008-04-30  Dan Williams  <dcbw@redhat.com>
2819
2820         * src/nm-device-802-3-ethernet.c
2821           src/nm-device-802-11-wireless.c
2822                 - (real_is_up): return true instead of chaining up to unimplemented
2823                         parent method
2824
2825 2008-04-30  Dan Williams  <dcbw@redhat.com>
2826
2827         * src/NetworkManagerSystem.c
2828           src/NetworkManagerSystem.h
2829                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
2830                         functions to check device flags for IFF_UP
2831
2832         * src/nm-serial-device.c
2833                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
2834                         implement is_up
2835
2836         * src/nm-device-802-3-ethernet.c
2837           src/nm-device-802-11-wireless.c
2838                 - (real_hw_is_up): call nm_system_device_is_up()
2839
2840         * src/nm-device.c
2841                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
2842                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
2843                         does not implement
2844
2845 2008-04-29  Dan Williams  <dcbw@redhat.com>
2846
2847         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
2848
2849         * marshallers/nm-marshal.list
2850                 - Add marshaller
2851
2852         * src/NetworkManager.c
2853                 - (main): let the NMManager handle the NMHalManager
2854
2855         * src/nm-hal-manager.c
2856           src/nm-hal-manager.h
2857                 - convert to a GObject, and emit singals when stuff changes.  Let the
2858                         NMManager handle the signals, instead of the NMHalManager calling
2859                         into the NMManager.  
2860
2861         * src/nm-manager.c
2862           src/nm-manager.h
2863                 - (remove_one_device): consolidate device removals here
2864                 - (dispose): use remove_one_device()
2865                 - (nm_manager_get_device_by_udi): make static
2866                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
2867                         manager for devices at startup or wakeup time
2868                 - (nm_manager_new): create and monitor the HAL manager
2869                 - (hal_manager_udi_added_cb): new function; do what
2870                         nm_manager_add_device() used to do when signalled by the hal manager
2871                 - (hal_manager_udi_removed_cb): new function; do what
2872                         nm_manager_remove_device() used to do when signalled by the hal
2873                         manager
2874                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
2875                         hal manager
2876                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
2877                         in our device list that aren't known to HAL
2878                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
2879                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
2880                         commits ago
2881                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
2882                    nm_manager_activation_pending, nm_manager_wireless_enabled,
2883                    nm_manager_wireless_hardware_enabled,
2884                    nm_manager_set_wireless_hardware_enabled): remove, unused
2885
2886 2008-04-28  Dan Williams  <dcbw@redhat.com>
2887
2888         Fix the device up/down ambiguities.  Up/down state used to be a
2889         conglomeration of hardware state (IFF_UP) and any device-specific things
2890         (supplicant, periodic timers, etc) that the device used to indicate
2891         readiness.  Unfortunately, if the hardware was already IFF_UP for some
2892         reason, then the device specific stuff wouldn't get run, and the device
2893         would be stuck.
2894
2895         * src/nm-device.c
2896           src/nm-device.h
2897                 - Create hw_is_up, hw_bring_up, and hw_take_down
2898                 - Rename bring_down -> take_down
2899                 - (real_hw_is_up): check interface flags for IFF_UP
2900                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
2901                 - (nm_device_is_up): make static; only used locally
2902                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
2903                         if the device is already up; if the device isn't up, bring it up
2904                 - (nm_device_hw_take_down): just take down hardware
2905                 - (nm_device_bring_up): bring up HW first, then device specific stuff
2906                 - (nm_device_take_down): always deactivate device when called; always
2907                         try to take hardware down too
2908                 - (nm_device_state_changed): take device down when entering unmanaged
2909                         state from a higher state
2910
2911         * src/nm-device-802-11-wireless.c
2912                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
2913                         check IFF_UP really
2914                 - (real_take_down, supplicant_iface_state_cb_handler, 
2915                    supplicant_iface_connection_state_cb_handler,
2916                    supplicant_mgr_state_cb_handler): fix some messages
2917
2918         * src/nm-device-802-3-ethernet.c
2919                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
2920                         check IFF_UP really
2921
2922 2008-04-28  Dan Williams  <dcbw@redhat.com>
2923
2924         * src/nm-manager.c
2925           src/nm-manager.h
2926                 - (nm_manager_error_get_type): add new error
2927                 - (nm_manager_remove_device): don't bother taking down the device here,
2928                         the state change from unmanaging the device will do it
2929                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
2930                         uses it; when going to sleep, just unmanage the device instead of
2931                         taking it down, because stuff will cleaned up correctly when the
2932                         device gets unmanaged
2933
2934 2008-04-28  Dan Williams  <dcbw@redhat.com>
2935
2936         * src/nm-hal-manager.c
2937                 - (add_initial_devices): convert to a GSourceFunc prototype
2938                 - (nm_manager_state_changed): when coming out of sleep, punt the
2939                         device re-addition to an idle handler to let D-Bus events go out
2940                         first, fixing a potential dbus-glib assert if the old device was
2941                         not yet disposed (due to references held while emitting the D-Bus
2942                         signals) but the new device was found, because the mainloop didn't
2943                         run between signal emission and add_initial_devices()
2944
2945 2008-04-27  Dan Williams  <dcbw@redhat.com>
2946
2947         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2948
2949         * initscript/paldo/NetworkManager.in
2950           initscript/SUSE/networkmanager.in
2951                 - Remove last bits of dhcdbd
2952
2953 2008-04-27  Dan Williams  <dcbw@redhat.com>
2954
2955         * src/nm-device-802-11-wireless.c
2956                 - (link_timeout_cb): don't ask for secrets when disconnected during
2957                         association/authentication phase, drivers are still just too crappy
2958
2959 2008-04-27  Dan Williams  <dcbw@redhat.com>
2960
2961         * Makefile.am
2962           configure.in
2963           dispatcher-daemon/Makefile.am
2964           dispatcher-daemon/NetworkManagerDispatcher.c
2965           initscript/Arch/Makefile.am
2966           initscript/Arch/networkmanager-dispatcher.in
2967           initscript/Gentoo/Makefile.am
2968           initscript/Gentoo/NetworkManagerDispatcher.in
2969           initscript/Mandriva/Makefile.am
2970           initscript/Mandriva/networkmanagerdispatcher.in
2971           initscript/RedHat/Makefile.am
2972           initscript/RedHat/NetworkManagerDispatcher.in
2973           initscript/SUSE/Makefile.am
2974           initscript/SUSE/networkmanager-dispatcher.in
2975           initscript/Slackware/Makefile.am
2976           initscript/Slackware/rc.networkmanager-dispatcher.in
2977           initscript/paldo/Makefile.am
2978           initscript/paldo/NetworkManagerDispatcher.in
2979           man/Makefile.am
2980           man/NetworkManagerDispatcher.8.in
2981                 - Remove the dispatcher daemon
2982
2983 2008-04-27  Dan Williams  <dcbw@redhat.com>
2984
2985         * callouts/Makefile.am
2986           callouts/nm-dispatcher-action.c
2987           callouts/nm-dispatcher-action.h
2988           callouts/nm-dispatcher.conf
2989           callouts/nm-dispatcher.xml
2990           callouts/org.freedesktop.nm_dispatcher.service
2991                 - Re-implement the dispatcher as a system-bus activated service that
2992                         NM calls on-demand, rather than an always running daemon
2993
2994         * src/Makefile.am
2995                 - Add callouts dir to includes to pick up dispatcher defines
2996
2997         * src/nm-device.c
2998                 - (nm_device_state_changed): call dispatcher on device activated/
2999                         deactivated
3000
3001         * src/vpn-manager/nm-vpn-connection.c
3002                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
3003                         go up and down
3004
3005         * src/NetworkManagerUtils.c
3006           src/NetworkManagerUtils.h
3007                 - (nm_utils_call_dispatcher): helper to call dispatcher
3008
3009 2008-04-27  Dan Williams  <dcbw@redhat.com>
3010
3011         * src/NetworkManagerUtils.c
3012           src/NetworkManagerUtils.h
3013                 - remove unneeded includes
3014                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
3015                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
3016                    nm_timeval_cmp, nm_timeval_add): remove, unused
3017                 - clean up formatting
3018                 - (nm_spawn_process): de-uglify
3019
3020         * src/nm-device-802-11-wireless.c
3021                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
3022
3023 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
3024
3025         * initscript/Gentoo/NetworkManager.in:
3026                 Fix for starting the daemon.
3027
3028 2008-04-25  Dan Williams  <dcbw@redhat.com>
3029
3030         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3031
3032         * src/NetworkManagerSystem.c
3033                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
3034
3035 2008-04-25  Dan Williams  <dcbw@redhat.com>
3036
3037         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3038
3039         * src/NetworkManagerSystem.c
3040                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
3041                         implementation of nm_system_device_replace_default_route()
3042
3043         * src/NetworkManagerPolicy.c
3044                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
3045
3046         * src/backends/NetworkManagerArch.c
3047           src/backends/NetworkManagerDebian.c
3048           src/backends/NetworkManagerFrugalware.c
3049           src/backends/NetworkManagerGeneric.c
3050           src/backends/NetworkManagerGeneric.h
3051           src/backends/NetworkManagerGentoo.c
3052           src/backends/NetworkManagerMandriva.c
3053           src/backends/NetworkManagerPaldo.c
3054           src/backends/NetworkManagerRedHat.c
3055           src/backends/NetworkManagerSlackware.c
3056           src/backends/NetworkManagerSuSE.c
3057                 - (nm_system_device_replace_default_route): remove
3058
3059 2008-04-25  Dan Williams  <dcbw@redhat.com>
3060
3061         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3062
3063         * src/NetworkManagerSystem.c
3064                 - (validate_ip4_route): remove; use nl_addr_parse() instead
3065                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
3066                         replace nm_system_device_add_route_via_device_with_iface() in the
3067                         backends
3068
3069         * src/backends/NetworkManagerArch.c
3070           src/backends/NetworkManagerDebian.c
3071           src/backends/NetworkManagerFrugalware.c
3072           src/backends/NetworkManagerGeneric.c
3073           src/backends/NetworkManagerGeneric.h
3074           src/backends/NetworkManagerGentoo.c
3075           src/backends/NetworkManagerMandriva.c
3076           src/backends/NetworkManagerPaldo.c
3077           src/backends/NetworkManagerRedHat.c
3078           src/backends/NetworkManagerSlackware.c
3079           src/backends/NetworkManagerSuSE.c
3080                 - Remove nm_system_device_add_route_via_device_with_iface()
3081
3082 2008-04-25  Dan Williams  <dcbw@redhat.com>
3083
3084         * system-settings/plugins/ifcfg-fedora/parser.c
3085                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
3086
3087 2008-04-24  Dan Williams  <dcbw@redhat.com>
3088
3089         * dispatcher-daemon/NetworkManagerDispatcher.c
3090                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
3091
3092 2008-04-24  Dan Williams  <dcbw@redhat.com>
3093
3094         * initscript/RedHat/NetworkManager.in
3095           initscript/RedHat/NetworkManagerDispatcher.in
3096                 - Be active at runlevel 2
3097                 - Adjust priorities earlier
3098
3099 2008-04-22  Dan Williams  <dcbw@redhat.com>
3100
3101         * src/NetworkManagerPolicy.c
3102                 - (update_routing_and_dns): when checking for a gateway, look at the
3103                         composite IP4 config, not the connection's ip4-config setting, which
3104                         doesn't include DHCP-returned information
3105
3106 2008-04-22  Tambet Ingo  <tambet@gmail.com>
3107
3108         Implement GKeyFile system settings plugin.
3109         Implement writing system settings (currently supported only by GKeyFile plugin).
3110
3111         * system-settings/src/main.c: 
3112         * system-settings/src/dbus-settings.c: Move the communication with plugins
3113         from main.c to dbus-settings.c. Makes it possible to talk to all registered
3114         plugins for adding/updating/removing connections.
3115
3116         * system-settings/src/nm-system-config-interface.c
3117         (nm_system_config_interface_add_connection): Implement
3118         (nm_system_config_interface_update_connection): Implement.
3119         (nm_system_config_interface_remove_connection): Implement.
3120
3121         * system-settings/plugins/keyfile/Makefile.am:
3122         * system-settings/plugins/keyfile/plugin.[ch]:
3123         * system-settings/plugins/keyfile/writer.[ch]:
3124         * system-settings/plugins/keyfile/reader.[ch]: Implement.
3125
3126         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
3127
3128         * configure.in: Generate GKeyFile Makefile.
3129
3130         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
3131         corruption, need to duplicate the returned string.
3132         (impl_exported_connection_update): Implement.
3133         (impl_exported_connection_delete): Implement.
3134
3135         * introspection/nm-settings-system.xml: Add "AddConnection" method.
3136
3137         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
3138
3139 2008-04-22  Dan Williams  <dcbw@redhat.com>
3140
3141         Patch from Charles R. Anderson (cra@wpi.edu)
3142
3143         * src/NetworkManagerPolicy.c
3144                 - (update_routing_and_dns): don't select devices without a gateway
3145                         as having the default route (rh #437338)
3146
3147 2008-04-21  Dan Williams  <dcbw@redhat.com>
3148
3149         * src/nm-activation-request.c
3150           src/nm-activation-request.h
3151                 - (dispose): ensure to disconnect from the device's state-changed signal
3152                         when appropriate so the signal doesn't get handled by an already
3153                         disposed NMActRequest
3154                 - (device_state_changed): update is_default here too just to make sure
3155                         default is only True when the child device is activated
3156                 - (nm_act_request_set_default): new function
3157
3158         * src/NetworkManagerPolicy.c
3159                 - (update_routing_and_dns): set 'default' on the active connection which
3160                         has the default route and DNS
3161
3162 2008-04-21  Dan Williams  <dcbw@redhat.com>
3163
3164         * src/NetworkManagerPolicy.c
3165                 - (device_state_changed): update routing and DNS when a device goes
3166                         into unmanaged or unavailable states too (like rfkill or carrier loss)
3167
3168 2008-04-21  Dan Williams  <dcbw@redhat.com>
3169
3170         * include/NetworkManager.h
3171                 - Add NMActiveConnectionState enum
3172
3173         * introspection/nm-active-connection.xml
3174           introspection/nm-vpn-connection.xml
3175                 - Add 'State' property for overall active connection state
3176                 - Add 'Default' property, when True means this active connection
3177                         has the default route
3178                 - Add PropertyChanged signals so changes actually go out over the bus
3179
3180         * src/nm-active-connection.h
3181                 - Add defines for State & Default properties
3182
3183         * src/nm-activation-request.c
3184                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
3185                         signal to determine active connection state
3186
3187         * src/vpn-manager/nm-vpn-connection.c
3188           src/vpn-manager/nm-vpn-connection.h
3189           src/vpn-manager/nm-vpn-manager.c
3190           src/vpn-manager/nm-vpn-service.c
3191                 - Rename old 'state' to 'vpn-state'
3192                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
3193                 - Add 'state' and 'default' properties, hook up to the vpn connection's
3194                         'vpn-state-changed' signal
3195
3196         * libnm-glib/nm-active-connection.c
3197           libnm-glib/nm-active-connection.h
3198                 - Add new 'state' and 'default' properties and accessors
3199
3200         * libnm-glib/nm-vpn-connection.c
3201           libnm-glib/nm-vpn-connection.h
3202                 - Rename old 'state' property to 'vpn-state'
3203                 - Add new 'state' and 'default' properties and accessors
3204
3205 2008-04-21  Dan Williams  <dcbw@redhat.com>
3206
3207         * src/nm-ip4-config.c
3208                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
3209                         not specified (rh #443474)
3210
3211 2008-04-20  Dan Williams  <dcbw@redhat.com>
3212
3213         * src/NetworkManagerUtils.c
3214           src/NetworkManagerUtils.h
3215                 - (nm_utils_merge_ip4_config): new function; merge settings from an
3216                         NMSettingIP4Config to an NMIP4Config object
3217
3218         * src/nm-device.c
3219                 - (merge_ip4_config): move to NetworkManagerUtils.c
3220
3221         * src/vpn-manager/nm-vpn-connection.c
3222                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
3223                         too
3224
3225 2008-04-18  Dan Williams  <dcbw@redhat.com>
3226
3227         * libnm-util/nm-setting-ppp.c
3228           libnm-util/nm-setting-ppp.h
3229                 - Add 'no-vj-comp' option for TCP header compression
3230                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
3231                         uint32
3232
3233 2008-04-18  Dan Williams  <dcbw@redhat.com>
3234
3235         * libnm-util/nm-setting-ppp.c
3236           libnm-util/nm-setting-ppp.h
3237           src/ppp-manager/nm-ppp-manager.c
3238                 - Add 'refuse-pap' and 'refuse-mschapv2' options
3239
3240 2008-04-18  Dan Williams  <dcbw@redhat.com>
3241
3242         * libnm-util/nm-setting-ppp.c
3243           libnm-util/nm-setting-ppp.h
3244           src/ppp-manager/nm-ppp-manager.c
3245                 - Remove the 'usepeerdns' option and always request DNS servers from
3246                         the PPP server; the connection chooses to use/override/ignore the
3247                         DNS servers returned from the PPP server
3248
3249 2008-04-18  Dan Williams  <dcbw@redhat.com>
3250
3251         * libnm-util/nm-setting-ppp.c
3252           libnm-util/nm-setting-ppp.h
3253           src/ppp-manager/nm-ppp-manager.c
3254                 - Remove the 'require-mppc' option, because pppd doesn't support it and
3255                         it seems to have been an erroneous addition to the PPTP plugin in
3256                         the first place (from which the ppp-manager is derived)
3257
3258 2008-04-17  Dan Williams  <dcbw@redhat.com>
3259
3260         * libnm-util/nm-setting-pppoe.c
3261                 - (verify): require a PPP setting too
3262
3263         * src/ppp-manager/nm-ppp-manager.c
3264                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
3265                         segfaulting
3266
3267 2008-04-17  Dan Williams  <dcbw@redhat.com>
3268
3269         * src/nm-device.c
3270                 - (nm_device_state_changed): do deactivation and and promotion to
3271                         unavailable here, so that the device gets cleaned up before the
3272                         manager runs and starts emitting signals; do the
3273                         FAILED->DISCONNECTED transition from an idle handler rather than
3274                         immediately to guard against recursion
3275                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
3276                         FAILED->DISCONNECTED handler if it's scheduled
3277
3278 2008-04-17  Dan Williams  <dcbw@redhat.com>
3279
3280         * src/nm-device-802-11-wireless.c
3281                 - (state_changed_cb): clear AP list when device transitions to
3282                         unavailable or unmanaged
3283                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
3284                         since this is already done in device_cleanup()
3285                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
3286                         isn't available or managed
3287                 - (device_cleanup): use remove_all_aps()
3288                 - (remove_all_aps): consolidate code removing all APs
3289
3290 2008-04-17  Dan Williams  <dcbw@redhat.com>
3291
3292         * src/nm-serial-device.c
3293           src/nm-serial-device.h
3294                 - (wait_for_reply_got_data): break input into lines, and search each
3295                         line for responses _and_ terminator strings; also make sure that
3296                         the read loop doesn't continue after the timeout is supposed to fire
3297                 - (nm_serial_device_wait_for_reply): take an array of terminators too
3298
3299         * src/nm-gsm-device.c
3300           src/nm-cdma-device.c
3301                 - Send terminators to nm_serial_device_wait_for_reply()
3302
3303 2008-04-16  Dan Williams  <dcbw@redhat.com>
3304
3305         Patch from 陈鑫 <znscnchen@gmail.com>
3306
3307         * src/ppp-manager/nm-pppd-plugin.c
3308                 - (get_credentials): return correct value for success; handle case where
3309                         pppd just does some checking but doesn't want a password
3310                 - (plugin_init): make CHAP work too
3311
3312 2008-04-16  Dan Williams  <dcbw@redhat.com>
3313
3314         Patch from 陈鑫 <znscnchen@gmail.com>
3315
3316         * src/ppp-manager/nm-ppp-manager.c
3317                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
3318
3319 2008-04-16  Dan Williams  <dcbw@redhat.com>
3320
3321         Patch from 陈鑫 <znscnchen@gmail.com>
3322
3323         * src/nm-device-802-3-ethernet.c
3324                 - (real_deactivate_quickly): clear the IP interface name on
3325                         deactivation, otherwise the wrong interface might get used later
3326                         for routing and IP management
3327
3328 2008-04-15  Dan Williams  <dcbw@redhat.com>
3329
3330         * libnm-glib/nm-device.c
3331                 - (get_product_and_vendor): handle serial devices correctly
3332                 - (nm_device_update_description): pass device to get_product_and_vendor()
3333
3334 2008-04-15  Dan Williams  <dcbw@redhat.com>
3335
3336         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3337
3338         * src/NetworkManagerSystem.h
3339           src/backends/NetworkManagerArch.c
3340           src/backends/NetworkManagerDebian.c
3341           src/backends/NetworkManagerFrugalware.c
3342           src/backends/NetworkManagerGeneric.c
3343           src/backends/NetworkManagerGeneric.h
3344           src/backends/NetworkManagerGentoo.c
3345           src/backends/NetworkManagerMandriva.c
3346           src/backends/NetworkManagerPaldo.c
3347           src/backends/NetworkManagerRedHat.c
3348           src/backends/NetworkManagerSlackware.c
3349           src/backends/NetworkManagerSuSE.c
3350           src/nm-device.c
3351                 - (nm_generic_device_add_ip6_link_address,
3352                    nm_system_device_add_ip6_link_address): remove
3353
3354 2008-04-15  Dan Williams  <dcbw@redhat.com>
3355
3356         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3357
3358         * src/backends/NetworkManagerArch.c
3359           src/backends/NetworkManagerDebian.c
3360           src/backends/NetworkManagerFrugalware.c
3361           src/backends/NetworkManagerGeneric.c
3362           src/backends/NetworkManagerGeneric.h
3363           src/backends/NetworkManagerGentoo.c
3364           src/backends/NetworkManagerMandriva.c
3365           src/backends/NetworkManagerPaldo.c
3366           src/backends/NetworkManagerRedHat.c
3367           src/backends/NetworkManagerSlackware.c
3368           src/backends/NetworkManagerSuSE.c
3369           src/NetworkManagerSystem.h
3370                 - flush_routes -> flush_ip4_routes
3371                 - flush_addresses -> flush_ip4_addresses
3372
3373         * src/NetworkManagerSystem.c
3374           src/nm-device.c
3375           src/vpn-manager/nm-vpn-connection.c
3376                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
3377
3378 2008-04-15  Dan Williams  <dcbw@redhat.com>
3379
3380         Remove exposure of wireless-tools mode types in the API.
3381
3382         * include/NetworkManager.h
3383                 - Define NM80211Mode enum
3384
3385         * introspection/generic-types.xml
3386                 - Describe NM_802_11_MODE enum
3387                 - Remove IW_MODE_* enum
3388
3389         * introspection/nm-access-point.xml
3390           libnm-glib/nm-access-point.c
3391           libnm-glib/nm-access-point.h
3392                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
3393
3394         * introspection/nm-device-802-11-wireless.xml
3395           libnm-glib/nm-device-802-11-wireless.c
3396           libnm-glib/nm-device-802-11-wireless.h
3397                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
3398
3399         * libnm-util/nm-setting-wireless.c
3400           src/NetworkManagerAP.c
3401           src/NetworkManagerAP.h
3402           src/nm-device-802-11-wireless.c
3403           src/nm-device-802-11-wireless.h
3404           test/nm-tool.c
3405                 - Use NM80211Mode not IW_MODE_*
3406
3407 2008-04-15  Dan Williams  <dcbw@redhat.com>
3408
3409         Enhance nm-online based on a patch from Bill Nottingham.
3410
3411         * test/nm-online.c
3412                 - Add a '-q' option
3413                 - Add help messages and option summary
3414                 - Add long-format options
3415                 - Add a '-x' option to exit if NM isn't running or isn't connecting
3416
3417 2008-04-15  Tambet Ingo  <tambet@gmail.com>
3418
3419         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
3420
3421         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
3422
3423 2008-04-15  Dan Williams  <dcbw@redhat.com>
3424
3425         * nm-setting-ip4-config.c
3426                 - (ip4_addresses_from_gvalue): handle NULL address array
3427
3428         * nm-setting-8021x.c
3429                 - (verify_tls, verify_ttls): warn on failed verification
3430
3431 2008-04-10  Dan Williams  <dcbw@redhat.com>
3432
3433         * src/nm-gsm-device.c
3434                 - (automatic_registration): accept "+CREG: 0,0"
3435                 - (automatic_registration_response): fail on "+CREG: 0,0"
3436
3437 2008-04-10  Tambet Ingo  <tambet@gmail.com>
3438
3439         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
3440
3441 2008-04-10  Tambet Ingo  <tambet@gmail.com>
3442
3443         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
3444         Make it compile again by commenting out broken code that at first didn't work and
3445         now didn't compile either.
3446
3447 2008-04-08  Dan Williams  <dcbw@redhat.com>
3448
3449         * libnm-glib/nm-object-cache.c
3450           libnm-glib/nm-settings.c
3451           src/dhcp-manager/nm-dhcp-manager.c
3452           system-settings/plugins/ifcfg-fedora/plugin.c
3453           system-settings/plugins/ifcfg-suse/plugin.c
3454           system-settings/src/nm-system-config-hal-manager.c
3455           libnm-util/nm-utils.c
3456                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
3457                         not threadsafe anyway
3458
3459 2008-04-08  Dan Williams  <dcbw@redhat.com>
3460
3461         * system-settings/src/main.c
3462                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
3463                         callbacks take a device type too
3464
3465 2008-04-08  Dan Williams  <dcbw@redhat.com>
3466
3467         The system settings service will now create a new default DHCP connection
3468         for wired devices that have no existing applicable connection.
3469
3470         * system-settings/src/nm-system-config-hal-manager.c
3471           system-settings/src/nm-system-config-hal-manager.h
3472                 - (nm_system_config_hal_manager_get_type_for_udi): new function
3473
3474         * system-settings/src/dbus-settings.c
3475           system-settings/src/dbus-settings.h
3476                 - (nm_sysconfig_settings_get_connections): new function
3477                 - (nm_sysconfig_settings_is_device_managed): new function
3478
3479         * system-settings/src/main.c
3480                 - (load_stuff): check for wired devices that need a default connection
3481                 - (get_details_for_udi): get interface and MAC address from HAL
3482                 - (add_default_dhcp_connection): add a default connection for a wired
3483                         device if needed
3484                 - (device_added_cb, device_removed_cb): do the right thing with
3485                         wired devices and their default connections on HAL device events
3486
3487 2008-04-07  Dan Williams  <dcbw@redhat.com>
3488
3489         * libnm-glib/nm-device.c
3490           libnm-glib/nm-device.h
3491                 - Proxy the 'managed' property
3492
3493 2008-04-07  Dan Williams  <dcbw@redhat.com>
3494
3495         * src/nm-gsm-device.c
3496           src/nm-cdma-device.c
3497                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
3498                         handler to transition to DISCONNECTED
3499
3500 2008-04-07  Dan Williams  <dcbw@redhat.com>
3501
3502         Patch from Bill Nottingham
3503
3504         * dispatcher-daemon/NetworkManagerDispatcher.c
3505                 - ignore backup/packaging crufy (rh #440143)
3506
3507 2008-04-07  Dan Williams  <dcbw@redhat.com>
3508
3509         * include/NetworkManager.h
3510                 - Remove the DOWN and CANCELLED device states
3511                 - Add UNMANAGED and UNAVAILABLE device states
3512                 - Document the device states
3513
3514         * introspection/nm-device.xml
3515           src/nm-device-interface.c
3516           src/nm-device-interface.h
3517                 - Add the 'managed' property
3518
3519         * test/nm-tool.c
3520                 - (detail_device): print out device state
3521
3522         * src/NetworkManagerSystem.h
3523           src/backends/NetworkManagerArch.c
3524           src/backends/NetworkManagerDebian.c
3525           src/backends/NetworkManagerFrugalware.c
3526           src/backends/NetworkManagerGentoo.c
3527           src/backends/NetworkManagerMandriva.c
3528           src/backends/NetworkManagerPaldo.c
3529           src/backends/NetworkManagerRedHat.c
3530           src/backends/NetworkManagerSlackware.c
3531           src/backends/NetworkManagerSuSE.c
3532                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
3533                    nm_system_device_free_system_config): remove; they were unused and
3534                         their functionality should be re-implemented in each distro's
3535                         system settings service plugin 
3536
3537         * src/nm-gsm-device.c
3538           src/nm-gsm-device.h
3539           src/nm-cdma-device.c
3540           src/nm-cdma-device.h
3541                 - (*_new): take the 'managed' argument
3542
3543         * src/nm-device.c
3544                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
3545                 - (nm_device_init): start in unmanaged state, not disconnected
3546                 - (constructor): don't start device until the system settings service
3547                         has had a chance to figure out if the device is managed or not
3548                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
3549                         don't set device state here, let callers handle that as appropriate
3550                 - (nm_device_dispose): don't touch the device if it's not managed
3551                 - (set_property, get_property, nm_device_class_init): implement the
3552                         'managed' property
3553                 - (nm_device_state_changed): bring the device up if its now managed,
3554                         and deactivate it if it used to be active
3555                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
3556                         with the managed state
3557
3558         * src/nm-hal-manager.c
3559                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
3560                         take initial managed state and pass it along to device constructors
3561                 - (create_device_and_add_to_list): get managed state and pass to
3562                         type creators
3563
3564         * src/nm-device-802-11-wireless.c
3565                 - (real_can_activate): fold in most of
3566                         nm_device_802_11_wireless_can_activate()
3567                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
3568                 - (link_timeout_cb): instead of deactivating, change device state and
3569                         let the device state handler to it
3570                 - (real_update_hw_address): clean up
3571                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
3572                         handler to transition to DISCONNECTED if the device isn't rfkilled
3573
3574         * src/nm-device-802-3-ethernet.c
3575                 - (set_carrier): move above callers and get rid of prototype
3576                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
3577                         idle handler to transition to DISCONNECTED if the device has a
3578                         carrier
3579                 - (real_update_hw_address): clean up
3580                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
3581                         deactivation directly as deactivation doesn't change state anymore
3582
3583         * src/NetworkManagerPolicy.c
3584                 - (schedule_activate_check): yay, remove wireless_enabled hack since
3585                         the NMManager and wireless devices work that out themselves now
3586                 - (device_state_changed): change to a switch and update for new device
3587                         states
3588                 - (device_carrier_changed): remove; device handles this now through
3589                         state changes
3590                 - (device_added): don't care about carrier any more; the initial
3591                         activation check will happen when the device transitions to
3592                         DISCONNECTED
3593
3594         * src/nm-manager.c
3595                 - (dispose): clear unmanaged devices
3596                 - (handle_unmanaged_devices): update unmanaged device list and toggle
3597                         the managed property on each device when needed
3598                 - (system_settings_properties_changed_cb): handle signals from the
3599                         system settings service
3600                 - (system_settings_get_unmanaged_devices_cb): handle callback from
3601                         getting the unmanaged device list method call
3602                 - (query_unmanaged_devices): ask the system settings service for its
3603                         list of unmanaged devices
3604                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
3605                         devices
3606                 - (manager_set_wireless_enabled): push rfkill state down to wireless
3607                         devices directly and let them handle the necessary state transitions
3608                 - (manager_device_state_changed): update for new device states
3609                 - (nm_manager_add_device): set initial rfkill state on wireless devices
3610                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
3611                 - (nm_manager_activate_connection): return error if the device is
3612                         unmanaged
3613                 - (nm_manager_sleep): handle new device states correctly; don't change
3614                         the state of unavailable/unmanaged devices
3615
3616         * libnm-glib/nm-device-802-11-wireless.c
3617                 - (state_changed_cb): update for new device states
3618
3619 2008-04-07  Dan Williams  <dcbw@redhat.com>
3620
3621         * marshallers/nm-marshal.list
3622                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
3623
3624 2008-04-07  Dan Williams  <dcbw@redhat.com>
3625
3626         * system-settings/src/main.c
3627                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
3628                         plugins to the dbus settings object
3629                 - (load_stuff): start the dbus service after grabbing unmanaged devices
3630                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
3631                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
3632                 - (main): switch default logging to syslog with a 'debug' option to
3633                         output to console; start up the HAL manager
3634
3635 2008-04-07  Dan Williams  <dcbw@redhat.com>
3636
3637         * introspection/nm-settings-system.xml
3638           introspection/Makefile.am
3639                 - Define the unmanaged devices interface for the system settings service
3640
3641         * system-settings/src/nm-system-config-hal-manager.c
3642           system-settings/src/nm-system-config-hal-manager.h
3643           system-settings/src/nm-system-config-hal-manager-private.h
3644           system-settings/src/Makefile.am
3645                 - Add a lightweight HAL manager object for tracking network devices for
3646                         the purpose of determining unmanaged devices and which devices need
3647                         the default DHCP connections
3648
3649         * system-settings/src/nm-system-config-interface.c
3650           system-settings/src/nm-system-config-interface.h
3651                 - (nm_system_config_interface_init): add the HAL manager as an argument
3652                 - (nm_system_config_interface_get_unmanaged_devices): implement
3653                 - Define 'unmanaged-devices-changed' signal
3654
3655         * system-settings/src/dbus-settings.c
3656           system-settings/src/dbus-settings.h
3657                 - Implement the unmanaged devices interface; some cleanups
3658
3659         * system-settings/plugins/ifcfg-suse/plugin.c
3660                 - Fixup for plugin interface changes
3661
3662         * system-settings/plugins/ifcfg-fedora/plugin.c
3663                 - (get_ether_device_udi): new function; find the device that has
3664                         a specified MAC address and return its UDI
3665                 - (get_udi_for_connection): new function; try to find the specific
3666                         device a connection is locked to, if any
3667                 - (device_added_cb, device_removed_cb): update unmanaged device list in
3668                         response to HAL events
3669                 - (get_unmanaged_devices): new function; return unmanaged device list
3670                 - (build_one_connection): set the connection's locked device, if any
3671                 - (write_auto_wired_connection): remove
3672                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
3673                 - (handle_connection_changed): alert listeners that the unmanaged device
3674                         list has changed
3675                 - (init): fixup for plugin interface changes, implement unmanaged devices
3676
3677         * system-settings/plugins/ifcfg-fedora/parser.c
3678           system-settings/plugins/ifcfg-fedora/parser.h
3679                 - (connection_data_free): clean up connection UDI
3680
3681 2008-04-07  Dan Williams  <dcbw@redhat.com>
3682
3683         * system-settings/plugins/ifcfg-fedora/parser.c
3684                 - (make_ip4_setting): fix parsing of DNS servers
3685
3686 2008-04-05  Dan Williams  <dcbw@redhat.com>
3687
3688         * Makefile.am
3689           configure.in
3690           marshallers/Makefile.am
3691           marshallers/nm-marshal-main.c
3692           marshallers/nm-marshal.list
3693                 - Consolidate marshallers
3694
3695         * libnm-glib/nm-marshal-main.c
3696           libnm-glib/nm-marshal.list
3697           src/marshallers/Makefile.am
3698           src/marshallers/nm-marshal-main.c
3699           src/marshallers/nm-marshal.list
3700                 - Remove
3701
3702         * libnm-glib/Makefile.am
3703           src/Makefile.am
3704           src/dhcp-manager/Makefile.am
3705           src/ppp-manager/Makefile.am
3706           src/supplicant-manager/Makefile.am
3707           src/vpn-manager/Makefile.am
3708                 - Use consolidated marshallers
3709
3710 2008-04-04  Dan Williams  <dcbw@redhat.com>
3711
3712         * src/nm-hal-manager.c
3713           src/nm-hal-manager.h
3714                 - (hal_init): don't look for hardware here
3715                 - (nm_hal_manager_start): new function; look for hardware here instead,
3716                         which can be done at a later time than hal_init()
3717
3718         * src/NetworkManager.c
3719                 - (main): start HAL manager after entering the main loop
3720
3721 2008-04-03  Dan Williams  <dcbw@redhat.com>
3722
3723         * libnm-glib/nm-settings.c
3724           libnm-glib/nm-settings.h
3725             - (nm_exported_connection_get_id): new function
3726                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
3727
3728 2008-04-02  Dan Williams  <dcbw@redhat.com>
3729
3730         * src/nm-device-interface.c
3731           src/nm-device-interface.h
3732           src/nm-device.c
3733           src/nm-device.h
3734                 - Rename check_connection_conflicts() to check_connection_compatible()
3735
3736         * src/nm-device-802-11-wireless.c
3737                 - (real_check_connection_conflicts): remove
3738                 - (real_check_connection_compatible): implement; match MAC address
3739
3740         * src/nm-device-802-3-ethernet.c
3741                 - (real_check_connection_conflicts): remove
3742                 - (real_check_connection_compatible): implement; match MAC address
3743                 - (real_get_best_auto_connection): correctly handle PPPoE cases
3744
3745         * src/nm-manager.c
3746                 - (check_connection_allowed): remove; unused until PolicyKit integration
3747                 - (internal_activate_device): check whether the connection is compatible
3748                         with the device before trying to activate it
3749
3750 2008-04-02  Dan Williams  <dcbw@redhat.com>
3751
3752         * system-settings/plugins/ifcfg-fedora/parser.c
3753                 - (read_mac_address): new function; read in MAC address and stuff it
3754                         into the connection
3755                 - (add_one_wep_key): remove debug spew
3756                 - (make_wireless_security_setting): validate the default TX key; don't
3757                         add the wireless-security setting if the connection doesn't need
3758                         security; don't leak the keys shvarFile on error cases
3759                 - (make_wireless_setting, make_wired_setting): populate device's MAC
3760                         address
3761
3762 2008-04-02  Dan Williams  <dcbw@redhat.com>
3763
3764         * libnm-util/nm-setting-connection.c
3765           libnm-util/nm-setting-connection.h
3766                 - (set_property, get_property, nm_setting_connection_class_init): remove
3767                         the 'lockdown' property; it's functionality will be replaced by
3768                         PolicyKit instead
3769
3770 2008-04-01  Dan Williams  <dcbw@redhat.com>
3771
3772         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
3773
3774         * configure.in
3775           initscript/Makefile.am
3776           initscript/Mandriva/Makefile.am
3777           initscript/Mandriva/networkmanager.in
3778           initscript/Mandriva/networkmanagerdispatcher.in
3779           src/backends/Makefile.am
3780           src/backends/NetworkManagerMandriva.c
3781           system-settings/plugins/Makefile.am
3782                 - Add Mandriva support
3783
3784 2008-03-31  Dan Williams  <dcbw@redhat.com>
3785
3786         * src/vpn-manager/nm-vpn-service.c
3787                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
3788                         errors can be passed back to the caller; also no longer scheduled
3789                         as an idle handler, but called directly; and bump up VPN service
3790                         spawn timeout, 2s is really short
3791                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
3792                         but call it directly so that errors are reported on return from
3793                         ActivateConnection() and don't get lost.  If scheduled as an idle
3794                         handler, clients don't have the time to query NM for the new VPN
3795                         connection's properties before the VPN connection is torn down again
3796                         if the service couldn't be launched, and therefore launch errors
3797                         get lost.
3798
3799 2008-03-31  Dan Williams  <dcbw@redhat.com>
3800
3801         * src/vpn-manager/nm-vpn-connection.c
3802                 - (device_state_changed): send correct state on device failure too
3803                 - (plugin_state_changed): failed state means unexpected disconnection,
3804                         thus if the service goes away while the VPN connection is activated
3805                         that's a failure too
3806
3807 2008-03-31  Dan Williams  <dcbw@redhat.com>
3808
3809         * src/vpn-manager/nm-vpn-manager.c
3810           src/vpn-manager/nm-vpn-manager.h
3811                 - Make VPNManager errors more available; add a service-start-failed error
3812
3813 2008-03-31  Dan Williams  <dcbw@redhat.com>
3814
3815         * libnm-glib/nm-client.c
3816           libnm-glib/nm-client.h
3817                 - (activate_cb): pass the new active connection to callback; fix
3818                         message when no callback is specified
3819
3820 2008-03-30  Dan Williams  <dcbw@redhat.com>
3821
3822         * libnm-util/nm-setting-wireless-security.c
3823                 - (need_secrets): only require key0 if the transmit key index is also
3824                         0
3825                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
3826
3827 2008-03-29  Dan Williams  <dcbw@redhat.com>
3828
3829         * libnm-util/nm-setting-8021x.c
3830           libnm-util/nm-setting-ip4-config.c
3831           libnm-util/nm-setting-vpn-properties.c
3832           libnm-util/nm-setting-vpn.c
3833           libnm-util/nm-setting-wireless-security.c
3834           libnm-util/nm-setting-wireless.c
3835           libnm-util/nm-utils.c
3836           src/dhcp-manager/nm-dhcp-manager.c
3837           src/nm-activation-request.c
3838           src/nm-ip4-config.c
3839           src/nm-manager.c
3840           src/nm-properties-changed-signal.c
3841           src/ppp-manager/nm-pppd-plugin.c
3842           src/supplicant-manager/nm-supplicant-interface.c
3843           src/vpn-manager/nm-vpn-connection.c
3844                 - consistently use nm-dbus-glib-types.h
3845
3846 2008-03-29  Dan Williams  <dcbw@redhat.com>
3847
3848         * src/vpn-manager/nm-vpn-connection.c
3849                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
3850                         not string
3851
3852         * src/nm-activation-request.c
3853                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
3854                         not string
3855
3856 2008-03-29  Dan Williams  <dcbw@redhat.com>
3857
3858         * libnm-glib/nm-device-802-11-wireless.c
3859                 - (access_point_added_proxy): create new APs if not found
3860
3861 2008-03-29  Dan Williams  <dcbw@redhat.com>
3862
3863         * libnm-glib/nm-client.c
3864                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
3865                         before freeing them
3866
3867 2008-03-29  Dan Williams  <dcbw@redhat.com>
3868
3869         * system-settings/plugins/ifcfg-fedora/parser.c
3870                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
3871                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
3872
3873 2008-03-29  Dan Williams  <dcbw@redhat.com>
3874
3875         * system-settings/plugins/ifcfg-fedora/parser.c
3876                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
3877
3878 2008-03-27  Dan Williams  <dcbw@redhat.com>
3879
3880         * nm-object.c
3881                 - (nm_object_queue_notify): don't notify multiple times for the same
3882                         property
3883
3884         * nm-object-private.h
3885                 - (handle_ptr_array_return): return NULL if the given array is NULL or
3886                         if it has zero elements
3887
3888         * nm-ip4-config.c
3889                 - (finalize): use g_ptr_array_foreach() when freeing domains
3890                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
3891
3892         * nm-active-connection.c
3893                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
3894
3895         * nm-device-802-11-wireless.c
3896           nm-device-802-11-wireless.h
3897                 - (nm_device_802_11_wireless_get_access_points): return const; use
3898                         handle_ptr_array_return()
3899
3900         * nm-types.c
3901                 - (nm_object_array_demarshal): always create an array, even of length
3902                         zero, to distinguish between "NM returned no items" and "haven't
3903                         asked NM yet"
3904
3905         * nm-client.c
3906                 - (dispose): free active connections too
3907                 - (proxy_name_owner_changed): free active connections too when NM goes
3908                         away
3909                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
3910                 - (nm_client_get_active_connections): use handle_ptr_array_return()
3911
3912 2008-03-26  Dan Williams  <dcbw@redhat.com>
3913
3914         Rework VPN connection handling for a more consistent D-Bus API.  The
3915         VPNManager object has been removed, and active VPN connections are now the
3916         same as any other active connection.  The Manager object's ActivateConnection
3917         and DeactivateConnection methods are used to start and stop a VPN connection,
3918         and the VPNConnection objects are subclasses of the ActiveConnection objects.
3919         When activating a VPN connection, pass the path of the active connection
3920         to which the VPN connection is tied in the 'specific_object' argument.
3921
3922         Consequently, the libnm-glib API has been reworked to match this arrangement,
3923         with the VPNManager object removed, and the NMVPNConnection objects now
3924         being subclasses of NMActiveConnection.
3925
3926 2008-03-25  Dan Williams  <dcbw@redhat.com>
3927
3928         Patch from Björn Martensen <bjoern.martensen@gmail.com>
3929
3930         * initscript/Arch/networkmanager.in
3931           initscript/Arch/networkmanager-dispatcher.in
3932                 - Updates for Arch Linux (gnome.org #523701)
3933
3934 2008-03-25  Dan Williams  <dcbw@redhat.com>
3935
3936         * libnm-glib/nm-ip4-config.c
3937           libnm-glib/nm-active-connection.c
3938           libnm-glib/nm-access-point.c
3939                 - Use nm_object_queue_notify() instead of g_object_notify()
3940
3941         * libnm-glib/nm-device.c
3942                 - (demarshal_ip4_config): distinguish between successful but missing
3943                         ip4-config request, and unsuccessful and missing ip4-config request
3944                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
3945                         path
3946                 - Use nm_object_queue_notify() instead of g_object_notify()
3947
3948         * libnm-glib/nm-device-802-11-wireless.c
3949                 - (demarshal_active_ap): distinguish between successfull but missing
3950                         active-ap request, and unsuccessful and missing active-ap request
3951                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
3952                         code
3953                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
3954                         for the NMClient to notify the device that wireless is disabled,
3955                         and therefore to clear the AP list and active AP
3956                 - Use nm_object_queue_notify() instead of g_object_notify()
3957
3958         * libnm-glib/nm-client.c
3959                 - (poke_wireless_devices_with_rf_status): new function
3960                 - (update_wireless_status): notify wireless devices of the rfkill status
3961                         so they can clean up if needed
3962                 - Use nm_object_queue_notify() instead of g_object_notify()
3963
3964 2008-03-25  Dan Williams  <dcbw@redhat.com>
3965
3966         * libnm-glib/nm-object.c
3967           libnm-glib/nm-object-private.h
3968                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
3969                         signals to an idle handler
3970                 - (nm_object_get_property): add a timeout to the D-Bus method call
3971
3972 2008-03-25  Dan Williams  <dcbw@redhat.com>
3973
3974         * introspection/nm-device-cdma.xml
3975           introspection/nm-device-gsm.xml
3976           introspection/Makefile.am
3977           introspection/all.xml
3978                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
3979
3980         * src/nm-gsm-device.h
3981           src/nm-gsm-device.c
3982           src/nm-cdma-device.h
3983           src/nm-cdma-device.c
3984           src/Makefile.am
3985                 - Implement PropertiesChanged signals
3986
3987         * libnm-glib/nm-cdma-device.c
3988           libnm-glib/nm-cdma-device.c
3989                 - Attach to PropertiesChanged signals
3990
3991 2008-03-24  Dan Williams  <dcbw@redhat.com>
3992
3993         * libnm-glib/nm-client.c
3994                 - (client_device_added_proxy): add new devices to the internal device
3995                         list so they appear to clients
3996
3997 2008-03-24  Dan Williams  <dcbw@redhat.com>
3998
3999         Massive fixup of libnm-glib to:
4000         a) have all objects (with the exception of VPN) cache their properties and
4001                 update them asynchronously on PropertiesChanged signals from NM
4002         b) return internal const data for most attributes/properties instead of
4003                 allocated values that the caller must free
4004         c) cache wrapped objects such that a given D-Bus path will always map to the
4005                 same GObject returned by libnm-glib
4006         d) remove a few signals and move them to GObject property notifications
4007         e) match recent NM D-Bus API changes for activation/deactivation
4008         f) remove some private functions from libnm-glib headers
4009
4010 2008-03-20  Dan Williams  <dcbw@redhat.com>
4011
4012         * src/nm-manager.c
4013                 - (nm_manager_update_state, manager_device_state_changed,
4014                    nm_manager_activate_device, connection_added_default_handler,
4015                    impl_manager_activate_connection, impl_manager_deactivate_connection):
4016                         queue PropertyChanged singals when the active connections change
4017
4018 2008-03-20  Dan Williams  <dcbw@redhat.com>
4019
4020         * introspection/nm-manager.xml
4021           introspection/nm-manager-client.xml
4022                 - (ActivateConnection): return the object path of the active connection
4023                         on success
4024                 - (GetActiveConnections): remove
4025                 - (DeactivateConnection): new function; deactivate a currently active
4026                         connection
4027                 - Add an ActiveConnections property which returns an array of
4028                         active connection object paths
4029
4030         * introspection/nm-device.xml
4031                 - (Deactivate): remove
4032
4033         * introspection/all.xml
4034                 - Add ActiveConnection introspection
4035
4036         * introspection/nm-active-connection.xml
4037                 - Add the ActiveConnection object
4038
4039         * include/NetworkManager.h
4040                 - Add the Connection.Active D-Bus interface
4041
4042         * src/nm-device-interface.c
4043                 - (impl_device_deactivate): remove
4044
4045         * src/nm-activation-request.c
4046           src/nm-activation-request.c
4047           src/Makefile.am
4048                 - Implement the Connection.Active D-Bus interface
4049
4050         * src/nm-manager.c
4051                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
4052                 - (nm_manager_activate_device): return the active connection path
4053                 - (connection_added_default_handler, impl_manager_activate_connection):
4054                         return the active connection to the caller
4055                 - (add_one_connection_element, impl_manager_get_active_connections):
4056                         remove
4057                 - (impl_manager_deactivate_connection): new function; deactivate an
4058                         active connection
4059
4060         * libnm-glib/nm-device.c
4061           libnm-glib/nm-device.h
4062                 - Remove Deactivate() function
4063
4064 2008-03-19  Dan Williams  <dcbw@redhat.com>
4065
4066         * introspection/nm-manager.xml
4067           introspection/nm-manager-client.xml
4068                 - Rename the ActivateDevice method to ActivateConnection to better
4069                         reflect it's usage; it's arguments get reordered a bit too
4070                 - Convert GetActiveConnections method return from a struct to a dict
4071
4072         * include/NetworkManager.h
4073                 - Define the dict keys for return value of GetActiveConnections
4074
4075         * src/nm-manager.c
4076                 - impl_manager_activate_device -> impl_manager_activate_connection
4077                 - (add_one_connection_element): return a populated hash table, not
4078                         a structure
4079
4080         * libnm-glib/nm-client.c
4081           libnm-glib/nm-client.h
4082                 - nm_client_activate_device -> nm_client_activate_connection
4083                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
4084                 - (nm_client_get_active_connections): return a GSList of GHashTables,
4085                         instead of the custom structures.  Each element of the returned list
4086                         must be freed with nm_client_free_active_connections_element()
4087
4088 2008-03-18  Dan Williams  <dcbw@redhat.com>
4089
4090         * system-settings/plugins/ifcfg-fedora/parser.c
4091           system-settings/plugins/ifcfg-fedora/parser.h
4092           system-settings/plugins/ifcfg-fedora/plugin.c
4093                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
4094                         profiles.  DNS servers and searches must now be stored in the ifcfg
4095                         files themselves
4096
4097 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4098
4099         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
4100         print out username and password, it's supposed to be a secret.
4101
4102         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
4103         request and set the device state accordingly.
4104
4105 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4106
4107         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
4108
4109         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
4110
4111 2008-03-18  Dan Williams  <dcbw@redhat.com>
4112
4113         * src/vpn-manager/nm-vpn-connection.c
4114                 - (get_secrets_cb): handle new GetSecrets return format
4115
4116 2008-03-18  Dan Williams  <dcbw@redhat.com>
4117
4118         Adapt system settings service for split 802.1x.
4119
4120         * system-settings/src/nm-system-config-interface.h
4121                 - clarify return value of get_secrets()
4122
4123         * system-settings/src/dbus-settings.c
4124                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
4125                 - (check_for_secrets): check if there actually secrets returned by a
4126                         plugin
4127                 - (exported_connection_get_secrets): just return the plugin-returned
4128                         hash of settings' secrets if it looks valid
4129
4130         * system-settings/plugins/ifcfg-fedora/plugin.c
4131                 - (get_secrets): add split secrets with correct format to reply hash
4132
4133         * system-settings/plugins/ifcfg-fedora/parser.c
4134           system-settings/plugins/ifcfg-fedora/parser.h
4135                 - (copy_one_cdata_secret, connection_data_copy_secrets,
4136                    connection_data_free, connection_data_add): keep secrets for
4137                         different settings in different hashes
4138
4139 2008-03-17  Tambet Ingo  <tambet@gmail.com>
4140
4141         Clean up activating device deactivation.
4142
4143         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
4144         should be done whether the device activation gets cancelled or the device
4145         is just getting deactivated.
4146         (nm_device_activation_cancel): Remove.
4147         (nm_device_deactivate_quickly): Handle the case where device is activating.
4148
4149         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
4150         It does the exact same thing as real_deactivate_quickly().
4151
4152 2008-03-17  Dan Williams  <dcbw@redhat.com>
4153
4154         Split the 802.1x bits out of the wireless-security setting so they are
4155         generalized enough for wired 802.1x to use too.
4156
4157         * introspection/nm-exported-connection.xml
4158                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
4159                         of just a hash of the secrets for one setting
4160
4161         * libnm-util/nm-setting-wireless-security.c
4162           libnm-util/nm-setting-wireless-security.h
4163                 - Remove 802.1x-specific stuff
4164                 - Added leap-username and leap-password properties for old-school LEAP
4165
4166         * src/nm-device.c
4167           src/nm-device.h
4168                 - (connection_secrets_updated_cb): take a list of updated settings names,
4169                         not just one
4170
4171         * src/supplicant-manager/nm-supplicant-config.c
4172           src/supplicant-manager/nm-supplicant-config.h
4173                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
4174                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
4175                         to nm_supplicant_config_add_setting_8021x()
4176                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
4177                         the supplicant config
4178
4179         * src/nm-device-802-11-wireless.c
4180                 - (build_supplicant_config): pass in the 802.1x setting too, if any
4181                 - (real_connection_secrets_updated): take a list of updated settings
4182                         names, not just one
4183
4184         * src/nm-device-802-3-ethernet.c
4185           src/nm-cdma-device.c
4186           src/nm-gsm-device.c
4187                 - (real_connection_secrets_updated_cb): take a list of updated settings
4188                         names, not just one
4189
4190         * src/nm-activation-request.c
4191           src/nm-activation-request.h
4192                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
4193                         now passes a list of updated settings names, not just one
4194                 - (update_one_setting): new function; handle one updated setting
4195                 - (get_secrets_cb): handle multiple settings returned from the
4196                         settings service; have to be careful of ordering here as there are
4197                         some dependencies between settings (ex. wireless-security and 802.1x
4198                         in some cases)
4199
4200         * src/marshallers/nm-marshal.list
4201                 - new marshaller for connection-secrets-updated signal
4202
4203         * libnm-util/nm-setting-8021x.c
4204                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
4205                         methods
4206                 - (verify): a valid 'eap' property is now required
4207
4208         * libnm-util/nm-connection.c
4209                 - (register_default_settings): add priorities to settings; there are
4210                         some dependencies between settings, and during the need_secrets
4211                         calls this priority needs to be respected.  For example, only the
4212                         wireless-security setting knows whether or not the connection is
4213                         going to use 802.1x or now, so it must be asked for secrets before
4214                         any existing 802.1x setting is
4215                 - (nm_connection_lookup_setting_type): expose
4216
4217         * libnm-util/nm-setting-wireless.c
4218                 - (verify): should verify even if all_settings is NULL; otherwise won't
4219                         catch the case where there is missing security
4220
4221         * libnm-util/nm-setting-wireless-security.c
4222                 - Remove everything to do with 802.1x
4223                 - Add old-school LEAP specific properties for username and password
4224                 - (need_secrets): rework LEAP secrets checking
4225                 - (verify): rework for LEAP and 802.1x verification
4226
4227 2008-03-17  Dan Williams  <dcbw@redhat.com>
4228
4229         * src/NetworkManagerPolicy.c
4230                 - (auto_activate_device): always remove the current activation check
4231                         from the pending activation list, otherwise when the policy gets
4232                         destroyed on NM exit it will attempt to free the already freed
4233                         activation check
4234
4235 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4236
4237         * src/backends/NetworkManagerSlackware.c 
4238         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
4239
4240         * src/backends/NetworkManagerSuSE.c: Add missing includes.
4241
4242 2008-03-14  Dan Williams  <dcbw@redhat.com>
4243
4244         * src/nm-manager.c
4245                 - (nm_device_interface_get_iface): g_object_get() will return an
4246                         allocated value, so this function must not return const
4247                 - (nm_device_interface_activate): free returned iface
4248
4249 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4250
4251         * libnm-util/Makefile.am: Add new files to build.
4252
4253         * libnm-util/nm-connection.c: Register NMSetting8021x.
4254
4255         * libnm-util/nm-setting-8021x.c
4256         * libnm-util/nm-setting-8021x.h: Implement.
4257
4258 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4259
4260         * libnm-util/Makefile.am: Add new files to build.
4261
4262         * libnm-util/nm-connection.c: Register NMSetting8021x.
4263
4264         * libnm-util/nm-setting-8021x.c
4265         * libnm-util/nm-setting-8021x.h: Implement.
4266
4267 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4268
4269         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
4270         data.
4271
4272 2008-03-14  Dan Williams  <dcbw@redhat.com>
4273
4274         * include/wireless-helper.h
4275           include/Makefile.am
4276                 - One place for all the junk needed for #including wireless.h
4277
4278         * test/nm-tool.c
4279           src/NetworkManagerAP.c
4280           src/wpa.c
4281           src/Makefile.am
4282           libnm-util/nm-utils.c
4283           libnm-util/nm-setting-wireless.c
4284           libnm-glib/nm-device-802-11-wireless.c
4285           libnm-glib/nm-access-point.c
4286           libnm-glib/libnm-glib-test.c
4287                 - include wireless-helper.h, not iwlib.h
4288
4289         * configure.in
4290                 - Don't need libiw really, just need to check for wireless.h
4291
4292         * src/kernel-types.h
4293                 - Remove; used types moved into wpa.c
4294
4295         * src/nm-device-802-11-wireless.c
4296                 - (nm_device_802_11_wireless_update_signal_strength,
4297                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
4298                    nm_device_802_11_wireless_set_mode,
4299                    nm_device_802_11_wireless_get_frequency,
4300                    nm_device_802_11_wireless_get_ssid,
4301                    nm_device_802_11_wireless_set_ssid,
4302                    nm_device_802_11_wireless_get_bitrate,
4303                    nm_device_802_11_wireless_get_bssid,
4304                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
4305                         instead of iwlib functions
4306
4307 2008-03-14  Dan Williams  <dcbw@redhat.com>
4308
4309         * src/ppp-manager/nm-ppp-manager.c
4310                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
4311                         should only take the DBusGMethodInvocation argument, not user/pass
4312                         too.  With dbus-glib, async functions only take 2 C arguments since
4313                         the real dbus method arguments get passed back with
4314                         dbus_g_method_return()
4315
4316 2008-03-13  Tambet Ingo  <tambet@gmail.com>
4317
4318         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
4319         Adapt the changes of NMSettingIP4Config.
4320
4321 2008-03-13  Dan Williams  <dcbw@redhat.com>
4322
4323         * src/NetworkManagerUtils.c
4324           src/NetworkManagerUtils.h
4325                 - (nm_ether_ntop): replacement for iw_ether_ntop()
4326
4327         * src/NetworkManagerAP.c
4328           src/nm-device-802-11-wireless.c
4329           src/nm-device-802-3-ethernet.c
4330                 - s/iw_ether_ntop/nm_ether_ntop/g
4331
4332 2008-03-13  Dan Williams  <dcbw@redhat.com>
4333
4334         * src/NetworkManagerPolicy.c
4335                 - (update_routing_and_dns): never set the default route through an
4336                         IPv4LL addressed device
4337
4338 2008-03-13  Dan Williams  <dcbw@redhat.com>
4339
4340         * NetworkManagerUtils.c
4341           NetworkManagerUtils.h
4342                 - Remove NMSock stuff
4343                 - Remove the completion stuff
4344
4345         * nm-device.c
4346           nm-device.h
4347           NetworkManager.c
4348           NetworkManagerSystem.c
4349           autoip.c
4350           nm-device-802-11-wireless.c
4351           nm-device-802-3-ethernet.c
4352                 - Remove NMSock and completion stuff
4353                 - Remove nm_ioctl_info()
4354
4355 2008-03-12  Dan Williams  <dcbw@redhat.com>
4356
4357         * src/nm-device.c
4358                 - (merge_ip4_config): avoid duplicates
4359
4360 2008-03-12  Dan Williams  <dcbw@redhat.com>
4361
4362         * libnm-util/nm-setting-ip4-config.c
4363           libnm-util/nm-setting-ip4-config.h
4364                 - Remove 'manual' and 'autoip' properties
4365                 - Add 'method' property
4366                 - (verify): fix verification with 'method'
4367                 - (finalize): free 'method'
4368                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
4369                         up for 'method'
4370
4371         * src/nm-device.c
4372                 - (real_act_stage3_ip_config_start): check IP4Config method
4373                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
4374                         the future
4375                 - (merge_ip4_config): IP settings are valid with DHCP too
4376                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
4377                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
4378
4379         * src/nm-device-802-11-wireless.c
4380                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
4381                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
4382                         only on demand
4383
4384         * system-settings/plugins/ifcfg-fedora/parser.c
4385           system-settings/plugins/ifcfg-suse/parser.c
4386                 - (make_ip4_setting): fix up for 'method'
4387
4388 2008-03-12  Dan Williams  <dcbw@redhat.com>
4389
4390         * system-settings/plugins/ifcfg-fedora/parser.c
4391           system-settings/plugins/ifcfg-fedora/parser.h
4392                 - (get_ifcfg_name): ignore more file suffixes
4393                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
4394
4395 2008-03-12  Dan Williams  <dcbw@redhat.com>
4396
4397         * configure.in
4398                 - Bring in the bits of gnome-common we actually use (all 15 lines)
4399
4400 2008-03-12  Dan Williams  <dcbw@redhat.com>
4401
4402         * system-settings/plugins/ifcfg-fedora/plugin.c
4403                 - (write_auto_wired_connection): new function; write out an auto
4404                         wired connection file since the applet isn't doing it any more
4405                 - (reload_all_connections): write out the auto wired connection file
4406                         if there aren't any wired connections already
4407                 - (init): don't leak a GError
4408
4409 2008-03-12  Dan Williams  <dcbw@redhat.com>
4410
4411         * src/nm-device-interface.c
4412                 - (nm_device_interface_activate): print the ID of the connection
4413                         that's about to be activated
4414
4415 2008-03-12  Dan Williams  <dcbw@redhat.com>
4416
4417         Harmonize the 802.11 bitrate API
4418
4419         * introspection/nm-access-point.xml
4420                 - 'Rate' -> 'MaxBitrate'; clarify units
4421
4422         * introspection/nm-device-802-11-wireless.xml
4423                 - Clarify units of 'Bitrate'
4424
4425         * src/NetworkManagerAP.c
4426           src/NetworkManagerAP.h
4427                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
4428                         property to 'max-bitrate'
4429                 - (foreach_property_cb): convert rate to Kb/s
4430
4431         * src/nm-device-802-11-wireless.c
4432                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
4433
4434         * libnm-glib/nm-access-point.c
4435           libnm-glib/nm-access-point.h
4436                 - 'rate' -> 'max-bitrate'
4437
4438         * test/nm-tool.c
4439           libnm-glib/libnm-glib-test.c
4440                 - Fix up for these changes
4441
4442 2008-03-12  Dan Williams  <dcbw@redhat.com>
4443
4444         * src/nm-device.c
4445                 - (nm_device_set_ip4_config): don't send property notifications when
4446                         the ip4 config is set to NULL; it causes a PropertyChanged signal
4447                         which dbus-glib can't parse because the value is NULL, which isn't
4448                         a legal object path.  Setting the IP4 config to NULL is only
4449                         valid when deactivating a device anyway, so the device state change
4450                         will alert listeners that the ip4 config is invalid.
4451
4452 2008-03-12  Dan Williams  <dcbw@redhat.com>
4453
4454         * src/nm-properties-changed-signal.c
4455                 - (add_to_string): better handling of NULL objects
4456
4457 2008-03-12  Dan Williams  <dcbw@redhat.com>
4458
4459         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
4460         convert the libnm-glib NMDevice8023Ethernet to cached properties
4461
4462         * introspection/nm-device-802-3-ethernet.xml
4463                 - New 'Carrier' property
4464                 - New 'PropertiesChanged' signal
4465
4466         * introspection/nm-device.xml
4467                 - Remove 'Carrier' property
4468                 - Remove 'CarrierChanged' signal
4469
4470         * src/nm-device-interface.c
4471           src/nm-device-interface.h
4472                 - (nm_device_interface_init): remove 'carrier' property and
4473                         'carrier-changed' signal
4474
4475         * src/nm-device.c
4476           src/nm-device.h
4477                 - (nm_device_get_carrier, nm_device_set_carrier): remove
4478                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
4479                         the link here; wired device will handle that
4480                 - (handle_dhcp_lease_change): don't bother updating link here
4481                 - (get_property, nm_device_class_init): remove carrier property
4482
4483         * src/nm-device-802-11-wireless.c
4484                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
4485                         real_update_link(); wireless devices don't use carrier at all
4486                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
4487                    supplicant_iface_connection_state_cb_handler,
4488                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
4489
4490         * src/nm-device-802-3-ethernet.c
4491           src/nm-device-802-3-ethernet.h
4492                 - (nm_device_802_3_ethernet_carrier_on,
4493                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
4494                         instead of nm_device_set_carrier()
4495                 - (device_state_changed): update link from sysfs on activation;
4496                         replaces real_update_link()
4497                 - (real_update_link): remove, replaced by device_state_changed()
4498                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
4499                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
4500                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
4501                         new get_carrier function
4502                 - (get_property): add 'carrier' property
4503                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
4504                         hook into property-changed signal helper
4505
4506         * src/NetworkManagerPolicy.c
4507                 - (device_carrier_changed): will only ever be called with a wired device
4508                 - (device_added): only hook up to carrier-changed for wired devices
4509
4510         * libnm-glib/nm-device.c
4511           libnm-glib/nm-device.h
4512                 - (constructor, nm_device_class_init): remove carrier-changed signal
4513                 - (device_carrier_changed_proxy): remove; unused
4514                 - (nm_device_get_carrier): remove; carrier a property of wired devices
4515
4516         * libnm-glib/nm-device-802-3-ethernet.c
4517           libnm-glib/nm-device-802-3-ethernet.h
4518                 - Convert to cached properties like AP and Wireless objects
4519                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
4520                         instead of a 'char *', return value should not be freed
4521                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
4522                 - (constructor): hook into properties-changed helper
4523                 - (set_property, get_property): new functions
4524                 - (nm_device_802_3_ethernet_class_init): export GObject properties
4525
4526         * test/nm-tool.c
4527                 - (detail_device): strdup the wired hardware address too since it's
4528                         cached now
4529
4530         * libnm-glib/libnm-glib-test.c
4531                 - (dump_wired): strdup the wired hardware address too since it's
4532                         cached now
4533
4534 2008-03-12  Dan Williams  <dcbw@redhat.com>
4535
4536         * libnm-util/nm-setting-ip4-config.c
4537           libnm-util/nm-setting-ip4-config.h
4538                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
4539                         the 'autoip' property from the spec
4540
4541 2008-03-11  Dan Williams  <dcbw@redhat.com>
4542
4543         * src/backends/NetworkManagerGeneric.c
4544           src/backends/NetworkManagerGeneric.h
4545                 - (nm_generic_device_get_use_dhcp): remove
4546
4547 2008-03-11  Dan Williams  <dcbw@redhat.com>
4548
4549         * src/nm-device.c
4550                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
4551                         already in nm_device_set_ip4_config()
4552                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
4553                         due to a DHCP rebind fails
4554                 - (nm_device_set_ip4_config): send property notifications when the
4555                         ip4 config changes
4556                 - (get_property): only report IP4Config property during valid states
4557
4558         * src/NetworkManagerPolicy.c
4559                 - (update_routing_and_dns): ignore devices that don't have an ip4
4560                         config; add parameter 'force_update' to allow callers to specify
4561                         that changes should be made even if the default device doesn't change
4562                 - (device_ip4_config_changed): update DNS and routing when the device's
4563                         IP4Config changes, like for DHCP updates
4564                 - (device_added): listen for ip4-config property changes
4565
4566 2008-03-11  Dan Williams  <dcbw@redhat.com>
4567
4568         Fix address handling as a result of DHCP rebind/renew/reboot.
4569
4570         * src/NetworkManagerSystem.c
4571                 - (check_one_address): delete an address if it doesn't match a given
4572                         one for the same interface
4573                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
4574                         be smarter about flushing addresses (only flush ones that don't
4575                         match the one we're about to apply)
4576
4577         * src/backends/NetworkManagerDebian.c
4578           src/backends/NetworkManagerSuSE.c
4579           src/backends/NetworkManagerArch.c
4580           src/backends/NetworkManagerSlackware.c
4581           src/backends/NetworkManagerRedHat.c
4582           src/backends/NetworkManagerPaldo.c
4583           src/backends/NetworkManagerFrugalware.c
4584           src/backends/NetworkManagerGentoo.c
4585                 - (nm_system_delete_default_route): remove
4586
4587         * src/backends/NetworkManagerGeneric.c
4588           src/backends/NetworkManagerGeneric.h
4589                 - (nm_generic_enable_loopback): fix the loopback device label
4590                 - (nm_generic_delete_default_route): remove; no longer used
4591
4592 2008-03-11  Dan Williams  <dcbw@redhat.com>
4593
4594         * src/nm-device-interface.h
4595                 - Delimit property name words with '-', otherwise g_object_notify()
4596                         doesn't work the way we expect
4597
4598 2008-03-11  Tambet Ingo  <tambet@gmail.com>
4599
4600         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
4601
4602 2008-03-11  Dan Williams  <dcbw@redhat.com>
4603
4604         * src/NetworkManagerPolicy.c
4605                 - (update_routing_and_dns): don't change anything if the default device
4606                         hasn't changed; print something out when switching the default route
4607                         and DNS
4608
4609 2008-03-10  Tambet Ingo  <tambet@gmail.com>
4610
4611         Implement PPPoE.
4612
4613         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
4614         setting. Use "nic-$eth".
4615
4616         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
4617         the device is activating here to fix a race condition.
4618
4619         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
4620
4621         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
4622         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
4623         (nm_ppp_manager_start): Take activation request instead of connection, we might
4624         need it for asking secrets.
4625         (nm_ppp_manager_update_secrets): Implement.
4626
4627         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
4628         ppp manager start. It might be needed for asking secrets.
4629
4630         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
4631         (ppp_state_changed): Handle pppd daemon disappearing.
4632         (pppoe_stage2_config): Send activation request to ppp manager start.
4633
4634         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
4635
4636         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
4637         username and password.
4638         
4639 2008-03-10  Dan Williams  <dcbw@redhat.com>
4640
4641         * src/nm-device.c
4642                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
4643                         response to a DHCP lease change
4644                 - (dhcp_state_changed): handle DHCP lease changes while activated
4645                 - (nm_device_set_ip4_config): remove a previously set named config
4646                         when setting an ip4 config
4647
4648 2008-03-10  Dan Williams  <dcbw@redhat.com>
4649
4650         * src/nm-serial-device.c
4651                 - (nm_serial_device_send_command): report errno on error
4652                 - (get_reply_got_data): limit the size of the overall buffer
4653                 - (wait_for_reply_info_destroy): destroy result string
4654                 - (wait_for_reply_got_data): append received data to an overall buffer
4655                         until timeout, filled buffer, or error instead of keeping a per-call
4656                         buffer.  Some devices send data slowly enough that this function
4657                         gets called multiple times for the same command stream.
4658                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
4659                         wait_for_reply_got_data() here
4660
4661 2008-03-10  Dan Williams  <dcbw@redhat.com>
4662
4663         * src/nm-cdma-device.c
4664                 - (do_dial, init_modem): handle errors from
4665                         nm_serial_device_send_command_string()
4666
4667         * src/nm-gsm-device.c
4668                 - (do_dial, manual_registration, automatic_registration_get_network,
4669                    automatic_registration, enter_pin, check_pin, init_modem): handle
4670                         errors from nm_serial_device_send_command_string()
4671
4672 2008-03-10  Dan Williams  <dcbw@redhat.com>
4673
4674         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
4675
4676         * src/named-manager/nm-named-manager.c
4677                 - (compute_searches): prefer searches before domains
4678                 - (compute_domain): new function
4679                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
4680                 - (merge_one_ip4_config): if there are no searches in the source config,
4681                         merge domains of the source config into the target config
4682                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
4683
4684 2008-03-10  Dan Williams  <dcbw@redhat.com>
4685
4686         * src/nm-serial-device.c
4687                 - (get_reply_got_data): clean up indentation, shrink serial buffer
4688                 - (wait_for_reply_got_data): try to handle slower serial devices where
4689                         the reply is broken up into multiple reads by concatenating replies
4690                         together until either an error is received or the search string is
4691                         found
4692
4693 2008-03-10  Dan Williams  <dcbw@redhat.com>
4694
4695         * src/nm-device.c
4696                 - (nm_device_bring_down): deactivate the device if it's activating too,
4697                         not just if it's already activated.  This makes sure that everything
4698                         from an association attempt is cleaned up (like DHCP for example)
4699
4700 2008-03-10  Dan Williams  <dcbw@redhat.com>
4701
4702         * src/nm-serial-device.c
4703                 - (config_fd): report error from TCSETA
4704                 - (nm_serial_device_open): fail when config_fd() fails
4705
4706 2008-03-10  Dan Williams  <dcbw@redhat.com>
4707
4708         * src/nm-ip4-config.c
4709                 - (nm_ip4_config_init): allocate searches list
4710                 - (finalize): free searches list
4711
4712 2008-03-09  Dan Williams  <dcbw@redhat.com>
4713
4714         Patch from Bas Zoetekouw <bas@debian.org>
4715
4716         * src/dhcp-manager/nm-dhcp-manager.c
4717                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
4718
4719 2008-03-09  Dan Williams  <dcbw@redhat.com>
4720
4721         Patch from Bas Zoetekouw <bas@debian.org>
4722
4723         * src/nm-ip4-config.c
4724           src/nm-ip4-config.h
4725                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
4726                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
4727                         domains.  'searches' is the correct way to store multiple search
4728                         domains, whereas 'domains' is really just supposed to store one
4729                         domain.  Some sites abuse the DHCP 'domain-name' option to push
4730                         search domains to the client.
4731                 - (nm_ip4_config_add_domain): group with related functions (my patch)
4732
4733 2008-03-09  Dan Williams  <dcbw@redhat.com>
4734
4735         * src/dhcp-manager/nm-dhcp-manager.c
4736                 - (dhclient_run): send interface-specific config files to dhclient
4737
4738 2008-03-07  Dan Williams  <dcbw@redhat.com>
4739
4740         * system-settings/plugins/ifcfg-fedora/parser.c
4741                 - (is_wireless_device): new function; test a device for wireless
4742                         extensions
4743                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
4744                         test the device for wireless extensions to determine the type
4745
4746 2008-03-07  Dan Williams  <dcbw@redhat.com>
4747
4748         Change manager's StateChange signal to StateChanged for consistency.
4749
4750         * introspection/nm-manager.xml
4751                 - Add 'StateChanged' signal
4752                 - Move 'StateChange' down to the deprecated section
4753
4754         * src/nm-hal-manager.c
4755                 - (nm_hal_manager_new): connect to 'state-changed' instead
4756
4757         * src/NetworkManagerPolicy.c
4758                 - (nm_policy_new): connect to 'state-changed' instead
4759
4760         * src/nm-manager.c
4761           src/nm-manager.h
4762                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
4763                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
4764                         of 'state-change'
4765
4766         * libnm-glib/nm-client.c
4767           libnm-glib/nm-client.h
4768                 - (constructor, nm_client_class_init, client_state_changed_proxy):
4769                         track and proxy 'state-changed' instead of 'state-change'
4770
4771 2008-03-07  Dan Williams  <dcbw@redhat.com>
4772
4773         First pass of multiple active device support.  Expect bugs.
4774
4775         * src/nm-ip4-config.c
4776           src/nm-ip4-config.h
4777                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
4778                         there are better ways to do this in the named manager
4779
4780         * src/nm-device.c
4781           src/nm-device.h
4782                 - (nm_device_can_activate): return whether the device can activate a
4783                         connection right now; taking into account things like carrier state
4784                         and rfkill state
4785                 - (nm_device_get_best_auto_connection): renamed from
4786                         nm_device_get_best_connection
4787                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
4788                         device subclasses themselves, so that each device can override the
4789                         MTU from it's NMSetting subclass if needed
4790                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
4791                         in NetworkManagerSystem.c, not here
4792
4793         * src/named-manager/nm-named-manager.c
4794           src/named-manager/nm-named-manager.h
4795                 - (nm_named_manager_name_owner_changed,
4796                    nm_named_manager_dbus_connection_changed): fix for changes to
4797                         rewrite_resolv_conf()
4798                 - (compute_nameservers): don't need the NMNamedManager at all, remove
4799                         from parameter list
4800                 - (merge_one_ip4_config): new function; merge ip4 configs together
4801                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
4802                         ip4 configs; the VPN config takes precedence, then the best
4803                         device config, then the rest of the configs
4804                 - (get_domain_for_config): take the NMNamedManager as an argument
4805                         to check whether the config is the VPN config
4806                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
4807                         attribute from ip4 configs
4808                 - (add_all_ip4_configs_to_named): add all the configs in priority order
4809                 - (remove_ip4_config_from_named): fix for changes to
4810                         get_domain_for_config()
4811                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
4812                         based on its type; callers must pass in the type now
4813                 - (get_last_default_domain): remove, unused
4814                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
4815
4816         * src/nm-device-802-11-wireless.c
4817                 - (real_can_activate): new function
4818                 - (real_get_best_auto_connection): renamed from real_get_best_connection
4819                 - (real_act_stage4_get_ip4_config): handle MTU override
4820
4821         * src/nm-device-802-3-ethernet.c
4822                 - (real_can_activate): new function
4823                 - (real_get_best_auto_connection): renamed from real_get_best_connection
4824                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
4825
4826         * src/vpn-manager/nm-vpn-connection.c
4827                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
4828                         attribute on the ip4 config
4829
4830         * src/NetworkManagerPolicy.c
4831                 - (nm_policy_auto_get_best_device): remove
4832                 - (nm_policy_device_change_check): remove
4833                 - (update_default_route): new function; set the default route via
4834                         the specified device
4835                 - (get_device_priority): new function; return the priority number of
4836                         a device type WRT which one should have the default route.  Order is
4837                         (highest to lowest)  wired, wireless, GSM, CDMA.
4838                 - (update_routing_and_dns): new function; determine which device should
4839                         have the default route, then update the routing table and DNS
4840                 - (maybe_auto_activate_device): new function; if a device is now
4841                         available for activation, find out what connection it would like to
4842                         activate and do it
4843                 - (schedule_activate_check): new function; if a device can be activated
4844                         now, schedule the activation.  Each device may have only one
4845                         pending activation at a given time.
4846                 - (device_state_changed): if activation was canceled, try again,
4847                         possibly with another connection; if the device was activated,
4848                         update routing and DNS; if the device was deactivated, try again
4849                         with another connection
4850                 - (device_carrier_changed): if there is no carrier, deactivate the
4851                         device; otherwise schedule an activation check for the device
4852                 - (wireless_networks_changed): schedule an activation check for the
4853                         device
4854                 - (device_added): keep track of the signal handler IDs so they can
4855                         be removed when the device goes away
4856                 - (device_removed): remove any signal handlers that might be attached
4857                         to the device; update routing and DNS
4858                 - (schedule_activate_all): new function
4859                 - (connections_added, connection_added, connection_updated): when
4860                         connections change, schedule all devices for an activation check
4861                 - (connection_removed): when a device is deactivated because its
4862                         connection was removed, schedule another activation check for it
4863                 - (nm_policy_destroy): destroy pending activations and disconnect
4864                         all device signal handlers
4865
4866         * src/nm-manager.c
4867                 - (nm_manager_activate_device): if the device was already actived,
4868                         deactivate it
4869                 - (deactivate_old_device): remove
4870                 - (connection_added_default_handler, impl_manager_activate_device):
4871                         don't deactivate other devices when activating this one
4872
4873         * src/backends/NetworkManagerGentoo.c
4874           src/backends/NetworkManagerFrugalware.c
4875           src/backends/NetworkManagerPaldo.c
4876           src/backends/NetworkManagerRedHat.c
4877           src/backends/NetworkManagerSlackware.c
4878           src/backends/NetworkManagerArch.c
4879           src/backends/NetworkManagerSuSE.c
4880           src/backends/NetworkManagerDebian.c
4881                 - (nm_system_get_mtu): remove; MTU should be provided through the
4882                         distro's system settings service plugin instead
4883                 - (nm_system_device_add_default_route_via_device): remove
4884                 - (nm_system_device_add_default_route_via_device_with_iface): remove
4885                 - (nm_system_device_replace_default_route): new function; call
4886                         generic implementation
4887
4888         * src/backends/NetworkManagerGeneric.c
4889           src/backends/NetworkManagerGeneric.h
4890                 - (nm_generic_device_add_default_route_via_device,
4891                    nm_generic_device_add_default_route_via_device_with_iface): remove
4892                 - (nm_generic_device_replace_default_route): replace the default route
4893                         with the given route via some gateway
4894
4895         * src/NetworkManagerSystem.c
4896           src/NetworkManagerSystem.h
4897                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
4898                         to routing and DNS; but set the MTU here
4899                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
4900                         ip_iface of the active device; use the standard MTU setting function
4901                 - (nm_system_set_mtu): remove
4902                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
4903
4904 2008-03-07  Tambet Ingo  <tambet@gmail.com>
4905
4906         Rework the interaction between ppp manager and pppd plugin. Register a well
4907         known DBUS service in manager and let the plugin call it's methods instead
4908         of listening plugin's signals.
4909
4910         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
4911         of emitting signals.
4912
4913         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
4914
4915         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
4916
4917         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
4918         nm_ppp_manager_start().
4919
4920         * introspection/nm-ppp-manager.xml: New file.
4921
4922         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
4923         the case correctly where driver is trying to send -1 for the speed, which gets
4924         casted to u16 and thus is always > 0.
4925
4926 2008-03-07  Dan Williams  <dcbw@redhat.com>
4927
4928         * src/nm-hal-manager.c
4929                 - (nm_get_device_driver_name): use net.originating_device first, fall
4930                         back to physical device.  HAL has deprecated physical_device.
4931
4932         * libnm-glib/nm-device.c
4933                 - (get_product_and_vendor): use net.originating_device first, fall
4934                         back to physical device.  HAL has deprecated physical_device.
4935                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
4936
4937 2008-03-07  Dan Williams  <dcbw@redhat.com>
4938
4939         * src/nm-netlink.c
4940                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
4941                         last commit; fix that
4942                 - (get_link_cache): print error string
4943
4944 2008-03-07  Dan Williams  <dcbw@redhat.com>
4945
4946         * src/nm-netlink.c
4947                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
4948                         don't need this hack any more (Benoit Boissinot)
4949
4950 2008-03-06  Dan Williams  <dcbw@redhat.com>
4951
4952         * autogen.sh
4953                 - Die gnome-common, die
4954
4955 2008-03-04  Dan Williams  <dcbw@redhat.com>
4956
4957         Patch from Michael Biebl <biebl@debian.org>
4958
4959         * NetworkManager.pc.in
4960                 - doesn't actually depend on dbus-1
4961
4962         * libnm-util/nm-utils.h
4963                 - remove unused #include <dbus/dbus.h>
4964
4965         * libnm-glib/libnm_glib.pc.in
4966                 - depends on glib and dbus-glib
4967
4968 2008-03-02  Dan Williams  <dcbw@redhat.com>
4969
4970         * src/NetworkManagerPolicy.c
4971                 - s/device_state_changed_idle_id/update_state_id/
4972
4973 2008-03-02  Dan Williams  <dcbw@redhat.com>
4974
4975         * src/nm-device.c
4976           src/nm-device.h
4977           src/nm-device-802-11-wireless.c
4978           src/nm-device-802-3-ethernet.c
4979           src/NetworkManagerPolicy.c
4980                 - s/link_active/carrier
4981                 - nm_device_set_active_link() -> nm_device_set_carrier()
4982                 - nm_device_has_active_link() -> nm_device_get_carrier()
4983
4984 2008-03-02  Dan Williams  <dcbw@redhat.com>
4985
4986         * system-settings/plugins/ifcfg-fedora/parser.c
4987                 - (make_wireless_setting): fail connection creation on missing SSID
4988
4989 2008-02-29  Dan Williams  <dcbw@redhat.com>
4990
4991         * src/NetworkManagerPolicy.c
4992                 - (nm_policy_device_change_check): ensure that a previously active
4993                         device with a system connection has a link before denying a switch
4994                         to a user connection
4995
4996 2008-02-29  Dan Williams  <dcbw@redhat.com>
4997
4998         * src/nm-device-802-11-wireless.c
4999                 - (link_timeout_cb): try again if scanning; deactivate the device when
5000                         activated if the link dies
5001                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
5002                         15 seconds
5003
5004 2008-02-29  Dan Williams  <dcbw@redhat.com>
5005
5006         * src/nm-device-802-11-wireless.c
5007           src/nm-device-802-11-wireless.h
5008                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
5009                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
5010                 - (device_cleanup): reset the scan interval lower when the device
5011                         deactivates
5012                 - (can_scan): base decision mostly off device state, not supplicant
5013                         interface state since the supplicant interface state isn't a
5014                         great indicator of whether the device is active or not
5015                 - (request_wireless_scan): clean up; schedule the next scan here
5016                 - (schedule_scan): only back the scan interval off if a new scan
5017                         actually gets scheduled; and make scan intervals tighter when the
5018                         device is disconnected
5019                 - (supplicant_iface_state_cb_handler): fold in the bits of
5020                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
5021                         interval to minimum
5022                 - (activation_success_handler): reset scan interval to something
5023                         reasonable 
5024
5025 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
5026
5027         reviewed by: Steev <steev@steev.net>
5028
5029         * configure.in:
5030         * src/backends/NetworkManagerGentoo.c:
5031         (nm_system_restart_mdns_responder):
5032                 Howl is no longer a supported mDNS provider
5033
5034 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5035
5036         Get rid of a bunch of unused distro specific functions.
5037
5038 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5039
5040         Implement suse plugin for system settings daemon.
5041
5042         * system-settings/plugins/ifcfg-suse/*: Implement.
5043
5044         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
5045         suse.
5046
5047         * configure.in: Check (without failing) for gio.
5048         Create ifcfg-suse plugin's Makefile.
5049
5050 2008-02-20  Dan Williams  <dcbw@redhat.com>
5051
5052         * libnm-util/nm-connection.c
5053           libnm-util/nm-connection.h
5054                 - (nm_connection_compare): accept compare flags and pass them to the
5055                         setting compare function
5056
5057         * libnm-util/nm-setting.c
5058           libnm-util/nm-setting.h
5059                 - (nm_setting_compare): accept compare flags; ignore properties that are
5060                         marked fuzzy
5061
5062         * libnm-util/nm-setting-connection.c
5063           libnm-util/nm-setting-wireless.c
5064           libnm-util/nm-setting-ppp.c
5065           libnm-util/nm-setting-wired.c
5066                 - Mark some setting properties as ignorable when doing a fuzzy compare
5067
5068         * src/nm-device.c
5069                 - (device_activation_precheck): use exact compare
5070
5071 2008-02-20  Dan Williams  <dcbw@redhat.com>
5072
5073         * src/NetworkManagerPolicy.c
5074                 - (nm_policy_device_change_check): get scope off the connection, not
5075                         using the manager helper
5076
5077         * src/nm-manager.c
5078           src/nm-manager.h
5079                 - (get_scope_for_proxy): rename from get_type_for_proxy()
5080                 - (connection_get_settings_cb): set scope and path on connection, not
5081                         using GObject data items
5082                 - (get_connection_for_proxy): don't need to return path, since that
5083                         can be gotten from the connection
5084                 - (get_connection_for_proxy): get path off the connection, not from
5085                         parameters
5086                 - (connection_removed_cb, connection_updated_cb): don't need to get
5087                         path from get_connection_for_proxy(); get scope off the connection
5088                         instead of using GObject data items
5089                 - (connection_added_default_handler, add_one_connection_element): use
5090                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
5091                 - (nm_manager_get_connection_dbus_path): remove
5092                 - (nm_manager_get_connection_scope): remove
5093
5094 2008-02-20  Dan Williams  <dcbw@redhat.com>
5095
5096         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
5097                 on confusing names
5098
5099         * Add 'path' and 'scope' properties to NMConnection since both NM and the
5100                 applet were having to hack this in anyway.  Remove the 'path' stuff from
5101                 NMExportedConnection
5102
5103         * Internally rename NMConnectionType -> NMConnectionScope
5104
5105         * Provide default implementations of the 'get_id' and 'get_settings' methods
5106                 of NMExportedConnection
5107
5108 2008-02-15  Dan Williams  <dcbw@redhat.com>
5109
5110         * src/nm-device-802-11-wireless.c
5111                 - (device_cleanup): release the AP list here too so that the AP list
5112                         doesn't survive across suspend/resume and up/down.  There is some
5113                         room for optimization, for example blow the list away when the card
5114                         brought back up, but only if the device has only been down for a
5115                         minute or more.
5116
5117 2008-02-15  Dan Williams  <dcbw@redhat.com>
5118
5119         * src/nm-hal-manager.c
5120                 - (modem_device_creator): recognize new HAL modem capabilities
5121
5122 2008-02-12  Dan Williams  <dcbw@redhat.com>
5123
5124         * system-settings/plugins/ifcfg-fedora/plugin.c
5125                 - (watch_path): handle IN_DELETE_SELF too
5126                 - (handle_connection_changed): notify when removing a connection
5127                 - (stuff_changed): don't warn on unknown inotify watches; handle the
5128                         case of a file moving out of the profile directory
5129
5130 2008-02-12  Dan Williams  <dcbw@redhat.com>
5131
5132         * system-settings/plugins/ifcfg-fedora/parser.c
5133                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
5134
5135 2008-02-12  Dan Williams  <dcbw@redhat.com>
5136
5137         * libnm-util/nm-utils.c
5138                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
5139                         just any empty array
5140
5141 2008-02-12  Dan Williams  <dcbw@redhat.com>
5142
5143         * system-settings/src/nm-system-config-interface.c
5144           system-settings/src/nm-system-config-interface.h
5145                 - (load_connections): get_connections() should now return an allocated
5146                         GSList that the system settings service will free
5147
5148         * system-settings/plugins/ifcfg-fedora/plugin.c
5149           system-settings/plugins/ifcfg-fedora/parser.h
5150           system-settings/plugins/ifcfg-fedora/parser.c
5151                 - Fix up inotify issues; handle keys-* files, handle new files appearing
5152                         in the profile directory, handle resolv.conf file changes
5153
5154 2008-02-10  Dan Williams  <dcbw@redhat.com>
5155
5156         * src/nm-device-802-3-ethernet.c
5157                 - (real_bring_up): save the supplicant interface state signal id
5158                 - (real_bring_down): disconnect from the supplicant interface state
5159                         signal
5160
5161 2008-02-07  Dan Williams  <dcbw@redhat.com>
5162
5163         * initscript/RedHat/NetworkManager.in
5164           initscript/RedHat/NetworkManagerDispatcher.in
5165                 - Add new-style LSB init headers
5166
5167 2008-02-07  Dan Williams  <dcbw@redhat.com>
5168
5169         * system-settings/src/dbus-settings.c
5170           system-settings/src/dbus-settings.h
5171                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
5172                         table of secrets
5173                 - (connection_settings_get_secrets): consolidate error returns into
5174                         one place; use the new get_secrets() plugin interface function to
5175                         get secrets from the plugin itself rather than using GObject data
5176                         magic
5177
5178         * system-settings/src/main.c
5179                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
5180                    load_connections): keep a private list of the plugin-returned
5181                         connections, don't use the plugin's GSList
5182
5183         * system-settings/plugins/ifcfg-fedora/plugin.c
5184                 - (watch_path): watch the path, not the filename (duh)
5185                 - (reload_all_connections): use the direct hash/equal functions; the
5186                         ones for int aren't appropriate here
5187                 - (get_secrets, system_config_interface_init): implement the
5188                         get_secrets() function
5189                 - (build_one_connection, find_connection_by_path): ifcfg file path is
5190                         now in the connection's ConnectionData instead of being a GObject
5191                         data property
5192                 - (handle_profile_item_changed): ifcfg file path is now in the
5193                         connection's ConnectionData instead of being a GObject data property;
5194                         be sure to copy secrets over from the new connection to the existing
5195                         connection when updating the connection's settings
5196                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
5197                         file descriptor
5198
5199         * system-settings/plugins/ifcfg-fedora/parser.c
5200           system-settings/plugins/ifcfg-fedora/parser.h
5201                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
5202                    connection_data_copy_secrets, connection_data_free,
5203                    connection_data_add): new functions; connection data manipulation
5204                 - (make_wireless_security_setting): stuff secrets into the
5205                         connection data, not as GObject data items; make sure to close
5206                         the keys ifcfg file
5207                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
5208                         connection data to the connection
5209
5210 2008-02-07  Dan Williams  <dcbw@redhat.com>
5211
5212         * system-settings/src/nm-system-config-interface.c
5213           system-settings/src/nm-system-config-interface.h
5214                 - Add a get_secrets() interface function to retrieve secrets for a
5215                         specific setting of a specific connection.  Document the interface
5216                         a bit more too.
5217
5218 2008-02-07  Dan Williams  <dcbw@redhat.com>
5219
5220         * src/nm-device-802-11-wireless.c
5221                 - (handle_auth_or_fail): new function; consolidate device activation
5222                         failure check after a certain number of failures getting secrets
5223                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
5224                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
5225                         the connection if secrets were requested more than a few times
5226                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
5227                         tries here; otherwise they are cleared before the IP configure
5228                         timeout, which happens with open system WEP when key is wrong
5229                 - (activation_success_handler): clear wireless secrets tries here too
5230
5231 2008-02-07  Dan Williams  <dcbw@redhat.com>
5232
5233         * src/NetworkManagerPolicy.c
5234                 - (connection_updated): clear invalid tag when connection gets updated
5235                         to allow that connection to be tried again
5236                 - (nm_policy_new): save signal ids so they can be disconnected when
5237                         the policy is destroyed
5238                 - (nm_policy_destroy): stop any in-progress state change idle handler,
5239                         and disconnect all signals from the manager object so that none
5240                         of the policy functions gets called after the policy is destroyed
5241
5242 2008-02-06  Dan Williams  <dcbw@redhat.com>
5243
5244         * src/nm-manager.c
5245                 - (finalize): remove devices a bit earlier; clean up system settings
5246                         poke
5247                 - (nm_manager_name_owner_changed): clean up system settings poke when
5248                         the service appears, and try to restart it if it fails
5249                 - (poke_system_settings_daemon_cb): try to get the system settings
5250                         service started through D-Bus service activation
5251                 - (initial_get_connections): start the system settings daemon if it's
5252                         not already running
5253
5254 2008-02-05  Dan Williams  <dcbw@redhat.com>
5255
5256         * src/supplicant-manager/nm-supplicant-config.c
5257                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
5258                         broadcast networks too
5259
5260 2008-02-04  Dan Williams  <dcbw@redhat.com>
5261
5262         * system-settings/plugins/ifcfg-fedora/parser.c
5263                 - (make_wireless_security_setting): fix spelling; unencrypted networks
5264                         need key_mgmt set too
5265                 - (parser_parse_file): validate ifcfg file name and don't try to parse
5266                         .bak files; ensure that an error is set whenever NULL gets returned
5267
5268 2008-02-04  Dan Williams  <dcbw@redhat.com>
5269
5270         * system-settings/src/Makefile.am
5271                 - Install D-Bus service activation file for the system settings
5272                         service
5273
5274         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
5275                 - D-Bus service activation file for system settings service
5276
5277 2008-02-04  Dan Williams  <dcbw@redhat.com>
5278
5279         * system-settings/src/main.c
5280                 - (parse_config_file): parse a config file
5281                 - (main): accept --config option and read plugins from config file
5282
5283 2008-02-04  Dan Williams  <dcbw@redhat.com>
5284
5285         * system-settings/plugins/ifcfg-fedora/plugin.c
5286                 - Change reported name to 'ifcfg-fedora'
5287                 - Use IFCFG_PLUGIN_NAME
5288
5289         * system-settings/plugins/ifcfg-fedora/plugin.c
5290                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
5291
5292 2008-02-04  Dan Williams  <dcbw@redhat.com>
5293
5294         * system-settings/plugins/ifcfg-fedora/parser.c
5295                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
5296                 - (make_connection_setting): use get_ifcfg_name()
5297                 - (make_wireless_security_setting): handle shadow key files
5298                 - (get_one_wep_key): treat empty string as NULL
5299
5300 2008-02-04  Dan Williams  <dcbw@redhat.com>
5301
5302         * src/supplicant-manager/nm-supplicant-manager.c
5303                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
5304                         glib automatically reschedule
5305                 - (nm_supplicant_manager_init): immediately try to start the supplicant
5306                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
5307                         the supplicant
5308
5309 2008-02-01  Dan Williams  <dcbw@redhat.com>
5310
5311         * src/NetworkManagerPolicy.c
5312                 - (device_state_changed): schedule a change check when a device gets
5313                         deactivated so something happens if you disconnect GSM/CDMA
5314
5315 2008-01-31  Dan Williams  <dcbw@redhat.com>
5316
5317         * src/nm-device-802-11-wireless.h
5318           src/nm-device-802-11-wireless.c
5319                 - (ap_list_get_ap_by_ssid, is_associated,
5320                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
5321                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
5322                 - (nm_device_802_11_wireless_get_activation_ap): collapse
5323                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
5324                         function
5325
5326 2008-01-30  Dan Williams  <dcbw@redhat.com>
5327
5328         * system-settings/plugins/ifcfg
5329         * system-settings/plugins/ifcfg-fedora
5330                 - Move the ifcfg plugin to ifcfg-fedora
5331
5332 2008-01-24  Dan Williams  <dcbw@redhat.com>
5333
5334         * libnm-glib/nm-device-802-11-wireless.c
5335                 - (get_access_point): move the "/" check here; check for invalid path
5336                         too
5337                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
5338                         to get_access_point()
5339                 - (access_point_added_proxy, access_point_removed_proxy): don't try
5340                         to send signals for non-existent access points
5341
5342 2008-01-24  Dan Williams  <dcbw@redhat.com>
5343
5344         * libnm-glib/nm-device-802-11-wireless.c
5345                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
5346
5347 2008-01-23  Dan Williams  <dcbw@redhat.com>
5348
5349         * libnm-glib/libnm_glib.c
5350                 - (libnm_glib_init): make thread joinable
5351                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
5352
5353 2008-01-23  Dan Williams  <dcbw@redhat.com>
5354
5355         * test/libnm_glib_test.c
5356                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
5357                 - (main): set up signal handlers; call libnm_glib_shutdown
5358
5359 2008-01-21  Dan Williams  <dcbw@redhat.com>
5360
5361         * include/NetworkManager.h
5362                 - Add CDMA mobile broadband card device type
5363
5364         * src/nm-hal-manager.c
5365                 - (modem_device_creator): handle both CDMA and GSM modems; the device
5366                         must now be tagged with 'cdma' or 'gsm' capability
5367
5368         * src/nm-cdma-device.c
5369           src/nm-cdma-device.h
5370           src/Makefile.am
5371                 - Add the CDMA mobile broadband card device class
5372
5373         * libnm-util/nm-connection.c
5374                 - (register_default_settings): add NMSettingCdma
5375
5376         * libnm-util/nm-setting-cdma.c
5377           libnm-util/nm-setting-cdma.h
5378           libnm-util/Makefile.am
5379                 - Add the CDMA mobile broadband card setting class
5380
5381         * libnm-glib/nm-cdma-device.c
5382           libnm-glib/nm-cdma-device.h
5383           libnm-glib/Makefile.am
5384                 - Add the CDMA mobile broadband card GLib proxy class
5385
5386         * libnm-glib/nm-client.c
5387                 - (get_device): handle CDMA devices too
5388
5389 2008-01-21  Dan Williams  <dcbw@redhat.com>
5390
5391         * src/ppp-manager/nm-ppp-manager.c
5392                 - (ip4_config_get): set peer address too
5393
5394         * src/ppp-manager/nm-pppd-plugin.c
5395                 - (nm_ip_up): try harder to get the peer's address
5396
5397         * src/NetworkManagerSystem.c
5398                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
5399                         address, use that too.  Otherwise, some PPP connections won't work.
5400
5401 2008-01-19  Dan Williams  <dcbw@redhat.com>
5402
5403         * src/NetworkManagerPolicy.c
5404                 - (nm_policy_device_change_check): system connections override user
5405                         connections; don't activate a user connection if there's a currently
5406                         active system connection, and new, better system connections always
5407                         interrupt user connections
5408
5409 2008-01-19  Dan Williams  <dcbw@redhat.com>
5410
5411         * src/nm-manager.h
5412                 - (nm_manager_get_connection_type): new function
5413
5414 2008-01-19  Dan Williams  <dcbw@redhat.com>
5415
5416         * src/nm-device-802-11-wireless.c
5417                 - (real_get_best_connection): collapse find_best_connection() into this
5418                         function
5419
5420 2008-01-19  Dan Williams  <dcbw@redhat.com>
5421
5422         * src/nm-device-802-3-ethernet.c
5423                 - (real_get_best_connection): collapse find_best_connection() into this
5424                         function
5425
5426 2008-01-18  Dan Williams  <dcbw@redhat.com>
5427
5428         * src/nm-device-802-3-ethernet.c
5429                 - (find_best_connection): check MAC address too
5430                 - (real_get_best_connection): let autoconnect=True connections activate
5431                         for devices that don't have carrier detection
5432
5433         * src/nm-device-802-11-wireless.c
5434                 - (find_best_connection): check MAC address too
5435
5436 2008-01-18  Dan Williams  <dcbw@redhat.com>
5437
5438         * system-settings/plugins/ifcfg/parser.c
5439                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
5440
5441 2008-01-17  Dan Williams  <dcbw@redhat.com>
5442
5443         * src/nm-device-802-3-ethernet.c
5444                 - (nm_device_802_3_ethernet_carrier_on,
5445                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
5446                         carrier events that might come in for devices that don't support
5447                         carrier detect
5448
5449 2008-01-17  Dan Williams  <dcbw@redhat.com>
5450
5451         * src/nm-device-interface.c
5452                 - (nm_device_interface_check_connection_conflicts): need to actually
5453                         get the interface, not cast to the object
5454
5455         * src/nm-device.c
5456                 - (nm_device_check_connection_conflicts): need to get the device class,
5457                         not cast the device to the device class
5458
5459 2008-01-17  Dan Williams  <dcbw@redhat.com>
5460
5461         * src/nm-device-802-11-wireless.c
5462                 - (real_check_connection_conflicts): ignore connections that aren't
5463                         wireless connections
5464
5465 2008-01-17  Dan Williams  <dcbw@redhat.com>
5466
5467         * src/NetworkManagerPolicy.c
5468                 - (nm_policy_device_change_check): clear change check idle here
5469                 - (device_change_check_done): remove
5470                 - (schedule_change_check): simplify
5471
5472 2008-01-17  Dan Williams  <dcbw@redhat.com>
5473
5474         * src/nm-manager.c
5475                 - (check_connection_allowed): take an NMDeviceInterface instead of
5476                         an NMDevice object as an argument
5477                 - (nm_manager_activate_device): pass an NMDeviceInterface to
5478                         check_connection_allowed()
5479
5480 2008-01-13  Dan Williams  <dcbw@redhat.com>
5481
5482         * libnm-glib/nm-device-802-11-wireless.c
5483                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
5484
5485 2008-01-12  Dan Williams  <dcbw@redhat.com>
5486
5487         * src/nm-device-802-11-wireless.c
5488                 - (activation_success_handler): if a match was found in the scan list
5489                         and that match is a hidden AP, update that AP's SSID
5490
5491 2008-01-11  Dan Williams  <dcbw@redhat.com>
5492
5493         * src/NetworkManagerAP.c
5494                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
5495
5496         * src/nm-device-802-11-wireless.c
5497                 - (get_active_ap): do two passes over the scan list if the caller
5498                         requests that hidden APs get matched too; during the second pass
5499                         when matching hidden APs, ignore the SSID since hidden APs in the
5500                         scan list don't have an SSID yet
5501                 - (periodic_update): move some checks to
5502                         nm_device_802_11_periodic_update() because not all callers need them
5503                 - (nm_device_802_11_periodic_update): move some checks here from
5504                         perodic_update()
5505                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
5506                         matching on incoming scan results, because the fake AP's flags
5507                         might be slightly different (yet still compatible) with the incoming
5508                         scan result's flags and they might actually be the same AP; update
5509                         the rate on merged APs too
5510                 - (activation_success_handler): update the frequency of the fake AP
5511                         on successful connection; match hidden APs too since if the
5512                         current AP is fake, there might already be a scan result in the
5513                         scan list for the desired AP, just without it's SSID filled in yet
5514
5515 2008-01-10  Dan Williams  <dcbw@redhat.com>
5516
5517         * src/NetworkManagerAP.c
5518                 - (foreach_property_cb): catch more hidden SSID formats
5519
5520 2008-01-10  Dan Williams  <dcbw@redhat.com>
5521
5522         Fix gnome.org #464215.  Requires the kernel patch titled
5523         "Introduce WEXT scan capabilities" but will handle the patch not being
5524         present, you'll just continue to have problems with hidden SSIDs when
5525         using mac80211-based drivers.
5526
5527         * src/supplicant-manager/nm-supplicant-config.h
5528           src/supplicant-manager/nm-supplicant-config.c
5529                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
5530                         whether the driver supports SSID scans or not.  If it does, and if
5531                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
5532
5533         * src/nm-device-802-11-wireless.c
5534                 - (constructor): check whether or not the driver supports SSID scans
5535                 - (build_supplicant_config): pass driver SSID scan capability when
5536                         building the wireless bits of the supplicant config
5537
5538 2008-01-09  Dan Williams  <dcbw@redhat.com>
5539
5540         * src/nm-device.c
5541           src/nm-device.h
5542                 - (device_activation_precheck, check_connection_complete): remove this
5543                         virtual function; incomplete connections should be invalid by
5544                         definition, complete-ness should be checked in the setting's
5545                         verify function
5546
5547         * src/nm-serial-device.c
5548           src/nm-gsm-device.c
5549                 - (real_check_connection_complete): remove
5550
5551         * libnm-util/nm-setting-serial.c
5552                 - (verify): new function; ensure there is a PPP setting too
5553
5554         * libnm-util/nm-setting-gsm.c
5555                 - (verify): ensure there is a serial setting too
5556
5557 2008-01-06  Dan Williams  <dcbw@redhat.com>
5558
5559         * src/dhcp-manager/nm-dhcp-manager.c
5560                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
5561                         (gnome.org #332953)
5562
5563 2008-01-04  Dan Williams  <dcbw@redhat.com>
5564
5565         * src/named-manager/nm-named-manager.c
5566                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
5567                         nameservers if the secondary config doesn't have any
5568                         (gnome.org #346833)
5569
5570 2008-01-02  Tambet Ingo  <tambet@gmail.com>
5571
5572         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
5573         with G_PARAM_CONSTRUCT so that they get the default values.
5574
5575         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
5576         the monitoring device and prints out the output for now. Or more precicely, doesn't
5577         do absolutely anything right now since the montoring device argument is never set.
5578
5579         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
5580         requires it's own knob to turn it on.
5581         (config_fd): Add NMSettingSerial to the arguments list.
5582         (nm_serial_device_open): Ditto.
5583         (get_reply_got_data): Ignore the terminators at the beginning of the output.
5584         (nm_serial_device_get_io_channel): Implement.
5585
5586         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
5587         a new reference every time (and forgetting to release it sometimes) is a pain and
5588         it's not like NMManager could work without dbus.
5589         (nm_manager_add_device): Register the added device on dbus here.
5590
5591         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
5592         device.
5593
5594         * src/nm-device.c (constructor): Don't export the device here, instead export
5595         it when it's added to the NMManager's device list.
5596
5597 2007-12-31  Dan Williams  <dcbw@redhat.com>
5598
5599         * src/nm-device-interface.c
5600           src/nm-device-interface.h
5601                 - (nm_device_interface_check_connection_conflicts): new function
5602
5603         * src/nm-device.c
5604           src/nm-device.h
5605                 - (nm_device_check_connection_conflicts): new function
5606                 - (device_activation_precheck): don't require subclasses to implement
5607                         check_connection_complete()
5608                 - check_connection() -> check_connection_complete()
5609
5610         * src/nm-device-802-11-wireless.c
5611                 - (real_check_connection): remove; unused
5612                 - (real_check_connection_conflicts): implement, handle lockdown for
5613                         system connections
5614
5615         * src/nm-device-802-3-ethernet.c
5616                 - (real_check_connection): remove; unused
5617
5618         * src/nm-manager.c
5619                 - (check_connection_allowed): new function
5620                 - (nm_manager_activate_device): ensure the connection being requested
5621                         is allowed to be activated
5622
5623         * src/nm-serial-device.c
5624           src/nm-gsm-device.c
5625                 - real_check_connection() -> real_check_connection_complete()
5626
5627 2007-12-27  Dan Williams  <dcbw@redhat.com>
5628
5629         * src/nm-device-interface.c
5630           src/nm-device-interface.h
5631                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
5632                         normalize and expand errors
5633                 - (nm_device_interface_init): register errors so they can be marshalled
5634                         through dbus-glib
5635                 - (nm_device_interface_activate): ensure that failure of activation
5636                         returns an error
5637
5638         * src/nm-device.c
5639           src/nm-device.h
5640                 - (device_activation_precheck): implementations of check_connection()
5641                         now take a GError and must fill it in if the check fails.  Return
5642                         more descriptive error if the requested connection is already
5643                         activating
5644                 - (nm_device_activate): actually try to return descriptive errors on
5645                         failures
5646
5647         * src/nm-device-802-11-wireless.c
5648           src/nm-device-802-3-ethernet.c
5649           src/nm-serial-device.c
5650           src/nm-gsm-device.c
5651                 - (real_check_connection): return more descriptive errors on failure
5652
5653         * src/NetworkManagerPolicy.c
5654                 - (nm_policy_device_change_check): print activation errors in the logs
5655
5656         * src/nm-manager.c
5657                 - (nm_manager_error_quark, nm_manager_error_get_type,
5658                    nm_manager_class_init): new errors
5659                 - (nm_manager_activate_device): handle errors
5660                 - (nm_manager_error_new): removed
5661                 - (wait_for_connection_expired, connection_added_default_handler,
5662                    impl_manager_activate_device): better error handling
5663
5664 2007-12-27  Dan Williams  <dcbw@redhat.com>
5665
5666         Fixes gnome.org #466954
5667
5668         * src/supplicant-manager/nm-supplicant-settings-verify.c
5669                 - Allow 'frequency' network property
5670
5671         * src/supplicant-manager/nm-supplicant-config.c
5672           src/supplicant-manager/nm-supplicant-config.h
5673                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
5674                         for callers to specify the frequency an Ad-Hoc network should operate
5675                         on.  Some drivers require this to successfully create an Ad-Hoc
5676                         network.
5677
5678         * src/nm-device-802-11-wireless.c
5679                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
5680                         guint32 value in MHz
5681                 - (constructor, nm_device_802_11_wireless_get_frequency): use
5682                         iw_freq_to_uint32()
5683                 - (find_supported_frequency): new function; find a free supported
5684                         frequency for a user-created Ad-Hoc network
5685                 - (build_supplicant_config): if no frequency was specified for a user-
5686                         created Ad-Hoc network, find a free one to use
5687                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
5688                         a specific object as user-created
5689
5690 2007-12-27  Dan Williams  <dcbw@redhat.com>
5691
5692         * libnm-util/nm-utils.c
5693           libnm-util/nm-utils.h
5694                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
5695                         for adhoc networks
5696
5697 2007-12-24  Dan Williams  <dcbw@redhat.com>
5698
5699         * libnm-util/nm-setting-wireless.c
5700                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
5701                         185, 187, 188, 192, and 196
5702
5703 2007-12-24  Dan Williams  <dcbw@redhat.com>
5704
5705         * src/nm-device-802-11-wireless.c
5706                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
5707                         a channel # instead of a frequency
5708
5709 2007-12-24  Dan Williams  <dcbw@redhat.com>
5710
5711         * src/NetworkManagerAP.c
5712           src/NetworkManagerAP.h
5713                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
5714                 - (freq_to_channel): handle split band tables
5715                 - (channel_to_freq): handle split band tables, take a band argument
5716
5717 2007-12-24  Dan Williams  <dcbw@redhat.com>
5718
5719         * libnm-util/nm-setting-connection.h
5720           libnm-util/nm-setting-connection.c
5721                 - Add 'lockdown' member
5722
5723 2007-12-22  Dan Williams  <dcbw@redhat.com>
5724
5725         * libnm-util/nm-setting-wireless.c
5726                 - (nm_setting_wireless_class_init): add missing 'rate' property
5727                         specification
5728
5729 2007-12-18  Dan Williams  <dcbw@redhat.com>
5730
5731         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
5732
5733         * src/nm-netlink-monitor.c
5734           src/nm-netlink-monitor.h
5735                 - Remove handrolled netlink, use libnl instead
5736
5737         * src/nm-device-802-3-ethernet.c
5738                 - (constructor, nm_device_802_3_ethernet_carrier_off,
5739                    nm_device_802_3_ethernet_carrier_on): use new names
5740
5741 2007-12-17  Dan Williams  <dcbw@redhat.com>
5742
5743         * configure.in
5744                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
5745                         and fixes memory leaks)
5746
5747         * src/nm-netlink.c
5748                 - (nm_netlink_get_default_handle): handle new versions of libnl that
5749                         automatically handle the netlink PID
5750
5751 2007-12-17  Dan Williams  <dcbw@redhat.com>
5752
5753         Patch from Michael Biebl <biebl@debian.org>
5754
5755         * configure.in
5756           src/ppp-manager/Makefile.am
5757                 - fix up install dir of pppd plugin
5758                 - clean up configure.in a bit
5759
5760 2007-12-12  Dan Williams  <dcbw@redhat.com>
5761
5762         * system-settings/src/nm-system-settings.conf
5763                 - Allow non-root clients (like the applet) to read settings
5764
5765 2007-12-10  Tambet Ingo  <tambet@gmail.com>
5766
5767         * Replace all occurences of 'UMTS' with 'GSM'.
5768
5769 2007-12-07  Dan Williams  <dcbw@redhat.com>
5770
5771         * src/nm-serial-device.c
5772                 - (real_is_up): serial devices are always "up"
5773
5774 2007-12-07  Dan Williams  <dcbw@redhat.com>
5775
5776         * src/nm-netlink.c
5777           src/NetworkManagerSystem.c
5778                 - (new_nl_handle): ensure that the same netlink pid is never chosen
5779                         twice (gnome.org #491047)
5780                 - Make more robust against allocation-related failures should they occur
5781
5782 2007-12-07  Dan Williams  <dcbw@redhat.com>
5783
5784         Noticed by Christian Persch <chpe@gnome.org>
5785
5786         Always chain up to parent object in dispose and finalize handlers.
5787                 (gnome.org #433112)
5788
5789 2007-12-07  Dan Williams  <dcbw@redhat.com>
5790
5791         * src/nm-device-802-11-wireless.c
5792                 - Wrap #include of linux/mii.h to fix redefined structures due to
5793                         incorrect kernel headers (gnome.org #350061)
5794
5795 2007-12-06  Tambet Ingo  <tambet@gmail.com>
5796
5797         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
5798         before doing anything else.
5799         (init_modem): Move modem initialization here.
5800
5801         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
5802         (nm_serial_device_flash): Implement.
5803
5804         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
5805         changes signal is "StateChanged" and not "Status".
5806         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
5807
5808 2007-12-06  Dan Williams  <dcbw@redhat.com>
5809
5810         * src/supplicant-manager/nm-supplicant-config.c
5811                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
5812                         to only send some options when they make sense; also send phase2
5813                         option to the supplicant (possible fix for rh #399631)
5814
5815 2007-12-06  Tambet Ingo  <tambet@gmail.com>
5816
5817         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
5818         arguments: This whole file shouldn't really know anything about NMDevices, it
5819         should deal only with device interfaces. Devices might have different ifaces for
5820         different stuff and this place shouldn't know anything about it.
5821
5822         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
5823         (global_state_changed): Implement. In the current NM it's not really important,
5824         but will be required in the case of multiple active devices. (Or even better,
5825         if stuff like that gets moved out from NM).
5826
5827         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
5828         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
5829         instead.
5830
5831         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
5832         devices like serial devices (ttyS0 and ppp0 for example).
5833         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
5834         set.
5835         (nm_device_set_ip_iface): Implement.
5836         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
5837         after setting ip4_config from here ...
5838         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
5839         than this function should call nm_system_device_set_from_ip4_config() because no
5840         other code has enough information on which arguments to use. So instead, other code
5841         could just set the new ip4 config using this function and everyone is happy.
5842
5843         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
5844         if we happen to get deactivated while something is pending.
5845         (automatic_registration): Handle the response that indicates pending network
5846         registration and wait until the pending registration is done.
5847         (real_deactivate_quickly): If there's a pending operation, cancel it.
5848
5849         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
5850         (real_deactivate_quickly): ... and remove it when it's down.
5851         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
5852         it if needed.
5853         (nm_serial_device_wait_for_reply): Ditto.
5854
5855 2007-12-05  Tambet Ingo  <tambet@gmail.com>
5856
5857         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
5858         (get_network_done): Remove newline, nm_info() does it already.
5859         (real_act_stage1_prepare): Turn the modem echo off.
5860
5861         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
5862         device, set the route to the device interface. This is a hack.
5863
5864         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
5865         return, no need for a new-line.
5866         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
5867         Change the device iface here (ugh).
5868         (real_act_stage4_get_ip4_config): Implement.
5869         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
5870         Restore the device iface.
5871
5872         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
5873         device is not wired or wireless (eg, automatically upped) device.
5874
5875         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
5876         it isn't.
5877         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
5878
5879         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
5880         before calling it's is_device_fn().
5881
5882 2007-12-05  Dan Williams  <dcbw@redhat.com>
5883
5884         * libnm-util/nm-utils.c
5885                 - (nm_utils_register_value_transformations,
5886                    nm_utils_convert_gvalue_hash_to_string): better debug output of
5887                         GHashTables of GValues too
5888
5889 2007-12-04  Dan Williams  <dcbw@redhat.com>
5890
5891         * initscript/RedHat/NetworkManager.in
5892                 - No longer start named; it's D-Bus interface is going away
5893
5894 2007-12-04  Dan Williams  <dcbw@redhat.com>
5895
5896         Patch from Michael Biebl <biebl@debian.org>
5897
5898         * system-settings/plugins/ifcfg/Makefile.am
5899           system-settings/src/main.c
5900           system-settings/src/Makefile.am
5901                 - Put system settings plugins in NM plugins dir
5902
5903         * src/ppp-manager/Makefile.am
5904           src/ppp-manager/nm-ppp-manager.c
5905                 - Move pppd plugin to NM plugins dir
5906
5907 2007-12-04  Dan Williams  <dcbw@redhat.com>
5908
5909         * libnm-util/nm-setting-vpn-properties.h
5910                 - Clarify usage of the 'data' member of the setting
5911
5912         * libnm-util/nm-setting-vpn-properties.c
5913                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
5914                 - (set_property): just remove all the settings; don't recreate the has
5915                 - (update_one_secret): don't need to create the hash table here since
5916                         it should always be present
5917
5918 2007-12-03  Tambet Ingo  <tambet@gmail.com>
5919
5920         Implement PIN and PUK requesting.
5921
5922         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
5923         (enter_pin): Handle PIN and PUK requests.
5924         (real_act_stage1_prepare): Clear the secret type.
5925         (real_connection_secrets_updated): Implement this class method to get
5926         notified when new secrets arrive.
5927         (nm_umts_device_class_init): Add private data back to the umts device class
5928         to store the required secret type.
5929
5930 2007-12-01  Dan Williams  <dcbw@redhat.com>
5931
5932         * system-settings/plugins/ifcfg/parser.c
5933                 - (parser_parse_file): don't try to verify NULL connections
5934
5935 2007-12-01  Dan Williams  <dcbw@redhat.com>
5936
5937         * system-settings/src/main.c
5938                 - (load_connections, add_connection_to_settings): actually export
5939                         plugin-provided connections over D-Bus so NM can get them
5940
5941 2007-12-01  Dan Williams  <dcbw@redhat.com>
5942
5943         * system-settings/plugins/ifcfg/parser.c
5944           system-settings/plugins/ifcfg/parser.h
5945           system-settings/plugins/ifcfg/plugin.c
5946                 - Hook up more inotify bits (untested)
5947
5948 2007-11-29  Dan Williams  <dcbw@redhat.com>
5949
5950         * system-settings/src/nm-system-config-interface.h
5951           system-settings/src/nm-system-config-interface.c
5952                 - (nm_system_config_interface_init,
5953                    nm_system_config_interface_get_connections): add
5954
5955         * system-settings/src/main.c
5956                 - (load_plugins, load_connections, main): use a GSList for plugins
5957                         to ensure priority ordering
5958
5959         * system-settings/plugins/ifcfg/parser.c
5960                 - (ifcfg_error_quark): move to plugin.c, and rename
5961
5962         * system-settings/plugins/ifcfg/plugin.h
5963           system-settings/plugins/ifcfg/plugin.c
5964                 - (ifcfg_plugin_error_quark): move here from parser.c
5965                 - rework connection loading and initialization
5966                 - Add preliminary inotify support for network profile config file
5967
5968 2007-11-28  Tambet Ingo  <tambet@gmail.com>
5969
5970         Merge the beginnings of the new GSM card support.
5971
5972         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
5973         ppp watch source before killing pppd - If this happens from g_object_unref()
5974         then the ppp manager is already destroyed by the time the watch callback runs.
5975
5976         * src/nm-hal-manager.c: Add a device_type_name string to the device
5977         creators, so that we can print a nice human readable string when a
5978         device is added.
5979
5980         * src/nm-umts-device.c (automatic_registration_get_network): Query
5981         for the activated network, not much is done with the result thought.
5982
5983         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
5984         (ppp_ip4_config): Change the device state to activated here for now.
5985         (real_check_connection): Make sure the connection includes ppp setting.
5986
5987         * libnm-glib/nm-client.c (get_device): Handle umts devices.
5988
5989         * libnm-glib/Makefile.am: Add the new files to build.
5990
5991         * libnm-glib/nm-umts-device.c: 
5992         * libnm-glib/nm-umts-device.h: Implement.
5993
5994 2007-11-26  Tambet Ingo  <tambet@gmail.com>
5995
5996         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
5997         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
5998
5999         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
6000         the timeout source - this function is only called when the timeout source has
6001         been removed.
6002         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
6003         to be big enough to contain the terminating zero element as well.
6004         The timeout argument is meant to be in seconds now.
6005         (real_deactivate_quickly): Implement.
6006
6007         * src/NetworkManager.conf: Allow root to own 
6008         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
6009
6010         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
6011         (not unsigned ints).
6012
6013         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
6014         small issue with parity bounds - capital letters have lower ascii codes
6015         than lower case letters.
6016
6017         * libnm-util/nm-connection.c (register_default_settings): Register serial
6018         and umts settings.
6019
6020 2007-11-22  Tambet Ingo  <tambet@gmail.com>
6021
6022         Remove the "index" property from devices as not all device types have this.
6023
6024         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
6025
6026         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
6027         (wired_device_creator): Get the device interface from hal to create the device.
6028         (wireless_device_creator): Ditto.
6029
6030         * src/nm-device.c (nm_device_init): Remove the index member.
6031         (constructor): Remove the checks for index property, make interface property
6032         a require constructor property.
6033         Use the HAL udi for DBus path for devices.
6034         (nm_device_get_index): Remove.
6035         (set_property): Remove index handling.
6036         (get_property): Ditto.
6037         (nm_device_get_dbus_path): Remove.
6038
6039         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
6040         property.
6041
6042         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
6043         Access the device index through it's interface.
6044         (nm_device_802_3_ethernet_link_deactivated): Ditto.
6045         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
6046         index argument. Add interface argument.
6047
6048         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
6049         the useless test_dev argument. Remove index argument. Add interface arugment.
6050
6051         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
6052         device index through interface.
6053         (nm_system_set_mtu): Ditto.
6054
6055         * introspection/nm-device.xml: Remove the "Index" property.
6056
6057 2007-11-21  Tambet Ingo  <tambet@gmail.com>
6058
6059         * src/nm-serial-device.c: 
6060         * src/nm-serial-device.c: 
6061         * src/nm-umts-device.c:
6062         * src/nm-umts-device.h: Implement.
6063
6064         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
6065         allocated by libhal.
6066         (modem_device_creator): Implement.
6067         (register_built_in_creators): Register the modem creator.
6068
6069         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
6070         Remove the unused test_dev argument.
6071
6072         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
6073
6074         * src/Makefile.am: Add new files to build.
6075         Link in ppp-manager.
6076
6077         * libnm-util/nm-setting-umts.c: 
6078         * libnm-util/nm-setting-umts.h: 
6079         * libnm-util/nm-setting-serial.c: 
6080         * libnm-util/nm-setting-serial.h: Implement.
6081
6082         * libnm-util/Makefile.am: Add new files to build.
6083
6084 2007-11-28  Dan Williams  <dcbw@redhat.com>
6085
6086         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
6087
6088         Support DHCP-provided static routes.
6089
6090         * src/nm-ip4-config.h
6091           src/nm-ip4-config.c
6092                 - Add get/set functions for static routes
6093
6094         * src/dhcp-manager/nm-dhcp-manager.c
6095                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
6096                         DHCP response
6097
6098         * src/NetworkManagerSystem.c
6099                 - (nm_system_device_set_from_ip4_config): set any static routes on the
6100                         interface when applying the IP4Config
6101
6102 2007-11-28  Dan Williams  <dcbw@redhat.com>
6103
6104         * src/nm-device-802-11-wireless.c
6105                 - (real_act_stage1_prepare): mark APs created for hidden networks
6106                         as non-broadcasting
6107
6108 2007-11-27  Dan Williams  <dcbw@redhat.com>
6109
6110         * system-settings/src/nm-system-config-interface.h
6111                 - Note how to store secrets on NMSetting objects
6112
6113         * system-settings/src/dbus-settings.c
6114                 - (connection_settings_get_secrets): implement
6115
6116 2007-11-27  Dan Williams  <dcbw@redhat.com>
6117
6118         * system-settings/plugins/ifcfg/Makefile.am
6119           system-settings/plugins/ifcfg/parser.c
6120           system-settings/plugins/ifcfg/parser.h
6121           system-settings/plugins/ifcfg/plugin.c
6122                 - Parse wireless connections too
6123
6124         * system-settings/src/dbus-settings.c
6125           system-settings/src/dbus-settings.h
6126           system-settings/src/main.c
6127                 - Handle connection update/removal if the plugin supports it
6128
6129 2007-11-27  Dan Williams  <dcbw@redhat.com>
6130
6131         * src/nm-dbus-manager.h
6132           src/nm-hal-manager.c
6133                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
6134                         do it for them
6135
6136         * src/Makefile.am
6137           src/NetworkManagerDbusUtils.c
6138           src/NetworkManagerDbusUtils.h
6139                 - Remove these two source files; they are unused
6140
6141 2007-11-27  Dan Williams  <dcbw@redhat.com>
6142
6143         * src/vpn-manager/nm-vpn-manager.c
6144                 - (impl_vpn_manager_connect): fix system settings check (found by
6145                         James M. Leddy)
6146
6147 2007-11-26  Dan Williams  <dcbw@redhat.com>
6148
6149         * Fix warnings so everything compiles with --enable-more-warnings
6150
6151 2007-11-25  Dan Williams  <dcbw@redhat.com>
6152
6153         * system-settings/*
6154                 - Rework structure and code to use GModule-loaded plugins and a plugin
6155                         interface that plugins export to the system settings service
6156
6157 2007-11-21  Dan Williams  <dcbw@redhat.com>
6158
6159         * system-settings/*
6160                 - Add Soren's system settings service.  Needs work for distros other
6161                         than Fedora; the backends from NM should mostly migrate to here
6162                         and be converted to GObjects
6163
6164 2007-11-21  Dan Williams  <dcbw@redhat.com>
6165
6166         * libnm-util/nm-setting-vpn-properties.c
6167                 - (set_property): must deep-copy the given settings hash, otherwise
6168                         double-free errors occur when the setting is disposed of
6169
6170 2007-11-21  Dan Williams  <dcbw@redhat.com>
6171
6172         * src/vpn-manager/nm-vpn-act-request.h
6173           src/vpn-manager/nm-vpn-act-request.c
6174                 - Remove; unused
6175
6176 2007-11-20  Dan Williams  <dcbw@redhat.com>
6177
6178         * libnm-util/nm-utils.c
6179                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
6180                    nm_utils_convert_ip4_addr_struct_array_to_string,
6181                    nm_utils_register_value_transformations): print out the readable
6182                         values of more types of properties of NMSettings subclasses
6183
6184 2007-11-20  Dan Williams  <dcbw@redhat.com>
6185
6186         * libnm-util/nm-setting-ip4-config.c
6187                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
6188                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
6189                         marshal GValueArrays inside collections, so switch to types that it
6190                         can actually marshal/demarshal
6191
6192 2007-11-16  Dan Williams  <dcbw@redhat.com>
6193
6194         * libnm-util/nm-setting-wireless-security.c
6195                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
6196                         minimal verification of EAP methods too
6197                 - (verify): verify phase1 eap methods too
6198
6199 2007-11-15  Dan Williams  <dcbw@redhat.com>
6200
6201         * libnm-glib/nm-device.h
6202           libnm-glib/nm-device.c
6203                 - (nm_device_get_product, nm_device_get_vendor): should be returning
6204                         const char *
6205
6206 2007-11-15  Dan Williams  <dcbw@redhat.com>
6207
6208         * libnm-glib/nm-device.c
6209                 - (get_product_and_vendor): don't try to free things that should be
6210                         freed
6211
6212 2007-11-15  Dan Williams  <dcbw@redhat.com>
6213
6214         * src/NetworkManagerUtils.c
6215                 - (nm_ethernet_address_is_valid): unbreak previous fix
6216
6217 2007-11-15  Dan Williams  <dcbw@redhat.com>
6218
6219         * src/supplicant-manager/nm-supplicant-config.c
6220                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
6221                         options
6222
6223 2007-11-15  Dan Williams  <dcbw@redhat.com>
6224
6225         * src/NetworkManagerUtils.c
6226                 - (nm_ethernet_address_is_valid): fix style, clarify
6227                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
6228
6229         * src/nm-device-802-11-wireless.c
6230                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
6231                 - (nm_device_802_11_wireless_get_ssid,
6232                    nm_device_802_11_wireless_get_bssid,
6233                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
6234                         before calling the ioctl; fixes valgrind-reported jump depends on
6235                         uninitialized value errors
6236
6237 2007-11-15  Dan Williams  <dcbw@redhat.com>
6238
6239         * libnm-util/nm-setting.c
6240                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
6241                         unecessary to serialize 'name'
6242
6243         * src/nm-activation-request.c
6244                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
6245                         the GetSecrets call
6246
6247 2007-11-15  Dan Williams  <dcbw@redhat.com>
6248
6249         * libnm-util/nm-setting-connection.h
6250           libnm-util/nm-setting-connection.c
6251                 - Rename the 'name' property to 'id', because it conflicted with the
6252                         NMSetting superclass' 'name' property.
6253
6254         * libnm-util/nm-setting.c
6255                 - (nm_setting_to_hash): serialize the 'name' property
6256                 - (one_property_cb): ignore 'name' on deserialization of a connection
6257
6258         * src/nm-device-802-11-wireless.c
6259           src/vpn-manager/nm-vpn-connection.c
6260           src/NetworkManagerPolicy.c
6261                 - Fix up for NMSettingConnection 'name'->'id' changes
6262
6263 2007-11-13  Dan Williams  <dcbw@redhat.com>
6264
6265         * libnm-glib/nm-device-802-11-wireless.h
6266           libnm-glib/nm-device-802-11-wireless.c
6267                 - (nm_device_802_11_wireless_get_hw_address): return should be const
6268
6269         * test/nm-tool.c
6270           libnm-glib/libnm-glib-test.c
6271                 - Fixes for above change
6272
6273 2007-11-12  Dan Williams  <dcbw@redhat.com>
6274
6275         * src/supplicant-manager/nm-supplicant-settings-verify.c
6276                 - Allow fragment_size option
6277
6278         * src/supplicant-manager/nm-supplicant-settings-verify.c
6279                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
6280                         EAP fragment size than the default to help some TLS connections
6281
6282 2007-11-12  Dan Williams  <dcbw@redhat.com>
6283
6284         Make certs actually work.  The private key is now a secret, and should be
6285         decrypted when requested by NM.  The private key and phase2 private key
6286         passwords are no longer interesting to NM because they should be used by
6287         the settings service to decrypt the private key itself before passing it
6288         to NM, and hence have been removed as fields.
6289
6290         * libnm-util/nm-setting-wireless-security.h
6291           libnm-util/nm-setting-wireless-security.c
6292                 - Remove private-key-passwd and phase2-private-key-passwd from
6293                         properties
6294                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
6295                    need_secrets): use property #defines instead strings to keep things
6296                         consistent
6297                 - (need_secrets_tls): if a client certificate is present but no
6298                         private key, request the private key
6299                 - (set_property, get_property, nm_setting_wireless_security_class_init):
6300                         remove private key password stuff, mark private keys as secret
6301
6302         * src/supplicant-manager/nm-supplicant-settings-verify.c
6303                 - Remove private_key_passwd and private_key2_passwd from opt_table
6304
6305 2007-11-09  Dan Williams  <dcbw@redhat.com>
6306
6307         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
6308         Since the vpn-properties are managed and known by the VPN daemons themselves,
6309         libnm-util doesn't know what's secret and what's in the setting's 'data'
6310         member.
6311
6312         * libnm-util/nm-setting.h
6313           libnm-util/nm-setting.c
6314                 - Add the ability for subclasses to override update_one_secret
6315
6316         * libnm-util/nm-setting-vpn-properties.c
6317                 - Override update_one_secret and just copy the values into the
6318                         internal table
6319
6320 2007-11-09  Dan Williams  <dcbw@redhat.com>
6321
6322         * libnm-glib/nm-settings.h
6323           libnm-glib/nm-settings.c
6324                 - (nm_settings_new_error): remove
6325                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
6326                         clients should use g_set_error() with NM_SETTINGS_ERROR
6327
6328 2007-11-09  Dan Williams  <dcbw@redhat.com>
6329
6330         * src/supplicant-manager/nm-supplicant-config.c
6331                 - (nm_supplicant_config_add_setting_wireless_security): private key
6332                         passwords are never sent to wpa_supplicant, because the supplicant
6333                         should never be reading random files from the disk.  Clients like
6334                         the applet are required to decrypt the private keys and send NM
6335                         the decrypted blobs.
6336
6337 2007-11-08  Dan Williams  <dcbw@redhat.com>
6338
6339         * libnm-util/nm-setting-wireless-security.h
6340           libnm-util/nm-setting-wireless-security.c
6341                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
6342                         members to 802-11-wireless-security structure.  This should be used
6343                         to indicate that the values in private-key and phase2-private-key
6344                         are already decrypted by the user agent, and that no
6345                         private-key-passwd or phase2-private-key-passwd should be expected.
6346                         It is not meant to be a stored configuration value, but meant to
6347                         be set when the conneciton is sent to NM over dbus.
6348
6349 2007-11-08  Dan Williams  <dcbw@redhat.com>
6350
6351         * libnm-util/nm-connection.h
6352           libnm-util/nm-connection.c
6353                 - (nm_connection_need_secrets): add argument to return hints
6354
6355         * src/nm-device-802-11-wireless.c
6356                 - (link_timeout_cb, supplicant_connection_timeout_cb,
6357                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
6358                         nm_connection_need_secrets() change
6359
6360 2007-11-07  Tambet Ingo  <tambet@gmail.com>
6361
6362         Rework NMSetting structures: Move each setting to it's own file.
6363         Convert to GObject. Remove home grown setting types and use GTypes.
6364         Use GObject property introspection for hash conversion, enumerating
6365         properties, etc.
6366
6367         * libnm-util/nm-setting-connection.[ch]
6368         * libnm-util/nm-setting-ip4-config.[ch]
6369         * libnm-util/nm-setting-ppp.[ch]
6370         * libnm-util/nm-setting-vpn.[ch]
6371         * libnm-util/nm-setting-vpn-properties.[ch]
6372         * libnm-util/nm-setting-wired.[ch]
6373         * libnm-util/nm-setting-wireless.[ch]
6374         * libnm-util/nm-setting-wireless-security.[ch]
6375
6376         New files, each containing a setting.
6377
6378         * libnm-util/nm-setting-template.[ch]: A template for creating new
6379         settings. To use it, just replace 'template' with the new setting
6380         name, and you're half-way done.
6381
6382         * libnm-util/nm-setting.c: Convert to GObject and use GObject
6383         introspection instead of internal types and tables.
6384
6385         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
6386
6387         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
6388         GValue types defined by dbus-glib for composed types like collections,
6389         structures and maps.
6390
6391         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
6392         a setting from connection takes the setting type now. Also, since
6393         the settings are in multiple files, include relevant settings.
6394
6395 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
6396
6397         * configure.in:
6398         * src/backends/NetworkManagerGentoo.c:
6399         (nm_system_restart_mdns_responder): Implement restarts for other mdns
6400         providers in Gentoo.
6401
6402 2007-10-31  Dan Williams  <dcbw@redhat.com>
6403
6404         * libnm-util/nm-connection.c
6405                 - (gvalue_to_string): handle UINT32 arrays
6406
6407 2007-10-31  Dan Williams  <dcbw@redhat.com>
6408
6409         * libnm-glib/nm-device.h
6410           libnm-glib/nm-device.c
6411                 - (nm_device_get_description): remove
6412                 - (nm_device_get_product, nm_device_get_vendor): add
6413                 - (nm_device_update_description): new function (private); walk HAL
6414                         devices to get product and vendor IDs for a specific device
6415
6416 2007-10-31  Dan Williams  <dcbw@redhat.com>
6417
6418         * src/nm-device-802-11-wireless.c
6419                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
6420
6421 2007-10-29  Dan Williams  <dcbw@redhat.com>
6422
6423         * src/nm-hal-manager.c
6424                 - (device_added, device_new_capability): ignore device additions while
6425                         asleep.  Fixes crash caused when NM goes to sleep, a network device
6426                         kernel module is unloaded and reloaded and recognized by NM again.
6427
6428 2007-10-26  Dan Williams  <dcbw@redhat.com>
6429
6430         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
6431
6432         * src/NetworkManagerAP.c
6433           src/NetworkManagerAP.h
6434           libnm-glib/nm-access-point.c
6435           libnm-glib/nm-access-point.h
6436                 - Make 'rate' property a guint32 to better match with WEXT and
6437                         wpa_supplicant and to allow representation of higher bitrates
6438
6439         * src/nm-device-802-11-wireless.c
6440           introspection/nm-device-802-11-wireless.xml
6441           libnm-glib/nm-device-802-11-wireless.c
6442           libnm-glib/nm-device-802-11-wireless.h
6443                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
6444
6445         * src/nm-device-802-3-ethernet.c
6446           src/nm-device-802-3-ethernet.h
6447           introspection/nm-device-802-3-ethernet.xml
6448           libnm-glib/nm-device-802-3-ethernet.c
6449           libnm-glib/nm-device-802-3-ethernet.h
6450                 - Make 'speed' property a guint32 to match other speed/rate types
6451                 - Make nm_device_802_3_ethernet_get_speed() static
6452
6453         * test/nm-tool.c
6454                 - Update for the changes above
6455
6456 2007-10-26  Dan Williams  <dcbw@redhat.com>
6457
6458         * src/named-manager/nm-named-manager.c
6459                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
6460                     not calling fclose() twice on some error conditions
6461
6462 2007-10-26  Dan Williams  <dcbw@redhat.com>
6463
6464         * src/nm-activation-request.c
6465                 - (dispose): clean up indentation; get the right DBusGProxy object to
6466                         cancel the GetSecrets pending call on.  Need to use the Secrets
6467                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
6468                         pending call doesn't get canceled, and pressing Cancel in the
6469                         applet's password dialog could cause get_secrets_cb() to be called
6470                         after the activation request has already been destroyed
6471
6472 2007-10-24  Dan Williams  <dcbw@redhat.com>
6473
6474         * src/supplicant-manager/nm-supplicant-config.c
6475                 - (nm_supplicant_config_add_blob): pass blob data and length for
6476                         verification
6477                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
6478
6479 2007-10-24  Dan Williams  <dcbw@redhat.com>
6480
6481         * src/supplicant-manager/nm-supplicant-settings-verify.c
6482                 - (opt_table): max length for certificates should be 65536
6483
6484 2007-10-24  Dan Williams  <dcbw@redhat.com>
6485
6486         * src/supplicant-manager/nm-supplicant-interface.c
6487                 - (blob_free): correctly free blob data after use
6488                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
6489
6490 2007-10-24  Dan Williams  <dcbw@redhat.com>
6491
6492         * libnm-util/nm-setting.c
6493                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
6494                         EAP method need secrets
6495
6496 2007-10-24  Dan Williams  <dcbw@redhat.com>
6497
6498         * src/backends/NetworkManagerRedHat.c
6499                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
6500
6501 2007-10-23  Dan Williams  <dcbw@redhat.com>
6502
6503         * libnm-util/nm-setting.c
6504           libnm-util/nm-setting.c
6505                 - (nm_setting_compare): implement
6506                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
6507                    compare_one_hash_gvalue): compare the contents of a setting
6508
6509         * libnm-util/nm-connection.c
6510                 - (nm_connection_compare): implement
6511
6512 2007-10-23  Dan Williams  <dcbw@redhat.com>
6513
6514         * src/nm-activation-request.c
6515                 - (get_secrets_cb): handle getting a setting back that is more than
6516                         just secrets (ie, user changed auth or EAP method or something)
6517
6518 2007-10-23  Dan Williams  <dcbw@redhat.com>
6519
6520         * libnm-util/nm-setting.c
6521           libnm-util/nm-setting.h
6522                 - (nm_setting_verify): new function; verify one setting
6523                 - (nm_settings_verify_all): rename from nm_settings_verify()
6524                 - (setting_connection_verify, setting_wireless_verify): allow NULL
6525                         all_settings
6526
6527         * libnm-util/nm-connection.c
6528                 - (nm_connection_replace_settings, nm_connection_verify,
6529                    nm_connection_new_from_hash): handle nm_settings_verify() rename
6530
6531 2007-10-23  Dan Williams  <dcbw@redhat.com>
6532
6533         * src/nm-device-802-11-wireless.c
6534                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
6535                         desired behavior
6536
6537 2007-10-23  Dan Williams  <dcbw@redhat.com>
6538
6539         * src/supplicant-manager/nm-supplicant-settings-verify.c
6540                 - eap_allowed, phase2_allowed: harmonize with allowed values from
6541                         nm-settings.c
6542
6543 2007-10-23  Dan Williams  <dcbw@redhat.com>
6544
6545         * src/nm-device-802-11-wireless.c
6546                 - (real_act_stage2_config): after the first association failure,
6547                         if the connection still needs secrets ask the user for them
6548                         explicitly.  After the fourth association failure due to bad
6549                         secrets, fail the connection entirely.  Handles the GetSecrets
6550                         loop that NM gets into when the provided secrets don't match up
6551                         with the connection details.
6552
6553 2007-10-23  Dan Williams  <dcbw@redhat.com>
6554
6555         * src/supplicant-manager/nm-supplicant-config.c
6556                 - (nm_supplicant_config_add_setting_wireless_security): only add
6557                         WPA-specific options when WPA is in use
6558
6559 2007-10-23  Dan Williams  <dcbw@redhat.com>
6560
6561         * src/supplicant-manager/nm-supplicant-config.c
6562                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
6563                         secret doesn't need to be unhexified
6564
6565 2007-10-23  Dan Williams  <dcbw@redhat.com>
6566
6567         * libnm-util/nm-setting.c
6568                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
6569                         before trying to do something with it
6570
6571 2007-10-23  Dan Williams  <dcbw@redhat.com>
6572
6573         * src/nm-device-802-11-wireless.c
6574                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
6575
6576 2007-10-23  Dan Williams  <dcbw@redhat.com>
6577
6578         * src/nm-device-802-11-wireless.c
6579                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
6580                         non-SSID-broadcasting APs
6581
6582 2007-10-23  Dan Williams  <dcbw@redhat.com>
6583
6584         * src/NetworkManagerAP.c
6585                 - (match_cipher, security_compatible): remove
6586                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
6587                         libnm-util instead
6588
6589 2007-10-23  Dan Williams  <dcbw@redhat.com>
6590
6591         * libnm-util/nm-utils.c
6592           libnm-util/nm-utils.h
6593                 - (nm_utils_ap_security_compatible): common function for checking
6594                         whether a specific AP is compatible with an NMConnection
6595
6596 2007-10-23  Dan Williams  <dcbw@redhat.com>
6597
6598         * libnm-util/nm-setting.c
6599                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
6600                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
6601                    need_secrets_password, setting_wireless_security_verify): fix
6602                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
6603                         secrets logic for each supported EAP method
6604
6605 2007-10-23  Dan Williams  <dcbw@redhat.com>
6606
6607         * src/supplicant-manager/nm-supplicant-config.c
6608                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
6609                         config option name, should be "private_key2_passwd"
6610
6611 2007-10-22  Tambet Ingo  <tambet@gmail.com>
6612
6613         Implement support for static IP addresses, additional/overridden DNS and
6614         DNS domain search lists.
6615
6616         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
6617         (ip4_addresses_to_gvalue): Implement.
6618         (convert_array_to_byte_array): Implement.
6619         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
6620         NM_S_TYPE_IP4_ADDRESSES.
6621         (nm_setting_hash): Ditto.
6622         (default_setting_clear_secrets): Add a default case for the switch: IP address
6623         shouldn't be secret, ever.
6624         (setting_ip4_config_verify): Update, requires addresses in case of manual
6625         configurations.
6626         (setting_ip4_config_destroy): Free stuff.
6627
6628         * src/nm-device.c (merge_ip4_config): Implement.
6629         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
6630
6631 2007-10-22  Dan Williams  <dcbw@redhat.com>
6632
6633         * libnm-util/nm-setting.c
6634                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
6635                         pairwise cipher options for Dynamic WEP
6636
6637 2007-10-21  Dan Williams  <dcbw@redhat.com>
6638
6639         * src/NetworkManagerAP.c
6640           src/NetworkManagerAP.h
6641                 - Rename 'articifical' -> 'fake' since that's what they are until
6642                         noticed in scans
6643                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
6644                         from the attributes in an NMConnection object
6645                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
6646                         WPA Enterprise
6647                 - (nm_ap_match_in_list): find a matching AP in a scan list
6648
6649         * src/nm-device-802-11-wireless.c
6650                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
6651                         AP when searching the scan list; match on frequency and mode too
6652                 - (nm_device_802_11_wireless_get_frequency): implement
6653                 - (merge_scanned_ap): replace duplicate matching logic with
6654                         nm_ap_match_in_list()
6655                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
6656                         the user is trying to connect to a hidden network that is not yet
6657                         known from the scan list
6658                 - (activation_success_handler): now that the card knows the AP's BSSID,
6659                         there may already be a scanned AP in the scan list that is what
6660                         we really wanted to connect to, but didn't know at the time.  Use
6661                         that instead of the 'fake' AP created at activation start and get
6662                         rid of the 'fake' AP 
6663                 - (cull_scan_list): don't remove fake APs
6664
6665 2007-10-21  Dan Williams  <dcbw@redhat.com>
6666
6667         * src/nm-activation-request.h
6668           src/nm-activation-request.c
6669                 - (nm_act_request_set_specific_object): new function; allow setting the
6670                         specific object if one isn't set yet
6671
6672 2007-10-20  Dan Williams  <dcbw@redhat.com>
6673
6674         * src/supplicant-manager/nm-supplicant-config.h
6675           src/supplicant-manager/nm-supplicant-config.c
6676                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
6677                         table to store blobs
6678                 - (nm_supplicant_config_add_blob): new function; add blob to internal
6679                         blob hash table
6680                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
6681                 - (nm_supplicant_config_add_setting_wireless_security): handle
6682                         options that use certificates (ie, blobs)
6683
6684         * src/nm-device-802-11-wireless.c
6685                 - (build_supplicant_config): pass a UID (just use the connection path)
6686                         to the supplicant config as now required
6687
6688         * src/supplicant-manager/nm-supplicant-interface.c
6689                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
6690                         there are any blobs to send to wpa_supplicant, send those first
6691                         before sending the network configuration
6692
6693 2007-10-19  Dan Williams  <dcbw@redhat.com>
6694
6695         Split the GetSecrets() call off to a separate D-Bus interface so that it
6696         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
6697         should be able to call GetSecrets().
6698
6699         * include/NetworkManager.h
6700                 - Define the connection secrets D-Bus interface
6701
6702         * src/vpn-manager/nm-vpn-connection.c
6703                 - (clear_need_auth): get the right proxy object for the connection
6704                         secrets interface
6705                 - (get_connection_secrets): use the connection secrets proxy; send
6706                         empty hints in get secrets request
6707
6708         * src/nm-activation-request.c
6709                 - (nm_act_request_request_connection_secrets): use the connection
6710                         secrets proxy; send empty hints in get secrets request
6711
6712         * src/nm-manager.c
6713           src/nm-manager.h
6714                 - (connection_get_settings_cb): set the connection secrets proxy on
6715                         the connection object too
6716                 - (internal_new_connection_cb): create the connection secrets proxy
6717
6718         * introspection/nm-settings-connection.xml
6719                 - Define Connection.Secrets interface and move GetSecrets there
6720                 - Add a 'hints' argument to GetSecrets
6721
6722         * libnm-glib/nm-settings.c
6723           libnm-glib/nm-settings.h
6724                 - (impl_connection_settings_get_secrets): add 'hints' argument
6725
6726 2007-10-19  Dan Williams  <dcbw@redhat.com>
6727
6728         * src/nm-device.c
6729                 - (constructor): add message about what path a device is exported as
6730                         to help in debugging rh #339011
6731
6732 2007-10-17  Dan Williams  <dcbw@redhat.com>
6733
6734         * libnm-util/nm-utils.h
6735           libnm-util/nm-utils.c
6736                 - (nm_utils_security_valid): common function to help find the intersection
6737                         of capabilities of devices and (optionally) access points
6738
6739 2007-10-17  Dan Williams  <dcbw@redhat.com>
6740
6741         * src/nm-device-802-11-wireless.c
6742                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
6743                         don't get erroneously cleared
6744
6745 2007-10-17  Dan Williams  <dcbw@redhat.com>
6746
6747         * src/nm-manager.h
6748           src/nm-manager.c
6749           src/nm-hal-manager.c
6750                 - (device_removed, finalize, nm_manager_remove_device,
6751                    nm_manager_sleep): add a 'deactivate' argument to 
6752                    nm_manager_remove_device() to fully deactivate devices when necessary
6753                    (ie, always except when waking up)
6754
6755 2007-10-16  Dan Williams  <dcbw@redhat.com>
6756
6757         * libnm-util/nm-setting.c
6758                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
6759                         also isn't valid phase2 autheap method
6760
6761 2007-10-16  Dan Williams  <dcbw@redhat.com>
6762
6763         * libnm-glib/nm-client.c
6764                 - (update_wireless_status): consolidate updates of wireless status
6765                 - (constructor): use update_wireless_status()
6766                 - (manager_running): set wireless status off when NM goes away; requery
6767                         the wireless status when NM comes back
6768
6769 2007-10-16  Dan Williams  <dcbw@redhat.com>
6770
6771         * libnm-glib/nm-client.c
6772                 - (nm_client_activate_device): actually use the fixed-up specific
6773                         object path
6774
6775 2007-10-16  Dan Williams  <dcbw@redhat.com>
6776
6777         * src/nm-hal-manager.c
6778                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
6779                         killswitch error messages once
6780
6781 2007-10-16  Dan Williams  <dcbw@redhat.com>
6782
6783         * src/nm-manager.c
6784                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
6785                         if it's disabled in hardware; don't touch network devices while
6786                         NM is asleep
6787
6788 2007-10-16  Dan Williams  <dcbw@redhat.com>
6789
6790         * libnm-util/nm-client.c
6791                 - (nm_client_activate_device): convert NULL specific_object to "/",
6792                         which is used in place of NULL
6793
6794         * src/nm-manager.c
6795                 - (impl_manager_activate_device): convert "/" specific_object back into
6796                         NULL
6797
6798 2007-10-16  Tambet Ingo  <tambet@gmail.com>
6799
6800         Implement a generic NMSetting creator from setting name.
6801         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
6802         add a virtual function 'populate_fn'.
6803
6804         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
6805         (register_default_creators): Register setting creators instead of functions
6806         that create and then populate.
6807         (parse_one_setting): Use the common setting creator and then setting specific
6808         poplulation function.
6809
6810         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
6811         they all looked exactly the same.
6812         Add a 'populate_fn' virtual function to NMSetting.
6813         Use default virtual functions in case they are not overriden.
6814         (nm_setting_populate_from_hash): Implement.
6815
6816         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
6817         name, use a defined string.
6818         (real_act_stage4_get_ip4_config): Ditto.
6819
6820 2007-10-16  Tambet Ingo  <tambet@gmail.com>
6821
6822         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
6823         HAL is int, not uint.
6824
6825 2007-10-15  Tambet Ingo  <tambet@gmail.com>
6826
6827         Implement killswitch polling through HAL.
6828
6829         * src/nm-manager.c: Add wireless hardware status property. Add 
6830         'properties-changed' signal for changes in wireless and wireless hardware
6831         state changes.
6832
6833         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
6834         and update NMManager's wireless hardware state when it has changed.
6835         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
6836         already does that.
6837
6838         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
6839         values of wireless state and wireless hardware state. Listen for the
6840         'properties-changed' signals, update the cached values and emit notify.
6841
6842         * include/NetworkManager.h: Fix a typo in a comment.
6843
6844 2007-10-14  Dan Williams  <dcbw@redhat.com>
6845
6846         * libnm-util/nm-setting.c
6847                 - (setting_wireless_security_need_secrets): handle LEAP secrets
6848
6849 2007-10-13  Dan Williams  <dcbw@redhat.com>
6850
6851         * libnm-util/nm-setting.h
6852           libnm-util/nm-setting.c
6853           src/supplicant-manager/nm-supplicant-config.c
6854                 - Make the 'proto' field of the 802-11-wireless-security field a
6855                         string list
6856
6857 2007-10-12  Tambet Ingo  <tambet@gmail.com>
6858
6859         Rework the "properties-changed" signal listening implementation.
6860         Add a generic implementation to NMObject class that listens for
6861         the signal and calls property setters of the target NMObject.
6862
6863         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
6864
6865         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
6866         code to the end of file so that all the static functions are available
6867         without extra declarations.
6868         Remove the "properties-changed" signal handling and use the framework from
6869         NMObject.
6870         Implement property setters for properties that change with 
6871         "properties-changed" signal.
6872
6873         * libnm-glib/nm-access-point.c: Ditto.
6874
6875 2007-10-12  Tambet Ingo  <tambet@gmail.com>
6876
6877         Rework the "properties-changed" signal implementation.
6878         In classes that need to use it, just emit "GObject::notify" and the new
6879         framework takes care of the rest to make the signal available on dbus.
6880         The framework queues the notifications and tries to send as many together
6881         in one signal as possible.
6882
6883         * src/nm-properties-changed-signal.c:
6884         * src/nm-properties-changed-signal.h: Implement.
6885
6886         * src/Makefile.am: Add new files to build.
6887
6888         * src/NetworkManagerAP.c: Use the general framework for properties-changed
6889         signal.
6890
6891         * src/nm-device-802-11-wireless.c: Ditto.
6892
6893 2007-10-10  Dan Williams  <dcbw@redhat.com>
6894
6895         * src/nm-manager.c
6896                 - (wait_for_connection_expired): ensure info is valid
6897                 - (connection_added_default_handler): Should only remove pending
6898                         connection info when the manager has the connection that it's
6899                         waiting for.  Fixes segfault in wait_for_connection_info().  
6900
6901 2007-10-10  Dan Williams  <dcbw@redhat.com>
6902
6903         * libnm-util/nm-setting.c
6904           libnm-util/nm-setting.h
6905                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
6906                         can use if they choose.  Should be filled in by the settings service
6907                         on-the-fly with the currently logged in user's username
6908
6909 2007-10-10  Dan Williams  <dcbw@redhat.com>
6910
6911         * src/nm-device-802-11-wireless.c
6912                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
6913                         as such, because even if the manager fills in the SSID, NM still
6914                         has to indicate to wpa_supplicant that the AP isn't broadcasting
6915                         its SSID
6916
6917 2007-10-10  Tambet Ingo  <tambet@gmail.com>
6918
6919         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
6920         code that used NM's own version of dbus signal handling and custom dictionary
6921         marshalling/unmarshalling. With this change, all that obsolete code can disappear
6922         and we get to maintain over 2000 lines less code.
6923
6924         * libnm-util/dbus-dict-helpers.c:
6925         * libnm-util/dbus-dict-helpers.h: Remove.
6926
6927         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
6928
6929         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
6930
6931         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
6932         handlers.
6933
6934         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
6935
6936         * configure.in: Remove test/libnm-util/Makefile creation.
6937
6938         * test/Makefile.am: Remove libnm-util from SUBDIRS.
6939
6940         * test/libnm-util/: Remove the whole directory.
6941
6942 2007-10-10  Tambet Ingo  <tambet@gmail.com>
6943
6944         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
6945         device_state_changed_idle_id variable or it would contain some random value and the
6946         schedule_change_check calls would not do anything.
6947
6948 2007-10-09  Dan Williams  <dcbw@redhat.com>
6949
6950         * src/nm-device-802-11-wireless.c
6951                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
6952                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
6953                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
6954                         merging of non-SSID-broadcasting APs
6955
6956 2007-10-09  Tambet Ingo  <tambet@gmail.com>
6957
6958         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
6959         "guint8 *" since it's usually used with GByteArray->data.
6960         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
6961
6962 2007-10-09  Tambet Ingo  <tambet@gmail.com>
6963
6964         * src/NetworkManagerUtils.c
6965         (nm_utils_is_empty_ssid):
6966         (nm_utils_escape_ssid):
6967         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
6968         lot of places, so they belong to libnm-utils instead.
6969
6970         Now with 100% less compiler warnings:
6971
6972         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
6973         (nm_dbus_unescape_object_path): Ditto.
6974         (nm_utils_ssid_to_utf8): Ditto.
6975         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
6976         (nm_utils_escape_ssid): Ditto.
6977         (nm_utils_same_ssid): Ditto.
6978
6979         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
6980         (add_one_connection_element): Remove an unused variable.
6981         (impl_manager_get_active_connections): Ditto.
6982
6983         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
6984         variable.
6985
6986         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
6987         from the previous commit.
6988
6989         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
6990         (real_act_stage1_prepare): Ditto.
6991         (activation_success_handler): Ditto.
6992         (get_property): Ditto.
6993
6994         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
6995         variable.
6996
6997         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
6998         it's always set.
6999
7000         * src/supplicant-manager/nm-supplicant-config.c 
7001         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
7002         to expected "char *".
7003         (nm_supplicant_config_add_setting_wireless): Ditto.
7004         (nm_supplicant_config_remove_option): Remove, not used.
7005
7006         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
7007         not double.
7008         (test_wireless_enabled): Ifdef out unused function.
7009         (device_deactivate): Ditto.
7010         (device_state_changed): Ditto.
7011         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
7012         (nm_utils_escape_ssid): Ditto.
7013
7014         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
7015         (nm_utils_is_empty_ssid): Ditto.
7016
7017         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
7018         unused variable.
7019
7020         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
7021         (setting_vpn_properties_update_secrets): Ditto.
7022         (int_to_gvalue): Ifdef out for now, not used.
7023         (byte_to_gvalue): Ditto.
7024
7025         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
7026         Unused, remove.
7027
7028 2007-10-08  Tambet Ingo  <tambet@gmail.com>
7029
7030         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
7031         about dbus manager, not named manager.
7032         Make sure hal_manager and dbus_mgr are created before trying to unreference.
7033
7034         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
7035         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
7036         However, the same signal is emitted when we destroy it and there's 
7037         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
7038
7039         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
7040         releasing the DBusGConnection, since proxy needs a conneciton.
7041         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
7042
7043 2007-10-08  Dan Williams  <dcbw@redhat.com>
7044
7045         * src/NetworkManager.c
7046                 - (main): error on unknown command-line options
7047
7048 2007-10-08  Dan Williams  <dcbw@redhat.com>
7049
7050         Reimplement the invalid connection list.  Don't try to re-activate a
7051         connection that just failed or was canceled.
7052
7053         * src/nm-device.c
7054                 - (connection_secrets_failed_cb): fail device activation, don't just
7055                         deactivate the device.  Listeners have to know about the failure.
7056
7057         * src/NetworkManagerPolicy.c
7058                 - (nm_policy_auto_get_best_device): exclude invalid connections from
7059                         the connection list given to a device's get_best_connection()
7060                         method
7061                 - (device_state_changed): tag failed connections as invalid; clear the
7062                         tag from successful connections
7063
7064 2007-10-08  Dan Williams  <dcbw@redhat.com>
7065
7066         Fix problems with interrupted activation.  Previously, choosing an AP
7067         from the menu, then choosing another one before the first connection was
7068         successful wouldn't deactivate the device before starting the new connection
7069         on that same device.
7070
7071         * src/NetworkManagerPolicy.c
7072                 - (deactivate_old_device, device_state_changed, state_changed,
7073                    nm_policy_new): wrong place to deactivate old devices
7074
7075         * src/nm-manager.c
7076                 - (pending_connection_info_destroy, finalize,
7077                    wait_for_connection_expired): decouple destruction of the pending
7078                         connection info from the manager device
7079                 - (connection_added_default_handler): deactivate any active or
7080                         activating device before starting a new activation
7081                 - (impl_manager_activate_device): deactivate any active or activating
7082                         device before starting a new activation; be sure not to leak
7083                         pending connection info if a new activation request arrives but
7084                         there's already a pending one in-process
7085
7086 2007-10-08  Dan Williams  <dcbw@redhat.com>
7087
7088         * src/NetworkManagerAP.h
7089           src/NetworkManagerAP.c
7090                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
7091                         should handle default SSIDs and whether or not to autoconnect
7092                         to them
7093
7094 2007-10-08  Dan Williams  <dcbw@redhat.com>
7095
7096         * src/NetworkManagerPolicy.c
7097                 - (nm_policy_device_change_check): print out connection name where
7098                         possible
7099
7100 2007-10-08  Dan Williams  <dcbw@redhat.com>
7101
7102         * src/nm-device-802-11-wireless.c
7103           src/nm-device-802-11-wireless.h
7104                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
7105                         'hidden-ap-found' signal (for internal use only) that allows the
7106                         NMManager to fill in the AP's SSID if a connection has that AP's
7107                         BSSID in its seen-bssids list
7108
7109         * src/nm-manager.c
7110                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
7111                         wireless device's hidden-ap-found signal and fill in the APs SSID
7112                         if possible
7113
7114 2007-10-07  Dan Williams  <dcbw@redhat.com>
7115
7116         * src/nm-manager.c
7117           src/nm-manager.h
7118                 - Add a 'connections-added' signal to batch together updates of large
7119                         numbers of connections, like when reading from a settings service
7120                         the first time.  Otherwise, the policy would just activate the first
7121                         suitable connection it saw rather than waiting for the full list
7122                         to arrive.
7123                 - (nm_manager_class_init): register new signal
7124                 - (get_type_for_proxy, connection_get_settings_cb,
7125                    get_connection_for_proxy): centralize places where a proxy's setting
7126                         service is determined
7127                 - (free_get_settings_info): if the call being freed is the last call
7128                         in a pending call group, fire off the connections-added signal
7129                 - (internal_new_connection_cb): add call to a pending call group if
7130                         requested
7131                 - (list_connections_cb): always create a call group here, because this
7132                         call results in a batch of new connections
7133                 - (initial_get_connections): start getting system connections first
7134                 - (nm_manager_connections_destroy, emit_removed): actually emit the
7135                         removed signal when destroying connections
7136
7137         * src/NetworkManagerPolicy.c
7138                 - (nm_policy_new, connections_added): handle connections-added signal
7139                         from the manager
7140
7141 2007-10-06  Dan Williams  <dcbw@redhat.com>
7142
7143         * src/nm-device-802-11-wireless.c
7144                 - (constructor): fix leaked socket
7145
7146 2007-10-06  Dan Williams  <dcbw@redhat.com>
7147
7148         * src/NetworkManagerPolicy.c
7149                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
7150                         connection in the list returned by nm_manager_get_connections() is
7151                         reffed, but they weren't getting unreffed before returning
7152
7153 2007-10-06  Dan Williams  <dcbw@redhat.com>
7154
7155         * src/nm-manager.c
7156                 - (connections_to_slist): sort connections first on autoconnect, then
7157                         on timestamp
7158
7159 2007-10-06  Dan Williams  <dcbw@redhat.com>
7160
7161         * libnm-util/nm-connection.c
7162                 - (gvalue_to_string): handle UINT64
7163
7164 2007-10-06  Dan Williams  <dcbw@redhat.com>
7165
7166         * src/NetworkManagerPolicy.c
7167                 - (connection_updated, nm_policy_new): recheck state when a connection
7168                         gets updated
7169
7170 2007-10-06  Dan Williams  <dcbw@redhat.com>
7171
7172         * src/nm-manager.c
7173           src/nm-manager.h
7174                 - (nm_manager_get_connection_dbus_path): make static
7175                 - (nm_manager_update_connections): remove; unused
7176                 - Add a connection-updated signal
7177                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
7178                         handle connection object updates
7179
7180 2007-10-06  Dan Williams  <dcbw@redhat.com>
7181
7182         * src/NetworkManagerPolicy.c
7183                 - (connection_removed): deactivate removed connections
7184
7185 2007-10-06  Dan Williams  <dcbw@redhat.com>
7186
7187         * libnm-util/nm-connection.c
7188           libnm-util/nm-connection.h
7189                 - (nm_connection_replace_settings): new function
7190
7191 2007-10-06  Dan Williams  <dcbw@redhat.com>
7192
7193         * libnm-glib/nm-device-802-11-wireless.c
7194                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
7195                         on error when getting the active access point over D-Bus from NM
7196
7197 2007-10-05  Dan Williams  <dcbw@redhat.com>
7198
7199         * libnm-util/nm-setting.c
7200                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
7201                         to the NMSettingWireless table; it's now a string array not an array
7202                         of byte arrays
7203
7204 2007-10-05  Dan Williams  <dcbw@redhat.com>
7205
7206         * libnm-glib/nm-device-802-11-wireless.c
7207                 - Cache properties and update cached properties on D-Bus signals from NM
7208
7209 2007-10-05  Dan Williams  <dcbw@redhat.com>
7210
7211         * src/nm-device-802-11-wireless.c
7212                 - (set_current_ap): consolidate current_ap handling code into one place
7213                         to ensure that PropertiesChanged signals are emitted in all cases
7214                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
7215                    nm_device_802_11_wireless_dispose): use set_current_ap()
7216
7217 2007-10-05  Dan Williams  <dcbw@redhat.com>
7218
7219         * libnm-glib/nm-access-point.c
7220           libnm-glib/nm-access-point.h
7221                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
7222                         because the value is cached internally now.  Callers should not
7223                         free the internal value.
7224                 - Make signal name defines private
7225
7226         * test/nm-tool.c
7227           libnm-glib/libnm-glib-test.c
7228                 - Don't free value returned from nm_access_point_get_hw_address()
7229
7230 2007-10-04  Dan Williams  <dcbw@redhat.com>
7231
7232         * introspection/nm-device-802-11-wireless.xml
7233           src/nm-device-802-11-wireless.h
7234           src/nm-device-802-11-wireless.c
7235                 - Add a PropertiesChanged signal for wireless device
7236                 - Store currently associated access point
7237                 - (periodic_update): generalize; update rate here too and emit the
7238                         correct PropertiesChanged signal when stuff changes
7239                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
7240                    real_activation_cancel_handler): clear current_ap when device is
7241                         deactivated
7242                 - (link_to_specific_ap, get_ap_blacklisted,
7243                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
7244                         code
7245                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
7246                         outside this file
7247                 - (real_set_hw_address): emit property changed signal if the card's
7248                         MAC address changes
7249                 - (real_act_stage1_prepare): set the initial current_ap to the AP
7250                         the card is supposed to be connecting to
7251                 - (activation_success_handler): send out property updates on successful
7252                         activation
7253                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
7254                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
7255                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
7256                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
7257                         is now boxed; add PropertiesChanged signal
7258
7259 2007-10-04  Dan Williams  <dcbw@redhat.com>
7260
7261         * libnm-util/nm-connection.c
7262           libnm-util/nm-connection.h
7263                 - (nm_connection_verify): new function
7264
7265 2007-10-04  Dan Williams  <dcbw@redhat.com>
7266
7267         * libnm-util/nm-setting.c
7268                 - (nm_settings_verify): use #defines when possible rather than strings
7269                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
7270                 - (setting_vpn_verify): tighter validity check on 'service_type'
7271
7272 2007-10-04  Dan Williams  <dcbw@redhat.com>
7273
7274         * libnm-glib/nm-settings.c
7275                 - (nm_connection_settings_class_init): provide correct type for argument
7276                         to the Updated signal so that dbus-glib knows how to marshal it
7277
7278 2007-10-03  Dan Williams  <dcbw@redhat.com>
7279
7280         * src/nm-device-802-3-ethernet.c
7281                 - (real_get_best_connection): don't create automatic connections
7282                         internally; clients should provide a setting that applies to
7283                         the device with 'autoconnect: True'.  Problem was that these
7284                         internally auto-created connections don't have a proxy or service
7285                         name becuase they weren't created by a settings daemon, and therefore
7286                         clients have no idea what to do with them.
7287
7288 2007-10-03  Dan Williams  <dcbw@redhat.com>
7289
7290         * src/nm-device-802-11-wireless.c
7291           src/nm-device-802-11-wireless.h
7292           introspection/nm-device-802-11-wireless.xml
7293                 - GetActiveNetworks -> GetAccessPoints
7294                 - ActiveNetwork -> ActiveAccessPoint
7295                 - NetworkAdded -> AccessPointAdded
7296                 - NetowrkRemoved -> AccessPointRemoved
7297
7298         * libnm-glib/nm-device-802-11-wireless.c
7299           libnm-glib/nm-device-802-11-wireless.h
7300                 - network-added signal -> access-point-added
7301                 - network-removed signal -> access-point-removed
7302                 - nm_device_802_11_wireless_get_active_network() ->
7303                         nm_device_802_11_wireless_get_active_access_point()
7304                 - nm_device_802_11_wireless_get_network_by_path() ->
7305                         nm_device_802_11_wireless_get_access_point_by_path()
7306                 - nm_device_802_11_wireless_get_networks() ->
7307                         nm_device_802_11_wireless_get_access_points()
7308
7309         * libnm-glib/libnm-glib-test.c
7310           test/nm-tool.c
7311           src/NetworkManagerPolicy.c
7312                 - Fixups for Network -> AccessPoint
7313
7314 2007-10-03  Dan Williams  <dcbw@redhat.com>
7315
7316         Add a GetActiveConnections() method on the Manager object.
7317
7318         * src/nm-manager.c
7319           src/nm-manager.h
7320           introspection/nm-manager.xml
7321                 - (connection_get_settings_cb): keep connection type around too
7322                 - (impl_manager_get_active_connections, add_one_connection_element):
7323                         implement; returns all active connections and what devices they
7324                         apply to
7325
7326         * libnm-glib/nm-client.c
7327           libnm-glib/nm-client.h
7328           introspection/nm-manager-client.xml
7329                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
7330                         by the caller; free here to avoid memory leak
7331                 - (nm_client_get_active_connections): implement; return the list of
7332                         active connections
7333                 - (nm_client_free_active_connection_element): implement; free an element
7334                         of the GSList returned by nm_client_get_active_connections()
7335
7336 2007-10-03  Dan Williams  <dcbw@redhat.com>
7337
7338         * src/nm-device-802-11-wireless.c
7339                 - (nm_device_802_11_wireless_update_bssid): remove
7340                 - (get_active_ap): new function; find the AP in the scan list which
7341                         matches the current BSSID and SSID of the wireless device
7342                 - (nm_device_802_11_periodic_update): get current AP using
7343                         get_active_ap() and print AP roam messages
7344
7345 2007-10-01  Dan Williams  <dcbw@redhat.com>
7346
7347         * libnm-util/nm-setting.h
7348                 - Add a 'timestamp' option to NMSettingConnection
7349                 - Add a UINT64 type
7350
7351         * libnm-util/nm-setting.c
7352                 - (uint64_to_gvalue): new function
7353                 - (nm_setting_populate_from_hash, nm_setting_hash,
7354                    default_setting_clear_secrets): handle UINT64 type
7355                 - con_table: add 'timestamp' member
7356
7357 2007-10-01  Dan Williams  <dcbw@redhat.com>
7358
7359         * src/nm-manager.c
7360                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
7361                         value when the connection can be activated immediately
7362
7363 2007-10-01  Dan Williams  <dcbw@redhat.com>
7364
7365         * libnm-glib/nm-device.c
7366                 - (nm_device_class_init): actually tell glib about the carrier-changed
7367                         signal
7368
7369 2007-10-01  Dan Williams  <dcbw@redhat.com>
7370
7371         * configure.in
7372           src/marshallers/Makefile.am
7373           src/marshallers/nm-marshal.list
7374           src/marshallers/nm-marshal-main.c
7375                 - Consolidate glib marshallers into one place
7376
7377         * src/dhcp-manager/Makefile.am
7378           src/dhcp-manager/nm-dhcp-manager.c
7379           src/supplicant-manager/Makefile.am
7380           src/supplicant-manager/nm-supplicant-manager.c
7381           src/supplicant-manager/nm-supplicant-interface.c
7382           src/ppp-manager/Makefile.am
7383           src/ppp-manager/nm-ppp-manager.c
7384           src/vpn-manager/Makefile.am
7385           src/vpn-manager/nm-vpn-connection.c
7386           src/Makefile.am
7387                 - Use consolidated marshallers
7388
7389         * src/dhcp-manager/nm-dhcp-marshal.list
7390           src/dhcp-manager/nm-dhcp-marshal-main.c
7391           src/supplicant-manager/nm-supplicant-marshal-main.c
7392           src/supplicant-manager/nm-supplicant-marshal.list
7393           src/nm-marshal-main.c
7394           src/nm-marshal.list
7395           src/ppp-manager/nm-ppp-marshal-main.c
7396           src/ppp-manager/nm-ppp-marshal.list
7397           src/vpn-manager/nm-vpn-marshal-main.c
7398           src/vpn-manager/nm-vpn-marshal.list
7399                 - Remove
7400
7401 2007-10-01  Dan Williams  <dcbw@redhat.com>
7402
7403         * include/NetworkManagerVPN.h
7404                 - define VPN connection state change reason codes
7405
7406         * src/vpn-manager/Makefile.am
7407           src/vpn-manager/nm-vpn-marshal.list
7408           src/vpn-manager/nm-vpn-marshal-main.c
7409                 - Add marshallers for StateChanged signal
7410
7411         * introspection/nm-vpn-connection.xml
7412                 - New Banner property
7413                 - StateChanged signal now includes a 'reason' argument
7414
7415         * src/vpn-manager/nm-vpn-connection.c
7416           src/vpn-manager/nm-vpn-connection.h
7417                 - Add a "Banner" property that contains the returned VPN server login
7418                         banner (if any); valid only in the ACTIVATED state
7419                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
7420                         a 'reason' argument and emits that reason along with the
7421                         state-changed signal
7422                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
7423                 - (nm_vpn_connection_ip4_config_get): save banner for later
7424                 - (nm_vpn_connection_get_banner, get_property,
7425                    nm_vpn_connection_class_init): implement Banner property
7426
7427         * src/vpn-manager/nm-vpn-service.c
7428                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
7429                         connection list because elements may get added/removed from it
7430                         while iterating over the list
7431                 - (connection_state_changed): signal now includes the 'reason' argument
7432
7433         * libnm-glib/nm-vpn-connection.c
7434           libnm-glib/nm-vpn-connection.h
7435                 - (nm_vpn_connection_get_banner): new function
7436                 - (state_changed_proxy): handle reason argument
7437
7438 2007-09-28  Tambet Ingo  <tambet@gmail.com>
7439
7440         * src/nm-manager.c:
7441         * src/nm-manager.h:
7442         Implement device activation through NMManager.
7443         Implement "pending device activation" here - If the connection isn't found,
7444         we try to wait for up to 5 seconds for the connection to be provided.
7445         Add NMConnectionType argument to "connection-added" and "connection-removed"
7446         signals.
7447         (nm_manager_get): Remove. Finally.
7448
7449         * src/nm-activation-request.c: 
7450         * src/nm-activation-request.h: 
7451         Remove all the deferred activation code.
7452
7453         * src/nm-device.c: Remove all the deferred activation code. Once the device
7454         activation is started, it's started. Update the activation virtual function
7455         signature.
7456
7457         * src/nm-device-interface.c:
7458         * src/nm-device-interface.h:
7459         Device activation now takes only NMActRequest argument.
7460         Don't expose device activation directly on dbus, it's supposed to go through
7461         NMManager now.
7462
7463         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
7464         a bit more compact.
7465         Use the new device activation methods through NMManager.
7466
7467         * introspection/nm-manager-client.xml: 
7468         * introspection/nm-manager.xml: 
7469         * libnm-glib/nm-client.c:
7470         * libnm-glib/nm-client.h:
7471         Add device activation method.
7472         
7473         * libnm-glib/nm-device.c: 
7474         * libnm-glib/nm-device.h: 
7475         * introspection/nm-device.xml: 
7476         Remove device activation method. It's done through NMManager now.
7477
7478         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
7479         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
7480
7481 2007-09-28  Dan Williams  <dcbw@redhat.com>
7482
7483         * libnm-glib/nm-vpn-connection.c
7484                 - (nm_vpn_connection_get_state): try to update state if the current
7485                         state is UNKNOWN
7486
7487 2007-09-27  Dan Williams  <dcbw@redhat.com>
7488
7489         Patch from Bill Nottingham
7490
7491         * src/supplicant-manager/nm-supplicant-config.c
7492                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
7493                         data to the supplicant
7494
7495 2007-09-27  Dan Williams  <dcbw@redhat.com>
7496
7497         * src/NetworkManagerSystem.c
7498                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
7499                         and all address manipulation here should be happening on the
7500                         _VPN_ device, not the active device
7501
7502 2007-09-26  Dan Williams  <dcbw@redhat.com>
7503
7504         * src/nm-manager.c
7505           src/nm-manager.h
7506           src/nm-activation-request.c
7507           src/nm-activation-request.h
7508                 - Move the GetSecrets stuff out of the NMManager instance because it
7509                         doesn't really need to be there and complicates things
7510
7511         * src/nm-device.c
7512                 - (connection_secrets_failed_cb, device_activation_go): connect to the
7513                         connection-secrets-failed signal and deactivate the device if
7514                         the GetSecrets call fails
7515
7516         * src/nm-device-802-11-wireless.c
7517                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7518                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
7519                         secrets and give correct hints about whether new secrets should be
7520                         asked for by the client or not
7521
7522 2007-09-26  Dan Williams  <dcbw@redhat.com>
7523
7524         * src/vpn-manager/nm-vpn-connection.c
7525                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
7526                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
7527                         to the secrets-updated signal of the NMConnection since updating
7528                         the secrets is done within the scope of the NMVPNConnection object
7529                         already
7530                 - (get_connection_secrets): fix an uninialized variable usage error
7531
7532 2007-09-26  Dan Williams  <dcbw@redhat.com>
7533
7534         * libnm-util/nm-setting.c
7535                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
7536                         actually get updated when the user enters them
7537
7538 2007-09-26  Dan Williams  <dcbw@redhat.com>
7539
7540         * libnm-glib/nm-vpn-plugin.c
7541                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
7542
7543 2007-09-26  Dan Williams  <dcbw@redhat.com>
7544
7545         * include/NetworkManagerVPN.h
7546                 - Add a NEED_AUTH state
7547
7548         * src/vpn-manager/nm-vpn-connection.c
7549                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
7550                         the connection needs secrets, and if so, then ask the settings
7551                         service to fill in the secrets.  Then start the connection.
7552
7553 2007-09-26  Dan Williams  <dcbw@redhat.com>
7554
7555         * src/vpn-manager/nm-vpn-manager.c
7556                 - (new_vpn_error, impl_vpn_manager_connect): set errors
7557
7558 2007-09-26  Dan Williams  <dcbw@redhat.com>
7559
7560         * introspection/nm-vpn-plugin.xml
7561           libnm-glib/nm-vpn-plugin.c
7562           libnm-glib/nm-vpn-plugin.h
7563                 - (impl_vpn_plugin_need_secrets): implement a call that should return
7564                         the name of the NMSetting in an NMConnection that may require
7565                         secrets specific to that VPN plugin
7566
7567 2007-09-26  Dan Williams  <dcbw@redhat.com>
7568
7569         * src/nm-manager.c
7570           src/nm-manager.h
7571                 - (nm_manager_get_connection_secrets): make static, unused outside
7572                         the file
7573                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
7574
7575 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7576
7577         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
7578         method.
7579         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
7580         unreference the connection.
7581
7582         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
7583         passing properties hash and routes string list, pass NMConnection (in hashed form).
7584
7585         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
7586         as GSList, no need to copy stuff around anymore.
7587         (nm_vpn_connection_activate): Update the plugin activation method.
7588
7589         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
7590         routes argument to GSList.
7591
7592 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7593
7594         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
7595         state and try to get the secrets.
7596
7597         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
7598         connections from NMManager and let the device to choose the best from the list.
7599         Since the connection list is sorted by system ones first and user ones later,
7600         the devices still prefer system connections like they did before.
7601         (deactivate_old_device): Implement. When a device starts activation, we have a
7602         policy (for now at least) to deactivate any other device that might be either
7603         active or still activating.
7604
7605         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
7606         It's set on construction, there will be no other way to access it.
7607
7608         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
7609         device events and drive the device, not the other way around.
7610
7611         * src/nm-device-802-3-ethernet.c: Ditto.
7612
7613         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
7614         sent along, pass it on to virtual functions.
7615
7616         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
7617         for now, but should really be public instead of nm_device_get_iface() since iface
7618         is a property of the DeviceInterface, not Device.
7619         (impl_device_activate): Don't touch NMManager!
7620
7621 2007-09-26  Jürg Billeter  <j@bitron.ch>
7622
7623         * initscript/paldo/NetworkManager.in:
7624         * initscript/paldo/NetworkManagerDispatcher.in:
7625         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
7626         (nm_system_flush_loopback_routes): update paldo backend
7627
7628 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7629
7630         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
7631         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
7632         which means none of the devices get brought down properly, which in turn leaves
7633         DHCP client running.
7634
7635         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
7636         (supplicant_connection_timeout_cb): Ditto.
7637
7638 2007-09-25  Dan Williams  <dcbw@redhat.com>
7639
7640         * src/nm-device.c
7641                 - (device_activation_go): small hack to work around race when
7642                         activating deferred connections; should solve this in a better way
7643
7644 2007-09-25  Dan Williams  <dcbw@redhat.com>
7645
7646         * introspection/nm-device.xml
7647           libnm-glib/nm-device.c
7648           libnm-glib/nm-device.h
7649                 - Add 'Carrier' property to exported NMDevice objects
7650
7651         * src/nm-device-interface.h
7652           src/nm-device-interface.c
7653           src/nm-device.c
7654                 - Add a 'carrier' property to internal NMDevice objects
7655
7656 2007-09-25  Dan Williams  <dcbw@redhat.com>
7657
7658         * src/nm-device-802-11-wireless.c
7659                 - (ap_auth_enforced): also return the encryption status of the AP so
7660                         that callers can differentiate easily between unencrypted APs
7661                         and encrypted ones, in addition to whether the AP has an
7662                         authenticator
7663                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7664                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
7665                         previously would request secrets from unencrypted APs at times
7666
7667 2007-09-25  Dan Williams  <dcbw@redhat.com>
7668
7669         * src/nm-manager.c
7670                 - (nm_manager_update_state): new function; updates state and emits
7671                         appropriate signals ensuring a state-change signal for the same state
7672                         never gets emitted twice in a row.
7673                 - (manager_device_state_changed): handle more device state to get a
7674                         better picture of the overall NM state
7675
7676 2007-09-25  Dan Williams  <dcbw@redhat.com>
7677
7678         * libnm-glib/nm-settings.c
7679           libnm-glib/nm-settings.h
7680                 - (new_error -> nm_settings_new_error): make public so that subclasses
7681                         can use the same error domain.  Also pass a valid error code to
7682                         g_error_new_literal() so that libdbus doesn't assert when converting
7683                         the GError into a DBusError
7684                 - (impl_settings_list_connections, impl_connection_settings_get_id,
7685                    impl_connection_settings_get_settings,
7686                    impl_connection_settings_get_secrets): use new error creator
7687                         function
7688
7689 2007-09-25  Dan Williams  <dcbw@redhat.com>
7690
7691         * src/NetworkManager.c
7692                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
7693
7694 2007-09-25  Dan Williams  <dcbw@redhat.com>
7695
7696         * src/supplicant-manager/nm-supplicant-manager.c
7697                 - (poke_supplicant_cb, nm_supplicant_manager_init,
7698                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
7699                    nm_supplicant_manager_startup): when the supplicant isn't running,
7700                         try to start it periodically via system bus activation.  Fixes
7701                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
7702                         for the supplicant to come back
7703
7704 2007-09-25  Dan Williams  <dcbw@redhat.com>
7705
7706         Ensure that old activation requests are forgotten about; previously
7707         hitting Cancel in the password dialog would deactivate whatever device
7708         that password was requested for, even if that wasn't the currently
7709         activating connection.
7710
7711         * src/nm-manager.c
7712           src/nm-manager.h
7713                 - (nm_manager_get_connection_secrets): track the pending call
7714                         object so it can be canceled later if needed
7715                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
7716                         GetSecrets call for a particular connection
7717
7718         * src/nm-activation-request.c
7719                 - (dispose): cancel any outstanding GetSecrets calls on the
7720                         connection
7721
7722 2007-09-25  Dan Williams  <dcbw@redhat.com>
7723
7724         * src/NetworkManagerPolicy.c
7725                 - (nm_policy_device_change_check): handle devices that have a
7726                         deferred activation.  These devices are not really active _yet_,
7727                         but need to be treated as such here.  Don't interrupt them
7728                         automatically.
7729
7730         * src/nm-device-interface.c
7731                 - (impl_device_activate): handle devices that have a deferred activation
7732                         like activating or active devices.  When multiple active devices
7733                         get committed, the device shouldn't be deactivated until the
7734                         connection details are available to avoid DoS and such.  Currently,
7735                         any active, activating, or deferred activation device is deactivated
7736                         here before starting the new activation request.
7737
7738 2007-09-25  Dan Williams  <dcbw@redhat.com>
7739
7740         Properly re-query secrets from the settings daemon when stuff fails.
7741
7742         * src/nm-device-802-11-wireless.c
7743                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
7744                         between Shared Key and Open System auth modes
7745                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7746                    real_act_stage4_ip_config_timeout): clear existing secrets and
7747                         request new ones when something fails due to a suspected wrong key
7748                 - (real_act_stage2_config): fix for new request_new argument to
7749                         nm_manager_get_connection_secrets()
7750
7751         * src/nm-manager.c
7752           src/nm-manager.h
7753                 - (nm_manager_get_connection_secrets): return error status; pass
7754                         new request_new argument on to the settings daemon
7755
7756         * introspection/nm-settings-connection.xml
7757                 - New 'request_new' argument to the GetSecrets call that hints to the
7758                         settings daemon to ask the user for completely new secrets
7759
7760         * libnm-glib/nm-settings.c
7761           libnm-glib/nm-settings.h
7762                 - (impl_connection_settings_get_secrets): handle new 'request_new'
7763                         argument
7764
7765 2007-09-25  Dan Williams  <dcbw@redhat.com>
7766
7767         * libnm-util/nm-connection.c
7768           libnm-util/nm-connection.h
7769                 - (nm_connection_clear_secrets): new function; clear secrets out of
7770                         each NMSetting in an NMConnection
7771
7772         * libnm-util/nm-setting.h
7773           libnm-util/nm-setting.c
7774                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
7775                         secrets out of an NMSetting
7776                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
7777                    nm_setting_wired_new, nm_setting_wireless_new,
7778                    nm_setting_wireless_security_new, nm_setting_ppp_new,
7779                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
7780                         to default handler default_setting_clear_secrets()
7781
7782 2007-09-25  Dan Williams  <dcbw@redhat.com>
7783
7784         * src/nm-activation-request.c
7785           src/nm-activation-request.h
7786                 - (nm_act_request_is_deferred): new function
7787
7788 2007-09-24  Dan Williams  <dcbw@redhat.com>
7789
7790         * src/nm-device-802-11-wireless.c
7791                 - (activation_success_handler): update signal strength immediately
7792                         after activation
7793
7794 2007-09-24  Dan Williams  <dcbw@redhat.com>
7795
7796         * libnm-util/nm-setting.c
7797                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
7798
7799 2007-09-24  Dan Williams  <dcbw@redhat.com>
7800
7801         * src/NetworkManagerPolicy.c
7802                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
7803                         device by deactivating it because it doesn't have a "best connection".
7804                         Since autoconnect=False connections aren't automatically chosen,
7805                         NM would interrupt activation of such a connection because it
7806                         would never be "best" due to autoconnect=False.
7807
7808 2007-09-24  Dan Williams  <dcbw@redhat.com>
7809
7810         * src/nm-manager.c
7811                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
7812                         actually has some time to enter a key before the GetSecrets call
7813                         times out
7814
7815 2007-09-24  Dan Williams  <dcbw@redhat.com>
7816
7817         * introspection/nm-manager.xml
7818           src/nm-manager.c
7819                 - (impl_manager_legacy_state): fix 'state' method call return value
7820
7821 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
7822
7823         * test/Makefile.am: Install nm-tool
7824
7825 2007-09-24  Dan Williams  <dcbw@redhat.com>
7826
7827         Patch from Ross Burton <ross@burtonini.com>
7828
7829         * test/nm-tool.c
7830           callouts/nm-dhcp-client-action.c
7831           src/nm-netlink.c
7832           src/vpn-manager/nm-vpn-connection.c
7833           libnm-glib/libnm-glib-test.c
7834                 - warning fixes
7835
7836 2007-09-24  Dan Williams  <dcbw@redhat.com>
7837
7838         * libnm-util/nm-utils.h
7839           libnm-util/nm-utils.c
7840                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
7841                         remove, unused
7842
7843 2007-09-23  Dan Williams  <dcbw@redhat.com>
7844
7845         * vpn-daemons/vpnc/properties/nm-vpnc.c
7846                 - Update for new VPN properties API bits; instead of passing around
7847                         a lot of random things, everything goes into the NMConnection
7848                         object.
7849
7850 2007-09-23  Dan Williams  <dcbw@redhat.com>
7851
7852         * libnm-util/nm-setting.c
7853                 - Correctly dispose of settings objects if creating them from a hash
7854                         table fails
7855
7856 2007-09-23  Dan Williams  <dcbw@redhat.com>
7857
7858         * libnm-util/nm-setting.c
7859                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
7860                         the hash table in a standard manner.  Clients of libnm-util should
7861                         only call g_hash_table_remove_all(), never destroy the hash table
7862                         and recreate it.
7863
7864 2007-09-22  Dan Williams  <dcbw@redhat.com>
7865
7866         * src/nm-device-802-11-wireless.c
7867                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
7868                         real reason to do it so often, and reduces wakeups for clients.
7869
7870 2007-09-21  Dan Williams  <dcbw@redhat.com>
7871
7872         * src/nm-device-802-11-wireless.c
7873                 - (build_supplicant_config): wpa_supplicant requires the option
7874                         key_mgmt=NONE for unencrypted networks
7875                 - (real_act_stage2_config): clarify log message on activation
7876
7877 2007-09-21  Dan Williams  <dcbw@redhat.com>
7878
7879         * test/nm-supplicant-test.c
7880           test/Makefile.am
7881                 - Remove supplicant test binary; no longer applicable
7882
7883 2007-09-21  Dan Williams  <dcbw@redhat.com>
7884
7885         * src/supplicant-manager/nm-supplicant-manager.c
7886                 - (nm_supplicant_manager_init): poke the supplicant at startup to
7887                         activate it on the system bus
7888
7889 2007-09-20  Dan Williams  <dcbw@redhat.com>
7890
7891         * initscript/RedHat/NetworkManager.in
7892                 - dhcdbd is no longer used, so don't try to start it from the initscripts
7893
7894 2007-09-20  Dan Williams  <dcbw@redhat.com>
7895
7896         * src/nm-device.c
7897                 - (nm_device_is_activating): work around a race between auto-activation
7898                         and the user activating the same device that is being auto-activated
7899
7900 2007-09-20  Dan Williams  <dcbw@redhat.com>
7901
7902         * src/nm-device-interface.c
7903                 - (impl_device_activate): until multiple active device support lands,
7904                         ensure only one device can be active at a time
7905
7906 2007-09-20  Dan Williams  <dcbw@redhat.com>
7907
7908         * src/supplicant-manager/nm-supplicant-config.c
7909           src/supplicant-manager/nm-supplicant-config.h
7910                 - (nm_supplicant_config_add_option): hide secrets from system logs
7911
7912 2007-09-20  Dan Williams  <dcbw@redhat.com>
7913
7914         * src/NetworkManagerPolicy.c
7915                 - (nm_policy_device_change_check): re-enable the wireless device change
7916                         checking code; insted of checking for SSIDs, check for the same
7917                         connection instead
7918
7919 2007-09-20  Dan Williams  <dcbw@redhat.com>
7920
7921         * src/nm-device-802-11-wireless.c
7922                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
7923                         composite link state when determining when to start the disconnection
7924                         timer; that link state is already based on the supplicant interface's
7925                         status which is exactly what's already being examined, plus the link
7926                         state is a conglomeration of various things that we don't want here
7927
7928 2007-09-20  Dan Williams  <dcbw@redhat.com>
7929
7930         * libnm-glib/nm-access-point.c
7931                 - (handle_property_changed): strength is a UCHAR
7932
7933 2007-09-20  Dan Williams  <dcbw@redhat.com>
7934
7935         * src/supplicant-manager/nm-supplicant-config.c
7936                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
7937                         string list keywords too since that's what wpa_supplicant wants
7938
7939 2007-09-20  Dan Williams  <dcbw@redhat.com>
7940
7941         * libnm-util/nm-setting.c
7942                 - (convert_strv_to_slist): dupe the values in the list because since
7943                         the list is a boxed value, it'll get destroyed when it's container
7944                         (like a hash table or whatever) gets destroyed
7945
7946 2007-09-20  Tambet Ingo  <tambet@gmail.com>
7947
7948         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
7949         GSList.
7950
7951         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
7952
7953         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
7954         just use (g_object_set_data_full).
7955
7956         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
7957         that NMSettingVPN->routes is a GSList, convert it to char **.
7958         (nm_vpn_connection_ip4_config_get): Free routes when done.
7959         (nm_vpn_connection_activate): Ditto.
7960
7961         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
7962         (real_act_stage2_config): Use defined setting names.
7963
7964 2007-09-20  Dan Williams  <dcbw@redhat.com>
7965
7966         * src/nm-device-802-11-wireless.c
7967           src/nm-manager.c
7968           src/nm-manager.h
7969                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
7970                         so that the device can be deactivated if secrets are wrong
7971
7972 2007-09-20  Dan Williams  <dcbw@redhat.com>
7973
7974         * introspection/nm-settings-connection.xml
7975           libnm-glib/nm-settings.c
7976           libnm-glib/nm-settings.h
7977                 - Make GetSecrets asynchronous on the server side
7978
7979 2007-09-20  Dan Williams  <dcbw@redhat.com>
7980
7981         * src/nm-manager.h
7982           src/nm-device.c
7983                 - (nm_device_activate): actually check if a given connection
7984                         exists before assuming it doesn't
7985
7986 2007-09-20  Tambet Ingo  <tambet@gmail.com>
7987
7988         * libnm-util/nm-connection.c (register_default_creators): Use defined
7989         setting names. Register NMSettingVPN and NMSettingVPNProperties.
7990
7991         * libnm-util/nm-setting.c: Define property name strings, use them.
7992         Implement NMSettingVPN and NMSettingVPNProperties settings.
7993         Implement NM_S_TYPE_GVALUE_HASH.
7994         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
7995         (setting_connection_verify): Rename 'devtype' property to 'type'.
7996
7997         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
7998         properties.
7999
8000         * src/vpn-manager/nm-vpn-service.c: Ditto.
8001
8002         * src/vpn-manager/nm-vpn-connection.c: Ditto.
8003
8004         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
8005         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
8006
8007         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
8008         names. NMSettingConnection->devtype got renamed to 'type'.
8009
8010         * src/nm-device-802-3-ethernet.c (find_best_connection):
8011         (real_get_best_connection): Ditto.
8012
8013         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
8014
8015         * libnm-glib/nm-vpn-manager.[ch]: Update.
8016
8017 2007-09-19  Dan Williams  <dcbw@redhat.com>
8018
8019         * src/NetworkManagerAP.c
8020           src/NetworkManagerAP.h
8021           introspection/nm-access-point.xml
8022                 - Change strength-changed signal into a properties-changed signal
8023                         for all properties, not just strength.  Export that signal over dbus
8024                         so listeners don't have to poll NM for changes.
8025                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
8026                         get exported over D-Bus, so break up the logic and let other bits
8027                         decided when to export the AP
8028                 - (nm_ap_new_from_ap): remove, unused
8029
8030         * src/nm-device-802-11-wireless.c
8031                 - (merge_scanned_ap): only export APs that are actually on the device
8032                         list, not every AP created internally
8033
8034         * libnm-glib/nm-access-point.c
8035           libnm-glib/nm-access-point.h
8036                 - Cache properties internally and only hit DBus when needed.  Get
8037                         property updates from NM signals
8038
8039 2007-09-16  Dan Williams  <dcbw@redhat.com>
8040
8041         * libnm-util/nm-connection.c
8042           libnm-util/nm-connection.h
8043                 - (nm_connection_for_each_setting_value): new function; iterate over
8044                         each setting's value and call a user-provided function with details
8045                         about that value
8046
8047         * libnm-util/nm-setting.c
8048           libnm-util/nm-setting.h
8049                 - (nm_setting_enumerate_values): new function; enumerate the values
8050                         of a specific NMSetting subclass for a user-provided function with
8051                         details about that value
8052                 - Change wep_tx_keyidx to a uint32
8053                 - Create settings value tables for each setting defining their type,
8054                         key name, offset into the NMSetting subclass' structure, and whether
8055                         they are required and/or a secret
8056                 - (nm_setting_populate_from_hash): generic function to populate an
8057                         NMSetting from a GHash table, make all settings use it
8058                 - (nm_setting_hash): generic function to derive a GHashTable from
8059                         an NMSetting object, make all settings use it
8060
8061 2007-09-14  Dan Williams  <dcbw@redhat.com>
8062
8063         Remove unused stuff in libnm-util
8064
8065         * configure.in
8066           libnm-util/Makefile.am
8067           libnm-util/cipher-private.h
8068           libnm-util/cipher-wep-ascii.c
8069           libnm-util/cipher-wep-ascii.h
8070           libnm-util/cipher-wep-hex.c
8071           libnm-util/cipher-wep-hex.h
8072           libnm-util/cipher-wep-passphrase.c
8073           libnm-util/cipher-wep-passphrase.h
8074           libnm-util/cipher-wpa-psk-hex.c
8075           libnm-util/cipher-wpa-psk-hex.h
8076           libnm-util/cipher-wpa-psk-passphrase.c
8077           libnm-util/cipher-wpa-psk-passphrase.h
8078           libnm-util/cipher.c
8079           libnm-util/cipher.h
8080           libnm-util/dbus-helpers.c
8081           libnm-util/dbus-helpers.h
8082           libnm-util/gnome-keyring-md5.c
8083           libnm-util/gnome-keyring-md5.h
8084           libnm-util/sha1.c
8085           libnm-util/sha1.h
8086           src/nm-device-802-11-wireless.c
8087           test/libnm-util/Makefile.am
8088           test/libnm-util/test-ciphers.c
8089           test/libnm-util/test-dbus-helpers.c
8090           test/libnm-util/test-inputs.h
8091                 - Removed
8092
8093 2007-09-14  Dan Williams  <dcbw@redhat.com>
8094
8095         * libnm-util/dbus-method-dispatcher.c
8096           libnm-util/dbus-method-dispatcher.h
8097                 - Remove, unused
8098
8099 2007-09-14  Dan Williams  <dcbw@redhat.com>
8100
8101         Implement deferred activation support in the device class.
8102
8103         * src/nm-device-interface.c
8104           src/nm-device-interface.h
8105                 - (nm_device_interface_activate): take more arguments to support
8106                         deferred activation; callers must pass one of (connection) OR
8107                         (service_name, connection_path)
8108                 - (impl_device_activate): connection validation is punted to the device
8109                         to be able to handle deferred activation.  Yes, this means errors
8110                         don't get returned from the Activate() dbus call, and yes, that
8111                         should be fixed somehow later.
8112
8113         * src/nm-device.c
8114           src/nm-device.h
8115                 - (clear_act_request): clear additional deferred activation stuff too
8116                 - (deferred_activation_timeout_cb): new function; clean up when
8117                         deferred activation times out.
8118                 - (deferred_activation_start_cb): new function; when the connection
8119                         finally becomes available, start device activation
8120                 - (nm_device_activate): attach to the right signals of the activation
8121                         request if we need to defer activation until the connection is valid
8122
8123         * src/NetworkManagerPolicy.c
8124                 - (nm_policy_device_change_check): update for additional arguments
8125                         required for nm_device_interface_activate().  Pass NULL for these
8126                         though because this function already knows exactly which
8127                         NMConnection to use
8128
8129 2007-09-14  Dan Williams  <dcbw@redhat.com>
8130
8131         Implement deferred activation handling in the NMActRequest class.  When a
8132         client wants to activate a device but must create the NMConnection details
8133         on the fly, there likely hasn't been enough time yet for NM to receive the
8134         new connection signal and grab all the connection details.  So the
8135         activation is deferred (and bounded by a timer) for a while, and if the
8136         connection appears within the window, it is activated.
8137
8138         * src/nm-activation-request.c
8139           src/nm-activation-request.h
8140                 - (nm_act_request_class_init): two new signals to support deferred
8141                         activation, to allow the listener to handle both timeout and success
8142                 - (nm_act_request_new_deferred): new function, starts the deferred
8143                         activation timeout handler and listens to the NMManager for
8144                         new-connection signals to notice when the connection comes in
8145
8146 2007-09-14  Dan Williams  <dcbw@redhat.com>
8147
8148         * src/nm-manager.h
8149           src/nm-manager.c
8150                 - (nm_manager_get_connection_service_name,
8151                    nm_manager_get_connection_dbus_path): get details about a connection
8152                         known internally by the NMManager
8153                 - (nm_manager_class_init): fix connection add/remove signal marshalers
8154                         because NMConnection is now a GObject subclass
8155                 - Use constant for the gobject data tag used on NMConnection objects for
8156                         storing the associated DBusGProxy
8157
8158 2007-09-14  Dan Williams  <dcbw@redhat.com>
8159
8160         * utils/Makefile.am
8161           utils/nm-utils.c
8162           utils/nm-utils.h
8163           src/supplicant-manager/Makefile.am
8164           src/dhcp-manager/Makefile.am
8165           src/backends/Makefile.am
8166           src/named-manager/Makefile.am
8167           src/ppp-manager/Makefile.am
8168           src/vpn-manager/Makefile.am
8169           test/libnm-util/Makefile.am
8170           test/test-common/Makefile.am
8171                 - Remove utils/; it was unused
8172
8173 2007-09-13  Dan Williams  <dcbw@redhat.com>
8174
8175         * libnm-glib/nm-vpn-manager.h
8176           libnm-glib/nm-vpn-manager.c
8177                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
8178
8179 2007-09-13  Dan Williams  <dcbw@redhat.com>
8180
8181         * src/nm-device-802-3-ethernet.c
8182                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
8183                         netlink monitor carrier signals on dispose, not bring down.  The
8184                         carrier signals should be handled over the entire lifetime of the
8185                         device anyway, not created/destroyed on up or down.
8186
8187 2007-09-13  Dan Williams  <dcbw@redhat.com>
8188
8189         * libnm-glib/nm-device.c
8190           libnm-glib/nm-device.h
8191                 - (nm_device_activate): take a connection object path rather than an
8192                         NMConnection because NMConnection isn't exported over D-Bus and
8193                         therefore it dbus-glib can't automatically get an object path from it
8194
8195 2007-09-13  Dan Williams  <dcbw@redhat.com>
8196
8197         * libnm-util/nm-setting.c
8198                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
8199
8200 2007-09-13  Tambet Ingo  <tambet@gmail.com>
8201
8202         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
8203
8204 2007-09-12  Tambet Ingo  <tambet@gmail.com>
8205
8206         * src/vpn-manager/nm-vpn-connection.[ch]: 
8207         * src/vpn-manager/nm-vpn-manager.[ch]:
8208         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
8209         dbus-glib, GObjects, signals etc.
8210
8211         * libnm-glib/nm-vpn-manager.[ch]: 
8212         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
8213         so much, rewrite these too.
8214
8215         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
8216         the new introspection files.
8217
8218         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
8219
8220         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
8221         the header with the same name from libnm-utils.
8222
8223         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
8224
8225         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
8226
8227         * introspection/nm-vpn-plugin.xml: Implement.
8228
8229         * introspection/nm-vpn-connection.xml: Implement.
8230
8231         * introspection/nm-vpn-manager.xml: Implement.
8232
8233         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
8234         the named manager argument, it can just as easily get it as the caller.
8235         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
8236
8237         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
8238
8239         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
8240
8241         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
8242         libnm-utils.
8243
8244         * libnm-util/nm-connection.c: Ditto.
8245
8246         * src/NetworkManagerMain.h: Remove, it's finally empty.
8247
8248         * configure.in: Remove utils/ from build.
8249
8250         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
8251         of hard-coded strings.
8252
8253         * utils/: Move it over to libnm-util.
8254
8255         * test/Makefile.am: Link against libnm-util now that util/ is gone.
8256
8257         * dispatcher-daemon/Makefile.am: Ditto.
8258
8259         * src/Makefile.am: Ditto.
8260
8261 2007-09-12  Dan Williams  <dcbw@redhat.com>
8262
8263         Wireless connections can be made with config data from the applet now.
8264         
8265         Yay.
8266
8267         * src/supplicant-manager/nm-supplicant-config.h
8268           src/supplicant-manager/nm-supplicant-config.c
8269                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
8270                 - (nm_supplicant_config_add_setting_wireless,
8271                    nm_supplicant_config_add_setting_wireless_security): new functions;
8272                         add key/value pairs from the settings objects to the supplicant
8273                         config
8274
8275         * src/nm-device-802-11-wireless.c
8276                 - (cull_scan_list): fix check to not prune currently associated AP
8277                 - (build_supplicant_config, real_act_stage2_config): call the functions
8278                         of the NMSupplicantConfig that parse settings objects rather than
8279                         doing it manually here
8280
8281 2007-09-12  Dan Williams  <dcbw@redhat.com>
8282
8283         * src/supplicant-manager/nm-supplicant-interface.c
8284           src/supplicant-manager/nm-supplicant-marshal.list
8285                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
8286                         "connection-error" signal arguments should be STRING not CHAR
8287
8288 2007-09-12  Dan Williams  <dcbw@redhat.com>
8289
8290         * src/NetworkManagerUtils.c
8291           src/NetworkManagerUtils.h
8292                 - (nm_utils_hexstr2bin): new function
8293
8294 2007-09-11  Dan Williams  <dcbw@redhat.com>
8295
8296         * src/nm-manager.c
8297                 - (connection_get_settings_cb): emit connection-added signal
8298                 - (connection_removed_cb): uncomment bits for system settings service,
8299                         send connection-removed when appropriate
8300                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
8301                         the stack by trying to g_object_set_data() on something that's
8302                         not a GObject; handle case where settings service returns
8303                         empty settings hash table
8304
8305 2007-09-11  Dan Williams  <dcbw@redhat.com>
8306
8307         * src/NetworkManagerPolicy.c
8308                 - (connection_added, connection_removed): trigger device change checks
8309                         on connection changes
8310
8311 2007-09-11  Dan Williams  <dcbw@redhat.com>
8312
8313         * src/nm-activation-request.c
8314                 - (connection_secrets_updated_cb): fix c&p error in signal emission
8315
8316 2007-09-11  Dan Williams  <dcbw@redhat.com>
8317
8318         * src/nm-device-802-11-wireless.c
8319                 - (real_connection_secrets_updated): fix erroneous check
8320
8321 2007-09-11  Dan Williams  <dcbw@redhat.com>
8322
8323         * introspection/nm-device.xml
8324           libnm-glib/nm-device.c
8325           libnm-glib/nm-device.c
8326                 - Fix Activate call argument borkage; Activate takes 3 arguments
8327
8328 2007-09-11  Dan Williams  <dcbw@redhat.com>
8329
8330         * libnm-glib/nm-access-point.c
8331           libnm-glib/nm-access-point.c
8332                 - (nm_access_point_get_frequency): now returns guint32 to match
8333                         property change on 2007-09-10
8334
8335 2007-09-11  Dan Williams  <dcbw@redhat.com>
8336
8337         * src/nm-device-802-11-wireless.c
8338                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
8339                         somewhere defines 'index' and I missed this one when I fixed the
8340                         shadow declaration errors earlier
8341
8342 2007-09-11  Dan Williams  <dcbw@redhat.com>
8343
8344         * libnm-util/nm-connection.c
8345                 - (nm_connection_update_secrets, need_secrets_check): move
8346                         802-11-wireless-security need_secrets checks to the setting object
8347                         itself, where it belongs
8348
8349         * libnm-util/nm-setting.c
8350           libnm-util/nm-setting.h
8351                 - (nm_setting_need_secrets): new function
8352                 - (setting_wireless_security_verify,
8353                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
8354                 - (setting_wireless_security_need_secrets): mostly copy code over
8355                         from nm-connection.c
8356
8357 2007-09-11  Dan Williams  <dcbw@redhat.com>
8358
8359         * libnm-util/nm-setting.c
8360           libnm-util/nm-setting.h
8361                 - (nm_setting_update_secrets): new function; add a virtual function that
8362                         subclasses can implement to update their secrets
8363                 - (setting_wireless_security_update_secrets): implement that function
8364                         for the 802-11-wireless-security subclass
8365
8366         * libnm-util/nm-connection.c
8367           libnm-util/nm-connection.h
8368                 - (nm_connection_update_secrets): update secrets for a Setting and
8369                         emit a signal on success
8370
8371         * src/nm-manager.c
8372           src/nm-manager.h
8373           src/nm-marshal.list
8374                 - (connection_get_settings_cb): enable system settings bits
8375                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
8376                         to request secrets from the settings dbus service and to
8377                         push those secrets to the NMConnection itself
8378
8379         * src/nm-activation-request.c
8380           src/nm-activation-request.h
8381                 - Attach to the 'secrets-updated' signal of the NMConnection that's
8382                         currently being activated, and proxy that signal to other listeners.
8383                         Goes through the activation request because the activation request
8384                         is the thing that manages the lifetime of the NMConnection that's
8385                         being activated.
8386
8387         * src/nm-device-802-11-wireless.c
8388                 - (real_connection_secrets_updated): implement the connection secrets
8389                         updated notification and restart activation when secrets are
8390                         received
8391                 - (real_act_stage2_config): request secrets from the settings dbus
8392                         service if secrets are needed
8393
8394         * src/nm-device.c
8395           src/nm-device.h
8396                 - (clear_act_request, nm_device_activation_cancel,
8397                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
8398                         where the activation request is cleared
8399                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
8400                         updated secrets signal of activation request and add a function
8401                         that subclasses can override to handle it easily
8402
8403 2007-09-11  Tambet Ingo  <tambet@gmail.com>
8404
8405         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
8406         removal of NetworkManagerAPList.
8407
8408 2007-09-10  Dan Williams  <dcbw@redhat.com>
8409
8410         * src/NetworkManagerAP.c
8411           src/NetworkManagerAP.h
8412           introspection/nm-access-point.xml
8413                 - Change 'freq' property to a guint32 instead of a double since we
8414                         weren't using the floating point bits anyway
8415
8416 2007-09-10  Dan Williams  <dcbw@redhat.com>
8417
8418         * NetworkManagerAP.c
8419           NetworkManagerAP.h
8420           NetworkManagerPolicy.c
8421           NetworkManagerSystem.c
8422           NetworkManagerUtils.c
8423           NetworkManagerUtils.h
8424           nm-device-802-11-wireless.c
8425           nm-device-802-3-ethernet.c
8426           nm-hal-manager.c
8427           nm-manager.c
8428           vpn-manager/nm-dbus-vpn.c
8429                 - Warning fixes; casts and removal of unused variables
8430
8431 2007-09-10  Dan Williams  <dcbw@redhat.com>
8432
8433         * include/NetworkManager.h
8434                 - Kill NMNetworkType; AP types don't matter any more
8435
8436         * src/NetworkManagerAPList.c
8437           src/NetworkManagerAPList.h
8438           src/Makefile.am
8439                 - Kill; NMAccessPointList has outlived it's usefulness
8440
8441         * src/NetworkManagerAP.c
8442           src/NetworkManagerAP.h
8443                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
8444                         functions; check if an NMConnection object is compatible with the
8445                         settings of this AP
8446                 - (freq_to_channel, channel_to_freq): utility functions for
8447                         channel <-> frequency conversion
8448
8449         * src/nm-device.c
8450           src/nm-device.h
8451                 - (nm_device_get_best_connection): pass the specific object around
8452                          (which might be the object path of a specific AP to connect to).
8453                          The get_best_connection() call should populate this on return
8454                          if needed (wireless does).
8455
8456         * src/nm-device-802-3-ethernet.c
8457                 - (real_get_best_connection): handle specific_object argument
8458
8459         * src/NetworkManager.c
8460           src/NetworkManagerMain.h
8461                 - Remove unused includes
8462
8463         * src/nm-device-802-11-wireless.c
8464           src/nm-device-802-11-wireless.h
8465                 - Convert the ap_list into a GSList from an NMAccessPointList
8466                 - No need for caching the 'activation_ap' since this is now determined
8467                         from the specific_object of the activation request, which is
8468                         populated from the get_best_connection() call or from a user request
8469                 - (nm_device_802_11_wireless_update_bssid): fix warning
8470                 - (get_wireless_capabilities): fix error message format arguments
8471                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
8472                 - (find_best_connection, real_get_best_connection): implement
8473                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
8474                         move here from NetworkManagerAPList
8475                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
8476                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
8477                         already verified earlier
8478                 - (real_act_stage2_config): use nm_connection_need_secrets()
8479
8480         * src/NetworkManagerPolicy.c
8481                 - (nm_policy_auto_get_best_device): handle specific objects
8482                 - (create_connection): remove; automatic connection creation functionality
8483                         is handled by the Connection objects
8484                 - (nm_policy_device_change_check): handle specific_object
8485
8486         * libnm-util/nm-connection.c
8487                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
8488
8489 2007-09-10  Dan Williams  <dcbw@redhat.com>
8490
8491         * src/nm-manager.c
8492                 - (query_connections): fix uninitialized variable problem that caused
8493                         segfault
8494                 - (nm_manager_add_device): take devices down on startup so that we can
8495                         be assured that nm_device_is_up() won't short-circuit the init
8496                         process.  Hack until the is_up check gets split into two pieces
8497                         that aren't behaviorally confusing.
8498
8499 2007-09-09  Dan Williams  <dcbw@redhat.com>
8500
8501         * introspection/nm-device.xml
8502                 - The 'Activate' method now takes 3 arguments, a service name for the
8503                 settings service (user or system), the object path of the connection
8504                 to activate, and the specific object to activate, if any
8505
8506         * src/nm-device-interface.c
8507                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
8508                 Add error bits
8509                 - (impl_device_activate): adapt to new Activate arguments; validate
8510                 the service name and get the Connection object from the NMManager
8511                 before starting to activate the device with the specified connection
8512
8513         * src/nm-device-802-3-ethernet.c
8514                 - (real_get_best_connection): find the best connection, or create a
8515                 default one if no existing connections can be used
8516
8517         * src/NetworkManagerPolicy.c
8518                 - (nm_policy_auto_get_best_device): Get the device's best connection
8519                 and only pick the device if it has one
8520                 - (nm_policy_device_change_check): disable wireless bits for now until
8521                 wireless get_best_connection() can be implemented (replacing "best_ap");
8522                 don't create a default connection here as the device subclass will do
8523                 that if needed
8524
8525         * src/nm-manager.h
8526           src/nm-manager.c
8527                 - (nm_manager_get): make NMManager a singleton and expose the getter
8528                 internally
8529                 - Rework internal NMManager connection handling to use the same
8530                 routines for both the system and user settings services.  Most calls
8531                 take a new NMConnectionType argument specifying either system or user
8532                 connections
8533                 - (nm_manager_get_connection_by_object_path): new function; get a
8534                 connection keyed on its object path
8535
8536         * src/NetworkManager.c
8537                 - (main): use nm_manager_get()
8538
8539 2007-09-09  Dan Williams  <dcbw@redhat.com>
8540
8541         * src/nm-device.h
8542           src/nm-device.c
8543                 - (nm_device_get_best_connection): new function; get best connection
8544                         for the device at that time
8545
8546 2007-09-09  Dan Williams  <dcbw@redhat.com>
8547
8548         * src/nm-device-interface.h
8549                 - Add NMDeviceInterfaceError with an UnknownConnection error
8550
8551 2007-09-09  Dan Williams  <dcbw@redhat.com>
8552
8553         Stupid mistake on my part; object path and interface for settings service
8554         and connection objects can be the same, only the service name must be
8555         different for the system and user settings services.
8556
8557         * include/NetworkManager.h
8558           src/nm-manager.c
8559           introspection/nm-settings-connection.xml
8560           introspection/nm-settings.xml
8561           libnm-glib/nm-settings.c
8562                 - (nm_connection_settings_init, query_user_connections,
8563                    new_connection_cb): Unify NetworkManagerSettings and Connection
8564                    interface name and object path
8565
8566 2007-09-06  Dan Williams  <dcbw@redhat.com>
8567
8568         * libnm-glib/nm-object.c
8569                 - (nm_object_get_string_property, nm_object_get_object_path_property,
8570                    nm_object_get_int_property, nm_object_get_uint_property,
8571                    nm_object_get_boolean_property, nm_object_get_byte_property,
8572                    nm_object_get_double_property, nm_object_get_byte_array_property):
8573                         clear GValues after copying their contents, fixes memory leaks
8574                         after every property access because dbus-glib copies the values
8575                         from the DBusMessage into the GValue already.
8576
8577 2007-09-06  Dan Williams  <dcbw@redhat.com>
8578
8579         * introspection/nm-access-point.xml
8580                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
8581                         them to be.  There's some magic property name parsing going on in
8582                         dbus-glib that breaks up property names based on studly-caps and
8583                         puts - between words.
8584
8585         * libnm-glib/nm-access-point.c
8586                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
8587                         Fix property names
8588
8589 2007-09-06  Dan Williams  <dcbw@redhat.com>
8590
8591         * src/nm-manager.c
8592                 - (nm_manager_user_connections_destroy): clear the user connections hash
8593                         table, don't destroy it
8594                 - (finalize): only destroy the hash table on NMManager finalization
8595
8596 2007-09-02  Dan Williams  <dcbw@redhat.com>
8597
8598         * include/NetworkManager.h
8599           libnm-glib/nm-settings.c
8600                 - defines for the user settings daemon D-Bus bits
8601
8602         * src/NetworkManager.c
8603                 - Remove stuff that referred to the old NetworkManagerInfo service
8604
8605         * src/vpn-manager/nm-dbus-vpn.h
8606                 - Move old NMI defines to the only place they are used still
8607
8608         * libnm-util/nm-connection.c
8609           libnm-util/nm-connection.h
8610           src/nm-activation-request.c
8611                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
8612
8613         * src/nm-manager.c
8614           src/nm-manager.h
8615                 - Get connections and their settings from the user settings daemon
8616                         at the appropriate times
8617
8618 2007-09-02  Dan Williams  <dcbw@redhat.com>
8619
8620         * libnm-util/nm-setting.c
8621                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
8622                 - (setting_wireless_hash): set the right value on the item
8623
8624 2007-09-02  Dan Williams  <dcbw@redhat.com>
8625
8626         * test/Makefile.am
8627           test/nminfotest.c
8628                 - Remove, no longer useful
8629
8630 2007-08-30  Dan Williams  <dcbw@redhat.com>
8631
8632         * src/Makefile.am
8633           src/NetworkManagerDbus.c
8634           src/NetworkManagerDbus.h
8635           src/vpn-manager/nm-dbus-vpn.c
8636                 - Remove, no longer necessary.  Move last bits to the only place its
8637                 used, in nm-dbus-vpn.c
8638
8639         * src/NetworkManagerAPList.c
8640           src/nm-device.c
8641           src/NetworkManager.c
8642           src/nm-device-802-11-wireless.c
8643           src/vpn-manager/nm-vpn-manager.c
8644           src/vpn-manager/nm-vpn-service.c
8645           src/NetworkManagerPolicy.c
8646           src/nm-manager.c
8647                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
8648                 that was message_is_error()
8649
8650 2007-08-30  Dan Williams  <dcbw@redhat.com>
8651
8652         * libnm-util/sha1.c
8653                 - Include config.h to get defines for endiannes (gnome.org #420216)
8654
8655 2007-08-30  Dan Williams  <dcbw@redhat.com>
8656
8657         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
8658
8659         * src/ppp-manager/Makefile.am
8660                 - use -fPIC (gnome.org #471825)
8661
8662 2007-08-29  Dan Williams  <dcbw@redhat.com>
8663
8664         * include/NetworkManager.h
8665                 - Keep NMConnection object path in sync
8666
8667         * libnm-glib/nm-settings.c
8668           libnm-glib/nm-settings.h
8669                 - Break D-Bus object registration out of the init function, because
8670                 every object that's exported over D-Bus needs to use the _same_
8671                 DBusConnection.  Otherwise, each object would get a different object
8672                 path tree and wouldn't be callable.
8673
8674 2007-08-29  Dan Williams  <dcbw@redhat.com>
8675
8676         * libnm-util/nm-setting.h
8677           libnm-util/nm-setting.c
8678           libnm-util/nm-connection.c
8679           src/NetworkManagerPolicy.c
8680                 - 'info' settings object should be 'connection' says the spec
8681                 at NetworkManagerConfigurationSpecification
8682
8683 2007-08-29  Dan Williams  <dcbw@redhat.com>
8684
8685         * libnm-glib/nm-settings.c
8686           libnm-glib/nm-settings.h
8687                 - make the dbus path a property of the object, and autogenerate it.
8688                 It can't be composed of the 'id' field becuase that's not available
8689                 yet during the GObject creation in nm_connection_settings_init()
8690
8691 2007-08-29  Dan Williams  <dcbw@redhat.com>
8692
8693         * introspection/nm-settings-connection.xml
8694           introspection/nm-settings.xml
8695                 - Service name -> NetworkManagerUserSettings because two services
8696                 can't share part of the same path.  I'm not really sure how we'll use
8697                 the same code with the system-settings daemon...
8698
8699 2007-08-28  Dan Williams  <dcbw@redhat.com>
8700
8701         * src/nm-device-interface.c
8702           src/nm-device-interface.h
8703                 - Kill one more bit of NMData
8704
8705 2007-08-28  Dan Williams  <dcbw@redhat.com>
8706
8707         * src/NetworkManagerSystem.h
8708           src/nm-device.c
8709           src/nm-device.h
8710           src/nm-hal-manager.c
8711           src/NetworkManager.c
8712           src/nm-device-802-11-wireless.c
8713           src/nm-hal-manager.h
8714           src/nm-device-802-3-ethernet.c
8715           src/vpn-manager/nm-vpn-service.h
8716           src/vpn-manager/nm-vpn-manager.c
8717           src/vpn-manager/nm-vpn-manager.h
8718           src/vpn-manager/nm-vpn-service.c
8719           src/nm-device-802-11-wireless.h
8720           src/NetworkManagerMain.h
8721           src/nm-device-802-3-ethernet.h
8722           src/backends/NetworkManagerGentoo.c
8723           src/backends/NetworkManagerPaldo.c
8724           src/backends/NetworkManagerFrugalware.c
8725           src/backends/NetworkManagerRedHat.c
8726           src/backends/NetworkManagerSlackware.c
8727           src/backends/NetworkManagerGeneric.c
8728           src/backends/NetworkManagerArch.c
8729           src/backends/NetworkManagerSuSE.c
8730           src/backends/NetworkManagerGeneric.h
8731           src/backends/NetworkManagerDebian.c
8732                 - Kill NMData
8733
8734 2007-08-28  Dan Williams  <dcbw@redhat.com>
8735
8736         * src/NetworkManagerMain.h
8737           src/nm-device-802-11-wireless.c
8738           src/NetworkManager.c
8739                 - Remove invalid AP list from NMData; need to rework this somewhat, but
8740                 for now we should set the 'invalid' property on individual APs, and when
8741                 we need to invalidate a whole ESS, set the 'invalid' on every member of
8742                 that ESS
8743
8744 2007-08-28  Dan Williams  <dcbw@redhat.com>
8745
8746         * src/NetworkManagerAP.c
8747           src/NetworkManagerAP.h
8748                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
8749                         'autoconnect' property instead
8750
8751         * src/NetworkManager.c
8752           src/NetworkManagerMain.h
8753           src/NetworkManagerPolicy.c
8754           src/NetworkManagerPolicy.h
8755                 - Remove the 'allowed_ap_list', which should be replaced by 
8756                         NMConnection/NMSettings instead, since _those_ are the allowed
8757                         things that NM can connect to
8758
8759         * src/nm-device-802-11-wireless.c
8760                 - Remove both allowed_ap_list usage and 'fallback' checking
8761
8762 2007-08-28  Dan Williams  <dcbw@redhat.com>
8763
8764         * src/nm-device.c
8765           src/named-manager/nm-named-manager.c
8766           src/named-manager/nm-named-manager.h
8767           src/NetworkManager.c
8768           src/vpn-manager/nm-vpn-manager.c
8769           src/NetworkManagerMain.h
8770           src/NetworkManagerSystem.c
8771                 - Remove the named-manager object from NMData structure in preparation
8772                 for NMData's timely death.  Make the NMNamedManager the singleton that
8773                 it really is
8774
8775 2007-08-28  Dan Williams  <dcbw@redhat.com>
8776
8777         Remove NMAPSecurity objects, they are replaced with flags on the APs for
8778         each AP's capabilities, and by NMConnection/NMSettings objects for user
8779         defined connections.
8780
8781         * include/NetworkManager.h
8782                 - Redefine 802.11 security properties.  There are now device capabilities
8783                         and AP flags and AP security flags.  It was way to unclear before.
8784
8785         * src/Makefile.am
8786           src/nm-ap-security-leap.h
8787           src/nm-ap-security-leap.c
8788           src/nm-ap-security-wpa-eap.c
8789           src/nm-ap-security-wpa-eap.h
8790           src/nm-ap-security-private.h
8791           src/nm-ap-security-wpa-psk.c
8792           src/nm-ap-security-wpa-psk.h
8793           src/nm-ap-security-wep.c
8794           src/nm-ap-security-wep.h
8795           src/nm-ap-security.c
8796           src/nm-ap-security.h
8797                 - Removed, to be replaced with NMConnection/NMSettings objects
8798
8799         * src/nm-dbus-nmi.c
8800           src/nm-dbus-nmi.h
8801                 - Removed, to be replaced by code that talks to the new info daemon
8802                         interface and gets NMConnection/NMSettings objects
8803
8804         * src/backends/NetworkManagerSuSE.c
8805                 - Remove usage of NMAPSecurity; should be replaced by a system-level
8806                         info-daemon that does the same thing but talks the new info-daemon
8807                         D-Bus interface
8808
8809         * src/NetworkManagerAP.h
8810           src/NetworkManagerAP.c
8811           src/NetworkManagerAPList.c
8812           libnm-glib/libnm-glib-test.c
8813                 - Remove usage of NMAPSecurity objects and adjust to new flags for
8814                         WPA/RSN
8815
8816         * libnm-glib/nm-access-point.c
8817           libnm-glib/nm-access-point.h
8818           introspection/nm-access-point.xml
8819           test/nm-tool.c
8820                 - Adjust to new flags for AP security
8821
8822         * utils/nm-utils.c
8823           utils/nm-utils.h
8824           src/vpn-manager/nm-dbus-vpn.c
8825                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
8826                         stuff which is the only place it's used
8827
8828         * src/nm-device-interface.c
8829           src/nm-device-interface.h
8830           introspection/nm-device.xml
8831           src/nm-activation-request.c
8832           src/nm-activation-request.h
8833           src/nm-device.c
8834                 - Add a new 'specific_object' argument that hints to NM what actual
8835                         AP or other device-specific thing the connection should apply to.
8836                         NMConnection objects can apply to more than one actual device/AP.
8837
8838         * libnm-util/nm-connection.c
8839         * libnm-util/nm-connection.h
8840                 - Add 'have_secrets" call stubs
8841
8842         * libnm-util/cipher.h
8843                 - Move NM_AUTH_TYPE_* defines here for now
8844
8845         * src/nm-device-802-11-wireless.c
8846                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
8847                         NMSettings objects
8848
8849         * src/NetworkManagerDbus.c
8850         * src/NetworkManagerPolicy.c
8851                 - Remove usage of update_allowed_networks, should be pushing data in
8852                         a different manner
8853
8854 2007-08-27  Tambet Ingo  <tambet@gmail.com>
8855
8856         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
8857         dbus-glib frees it when the call is done.
8858
8859 2007-08-26  Dan Williams  <dcbw@redhat.com>
8860
8861         * introspection/nm-device.xml
8862                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
8863
8864 2007-08-26  Dan Williams  <dcbw@redhat.com>
8865
8866         * src/nm-device-802-3-ethernet.c
8867                 - (constructor): move connection of interface-connected/disconnected
8868                         signals here from real_bring_up().  Should be listening to netlink
8869                         for carrier events no matter what the initial state of the device
8870                         is.
8871
8872 2007-08-26  Dan Williams  <dcbw@redhat.com>
8873
8874         * src/nm-netlink-monitor.c
8875                 - (nm_netlink_monitor_class_init): fix marshalling types for
8876                         interface-connected/interface-disconnected
8877                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
8878                         check
8879
8880 2007-08-26  Dan Williams  <dcbw@redhat.com>
8881
8882         Convert to using interface indexes as the primary method of identifying
8883         devices inside NetworkManager.  Indexes are (?) stable, but devices can
8884         be renamed at any time.  Device object paths now refer to the device
8885         index rather than the name, and you can map those two manually if you like
8886         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
8887         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
8888         to use interface indexes rather than names.
8889
8890 2007-08-26  Dan Williams  <dcbw@redhat.com>
8891
8892         * src/nm-netlink-monitor.h
8893                 - Remove one last bit of wireless-event signal
8894
8895 2007-08-26  Dan Williams  <dcbw@redhat.com>
8896
8897         * src/nm-netlink-monitor.c
8898                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
8899                         don't need the 'wireless-event' signal anymore since that's all
8900                         handled by wpa_supplicant
8901
8902 2007-08-25  Dan Williams  <dcbw@redhat.com>
8903
8904         It's 2007. Remove support for drivers that don't support wireless scanning.
8905
8906         * test/nm-tool.c
8907           include/NetworkManager.h
8908           src/NetworkManagerUtils.c
8909           src/NetworkManagerPolicy.c
8910           src/nm-device-802-11-wireless.c
8911                 - Remove special handling for non-scanning devices and mark them
8912                         as unsupported/unhandled
8913
8914 2007-08-20  Dan Williams  <dcbw@redhat.com>
8915
8916         * src/nm-device-802-11-wireless.c
8917           src/nm-device-802-3-ethernet.c
8918                 - (real_is_up): move device-specific tests before generic IFF_UP test,
8919                         because when the card is pulled or the module removed, the device
8920                         is already !IFF_UP and then device-specific cleanup (removing
8921                         the supplicant interface, periodic checks, etc) never gets done
8922
8923 2007-08-20  Dan Williams  <dcbw@redhat.com>
8924
8925         * src/nm-manager.c
8926                 - (nm_manager_remove_device): bring device down before disconnecting
8927                         signal handlers, so that the 'state' signal will get broadcast when
8928                         the device enters the DOWN state
8929                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
8930                         of states that cause the NMManager to recheck its state
8931
8932 2007-08-20  Dan Williams  <dcbw@redhat.com>
8933
8934         * src/supplicant-manager/nm-supplicant-interface.c
8935                 - (interface_disconnect_done): don't try to dispose of the net proxy
8936                         when it may already have been disposed of
8937
8938 2007-08-20  Dan Williams  <dcbw@redhat.com>
8939
8940         * src/nm-device-802-11-wireless.c
8941                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
8942                         the SSID isn't available; this can happen when the card is pulled
8943                         or the module unloaded, during the post-removal deactivation
8944                         paths, when the ioctl returns ENODEV
8945
8946 2007-08-20  Dan Williams  <dcbw@redhat.com>
8947
8948         * src/nm-device-802-11-wireless.c
8949                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
8950                         frequency, and mode match.  Applets are now responsible for grouping
8951                         access points
8952
8953 2007-08-20  Dan Williams  <dcbw@redhat.com>
8954
8955         * src/NetworkManagerAP.c
8956         * src/NetworkManagerAP.h
8957                 - (nm_ap_print_self): new function
8958
8959         * src/NetworkManagerAPList.c
8960                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
8961                         to do it all here
8962         
8963 2007-08-17  Dan Williams  <dcbw@redhat.com>
8964
8965         * src/nm-device-802-3-ethernet.c
8966                 - (real_bring_down): don't try to dispose of stuff that might not
8967                         exist
8968
8969 2007-08-17  Dan Williams  <dcbw@redhat.com>
8970
8971         * src/NetworkManagerAP.c
8972                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
8973                         applet.  This ensures that the case between the seen-bssids and
8974                         the bssids reported by the driver match.
8975
8976 2007-08-17  Dan Williams  <dcbw@redhat.com>
8977
8978         * src/nm-device-802-11-wireless.c
8979                 - (device_cleanup): disconnect the interface in wpa_supplicant before
8980                         we dispose of the interface proxy in NM
8981
8982 2007-08-16  Dan Williams  <dcbw@redhat.com>
8983
8984         * libnm-glib/nm-client.c
8985                 - (nm_client_init): create VPN connections hash table with key free
8986                         function
8987                 - (proxy_vpn_connection_added): VPN connections hash table key should
8988                         be a duplicated value, not the same memory address as the VPN
8989                         connection name.  This is because the VPN connection name could
8990                         potentially be freed and set to something else during the lifetime
8991                         of the NMVPNConnection object.
8992
8993 2007-08-16  Tambet Ingo  <tambet@gmail.com>
8994
8995         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
8996         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
8997         with the file descriptors. Send a child setup function to change the pppd
8998         progress group.
8999
9000 2007-08-15  Dan Williams  <dcbw@redhat.com>
9001
9002         * src/supplicant-manager/nm-supplicant-interface.c
9003                 - (try_remove_iface): new function, ask wpa_supplicant to remove
9004                         an interface
9005                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
9006                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
9007                         happens on hotplug if wpa_supplicant doesn't tear down and readd
9008                         the interface internally
9009
9010 2007-08-15  Dan Williams  <dcbw@redhat.com>
9011
9012         * src/nm-device-802-11-wireless.c
9013                 - (real_bring_down): move most of this function into device_cleanup()
9014                         so that it can be called from elsewhere
9015                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
9016                         and stuff on dispose.  These would normally get cleaned up when
9017                         the device is marked down and deactivated, but when the device is
9018                         hot-unplugged, it's already down and real_down() never gets run
9019
9020 2007-08-15  Dan Williams  <dcbw@redhat.com>
9021
9022         * src/nm-dbus-nmi.c
9023                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
9024                         caused a reference leak on device for which NM requested a key
9025
9026 2007-08-15  Dan Williams  <dcbw@redhat.com>
9027
9028         * libnm-glib/nm-client.c
9029                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
9030
9031 2007-08-15  Tambet Ingo  <tambet@gmail.com>
9032
9033         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
9034         nothing is using it at the moment, but it'll be all useful and stuff later on.
9035
9036         * libnm-util/nm-setting.h: Define NMSettingPPP.
9037
9038         * libnm-util/nm-setting.c: Implement NMSettingPPP.
9039
9040         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
9041
9042         * src/Makefile.am: Add ppp-manager to SUBDIRS.
9043
9044         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
9045
9046         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
9047
9048 2007-08-14  Tambet Ingo  <tambet@gmail.com>
9049
9050         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
9051
9052         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
9053         an issue with dbus-glib bindings generator. The issue is, the generated C caller
9054         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
9055         name and different arguments and it won't compile anymore. To fix this, we now have
9056         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
9057         that is new API + compatibility API and used by the daemon. The other, 
9058         nm-manager-client.xml is only the new API without compatibility bits and is used
9059         by libnm-glib to make it compile.
9060
9061         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
9062
9063         * src/nm-manager.c (impl_manager_legacy_sleep)
9064         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
9065         interface functions for 0.6 branch.
9066
9067 2007-08-14  Dan Williams  <dcbw@redhat.com>
9068
9069         * src/NetworkManagerAP.c
9070                 - (nm_ap_new_from_properties): fix mistaken check of return value
9071                         from memcmp (should expect 0)
9072
9073 2007-08-14  Dan Williams  <dcbw@redhat.com>
9074
9075         (force-commit to fix wrong comment and partial commit of r2685; this
9076          commit actually applies to r2685)
9077
9078         * src/NetworkManagerUtils.c
9079                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
9080                         ignores trailing nulls in the SSID to work around mismatches in
9081                         expectations between WEXT and what the info-daemon passes back.  The
9082                         info-daemon would pass back the correct length, but due to the
9083                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
9084                         the device would always have an SSID + 1 depending on what versions
9085                         of wpa_supplicant, the kernel, and NM you have.  This was most often
9086                         visible by just quitting the applet and relaunching, which caused
9087                         NM to reassociated to the same network over again when reloading
9088                         the save networks.
9089
9090         * src/NetworkManagerPolicy.c
9091           src/NetworkManagerUtils.h
9092           src/nm-device-802-11-wireless.c
9093                 - Update for new parameter to nm_utils_same_ssid()
9094
9095 2007-08-14  Dan Williams  <dcbw@redhat.com>
9096
9097         * src/NetworkManagerAP.c
9098                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
9099                         I encountered a BSS that wasn't just hiding it's ESSID, it was
9100                         setting the BSSID to all 0s.  That confused the heck out of NM,
9101                         plus it's useless and probably out-of-spec.
9102
9103 2007-08-14  Dan Williams  <dcbw@redhat.com>
9104
9105         * callouts/Makefile.am
9106           src/dhcp-manager/nm-dhcp-manager.c
9107           src/dhcp-manager/nm-dhcp-manager.h
9108           src/dhcp-manager/Makefile.am
9109                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
9110
9111 2007-08-14  Dan Williams  <dcbw@redhat.com>
9112
9113         * src/dhcp-manager/nm-dhcp-manager.c
9114                 - (dhclient_run): don't pass -x to dhclient until we figure out if
9115                         it's really needed, get rid of unused xtra_args parameter
9116
9117 2007-08-14  Dan Williams  <dcbw@redhat.com>
9118
9119         * include/NetworkManagerVPN.h
9120           src/vpn-manager/nm-dbus-vpn.c
9121           src/vpn-manager/nm-dbus-vpn.h
9122           src/vpn-manager/nm-vpn-act-request.c
9123           src/vpn-manager/nm-vpn-act-request.h
9124           src/vpn-manager/nm-vpn-service.c
9125           src/vpn-manager/nm-vpn-service.h
9126           libnm-glib/nm-vpn-connection.c
9127           libnm-glib/nm-vpn-connection.h
9128           libnm-glib/nm-client.h
9129                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
9130                         NMVPNServiceState to clarify what they apply to
9131                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
9132                         NMVPNActStage -> NMVPNConnectionState for the same reason
9133
9134         * libnm-glib/nm-client.c
9135                 - Constant + type renames from above
9136                 - Properly handle NameOwnerChanged/manager_running signals
9137                         for NM service; only emit when state really changes
9138                 - Use hash tables correctly so that the key (which was previously owned
9139                         by the D-Bus message) now has the same lifetime as the value, since
9140                         the key is now taken from the the NMVPNConnection itself.  This
9141                         really fixes the double-VPN names in the applet
9142
9143 2007-08-13  Dan Williams  <dcbw@redhat.com>
9144
9145         Patch from Michael Biebl <biebl@debian.org>
9146
9147         * po/POTFILES.in
9148           po/POTFILES.skip
9149                 - Update for vpn-properties move
9150
9151 2007-08-13  Dan Williams  <dcbw@redhat.com>
9152
9153         * libnm-glib/nm-client.c
9154                 - Convert internal VPN connection tracking from a list to a hash table
9155                         to easily avoid duplicates
9156                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
9157                         must be freed by the caller, like nm_client_get_devices()
9158                 - (nm_client_remove_vpn_connection): don't let the removal signal
9159                         leak through for NMVPNConnection objects that aren't actually
9160                         tracked.
9161                 - (manager_running): throw away VPN connection list when NM goes away,
9162                         like with the device list
9163
9164 2007-08-13  Dan Williams  <dcbw@redhat.com>
9165
9166         * src/dhcp-manager/nm-dhcp-manager.c
9167                 - Stop any dhclient instance that might be already running for a
9168                         particular interface before starting an NM spawned dhclient.  Fixes
9169                         dhclient processes left over if NM crashes, stuff like that.
9170
9171 2007-08-13  Dan Williams  <dcbw@redhat.com>
9172
9173         * src/NetworkManagerAP.c
9174                 - (finalize): don't try to g_array_free (NULL, ...), which happened
9175                         when the AP wasn't broadcasting it's SSID
9176
9177 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
9178
9179         * include/NetworkManager.h: added DBus path for connection settings.
9180
9181         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
9182         nm_connection_settings_signal_updated,
9183         nm_connection_settings_signal_removed): new functions to wrap the
9184         objects' signals.
9185         (nm_connection_settings_init): register GObject with DBus.
9186         (nm_connection_settings_get_dbus_object_path): new function.
9187
9188         * libnm-glib/Makefile.am: added libnmutil to link flags.
9189
9190 2007-08-13  Tambet Ingo  <tambet@gmail.com>
9191
9192         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
9193
9194         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
9195         libnm_glib directory got merged with libnm-glib/.
9196
9197         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
9198
9199         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
9200         Rename the library from libnm-glib to libnm_glib to maintain the library API
9201         compatibility with 0.6 branch.
9202
9203         * Makefile.am: Remove gnome/ SUBDIR.
9204
9205         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
9206
9207         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
9208
9209         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
9210
9211         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
9212         anymore.
9213         Remove checks for wpa_supplicant binary, it's used over dbus.
9214         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
9215
9216         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
9217         Link the binaries with libnm_glib.la.
9218
9219 2007-08-12  Dan Williams  <dcbw@redhat.com>
9220
9221         * src/NetworkManagerPolicy.c
9222                 - (nm_policy_device_change_check): fix policy to deactivate old device
9223                         before activating new one, at least until the multiple active
9224                         device support lands
9225
9226 2007-08-12  Dan Williams  <dcbw@redhat.com>
9227
9228         * src/NetworkManagerPolicy.c
9229                 - (nm_policy_new): hook up to connection-added / connection-removed
9230                         signals instead of connections-changed
9231
9232 2007-08-12  Dan Williams  <dcbw@redhat.com>
9233
9234         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
9235         Robert Frank <rfrank@redhat.com>
9236
9237         * src/dhcp-manager/nm-dhcp-manager.c
9238           src/dhcp-manager/nm-dhcp-manager.c
9239           src/nm-device.c
9240                 - Spawn and communicate with dhclient directly, through means of a
9241                 custom dhclient callout script.  Process callout D-Bus signals
9242                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
9243                 sent via gobject signals rather than being driven by the dhcp manager
9244                 directly.
9245
9246 2007-08-12  Dan Williams  <dcbw@redhat.com>
9247
9248         * callouts/nm-dhcp-client-action.c
9249                 - (build_message): ignore non-DHCP-related environment variables
9250
9251 2007-08-12  Dan Williams  <dcbw@redhat.com>
9252
9253         * Makefile.am
9254           configure.in
9255           callouts/Makefile.am
9256           callouts/nm-dhcp-client-action.c
9257           callouts/nm-dhcp-client.conf
9258                 - Add dhclient-executed callout that takes the place of dhclient-script
9259                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
9260                 NM then listens for
9261
9262 2007-08-09  Tambet Ingo  <tambet@gmail.com>
9263
9264         [Based on patch by Helmut Schaa <hschaa@suse.de>]
9265
9266         * libnm-glib/nm-client.h:
9267         * libnm-glib/nm-object.h:
9268         * libnm-glib/nm-vpn-connection.h:
9269         * libnm-glib/nm-settings.h:
9270         * libnm-glib/nm-device.h:
9271         * libnm-glib/nm-ip4-config.h:
9272         * libnm-glib/nm-access-point.h:
9273         * libnm-glib/nm-device-802-3-ethernet.h:
9274         * libnm-util/nm-setting.h: 
9275         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
9276
9277         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
9278
9279         * libnm-glib/nm-access-point.c: Strength has type char.
9280
9281         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
9282         to fix build. GnomeDruid is deprecated in recent libgnomeui.
9283
9284         * introspection/nm-access-point.xml: Strength property is char, not int.
9285
9286         * src/NetworkManagerAP.c (set_property): Set strength from char.
9287         (get_property): Handle hidden APs (with empty SSID).
9288         Get strength value from char.
9289         (nm_ap_class_init): Strength property has char type.
9290
9291 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
9292
9293         * introspection/Makefile.am:
9294         * introspection/nm-settings.xml:
9295         * introspection/nm-settings-connection.xml: added Settings interfaces.
9296
9297         * libnm-glib/nm-settings.[ch]:
9298         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
9299         containing the DBus implementation.
9300
9301 2007-07-26  Dan Williams  <dcbw@redhat.com>
9302
9303         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
9304
9305         * src/NetworkManagerSystem.c
9306                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
9307                         same subnet (#437396)
9308
9309 2007-07-26  Dan Williams  <dcbw@redhat.com>
9310
9311         Patch from Kelemen Gábor <kelemeng@gnome.hu>
9312
9313         * gnome/vpn-properties/nm-vpn-properties.c
9314                 - Fix translatable strings (#445865)
9315
9316 2007-07-26  Dan Williams  <dcbw@redhat.com>
9317
9318         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
9319
9320         * configure.in
9321                 - Remove useless junk (#412530)
9322
9323 2007-07-10  Christopher Aillon  <caillon@redhat.com>
9324
9325         Patch from Robert Buchholz <rbu@gentoo.org>:
9326
9327         * configure.in:
9328         * Makefile.am:
9329         * introspection/Makefile.am:
9330         Make make distcheck work again.
9331
9332 2007-06-27  Dan Williams  <dcbw@redhat.com>
9333
9334         * Make SSIDs GByteArrays everywhere
9335         * Rename "essid" -> "ssid" everywhere that's appropriate
9336         * Refcount activation_ap member of the 802.11 wireless device class
9337
9338 2007-06-27  Tambet Ingo  <tambet@ximian.com>
9339
9340         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
9341
9342 2007-06-22  Tambet Ingo  <tambet@ximian.com>
9343
9344         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
9345         that we got a new AP when we just update existing AP properties.
9346
9347 2007-06-21  Tambet Ingo  <tambet@ximian.com>
9348
9349         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
9350
9351         * nm-utils.[ch]: Remove.
9352
9353         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
9354         objects for easy property access and dbus connection handling.
9355
9356         * libnm-glib/nm-client.c: Derive from NMObject.
9357
9358         * libnm-glib/nm-device.c: Ditto.
9359
9360         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
9361
9362         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
9363
9364         * libnm-glib/nm-ip4-config.c: Ditto.
9365
9366         * libnm-glib/nm-access-point.c: Ditto.
9367
9368         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
9369         comparision. Currently used by the device activation code to determine if the new
9370         activation is the same as the old one.
9371
9372         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
9373         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
9374         able to ask password for the AP.
9375
9376         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
9377         up if the device is already connected, tear down it's connection (if it isn't the
9378         same as new one) and start the activation.
9379
9380         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
9381
9382         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
9383         the issue where all APs are always listed as encrypted.
9384
9385         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
9386         their own registered paths.
9387
9388         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
9389         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
9390
9391 2007-06-13  Tambet Ingo  <tambet@ximian.com>
9392
9393         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
9394         (0 & 0 == 0, doh)
9395
9396         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
9397         because the handling code will cause the next state change and signal listeners
9398         get the signals in wrong order.
9399
9400         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
9401         correctly in case of pending activation.
9402
9403         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
9404         Convert the essid byte array to string correctly, including the terminating NULL.
9405
9406         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
9407         mode with correct types.
9408
9409         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
9410         constructed info to dbus call instead of the activation request.
9411
9412 2007-06-11  Christopher Aillon  <caillon@redhat.com>
9413
9414         Patch from Christian Persch <chpe@gnome.org>
9415
9416         * libnm-glib/Makefile.am:
9417         * dispatcher-daemon/Makefile.am:
9418         Use the correct variables, the correct paths, and correct ordering. (446315)
9419
9420 2007-06-11  Tambet Ingo  <tambet@ximian.com>
9421
9422         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
9423         argument. The activation request is easy to retrieve.
9424
9425         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
9426         just to be a convenient location for devices to store random stuff.
9427
9428 2007-06-11  Christopher Aillon  <caillon@redhat.com>
9429
9430         Patch from Alex Smith <alex@alex-smith.me.uk>
9431
9432         * src/backends/NetworkManagerFrugalware.c:
9433         Update the FrugalWare backend to fix a few segfaults. (#392642)
9434
9435 2007-06-08  Tambet Ingo  <tambet@ximian.com>
9436
9437         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
9438
9439         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
9440         setting.
9441         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
9442
9443 2007-06-06  Tambet Ingo  <tambet@ximian.com>
9444
9445         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
9446         automagically.
9447         Implement NMSettingIP4Config.
9448         Finish NMSettingWired by adding all known members.
9449         (setting_wired_verify): Implement.
9450         Finish NMSettingWireless by adding all known members.
9451         (setting_wireless_verify): Implement.
9452
9453         * libnm-util/nm-connection.c: Register "ipv4" setting.
9454         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
9455         dump function, we can introspect the GHashTable which is used for sending connections
9456         over dbus.
9457
9458         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
9459         Take GByteArray for essid, it's really not a string.
9460
9461         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
9462         Start DHCP request if setting is not passed or if it states that DHCP should be used.
9463         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
9464         means overriding the values we got from DHCP.
9465         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
9466         (nm_device_deactivate_quickly): Ditto.
9467
9468         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
9469         for debugging.
9470
9471 2007-05-07  Tambet Ingo  <tambet@ximian.com>
9472
9473         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
9474         NMConnection.
9475
9476         * libnm-glib/nm-device-802-11-wireless.c:
9477         (nm_device_802_3_ethernet_activate): Remove.
9478
9479         * libnm-glib/nm-device-802-3-ethernet.c
9480         (nm_device_802_3_ethernet_activate): Remove.
9481
9482         * libnm-glib/nm-device.c (nm_device_activate): Implement.
9483
9484         * src/nm-device-802-3-ethernet.c: Implement the new activation using
9485         NMConnection.
9486
9487         * src/nm-device-802-11-wireless.c: Store an activation AP once the
9488         activation has started.
9489         Implement the new activation using NMConnection.
9490
9491         * src/nm-activation-request.c: Store a generic connection object instead
9492         of a wireless-specific AP.
9493
9494         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
9495         on device type, create a device specific connection object suitable for
9496         device activation.
9497
9498         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
9499         specific check to validate the connection and on success start the
9500         activation.
9501
9502         * src/nm-device-interface.h: Add a activate virtual function to the
9503         interface definition.
9504
9505         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
9506         (impl_device_activate): Implement.
9507
9508         * introspection/nm-device.xml: Add a generic device activation interface
9509         that accepts an abstract NMConnection structure that has device-specific
9510         information in it.
9511
9512         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
9513         activation interface.
9514
9515         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
9516         activation interface.
9517
9518         * libnm-util/nm-connection.c: 
9519         * libnm-util/nm-connection.h: 
9520         * libnm-util/nm-setting.c:
9521         * libnm-util/nm-setting.h: Add.
9522
9523         * libnm-util/Makefile.am: Build the added files.
9524
9525         * src/nm-dbus-manager.c
9526         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
9527         DbusConnection argument from 'name-owner-changed' signal. The manager
9528         is already passed as a first argument to the signal and the connection
9529         is easy enough to get from it.
9530
9531         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
9532         Update the signature of the function.
9533
9534         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
9535         Ditto.
9536
9537         * src/NetworkManager.c: Ditto.
9538
9539         * src/named-manager/nm-named-manager.c
9540         (nm_named_manager_name_owner_changed): Ditto.
9541
9542         * src/supplicant-manager/nm-supplicant-manager.c
9543         (nm_supplicant_manager_name_owner_changed): Ditto.
9544
9545         * src/nm-hal-manager.c (name_owner_changed): Ditto.
9546
9547         * src/dhcp-manager/nm-dhcp-manager.c
9548         (nm_dhcp_manager_name_owner_changed): Ditto.
9549
9550         * src/nm-hal-manager.c: Add a list of device detectors and creators
9551         to make it easier to add new devices. Each device type has it's own
9552         entry in the table so adding new device types is only a matter of
9553         implementing a couple of functions, one for device detection and the
9554         other for device creation.
9555
9556 2007-04-25  Dan Williams  <dcbw@redhat.com>
9557
9558         * initscript/RedHat/NetworkManager.in: remove trailing backslash
9559                 (gnome.org #432401)
9560
9561 2007-03-30  Dan Williams  <dcbw@redhat.com>
9562
9563         * src/NetworkManagerSystem.c
9564                 - (nm_system_device_set_ip4_route): clean up and fix argument
9565                         to nm_dev_sock_open()
9566
9567 2007-03-28  Tambet Ingo  <tambet@ximian.com>
9568
9569         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
9570         data to correct types instead of always using string.
9571
9572         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
9573         _not_ have NM_802_11_CAP_PROTO_NONE.
9574         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
9575         is not set.
9576
9577 2007-03-27  Tambet Ingo  <tambet@ximian.com>
9578
9579         * libnm-glib/Makefile.am: Fix the build issue.
9580
9581 2007-03-26  Tambet Ingo  <tambet@ximian.com>
9582
9583         * libnm-glib/nm-vpn-connection.h: 
9584         * libnm-glib/nm-vpn-connection.c: Implement.
9585
9586         * libnm-glib/nm-client.c: Add VPN support.
9587
9588         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
9589         handler for VPN.
9590
9591         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
9592         on DBUS again.
9593
9594 2007-03-26  Dan Williams  <dcbw@redhat.com>
9595
9596         * src/NetworkManagerAPList.c
9597         * src/nm-device-802-11-wireless.c
9598         * src/NetworkManagerAP.c:
9599                 - Store last seen as glong instead of GTimeVal.
9600                 - Fix the upper bound of capabilities, it's a bitfield.
9601
9602 2007-03-16  Tambet Ingo  <tambet@ximian.com>
9603
9604         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
9605
9606         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
9607         "manager-running" signal that notifies the appearance/disappearance of NM.
9608         (nm_client_sleep): Implement.
9609
9610         * libnm-glib/nm-device.c:
9611         * libnm-glib/nm-device-802-11-wireless.c: 
9612         * libnm-glib/nm-device-802-3-ethernet.c: 
9613
9614         Don't inherit from DBusGProxy, add a proxy to private
9615         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
9616         for anything but their own dbus interface. DBusGProxy objects support only one
9617         interfaces and to work around this, NMDevice has spearate proxy for each dbus
9618         interface. The nice side effect of this change is that we do not create a new
9619         DBusGProxy object for each property access.
9620
9621 2007-03-15  Tambet Ingo  <tambet@ximian.com>
9622
9623         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
9624         with zeroes before passing them to functions - the functions never do that and
9625         reading the values back may produce wrong values.
9626         (real_bring_up): Store the signal handler id ...
9627         (real_bring_down): ... So that it can be removed here.
9628         Disconnect the supplicant interface here as well.
9629         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
9630         from the access point instead of old $device/Networks/$essid.
9631
9632         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
9633         device state is connected (instead of just having link/carrier).
9634
9635         * src/nm-activation-request.c: Don't store NMData in activation request, it's
9636         already easily accessible through the device.
9637
9638         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
9639         store it within the object.
9640         (nm_ap_get_dbus_path): Export it to public as well.
9641
9642         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
9643         of the singleton.
9644
9645 2007-03-12  Dan Williams  <dcbw@redhat.com>
9646
9647         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
9648         for non-carrier-detect capable devices, and useless for carrier-detect
9649         devices since we get notifications from netlink about carrier status anyway.
9650
9651         * src/nm-device-802-3-ethernet.c
9652                 - remove 'link_source_id' member from private data
9653                 - (probe_link): remove and collapse into real_update_link()
9654                 - (nm_device_802_3_periodic_update): remove
9655                 - (real_is_up): check for sup_iface rather than link_source_id
9656                 - (real_bring_up): return gboolean for success/fail; require that
9657                         sup_iface be valid for device bringup to succeed
9658                 - (real_bring_down): zero out link signal ids
9659
9660         * src/nm-device.c
9661                 - (nm_device_activate_stage2_device_config): fail activation if device
9662                         bringup fails
9663                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
9664                         fails
9665                 - (nm_device_bring_up): return success/fail
9666
9667         * src/nm-device.h
9668                 - bring_up now returns success/fail
9669
9670         * src/nm-device-802-11-wireless.c
9671                 - (real_bring_up): return success from bringup
9672
9673 2007-03-07  Dan Williams  <dcbw@redhat.com>
9674
9675         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
9676         * src/nm-ap-security-wpa-psk.c
9677                 - (real_write_supplicant_config): work with PSKs that may contain
9678                         zeros in the binary format rather than treating it as a string
9679
9680 2007-03-02  Tambet Ingo  <tambet@ximian.com>
9681
9682         * libnm-glib/nm-device-802-11-wireless.c
9683         (nm_device_802_11_wireless_get_capabilities): Implement.
9684
9685         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
9686
9687         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
9688
9689         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
9690         reply only if it's not NULL. Not sure why this started happening right now.
9691
9692         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
9693         code paths for when devices get removed on shutdown or when a device is just
9694         removed.
9695         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
9696         gets freed so any signal from a device (disconnected for instance) would invoke
9697         NMState update which would crash.
9698         (nm_manager_remove_device): Bring the device down when it gets removed.
9699
9700         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
9701         the unused dev_type.
9702
9703         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
9704         reference to the added device, NMManager will own it (if it wants).
9705
9706         * test/nm-tool.c: Rewrite using libnm-glib.
9707
9708         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
9709         We get signalled when it changes.
9710
9711         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
9712         when it changes.
9713
9714         * libnm-glib/nm-device.c: Cache the device state property.
9715
9716         * libnm-glib/nm-access-point.c: Cache the strength property.
9717
9718         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
9719         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
9720         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
9721         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
9722         the device is down, activating, or activated (in case of A/B/G cards).
9723         Remove some old dead ifdef'ed out code that used to configure wireless devices,
9724         it's all done through supplicant now.
9725
9726         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
9727         counting issues with pending calls which caused leaks and crashes when
9728         interface was removed (now that the interface actually gets removed).
9729
9730         * src/nm-call-store.c: Make a copy of data before running a foreach
9731         with user callback on it - The most common usage pattern is to cancel
9732         (and thus remove) all pending calls with foreach which would modify
9733         the hash table we're iterating over.
9734
9735         * src/nm-manager.c: When a device is added, make sure it is "up". When
9736         it's removed or disabled due to disabling wireless or networking, bring
9737         it down.
9738
9739         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
9740
9741         * src/nm-device-802-11-wireless.c: 
9742         * src/nm-device-802-3-ethernet.c: 
9743         * src/nm-device.c:
9744                 - Remove "init" virtual function, all gobjects have a place for that
9745                   already (constructor).
9746                 - Replace "start" virtual function with "bring_up", devices can be
9747                   brought up and down more than just on startup now.
9748                 - Add "is_up" virtual function.
9749                 - Implement one way to bring a device down instead of previous 4 different
9750                   ways, each of witch did something different.
9751
9752         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
9753         all it needs is the device interface.
9754
9755         Get rid of NMData.dev_list (3 members to go).
9756         Get rif of NMData in a lot of places.
9757
9758         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
9759
9760 2007-02-23  Dan Williams  <dcbw@redhat.com>
9761
9762         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
9763
9764         * src/NetworkManagerAP.c
9765                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
9766                         OR-ing rather than AND-ing
9767
9768 2007-02-20  Tambet Ingo  <tambet@ximian.com>
9769
9770         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
9771         "network-removed" signals.
9772
9773         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
9774
9775         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
9776         when receiving the signal from dbus.
9777
9778         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
9779         property.
9780
9781         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
9782         deactivation of the previously activated device working again.
9783
9784         * src/nm-activation-request.c: Remove NMActStage property and it's getter
9785         and setter.
9786
9787         * src/nm-device.c (nm_device_is_activated): Remove.
9788         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
9789
9790         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
9791         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
9792         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
9793         NM_DBUS_SIGNAL_STATE_CHANGE signal.
9794         Remove NMNetworkStatus and NMActStage enums.
9795
9796 2007-02-19  Tambet Ingo  <tambet@ximian.com>
9797
9798         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
9799         Handle device state changes and disconnect VPN if it's device deactivates.
9800
9801         * src/nm-dbus-nm.c: 
9802         * src/nm-dbus-nm.h: 
9803         * src/nm-dbus-device.c: 
9804         * src/nm-dbus-device.c: 
9805         * src/nm-dbus-net.c: 
9806         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
9807
9808         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
9809
9810         * src/nm-device.c (nm_device_get_by_udi):
9811         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
9812         implemented in the correct location (NMManager).
9813         Rip out all the test_device stuff.
9814
9815         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
9816         failure handlers, it's all done by NMDevice already.
9817
9818         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
9819         Remove the iochannel hack to route the unix signals to the main thread since
9820         we're not threaded anymore.
9821
9822         * src/NetworkManagerAP.c: Implement HWAddress property.
9823
9824         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
9825         automatically with dbus-glib.
9826
9827         * src/nm-netlink-monitor.c: 
9828         * src/nm-netlink-monitor.h:
9829                 - Move it low in the class hierarchy, don't reference any NM types.
9830                 - Remove private data from the header.
9831                 - Use type safe checks in public API methods.
9832                 - Make it a singleton so we don't have to pass the single reference around.
9833
9834 2007-02-16  Tambet Ingo  <tambet@ximian.com>
9835
9836         * introspection/nm-ip4-config.xml: Implement.
9837
9838         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
9839
9840         * libnm-glib/nm-ip4-config.c:
9841         * libnm-glib/nm-ip4-config.c: Implement.
9842
9843         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
9844         securities. APs reference security.
9845
9846         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
9847         be exported over DBUS.
9848
9849         * src/nm-device-802-3-ethernet.c: Ditto.
9850
9851         * src/NetworkManagerAP.c:
9852         * src/NetworkManagerAP.h:
9853                 - Convert to GObject, export over DBUS.
9854
9855         * src/nm-ip4-config.h:
9856         * src/nm-ip4-config.h:
9857                 - Convert to GObject, export over DBUS.
9858
9859 2007-02-12  Dan Williams  <dcbw@redhat.com>
9860
9861         Patch from Helmut Schaa <hschaa@suse.de>
9862
9863         * vpn-daemons/pptp/configure.in
9864           vpn-daemons/pptp/Makefile.am
9865           vpn-daemons/openvpn/configure.in
9866           vpn-daemons/openvpn/Makefile.am
9867           vpn-daemons/vpnc/configure.in
9868           vpn-daemons/vpnc/Makefile.am
9869                 - Add --without-gnome switch which disables building gnome bits
9870
9871 2007-02-12  Tambet Ingo  <tambet@ximian.com>
9872
9873         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
9874
9875         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
9876
9877         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
9878         'HwAddress'.
9879
9880         * introspection/nm-device.xml: Remove 'UseDhcp' property.
9881
9882         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
9883
9884         Totally break NetworkManager. Please use 0.6 branch until futher notice.
9885
9886         * src/:
9887                 - Remove old low-level dbus interface implementations and replace them
9888                   with dbus-glib one.
9889
9890         * configure.in:
9891                 - Require dbus-glib >= 0.72.
9892                 - Plug in new sources to build.
9893
9894         * libnm-glib/:
9895                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
9896                   to make it more convenient to use from GObject based programs.
9897
9898         * introspection/:
9899                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
9900
9901 2007-02-09  Tambet Ingo  <tambet@ximian.com>
9902
9903         * src/nm-device-802-11-wireless.c:
9904                 - Add "network-added" and "network-removed" signals.
9905                 - Use gobject boilerplate macros to define the GObject.
9906                 - Implement wireless device activation.
9907                 - Remove activation_failure_handler and activation_success_handler
9908                   and instead listen on state-changed signals and run the same code
9909                   from there.
9910
9911         * src/nm-device.c:
9912                 - Implment NMDeviceInterface::deactivate.
9913                 - Remove activation_failure_handler and activation_success_handler
9914                   virtual methods. Each device which is interested in these events
9915                   can just listen on it's state changed signals.
9916
9917         * src/NetworkManagerPolicy.c:
9918                 - Move a bit more NMData usage to NMManager.
9919                 - Remove activation scheduling bits.
9920                 - Add listeners for wireless device's "network-added" and
9921                   "network-removed" signals.
9922                 - Listen device changed signals and deactivate currently activated
9923                   device when another device start activating (for now).
9924                 - Remove (nm_policy_schedule_device_change_check): There's never a need
9925                   for calling this, the policy code knows exactly when this should happen,
9926                   by listening on events from NMManager and NMDevices.
9927
9928         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
9929         Implement.
9930
9931         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
9932         method on the specific device instead of going to through policy code
9933         and determining the device type by passed in AP's existance.
9934
9935         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
9936         abstract NMDevice deactivation.
9937
9938 2007-02-08  Tambet Ingo  <tambet@ximian.com>
9939
9940         * src/NetworkManager.c:
9941                 - Set up all the shiny new managers.
9942
9943         * src/NetworkManagerPolicy.c:
9944                 - Add the beginnings of new NMPolicy code. Instead of requireing all
9945                   classes to call into policy code, make the policy code kind of like
9946                   a supervisor that monitors what's going on and drives the whole NM.
9947
9948         * src/nm-hal-manager.c: 
9949         * src/nm-hal-manager.h:
9950                 - Collect all libhal code scattered around NM to this one class.
9951                 - Listen libhal and NMManager events and add/remove devices to
9952                   NMManager.
9953
9954         * src/nm-manager.c:
9955         * src/nm-manager.h:
9956                 - Implment a replacement for NMData. NMData is now officially
9957                 deprecated.
9958
9959 2007-02-05  Tambet Ingo  <tambet@ximian.com>
9960
9961         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
9962         * src/supplicant-manager/nm-supplicant-interface.h
9963         * src/supplicant-manager/nm-supplicant-interface.c
9964         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
9965         argument to boolean from enum.
9966
9967         Make NMDevice abstract class, remove almost all references to it's
9968         subclasses (the last place gets removed with new policy manager). Add
9969         NMDeviceInterface (which NMDevice implements) so that when we have
9970         NMDevice exported over DBUS, there's a common NMDevice interface which
9971         all instances have, plus there's a device specific interface for each
9972         specific type.
9973         Remove functions (nm_device_is_802_3_ethernet) and
9974         (nm_device_is_802_11_wireless). There are already standard GObject macros
9975         for type safe checks.
9976         Use the updated supplican manager API.
9977
9978         * src/nm-device-interface.h: 
9979         * src/nm-device-interface.c: 
9980         * src/nm-call-store.h: 
9981         * src/nm-call-store.c: Implement.
9982
9983         * src/supplicant-manager/nm-supplicant-interface.c:
9984         * src/supplicant-manager/nm-supplicant-interface.h:
9985         * src/supplicant-manager/nm-supplicant-manager.c:
9986         * src/supplicant-manager/nm-supplicant-manager.h:
9987                 - Remove all private data type references from public header files.
9988                 - Remove all references to other NM classes, this class is just a
9989                   proxy between wpa_supplicant and NM so it doesn't have to know
9990                   any internals.
9991                 - Convert to dbus-glib bindings.
9992                 - Type safe checks for public methods' arguments.
9993                 - Store pending DBUS call ids to NMCallStore.
9994
9995         * src/supplicant-manager/nm-supplicant-config.c:
9996                 - Store config values in a GHashTable instead of GSList.
9997
9998         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
9999
10000         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
10001         singleton now.
10002
10003         * src/nm-device.c: Use the new DHCP manager API.
10004
10005         * src/nm-activation-request.c:
10006         * src/nm-activation-request.h:
10007                 - Remove all dhcp related properties and methods.
10008
10009         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
10010
10011         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
10012
10013         * src/dhcp-manager/nm-dhcp-manager.c:
10014         * src/dhcp-manager/nm-dhcp-manager.h:
10015                 - Convert it to GObject since we need to signal state changes.
10016                 - Remove all references to other NM classes, this class is one
10017                   of the lowest classes in our hierarchy.
10018                 - One less class to use NMActRequest.
10019                 - Make it singleton, one less user of NMData.
10020                 - Remove a couple of sleep() calls.
10021                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
10022                   One less class to use the NM's custom tailored signal handlig.
10023
10024         * Makefile.am: Generate marshallers, add them to build.
10025
10026 2007-02-02  Dan Williams  <dcbw@redhat.com>
10027
10028         * configure.in
10029           gnome/Makefile.am
10030           nm-applet.desktop
10031           Makefile.am
10032                 - Remove last bits referencing gnome applet
10033
10034 2007-02-02  Dan Williams  <dcbw@redhat.com>
10035
10036         * src/vpn-manager/nm-vpn-service.c
10037                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
10038                         and NBNS server addresses
10039
10040 2007-02-02  Tambet Ingo  <tambet@ximian.com>
10041
10042         * src/nm-dbus-manager.c:
10043         * src/nm-dbus-manager.h:
10044                 - Convert all internal DBUS code to use dbus-glib bindings.
10045                 - Remove GObject properties, we don't need them here.
10046                 - Don't explicitly set things to NULL after freeing, glib is
10047                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
10048                 - Make public API argument checks type safe.
10049                 - Remove unnecessary (and wrong) cast to GObject for the first
10050                   argument to g_signal_* calls - The first argument is a gpointer.
10051                 - Export DBusGConnection to other cool classes that (are going to)
10052                   use dbus-glib.
10053
10054 2007-01-26  Dan Williams  <dcbw@redhat.com>
10055
10056         * libnm-util/dbus-dict-helpers.c
10057           libnm-util/dbus-dict-helpers.h
10058                 - Coordinate style with wpa_supplicant version to minimize diff
10059                 - Add uint32 array support
10060                 - (nmu_dbus_dict_append_uint32_array): new function
10061                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
10062                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
10063                         version; allow adding string array elements individually
10064
10065         * test/libnm-util/test-dbus-dict-helpers.c
10066                 - Test uint32 arrays
10067
10068 2007-01-27  Jürg Billeter  <j@bitron.ch>
10069
10070         * src/backends/NetworkManagerPaldo.c
10071                 - (nm_system_update_dns): clear nscd hosts cache
10072
10073 2007-01-04  Dan Williams  <dcbw@redhat.com>
10074
10075         Threading removal related cleanups:
10076
10077         - Use the glib default main context.  Remove the device main context
10078                 member from NMDevice, and the main_context member from NMData.  Change
10079                 all the idle and timeout scheduler functions to use plain
10080                 g_idle_add() and g_timeout_add().
10081
10082         - As a side-effect of the first change, nm_dbus_manager_get() no longer
10083                 takes an argument; fix that up too.
10084
10085         - Remove all locking, which is useless since we no longer use threads.  For
10086                 example, nm_get_device_by_iface_locked() has been removed.  The global
10087                 device list lock, the AP List lock, and all static locks in
10088                 NetworkManagerPolicy.c have been removed.  The locking utility functions
10089                 in NetworkManagerUtils.c have also been removed.
10090
10091         - Other cleanups in spacing and code style
10092
10093 2007-01-01  Dan Williams  <dcbw@redhat.com>
10094
10095         Found by Bill Moss:
10096
10097         * src/supplicant-manager/nm-supplicant-interface.c
10098                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
10099                         the supplicant interface wasn't already disconnected.  Always
10100                         call removeNetwork and disconnect unless the supplicant interface
10101                         is in the DISCONNECTED or INACTIVE state.
10102
10103 2006-12-28  Dan Williams  <dcbw@redhat.com>
10104
10105         Use a single thread for everything.  With the move to wpa_supplicant
10106         and communication over D-Bus, there's no reason for multiple threads.
10107         Almost all of the blocking code has been removed, with one exception in
10108         the DHCP manager and a few in the VPN manager.  This commit removes the
10109         per-device worker thread and fixes activation cancellation in the absence
10110         of threads.  Further removal of thread-related code would be removing
10111         any locking code (like the device list lock) and simplification of logic
10112         around areas of code or data structures that are currently locked.
10113
10114         * autoip.c
10115           dhcp-manager/nm-dhcp-manager.c 
10116           nm-device-802-11-wireless.c
10117           nm-device-802-3-ethernet.c
10118           nm-device.c
10119           nm-device.h
10120                 - Remove usage of multiple threads
10121
10122 2006-12-19  Dan Williams  <dcbw@redhat.com>
10123
10124         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
10125         plus a few other patches from wpa_supplicant bugzilla.
10126
10127         * src/Makefile.am
10128           src/NetworkManagerPolicy.c
10129           src/NetworkManagerUtils.c
10130           src/NetworkManagerUtils.h
10131           src/nm-ap-security-leap.c
10132           src/nm-ap-security-wep.c
10133           src/nm-ap-security-wpa-eap.c
10134           src/nm-ap-security-wpa-psk.c
10135           src/nm-ap-security.c
10136           src/nm-ap-security.h
10137           src/nm-device-802-11-wireless.c
10138           src/nm-device-802-11-wireless.h
10139           src/supplicant-manager/nm-supplicant-config.c
10140           src/supplicant-manager/nm-supplicant-config.h
10141           src/supplicant-manager/nm-supplicant-interface.c
10142           src/supplicant-manager/nm-supplicant-interface.h
10143           src/supplicant-manager/nm-supplicant-marshal.list
10144           src/supplicant-manager/nm-supplicant-settings-verify.c
10145           src/supplicant-manager/nm-supplicant-settings-verify.h
10146                 - Move all connection management and association handling to
10147                         wpa_supplicant over dbus, rather than spawning a private copy
10148
10149 2006-12-19  Dan Williams  <dcbw@redhat.com>
10150
10151         * src/NetworkManagerPolicy.c
10152                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
10153                         better locking of the device change check handler ID.  Incorrect
10154                         locking was causing lost device change requests
10155
10156 2006-12-18  Dan Williams  <dcbw@redhat.com>
10157
10158         * libnm-util/dbus-dict-helpers.c
10159                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
10160                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
10161                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
10162
10163 2006-12-18  Dan Williams  <dcbw@redhat.com>
10164
10165         * gnome/libnm_glib/libnm_glib.c
10166                 - Change dbus_connection_close() -> dbus_connection_unref()
10167
10168 2006-12-11  Dan Williams  <dcbw@redhat.com>
10169
10170         * src/supplicant-manager/nm-supplicant-interface.c
10171                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
10172                         wpa_supplicant interface state
10173                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
10174                         state before transitioning to READY state
10175
10176 2006-12-04  Dan Williams  <dcbw@redhat.com>
10177
10178         * src/nm-device-802-11-wireless.c
10179                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
10180                         odd length of ESSID returned from ieee80211 stack-based drivers
10181
10182 2006-12-04  Dan Williams  <dcbw@redhat.com>
10183
10184         * src/nm-device-802-11-wireless.c
10185                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
10186                         IE handling blocks that cause mis-parsing of the IE
10187
10188 2006-12-04  Dan Williams  <dcbw@redhat.com>
10189
10190         * src/nm-device-802-11-wireless.c
10191                 - (init_supplicant_interface): new function; pull supplicant interface
10192                         setup code out into standalone function since it must be called from
10193                         two different places
10194                 - (real_init): sup_mgr is now in private object data; get and track
10195                         the supplicant manager object over the NMDevice subclass' lifetime
10196                         and register a signal handler for its state signals; only try to
10197                         initialize the supplicant interface if the supplicant manager is in
10198                         the IDLE state (and therefore is ready for requests)
10199                 - (request_wireless_scan): reschedule the scan request if (a) there is
10200                         no supplicant interface yet (meaning wpa_supplicant isn't running
10201                         or isn't ready yet), or (b) if the supplicant interface isn't ready
10202                         for requests yet
10203                 - (supplicant_iface_connection_state_cb): new function; stub for
10204                         handling supplicant interface connection state signals
10205                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
10206                         comes and goes
10207                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
10208                         supplicant manager object that's being tracked starting with this
10209                         commit
10210
10211 2006-12-04  Dan Williams  <dcbw@redhat.com>
10212
10213         * src/supplicant-manager/nm-supplicant-interface.c
10214                 - (nm_supplicant_interface_set_property): track signal handler ID
10215                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
10216
10217 2006-12-04  Dan Williams  <dcbw@redhat.com>
10218
10219         * src/supplicant-manager/nm-supplicant-interface.[ch]
10220                 - (nm_supplicant_interface_get_state): new function
10221
10222 2006-12-04  Dan Williams  <dcbw@redhat.com>
10223
10224         * src/supplicant-manager/nm-supplicant-interface.c
10225                 - (bssid_properties_cb): don't treat DBus errors as valid
10226                         scanned AP messages
10227
10228 2006-12-04  Dan Williams  <dcbw@redhat.com>
10229
10230         * src/supplicant-manager/nm-supplicant-interface.[ch]
10231                 - (nm_supplicant_interface_get_connection_state): new function
10232                 - define new supplicant connection states
10233                 - send a signal when the supplicant connection state changes
10234
10235 2006-12-03  Dan Williams  <dcbw@redhat.com>
10236
10237         * src/supplicant-manager/Makefile.am
10238           src/supplicant-manager/nm-supplicant-connection.h
10239           src/supplicant-manager/nm-supplicant-connection.c
10240           src/supplicant-manager/nm-supplicant-config.h
10241           src/supplicant-manager/nm-supplicant-config.c
10242           src/supplicant-manager/nm-supplicant-types.h
10243           src/supplicant-manager/nm-supplicant-interface.h
10244           src/supplicant-manager/nm-supplicant-interface.c
10245                 - Rename NMSupplicantConnection -> NMSupplicantConfig
10246
10247 2006-12-03  Dan Williams  <dcbw@redhat.com>
10248
10249         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
10250
10251         * po/POTFILES.in
10252           po/POTFILES.skip
10253                 - Move VPN-related translatables to .skip
10254
10255         * vpn-daemons/pptp/po/POTFILES.in
10256                 - Update with new translatables
10257
10258 2006-12-02  Dan Williams  <dcbw@redhat.com>
10259
10260         Patch from Christian Persch <chpe@gnome.org>
10261
10262         * gnome/applet/Makefile.am
10263           gnome/applet/applet-dbus-devices.c
10264           gnome/applet/applet-notifications.c
10265           gnome/applet/applet.c
10266           gnome/applet/applet.h
10267           gnome/applet/main.c
10268                 - Be a GtkStatusIcon on GTK+ >= 2.10
10269
10270 2006-12-02  Dan Williams  <dcbw@redhat.com>
10271
10272         * gnome/applet/applet.c
10273                 - (nma_update_info): fix two unecessary allocations
10274
10275 2006-12-02  Dan Williams  <dcbw@redhat.com>
10276
10277         Patch from Michael Biebl <biebl@teco.edu>
10278         * configure.in
10279           man/NetworkManager.1.in
10280           man/NetworkManagerDispatcher.1.in
10281           man/NetworkManager.8.in
10282           man/NetworkManagerDispatcher.8.in
10283                 - Add .SH NAME stanzas
10284                 - Move NM & NM Dispatcher manpages to section 8 (admin)
10285
10286 2006-12-02  Dan Williams  <dcbw@redhat.com>
10287
10288         Patch from Christian Persch <chpe@gnome.org>
10289
10290         * configure.in
10291                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
10292
10293 2006-11-29  Tambet Ingo  <tambet@ximian.com>
10294
10295         Patch by Timo Hoenig <thoenig@suse.de>:
10296         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
10297         DBUS-1.0.
10298
10299         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
10300         we can't use the one from the main source directory.
10301
10302 2006-11-27  Dan Williams  <dcbw@redhat.com>
10303
10304         Patch from Christian Persch <chpe@gnome.org>
10305
10306         * gnome/applet/applet-dbus-devices.c
10307                 - (hal_info_product_cb): fix memleak; free duped string.
10308                         Gnome.org #379908
10309
10310 2006-11-27  Dan Williams  <dcbw@redhat.com>
10311
10312         Patch from Christian Persch <chpe@gnome.org>
10313
10314         * gnome/applet/menu-items.c
10315                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
10316                         as gtk_progress_set_percentage is deprecated.  Should
10317                         work as far back as GTK+ 2.4.  Gnome.org #379780
10318
10319 2006-11-26  Dan Williams  <dcbw@redhat.com>
10320
10321         Scan using wpa_supplicant over DBus.
10322
10323         * src/nm-device-802-11-wireless.c
10324                 - remove wireless extensions netlink event handler bits
10325                         (wireless_event_helper, nm_device_802_11_wireless_event)
10326                 - remove wireless extensions scan event handler bits
10327                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
10328                         hex2byte, hex2num, request_and_convert_scan_results,
10329                         free_process_scan_cb_data, scan_results_timeout,
10330                         schedule_scan_results_timeout, cancel_scan_results_timeout)
10331                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
10332                         and request scans from the supplicant interface rather than directly
10333                 - Move functionality of convert_scan_results() to cull_scan_list() and
10334                         supplicant_iface_scanned_ap_cb()
10335                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
10336                         at the scan interval when the current scan has finished
10337                 - (supplicant_iface_state_cb): start scanning when the supplicant
10338                         interface enters the READY state, and stop scanning when it
10339                         enters the DOWN state
10340                 - (cull_scan_list): weed out old access points from the scan list
10341                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
10342                         point into an NMAccessPoint and merge it into the device's scan list
10343
10344         * src/supplicant-manager/nm-supplicant-interface.c
10345           src/supplicant-manager/nm-supplicant-interface.h
10346                 - Add a new signal "scan-result" which is issued when the supplicant
10347                         notifies NM that a scan has completed
10348                 - Add a new signal "scanned-ap" that notifies listeners of a new access
10349                         point found in the scan.  Called once for each access point that
10350                         the supplicant interface object receives from the supplicant as a
10351                         result of the "scanResults" method call
10352                 - (wpas_iface_query_scan_results): don't wait 4s before querying
10353                         for the initial scan results
10354                 - (scan_request_cb): new function; send listeners the result
10355                         (success, error) of a wireless scan request
10356                 - (nm_supplicant_interface_request_scan): new function; ask the
10357                         supplicant to perform an immediate wireless scan
10358
10359 2006-11-25  Dan Williams  <dcbw@redhat.com>
10360
10361         * src/supplicant-manager/Makefile.am
10362                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
10363                         add HAL cflags/includes and named-manager includes directory
10364
10365         * src/supplicant-manager/nm-supplicant-interface.h
10366                 - New state STARTING to handle transition from INIT to READY where
10367                         the addInterface pending call is still outstanding
10368
10369         * src/supplicant-manager/nm-supplicant-interface.c
10370                 - track pending calls differently since we may have more than one
10371                         going on at any given time
10372                 - request scan results from wpa_supplicant; but don't do it more often
10373                         than every 4 seconds.  Drivers that do background scanning
10374                         (like the 'ipw' drivers) send a continuous stream of scan completion
10375                         notifications, so we don't want to hammer the supplicant or dbus
10376                         with requests for all scan results every time we get a completion
10377                         notification.
10378
10379 2006-11-25  Dan Williams  <dcbw@redhat.com>
10380
10381         * src/supplicant-manager/nm-supplicant-types.h
10382                 - new file; move all supplicant manager object typedefs here for
10383                         #include sanity
10384
10385         * src/supplicant-manager/nm-supplicant-interface.c
10386           src/supplicant-manager/nm-supplicant-interface.h
10387                 - new file; an object that interfaces an NMDevice object to the
10388                         supplicant and handles signals from the supplicant.  This object
10389                         does all necessary DBus communication with wpa_supplicant.
10390
10391         * src/supplicant-manager/nm-supplicant-manager.c
10392           src/supplicant-manager/nm-supplicant-manager.h
10393                 - Actually do something.  Track the state of the wpa_supplicant service
10394                         and deal with its comings & goings.  Handle life events of
10395                         supplicant interfaces too.
10396                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
10397
10398         * src/supplicant-manager/nm-supplicant-connection.h
10399                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
10400
10401         * src/supplicant-manager/Makefile.am
10402                 - Add new files to build, and add libnm-util to includes
10403
10404         * src/nm-marshal.list
10405                 - New marshaler type: VOID:UINT,UINT
10406
10407         * src/nm-device-802-3-ethernet.c
10408                 - (real_init): grab a supplicant interface
10409                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
10410                 - (supplicant_iface_state_cb): new function, stub for handling
10411                         supplicant interface state changes
10412
10413         * src/nm-device-802-11-wireless.c
10414                 - (real_init): grab a supplicant interface
10415                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
10416                 - (supplicant_iface_state_cb): new function, stub for handling
10417                         supplicant interface state changes
10418
10419         * src/NetworkManager.c
10420                 - (main): create and keep the supplicant manager around for the lifetime
10421                         of NetworkManager
10422
10423         * src/Makefile.am
10424                 - Link to the supplicant manager sub-library and use the supplicant
10425                         manager includes
10426
10427 2006-11-25  Dan Williams  <dcbw@redhat.com>
10428
10429         Rework DBus manager signal handling to be more flexible.  Previously,
10430         only one signal handler could be registered for a particular interface.
10431         The DBus manager now reference counts DBus bus matches and allows multiple
10432         clients to register signal handlers for the same interface and sender.
10433
10434         * src/NetworkManager.c
10435                 - (main): track NMI signal handler ID and remove it when we quit
10436
10437         * src/NetworkManagerMain.h
10438                 - Keep track of NMI signal handler ID
10439
10440         * src/nm-dbus-manager.c
10441           src/nm-dbus-manager.h
10442                 - rework signal handling; each signal handler references one signal
10443                         match, but a signal match may be referenced by one or more
10444                         signal handlers.  Matches are refcounted and are destroyed when the
10445                         last signal handler that references the match is removed.  This is
10446                         necessary because two signal handlers may end up requiring the same
10447                         dbus bus match, so the match must live until the last signal handler
10448                         is destroyed (for example, with the wpa_supplicant network interface
10449                         dbus interface).
10450
10451         * src/dhcp-manager/nm-dhcp-manager.c
10452                 - (nm_dhcp_manager_new): track DHCP signal handler id
10453                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
10454
10455         * src/vpn-manager/nm-vpn-service.c
10456                 - (nm_vpn_service_add_watch): track VPN service signal handler id
10457                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
10458
10459 2006-11-25  Dan Williams  <dcbw@redhat.com>
10460
10461         Suggested by Helmut Schaa <hschaa@suse.de>
10462
10463         * src/vpn-daemons/nm-vpn-service.c
10464                 - (supplicant_child_setup): new function
10465                 - (supplicant_exec): make child process use a new process group id
10466
10467         * src/nm-device-802-11-wireless.c
10468                 - (nm_vpn_service_child_setup): new function
10469                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
10470                         process group id
10471
10472 2006-11-19  Dan Williams  <dcbw@redhat.com>
10473
10474         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
10475         * gnome/vpn-properties/nm-vpn-properties.c
10476                 - clean up after renamed VPN connection
10477
10478 2006-11-19  Dan Williams  <dcbw@redhat.com>
10479
10480         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
10481         * gnome/applet/applet-dbus-vpn.c
10482                 - (nma_dbus_vpn_properties_cb): sort VPN connections
10483
10484         * gnome/vpn-properties/nm-vpn-properties.c
10485                 - (init_app): sort VPN connections
10486
10487 2006-11-09  Dan Williams  <dcbw@redhat.com>
10488
10489         * src/NetworkManagerAPList.c
10490                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
10491                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
10492                 from the nm_ap_list_get_ap_by_address() call was incorrect and
10493                 broke hidden SSID matching.  Found by Bill Moss.
10494
10495 2006-10-25  Dan Williams  <dcbw@redhat.com>
10496
10497         * src/nm-dbus-nm.c
10498                 - (nm_dbus_nm_set_active_device): return an empty success message on
10499                         success, rather than falling through to the error case.
10500
10501 2006-10-25  Dan Williams  <dcbw@redhat.com>
10502
10503         * src/NetworkManagerUtils.c
10504                 - (nm_utils_supplicant_request_with_check): suppress messages for the
10505                         "SCAN" command
10506
10507 2006-10-24  Dan Williams  <dcbw@redhat.com>
10508
10509         Reduce the number of times the Gnome applet wakes up, especially when
10510         it's doing absolutely nothing and is hidden.  Initial patch by
10511         Chris Aillon.
10512
10513         * gnome/applet/applet-dbus.c
10514                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
10515                         kill the redraw timeout.  When NM starts up, start the redraw
10516                         timeout.  Also, if we get kicked off the bus for some reason,
10517                         start the reconnection timeout if one's not already running.
10518                 - (nma_dbus_init): better handling of error conditions, don't leak
10519                         a half-initialized dbus connection
10520                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
10521                         the applet's data, just call nm_dbus_init_helper()
10522                 - (nma_start_dbus_connection_watch): new function, starts a periodic
10523                         timeout that calls nma_dbus_connection_watcher()
10524                 - (nma_dbus_init_helper): if we get a successful connection, kill the
10525                         reconnection timeout, and don't start the reconnection timeout
10526                         unconditionally anymore
10527
10528         * gnome/applet/applet-dbus.h
10529                 - Expose nma_start_dbus_connection_watch()
10530
10531         * gnome/applet/applet.c
10532                 - (nma_update_state): no longer static, called from applet-dbus.c for
10533                         immediate UI updates on certain events
10534                 - (nma_set_running): new function; take over setting applet->running,
10535                         when not running (ie, NM is not active), don't activate the redraw
10536                         timeout because we're not showing the applet anyway.  When we are
10537                         running (ie, NM is active), and only when we're running, start the
10538                         redraw timeout.
10539                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
10540                         kill any reconnection timeout
10541                 - (nma_get_instance): move one-off dbus initialization code here since
10542                         nm_dbus_init_helper() gets called more than once, possibly by the
10543                         reconnection timeout function too.  And, when we start up, if we
10544                         can't get a connection to the bus, start the reconnection timeout.
10545                         But don't start the redraw timeout yet, only do that when we get
10546                         NM's state and find out if it's running or not.
10547
10548         * gnome/applet/applet.h
10549                 - Add the reconnection GSource ID
10550                 - Add prototypes for nma_set_running() and the no-longer-static
10551                         nma_update_state()
10552
10553 2006-10-24  Dan Williams  <dcbw@redhat.com>
10554
10555         * src/vpn-daemons/nm-dbus-vpnc.c
10556                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
10557                         pending call tracker
10558                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
10559                         pending call tracker; register one-vpn-connection update pending
10560                         call in pending call tracker
10561                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
10562                         update pending call in pending call tracker
10563                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
10564                         update pending call in pending call tracker; don't block waiting
10565                         for call to return
10566
10567 2006-10-19  Robert Love  <rml@novell.com>
10568
10569         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
10570           refresh the cache.
10571
10572 2006-10-14  Dan Williams  <dcbw@redhat.com>
10573
10574         * src/dhcp-manager/nm-dhcp-manager.c
10575                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
10576                 the dbus connection and the device object path rather than
10577                 constructing it inside both functions.  Saves a bit of memory
10578                 and clarifies a failure path.
10579                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
10580                 and allocate device path here rather than each of the two
10581                 functions above.
10582
10583 2006-10-13  Dan Williams  <dcbw@redhat.com>
10584
10585         * src/NetworkManager.c
10586                 - (nm_name_owner_changed_handler): handle NMI coming and going,
10587                 this somehow droppout in the refactor
10588
10589 2006-10-13  Dan Williams  <dcbw@redhat.com>
10590
10591         * Huge DBus refactor:
10592                 - Create a "DBus Manager" object which manages the connection and
10593                 sends signals on NameOwnerChanged and connection/disconnection events,
10594                 handles reconnection to the bus if NM gets kicked off, and abstracts
10595                 signal handling
10596                 - Remove DBusConnection members from places where they are no
10597                 longer needed due to the refactor, like the dbus-connection
10598                 property of the named manager, and from NMData
10599                 - Reformats a bunch of the code to gnome style
10600                 (8-space tabs, braces on same line as statement, 80-col width).
10601                 Consider it open season to reformat any bits to gnome style.
10602                 style that aren't already.
10603
10604 2006-10-13  Dan Williams  <dcbw@redhat.com>
10605
10606         * src/supplicant-manager/Makefile.am
10607                 - Add new files
10608
10609         * src/supplicant-manager/nm-supplicant-manager.[ch]:
10610                 - Make it a minimal GObject
10611
10612         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
10613                 - Verify settings destined for wpa_supplicant
10614
10615         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
10616                 - Minimal GObject to track wpa_supplicant controlled device
10617                 connections
10618
10619 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
10620
10621         * gnome/applet/applet.c: (nma_update_info),
10622         (nma_act_stage_to_pixbuf), (nma_update_state):
10623         Mark missing strings for translation. Fixes bug #343306.
10624
10625 2006-10-01  Dan Williams  <dcbw@redhat.com>
10626
10627         * src/vpn-manager/nm-vpn-manager.c
10628                 - (nm_vpn_manager_load_services): split and clean up
10629                 for readability and correctness.  Restrict VPN service
10630                 files to ending in ".name", as was meant from the
10631                 beginning (but not coded in).  Better error reporting.
10632
10633 2006-10-01  Dan Williams  <dcbw@redhat.com>
10634
10635         * utils/nm-utils.h
10636                 - Clean up formatting of debug/info/warning log messages
10637
10638 2006-09-27  Robert Love  <rml@novell.com>
10639
10640         Patch by Tambet Ingo <tambet@ximian.com>:
10641         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
10642           actually work.
10643
10644 2006-09-07  Dan Williams <dcbw@redhat.com>
10645
10646         * test/Makefile.am
10647           test/libnm-util/Makefile.am
10648           test/nm-supplicant-test.c
10649                 - Add test program emulating the way NM drives wpa_supplicant
10650                 to help debug supplicant issues
10651
10652 2006-08-24  Dan Williams <dcbw@redhat.com>
10653
10654         * configure.in
10655           src/Makefile.am
10656           src/supplicant-manager/Makefile.am
10657           src/supplicant-manager/nm-supplicant-manager.c
10658           src/supplicant-manager/nm-supplicant-manager.h
10659                 - Add skeleton bits of the wpa_supplicant manager
10660
10661 2006-08-24  Dan Williams <dcbw@redhat.com>
10662
10663         Patch from Ed Catmur:
10664         * src/NetworkManagerUtils.c
10665                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
10666                 if netmask is 0 (Gnome #352634)
10667
10668 2006-08-17  Robert Love  <rml@novell.com>
10669
10670         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
10671           package is now DBUS-enabled and listens for the NM signals.
10672
10673 2006-08-14  Dan Williams  <dcbw@redhat.com>
10674
10675         * Patch from Christian Persch <chpe gnome org>
10676         * configure.in
10677           po/LINGUAS
10678           vpn-daemons/openvpn/po/LINGUAS
10679           vpn-daemons/openvpn/configure.in
10680           vpn-daemons/pptp/po/LINGUAS
10681           vpn-daemons/pptp/configure.in
10682           vpn-daemons/vpnc/po/LINGUAS
10683           vpn-daemons/vpnc/configure.in
10684                 - Convert to LINGUAS method so translators don't have to modify
10685                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
10686                 0.35 or higher
10687
10688 2006-08-14  Dan Williams  <dcbw@redhat.com>
10689
10690         Patch from Alex Smith <alex.extreme2@gmail.com>
10691         * configure.in
10692           src/backends/Makefile.am
10693           src/backends/NetworkManagerFrugalware.c
10694                 - Add support for Frugalware
10695
10696 2006-08-13  Dan Williams  <dcbw@redhat.com>
10697
10698         Patch from Valentine Sinitsyn <e_val@inbox.ru>
10699         * src/nm-device-802-11-wireless.c
10700                 - (supplicant_exec): spawn wpa_supplicant without debug spew
10701                 Gnome #346875
10702
10703 2006-08-13  Dan Williams  <dcbw@redhat.com>
10704
10705         Patch from Valentine Sinitsyn <e_val@inbox.ru>
10706         * src/nm-ap-security.c
10707           src/nm-ap-security.h
10708                 - Add authentication_required bits for subclasses to specify whether
10709                 or not real authentication is required for connections, i.e. whether
10710                 the AP rejects us when an encryption key is wrong or not.
10711
10712         * src/nm-ap-security-wep.c
10713           src/nm-ap-security-wpa-eap.c
10714           src/nm-ap-security-wpa-psk.c
10715           src/nm-ap-security-leap.c
10716                 - Implement authentication_required appropriately for each method
10717
10718         * src/nm-device-802-11-wireless.c
10719                 - Be smarter about when to request a key; for example, using a wrong key
10720                 in WEP shared key mode previously just timed out and did not request
10721                 a new key
10722
10723 2006-08-13  Dan Williams  <dcbw@redhat.com>
10724
10725         * gnome/libnm_glib/libnm_glib.c
10726                 - dbus_connection_disconnect() -> dbus_connection_close() for
10727                 dbus >= 0.90
10728
10729 2006-08-07  Dan Williams  <dcbw@redhat.com>
10730
10731         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
10732         * src/NetworkManagerSystem.c
10733                 - Respect specified MTU.  Gnome #344967
10734
10735 2006-08-07  Dan Williams  <dcbw@redhat.com>
10736
10737         * src/vpn-manager/nm-vpn-service.c
10738                 - Simplify print_vpn_config() arguments
10739
10740         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
10741         * src/vpn-manager/Makefile.am
10742           src/vpn-manager/nm-vpn-service.c
10743                 - Add new API for passing VPN config options as a dict. Gnome #344967
10744
10745 2006-08-06  Dan Williams  <dcbw@redhat.com>
10746
10747         * gnome/applet/applet-dbus-devices.c
10748           gnome/applet/applet-dbus-vpn.c
10749           gnome/applet/applet-dbus.c
10750           gnome/applet/applet-dbus.h
10751           src/nm-dbus-nmi.c
10752           utils/nm-utils.c
10753           utils/nm-utils.h
10754                 - Make pending call tracking code generic,
10755                 so we can use it in NM as well as the applet
10756
10757 2006-08-06  Dan Williams  <dcbw@redhat.com>
10758
10759         * src/nm-activation-request.c
10760                 - Refcount pending call objects
10761
10762 2006-08-06  Dan Williams  <dcbw@redhat.com>
10763
10764         Patch from Christan Chiesa <christanc@gmail.com>
10765         * configure.in
10766                 - Tell sha1.c to use bigendian mode on PPC
10767
10768 2006-08-04  Robert Love  <rml@novell.com>
10769
10770         Glib Memory Slices!
10771         * configure.in: Require glib 2.10 or later.
10772         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
10773           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
10774           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
10775           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
10776           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
10777           Memory Slices are the greatest thing since bread slices.
10778         * src/NetworkManagerAP.c: Also, fix memory leak.
10779
10780 2006-08-01  Robert Love  <rml@novell.com>
10781
10782         * gnome/applet/main.c: Shutdown all VPN connections on logout.
10783
10784 2006-07-31  Robert Love  <rml@novell.com>
10785
10786         * src/backends/interface_parser.c: Declarations must begin the block.
10787
10788 2006-07-24  Dan Williams  <dcbw@redhat.com>
10789
10790         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
10791         * src/backends/Makefile.am
10792           src/backends/NetworkManagerArch.c
10793           src/backends/NetworkManagerDebian.c
10794           src/backends/NetworkManagerGeneric.c
10795           src/backends/NetworkManagerGeneric.h
10796           src/backends/NetworkManagerGentoo.c
10797           src/backends/NetworkManagerPaldo.c
10798           src/backends/NetworkManagerRedHat.c
10799           src/backends/NetworkManagerSlackware.c
10800           src/backends/NetworkManagerSuSE.c
10801                 - Genericize common backend functions
10802
10803 2006-07-18  Robert Love  <rml@novell.com>
10804
10805         * configure.in: Add "--with-notify" option to allow disabling of
10806           libnotify support.
10807
10808 2006-07-13  Dan Williams  <dcbw@redhat.com>
10809
10810         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
10811         * gnome/applet/applet.glade
10812           gnome/applet/Makefile.am
10813           gnome/applet/nm-gconf-wso.c
10814           gnome/applet/nm-gconf-wso-leap.c
10815           gnome/applet/nm-gconf-wso-leap.h
10816           gnome/applet/wireless-security-manager.c
10817           gnome/applet/wso-leap.c
10818           gnome/applet/wso-leap.h
10819           include/NetworkManager.h
10820           libnm-util/dbus-helpers.c
10821           libnm-util/dbus-helpers.h
10822           src/Makefile.am
10823           src/NetworkManagerAP.c
10824           src/nm-ap-security.c
10825           src/nm-ap-security-leap.c
10826           src/nm-ap-security-leap.h
10827                 - Add LEAP authentication support
10828
10829 2006-07-13  Dan Williams  <dcbw@redhat.com>
10830
10831         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
10832         * configure.in
10833           src/backends/NetworkManagerArch.c
10834           src/backends/NetworkManagerDebian.c
10835           src/backends/NetworkManagerGentoo.c
10836           src/backends/NetworkManagerPaldo.c
10837           src/backends/NetworkManagerRedHat.c
10838           src/backends/NetworkManagerSlackware.c
10839           src/backends/NetworkManagerSuSE.c
10840                 - Convert hardcoding of 'ip' path to configure-time
10841                         detected one
10842
10843 2006-07-12  Leonid Kanter <leon@asplinux.ru>
10844
10845         * configure.in: added ru to ALL_LINGUAS
10846
10847 2006-07-10  Dan Williams  <dcbw@redhat.com>
10848
10849         Patch from Valentine Sinitsyn <e_val@inbox.ru>
10850         * src/nm-device.c
10851                 - (real_act_stage3_ip_config_start): don't infinite loop when
10852                         dhcdbd isn't running (Gnome #346845)
10853
10854 2006-07-09  Dan Williams  <dcbw@redhat.com>
10855
10856         * gnome/applet/applet.c
10857                 - (nma_destroy): don't pass NULL to notify_notification_close
10858                         (RH #197917)
10859
10860 2006-07-09  Dan Williams  <dcbw@redhat.com>
10861
10862         * gnome/applet/applet.c
10863                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
10864
10865 2006-07-04  Tor Krill  <tor@krill.nu>
10866
10867         Patch from Valentine Sinitsyn <e_val@inbox.ru>
10868         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
10869         (nm_system_restart_mdns_responder), (ArchReadConfig),
10870         (nm_system_device_get_system_config):
10871                 - Explicitly check for DHCP configuration
10872                 - Check if daemons are running before starting them
10873
10874 2006-06-25  Dan Williams  <dcbw@redhat.com>
10875
10876         * libnm-util/dbus-dict-helpers.[ch]
10877           test/libnm-util/test-dbus-dict-helpers.c
10878                 - Add string array support
10879
10880 2006-06-24  Dan Williams  <dcbw@redhat.com>
10881
10882         * src/dhcp-manager/nm-dhcp-manager.c
10883                 - (nm_dhcp_manager_process_signal): clean up spacing
10884
10885 2006-06-21  Dan Williams  <dcbw@redhat.com>
10886
10887         * src/nm-dbus-device.c
10888                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
10889                         through dbus
10890
10891 2006-06-21  Raivis Dejus  <orvils@gmail.com>
10892
10893         * configure.in: Added 'lv' to ALL_LINGUAS
10894
10895 2006-06-19  Dan Williams  <dcbw@redhat.com>
10896
10897         * src/NetworkManagerAP.c
10898                 - Clarify usage of user_created
10899
10900         * src/nm-ap-security-wep.c
10901           src/nm-ap-security-wpa-eap.c
10902           src/nm-ap-security-wpa-psk.c
10903           src/nm-ap-security.c
10904           src/nm-ap-security.h
10905                 - s/user_created/adhoc, because we really do mean adhoc
10906
10907         Patch from Bernard Blackham <bernard@blackham.com.au>
10908         * src/nm-device-802-11-wireless.c         
10909                 - (supplicant_send_network_config): instead of user_created,
10910                         use adhoc, and do AP_SCAN 2 for adhoc networks
10911
10912 2006-06-18  Robert Love  <rml@novell.com>
10913
10914         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
10915           we have a value to set.  Gconf generates a warning if `val' is NULL.
10916         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
10917           unless we actually received a valid private key file passphrase or
10918           password.  Otherwise, we don't know to later ask the applet to pull
10919           the key from the keyring.
10920
10921 2006-06-17  Dan Williams  <dcbw@redhat.com>
10922
10923         * libnm-util/dbus-dict-helpers.[ch]
10924           test/libnm-util/test-dbus-dict-helpers.c
10925                 - Fixes for zero-length byte arrays
10926                 - Replace return values of 0 with FALSE for clarity
10927                 - Test zero-length byte arrays
10928
10929 2006-06-17  Dan Williams  <dcbw@redhat.com>
10930
10931         * libnm-util/dbus-dict-helpers.[ch]
10932           test/libnm-util/test-dbus-dict-helpers.c
10933                 - Add helpers for byte arrays
10934                 - Rework bits of the testcase
10935
10936 2006-06-16  Dan Williams  <dcbw@redhat.com>
10937
10938         * libnm-util/Makefile.am
10939         * libnm-util/dbus-dict-helpers.[ch]
10940                 - Add some helpers to take the pain out of using dict types in
10941                         dbus.
10942
10943         * test/libnm-util/Makefile.am
10944         * test/libnm-util/test-dbus-dict-helpers.c
10945                 - Test cases for the dict helper functions
10946
10947 2006-06-15  Robert Love  <rml@novell.com>
10948
10949         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
10950           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
10951           if there is no key to pass.
10952         * libnm-util/dbus-helpers.c: Given the above, we can trust always
10953           receiving a non-NULL key.
10954
10955 2006-06-14  Robert Love  <rml@novell.com>
10956
10957         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
10958           copy the strings.
10959
10960
10961 2006-06-14  Dan Williams  <dcbw@redhat.com>
10962
10963         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
10964         * src/nm-device-802-11-wireless.c
10965                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
10966                         or ones where the driver is unknown
10967                 - (supplicant_exec): don't wait for supplicant startup here
10968                 - (supplicant_interface_init): finer grained polling for supplicant
10969                         startup
10970
10971 2006-06-13  Robert Love  <rml@novell.com>
10972
10973         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
10974           if it is currently set to TRUE.  Otherwise, we will reset the value
10975           when we connect normally.
10976         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
10977           the old BSSID is valid, too.  The recently added ESSID check may not be
10978           sufficient (we can remove it?).  What we really want to catch is the
10979           case of going from all-zeros to the BSSID of some other network, which
10980           happens on failure.
10981
10982 2006-06-09  Dan Williams  <dcbw@redhat.com>
10983
10984         * src/NetworkManagerSystem.[ch]
10985                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
10986                         it was unused and pointless
10987                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
10988                         fix for set_up_down_with_iface change
10989
10990         * src/vpn-manager/nm-vpn-connection.c
10991                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
10992
10993         * src/backends/NetworkManagerPaldo.c
10994           src/backends/NetworkManagerRedHat.c
10995           src/backends/NetworkManagerSuSE.c
10996           src/backends/NetworkManagerArch.c
10997           src/backends/NetworkManagerDebian.c
10998           src/backends/NetworkManagerGentoo.c
10999                 - (nm_system_enable_loopback): use set_up_down_with_iface where
11000                         appropriate
11001                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
11002                         where appropriate
11003
11004 2006-06-09  Dan Williams  <dcbw@redhat.com>
11005
11006         Patch from Peter Jones:
11007         * src/nm-device-802-11-wireless.c
11008                 - (nm_device_802_11_wireless_update_bssid): make sure that the
11009                         SSID hasn't changed from what we expect before automatically
11010                         updating the saved BSSID from a new AP
11011
11012 2006-06-08  Robert Love  <rml@novell.com>
11013
11014         Add 'fallback' support.  NetworkManager will attempt to brute-force
11015         connect to networks marked as fallback if there are no better wireless
11016         connections available.  This is useful as a method of last resort, to
11017         work around driver problems, and for use with hidden networks.
11018         * gnome/applet/applet-dbus-devices.c,
11019           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
11020         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
11021           pass it on via DBUS.
11022         * gnome/applet/applet.c: No fallback by default.
11023         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
11024           Update other-network-dialog to add UI checkbox toggling fallback.
11025         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
11026           propery from AP object.  Add "fallback" property to AP object.
11027         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
11028         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
11029         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
11030           separate function.  Add get_best_fallback_ap() for returning an AP
11031           on which to attempt fallback.
11032         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
11033         * test/nm-set-fallback: New file.  Sets a given network as fallback.
11034
11035 2006-06-07  Robert Love  <rml@novell.com>
11036
11037         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
11038           checked that the return type was GCONF_VALUE_STRING, not the correct
11039           GCONF_VALUE_BOOL, and thus it never worked.
11040         * src/NetworkManagerAPList.c: Before concluding that two networks are
11041           identical based on their BSSID, make sure that the BSSID in question
11042           is actually valid.  Specifically, an empty or all zero BSSID does not
11043           cut it.
11044         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
11045           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
11046           similar invariant clean up.
11047
11048 2006-06-02  Robert Love  <rml@novell.com>
11049
11050         * gnome/applet/applet.c: Update copyright years.  Add Novell.
11051
11052 2006-05-28  Dan Williams  <dcbw@redhat.com>
11053
11054         * gnome/applet/applet.glade
11055           gnome/vpn-properties/nm-vpn-properties.glade
11056                 - Set window icons on dialogs  (Gnome.org #333420)
11057
11058 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
11059
11060         * gnome/vpn-properties/nm-vpn-properties.glade:
11061         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
11062         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
11063         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
11064                 - Make the VPN properties pages prettier and more HIG
11065                   compliant. Gnome Bug #336913.
11066
11067 2006-05-28  Dan Williams  <dcbw@redhat.com>
11068
11069         Patch from Christian Persch <chpe@gnome.org>
11070         * gnome/vpn-properties/nm-vpn-properties.c
11071         * gnome/vpn-properties/nm-vpn-properties.glade
11072                 - HIG-ification love  (Gnome.org #336846)
11073
11074 2006-05-28  Dan Williams  <dcbw@redhat.com>
11075
11076         Patch from Christian Persch <chpe@gnome.org>
11077         * configure.in
11078           gnome/vpn-properties/nm-vpn-properties.c
11079                 - (main): Fix option parsing.  Gnome.org #336847
11080
11081 2006-05-28  Dan Williams  <dcbw@redhat.com>
11082
11083         * gnome/vpn-properties/nm-vpn-properties.c
11084                 - (find_vpn_ui_by_service_name): protect against NULL service names
11085                 - (update_edit_del_sensitivity): protect against NULL service names
11086                         Gnome.org #341306
11087
11088 2006-05-28  Dan Williams  <dcbw@redhat.com>
11089
11090         Patch from Chris Fuller <crf@grandecom.net>:
11091         * src/nm-device-802-11-wireless.c
11092                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
11093                         don't dispose of wireless-specific stuff unless it is actually
11094                         initialized.  Gnome.org #341263
11095
11096 2006-05-28  Dan Williams  <dcbw@redhat.com>
11097
11098         * src/NetworkManagerPolicy.c
11099                 - (nm_policy_device_change_check): don't switch devices if the "best"
11100                         AP is essentially the same as the current activation request, but
11101                         the current activation request isn't done activating yet.  Fixes
11102                         multiple requests for keyring password on startup for Gnome applet.
11103                         Gnome.org #341297
11104
11105 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
11106
11107         * src/NetworkManager.c: use GOptions instead of getopt
11108         * configure.in: bump glib required version to >= 2.6 for GOption
11109           support
11110
11111 2006-05-25  Robert Love  <rml@novell.com>
11112
11113         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
11114           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
11115           instead of dumping ifdef's throughout the code.
11116         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
11117           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
11118           use nm_ioctl_info() in lieu.
11119
11120 2006-05-25  Robert Love  <rml@novell.com>
11121
11122         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
11123         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
11124           not using gcrypt.  Otherwise, we get a linker error.
11125
11126 2006-05-25  Robert Love  <rml@novell.com>
11127
11128         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
11129         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
11130           configure flag to disable building of the GNOME-based applet.
11131
11132 2006-05-25  Robert Love  <rml@novell.com>
11133
11134         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
11135           parameter from link, because it shadows a global variable with some
11136           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
11137           should never have exported to the entire system a common four letter
11138           word.  But we here at NetworkManager are team players.  Fixes
11139           GNOME bug #336532.
11140
11141 2006-05-25  Arangel Angov <ufo@linux.net.mk>
11142
11143         * configure.in: Added mk.po, Macedonian translation.
11144
11145 2006-05-24  Robert Love  <rml@novell.com>
11146
11147         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
11148           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
11149           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
11150
11151 2006-05-24  Robert Love  <rml@novell.com>
11152
11153         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
11154           libnm-util/Makefile.am, src/Makefile.am,
11155           vpn-daemons/openvpn/auth-dialog/Makefile.am,
11156           vpn-daemons/openvpn/properties/Makefile.am,
11157           vpn-daemons/pptp/auth-dialog/Makefile.am,
11158           vpn-daemons/pptp/properties/Makefile.am,
11159           vpn-daemons/vpnc/auth-dialog/Makefile.am,
11160           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
11161           user passed for --datadir, if anything, when setting the GNOME locale
11162           directory.  It should be a function of the specified datadir and not
11163           the prefix.
11164
11165 2006-05-24  Robert Love  <rml@novell.com>
11166
11167         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
11168           src/NetworkManager.c: Take care to call bindtextdomain with the
11169           location of msgid files.
11170         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
11171           files.
11172
11173 2006-05-22  Robert Love  <rml@novell.com>
11174
11175         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
11176           stage4_timeout on failure unless the wireless network is Ad-Hoc.
11177           99% of the time there is a real problem with wireless, and a
11178           seemingly successful connection via Zeroconf just confuses the user.
11179           And that 1% of the time the network is probably Ad-Hoc, anyhow.
11180
11181 2006-05-22  Robert Love  <rml@novell.com>
11182
11183         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
11184           autofs on interface up if NIS is configured.  On interface down, do
11185           nothing.
11186
11187 2006-05-22  Robert Love  <rml@novell.com>
11188
11189         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
11190           to avoid calling g_object_unref() on stale pointers on error in
11191           nma_icons_free().  This happens because we short-circuit loaded the
11192           icons on the first failure but then free all icons.  Normally we have
11193           no issue because the icons were zero'ed out malloc, but we have stale
11194           pointer data after nma_icon_theme_changed().
11195         * gnome/applet/main.c: Return error code if nma_new() failed.
11196
11197 2060-05-21  Dan Williams  <dcbw@redhat.com>
11198
11199         * initscript/NetworkManager.in
11200                 - Ensure both dhcdbd and named are started before NM
11201
11202 2006-05-21  Dan Williams  <dcbw@redhat.com>
11203
11204         * configure.in
11205                 - Bump version to 0.7 to signify we are in 0.7 development
11206
11207 2006-05-21  Dan Williams  <dcbw@redhat.com>
11208
11209         Patch from Adam Schreiber <sadam@clemson.edu>
11210         * gnome/vpn-properties/nm-vpn-properties.c
11211                 - (main): correct Gnome program name  (gnome.org #342498)
11212
11213 2006-05-21  Dan Williams  <dcbw@redhat.com>
11214
11215         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
11216
11217         * src/NetworkManagerDbus.[ch]
11218                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
11219                         clarify that function's argument should be an escaped dbus object
11220                         path, and look for path segment end before returning a match
11221         * src/nm-dbus-nm.c:
11222                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
11223
11224 2006-05-17  Robert Love  <rml@novell.com>
11225
11226         Functionality to differentiate Ad-Hoc networks from infrastructure
11227         networks in the applet, by displaying a special icon:
11228         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
11229         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
11230         * gnome/applet/menu-items.c: Set a special icon in the scan list for
11231           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
11232           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
11233           networks, encrypted or not.
11234         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
11235           accessor functions to get and set the mode of a given network,
11236           wireless_network_get_mode() and wireless_network_set_mode().
11237
11238 2006-05-17  Robert Love  <rml@novell.com>
11239
11240         Functionality to automatically add BSSIDs to the allowed-MAC list as
11241         one roams from access point to access point on a given network:
11242         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
11243           helper function to compare two ether_addr structures and return TRUE
11244           if they contain the same MAC address.
11245         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
11246           prototype.
11247         * src/nm-device-802-11-wireless.c: New function to update the BSSID
11248           stored with the current AP.  If the BSSID has indeed changed, we
11249           send it out to the applet, allowing the allowed-MAC list to grow
11250           automatically in response to roaming.
11251
11252 2006-05-16  Robert Love  <rml@novell.com>
11253
11254         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
11255           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
11256
11257 2006-05-13  Dan Williams  <dcbw@redhat.com>
11258
11259         * src/nm-device-802-3-ethernet.c
11260                 - (real_get_generic_capabilities): Don't ignore devices that can't do
11261                         carrier detect (Debian bug #366373)
11262
11263 2006-05-11  Dan Williams  <dcbw@redhat.com>
11264
11265         Patch from Michael Biebl <biebl@teco.edu>
11266         * src/backends/NetworkManagerDebian.c
11267                 - Debian backend fixups
11268
11269 2006-05-10  Robert Love  <rml@novell.com>
11270
11271         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
11272
11273 2006-05-09  Robert Love  <rml@novell.com>
11274
11275         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
11276           private certificate passphrase, if any, in the GNOME Keyring.
11277         * libnm-utils/dbus-helpers.c: Update.
11278
11279 2006-05-05  Dan Williams  <dcbw@redhat.com>
11280
11281         * src/nm-device-802-11-wireless.c
11282                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
11283                         nm_device_802_11_wireless_disable_encryption() since that's all
11284                         we use it for anymore; we don't ever set WEP keys ourselves.
11285                 - (real_deactivate_quickly): reset SSID and encryption keys
11286                 - (real_deactivate): move SSID and encryption key reset to
11287                         real_deactivate_quickly(), which gets run before us anyway
11288
11289 2006-05-05  Robert Love  <rml@novell.com>
11290
11291         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
11292           root has a wacky default of its own (or, more common, a user has a
11293           bad umask and uses su/sudo to restart NetworkManager).  Anything
11294           other than 0022 does not do what we want with, for example,
11295           resolv.conf.  This problem is amplified by our judicious use of
11296           fopen(), which uses mode 0666 -- implying that the only way to get
11297           the permissions we want is with a umask of 0022.
11298
11299 2006-05-05  Dan Williams  <dcbw@redhat.com>
11300
11301         * gnome/libnm_glib/libnm_glib.c
11302                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
11303                         to reconnect; instead wait a bit more with each reconnect attempt
11304                         up to a max of one minute.
11305
11306 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
11307
11308         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
11309           the WirelessNetwork structure using the proper function instead of
11310           just casting it directly to (const char *) (gnome.org #336991)
11311
11312 2006-05-03  Robert Love  <rml@novell.com>
11313
11314         * src/backends/NetworkManagerSuSE.c: Respect the variable
11315           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
11316           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
11317           to dynamically update /etc/resolv.conf.
11318
11319 2006-05-02  Peter Jones  <pjones@redhat.com>
11320
11321         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
11322
11323 2006-05-02  Robert Love  <rml@novell.com>
11324
11325         Patch by Timo Hoenig;
11326         * tests/nm-online.c: Print pretty status indicator as timeout winds
11327           down.  Also fix possible race between DBUS startup and failure
11328           return.
11329
11330 2006-05-01  Robert Love  <rml@novell.com>
11331
11332         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
11333           empty, too.
11334
11335 2006-04-27  Jeremy Katz  <katzj@redhat.com>
11336
11337         * src/nm-device.c (discover_device_type): Actually use the hal
11338         device type instead of ioctl poking
11339
11340 2006-04-26  Robert Love  <rml@novell.com>
11341
11342         * tests/nm-online.c: New file.  Simple utility that returns exit status
11343           noting whether the connection is offline or online.  If offline on
11344           start, it waits 30 seconds (or a command-line given value) for an
11345           online signal.  If it times out, it again returns offline.  This is
11346           useful for scripts that want to wait for network connections.
11347
11348 2006-04-25  Robert Love  <rml@novell.com>
11349
11350         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
11351           key mode (the authentication algorithm), e.g. open or shared, when we
11352           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
11353           only shared was broken.  If the user specified a shared key, set it
11354           explicitly, otherwise let wpa_supplicant go with the default.
11355
11356 2006-04-24  Dan Williams  <dcbw@redhat.com>
11357
11358         * src/nm-device-802-11-wireless.c
11359                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
11360
11361 2006-04-24  Dan Williams  <dcbw@redhat.com>
11362
11363         Commit the async scanning patch
11364
11365         * src/nm-device-802-11-wireless.c
11366                 - get rid of scan_mutex
11367                 - (wireless_event_helper): act on wireless scan events
11368                 - (real_start): schedule a pending scan
11369                 - (link_to_specific_ap): fake the link to the AP during a scan
11370                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
11371                         strength during scans
11372                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
11373                         nm_device_set_bitrate): unused with new scanning code, disable
11374                 - (nm_device_wireless_schedule_scan): removed
11375                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
11376                 - (request_and_convert_scan_results): new function; retrieve scan
11377                         results from the driver and schedule the processing function
11378                 - (scan_results_timeout): timeout triggered when card doesn't send
11379                         a scan results wireless event during a certain interval
11380                 - (schedule_scan_results_timeout): new function; schedule the scan
11381                         results timeout
11382                 - (cancel_scan_results_timeout): new function; cancel the scan
11383                         results timeout
11384                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
11385                         to do the scanning.  Otherwise, just request a scan but don't
11386                         grab results here; instead schedule a timeout for scan results and
11387                         let netlink notify us of scan completion events
11388                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
11389                 - (cancel_pending_scan): new function; cancel a pending wireless scan
11390                 - (supplicant_status_cb): ignore disconnect events while scanning
11391                 - (supplicant_exec): wait a bit longer for the supplicant to start up
11392                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
11393                         timeouts
11394                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
11395
11396 2006-04-24  Dan Williams  <dcbw@redhat.com>
11397
11398         * gnome/applet/applet-dbus.c
11399                 - Disable the pending call debug stuff, seems under control now
11400
11401 2006-04-20  Robert Love  <rml@novell.com>
11402
11403         Fix bug where hidden ESSID's would not show up in the applet, even
11404         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
11405         because nm_policy_device_list_update_from_allowed_list() would merge
11406         the data, putting a name to the hidden networks, but never notify NMI
11407         of the changes.  Simple fix is to invoke the function
11408         nm_dbus_signal_wireless_network_change() if we make a mapping.
11409         * src/NetworkManagerAPList.c: Call the function
11410           nm_dbus_signal_wireless_network_change() if we made a successful
11411           BSSID to ESSID mapping, notifying the applet of the "new" network.
11412         * src/NetworkManagerAPList.h: Update the prototypes for both
11413           nm_ap_list_copy_essids_by_address() and
11414           nm_ap_list_copy_one_essid_by_address().
11415
11416 2006-04-20  Robert Love  <rml@novell.com>
11417
11418         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
11419           not set.  Just return zero.
11420
11421 2006-04-20  Robert Love  <rml@novell.com>
11422
11423         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
11424           only one copy of nm-vpn-properties is running at a time via the 'ol
11425           X selection trick.  This prevents the user from opening two "VPN
11426           Connections" windows from within the applet, which leads to mass
11427           hysteria.
11428         * clipboard.c: New file, implementing simple X selection logic.
11429         * clipboard.h: New file.
11430         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
11431
11432 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
11433
11434         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
11435         * configure.in
11436           initscript/Gentoo/Makefile.am
11437           initscript/Gentoo/NetworkManagerDispatcher.in
11438                 - New script
11439         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
11440           Gentopia
11441
11442 2006-04-16  Dan Williams  <dcbw@redhat.com>
11443
11444         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
11445         * configure.in
11446           initscript/Slackware/Makefile.am
11447           initscript/Slackware/rc.networkmanager-dispatcher.in
11448           initscript/Slackware/rc.networkmanager.in
11449                 - Update slackware initscripts
11450
11451 2006-04-10  Robert Love  <rml@novell.com>
11452
11453         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
11454           the "delete_event" signal on the druid's parent window and handle it
11455           our way, lest using the WM to close the druid results in a series of
11456           bloody and ultimately lethal errors.
11457
11458 2006-04-10  Robert Love  <rml@novell.com>
11459
11460         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
11461           'Back' too or else the 'Forward' option is initially disabled despite
11462           valid input.
11463
11464 2006-04-06  Robert Love  <rml@novell.com>
11465
11466         Fix bad but simple bug where an active modem connection did not update
11467         NM's connection state, breaking any app that did online/offline:
11468         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
11469           represented whether a dial up connection is active, or not.
11470         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
11471           to modem activation and deactivation.
11472         * src/NetworkManagerDbus.c: When asked our state, do not return
11473           disconnected if the modem is active.
11474
11475 2006-04-04  Robert Love  <rml@novell.com>
11476
11477         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
11478           applet.  It just confuses the crap out of people and does not make a
11479           lot of sense, as the daemon still runs.
11480
11481 2006-04-02  Tor Krill  <tor@krill.nu>
11482
11483         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
11484           in start of service.
11485         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
11486           get Archlinux backend up to date.
11487
11488 2006-03-29  Robert Love  <rml@novell.com>
11489
11490         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
11491         to add support for per-route MSS and improve support for per-interface
11492         MTU:
11493         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
11494           optionally take an MSS parameter and set it for the given route.
11495           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
11496           NMIP4Config's stored MSS, if any.
11497         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
11498           the interface's MTU and the route's MSS, respectively.  Add functions
11499           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
11500           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
11501           MSS.
11502         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
11503           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
11504           nm_ip4_config_set_mss.
11505         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
11506           VPN daemon.
11507         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
11508           Change the retval of nm_system_get_mtu to guint32.
11509         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
11510           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
11511           servers can specify MTU's, we should set it here if the MTU was not
11512           provided.
11513
11514 2006-03-27  Jürg Billeter  <j@bitron.ch>
11515
11516         * configure.in:
11517         * initscript/Makefile.am:
11518         * initscript/paldo/Makefile.am:
11519         * initscript/paldo/NetworkManager.in:
11520         * initscript/paldo/NetworkManagerDispatcher.in:
11521         * src/backends/Makefile.am:
11522         * src/backends/NetworkManagerPaldo.c:
11523                 - Add paldo support
11524
11525 2006-03-27  Dan Williams  <dcbw@redhat.com>
11526
11527         Patch from Christian Persch <chpe@gnome.org>
11528         * gnome/applet/applet.glade
11529                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
11530
11531 2006-03-27  Dan Williams  <dcbw@redhat.com>
11532
11533         Patch from Diffe <diffie@blazebox.homeip.net>
11534         * src/backends/NetworkManagerSlackware.c
11535                 - Don't restart howl, since it's been replaced by Avahi
11536                         in most distributions
11537
11538 2006-03-27  Dan Williams  <dcbw@redhat.com>
11539
11540         Patch from Tor Krill <bugzilla@krill.nu>
11541         * configure.in
11542           initscript/Makefile.am
11543           src/backends/Makefile.am
11544           src/backends/NetworkManagerArch.c
11545           initscript/Arch/Makefile.am
11546           initscript/Arch/networkmanager-dispatcher.in
11547           initscript/Arch/networkmanager.in
11548                 - Add Arch Linux support, fixes gnome.org #335147
11549
11550 2006-03-27  Dan Williams  <dcbw@redhat.com>
11551
11552         Patch from Diffe <diffie@blazebox.homeip.net>
11553      * initscript/Slackware/rc.networkmanager
11554         - update, fixed gnome.org #333368
11555
11556 2006-03-27  Robert Love  <rml@novell.com>
11557
11558         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
11559           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
11560
11561 2006-03-27  Robert Love  <rml@novell.com>
11562
11563         Patch by Jürg Billeter <j@bitron.ch>:
11564         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
11565           systems.
11566         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
11567           as we prefer glibc over kernel headers, if possible.
11568
11569 2006-03-27  Robert Love  <rml@novell.com>
11570
11571         Patch by Jon Escombe <list@dresco.co.uk>:
11572         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
11573         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
11574           fail, don't bail out.  We don't expect all of the various WPA-EAP
11575           values to be present.
11576         * src/nm-ap-security.c: We need to match all capabilities for each
11577           encryption type, not any one of them.
11578
11579 2006-03-27  Robert Love  <rml@novell.com>
11580
11581         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
11582           restart, not reload, ypbind.  Unfortunately there is no superior
11583           solution.
11584
11585 2006-03-24  Christopher Aillon  <caillon@redhat.com>
11586
11587         * gnome/applet/applet-notifications.c:
11588         When displaying a notification, make sure to get rid of the
11589         previous notification so as to not have competing bubbles,
11590         and stop leaking the old one.
11591
11592         * gnome/applet/applet.c:
11593         * gnome/applet/applet.h:
11594         Add a new 'notification' member to the applet, and zero it out
11595         and free it appropriately.
11596
11597 2006-03-23  Robert Love  <rml@novell.com>
11598
11599         Patch by j <j@bootlab.org>:
11600         * gnome/applet/applet.glade: Don't set the invisible_char property,
11601           which simply overrides the GTK default.  By and by, this behavior
11602           ought to be fixed in Glade.
11603
11604 2006-03-22  Robert Love  <rml@novell.com>
11605
11606         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
11607
11608 2006-03-22  Robert Love  <rml@novell.com>
11609
11610         Bug fix by Timo Hoenig <thoenig@suse.de>:
11611         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
11612           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
11613           and the applet going AWOL.
11614
11615 2006-03-22  Robert Love  <rml@novell.com>
11616
11617         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
11618           preprocessor define and use it instead of open-coded the DHCP
11619           timeout, which is currently 25 seconds, everywhere.
11620
11621 2006-03-22  Robert Love  <rml@novell.com>
11622
11623         Implement "Dynamic WEP", which is basically WPA authentication and WEP
11624         key exchange via WPA, ostensibly providing good security without
11625         requiring hardware that supports full WPA.  Also, add UI elements to
11626         allow the user to select the pairwise & group cipher for WPA Enterprise
11627         networks, too:
11628         * gnome/applet/applet.glade: Update glade file.
11629         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
11630           key type, too, to and from gconf.
11631         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
11632           wso_wpa_create_key_type_model(), noting whether we are handling PSK
11633           or EAP configuration, and in the latter case add in "Dynamic WEP" if
11634           the capabilities match.
11635         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
11636           prototype.
11637         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
11638           serialize from UI to DBUS.
11639         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
11640           one element.
11641         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
11642           nmu_security_serialize_wpa_eap_with_cipher(), and
11643           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
11644           serialize/deserialize the key type via DBUS as the new third DBUS
11645           parameter.
11646         * libnm-util/dbus-helpers.h: Update prototypes.
11647         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
11648           too.  If the key type is WEP104, do Dynamic WEP, which means
11649           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
11650           pairwise and group ciphers (fixes a FIXME).
11651
11652 2006-03-21  Robert Love  <rml@novell.com>
11653
11654         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
11655           nm_system_get_mtu(), which returns a user-provided or system-mandated
11656           MTU value for a given device, if any, or zero if no such value
11657           exists.  Add nm_system_set_mtu() to set the MTU for a given device
11658           if we have a provided value.
11659         * src/nm-device.c: Set the MTU of devices.
11660         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
11661         * src/backends/NetworkManagerDebian.c,
11662           src/backends/NetworkManagerGentoo.c,
11663           src/backends/NetworkManagerRedHat.c,
11664           src/backends/NetworkManagerSlackware.c: Implement stub functions.
11665
11666 2006-03-21  Robert Love  <rml@novell.com>
11667
11668         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
11669           configuration file.
11670
11671 2006-03-17  Robert Love  <rml@novell.com>
11672
11673         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
11674           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
11675           it, in case it is not running in the first place.  We just want its
11676           configuration reloaded.  Also, do not "rcypbind stop" on device down.
11677
11678 2006-03-15  Robert Love  <rml@novell.com>
11679
11680         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
11681           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
11682           label "WEP 40/128-bit" is inconsistent because the physical key size
11683           is 40 or 104-bits, to which a 24-bit initialisation vector is
11684           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
11685           to read "40/104" or "64/128".  I do not care much which, but most
11686           users think of "silver" and "gold" encryption as 64 and 128-bits, so
11687           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
11688           WEP passphrase support only handles 128-bit keys, and any future
11689           64-bit passphrase support will require a new option (no way to auto-
11690           detect the target key size), explicitly label our passphrase support
11691           "WEP 128-bit Passphrase".
11692
11693 2006-03-15  Robert Love  <rml@novell.com>
11694
11695         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
11696           the system init scripts (or some other mechanism) starting it (or a
11697           compatible DBUS service) before NetworkManager runs.  This means that
11698           distributions might need to update their init scripts.  This fixes
11699           possible races and is quite a bit cleaner.
11700         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
11701           starting the NetworkManager daemon.
11702
11703
11704 2006-03-14  Robert Love  <rml@novell.com>
11705
11706         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
11707           before adding anything.
11708
11709 2006-03-13  Robert Love  <rml@novell.com>
11710
11711         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
11712           widgets, too, if they exist, in case the user hit the back button.
11713           Fixes a bug where the details page contains the widgets of multiple
11714           VPN modules (Novell bug #157048).
11715
11716 2006-03-13  Robert Love  <rml@novell.com>
11717
11718         Patch by Timo Hoenig <thoenig@suse.de>:
11719         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
11720           daemon survive DBUS restarts, too.
11721
11722 2006-03-10  Robert Love  <rml@novell.com>
11723
11724         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
11725           passphrase or key.
11726         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
11727           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
11728           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
11729           in response to "toggled" signal on new toggle.
11730
11731 2006-03-10  Robert Love  <rml@novell.com>
11732
11733         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
11734           serialization if strings are NULL, lest DBUS get angry.
11735
11736 2006-03-10  Robert Love  <rml@novell.com>
11737
11738         * src/nm-ap-security-wpa-eap.c: Don't log the password.
11739
11740 2006-03-09  Robert Love  <rml@novell.com>
11741
11742         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
11743           configurations.
11744
11745 2006-03-09  Dan Williams  <dcbw@redhat.com>
11746
11747         Track pending call requests in the applet, and report how many are
11748         outstanding, and how long each completed one takes.
11749         
11750         * gnome/applet/applet-dbus-devices.c
11751           gnome/applet/applet-dbus-vpn.c
11752                 - Track pending calls
11753
11754         * gnome/applet/applet-dbus.[ch]
11755                 - Remove some unused enums
11756                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
11757                         new functions to track dbus pending calls and spit out some
11758                         statistics about them
11759
11760 2006-03-09  Robert Love  <rml@novell.com>
11761
11762         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
11763           nm_ap_set_timestamp() take the second and micro-second parameters as
11764           direct arguments, which avoids both a dynamic memory allocation and a
11765           structure-to-structure copy!  Add a new interface, the aptly named
11766           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
11767           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
11768           the return from nm_ap_get_timestamp().  New users should use the new
11769           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
11770           the extreme benefit to performance.
11771         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
11772           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
11773
11774 2006-03-08  Robert Love  <rml@novell.com>
11775
11776         * gnome/applet/applet.glade: Hide the password entry text with
11777           asterisks.
11778
11779 2006-03-08  Robert Love  <rml@novell.com>
11780
11781         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
11782           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
11783           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
11784           a second argument, NMData.
11785         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
11786         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
11787           config files as trusted.
11788
11789 2006-03-06  Robert Love  <rml@novell.com>
11790
11791         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
11792         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
11793           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
11794           Rivera, detect if the applet was auto-started.  If so, ask the user
11795           if he or she would like to stop automatically running the applet on
11796           login.  If so, disable autostart.
11797
11798 2006-03-06  Robert Love  <rml@novell.com>
11799
11800         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
11801           directory in CFLAGS so developers can actually use NetworkManager.h.
11802
11803 2006-03-06  Robert Love  <rml@novell.com>
11804
11805         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
11806           open-coded integer constants.  Add state_to_string() to map a given
11807           state to a textual description, and provide that when notifying of
11808           state change.
11809         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
11810           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
11811           this header directly, but it is currently not installed on most
11812           systems.
11813
11814 2006-03-05  Dan Williams  <dcbw@redhat.com>
11815
11816         Process netlink messages in device subclasses rather than in
11817         NetworkManager.c.  Also add support for recognizing Wireless Events.
11818         
11819         * configure.in
11820                 - Find GLIB_GENMARSHAL
11821
11822         * src/Makefile.am
11823                 - Since we're marshalling custom types for wireless event signals,
11824                         we get to create our own marshallers using GLIB_GENMARSHAL
11825
11826         * src/NetworkManager.c
11827                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
11828                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
11829                         cut down somewhat.  We no longer process signals here.
11830                 - (nm_data_new): create the netlink monitor here, and remove a
11831                         useless call to nm_policy_schedule_device_change_check()
11832                 - (nm_data_free): get rid of the netlink monitor here
11833                 - (nm_device_link_activated, nm_device_link_deactivated): removed
11834                 - (main): don't create the netlink monitor here, let nm_data_new
11835                         do that.  Call nm_policy_schedule_device_change_check() right
11836                         before we jump to the mainloop to figure out which device
11837                         to use first
11838
11839         * src/NetworkManagerSystem.[ch]
11840                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
11841                         convert back and forth from interface names to interface
11842                         indexes
11843
11844         * src/nm-device-802-11-wireless.c
11845                 - (real_init): connect to wireless-event signals from the netlink
11846                         monitor object
11847                 - (nm_device_802_11_wireless_event): new function, schedule handler
11848                         for wireless event signals from the netlink monitor object.  We
11849                         want the handler to run in the device's context
11850                 - (wireless_event_helper): handle wireless-event signals from netlink
11851                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
11852                         signal handler
11853
11854         * src/nm-device-802-11-wireless.h
11855                 - remove unused prototype for nm_device_802_11_wireless_new
11856
11857         * src/nm-device-802-3-ethernet.c
11858                 - (real_init): new function; set up signal handlers for link events
11859                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
11860                         handler for netlink link activated events on device's main loop
11861                 - (link_activated_helper): when we get a link activated event, set
11862                         the device's link to be active
11863                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
11864                         handler for netlink link deactivated events on device's main loop
11865                 - (link_deactivated_helper): when we get a link deactivated event, set
11866                         the device's link to be inactive
11867                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
11868                         dispose
11869
11870         * src/nm-device-802-3-ethernet.h
11871                 - remove unused prototype for nm_device_802_3_ethernet_new
11872
11873         * src/nm-device.[ch]
11874                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
11875                         but locks the device list
11876                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
11877
11878         * src/nm-netlink-monitor.[ch]
11879                 - (nm_netlink_monitor_class_install_signals): New signal
11880                         "wireless-event"
11881                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
11882                         at the device list
11883                 - (nm_netlink_monitor_event_handler): expand for wireless events too
11884
11885         * src/nm-marshal-main.c
11886                 - Include generated nm-marshal.c and nm-marshal.h
11887
11888         * src/nm-marshal.list
11889                 - List of custom marshal functions
11890
11891 2006-03-05  Dan Williams  <dcbw@redhat.com>
11892
11893         * gnome/applet/applet-notifications.h
11894                 - Protect prototype of nma_send_event_notification() because it
11895                         includes libnotify-specific types
11896                 - Include libnotify/libnotify.h too, since we technically need it
11897
11898         * gnome/applet/applet.c
11899                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
11900                 - (nma_show_vpn_login_banner_dialog): add some error checking
11901
11902 2006-03-04  Dan Williams  <dcbw@redhat.com>
11903
11904         Clean up activation cancellation.  Should be a lot faster now.  Observed
11905         an issue with wireless devices between stage 2 and 3 of activation, where
11906         activation would be cancelled, but the device thread wouldn't notice until
11907         the supplicant association timed out.  Reorganize activation such that
11908         a cancellation handler gets immediately scheduled in the device's thread,
11909         and devices have a chance to perform any custom cleanup too.
11910
11911         * src/nm-device.[ch]
11912                 - (activation_cancel_handler): new device-type-specific function
11913                         for cleaning up device-type-specific stuff on cancellation
11914                 - (cancel_activation): removed
11915                 - (nm_device_activation_cancel): subsume functionality of
11916                         real_cancel_activation, but instead of doing anything, punt
11917                         operation to a handler that's run in device-thread context
11918                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
11919                         a warning message
11920                 - (activation_handle_cancel_helper): cancellation handler run in
11921                         device-thread context, calls device-type-specific cancelation,
11922                         then tears down the activation request
11923                 - (real_activation_cancel_handler): generic cancellation handler,
11924                         deals with cancelling any in-process DHCP request
11925                 - (nm_device_activate_stage1_device_prepare,
11926                    nm_device_activate_stage2_device_config,
11927                    nm_device_activate_stage3_ip_config_start,
11928                    nm_device_activate_stage4_ip_config_get,
11929                    nm_device_activate_stage4_ip_config_timeout,
11930                    nm_device_activate_stage5_ip_commit): don't call
11931                         nm_device_schedule_activation_handle_cancel() any more, since
11932                         cancellation will have been already scheduled for us by
11933                         nm_device_activation_cancel().  Just exit the function and
11934                         assume that the cancel handler will be called next.
11935
11936         * src/nm-device-802-3-ethernet.c
11937                 - (real_act_stage2_config): remove; didn't do anything anyway
11938
11939         * src/nm-device-802-11-wireless.c
11940                 - (supplicant_status_cb): ensure we don't do anything if the activation
11941                         got cancelled
11942                 - (real_activation_cancel_handler): implement; cancel user key request
11943                         on activation cancellation
11944
11945 2006-03-04  Dan Williams  <dcbw@redhat.com>
11946
11947         * src/nm-device-802-11-wireless.c
11948                 - (supplicant_send_network_config): assume that drivers that don't
11949                         support WPA pretty much suck, and can't handle NM scanning
11950                         along with wpa_supplicant.
11951
11952 2006-03-03  Robert Love  <rml@novell.com>
11953
11954         * configure.in: Bump version to 0.6.0.
11955         * NEWS: Update.
11956
11957 2006-03-03  Robert Love  <rml@novell.com>
11958
11959         * configure.in: Require DBUS 0.60 or later.
11960
11961 2006-03-03  Dan Williams  <dcbw@redhat.com>
11962
11963         Fix a crash if an "Other wireless network" was chosen, failed, then
11964         chosen again from the applet's menu.  If the other network wasn't
11965         noticed in a scan, it wouldn't have any capabilities, but would still
11966         be listed because the user forced the network.  To fix this, we set
11967         sensible capabilities on the forced network, which will get overwritten
11968         with the correct ones if the network shows up later in a scan.
11969         
11970         * src/nm-ap-security.h
11971                 - Add a new "get_default_capabilities_func" member to the
11972                         NMAPSecurity class
11973
11974         * src/nm-ap-security.c
11975                 - (nm_ap_security_get_default_capabilities): new function
11976
11977         * src/nm-ap-security.c
11978           src/nm-ap-security-wep.c
11979           src/nm-ap-security-wpa-psk.c
11980           src/nm-ap-security-wpa-eap.c
11981                 - Implement get_default_capabilities_func() for all, which
11982                         uses the information contained in a specific NMAPSecurity
11983                         object to determine default AP capabilites necessary
11984                         to support that object
11985
11986         As a secondary measure, we now prune artificial access points that fail
11987         to be activated right away.  The thing failed, and we have no scan data for
11988         it, so it's pretty much useless since security information is only saved
11989         in the applets when a connection is successful.
11990
11991         * src/NetworkManagerAPList.c
11992                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
11993                         not artificial.  If we see it, it's no longer a figment of the
11994                         user's imagination :)
11995
11996         * src/NetworkManagerPolicy.c
11997                 - (nm_policy_activation_failed): send along the failed AP if we
11998                         have it
11999
12000         * src/nm-device-802-11-wireless.c
12001                 - (real_activation_failure_handler): remove artificial APs from
12002                         the device list, because activation failed
12003
12004 2006-03-02  Robert Love  <rml@novell.com>
12005
12006         Add support for retrieving both the per-device speed and the
12007         per-network maximum supported rate.  Then change the getProperties
12008         DBUS API for both networks and devices to report this informaiton.
12009         Finally, display the information via both nm-applet and nm-tool:
12010         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
12011           and set it.
12012         * gnome/applet/applet.c: Display the device's speed in the 'Connection
12013           Information' dialog.
12014         * gnome/applet/applet.glade: Update the UI to show per-device speed.
12015         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
12016           network_device_get_speed() and network_device_set_speed() for
12017           retrieving and setting, respectively, a network device's current
12018           speed.
12019         * src/nm-dbus-device.c: Send the device's speed on getProperties.
12020         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
12021           in the function nm_device_802_11_wireless_get_bitrate() -- it does
12022           not matter (yet) what the units are, because we only feed it its own
12023           output.  Implement SIOCGIRATE and set the per-network maximum
12024           supported rate during scanning.
12025         * src/nm-device-802-11-wireless.h: Export the function
12026           nm_device_802_11_wireless_get_bitrate().
12027         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
12028           function nm_device_802_3_ethernet_get_speed() for returning an
12029           802.3's current speed, in Mb/s.
12030         * test/nm-tool.c: Display the per-device current speed, if available,
12031           and the per-network maximum rate.
12032
12033 2006-03-02  Dan Williams  <dcbw@redhat.com>
12034
12035         * src/nm-device-802-11-wireless.c
12036                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
12037                         card when it gets initialized.  Since devices don't get added to
12038                         the scan list until they are initialized, this function wasn't
12039                         setting the intitial scan interval correctly, and was leaving
12040                         it at 0.  This caused cards to get many scan requests in a short
12041                         amount of time when they were initialized
12042
12043 2006-03-02  Robert Love  <rml@novell.com>
12044
12045         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
12046           active device.  But do not do what we used to do and override the
12047           state, which caused the dreaded icon race of '05.
12048
12049 2006-03-02  Robert Love  <rml@novell.com>
12050
12051         Commit Dan's update of my previous commit:
12052         * src/nm-device-802-11-wireless.c: Always set the mode, because the
12053           set_mode() function itself does the check.  But do only set the
12054           frequency if in Ad-Hoc mode.
12055
12056 2006-03-02  Robert Love  <rml@novell.com>
12057
12058         Patch by Brian Magnuson <magnuson@rcn.com>:
12059         * src/nm-device-802-11-wireless.c: During scanning, only set the
12060           wireless mode to infrastructure if it is not currently in
12061           infrastructure mode.  For some driver, setting the mode is a costly
12062           operation, apparently.
12063
12064 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
12065
12066         * Makefile.am: use the correct dir for autostart mechanism.
12067
12068 2006-02-28  Dan Williams  <dcbw@redhat.com>
12069
12070         Patch from Brian Magnuson <magnuson@rcn.com>
12071         * gnome/applet/applet.c
12072                 - (nma_show_vpn_failure_dialog): fix errors left over from
12073                         libnotify support changes
12074
12075 2006-02-28  Dan Williams  <dcbw@redhat.com>
12076
12077         * src/vpn-manager/nm-vpn-act-request.[ch]
12078                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
12079                         just one value
12080                 - (nm_vpn_act_request_is_failed): new function; return whether or
12081                         not the vpn activation request has failed
12082
12083         * src/vpn-manager/nm-vpn-manager.c 
12084                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
12085                         daemon to kill the connection when the activation request fails.
12086                         Fixes issue where NM would get confused if the VPN activation
12087                         request timed out, and would not allow further VPN connections
12088                         on that service.
12089
12090 2006-02-28  Dan Williams  <dcbw@redhat.com>
12091
12092         * gnome/applet/applet.c
12093                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
12094                         overlapping connection requests, disable all VPN menu items
12095                         but the active VPN connection
12096
12097 2006-02-28  Dan Williams  <dcbw@redhat.com>
12098
12099         * src/vpn-manager/nm-vpn-connection.c
12100                 - (nm_vpn_connection_set_parent_device): fix C&P error which
12101                         called g_object_unref() on the connection's parent device
12102                         when it should have been ref-ed instead.  Fixes crash with
12103                         repeated vpn connect requests
12104
12105 2006-02-28  Christopher Aillon  <caillon@redhat.com>
12106
12107         * gnome/applet/applet.glade:
12108         Mark a few strings non-translatable, since they shouldn't be.
12109
12110 2006-02-28  Dan Williams  <dcbw@redhat.com>
12111
12112         * src/vpn-manager/nm-vpn-service.c
12113                 - (nm_vpn_service_start_connection): if the vpn service daemon is
12114                         already running, don't blindly ask it to connect, but wait until
12115                         it's in the STOPPED state first.  Fixes an assertion when user
12116                         starts a second vpn connection without stopping the first.
12117                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
12118                         dbus service exists before continuing with the connection
12119                         process, and reduce latency while waiting for it to become
12120                         available
12121                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
12122                         waiting for the vpn service daemon to become available
12123                 - General log message cleanups; show progress via "Stage x of 4"
12124                         rather than not telling anyone how many stages there are
12125
12126 2006-02-28  Robert Love  <rml@novell.com>
12127
12128         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
12129         * src/backends/NetworkManagerSuSE.c: Implement the interface
12130           nm_system_should_modify_resolv_conf() for SUSE.
12131         * src/backends/NetworkManagerDebian.c,
12132           src/backends/NetworkManagerGentoo.c,
12133           src/backends/NetworkManagerRedHat.c,
12134           src/backends/NetworkManagerSlackware.c: Add stub.
12135         * src/named-manager/Makefile.am: Grab includes from src.
12136         * src/named-manager/nm-named-manager.c: Allow backends to disable the
12137           automatic updating of resolv.conf.  This is useful for testing,
12138           broken static configurations, and administrator lock-down.
12139
12140 2006-02-28  Dan Williams  <dcbw@redhat.com>
12141
12142         * src/nm-device-802-11-wireless.c
12143                 - Move all the wpa_supplicant-related management stuff into its
12144                         own struct, just for oranization's sake
12145                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
12146                         to a GIOChannel/GSource
12147                 - (supplicant_log_stdout): new function; grab output from the
12148                         wpa_supplicant stdout pipe and write it to our logs.
12149
12150 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12151
12152         * src/nm-device-802-11-wireless.c:
12153         Err, fix thinko in my previous commit.
12154
12155 2006-02-28  Robert Love  <rml@novell.com>
12156
12157         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
12158
12159 2006-02-28  Robert Love  <rml@novell.com>
12160
12161         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
12162           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
12163           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
12164           deserializers are responsible for freeing the returned DBUS strings.
12165
12166 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12167
12168         * src/nm-device-802-11-wireless.c:
12169         The scan list is being pruned prematurely.  We should prune after
12170         the device has gone MIA for three scans, not one.  Split out the
12171         interval to realtime seconds function to better serve this.
12172
12173 2006-02-27  Robert Love  <rml@novell.com>
12174
12175         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
12176           Open the pid file O_TRUNC, so if it already exists we truncate it to
12177           zero length.  Also, be more verbose about warnings generated during
12178           writing out the pid file.  Finally, always write out the pid file if
12179           in daemon mode.  Use "--pid-file" to override the default.
12180
12181 2006-02-27  Robert Love  <rml@novell.com>
12182
12183         Patch by R. Vinay <rvinay@novell.com>:
12184         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
12185           'last_attempt_success' when removing a VPN connection, too.  (Fixes
12186           Novell bug #153628).
12187           
12188 2006-02-27  Robert Love  <rml@novell.com>
12189
12190         * gnome/applet/applet.glade: Set "activates_default" on passphrase
12191           entry so user can hit <ENTER> after entering passphrase (Novell bug
12192           #153738).
12193
12194 2006-02-27  Dan Williams  <dcbw@redhat.com>
12195
12196         * gnome/applet/*
12197                 - Mass search/replace of:
12198                         nmwa -> nma
12199                         NMWirelessApplet -> NMApplet
12200                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
12201                    (it ain't just for wireless anymore, ma!)
12202                 - Fix duplicate function name printing when using nm_warning
12203                 - wireless-applet.glade -> applet.glade
12204
12205 2006-02-27  Dan Williams  <dcbw@redhat.com>
12206
12207         * dispatcher-daemon/NetworkManagerDispatcher.c
12208                 - Accept --pid-file with a path to a pidfile, write it out on
12209                         startup, and delete it on shutdown
12210
12211         * src/NetworkManager.c
12212                 - Accept --pid-file with a path to a pidfile, write it out on
12213                         startup, and delete it on shutdown
12214                 - Move nm_print_usage() lower
12215
12216         * initscripts/RedHat/NetworkManager.in
12217                 - Use new --pid-file option
12218                 - Fix service stopping to wait a bit for NM to quit
12219
12220         * initscripts/RedHat/NetworkManagerDispatcher.in
12221                 - Use new --pid-file option
12222
12223 2006-02-26  Dan Williams  <dcbw@redhat.com>
12224
12225         * src/Makefile.am
12226                 - make and install nm-crash-logger
12227
12228         * src/nm-logging.[ch]
12229                 - New files; consolidate logging and crash handling
12230
12231         * src/nm-crash-logger.c
12232           src/gdb-cmd
12233                 - Standalong crashlogger for NM, grab a backtrace
12234                         using GDB
12235
12236         * src/NetworkManager.[ch]
12237                 - Remove signal handling and put it into nm-logging.c
12238
12239 2006-02-26  Dan Williams  <dcbw@redhat.com>
12240
12241         * configure.in
12242           gnome/applet/Makefile.am
12243                 - Conditionalize all the notify stuff
12244
12245         Merge most of Chris Aillon's notification patch:
12246         
12247         * gnome/applet/applet-notifications.[ch]
12248                 - New files; show a notification
12249         
12250         * gnome/applet/applet-dbus-devices.[ch]
12251                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
12252                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
12253                         new functions, do the right thing when a device change occurs
12254
12255         * gnome/applet/applet-dbus.c
12256                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
12257                         signals, so we can handle them specially
12258
12259         * gnome/applet/applet.[ch]
12260                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
12261                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
12262                 - (nmwa_notify_state): remove
12263                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
12264                         notification work is now done when the appropriate dbus signals
12265                         are received.
12266                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
12267                         defer execution of the notification/dialog stuff.  That was an
12268                         artifact of the previous multi-threaded nature of the applet
12269                         and is now pointless.
12270                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
12271                         no longer needed.  Function folded into applet-notifications.c
12272
12273         * src/NetworkManagerPolicy.c
12274                 - (nm_policy_activation_finish): send the AP along with the device
12275                         status change signal, if the connection is wireless.  Should
12276                         fix the race where applet would show a connection to "unknown"
12277
12278 2006-02-25  Robert Love  <rml@novell.com>
12279
12280         Add WPA Enterprise support:
12281         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
12282           nm-gconf-wso-wpa-eap.h.
12283         * gnome/applet/nm-gconf-wso-wpa-eap.c,
12284           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
12285           serialization and deserialization.
12286         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
12287           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
12288           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
12289         * gnome/applet/wireless-applet.glade: Add UI for configurating security
12290           settings related to WPA Enterprise.
12291         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
12292           instantiate WPA Enterprise wireless-security-option.
12293         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
12294           Implement WPA Enterprise wireless-security-option object.
12295         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
12296           defines.  Cleanup.
12297         * libnm-util/cipher-wpa-psk-hex.c,
12298           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
12299         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
12300           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
12301           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
12302           including the cipher to DBUS method, and
12303           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
12304           to output.
12305         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
12306           nm-ap-security-wpa-eap.h
12307         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
12308           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
12309         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
12310           files.  Implement NMAPSecurityWPA_EAP object.
12311         * src/nm-ap-security-wpa-psk.c: Cleanup.
12312         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
12313           an NMAPSecurityWPA_EAP object via the method
12314           nm_ap_security_wpa_eap_new_deserialize().
12315         * src/nm-dbus-nm.c: Cleanup.
12316         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
12317           WPA Enterprise support.
12318
12319 2006-02-24  Robert Love  <rml@novell.com>
12320
12321         Patch from Timo Hoenig <thoenig@suse.de>:
12322         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
12323
12324 2006-02-24  Robert Love  <rml@novell.com>
12325
12326         Patch from Dan Winship <danw@novell.com>:
12327         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
12328           area to transparent.
12329
12330 2006-02-21  Dan Williams  <dcbw@redhat.com>
12331
12332         * gnome/applet/applet.[ch]
12333           gnome/applet/applet-dbus.c
12334                 - Implement notification support for VPN messages too
12335
12336 2006-02-21  Dan Williams  <dcbw@redhat.com>
12337
12338         * gnome/applet/applet-dbus-info.c
12339                 - Clean up warning messages to not double-print the function
12340
12341 2006-02-21  Dan Williams  <dcbw@redhat.com>
12342
12343         * gnome/applet/applet-compat.c
12344                 - (convert_one_entry): accept entries without a key_type and
12345                         convert them to unencrypted networks
12346
12347 2006-02-21  Dan Williams  <dcbw@redhat.com>
12348
12349         * gnome/libnm_glib/libnm_glib.c
12350                 - Use __func__ everywhere we can
12351                 - Code cleanups
12352                 - Use dbus pending calls rather than blocking
12353                 - Reduce busywaits for our thread to start and stop
12354                         (gnome.org #330562)
12355                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
12356                         stomp on others using the default shared dbus connection.
12357                         Fixes #rh177546# and gnome.org #326572
12358
12359 2006-02-21  Dan Williams  <dcbw@redhat.com>
12360
12361         Patch from Rodney Dawes <dobey@novell.com>
12362         * configure.in
12363           gnome/applet/Makefile.am
12364           gnome/applet/applet.c
12365                 - Add libnotify support if '--enable-notify=yes' is passed
12366                   at configure time
12367
12368 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
12369
12370         * configure.in (ALL_LINGUAS): ko added. (Korean)
12371
12372 2006-02-15  Robert Love  <rml@novell.com>
12373
12374         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
12375           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
12376           and WPA_SUPPLICANT_CONTROL_SOCKET.
12377         
12378 2006-02-15  Robert Love  <rml@novell.com>
12379
12380         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
12381           information about what connection stage we are at, provide the total
12382           number of stages, e.g. "Stage 2 of 5", so users know how far along
12383           they are if they experience problems.
12384
12385 2006-02-15  Robert Love  <rml@novell.com>
12386
12387         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
12388           define to $sysconfdir.
12389         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
12390           editing dialog, vpn_edit_widget, which fixes a bug where editing one
12391           type of VPN and then editing another results in a mangled dialog
12392           box containing the widgets from both VPNs (fixes Novell #150854).
12393           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
12394
12395 2006-02-14  Robert Love  <rml@novell.com>
12396
12397         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
12398           syslog's file descriptor.
12399
12400 2006-02-14  Robert Love  <rml@novell.com>
12401
12402         Fix bug around since the change to "deal with APs changing settings on
12403         us," checked in on the fifth of February in the year of the dog, 
12404         wherein connecting to non-broadcast encrypted networks always fails
12405         because nm_ap_get_encrypted() always returns FALSE, even when the user
12406         provided a key, because the newly-created fake AP does not have any
12407         capabilities set, which is a sypmtom of security settings not matching
12408         capabilities (Novell bug #150784):
12409         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
12410           nm_ap_add_capabilities_from_security(), which sets the given AP's
12411           capabilities off the given security settings.  Also improve our
12412           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
12413           NM_AUTH_CIPHER_AUTO.
12414         * src/nm-device-802-11-wireless.c: Call the function
12415           nm_ap_add_capabilities_from_security() to ensure that capabilities
12416           match newly updated security settings.
12417
12418 2006-02-14  Robert Love  <rml@novell.com>
12419
12420         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
12421           error as a string, not an integer, if possible; do not print the
12422           function name twice; always give the interface, if possible; misc.
12423           cleanup.
12424
12425 2006-02-12  Dan Williams  <dcbw@redhat.com>
12426
12427         Patch from Tom Parker <palfrey@tevp.net>
12428         * src/NetworkManagerSystem.h
12429                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
12430                         no longer used
12431
12432         * src/backends/NetworkManagerDebian.c
12433                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
12434                         unused variables
12435
12436 2006-02-12  Dan Williams  <dcbw@redhat.com>
12437
12438         * vpn-daemons/openvpn/intltool-extract.in
12439           vpn-daemons/openvpn/intltool-merge.in
12440           vpn-daemons/openvpn/intltool-update.in
12441           vpn-daemons/pptp/intltool-extract.in
12442           vpn-daemons/pptp/intltool-merge.in
12443           vpn-daemons/pptp/intltool-update.in
12444                 - Remove from CVS, they should get created by intltoolize,
12445                         shouldn't they?
12446
12447 2006-02-12  Dan Williams  <dcbw@redhat.com>
12448
12449         * vpn-daemons/pptp/src/pppd/patchlevel.h
12450         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
12451                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
12452                         Makefile-defined VERSION
12453
12454 2006-02-09  Dan Williams  <dcbw@redhat.com>
12455
12456         Patch from: Vinay A R <rvinay@novell.com>
12457         * src/vpn-manager/nm-vpn-act-request.[ch]
12458                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
12459                         IPSec VPNs require them for std gateway.
12460                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
12461                         and 'user_routes_count'
12462                 - (nm_vpn_act_request_get_user_routes): new function; gets user
12463                         defined routes  from NMVPNActRequest object, returns the string
12464                         array of routes.
12465
12466         * src/vpn-manager/nm-vpn-manager.[ch]
12467                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
12468                         for 'user_routes' and 'user_routes_count'
12469         
12470         * src/vpn-manager/nm-dbus-vpn.c
12471                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
12472                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
12473         
12474         * src/vpn-manager/nm-vpn-service.c
12475                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
12476                         the vpn daemon
12477
12478         Modifications by Dan:
12479         * src/vpn-manager/nm-vpn-service.c
12480                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
12481                         arrays into dbus
12482
12483         * vpn-daemons/vpnc/src/nm-vpnc-service.c
12484         * vpn-daemons/pptp/src/nm-pptp-service.c
12485         * vpn-daemons/openvpn/src/nm-openvpn-service.c
12486                 - Grab user routes from dbus message
12487                 - Free all string arrays we got from dbus
12488
12489 2006-02-07  Robert Love  <rml@novell.com>
12490
12491         Patch by Stefan Seyfried <seife@suse.de>:
12492         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
12493
12494 2006-02-06  Robert Love  <rml@novell.com>
12495
12496         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
12497
12498 2006-02-06  Robert Love  <rml@novell.com>
12499
12500         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
12501           test ">=" is never false.  If no newline is found, we loop forever.
12502           We can just check for ">" because the following if() will see the
12503           zero-th argument if the while() gets that far.
12504
12505 2006-02-05  Dan Williams  <dcbw@redhat.com>
12506
12507         Refine handling of non-broadcast networks.
12508
12509         * src/NetworkManagerAPList.c
12510                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
12511                         property from scanned AP to the AP from the device list
12512
12513         * src/nm-device-802-11-wireless.c
12514                 - (supplicant_send_network_config): use ap_scan=1 for all networks
12515                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
12516                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
12517                         networks since those don't have APs.
12518                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
12519                         AP as non-SSID-broadcasting
12520                 - (process_scan_results): don't handle non-SSID-broadcasting here
12521
12522 2006-02-05  Dan Williams  <dcbw@redhat.com>
12523
12524         * src/nm-device-802-11-wireless.c
12525                 - (get_supplicant_timeout): new function; return
12526                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
12527                         14 channels.  These are likely a/b/g cards, like Atheros, and
12528                         slow as hell to scan.
12529                 - (supplicant_timeout_cb, supplicant_monitor_start): use
12530                         get_supplicant_timeout()
12531
12532 2006-02-05  Dan Williams  <dcbw@redhat.com>
12533
12534         * src/dhcp-manager/nm-dhcp-manager.c
12535                 - Loose a commit race with Robert; make sure size check
12536                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
12537
12538 2006-02-05  Robert Love  <rml@novell.com>
12539
12540         Patch by Christoph Brill <chrisbrill@gmx.net>:
12541         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
12542           with DHCP_SERVICE_NAME.
12543
12544 2006-02-05  Dan Williams  <dcbw@redhat.com>
12545
12546         Remove anything having to do with device_setup_func from the
12547         AP security objects, since it's no longer used.
12548
12549         * src/nm-ap-security.h
12550                 - Kill device_setup_func and nm_ap_security_device_setup()
12551
12552         * src/nm-ap-security-wep.c
12553           src/nm-ap-security-wpa-psk.c
12554                 - (real_device_setup): remove
12555
12556         * src/nm-ap-security.c
12557                 - (real_device_setup): remove
12558                 - (nm_ap_security_device_setup): remove
12559
12560         * src/nm-device-802-11-wireless.[ch]
12561                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
12562                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
12563                         and done by wpa_supplicant now anyway
12564
12565 2006-02-05  Dan Williams  <dcbw@redhat.com>
12566
12567         * src/nm-device-802-11-wireless.c
12568                 - (ap_need_key, real_act_stage2_config): deal with APs changing
12569                         settings on us.  Previously NM would loop asking for the
12570                         key but getting the same one back.  Now, if the NMI-supplied
12571                         cipher doesn't overlap with the scanned AP capabilities,
12572                         we request a completely new key from the user.
12573
12574 2006-02-05  Dan Williams  <dcbw@redhat.com>
12575
12576         * src/NetworkManagerUtils.c
12577                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
12578                         Handle newline killing better
12579
12580 2006-02-05  Dan Williams  <dcbw@redhat.com>
12581
12582         * gnome/applet/nm-gconf-wso.c
12583                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
12584                         of unencrypted access point security info.
12585
12586 2006-02-03  Robert Love  <rml@novell.com>
12587
12588         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
12589           user's encryption key, so we print the err_msg_cmd not the command,
12590           if available.  So long as SUPPLICANT_DEBUG is default, this makes
12591           sense.
12592
12593 2006-02-03  Christopher Aillon  <caillon@redhat.com>
12594
12595         * initscript/RedHat/NetworkManagerDispatcher.in:
12596         * initscript/RedHat/NetworkManager.in: modify the pidfile location
12597         Patch from Dan Walsh <dwalsh@redhat.com>
12598
12599 2006-02-03  Robert Love  <rml@novell.com>
12600
12601         * dispatcher-daemon/NetworkManagerDispatcher.c,
12602           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
12603           but use the sysconfdir.
12604
12605 2006-02-03  Robert Love  <rml@novell.com>
12606
12607         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
12608           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
12609           'char *'.
12610         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
12611           nm_ip4_config_get_hostname() and
12612           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
12613         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
12614           leak g_strdup() result.
12615
12616 2006-02-03  Robert Love  <rml@novell.com>
12617
12618         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
12619           broadcast == TRUE.  Also, copy broadcast and artificial properties
12620           from source network to destination in nm_ap_copy().
12621         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
12622           since we now default new networks to non-hidden.
12623
12624 2006-02-03  Dan Williams  <dcbw@redhat.com>
12625
12626         * gnome/applet/main.c
12627                 - (main): change the NEVER->ALWAYS so we start at the
12628                         beginning of the session, if being session-managed
12629
12630 2006-02-03  Dan Williams  <dcbw@redhat.com>
12631
12632         * gnome/applet/main.c
12633                 - (main): in a variation on Robert's patch, change
12634                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
12635                         he wants.
12636
12637 2006-02-02  Robert Love  <rml@novell.com>
12638
12639         * src/Makefile.am: If we aren't going to create the run directory at,
12640           uh, run-time, create it during install.  Then users just doing
12641           'make install' are cool, too.  While we are here, create the
12642           dispatcher.d directory, too.
12643         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
12644           the exact run directory.
12645         * Makefile.am: Install nm-applet.desktop.
12646
12647 2006-02-02  Robert Love  <rml@novell.com>
12648
12649         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
12650           structure, which denotes whether or not the AP is hidden.  This is a
12651           superset of 'artificial' -- we need 'broadcast' because a hidden AP
12652           can show up in the scan list.  Add nm_ap_get_broadcast() and
12653           nm_ap_set_broadcast() accessor interfaces.
12654         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
12655           nm_ap_set_broadcast().
12656         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
12657           "getProperties" method, which denotes whether or not the given
12658           network is hidden.
12659         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
12660           an artificial network.  Set broadcast to TRUE when scanning returns
12661           an ESSID and FALSE when not.
12662         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
12663           from "getProperties" method on a network.  Possible TODO is to
12664           somehow display this.
12665         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
12666
12667 2006-02-02  Dan Williams  <dcbw@redhat.com>
12668
12669         * src/nm-device-802-11-wireless.c
12670                 - (supplicant_interface_init): don't try to create
12671                         /var/run/NetworkManager, since that should be done by
12672                         the distro package.  Causes problems for stuff like SELinux
12673
12674 2006-02-02  Robert Love  <rml@novell.com>
12675
12676         Patch by Sureshkumar T <tsureshkumar@novell.com>:
12677         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
12678           Check for and handle empty string for iface.
12679
12680 2006-02-01  Robert Love  <rml@novell.com>
12681
12682         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
12683           manpage.
12684
12685 2006-01-31  Dan Williams  <dcbw@redhat.com>
12686
12687         * nm-applet.desktop
12688                 - Add --sm-disable to Exec arguments, presuming that when
12689                         using autostart, we don't want session management
12690
12691 2006-01-31  Robert Love  <rml@novell.com>
12692
12693         * src/NetworkManagerAP.c: Add two new manufacturer default network
12694           names: linksys-a and linksys-g.  These are found (at least) on the
12695           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
12696           own ESSID.
12697
12698 2006-01-31  Robert Love  <rml@novell.com>
12699
12700         * src/NetworkManagerAP.c: Optimize the function
12701           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
12702           machine code.  This is the first in a series of code tweaks aiming to
12703           generate better machine code and make NetworkManager all the better.
12704           Just kidding.  Who has time to go through the assembly generated for
12705           every function?  I certainly don't.  I have a wife, a kid, a job,
12706           a mortgage, a mistress.  But this function was so bad, I was called
12707           to arms.  Like the book.
12708
12709 2006-01-31  Robert Love  <rml@novell.com>
12710
12711         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
12712           AP is not broadcasting, to scan with probe request frames.  Required
12713           for non-broadcast networks.
12714
12715 2006-01-31  Robert Love  <rml@novell.com>
12716
12717         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
12718           preprocessor define (still 20s).  Fix message text in nm_info()
12719           s/too too/took too/.
12720
12721 2006-01-30  Dan Williams  <dcbw@redhat.com>
12722
12723         * src/nm-device-802-11-wireless.c
12724                 - (supplicant_monitor_start): increase connect/auth timeout to
12725                         20 seconds from 10 seconds
12726
12727 2006-01-30  Dan Williams  <dcbw@redhat.com>
12728
12729         * src/Makefile.am
12730                 - Define LOCALSTATEDIR
12731
12732         * src/nm-device-802-11-wireless.c
12733                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
12734                         socket where we want it to
12735
12736         * src/wpa_ctrl.[ch]
12737                 - (wpa_ctrl_open): accept location to put local control socket
12738
12739 2006-01-30  Robert Love  <rml@novell.com>
12740
12741         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
12742           get_ip4_string() for "domain_name".
12743
12744 2006-01-30  Robert Love  <rml@novell.com>
12745
12746         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
12747           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
12748           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
12749           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
12750           support for "Automatic" pairwise and group cipher configuration by
12751           letting wpa_supplicant handle the details.  Add UI elements, new
12752           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
12753           charm.  Note this does more than add a nice feature, it fixes a bug.
12754           Apparently, some people have AP's where the pairwise cipher does not
12755           match the group cipher.  Insane, but true.
12756
12757 2006-01-30  Dan Williams  <dcbw@redhat.com>
12758
12759         * gnome/applet/applet-dbus-devices.c
12760                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
12761                         functions, grab device driver name from NetworkManager
12762                 - (nmwa_dbus_device_properties_cb): call functions to get driver
12763
12764         * gnome/applet/applet.c
12765                 - (nmwa_update_info): show driver name in Connection Information
12766                         dialog
12767
12768         * gnome/applet/nm-device.[ch]
12769                 - (network_device_get_driver, network_device_set_driver): add
12770                         accessors for driver name
12771
12772         * gnome/applet/wireless-applet.glade
12773                 - Add line for driver name to Connection Information dialog
12774
12775         * src/nm-dbus-device.c
12776                 - (nm_dbus_device_get_driver): new function to return driver name
12777                 - (nm_dbus_device_methods): hook up driver name function to dbus
12778
12779         * test/nm-tool.c
12780                 - (get_driver_name): new function
12781                 - (detail_device): grab and show driver name
12782
12783 2006-01-30  Robert Love  <rml@novell.com>
12784
12785         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
12786           does not parse the markup if it is not part of the format.
12787
12788 2006-01-30  Robert Love  <rml@novell.com>
12789
12790         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
12791           FALSE, we have no security options for this dialog, so we throw up
12792           an error dialog instead of a broken passphrase dialog.  Fixes
12793           Novell #138404.
12794         * gnome/applet/wireless-security-manager.c,
12795           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
12796           does not add any security options, not even NONE, print a warning
12797           and return FALSE.  This let's functions constructing a dialog bail
12798           out if the device's capabilities and the network's requirements have
12799           zero overlap.
12800
12801 2006-01-27  Robert Love  <rml@novell.com>
12802
12803         * configure.in: Require wpa_supplicant.  Detect location of binary and
12804           use it.  Override with "--with-wpa_supplicant=foo".
12805         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
12806           path to wpa_supplicant but use the auto-detected or user-provided
12807           value from configure.
12808
12809 2006-01-27  Robert Love  <rml@novell.com>
12810
12811         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
12812           but the DHCP server did not return a hostname, try to look up our
12813           name via DNS and set the system hostname to that.
12814
12815 2006-01-27  Dan Williams  <dcbw@redhat.com>
12816
12817         * src/backends/NetworkManagerRedHat.c
12818                 - Add NM_CONTROLLED system network script support for RH/Fedora
12819
12820 2006-01-27  Dan Williams  <dcbw@redhat.com>
12821
12822         * src/backends/NetworkManagerGentoo.c
12823                 - (nm_system_device_get_disabled): add missing function.
12824                         Gnome BZ #328780
12825
12826 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
12827
12828         * configure.in: Added vi in ALL_LINGUAS line.
12829         
12830 2006-01-26  Robert Love  <rml@novell.com>
12831
12832         * src/Makefile.am, src/kernel-types.h: Now that two different source
12833           files are feeling the crack-addled leakage of kernel types such as
12834           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
12835           types in user-space -- define a header and include it as needed.
12836         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
12837         * src/nm-device-802-3-ethernet.h: Remove defines.
12838         * src/wpa.c: Remove defines and include kernel-types.h.
12839
12840 2006-01-26  Robert Love  <rml@novell.com>
12841
12842         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
12843           work.
12844
12845 2006-01-26  Robert Love  <rml@novell.com>
12846
12847         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
12848         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
12849           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
12850           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
12851           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
12852           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
12853           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
12854           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
12855           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
12856           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
12857           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12858           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
12859           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
12860           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
12861           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
12862           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
12863           Kill unused variables, labels, and static functions.  Don't pass
12864           string literals as the format string for printf-like functions.
12865
12866 2006-01-25  Dan Williams  <dcbw@redhat.com>
12867
12868         * gnome/applet/wireless-applet.glade
12869                 - Remove WPA2 Checkbox
12870
12871         * gnome/applet/wireless-security-manager.c
12872                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
12873                         This means the Wireless Security menu now has two WPA options,
12874                         one for "WPA Personal" and one for "WPA2 Personal"
12875
12876         * gnome/applet/wso-wpa-psk.[ch]
12877                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
12878                         'wpa2' argument to determine WPA version to use
12879                 - (append_dbus_params_func): pass stored WPA version to cipher
12880                         rather than using the (removed) checkbox
12881
12882 2006-01-24  Robert Love  <rml@novell.com>
12883
12884         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
12885           before we g_strdup(), not the ultimate string.
12886
12887 2006-01-23  Dan Williams  <dcbw@redhat.com>
12888
12889         * src/NetworkManagerAP.[ch]
12890                 - (nm_ap_new_from_ap): copy original essid too
12891                 - (nm_ap_unref): free original essid
12892                 - (nm_ap_get_orig_essid): new function
12893                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
12894                         but keep original essid around too
12895
12896         * src/nm-device-802-11-wireless.c
12897                 - (supplicant_send_network_config): send wpa_supplicant the
12898                         _original_ essid, and not as a string, but in hex.  Should
12899                         allow us to connect to more APs that use wierd character
12900                         encodings for their essids
12901
12902         * utils/nm-utils.[ch]
12903                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
12904                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
12905                         use the current locale as a hint for what encoding the essid
12906                         might be in.  Obviously not 100% accurate, but the idea here is
12907                         that if a user's locale is ex. ja_JP, they are more likely than
12908                         not to be in Japan, where access points will likely be in some
12909                         Japanese encoding.
12910
12911 2006-01-23  Dan Williams  <dcbw@redhat.com>
12912
12913         * libnm-util/cipher-private.h
12914           libnm-util/cipher.c
12915           libnm-util/cipher.h
12916                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
12917
12918 2006-01-23  Robert Love  <rml@novell.com>
12919
12920         Patch by Timo Hoenig <thoenig@suse.de>:
12921         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
12922           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
12923           by DHCP and pass it to the backends, allowing distribution-specific
12924           behavior with respect to the DHCP-supplied hostname (if nothing else,
12925           some distributions might not want to set the hostname).
12926         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
12927           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
12928           Also update our NIS behavior.
12929         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
12930           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
12931           Add stub functions.
12932
12933 2006-01-23  Robert Love  <rml@novell.com>
12934
12935         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
12936           gnome-session does autostart.  TODO: We need to install this to
12937           $prefix/share/autostart/.
12938
12939 2006-01-22  Dan Williams  <dcbw@redhat.com>
12940
12941         * src/NetworkManagerAP.[ch]
12942           src/nm-dbus-nmi.c
12943           src/nm-device-802-11-wireless.c         
12944                 - Make nm_ap_get_essid return "const char *"
12945
12946 2006-01-22  Dan Williams  <dcbw@redhat.com>
12947
12948         * src/NetworkManagerAP.[ch]
12949                 - (nm_ap_get_matched, nm_ap_set_matched): remove
12950
12951         * src/NetworkManagerAPList.[ch]
12952                 - (nm_ap_list_diff): removed
12953                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
12954                         deal with access points changing essids on us
12955
12956         * src/nm-device-802-11-wireless.c
12957                 - (add_new_ap_to_device_list): move AP dbus signal logic to
12958                         src/NetworkManagerAPList.c
12959                 - (real_can_interrupt_activation): new function; allow interruption
12960                         of device activation if we are waiting for a network key
12961
12962         * src/NetworkManagerPolicy.c
12963                 - (nm_policy_device_change_check): allow interruption of currently
12964                         activating devices if the device allows it.  Previous behavior
12965                         would refuse to activate a just-plugged wired device if a
12966                         wireless device was waiting for a key.
12967
12968         * src/nm-device.[ch]
12969                 - (nm_device_can_interrupt_activation): new function; ask devices
12970                         whether their activation can be interrupted
12971
12972 2006-01-20  Robert Love  <rml@novell.com>
12973
12974         * Makefile.am, configure.in: Add new man subdirectory.
12975         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
12976           man/Makefile.am: Add man pages for NetworkManager and its
12977           crime-solving bumbling buddy, NetworkManagerDispatcher.
12978         * man/.cvsignore: Add.
12979         * initscript/Debian/NetworkManager,
12980           initscript/Gentoo/NetworkManager.in,
12981           initscript/RedHat/NetworkManager.in,
12982           initscript/RedHat/NetworkManagerDispatcher.in,
12983           initscript/SUSE/networkmanager-dispatcher.in,
12984           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
12985
12986 2006-01-20  Robert Love  <rml@novell.com>
12987
12988         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
12989           instead of queuing.  This prevents the running of multiple NM
12990           daemons concurrently, which does not work whatsoever and results in
12991           neither daemon working correctly.  Also, we don't handle queuing and
12992           name-owner-changes, anyhow.
12993
12994 2006-01-20  Robert Love  <rml@novell.com>
12995
12996         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
12997         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
12998           to sbin, not bin.
12999
13000 2006-01-19  Robert Love  <rml@novell.com>
13001
13002         * configure.in: Require hal 0.5.0 or later.
13003
13004 2006-01-18  Robert Love  <rml@novell.com>
13005
13006         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
13007           Allow backends to flag a device (in whatever distro-dependent way
13008           they so desire) as disabled.  NM will ignore any such device.
13009         * src/backends/NetworkManagerDebian.c,
13010           src/backends/NetworkManagerRedHat.c,
13011           src/backends/NetworkManagerSlackware.c: Add stub function
13012           nm_system_device_get_disabled() that always returns FALSE (enabled).
13013         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
13014           SUSE-specific configuration structure.  Fill it in from the
13015           NM_CONTROLLED variable in the system networking scripts.  If this var
13016           exists and is "no", we ignore the device.
13017
13018 2006-01-17  Robert Love  <rml@novell.com>
13019
13020         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
13021           identical for NM.  For a full discussion, see the thread at
13022           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
13023
13024 2006-01-17  Dan Williams  <dcbw@redhat.com>
13025
13026         * src/nm-device.c
13027                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
13028                         function.  Fixes crash when wired DHCP fails.
13029
13030 2006-01-16  Robert Love  <rml@novell.com>
13031
13032         * src/Makefile.am: Don't install NMLoadModules
13033         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
13034           from src/ to test/ as no one uses it anymore.  Note that I would be
13035           fine with removing it altogether.
13036
13037 2006-01-16  Robert Love  <rml@novell.com>
13038
13039         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
13040           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13041           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
13042           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
13043           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
13044           src/nm-netlink-monitor.c: Don't miss any initializers on structure
13045           declarations, ever.
13046         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
13047           NM_STATE_DISCONNECTED is zero).
13048
13049 2006-01-16  Robert Love  <rml@novell.com>
13050
13051         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
13052           uninitialized parameter and buffer overflow.  Novell #143496.
13053
13054 2006-01-16  Dan Williams  <dcbw@redhat.com>
13055
13056         Apply the PtP Address bits of a patch from Tim Niemueller
13057
13058         * src/nm-ip4-config.[ch]
13059                 - Add ip4_ptp_address member to object
13060                 - (nm_ip4_config_copy): copy ptp address too
13061                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
13062                         new functions
13063                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
13064                         rather than local tunnel ip address
13065
13066         * src/vpn-manager/nm-vpn-service.c
13067                 - (print_vpn_config): update for PtP address
13068                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
13069                         DBusMessageIters in preparation for getting routes from the VPN
13070                         service daemons too
13071
13072         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
13073                 - (send_config_info): update for PtP address, clean up code
13074                 - (main): update for PtP address, clean up code, fix typo
13075
13076         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13077                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
13078
13079         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13080                 - (pptp_ip_up): update for PtP address
13081
13082         * vpn-daemons/pptp/src/nm-pptp-service.c
13083                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
13084
13085         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13086                 - (print_vpn_config): update for PtP address
13087                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
13088
13089 2006-01-16  Dan Williams  <dcbw@redhat.com>
13090
13091         * gnome/applet/applet.c
13092                 - (nmwa_add_networks_helper): don't indicate an active network
13093                         if NM is disconnected or asleep
13094
13095 2006-01-16  Dan Williams  <dcbw@redhat.com>
13096
13097         * src/NetworkManagerPolicy.c
13098                 - (nm_policy_device_change_check): switch devices if we lose the link
13099                         on an ethernet device. 
13100
13101 2006-01-16  Dan Williams  <dcbw@redhat.com>
13102
13103         * gnome/applet/wso-wpa-psk-hex.[ch]
13104                 - Renamed -> wso-wpa-psk.[ch]
13105
13106         * gnome/applet/wso-wpa-psk.[ch]
13107                 - New files
13108
13109         * gnome/applet/wso-wpa-psk-passphrase.[ch]
13110                 - Removed, rolled into wso-wpa-psk.[ch]
13111
13112         * gnome/applet/Makefile.am
13113                 - Updated for above changes
13114
13115         * gnome/applet/wireless-applet.glade
13116                 - Consolidate WPA-PSK options into one notebook
13117                         widget, and make dialogs invisible by default
13118                         to fix screen oddities
13119
13120         * gnome/applet/wireless-security-manager.c
13121                 - (wsm_set_capabilities): create the new wpa-psk widget rather
13122                         than both the old hex & passphrase ones
13123
13124 2006-01-16  Dan Williams  <dcbw@redhat.com>
13125
13126         * gnome/applet/other-network-dialog.c
13127                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
13128
13129 2006-01-16  Dan Williams  <dcbw@redhat.com>
13130
13131         * gnome/applet/applet.c
13132                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
13133                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
13134                         prevention to realize window before trying to get server
13135                         time
13136
13137         * gnome/applet/other-network-dialog.c
13138                 - (nmwa_other_network_dialog_run): fix up focus-stealing
13139                         prevention to realize window before trying to get server
13140                         time
13141
13142         * gnome/applet/passphrase-dialog.c
13143                 - (nmi_passphrase_dialog_new): fix up focus-stealing
13144                         prevention to realize window before trying to get server
13145                         time
13146
13147 2006-01-16  Robert Love  <rml@novell.com>
13148
13149         Patch from Timo Hoenig  <thoenig@suse.de:
13150         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
13151           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
13152           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
13153           libnm-util/dbus-helpers.h: add checks whether headers are used
13154           within a C++ build.
13155
13156 2006-01-16  Dan Williams  <dcbw@redhat.com>
13157
13158         * gnome/applet/wireless-security-option.c
13159                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
13160
13161 2006-01-16  Dan Williams  <dcbw@redhat.com>
13162
13163         * libnm-util/cipher-wpa-psk-passphrase.c
13164                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
13165                         be 8 - 63 characters inclusive
13166
13167 2006-01-16  Dan Williams  <dcbw@redhat.com>
13168
13169         * src/nm-dbus-nm.c
13170                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
13171
13172 2006-01-13  Robert Love  <rml@novell.com>
13173
13174         Patch by T Sureshkumar <tsureshkuman@novell.com>:
13175         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
13176           modules that do not use an interface.
13177
13178 2006-01-13  Dan Williams  <dcbw@redhat.com>
13179
13180         * src/nm-device.c
13181           src/nm-device.h
13182                 - Allow subclasses to implement deactivate_quickly()
13183                 - (nm_device_deactivate_quickly): call subclass
13184                         deactivate_quickly() methods
13185                 - (nm_device_set_active_link): small cleanups, and don't
13186                         deactivate the device right away because we risk a deadlock
13187                         when called from device thread, waiting for the device
13188                         thread to cancel activation
13189
13190         * src/nm-device-802-11-wireless.c
13191                 - (real_deactivate_quickly): new function
13192                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
13193                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
13194                         so that we kill the supplicant when we sleep too
13195                 - (supplicant_interface_init): work around naive naming attempts of
13196                         wpa_ctrl when naming sockets
13197
13198 2006-01-13  Dan Williams  <dcbw@redhat.com>
13199
13200         * src/nm-device-802-11-wireless.c
13201                 - (supplicant_cleanup): delete old device control sockets too
13202                 - (supplicant_get_device_socket_path): new function to consolidate
13203                         locations that need a path to a device's control socket
13204
13205 2006-01-12  Robert Love  <rml@novell.com>
13206
13207         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
13208           description so that the description is unique for each
13209           pair (device,provider).  Fixes Novell #142773.
13210
13211 2006-01-12  Dan Williams  <dcbw@redhat.com>
13212
13213         * src/nm-device-802-11-wireless.c
13214                 - (supplicant_exec): ensure GError is correctly initialized
13215                         Reported by Diego González (gnome.org #326708)
13216
13217 2006-01-11  Robert Love  <rml@novell.com>
13218
13219         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
13220           define if_mii(), open code the same results, and do so without any
13221           type punning.
13222
13223 2006-01-11  Robert Love  <rml@novell.com>
13224
13225         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
13226           that wso_foo_new() returned non-NULL.  Instead, only append the new
13227           wso to wsm->options if the wso is non-NULL.  The crux is that we
13228           assume that the relevant key types are implied by WEP and WPA as
13229           appropriate.  To be sure, they should be, but we should not expect
13230           drivers to not be oozing piles of wolf fecal matter.
13231
13232 2006-01-11  Robert Love  <rml@novell.com>
13233
13234         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
13235         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
13236           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
13237           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
13238           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
13239           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
13240           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
13241         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
13242           comparing values within DBL_EPSILON.  Also fix shadowed variable
13243           usage.
13244
13245 2006-01-11  Dan Williams  <dcbw@redhat.com>
13246
13247         Add options for WPA2 and WPA1+CCMP (AES).
13248
13249         * gnome/applet/wireless-applet.glade
13250                 - Add UI bits for WPA+CCMP
13251
13252         * gnome/applet/other-network-dialog.c
13253                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
13254                         and don't allow creation of WPA2 Ad-Hoc networks since
13255                         wpa_supplicant doesn't support them
13256
13257         * gnome/applet/wireless-security-manager.c
13258                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
13259                         on to the specific wireless security option being created
13260
13261         * gnome/applet/wireless-security-option.[ch]
13262                 - (wso_wpa_create_key_type_model): new utility function to create
13263                         the model required for WPA Key Type combo box
13264
13265         * gnome/applet/wso-private.h
13266           gnome/applet/wireless-security-option.h
13267                 - Move private function prototypes into wso-private.h
13268
13269         * gnome/applet/wso-wpa-psk-hex.[ch]
13270           gnome/applet/wso-wpa-psk-passphrase.[ch]
13271                 - (append_dbus_params_func): get WPA version from checkbox and pass
13272                         it to the dbus serialization helper
13273                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
13274                         key type combo changes
13275                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
13276                         model and options
13277
13278         * libnm-util/cipher-wpa-psk-hex.c
13279           libnm-util/cipher-wpa-psk-passphrase.c
13280                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
13281                         new function; allow the cipher to be changed after object creation
13282
13283         * src/nm-ap-security-wpa-psk.c
13284                 - (set_description): Do WPA2 descriptions too
13285
13286         * src/nm-ap-security.c
13287                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
13288
13289 2006-01-11  Robert Love  <rml@novell.com>
13290
13291         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
13292           is defined in <linux/mii.h> to return the mii_ioctl_data structure
13293           from the ifreq structure in lieu of an open coded solution.  Removes
13294           a life-threatening type-punning.
13295         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
13296           types, ever, whatsoever, baby.
13297
13298 2006-01-11  Robert Love  <rml@novell.com>
13299
13300         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
13301           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
13302           assignments to applet->nm_state into a new nmwa_set_state() function
13303           for both cleanliness and to help debugging.
13304
13305 2006-01-10  Robert Love  <rml@novell.com>
13306
13307         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
13308           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
13309           seconds, exclusive.  That is, we want to sleep x seconds such that
13310           1 < x < 2.
13311
13312 2006-01-10  Robert Love  <rml@novell.com>
13313
13314         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
13315           the attr fields according to the example in the email available at
13316           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
13317           Conversely, we do have to free 'name', so we do so, fixing a leak.
13318
13319 2006-01-10  Robert Love  <rml@novell.com>
13320
13321         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
13322           sure that we close the socket!
13323
13324 2006-01-10  Robert Love  <rml@novell.com>
13325
13326         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
13327           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
13328           src/nm-device.c: Fix a FIXME!  Reimplement the function
13329           nm_device_update_hw_address() in device subclass variants,
13330           nm_device_802_3_ethernet_set_address() and
13331           nm_device_802_11_wireless_set_address(), hook them up, and use them.
13332           This fixes the existing bug where MAC addresses are all zeros.
13333
13334 2006-01-10  Robert Love  <rml@novell.com>
13335
13336         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
13337           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
13338           option to give users ability to globally disconnect and put NM to
13339           sleep.  This is useful as a 'lockdown mode' for flying, security, and
13340           clean disconnect.
13341
13342 2006-01-09  Robert Love  <rml@novell.com>
13343
13344         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
13345           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
13346           User-space does not supply these types, so we have to define them
13347           ourselves.  The relevant kernel maintainer refused to accept a patch
13348           switching these headers to the proper C99 types.
13349
13350 2006-01-09  Dan Williams  <dcbw@redhat.com>
13351
13352         Apply Robert's 'tray icon redo' patch with fixes
13353         * gnome/applet/applet.c
13354           gnome/applet/applet.h
13355                 - Instead of using a menu bar + menu item, simulate menu
13356                         behavior using a popup menu.  Highlight the area around
13357                         the icon more like a menu too, by playing with the
13358                         applet's size requisition
13359
13360 2006-01-09  Timo Hoenig   <thoenig@suse.de>
13361         * libnm-util/dbus-helpers.c
13362           libnm-util/dbus-helpers.h
13363                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
13364                         to 'exception_namespace' (:namespace is a keyword in
13365                         C++)
13366
13367 2006-01-09  Dan Williams  <dcbw@redhat.com>
13368
13369         * src/NetworkManagerPolicy.c
13370                 - (nm_policy_device_change_check): don't autoswitch away from
13371                         Ad-Hoc networks, since there's really no concept of
13372                         "link"
13373
13374         * src/nm-dbus-nm.c
13375                 - (nm_dbus_nm_create_wireless_network): mark created networks
13376                         as Ad-Hoc networks
13377
13378         * src/nm-device-802-11-wireless.c
13379                 - (real_activation_success_handler): add user-created Ad-Hoc
13380                         networks to the device's scan list
13381
13382 2006-01-08  Dan Williams  <dcbw@redhat.com>
13383
13384         We now require a patch for wpa_supplicant to support Ad-Hoc
13385         networks:
13386           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
13387
13388         * src/nm-device-802-11-wireless.c
13389                 - (supplicant_send_network_config): turn off wpa_supplicant's
13390                         scanning.  Fixes Ad-Hoc networks.
13391
13392 2006-01-08  Dan Williams  <dcbw@redhat.com>
13393
13394         * src/nm-ap-security.c
13395           src/nm-ap-security.h
13396                 - Add a user_created argument to the write_supplicant_config
13397                         functions
13398
13399         * src/nm-ap-security-wep.c
13400           src/nm-ap-security-wpa-psk.c
13401           src/nm-device-802-11-wireless.c
13402                 - Make Ad-Hoc mode somewhat work, at least write the
13403                         correct options to wpa_supplicant
13404
13405 2006-01-08  Dan Williams  <dcbw@redhat.com>
13406
13407         * src/nm-device-802-11-wireless.c
13408                 - Remove unused code from the old device activation path
13409
13410 2006-01-08  Dan Williams  <dcbw@redhat.com>
13411
13412         * libnm-util/dbus-helpers.c
13413                 - (nmu_security_serialize_wpa_psk): pass a blank key through
13414                         dbus when key == NULL
13415
13416 2006-01-08  Dan Williams  <dcbw@redhat.com>
13417
13418         * gnome/applet/nm-gconf-wso-wpa-psk.c
13419                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
13420                         correct arguments to nmu_security_deserialize_wpa_psk()
13421
13422         * src/nm-ap-security-wpa-psk.c
13423                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
13424                         arguments to nmu_security_deserialize_wpa_psk()
13425
13426 2006-01-08  Dan Williams  <dcbw@redhat.com>
13427
13428         * gnome/applet/wso-wpa-psk-hex.c
13429           gnome/applet/wso-wpa-psk-passphrase.c
13430                 - Hook up the append_dbus_params_func() function
13431
13432 2006-01-08  Dan Williams  <dcbw@redhat.com>
13433
13434         * src/nm-device-802-11-wireless.c
13435                 - (get_wireless_capabilities): correctly detect driver WPA
13436                         capabilities
13437
13438 2006-01-08  Dan Williams  <dcbw@redhat.com>
13439
13440         * gnome/applet/Makefile.am
13441           gnome/applet/wso-wpa-psk-hex.c
13442           gnome/applet/wso-wpa-psk-hex.h
13443                 - New files, implement WPA-PSK Hex key input
13444
13445         * gnome/applet/wireless-applet.glade
13446                 - Change existing wpa-psk stuff to wpa-psk-hex
13447                 - Add new widgets for wpa-psk-passphrase
13448
13449         * gnome/applet/wireless-security-manager.c
13450                 - (wsm_set_capabilities): enable WPA options
13451
13452         * gnome/applet/wso-wpa-psk-passphrase.c
13453                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
13454                         for WPA-PSK passphrase
13455
13456 2006-01-08  Dan Williams  <dcbw@redhat.com>
13457
13458         * include/NetworkManager.h
13459                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
13460                         applet/info-daemons
13461
13462         * gnome/applet/passphrase-dialog.c
13463                 - Use the constant.  Fixes a bug where the arguments to
13464                         dbus_message_new_error() were incorrect
13465
13466         * src/nm-dbus-nmi.c
13467                 - Use the constant
13468
13469 2006-01-07  Dan Williams  <dcbw@redhat.com>
13470
13471         * src/nm-device-802-11-wireless.c
13472                 - Add a link timeout so we allow the supplicant time to
13473                         reassociate if it can, before we deactivate the card
13474                 - Fix up link status and link updating so things work better
13475
13476 2006-01-07  Dan Williams  <dcbw@redhat.com>
13477
13478         * src/nm-device-802-11-wireless.c
13479                 - Switch over to using wpa_supplicant
13480                 - Add a timeout of 10s for association of the supplicant
13481                 - Start the monitor callback of the supplicant
13482
13483 2006-01-07  Dan Williams  <dcbw@redhat.com>
13484
13485         * src/NetworkManagerUtils.c
13486                 - (nm_utils_supplicant_request,
13487                   nm_utils_supplicant_request_with_check):
13488                         pass correct buffer length to wpa_ctrl_request()
13489
13490 2006-01-07  Dan Williams  <dcbw@redhat.com>
13491
13492         * src/nm-device-private.h
13493           src/nm-device.c
13494                 - (nm_device_activate_schedule_stage3_ip_config_start): make
13495                         this function available to subclasses
13496
13497 2006-01-06  Robert Love  <rml@novell.com>
13498
13499         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
13500           user plugging in a network cable signals their preference for to
13501           switch, unless the user explicitly selected a wireless network and
13502           therefore signaled their preference for said wireless network over
13503           wired.  In other words, do exactly what makes sense.
13504
13505 2006-01-06  Robert Love  <rml@novell.com>
13506
13507         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
13508           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
13509           src/NetworkManagerWireless.h: Remove, no longer used and they keep
13510           showing up in my greps.
13511
13512 2006-01-06  Robert Love  <rml@novell.com>
13513
13514         * gnome/applet/applet-dbus-devices.c,
13515           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
13516           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
13517           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
13518           New Network' both failed in the non-encrypted case because we were
13519           not appending the security options to the DBUS message.  And
13520           'Connect to Other' was also failing in the encrypted case because
13521           we were not incrementing to the next DBUS parameter.  All fixed.
13522           Thanks to dcdw for some debugging help.
13523
13524 2006-01-06  Robert Love  <rml@novell.com>
13525
13526         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
13527           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
13528           hangup code and add per-device hangup.  Tie last commit into the
13529           GNOME applet.  TODO:  Save, understand, and respond to the state of
13530           each dialup device.
13531
13532 2006-01-06  Robert Love  <rml@novell.com>
13533
13534         Patch by Timo Hoenig <thoenig@suse.de>:
13535         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
13536           hangup specific dialup devices.
13537         * src/backends/NetworkManagerDebian.c,
13538           src/backends/NetworkManagerGentoo.c,
13539           src/backends/NetworkManagerRedHat.c,
13540           src/backends/NetworkManagerSlackware.c: Add stub backend.
13541         * src/backends/NetworkManagerRedHat.c,
13542           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
13543           hangup specific dialup devices.
13544
13545 2006-01-04  Robert Love  <rml@novell.com>
13546
13547         * gnome/applet/applet-dbus-devices.c,
13548           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
13549           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
13550           connections.
13551
13552 2006-01-04  Dan Williams  <dcbw@redhat.com>
13553
13554         First dump of wpa_supplicant-related code.  It's not hooked up to
13555         anything yet though.  Thanks to Kay Sievers for
13556         wpa_supplicant_wrapper.c, which formed the basis for this work,
13557         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
13558
13559         * src/Makefile.am
13560           src/wpa_ctrl.[ch]
13561                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
13562
13563         * src/NetworkManagerUtils.[ch]
13564                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
13565                         Add convenience functions for talking to wpa_supplicant
13566
13567         * src/nm-ap-security.[ch]
13568           src/nm-ap-security-wep.c
13569           src/nm-ap-security-wpa-psk.[ch]
13570                 - Update and implement real_write_supplicant_config functions
13571                         in all security types
13572                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
13573                         nm-ap-security-wpa-psk.c
13574
13575         * src/nm-device-802-11-wireless.c
13576                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
13577                    wpa_supplicant_start, wpa_supplicant_interface_init,
13578                    wpa_supplicant_send_network_config): add functions to talk to
13579                         wpa_supplicant and write network config to it
13580
13581 2006-01-04  Robert Love  <rml@novell.com>
13582
13583         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
13584           values so that distribution-backends can differentiate between the
13585           various types (modem, ISDN, et cetera) of dialup device that they
13586           support.
13587         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
13588           needed.
13589
13590 2006-01-03  Dan Williams  <dcbw@redhat.com>
13591
13592         * src/NetworkManagerPolicy.c
13593           src/nm-device.[ch]
13594           src/nm-device-802-11-wireless.c
13595                 - Move wireless-specific activation failure and success code
13596                         into wireless device class
13597
13598 2006-01-03  Robert Love  <rml@novell.com>
13599
13600         Patch by Preggna S:
13601         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
13602           IPsec does not require that a VPN client be bound to an interface,
13603           due to the use of the in-kernel IPSec bits.  So make the tunnel
13604           device optional.
13605
13606 2006-01-03  Dan Williams  <dcbw@redhat.com>
13607
13608         * src/NetworkManagerAP.c
13609                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
13610                         the WPA IE specifies that WEP is supported
13611
13612         * src/nm-device-802-11-wireless.c
13613                 - (process_scan_results): don't mark an AP as supporting WEP
13614                         if there's already other encryption capability info
13615
13616 2006-01-03  Dan Williams  <dcbw@redhat.com>
13617
13618         * src/dhcp-manager/nm-dhcp-manager.c
13619                 - Recognize activation cancellation when waiting for DHCP
13620                         configuration from dhcdbd
13621                 - Ignore non-dhcdbd messages
13622
13623         * src/nm-device.c
13624                 - (real_act_stage3_ip_config_start): return to correct behavior
13625                         of letting the dhcp-manager notify us of failure or
13626                         success rather than incorrectly doing that ourselves
13627                 - (nm_device_activate_stage4_ip_config_get): deal with
13628                         activation cancellation a bit earlier
13629
13630 2006-01-03  Dan Williams  <dcbw@redhat.com>
13631
13632         * src/nm-device-802-11-wireless.c
13633           src/nm-device.[ch]
13634                 - Add hooks to subclasses for stage3_ip_config_start and
13635                         stage4_ip_config_timeout
13636
13637         * src/nm-device-802-3-ethernet.c
13638                 - (real_get_generic_capabilities): make devices NM-supported
13639                         by default
13640
13641 2006-01-03  Robert Love  <rml@novell.com>
13642
13643         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
13644           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
13645           latter cannot differentiate between error and the address -1; misc.
13646           clean up.
13647
13648 2006-01-03  Dan Williams  <dcbw@redhat.com>
13649
13650         * src/NetworkManager.c
13651                 - Move link-checking/probing into the device subclasses
13652                         themselves
13653
13654         * src/nm-device.[ch]
13655           src/nm-device-802-11-wireless.c
13656           src/nm-device-802-3-ethernet.c
13657                 - Do periodic link checking in device subclasses rather
13658                         than being triggered from NetworkManager.c
13659                 - discover_wireless_capabilities -> get_wireless_capabilities
13660                 - discover_generic_capabilities -> get_generic_capabilities
13661                 - Device subclass activation routines now return a value of type
13662                         NMActStageReturn to indicate what step to perform next
13663                 - Devices now override stage4_get_ip4_config if they choose
13664
13665 2006-01-01  Dan Williams  <dcbw@redhat.com>
13666
13667         * src/nm-device-802-11-wireless.c
13668                 - (real_init): don't chain up to parent init because we don't
13669                         need to do that anymore
13670
13671         * src/nm-device.c
13672                 - (discover_device_type): fix arguments to ioctl() to correctly
13673                         pass interface name
13674                 - (nm_device_new): consolidate generic device initialization into
13675                         nm_device_new()
13676                 - (real_init): remove, consolidated to nm_device_new()
13677                 - (nm_device_deactivate, real_deactivate): consolidate
13678
13679 2006-01-01  Dan Williams  <dcbw@redhat.com>
13680
13681         * src/nm-activation-request.c
13682                 - Change dhcp_state member of the NMActRequest structure
13683                         from guint8 to guint32
13684
13685         * src/dhcp-manager/nm-dhcp-manager.[ch]
13686                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
13687                         than guint8 to match the dbus argument.  Turns out we were
13688                         overwriting memory since we were passing in only a guint8
13689
13690 2005-12-31  Dan Williams  <dcbw@redhat.com>
13691
13692         * refactor NMDevice into a GObject-based framework with separate
13693                 objects for wired and wireless.  The following files are no
13694                 longer used but should stick around for a bit so we don't
13695                 loose code through the cracks:
13696                         NetworkManagerDevice.c
13697                         NetworkManagerDevice.h
13698                         NetworkManagerWireless.c
13699                         NetworkManagerWireless.h
13700
13701         The intent here is to allow each device type to manage its own
13702         connection & activation life-cycle, ie to allow wireless devices
13703         to interface with wpa_supplicant, etc.  There's a fair bit of
13704         encapsulation breakage right now that should gradually get pulled
13705         back into each device, along with things like periodic property
13706         updates and link probing.
13707
13708 2005-12-29  Dan Williams  <dcbw@redhat.com>
13709
13710         * include/NetworkManager.h
13711                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
13712                         between networks that don't have any encryption at all
13713
13714 2005-12-29  Dan Williams  <dcbw@redhat.com>
13715
13716         * test/test-common.c
13717           test/test-common.h
13718           test/Makefile.am
13719                 - Move to a test-common subdirectory
13720
13721         * test/libnm-util/test-ciphers.c
13722                 - Move test data to test-inputs.h
13723                 - Test WPA ciphers too
13724
13725         * test/libnm-util/test-dbus-helpers.c
13726                 - Test serialization/deserialization of ciphers
13727
13728 2005-12-29  Dan Williams  <dcbw@redhat.com>
13729
13730         * gnome/applet/applet-dbus-devices.c
13731                 - Replace 'enc' parameter with 'capabilities' for wireless networks
13732                         in dbus calls to NM
13733                 - Set capabilities on WirelessNetwork objects
13734                 - Receive and save type-specific device capabilities too
13735
13736         * gnome/applet/applet-dbus-info.c
13737           gnome/applet/applet-dbus.c
13738                 - Passphrase dialog no longer a singleton; new instance gets created
13739                         on each request.  Updates to deal with that.
13740
13741         * gnome/applet/applet.c
13742                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
13743                         than single 'encrypted' flag
13744                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
13745                         menu items
13746                 - Passphrase dialog updates per above
13747
13748         * gnome/applet/menu-items.c
13749                 - (network_menu_item_update): use AP capabilities to determine
13750                         encryption
13751
13752         * gnome/applet/nm-device.[ch]
13753                 - Add accessors for type-specific device capabilities
13754
13755         * gnome/applet/other-network-dialog.c
13756                 - Rework to respect device capabilities.  i.e., if the device doesn't
13757                         support WPA, remove that option from the security dropdown
13758
13759         * gnome/applet/passphrase-dialog.c
13760                 - Massive rework so that a new instance is created each time
13761                         it's used, to support wireless network capabilities
13762
13763         * gnome/applet/wireless-network.[ch]
13764                 - Add accessors and members for wireless network capabilities
13765
13766         * gnome/applet/wireless-security-manager.[ch]
13767                 - (wsm_set_capabilities): called after creation to set which
13768                         security options get shown to the user
13769
13770 2005-12-29  Dan Williams  <dcbw@redhat.com>
13771
13772         * libnm-util/cipher-wpa-psk-passphrase.c
13773                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
13774                         like other ciphers
13775
13776 2005-12-23  Dan Williams  <dcbw@redhat.com>
13777
13778         * gnome/applet/applet-dbus-info.c
13779                 - (nmi_dbus_get_key_for_network): if there's no entry in
13780                         GConf for a network, assume we want a new key
13781                 - (nmi_save_network_info): serialize wireless security info
13782                         into GConf so its saved
13783
13784         * src/nm-dbus-nm.c
13785                 - Fix warning as we may not be passed security info when
13786                         connecting to a wireless network
13787
13788 2005-12-23  Dan Williams  <dcbw@redhat.com>
13789
13790         * gnome/applet/applet-compat.c
13791                 - Fix bugs in GConf entry conversion
13792
13793         * gnome/applet/applet-dbus-info.c
13794                 - (nmi_dbus_get_network_properties): handle case of the BSSID
13795                         list being zero-length
13796
13797         * libnm-util/cipher-*
13798           libnm-util/dbus-helpers.c
13799                 - All ciphers must now return hashed keys as UTF-8 valid
13800                         hexadecimal strings, ie "8f3dae4023".  They are pushed
13801                         through dbus as strings too.
13802                 - Consolidate various functions that do bin->hex and hex->bin
13803                         conversion into cipher.c
13804
13805         * src/nm-ap-security-wep.c
13806           src/nm-ap-security-wpa-psk.c
13807                 - Handle NULL keys since we may not know keys right away
13808
13809         * src/nm-dbus-nmi.c
13810                 - (nm_dbus_get_network_data_cb): actually advance to the start
13811                         of the wireless security info before we try to deserialize it
13812
13813         * libnm-util/test-ciphers.c
13814                 - Update cipher tests for the change to UTF-8 hexadecimal strings
13815
13816 2005-12-22  Dan Williams  <dcbw@redhat.com>
13817
13818         * gnome/applet/applet-compat.[ch]
13819                 - Convert old-format GConf and keyring entries
13820                         when the applet starts up.
13821
13822         * gnome/applet/applet.c
13823                 - (nmwa_get_instance): Call the conversion function
13824                         on startup before dbus is initialized
13825
13826 2005-12-22  Dan Williams  <dcbw@redhat.com>
13827
13828         * gnome/applet/applet-dbus-info.c
13829                 - Remove nmi_dbus_create_error_message() in favor of
13830                         nmu_create_dbus_error_message()
13831                 - (nmi_dbus_get_network_properties): Error message cleanups
13832                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
13833                         gconf key rather than 'addresses', since they really are BSSIDs
13834                 - (nmi_dbus_get_network_properties): Dispose of the security
13835                         object when we're done with it
13836
13837 2005-12-21  Dan Williams  <dcbw@redhat.com>
13838
13839         * Consolidate the info-daemon's "updateNetworkInfo" and
13840                 "addNetworkAddress" calls into just "updateNetworkInfo"
13841
13842 2005-12-21  Dan Williams  <dcbw@redhat.com>
13843
13844         * Make connection after key retrieval work again
13845
13846 2005-12-21  Dan Williams  <dcbw@redhat.com>
13847
13848         * gnome/applet/nm-gconf-wso*
13849                 - Make the serialize functions return gboolean
13850                         rather than int
13851
13852         * gnome/applet/nm-gconf-wso.c
13853                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
13854                         parent class handling so we don't segfault
13855
13856         * src/NetworkManagerAP.[ch]
13857                 - (nm_ap_get_capabilities): new function, return capabilities
13858                         now that something can use them
13859                 - (nm_ap_set_encrypted): assume that an access point supports
13860                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
13861                         we even tell whether it just supports WEP40?
13862
13863         * src/NetworkManagerDevice.c
13864                 - (ap_need_key): resurrect and update for the New World Order
13865                 - (nm_device_wireless_get_activation_ap): if we're not given
13866                         security info to use, create some based on access point
13867                         capabilities
13868
13869         * src/nm-ap-security-wep.c
13870                 - (nm_ap_security_wep_new_from_ap): create a new object
13871                         based on a certain access point's capabilities
13872
13873         * src/nm-ap-security.c
13874                 - (nm_ap_security_new_from_ap): delegate creation of a new
13875                         object based on access point capabilities to a subclass
13876                 - (nm_ap_security_copy_properties): don't segfault if we
13877                         don't have a key yet
13878
13879         * src/nm-dbus-nm.c
13880                 - (nm_dbus_nm_set_active_device): provide more informative
13881                         output when errors occur.  Also construct security info
13882                         for a given access point if we weren't given any
13883
13884 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
13885
13886         * configure.in: Added Lithuanian to ALL_LINGUAS.
13887
13888 2005-12-21  Dan Williams  <dcbw@redhat.com>
13889
13890         * test/libnm-util
13891                 - Add some testcases for WEP ciphers
13892
13893 2005-12-17  Dan Williams  <dcbw@redhat.com>
13894
13895         * Fix bugs
13896
13897 2005-12-17  Dan Williams  <dcbw@redhat.com>
13898
13899         * include/NetworkManager.h
13900                 - Finally kill NMEncKeyType
13901
13902         * gnome/applet/applet-dbus-info.c
13903                 - (nmi_save_network_info): convert to NMGConfWSO
13904
13905         * gnome/applet/nm-gconf-wso-*.c
13906                 - Implement gconf serialization functions
13907
13908         * src/NetworkManagerPolicy.c
13909                 - (nm_policy_activation_finish): fix up meaning of
13910                         automatic/user_requested
13911
13912 2005-12-17  Dan Williams  <dcbw@redhat.com>
13913
13914         * gnome/applet/*
13915                 - More applet cleanups
13916                 - Use the dbus-method-dispatcher
13917
13918         * libnm-util/dbus-method-dispatcher.[ch]
13919                 - Generalize the implementation from NM in
13920                         NetworkManagerUtils.c
13921
13922 2005-12-16  Dan Williams  <dcbw@redhat.com>
13923
13924         * gnome/applet/*
13925                 - Fix up the passphrase dialog to use all the
13926                         WirelessSecurityOption stuff (untested)
13927
13928 2005-12-16  Dan Williams  <dcbw@redhat.com>
13929
13930         * Move nm_gconf_get_*_helper() functions to separate files,
13931                 gconf-helpers.c & gconf-helpers.h
13932
13933         * New NMGConfWSO objects for managing the gconf side of things.
13934                 Eventually these should be merged with the
13935                 WirelessSecurityOption objects and a common base (that can
13936                 serialize/deserialize from dbus & gconf) should be
13937                 refactored out, but for now they are separate.
13938
13939 2005-12-16  Robert Love  <rml@novell.com>
13940
13941         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
13942           binaries unless they exist (nm_spawn_process() emits a warning if
13943           asked to spawn a non-existant process).
13944
13945 2005-12-16  Dan Williams  <dcbw@redhat.com>
13946
13947         * gnome/applet/applet-dbus-info.c
13948                 - Clean up lots of gconf-related code
13949
13950 2005-12-16  Robert Love  <rml@novell.com>
13951
13952         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
13953
13954 2005-12-16  Dan Williams  <dcbw@redhat.com>
13955
13956         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
13957
13958         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
13959                 bits still to be done)
13960
13961 2005-12-16  Dan Williams  <dcbw@redhat.com>
13962
13963         * Finally move info-daemon related stuff out of
13964                 NetworkManagerDbus.c to nm-dbus-nmi.c
13965
13966 2005-12-16  Dan Williams  <dcbw@redhat.com>
13967
13968         * Kill auth_method for access points, since that's now done
13969                 by NMAPSecurity objects
13970
13971         * Add a copy-constructor of sorts to NMAPSecurity
13972                 (how do you do this properly in glib???)
13973
13974 2005-12-15  Dan Williams  <dcbw@redhat.com>
13975
13976         * Exorcise encryption key hashing on APs
13977         * Use libnm-util's serialization/deserialization in both the
13978                 applet and NM
13979         * Random other stuff
13980
13981 2005-12-15  Robert Love  <rml@novell.com>
13982
13983         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
13984           is being added to the icon naming spec, so let's use that (Tango CVS
13985           has the icon).  Because it is new, however, we fall back to the
13986           current "gnome-lockscreen" if the new icon is not around, thus
13987           behavior is the same.
13988         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
13989           factory junk.
13990
13991 2005-12-15  Robert Love  <rml@novell.com>
13992
13993         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
13994           well, help to give.  Couple other misc. bits.
13995
13996 2005-12-15  Dan Williams  <dcbw@redhat.com>
13997
13998         * libnm-util/dbus-helpers.[ch]
13999                 - Make this the one-stop-shop for serializing/deserializing
14000                         AP & connection security settings over dbus.  Both NM
14001                         and applets should use this to ensure consistent dbus
14002                         API going forwared.
14003
14004 2005-12-15  Robert Love  <rml@novell.com>
14005
14006         Patch by Timo Hoenig  <thoenig@suse.de>:
14007         * src/NetworkManagerDbus.c
14008                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
14009                         if HAL jumps off the system bus.  Otherwise libdbus
14010                         (dbus_connection_dispatch) will try to run the filter
14011                         function of our libhal context which is already freed.
14012
14013 2005-12-15  Alexander Shopov  <ash@contact.bg>
14014
14015         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
14016
14017 2005-12-14  Dan Williams  <dcbw@redhat.com>
14018
14019         * include/NetworkManager.h
14020           src/NetworkManagerWireless.c
14021                 - Rearrange 802.11 wireless-specific capabilities again
14022
14023         * src/Makefile.am
14024                 - Forgot to add wpa.c/wpa.h to the makefiles
14025
14026         * src/NetworkManagerAP.[ch]
14027                 - Implement access point capabilities and parse the
14028                         WPA/RSN IEs into the capability bitfield
14029                 - Switch the "encrypted" attribute to utilize the bitfield
14030                         and capabilities rather than being independent
14031
14032         * src/NetworkManagerDevice.c
14033                 - (nm_device_wireless_get_activation_ap): break it horribly
14034                         until we can push NMAPSecurity objects into access point
14035                         objects and through the activation chain
14036                 - Stuff WPA & RSN IEs into AP capabilities
14037
14038         * src/nm-dbus-nm.c
14039                 - Take a shot at actually making setActiveDevice work
14040
14041         * src/wpa.[ch]
14042                 - Make the API a bit saner
14043
14044 2005-12-14  Dan Williams  <dcbw@redhat.com>
14045
14046         * include/NetworkManager.h
14047                 - Add 802.11-specific capability for 802.1x key
14048                         management
14049
14050         * src/wpa.[ch]
14051                 - Pull in WPA IE and RSN IE parsing code from
14052                         wpa_supplicant so we can determine access point
14053                         capabilities
14054                 - Move WPA-related constants here from NetworkManagerAP.h
14055                         and NetworkManagerDevice.c
14056
14057         * src/NetworkManagerDevice.c
14058           src/NetworkManagerAP.[ch]
14059                 - Use WPA-related constants from wpa.h
14060
14061 2005-12-14  Dan Williams  <dcbw@redhat.com>
14062
14063         * include/NetworkManager.h
14064                 - Update and split 802.11 wireless-specific capabilities from
14065                         generic device capabilities
14066
14067         * src/NetworkManagerDevice.c
14068           src/NetworkManagerDevicePrivate.h
14069                 - (nm_device_wireless_discover_capabilities): Move 802.11
14070                         wireless-specific capability checks to
14071                         NetworkManagerWireless.c
14072                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
14073                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
14074
14075         * src/NetworkManagerWireless.[ch]
14076                 - (nm_802_11_wireless_discover_capabilities): Check extended
14077                         802.11 wireless-specific capabilities of the driver
14078
14079 2005-12-14  Robert Love  <rml@novell.com>
14080
14081         Patch from Stefan Scheler <sscheler@suse.de>:
14082         * src/NetworkManagerDevice.c: call backend code to activate and
14083           deactivate NIS.
14084         * src/NetworkManagerSystem.h: add new NIS interfaces.
14085         * src/backends/NetworkManagerDebian.c,
14086           src/backends/NetworkManagerGentoo.c,
14087           src/backends/NetworkManagerRedHat.c,
14088           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
14089           support.
14090         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
14091
14092 2005-12-14  Dan Williams  <dcbw@redhat.com>
14093
14094         * src/nm-ap-security*.[ch]
14095                 - Add AP security abstractions to NetworkManager
14096
14097         * src/nm-dbus-device.c
14098                 - Begin to parse new format dbus messages from the applet
14099                         and construct an AP security object from the message
14100
14101         * libnm-util/dbus-helpers.c
14102                 - Use message iters so we can append the key as a fixed
14103                         array of bytes, which actually works rather than
14104                         using dbus_message_append_args() as we were before
14105
14106 2005-12-14  Dan Williams  <dcbw@redhat.com>
14107
14108         * src/NetworkManagerDbus.c
14109           gnome/applet/applet-dbus.c
14110                 - Fix up dbus service replacement options.  The applet
14111                         should allow replacement, NM itself should not.
14112
14113 2005-12-13  Robert Love  <rml@novell.com>
14114
14115         * src/named-manager/nm-named-manager.c: Revert earlier commit.
14116           Instead, fail silently if config is NULL by not asserting and not
14117           returning FALSE.  Also, make sure we always fclose() the file.
14118
14119 2005-12-13  Robert Love  <rml@novell.com>
14120
14121         Patch by Stefan Scheler <sscheler@suse.de>:
14122         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
14123            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
14124            via DHCP.  Still need the backends to commit the NIS domain name and
14125            and servers to yp.conf as needed.
14126
14127 2005-12-13  Robert Love  <rml@novell.com>
14128
14129         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
14130           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
14131
14132 2005-12-13  Robert Love  <rml@novell.com>
14133
14134         * src/named-manager/nm-named-manager.c: Don't unref the config until
14135           after we call rewrite_resolv_conf(), because get_last_default_domain()
14136           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
14137           `config != NULL' failed" assertion failures and "Could not commit DNS
14138           changes" warnings.
14139
14140 2005-12-12  Dan Williams  <dcbw@redhat.com>
14141
14142         * libnm-util/dbus-helpers.[ch]
14143           libnm-util/Makefile.am
14144                 - new helper calls to consolidate locations where
14145                         NM's setDevice method is called
14146
14147         * gnome/applet/applet-dbus-devices.c
14148           gnome/applet/wireless-security-option.c
14149           gnome/applet/wso-*
14150                 - Implement dbus message param append function for
14151                         all wireless security options
14152
14153 2005-12-12  Robert Love  <rml@novell.com>
14154
14155         * libnm-util/cipher-wep-passphrase.c,
14156           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
14157           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
14158           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
14159           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
14160           When handling keys, we don't care what the sign is.  The compiler
14161           guarantees us that we get our 8-bits, which is all we care about.
14162         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
14163
14164 2005-12-12  Dan Williams  <dcbw@redhat.com>
14165
14166         * gnome/applet/applet-dbus-devices.[ch]
14167           gnome/applet/applet.c
14168           gnome/applet/other-network-dialog.c
14169           gnome/applet/wireless-security-manager.[ch]
14170           gnome/applet/wireless-security-option.[ch]
14171           gnome/applet/wso-*
14172                 - Push the wireless security options further into the applet
14173
14174 2005-12-12  Robert Love  <rml@novell.com>
14175
14176         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
14177           return any name servers.  That is perfectly valid.  (Novell #134369).
14178
14179 2005-12-11  Dan Williams  <dcbw@redhat.com>
14180
14181         * gnome/applet/wso-*
14182           gnome/applet/wireless-security-option.*
14183           gnome/applet/Makefile.am
14184                 - split each security option out so we can eventually
14185                         have each one build up their own dbus message
14186                         arguments to send to NM
14187
14188 2005-12-11  Dan Williams  <dcbw@redhat.com>
14189
14190         * Make validation of the key work correctly
14191
14192 2005-12-11  Dan Williams  <dcbw@redhat.com>
14193
14194         * Hook more bits of the Other Network Dialog up to the
14195                 wireless security manager stuff, and restructure
14196                 bits of the dialog so there's less code.
14197
14198 2005-12-10  Dan Williams  <dcbw@redhat.com>
14199
14200         * gnome/applet/Makefile.am
14201                 - Add libnm-util to includes
14202                 - Add libnm-util to link list
14203                 - Add wireless-security-common.* to compile list
14204
14205         * gnome/applet/other-network-dialog.c
14206                 - Convert to using the WirelessSecurityManager code and
14207                         widgets
14208
14209         * gnome/applet/passphrase-dialog.c
14210                 - Comment out references to stuff in the glade file that
14211                         cause runtime errors until it can be fixed up
14212                         to use the WirelessSecurityManager code
14213
14214         * gnome/applet/wireless-applet.glade
14215                 - Rename some widgets
14216                 - Add widgets for the WirelessSecurityManager code
14217                 - Remove passphrase-related stuff since that's now
14218                         handled by the WirelessSecurityManager code
14219
14220 2005-12-10  Dan Williams  <dcbw@redhat.com>
14221
14222         * gnome/applet/applet-dbus-devices.c
14223                 - Print out error message details for dbus pending call callbacks
14224                 - Move nmwa_dbus_update_devices() up
14225
14226         * gnome/applet/applet-dbus-vpn.c
14227                 - Print out error message details for dbus pending call callbacks
14228
14229 2005-12-10  Dan Williams  <dcbw@redhat.com>
14230
14231         * libnm-util/*
14232                 - More fixups
14233                 - Remove cipher-manager.* because we don't need it
14234                 - Forgot to add gnome-keyring-md5 files to compile list
14235
14236 2005-12-09  Dan Williams  <dcbw@redhat.com>
14237
14238         * libnm-util/*
14239           configure.in
14240           Makefile.am
14241                 - Add a utility library for clients of NetworkManager.  It's
14242                         only targetted at applets for the moment, and contains
14243                         a generalized 802.11 cipher framework for different
14244                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
14245
14246 2005-12-09  Robert Love  <rml@novell.com>
14247
14248         * src/NetworkManagerDevice.c: handle error better in
14249           nm_device_set_mode().
14250
14251 2005-12-08  Robert Love  <rml@novell.com>
14252
14253         * include/NetworkManager.h: add WPA capabilities constants
14254         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
14255           or WPA2 and add the capabilities bits as appropriate.
14256
14257 2005-12-08  Robert Love  <rml@novell.com>
14258
14259         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
14260           NetworkManagerDispatcher.
14261         * configure.in, initscript/SUSE/.cvsignore,
14262           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
14263           initscript.
14264
14265 2005-12-08  Robert Love  <rml@novell.com>
14266
14267         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
14268
14269 2005-12-08  Robert Love  <rml@novell.com>
14270
14271         * src/NetworkManagerDevice.c: We want to fall back on and default to
14272           IW_MODE_AUTO, not -1, which is more in line with our previous
14273           behavior.  Otherwise, we try to set the wireless mode to -1 in
14274           nm_device_set_mode().
14275
14276 2005-12-07  Robert Love  <rml@novell.com>
14277
14278         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
14279           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
14280           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14281           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14282           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
14283           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
14284           zero.
14285
14286 2005-12-07  Robert Love  <rml@novell.com>
14287
14288         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
14289           supplied IP is invalid, fall back to DHCP.
14290
14291 2005-12-07  Dan Williams  <dcbw@redhat.com>
14292
14293         * Convert NETWORK_MODE_* constants to IW_MODE_*
14294         * Make all the get_mode/set_mode functions take and return 'int'
14295         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
14296
14297 2005-12-07  Robert Love  <rml@novell.com>
14298
14299         * src/NetworkManagerDevice.c: strncpy() buffer check.
14300         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
14301
14302 2005-12-06  Dan Williams  <dcbw@redhat.com>
14303
14304         * gnome/applet/applet-dbus.c
14305                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
14306
14307         * gnome/applet/applet-dbus-vpn.c
14308                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
14309                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
14310                         to TRUE here if stage was ACTIVATED
14311
14312 2005-12-06  Dan Williams  <dcbw@redhat.com>
14313
14314         * Change nm_device_is_* functions to better names:
14315                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
14316                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
14317
14318 2005-12-06  Dan Williams  <dcbw@redhat.com>
14319
14320         * Change naming of NMDeviceType to something more sensible:
14321                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
14322                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
14323                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
14324
14325 2005-12-06  Dan Williams  <dcbw@redhat.com>
14326
14327         * Move NetworkManager.h -> include/NetworkManager.h
14328         * Split out VPN stuff into include/NetworkManagerVPN.h
14329         * Fix up makefiles to include new location
14330         * Fix up sources to include NetworkManagerVPN.h
14331
14332 2005-12-06  Dan Williams  <dcbw@redhat.com>
14333
14334         Various changes in the applet to move VPN connection "state" -> "stage",
14335         which it actually is.  I'd like to change the signal as well when we
14336         break compat in the near future.
14337
14338 2005-12-06  Dan Williams  <dcbw@redhat.com>
14339
14340         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
14341         * initscript/Slackware/rc.networkmanager
14342                 - Cosmetic fix
14343
14344         * src/backends/NetworkManagerSlackware.c
14345                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
14346                         interfaces
14347
14348 2005-12-05  Robert Love  <rml@novell.com>
14349
14350         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
14351           to free, particularly here as it just barfs.
14352
14353 2005-12-05  Dan Williams  <dcbw@redhat.com>
14354
14355         * gnome/applet/applet-dbus.c
14356                 - Work with dbus 0.6 too
14357
14358 2005-12-03  Dan Williams  <dcbw@redhat.com>
14359
14360         * src/NetworkManagerUtils.[ch]
14361           src/nm-ip4-config.c
14362                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
14363                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
14364
14365 2005-12-01  Robert Love  <rml@novell.com>
14366
14367         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
14368           need a NULL for the '...' parameter, too, to fill the so-called
14369           sentinel.
14370
14371 2005-12-01  Robert Love  <rml@novell.com>
14372
14373         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
14374           interface is already gone, so don't call rtnl_link_change() to down
14375           it (which will segfault, anyhow).
14376
14377 2005-11-22  Robert Love  <rml@novell.com>
14378
14379         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
14380           gateway is not set, just print a little note.  Configurations without
14381           gateways are valid.
14382
14383 2005-11-22  Robert Love  <rml@novell.com>
14384
14385         * README: update
14386
14387 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
14388
14389         * configure.in: Added Finnish translation to ALL_LINGUAS
14390
14391 2005-11-14  Robert Love  <rml@novell.com>
14392
14393         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
14394           Niemueller <tim@niemueller.de>.
14395
14396 2005-11-08  Dan Williams  <dcbw@redhat.com>
14397
14398         Patch from Bill Moss <bmoss@clemson.edu>
14399         * src/NetworkManagerDevice.c
14400                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
14401                         of nm_policy_schedule_activation_finish() to prevent a
14402                         race condition that causes the link to be dropped
14403
14404 2005-11-08  Dan Williams  <dcbw@redhat.com>
14405
14406         Patch from Bill Moss <bmoss@clemson.edu>
14407         * src/NetworkManagerAPList.c
14408           src/NetworkManagerDevice.c
14409           src/NetworkManagerDbus.c
14410                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
14411                         we get more readable ether/mac addresses
14412
14413 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14414
14415         * gnome/applet/main.c: Don't set the restart command.  This fixes
14416         the issue where the restart command was getting copies of all its
14417         arguments for each time the applet was restarted.
14418
14419 2005-11-02  Robert Love  <rml@novell.com>
14420
14421         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
14422           if the widget state differs from our saved state.  This ensures we
14423           do not enter an endless loop of death and destruction.  Also, this
14424           guarantees us that we enforce the widget state.
14425
14426 2005-11-02  Robert Love  <rml@novell.com>
14427
14428         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
14429         * gnome/applet/applet-dbus-devices.c: invoke the new function
14430           nmwa_enable_wireless_set_active() to ensure that the state of the
14431           'Enable Wireless' checkbox matches the daemon's state.  This is a
14432           concern because the daemon remembers the state.
14433
14434 2005-11-02  Robert Love  <rml@novell.com>
14435
14436         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
14437           Enabled", as checkboxes should be actions/commands not positive
14438           statements, otherwise they are confusing in the unselected case.  See
14439           examples in GNOME HIG, Chapter 6.
14440
14441 2005-11-02  Robert Love  <rml@novell.com>
14442
14443         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
14444           show a list of wireless networks or the wireless devices or the
14445           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
14446           a bad bug: If wireless is disabled and the user picks a wireless
14447           network, NM will switch to the network, only to immediately switch
14448           back, as wireless is disabled.  This also reassures people that NM
14449           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
14450
14451 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14452
14453         * gnome/applet/applet.c:
14454         * gnome/applet/applet.h:
14455         Partial backout of Dan's timeout animation patch.
14456         Timeout IDs cannot legally be 0, so revert the code in place to handle
14457         a timeout ID of 0 to denote the timeout isn't running.
14458
14459 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14460
14461         * src/NetworkManagerPolicy.c:
14462         (nm_policy_device_change_check) Clarify wireless switch nm_info text
14463
14464 2005-10-28  Robert Love  <rml@novell.com>
14465
14466         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
14467           "Import Saved Configuration..." to make it clear that importing is
14468           not the next step, but an option.  As an aside, a nice TODO would be
14469           to move Importing out of the vpn-specific dialog and into the main
14470           property editor, as Importing goes with Adding, but that will require
14471           some rearchitecting of the VPN stuff I suspect.
14472
14473 2005-10-27  Dan Williams  <dcbw@redhat.com>
14474
14475         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
14476         we should replace most of the distro-specific backend code
14477         with libnl stuff.
14478
14479         Get it here:  http://people.suug.ch/~tgr/libnl/
14480
14481         * configure.in
14482           src/Makefile.am
14483                 - Add checks for libnl pkgconfig file
14484                 - Use LIBNL_LIBS & LIBNL_CFLAGS
14485
14486         * src/NetworkManagerSystem.c
14487           src/nm-ip4-config.[ch]
14488                 - Use libnl rather than ioctl() for most things
14489                 - Remove unused functions
14490
14491 2005-10-27  Robert Love  <rml@novell.com>
14492
14493         * src/backends/NetworkManagerSuSE.c: fix warning message text
14494
14495 2005-10-27  Christopher Aillon  <caillon@redhat.com>
14496
14497         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
14498
14499 2005-10-27  Christopher Aillon  <caillon@redhat.com>
14500
14501         * gnome/applet/applet.c: The applet's about dialog can advertise our 
14502         project page <http://www.gnome.org/projects/NetworkManager/>
14503
14504 2005-10-26  Christopher Aillon  <caillon@redhat.com>
14505
14506         * gnome/applet.c: Also use translator credits if we don't have
14507         the new GtkAboutDialog (older versions of GTK+)
14508
14509 2005-10-26  Robert Love  <rml@novell.com>
14510
14511         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
14512           failure; correct usage text for "--no-daemon"
14513
14514 2005-10-25  Dan Williams  <dcbw@redhat.com>
14515
14516         * src/NetworkManagerDevice.c
14517                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
14518                         no scan results
14519                 - (free_process_scan_cb_data): unref the device when freeing results
14520                 - (nm_device_wireless_process_scan_results): free scan results a bit later
14521                         so we don't unref the device underneath ourselves
14522
14523 2005-10-25  Dan Williams  <dcbw@redhat.com>
14524
14525         * Back out 2005-10-24 commit from Tor Krill.  Patch
14526                 causes nameservers never to be removed from named.
14527
14528 2005-10-24  Dan Williams  <dcbw@redhat.com>
14529
14530         Clean up wireless scanning and wireless link probing.
14531
14532         * src/NetworkManagerDevice.c
14533                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
14534                         just see if there's an activation request on the device, and check the
14535                         current link against the activation request access point's ESSID.
14536                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
14537                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
14538                         don't call process_scan_results() on zero-length data
14539                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
14540                         15 seconds (from 10)
14541
14542 2005-10-24  Dan Williams  <dcbw@redhat.com>
14543
14544         Cleanup some applet stuff:
14545
14546         - Animation timeouts.  If NM died while the applet was animating,
14547                 the applet would not hide itself.  This is now fixed.
14548
14549         - Remove some dead code
14550
14551         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
14552                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
14553
14554         - Track animation timeout using a gboolean rather than the timeout's
14555                 ID, since timeout IDs can legally be 0.
14556
14557 2005-10-24  Dan Williams  <dcbw@redhat.com>
14558
14559         * src/backends/interface_parser.c
14560                 - Add void to function declarations that need it
14561                         to match patch from Engin AYDOGAN
14562
14563         * src/backends/interface_parser.h
14564                 - Remove unused prototype for ifparser_interfaces()
14565
14566         Patch from Engin AYDOGAN <engin@bzzzt.biz>
14567         * src/backends/interface_parser.h:
14568                 - Compile fixes for gcc 4.0.2 (add void)
14569
14570 2005-10-24  Dan Williams  <dcbw@redhat.com>
14571
14572         Patch from Tor Krill <tor@krill.nu>
14573         * src/named-manager/nm-named-manager.c
14574                 - Write more than just the first nameserver to /etc/resolv.conf
14575                 - Write out valid /etc/resolv.conf on exit
14576
14577 2005-10-21  Christopher Aillon  <caillon@redhat.com>
14578
14579         * gnome/applet/applet-dbus-vpn.c:
14580         Get rid of spurious newlines in debug console output
14581
14582 2005-10-21  Christopher Aillon  <caillon@redhat.com>
14583
14584         * src/backends/NetworkManagerGentoo.c:
14585         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
14586
14587 2005-10-20  Robert Love  <rml@novell.com>
14588
14589         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
14590           direct comparison of floating point values, which is never correct.
14591           Also some misc. cleanup.
14592
14593 2005-10-19  Robert Love  <rml@novell.com>
14594
14595         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
14596
14597 2005-10-19  Robert Love  <rml@novell.com>
14598
14599         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
14600           sensitivity of the buttons.  Specificaly, do the right thing if
14601           there are no entries.
14602
14603 2005-10-19  Christopher Aillon  <caillon@redhat.com>
14604
14605         * configure.in: Update check for adequate wireless-tools
14606         with an AC_TRY_COMPILE for the new symbols we use.
14607
14608 2005-10-19  Dan Williams  <dcbw@redhat.com>
14609
14610         * src/NetworkManagerDevice.c
14611                 - (process_scan_results): don't drop the last (or only)
14612                         access point we see
14613
14614 2005-10-19  Christopher Aillon  <caillon@redhat.com>
14615
14616         * src/backends/NetworkManagerSlackware.c:
14617         Patch from Nico <lordllucifer@gmail.com>
14618                 - Update the Slackware backend.
14619
14620 2005-10-18  Christopher Aillon  <caillon@redhat.com>
14621
14622         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
14623         if we've got GLib 2.8.0
14624
14625 2005-10-18  Robert Love  <rml@novell.com>
14626
14627         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
14628           function nm_schedule_state_change_signal_broadcast() when we
14629           deactivate a device, too.
14630
14631 2005-10-18  Robert Love  <rml@novell.com>
14632
14633         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
14634           be used uninitialized.
14635
14636 2005-10-18  Christopher Aillon  <caillon@redhat.com>
14637
14638         * test/libnm_glib_test.c: Test unregistering, too.
14639
14640 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14641
14642         * configure.in: Bump to 0.5.0
14643
14644 2005-10-17  Dan Williams  <dcbw@redhat.com>
14645
14646         * NetworkManager.h
14647                 - Remove WPA-related constants so they aren't part of the
14648                         upcoming release.
14649
14650 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14651
14652         * gnome/applet/applet.c:
14653         * gnome/applet/applet.h:
14654         Desensitize the 'Connection Information' menu item when there is
14655         no active connection.
14656
14657 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14658
14659         * gnome/libnm_glib/libnm_glib.c:
14660         Make libnm_glib_unregister_callback () actually unregister the callback
14661
14662 2005-10-17  Robert Love  <rml@novell.com>
14663
14664         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
14665           two seconds -- tries is updated every 1/10 of a second, not every
14666           second..
14667
14668 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14669
14670         * gnome/applet/applet-dbus-info.c:
14671         Let D-BUS know that we haven't handled a message when we haven't.
14672
14673 2005-10-17  Robert Love  <rml@novell.com>
14674
14675         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
14676           in order to remain 64-bit clean.
14677
14678 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14679
14680         * gnome/applet/applet-dbus-info.c:
14681         Find network encryption keys asynchronously
14682
14683 2005-10-17  Robert Love  <rml@novell.com>
14684
14685         * src/backends/NetworkManagerDebian.c,
14686           src/backends/NetworkManagerRedHat,
14687           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
14688           comment delimiter.
14689
14690 2005-10-17  Robert Love  <rml@novell.com>
14691
14692         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
14693           "/etc"
14694
14695 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14696
14697         * src/NetworkManagerDevice.c: (process_scan_results)
14698         Fix logic that checks to see whether we have an ESSID.
14699
14700 2005-10-15  Dan Williams  <dcbw@redhat.com>
14701
14702         Move scanning code into NetworkManager rather than use iwlib's
14703         iw_scan() function, so that we can figure out AP capabilities.
14704
14705         * NetworkManager.h
14706                 - Add AP capability bits
14707
14708         * src/NetworkManagerAP.[ch]
14709                 - Add capability field to NMAccessPoint structure
14710                 - Add WPA & RSN Information Element fields and accessor
14711                         functions to NMAccessPoint
14712
14713         * src/NetworkManagerDevice.c
14714                 - Remove usage of iw_scan
14715                 - Add scanning code to NetworkManager rather than use
14716                         iw_scan() from iwlib
14717
14718         * src/NetworkManagerUtils.[ch]
14719                 - (nm_dispose_scan_results): remove, unused
14720
14721 2005-10-14  Christopher Aillon  <caillon@redhat.com>
14722
14723         * gnome/libnm_glib/libnm_glib.c:
14724         * gnome/libnm_glib/libnm_glib.h:
14725         Use guint instead of gint for callback IDs.
14726
14727 2005-10-12  Christopher Aillon  <caillon@redhat.com>
14728
14729         * gnome/applet/applet.c:
14730         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
14731         every 1000ms.  It will unconditionally call nmwa_update_state which
14732         kills the existing animation timeout and registers a new one with a
14733         callback to draw a new frame every 100ms.  There are 11 connecting
14734         icon frames, so the last 2 frames kept getting dropped.  Only reset
14735         the animation timeout if we aren't animating.
14736
14737 2005-10-11  Dan Williams  <dcbw@redhat.com>
14738
14739         * gnome/applet/applet-dbus-devices.c
14740                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
14741                         We want to grab the product & vendor from net.physical_dev
14742                         rather than info.parent.
14743
14744 2005-10-11  Dan Williams  <dcbw@redhat.com>
14745
14746         * src/NetworkManagerDevice.c
14747                 - Use the driver's WE version for scanning rather than
14748                         the WE version NM was compiled with.  Fixes random
14749                         crashes in iw_scan () in iwlib.
14750
14751 2005-10-10  Dan Williams  <dcbw@redhat.com>
14752
14753         * Remove nm_system_load_device_modules() from backend files
14754                 and from NetworkManager.c
14755
14756 2005-10-10  Dan Williams  <dcbw@redhat.com>
14757
14758         * src/NetworkManagerPolicy.c
14759                 - Fix some bugs introduced by the capabilities patch
14760
14761 2005-10-10  Dan Williams  <dcbw@redhat.com>
14762
14763         * gnome/applet/applet-dbus-info.c
14764                 - (nmi_dbus_get_network_key): hide the menu when putting up
14765                         the keyring dialog.  (not sure if the code is right...)
14766
14767 2005-10-09  Dan Williams  <dcbw@redhat.com>
14768
14769         Patch from Bill Moss <bmoss@clemson.edu>
14770         * src/NetworkManagerDevice.c
14771                 - (nm_device_set_user_key_for_network): don't try to set auth
14772                         mode on the AP from the allowed list if it's NULL
14773
14774 2005-10-09  Dan Williams  <dcbw@redhat.com>
14775
14776         * Replace the "driver support level" stuff with capabilities.  The
14777                 capability field is a bitfield that is more flexible than the
14778                 old driver support level thing.  It's mostly so we can easily
14779                 figure out what supports WPA and what doesn't, but should be
14780                 quite useful later.
14781
14782 2005-10-09  Dan Williams  <dcbw@redhat.com>
14783
14784         * test/nmtest.c
14785                 - Removed
14786
14787         * test/nm-tool.c
14788           test/Makefile.am
14789                 - Added new "nm-tool" tool that gives quite a bit more
14790                         information
14791
14792 2005-10-07  Robert Love  <rml@novell.com>
14793
14794         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
14795           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
14796           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
14797           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
14798           appropriate
14799
14800 2005-10-07  Robert Love  <rml@novell.com>
14801
14802         * configure.in: Change our compile flags for the betterment of mankind.
14803           Add "-Wstrict-prototypes" because we comply anyhow and missing a
14804           prototype is very bad on 64-bit platforms as types default to int but
14805           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
14806           "-Wmissing-declarations" to warn if we define an exported function
14807           but fail to put it in a header.
14808
14809 2005-10-07  Robert Love  <rml@novell.com>
14810
14811         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
14812           by the name nm_update_device_wireless_timeouts() and once tried,
14813           without success, to steal my pet turtle.
14814
14815 2005-10-07  Robert Love  <rml@novell.com>
14816
14817         * Cleanup prototypes: put some functions in header files and mark
14818           others as 'static' -- feel free to invert
14819         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
14820           nm_vpn_manager_vpn_connection_list_copy()
14821         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
14822           nm_vpn_service_get_dbus_connection()
14823         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
14824           nm_vpn_manager_vpn_connection_list_copy()
14825         * src/vpn-manager/nm-vpn-service.c: make
14826           nm_vpn_service_act_request_failed() and
14827           nm_vpn_service_stage2_daemon_wait() static
14828         * src/vpn-manager/nm-vpn-service.h: add prototype for
14829           nm_vpn_service_get_dbus_connection()
14830
14831 2005-10-06  Christopher Aillon  <caillon@redhat.com>
14832
14833         * gnome/applet/applet.c:
14834         * gnome/applet/applet.h:
14835         * gnome/applet/icons/Makefile.am:
14836         Convey information about the current connection stage in the
14837         icons themselves instead of creating a separate progress bar.
14838
14839 2005-10-04  Robert Love  <rml@novell.com>
14840
14841         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
14842           convert an ether_addr structure's MAC into a string, because the
14843           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
14844           versus 07:3B:04, while the former will not.
14845
14846 2005-10-04  Robert Love  <rml@novell.com>
14847
14848         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
14849           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
14850           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
14851           default route in the 'Connection Information' dialog, send primary
14852           and secondary name servers in in "getProperties" DBUS method, add
14853           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
14854           secondary domain name servers are crucial pieces of information
14855           that a user might need in debugging a network problem.
14856
14857 2005-10-04  Robert Love  <rml@novell.com>
14858
14859         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
14860           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
14861           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
14862           default route in the 'Connection Information' dialog, send default
14863           route in "getProperties" DBUS method, add network_device_set_route(),
14864           and network_device_get_route().  The Gateway is a crucial piece of
14865           connection-related information that a user might need in debugging a
14866           network problem.
14867
14868 2005-10-03  Robert Love  <rml@novell.com>
14869
14870         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
14871           NULL.
14872
14873 2005-10-02  Dan Williams  <dcbw@redhat.com>
14874
14875         * Shorten time taken to sleep by fastpathing bits of device deactivation
14876                 necessary for sleep.
14877
14878         * Fix issue where deactivating a device might deactivate the active
14879                 VPN connection, even if the VPN was not using the device.
14880
14881 2005-10-02  Dan Williams  <dcbw@redhat.com>
14882
14883         * gnome/applet/applet.c
14884                 - Adjust signal strength -> icon mapping values slightly
14885                         (so that 51% signal doesn't show a 75% icon) by adding
14886                         5% to the values. ex: > 5% now shows 25% icon, > 30%
14887                         shows 50% icon, etc.
14888
14889 2005-09-29  Robert Love  <rml@novell.com>
14890
14891         * src/NetworkManager.c: removed unused variable.
14892
14893 2005-09-28  Dan Williams  <dcbw@redhat.com>
14894
14895         Support for named + DBus, using Red Hat DBus patches for named.  You
14896         can find those patches here, with "dbus" in the patch's filename:
14897
14898                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
14899
14900         Don't forget the named dbus service file either.
14901
14902         Instead of writing a config file and spawing a named process, NM will
14903         use an already-running dbus-enabled named if it finds one.  NM will
14904         update named's forwarder configuration on the fly using dbus.
14905
14906         If there is no dbus-enabled named running, NM will automatically fall
14907         back to writing the most-recent DNS server information to /etc/resolv.conf
14908         and calling nm_system_update_dns() to kick the system's resolver.
14909
14910         Accordingly, all named-related configure-time options have been removed.
14911
14912 2005-09-26  Robert Love  <rml@novell.com>
14913
14914         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
14915           ISDN support!
14916         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
14917           bug in error path if "ASKPASSWORD" is "no".
14918
14919 2005-09-26  Robert Love  <rml@novell.com>
14920
14921         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
14922           comment in /etc/resolv.conf -- ';' is not.
14923
14924 2005-09-19  Dan Williams  <dcbw@redhat.com>
14925
14926         * src/backends/NetworkManagerRedHat.c:
14927         * src/backends/NetworkManagerDebian.c:
14928         * src/backends/NetworkManagerSlackware.c:
14929         * src/backends/NetworkManagerGentoo.c:
14930         * src/backends/NetworkManagerSUSE.c:
14931         Fix invocations of "/sbin/ip address" to use short form instead
14932
14933 2005-09-19  Christopher Aillon  <caillon@redhat.com>
14934
14935         * src/nm-dbus-device.c: Don't assert when getting
14936         addresses of a not yet connected interface.
14937
14938         * gnome/applet/applet.c: Free icons if loading fails.
14939         Use translator-credits so translators can make themselves known.
14940
14941 2005-09-15  Christopher Aillon  <caillon@redhat.com>
14942
14943         * src/NetworkManagerAP.c:
14944         * src/NetworkManagerAP.h:
14945         * src/NetworkManagerDevice.c:
14946         Set a blacklist for certain common manufacturer default ESSIDs:
14947         APs with these ESSIDs are extremely likely to be completely
14948         different networks: connecting to one should not make NM
14949         auto-connect to every other AP with the same default ESSID.
14950
14951 2005-09-12  Christopher Aillon  <caillon@redhat.com>
14952
14953         * gnome/applet/wireless-applet.glade:
14954         The passphrase entry should also activate the default
14955
14956         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
14957
14958         * gnome/applet/applet-dbus-devices.c:
14959         * gnome/applet/applet.c:
14960         * gnome/applet/nm-device.c:
14961         * gnome/applet/nm-device.h:
14962         * src/NetworkManagerUtils.c:
14963         * src/NetworkManagerUtils.h:
14964         * src/nm-dbus-device.c:
14965         I've got a fever, and the only cure for it is less ioctl.
14966         Make NM push IP data rather than make the applet open a socket
14967         to the device.
14968
14969 2005-09-10  Christopher Aillon  <caillon@redhat.com>
14970
14971         * gnome/applet/applet.c:
14972         * gnome/applet/applet-dbus-devices.c:
14973         * gnome/applet/applet-dbus-info.c:
14974         * gnome/applet/passphrase-dialog.c:
14975         * gnome/libnm_glib/libnm_glib.c:
14976         * gnome/vpn-properties/nm-vpn-properties.c:
14977         * src/autoip.c:
14978         * src/backends/NetworkManagerRedHat.c:
14979         * src/named-manager/nm-named-manager.c:
14980         * src/NetworkManagerAPList.c:
14981         * src/NetworkManager.c:
14982         * src/NetworkManagerDbus.c:
14983         * src/NetworkManagerDevice.c:
14984         * src/NetworkManagerPolicy.c:
14985         * src/NetworkManagerSystem.c:
14986         * src/nm-dbus-device.c:
14987         * src/nm-dbus-nm.c:
14988         * src/vpn-manager/nm-vpn-manager.c:
14989         * src/vpn-manager/nm-vpn-service.c:
14990         * test/libnm_glib_test.c:
14991         * test/nminfotest.c:
14992         * test/nmtestdevices.c:
14993         Fix a bunch of 'unused variable' compiler warnings
14994
14995         * NetworkManager.h:
14996         * gnome/applet/applet-dbus-info.c:
14997         * gnome/applet/applet-dbus-info.h:
14998         * gnome/applet/applet.c:
14999         * gnome/applet/applet.h:
15000         * src/NetworkManager.c:
15001         * src/NetworkManagerDbus.c:
15002         * src/NetworkManagerDbus.h:
15003         * src/NetworkManagerDevice.c:
15004         * src/NetworkManagerDevice.h:
15005         * src/NetworkManagerMain.h:
15006         * src/NetworkManagerWireless.c:
15007         * src/NetworkManagerWireless.h:
15008         * src/nm-dbus-nm.c:
15009         Make NetworkManager be smart about how frequently to scan
15010         based on its current state.  Remove the UI for choosing when
15011         to scan.  Scanning still may disabled completely by the user
15012         via the "Wireless Enabled" menu item.
15013
15014 2005-09-09  Christopher Aillon  <caillon@redhat.com>
15015
15016         * gnome/applet/applet.c:
15017         Also overlay the vpn connecting icons onto the wired icon,
15018         when appropriate.
15019
15020         * gnome/vpn-properties/nm-vpn-properties.glade:
15021         Clean up a few strings to use better grammar and proper casing.
15022
15023 2005-09-08  Christopher Aillon  <caillon@redhat.com>
15024
15025         * gnome/applet/vpn-connection.c:
15026         * gnome/applet/vpn-connection.h:
15027         Add nmwa_vpn_connection_is_activating ()
15028
15029         * gnome/applet/applet.c:
15030         * gnome/applet/applet.h:
15031         * gnome/applet/icons/nm-vpn-connecting*.png:
15032         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
15033         the user know something's happening between clicking the VPN item and it
15034         actually being connected.
15035
15036 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15037
15038         * gnome/applet/applet-dbus-info.c: need to free attributes in the
15039         failure case as well.
15040
15041 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
15042
15043         * gnome/panel/eggtrayicon.[ch]:
15044         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
15045
15046 2005-09-07  Dan Williams  <dcbw@redhat.com>
15047
15048         Patch from Bill Moss <bmoss@clemson.edu>
15049         * src/applet-dbus.c
15050                 - (nmwa_dbus_filter): strip whitespace from beginning
15051                         and end of VPN login banner
15052
15053 2005-09-07  Dan Williams  <dcbw@redhat.com>
15054
15055         * The great VPN Manager rewrite of 2005
15056
15057 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15058
15059         * gnome/applet/menu-items.c:
15060         * gnome/applet/nm-device.c:
15061         * gnome/applet/wireless-network.c:
15062         * gnome/libnm_glib/libnm_glib.c:
15063         * src/NetworkManagerDbusUtils.c:
15064         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
15065         g_malloc0 doesn't return NULL
15066
15067 2005-09-06  Dan Williams  <dcbw@redhat.com>
15068
15069         Patch from Tomislav Vujec <tvujec@redhat.com>
15070         * src/NetworkManagerDevice.c
15071                 - (nm_get_device_by_udi): don't return a device when we
15072                         actually didn't find what we were looking for
15073
15074 2005-09-06  Christopher Aillon  <caillon@redhat.com>
15075
15076         * gnome/applet/applet-dbus-devices.c:
15077         * gnome/applet/applet-dbus-devices.h:
15078         * gnome/applet/applet-dbus.c:
15079         * src/NetworkManagerDbus.c:
15080         * src/NetworkManagerDbus.h:
15081         * src/NetworkManagerDevice.c:
15082         * src/nm-dbus-device.c:
15083         Make NM push updates about active device strength when it changes,
15084         rather than having the applet poll every 2s.
15085
15086 2005-09-05  Christopher Aillon  <caillon@redhat.com>
15087
15088         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
15089         network_device_set_strength
15090
15091 2005-09-04  Dan Williams  <dcbw@redhat.com>
15092
15093         Patch from Bill Nottingham <notting@redhat.com>
15094         * src/NetworkManagerDevice.c
15095                 - (nm_device_activation_cancel): reset the quit_activation flag
15096
15097 2005-09-04  Dan Williams  <dcbw@redhat.com>
15098
15099         * src/nm-activation-request.c
15100                 - (nm_act_request_unref): actually free the structure,
15101                         which we didn't seem to be doing before
15102
15103 2005-09-04  Dan Williams  <dcbw@redhat.com>
15104
15105         Patch from John Palmieri <johnp@redhat.com>
15106         * gnome/applet/applet-dbus-devices.c
15107                 - Fix up unreffing of DBusMessage objects
15108
15109 2005-09-04  Dan Williams  <dcbw@redhat.com>
15110
15111         Patch from John Palmieri <johnp@redhat.com>
15112         * gnome/applet/nm-device.c
15113                 - (nm_device_unref): clear network_device's memory _before_ freeing it
15114
15115 2005-09-02  Christopher Aillon  <caillon@redhat.com>
15116
15117         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
15118
15119 2005-09-02  Bill Nottingham  <notting@redhat.com>
15120
15121         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
15122
15123 2005-09-01  Dan Williams  <dcbw@redhat.com>
15124
15125         * src/NetworkManager.c
15126                 - (nm_remove_device_from_list): rename to nm_remove_device
15127                 - (nm_hal_device_removed): call nm_remove_device()
15128
15129         * src/NetworkManagerDevice.c
15130                 - Change the NMWirelessScanCB member 'reschedule' which
15131                         wasn't used to 'force' to indicate that we need to
15132                         force a scan when adding a device
15133
15134         * src/nm-dbus-nm.c
15135                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
15136                         from the device list
15137                 - (nm_dbus_nm_wake): Re-add all devices to the device list
15138
15139 2005-09-01  Robert Love  <rml@novell.com>
15140
15141         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
15142           and the check "!iface" in the error case is probably never true.
15143
15144 2005-09-01  Dan Williams  <dcbw@redhat.com>
15145
15146         Patch from Bill Nottingham <notting@redhat.com>
15147         * src/backends/NetworkManagerRedHat.c
15148                 - Add initial dialup support to Red Hat/Fedora backend
15149
15150 2005-09-01  Dan Williams  <dcbw@redhat.com>
15151
15152         * gnome/applet/applet-dbus-devices.c
15153                 - Sort both wireless networks and devices again, which got
15154                         broken when removing threading
15155
15156 2005-09-01  Christopher Aillon  <caillon@redhat.com>
15157
15158         * gnome/applet/applet.c:
15159         Only show the "Stop/Start All Wireless Devices" menuitem
15160         if we actually have wireless devices.
15161
15162         * gnome/applet/applet-dbus-info.c:
15163         * gnome/applet/applet.c:
15164         * gnome/applet/other-network-dialog.c:
15165         * gnome/applet/vpn-password-dialog.c:
15166         Drop the gtk_dialog_run () calls in favor of connecting to
15167         "response" signals, needed now that the applet is not threaded.
15168
15169 2005-08-31  Dan Williams  <dcbw@redhat.com>
15170
15171         Patch from Bill Moss <bmoss@clemson.edu>
15172         * src/NetworkManagerDevice.c
15173                 - (nm_device_wireless_scan): fix scan timeout values
15174
15175 2005-08-30  Dan Williams  <dcbw@redhat.com>
15176
15177         * gnome/applet/wireless-applet.glade
15178                 - HIG-ify the Other Wireless Networks dialog a bit more
15179                 - Fix some potential segfaults in the info dialog
15180
15181 2005-08-30  Dan Williams  <dcbw@redhat.com>
15182
15183         * gnome/applet/applet-dbus-devices.c
15184                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
15185
15186 2005-08-30  Dan Williams  <dcbw@redhat.com>
15187
15188         * gnome/applet/applet-dbus.[ch]
15189                 - Remove all the nmwa_dbus_call_method_xxxx functions since
15190                         they weren't being used anyway
15191
15192 2005-08-30  Bastien Nocera  <hadess@hadess.net>
15193
15194         * test/nmtestdevices.c: (print_usage), (main):
15195         Check the number of arguments, and fix a typo
15196
15197 2005-08-29  Dan Williams  <dcbw@redhat.com>
15198
15199         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
15200         * gnome/applet/applet.c
15201                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
15202
15203 2005-08-29  Dan Williams  <dcbw@redhat.com>
15204
15205         * gnome/applet/*
15206                 - Don't use threads any more.  Anything that blocks
15207                         (like gtk_dialog_run()) will  have to get fixed up which
15208                         should happen quickly.  We really only had threads to make
15209                         the animation smooth, and when everything got converted over
15210                         to DBus Pending Calls, the need for threads kind of went away
15211
15212 2005-08-29  Christopher Aillon  <caillon@redhat.com>
15213
15214         * gnome/applet/applet.c: Draw VPN connections as radio items
15215         since we don't yet support multiple VPNs.
15216         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
15217         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
15218
15219 2005-08-29  Dan Williams  <dcbw@redhat.com>
15220
15221         Patch from j@bootlab.org
15222         - Make --without-named work
15223         - Make --with-dhcdbd work correctly
15224
15225 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
15226
15227         * configure.in: Added "ca" to ALL_LINGUAS.
15228
15229 2005-08-26  Christopher Aillon  <caillon@redhat.com>
15230
15231         * Fix up VPN state handling between the applet and NetworkManager,
15232                 so that the applet doesn't show a VPN as connected when one
15233                 really is not
15234                         - The applet no longer has a pointer to the active VPN's
15235                                 name, but tracks each VPNs state individually
15236                         - NM no longer has a "getActiveVPNConnection" method
15237                         - NM no longer broadcasts the "VPNConnectionChange" signal
15238                         - NM now broadcasts a "VPNConnectionStateChange" signal
15239                                 whenever the state of a VPN changes
15240
15241 2005-08-26  Dan Williams <dcbw@redhat.com>
15242
15243         * gnome/applet/applet-dbus-devices.c
15244           gnome/applet/applet-dbus-vpn.c
15245                 - Remove calls to dbus_pending_call_ref() because we already
15246                         "own" the pending call
15247                 - Remove calls to dbus_pending_call_get_completed() because
15248                         when we are in the callback, the pending call is completed
15249                         by definition
15250
15251 2005-08-22  Dan Williams <dcbw@redhat.com>
15252
15253         Patch by Bill Moss <bmoss@clemson.edu>
15254         * src/dhcp-manager/nm-dhcp-manager.c
15255                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
15256                         some time to send out a RELEASE if they like
15257
15258 2005-08-22  Dan Williams <dcbw@redhat.com>
15259
15260         Noticed by Bill Moss <bmoss@clemson.edu>
15261         * src/NetworkManagerDbus.c
15262                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
15263                         instead of just cancelling its activation
15264
15265         * src/NetworkManagerDevice.c
15266                 - (nm_device_deactivate): some small cleanups
15267                 - (nm_device_set_user_key_for_network): deactivate the device
15268                         instead of just cancelling its activation
15269
15270 2005-08-22  Dan Williams <dcbw@redhat.com>
15271
15272         Noticed by Bill Moss <bmoss@clemson.edu>
15273         * src/NetworkManagerDevice.c
15274                 - (nm_device_wireless_scan): fix scan timeout, we were
15275                         waiting way too long for scans to complete
15276
15277 2005-08-22  Dan Williams <dcbw@redhat.com>
15278
15279         Patch from j@bootlab.org:
15280         * src/backends/NetworkManagerDebian.c
15281                 - Make the Debian backend work for static IP again
15282
15283 2005-08-20  Christopher Aillon  <caillon@redhat.com>
15284
15285         * gnome/applet/other-network-dialog.c:
15286         The "Create New Network" and "Connect to Other Network"
15287         dialogs share alot of code, but shouldn't share a window
15288         title.  Give them different ones.
15289
15290         * gnome/applet/wireless-applet.glade:
15291         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
15292         Some more minor UI tweaks.
15293
15294 2005-08-19  Christopher Aillon  <caillon@redhat.com>
15295
15296         * gnome/applet/other-network-dialog.c:
15297         * gnome/applet/wireless-applet.glade:
15298         Also need mnemonic widgets, and underline enabled.
15299
15300 2005-08-19  Dan Williams <dcbw@redhat.com>
15301
15302         * vpn-daemons/vpnc/nm-vpnc-service.c
15303                 - (vpnc_watch_cb): remove no-longer-relevant comment
15304                 - (write_config_option): new function, helper to write
15305                         config options to vpnc's stdin
15306                 - (nm_vpnc_config_write): use the new helper, make the
15307                         code shorter
15308
15309 2005-08-19  Christopher Aillon <caillon@redhat.com>
15310
15311         * gnome/applet/passphrase-dialog.c:
15312         * gnome/applet/wireless-applet.glade:
15313         Make the passphrase dialog response based, and treat
15314         responses other than OK (such as Esc, [X]) as a cancel.
15315
15316 2005-08-18  Christopher Aillon <caillon@redhat.com>
15317
15318         * initscript/Gentoo/NetworkManager:
15319         * initscript/RedHat/NetworkManager:
15320         * initscript/RedHat/NetworkManagerDispatcher:
15321         * initscript/SUSE/networkmanager:
15322         CVS remove these in place of .in replacements
15323
15324         * configure.in:
15325         * initscript/Gentoo/NetworkManager.in:
15326         * initscript/RedHat/NetworkManager.in:
15327         * initscript/RedHat/NetworkManagerDispatcher.in:
15328         * initscript/SUSE/networkmanager.in:
15329         These scripts now are generated so they work still when
15330         NM is built using a bindir other than /usr/bin
15331
15332 2005-08-18  Dan Williams <dcbw@redhat.com>
15333
15334         * gnome/applet/main.c
15335                 - Revert previous change for --no-session since
15336                         --sm-disable does the same thing
15337
15338 2005-08-18  Dan Williams <dcbw@redhat.com>
15339
15340         * gnome/applet/applet-dbus-info.c
15341                 - (nmi_dbus_create_error_message): new function
15342                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
15343                         functions.  Also don't check for both device _and_ network before
15344                         asking for a user's key, because we may not have gotten all our
15345                         networks back from NM quite yet (due to the dbus pending calls
15346                         coming in later).  Fixes a hang in NM/nm-applet.
15347
15348         * src/NetworkManagerDbus.c
15349                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
15350                         slightly more sane manner, even though we are still broken for
15351                         certain other error conditions.
15352                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
15353                         to the info-daemon too
15354
15355         * src/NetworkManagerDevice.c
15356                 - Fix some debug messages to be info messages instead
15357
15358 2005-08-18  Dan Williams <dcbw@redhat.com>
15359
15360         * gnome/applet/main.c
15361                 - Add new "--no-session" parameter that disables applet
15362                         session management, ie for testing
15363
15364 2005-08-18  Christopher Aillon <caillon@redhat.com>
15365
15366         * gnome/applet/other-network-dialog.c:
15367         * gnome/applet/wireless-applet.glade: More mnemonics
15368
15369 2005-08-17  Robert Love  <rml@novell.com>
15370
15371         * initscript/SUSE/networkmanager: update
15372
15373 2005-08-17  Dan Williams  <dcbw@redhat.com>
15374
15375         * Tag NM_0_4_1_RELEASE
15376
15377 2005-08-17  Christopher Aillon  <caillon@redhat.com>
15378
15379         * gnome/applet/applet.c: More translatable string cleanup
15380
15381
15382 2005-08-17  Dan Williams  <dcbw@redhat.com>
15383
15384         * gnome/applet/applet-dbus-info.c
15385                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
15386                         from the dbus message, which tells us to unconditionally
15387                         ask the user for a new key.  Otherwise, we pull the key from
15388                         the keyring and return it.  If we fail to get the key from the
15389                         keyring, we ask the user for a new key.
15390                 - (nmi_dbus_get_network_key): new function to grab the key for
15391                         an essid from the keyring.
15392                 - (nmi_dbus_get_network_properties): don't access the keyring here.
15393                         Also, don't return any key in the dbus message.
15394
15395         * src/NetworkManagerDbus.[ch]
15396                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
15397                         indicate that we unconditionally want a new key.  This function
15398                         is now also used to get keys from the info-daemon which are
15399                         pre-stored, not just for asking the user for a new key.  The
15400                         "new_key" parameter indicates whether or not we wish to ask the
15401                         user for a new key.
15402                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
15403                         info-daemon in the return message, so use NULL instead.  The
15404                         key will be filled in at connect time by calling
15405                         nm_dbus_get_user_key_for_network()
15406
15407         * src/NetworkManagerDevice.c
15408                 - (nm_device_wireless_configure): update for "new_key" param to
15409                         nm_dbus_get_user_key_for_network().  We initially set new_key
15410                         to FALSE to see if we have a stored key in the info-daemon, but
15411                         if the connection is unsuccessful at this stage we request a
15412                         new one
15413
15414 2005-08-17  Dan Williams  <dcbw@redhat.com>
15415
15416         * gnome/applet/icons/nm-no-connection.png
15417           gnome/applet/icons/nm-device-wired.png
15418                 - Use Diana's new RJ45 connector icons
15419
15420 2005-08-17  Dan Williams  <dcbw@redhat.com>
15421
15422         * src/NetworkManagerPolicy.c
15423                 - (nm_policy_device_change_check): clarify switching rules if
15424                         both new and old devices are valid; mainly, don't switch
15425                         away from user-requested wireless connection back to a wired
15426                         one
15427
15428 2005-08-17  Dan Williams  <dcbw@redhat.com>
15429
15430         * gnome/applet/Makefile.am
15431                 - Relocate the applet to /usr/bin since it is no longer
15432                         executed by anything, but directly by the user
15433
15434 2005-08-17  Dan Williams  <dcbw@redhat.com>
15435
15436         Patch from Bill Moss <bmoss@clemson.edu>
15437
15438         * gnome/applet/applet-dbus-info.[ch]
15439                 - (nmi_save_network_info): save timestamp for network if it
15440                         was a change requested by the user
15441                 - (nmi_dbus_update_network_info): get user_requested from dbus
15442                         message and pass to nmi_save_network_info()
15443
15444         * gnome/applet/applet.c
15445                 - (nmwa_update_network_timestamp): remove
15446                 - (nmwa_menu_item_activate): don't set timestamp on networks
15447                         here, only after a successful connect in nmi_save_network_info()
15448
15449         * src/NetworkManagerDbus.[ch]
15450                 - (nm_dbus_update_network_info): pass user_requested into the 
15451                         dbus message
15452
15453         * src/NetworkManagerPolicy.c
15454                 - (nm_policy_activation_finish): pass user_requested to
15455                         nm_dbus_update_network_info()
15456
15457 2005-08-16  Robert Love  <rml@novell.com>
15458
15459         * gnome/applet/applet.c: Better "Dial Up" menu item.
15460
15461 2005-08-16  Robert Love  <rml@novell.com>
15462
15463         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
15464           "Connection Information" menu item.
15465
15466 2005-08-16  Dan Williams  <dcbw@redhat.com>
15467
15468         Patch from j@bootlab.org
15469         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
15470
15471         * configure.in: allow specifying the path to dhcdbd
15472
15473 2005-08-16  Robert Love  <rml@novell.com>
15474
15475         Patch from j@bootlab.org
15476         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
15477           src/backends/interface_parser.h: Debian dialup support.
15478
15479 2005-08-16  Christopher Aillon  <caillon@redhat.com>
15480
15481         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
15482         * gnome/applet/applet.c: Add some mnemonics for VPNC
15483
15484         * vpn-daemons/.cvsignore: fix this up a little bit
15485
15486 2005-08-16  Robert Love  <rml@novell.com>
15487
15488         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
15489           support.
15490
15491 2005-08-16  Christopher Aillon  <caillon@redhat.com>
15492
15493         * gnome/applet/applet.c: Split markup out of translatable strings
15494         and clean up logic a little bit.  (fixes #309012)
15495
15496 2005-08-15  Christopher Aillon  <caillon@redhat.com>
15497
15498         * gnome/vpn-properties/nm-vpn-properties.c:
15499         * gnome/vpn-properties/nm-vpn-ui-interface.h:
15500         * vpn-daemons/vpnc/properties/nm-vpnc.c:
15501         Makeshift fix to remove newlines from translatable strings.
15502         Note that we now return an allocated string, so callers of
15503         get_confirmation_details () must now call g_free () on the
15504         result. (fixes #309033).
15505
15506 2005-08-12  Robert Love  <rml@novell.com>
15507
15508         * gnome/applet/applet-dbus.c: remove newlines from translatable
15509           strings--not needed here anyway. (fix b.g.o #309011)
15510         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
15511
15512 2005-08-11  Robert Love  <rml@novell.com>
15513
15514         * gnome/applet/applet.c: mark string as translatable.
15515
15516 2005-08-11  Robert Love  <rml@novell.com>
15517
15518         * initscript/SUSE/networkmanager: update.
15519
15520 2005-08-11  Dan Williams  <dcbw@redhat.com>
15521
15522         * src/nm-dhcp-manager.c
15523                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
15524                         an gateway returned from DHCP, try to use the address of the DHCP
15525                         server as the gateway instead.  Found by Ralf Ertzinger.
15526
15527 2005-08-10  Robert Love  <rml@novell.com>
15528
15529         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
15530           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
15531
15532 2005-08-10  Dan Williams  <dcbw@redhat.com>
15533
15534         Patch from Bill Moss <bmoss@clemson.edu>
15535         * Consolidate writes of access point information updates to the info daemon
15536                 so that we only do it when the connection to the access point was
15537                 successful.  Also consolidates updates to GConf in the Gnome applet.
15538
15539         * src/nm-netlink-monitor.c
15540                 - Silence compile warning when calling g_object_new()
15541
15542 2005-08-08  Dan Williams  <dcbw@redhat.com>
15543
15544         Patch from Steev <steev@steev.net>:
15545         * src/backends/NetworkManagerGentoo.c
15546                 - Stub new dialup backend functions
15547
15548 2005-08-08  Dan Williams  <dcbw@redhat.com>
15549
15550         Patch from Colin Slater:
15551         * src/backends/NetworkManagerGentoo.c
15552                 - (nm_system_update_dns): Fix exit status check for restarting
15553                         nscd
15554
15555 2005-08-05  Robert Love  <rml@novell.com>
15556
15557         * NetworkManager.h,
15558           gnome/applet/applet-dbus-devices.c,
15559           gnome/applet/applet-dbus-devices.h,
15560           gnome/applet/applet-dbus.c,
15561           gnome/applet/applet.c,
15562           gnome/applet/applet.h,
15563           src/NetworkManager.c,
15564           src/NetworkManagerMain.h,
15565           src/NetworkManagerSystem.h,
15566           src/backends/NetworkManagerRedHat.c,
15567           src/backends/NetworkManagerSuSE.c,
15568           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
15569
15570 2005-08-05  Robert Love  <rml@novell.com>
15571
15572         * gnome/applet/other-network-dialog.c: default the adhoc network to the
15573           machine's hostname to make adhoc creation idiot-proof.
15574
15575 2005-08-04  Robert Love  <rml@novell.com>
15576
15577         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
15578           freed.
15579
15580 2005-08-04  Dan Williams  <dcbw@redhat.com>
15581
15582         * gnome/applet/applet-dbus-info.c
15583           gnome/applet/applet-dbus-info.h
15584                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
15585                         to store key, key type, and auth method rather than just auth method
15586                 - (nmi_dbus_update_network_info): new function
15587                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
15588
15589         * gnome/applet/passphrase-dialog.c
15590                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
15591                         of saving the info ourselves
15592
15593         * gnome/libnm_glib/libnm_glib.c
15594                 - Remove the stupid version check for dbus
15595
15596         * src/NetworkManagerAP.c
15597           src/NetworkManagerAP.h
15598                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
15599
15600         * src/NetworkManagerDbus.c
15601           src/NetworkManagerDbus.h
15602                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
15603                         more than just the auth method
15604
15605         * src/NetworkManagerDevice.c
15606                 - Update network info at the appropriate times
15607
15608 2005-07-29  Ray Strode  <rstrode@redhat.com>
15609
15610         * src/NetworkManager.c (nm_info_handler): don't use input as format
15611         string (Spotted by Ian Jackson).
15612
15613 2005-07-27  Dan Williams  <dcbw@redhat.com>
15614
15615         * src/nm-dbus-nm.c
15616           src/nm-dbus-net.c
15617                 - Random cleanups of spacing
15618
15619         * gnome/applet/applet.h
15620           gnome/applet/other-network-dialog.c
15621           gnome/applet/passphrase-dialog.c
15622                 - Conslidate usage of NMWAEncryptionKeyTypes enum
15623
15624         Patch from Bill Moss:
15625                 - Make Other Wireless Networks work again with encryption keys
15626
15627 2005-07-26  Dan Williams  <dcbw@redhat.com>
15628
15629         Patch from Steev <steev@steev.net>:
15630         * src/backends/NetworkManagerGentoo.c
15631           src/backends/Makefile.am
15632                 - Fix up Gentoo backend
15633
15634 2005-07-26  Robert Love  <rml@novell.com>
15635
15636         * src/backends/NetworkManagerSuSE.c: misc. cleanup
15637
15638 2005-07-25  Robert Love  <rml@novell.com>
15639
15640         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
15641           in the same group as the wireless networks, since they are all
15642           mutually exclusive.
15643
15644 2005-07-24  Ray Strode  <rstrode@redhat.com>
15645
15646         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
15647         remove unneeded NULL arg from g_object_new().  Any
15648         warnings caused by not having the extra NULL are just a
15649         result of a bug in glib 2.7.0 - 2.7.2.
15650
15651 2005-07-22  Robert Love  <rml@novell.com>
15652
15653         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
15654
15655 2005-07-22  Robert Love  <rml@novell.com>
15656
15657         * src/nm-netlink-monitor.c: g_object_new() needs at least three
15658           parameters (gcc 4.0.2 warning fix).
15659
15660 2005-07-18  Robert Love  <rml@novell.com>
15661
15662         Suggested by Aaron Bockover (abockover@novell.com)
15663         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
15664           s/Ascii/ASCII
15665         * gnome/applet/passphrase-dialog.c: ditto
15666         * gnome/applet/wireless-applet.glade: ditto
15667
15668 2005-07-13  Dan Williams  <dcbw@redhat.com>
15669
15670         Patch from Ray Strode <halfline@gmail.com>
15671         * vpn-daemons/vpnc/nm-vpnc-service.c
15672                 - Don't let vpnc daemonize, fixes some races with PID file reading
15673
15674 2005-07-13  Dan Williams  <dcbw@redhat.com>
15675
15676         Patch from Ray Strode <halfline@gmail.com>
15677         * Random cleanups for strict CFLAGS
15678
15679 2005-07-07  Dan Williams  <dcbw@redhat.com>
15680
15681         Patch from Derek Atkins <warlord@MIT.EDU>
15682         * src/nm-dbus-net.c:
15683                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
15684
15685 2005-07-07  Dan Williams  <dcbw@redhat.com>
15686
15687         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
15688         * src/backends/NetworkManagerGentoo.c
15689                 - Gentoo backend Static IP nameserver fixes
15690                 - General Gentoo backend goodness
15691
15692 2005-07-07  Dan Williams  <dcbw@redhat.com>
15693
15694         Patch from Bastien Nocera:
15695         * gnome/applet/applet.c
15696                 - Fix up error reporting when icons or glade files are missing
15697
15698 2005-07-07  Robert Love  <rml@novell.com>
15699
15700         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
15701           are not any VPN connections above it.
15702
15703 2005-07-07  Robert Love  <rml@novell.com>
15704
15705         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
15706
15707 2005-07-05  Robert Love  <rml@novell.com>
15708
15709         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
15710           zero.
15711
15712 2005-07-05  Robert Love  <rml@novell.com>
15713
15714         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
15715           on wired or unencrypted wireless.
15716
15717 2005-07-01  Robert Love  <rml@novell.com>
15718
15719         * src/NetworkManagerSystem.c: Print the error via strerror().
15720
15721 2005-06-30  Robert Love  <rml@novell.com>
15722
15723         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
15724           then exit if the glade file is not found.  currently the application
15725           just hangs.
15726
15727 2005-06-30  Robert Love  <rml@novell.com>
15728
15729         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
15730           explicitly up all interfaces on wake from sleep.
15731
15732 2005-06-30  Robert Love  <rml@novell.com>
15733
15734         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
15735           with information about the currently active connection.
15736         * gnome/applet/applet.h: (ditto)
15737         * gnome/applet/wireless-applet.glade: (ditto), new file
15738
15739 2005-06-30  Robert Love  <rml@novell.com>
15740
15741         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
15742         * src/nm-dbus-nm.c: print when we sleep and wake up.
15743         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
15744         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
15745           in /sbin unless D-BUS is, folks).
15746         * README: update to reflect nm-applet replacing NetworkManagerInfo.
15747
15748 2005-06-27  Robert Love  <rml@novell.com>
15749
15750         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
15751           case.
15752
15753 2005-06-27  Robert Love  <rml@novell.com>
15754
15755         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
15756           items radios.
15757
15758 2005-06-26  Robert Love  <rml@novell.com>
15759
15760         * src/NetworkManagerDevice.c: be specific about which device in
15761           nm_info() message.
15762
15763 2005-06-23  Adam Weinberger  <adamw@gnome.org>
15764
15765         * src/nm-netlink-monitor.c: correct spelling error.
15766
15767 2005-06-23  Robert Love  <rml@novell.com>
15768
15769         * gnome/applet/applet-dbus-info.c: gnome keyring support!
15770         * gnome/applet/passphrase-dialog.c: more of that keyring!
15771
15772 2005-06-23  Robert Love  <rml@novell.com>
15773
15774         * configure.in: remove extraneous GNOMEKEYRING directives.
15775         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
15776         * gnome/applet/applet.c: nmwa_icons_init: make style local.
15777         * gnome/applet/passphrase-dialog.c: whitespace.
15778
15779 2005-06-23  Robert Love  <rml@novell.com>
15780
15781         * src/NetworkManagerDevice.c: division in assignment was flipped.
15782
15783 2005-06-23  David Zeuthen  <david@fubar.dk>
15784
15785         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
15786         signal to the child to indicate that we got what we wanted when we
15787         see two new-lines right after each other.
15788         (nmwa_vpn_request_password): Pass a structure with several members
15789         instead of just the passwords
15790
15791 2005-06-23  Dan Williams <dcbw@redhat.com>
15792
15793         * src/NetworkManager.c
15794           src/NetworkManagerMain.h
15795                 - (nm_get_hal_ctx): new function, move Hal initialization code here
15796                 - (nm_hal_init): new function, init libhal context then add devices
15797                 - (nm_hal_deinit): new function, clean up libhal context
15798                 - (nm_data_free): Move Hal cleanup here
15799                 - (main): check whether Hal is running, and if so, get a list of
15800                         network devices from it
15801
15802         * src/NetworkManagerDbus.c
15803                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
15804                         and when it appears, get a list of network devices from it.  If
15805                         Hal goes away, clean up the libhal context
15806
15807 2005-06-22  Robert Love  <rml@novell.com>
15808
15809         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
15810           permissions of scripts before executing.
15811
15812 2005-06-21  Robert Love  <rml@novell.com>
15813
15814         * initscript/SUSE/networkmanager: update.
15815         * src/backends/NetworkManagerSuSE.c: cleanup.
15816
15817 2005-06-21  Robert Love <rml@novell.com>
15818
15819         * gnome/applet/applet.c: use menu mnemonics.
15820         * gnome/applet/menu-items.c: (ditto)
15821
15822 2005-06-21  Robert Love  <rml@novell.com>
15823
15824         * applet/applet-dbus-devices.c: mark non-static functions static.
15825         * applet/applet-dbus-vpn.c: (ditto)
15826         * applet/applet.c: (ditto)
15827         * applet/nm-device.h: (ditto)
15828         * applet/other-network-dialog.c: (ditto)
15829         * applet/passphrase-dialog.c: (ditto)
15830         * NetworkManager.c: (ditto)
15831         * NetworkManagerDbus.c: (ditto)
15832         * NetworkManagerDevice.c: (ditto)
15833         * NetworkManagerPolicy.c: (ditto)
15834         * NetworkManagerUtils.c: (ditto)
15835         * NetworkManagerWireless.c: (ditto)
15836         * NetworkManagerWireless.h: (ditto)
15837         * nm-netlink-monitor.c: (ditto)
15838         * applet/applet-dbus-info.c: (ditto), add FIXME's.
15839         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
15840         * autoip.c: include autoip.h.
15841         * autoip.h: new file.  define get_autoip().
15842         * nm-netlink-monitor.h: define nm_netlink_close_connection().
15843         * NetworkManagerDbus.h: remove duplicate definitions.
15844
15845 2005-06-20  Robert Love  <rml@novell.com>
15846
15847         * Makefile.am: Add missing intltool-foo.in generated files to
15848           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
15849           with the start of stuff to cleanup on 'distclea'.
15850         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
15851           stuff right and 'distcheck' works.
15852         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
15853           we keep it, we need to add all of examples/* to EXTRA_DIST and do
15854           Makefile.am for each.  And systray/Makefile needs to be redone.
15855
15856 2005-06-19  Dan Williams <dcbw@redhat.com>
15857
15858         * src/NetworkManagerDevice.c
15859         - (nm_device_wireless_process_scan_results): scan every 20s when
15860           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
15861
15862 2005-06-19  Dan Williams <dcbw@redhat.com>
15863
15864         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
15865
15866 2005-06-18  Ray Strode <rstrode@redhat.com>
15867
15868         * src/nm-netlink-monitor.c 
15869         (nm_netlink_monitor_event_handler): check for the presence
15870         of either error condition not both. 
15871         
15872         (nm_netlink_monitor_error_handler): emit error signal if
15873         error occurs.
15874
15875         (nm_netlink_monitor_event_handler),
15876         (nm_netlink_monitor_error_handler),
15877         (nm_netlink_monitor_disconnect_handler): if an 
15878         assertion fails disconnect the event handler to prevent 
15879         infinite loops.
15880
15881         * src/nm-netlink-monitor.h: add new error condition
15882         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
15883
15884 2005-06-18  Ray Strode <rstrode@redhat.com>
15885
15886         * src/nm-netlink-monitor.c 
15887         (nm_netlink_monitor_event_handler): remove bogus < 0
15888         check on unsigned value and return early if the kernel
15889         didn't send any bytes.
15890
15891 2005-06-17  Robert Love  <rml@novell.com>
15892
15893         * initscript/SUSE/networkmanager: Change the Provides and default
15894         run levels
15895
15896 2005-06-16  Dan Williams <dcbw@redhat.com>
15897
15898         Patch from Robert Love:
15899         * gnome/applet/applet.c
15900                 - Beautify some applet menu item names
15901
15902 2005-06-17  David Zeuthen  <davidz@redhat.com>
15903
15904         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
15905         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
15906         Also add new methods can_export, import_file and export.
15907
15908         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
15909         to the main UI
15910
15911         * gnome/vpn-properties/nm-vpn-properties.c:
15912         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
15913         nm-vpn-ui-interface.h.
15914         (update_edit_del_sensitivity): Also update "Export" sensitivity
15915         (add_vpn_connection): Also add new SVC_NAME column
15916         (import_settings): New function
15917         (retrieve_data_from_selected_connection): New function
15918         (edit_cb): Use retrieve_data_from_selected_connection to simplify
15919         this function
15920         (export_cb): New function
15921         (init_app): Also setup the "export" widget
15922         (main): Support the --import-service and --import-file commandline
15923         arguments
15924
15925         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
15926         D-BUS 0.34
15927
15928 2005-06-16  Dan Williams <dcbw@redhat.com>
15929
15930         Patch from Robert Love:
15931         * gnome/applet/menu-items.c
15932                 - (network_menu_item_new): pass -1 as wireless network
15933                         menu items height size request rather than ascent / 2
15934
15935 2005-06-16  Dan Williams <dcbw@redhat.com>
15936
15937         * Clean up wording in Wireless Scan Methods menu items and constants
15938
15939 2005-06-16  Robert Love  <rml@novell.com>
15940
15941         * po/POTFILES.in
15942                 - remove gtkcell* files
15943
15944 2005-06-15  Dan Williams <dcbw@redhat.com>
15945
15946         Patch from Robert Love: make the applet stetic
15947
15948         * gnome/applet/Makefile.am
15949                 - Don't compile the gtkcellview and gtkcellrendererprogress files
15950
15951         * gnome/applet/gtkcellview.h
15952           gnome/applet/gtkcellview.c
15953           gnome/applet/gtkcellrendererprogress.h
15954           gnome/applet/gtkcellrendererprogress.c
15955                 - Removed
15956
15957         * gnome/applet/menu-items.c
15958                 - Progress bars are 5:1 size ratio
15959                 - Use GTK progress bars rather than internal ones
15960
15961 2005-06-15  Dan Williams <dcbw@redhat.com>
15962
15963         Patch from Robert Love:
15964         * initscript/SUSE/networkmanager
15965                 - Fix typo
15966
15967 2005-06-15  Dan Williams <dcbw@redhat.com>
15968
15969         * src/backends/NetworkManagerSuSE.c
15970           src/backends/NetworkManagerRedHat.c
15971           src/backends/NetworkManagerDebian.c
15972                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
15973
15974 2005-06-15  Dan Williams <dcbw@redhat.com>
15975
15976         * src/backends/NetworkManagerDebian.c
15977                 - Add nm_system_device_get_use_dhcp() to debian backend
15978
15979         Patch from Kay Sievers:
15980         * src/backends/NetworkManagerSuSE.c
15981                 - Update debian backend for static IP nameservers
15982
15983         * src/NetworkManagerDevice.c
15984                 - Actually set the device to use static IP or DHCP rather
15985                         than always DHCP
15986
15987 2005-06-15  Dan Williams <dcbw@redhat.com>
15988
15989         Patch from Thom May:
15990         * src/backends/NetworkManagerDebian.c
15991                 - Update debian backend for static IP nameservers
15992
15993 2005-06-15  Dan Williams <dcbw@redhat.com>
15994
15995         Patches from Robert Love:
15996         * gnome/applet/wireless-applet.glade
15997                 - Tighten up wording
15998
15999         * src/NetworkManagerDevice.c
16000                 - Remove misplaced ';'
16001
16002         * configure.in
16003           initscript/Makefile.am
16004           initscript/SUSE/Makefile.am
16005           initscript/SUSE/networkmanager
16006                 - Add SUSE initscript
16007
16008 2005-06-12  David Zeuthen  <davidz@redhat.com>
16009
16010         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
16011
16012         * gnome/vpn-properties/nm-vpn-properties.glade: New file
16013
16014         * gnome/vpn-properties/nm-vpn-properties.c: New file
16015
16016         * gnome/vpn-properties/Makefile.am: New file
16017
16018         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
16019         array of passwords
16020
16021         * src/vpn-manager/nm-vpn-manager.c
16022         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
16023         instead of just a single one
16024
16025         * src/vpn-manager/nm-dbus-vpn.c:
16026         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
16027         here
16028         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
16029
16030         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
16031         Change the interface here to give a list of passwords. Also, don't
16032         require username, but do require service
16033
16034         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
16035         the binary for the auth-dialog and use that instead of putting up a
16036         dialog asking for a single password
16037
16038         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
16039         however do remember the service
16040
16041         * gnome/applet/main.c (main): Setup i18n
16042
16043         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
16044         connection to '%s'" to the tooltip if we are connected using VPN
16045         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
16046         key to determine whether we the auth-dialog needs to
16047         reprompt. Also cope with the fact that the auth-dialog now returns
16048         an array of passwords.
16049         (nmwa_menu_configure_vpn_item_activate): New handler for
16050         "Configure VPN..." menu item
16051         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
16052         (is_vpn_available): New function to determine if we got any
16053         NM-compatible VPN software installed
16054         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
16055         items only if we have NM-compatible VPN software installed
16056         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
16057         logic for detecting when VPN connections are removed
16058
16059         * gnome/applet/applet-dbus.h: Removed the prototypes for 
16060         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
16061         since these are defined elsewhere
16062
16063         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
16064         function used to keep track of whether the last attempt succeded
16065         (nmwa_dbus_filter): Update last_attempt according to whether the
16066         VPN connection could be established or not
16067
16068         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
16069         Change prototype to take an array of passwords, not just a single
16070         password
16071
16072         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
16073         update service, not user
16074         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
16075         dbus_active_vpn_name is not NULL before using it
16076         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
16077         string array instead of assuming a single password
16078
16079         * gnome/applet/applet-dbus-info.c:
16080         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
16081         user name; don't read from gconf
16082
16083         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
16084         VPN_NAME_FILES_DIR
16085
16086         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
16087
16088         * configure.in: Add checks for gmodule-2.0.
16089         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
16090         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
16091         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
16092         for details
16093
16094         * vpn-daemons/Makefile.am: Removed
16095
16096         * vpn-daemons/README: New file to describe extensions points for VPN
16097         software
16098
16099 2005-06-10  Dan Williams <dcbw@redhat.com>
16100
16101         * src/backends/NetworkManagerRedHat.c
16102                 - (get_current_profile_name): new function, grab current network profile name from
16103                         /etc/sysconfig/network
16104                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
16105                         update an IP4 Config structure's settings from it
16106                 - (nm_system_device_get_system_config): if we're using static IP on this device,
16107                         get DNS info from current network profile
16108
16109 2005-06-09  Dan Williams <dcbw@redhat.com>
16110
16111         Patch from Robert Love:
16112         * src/NetworkManagerDevice.c
16113           src/NetworkManagerUtils.c
16114                 - 64-bit build fixes
16115
16116 2005-06-09  Dan Williams <dcbw@redhat.com>
16117
16118         Patch from Kay Sievers and Robert Love:
16119         * configure.in
16120           src/backends/Makefile.am
16121           src/backends/NetworkManagerSuSE.c
16122                 - Add SuSE support
16123
16124 2005-06-09  Dan Williams <dcbw@redhat.com>
16125
16126         * NetworkManager.h
16127                 - Add NMWirelessScanMethod enum for scan methods
16128
16129         * gnome/applet/applet-dbus-devices.c
16130                 - (nmwa_dbus_update_scanning_enabled_cb): remove
16131                 - (nmwa_dbus_update_scanning_enabled): remove
16132                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
16133                         since it got removed
16134                 - (nmwa_dbus_enable_scanning): remove
16135
16136         * gnome/applet/applet-dbus-info.c
16137                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
16138                         update the wireless scanning method from NMI
16139                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
16140                         method value to NetworkManager
16141                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
16142
16143         * gnome/applet/applet-dbus-info.h
16144                 - Add prototype for nmi_dbus_signal_update_scan_method
16145
16146         * gnome/applet/applet.c
16147                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
16148                         Wireless Scanning menu based on current wireless scan method
16149                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
16150                         signal for Wireless Scanning menu items, tell NetworkManager the new method
16151                         and update our menu items to make sure the right one is checked
16152                 - (nmwa_set_scanning_enabled_cb): remove
16153                 - (nmwa_context_menu_update): remove references to pause_scanning_item
16154                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
16155                         Scanning menu item
16156                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
16157                         from GConf
16158                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
16159                         so we get notified of preference values too
16160                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
16161
16162         * gnome/applet/applet.h
16163                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
16164                 - Add wireless scan method member to applet data
16165                 - Remove pause_scanning_item, add Wireless Scanning submenu
16166
16167         * src/NetworkManager.c
16168                 - (nm_data_new): default to NM_SCAN_METHOD_ON
16169                 - (main): grab scanning method from NMI if we can
16170
16171         * src/NetworkManagerDbus.c
16172                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
16173                         nm_dbus_update_wireless_scan_method()
16174                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
16175                         from NMI
16176                 - (nm_dbus_nmi_is_running): redundant function, removed
16177                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
16178                         when NMI comes back
16179
16180         * src/NetworkManagerDevice.c
16181                 - (nm_device_is_activated): return TRUE if the device is activated
16182                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
16183                         and we are activated
16184
16185         * src/nm-dbus-nm.c
16186                 - (nm_dbus_nm_set_scanning_enabled): removed
16187                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
16188                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
16189
16190 2005-06-09  Dan Williams <dcbw@redhat.com>
16191
16192         * NetworkManager.h
16193           src/vpn-manager/nm-vpn-service.c
16194                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
16195
16196 2005-05-27  Dan Williams <dcbw@redhat.com>
16197
16198         * vpn-daemons/vpnc/nm-vpnc-service.c
16199                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
16200                         Should fix the bug where the VPN connection terminates the first time.
16201
16202 2005-05-20  Dan Williams <dcbw@redhat.com>
16203
16204         * NetworkManager.h
16205                 - Differentiate VPN config signals between bad VPN config options
16206                         and bad IP config
16207
16208         * gnome/applet/applet-dbus-info.h
16209                 - Add prototypes for wireless network and vpn connection update functions
16210
16211         * gnome/applet/applet-dbus.c
16212                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
16213
16214         * gnome/applet/applet.c
16215                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
16216                         error signals
16217                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
16218                         propogation to NetworkManager
16219                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
16220                         notify propogation to NetworkManager
16221
16222         * src/NetworkManagerDbus.c
16223                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
16224                         are updating so a network can be removed from it if necessary
16225
16226         * src/vpn-manager/nm-vpn-manager.c
16227                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
16228
16229         * vpn-daemons/vpnc/nm-vpnc-service.c
16230                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
16231                 - (nm_vpnc_dbus_signal_launch_failed): remove
16232                 - (nm_vpnc_dbus_signal_connect_failed): remove
16233                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
16234                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
16235                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
16236                         for new generalized error signal function, remove config file stuff
16237                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
16238                         we can write configuration options to it
16239                 - (nm_vpnc_config_file_generate): removed
16240                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
16241                 - (nm_vpnc_config_options_validate): validate the config options we receive
16242                         from NetworkManager to block potential exploits
16243                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
16244                         starting vpnc
16245                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
16246                         to NetworkManager
16247
16248 2005-05-16  Dan Williams  <dcbw@redhat.com>
16249
16250         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
16251                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
16252                         is not "connect"
16253
16254 2005-05-16  Dan Williams  <dcbw@redhat.com>
16255
16256         Patch from Tomislav Vujec <tvujec@redhat.com>
16257         * gnome/applet/applet-dbus-info.c
16258                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
16259                         GConf and pass them to NetworkManager.  New key is 'routes' under
16260                         the VPN connection, and should be a string list
16261
16262         * src/NetworkManagerSystem.c
16263                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
16264                         set them on the device when we set the rest of the VPN config.  Ensure
16265                         they are in the correct format since they are passed directly to the
16266                         command line.
16267
16268         * src/backends/NetworkManagerRedHat.c
16269           src/backends/NetworkManagerDebian.c
16270                 - (nm_system_device_add_route_via_device_with_iface): new function
16271
16272         * src/vpn-manager/nm-dbus-vpn.c
16273                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
16274
16275         * src/vpn-manager/nm-vpn-manager.c
16276                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
16277                         them into the IP4 config functions
16278
16279 2005-05-15  Dan Williams  <dcbw@redhat.com>
16280
16281         From Filip Miletic:
16282         * po/sr.po
16283           po/sr@Latn.po
16284           configure.in
16285                 - Serbian translation added
16286
16287 2005-05-15  Dan Williams  <dcbw@redhat.com>
16288
16289         * dispatcher-daemon/NetworkManagerDispatcher.c
16290                 - (main): sync arguments with NetworkManager and the applet, now use
16291                         "--no-daemon" rather than "daemon=no"
16292                 - (nmd_print_usage): Fix script path in usage message
16293
16294 2005-05-15  Dan Williams  <dcbw@redhat.com>
16295
16296         * src/NetworkManagerDevice.[ch]
16297           src/NetworkManagerPolicy.c
16298           src/NetworkManager.c
16299           src/nm-dbus-nm.c
16300                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
16301                         longer send the DeviceNoLongerActive signal unconditionally, but only
16302                         when the device is actually active.
16303
16304         * dispatcher-daemon/NetworkManagerDispatcher.c
16305                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
16306                         and simplify the logic
16307                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
16308                         we free it later on
16309
16310         * initscript/RedHat/Makefile.am
16311           initscript/RedHat/NetworkManagerDispatcher
16312                 - Add initscript for NetworkManagerDispatcher
16313
16314
16315         Patch from Bill Moss:
16316         * dispatcher-daemon/NetworkManagerDispatcher.c
16317                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
16318
16319         * src/NetworkManagerDbus.c
16320                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
16321                         and DeviceNowActive gets signaled, then the device has a new IP address
16322                         anyway.  There's no need for a separate signal.
16323
16324         * src/NetworkManagerDevice.c
16325                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
16326
16327         * src/NetworkManagerPolicy.c
16328                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
16329                         activates successfully.  This kind of went missing when I reworked the
16330                         activation code.
16331
16332 2005-05-15  Dan Williams  <dcbw@redhat.com>
16333
16334         * configure.in
16335                 - Check for dhcdbd and error if its not found
16336
16337         * src/dhcp-manager/Makefile.am
16338           src/dhcp-manager/nm-dhcp-manager.c
16339                 - Use path to dhcdbd that configure found
16340
16341 2005-05-14  Dan Williams  <dcbw@redhat.com>
16342
16343         * gnome/applet/nm-device.c
16344                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
16345                         sort wireless networks alphabetically
16346
16347         * gnome/applet/applet-dbus-devices.c
16348                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
16349                         before copying them over to the GUI
16350
16351 2005-05-14  Dan Williams  <dcbw@redhat.com>
16352
16353         * src/NetworkManager.c
16354                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
16355                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
16356                         the device list, as does nm_get_active_device() which is called from
16357                         nm_vpn_manager_deactivate_vpn_connection().
16358
16359 2005-05-14  Dan Williams  <dcbw@redhat.com>
16360
16361         * NetworkManager.h
16362                 - Add signals for VPN Launch and Connect failures
16363
16364         * gnome/applet/applet-dbus.c
16365                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
16366
16367         * gnome/applet/applet.c
16368                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
16369                         function to handle all VPN failure messages
16370                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
16371                         function to hanlde all VPN failure  messages
16372                 - (show_warning_dialog): work around focus-stealing prevention
16373
16374         * gnome/applet/other-network-dialog.c
16375           gnome/applet/passphrase-dialog.c
16376                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
16377                         problem where it never enabled for ASCII Key and Hex Key types
16378
16379         * gnome/applet/wireless-applet.glade
16380                 - Add window title to Other Wireless Network Dialog
16381
16382         * src/vpn-manager/nm-dbus-vpn.c
16383                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
16384                         function to handle all VPN failure messages
16385
16386         * src/vpn-manager/nm-vpn-manager.c
16387                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
16388
16389         * vpn-daemons/vpnc/nm-vpnc-service.c
16390                 - (nm_vpnc_dbus_signal_launch_failed): new function
16391                 - (nm_vpnc_dbus_signal_connect_failed): new function
16392                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
16393                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
16394                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
16395                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
16396
16397 2005-05-11  Dan Williams  <dcbw@redhat.com>
16398
16399         * vpn-daemons/vpnc/nm-vpnc-service.c
16400                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
16401                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
16402                         file exists before trying to write it out.
16403
16404 2005-05-10  Dan Williams  <dcbw@redhat.com>
16405
16406     * gnome/applet/applet-dbus-device.c
16407         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
16408             prevented just entering ESSID and leaving key and key type up to
16409             NetworkManager (which should have them already cached)
16410
16411 2005-05-08  Dan Williams  <dcbw@redhat.com>
16412
16413         * src/NetworkManagerPolicy.c
16414                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
16415                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
16416                         fix a situation where NM is told to terminate and the device stops activation,
16417                         but the main thread isn't aware of that because it would never have run
16418                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
16419                         had already quit.
16420
16421         * src/NetworkManagerDevice.c
16422                 - (nm_device_probe_wired_link_state): cosmetic fixes
16423                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
16424                         we've failed to activate or been canceled.
16425                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
16426
16427 2005-05-08  Dan Williams  <dcbw@redhat.com>
16428
16429         * src/NetworkManagerWireless.c
16430                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
16431                         value of WEXT quality structures, and add a debug message when we cannot
16432                         determine any quality % at all
16433
16434 2005-05-08  Dan Williams  <dcbw@redhat.com>
16435
16436         * src/dhcp-manager/nm-dhcp-manager.c
16437                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
16438                         it goes down.
16439
16440 2005-05-06  Dan Williams  <dcbw@redhat.com>
16441
16442         * gnome/applet/applet-dbus-device.c
16443           gnome/applet/applet-dbus-info.c
16444           gnome/applet/applet-dbus.c
16445           gnome/applet/applet.c
16446           gnome/applet/applet.h
16447                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
16448
16449         * gnome/applet/applet-dbus.c
16450                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
16451                         so we notice when wired device's carriers come back on.  Should
16452                         fix issue with wired devices being grayed out even if the cable
16453                         is in, for devices that support carrier detection.
16454
16455         * gnome/applet/applet.c
16456                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
16457                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
16458                         tooltip message
16459                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
16460                         Fix situation where applet wouldn't respond to menu selections
16461
16462         * src/NetworkManager.c
16463           src/NetworkManagerDevice.c
16464           src/NetworkManagerDbus.c
16465           src/NetworkManagerDbus.h
16466                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
16467
16468         * src/NetworkManagerDbus.c
16469                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
16470                         Remove, no longer used or relevant
16471                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
16472                 - (nm_dbus_schedule_device_status_change_signal): add
16473
16474         * src/NetworkManagerDevice.c
16475                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
16476                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
16477                         ie don't deactivate them unless explicitly told to by the user.  Also send
16478                         CARRIER_OFF / CARRIER_ON signals when link changes
16479                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
16480                         Don't print error message when device is no longer around
16481                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
16482                         not just during activation
16483
16484         * src/NetworkManagerPolicy.c
16485                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
16486                         auto-device-selection.
16487                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
16488
16489         * src/NetworkManagerSystem.c
16490                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
16491                         is no longer present (Bill Moss)
16492
16493         * src/backends/shvar.c
16494                 - (svOpenFile): Open read-only to make SELinux happy
16495
16496         * src/backends/NetworkManagerRedHat.c
16497                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
16498                         the path to the ifcfg-* files
16499
16500 2005-05-05  Dan Williams  <dcbw@redhat.com>
16501
16502         * Expose activation stages to NetworkManager clients, like the applet
16503         * Add Diana's progress icons to the applet, cued off NM activation stage
16504         * Use more descriptive tooltips, cued off NM activation stage
16505
16506 2005-05-05  Ray Strode  <rstrode@redhat.com>
16507
16508         * src/nm-netlink-monitor.c:
16509                 - Use clear_event_source instead of g_nullify_pointer() again.
16510
16511 2005-05-05  Dan Williams  <dcbw@redhat.com>
16512
16513         * gnome/applet/main.c
16514                 - Fix session management so the applet is actually managed now
16515
16516         * gnome/applet/passphrase-dialog.c
16517                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
16518
16519 2005-05-05  Dan Williams  <dcbw@redhat.com>
16520
16521         Patch from Bill Moss:
16522         * gnome/libnm_glib/libnm_glib.c
16523                 - Fix for dbus-0.33
16524
16525 2005-05-05  Dan Williams  <dcbw@redhat.com>
16526
16527         Suggestion from Bill Moss:
16528         * src/NetworkManagerSystem.c
16529                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
16530
16531
16532         * src/NetworkManager.c
16533                 - (nm_data_free): move destruction of the various managers after
16534                         release of device list, because deactivating and freeing a device
16535                         requires at least the named manager
16536                 - (nm_poll_and_update_wireless_link_state):
16537                   (nm_device_link_activated):
16538                   (nm_device_link_deactivated):
16539                         don't grab the device list lock when actually updating device
16540                         link status or strength, since nm_device_set_link_active()
16541                         needs to call nm_get_active_device(), which also locks the device list.
16542
16543         * src/NetworkManagerDevice.c
16544                 - (nm_device_set_link_active): if a device's link switches from off->on,
16545                         and it's wired, and the active device is wireless (or there is no
16546                         active device), activate the new device whose link just came on
16547                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
16548                         my only calling the link to the current ap "failed" when more than 2
16549                         consecutive link checks have failed
16550
16551 2005-05-04  Dan Williams  <dcbw@redhat.com>
16552
16553         * src/NetworkManagerDevice.c
16554                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
16555                         but let link_to_specific_ap() do the locking where it needs
16556
16557         Patch from Bill Moss:
16558         * src/NetworkManagerSystem.c
16559                 - Set MTU of VPN devices to 1412
16560
16561 2005-05-04  Dan Williams  <dcbw@redhat.com>
16562
16563         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
16564
16565         * Fix some holes in device activation and retaining the currently connected
16566                 access point
16567
16568 2005-05-03  Dan Williams  <dcbw@redhat.com>
16569
16570         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
16571           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
16572           means you need dhcdbd, which you can get here (get the latest one):
16573
16574                 http://people.redhat.com/jvdias/dhcdbd/
16575
16576           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
16577           interface as dhcdbd.
16578
16579         * Rewrite device activation to facilitate the new DHCP infrastructure and
16580           future improvements.  Its now "activation request" based, ie there is a single
16581           activation request composed of the device, access point, and other info which
16582           follows the entire activation process.  There are 5 stages of the activation
16583           process which correspond to:
16584
16585                 1) Device preparation
16586                 2) Device configuration (bring it up, set ESSID/Key/etc)
16587                 3) IP Config Start (fire off DHCP if we're using it)
16588                 4) IP Config Get (grab config from DHCP or static config files)
16589                 5) IP Config Commit (set device's IP address, DNS, etc)
16590
16591           Note that there is no longer a "scanning" step, since the access point must
16592           be known _before_ activation starts.  If the access point drops out or does
16593           not exist for some reason, the entire activation process fails and must be
16594           restarted for a different access point or device.
16595
16596         Patch from Bill Moss:
16597         * gnome/applet/applet.c
16598                 - Fix type of vpn_failure dialog -> vpn_banner dialog
16599
16600 2005-04-27  Dan Williams  <dcbw@redhat.com>
16601
16602         * gnome/applet/applet-dbus-vpn.c
16603           gnome/applet/applet.c
16604           gnome/applet/applet.h
16605                 - Fix up active VPN handling so that we reliably know when a VPN
16606                         connection has been deactivated
16607
16608         * src/vpn-manager/nm-vpn-manager.c
16609                 - Remove duplicate VPNConnectionChange signal
16610
16611 2005-04-27  Dan Williams  <dcbw@redhat.com>
16612
16613         Patch from Peter Jones:
16614         * Remove usage of varargs to fix crashes on PPC (RH #154336)
16615
16616         Patch from Bill Moss:
16617         * src/NetworkManagerSystem.c
16618                 - Fix checking of return value from ioctl()
16619
16620 2005-04-27  Dan Williams  <dcbw@redhat.com>
16621
16622         * Fix choosing of wireless networks and "Other wireless network..." from the applet
16623         * Warn and exit if icons cannot be found
16624
16625 2005-04-27  Dan Williams  <dcbw@redhat.com>
16626
16627         Patch from Tom Parker:
16628         * Update debian backend
16629
16630 2005-04-27  Dan Williams  <dcbw@redhat.com>
16631
16632         * Merge the applet and the info-daemon, and move the converged
16633                 applet under gnome/applet
16634         * Move libnm_glib to gnome/libnm_glib
16635         * Convert most dbus calls between the applet, info-daemon, and NM
16636                 into async calls
16637         * Fix a few things valgrind noticed
16638         * Make NM broadcast state more reliably
16639
16640 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
16641
16642         * configure.in: Added ne in ALL_LINGUAS
16643
16644 2005-04-15  Dan Williams  <dcbw@redhat.com>
16645
16646         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
16647                 code for dbus 0.2x versions
16648
16649 2005-04-15  Dan Williams  <dcbw@redhat.com>
16650
16651         Patches from Tom Parker:
16652         - Fix memleaks
16653         - Join with worker thread rather than polling for its exit
16654
16655         Patch from Bill Moss:
16656         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
16657
16658 2005-04-15  Dan Williams  <dcbw@redhat.com>
16659
16660         - Fixes to pass 'make distcheck'
16661
16662 2005-04-15  Dan Williams  <dcbw@redhat.com>
16663
16664         Initial VPN Support
16665                 - supports 'vpnc'
16666                 - reworks device IP configuration, backend files have changed and will need
16667                         to be updated for all distributions.  I will try to do what I can for
16668                         them, but I cannot test them.
16669
16670         - Move named directory to src/named-manager
16671         - Make backends directory self-contained
16672
16673 2005-04-06  Dan Williams  <dcbw@redhat.com>
16674
16675         Add debug code for socket/file descriptor leaks.  We register every socket
16676         that we open (except for stuff in dhcpcd/) for tracking, and print out the
16677         list of sockets that we forgot to close on shutdown.  This also consolidates
16678         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
16679
16680 2005-04-06  Dan Williams  <dcbw@redhat.com>
16681
16682         * dhcpcd/dhcpcd.c
16683                 - (dhcp_interface_free): fix a file descriptor leak that may have
16684                         caused network drivers to not unload due to refcounts > 0
16685
16686 2005-04-04  Dan Williams  <dcbw@redhat.com>
16687
16688         * panel-applet/NMWirelessAppletDbus.c
16689                 - (nmwa_dbus_call_nm_method): remove some commented code
16690
16691         * src/NetworkManagerAPList.[ch]
16692                 - (nm_ap_list_remove_ap_by_essid): new function
16693
16694         * src/NetworkManagerDevice.c
16695                 - (nm_device_wireless_force_use): remove access points from the ignore list
16696                         when the user forces them
16697
16698         * src/nm-dbus-device.c
16699                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
16700
16701 2005-04-04  Dan Williams  <dcbw@redhat.com>
16702
16703         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
16704
16705 2005-04-04  Dan Williams  <dcbw@redhat.com>
16706
16707         * src/NetworkManagerDevice.c:
16708                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
16709                         of only erroring after the second consecutive scan times out.  Also
16710                         don't exit when the card requires more time than we can give it, just
16711                         log the event and continue.
16712
16713 2005-04-01  Steve Murphy  <murf@e-tools.com>
16714
16715         * configure.in: Added "rw" to ALL_LINGUAS.
16716
16717 2005-04-01  Dan Williams <dcbw@redhat.com>
16718
16719         Perform scans during device activation, if needed.  Both activation 
16720         and scans run in the same GMainContext.  Therefore, if an access point
16721         is not found by the time the device starts activation, it will not
16722         be available until after activation.  We now try to scan during
16723         activation (in nm_wa_test) every 15s so that all available access
16724         points are more likely to be found and available for the activation
16725         procedure.
16726
16727         Also change nm_wireless_link_state_handle() to only update the "best"
16728         AP if we are not forcing a device and if we are not about to change
16729         state.  This attempts to work around a race when forcing a device,
16730         where the forced AP would get cleared out too soon by the link state
16731         checking timeout in the main thread, and the activation attempt with
16732         that AP would fail.
16733
16734 2005-04-01  Dan Williams <dcbw@redhat.com>
16735
16736         * po/POTFILES.in
16737                 - Update with new translatables
16738
16739 2005-03-31  Dan Williams <dcbw@redhat.com>
16740
16741         * panel-applet/NMWirelessAppletDbus.c
16742                 - Fix device names now that hal has changed device parenting for
16743                         network devices.
16744
16745 2005-03-31  Dan Williams <dcbw@redhat.com>
16746
16747         Tighten up handling of wireless devices that don't support wireless
16748         scanning (ie, Orinoco).  Due to restructuring of code, these devices
16749         hadn't been doing pseudo-scanning for a while either and would just
16750         spin waiting for an access point.  They are now manual devices where
16751         the user must choose the access point from the menu every time.  All
16752         "allowed" access points are listed in the applet's menu regardless
16753         of whether or not they can be seen by the card, since it can't scan
16754         anyway.
16755
16756         * src/NetworkManager.c
16757                 - (nm_wireless_link_state_handle): new function, but only update
16758                         the "best" ap for non-scanning devices when its not activating,
16759                         and when no device is being forced on the card
16760                 - (nm_link_state_monitor): split wireless link state handling out
16761                         into separate function
16762
16763         * src/NetworkManagerDevice.c
16764                 - (nm_device_copy_allowed_to_dev_list): new function
16765                 - (nm_device_new): populate non-scanning cards' AP lists with
16766                         access points from the "allowed" list
16767                 - (nm_device_new): don't start a scanning timeout for devices that
16768                         can't scan
16769                 - (nm_device_activation_schedule_finish): new parameter, should be
16770                         the AP that failed to be connected to, pass it on to the
16771                         activation finish function in NetworkManagerPolicy.c
16772                 - (nm_device_activate_wireless): don't ever try to get a new AP
16773                         for non-scanning devices, just fail.  The user must choose
16774                         a new access point manually.
16775                 - (nm_device_activate): grab the AP that failed connection and
16776                         pass it on
16777                 - (nm_device_update_best_ap): Clear the best AP if we don't have
16778                         a link to it, user must manually choose a new one
16779                 - (nm_device_do_pseudo_scan): remove function
16780                 - (nm_device_wireless_process_scan_results): remove bits for non-
16781                         scanning cards since they never get here
16782                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
16783                         and fake the scan list for test devices a bit earlier
16784
16785         * src/NetworkManagerPolicy.c
16786                 - (nm_policy_activation_finish): use the failed_ap that we get
16787                         passed rather than getting the best_ap from the card, which
16788                         may have changed since we were scheduled
16789                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
16790                         update their scan list directly from the allowed list when
16791                         we get updates to the allowed list from NetworkManagerInfo
16792
16793         * src/NetworkManagerPolicy.h
16794                 - New member for failed access point in NMActivationResult
16795
16796   -------------------------------------
16797
16798         Driver Notification patch: notifies the user when their driver
16799                 sucks.  Gives them the option to ignore further insertions
16800                 of the card that has the sucky driver.
16801
16802         * NetworkManager.h
16803                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
16804                         enum and replace it with NO_CARRIER_DETECT and
16805                         NO_WIRELESS_SCAN
16806
16807         * panel-applet/NMWirelessApplet.[ch]
16808                 - Merge essid.glade -> wireless-applet.glade
16809                 - Implement the "Your driver sucks" notification dialog
16810
16811         * panel-applet/NMWirelessAppletDbus.c
16812                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
16813                 - Grab hardware address for each device from NM too
16814                 - Check whether the driver for each device sucks or not whenever
16815                         a new device is noticed
16816
16817         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
16818                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
16819
16820         * src/NetworkManager.c
16821                 - Fix a double-unref on device removal
16822
16823         * src/NetworkManagerUtils.c
16824                 - Set appropriate driver support level on a device that doesn't
16825                         support scanning or carrier detection
16826
16827         * src/nm-dbus-device.c
16828                 - New "getHWAddress" dbus method on devices
16829                 - getSupportsCarrierDetect -> getDriverSupportLevel
16830
16831 2005-03-31  Dan Williams <dcbw@redhat.com>
16832
16833         * src/NetworkManagerDevice.c
16834                 - (nm_device_wireless_scan): Fix leak of scan results in some
16835                         instances
16836
16837 2005-03-29  Dan Williams <dcbw@redhat.com>
16838
16839         * src/NetworkManager.c
16840                 - (nm_poll_and_update_wireless_link_state): make code less indented
16841
16842         Patch from Bill Moss:
16843         * src/NetworkManager.c
16844                 - (nm_device_update_link_state): Update signal strength on wireless
16845                         devices every time we update link state too.
16846
16847 2005-03-29  Dan Williams <dcbw@redhat.com>
16848
16849         * src/NetworkManagerDevice.c
16850                 - (nm_device_set_essid): Work around Orinoco cards which need
16851                         extra time after setting the ESSID
16852
16853 2005-03-29  Dan Williams <dcbw@redhat.com>
16854
16855         * src/NetworkManagerDevice.c
16856                 - Merge one more bit of Peter Jones' completion patch
16857
16858 2005-03-29  Dan Williams <dcbw@redhat.com>
16859
16860         * src/NetworkManagerDevice.c
16861                 - (nm_device_force_use): Fix possible segfault
16862
16863 2005-03-29  Dan Williams <dcbw@redhat.com>
16864
16865         * src/NetworkManagerDevice.c
16866                 - Use iw_get_ext() where we should rather than iw_set_ext()
16867
16868 2005-03-29  Dan Williams <dcbw@redhat.com>
16869
16870         * src/NetworkManagerDevice.c
16871                 - (nm_device_set_up_down): remove check for unsupported devices
16872                         that caused NM to not bring devices up when they were
16873                         added to the device list.
16874
16875 2005-03-28  Dan Williams <dcbw@redhat.com>
16876
16877         * src/NetworkManagerDevice.c
16878                 - (mdio_read): Fix two bugs that caused all devices to fail
16879                         the MII carrier detection support checks
16880
16881 2005-03-26  Dan Williams <dcbw@redhat.com>
16882
16883         * src/NetworkManagerDevice.c
16884                 - (nm_device_wireless_scan): Remove duplicated scanning code
16885
16886 2005-03-25  Dan Williams <dcbw@redhat.com>
16887
16888         * panel-applet/NMWirelessApplet.c
16889                 - (nmwa_about_cb): Add some more contributors
16890                 - (nmwa_update_state): show the applet when there's no connection
16891                 - Enable the "Stop/Resume all wireless devices" option in the
16892                         context menu
16893                 - New "no connection" icon
16894
16895         * src/NetworkManager.c
16896                 - (nm_poll_and_update_wireless_link_state): don't do anything if
16897                         wireless is disabled or we're asleep
16898
16899         * src/NetworkManagerDHCP.c
16900                 - Remove trailing "\n" on debug messages
16901
16902         * src/NetworkManagerDbus.c
16903                 - (nm_dbus_network_status_from_data): new state "asleep"
16904
16905         * src/NetworkManagerDevice.c
16906                 - Merge most of Peter Jones' "completion" patch that greatly reduces
16907                         latency and wait times for most operations
16908                 - (nm_device_wireless_scan): Don't scan when asleep
16909
16910         * src/NetworkManagerPolicy.c
16911                 - (nm_policy_get_best_device): return no device when asleep
16912                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
16913                         for all wireless devices on update, not just active device
16914
16915         * src/NetworkManagerUtils.c
16916                 - Merge Peter Jones' "completion" patch
16917
16918         * src/nm-dbus-nm.c
16919                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
16920                         we're told to disable them
16921                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
16922
16923         * utils/nm-utils.h
16924                 - New variants of the warn/info/error/debug print functions that can take
16925                         variables rather than static strings
16926
16927 2005-03-24  Dan Williams <dcbw@redhat.com>
16928
16929         * src/NetworkManagerUtils.c
16930                 - (nm_get_device_driver_name): driver names are now on the parents of
16931                         "Network Interface" objects, so look for them there
16932
16933 2005-03-24  Dan Williams <dcbw@redhat.com>
16934
16935         * test/nmtest.c
16936                 - Escape some forgotten object paths before we shove them through dbus
16937
16938 2005-03-24  Dan Williams <dcbw@redhat.com>
16939
16940         * dhcpcd/dhcpcd.[ch]
16941           src/NetworkManagerDHCP.c
16942                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
16943                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
16944
16945         * src/NetworkManagerDbus.c
16946                 - spacing cleanups
16947
16948         * src/nm-dbus-dhcp.c
16949                 - Make the API suck less.  There is now only 1 type of each function,
16950                         ie only "getInteger" and no longer also "getIntegerv".  All types
16951                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
16952                         that will never have more than 1 element.  This should simplify
16953                         things greatly.
16954
16955         * test/nm-dhcp-opt-test.c
16956                 - Make the tool not segfault
16957                 - adapt to new DHCP Options API
16958
16959 2005-03-22  Dan Williams <dcbw@redhat.com>
16960
16961         * src/NetworkManager.c
16962                 - (nm_wired_link_deactivated): actually ignore netlink events from
16963                         wireless devices.
16964
16965 2005-03-22  Dan Williams <dcbw@redhat.com>
16966
16967         * src/NetworkManager.c
16968                 - (nm_wired_link_activated): actually ignore netlink events from
16969                         wireless devices.
16970
16971 2005-03-17  Dan Williams <dcbw@redhat.com>
16972
16973         Patch from Tom Parker:
16974         * src/nm-netlink-monitor.c
16975                 - Include unistd.h
16976         * info-daemon/NetworkManagerInfoDbus.c
16977                 - (nmi_dbus_update_network_auth_method): free GConf values
16978
16979         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
16980         * src/NetworkManagerDevice.c
16981                 - (nm_device_set_wireless_config): wait for successful
16982                         association longer for some cards (Atheros a/b/g)
16983
16984 2005-03-15  Ray Strode  <rstrode@redhat.com>
16985
16986         * src/NetworkManager.c:
16987         (sigterm_pipe_handler):
16988         remove bogus FIXME
16989
16990 2005-03-15  Ray Strode  <rstrode@redhat.com>
16991
16992         * src/NetworkManagerDbus.c:
16993         Fix some sign weirdness that gcc4 doesn't like,
16994         and add a header file so PPC can hopefully find
16995         SIGTRAP
16996
16997 2005-03-14  Ray Strode  <rstrode@redhat.com>
16998         
16999         Fourth (probably working) cut at porting to
17000         dbus 0.30 api and new hal. This cut adds
17001         some new logging macros to make debugging
17002         easier.
17003
17004         * dispatcher-daemon/NetworkManagerDispatcher.c:
17005         * info-daemon/NetworkmanagerInfo.c:
17006         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
17007         * info-daemon/NetworkManagerInfoVPN.c:
17008         * src/NetworkManager.c:
17009         * src/NetworkManagerAP.c:
17010         * src/NetworkManagerAPList.c:
17011         * src/NetworkManagerDHCP.c:
17012         * src/NetworkManagerDbus.c:
17013         * src/NetworkManagerDevice.c:
17014         * src/NetworkManagerPolicy.c:
17015         * src/NetworkManagerSystem.c:
17016         * src/NetworkManagerUtils.c:
17017         * src/NetworkManagerWireless.c:
17018         * src/autoip.c:
17019         * src/nm-dbus-nm.c:
17020         * src/backends/NetworkManagerDebian.c:
17021         * src/backends/NetworkManagerGentoo.c:
17022         * src/backends/NetworkManagerRedHat.c:
17023         * src/backends/NetworkManagerSlackware.c:
17024         use new logging macros.
17025
17026         * dispatcher-daemon/NetworkManagerDispatcher.c:
17027         (nmd_dbus_filter): s/dbus_free/g_free/
17028
17029         * info-daemon/Makefile.am: link in utils library.
17030         * info-daemon/NetworkmanagerInfo.c: use new logging 
17031         macros.
17032         (nmi_dbus_get_network): don't assume enumerations
17033         are 32-bit.
17034         (nmi_dbus_nmi_message_handler): don't free what 
17035         doesn't belong to us.
17036
17037         * libnm_glib/libnm_glib.c:
17038         (libnm_glib_get_nm_status): 
17039         (libnm_glib_init): don't free what doesn't
17040         belong to us.
17041         (libnm_glib_dbus): strdup result, so it doesn't get
17042         lost when message is unref'd.
17043
17044         * panel-applet/NMWirelessAppletDbus.c:
17045         (nmwa_dbus_update_devices): s/dbus_free/g_free/
17046
17047         * src/NetworkManager.c:
17048         (nm_monitor_wired_link_state): request initial status 
17049         dump of all cards when we start up, instead of relying
17050         on /sys/.../carrier.
17051         (nm_info_handler), (nm_set_up_log_handlers): 
17052         log handlers to specify what syslog priorites 
17053         the logging macros default to.
17054
17055         * src/NetworkManagerAPList.c: 
17056         (nm_ap_list_populate_from_nmi):
17057         s/dbus_free_string_array/g_strfreev/
17058
17059         * src/NetworkManagerDbus.c:
17060         (nm_dbus_get_network_object):
17061         validate d-bus message argument types.
17062         Advance message iterator after reading argument,
17063         prepend instead of append to GSList.
17064
17065         * src/NetworkManagerDevice.c:
17066         (nm_device_probe_wired_link_status):
17067         remove redundant /sys in /sys path. remove wrong
17068         contents == NULL means has carrier assumption.
17069
17070         * src/nm-netlink-monitor.c 
17071         (nm_netlink_monitor_request_status): implement
17072         function to ask kernel to dump interface link
17073         status over netlink socket.
17074
17075         * test/*.c: s/dbus_free/g_free/
17076
17077         * utils/nm-utils.h:
17078         (nm_print_backtrace): new macro to print backtrace.
17079         (nm_get_timestamp): new macro to get sub-second precise
17080         unix timestamp.
17081         (nm_info), (nm_debug), (nm_warning), (nm_error):
17082         new logging functions. nm_info just prints,
17083         nm_debug includes timestamp and function,
17084         nm_warning includes function, nm_error includes
17085         backtrace and sigtrap.
17086
17087 2005-03-11  Ray Strode  <rstrode@redhat.com>
17088
17089         Third (unfinished, partially working) cut at porting to 
17090         dbus 0.30 api and new hal.
17091
17092         * info-daemon/NetworkManagerInfoDbus.c:
17093                 don't free null arrays.
17094
17095         * panel-applet/NMWirelessAppletDbus.c: 
17096         * src/nm-dbus-device.c:
17097         * src/nm-dbus-net.c: 
17098         * src/NetworkManagerDbus.c: more 
17099         STRING -> OBJECT_PATH fun
17100         * src/NetworkManagerDevice.c:
17101         * src/NetworkManagerDevice.h:
17102         (rename nm_device_get_link_active): rename to 
17103         nm_device_has_active_link
17104         (nm_device_wireless_link_active): rename to
17105         nm_device_probe_wireless_link_state
17106         (nm_device_wired_link_active): rename to
17107         nm_device_probe_wired_link_state.  Rewrite to
17108         use carrier file since hal doesn't maintain
17109         link state anymore.
17110         (nm_device_update_link_active): rename to
17111         nm_device_update_link_state
17112         * src/NetworkManagerPolicy.c 
17113           (nm_policy_activation_finish): check for NULL
17114           MAC address.
17115
17116         * src/Makefile.am:
17117         * src/NetworkManagerMain.h: 
17118         * src/NetworkManager.c:
17119         * src/nm-netlink-monitor.c:
17120         * src/nm-netlink-monitor.h: New class to support
17121         monitoring wired ethernet link status, since HAL
17122         doesn't export that information anymore.
17123
17124 2005-03-09  Ray Strode  <rstrode@redhat.com>
17125
17126         Second (unfinished, unworking) cut at porting to 
17127         dbus 0.30 api.
17128
17129         * dispatcher-daemon/NetworkManagerDispatcher.c:
17130         * info-daemon/NetworkManagerInfoDbus.c:
17131         * panel-applet/NMWirelessAppletDbus.c:
17132         * src/NetworkManagerDbusUtils.c:
17133         * src/NetworkManagerDbusUtils.h:
17134         * src/nm-dbus-device.c:
17135         * src/nm-dbus-nm.c:
17136         * test/nmtest.c: support dbus "object path" type
17137
17138         * configure.in: 
17139         * Makefile.am:
17140         * info-daemon/Makefile.am:
17141         * libnm_glib/Makefile.am:
17142         * panel-applet/Makefile.am:
17143         * dispatcher-daemon/Makefile.am
17144         * src/Makefile.am:
17145         * test/Makefile.am:
17146         * utils/Makefile.am: 
17147         * utils/nm-utils.c: 
17148         * utils/nm-utils.h: new utils static lib
17149
17150 2005-03-07  Ray Strode  <rstrode@redhat.com>
17151
17152         * info-daemon/NetworkManagerInfoDbus.c:
17153         * libnm_glib/libnm_glib.c:
17154         * panel-applet/NMWirelessAppletDbus.c:
17155         * src/NetworkManager.c:
17156         * src/NetworkManagerDbus.c:
17157         * src/NetworkManagerDevice.c:
17158         * src/NetworkManagerUtils.c:
17159         * src/nm-dbus-device.c:
17160         * src/nm-dbus-dhcp.c:
17161         * src/nm-dbus-net.c:
17162         * src/nm-dbus-nm.c:
17163         * test/nminfotest.c:
17164         First (unfinished, unworking) cut at porting to dbus 0.30 api.
17165
17166 2005-03-04  Dan Williams  <dcbw@redhat.com>
17167
17168         * configure.in
17169                 - Mark HEAD as 0.4
17170
17171 2005-03-04  Dan Williams  <dcbw@redhat.com>
17172
17173         Patch from Peter Jones:
17174         - Make stuff work with gcc 4.0
17175
17176 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
17177
17178         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
17179
17180 2005-02-27  Jim Huang  <jserv@kaffe.org>
17181
17182         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
17183
17184 2005-02-27  Dan Williams  <dcbw@redhat.com>
17185
17186         Patch from Bill Moss:
17187         * panel-applet/NMWirelessAppletDbus.c
17188                 - Make sure strength for current access point is up-to-date when we
17189                         update the gui data model
17190
17191 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
17192
17193         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
17194
17195 2005-02-27  Dan Williams  <dcbw@redhat.com>
17196
17197         * src/backends/NetworkManagerRedHat.c
17198                 - (nm_system_init): Kill any dhclient processes lying around as well
17199                         as stopping 'nifd' if its already been started.  NetworkManager
17200                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
17201
17202 2005-02-27  Dan Williams  <dcbw@redhat.com>
17203
17204         * panel-applet/NMWirelessApplet.c
17205                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
17206                         dbus data model, not the GUI data model twice.
17207
17208 2005-02-27  Dan Williams  <dcbw@redhat.com>
17209
17210         * panel-applet/NMWirelessApplet.[ch]
17211           panel-applet/NMWirelessAppletDbus.[ch]
17212                 - Move to incremental network updates.  Instead of blowing away our list
17213                         of devices every time we get a signal from NetworkManager, we now
17214                         incrementally add/remove networks when NetworkManager notifies us that
17215                         a new network has appeared or disappered.  Strength updates now happen
17216                         on-the-fly for each access point as well.  There are now two copies of
17217                         data from NetworkManager: one for the dbus side, and one for the gui side.
17218                         When the dbus side data is modified, it is copied over to the gui side
17219                         so we don't have to hold the data_mutex for long periods of time (and
17220                         therefore block animation of the applet's icon).
17221                 - Clean up some memleaks too
17222
17223         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17224                 - Minor code beautification
17225
17226         * src/NetworkManagerAPList.c
17227                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
17228                         completely new and whether or not an existing one's strength was updated.
17229                         Try to fix multiple access points and signal strength by using the highest
17230                         signal strength in each scan for any given ESSID.
17231
17232         * src/NetworkManagerDbus.[ch]
17233                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
17234                         wireless networks; now we have only WirelessNetworkUpdate which includes
17235                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
17236                 - Kill usage of DbusMessageIter
17237
17238         * src/NetworkManagerDevice.c
17239                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
17240                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
17241                         AP rather than all-at-once.  Also don't ever remove the AP a card is
17242                         currently associated with from the network list.
17243                 - Update for new signals during scan, send out Appeared, Disappeared, or
17244                         StrengthChanged when necessary.
17245
17246 2005-02-25  Dan Williams  <dcbw@redhat.com>
17247
17248         * README
17249                 - Line break the README
17250
17251 2005-02-25  Dan Williams  <dcbw@redhat.com>
17252
17253         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17254                 - Remove usage of gtk_window_set_default_size()
17255
17256         * panel-applet/essid.glade
17257                 - Stick default size here
17258                 - Add in random crap that current glade wants to add in now
17259
17260 2005-02-25  Dan Williams  <dcbw@redhat.com>
17261
17262         * src/backends/NetworkManagerRedHat.c
17263                 - For non-caching-nameserver/non-named case, ensure that nscd is running
17264                         and that we actually tell nscd to reload the hosts cache when it changes
17265
17266 2005-02-25  Dan Williams  <dcbw@redhat.com>
17267
17268         * info-daemon/NetworkManagerInfoDbus.c
17269                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
17270
17271         * test/nminfotest.c
17272                 - Whack usage of DbusMessageIter
17273                 - Clean up DbusError and DbusMessage handling and freeing
17274                 - Remove unused unregister handler
17275
17276         * test/nmtest.c
17277                 - Whack usage of DbusMessageIter
17278
17279         * test/nmtestdevices.c
17280                 - Whack usage of DbusMessageIter
17281
17282 2005-02-25  Dan Williams  <dcbw@redhat.com>
17283
17284         * NetworkManager.h
17285                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
17286                         signal
17287
17288 2005-02-25  Dan Williams  <dcbw@redhat.com>
17289
17290         * named/nm-named-manager.c
17291                 - Ensure that pid and watch variables for child named process get cleared out
17292                         when the child goes away.
17293
17294 2005-02-22  Dan Williams  <dcbw@redhat.com>
17295
17296         * src/NetworkManagerPolicy.c
17297                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
17298                         and NULL out data->active_device so that we have to choose another one.
17299                         This may make NetworkManager keep attempting to connect to a wired network
17300                         if it fails, but if it keeps failing the wired network has more problems than
17301                         just NetworkManager.
17302
17303         * src/backends/NetworkManagerRedHat.c
17304                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
17305                         is already running
17306
17307         * named/nm-named-manager.c
17308                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
17309                         named so that the distro can flush whatever name service caching
17310                         daemon it uses
17311
17312 2005-02-21  Dan Williams  <dcbw@redhat.com>
17313
17314         * src/NetworkManagerDHCP.[ch]
17315                 - (nm_device_dhcp_remove_timeouts): new function
17316
17317         * src/NetworkManagerDevice.c
17318                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
17319                         remove the DHCP timeouts.
17320
17321 2005-02-21  Dan Williams  <dcbw@redhat.com>
17322
17323         * panel-applet/NMWirelessApplet.[ch]
17324           panel-applet/menu-info.[ch]
17325                 - Give the panel applet some major love: menu items are no longer
17326                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
17327                         This allows the applet to actually reflect theme changes correctly,
17328                         since themeing of subclassed items in GTK _sucks_.
17329
17330 2005-02-18  Dan Williams  <dcbw@redhat.com>
17331
17332         * libnm_glib/libnm_glib.[ch]
17333           test/libnm_glib_test.c
17334                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
17335                         and its data, and doesn't have to free the callback data anymore
17336
17337 2005-02-18  Dan Williams  <dcbw@redhat.com>
17338
17339         * panel-applet/NMWirelessApplet.c
17340                 - Revert 2005-02-18 William Jon McCann fix for standard
17341                         copyright string until it passes 'make distcheck'.
17342                         With standard copyright string, xgettext complains
17343                         about "Non-ASCII string at ...".
17344
17345 2005-02-18  Dan Williams  <dcbw@redhat.com>
17346
17347         * panel-applet/essid.glade
17348           panel-applet/NMWirelessAppletOtherNetworksDialog.c
17349                 - Correct spelling of "adaptor"->"adapter"
17350
17351 2005-02-18  William Jon McCann  <mccann@jhu.edu>
17352
17353         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
17354         (nmwa_about_cb): Use standard copyright string.  Update comment
17355         text to reflect that it is a notification area applet.  Remove
17356         leading newline in authors list.
17357         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
17358         instead of on parent menu item activation.  Fixes #167550.
17359
17360 2005-02-18  William Jon McCann  <mccann@jhu.edu>
17361
17362         * panel-applet/essid.glade: Capitalize items as per HIG.
17363           Fixes #167632
17364
17365 2005-02-16  William Jon McCann  <mccann@jhu.edu>
17366
17367         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
17368         files for GTK 2.4 or lower, since now public in GTK 2.6.
17369
17370         * panel-applet/essid.glade: Don't specify window size.
17371         
17372 2005-02-17  Dan Williams  <dcbw@redhat.com>
17373
17374         Caught by Bill Moss:
17375         * dhcpcd/client.c
17376                 - Time remaining for DHCP transaction calculation was incorrectly
17377                         inside a #ifdef DEBUG
17378
17379 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
17380
17381         * configure.in: Added fr (French) to ALL_LINGUAS.
17382
17383 2005-02-14  Dan Williams  <dcbw@redhat.com>
17384
17385         * src/NetworkManagerDHCP.c
17386                 - (set_domain_searches): Fix free of invalid pointer
17387
17388 2005-02-14  Dan Williams  <dcbw@redhat.com>
17389
17390         Patch from Peter Jones:
17391         * dhcpcd/client.c
17392                 - Ensure we return RET_DHCP_CEASED everywhere we should
17393         * dhcpcd/udpipgen.c
17394                 - Use faster TOS for IP packets
17395                 - Don't set ip_id since we're UDP
17396
17397         Patch from Tomislav Vujec:
17398         * src/nm-dbus-dhcp.c
17399           test/nm-dhcp-opt-test.c
17400                 - Clean up warnings to enable cvs tree compilation.
17401
17402 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
17403
17404         * configure.in
17405           po/hr.po
17406                 - Add the Croatian locale.
17407
17408 2005-02-14  Colin Walters  <walters@verbum.org>
17409
17410         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
17411         list of domains to search.
17412         
17413         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
17414
17415 2005-02-13  Dan Williams  <dcbw@redhat.com>
17416
17417         * dhcpcd/client.c
17418                 - Debug output cleanups of DHCP option printing and parsing.
17419
17420 2005-02-13  Dan Williams  <dcbw@redhat.com>
17421
17422         Patch from Dan Reed:  DHCP options D-BUS API
17423                 Exposes the DHCP options that a device receives to clients over D-BUS.
17424
17425         * configure.in
17426                 - A few cleanups
17427
17428         * dhcpcd/client.h
17429                 - Correct names, option length, and types for DHCP options
17430
17431         * dhcpcd/dhcpcd.[ch]
17432                 - Clarify function names that access DHCP options & data
17433
17434         * src/NetworkManagerDHCP.c
17435                 - Use new DHCP data access functions
17436
17437         * src/NetworkManagerDbus.c
17438                 - Message handler for DHCP functions
17439
17440         * src/nm-dbus-dhcp.[ch] (new)
17441                 - DHCP dbus methods
17442
17443         * test/nm-dhcp-opt-test.c
17444                 - Test DHCP D-BUS API and return all present DHCP options
17445
17446 2005-02-12  Dan Williams  <dcbw@redhat.com>
17447
17448         * test/Makefile.am
17449           test/nmclienttest.c
17450           test/nmtest.c
17451                 - Move nmclienttest.c -> nmtest.c
17452
17453 2005-02-12  Dan Williams  <dcbw@redhat.com>
17454
17455         * dhcpcd/buildmsg.c
17456                 - Pad DHCP packets until they are at least 300 bytes in size.
17457
17458 2005-02-11  Dan Williams  <dcbw@redhat.com>
17459
17460         * dhcpcd/client.c
17461                 - (dhcp_init): only print out client ID and class ID if they are specified
17462
17463         * src/NetworkManagerDbus.[ch]
17464           src/nm-dbus-nm.[ch]
17465           src/nm-dbus-device.[ch]
17466           src/nm-dbus-net.[ch]
17467                 - Move NM, Device, and Net functions to separate files and use the
17468                         dbus method list stuff in NetworkManagerDbusUtils.c to do
17469                         method dispatching
17470
17471         * src/NetworkManagerDbusUtils.c
17472                 - Add new validate_method called before each dispatch (if present)
17473                         that can validate the method call
17474
17475         * src/NetworkManagerWireless.c
17476                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
17477                         levels never to be evaluated
17478
17479         Patch from j@bootlab.org
17480         * src/NetworkManagerDevice.c
17481                 - Add typedef for "u64"
17482
17483         * src/backends/NetworkManagerDebian.c
17484                 - Copy in Dave Woodhouse's fixes for IPv6
17485
17486 2005-02-11  Dan Williams  <dcbw@redhat.com>
17487
17488         Patch from Dave Woodhouse for IPv6:
17489         * src/NetworkManagerUtils.c
17490                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
17491                         and multicast addresses
17492
17493         * src/NetworkManagerDevice.c
17494                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
17495                         after bringing up a card.
17496
17497 2005-02-10  Dan Williams  <dcbw@redhat.com>
17498
17499         Patch from Dave Woodhouse:
17500         * src/NetworkManagerSystem.h
17501           src/backends/NetworkManagerDebian.c
17502           src/backends/NetworkManagerGentoo.c
17503           src/backends/NetworkManagerSlackware.c
17504                 - New nm_system_device_add_ip6_link_address() function to add link-local
17505                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
17506
17507         * src/backends/NetworkManagerRedHat.c
17508                 - (nm_system_device_add_ip6_link_address): implement
17509                 - (nm_system_device_flush_addresses): revert to previous behavior of
17510                         flushing all addresses
17511
17512 2005-02-10  Dan Williams  <dcbw@redhat.com>
17513
17514         Patch from Tom Parker:
17515         * src/NetworkManagerDevice.c
17516                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
17517                         mii.h headers are broken, and instead use our own typedefs
17518
17519 2005-02-10  Dan Williams  <dcbw@redhat.com>
17520
17521         * dhcpcd/buildmsg.c
17522                 - (fill_host_and_class_id): only fill in client and class IDs if
17523                         they are set by callers.
17524
17525         * dhcpcd/client.c
17526                 - (class_id_setup): don't autogenerate a class ID, only use one
17527                         we're given, if any.
17528                 - (client_id_setup): don't autogenerate a client ID, only use one
17529                         we're given, if any.
17530
17531         * dhcpcd/dhcpcd.c
17532                 - (dhcp_interface_init): ensure that client options are correctly
17533                         NULL terminated
17534
17535         * src/NetworkManagerDHCP.c
17536                 - (nm_device_dhcp_request): pass hostname to dhcp library
17537
17538 2005-02-10  Dan Williams  <dcbw@redhat.com>
17539
17540         * dhcpcd/client.c
17541                 - #rh147661# Don't send kernel version in DHCP requests
17542
17543         * src/NetworkManagerSystem.h
17544           src/backends/NetworkManagerDebian.c
17545           src/backends/NetworkManagerGentoo.c
17546           src/backends/NetworkManagerRedHat.c
17547           src/backends/NetworkManagerSlackware.c
17548                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
17549                         functions, they are no longer used anyway
17550
17551         * src/backends/NetworkManagerRedHat.c
17552                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
17553                         addresses in an attempt to keep IPv6 local-scope addresses around
17554
17555 2005-02-10  Dan Williams  <dcbw@redhat.com>
17556
17557         * src/NetworkManager.c
17558                 - (nm_create_device_and_add_to_list): change the add message slightly
17559
17560         * src/NetworkManagerUtils.c
17561                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
17562                         Return driver name to calling function
17563                 - (nm_get_driver_support_level): print out the driver a device is using
17564                         during the support check
17565
17566         Patch from Dave Woodhouse:
17567         * dhcpcd/udpipgen.c
17568                 - (in_cksum): copy last byte of odd-sized packets into a
17569                         'u_short' rather than a 'u_char', should fix wrong checksums
17570                         on big-endian platforms
17571
17572 2005-02-09  Dan Williams  <dcbw@redhat.com>
17573
17574         * Clean up usage of GSList objects and looping through their members
17575         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
17576                 now.
17577         * Fix problem where even if scanning was turned off, card would still
17578                 cycle through frequencies.
17579
17580 2005-02-08  Dan Williams  <dcbw@redhat.com>
17581
17582         * panel-applet/NMWirelessApplet.c
17583                 - Fix for gtk 2.4
17584
17585 2005-02-08  Dan Williams  <dcbw@redhat.com>
17586
17587         Patch from Bill Moss
17588         * panel-applet/NMWirelessApplet.c
17589                 - Restore correct ESSID in tooltips
17590
17591 2005-02-07  Dan Williams  <dcbw@redhat.com>
17592
17593         * panel-applet/NMWirelessApplet.[ch]
17594                 - Add a context menu that contains:
17595                         Pause/Resume Wireless Scanning
17596                         Stop/Start All Wireless Devices
17597                         About...
17598                 - Grab active device strength off active device,
17599                         not its network
17600
17601         * panel-applet/NMWirelessAppletDbus.[ch]
17602                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
17603                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
17604                 - Update active device strength every 2 seconds, not every 1 second
17605
17606         * panel-applet/menu-info.c
17607                 - Only disable wired devices in the menu when they support carrier detection,
17608                         and don't currently have a link.  Non-carrier-detect devices will always
17609                         remain choosable
17610
17611         * src/Makefile.am
17612           src/NetworkManagerDbusUtils.[ch]
17613                 - Add new new dbus utils sources
17614
17615         * src/NetworkManager.c
17616                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
17617                         with the boolean parameter
17618                 - Set scanning_enabled & wireless_enabled to TRUE
17619
17620         * src/NetworkManagerDbus.c
17621                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
17622                 - Implement scanning & wireless enable/disable calls
17623                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
17624
17625         * src/NetworkManagerDevice.c
17626                 - New link detection stuff again...
17627                         o  Create device's mainloop earlier (but don't run it earlier)
17628                         o  Hook up new carrier-detect support stuff
17629                         o  Add in the ethtool & mii support detection code
17630                 - Don't scan if scanning is disabled
17631
17632         * src/NetworkManagerPolicy.c
17633                 - Never automatically choose a device that doesn't support carrier detection
17634                 - Don't automatically choose a wireless device if wireless is disabled
17635
17636 2005-02-07  Dan Williams  <dcbw@redhat.com>
17637
17638         * libnm_glib/libnm_glib.c
17639                 - Small cleanup in element list iteration
17640
17641 2005-02-07  Dan Williams  <dcbw@redhat.com>
17642
17643         * src/NetworkManagerWireless.c
17644                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
17645                         to be in line with the WEXT quality specification
17646
17647 2005-02-02  Dan Williams  <dcbw@redhat.com>
17648
17649         Patch from Nathan Fredrickson <nathan@silverorange.com>
17650         * Fix up compile for deprecation of libgnomeui
17651                 - Switch to <glib/gi18n.h> from <libintl.h>
17652                 - Remove <libgnomeui/libgnomeui.h> includes
17653                 - Use gtk_window_set_default_icon_from_file() rather than
17654                         gnome_window_set_default_icon_from_file()
17655
17656         * named/nm-named-manager.c
17657                 - (generate_named_conf): Fix return-nothing in non-void
17658                         function
17659
17660 2005-02-02  Dan Williams  <dcbw@redhat.com>
17661
17662         * Clean up unused variables and the like
17663
17664 2005-02-02  Dan Williams  <dcbw@redhat.com>
17665
17666         * src/NetworkManagerAPList.c
17667                 - (nm_ap_list_merge_scanned_ap): merge strength too
17668
17669         * src/NetworkManagerUtils.c
17670                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
17671                         of locking issues by printing out prettier information than g_mutex_lock
17672                 - Print out names of mutexes registered with nm_register_mutex_desc()
17673                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
17674                         us to seemingly block here for too long
17675
17676         * src/NetworkManager.c
17677           src/NetworkManagerAPList.c
17678           src/NetworkManagerDevice.c
17679                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
17680                         so we get better debug information printed
17681
17682         * src/NetworkManagerDbus.c
17683                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
17684                         since it sometimes has locking side effects
17685                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
17686                         from 10s
17687                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
17688                         we don't need a switch.  This gets called often enough that we can't block
17689                         until the scan mutex is acquired, because we'll block on device activation
17690                         and a few other things, which hangs main thread for too long.
17691
17692         * src/NetworkManagerPolicy.c
17693                 - (nm_policy_auto_get_best_device): reduce the possiblity that
17694                         nm_device_need_ap_switch() will be called               
17695
17696 2005-02-02  Dan Williams  <dcbw@redhat.com>
17697
17698         * panel-applet/NMWirelessApplet.c
17699                 - Display name of wireless network we are connecting to or connected to
17700                         in the tooltip of the applet
17701
17702 2005-02-02  Dan Williams  <dcbw@redhat.com>
17703
17704         * src/NetworkManagerDHCP.c
17705                 - Hopefully fix double-default-route problem by cleaning up the default
17706                         route added by DHCP code right before the DHCP transaction begins
17707
17708 2005-02-02  Dan Williams  <dcbw@redhat.com>
17709
17710         * named/nm-named-manager.c
17711                 - Write out valid resolv.conf when we exit
17712
17713 2005-02-01  Dan Williams  <dcbw@redhat.com>
17714
17715         Patch from Colin Walters:
17716         * named/nm-named-manager.c
17717                 - Make multi-domain search options work
17718
17719 2005-01-31  Dan Williams  <dcbw@redhat.com>
17720
17721         * info-daemon/NetworkManagerInfoDbus.c
17722                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
17723
17724         * src/NetworkManagerDevice.c
17725                 - (nm_device_new): Don't store the entire range struct, use only what we need
17726                         (which is currently avg_quality, max_quality, and frequencies).  Also
17727                         zero device structure when we've free'd it to maybe expose errors down
17728                         the line.
17729                 - (nm_device_update_signal_strength): grab the scan mutex before getting
17730                         quality data from the card since quality will be useless during a scan.
17731                         Call updated wireless qual-to-percent function with values stored in
17732                         nm_device_new() earlier.
17733                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
17734                         nm_device_get_bad_crypt_packets())
17735                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
17736                         nm_device_new()
17737                 - (get_initial_auth_method): always use the Auth method that's in the allowed
17738                         list if available.  Problem was this: when the WEP key is wrong, NM will
17739                         try OS then SK modes, and then get stuck in SK mode after that.  This
17740                         should reset it.
17741                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
17742                         function
17743
17744         * src/NetworkManagerWireless.c
17745                 - (nm_wireless_qual_to_percent): try to make this function actually work and
17746                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
17747                         if that's all present, otherwise fall back to signal-to-noise ratios.
17748
17749 2005-01-29  Dan Williams  <dcbw@redhat.com>
17750
17751         * initscript/RedHat/NetworkManager
17752                 - Don't spit out sysctl stuff to console
17753
17754         * libnm_glib/libnm_glib.c
17755                 - (libnm_glib_init): call dbus_g_thread_init()
17756
17757         * panel-applet/NMWirelessAppletDbus.c
17758                 - (nmwa_dbus_worker): call dbus_g_thread_init()
17759
17760         * src/NetworkManager.c
17761                 - (main): call dbus_g_thread_init()
17762
17763         * src/NetworkManagerAPList.c
17764                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
17765                         so we can actually see what's there in a normal syslog
17766
17767         * src/NetworkManagerDevice.c
17768                 - (nm_device_activate_wireless): print out the "waiting for access point"
17769                         message only once, then say what access point we actually got after
17770                         the wait.
17771                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
17772                         function, wait until the scan is done.  Scans may change the ESSID of
17773                         the card, making this function think we need to switch access points
17774                 - (nm_device_wireless_process_scan_results): for artificial access points
17775                         don't check against the card's ESSID, but the best_ap's ESSID.  This
17776                         prevents collisions with the scanning code, which may change the card's
17777                         ESSID and cause the access point to get dropped from the device's AP
17778                         list.  Also increase the keep-around time to 2m from 60s since the max
17779                         scan interval could be 60s in some cases.
17780
17781         * src/NetworkManagerPolicy.c
17782                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
17783                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
17784                         the new properties and ESSIDs to the device's AP list.  Fixes some races
17785                         between NM and NMI.
17786
17787 2005-01-27  Dan Williams  <dcbw@redhat.com>
17788
17789         * info-daemon/NetworkManagerInfoDbus.c
17790                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
17791                         GConf, make a minimal entry for it (essid & timestamp)
17792
17793         * src/NetworkManagerAPList.c
17794                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
17795                         NetworkManagerInfo isn't running
17796
17797         * src/NetworkManagerDbus.[ch]
17798                 - (nm_dbus_nmi_is_running): new function
17799
17800         * src/NetworkManagerDevice.c
17801                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
17802                         address to garbage.
17803
17804         * src/NetworkManagerPolicy.c
17805                 - (nm_policy_activation_finish): On successful activation, make sure
17806                         the "best" AP has a MAC address, and don't tell NMI to add the
17807                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
17808                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
17809                         access point after refreshing our allowed list if it doesn't already
17810                         have a "best" access point.
17811
17812 2005-01-25  Dan Williams  <dcbw@redhat.com>
17813
17814         * panel-applet/NMWirelessAppletDbus.c
17815                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
17816                         so we check for NM_DBUS_SERVICE rather than not for it
17817
17818         * libnm_glib/libnm_glib.c
17819                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
17820                         ServiceOwnerChanged signal
17821
17822 2005-01-25  Dan Williams  <dcbw@redhat.com>
17823
17824         * configure.in
17825                 - Check DBUS version in configure, and set the C macros
17826                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
17827
17828         * info-daemon/NetworkManagerInfoDbus.c
17829                 - Remove #if 0-d section of code that quit NMI if NM went away.
17830
17831         * panel-applet/NMWirelessAppletDbus.c
17832                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
17833
17834         * src/NetworkManager.c
17835           src/NetworkManagerMain.h
17836           src/NetworkManagerDbus.c
17837                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
17838                 - Make updating of our Allowed Wireless Network lists from NMI
17839                         an idle function in the main thread now, with a high priority.
17840
17841 2005-01-24  Dan Williams  <dcbw@redhat.com>
17842
17843         * panel-applet/gtkcellview.[ch]
17844           panel-applet/menu-info.c
17845                 - Fix GTK version checks to be <= rather than <
17846
17847         * test/Makefile.am
17848                 - Include the libtool archive of libnm_glib rather than
17849                         trying to pull in the .so
17850
17851 2005-01-24  Dan Williams  <dcbw@redhat.com>
17852
17853         * src/NetworkManagerDevice.c
17854           src/NetworkManagerDevicePrivate.h
17855                 - Block nm_device_new() until our device's worker thread has had a
17856                         chance to start up.  Fixes a race between main thread and worker
17857                         thread starting that caused activation requests to get lost.
17858
17859 2005-01-24  Dan Williams  <dcbw@redhat.com>
17860
17861         * initscript/RedHat/NetworkManager
17862                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
17863                         to add the NM startup script at priority 50, which was
17864                         way too early
17865
17866 2005-01-24  Colin Walters  <walters@redhat.com>
17867
17868         * named/named.conf: Use any port for query source instead of
17869         restricting to port 53.
17870
17871 2005-01-24  Dan Williams  <dcbw@redhat.com>
17872
17873         * initscript/RedHat/NetworkManager
17874                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
17875                         to add the NM startup script at priority 50, which was
17876                         way too early
17877
17878 2005-01-24  Dan Williams  <dcbw@redhat.com>
17879
17880         Patch from Tom Parker <palfrey@tevp.net>
17881         * Fix up compile warnings & errors in the wireless applet
17882
17883 2005-01-24  Dan Williams  <dcbw@redhat.com>
17884
17885         * panel-applet/NMWirelessApplet.c
17886                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
17887
17888 2005-01-24  Dan Williams  <dcbw@redhat.com>
17889
17890         * panel-applet/gtkcellview.[ch]
17891                 - Only compile these files for GTK 2.4 or lower, since 
17892                         GtkCellView is now public in GTK 2.6.  Fixes crasher
17893                         when choosing "Other Wireless Networks" from the panel
17894                         applet menu
17895
17896 2005-01-21  Dan Williams  <dcbw@redhat.com>
17897
17898         * src/NetworkManager.c
17899                 - Daemonize earlier so that glib doesn't get confused (?)
17900
17901 2005-01-21  Dan Williams  <dcbw@redhat.com>
17902
17903         * panel-applet/NMWirelessApplet.[ch]
17904           panel-applet/NMWirelessAppletDbus.c
17905           panel-applet/menu-info.c
17906           src/NetworkManagerDevice.c
17907                 - Disable wired devices in the menu when they have no link.
17908
17909 2005-01-21  Dan Williams  <dcbw@redhat.com>
17910
17911         * Cache last-known-good wireless authentication method in
17912                 NetworkManagerInfo, and use that method first during
17913                 wireless device activation.  Should speed up devices that
17914                 need Shared Key authentication method since Open System is
17915                 now the default.
17916
17917         * Remove the hack to not do full activation on wired connections
17918                 that are active when we launch, it causes too many problems
17919                 with name resolution and was a hack in the first place.
17920
17921         * Re-work wireless device activation again somewhat to have a
17922                 clearer chain of events and to use last-known-good
17923                 authentication method of the access point.  Also provide
17924                 better status throughout activation to ensure the applet
17925                 can tell the user exactly what's going on.
17926
17927         * Remove the "find wireless network" code and now simply attempt
17928                 to activate with that access point.  This reduces the delay
17929                 between selecting "Other wireless Network" and actually
17930                 connecting to that network.
17931
17932         * Correctly stop the device's worker thread when its removed.
17933
17934 2005-01-21  Dan Williams  <dcbw@redhat.com>
17935
17936         * dhcpcd/client.c
17937                 - Clean up some of the debug messages
17938
17939 2005-01-21  Dan Williams  <dcbw@redhat.com>
17940
17941         * Add new icons, more frames of animation
17942         * Remove some hacks to get the panel applet to display correct
17943                 status, an NM update will soon follow that will fix the
17944                 real issue.
17945
17946 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
17947
17948         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
17949         the first include for working i18n. Also, don't include it in .h files
17950         * panel-applet/NMWirelessApplet.h: Same
17951         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
17952         * panel-applet/menu-info.c: Same
17953
17954 2005-01-18  Dan Williams <dcbw@redhat.com>
17955
17956         * dhcpcd/client.c
17957                 - Remove some debug messages
17958                 - Wrap others in #ifdef DEBUG/#endif
17959
17960         * src/NetworkManager.c
17961                 - Remove some debug messages
17962                 - Clarify some debug messages
17963                 - Remove code related to old single-thread wireless scanning
17964
17965         * src/NetworkManagerAP.[ch]
17966                 - New AP property "last_seen" to track how recently an AP was
17967                         found in a scan
17968                 - Start using 'const' more in function arguments
17969
17970         * src/NetworkManagerAPList.[ch]
17971                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
17972                         of an AP found in an AP list from a source AP, or if not found
17973                         in the list add the source AP
17974                 - (nm_ap_list_combine): remove, no longer needed
17975
17976         * src/NetworkManagerDevice.c
17977                 - Each device now has a "worker" thread from start to end of its life.
17978                         Scanning for wireless devices now happens in that thread,
17979                         not in a single "wireless scanning thread" for all devices as
17980                         previously.  Activation consists of adding an idle handler to the
17981                         thread's main loop/context, which gets run at the next available
17982                         opportunity.
17983                 - Wireless scanning is also simplified, there is now only one list of
17984                         access points per wireless device, and APs older than 60s are
17985                         removed from the list.  Previously, we kept results for the last
17986                         3 scans and merged whole lists, which was complicated.
17987                 - Cleaned up activation debug messages.
17988                 - Wireless activation and access-point search routines now use Open System
17989                         authentication before trying Shared Key.
17990                 - Removed some code in nm_device_update_best_ap() that could cause cards
17991                         to loose their link to the access point.
17992                 - Scanning now uses a backoff algorithm, where the inverval becomes
17993                         progressively longer between scans when the list of scanned access
17994                         points doesn't change.  A change will revert to the shortest scan
17995                         interval (20s).
17996
17997         * src/NetworkManagerWireless.[ch]
17998                 - Remove code related to old single-thread wireless scanning
17999
18000 2005-01-18  Colin Walters  <walters@redhat.com>
18001
18002         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
18003         of older nameservers.
18004
18005 2005-01-18  Colin Walters  <walters@redhat.com>
18006
18007         * named/nm-named-manager.c (generate_named_conf): Many fixes
18008         to config file generation.
18009         (safer_kill): Remove, was too much trouble for little gain.
18010         (nm_named_manager_start): Run named as NM_NAMED_USER.
18011
18012         * configure.in: Add option --with-named-user.
18013
18014 2005-01-14  Colin Walters  <walters@redhat.com>
18015
18016         Patch from ed@catmur.co.uk (Ed Catmur)
18017
18018         * named/nm-named-manager.c: Add "context" property.
18019         Use it to add child watch source in specific GMainContext.
18020
18021         * src/NetworkManager.c (nm_data_new): Initialize
18022         named with correct main context.  Start named only
18023         after forking.
18024
18025 2005-01-14  Colin Walters  <walters@redhat.com>
18026
18027         * named/nm-named-manager.c (generate_named_conf): Write config
18028         and pid files into NM_NAMED_DATA_DIR; this allows things to
18029         work better with FC3 named SELinux policy.  Also fix up silly
18030         format error.
18031
18032         * configure.in: Add --with-named-dir option.
18033
18034 2005-01-14  Colin Walters  <walters@redhat.com>
18035
18036         * configure.in: Make named support require passing --with-named.
18037
18038         * named/nm-named-manager.c: Support writing resolv.conf directly
18039         without running named.
18040
18041 2005-01-13  Dan Williams <dcbw@redhat.com>
18042
18043         * named/nm-named-manager.c
18044                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
18045
18046         * src/NetworkManagerDevice.c
18047                 - Rework wireless link detection code to be more reliable
18048
18049 2005-01-12  Dan Williams <dcbw@redhat.com>
18050
18051         * initscripts/RedHat/NetworkManager
18052                 - Change initial level to "-" rather than "345" so that
18053                         we don't activate ourselves by default on install
18054
18055 2005-01-12  Dan Williams <dcbw@redhat.com>
18056
18057         * libnm_glib/
18058                 - Client library for applications using glib
18059
18060         * configure.in
18061           various Makefiles
18062                 - Split NM_CFLAGS and NM_LIBS into separate variables
18063                         like DBUS_*, HAL_* and GLIB_*
18064
18065         * src/NetworkManager.c
18066           src/NetworkManagerMain.h
18067                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
18068                         broadcast a status changed signal over DBUS from the main thread.
18069                         Still unused anywhere for the moment.
18070
18071         Patch from j@bootlab.org
18072         * panel_applet/NMWirelessAppletDbus.c
18073           src/NetworkManagerDbus.c
18074                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
18075                         for the "getMode" method call
18076
18077 2005-01-10  Dan Williams <dcbw@redhat.com>
18078
18079         * src/NetworkManagerDevice.c
18080                 - Minor fixups & corrections to "auto" frequency mode, make it
18081                         less chatty with syslog
18082
18083 2005-01-10  Dan Williams <dcbw@redhat.com>
18084
18085         * src/NetworkManagerDevice.c
18086                 - Implement "auto" frequency/channel support, since cards like Atheros
18087                         can't use other frequencies at all when you've told it to use a
18088                         specific one, even for scanning.
18089                 - Grab the scan mutex around places where we can't tolerate wireless
18090                         settings changing underneath us, like nm_device_wireless_network_exists()
18091                         and nm_device_activate_wireless()
18092
18093         * src/NetworkManagerWireless.c
18094                 - Back scan interval off to 20s instead of 14s
18095
18096 2005-01-09  Dan Williams <dcbw@redhat.com>
18097
18098         * src/NetworkManagerDevice.c
18099                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
18100                         already set.  Stops some drivers like Atmel from continually
18101                         reloading the firmware, which they do upon every configuration
18102                         change.
18103
18104 2005-01-09  Dan Williams <dcbw@redhat.com>
18105
18106         * dhcpcd/client.c
18107                 - Use correct timeout value
18108
18109         * info-daemon/NetworkManagerInfoDbus.c
18110           src/NetworkManagerDbus.c
18111                 - Consolidate communication between NM and NMI by doing only 1 dbus
18112                         method call to get Wireless Network info from NMI instead of 6
18113
18114         * src/NetworkManager.c
18115                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
18116                         when we didn't have an AP to use, we'd wait for one forever without
18117                         quitting
18118
18119         * src/NetworkManagerDevice.c
18120                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
18121                         activation, dhcp might not have started yet but we don't quit activation
18122                         before starting it, so the quit signal gets lost
18123
18124 2005-01-07  Dan Williams <dcbw@redhat.com>
18125
18126         * dhcpcd/client.c
18127                 - Rework the DHCP client code to be much less chatty when
18128                         it receives non-DHCP UDP packets during the DHCP run
18129                         (reported by and preliminary patches from Bill Moss)
18130
18131         * Move wireless scanning to a separate thread.  This thread forwards the
18132                 results to the main thread when done where they are integrated into
18133                 the device's access point lists.  This keeps the main thread (which
18134                 does all the DBUS communication) from being blocked for long periods
18135                 of time by wireless scanning.
18136
18137         * Make state modification an idle routine in the main loop, and trigger
18138                 state changes rather than polling for them.
18139
18140         * src/backends/NetworkManagerGentoo.c
18141                 - Fix up invalid C90 code (reported by Christoph Ruessler)
18142
18143         * src/NetworkManagerDevice.c
18144                 - Revert IPv6 patch for wired devices from 2004-12-22 for
18145                         router advertisements, causing problems and infinite loop
18146                         during "best" device determination due to link going up/down
18147                         (reported by Bill Moss)
18148
18149         Apply patch from Peter Jones
18150         * src/NetworkManagerDevice.c
18151                 - Shortcut for link-checking for ipw2x00 cards
18152                 - Split out association check into separate routine
18153
18154 2004-01-05  Colin Walters  <walters@redhat.com>
18155
18156         * named/named.conf: Add PID_FILE.
18157
18158         * named/nm-named-manager.c: Always generate a pid
18159         file, since older BIND versions don't support
18160         "pid-file none".
18161
18162 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
18163
18164         * configure.in (ALL_LINGUAS): Added ja (Japanese).
18165
18166 2004-12-22  Dan Williams <dcbw@redhat.com>
18167
18168         * src/NetworkManagerDevice.c
18169                 - Silently fail when setting bitrate doesn't work
18170
18171
18172         Patches from j@bootlab.org:
18173         * src/backends/NetworkManagerDebian
18174                 - Update backend to match functionality in RedHat backend
18175         * src/NetworkManagerDevice.c
18176                 - Take down then bring up wired devices after connection so
18177                 they send out ipv6 router advertisements
18178
18179 2004-12-21  Colin Walters  <walters@verbum.org>
18180
18181         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
18182         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
18183
18184 2004-12-21  Colin Walters  <walters@redhat.com>
18185
18186         * configure.in: Correct named detection.
18187
18188 2004-12-21  Colin Walters  <walters@redhat.com>
18189
18190         * src/NetworkManager.c (nm_data_new): Initialize named.
18191         Also, set up a signal handler for SIGINT/SIGTERM, and exit
18192         the mainloop when these signals are received.
18193         (nm_data_free): Unref named.
18194         (sigterm_handler, sigterm_pipe_handler): New functions for
18195         exiting mainloop.
18196         
18197         * src/NetworkManagerMain.h (NMData): Add signal handling and
18198         nameserver bits.
18199
18200         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
18201         unref.
18202
18203         * src/NetworkManagerDHCP.c (set_nameservers): New function;
18204         set nameservers from DHCP response data.
18205         (set_domain_search): Set domain search from DHCP response.
18206         (nm_device_dhcp_configure): Invoke them.
18207
18208         * src/NetworkManagerSystem.c
18209         (nm_system_device_update_resolv_conf): Delete.  Deleting
18210         code is totally sweet.
18211
18212         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
18213
18214         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
18215         implements an object which controls a nameserver.  Currently
18216         uses bind 9.
18217
18218         * configure.in: Check for named.
18219
18220         * Makefile.am (SUBDIRS): Add named dir.
18221
18222         * named/named.conf: New template config file.
18223
18224 2004-12-20  Colin Walters  <walters@redhat.com>
18225
18226         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
18227         instead of '='.
18228
18229 2004-12-17  Dan Williams  <dcbw@redhat.com>
18230
18231         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
18232                 link-local addresses instead of doing DHCP.
18233
18234         * In the panel applet, there's a new "Create new Wireless Network..." item
18235
18236         * The panel applet also sticks around now even if NetworkManager dies, but
18237                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
18238                 a bug, I'll fix that later.
18239
18240         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
18241                 lookups after a switch rather than actually doing them.
18242
18243         * Clean up some of those warnings in nm_ap_list_* functions
18244
18245         * Delay between scans changed to 15s instead of 10s
18246
18247 2004-12-15  Dan Williams  <dcbw@redhat.com>
18248
18249         Patch from Tom Parker
18250         * Add autoip/Link Local Addressing support when we fail to get a DHCP
18251                 address
18252
18253         * Longer pause after setting ESSID on cards that support a larger number
18254                 of channels to give the card time to find the right channel
18255
18256         * Add system hook to restart mDNSResponder (or whatever the local implementation
18257                 of Multicast DNS is) when we activate interfaces
18258
18259 2004-12-15  Dan Williams  <dcbw@redhat.com>
18260
18261         * Rework the DHCP code again to revert to sending full ethernet frames
18262                 rather then relying on the kernel to do the right thing with our
18263                 packets.
18264
18265 2004-12-06  Dan Williams  <dcbw@redhat.com>
18266
18267         * dhcpcd/client.c
18268                 - Fix some minor errors in dhcp_handle_transaction() that caused
18269                         unexpected early timeouts of DHCP transactions
18270
18271         * dhcpcd/client.h
18272                 - DHCP retransmit time from 4s -> 5s
18273
18274 2004-12-05  Dan Williams  <dcbw@redhat.com>
18275
18276         * Major rework of the DHCP code, taking some cues from pump.  We don't
18277                 write raw Ethernet packets anymore, which simplifies the code quite
18278                 a bit.  The new code should be more robust, not hang in recvfrom()
18279                 as much, and generally work better.  This also means that we need
18280                 to force HAL/dbus to use a created GMainContext rather than the
18281                 default context, since having the DHCP renew/rebind thread using
18282                 its own GMainContext seemed to give dbus a fit.  There is also more
18283                 debugging information printed from the DHCP loop to help with future
18284                 problems.
18285
18286         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
18287                 assume that the default gateway should be the DHCP server.
18288
18289         Patch from Matthew Schick <matt oss-institute org>
18290         * src/backends/NetworkManagerGentoo.c
18291                 - Fix compilation error due to missing "ip4_broadcast"
18292
18293 2004-12-03  Dan Williams  <dcbw@redhat.com>
18294
18295         * initscript/Makefile.am
18296         * initscript/Debian/NetworkManager
18297         * initscript/Gentoo/NetworkManager
18298         * initscript/RedHat/NetworkManager
18299         * initscript/NMLaunchHelper.c
18300                 - Remove NMLaunchHelper, if you need to wait until the network
18301                         comes up, use the dead code from CVS.
18302
18303 2004-12-01  Colin Walters  <walters@redhat.com>
18304         
18305         * configure.in: Suck in gcc warnings code from Rhythmbox,
18306         but use fewer default flags, and in particular add -Wno-unused,
18307         since the codebase has a lot of unused variables.
18308
18309         * test/nmtestdevices.c (create_device): 
18310         * test/nminfotest.c (get_network_string_property) 
18311         (get_networks_of_type): 
18312         * test/nmclienttest.c (main): 
18313         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
18314         * initscript/NMLaunchHelper.c (get_nm_status): 
18315         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
18316         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
18317         Fix declarations after statements.
18318
18319 2004-12-01  Colin Walters  <walters@redhat.com>
18320
18321         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
18322         (nmi_dbus_get_vpn_userpass): New method.
18323         (nmi_dbus_nmi_message_handler): Invoke it.
18324
18325         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
18326
18327         * info-daemon/NetworkManagerInfoVPN.h,
18328         info-daemon/NetworkManagerInfoVPN.c: New files; responds
18329         to requests for VPN passwords.
18330
18331         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
18332
18333 2004-12-01  Colin Walters  <walters@redhat.com>
18334
18335         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
18336         includes.
18337
18338 2004-12-01  Colin Walters  <walters@redhat.com>
18339
18340         * panel-applet/NMWirelessAppletDbus.c
18341         (nmwa_dbus_update_active_device_strength): Fix missing
18342         return value.
18343
18344 2004-12-01  Colin Walters  <walters@redhat.com>
18345
18346         * panel-applet/NMWirelessApplet.c: Add missing include.
18347
18348 2004-12-01  Colin Walters  <walters@redhat.com>
18349
18350         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
18351         Remove useless CLAMP (); the value is unsigned, and the case tests
18352         qual->qual < 100, so the value must always be between 0 and 100.
18353
18354 2004-12-01  Colin Walters  <walters@redhat.com>
18355
18356         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
18357
18358 2004-11-22  Colin Walters  <walters@verbum.org>
18359
18360         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
18361         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
18362         which is essentially a noop since nscd caches hosts on disk too.
18363         
18364 2004-11-22  Colin Walters  <walters@redhat.com>
18365
18366         * src/Makefile.am (NetworkManager_SOURCES): Add
18367         NetworkManagerDevicePrivate.h.
18368
18369 2004-11-22  Dan Williams <dcbw@redhat.com>
18370
18371         * src/NetworkManagerDevicePrivate.h
18372                 - Split out the NMDevice struct to a different file so that stuff like
18373                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
18374
18375         * dhcpcd/client.c
18376                 - fprintf->syslog
18377                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
18378                         need to cancel the dhcp request during the send and recv
18379
18380         * dhcpcd/client.h
18381                 - Move the DHCP option enum to dhcpcd.h
18382
18383         * src/NetworkManagerDHCP.c
18384                 - Split out the actual IP/netmask/etc setting code
18385                 - New Renew/Rebind functions
18386                 - New timer setup function for renew/rebind operations
18387
18388         * src/NetworkManagerDevice.c
18389                 - For device activation, if we are using DHCP then keep the activation thread
18390                         alive until device deactivation.  We need to renew/rebind the DHCP address
18391                         after the T1 (renew) and T2 (rebind) times have expired.
18392                 - Increase some timeouts after bringing wireless cards up/down
18393
18394 2004-11-17  Dan Williams <dcbw@redhat.com>
18395
18396         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
18397                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
18398                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
18399                 show known access points that don't broadcast their ESSID in the menus without
18400                 any user intervention whatsoever.
18401
18402         * info-daemon/NetworkManagerInfoDbus.c
18403                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
18404                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
18405
18406         * src/NetworkManagerAP.[ch]
18407                 - Add a "user_addresses" data member to the NMAccessPoint structure
18408                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
18409                         the user_addresses data member
18410
18411         * src/NetworkManagerAPList.c
18412                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
18413                         the AP's reported address
18414                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
18415
18416         * src/NetworkManagerDHCP.c
18417                 - Increase DHCP timeout from 25s -> 30s
18418
18419         * src/NetworkManagerDbus.[ch]
18420                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
18421                         user addresses
18422
18423         * src/NetworkManagerDevice.c
18424                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
18425                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
18426                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
18427                         So, we take the card down to clear it out.
18428                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
18429                         too, since that's where the user_addresses are
18430
18431         * src/NetworkManagerPolicy.c
18432                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
18433                         that wireless networks' user_addresses list upon successful activation
18434
18435 2004-11-16  Dan Williams <dcbw@redhat.com>
18436
18437         * src/NetworkManagerDevice.[ch]
18438                 - (nm_device_clear_activation_fail): new function
18439
18440         * src/NetworkManagerPolicy.c
18441                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
18442                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
18443
18444 2004-11-16  Dan Williams <dcbw@redhat.com>
18445
18446         * src/NetworkManagerDevice.c
18447                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
18448                         leak the structure, better updating of now_scanning status
18449                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
18450
18451 2004-11-15  Dan Williams <dcbw@redhat.com>
18452
18453         Major rework of link detection code.  We now use DHCP
18454         as part of the link detection which proves to be much more robust,
18455         and also supports Open System authentication for wireless networks.
18456
18457         We no longer use external DHCP client programs.  Instead, we use 
18458         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
18459         which was written by:
18460                 Yoichi Hariguchi <yoichi@fore.com>
18461                 Sergei Viznyuk <sv@phystech.com>
18462                 http://www.phystech.com/download/
18463         It resides in the "dhcpcd" directory and was refactored into a general
18464         purpose DHCP client library by me.
18465
18466         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
18467         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
18468
18469 2004-11-15  Dan Williams <dcbw@redhat.com>
18470
18471         Patch from Tom Parker <palfrey@tevp.net>:
18472
18473         * src/NetworkManagerDevice.c
18474                 - Less output to console when no access
18475                         points are found during a scan
18476
18477 2004-11-15  Dan Williams <dcbw@redhat.com>
18478
18479         Patch from Tom Parker <palfrey@tevp.net>:
18480
18481         * src/backends/interface_parser.c
18482                 - Use g_strdup ()
18483                 - Check for inp == NULL
18484                 - use syslog ()
18485
18486 2004-11-13  Colin Walters  <walters@redhat.com>
18487
18488         Patch from Tom Parker <palfrey@tevp.net>:
18489
18490         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
18491         
18492         * src/backends/NetworkManagerRedHat.c: Switch to
18493         including shvar.h instead of shvar.c.
18494
18495         * src/backends/NetworkManagerDebian.c: Don't include
18496         interface_parser.c in source file.
18497
18498         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
18499         and interface_parser.[ch].
18500         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
18501         Include shvar.c and shvar.h here.
18502         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
18503         interface_parser.c and interface_parser.h here.
18504
18505 2004-11-12  Colin Walters  <walters@redhat.com>
18506
18507         * configure.in: Strip out TARGET_DISTRO and
18508         SYSTEM_BACKEND_FILE variables.  Switch to Automake
18509         conditionals.
18510
18511         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
18512         (libnmbackend_la_SOURCES): Use Automake conditionals
18513         to add distro-specific files.
18514
18515         * initscript/Makefile.am (SUBDIRS): Update to
18516         use conditionals.
18517
18518 2004-11-12  Colin Walters  <walters@redhat.com>
18519
18520         Patches from j bootlab org
18521
18522         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
18523         Add interface_parser.[ch].
18524
18525         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
18526         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
18527
18528 2004-11-12  Colin Walters  <walters@redhat.com>
18529
18530         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
18531         call to nmi_dbus_is_running too, not necessary anymore.
18532         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
18533         pick up exit().
18534
18535 2004-11-11  Colin Walters  <walters@verbum.org>
18536
18537         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
18538         Delete.
18539         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
18540         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
18541         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
18542         This avoids a race condition that made it pretty easily
18543         possible to get two NetworkManagerInfo daemons running.
18544
18545 2004-11-11  Colin Walters  <walters@verbum.org>
18546         
18547         * src/NetworkManager.c (main): Use daemon(3).
18548
18549         * info-daemon/NetworkManagerInfo.c (main): Ditto.
18550
18551         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
18552
18553 2004-11-10 Dan Williams <dcbw@redhat.com>
18554
18555         Patches from j bootlab org
18556         * src/NetworkManagerDevice.c
18557                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
18558                         whether the card has a link or not, some cards are slow
18559                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
18560
18561         * info-daemon/NetworkManagerInfoPassphraseDialog.c
18562                 - Disable the "Login" button on the passphrase dialog until the user
18563                         enters a valid passphrase or key
18564
18565         Patches from Tom Parker <palfrey tevp net>
18566         * src/backends/NetworkManagerDebian.c
18567                 - Add static IP support to the debian backend
18568
18569         * src/backends/interface_parser.[ch]
18570                 - Parse debian interface config files
18571
18572 2004-11-08 Dan Williams <dcbw@redhat.com>
18573
18574         * src/NetworkManagerDevice.c
18575                 - Some random fprintf->syslog conversions
18576                 - (nm_device_wireless_network_exists): double-check for network
18577                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
18578
18579         * src/NetworkManagerWireless.[ch]
18580                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
18581                         so that the binary->ascii conversion works (if unsigned, the bitshift
18582                         will fill with zeros, which is what's required).  Also mask bitshift
18583                         result with 0xF for futher assurance.
18584
18585 2004-11-06 Dan Williams <dcbw@redhat.com>
18586
18587         * src/NetworkManagerUtils.c
18588                 - (nm_get_wireless_driver_support_level): default to
18589                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
18590                         flip this when changing from whitelist->blacklist of
18591                         wireless drivers
18592
18593 2004-11-05 Dan Williams <dcbw@redhat.com>
18594
18595         Patch from Robert Paskowitz:
18596         * src/backends/NetworkManagerGentoo.c
18597                 - Update static IP config code
18598
18599 2004-11-05 Dan Williams <dcbw@redhat.com>
18600
18601         * info-daemon/NetworkManagerInfoDbus.c
18602           src/NetworkManagerDbus.[ch]
18603           src/NetworkManagerDevice.c
18604                 - Keep track of the # of attempts to get the WEP key
18605                         from the user and pass that along to the info daemon
18606
18607 2004-11-05 Dan Williams <dcbw@redhat.com>
18608
18609         * src/NetworkManagerUtils.c
18610                 - Blacklist wireless cards rather than whitelisting them.
18611                 - Grab driver name from HAL rather than trying to find it
18612                         ourselves.
18613
18614 2004-11-03 Dan Williams <dcbw@redhat.com>
18615
18616         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
18617                 - Disable OK button until valid data is entered
18618                         for encryption stuff too
18619
18620         * panel-applet/NMWirelessApplet.c
18621                 - Report card strength for current AP if the card
18622                         doesn't report strength data for scanned access
18623                         points
18624
18625         * src/NetworkManagerDevice.c
18626                 - Smooth out cards reported quality, Atmel card was
18627                         intermittently reporting no quality data but soon
18628                         recovers
18629
18630         * src/NetworkManagerWireless.c
18631                 - Better quality data percentage calculation.  Atmel
18632                         cards (mine at least) seem to report the quality
18633                         in percentage format already, so honor that
18634
18635         Patch from <j@bootlab.org>
18636         * NetworkManager.h
18637           info-daemon/NetworkManagerInfoPassphraseDialog.c
18638           info-daemon/passphrase.glade
18639           panel-applet/NMWirelessAppletOtherNetworkDialog.c
18640           panel-applet/essid.glade
18641           src/NetworkManagerAP.c
18642           src/NetworkManagerDevice.c
18643           src/NetworkManagerWireless.[ch]
18644                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
18645
18646 2004-11-03 Dan Williams <dcbw@redhat.com>
18647
18648         * src/NetworkManagerDevice.[ch]
18649                 - (nm_device_set_enc_key): Add parameter to set Authentication
18650                         Mode (Open System, Shared Key, or None).  We're still using
18651                         Shared Key for now though.
18652
18653 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
18654
18655         * panel-applet/menu-info.c: change from bold text to light
18656         colored, may cause problems with some themes, i've tested a lot
18657         and they seem fine. 
18658
18659         * panel-applet/NMWirelessApplet.c: fix strength tooltip
18660
18661 2004-11-01  Colin Walters  <walters@verbum.org>
18662
18663         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
18664         (nm_wireless_128bit_key_from_passphrase): Add const.
18665
18666         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
18667         (nm_ap_set_enc_key_source): Add const.
18668         
18669 2004-11-01  Colin Walters  <walters@verbum.org>
18670
18671         * .cvsignore: Update.
18672
18673 2004-10-29 Dan Williams <dcbw@redhat.com>
18674
18675         * src/NetworkManagerDevice.c
18676                 - (nm_device_wireless_network_exists): Actually use the encryption
18677                         key we got from the applet when attempting to find a wireless network
18678                 - Don't bring devices down so much since on some cards it triggers
18679                         firmware hotplugs each time
18680
18681         * src/NetworkManagerDbus.c
18682                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
18683                         from the caller
18684
18685 2004-10-29 Dan Williams <dcbw@redhat.com>
18686
18687         * src/NetworkManager.c
18688                 - (nm_hal_device_property_modified): unlock a locked active
18689                         wireless device when a wired connection gets a link.
18690                         (Means you'll switch to wired whenever you plug in no
18691                         matter what).
18692
18693 2004-10-29 Dan Williams <dcbw@redhat.com>
18694
18695         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
18696                 - New files, implement the "Other wireless network" dialog
18697
18698         * panel-applet/NMWirelessApplet.c
18699                 - Move "other wireless network" dialog to separate file
18700
18701         * panel-applet/NMWirelessAppletDbus.[ch]
18702                 - Take key and key_type paramaters for the set_device function
18703
18704         * panel-applet/essid.glade
18705                 - Add UI bits for encryption settings
18706
18707         * src/NetworkManagerDbus.c
18708                 - Retrieve key and key_type params for "setActiveDevice" method call
18709                         and pass them on
18710                 - unref AP returned from nm_device_get_best_ap() when needed
18711
18712         * src/NetworkManagerDevice.c
18713                 - (nm_device_get_best_ap): ref the ap before returning it
18714                 - unref AP returned from nm_device_get_best_ap() when needed
18715                 - (nm_device_activate_wireless): add "ap" parameter so we don't
18716                         need to call nm_device_get_best_ap() here, it was pretty much
18717                         redundant anyway
18718                 - (AP_NEED_KEY): break second link check condition out into separate
18719                         function, and fix segfault when ap->enc_key_source was NULL
18720                 - (nm_device_find_and_use_essid): take key and key_type parameters and
18721                         pass them along to nm_device_wireless_network_exists().  If the
18722                         network does exist, set the passed-in key+key_type on the AP
18723
18724         * src/NetworkManagerPolicy.c
18725                 - unref AP returned from nm_device_get_best_ap() when needed
18726
18727 2004-10-28 Dan Williams <dcbw@redhat.com>
18728
18729         * src/NetworkManagerUtils.c
18730                 - (nm_spawn_process): Fix a potential dereference of NULL
18731
18732         Patches from Peter Jones:
18733
18734         * src/NetworkManagerDevice.c
18735                 - (nm_device_test_wireless_extensions): Better check for
18736                         wireless devices
18737
18738         * src/NetworkManagerUtils.c
18739                 - (nm_spawn_process): Pass in valid stdout and stderr so
18740                         executed programs don't randomly SIGPIPE and fail
18741                 - (nm_get_wired_driver_support_level): quash hal warning
18742                         when checking for USB ethernet device
18743
18744 2004-10-27 Dan Williams <dcbw@redhat.com>
18745
18746         * info-daemon/NetworkManagerInfo.c
18747           info-daemon/NetworkManagerInfoDbus.c
18748           info-daemon/NetworkManagerInfoPassphraseDialog.c
18749           panel-applet/NMWirelessApplet.c
18750                 - Properly escape gconf keys
18751
18752         * src/NetworkManager.c
18753                 - remove unused variables
18754
18755         * src/NetworkManagerAP.c
18756                 - (nm_ap_new_from_ap): Don't redundantly set new APs
18757                         refcount since it got set in nm_ap_new()
18758
18759         * src/NetworkManagerAPList.c
18760                 - (nm_ap_list_combine): Give up ownership of newly created
18761                         access points to the ap list, fixes memleak
18762
18763         * src/NetworkManagerDevice.c
18764                 - Remove cached_ap_list4 member since its not really needed
18765                 - (nm_device_wireless_network_exists): Try to get correct
18766                         encryption status of a found AP if its already in our
18767                         device list
18768                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
18769                         memory allocs/deallocs a bit clearer and shorter-lived
18770
18771 2004-10-26 Ray Strode <rstrode@redhat.com>
18772
18773         * panel-applet/NMWirelessApplet.c:
18774           (custom_essid_item_selected):  kill some compiler
18775         warnings 
18776
18777 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
18778
18779         * info-daemon/NetworkManagerInfoDbus.c
18780                 - (nmi_dbus_is_running): New function for determining if nmi is already running
18781                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
18782
18783 2004-10-23 Dan Williams <dcbw@redhat.com>
18784
18785         * info-daemon/NetworkManagerInfoDbus.c
18786                 - Trap the "DeviceActivationFailed" signal
18787
18788         * docs/NetworkManager DBUS API.txt
18789                 - Add "DeviceActivationFailed" signal
18790
18791         * panel-applet/NMWirelessAppletDbus.c
18792                 - Quash the "NetworkManager service not available" message
18793
18794         * src/NetworkManagerDbus.[ch]
18795                 - Add the "DeviceActivationFailed" signal
18796
18797         * src/NetworkManagerDevice.c
18798                 - Add support for activation_failed flag
18799                 - Fix deadlock where activation thread didn't clean itself up, making
18800                         main thread still believe it was alive forever (didn't reset activation
18801                         flags like activating, just_activated, etc when IP configuration
18802                         failed)
18803
18804         * src/NetworkManagerPolicy.c
18805                 - Implement logic for DeviceActivationFailed signal, and when activation fails
18806                         for wireless networks, try to fall back to some other access point
18807
18808 2004-10-23 Dan Williams <dcbw@redhat.com>
18809
18810         * panel-applet/NMWirelessApplet.[ch]
18811                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
18812                         to the applet object, so we can get tooltips
18813                 - Add tooltips (RH #136866)
18814
18815         * src/NetworkManagerDevice.c
18816                 - When trying to find a wireless network, try to connect with encryption
18817                         turned on first, so that we can more accurately detect whether or not
18818                         we need to use encryption for the actual association later on
18819
18820 2004-10-21 Dan Williams <dcbw@redhat.com>
18821
18822         * Add some support for telling NetworkManagerInfo to tell the user
18823                 that they are using a device that's not fully supported
18824
18825         * Fix some assertions in debug messages due to null access point args
18826
18827 2004-10-21 Dan Williams <dcbw@redhat.com>
18828
18829         * src/NetworkManagerDevice.c
18830                 - Don't try to activate/bring up/down unsupported
18831                         devices
18832
18833         * src/NetworkManagerUtils.c
18834                 - Fix case of PCI ID checks for driver support levels
18835
18836 2004-10-21 Dan Williams <dcbw@redhat.com>
18837
18838         * NetworkManager.h
18839                 - New file, now contains commonly used structures and bits
18840                         for the dbus API of NetworkManager
18841
18842         * Makefile.am
18843                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
18844
18845         * src/NetworkManager.h
18846                 - Rename -> src/NetworkManagerMain.c
18847
18848         * Various fixups all around to use NetworkManager.h and new
18849                 src/NetworkManagerMain.h, remove redundant bits that got
18850                 moved into NetworkManager.h
18851
18852         * src/NetworkManagerDevice.[ch]
18853           src/NetworkManagerUtils.[ch]
18854           src/NetworkManagerPolicy.c
18855           src/NetworkManagerDbus.c
18856                 - Whitelist wireless drivers, and blacklist some wired
18857                         drivers.  Also blacklist cipsec and ethernet-over-usb
18858                         devices at this time (RH #135722, RH #135648)
18859                 - Don't leak unsupported devices out over dbus, or allow
18860                         them to be set as the active device.  Skip over them
18861                         during automatic device picking
18862
18863         * test/nmclienttest.c
18864                 - Clean up the dbus code a lot
18865
18866 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
18867
18868         * configure.in: post release bump.
18869
18870 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
18871
18872         * configure.in:
18873         * NEWS: Released NetworkManager-0.3.1
18874
18875 2004-10-18 Dan Williams <dcbw@redhat.com>
18876
18877         Patches from Thom May:
18878         * test/nmtestdevices.c
18879                 - Include <string.h>
18880         * src/backends/NetworkManagerDebian.c:
18881                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
18882                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
18883                         Move to using g_strdup_printf rather than arbitrary buffers
18884                 - (nm_system_device_setup_static_ip4_config) Implement function.
18885                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
18886
18887 2004-10-17 Dan Williams <dcbw@redhat.com>
18888
18889         * info-daemon/NetworkManagerInfoDbus.c
18890                 - Display name of network in the "network not found" dialog
18891
18892         * panel-applet/NMWirelessAppletDbus.c
18893                 - (nmwa_dbus_call_nm_method): new function replaces all other
18894                         nmwa_dbus_get_[string|string_array|int|boolean] methods
18895                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
18896                         consolidated into nmwa_dbus_get_object_name()
18897
18898 2004-10-15 Dan Williams <dcbw@redhat.com>
18899
18900         * src/NetworkManagerDbus.c
18901           info-daemon/NetworkManagerInfoDbus.c
18902                 - Display an error dialog when the user tries to use an
18903                         "Other wireless network" that's not found.
18904
18905 2004-10-15 Dan Williams <dcbw@redhat.com>
18906
18907         * panel-applet/NMWirelessApplet.[ch]
18908                 - Fix up corner cases in applet state, making it
18909                         look more responsive.  Change state to "connecting" when
18910                         the user is forcing a device too.
18911
18912 2004-10-15 Dan Williams <dcbw@redhat.com>
18913
18914         * src/NetworkManagerAPList.c
18915                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
18916
18917         * src/NetworkManagerDbus.c
18918                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
18919
18920         * src/NetworkManagerDevice.c
18921                 - Disown APs after the device's AP list takes ownership
18922
18923 2004-10-15 Dan Williams <dcbw@redhat.com>
18924
18925         * panel-applet/NMWirelessApplet.c
18926                 - Update our applet state from the GUI thread
18927
18928         * panel-applet/NMWirelessAppletDbus.c
18929                 - Greatly simplify the locking to make the GUI thread
18930                         smoother.  Update a private copy of the device list
18931                         and active device and only when done talking to
18932                         NetworkManager turn it over to the GUI thread.
18933
18934 2004-10-15 Dan Williams <dcbw@redhat.com>
18935
18936         * src/NetworkManagerAP.[ch]
18937                 - Add "artificial" get/set functions, set for APs that
18938                         aren't discovered as part of a scan but instead
18939                         discovered by force-setting the ESSID
18940
18941         * src/NetworkManagerDevice.[ch]
18942                 - (nm_device_wireless_network_exists): pass back whether
18943                         or not the discovered AP was encrypted.  Also, try
18944                         falling back to encrypted mode on the card if unencrypted
18945                         association doesn't work
18946                 - (nm_device_find_and_use_essid): If the network requested
18947                         did in fact exists, but it wasn't in our scan list, add
18948                         an "artificial" entry for it.  Some Cisco cards don't
18949                         see non-ESSID-broadcasting APs in their scan but can still
18950                         associate with them if you know the ESSID, this works around
18951                         that behavior
18952                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
18953                         to scan if the card is currently associated with that AP
18954
18955 2004-10-15 Dan Williams <dcbw@redhat.com>
18956
18957         ---- We have a website ----
18958         http://people.redhat.com/dcbw/NetworkManager
18959
18960         Patch from Robert Paskowitz:
18961         * src/NetworkManager.c
18962                 - (main): Make sure we are run as root
18963         * src/NetworkManagerDevice.c
18964                 - Fix type in ad-hoc setting function
18965
18966         Patch from Thom May:
18967         * src/backends/NetworkManagerDebian.c
18968                 - Make Debian backend compile again
18969
18970 2004-10-14 Dan Williams <dcbw@redhat.com>
18971
18972         * Tagged NetworkManager-0_3
18973
18974 2004-10-14 Dan Williams <dcbw@redhat.com>
18975
18976         Patch from Robert Paskowitz:
18977         * NEWS
18978           src/NetworkManagerDevice.[ch]
18979           src/backends/NetworkManagerDebian.c
18980           src/backends/NetworkManagerGentoo.c
18981           src/backends/NetworkManagerRedHat.c
18982           src/backends/NetworkManagerSlackware.c
18983                 - Add support for grabbing and using a broadcast address
18984                         from system config files
18985                 - Some Gentoo backend fixes for grabbing network config
18986                 - Fix LOG_WARN->LOG_WARNING
18987
18988 2004-10-14 Dan Williams <dcbw@redhat.com>
18989
18990         * NEWS: a few small fixes in the credits
18991
18992 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
18993
18994         * NEWS: prep for release.
18995
18996 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
18997
18998         * panel-applet/NMWirelessAppletDbus.c
18999         (nmwa_dbus_update_device_wireless_networks): remove warnings.
19000
19001 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
19002
19003         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
19004         applet->state == APPLET_STATE_NO_NM animation.
19005
19006         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
19007         set the text correctly.
19008
19009 2004-10-14 Dan Williams <dcbw@redhat.com>
19010
19011         * src/NetworkManager.c
19012                 - Only accept and manager 802.3 and 802.11 devices
19013
19014         * src/NetworkManagerDbus.[ch]
19015                 - (nm_dbus_nm_set_active_device): move most of the actual activation
19016                         logic into NetworkManagerDevice.c
19017                 - (nm_dbus_network_status_from_data): new function
19018                 - (nm_dbus_signal_network_status_change): new function, unused for now
19019                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
19020
19021         * src/NetworkManagerDevice.[ch]
19022                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
19023                         a random ESSID.
19024
19025 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
19026
19027         * info-daemon/NetworkManagerInfo.c 
19028                 - (main): Added session management
19029
19030 2004-10-14 Dan Williams <dcbw@redhat.com>
19031
19032         * panel-applet/NMWirelessAppletDbus.[ch]
19033                 - Expose network_device_[un]ref()
19034                 - Expose wireless_network_[un]ref()
19035                 - (wireless_network_new_with_essid): new function, create and return
19036                         a wireless network with a particular essid
19037
19038         * panel-applet/NMWirelessApplet.c
19039                 - Hook up the "other network" dialog to do something
19040
19041 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
19042
19043         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
19044         doesn't work yet, but it looks okay.
19045
19046         * panel-applet/icons/*png: Resize to 22x22 and install in the
19047         right place.
19048
19049 2004-10-13 Dan Williams <dcbw@redhat.com>
19050
19051         * panel-applet/NMWirelessApplet.c
19052                 - Add function to print out applet_state in a readable
19053                         manner
19054
19055         * src/NetworkManager.c
19056                 - (main): Don't segfault when nm_dbus_init() fails, we had
19057                         a left-over call to hal_shutdown() into which we passed NULL
19058
19059         * src/NetworkManagerAP.c
19060                 - (nm_ap_set_essid): Allow NULL essids
19061
19062         * src/NetworkManagerAPList.[ch]
19063                 - More use of nm_ap_list_[un]lock ()
19064                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
19065                         network/essid, just return nothing.  Also skip over NULL
19066                         essid access points in the list when searching
19067                 - (nm_ap_list_get_ap_by_address): new function
19068                 - (nm_ap_list_update_network): set the access point's key source to
19069                         NULL when the key returned from NetworkManagerInfo is NULL or
19070                         of 0 length
19071                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
19072                         copy timestamp over too
19073                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
19074                         find the correct ESSID for a blank-essid access point by searching
19075                         through another list and matching access point MAC addresses
19076                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
19077
19078         * src/NetworkManagerDbus.c
19079                 - (nm_dbus_nm_set_active_device): deal with random networks the user
19080                         may specify.  This is mainly for access points that don't
19081                         broadcast their essid.  So if the user tells us to associate with
19082                         some random ESSID that's not in our access point list, we find
19083                         out if the access point does in fact exist (by attempting association
19084                         and then matching that access point's MAC address with the essid the
19085                         user gave us) and then we switch to it.
19086                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
19087                         to the returned list of networks for the "getNetworks" method
19088
19089         * src/NetworkManagerDevice.[ch]
19090                 - Extra debugging info for link detection
19091                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
19092                         based on MAC address
19093                 - (nm_device_get_path_for_ap): ignore blank-essid access points
19094                 - (nm_device_wireless_network_exists): new function, find out whether
19095                         a random ESSID exists by attempting to associate with it
19096                 - (nm_device_do_normal_scan): allow blank-essid access points in our
19097                         device list as long as they have an AP MAC address we can use.
19098                         Also send WirelessNetwork[Dis]Appeared signals for non-active
19099                         devices too.  Lets the applet update more frequently.
19100
19101         * src/backends/NetworkManagerGentoo.c
19102                 - Patch from: Robert Paskowitz
19103                         - Update backend code for Gentoo
19104                         - Implement nm_system_device_update_config_info ()
19105
19106         * test/nmclienttest.c
19107                 - (set_network_device): new function, takes a command-line argument
19108                         and tells NetworkManager to use that wireless network
19109
19110 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
19111
19112         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
19113         if the notification icon crashes 5 times within 5 seconds of each respawn 
19114
19115 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
19116
19117         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
19118         g_print.
19119
19120 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
19121
19122         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
19123
19124         * panel-applet/NMWirelessApplet.c: (animation_timeout),
19125         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
19126         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
19127         Change the name of the icons.
19128
19129         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
19130         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
19131         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
19132         (nm_menu_wireless_expose_event): Really bad hack to get the style
19133         to draw in the right color.
19134
19135 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
19136
19137         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
19138         Notification if it crashes
19139
19140 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
19141
19142         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
19143         (nmwa_dbus_get_string): remove unused functions
19144
19145         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
19146         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
19147         remove unused functions
19148
19149         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
19150
19151 2004-10-12 Dan Williams <dcbw@redhat.com>
19152
19153         * panel-applet/NMWirelessAppletDbus.c
19154                 - New functions:
19155                         wireless_network_new
19156                         wireless_network_copy
19157                         network_device_new
19158                         network_device_copy
19159
19160         * src/NetworkManagerDevice.[ch]
19161                 - New functions:
19162                         nm_device_set_mode_managed
19163                         nm_device_set_mode_adhoc
19164                 - Use these functions where appropriate
19165                 - When creating a new wireless device, force the card
19166                         to managed/Infrastructure mode as soon as possible
19167
19168 2004-10-12 Dan Williams <dcbw@redhat.com>
19169
19170         * src/NetworkManagerDevice.c
19171                 - Force wireless cards into Infrastructure mode before we use them
19172
19173 2004-10-12 Dan Williams <dcbw@redhat.com>
19174
19175         * TODO
19176                 - Remove bit about static IP address support
19177
19178         * src/NetworkManagerUtils.c
19179                 - (nm_spawn_process): Add some error reporting
19180
19181         * src/NetworkManagerDevice.c
19182                 - (nm_device_activation_configure_ip): hook up to the static config
19183                         routines in the backends
19184
19185         * src/backends/NetworkManagerRedHat.c
19186                 - (nm_system_device_update_config_info): use shvar.c routines to
19187                         parse the config file iformation, not our own
19188                 - (nm_system_device_setup_static_ip4_config): new function, based
19189                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
19190                         with a static IP address and gateway
19191
19192         * src/backends/shvar.[ch]
19193                 - Parser (filched from initscripts package) for ifcfg-* files
19194
19195         * src/backends/NetworkManagerSystem.h
19196           src/backends/NetworkManagerGentoo.c
19197           src/backends/NetworkManagerDebian.c
19198           src/backends/NetworkManagerSlackware.c
19199                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
19200
19201 2004-10-11 Dan Williams <dcbw@redhat.com>
19202
19203         * TODO
19204                 - Remove bit about more robust AP diffing since I just implemented it
19205
19206 2004-10-11 Dan Williams <dcbw@redhat.com>
19207
19208         * src/NetworkManagerAP.c
19209                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
19210                         enough RAM to allocate new AP structures, but return NULL instead
19211
19212         * src/NetworkManagerAPList.[ch]
19213                 - (nm_ap_list_is_empty): new function
19214                 - (nm_ap_list_combine): new function, combine two access point lists
19215                 - (nm_ap_list_copy_keys): new function, copy keys from one list
19216                         into another
19217
19218         * src/NetworkManagerDevice.[ch]
19219                 - Rename some functions to be clearer:
19220                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
19221                         nm_device_just_activated     -> nm_device_is_just_activated
19222                         nm_device_activating         -> nm_device_is_activating
19223                         nm_device_now_scanning       -> nm_device_is_scanning
19224                 - Cache the last 4 scans so that the access point list is more stable.
19225                         We combine the lastest two scans and use that as the AP list,
19226                         and diff that combined list against the combination of the earliest
19227                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
19228
19229 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19230
19231         * info-daemon/NWManagerInfo.h
19232                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
19233
19234         * info-daemon/NWManagerInfoDbus.c
19235                 - (shutdown_callback): new function
19236                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
19237                         if NetworkManager goes away.  Kill the timeout
19238                         if NetworkManager restarts before the 30 seconds
19239                         are up.
19240                 - (nmi_dbus_service_init): 
19241                         - call gtk_main_quit if NetworkManager is not running
19242                         - add filters to monitor dbus service creations and
19243                                 deletions
19244         
19245 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19246
19247         * panel-applet/NMWirelessApplet.c
19248                 - (nmwa_update_state): Hide notification icon if we are only
19249                         showing one wired card and no wireless interfaces 
19250                         (Red Hat Bug #134895)
19251
19252         * panel-applet/NMWirelessAppletDbus.c
19253                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
19254
19255         * info-daemon/NWManagerInfo.c
19256                 - (main): Terminated the notification_icon_cmd array with a NULL
19257
19258 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
19259
19260         * configure.in (ALL_LINGUAS): Added de (German).
19261
19262 2004-10-08 Dan Williams <dcbw@redaht.com>
19263
19264         * src/NetworkManagerDevice.c
19265                 - Be a bit more robust about link checking, ie make sure that
19266                         the WEP key we were given actually has some data in it
19267
19268 2004-10-08 Dan Williams <dcbw@redhat.com>
19269
19270         * info-daemon/NetworkManagerInfo.c (main):
19271                 - Initialize GError object to NULL
19272
19273 2004-10-08 Dan Williams <dcbw@redhat.com>
19274
19275         * panel-applet/NMWirelessAppletDbus.c
19276                 - Die if NetworkManagerInfo dies, since it manages our lifetime
19277
19278 2004-10-08 Dan Williams <dcbw@redhat.com>
19279
19280         * info-daemon/NetworkManagerInfo.[ch]
19281           info-dameon/NetworkManagerInfoDbus.[ch]
19282           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
19283                 - Preserve original label text in the passphrase dialog so that
19284                         it actually gets updated with the new network name the next
19285                         time around.  Previously, we were overwriting it so you'd get
19286                         the wrong network name to enter a key for
19287                 - Add a "Key Type" combo to the passphrase dialog, user selects
19288                         encryption key type now, type is stored in GConf too
19289                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
19290
19291         * src/NetworkManagerAP.[ch]
19292                 - Remove all the encyption method magic.  It's now set by the user
19293                         and NetworkManager retrieves the type of encryption key from
19294                         NetworkManagerInfo
19295
19296         * src/NetworkManagerAPList.[ch]
19297           src/NetworkManagerDbus.[ch]
19298                 - Adjust to new way of setting encryption key and method
19299                 - Pull encryption method down from NMI along with key
19300
19301         * src/NetworkManagerDevice.[ch]
19302                 - Removed encryption method fallback magic as the method is now
19303                         determined by the user.  This greatly simplifies the connection
19304                         logic.
19305                 - More robust connection/link logic.  Besides removing the encryption
19306                         method fallback magic, check whether or not the card is receiving
19307                         invalidly encrypted packets, which usually indicates that we have
19308                         a bad WEP key set.
19309                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
19310
19311         * test/nminfotest.c
19312                 - Test out new "Key Type" stuff in the NMI passphrase dialog
19313
19314 2004-10-07 Dan Williams <dcbw@redhat.com>
19315
19316         * info-daemon/NetworkManagerInfo.conf
19317                 - Allow root user to run NMI too
19318
19319 2004-10-06 Dan Williams <dcbw@redhat.com>
19320
19321         * src/NetworkManagerDevice.[ch]
19322           src/NetworkManagerDbus.c
19323           doc/NetworkManager DBUS API.txt
19324                 - Add a new status tag "scanning", which is set when there
19325                         is no active network connection, but NetworkManager is
19326                         looking for an access point to associate with
19327
19328         * panel-applet/main.c
19329                 - Cast the applet appropriately for gtk_widget_show_all ()
19330
19331 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
19332
19333         * panel-applet/eggtrayicon.[ch]:
19334         * panel-applet/main.c: Add missing file
19335
19336 2004-10-04 Dan Williams <dcbw@redhat.com>
19337
19338         * src/NetworkManagerDevice.[ch]
19339                 - Add a slightly more robust method of determining if the WEP key
19340                         is correct or not, by checking the WEP-discarded packet count
19341                         on the card
19342
19343         * info-daemon/NetworkManagerInfo.c
19344                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
19345                         un-escape values we pull out rather than escaping them
19346
19347 2004-10-03  Marcel Telka  <marcel@telka.sk>
19348
19349         * configure.in (ALL_LINGUAS): Added sk.
19350
19351 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
19352
19353         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
19354         and feel.  We should be back to working, and have a good, clean
19355         look.
19356
19357 2004-09-30 Dan Williams <dcbw@redhat.com>
19358
19359         * info-daemon/NetworkManagerInfo.c
19360           info-daemon/NetworkManagerInfoDbus.c
19361           test/nminfotest.c
19362                 - Escape ESSIDs in gconf
19363
19364         * src/NetworkManagerDevice.c
19365                 - Fix pseudo-scanning to use netowrk list from info daemon
19366
19367 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
19368
19369         * configure.in: Add a temporary --enable-notification-icon.  This
19370         will prolly go away.
19371
19372         * info-daemon/Makefile.am:
19373         * info-daemon/NetworkManagerInfo.c:
19374         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
19375
19376         * panel-applet/Makefile.am:
19377         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
19378         * panel-applet/NMWirelessApplet.h:
19379
19380 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
19381
19382         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
19383         before 'select custom ESSID'.
19384
19385         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
19386         fully complete, but syncing in prep for merge.
19387
19388         * panel-applet/icons/*png: New images
19389
19390 2004-09-28 Dan Williams <dcbw@redhat.com>
19391
19392         * src/NetworkManager.c
19393           src/NetworkManagerDevice.c
19394           src/NetworkManagerPolicy.c
19395                 - Don't blow away an active wired connection on startup
19396
19397 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
19398
19399         Changes from J5
19400         
19401         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
19402
19403         * info-daemon/NetworkManagerInfoDbus.c: added service name to
19404         syslog output
19405
19406 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
19407
19408         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
19409         have a wireless card.
19410
19411 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
19412
19413         * panel-applet/NMWirelessApplet.c: move the custom essid item.
19414         Also, get the right device strings.
19415
19416 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
19417
19418         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
19419         the logic to make this right.
19420
19421         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
19422         devices so that wired networks are always first.
19423
19424 2004-09-22    <clarkbw@cvs.gnome.org>
19425
19426         * initscript/Debian/.cvsignore:
19427         * initscript/Slackware/.cvsignore:
19428         Added new cvsignores for Makefile, Makefile.in
19429         
19430         * test/.cvsignore:
19431         Added nmtestdevices
19432         
19433         * src/NetworkManagerDevice.c: 
19434         * src/NetworkManager.c: 
19435         Updated the wireless/wired HAL device strings from net.ethernet to
19436         net.80203 or net.80211 depending on wired or wireless respectively
19437         
19438         * examples/python/NetworkManager.py: 
19439         s/Quality/Strength/
19440
19441         * examples/python/systray/network_tray.py:
19442         Lots of little changes and fixes.  been rotting for a while so I
19443         figured I'd finally sync them all with CVS
19444
19445 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
19446
19447         * configure.in: Add graphics
19448
19449         * panel-applet/Makefile.am: Add graphics
19450
19451         * panel-applet/icons/*: Add graphics
19452
19453         * panel-applet/NMWirelessApplet.c: Use new menu times to display
19454         the icons fully lined up.
19455
19456         * panel-applet/menu-info.c: 
19457         * panel-applet/menu-info.h: Add another menu type.
19458
19459 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
19460
19461         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
19462
19463         * panel-applet/menu-item.[ch]: Wireless menu item.
19464
19465 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
19466
19467         * info-daemon/NetworkManagerInfo.conf
19468                 - Created a more robust security policy for the DBus service
19469                         - everything is denied by default
19470                         - root can own and send to the service
19471                         - users logged in at the console can send to the service
19472
19473 2004-09-13  Dan Williams <dcbw@redhat.com>
19474
19475         * src/NetworkManagerDevice.c
19476                 - (nm_device_get_essid): use iw_get_basic_config() rather than
19477                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
19478                         the latter
19479
19480 2004-09-13  Dan Williams <dcbw@redhat.com>
19481
19482         * TODO: fix typo
19483
19484         * docs/NetworkManager DBUS API.txt
19485                 - Update for new signal strength changes
19486
19487         * panel-applet/NMWirelessApplet.c
19488                 - Make panel icon show strength of the current connection
19489                 - Cleanups and memleak fixes
19490
19491         * panel-applet/NMWirelessApplet.h
19492                 - Add data members for signal strength on devices and networks
19493
19494         * panel-applet/NMWirelessAppletDbus.c
19495                 - Free more DBusErrors
19496                 - Update for new signal strength changes
19497                 - Make devices and networks more like real objects, use ref/unref methods
19498                 - Actually unlock the mutex when updating the active device
19499
19500         * src/NetworkManagerAP.c
19501                 - Change AP functions and data members from "quality"->"strength"
19502
19503         * src/NetworkManagerDbus.c
19504                 - Kill "getMaxQuality" and "getQuality" methods
19505                 - Add "getStrength" methods for Networks and Devices
19506
19507         * src/NetworkManagerDevice.[ch]
19508                 - Add accessors for device strength
19509                 - Add functions to update strength for a device.  Note that not all drivers
19510                         actually support signal strength for scanned access points (Atmel drivers
19511                         being one)
19512                 - Calculate signal strength for each AP during scan
19513
19514         * src/NetworkManagerWireless.[ch]
19515                 - Add function to return signal strength % from a device and a raw quality struct
19516
19517         * test/nmclienttest.c
19518                 - Update for new signal strength changes
19519
19520 2004-09-11  Dan Williams <dcbw@redhat.com>
19521
19522         * src/NetworkManager.c
19523                 - Fix race condition between initscripts and NM on card insertion
19524                         which could cause a card to keep an IP address and routes around
19525                         even when it was not the active device
19526
19527         * src/NetworkManagerDbus.c
19528                 - Fix compile errors, free more DBusErrors
19529
19530 2004-09-11  Dan Williams <dcbw@redhat.com>
19531
19532         * docs/NetworkManager DBUS API.txt
19533                 - Add an explanation of NM's API
19534
19535         * src/NetworkManagerDbus.c
19536                 - Free some more DBusErrors if needed
19537
19538 2004-09-11  Dan Williams <dcbw@redhat.com>
19539
19540         * panel-applet/NMWirelessApplet.c
19541           panel-applet/NMWirelessAppletDbus.c
19542                 - Start using NetworkDevice/WirelessNetwork structures in more places
19543                 - Update for unified device/network forcing in NetworkManager
19544
19545         * src/NetworkManager.c
19546                 - some code consolidation
19547
19548         * src/NetworkManagerDbus.c
19549                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
19550                         or two arguments:  the first is the NM ID of the device to switch to,
19551                         and the second (optional) argument is the ESSID of a wireless network
19552                         to use as well.
19553                 - Get rid of "setNetwork" method due to above change
19554
19555         * src/NetworkManagerDevice.c
19556                 - (nm_device_new): perform scan and update best AP on device creation
19557                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
19558                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
19559                         spin waiting for cancellation to finish before returning
19560
19561         * src/NetworkManagerPolicy.c
19562                 - Changes here clarify the situations in which a device switch occurs, and 
19563                         make sure to keep using a forced device and network if the user gives
19564                         us one
19565                 - Remove old unused code
19566
19567 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
19568
19569         * configure.in: Added Danish (da) to ALL_LINGUAS.
19570
19571 2004-09-09  Dan Williams <dcbw@redhat.com>
19572
19573         * panel-applet/NMWirelessAppletDbus.c
19574                 - Pull fresh devices and networks from NM when wireless networks
19575                         change.  Provides faster feedback of a forced wireless network
19576
19577         * src/NetworkManagerDbus.c
19578                 - Return error when "getMaxQuality" is called on a wired device
19579                 - Make best_ap freezing actually work again, and signal cancellation
19580                         of activation if there's already a device activation when the user
19581                         freezes the best_ap
19582
19583         * src/NetworkManagerDevice.c
19584                 - Don't clear out the best_ap for wireless devices when the link goes
19585                         down, that's done elsewhere
19586                 - Kill any dhcp daemons when cancelling device activation since they
19587                         may be stuck waiting for a DHCP address, and since we're cancelling
19588                         activation we don't care about that anymore
19589
19590         * src/NetworkManagerPolicy.c
19591                 - Make sure to unref the device we ref earlier (we refed it to make sure
19592                         it stuck around during device activation and such)
19593                 - If we were going to change the best device, but its activating currently
19594                         (and therefore the change didn't occur due to the check earlier)
19595                         we mark the state changed to we come back to it later when device
19596                         activation has canceled and its no longer activating
19597
19598         * src/backends/NetworkManagerRedHat.c
19599                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
19600
19601 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
19602
19603         * info-daemon/passphrase.glade: 
19604         set passphrase input to activates_default : True
19605
19606         * examples/python/systray/network_tray.py
19607         (network_tray.sort_networks):
19608
19609         Added support for having wireless always scanning
19610
19611 2004-09-09  Dan Williams <dcbw@redhat.com>
19612
19613         NOTE: this commit changes the behavior of wireless devices in
19614         NetworkManager.  They are now up all the time, scanning all
19615         the time.  Only the active device has an IP address and routing
19616         information set up however.  Also, NetworkManager will no longer
19617         opportunistically switch wireless networks when a better one
19618         comes in range, it will remain associated with one wireless network
19619         until that one drops out.
19620
19621         * panel-applet/NMWirelessApplet.c
19622           panel-applet/NMWirelessAppletDbus.c
19623                 - List all wireless cards and their respective networks
19624
19625         * src/NMLoadModules
19626                 - Use full path to /sbin/ip
19627
19628         * src/NetworkManager.c
19629                 - Keep wireless devices up all the time so they can scan
19630
19631         * src/NetworkManagerDbus.c
19632                 - On a WirelessNetworkUpdate signal from NMI, don't update
19633                         the "best" AP
19634
19635         * src/NetworkManagerDevice.c
19636                 - (nm_device_set_link_active): clear out the best ap for
19637                         wireless devices when the link is set to FALSE
19638                 - Scan on all wireless cards, all the time
19639                 - (nm_device_activation_worker): split out the wireless card
19640                         link-waiting code to a separate function
19641                 - Keep wireless cards up even if device activation fails
19642                 - Don't update the "best" ap as much
19643
19644         * src/NetworkManagerPolicy.c
19645                 - Don't update the best ap when checking if its frozen,
19646                         let link checking clear out a frozen best ap for us
19647
19648         * src/NetworkManagerWireless.c
19649                 - Scan on all wireless cards, all the time
19650
19651 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
19652
19653         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
19654
19655 2004-09-09  Ankit Patel <ankit@redhat.com>
19656
19657         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
19658
19659 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
19660
19661         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
19662
19663 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
19664
19665         * examples/python/NetworkManager.py: 
19666         added CONNECTED, CONNECTING, and DISCONNECTED states
19667         added methods to return number of devices of a single type
19668
19669         * examples/python/systray/network_tray.py: 
19670         did some tweaks to get the menu looking near what it is supposed
19671         to look like.  Also did a Airo card hack to make it show the
19672         correct AP quality
19673
19674 2004-09-08  Dan Williams <dcbw@redhat.com>
19675
19676         * panel-applet/no-networkmanager.png
19677           panel-applet/Makefile.am
19678           panel-applet/NMWirelessApplet.c
19679                 - Add a "NetworkManager not running" icon and use it
19680                 - Use new consolidated GConf keys rather than Preferred/Trusted
19681
19682         * TODO: update
19683
19684         * info-daemon/NetworkManagerInfo.c
19685           info-daemon/NetworkManagerInfoDbus.[ch]
19686           info-daemon/NetworkManagerInfoPassphraseDialog.c
19687                 - There are now no longer two separate lists of wireless networks,
19688                         but one list where each network is "trusted" or not trusted
19689                 - Add a "getNetworkTrusted" dbus method
19690                 - "WirelessNetworkUpdate" signal now sent rather than
19691                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
19692                 - Start freeing some dbus errors (not completed yet)
19693
19694         * info-daemon/passphrase.glade
19695                 - Remove the "don't show" hints for pager and taskbar
19696                 - Add a title since its going to be in the taskbar
19697
19698         * src/NetworkManager.[ch]
19699           src/NetworkManagerAPList.[ch]
19700                 - There are now no longer two separate lists of wireless networks,
19701                         but one list where each network is "trusted" or not trusted
19702
19703         * src/NetworkManagerAP.[ch]
19704                 - Add get/set "trusted" accessors and data bit
19705
19706         * src/NetworkManagerDbus.[ch]
19707                 - Add function to get "trusted" status of a network from NetworkManagerInfo
19708                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
19709
19710         * src/NetworkManagerDevice.[ch]
19711                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
19712                 - (nm_device_new): Get device config from backend when initializing devices
19713                 - (nm_device_activation_worker): Split out device configuration on
19714                         activation to deal with static/dynamic IP differences, and try encryption
19715                         fallbacks on a device if the encryption method for the best AP is not good
19716                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
19717                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
19718
19719         * src/NetworkManagerWireless.c
19720                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
19721
19722         * src/backends/NetworkManagerRedHat.c
19723           src/backends/NetworkManagerSystem.h
19724                 - (nm_system_device_update_config_info): Add function to get device configuration
19725                         from system data in ifcfg-* files
19726
19727         * src/backends/NetworkManagerDebian.c
19728           src/backends/NetworkManagerGentoo.c
19729           src/backends/NetworkManagerSlackware.c
19730                 - Add stub functions for getting device configuration
19731
19732 2004-09-07  Dan Williams <dcbw@redhat.com>
19733
19734         * src/backends/NetworkManagerRedhat.c
19735           src/backends/NetworkManagerSlackware.c
19736                 - Use full path to /sbin/ip everywhere
19737
19738 2004-09-07  Dan Williams <dcbw@redhat.com>
19739
19740         Patch from: Narayan Newton <narayan_newton@yahoo.com>
19741
19742         * configure.in
19743           initscript/Makefile.am
19744           initscript/Slackware/Makfile.am
19745           initscript/Slackware/rc.networkmanager
19746           src/Makefile.am
19747           src/backends/NetworkManagerSlackware.c
19748                 - Add Slackware support
19749
19750 2004-09-07  Dan Williams <dcbw@redhat.com>
19751
19752         Patches below from:
19753                 <j@bootlab.org>
19754                 Mark Roach <mrroach@okmaybe.com>
19755                 Thom May <thom@debian.org>
19756
19757         * configure.in
19758           initscript/Debian/NetworkManager
19759           initscript/Debian/Makefile.am
19760                 - Initscript for Debian
19761
19762         * src/backends/NetworkManagerDebian.c
19763                 - Add missing system init function to allow compilation
19764                         on Debian
19765
19766 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
19767
19768         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
19769
19770 2004-09-03  Akagic Amila <bono@linux.org.ba>
19771
19772         * configure.in: Added 'bs' to ALL_LINGUAS.
19773
19774 2004-09-02  Colin Walters  <walters@verbum.org>
19775
19776         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
19777         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
19778         g_strdup_printf instead of arbitrarily sized buffers.
19779
19780 2004-09-01  Colin Walters  <walters@verbum.org>
19781
19782         * NetworkManager.pc.in: New file.
19783
19784         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
19785
19786 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
19787         
19788         * configure.in: Punjabi(pa) is added to po/.
19789
19790 2004-08-31  Dan Williams <dcbw@redhat.com>
19791
19792         * Remove 'debug' extern global from all files since we now
19793                 use syslog()
19794
19795         * src/NetworkManager.[ch]
19796                 - Break out routine that get the net.interface property from HAL,
19797                         removing that logic from nm_create_device_and_add_to_list()
19798                 - (nm_create_device_and_add_to_list): make this a bit more general so
19799                         it doesn't do the talking to HAL.  Also add arguments to facilitate
19800                         the create of test devices.
19801                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
19802                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
19803                         which makes NetworkManager listen for dbus commands to create test
19804                         devices, which have no backing hardware.  Use when you're on a plane
19805                         for example, and/or forgot your wireless card at home.  Test devices
19806                         _cannot_ be created unless NM is started with --enable-test-devices.
19807
19808         * src/NetworkManagerDbus.[ch]
19809                 - New "getLinkActive" method for devices
19810                 - New "setLinkActive" method for devices (only works on test devices)
19811                 - New "createTestDevice" method on NetworkManager object to create a test
19812                         device of a specified type (ie wired, wireless).  UDI is created from
19813                         scratch, as is the interface name.  Only works when NM is started with
19814                         --enable-test-devices switch.
19815                 - New "removeTestDevice" method on NetworkManager object which removes a
19816                         test device.  Only works when NM is started with --enable-test-devices
19817
19818         * src/NetworkManagerDevice.[ch]
19819                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
19820                         whether a device is a test device or not, and what its link status is.
19821                 - Deal with test devices in most functions.  For those that work directly on hardware
19822                         special-case test devices.
19823                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
19824                         command-line.
19825                 - (nm_device_update_link_active): split out logic for wired and wireless device link
19826                         checking to separate functions to facilitate test device link checking.
19827                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
19828                         don't make a distinction between System Authentication and Encryption
19829                         (namely Cisco aironet), we use Open System auth when setting a WEP key
19830                         on the card.  We don't deal with Shared Key auth yet.
19831                 - (nm_device_activation_worker): split the activation cancel check logic out into
19832                         a separate routine nm_device_activation_cancel_if_needed()
19833                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
19834                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
19835                         a list of fake access points that they can "see"
19836                 - (nm_device_is_test_device): return whether or not a device is a test device
19837
19838         * src/NetworkManagerPolicy.c
19839                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
19840                         previously if you "locked"/forced NM to use a wireless device but then
19841                         selected a wireless network for NM to use, it would switch to a wired device.
19842                         So, if the active device is wireless and it has a "forced" best AP, use it
19843                         if the "forced" best AP is still valid
19844                 - (nm_state_modification_monitor): deal with NULL best devices, for example
19845                         there were no usable network devices, or the last one was removed
19846
19847         * src/backends/NetworkManager*.c
19848                 - Deal with test devices, mostly just return success for operations like getting
19849                         a DHCP address
19850
19851         * test/nmtestdevices.c
19852                 - Test tool to create/remove/link-switch test devices
19853
19854 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
19855
19856         * examples/python/NetworkManager.py: 
19857         added convience functions has_wired_device and has_wireless_device
19858
19859         * examples/python/systray/network_tray.py: 
19860         cleaned up a bunch of cruft, added support for listing wireless
19861         networks just like the real applet.  This is probably all I'm
19862         going to work on this applet from now on.
19863         TODO: add support for actually changing networks and devices
19864
19865         * examples/python/NetworkManager.py (NetworkManager.get_device): 
19866         changed "nm.networks" into a dict from a list so I can store all
19867         the cool information about networks in there
19868
19869         * examples/python/systray/network_tray.py: 
19870         Added nice message when you try to run without running make first
19871
19872         * examples/python/NetworkManager.py: 
19873         Bug fixes to the code so we get all the device information
19874         that we need in get_device()
19875         
19876         * examples/python/NMTester.py: 
19877         Fixed _print_device_list to print_device_list
19878
19879 2004-08-29  Seth Nickell  <seth@gnome.org>
19880
19881         * configure.in:
19882
19883         Actually properly setup the Debian backend in configure.
19884         
19885 2004-08-29  Colin Walters  <walters@verbum.org>
19886
19887         * test/nminfotest.c: Include string.h and stdlib.h.
19888         (get_network_string_property, get_networks_of_type): Return NULL.
19889
19890         * test/nmclienttest.c (get_device_name, get_active_device): Return
19891         NULL.
19892
19893         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
19894         use strlen, fgets always NULL-terminates the string.
19895
19896         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
19897         dbus_message_get_member): Remove /* in comment.
19898
19899         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
19900
19901         * src/NetworkManager.c (quit): Unused, delete.
19902         (nm_data_free): Cast arg to GFunc.
19903
19904         * panel-applet/NMWirelessAppletDbus.c: Need to include
19905         string.h, and dbus-glib-lowlevel.h (the latter is needed
19906         for dbus_connection_setup_with_g_main at present).
19907         (nmwa_dbus_update_wireless_network_list): Parenthesize
19908         assignment in conditional.
19909         (nmwa_dbus_worker): Return NULL.
19910
19911         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
19912         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
19913         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
19914         (nmwa_populate_menu): Return NULL on failure, instead of just
19915         return;
19916
19917         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
19918
19919         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
19920         variables.
19921
19922         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
19923         delete.
19924         
19925 2004-08-29  Colin Walters  <walters@verbum.org>
19926
19927         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
19928         a GTimeVal instead of time_t.  This is easier to work with,
19929         since time_t may be a long or double, we don't know.
19930
19931         * src/NetworkManagerDbus.h: Update prototype.
19932         
19933         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
19934         instead of time_t.
19935         (nm_ap_get_timestamp): Update to return GTimeVal.
19936         (nm_ap_set_timestamp): Update to take GTimeVal.
19937         
19938         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
19939         to handle GTimeVal.
19940
19941         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
19942         GTimeVal change.
19943         (nm_ap_list_print_members): Fix warnings in printf format.
19944
19945 2004-08-29  Colin Walters  <walters@verbum.org>
19946         
19947         * panel-applet/NMWirelessApplet.c: Include config.h.
19948
19949 2004-08-29  Colin Walters  <walters@verbum.org>
19950
19951         * configure.in: Generate config.h.
19952
19953         * configure.in: Dump dependency on OpenSSL; we can't
19954         use it since this package is GPL:
19955         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
19956         Instead, check for libgcrypt, use it if available,
19957         otherwise use included MD5 code.
19958
19959         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
19960         Suck in from gnome-keyring, munge a bit.
19961         
19962         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
19963         gnome-keyring-md5.h gnome-keyring-md5.c.
19964         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
19965
19966         * src/NetworkManagerWireless.c (nm_md5): New function, uses
19967         libgcrypt or included gnome-keyring md5 bits.
19968         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
19969
19970 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
19971
19972         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
19973
19974 2004-08-27  Bryan Clark  <bclark@redhat.com>
19975
19976         * examples/python/systray/Makefile: 
19977
19978         Updated the clean section
19979         
19980         * examples/python/systray/trayiconmodule.c: 
19981         * examples/python/systray/trayicon.override: 
19982         * examples/python/systray/network_tray.py: 
19983         * examples/python/systray/eggtrayicon.h: 
19984         * examples/python/systray/eggtrayicon.c: 
19985         * examples/python/systray/Makefile: 
19986         * examples/python/README: 
19987         * examples/python/NetworkManager.py: 
19988         * examples/python/NMTester.py: 
19989
19990         Initial commit of these python example files
19991
19992 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
19993
19994         * panel-applet/NMWirelessApplet.c
19995                 - Make current device bold
19996                 - Show more user-friendly device name if we got one from hal
19997
19998         * panel-applet/NMWirelessAppletDbus.c
19999                 - Grab "info.product" key from hal for network devices
20000                 - Cache the current active device
20001
20002 2004-08-27  Adam Weinberger  <adamw@gnome.org>
20003
20004         * configure.in: Added en_CA to ALL_LINGUAS.
20005
20006 2004-08-27  Christian Rose  <menthos@menthos.com>
20007
20008         * configure.in: Added "sv" to ALL_LINGUAS.
20009
20010 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20011
20012         * Tag NetworkManager-0.2
20013
20014 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
20015
20016         * initscripts/Makefile.am
20017         * configure.in: Make pass distcheck
20018
20019         * po/ChangeLog: added
20020
20021 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20022
20023         * panel-applet/NMWirelessApplet.c
20024                 - Remove debugging code
20025                 - Enable device switching from menus
20026
20027         * panel-applet/NMWirelessAppletDbus.[ch]
20028                 - Method for asking NM to switch devices
20029
20030         * src/NetworkManagerDevice.c
20031                 - Set dev->activating earlier, avoids race between
20032                         the dbus signal of "DeviceActivating" and setting
20033                         dev->activating (which is what NM's "status" method call
20034                         looks at)
20035
20036 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20037
20038         * panel-applet/NMWirelessApplet.[ch]
20039                 - Rework menu code to add devices to menu, and to show
20040                         signal strength for each access point.  Code cleanups
20041                         too.
20042
20043         * panel-applet/NMWirelessAppletDbus.c
20044                 - Grab network devices from NetworkManager too
20045                 - Grab quality information from NM for wireless networks
20046
20047         * src/NetworkManagerDbus.[ch]
20048                 - Add dbus methods for getting the HAL UDI from a device and
20049                         for getting its base quality, if its wireless
20050                 - Consolidate some functions (wireless network notifications,
20051                         device notifications)
20052                 - Add method for requesting NM to use a particular device
20053
20054         * src/NetworkManager.c
20055                 - Change for function consolidations from NetworkManagerDbus.c
20056                 - Implement active device locking and user-requested devices
20057                         (ie, tell NM to use a particular device instead of the one
20058                         it autochose)
20059
20060         * src/NetworkManagerDevice.c
20061                 - Add method for getting the base quality of a device, if its
20062                         wireless
20063                 - Grab device base quailty info from iwlib during scans
20064
20065         * src/NetworkManagerPolicy.c
20066                 - Use a user-requested device rather than the auto-chosen device
20067                         if we are told to
20068
20069 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
20070
20071         * Makefile.am: add po as a supdir
20072
20073         * autogen.sh: use gnome-autogen.sh
20074
20075         * initscript/Gentoo/.cvsignore:
20076         * initscript/RedHat/.cvsignore: Shut up cvs
20077
20078         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
20079
20080         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
20081         (nmwa_fill): Use gettext.
20082
20083         * configure.in: add gettext support
20084         * po/.cvsignore:
20085         * po/NetworkManager.pot:
20086         * po/POTFILES.in:
20087
20088 2004-08-26  Seth Nickell  <seth@gnome.org>
20089
20090         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
20091         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
20092         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
20093         (nmwa_dispose_menu_items), (nmwa_populate_menu),
20094         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
20095         * panel-applet/NMWirelessApplet.h:
20096
20097         Use a menu bar instead of a button for the main clickable
20098         thingy.
20099         
20100 2004-08-25  Dan Williams <dcbw@redhat.com>
20101
20102         * src/NetworkManagerDevice.c
20103                 - (nm_device_set_enc_key): always set device to "open" mode instead of
20104                         turning encryption off, because the Cisco driver doesn't associate
20105                         with WEP-enabled access points unless we are in "open"
20106
20107 2004-08-25  Dan Williams <dcbw@redhat.com>
20108
20109         * src/NetworkManagerWireless.c
20110                 - Don't try to defererence blank passphrases
20111
20112 2004-08-25  Dan Williams <dcbw@redhat.com>
20113
20114         * panel-applet/NMWirelessApplet.c
20115                 - Rebuild the menu whenever a user clicks
20116
20117 2004-08-25  Dan Williams <dcbw@redhat.com>
20118
20119         * panel-applet/NMWirelessApplet.c
20120                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
20121                         when NM isn't around or when its not connected
20122
20123         * src/NetworkManagerDevice.c
20124                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
20125                         canceled.
20126
20127 2004-08-25  Dan Williams <dcbw@redhat.com>
20128
20129         * panel-applet/NMWirelessAppletDbus.c
20130                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
20131                         for getting encryption, and don't stop on "val" once we've gotten it
20132                         from NetworkManager.  Short form:  encryption should now show up.
20133
20134 2004-08-25  Dan Williams <dcbw@redhat.com>
20135
20136         * panel-applet/NMWirelessApplet.c
20137                 - Set ESSID on a gconf trusted network too when force-setting the wireless
20138                         network to associate with
20139
20140 2004-08-25  Dan Williams <dcbw@redhat.com>
20141
20142         * panel-applet/*
20143                 - Rework the panel applet to do all DBUS communication in a separate
20144                         thread
20145
20146 2004-08-25  Dan Williams <dcbw@redhat.com>
20147
20148         * info-daemon/NetworkManagerInfo.[ch]
20149                 - Remove "get_next_priority" function
20150
20151         * info-daemon/NetworkManagerInfoDbus.[ch]
20152                 - Convert "priority" functions to "timestamp"
20153
20154 2004-08-25  Dan Williams <dcbw@redhat.com>
20155
20156         * src/NetworkManagerAP.[ch]
20157                 - Add a "enc_method_good" member and accessors to an Access Point
20158                         to signal when we've found the correct encryption method
20159                         for an access point
20160                 - Add a "timestamp" member and accessors, remove "priority" member
20161                         and accessors (use timestamps instead)
20162                 - Rename "wep_key"->"enc_key"
20163                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
20164                         for a specified encryption method using the access points
20165                         source encryption key/passphrase
20166
20167         * src/NetworkManagerAPList.c
20168                 - When updating a network with dbus, grab timestamp now instead of
20169                         priority
20170
20171         * src/NetworkManagerDBus.[ch]
20172                 - Add signal for "DeviceActivating"
20173                 - Switch priority->timestamp
20174
20175         * src/NetworkManagerDevice.c
20176                 - Change references of "wep_key" -> "enc_key" or "key"
20177                 - Signal DeviceActivating when starting activation
20178                 - When activating a wireless device, if the access point we are connecting
20179                         to is encrypted, and we have a source key, try to generate a mangled
20180                         key and use that (ie, generate real WEP key from a passphrase)
20181                 - Rework device activation to fallback to other encryption methods if
20182                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
20183                         first, then if that doesn't work fall back to direct hex key).
20184                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
20185                         priority.  We now prefer the latest access point used, rather than using
20186                         a priority scheme
20187                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
20188                         points we've just discovered, and merge in correct info from the global
20189                         access point lists
20190
20191 2004-08-25  Seth Nickell  <seth@gnome.org>
20192
20193         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
20194         Debian support.
20195         
20196         * src/Makefile.am:
20197         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
20198         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
20199         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
20200         (nm_system_delete_default_route),
20201         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
20202         (nm_system_load_device_modules):
20203
20204 2004-08-24  Dan Willemsen <dan@willemsen.us>
20205
20206         * src/NetworkManager.c
20207           src/backends/NetworkManagerGentoo.c
20208           src/backends/NetworkManagerRedHat.c
20209           src/backends/NetworkManagerSystem.h
20210                 - Implement preliminary Gentoo support, adding a
20211                         nm_system_init function to the backend specification
20212
20213         * configure.in
20214                 - Distribution auto-detection, lowercase any user-fed
20215                         distribution names
20216
20217         * initscript/.cvsignore
20218           initscript/Makefile.am
20219           initscript/RedHat/Makefile.am
20220           initscript/RedHat/NetworkManager
20221           initscript/Gentoo/Makefile.am
20222           initscript/Gentoo/NetworkManager
20223                 - Refactored initscript code separately for each
20224                         distribution
20225
20226 2004-08-23  Dan Williams <dcbw@redhat.com>
20227
20228         * configure.in
20229           src/Makefile.am
20230           src/NetworkManagerDevice.c
20231           src/NetworkManager.c
20232           src/NetworkManagerUtils.[ch]
20233           src/backends/NetworkManagerSystem.h
20234           src/backends/NetworkManagerRedHat.c
20235           src/backends/NetworkManagerGentoo.c
20236                 - Refactor system-specific code into separate backends for
20237                         each distribution
20238
20239 2004-08-23  Dan Willemsen <dan@willemsen.us>
20240
20241         * dispatcher-daemon/NetworkManagerDispatcher.c
20242           info-daemon/NetworkManagerInfo.[ch]
20243           info-daemon/NetworkManagerInfoDbus.c
20244           info-daemon/NetworkManagerInfoPassphraseDialog.c
20245           src/NetworkManager.c
20246           src/NetworkManagerAP.c
20247           src/NetworkManagerAPList.c
20248           src/NetworkManagerDbus.c
20249           src/NetworkManagerDevice.c
20250           src/NetworkManagerPolicy.c
20251           src/NetworkManagerUtils.[ch]
20252           src/NetworkManagerWireless.c
20253                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
20254
20255         * src/NetworkManager.c
20256                 - Fixed usage wording for --no-daemon
20257
20258 2004-08-23  Dan Williams <dcbw@redhat.com>
20259
20260         * panel-applet/NMWirelessApplet.c
20261                 - Update our state every second to get more responsive panel icon
20262                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
20263                         was causing our marching ants status blips to never move when
20264                         looking for a wireless network
20265
20266         * src/NetworkManagerDevice.c
20267                 - (nm_device_activation_begin): return if activation has already begun
20268                 - (nm_device_do_normal_scan): merge WEP key and priority from the
20269                         trusted/preferred network into the device's access point when the
20270                         scan list is processed
20271
20272 2004-08-23  Dan Williams <dcbw@redhat.com>
20273
20274         * initscript/NetworkManager
20275                 - Use NMLaunchHelper rather than sleeping
20276
20277         * initscript/NMLaunchHelper.c
20278           Makefile.am
20279                 - Add helper program that exits only when NM activates a device,
20280                         or 10 seconds have passed, whichever happens first.  This
20281                         stops the boot processes until we have a network connection,
20282                         which NM can't do because it daemonizes and brings the connection
20283                         up in the background.  Allows stuff like NFS to not die.
20284
20285 2004-08-20  Dan Williams <dcbw@redhat.com>
20286
20287         * info-daemon/NetworkManagerInfoPassphraseDialog.c
20288                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
20289                         for a network, set the essid as well since it may not exist yet
20290                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
20291                         since WEP keys/passphrases are long and prone to entry-error
20292
20293         * panel-applet/Makefile.am
20294           panel-applet/wired.png
20295                 - Add (pulled from system-config-network temporarily)
20296
20297         * panel-applet/NMWirelessApplet.[ch]
20298                 - Show wired picture when a wired connection is used
20299                 - Rename wireless icon enums, adding WIRELESS
20300
20301         * src/NetworkManagerDevice.c
20302                 - (nm_device_activate_wireless): unset encryption before bringing
20303                         down the card and setting the essid
20304                 - (nm_device_activatin_worker): request a key from the user if the
20305                         AP we are connecting to is encrypted but we don't have a key
20306                         for it yet
20307                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
20308                         strcmp() that prevented a user-entered key from actually getting
20309                         used
20310
20311 2004-08-16  Dan Williams <dcbw@redhat.com>
20312
20313         * initscript/NetworkManager
20314                 - Check for /sbin/ip
20315                 - Do sysctl magic that network service does
20316                 - sleep 4s after start to allow network time to come up [hack]
20317
20318         * src/Makefile.am
20319           src/NMLoadModules
20320                 - Load all network device kernel modules (hal doesn't know devices
20321                         are ethernet until the module is loaded, and therefore we don't know)
20322
20323         * src/NetworkManager.c
20324                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
20325                         network devices, and bring up the loopback device explicitly
20326
20327         * src/NetworkManagerUtils.[ch]
20328                 - (nm_enable_loopback): new function
20329
20330 2004-08-13  Dan Williams <dcbw@redhat.com>
20331
20332         * configure.in
20333           panel-applet/Makefile.am
20334                 - Fix up cleanfiles and server_DATA/server_in_files
20335
20336         * README
20337                 - Update with some comments on theory of operation
20338
20339         * CONTRIBUTING
20340           Makefile.am
20341                 - Add CONTRIBUTING
20342
20343 2004-08-12  Dan Williams <dcbw@redhat.com>
20344
20345         * info-daemon/passphrase.glade
20346                 - Set window title to " "
20347
20348         * panel-applet/Makefile.am
20349           panel-applet/keyring.png
20350                 - Deliver to correct place
20351
20352         * panel-applet/NMWirelessApplet.[ch]
20353                 - Add comments
20354                 - Remove applet->have_active_device as its no longer used
20355                 - (nmwa_load_theme): load keyring.png too
20356                 - (error_dialog): remove
20357                 - (show_warning_dialog): subsume functionality of error dialog too
20358                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
20359                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
20360                         the networks menu
20361                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
20362                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
20363                         and when we get broadcasts of changed wireless access points only, not when the
20364                         user clicks on the button to display the menu (too long of a wait)
20365                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
20366                         networks that are encrypted
20367                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
20368                         menu item with g_object_set_data()
20369
20370         * panel-applet/NMWirelessAppletDbus.[ch]
20371                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
20372                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
20373                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
20374                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
20375                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
20376                         activation/deactivation signals and rebuild the menu when they happen
20377
20378         * src/NetworkManager.c
20379                 - (main): use new nm_spawn_process() rather than system()
20380
20381         * src/NetworkManagerDbus.c
20382                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
20383                         instead.  Since we can now force best_aps to stick around, the AP structure to which
20384                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
20385                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
20386                         to freeze the best_ap.
20387
20388         * src/NetworkManagerDevice.[ch]
20389                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
20390                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
20391                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
20392                         ap list
20393
20394         * src/NetworkManagerUtils.[ch]
20395                 - (nm_spawn_process): add replacement for system() usage
20396
20397 2004-08-11  Dan Williams <dcbw@redhat.com>
20398
20399         * panel-applet/NMWirelessApplet.[ch]
20400                 - Fix up copyright and credits to include Bastien and Eskil,
20401                         who created the gnome-applets wireless applet, from whose
20402                         skeleton this one was created
20403                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
20404                         pixmap to draw is computed during nmwa_update_state()
20405                 - Applet now shows itself all the time due to panel packing issues
20406                         which caused the applet to previously never come back after hiding.
20407                         When a wired device is the active device, the applet shows "not connected"
20408
20409         * panel-applet/NMWirelessAppletDbus.[ch]
20410                 - Clean up error messages and show what function they are from
20411                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
20412                 - Add new device type getters, and a status getter
20413
20414         * src/NetworkManagerDbus.c
20415                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
20416                         network is actually in the device's ap list
20417                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
20418
20419         * src/NetworkManagerDevice.c
20420                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
20421                         card
20422
20423         * test/nmclienttest.c
20424                 - Report status of NetworkManager too
20425
20426 2004-08-11  Dan Williams <dcbw@redhat.com>
20427
20428         * info-daemon/NetworkManagerInfo.c:
20429                 - (main): clean up Seth's code style
20430
20431         * info-daemon/NetworkManagerInfoDbus.c:
20432                 - Use the more aptly-named path/service/interface constants from NetworkManager
20433                 - Don't return empty strings ("") as object paths ever, instead return errors
20434
20435         * panel-applet/NMWirelessApplet.c:
20436                 - Clean up Seth's code style
20437
20438         * src/NetworkManager.[ch]
20439                 - (nm_remove_device_from_list): remove anything having to do with pending_device
20440                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
20441
20442         * src/NetworkManagerAPList.[ch]
20443                 - Move Iter struct right above the iter functions to preserve opacity
20444                 - (nm_ap_list_remove_ap): implement
20445                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
20446                         remove AP if NetworkManagerInfo doesn't know anything about it
20447                 - (nm_ap_list_diff): user NMAPList iterators
20448                 - (nm_ap_list_print_members): implement debugging function
20449
20450         * src/NetworkManagerDbus.[ch]
20451                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
20452                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
20453                         and move the actual key setting stuff into NetworkManagerDevice.c
20454                 - (nm_dbus_get_network_priority): return -1 now on errors
20455                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
20456                         get lost, and force the active device to update its "best" ap when AP lists change
20457                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
20458                         method call due to pending_device member removal
20459
20460         * src/NetworkManagerDevice.[ch]
20461                 - Move NMDevice structure to the top
20462                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
20463                 - Remove Pending Action stuff from everywhere
20464                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
20465                         activation for us.  This thread blocks until all conditions for activation have
20466                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
20467                         then setup up the interface and runs dhclient.  We have to do this because there
20468                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
20469                         run our main loop and respond to dbus method calls or HAL device removals/inserts
20470                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
20471                         can tell nm_device_activation_worker() that we've got a key
20472                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
20473                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
20474                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
20475                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
20476
20477         * src/NetworkManagerPolicy.c
20478                 - Remove anything to do with pending_device
20479                 - Adjust device activation to deal with activation-in-worker-thread
20480
20481         * src/NetworkManagerUtils.c
20482                 - Clean up locking debugging a bit
20483
20484         * src/NetworkManagerWireless.[ch]
20485                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
20486                         was badly named and is better as a device function
20487
20488         * panel-applet/.cvsignore: add
20489
20490 2004-08-09  Seth Nickell  <seth@gnome.org>
20491
20492         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
20493         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
20494         (nmwa_new):
20495         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
20496
20497         Don't load the menus until clicked on (also removes a call outside
20498         normal code paths at first load).
20499
20500         Hide applet when NM is not present.
20501         
20502         Improve printf debugging stuff.
20503         
20504 2004-08-09  Dan Williams <dcbw@redhat.com>
20505
20506         * dispatcher-daemon/NetworkManagerDispatcher.c:
20507                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
20508                 - Use constants for NetworkManager interface, service, and path
20509
20510 2004-08-09  Dan Williams <dcbw@redhat.com>
20511
20512         * src/NetworkManagerDbus.c:
20513                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
20514                         instead return an error message
20515                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
20516                         on a wired device.  Also never return an empty object path, instead return an error message
20517
20518 2004-08-06  Seth Nickell  <seth@gnome.org>
20519
20520         * panel-applet/NMWirelessApplet.c: (nmwa_new):
20521
20522         Check the error code when getting a connection.
20523         
20524         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
20525
20526         Check if the NM service exists when initializing (rather than
20527         assuming it does not).
20528         
20529         * src/NetworkManagerDbus.c: (nm_dbus_init):
20530
20531         Don't acquire the well-known service name until we have
20532         registered object/path handlers and can actually receive
20533         calls.
20534         
20535 2004-08-06  Dan Williams <dcbw@redhat.com>
20536
20537         * panel-applet/*
20538                 - Add panel applet
20539
20540         * src/NetworkManagerPolicy.c
20541           src/NetworkManager.c
20542                 - Get access point lists from NetworkManagerInfo on-demand,
20543                         and look for ServiceCreate/ServiceDeleted signals to see when
20544                         we should query NMI for lists
20545         * src/NetworkManagerAPList.c
20546                 - Make sure to init the list's mutex
20547                 - Convert traversals of the list over to the list iter functions
20548
20549         * src/NetworkManagerDbus.[ch]
20550                 - Use more aptly-named path/service/interface constants
20551                 - Treat both active and pending devices the same for "getActiveDevice"
20552                 - Add a "status" method returning "connected", "connecting", or "disconnected"
20553
20554         * src/NetworkManagerDevice.c
20555                 - Honor "ignored" network list when picking best ap to use
20556
20557 2004-08-06  Seth Nickell  <seth@gnome.org>
20558
20559         * aclocal.m4:
20560
20561         Autogenerated, remove from CVS.
20562         
20563         * autogen.sh:
20564
20565         Don't hardcode automake version.
20566         
20567         * configure.in:
20568         * info-daemon/Makefile.am:
20569         * info-daemon/NetworkManagerInfo.c: (main):
20570
20571         Use GnomeProgram et al. for doing session management.
20572         Use popt stuff for argument parsing rather than doing
20573         it manugally.
20574         
20575 2004-08-05  Dan Williams <dcbw@redhat.com>
20576
20577         * test/nminfotest.c
20578                 - Update to new NMI dbus API, check different network types
20579
20580         * info-daemon/NetworkManagerInfoDbus.c
20581                 - Update to new NM dbus API, ie network type sent in query message
20582
20583 2004-08-05  Dan Williams <dcbw@redhat.com>
20584
20585         * An assload of changes
20586
20587 2004-08-02  Dan Williams <dcbw@redhat.com>
20588
20589         * TODO
20590                 - new task: proper logging support
20591
20592         * info-daemon/NetworkManagerInfo.c
20593                 - Correct spelling of "canceled"
20594                 - Correct casting of objects for g_signal_connect()
20595
20596         * info-daemon/NetworkManagerInfoDbus.c
20597                 - Add defines for NetworkManager namespace and object path, and use them
20598                 - Add filter function to trap new signals from NetworkManager:
20599                         WirelessNetworkAppeared, WirelessNetworkDisappeared
20600
20601         * info-daemon/passphrase.glade
20602                 - Change name of "ok" button to "Login to Network..."
20603                 - Mark invisible
20604
20605         * src/NetworkManager.c
20606                 - Code and debug message cleanups
20607                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
20608                 - (nm_add_initial_devices) Check returned string array of devices
20609                         and don't try to add devices if array is NULL
20610                 - (main) Initialize libhal a bit later, make code a bit clearer
20611
20612         * src/NetworkManagerAP.[ch]
20613                 - New accessor and data member "matched": used to speed up AP list
20614                         diffing
20615                 - New accessor and data member "enc_method": will be used during key
20616                         fallback to cache which passphrase->key conversion actually works
20617                         so we don't have to do it every time
20618
20619         * src/NetworkManagerAPList.[ch]
20620                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
20621                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
20622                         between them, and send WirelessNetworkAppeared/Disappeared signals over
20623                         dbus in response to those differences
20624
20625         * src/NetworkManagerDbus.[ch]
20626                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
20627                         make an object path for that access point (NOTE that we don't yet check to
20628                         make sure that access point is actually in the device's AP list yet)
20629                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
20630                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
20631                         New: signal appearance/disappearance of wireless networks
20632                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
20633                         key entry
20634
20635         * src/NetworkManagerDevice.[ch]
20636                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
20637                 - (nm_device_ap_list_get) New: return the AP list (static function)
20638                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
20639                         new one resulting from the scan with the old one
20640
20641         * src/NetworkManagerWireless.c
20642                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
20643
20644         * test/nminfotest.c
20645                 - #define object paths and namespaces and use the #defines rather than static strings
20646                 - Test out user-key functionality of NetworkManagerInfo too
20647
20648 2004-07-29  Dan Williams <dcbw@redhat.com>
20649
20650         * info-daemon/NetworkManagerInfoDbus.c
20651           src/NetworkManagerDbus.c
20652                 - Update to current DBus (ie don't use decomposed paths when registering
20653                         object paths/fallbacks)
20654
20655 2004-07-27  Dan Williams <dcbw@redhat.com>
20656
20657         * Remove various Makefile.in files
20658
20659         * TODO
20660                 - Add some more items
20661
20662         * configure.in
20663                 - Add checks for OpenSSL/md5 headers and libs
20664
20665         * src/Makefile.am
20666                 - Use OpenSSL CFLAGS
20667
20668         * src/NetworkManagerAP.[ch]
20669                 - Remove 'stamp' functions, replace with 'invalid' functions
20670                         to support user cancelling WEP key entry
20671
20672         * src/NetworkManagerDbus.c
20673                 - Remove 'stamp' return functions
20674                 - Treat returned user key as a passphrase and convert to a WEP key,
20675                         but don't actually use the WEP key yet.  We use the returned user
20676                         key as a hexadecimal WEP key until we can figure out a UI for
20677                         passphrase-vs-hex key
20678
20679         * src/NetworkManagerWireless.[ch]
20680                 - Add passphrase-to-128bit-key function
20681
20682 2004-07-27  Dan Williams <dcbw@redhat.com>
20683
20684         * TODO
20685                 - Add a couple of items
20686
20687 2004-07-27  Dan Williams <dcbw@redhat.com>
20688
20689         * info-daemon/NetworkManagerInfo.c
20690                 - Update allowed network's GConf key when user enters a WEP key explicitly
20691
20692         * info-daemon/NetworkManagerDbus.c
20693                 - Fix some comments
20694                 - nmi_dbus_get_allowed_networks(): kill warning
20695
20696 2004-07-27  Dan Williams <dcbw@redhat.com>
20697
20698         * initscript/Makefile.in
20699                 - Remove
20700
20701         * initscript/Makefile.am
20702                 - Add correct rules to install the init.d initscript
20703
20704         * info-daemon/NetworkManagerInfoDbus.c
20705                 - Remove debug fprintf
20706
20707         * src/NetworkManagerDbus.[ch]
20708                 - Remove debug fprintfs
20709                 - Add macros for NetworkManagerInfo object path/namespace
20710                 - Use said macros instead of constant strings
20711
20712 2004-07-27  Dan Williams <dcbw@redhat.com>
20713
20714         * initscript/.cvsignore
20715                 - Add
20716
20717         * info-daemon/Makefile.am
20718                 - Install .glade files and keyring.png
20719                 - Fix stupid omission of a \ that caused half the flags not to be
20720                         passed to gcc
20721
20722         * info-daemon/NetworkManagerInfo.c
20723                 - gtk_signal_connect->g_signal_connect
20724                 - Alert NetworkManagerInfo to new glade file location
20725
20726 2004-07-27  Dan Williams <dcbw@redhat.com>
20727
20728         * test/nmclienttest.c
20729           test/nminfotest.c
20730                 - Add missing <dbus/dbus.h> headers
20731                 - Add GPL message at top
20732
20733 2004-07-27  Dan Williams <dcbw@redhat.com>
20734
20735         * src/NetworkManagerAPList.[ch]
20736           src/Makefile.am
20737                 - Add.  Deal with allowed network list additions, deletions, and updates
20738
20739         * dispatcher-daemon/NetworkManagerDispatcher.c
20740                 - Add missing <dbus/dbus.h> header
20741
20742         * info-daemon/NetworkManagerInfo.[ch]
20743                 - Add missing <dbus/dbus.h> header
20744                 - Implement the GConf notify callback to signal NetworkManager of an allowed
20745                         network change
20746                 - Better error checking
20747
20748         * info-daemon/NetworkManagerInfoDbus.[ch]
20749                 - Add missing <dbus/dbus.h> header
20750                 - Convert to using dbus_message_append_args/dbus_message_get_args
20751                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
20752                         that an allowed network changed.  We don't want to signal on individual
20753                         keys _inside_ an allowed network really, just want NM to query the info
20754                         daemon for updated info on all keys.
20755                 - Better error checking
20756
20757         * src/NetworkManager.[ch]
20758                 - Add missing <dbus/dbus.h> header
20759                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
20760                 - Zero out NMData structure on free
20761                 - No longer use a thread for allowed_ap_list updating, instead its now done
20762                         through dbus queries against NetworkManagerInfo
20763                 - Populate allowed_ap_list initially before adding existing network devices
20764                         to the device list, so wireless devices can get their "best" AP
20765
20766         * src/NetworkManagerDbus.[ch]
20767                 - Convert to using dbus_message_append_args/dbus_message_get_args
20768                 - Better error checking
20769                 - Implement Allowed Network info functions to request allowed network
20770                         info from NetworkManagerInfo
20771                 - Implement the filter function to process signals from NetworkManagerInfo
20772                         about changing allowed networks
20773
20774         * src/NetworkManagerDevice.c
20775                 - Fix file descriptor leak in nm_device_update_ip4_address()
20776
20777 2004-07-27  Dan Williams <dcbw@redhat.com>
20778
20779         * .cvsignore
20780           src/.cvsignore
20781           test/.cvsignore
20782           dispatcher-daemon/.cvsignore
20783           info-daemon/.cvsignore
20784                 - Add .cvsignore files to reduce noise when diffing
20785
20786 2004-07-24  Dan Williams <dcbw@redhat.com>
20787
20788         * src/NetworkManager.[ch]
20789           src/NetworkManagerDbus.[ch]
20790           src/NetworkManagerDevice.[ch]
20791           src/NetworkManagerPolicy.c
20792           src/NetworkManagerWireless.[ch]
20793                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
20794                 - Pass the NMData application data structure through all calls
20795                         that need it so we can get rid of nm_get_global_data()
20796                 - Change deallocation of the allowed_ap_list GSList in preparation
20797                         for not completely clearing it every time we get an update,
20798                         but instead getting incremental updates via GConf/dbus
20799
20800 2004-07-22  Dan Williams <dcbw@redhat.com>
20801
20802         * configure.in
20803                 - Add checks for GConf libs & headers & flags
20804
20805         * info-daemon/Makefile.am
20806                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
20807
20808         * info-daemon/NetworkManagerInfo.[ch]
20809                 - Don't use gquarks for data storage, just use normal data storage
20810                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
20811
20812         * info-daemon/NetworkManagerDbus.[ch]
20813                 - Add method call for getting allowed networks
20814                 - Add method calls for getting an allowed network's essid, priority, and key
20815                 - Hook the method calls up to GConf
20816                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
20817                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
20818                 
20819         * src/NetworkManagerDbus.[ch]
20820                 - Switch for enumeration of networks to using essid instead
20821
20822         * test/Makefile.am
20823           test/nminfotest.c
20824                 - Add test program for NetworkManagerInfo
20825
20826 2004-07-19  Dan Williams <dcbw@redhat.com>
20827
20828         * src/NetworkManagerDbus.c
20829                 - Switch from indexed device paths to names.  Less code, more efficient.
20830                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
20831
20832 2004-07-19  Dan Williams <dcbw@redhat.com>
20833
20834         * dispatcher-daemon/NetworkManagerDispatcher.c
20835                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
20836
20837 2004-07-19  Dan Williams <dcbw@redhat.com>
20838
20839         * Makefile.am
20840                 - Add info-daemon directory
20841
20842         * configure.in
20843                 - Check for glade libs and headers
20844                 - Add info-daemon directory
20845
20846         * src/NetworkManagerAP.c
20847                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
20848                         copied over to the new AP.
20849
20850         * src/NetworkManagerDbus.c
20851           src/NetworkManagerDbus.h
20852                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
20853                 - Remove nm_dbus_signal_need_key_for_network()
20854                 - Add disabled code for asynchronous user wep key callbacks
20855                 - Add functions for getting, setting, and cancelling user key operations
20856                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
20857                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
20858
20859         * src/NetworkManagerDevice.c
20860           src/NetworkManagerDevice.h
20861                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
20862                         logic is in device activation now
20863                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
20864                         key is wrong) trigger get-user-key pending action
20865                 - Implement get-user-key pending action stuff, tie to dbus messages
20866                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
20867                 - Add nm_device_ap_list_get_ap_by_essid()
20868                 - Instead of copying "best" access points, ref them instead so that the key we set
20869                         sticks around
20870
20871         * src/NetworkManagerPolicy.c
20872                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
20873                 - Don't cancel pending actions on a device if its the same device as last iteration
20874                 - Only promote pending_device->active_device if activation was successfull
20875
20876         * src/Makefile.am
20877                 - Rename nmclienttest->nmtest
20878
20879         * info-daemon/Makefile.am
20880           info-daemon/NetworkManagerInfo.c
20881           info-daemon/NetworkManagerInfo.h
20882           info-daemon/NetworkManagerInfoDbus.c
20883           info-daemon/NetworkManagerInfoDbus.h
20884           info-daemon/passphrase.glade
20885           info-daemon/NetworkManagerInfo.conf
20886           info-daemon/keyring.png
20887                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
20888                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
20889                         lists to NetworkManager by proxying user's GConf
20890           
20891
20892 2004-07-15  Dan Williams <dcbw@redhat.com>
20893
20894         * src/Makefile.am
20895                 - Turn on warnings
20896
20897         * src/NetworkManager.c
20898                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
20899                         that doing the deactivation ourselves
20900                 - Cancel an pending actions on a device if its being removed
20901                 - Break up link state checking a bit, make non-active wireless cards
20902                         deactivated to save power
20903                 - Remove unused variables
20904
20905         * src/NetworkManager.h
20906                 - Add support for "pending" device
20907
20908         * src/NetworkManagerAP.h
20909           src/NetworkManagerAP.c
20910                 - Add support for determining whether and AP has encryption enabled or not
20911                 - AP address is now "struct ether_addr" rather than a string
20912
20913         * src/NetworkManagerDbus.h
20914           src/NetworkManagerDbus.c
20915                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
20916                 - Changes for AP address from struct ether_addr->string
20917
20918         * src/NetworkManagerDevice.h
20919           src/NetworkManagerDevice.c
20920                 - Remove unused variables, fix warnings
20921                 - Add support for Pending Actions (things that block a device from being "active"
20922                         until they are completed).
20923                 - First pending action:  Get a WEP key from the user
20924                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
20925                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
20926                 - Update wireless link checking to try to determine if the AP we are associated
20927                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
20928                         trigger the GetUserKey pending action on the device
20929                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
20930                         up in that case, otherwise we can't scan or link-check on it
20931                 - Add IP address change notifications at appropriate points (still needs some work)
20932                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
20933
20934         * src/NetworkManagerPolicy.h
20935           src/NetworkManagerPolicy.c
20936                 - Split out "best" access point determiniation into separate function
20937                 - Make device activation 2-stage:  first the device is pending, then
20938                         in the next iteration through it becomes "active" unless it has
20939                         pending actions
20940
20941         * src/NetworkManagerUtils.h
20942           src/NetworkManagerUtils.c
20943                 - Clean up unused variables and warnings
20944                 - Wrap our debug macros in {} to prevent possible confusion
20945
20946         * src/NetworkManagerWireless.c
20947                 - Forgot to return current best priority, which lead to last available AP always
20948                         being chosen no matter what its priority was.  Corrected.
20949
20950 2004-07-15  Dan Williams <dcbw@redhat.com>
20951
20952         * dispatcher-daemon/Makefile.am
20953                 - Turn on warnings
20954
20955         * dispatcher-daemon/NetworkManagerDispatcher.c
20956                 - Remove unused variables due to warnings
20957                 - Fix some comments
20958                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
20959
20960 2004-07-06  Dan Williams <dcbw@redhat.com>
20961
20962         * src/NetworkManager.c
20963                 - Add IPv4 address update for active device during link state check
20964                 - Don't allow wireless cards to be powered up when they are not the
20965                         active device
20966
20967         * src/NetworkManagerDbus.c
20968           src/NetworkManagerDbus.h
20969                 - Add DBUS IPv4 address change signal
20970                 - Add DBUS IPv4 address get method for devices
20971
20972         * src/NetworkManagerDevice.c
20973                 - Make setting the WEP key actually work
20974                 - Move IP address get/set/update stuff here, per-device
20975                 - Power down/bring down wireless device when deactivated
20976                 - For scanning wireless devices, if first scan returned ENODATA, try again
20977
20978         * src/NetworkManagerPolicy.c
20979                 - Only set the WEP key for an allowed access point if there is one.
20980                         We were setting it to be blank if one wasn't specified.
20981
20982         * src/NetworkManagerUtils.h
20983           src/NetworkManagerUtils.c
20984                 - Move the IP address stuff to NetworkManagerDevice.c
20985
20986         * dispatcher-daemon/NetworkManagerDispatcher.c
20987                 - Add device IPv4 address change notification stuff
20988
20989 2004-07-05  Dan Williams <dcbw@redhat.com>
20990
20991         * dispatcher-daemon/NetworkManagerDispatcher.c
20992                 - A bit more descriptive state message
20993                 - Don't segfault when reading directory
20994
20995         * src/NetworkManager.h
20996                 - Remove NMData desired_ap member, its now
20997                         per-device rather than global
20998
20999         * src/NetworkManager.c
21000                 - Remove references to desired_ap
21001                 - Move the allowed AP list refresh stuff into a thread
21002
21003         * src/NetworkManagerDevice.c
21004           src/NetworkManagerDevice.h
21005                 - Each wireless device now has a "best ap"
21006                 - Make device activate/deactivate functions per-device
21007                 - Make wireless scanning per-device
21008                 - Add IPv4 address discover functions, stub IPv6 ones
21009                 - Move ethernet address validation functions to NetworkManagerUtils.c
21010                 - Add wireless access point accessor function
21011                 - Get/Set functions for "best ap"
21012
21013         * src/NetworkManagerPolicy.c
21014                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
21015                 - Deal with per-device "best ap" rather than data->desired_apa
21016                 - Implement allowed access point worker thread
21017                 - Add nm_policy_essid_is_allowed() function
21018
21019         * src/NetworkManagerUtils.c
21020           src/NetworkManagerUtils.h
21021                 - Add nm_ethernet_address_is_valid() function
21022                 - Add IPv4/IPv6 address get functions
21023
21024         * src/NetworkManagerWireless.c
21025           src/NetworkManagerWireless.h
21026                 - Move scanning stuff into NetworkManagerDevice.c, per-device
21027
21028 2004-06-29  Dan Williams <dcbw@redhat.com>
21029
21030         * dispatcher-daemon/NetworkManagerDispatcher.c
21031                 - Implement script callout functionality
21032
21033 2004-06-24  Dan Williams <dcbw@redhat.com>
21034
21035         * NetworkManager.c
21036             - Spacing cleanups
21037             - Flush device routes and ip addresses when added to the device list
21038
21039         * NetworkManagerDbus.c
21040             - Spacing cleanups
21041             - Add missing returns in the two signal functions
21042         
21043         * NetworkManagerPolicy.c
21044             - Spacing and variable cleanups
21045
21046 2004-06-24  Dan Williams <dcbw@redhat.com>
21047
21048         * Makefile.am
21049           Makefile.in
21050           configure.in
21051           dispatcher-daemon/Makefile.am
21052           dispatcher-daemon/Makefile.in
21053           dispatcher-daemon/NetworkManagerDispatcher.c
21054             - Add a daemon that receives signals from NetworkManager
21055                         and will (eventually) call scripts in /etc/somewhere
21056                         when devices go up or down.
21057         
21058         * NetworkManager.c
21059             - Spacing cleanups
21060             - Flush device routes and ip addresses when added to the device list
21061
21062         * NetworkManagerDbus.c
21063             - Spacing cleanups
21064             - Add missing returns in the two signal functions
21065         
21066         * NetworkManagerPolicy.c
21067             - Spacing and variable cleanups
21068             - Rename nm_policy_switch_interface->nm_policy_switch_device
21069             - nm_policy_switch_device():
21070                                 Use kill (pid) instead of system ("kill <pid>")
21071             - nm_state_modification_monitor():
21072                                 Add wireless essid to output of debug statements
21073                                 Correct typo in device compare to switch or not (should be !=)
21074                                 Don't sleep after sending "no longer active" signal, was useless
21075
21076 2004-06-24  Dan Williams <dcbw@redhat.com>
21077
21078         * Initial import