2008-10-10 Alexander Sack <asac@ubuntu.com>
[NetworkManager.git] / ChangeLog
1 2008-10-10  Alexander Sack  <asac@ubuntu.com>
2
3         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
4         mode of the ifupdown system config plugin.
5
6         * system-settings/plugins/ifupdown/plugin.c
7                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
8                         private unmanage_well_known state field accordingly
9
10 2008-10-10  Alexander Sack  <asac@ubuntu.com>
11
12         Implement unmanaged mode that will prevent all devices in the
13         well_known_udis set from being touched by NetworkManager
14
15         * system-settings/plugins/ifupdown/plugin.c
16                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
17                         unmanage_well_known field used to turn on/off unmanaged
18                         mode
19                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
20                         signal when well_known_udis get added/removed
21                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
22                         if we are in unmanaged mode
23
24 2008-10-10  Alexander Sack  <asac@ubuntu.com>
25
26         Add support to track network devices that have a configuration
27         with a matching interface.name in /etc/network/interfaces
28
29         * system-settings/plugins/ifupdown/plugin.c
30                 - (typedef struct SCPluginIfupdownPrivate): add hash table
31                         to track |well_known_udis|
32                 - (get_iface_for_udi): helper function to get interface.name
33                         for a udi
34                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
35                         that add and remove devices to and from the well_known_udis
36                         set depending on whether their |interface.name| matches
37                         any interface definition in /etc/network/interfaces
38                 - (SCPluginIfupdown_init): connect callbacks from above with
39                         hal_mgr and setup well_known_udis hashtable
40                 - (GObject__dispose): destroy well_known_udis hashtable
41                 - (hal_device_added_cb2): implement wrapper callback with GFunc
42                         signature. user_data is supposed to be a triple (hal_mgr,
43                         config and devtype)
44                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
45                         startup and call hal_device_added_cb2
46
47 2008-10-10  Alexander Sack  <asac@ubuntu.com>
48
49         Remove implementation for not used NMSystemConfigInterface callback functions
50         in ifupdown plugin
51
52         * system-settings/plugins/ifupdown/plugin.c
53                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
54                 - (SCPluginIfupdown_connection_added): removed
55
56 2008-10-08  Dan Williams  <dcbw@redhat.com>
57
58         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
59
60         * src/NetworkManagerUtils.c
61                 - (nm_utils_call_dispatcher): add a 'hostname' action
62
63         * src/NetworkManagerPolicy.c
64                 - (set_system_hostname): dispatch hostname changes
65
66         * callouts/nm-dispatcher-action.c
67                 - (nm_dispatcher_action): handle 'hostname' actions
68
69 2008-10-08  Dan Williams  <dcbw@redhat.com>
70
71         * src/NetworkManagerSystem.c
72                 - (find_route): ref the route so it doesn't get destroyed when the cache
73                         is cleared
74                 - (nm_system_device_set_priority): unref the route here after it's done
75                         being used
76
77 2008-10-08  Dan Williams  <dcbw@redhat.com>
78
79         * src/nm-serial-device.c
80                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
81
82 2008-10-08  Tambet Ingo  <tambet@gmail.com>
83
84         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
85         connection with new settings before saving it.
86
87 2008-10-06  Dan Williams  <dcbw@redhat.com>
88
89         * src/nm-ip4-config.c
90           src/nm-ip4-config.h
91                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
92
93         * src/nm-device-interface.c
94                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
95                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
96                         by using '/' for the object path
97
98         * src/nm-device.c
99                 - (src/nm-device.c): marshal missing/unexported ip4-config through
100                         dbus as '/' since dbus-glib can't handle NULL objects nor can
101                         dbus handle NULL object paths
102
103 2008-10-03  Alexander Sack  <asac@ubuntu.com>
104
105         Implement system hostname support for debian/ubuntu
106
107         * system-settings/plugins/ifupdown/plugin.c
108                 - (GObject__get_property): extend announced capabilities; add
109                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
110                 - (GObject__set_property,write_system_hostname): implement
111                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
112                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
113                    update_system_hostname, get_hostname):
114                         implement hostname property that watches and
115                         parses /etc/hostname
116
117 2008-10-03  Alexander Sack  <asac@ubuntu.com>
118
119         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
120           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
121           system-settings/plugins/ifcfg-fedora/Makefile.am
122           system-settings/src/nm-inotify-helper.c
123           system-settings/src/nm-inotify-helper.h
124           src/Makefile.am
125                 - Move ifcfg-fedora inotify helpers to the system settings service so
126                         they are available to all plugins
127
128 2008-10-03  Alexander Sack  <asac@ubuntu.com>
129
130         Implement support for wep-tx-keyidx in ifupdown system
131         config plugin.
132
133         * system-settings/plugins/ifupdown/parser.c
134                 - (update_wireless_security_setting_from_if_block): introduce
135                         free_type_mapping func table; rename a few local
136                         variables to improve readability; add wpa security mapping
137                         for wep-tx-keyidx property
138                 - (string_to_gpointerint): new function used for the auto_type_mapping
139                         of new wep-tx-keyidx property
140                 - (slist_free_all): free func used for mapped slist types
141
142 2008-10-03  Alexander Sack  <asac@ubuntu.com>
143
144         * system-settings/src/main.c:
145                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
146                         always used as the hash key; fixes a crash when removing wired
147                         devices
148
149 2008-10-02  Dan Williams  <dcbw@redhat.com>
150
151         * src/nm-gsm-device.c
152                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
153                         pass the required GSM secret along via user_data rather than keeping
154                         it around in the private data where it sometimes didn't get cleared
155                 - (real_get_ppp_name): implement using the GSM username
156
157 2008-10-02  Dan Williams  <dcbw@redhat.com>
158
159         * src/ppp-manager/nm-ppp-manager.c
160           src/ppp-manager/nm-ppp-manager.h
161                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
162                         the settings daemon for completely new ones
163                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
164                         local PPP peer name; allow PPP debuging by launching NM with
165                         the environment variable NM_PPP_DEBUG defined
166                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
167                         create_pppd_cmd_line()
168
169         * src/nm-serial-device.c
170           src/nm-serial-device.h
171                 - New 'get_ppp_name' function for subclasses to implement to return the
172                         local PPP peer name
173                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
174                         and pass that name to the PPP manager
175
176         * src/nm-device-ethernet.c
177                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
178                         the local peer name
179
180         * src/nm-cdma-device.c
181                 - (real_get_ppp_name): implement using the CDMA username
182
183 2008-10-02  Dan Williams  <dcbw@redhat.com>
184
185         Patch from Alexander Sack <asac ubuntu com>
186
187         * system-settings/plugins/ifupdown/parser.c
188                 - Implement more graceful ip4 config parsing for cases where
189                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
190                   by using default values
191
192 2008-10-02  Dan Williams  <dcbw@redhat.com>
193
194         * src/NetworkManagerPolicy.c
195                 - (device_state_changed): when marking a connection invalid, clear its
196                         secrets too so that fresh secrets get requested the next time
197
198 2008-10-01  Dan Williams  <dcbw@redhat.com>
199
200         * system-settings/src/dbus-settings.c
201                 - (nm_sysconfig_settings_init): cache system hostname on startup as
202                         a fallback if no plugin provides a hostname
203                 - (get_property): fall back to cached hostname if no plugin provides
204                         a hostname
205
206 2008-10-01  Dan Williams  <dcbw@redhat.com>
207
208         Fix setting value comparison issue that caused some settings to look the
209         same when they were really different (rh #464417)
210
211         * libnm-util/nm-param-spec-specialized.c
212                 - (type_is_fixed_size): return fundamental size of the fixed type too
213                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
214                         in the comparison so that the _entire_ fixed type collection gets
215                         compared rather than just the first 'len1' bytes
216
217 2008-09-30  Dan Williams  <dcbw@redhat.com>
218
219         * src/NetworkManagerPolicy.c
220                 - (lookup_thread_worker): don't store the idle handler ID becuase the
221                         idle handler could have already run and freed the LookupThread
222                         structure
223
224 2008-09-30  Tambet Ingo  <tambet@gmail.com>
225
226         * src/nm-device.c (nm_device_get_priority): Implement.
227         (nm_device_set_ip4_config): Send the device priority to system ip4 
228         config setter.
229
230         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
231         Add priority argument and if it's >= 0, set the priority of the network
232         route added automatically by netlink (or kernel?).
233         (nm_system_device_set_priority): Implement.
234
235         * src/NetworkManagerPolicy.c (get_best_device): Use 
236         nm_device_get_priority() instead of home-grown version. Revert the
237         meaning, best priority is the lowest one.
238
239 2008-09-29  Dan Williams  <dcbw@redhat.com>
240
241         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
242         when it returns EAGAIN (rh #362421)
243
244         * src/nm-device-wifi.c
245                 - (wireless_get_range): try GIWRANGE a few times until the card responds
246                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
247
248 2008-09-28  Dan Williams  <dcbw@redhat.com>
249
250         * src/nm-serial-device.c
251           src/nm-serial-device.h
252                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
253                         cleaned at the right times when subclasses close the serial port too
254                 - (nm_serial_device_send_command): use a default send delay; don't
255                         spin forever on EAGAIN
256                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
257                         remove, no longer used
258                 - (find_response): return the matched response if any
259                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
260                         while doing so
261                 - (wait_for_reply_done): pass the matched response to the callback
262                 - (wait_for_reply_got_data): save the matched response; simplify timeout
263                         handling
264                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
265                         const since they never get modified
266                 - (cleanup_device): split out common cleanup stuff to a new function
267                 - (real_deactivate_quickly, finalize): use cleanup_device()
268
269         * src/nm-gsm-device.c
270                 - (modem_get_reply): remove, unused
271                 - (set_apn): give the card a bit more time to respond
272                 - (manual_registration_again, schedule_manual_registration_again,
273                    manual_registration_response, manual_registration): handle manual
274                         registration timeouts better by retrying registration a few times
275                         because cards are a bit slow after CFUN=1
276                 - (automatic_registration_get_network, get_network_response): use
277                         modem_wait_for_reply() because it interacts better with the serial
278                         buffer and does more intelligent matching; need to wait for 'OK'
279                         rather than just matching terminators
280                 - (schedule_automatic_registration_again,
281                    automatic_registration_response, automatic_registration): retry
282                         registration a few times on timeout or "searching" because cards
283                         take a bit to find a network after being powered up with CFUN=1
284                 - (power_up_response, power_up, init_full_done, enter_pin,
285                    check_pin_done): power up the card with CFUN=1 before trying to
286                         register with the network
287                 - (init_modem_full, init_modem): use more standard 3G init strings
288
289         * src/nm-hso-gsm-device.c
290                 - (modem_get_reply): remove, unused
291                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
292                         modem_wait_for_reply() to match actual responses instead of single
293                         termination characters; it doesn't leave stuff in the serial buffer
294                         that might confuse later calls
295                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
296                         to ensure that the call is really disconnected and not leave extra
297                         stuff in the serial buffer
298
299         * src/nm-cdma-device.c
300                 - (power_up_response, power_up, init_done): try Sierra-style modem
301                         power up before attempting to connect
302
303 2008-09-27  Dan Williams  <dcbw@redhat.com>
304
305         * libnm-util/nm-setting-gsm.c
306                 - (verify): verify GSM network ID
307
308 2008-09-25  Dan Williams  <dcbw@redhat.com>
309
310         * libnm-util/nm-setting-gsm.c
311           libnm-util/nm-setting-gsm.h
312                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
313                         technology terms (bgo #551361)
314
315 2008-09-25  Dan Williams  <dcbw@redhat.com>
316
317         Fix bgo #549401 (inspired by patch from Alexander Sack)
318
319         * src/nm-device-ethernet.c
320                 - (finish_supplicant_task): clean up scheduled tasks and free memory
321                 - (remove_supplicant_interface_error_handler): remove the supplicant
322                         error idle callback too
323                 - (supplicant_interface_release): rename from supplicant_interface_clean
324                         to match nm-device-wifi.c; clean up supplicant interface-related
325                         state tasks when the supplicant interface is disposed of
326                 - (schedule_state_handler): add scheduled tasks to a list so they can
327                         be cleaned up later
328                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
329                    supplicant_iface_connection_state_cb_handler): use
330                         finish_supplicant_task() to clean up each completed task
331                 - (supplicant_iface_connection_error_cb_handler,
332                    supplicant_connection_timeout_cb): clear source id when the task is
333                         complete
334                 - (supplicant_iface_connection_error_cb): save scheduled task id for
335                         later cleanup
336                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
337                         tasks
338
339         * src/nm-device-wifi.c
340                 - (finish_supplicant_task): clean up scheduled tasks and free memory
341                 - (remove_supplicant_interface_error_handler): remove the supplicant
342                         error idle callback too
343                 - (supplicant_interface_release): clean up supplicant interface-related
344                         state tasks when the supplicant interface is disposed of
345                 - (schedule_state_handler): add scheduled tasks to a list so they can
346                         be cleaned up later
347                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
348                    supplicant_iface_connection_state_cb_handler): use
349                         finish_supplicant_task() to clean up each completed task
350                 - (supplicant_iface_connection_error_cb_handler): clear source id when
351                         the task is complete
352                 - (supplicant_iface_connection_error_cb): save scheduled task id for
353                         later cleanup
354                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
355
356 2008-09-24  Tambet Ingo  <tambet@gmail.com>
357
358         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
359         method and get/set hostname property.
360
361 2008-09-24  Tambet Ingo  <tambet@gmail.com>
362
363         * src/supplicant-manager/nm-supplicant-interface.c
364         (nm_supplicant_interface_disconnect): Don't increment the reference 
365         count when disconnecting. The problem is on shutdown, when the replies
366         to these commands do not arrive before NM exits, resulting on never
367         calling supplicant interface's dispose(), which removes the interface
368         from supplicant.
369
370 2008-09-24  Tambet Ingo  <tambet@gmail.com>
371
372         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
373         all the public function arguments.
374
375 2008-09-22  Tambet Ingo  <tambet@gmail.com>
376
377         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
378         "Failure" signal from VPN plugins, store the failure reason, and
379         use it when the state is changed to failure.
380
381         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
382         description.
383
384         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
385         reason to the end of the list to not break the API.
386         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
387         so it can be shared by plugins and daemon.
388
389 2008-09-18  Dan Williams  <dcbw@redhat.com>
390
391         Patch from Alexander Sack <asac@ubuntu.com>
392
393         * configure.in
394           system-settings/plugins/Makefile.am
395           system-settings/plugins/ifupdown/Makefile.am
396           system-settings/plugins/ifupdown/interface_parser.c
397           system-settings/plugins/ifupdown/interface_parser.h
398           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
399           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
400           system-settings/plugins/ifupdown/parser.c
401           system-settings/plugins/ifupdown/parser.h
402           system-settings/plugins/ifupdown/plugin.c
403           system-settings/plugins/ifupdown/plugin.h
404                 - Implement a Debian/Ubuntu legacy network configuration plugin
405                         (gnome.org #551941)
406
407 2008-09-18  Dan Williams  <dcbw@redhat.com>
408
409         Implement support for honoring configured and automatic hostnames, and for
410         setting the configured hostname.
411
412         * introspection/nm-ip4-config.xml
413           src/nm-ip4-config.c
414           src/nm-ip4-config.h
415           src/dhcp-manager/nm-dhcp-manager.c
416                 - Remove useless hostname property; it's not really part of the IPv4
417                         config
418
419         * introspection/nm-settings-system.xml
420           libnm-glib/nm-dbus-settings-system.c
421           libnm-glib/nm-dbus-settings-system.h
422                 - Add SetHostname() call to system settings D-Bus interface
423                 - Add Hostname property to system settings D-Bus interface
424                 - (nm_dbus_settings_system_save_hostname,
425                    nm_dbus_settings_system_get_hostname): implement
426
427         * src/nm-device.c
428           src/nm-device.h
429                 - (nm_device_get_dhcp4_config): implement
430
431         * src/nm-manager.c
432           src/nm-manager.h
433                 - Fetch and track system settings service hostname changes, and proxy
434                         the changes via a GObject property of the manager
435
436         * system-settings/src/nm-system-config-interface.c
437           system-settings/src/nm-system-config-interface.h
438                 - Replace nm_system_config_interface_supports_add() with a capabilities
439                         bitfield
440
441         * system-settings/src/nm-system-config-error.c
442           system-settings/src/nm-system-config-error.h
443                 - Add additional errors
444
445         * system-settings/src/dbus-settings.c
446           system-settings/src/dbus-settings.h
447                 - (get_property, nm_sysconfig_settings_class_init): add hostname
448                         property; first plugin returning a hostname wins
449                 - (impl_settings_add_connection): use plugin capabilities instead of
450                         nm_system_config_interface_supports_add()
451                 - (impl_settings_save_hostname): implement hostname saving
452
453         * src/NetworkManagerPolicy.c
454                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
455                    lookup_thread_die): implement an asynchronous hostname lookup thread
456                         which given an IPv4 address tries to look up the hostname for that
457                         address with reverse DNS
458                 - (get_best_device): split out best device code from
459                         update_routing_and_dns()
460                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
461                         to preserve the 127.0.0.1 reverse mapping that so many things require
462                 - (set_system_hostname): set a given hostname
463                 - (update_system_hostname): implement hostname policy; a configured
464                         hostname (from the system settings service) is used if available,
465                         otherwise an automatically determined hostname from DHCP, VPN, etc.
466                         If there was no automatically determined hostname, reverse DNS of
467                         the best device's IP address will be used, and as a last resort the
468                         hostname 'localhost.localdomain' is set.
469                 - (update_routing_and_dns): use get_best_device(); update the system
470                         hostname when the network config changes
471                 - (hostname_changed): update system hostname if the system settings
472                         service signals a hostname change
473                 - (nm_policy_new): list for system settings service hostname changes
474                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
475                         gets told to die
476
477         * system-settings/plugins/keyfile/plugin.c
478           system-settings/plugins/ifcfg-suse/plugin.c
479                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
480                         capabilities properties
481
482         * system-settings/plugins/ifcfg-fedora/shvar.c
483                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
484                         writes out /etc/sysconfig/network now
485
486         * system-settings/plugins/ifcfg-fedora/plugin.c
487                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
488                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
489                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
490                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
491                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
492                         hostname get/set and capabilities get
493
494 2008-09-18  Dan Williams  <dcbw@redhat.com>
495
496         * libnm-util/nm-setting-wireless.c
497                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
498                         group ciphers if the wireless-security setting explicitly specified
499                         them, effectively making the default be "all ciphers"  (idea from
500                         Alexander Sack)
501
502 2008-09-15  Dan Williams  <dcbw@redhat.com>
503
504         Patch from Alexander Sack <asac@ubuntu.com>
505
506         * src/named-manager/nm-named-manager.c
507                 - (dispatch_resolvconf): respect resolvconf exit code
508
509 2008-09-12  Tambet Ingo  <tambet@gmail.com>
510
511         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
512         again. Add some debugging.
513
514 2008-09-11  Dan Williams  <dcbw@redhat.com>
515
516         * system-settings/plugins/keyfile/plugin.c
517                 - (update_connection_settings): update connection manually, since
518                         nm_exported_connection_update() does authentication
519                 - (dir_changed): update_connection_settings() doesn't need to return
520                         an error
521
522 2008-09-09  Dan Williams  <dcbw@redhat.com>
523
524         * libnm-glib/nm-vpn-plugin-ui-interface.c
525           libnm-glib/nm-vpn-plugin-ui-interface.h
526           libnm-glib/libnm_glib_vpn.ver
527                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
528                         should clean up resources related to the connection (like keyring
529                         secrets)
530                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
531                         should save user-scope secrets (like to the keyring)
532
533 2008-09-08  Dan Williams  <dcbw@redhat.com>
534
535         Patch from Alexander Sack <asac@ubuntu.com>
536
537         * libnm-util/crypto_gnutls.c
538           libnm-util/crypto_nss.c
539                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
540
541         * libnm-util/nm-utils.c
542           libnm-util/nm-utils.h
543           libnm-util/libnm-util.ver
544                 - (nm_utils_init): initialize libnm-util
545                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
546
547         * libnm-util/nm-setting-8021x.c
548                 - (nm_setting_802_1x_class_init): init libnm-util when needed
549
550 2008-09-05  Dan Williams  <dcbw@redhat.com>
551
552         Patch from Roy Marples <roy@marples.name> and others
553
554         * configure.in
555           src/named-manager/nm-named-manager.c
556                 - Add support for resolvconf; use --with-resolvconf at configure time
557                         to enable it
558
559 2008-09-05  Dan Williams  <dcbw@redhat.com>
560
561         * libnm-util/crypto_nss.c
562           libnm-util/crypto_gnutls.c
563           libnm-util/crypto.h
564                 - (crypto_init): return error when init fails
565
566 2008-09-05  Dan Williams  <dcbw@redhat.com>
567
568         * libnm-glib/nm-device-wifi.c
569                 - (access_point_removed_proxy): clean up the active access point too
570                         just in case the active ap changed signal didn't come through yet
571                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
572
573 2008-09-05  Dan Williams  <dcbw@redhat.com>
574
575         * libnm-glib/nm-client.c
576                 - (constructor): get initial state after we know whether NM is running
577                         or not
578
579 2008-09-05  Dan Williams  <dcbw@redhat.com>
580
581         * libnm-glib/nm-ip4-config.c
582           libnm-glib/nm-dhcp4-config.c
583                 - (finalize): clean up the DBusGProxy
584
585 2008-09-04  Dan Williams  <dcbw@redhat.com>
586
587         * src/nm-ip4-config.c
588           src/nm-ip4-config.h
589                 - (nm_ip4_config_new): don't export over D-Bus here
590                 - (nm_ip4_config_export): new function; export the config over D-Bus
591                 - (nm_ip4_config_is_exported): new function
592
593         * src/nm-device.c
594                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
595                         objects by balancing the IP4Config constructor; the device holds
596                         a reference to the IP4Config already
597                 - (nm_device_set_ip4_config): export the IP4Config when needed
598
599 2008-09-04  Dan Williams  <dcbw@redhat.com>
600
601         * src/supplicant-manager/nm-supplicant-settings-verify.c
602                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
603
604 2008-09-04  Dan Williams  <dcbw@redhat.com>
605
606         * libnm-util/nm-setting-vpn.c
607           libnm-util/nm-setting-vpn.h
608                 - Split VPN secrets from VPN data so that settings services can actually
609                         figure out that they are secrets and store them accordingly
610
611         * system-settings/plugins/keyfile/nm-keyfile-connection.c
612           system-settings/plugins/keyfile/reader.c
613           system-settings/plugins/keyfile/reader.h
614           system-settings/plugins/keyfile/writer.c
615                 - Store VPN secrets separately from VPN data so that they can be fetched
616                         on demand
617                 - Implement the get_secrets() call so that (a) secrets don't leak out
618                         to unprivileged callers, and (b) secrets can be sent to privileged
619                         callers when needed
620
621         * vpn-daemons/vpnc/src/nm-vpnc-service.c
622                 - Handle split VPN secrets
623
624 2008-08-27  Dan Williams  <dcbw@redhat.com>
625
626         * system-settings/plugins/ifcfg-fedora/reader.c
627                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
628
629 2008-08-27  Dan Williams  <dcbw@redhat.com>
630
631         Ensure zombie children get cleaned up.  To get notifications when children
632         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
633         that requires calling waitpid() yourself if you've removed the child watch
634         handler before the process has actually died, which NM needs to do in a few
635         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
636         cleans up after the child when required.  Should fix problems trying to
637         activate mobile broadband connections after a previous failure.
638
639         * src/dhcp-manager/nm-dhcp-dhclient.c
640           src/dhcp-manager/nm-dhcp-dhcpcd.c
641                 - Use G_SPAWN_DO_NOT_REAP_CHILD
642
643         * src/dhcp-manager/nm-dhcp-manager.c
644                 - (nm_dhcp_device_destroy): ensure child is cleaned up
645                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
646                         block on child quitting, since the non-blocking functionality was
647                         never actually used
648
649         * src/dnsmasq-manager/nm-dnsmasq-manager.c
650                 - (dm_watch_cb): child is already reaped here
651                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
652
653         * src/nm-device.c
654                 - (aipd_cleanup): block until child is dead
655
656         * src/named-manager/nm-named-manager.c
657                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
658                         event bothering to watch the child
659
660         * src/ppp-manager/nm-ppp-manager.c
661                 - (ppp_watch_cb): child is already reaped here
662                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
663
664         * src/vpn-manager/nm-vpn-service.c
665                 - (vpn_service_watch_cb): child is already reaped here
666                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
667                         status of the child is actually tracked
668                 - (ensure_killed, finalize): block until child is dead
669
670 2008-08-26  Dan Williams  <dcbw@redhat.com>
671
672         * system-settings/plugins/keyfile/nm-keyfile-connection.c
673                 - (update): Update filename of the connection if the connection id
674                         was changed
675
676         * system-settings/plugins/keyfile/plugin.c
677                 - (dir_changed): first pass at handling connection renames correctly
678
679         * system-settings/plugins/keyfile/writer.c
680           system-settings/plugins/keyfile/writer.h
681                 - (write_connection): replace '/' with '*' when writing out the filename
682                         from the connection id
683
684 2008-08-26  Dan Williams  <dcbw@redhat.com>
685
686         Add connection UUIDs, since connection names can be changed, and since
687         old-style connection IDs could change over the life of the connection.  The
688         UUID should be assigned at connection creation time, be stable for a given
689         connection, and should be unique among all connections for a given settings
690         service.
691
692         * configure.in
693           libnm-util/Makefile.am
694                 - Require libuuid
695
696         * introspection/nm-exported-connection.xml
697                 - Remove "GetID" method
698
699         * libnm-glib/nm-dbus-connection.c
700           libnm-glib/nm-settings.c
701           libnm-glib/nm-settings.h
702                 - Remove id-related stuff
703
704         * libnm-util/nm-utils.c
705           libnm-util/nm-utils.h
706           libnm-util/libnm-util.ver
707                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
708                         utility functions to generate UUIDs
709
710         * libnm-util/nm-setting-connection.c
711           libnm-util/nm-setting-connection.h
712                 - Add 'uuid' member to the connection setting
713                 - (verify): require valid 'uuid' for a valid connection
714
715         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
716           system-settings/plugins/ifcfg-fedora/reader.c
717           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
718           system-settings/plugins/ifcfg-suse/parser.c
719           system-settings/plugins/keyfile/nm-keyfile-connection.c
720           system-settings/src/main.c
721                 - Remove id-related stuff
722                 - Give connections UUIDs where needed
723
724 2008-08-25  Dan Williams  <dcbw@redhat.com>
725
726         * libnm-util/crypto_gnutls.c
727           libnm-util/crypto_nss.c
728                 - (crypto_init, crypto_deinit): refcount init/deinit
729                 - (crypto_md5_hash): allow NULL salt
730
731 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
732
733         * libnm-glib/Makefile.am
734           libnm-util/Makefile.am
735           libnm-glib/libnm_glib.ver
736           libnm-glib/libnm_glib_vpn.ver
737           libnm-util/libnm-util.ver
738                 - Use linker version scripts to control the list of exported 
739                 symbols. List each exported symbol explicitely.
740         * libnm-util/Makefile.am
741                 - Fix compilation of the test-crypto binary. The crypto
742                 functions are no longer part of the libnm-util API. Add 
743                 crypto_*.c to test_crypto_SOURCES and link against the correct
744                 crypto libraries.
745
746 2008-08-19  Dan Williams  <dcbw@redhat.com>
747
748         * configure.in
749           test/Makefile.am
750                 - Don't build test/test-common
751                 - Remove unused stuff
752
753         * test/nm-set-fallback
754           test/nmtestdevices.c
755           test/test-common/.cvsignore
756           test/test-common/Makefile.am
757           test/test-common/test-common.c
758           test/test-common/test-common.h
759                 - delete
760
761 2008-08-18  Dan Williams  <dcbw@redhat.com>
762
763         * libnm-util/nm-utils.c
764           libnm-util/nm-utils.h
765                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
766                         export anything that needs to be converted with this function
767
768         * src/dhcp-manager/nm-dhcp-manager.c
769                 - (garray_to_string): convert a byte array to a UTF-8 string with
770                         minimal validation; the DHCP client sends it in ASCII anyway
771                 - (get_option, copy_option): use garray_to_string()
772
773 2008-08-18  Dan Williams  <dcbw@redhat.com>
774
775         * include/NetworkManager.h
776           introspection/nm-device.xml
777                 - Add a "missing firmware" device state reason
778
779         * src/NetworkManagerSystem.c
780           src/NetworkManagerSystem.h
781                 - (nm_system_device_set_up_down): add a no_firmware argument
782                 - (nm_system_device_set_up_down_with_iface): if the result of setting
783                         IFF_UP is ENOENT, that almost always means missing firmware
784
785         * src/backends/NetworkManagerGeneric.c
786           src/nm-device-ethernet.c
787           src/nm-device-private.h
788           src/nm-device-wifi.c
789           src/nm-device.c
790           src/nm-device.h
791           src/nm-hso-gsm-device.c
792           src/vpn-manager/nm-vpn-connection.c
793                 - Pass no_firmware along; check it where appropriate
794
795 2008-08-18  Dan Williams  <dcbw@redhat.com>
796
797         Patch from Robert Buchholz <rbu@gentoo.org>
798
799         * autogen.sh
800           configure.in
801                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
802                         1003.1-1988, allowing for file names longer than 99 characters
803
804 2008-08-17  Dan Williams  <dcbw@redhat.com>
805
806         * include/NetworkManager.h
807           introspection/nm-device.xml
808           src/nm-gsm-device.c
809                 - Finer-grained GSM registration failure error codes
810
811 2008-08-17  Dan Williams  <dcbw@redhat.com>
812
813         * callouts/Makefile.am
814           src/Makefile.am
815                 - Move dispatcher directory creation to callouts/Makefile.am
816
817         * system-settings/plugins/keyfile/Makefile.am
818                 - Create keyfile connections directory in DESTDIR (bgo #546833)
819
820 2008-08-15  Dan Williams  <dcbw@redhat.com>
821
822         Do connection sharing in a cleaner manner; all required iptables rules
823         are now stored in the activation request and pertain only to the device
824         which is being shared to other computers. (rh #458625)
825
826         * src/nm-activation-request.c
827           src/nm-activation-request.h
828                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
829                         the activation request which will get torn down automatically when
830                         the activation request dies
831                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
832                         is started, and tear them down when sharing is stopped
833
834         * src/nm-device.c
835                 - (start_sharing): start up sharing by doing the required iptables magic
836                 - (share_init): poke the right bits of the kernel and load the right
837                         modules for NAT
838                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
839                         connection if it's a 'shared' connection
840
841         * src/NetworkManagerPolicy.c
842                 - Remove all sharing stuff; done in the device code itself
843
844 2008-08-15  Dan Williams  <dcbw@redhat.com>
845
846         * src/dnsmasq-manager/nm-dnsmasq-manager.c
847                 - (create_dm_cmd_line): send the right router address
848
849 2008-08-15  Dan Williams  <dcbw@redhat.com>
850
851         * src/ppp-manager/nm-ppp-manager.c
852                 - (pppd_timed_out): ensure timeouts fail the connection
853
854 2008-08-14  Dan Williams  <dcbw@redhat.com>
855
856         * src/nm-properties-changed-signal.c
857           src/nm-properties-changed-signal.h
858                 - Add a property spec flag for "don't export this property" in
859                         property changed signals
860
861         * src/nm-hso-gsm-device.c
862           src/nm-gsm-device.c
863           src/nm-cdma-device.c
864                 - Don't export monitor interface or netdev interface properties
865
866 2008-08-14  Dan Williams  <dcbw@redhat.com>
867
868         * src/NetworkManagerPolicy.c
869                 - (update_routing_and_dns): 'hso' devices can be default even if they
870                         don't have a gateway
871
872 2008-08-14  Dan Williams  <dcbw@redhat.com>
873
874         * src/nm-device.c
875                 - (nm_device_deactivate_quickly): tear down activation request after
876                         calling device-specific deactivation
877
878         * src/nm-hso-gsm-device.c
879                 - (real_deactivate_quickly): terminate connection when deactivating
880
881 2008-08-14  Dan Williams  <dcbw@redhat.com>
882
883         * src/nm-activation-request.h
884                 - Add HSO secrets caller
885
886         * src/nm-gsm-device.c
887           src/nm-gsm-device.h
888                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
889                         something to the callback function
890                 - (set_apn, set_apn_done): call class dial function, not a static one
891                 - (nm_gsm_device_class_init): add a class 'dial' function
892
893         * src/nm-hal-manager.c
894                 - (get_hso_netdev): find the hso-driven hardware's net device
895                 - (modem_device_creator): recognize hso-driven hardware and create the
896                         right type of device object for it
897
898         * src/Makefile.am
899           src/nm-hso-gsm-device.c
900           src/nm-hso-gsm-device.h
901                 - Implement support for devices driven by the 'hso' driver as a subclass
902                         of NMGsmDevice
903
904 2008-08-14  Dan Williams  <dcbw@redhat.com>
905
906         * src/NetworkManagerSystem.c
907                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
908                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
909                         success if the operation really was successful
910
911 2008-08-14  Dan Williams  <dcbw@redhat.com>
912
913         * src/nm-netlink-monitor.c
914           src/nm-netlink-monitor.h
915           src/nm-device-ethernet.c
916                 - (nm_netlink_monitor_request_status): return an error on failure
917                 - (constructor): don't segfault on missing error
918
919 2008-08-13  Dan Williams  <dcbw@redhat.com>
920
921         * callouts/nm-dispatcher-action.c
922                 - Add IP4 config info to script environment
923
924 2008-08-12  Dan Williams  <dcbw@redhat.com>
925
926         * src/nm-device.c
927                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
928                         that want to use DHCP hostnames should use dispatcher scripts
929                         for that
930
931         * src/NetworkManagerSystem.h
932           src/backends/NetworkManagerArch.c
933           src/backends/NetworkManagerDebian.c
934           src/backends/NetworkManagerFrugalware.c
935           src/backends/NetworkManagerGeneric.c
936           src/backends/NetworkManagerGeneric.h
937           src/backends/NetworkManagerGentoo.c
938           src/backends/NetworkManagerMandriva.c
939           src/backends/NetworkManagerPaldo.c
940           src/backends/NetworkManagerRedHat.c
941           src/backends/NetworkManagerSlackware.c
942           src/backends/NetworkManagerSuSE.c
943                 - Remove nm_system_set_hostname(), no longer used
944           
945         * src/backends/Makefile.am
946           src/backends/shvar.c
947           src/backends/shvar.h
948                 - Remove shvar.*; no longer used
949
950 2008-08-12  Dan Williams  <dcbw@redhat.com>
951
952         Revert most of the 'hostname' patch.  Too much stuff still breaks when
953         hostname is updated at runtime.  Distros or users who want hostname updates
954         can use dispatcher scripts to update the hostname if they need it.
955
956 2008-08-12  Dan Williams  <dcbw@redhat.com>
957
958         * introspection/nm-settings-system.xml
959           system-settings/src/dbus-settings.c
960           system-settings/src/dbus-settings.h
961                 - Add a 'Hostname' property (rw) which represents the configured
962                         hostname and domain of the system, if any
963
964         * system-settings/src/nm-system-config-error.c
965           system-settings/src/nm-system-config-error.h
966           system-settings/src/nm-system-config-interface.c
967           system-settings/src/nm-system-config-interface.h
968                 - Add a 'hostname' property to the plugin interface
969                 - Add a method to send updated hostname to plugins to save in their
970                         backing configuration store
971
972         * system-settings/plugins/keyfile/nm-keyfile-connection.c
973           system-settings/plugins/keyfile/plugin.c
974           system-settings/plugins/keyfile/writer.c
975           system-settings/plugins/keyfile/writer.h
976           system-settings/plugins/ifcfg-suse/plugin.c
977                 - Add minimal hostname support
978
979         * system-settings/plugins/ifcfg-fedora/plugin.c
980                 - Add support for updating system hostname in /etc/sysconfig/network
981
982 2008-08-12  Dan Williams  <dcbw@redhat.com>
983
984         * system-settings/plugins/ifcfg-fedora/shvar.c
985           system-settings/plugins/ifcfg-fedora/shvar.c
986                 - Fix double-free caused by svSetValue() followed by svCloseFile()
987
988 2008-08-12  Tambet Ingo  <tambet@gmail.com>
989
990         * Makefile.am: Fix distcheck.
991
992 2008-08-12  Tambet Ingo  <tambet@gmail.com>
993
994         * libnm-glib/*.c. Document some more.
995
996 2008-08-12  Tambet Ingo  <tambet@gmail.com>
997
998         Start documenting libnm-glib public API using gtk-doc.
999
1000         * libnm-glib/nm-serial-device.c: 
1001         * libnm-glib/nm-object.c: 
1002         * libnm-glib/nm-gsm-device.c: 
1003         * libnm-glib/nm-device.c: 
1004         * libnm-glib/nm-device-wifi.c: 
1005         * libnm-glib/nm-device-ethernet.c: 
1006         * libnm-glib/nm-client.c: 
1007         * libnm-glib/nm-cdma-device.c: Document the public API.
1008
1009         * docs/libnm-glib/libnm-glib.types: Implement.
1010
1011         * docs/libnm-glib/Makefile.am: Implement.
1012
1013         * autogen.sh: 
1014         * configure.in: 
1015         * Makefile.am: Add gtk-doc support.
1016
1017 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1018
1019         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
1020
1021         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
1022         the composite result of all the IP4 configurations and call a distro
1023         specific update_resolv_conf().
1024         (update_resolv_conf): Implement one for directly writing to 
1025         /etc/resolv.conf and one for opensuse to call netconfig.
1026
1027 2008-08-11  Dan Williams  <dcbw@redhat.com>
1028
1029         * src/ppp-manager/nm-ppp-manager.c
1030                 - (impl_ppp_manager_need_secrets): pass interface as required
1031
1032 2008-08-11  Dan Williams  <dcbw@redhat.com>
1033
1034         Merge the vpn-properties setting with the vpn setting since it was pointless
1035         to keep both of them around.  Convert the vpn 'data' hash table to a hash
1036         of string:string (instead of string:variant) so that system settings plugins
1037         can have an easier time dealing with the arbitrary key/value pairs.
1038
1039 2008-08-11  Dan Williams  <dcbw@redhat.com>
1040
1041         * libnm-util/nm-utils.c
1042                 - (nm_utils_register_value_transformations): add value transform for
1043                         a hash table of string:string
1044
1045 2008-08-10  Dan Williams  <dcbw@redhat.com>
1046
1047         * libnm-glib/nm-vpn-plugin.c
1048                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
1049                         an idle handler so the Connect reply gets delivered before the
1050                         stop StateChanged signal
1051
1052 2008-08-10  Dan Williams  <dcbw@redhat.com>
1053
1054         * src/nm-ip4-config.c
1055                 - (get_property): use common ip4 address/route conversion functions
1056                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
1057                         copy the new route here, not take ownership
1058
1059 2008-08-08  Tambet Ingo  <tambet@gmail.com>
1060
1061         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
1062         Update the IP4 setting's method name.
1063
1064 2008-08-07  Dan Williams  <dcbw@redhat.com>
1065
1066         * introspection/nm-ip4-config.xml
1067           libnm-glib/libnm-glib-test.c
1068           libnm-glib/nm-ip4-config.c
1069           libnm-glib/nm-ip4-config.h
1070           src/NetworkManagerSystem.h
1071           src/backends/NetworkManagerArch.c
1072           src/backends/NetworkManagerDebian.c
1073           src/backends/NetworkManagerFrugalware.c
1074           src/backends/NetworkManagerGeneric.c
1075           src/backends/NetworkManagerGeneric.h
1076           src/backends/NetworkManagerGentoo.c
1077           src/backends/NetworkManagerMandriva.c
1078           src/backends/NetworkManagerPaldo.c
1079           src/backends/NetworkManagerRedHat.c
1080           src/backends/NetworkManagerSlackware.c
1081           src/backends/NetworkManagerSuSE.c
1082           src/dhcp-manager/nm-dhcp-manager.c
1083           src/nm-device.c
1084           src/nm-ip4-config.c
1085           src/nm-ip4-config.h
1086                 - Remove NIS logic; should be done from dispatcher scripts instead
1087
1088 2008-08-07  Dan Williams  <dcbw@redhat.com>
1089
1090         * src/dhcp-manager/nm-dhcp-manager.c
1091                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
1092                         mis-handling of DHCP responses that returned more than one router
1093                         (found by Grant Williamson)
1094
1095 2008-08-07  Dan Williams  <dcbw@redhat.com>
1096
1097         * callouts/nm-dispatcher-action.c
1098                 - (nm_dispatcher_action): grab device path and create the device; pass
1099                         the device's DHCP4 config to script caller
1100                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
1101                         scripts
1102
1103         * libnm-glib/nm-dhcp4-config.c
1104           libnm-glib/nm-dhcp4-config.h
1105                 - (nm_dhcp4_config_get_options): expose
1106                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
1107
1108 2008-08-07  Dan Williams  <dcbw@redhat.com>
1109
1110         * include/NetworkManager.h
1111                 - Add the DHCP4Config D-Bus interface
1112
1113         * libnm-glib/Makefile.am
1114           libnm-glib/nm-dhcp4-config.c
1115           libnm-glib/nm-dhcp4-config.h
1116                 - Handle DHCP4 config objects exported by NM over D-Bus
1117
1118         * libnm-glib/nm-device.c
1119           libnm-glib/nm-device.h
1120                 - Add a 'dhcp4-config' property
1121
1122         * libnm-glib/libnm-glib-test.c
1123                 - Print out DHCP4 config for devices
1124                 - Fix some crashes when no connections are active
1125
1126         * src/nm-device-interface.c
1127           src/nm-device.c
1128           src/nm-dhcp4-config.c
1129           src/nm-dhcp4-config.h
1130                 - Treat dhcp4-config object as an object path at the D-Bus interface so
1131                         that when it doesn't exist we can proxy it as "/" which dbus-glib
1132                         doesn't let us do when the property type is G_TYPE_OBJECT
1133
1134 2008-08-07  Dan Williams  <dcbw@redhat.com>
1135
1136         * src/NetworkManager.c
1137           src/NetworkManagerSystem.h
1138           src/backends/NetworkManagerArch.c
1139           src/backends/NetworkManagerDebian.c
1140           src/backends/NetworkManagerFrugalware.c
1141           src/backends/NetworkManagerGeneric.c
1142           src/backends/NetworkManagerGeneric.h
1143           src/backends/NetworkManagerGentoo.c
1144           src/backends/NetworkManagerMandriva.c
1145           src/backends/NetworkManagerPaldo.c
1146           src/backends/NetworkManagerRedHat.c
1147           src/backends/NetworkManagerSlackware.c
1148           src/backends/NetworkManagerSuSE.c
1149                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
1150
1151 2008-08-06  Dan Williams  <dcbw@redhat.com>
1152
1153         * libnm-glib/nm-ip4-config.c
1154           libnm-glib/nm-ip4-config.h
1155                 - Add 'routes' property
1156
1157         * libnm-util/nm-setting-vpn.c
1158           libnm-util/nm-setting-vpn.h
1159                 - Remove 'routes' property
1160
1161         * libnm-util/nm-setting-ip4-config.c
1162           libnm-util/nm-setting-ip4-config.h
1163                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
1164                 - Add 'ignore-auto-routes' property
1165                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
1166                         accomodate route metrics
1167                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
1168
1169         * libnm-util/nm-utils.c
1170           libnm-util/nm-utils.h
1171                 - Add helpers for marshalling IP4 routes
1172
1173         * src/NetworkManagerUtils.c
1174                 - (nm_utils_merge_ip4_config): handle property renames and new route
1175                         structure
1176
1177         * src/NetworkManagerSystem.c
1178                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
1179                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
1180
1181         * src/dhcp-manager/nm-dhcp-manager.c
1182                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
1183
1184         * system-settings/plugins/ifcfg-fedora/reader.c
1185           system-settings/plugins/ifcfg-fedora/writer.c
1186                 - Handle routes separately from addresses now that routes have a different
1187                         format
1188
1189         * introspection/nm-ip4-config.xml
1190           src/nm-ip4-config.c
1191           src/nm-ip4-config.h
1192                 - Rename internal routing functions
1193                 - 'static-routes' renamed to 'routes'
1194
1195 2008-08-04  Dan Williams  <dcbw@redhat.com>
1196
1197         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
1198
1199         * src/NetworkManager.c
1200           src/nm-manager.c
1201           src/nm-manager.h
1202                 - More explicitly make the NMManager a singleton
1203
1204 2008-08-04  Dan Williams  <dcbw@redhat.com>
1205
1206         * libnm-util/nm-connection.c
1207           libnm-util/nm-connection.h
1208                 - (nm_connection_verify): return error on missing 'connection' setting
1209                         (found by Sjoerd Simons)
1210
1211 2008-08-04  Dan Williams  <dcbw@redhat.com>
1212
1213         Handle multiple concurrent PPP connections.
1214
1215         * src/ppp-manager/nm-ppp-manager.c
1216           src/ppp-manager/nm-ppp-manager.h
1217                 - (constructor): only PPP Manager request bus name once; each
1218                         NMPPPManager object gets a unique object path
1219                 - (nm_ppp_manager_class_init, get_property, set_property,
1220                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
1221                         at construct time
1222                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
1223                         remove timeout until PPP manager gets an IP4 config
1224                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
1225                         the plugin can call back to this specific PPP manager instance
1226
1227         * src/nm-device-ethernet.c
1228           src/nm-serial-device.c
1229                 - Pass parent device in nm_ppp_manager_new()
1230
1231         * src/nm-gsm-device.c
1232           src/nm-cdma-device.c
1233                 - (device_state_changed): don't close serial device on NEED_AUTH
1234                         state changed, that's not a failure case like the rest are
1235
1236         * src/ppp-manager/nm-pppd-plugin.c
1237                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
1238                         binds one interface to any pppd process, thus the correct index
1239                         is always 0; send PHASE_DEAD on error to alert NM immediately of
1240                         problems; try harder to get a peer address in spite of pppd
1241                 - (plugin_init): use 'ipparam' as the object path back to our specific
1242                         PPP manager instance
1243
1244 2008-08-04  Dan Williams  <dcbw@redhat.com>
1245
1246         * src/ppp-manager/nm-ppp-manager.c
1247                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
1248                         since the GSM and CDMA settings now implement need_secrets, we can
1249                         rely on them to do the right thing.  Where secrets are not required,
1250                         just pass empty strings back to the pppd plugin.
1251                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
1252                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
1253                         on successful IP4 config receipt
1254
1255 2008-08-04  Dan Williams  <dcbw@redhat.com>
1256
1257         * libnm-util/nm-setting-cdma.c
1258           libnm-util/nm-setting-gsm.c
1259                 - (verify): validate username & password if they exist
1260                 - (need_secrets): if username given, require a password too
1261
1262 2008-08-04  Dan Williams  <dcbw@redhat.com>
1263
1264         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1265                 - (create_dm_cmd_line): really don't listen on lo, despite what the
1266                         manpage says about --listen-address without --interface
1267                         (bgo #546033)
1268
1269 2008-08-01  Dan Williams  <dcbw@redhat.com>
1270
1271         * libnm-glib/nm-device.c
1272                 - (proxy_get_string): util function for querying a HAL property
1273                 - (get_ancestor_device): split out from get_product_and_vendor()
1274                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
1275                         from PCI devices by querying subsys properties
1276                 - (nm_device_update_description): simplify
1277
1278 2008-08-01  Dan Williams  <dcbw@redhat.com>
1279
1280         * libnm-util/nm-setting-ip4-config.c
1281           libnm-util/nm-setting-ip4-config.h
1282                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
1283                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
1284                         settings, and they don't necessarily use DHCP.
1285
1286         * src/NetworkManagerPolicy.c
1287           src/nm-device.c
1288           system-settings/plugins/ifcfg-fedora/reader.c
1289           system-settings/plugins/ifcfg-suse/parser.c
1290                 - Fixup for method changes
1291
1292 2008-07-31  Dan Williams  <dcbw@redhat.com>
1293
1294         * src/nm-activation-request.c
1295           src/vpn-manager/nm-vpn-connection.c
1296                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
1297                         itself should be attached to the activation request or the VPN
1298                         connection, not the NMConnection object, since the call is not
1299                         expected to live as long as the NMConnection itself
1300
1301 2008-07-31  Dan Williams  <dcbw@redhat.com>
1302
1303         * src/nm-device-wifi.c
1304                 - (real_act_stage2_config): fix issue where association would continue
1305                         even though secrets were needed; 'goto out' was in wrong scope and
1306                         result of handle_auth_or_fail() should have been dumped directly to
1307                         'ret' to ensure that the association was postponed until secrets
1308                         are available
1309
1310 2008-07-31  Dan Williams  <dcbw@redhat.com>
1311
1312         * system-settings/plugins/ifcfg-fedora/plugin.c
1313           system-settings/plugins/ifcfg-fedora/reader.c
1314                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
1315                         valid NM connection
1316
1317 2008-07-29  Dan Williams  <dcbw@redhat.com>
1318
1319         * src/nm-gsm-device.c
1320                 - (automatic_registration_response, automatic_registration): recognize
1321                         denied registration and reorder responses
1322
1323 2008-07-29  Dan Williams  <dcbw@redhat.com>
1324
1325         * src/nm-serial-device.c
1326                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
1327                         time(2) is used for current time, which returns seconds, we shouldn't
1328                         be multiplying by 1000.
1329
1330 2008-07-28  Dan Williams  <dcbw@redhat.com>
1331
1332         Patch from Fabrice Bellet <fabrice@bellet.info>
1333
1334         * src/NetworkManagerSystem.c
1335                 - (route_in_same_subnet): mask addresses and compare them so that the
1336                         function actually does what it says it's going to do (rh #456685)
1337
1338 2008-07-27  Dan Williams  <dcbw@redhat.com>
1339
1340         * libnm-util/nm-setting-ip6-config.c
1341                 - (set_property): add missing break that caused routes to be overwritten
1342                         with addresses
1343
1344         * libnm-util/nm-setting-ip6-config.c
1345                 - (verify): validate routes and return GError everywhere on invalid setting
1346                 - (finalize): don't leak routes
1347                 - (set_property): add missing break that caused routes to be overwritten
1348                         with addresses
1349
1350 2008-07-27  Dan Williams  <dcbw@redhat.com>
1351
1352         * libnm-util/*
1353                 - Relicense to LGPLv2+
1354
1355 2008-07-27  Dan Williams  <dcbw@redhat.com>
1356
1357         * system-settings/plugins/ifcfg-fedora/reader.c
1358                 - (make_ip4_setting): fix parsing automatic configs
1359
1360 2008-07-27  Dan Williams  <dcbw@redhat.com>
1361
1362         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1363           src/nm-device.c
1364           src/ppp-manager/nm-ppp-manager.c
1365                 - Ensure child process gets reaped.  The child watch function may be
1366                         removed from the mainloop before the child gets killed, so we have
1367                         to make sure the child is reaped when it's told to die intentionally
1368
1369 2008-07-27  Dan Williams  <dcbw@redhat.com>
1370
1371         Patch from Roy Marples <roy@marples.name>
1372
1373         * src/dhcp-manager/nm-dhcp-dhcpcd.c
1374                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
1375
1376 2008-07-27  Dan Williams  <dcbw@redhat.com>
1377
1378         * src/nm-gsm-device.c
1379                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
1380                         Huawei devices turn echo back on after CPIN (rh #456770)
1381
1382 2008-07-24  Tambet Ingo  <tambet@gmail.com>
1383
1384         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
1385         format argument to g_set_error() call.
1386
1387         * src/backends/interface_parser.[ch]: Remove.
1388
1389         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
1390
1391 2008-07-21  Dan Williams  <dcbw@redhat.com>
1392
1393         * src/ppp-manager/nm-ppp-manager.c
1394                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
1395                         to prevent pppd from picking up some random local address from an
1396                         interface that doesn't have anything to do with the one we're
1397                         interested in (rh #455348)
1398
1399 2008-07-17  Dan Williams  <dcbw@redhat.com>
1400
1401         * libnm-util/nm-utils.c
1402                 - (string_to_utf8): general function for conversion to UTF-8 assisted
1403                         by locale
1404                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
1405                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
1406
1407 2008-07-17  Dan Williams  <dcbw@redhat.com>
1408
1409         * introspection/Makefile.am
1410           introspection/nm-device.xml
1411           introspection/nm-dhcp4-config.xml
1412                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
1413                         itself
1414         * src/nm-device-interface.c
1415           src/nm-device-interface.h
1416                 - Add the DHCP4Config property
1417
1418         * src/nm-device.c
1419                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
1420                         D-Bus clients when it changes
1421
1422         * src/nm-dhcp4-config.c
1423           src/nm-dhcp4-config.h
1424                 - Simple object to store DHCP4 options, export them over D-Bus, and
1425                         notify when they change
1426
1427         * src/dhcp-manager/nm-dhcp-manager.c
1428           src/dhcp-manager/nm-dhcp-manager.h
1429                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
1430                         filter server-returned DHCP options into an NMDHCP4Config object
1431
1432 2008-07-16  Dan Williams  <dcbw@redhat.com>
1433
1434         * introspection/nm-device.xml
1435                 - Add device state reasons
1436
1437 2008-07-16  Dan Williams  <dcbw@redhat.com>
1438
1439         Patch from Roy Marples <roy@marples.name>
1440
1441         * configure.in
1442                 - Add --with-dhcp-client option
1443
1444         * src/dhcp-manager/Makefile.am
1445                 - pass DHCP_CLIENT_PATH on compile line
1446
1447         * src/dhcp-manager/nm-dhcp-manager.c
1448           src/dhcp-manager/nm-dhcp-manager.h
1449                 - Genericize for both dhcpcd and dhclient
1450
1451         * src/dhcp-manager/nm-dhcp-dhclient.c
1452                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
1453
1454         * src/dhcp-manager/nm-dhcp-dhcpcd.c
1455                 - Implement support for dhcpcd too
1456
1457 2008-07-16  Tambet Ingo  <tambet@gmail.com>
1458
1459         * system-settings/src/nm-system-config-interface.c 
1460         (nm_system_config_interface_supports_add): Implement.
1461         (nm_system_config_interface_add_connection): Return a boolean to notify
1462         of errors.
1463
1464         * system-settings/src/nm-polkit-helpers.c: 
1465         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
1466         a separate file.
1467
1468         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
1469         Return an error when none of the plugins support add or if addition
1470         failed for some reason.
1471
1472         * system-settings/src/nm-system-config-error.h: 
1473         * system-settings/src/nm-system-config-error.c: New files, mostly moved
1474         here from nm-polkit-helpers.[ch].
1475
1476         * system-settings/src/Makefile.am: Build new files.
1477
1478         * system-settings/plugins/keyfile/reader.c 
1479         (read_array_of_array_of_uint): Make it more general so that it would
1480         work for routes as well.
1481
1482         * system-settings/plugins/keyfile/writer.c
1483         (write_array_of_array_of_uint): Ditto.
1484         Fix the netmask/prefix writing.
1485
1486         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
1487         boolean to notify errors.
1488
1489         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
1490         Return more specific error.
1491         (delete): Ditto.
1492
1493 2008-07-11  Dan Williams  <dcbw@redhat.com>
1494
1495         Modify the NMDevice::state-changed signal to include the previous state
1496         and reason. Enables the applet to provide more information why device
1497         activation failed.
1498
1499 2008-07-09  Dan Williams  <dcbw@redhat.com>
1500
1501         * callouts/Makefile.am
1502           callouts/nm-avahi-autoipd-action.c
1503           callouts/nm-avahi-autoipd.conf
1504                 - avahi-autoipd callout to send options back to NM
1505
1506         * src/autoip.c
1507           src/autoip.h
1508                 - remove
1509
1510         * src/nm-device.c
1511           src/nm-device-private.h
1512           src/nm-manager.c
1513                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
1514                         old custom stuff
1515
1516 2008-07-07  Dan Williams  <dcbw@redhat.com>
1517
1518         * system-settings/plugins/ifcfg-fedora/reader.c
1519                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
1520                         handle PREFIX too; clean up
1521
1522 2008-07-07  Dan Williams  <dcbw@redhat.com>
1523
1524         Convert to using IPv4 prefixes instead of netmasks.
1525
1526 2008-07-03  Dan Williams  <dcbw@redhat.com>
1527
1528         * libnm-util/nm-setting-ip4-config.c
1529           libnm-util/nm-setting-ip4-config.h
1530                 - Add properties for DHCP Client Identifier and DHCP Hostname
1531
1532         * src/dhcp-manager/nm-dhcp-manager.c
1533           src/dhcp-manager/nm-dhcp-manager.h
1534                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
1535                         setting as an argument to pass on to the dhclient config file
1536                         creation function
1537                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
1538                         DHCP is torn down
1539                 - (dhclient_run): punt config file handling to create_dhclient_config()
1540                 - (create_dhclient_config): create an interface-specific dhclient
1541                         config file since there may need to be interface-specific options
1542                         passed to dhclient
1543                 - (merge_dhclient_config): merge normal distro dhclient config file and
1544                         add options from the connection
1545                 - (nm_dhcp_device_new): generate the interface specific dhclient
1546                         config file path once
1547                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
1548                         dhclient config file path
1549
1550         * src/nm-device.c
1551                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
1552                         DHCP manager when starting DHCP
1553
1554 2008-07-02  Dan Williams  <dcbw@redhat.com>
1555
1556         * libnm-util/nm-setting-8021x.c
1557                 - (verify): allow forcing the PEAP label to 0
1558
1559 2008-07-02  Dan Williams  <dcbw@redhat.com>
1560
1561         * introspection/nm-active-connection.xml
1562           introspection/nm-vpn-connection.xml
1563           libnm-glib/nm-active-connection.c
1564           src/nm-activation-request.c
1565           src/nm-active-connection.h
1566           src/vpn-manager/nm-vpn-connection.c
1567                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
1568                         and libnm-glib API since sharing didn't get implemented that way
1569
1570 2008-07-02  Dan Williams  <dcbw@redhat.com>
1571
1572         * src/nm-device-wifi.c
1573                 - (can_scan): don't scan when a shared connection is activated since
1574                         that makes drivers mad (causing disconnects); also NM doesn't need
1575                         to hedge against disconnects by keeping up-to-date network topology
1576                         because the connection originates from the local machine, and thus
1577                         there should be no disconnects
1578
1579 2008-07-01  Dan Williams  <dcbw@redhat.com>
1580
1581         Fix mobile broadband username/password issues.  NM was never requesting
1582         mobile broadband secrets, nor was it passing back the username and password
1583         if it had them.
1584
1585         * marshallers/nm-marshal.list
1586                 - Add some new types for activation request objects
1587
1588         * src/nm-activation-request.c
1589           src/nm-activation-request.h
1590                 - (get_secrets_cb): pass the caller type in the signal
1591                 - (nm_act_request_request_connection_secrets): take a caller type, so
1592                         that GetSecrets() reply handlers know who asked for the secrets in
1593                         the first place; use secret hints too so the settings service can
1594                         figure out exactly what NM wants (ie, PIN or the PPP password)
1595
1596         * src/ppp-manager/nm-ppp-manager.c
1597           src/ppp-manager/nm-ppp-manager.h
1598                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
1599                         detect needed secrets when the secret could be blank, like GSM/CDMA
1600                         passwords.  So always ask for secrets, and send a hint as to what
1601                         secret we really want.
1602                 - (nm_ppp_manager_update_secrets): make function more generic by making
1603                         the device specific class figure out the username and password, and
1604                         accept an error argument to return back over D-Bus
1605
1606         * src/nm-device-wifi.c
1607                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
1608                         nm_act_request_request_connection_secrets()
1609                 - (real_connection_secrets_updated): update for 'caller' changes
1610
1611         * src/nm-device.c
1612           src/nm-device.h
1613                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
1614                         for 'caller' changes
1615
1616         * src/nm-device-ethernet.c
1617                 - (real_connection_secrets_updated): update for 'caller' changes and
1618                         move logic for getting PPPoE username and password here before
1619                         calling nm_ppp_manager_update_secrets()
1620                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
1621                         nm_act_request_request_connection_secrets()
1622
1623         * src/nm-cdma-device.c
1624                 - (real_connection_secrets_updated): pass username and password back
1625                         to the PPP manager when required
1626
1627         * src/nm-gsm-device.c
1628                 - (enter_pin): send the required secret name to the settings service
1629                 - (real_connection_secrets_updated): pass username and password back
1630                         to the PPP manager when required
1631
1632 2008-06-30  Dan Williams  <dcbw@redhat.com>
1633
1634         * src/nm-device-wifi.c
1635                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
1636
1637 2008-06-30  Dan Williams  <dcbw@redhat.com>
1638
1639         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
1640         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
1641         priv->supplicant.iface.  When either condition is false, the device should
1642         transition back to UNAVAILABLE because it cannot be used.
1643
1644         * src/nm-device-wifi.c
1645                 - (constructor): cleanup; connect to supplicant manager here since the
1646                         supplicant manager is always around
1647                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
1648                         ensure the supplicant manager is in the IDLE state
1649                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
1650                         cancel any pending scans too
1651                 - (real_bring_up): don't set up the supplicnat interface here, because
1652                         we need the supplicant interface at times when the device may not
1653                         be "up"
1654                 - (real_take_down): just remove the periodic source
1655                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
1656                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
1657                         do anything if there's no supplicant interface
1658                 - (cleanup_association_attempt): cleanup
1659                 - (supplicant_iface_state_cb_handler): request an immediate scan when
1660                         the interface enters the READY state; transition to UNAVAILABLE
1661                         state when the interface goes down because the device can't be used
1662                         without a supplicant interface
1663                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
1664                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
1665                         acquire the supplicant interface and transition to DISCONNECTED
1666                         if the radio isn't killed
1667                 - (nm_device_wifi_dispose): move most of device_cleanup() here
1668                 - (state_changed_cb): release any existing supplicant interface; if the
1669                         radio is enabled then try to acquire a new supplicant interface;
1670                         if the radio is enabled and a supplicant interface has been acquired,
1671                         we can transition to DISCONNECTED
1672                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
1673                         don't enable the radio, because HAL probably lied to us about the
1674                         killswitch being off.  If bringing the hardware up worked, then
1675                         try to grab a supplicant interface, and if that was successful,
1676                         transition to DISCONNECTED
1677
1678 2008-06-30  Dan Williams  <dcbw@redhat.com>
1679
1680         * src/supplicant-manager/nm-supplicant-interface.c
1681                 - (request_scan_results, nm_supplicant_interface_dispose,
1682                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
1683                         the id of the timeout, not a GSource
1684
1685 2008-06-30  Tambet Ingo  <tambet@gmail.com>
1686
1687         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
1688         bunch of typoes introduced by "Patch from David Cantrell 
1689         <dcantrell@redhat.com> and me".
1690
1691 2008-06-30  Tambet Ingo  <tambet@gmail.com>
1692
1693         * src/nm-serial-device.c: 
1694         * src/nm-gsm-device.c: 
1695         * src/nm-cdma-device.c: Move the pending call handling to a common location
1696         in serial device. Handle setting device state to failed in one place as well.
1697
1698 2008-06-29  Dan Williams <dcbw@redhat.com>
1699
1700         * src/nm-hal-manager.c
1701                 - Rework killswitch handling to query killswitch status immediately
1702                         when the first killswitch is added, so that rfkill state is
1703                         known as early as possible
1704                 - Also treat failure of GetPower() as rfkill when the dbus method
1705                         call times out (but not when the HAL callout returns an error)
1706
1707 2008-06-26  Dan Williams <dcbw@redhat.com>
1708
1709         Patch from David Cantrell <dcantrell@redhat.com> and me
1710
1711         * include/nm-dbus-glib-types.h
1712                 - Add IP6 address types
1713
1714         * libnm-util/Makefile.am
1715           libnm-util/nm-setting-ip6-config.c
1716           libnm-util/nm-setting-ip6-config.h
1717                 - Add IP6 settings object
1718
1719         * libnm-util/nm-connection.c
1720                 - (register_default_settings): register ip6 settings object
1721
1722         * libnm-util/nm-utils.c
1723           libnm-util/nm-utils.h
1724                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
1725                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
1726                         ip6 address conversion functions
1727         
1728 2008-06-26  Dan Williams <dcbw@redhat.com>
1729
1730         Patch from David Cantrell <dcantrell@redhat.com>
1731         
1732         * Use inet_ntop() and inet_pton() everwhere and check for errors
1733
1734 2008-06-26  Dan Williams <dcbw@redhat.com>
1735
1736         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
1737
1738 2008-06-26  Dan Williams <dcbw@redhat.com>
1739
1740         Patch from Adel Gadllah <adel.gadllah@gmail.com>
1741
1742         * src/nm-device-wifi.c
1743                 - (link_timeout_cb): don't ignore disconnects due to scanning
1744                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
1745                         a longer timeout when scanning; avoids case where supplicant can't
1746                         find the AP and just keeps scanning forever but isn't connected
1747
1748 2008-06-26  Dan Williams <dcbw@redhat.com>
1749
1750         Patch from Michael Biebl <biebl@debian.org>
1751
1752         * Clean up build system stuff
1753
1754 2008-06-23  Christian Persch  <chpe@gnome.org>
1755
1756         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
1757         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
1758         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
1759         (impl_get_object):
1760         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
1761         (impl_get_object):
1762         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
1763         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
1764         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
1765         (impl_get_object):
1766         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
1767         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
1768         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
1769         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
1770         * vpn-daemons/pptp/properties/vpnui_opt.c:
1771         (vpnui_opt_connect_signals):
1772         * vpn-daemons/pptp/properties/vpnui_opt.h:
1773         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
1774         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
1775         deprecated gtk type macros. Bug #539325.
1776
1777 2008-06-20  Dan Williams  <dcbw@redhat.com>
1778
1779         * libnm-glib/nm-vpn-plugin-ui-interface.c
1780           libnm-glib/nm-vpn-plugin-ui-interface.h
1781                 - 'validity-changed' -> 'changed' to work better with the connection
1782                         editor.  Plugin UI widgets should emit 'changed' whenever their
1783                         UI values change in a meaningful way.
1784                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
1785                         update_connection member now returns validity of the UI widget
1786
1787 2008-06-20  Tambet Ingo  <tambet@gmail.com>
1788
1789         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
1790
1791 2008-06-17  Dan Williams  <dcbw@redhat.com>
1792
1793         * libnm-glib/nm-vpn-plugin-ui-interface.c
1794           libnm-glib/nm-vpn-plugin-ui-interface.h
1795                 - Add "desc" property for longer descriptions of the VPN plugin
1796
1797 2008-06-16  Dan Williams  <dcbw@redhat.com>
1798
1799         * configure.in
1800           libnm-glib/libnm_glib_vpn.pc.in
1801                 - add a .pc file for libnm_glib_vpn
1802
1803         * libnm-glib/nm-vpn-plugin-ui-interface.c
1804           libnm-glib/nm-vpn-plugin-ui-interface.h
1805                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
1806                         rework it substantially
1807
1808 2008-06-12  Dan Williams  <dcbw@redhat.com>
1809
1810         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
1811         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
1812         returns a descriptive GError when verification fails.
1813
1814 2008-06-11  Dan Williams  <dcbw@redhat.com>
1815
1816         Patch from Tambet Ingo <tambet@gmail.com>
1817
1818         * libnm-util/nm-setting-gsm.c
1819                 - (verify): validate APN
1820
1821         * src/nm-gsm-device.c
1822                 - (manual_registration_done): start setting APN if needed
1823                 - (set_apn, set_apn_done): set the APN
1824                 - (do_dial): use the APN when dialing
1825
1826 2008-06-11  Dan Williams  <dcbw@redhat.com>
1827
1828         * src/NetworkManagerSystem.c
1829                 - (nm_system_device_set_ip4_route,
1830                    nm_system_device_replace_default_ip4_route): check for the right
1831                         return value from rtnl_route_add() to know when to add a gateway
1832                         route (from Tambet)
1833
1834 2008-06-11  Dan Williams  <dcbw@redhat.com>
1835
1836         * src/NetworkManagerPolicy.c
1837                 - do_ipt_cmd -> do_cmd
1838                 - (sharing_init): use do_cmd() instead of system()
1839
1840 2008-06-10  Dan Williams  <dcbw@redhat.com>
1841
1842         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
1843         and use "wifi" everwhere instead.
1844
1845 2008-06-10  Dan Williams  <dcbw@redhat.com>
1846
1847         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
1848
1849 2008-06-10  Dan Williams  <dcbw@redhat.com>
1850
1851         Patch from Tambet Ingo <tambet@gmail.com>
1852
1853         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
1854                 changes.
1855
1856         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
1857                 a signal to emit these changes over dbus.
1858
1859         * src/Makefile.am: Genereate nm-serial-device-glue.
1860
1861         * libnm-glib/nm-serial-device.[ch]: Implement.
1862
1863         * libnm-glib/nm-cdma-device.[ch]
1864           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
1865
1866         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
1867
1868         * introspection/nm-device-serial.xml: Implement.
1869
1870         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
1871
1872         * introspection/Makefile.am: Add nm-device-serial.xml.
1873
1874         * include/NetworkManager.h: Add a DBus interface for serial device.
1875
1876 2008-06-10  Dan Williams  <dcbw@redhat.com>
1877
1878         * configure.in
1879                 - Add TARGET_* define to config.h to distinguish distros
1880
1881         * src/dhcp-manager/nm-dhcp-manager.c
1882                 - (dhclient_run): use distro-specific path for dhclient config file
1883
1884 2008-06-09  Dan Williams  <dcbw@redhat.com>
1885
1886         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1887           src/dnsmasq-manager/nm-dnsmasq-manager.h
1888                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
1889                         calculate the addresses passed to dnsmasq instead of hard-coding
1890                         them
1891
1892         * src/nm-device.c
1893                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
1894                         IP addresses for shared connections to guard against shared
1895                         connection address collisions
1896                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
1897                         error conditions
1898                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
1899                         the dnsmasq manager
1900
1901 2008-06-09  Dan Williams  <dcbw@redhat.com>
1902
1903         * src/NetworkManagerPolicy.c
1904                 - (update_routing_and_dns): set the default connection _after_ unsetting
1905                         default on all non-default connections so that two connections can
1906                         never be default at the same time
1907                 - (device_state_changed): start and stop connection sharing when
1908                         needed
1909                 - (active_connection_default_changed): restart or stop sharing when
1910                         the default connection changes to keep shared connections always
1911                         NAT-ed through the default connection
1912                 - (check_sharing): handle activation/deactivation of shared connections
1913                 - (sharing_restart): atom-bomb approach to connection sharing until we
1914                         can use libnl; reinit all sharing when the default connection or
1915                         shared connections change
1916                 - (sharing_init, sharing_stop): evil functions that init and deinit
1917                         iptables
1918
1919 2008-06-09  Dan Williams  <dcbw@redhat.com>
1920
1921         * src/nm-activation-request.c
1922           src/nm-activation-request.h
1923                 - (nm_act_request_set_shared, nm_act_request_get_shared,
1924                    nm_act_request_get_device): new functions to facilitate connection
1925                         sharing
1926
1927 2008-06-09  Dan Williams  <dcbw@redhat.com>
1928
1929         * src/nm-device.c
1930                 - (clear_act_request): unset the 'default' property of the activation
1931                         request when clearing it to ensure the property changed signal gets
1932                         delivered and handled
1933
1934 2008-06-09  Dan Williams  <dcbw@redhat.com>
1935
1936         * libnm-glib/nm-device-802-11-wireless.c
1937                 - (access_point_removed_proxy): actually unref the AP after removing
1938                         it from the device's AP list.  Fixes refcounting bug for APs that
1939                         caused them to get mixed up in the applet's menu.
1940
1941 2008-06-09  Tambet Ingo  <tambet@gmail.com>
1942
1943         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
1944         (nm_dhcp_device_destroy): Destroy the device options hash table.
1945
1946 2008-06-06  Dan Williams <dcbw@redhat.com>
1947
1948         * system-settings/src/nm-polkit-helpers.c
1949                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
1950                         unref the context if the initialization fails; also avoid spew when
1951                         the error isn't set
1952
1953 2008-06-06  Dan Williams <dcbw@redhat.com>
1954
1955         Patch from Tambet Ingo  <tambet@gmail.com>
1956
1957         * src/NetworkManagerSystem.c
1958           src/NetworkManagerSystem.h
1959                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
1960                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
1961                 - (nm_system_device_set_ip4_route): clean up
1962                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
1963
1964         * src/nm-device.c
1965                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
1966
1967         * src/vpn-manager/nm-vpn-connection.c
1968                 - (ip_address_to_string): new function
1969                 - (print_vpn_config): use ip_address_to_string
1970                 - (merge_vpn_routes): add user-defined routes to the ip4 config
1971                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
1972
1973         * include/NetworkManagerVPN.h
1974                 - Add 'routes' key
1975
1976 2008-06-05  Dan Williams <dcbw@redhat.com>
1977
1978         Patch from Markus Becker <mab@comnets.uni-bremen.de>
1979
1980         * test/nm-tool.c
1981                 - Show which device is the default device
1982
1983 2008-06-05  Tambet Ingo  <tambet@gmail.com>
1984
1985         Fix memory leaks.
1986
1987         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
1988         Free data returned from dbus method call.
1989
1990         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
1991         dbus_g_method_get_sender() returns a duplicated string, free it 
1992         when done.
1993         (check_polkit_privileges): Looks like policykit sometimes returns
1994         error and non-null return value, don't leak errors in that case.
1995
1996         * system-settings/src/main.c (find_plugin): Don't leak existing 
1997         plugin names.
1998         (load_stuff): Don't leak device list and list items.
1999         (have_connection_for_device): Don't leak connection list.
2000
2001         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
2002         Free the data received from g_keyfile_get_*.
2003
2004         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
2005         the key when the security object is updated.
2006
2007         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
2008         Free data returned from dbus method call.
2009         (iface_state_cb): Ditto.
2010         (add_network_cb): Ditto.
2011         (nm_supplicant_interface_add_cb): Don't make another copy of already
2012         duplicated object path.
2013         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
2014         when done.
2015
2016         * src/supplicant-manager/nm-supplicant-config.c 
2017         (ADD_STRING_LIST_VAL): Fix a memory leak.
2018
2019         * src/nm-manager.c (free_get_settings_info): Free the allocated
2020         memory slice.
2021         (list_connections_cb): Free data returned from dbus method call.
2022         (system_settings_get_unmanaged_devices_cb): Ditto.
2023
2024         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
2025
2026         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
2027         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
2028         * src/backends/shvar.c (svCloseFile): Free the duplicated content
2029         of the GList.
2030
2031         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
2032         arguments after the object is created.
2033
2034 2008-06-04  Dan Williams <dcbw@redhat.com>
2035
2036         * libnm-util/Makefile.am
2037                 - Don't distribute nm-param-spec-specialized.h
2038
2039 2008-06-02  Tambet Ingo  <tambet@gmail.com>
2040
2041         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
2042
2043         * src/nm-ip4-config.[ch]: Store the static routes as a list of
2044         NMIP4Address, update the getters and setters.
2045
2046         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2047         Use the updated NMIP4Config routes api.
2048
2049         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
2050         static routes as well.
2051
2052         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
2053         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
2054         routes api.
2055
2056 2008-05-30  Dan Williams <dcbw@redhat.com>
2057
2058         * src/named-manager/nm-named-manager.c
2059           src/named-manager/nm-named-manager.h
2060                 - Remove stale/obsolete bits for controlling bind over DBus
2061
2062 2008-05-29  Dan Williams <dcbw@redhat.com>
2063
2064         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2065           src/dnsmasq-manager/nm-dnsmasq-manager.h
2066                 - (nm_dnsmasq_manager_new): move iface argument here
2067                 - (constructor): remove, not needed
2068                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
2069                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
2070
2071         * src/nm-device.c
2072                 - (real_act_stage4_get_ip4_config,
2073                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
2074                         changes
2075
2076 2008-05-29  Dan Williams <dcbw@redhat.com>
2077
2078         * src/nm-device.c
2079                 - (dnsmasq_state_changed_cb): new function; fail the connection if
2080                         something happens to dnsmasq
2081                 - (nm_device_new_ip4_shared_config): new function; create a new
2082                         ip4-config for shared connections.  Shared connections always use a
2083                         fixed static IP address.
2084                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
2085                         autoip connections by actually using the returned ip4-config and
2086                         not leaking it
2087                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
2088                         connections
2089                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
2090                         if its active
2091
2092 2008-05-29  Dan Williams <dcbw@redhat.com>
2093
2094         * src/nm-device-802-11-wireless.c
2095                 - (real_get_best_auto_connection): auto-activate 'shared' method
2096                         connections too
2097
2098 2008-05-29  Dan Williams <dcbw@redhat.com>
2099
2100         * libnm-util/nm-setting-ip4-config.c
2101           libnm-util/nm-setting-ip4-config.h
2102                 - Add a 'shared' method to indicate that this connection should be
2103                         brought up with a DHCP and proxy DNS server to facilitate
2104                         connection sharing.
2105                 - (verify): 'shared' method doesn't allow DNS or searches either
2106
2107 2008-05-29  Dan Williams <dcbw@redhat.com>
2108
2109         * configure.in
2110           src/Makefile.am
2111           src/dnsmasq-manager/Makefile.am
2112           src/dnsmasq-manager/nm-dnsmasq-manager.c
2113           src/dnsmasq-manager/nm-dnsmasq-manager.h
2114                 - Add a dnsmasq daemon manager to facilitate connection sharing
2115
2116 2008-05-29  Dan Williams <dcbw@redhat.com>
2117
2118         * src/nm-device-private.h
2119                 - Remove unused prototypes and clean up
2120
2121         * src/nm-device.c
2122                 - Remove anything related to system_config_data, which is no longer used
2123                 - (nm_device_new_ip4_autoip_config): make static
2124
2125 2008-05-29  Tambet Ingo  <tambet@gmail.com>
2126
2127         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
2128         (file_changed): Fix a bug where suse system settings plugin didn't
2129         update the connections automatically when the files changed.
2130
2131 2008-05-28  Dan Williams  <dcbw@redhat.com>
2132
2133         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
2134
2135 2008-05-28  Dan Williams  <dcbw@redhat.com>
2136
2137         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2138
2139         * src/NetworkManagerSystem.c
2140                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
2141                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
2142                         was causing -EINVAL errors since the libnl code actually does flush
2143                         the routes on VPN interfaces now
2144
2145         * src/backends/NetworkManagerArch.c
2146           src/backends/NetworkManagerDebian.c
2147           src/backends/NetworkManagerFrugalware.c
2148           src/backends/NetworkManagerGeneric.c
2149           src/backends/NetworkManagerGentoo.c
2150           src/backends/NetworkManagerMandriva.c
2151           src/backends/NetworkManagerPaldo.c
2152           src/backends/NetworkManagerRedHat.c
2153           src/backends/NetworkManagerSlackware.c
2154           src/backends/NetworkManagerSuSE.c
2155                 - (nm_system_device_flush_ip4_routes,
2156                    nm_system_device_flush_ip4_routes_with_iface): remove
2157
2158 2008-05-28  Dan Williams  <dcbw@redhat.com>
2159
2160         * libnm-util/nm-setting-wireless.c
2161           libnm-util/nm-setting-wireless.h
2162                 - (set_property, get_property, nm_setting_wireless_class_init): add the
2163                         'adhoc-create' property, which when TRUE indicates that NM should
2164                         create this connection as an adhoc wifi network if it's not found
2165                         as an adhoc network during scanning.  Can be used to auto-create
2166                         adhoc networks when used in combination with autoconnect.
2167
2168 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2169
2170         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
2171
2172         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
2173         checked, it doesn't work on some devices.
2174
2175 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2176
2177         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
2178         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
2179
2180         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2181         Use inet_aton() everywhere to improve error detection.
2182         Don't fall back to 'dhcp_server_identifier' if the gateway is not
2183         provided.
2184
2185 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2186
2187         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
2188         Fix a typo.
2189
2190 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2191
2192         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
2193         reference counting issue.
2194
2195 2008-05-23  Dan Williams  <dcbw@redhat.com>
2196
2197         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2198
2199         * src/backends/NetworkManagerGeneric.c
2200                 - (nm_generic_enable_loopback): use libnl
2201
2202 2008-05-23  Dan Williams  <dcbw@redhat.com>
2203
2204         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2205
2206         * src/NetworkManagerSystem.h
2207           src/backends/NetworkManagerArch.c
2208           src/backends/NetworkManagerDebian.c
2209           src/backends/NetworkManagerFrugalware.c
2210           src/backends/NetworkManagerGentoo.c
2211           src/backends/NetworkManagerMandriva.c
2212           src/backends/NetworkManagerPaldo.c
2213           src/backends/NetworkManagerRedHat.c
2214           src/backends/NetworkManagerSlackware.c
2215           src/backends/NetworkManagerSuSE.c
2216                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
2217                    nm_system_flush_arp_cache): remove, unused
2218
2219         * src/backends/NetworkManagerGeneric.c
2220           src/backends/NetworkManagerGeneric.h
2221                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
2222                    nm_generic_flush_arp_cache): remove, unused
2223
2224 2008-05-23  Dan Williams  <dcbw@redhat.com>
2225
2226         * system-settings/plugins/ifcfg-fedora/reader.c
2227                 - (make_ip4_setting): honor PEERDNS setting
2228
2229 2008-05-23  Dan Williams  <dcbw@redhat.com>
2230
2231         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2232
2233         * src/NetworkManagerSystem.c
2234                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
2235                         libnl
2236
2237         * src/backends/NetworkManagerArch.c
2238           src/backends/NetworkManagerDebian.c
2239           src/backends/NetworkManagerFrugalware.c
2240           src/backends/NetworkManagerGentoo.c
2241           src/backends/NetworkManagerMandriva.c
2242           src/backends/NetworkManagerPaldo.c
2243           src/backends/NetworkManagerRedHat.c
2244           src/backends/NetworkManagerSlackware.c
2245           src/backends/NetworkManagerSuSE.c
2246                 - (nm_system_device_flush_ip4_addresses,
2247                    nm_system_device_flush_ip4_addresses_with_iface): remove
2248
2249         * src/backends/NetworkManagerGeneric.c
2250                 - (nm_generic_device_flush_ip4_addresses,
2251                    nm_generic_device_flush_ip4_addresses_with_iface): remove
2252
2253 2008-05-23  Dan Williams  <dcbw@redhat.com>
2254
2255         * src/supplicant-manager/nm-supplicant-settings-verify.c
2256                 - Switch 'bssid' from bytes to keyword type
2257                 - (validate_type_keyword): allow NULL keyword lists
2258
2259         * src/supplicant-manager/nm-supplicant-config.c
2260                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
2261                         a byte array to string form, which is what the supplicant expects
2262
2263 2008-05-23  Tambet Ingo  <tambet@gmail.com>
2264
2265         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
2266         information received from DHCP.
2267
2268         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
2269         to make it possible to ignore the DNS information (both servers and 
2270         searches) returned by DHCP server.
2271
2272         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
2273         name servers and searches if "ignore_dhcp_dns" is set.
2274
2275         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
2276         (nm_ip4_config_reset_searches): Implement.
2277
2278 2008-05-22  Dan Williams  <dcbw@redhat.com>
2279
2280         Remove anything mDNS related.  This is better done from a distro-specific
2281         dispatcher script.  Plus, any distro using avahi doesn't need to restart
2282         avahi, since avahi can handle interface changes just fine using netlink.
2283
2284         * configure.in
2285                 - Remove --with-mdns-provider
2286
2287         * src/NetworkManagerPolicy.c
2288                 - (global_state_changed): don't restart the mdns provider
2289
2290         * src/NetworkManagerSystem.h
2291           src/backends/NetworkManagerArch.c
2292           src/backends/NetworkManagerDebian.c
2293           src/backends/NetworkManagerFrugalware.c
2294           src/backends/NetworkManagerGentoo.c
2295           src/backends/NetworkManagerMandriva.c
2296           src/backends/NetworkManagerPaldo.c
2297           src/backends/NetworkManagerRedHat.c
2298           src/backends/NetworkManagerSlackware.c
2299           src/backends/NetworkManagerSuSE.c
2300                 - (nm_system_restart_mdns_responder): remove
2301
2302         * src/backends/NetworkManagerGeneric.c
2303           src/backends/NetworkManagerGeneric.h
2304                 - (nm_generic_restart_mdns_responder): remove
2305
2306 2008-05-22  Dan Williams  <dcbw@redhat.com>
2307
2308         * configure.in
2309                 - clean up crypto options; just use --with-crypto=nss or
2310                         --with-crypto=gnutls
2311
2312 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2313
2314         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
2315         anymore, do it right away.
2316
2317 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2318
2319         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
2320         serial device open when we're not connecting or connected.
2321
2322         * src/nm-cdma-device.c (device_state_changed): Ditto.
2323
2324 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2325
2326         Don't remove all devices on waking up, sync with HAL.
2327
2328         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
2329         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
2330         (hal_manager_hal_reappeared_cb): Just call sync_devices.
2331
2332 2008-05-21  Tambet Ingo  <tambet@gmail.com>
2333
2334         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
2335         If the default gateway is unreachable, add a route to gateway and try
2336         again.
2337
2338 2008-05-20  Dan Williams  <dcbw@redhat.com>
2339
2340         * system-settings/plugins/ifcfg-fedora/reader.c
2341                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
2342
2343 2008-05-19  Dan Williams  <dcbw@redhat.com>
2344
2345         * system-settings/plugins/ifcfg-fedora/reader.c
2346                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
2347                         if the ifcfg doesn't specify one (rh #446527)
2348
2349 2008-05-19  Dan Williams  <dcbw@redhat.com>
2350
2351         Make the system settings service exit when the bus goes away.  Since it's
2352         a bus-activated service, it's lifetime is limited to the bus that activated
2353         it (rh #444976).
2354
2355         * system-settings/src/Makefile.am
2356           system-settings/src/nm-system-config-hal-manager-private.h
2357                 - Remove nm-system-config-hal-manager-private.h
2358
2359         * system-settings/src/nm-system-config-hal-manager.c
2360                 - (nm_system_config_hal_manager_reinit_dbus,
2361                    nm_system_config_hal_manager_deinit_dbus): remove
2362
2363         * system-settings/src/main.c
2364                 - (dbus_reconnect): remove
2365                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
2366                 - (destroy_cb): just quit when the bus goes away
2367                 - (start_dbus_service, dbus_init): simplify
2368                 - (main): destroy the wired devices hash table after destroying
2369                         the HAL manager so we don't have to disconnect signals from the
2370                         HAL manager
2371
2372 2008-05-15  Tambet Ingo  <tambet@gmail.com>
2373
2374         Move crypto functions from nm-applet to libnm-util.
2375
2376         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
2377         (nm_setting_802_1x_set_client_cert)
2378         (nm_setting_802_1x_set_phase2_ca_cert)
2379         (nm_setting_802_1x_set_phase2_client_cert)
2380         (nm_setting_802_1x_set_private_key)
2381         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
2382         file (or private key and it's password), read the certificate data.
2383
2384         * libnm-util/crypto_nss.c: 
2385         * libnm-util/crypto_gnutls.c: 
2386         * libnm-util/crypto.[ch]: Move here from nm-applet.
2387
2388         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
2389
2390         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
2391         Imlement WPA-EAP configuration reading from sysconfig.
2392
2393 2008-05-16  Dan Williams  <dcbw@redhat.com>
2394
2395         * src/nm-device-802-11-wireless.c
2396                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
2397                         wireless
2398
2399 2008-05-14  Dan Williams  <dcbw@redhat.com>
2400
2401         Fix Linus' bug in rh #134886
2402
2403         * src/nm-device-802-3-ethernet.c
2404                 - (constructor): request initial carrier state
2405
2406         * src/nm-netlink-monitor.c
2407                 - (nm_netlink_monitor_request_status): schedule emission of carrier
2408                         signals after refilling the link cache.  Because the refill is a 
2409                         synchronous operation, the normal message hander won't get called
2410                         since libnl has already consumed the messages.
2411                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
2412
2413 2008-05-14  Dan Williams  <dcbw@redhat.com>
2414
2415         * src/NetworkManagerSystem.c
2416                 - (nm_system_device_is_up_with_iface): clean up
2417
2418 2008-05-13  Dan Williams  <dcbw@redhat.com>
2419
2420         Fix refcounting issues over sleep/wake when a VPN connection was active that
2421         caused NM to try registering an object path for a device upon wake that was
2422         the same as an already registered object path.
2423
2424         * src/nm-device.c
2425                 - (nm_device_take_down): properly handle cases where the device is
2426                         no longer active but was just active, and therefore must be
2427                         deactivated.  When a device moves to unmanaged mode, this function
2428                         previously would not deactivate the device, because the state was
2429                         already unmanaged by the time this function was called.
2430
2431         * src/vpn-manager/nm-vpn-connection.c
2432                 - (device_state_changed): properly handle multiple devices states in
2433                         which the device is now deactivated.  Code previously didn't handle
2434                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
2435                         UNMANAGED states.
2436
2437 2008-05-13  Dan Williams  <dcbw@redhat.com>
2438
2439         * src/nm-device-private.h
2440           src/nm-device.c
2441                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
2442
2443         * src/nm-device-802-11-wireless.c
2444                 - (nm_device_802_11_wireless_set_enabled): take devices up
2445                         and down as appropriate for the rfkill state
2446
2447 2008-05-13  Dan Williams  <dcbw@redhat.com>
2448
2449         * marshallers/nm-marshal.list
2450                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
2451
2452         * system-settings/plugins/ifcfg-fedora/Makefile.am
2453           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
2454           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
2455                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
2456                         events.  Solely for use watching ifcfg files to pick up changes
2457                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
2458
2459         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
2460                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
2461                         file contents change
2462                 - (finalize): clean up inotify watches
2463                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
2464                         and the connection ifcfg for changes on their hardlinks
2465                 - (files_changed_cb): proxy the changed signal back out to listeners
2466
2467         * system-settings/plugins/ifcfg-fedora/plugin.c
2468                 - (dir_changed): 
2469                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
2470                         changes
2471                 - (read_one_connection): connect to change signals on the new connection
2472                 - (dir_changed, connection_changed_handler,
2473                    handle_connection_remove_or_new): break out connection change
2474                         handling and connection new/remove handling so it can be used from
2475                         both the GFileMonitor callback and the NMIfcfgConnection changed
2476                         signals
2477
2478         * system-settings/plugins/ifcfg-fedora/reader.c
2479           system-settings/plugins/ifcfg-fedora/reader.h
2480                 - (connection_from_file): return the keyfile path the connection would use
2481
2482 2008-05-13  Tambet Ingo  <tambet@gmail.com>
2483
2484         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
2485         single PolKitContext which is shared by all. PolKitContext::unref leaks
2486         just about everything, including all open file descriptiors and results
2487         in 99% cpu usage when data arrives to any of the fds that don't belong
2488         to any context anymore.
2489
2490 2008-05-12  Dan Williams  <dcbw@redhat.com>
2491
2492         * gfilemonitor/glocaldirectorymonitor.c
2493           gfilemonitor/glocaldirectorymonitor.h
2494                 - (g_local_directory_monitor_constructor): actually subscribe to the
2495                         watch
2496                 - (_g_local_directory_monitor_new): ensure that inotify is started up
2497
2498         * gfilemonitor/glocalfilemonitor.c
2499           gfilemonitor/glocalfilemonitor.h
2500                 - (g_local_file_monitor_constructor): actually subscribe to the watch
2501                 - (_g_local_file_monitor_new): ensure that inotify is started up
2502
2503 2008-05-11  Dan Williams  <dcbw@redhat.com>
2504
2505         * configure.in
2506                 - record PolicyKit version
2507
2508         * system-settings/src/nm-polkit-helpers.c
2509                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
2510                         with PolicyKit <= 0.6
2511
2512 2008-05-11  Dan Williams  <dcbw@redhat.com>
2513
2514         Update Fedora system-settings plugin to support latest API and use
2515         GFileMonitor rather than home-rolled inotify code.
2516
2517         * system-settings/plugins/ifcfg-fedora/Makefile.am
2518           system-settings/plugins/ifcfg-fedora/common.h
2519           system-settings/plugins/ifcfg-fedora/plugin.c
2520                 - Update to latest system settings plugin API; use GIO instead of
2521                         custom inotify code; use NMIfcfgConnection objects instead of
2522                         ConnectionData structures tacked onto NMConnection objects
2523
2524         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
2525           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
2526                 - Implement an NMExportedConnection subclass mapping ifcfg files to
2527                         connections
2528
2529         * system-settings/plugins/ifcfg-fedora/reader.c
2530           system-settings/plugins/ifcfg-fedora/reader.h
2531                 - Move ifcfg parsing bits here from parser.c
2532
2533         * system-settings/plugins/ifcfg-fedora/parser.c
2534           system-settings/plugins/ifcfg-fedora/parser.h
2535                 - Remove; most code moved to reader.c
2536
2537 2008-05-11  Dan Williams  <dcbw@redhat.com>
2538
2539         * configure.in
2540           Makefile.am
2541           gfilemonitor/*
2542                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
2543                         implementation, so that the same change monitoring code can be used
2544                         on systems without glib-2.14 (like Fedora 8)
2545
2546         * system-settings/plugins/keyfile/Makefile.am
2547           system-settings/plugins/keyfile/plugin.c
2548           system-settings/plugins/ifcfg-suse/Makefile.am
2549           system-settings/plugins/ifcfg-suse/plugin.c
2550                 - Use private gfilemonitor code if GIO is not present
2551
2552 2008-05-09  Tambet Ingo  <tambet@gmail.com>
2553
2554         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
2555         NMExportedConnection's 'update' and 'delete' and return error with
2556         descriptive message.
2557
2558 2008-05-08  Dan Williams  <dcbw@redhat.com>
2559
2560         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2561
2562         * src/nm-gsm-device.c
2563           src/nm-cdma-device.c
2564                 - (real_get_best_auto_connection): implement; allow autoconnection
2565                         to GSM & CDMA devices
2566
2567 2008-05-08  Tambet Ingo  <tambet@gmail.com>
2568
2569         Use PolicyKit to authorize the system settings' AddConnection method
2570         and the system settings connections' Update and Delete methods.
2571         
2572         * libnm-glib/nm-settings.c (impl_exported_connection_update)
2573         (impl_exported_connection_delete, nm_exported_connection_update)
2574         (nm_exported_connection_delete): Return boolean and fill GError
2575         to notify the callers of the reasons why it might have failed.
2576
2577         * libnm-glib/nm-dbus-settings-system.c
2578         (nm_dbus_settings_system_add_connection): Return the error from dbus
2579         call so that the callers can see why it failed.
2580
2581         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
2582         signatures.
2583
2584         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
2585
2586         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
2587         abstract base class that checks PolicyKit permissions.
2588
2589         * system-settings/src/dbus-settings.c:
2590         (impl_settings_add_connection): Check the policy before carring out
2591         the request.
2592
2593         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
2594         Inherit from NMSysconfigConnection, check the policies before
2595         allowing updating or removing.
2596
2597         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
2598         Inherit from NMSysconfigConnection.
2599
2600         * introspection/nm-exported-connection.xml: Annotate "Update" and 
2601         "Delete" methods with async flag so that the implementations can get
2602         access to DBusGMethodInvocation.
2603
2604         * system-settings/src/dbus-settings.c 
2605         (settings_add_connection_check_privileges): Implement.
2606         (impl_settings_add_connection): Check the privileges before adding a new
2607         connection. Improve error reporting.
2608
2609         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
2610         async so that the implementation can access DBusGMethodInvocation.
2611
2612         * configure.in: Check for PolicyKit.
2613
2614         * policy/org.freedesktop.network-manager-settings.system.policy: 
2615         New file.
2616
2617         * policy/Makefile.am: Install the policy file.
2618
2619         * configure.in: Add 'policy' subdir.
2620
2621 2008-05-08  Tambet Ingo  <tambet@gmail.com>
2622
2623         Rewrite the suse system settings plugin.
2624
2625         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
2626
2627         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
2628
2629         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
2630
2631         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
2632
2633         * system-settings/src/dbus-settings.c: Fix connection reference counting.
2634
2635         * system-settings/src/main.c (load_plugins): Improve error reporting.
2636
2637         * system-settings/src/sha1.[ch] Add.
2638
2639         * system-settings/src/Makefile.am: Add sha1[ch] to build.
2640
2641 2008-05-07  Dan Williams  <dcbw@redhat.com>
2642
2643         * system-settings/plugins/keyfile/reader.c
2644                 - (read_one_setting_value): handle IP address items separately
2645                 - (read_array_of_uint): read IPv4 DNS option as a string array
2646                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
2647                         array
2648
2649         * system-settings/plugins/keyfile/writer.c
2650                 - (write_setting_value): handle IP address items separately
2651                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
2652                         not an array of uint, so that it's user-editable
2653                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
2654                         arrays, so they are user-editable
2655
2656 2008-05-07  Dan Williams  <dcbw@redhat.com>
2657
2658         * system-settings/plugins/keyfile/Makefile.am
2659                 - Change location of the keyfile plugin settings to
2660                         /etc/NetworkManager/system-connections
2661
2662 2008-05-05  Tambet Ingo  <tambet@gmail.com>
2663
2664         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
2665
2666         * system-settings/plugins/keyfile/plugin.c: Work with
2667         NMKeyfileConnections.
2668
2669         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
2670         Plugins are supposed to return NMExportedConnections now and handle the
2671         updated(), removed(), and GetSecrets().
2672         Store the internal list of connections in hash table to make it easier
2673         to find duplicates.
2674
2675 2008-05-07  Tambet Ingo  <tambet@gmail.com>
2676
2677         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
2678         for multiple IP addresses.
2679
2680 2008-05-07  Tambet Ingo  <tambet@gmail.com>
2681
2682         Patch from André Lemos.
2683
2684         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
2685         corruption.
2686
2687 2008-05-06  Dan Williams  <dcbw@redhat.com>
2688
2689         * src/dhcp-manager/nm-dhcp-manager.c
2690                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
2691                         NMIP4Config to support multiple IP addresses
2692
2693         * src/NetworkManagerUtils.c
2694                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
2695
2696         * src/nm-ip4-config.c
2697           src/nm-ip4-config.h
2698                 - Store a list of IPv4 address/netmask/gateway tuples
2699                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
2700                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
2701                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
2702                    nm_ip4_config_set_address): remove
2703                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
2704                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
2705                         new functions; handle multiple IPv4 addresses
2706
2707         * src/nm-device.c
2708           src/ppp-manager/nm-ppp-manager.c
2709           src/vpn-manager/nm-vpn-connection.c
2710           src/NetworkManagerPolicy.c
2711           test/nm-tool.c
2712           libnm-glib/libnm-glib-test.c
2713                 - update for changes to NMIP4Config for multiple IPv4 addresses
2714
2715         * src/NetworkManagerSystem.c
2716                 - (nm_system_device_set_ip4_route): don't add the route if any address
2717                         is on the same subnet as the destination
2718                 - (check_one_address): ignore the exact match, just match family and
2719                         interface index
2720                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
2721                         an interface
2722                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
2723                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
2724
2725         * introspection/nm-ip4-config.xml
2726                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
2727                 - Add 'addresses' property which is an array of (uuu) tuples of
2728                         address/netmask/gateway
2729
2730         * libnm-util/nm-setting-ip4-config.c
2731                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
2732
2733         * libnm-glib/nm-ip4-config.c
2734           libnm-glib/nm-ip4-config.h
2735                 - Handle D-Bus interface changes to support multiple IP addresses
2736
2737 2008-05-06  Dan Williams  <dcbw@redhat.com>
2738
2739         * libnm-util/nm-utils.c
2740           libnm-util/nm-utils.h
2741                 - (nm_utils_ip4_addresses_from_gvalue,
2742                    nm_utils_ip4_addresses_to_gvalue): new functions
2743
2744 2008-05-06  Tambet Ingo  <tambet@gmail.com>
2745
2746         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
2747         the returned connection paths.
2748
2749 2008-05-05  Tambet Ingo  <tambet@gmail.com>
2750
2751         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
2752         "PropertiesChanged" signal signature.
2753
2754         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
2755         defined in nm-dbus-glib-types.h.
2756         Don't register the connection on dbus, we're a proxy class to 
2757         communicate with an already registered connection over dbus.
2758
2759 2008-04-30  Tambet Ingo  <tambet@gmail.com>
2760
2761         Implement new subclasses of NMSettings and NMExportedConnection to make
2762         it easier for the applet to access and modify system settings.
2763
2764         * libnm-glib/nm-dbus-connection.[ch]:
2765         * libnm-glib/nm-dbus-settings.[ch]:
2766         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
2767
2768         * libnm-glib/Makefile.am: Add the new files to build, generate some more
2769         bindings and glue.
2770
2771         * include/NetworkManager.h: Define the system settings DBus interface.
2772
2773 2008-04-30  Tambet Ingo  <tambet@gmail.com>
2774
2775         Implement additional C API for exported connections to make them identical
2776         with the DBus API. Change the (list_connections) virtual function to be
2777         more usable from C - instead of requiring implementers to return a GPtrArray
2778         of dbus paths, return a list of connections.
2779
2780         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
2781         (nm_settings_list_connections):
2782         (nm_exported_connection_new):
2783         (nm_exported_connection_update):
2784         (nm_exported_connection_delete): Implement.
2785
2786         (impl_settings_list_connections):
2787         (impl_exported_connection_update):
2788         (impl_exported_connection_delete): Use the new public functions to make 
2789         sure the C and dbus interfaces stay in sync.
2790
2791         * system-settings/src/dbus-settings.c (list_connections): Return a list of
2792         connections.
2793
2794 2008-05-02  Dan Williams  <dcbw@redhat.com>
2795
2796         * system-settings/plugins/ifcfg-fedora/plugin.c
2797                 - (dispose): use right unref call on the DBusGConnection
2798
2799 2008-05-02  Dan Williams  <dcbw@redhat.com>
2800
2801         * src/nm-serial-device.c
2802                 - (find_terminator): don't compare the whole line, just the size of the
2803                         terminator, since some modems put stuff after the terminator, like
2804                         "CONNECT 9600"
2805
2806 2008-05-01  Dan Williams  <dcbw@redhat.com>
2807
2808         Patch from Michael Biebl <biebl@debian.org>
2809
2810         * callouts/Makefile.am
2811           callouts/org.freedesktop.nm_dispatcher.service.in
2812           system-settings/src/Makefile.am
2813           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
2814                 - use the right install location for dbus-activated stuff
2815
2816 2008-04-30  Dan Williams  <dcbw@redhat.com>
2817
2818         * src/nm-gsm-device.c
2819                 - (enter_pin): fix setting name passed to applets when asking for a GSM
2820                         PIN or PUK
2821
2822 2008-04-30  Dan Williams  <dcbw@redhat.com>
2823
2824         * src/nm-manager.c
2825                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
2826
2827 2008-04-30  Dan Williams  <dcbw@redhat.com>
2828
2829         * src/nm-device-802-3-ethernet.c
2830           src/nm-device-802-11-wireless.c
2831                 - (real_is_up): return true instead of chaining up to unimplemented
2832                         parent method
2833
2834 2008-04-30  Dan Williams  <dcbw@redhat.com>
2835
2836         * src/NetworkManagerSystem.c
2837           src/NetworkManagerSystem.h
2838                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
2839                         functions to check device flags for IFF_UP
2840
2841         * src/nm-serial-device.c
2842                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
2843                         implement is_up
2844
2845         * src/nm-device-802-3-ethernet.c
2846           src/nm-device-802-11-wireless.c
2847                 - (real_hw_is_up): call nm_system_device_is_up()
2848
2849         * src/nm-device.c
2850                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
2851                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
2852                         does not implement
2853
2854 2008-04-29  Dan Williams  <dcbw@redhat.com>
2855
2856         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
2857
2858         * marshallers/nm-marshal.list
2859                 - Add marshaller
2860
2861         * src/NetworkManager.c
2862                 - (main): let the NMManager handle the NMHalManager
2863
2864         * src/nm-hal-manager.c
2865           src/nm-hal-manager.h
2866                 - convert to a GObject, and emit singals when stuff changes.  Let the
2867                         NMManager handle the signals, instead of the NMHalManager calling
2868                         into the NMManager.  
2869
2870         * src/nm-manager.c
2871           src/nm-manager.h
2872                 - (remove_one_device): consolidate device removals here
2873                 - (dispose): use remove_one_device()
2874                 - (nm_manager_get_device_by_udi): make static
2875                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
2876                         manager for devices at startup or wakeup time
2877                 - (nm_manager_new): create and monitor the HAL manager
2878                 - (hal_manager_udi_added_cb): new function; do what
2879                         nm_manager_add_device() used to do when signalled by the hal manager
2880                 - (hal_manager_udi_removed_cb): new function; do what
2881                         nm_manager_remove_device() used to do when signalled by the hal
2882                         manager
2883                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
2884                         hal manager
2885                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
2886                         in our device list that aren't known to HAL
2887                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
2888                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
2889                         commits ago
2890                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
2891                    nm_manager_activation_pending, nm_manager_wireless_enabled,
2892                    nm_manager_wireless_hardware_enabled,
2893                    nm_manager_set_wireless_hardware_enabled): remove, unused
2894
2895 2008-04-28  Dan Williams  <dcbw@redhat.com>
2896
2897         Fix the device up/down ambiguities.  Up/down state used to be a
2898         conglomeration of hardware state (IFF_UP) and any device-specific things
2899         (supplicant, periodic timers, etc) that the device used to indicate
2900         readiness.  Unfortunately, if the hardware was already IFF_UP for some
2901         reason, then the device specific stuff wouldn't get run, and the device
2902         would be stuck.
2903
2904         * src/nm-device.c
2905           src/nm-device.h
2906                 - Create hw_is_up, hw_bring_up, and hw_take_down
2907                 - Rename bring_down -> take_down
2908                 - (real_hw_is_up): check interface flags for IFF_UP
2909                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
2910                 - (nm_device_is_up): make static; only used locally
2911                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
2912                         if the device is already up; if the device isn't up, bring it up
2913                 - (nm_device_hw_take_down): just take down hardware
2914                 - (nm_device_bring_up): bring up HW first, then device specific stuff
2915                 - (nm_device_take_down): always deactivate device when called; always
2916                         try to take hardware down too
2917                 - (nm_device_state_changed): take device down when entering unmanaged
2918                         state from a higher state
2919
2920         * src/nm-device-802-11-wireless.c
2921                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
2922                         check IFF_UP really
2923                 - (real_take_down, supplicant_iface_state_cb_handler, 
2924                    supplicant_iface_connection_state_cb_handler,
2925                    supplicant_mgr_state_cb_handler): fix some messages
2926
2927         * src/nm-device-802-3-ethernet.c
2928                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
2929                         check IFF_UP really
2930
2931 2008-04-28  Dan Williams  <dcbw@redhat.com>
2932
2933         * src/nm-manager.c
2934           src/nm-manager.h
2935                 - (nm_manager_error_get_type): add new error
2936                 - (nm_manager_remove_device): don't bother taking down the device here,
2937                         the state change from unmanaging the device will do it
2938                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
2939                         uses it; when going to sleep, just unmanage the device instead of
2940                         taking it down, because stuff will cleaned up correctly when the
2941                         device gets unmanaged
2942
2943 2008-04-28  Dan Williams  <dcbw@redhat.com>
2944
2945         * src/nm-hal-manager.c
2946                 - (add_initial_devices): convert to a GSourceFunc prototype
2947                 - (nm_manager_state_changed): when coming out of sleep, punt the
2948                         device re-addition to an idle handler to let D-Bus events go out
2949                         first, fixing a potential dbus-glib assert if the old device was
2950                         not yet disposed (due to references held while emitting the D-Bus
2951                         signals) but the new device was found, because the mainloop didn't
2952                         run between signal emission and add_initial_devices()
2953
2954 2008-04-27  Dan Williams  <dcbw@redhat.com>
2955
2956         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2957
2958         * initscript/paldo/NetworkManager.in
2959           initscript/SUSE/networkmanager.in
2960                 - Remove last bits of dhcdbd
2961
2962 2008-04-27  Dan Williams  <dcbw@redhat.com>
2963
2964         * src/nm-device-802-11-wireless.c
2965                 - (link_timeout_cb): don't ask for secrets when disconnected during
2966                         association/authentication phase, drivers are still just too crappy
2967
2968 2008-04-27  Dan Williams  <dcbw@redhat.com>
2969
2970         * Makefile.am
2971           configure.in
2972           dispatcher-daemon/Makefile.am
2973           dispatcher-daemon/NetworkManagerDispatcher.c
2974           initscript/Arch/Makefile.am
2975           initscript/Arch/networkmanager-dispatcher.in
2976           initscript/Gentoo/Makefile.am
2977           initscript/Gentoo/NetworkManagerDispatcher.in
2978           initscript/Mandriva/Makefile.am
2979           initscript/Mandriva/networkmanagerdispatcher.in
2980           initscript/RedHat/Makefile.am
2981           initscript/RedHat/NetworkManagerDispatcher.in
2982           initscript/SUSE/Makefile.am
2983           initscript/SUSE/networkmanager-dispatcher.in
2984           initscript/Slackware/Makefile.am
2985           initscript/Slackware/rc.networkmanager-dispatcher.in
2986           initscript/paldo/Makefile.am
2987           initscript/paldo/NetworkManagerDispatcher.in
2988           man/Makefile.am
2989           man/NetworkManagerDispatcher.8.in
2990                 - Remove the dispatcher daemon
2991
2992 2008-04-27  Dan Williams  <dcbw@redhat.com>
2993
2994         * callouts/Makefile.am
2995           callouts/nm-dispatcher-action.c
2996           callouts/nm-dispatcher-action.h
2997           callouts/nm-dispatcher.conf
2998           callouts/nm-dispatcher.xml
2999           callouts/org.freedesktop.nm_dispatcher.service
3000                 - Re-implement the dispatcher as a system-bus activated service that
3001                         NM calls on-demand, rather than an always running daemon
3002
3003         * src/Makefile.am
3004                 - Add callouts dir to includes to pick up dispatcher defines
3005
3006         * src/nm-device.c
3007                 - (nm_device_state_changed): call dispatcher on device activated/
3008                         deactivated
3009
3010         * src/vpn-manager/nm-vpn-connection.c
3011                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
3012                         go up and down
3013
3014         * src/NetworkManagerUtils.c
3015           src/NetworkManagerUtils.h
3016                 - (nm_utils_call_dispatcher): helper to call dispatcher
3017
3018 2008-04-27  Dan Williams  <dcbw@redhat.com>
3019
3020         * src/NetworkManagerUtils.c
3021           src/NetworkManagerUtils.h
3022                 - remove unneeded includes
3023                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
3024                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
3025                    nm_timeval_cmp, nm_timeval_add): remove, unused
3026                 - clean up formatting
3027                 - (nm_spawn_process): de-uglify
3028
3029         * src/nm-device-802-11-wireless.c
3030                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
3031
3032 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
3033
3034         * initscript/Gentoo/NetworkManager.in:
3035                 Fix for starting the daemon.
3036
3037 2008-04-25  Dan Williams  <dcbw@redhat.com>
3038
3039         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3040
3041         * src/NetworkManagerSystem.c
3042                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
3043
3044 2008-04-25  Dan Williams  <dcbw@redhat.com>
3045
3046         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3047
3048         * src/NetworkManagerSystem.c
3049                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
3050                         implementation of nm_system_device_replace_default_route()
3051
3052         * src/NetworkManagerPolicy.c
3053                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
3054
3055         * src/backends/NetworkManagerArch.c
3056           src/backends/NetworkManagerDebian.c
3057           src/backends/NetworkManagerFrugalware.c
3058           src/backends/NetworkManagerGeneric.c
3059           src/backends/NetworkManagerGeneric.h
3060           src/backends/NetworkManagerGentoo.c
3061           src/backends/NetworkManagerMandriva.c
3062           src/backends/NetworkManagerPaldo.c
3063           src/backends/NetworkManagerRedHat.c
3064           src/backends/NetworkManagerSlackware.c
3065           src/backends/NetworkManagerSuSE.c
3066                 - (nm_system_device_replace_default_route): remove
3067
3068 2008-04-25  Dan Williams  <dcbw@redhat.com>
3069
3070         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3071
3072         * src/NetworkManagerSystem.c
3073                 - (validate_ip4_route): remove; use nl_addr_parse() instead
3074                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
3075                         replace nm_system_device_add_route_via_device_with_iface() in the
3076                         backends
3077
3078         * src/backends/NetworkManagerArch.c
3079           src/backends/NetworkManagerDebian.c
3080           src/backends/NetworkManagerFrugalware.c
3081           src/backends/NetworkManagerGeneric.c
3082           src/backends/NetworkManagerGeneric.h
3083           src/backends/NetworkManagerGentoo.c
3084           src/backends/NetworkManagerMandriva.c
3085           src/backends/NetworkManagerPaldo.c
3086           src/backends/NetworkManagerRedHat.c
3087           src/backends/NetworkManagerSlackware.c
3088           src/backends/NetworkManagerSuSE.c
3089                 - Remove nm_system_device_add_route_via_device_with_iface()
3090
3091 2008-04-25  Dan Williams  <dcbw@redhat.com>
3092
3093         * system-settings/plugins/ifcfg-fedora/parser.c
3094                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
3095
3096 2008-04-24  Dan Williams  <dcbw@redhat.com>
3097
3098         * dispatcher-daemon/NetworkManagerDispatcher.c
3099                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
3100
3101 2008-04-24  Dan Williams  <dcbw@redhat.com>
3102
3103         * initscript/RedHat/NetworkManager.in
3104           initscript/RedHat/NetworkManagerDispatcher.in
3105                 - Be active at runlevel 2
3106                 - Adjust priorities earlier
3107
3108 2008-04-22  Dan Williams  <dcbw@redhat.com>
3109
3110         * src/NetworkManagerPolicy.c
3111                 - (update_routing_and_dns): when checking for a gateway, look at the
3112                         composite IP4 config, not the connection's ip4-config setting, which
3113                         doesn't include DHCP-returned information
3114
3115 2008-04-22  Tambet Ingo  <tambet@gmail.com>
3116
3117         Implement GKeyFile system settings plugin.
3118         Implement writing system settings (currently supported only by GKeyFile plugin).
3119
3120         * system-settings/src/main.c: 
3121         * system-settings/src/dbus-settings.c: Move the communication with plugins
3122         from main.c to dbus-settings.c. Makes it possible to talk to all registered
3123         plugins for adding/updating/removing connections.
3124
3125         * system-settings/src/nm-system-config-interface.c
3126         (nm_system_config_interface_add_connection): Implement
3127         (nm_system_config_interface_update_connection): Implement.
3128         (nm_system_config_interface_remove_connection): Implement.
3129
3130         * system-settings/plugins/keyfile/Makefile.am:
3131         * system-settings/plugins/keyfile/plugin.[ch]:
3132         * system-settings/plugins/keyfile/writer.[ch]:
3133         * system-settings/plugins/keyfile/reader.[ch]: Implement.
3134
3135         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
3136
3137         * configure.in: Generate GKeyFile Makefile.
3138
3139         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
3140         corruption, need to duplicate the returned string.
3141         (impl_exported_connection_update): Implement.
3142         (impl_exported_connection_delete): Implement.
3143
3144         * introspection/nm-settings-system.xml: Add "AddConnection" method.
3145
3146         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
3147
3148 2008-04-22  Dan Williams  <dcbw@redhat.com>
3149
3150         Patch from Charles R. Anderson (cra@wpi.edu)
3151
3152         * src/NetworkManagerPolicy.c
3153                 - (update_routing_and_dns): don't select devices without a gateway
3154                         as having the default route (rh #437338)
3155
3156 2008-04-21  Dan Williams  <dcbw@redhat.com>
3157
3158         * src/nm-activation-request.c
3159           src/nm-activation-request.h
3160                 - (dispose): ensure to disconnect from the device's state-changed signal
3161                         when appropriate so the signal doesn't get handled by an already
3162                         disposed NMActRequest
3163                 - (device_state_changed): update is_default here too just to make sure
3164                         default is only True when the child device is activated
3165                 - (nm_act_request_set_default): new function
3166
3167         * src/NetworkManagerPolicy.c
3168                 - (update_routing_and_dns): set 'default' on the active connection which
3169                         has the default route and DNS
3170
3171 2008-04-21  Dan Williams  <dcbw@redhat.com>
3172
3173         * src/NetworkManagerPolicy.c
3174                 - (device_state_changed): update routing and DNS when a device goes
3175                         into unmanaged or unavailable states too (like rfkill or carrier loss)
3176
3177 2008-04-21  Dan Williams  <dcbw@redhat.com>
3178
3179         * include/NetworkManager.h
3180                 - Add NMActiveConnectionState enum
3181
3182         * introspection/nm-active-connection.xml
3183           introspection/nm-vpn-connection.xml
3184                 - Add 'State' property for overall active connection state
3185                 - Add 'Default' property, when True means this active connection
3186                         has the default route
3187                 - Add PropertyChanged signals so changes actually go out over the bus
3188
3189         * src/nm-active-connection.h
3190                 - Add defines for State & Default properties
3191
3192         * src/nm-activation-request.c
3193                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
3194                         signal to determine active connection state
3195
3196         * src/vpn-manager/nm-vpn-connection.c
3197           src/vpn-manager/nm-vpn-connection.h
3198           src/vpn-manager/nm-vpn-manager.c
3199           src/vpn-manager/nm-vpn-service.c
3200                 - Rename old 'state' to 'vpn-state'
3201                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
3202                 - Add 'state' and 'default' properties, hook up to the vpn connection's
3203                         'vpn-state-changed' signal
3204
3205         * libnm-glib/nm-active-connection.c
3206           libnm-glib/nm-active-connection.h
3207                 - Add new 'state' and 'default' properties and accessors
3208
3209         * libnm-glib/nm-vpn-connection.c
3210           libnm-glib/nm-vpn-connection.h
3211                 - Rename old 'state' property to 'vpn-state'
3212                 - Add new 'state' and 'default' properties and accessors
3213
3214 2008-04-21  Dan Williams  <dcbw@redhat.com>
3215
3216         * src/nm-ip4-config.c
3217                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
3218                         not specified (rh #443474)
3219
3220 2008-04-20  Dan Williams  <dcbw@redhat.com>
3221
3222         * src/NetworkManagerUtils.c
3223           src/NetworkManagerUtils.h
3224                 - (nm_utils_merge_ip4_config): new function; merge settings from an
3225                         NMSettingIP4Config to an NMIP4Config object
3226
3227         * src/nm-device.c
3228                 - (merge_ip4_config): move to NetworkManagerUtils.c
3229
3230         * src/vpn-manager/nm-vpn-connection.c
3231                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
3232                         too
3233
3234 2008-04-18  Dan Williams  <dcbw@redhat.com>
3235
3236         * libnm-util/nm-setting-ppp.c
3237           libnm-util/nm-setting-ppp.h
3238                 - Add 'no-vj-comp' option for TCP header compression
3239                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
3240                         uint32
3241
3242 2008-04-18  Dan Williams  <dcbw@redhat.com>
3243
3244         * libnm-util/nm-setting-ppp.c
3245           libnm-util/nm-setting-ppp.h
3246           src/ppp-manager/nm-ppp-manager.c
3247                 - Add 'refuse-pap' and 'refuse-mschapv2' options
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 'usepeerdns' option and always request DNS servers from
3255                         the PPP server; the connection chooses to use/override/ignore the
3256                         DNS servers returned from the PPP server
3257
3258 2008-04-18  Dan Williams  <dcbw@redhat.com>
3259
3260         * libnm-util/nm-setting-ppp.c
3261           libnm-util/nm-setting-ppp.h
3262           src/ppp-manager/nm-ppp-manager.c
3263                 - Remove the 'require-mppc' option, because pppd doesn't support it and
3264                         it seems to have been an erroneous addition to the PPTP plugin in
3265                         the first place (from which the ppp-manager is derived)
3266
3267 2008-04-17  Dan Williams  <dcbw@redhat.com>
3268
3269         * libnm-util/nm-setting-pppoe.c
3270                 - (verify): require a PPP setting too
3271
3272         * src/ppp-manager/nm-ppp-manager.c
3273                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
3274                         segfaulting
3275
3276 2008-04-17  Dan Williams  <dcbw@redhat.com>
3277
3278         * src/nm-device.c
3279                 - (nm_device_state_changed): do deactivation and and promotion to
3280                         unavailable here, so that the device gets cleaned up before the
3281                         manager runs and starts emitting signals; do the
3282                         FAILED->DISCONNECTED transition from an idle handler rather than
3283                         immediately to guard against recursion
3284                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
3285                         FAILED->DISCONNECTED handler if it's scheduled
3286
3287 2008-04-17  Dan Williams  <dcbw@redhat.com>
3288
3289         * src/nm-device-802-11-wireless.c
3290                 - (state_changed_cb): clear AP list when device transitions to
3291                         unavailable or unmanaged
3292                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
3293                         since this is already done in device_cleanup()
3294                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
3295                         isn't available or managed
3296                 - (device_cleanup): use remove_all_aps()
3297                 - (remove_all_aps): consolidate code removing all APs
3298
3299 2008-04-17  Dan Williams  <dcbw@redhat.com>
3300
3301         * src/nm-serial-device.c
3302           src/nm-serial-device.h
3303                 - (wait_for_reply_got_data): break input into lines, and search each
3304                         line for responses _and_ terminator strings; also make sure that
3305                         the read loop doesn't continue after the timeout is supposed to fire
3306                 - (nm_serial_device_wait_for_reply): take an array of terminators too
3307
3308         * src/nm-gsm-device.c
3309           src/nm-cdma-device.c
3310                 - Send terminators to nm_serial_device_wait_for_reply()
3311
3312 2008-04-16  Dan Williams  <dcbw@redhat.com>
3313
3314         Patch from 陈鑫 <znscnchen@gmail.com>
3315
3316         * src/ppp-manager/nm-pppd-plugin.c
3317                 - (get_credentials): return correct value for success; handle case where
3318                         pppd just does some checking but doesn't want a password
3319                 - (plugin_init): make CHAP work too
3320
3321 2008-04-16  Dan Williams  <dcbw@redhat.com>
3322
3323         Patch from 陈鑫 <znscnchen@gmail.com>
3324
3325         * src/ppp-manager/nm-ppp-manager.c
3326                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
3327
3328 2008-04-16  Dan Williams  <dcbw@redhat.com>
3329
3330         Patch from 陈鑫 <znscnchen@gmail.com>
3331
3332         * src/nm-device-802-3-ethernet.c
3333                 - (real_deactivate_quickly): clear the IP interface name on
3334                         deactivation, otherwise the wrong interface might get used later
3335                         for routing and IP management
3336
3337 2008-04-15  Dan Williams  <dcbw@redhat.com>
3338
3339         * libnm-glib/nm-device.c
3340                 - (get_product_and_vendor): handle serial devices correctly
3341                 - (nm_device_update_description): pass device to get_product_and_vendor()
3342
3343 2008-04-15  Dan Williams  <dcbw@redhat.com>
3344
3345         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3346
3347         * src/NetworkManagerSystem.h
3348           src/backends/NetworkManagerArch.c
3349           src/backends/NetworkManagerDebian.c
3350           src/backends/NetworkManagerFrugalware.c
3351           src/backends/NetworkManagerGeneric.c
3352           src/backends/NetworkManagerGeneric.h
3353           src/backends/NetworkManagerGentoo.c
3354           src/backends/NetworkManagerMandriva.c
3355           src/backends/NetworkManagerPaldo.c
3356           src/backends/NetworkManagerRedHat.c
3357           src/backends/NetworkManagerSlackware.c
3358           src/backends/NetworkManagerSuSE.c
3359           src/nm-device.c
3360                 - (nm_generic_device_add_ip6_link_address,
3361                    nm_system_device_add_ip6_link_address): remove
3362
3363 2008-04-15  Dan Williams  <dcbw@redhat.com>
3364
3365         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3366
3367         * src/backends/NetworkManagerArch.c
3368           src/backends/NetworkManagerDebian.c
3369           src/backends/NetworkManagerFrugalware.c
3370           src/backends/NetworkManagerGeneric.c
3371           src/backends/NetworkManagerGeneric.h
3372           src/backends/NetworkManagerGentoo.c
3373           src/backends/NetworkManagerMandriva.c
3374           src/backends/NetworkManagerPaldo.c
3375           src/backends/NetworkManagerRedHat.c
3376           src/backends/NetworkManagerSlackware.c
3377           src/backends/NetworkManagerSuSE.c
3378           src/NetworkManagerSystem.h
3379                 - flush_routes -> flush_ip4_routes
3380                 - flush_addresses -> flush_ip4_addresses
3381
3382         * src/NetworkManagerSystem.c
3383           src/nm-device.c
3384           src/vpn-manager/nm-vpn-connection.c
3385                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
3386
3387 2008-04-15  Dan Williams  <dcbw@redhat.com>
3388
3389         Remove exposure of wireless-tools mode types in the API.
3390
3391         * include/NetworkManager.h
3392                 - Define NM80211Mode enum
3393
3394         * introspection/generic-types.xml
3395                 - Describe NM_802_11_MODE enum
3396                 - Remove IW_MODE_* enum
3397
3398         * introspection/nm-access-point.xml
3399           libnm-glib/nm-access-point.c
3400           libnm-glib/nm-access-point.h
3401                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
3402
3403         * introspection/nm-device-802-11-wireless.xml
3404           libnm-glib/nm-device-802-11-wireless.c
3405           libnm-glib/nm-device-802-11-wireless.h
3406                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
3407
3408         * libnm-util/nm-setting-wireless.c
3409           src/NetworkManagerAP.c
3410           src/NetworkManagerAP.h
3411           src/nm-device-802-11-wireless.c
3412           src/nm-device-802-11-wireless.h
3413           test/nm-tool.c
3414                 - Use NM80211Mode not IW_MODE_*
3415
3416 2008-04-15  Dan Williams  <dcbw@redhat.com>
3417
3418         Enhance nm-online based on a patch from Bill Nottingham.
3419
3420         * test/nm-online.c
3421                 - Add a '-q' option
3422                 - Add help messages and option summary
3423                 - Add long-format options
3424                 - Add a '-x' option to exit if NM isn't running or isn't connecting
3425
3426 2008-04-15  Tambet Ingo  <tambet@gmail.com>
3427
3428         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
3429
3430         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
3431
3432 2008-04-15  Dan Williams  <dcbw@redhat.com>
3433
3434         * nm-setting-ip4-config.c
3435                 - (ip4_addresses_from_gvalue): handle NULL address array
3436
3437         * nm-setting-8021x.c
3438                 - (verify_tls, verify_ttls): warn on failed verification
3439
3440 2008-04-10  Dan Williams  <dcbw@redhat.com>
3441
3442         * src/nm-gsm-device.c
3443                 - (automatic_registration): accept "+CREG: 0,0"
3444                 - (automatic_registration_response): fail on "+CREG: 0,0"
3445
3446 2008-04-10  Tambet Ingo  <tambet@gmail.com>
3447
3448         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
3449
3450 2008-04-10  Tambet Ingo  <tambet@gmail.com>
3451
3452         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
3453         Make it compile again by commenting out broken code that at first didn't work and
3454         now didn't compile either.
3455
3456 2008-04-08  Dan Williams  <dcbw@redhat.com>
3457
3458         * libnm-glib/nm-object-cache.c
3459           libnm-glib/nm-settings.c
3460           src/dhcp-manager/nm-dhcp-manager.c
3461           system-settings/plugins/ifcfg-fedora/plugin.c
3462           system-settings/plugins/ifcfg-suse/plugin.c
3463           system-settings/src/nm-system-config-hal-manager.c
3464           libnm-util/nm-utils.c
3465                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
3466                         not threadsafe anyway
3467
3468 2008-04-08  Dan Williams  <dcbw@redhat.com>
3469
3470         * system-settings/src/main.c
3471                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
3472                         callbacks take a device type too
3473
3474 2008-04-08  Dan Williams  <dcbw@redhat.com>
3475
3476         The system settings service will now create a new default DHCP connection
3477         for wired devices that have no existing applicable connection.
3478
3479         * system-settings/src/nm-system-config-hal-manager.c
3480           system-settings/src/nm-system-config-hal-manager.h
3481                 - (nm_system_config_hal_manager_get_type_for_udi): new function
3482
3483         * system-settings/src/dbus-settings.c
3484           system-settings/src/dbus-settings.h
3485                 - (nm_sysconfig_settings_get_connections): new function
3486                 - (nm_sysconfig_settings_is_device_managed): new function
3487
3488         * system-settings/src/main.c
3489                 - (load_stuff): check for wired devices that need a default connection
3490                 - (get_details_for_udi): get interface and MAC address from HAL
3491                 - (add_default_dhcp_connection): add a default connection for a wired
3492                         device if needed
3493                 - (device_added_cb, device_removed_cb): do the right thing with
3494                         wired devices and their default connections on HAL device events
3495
3496 2008-04-07  Dan Williams  <dcbw@redhat.com>
3497
3498         * libnm-glib/nm-device.c
3499           libnm-glib/nm-device.h
3500                 - Proxy the 'managed' property
3501
3502 2008-04-07  Dan Williams  <dcbw@redhat.com>
3503
3504         * src/nm-gsm-device.c
3505           src/nm-cdma-device.c
3506                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
3507                         handler to transition to DISCONNECTED
3508
3509 2008-04-07  Dan Williams  <dcbw@redhat.com>
3510
3511         Patch from Bill Nottingham
3512
3513         * dispatcher-daemon/NetworkManagerDispatcher.c
3514                 - ignore backup/packaging crufy (rh #440143)
3515
3516 2008-04-07  Dan Williams  <dcbw@redhat.com>
3517
3518         * include/NetworkManager.h
3519                 - Remove the DOWN and CANCELLED device states
3520                 - Add UNMANAGED and UNAVAILABLE device states
3521                 - Document the device states
3522
3523         * introspection/nm-device.xml
3524           src/nm-device-interface.c
3525           src/nm-device-interface.h
3526                 - Add the 'managed' property
3527
3528         * test/nm-tool.c
3529                 - (detail_device): print out device state
3530
3531         * src/NetworkManagerSystem.h
3532           src/backends/NetworkManagerArch.c
3533           src/backends/NetworkManagerDebian.c
3534           src/backends/NetworkManagerFrugalware.c
3535           src/backends/NetworkManagerGentoo.c
3536           src/backends/NetworkManagerMandriva.c
3537           src/backends/NetworkManagerPaldo.c
3538           src/backends/NetworkManagerRedHat.c
3539           src/backends/NetworkManagerSlackware.c
3540           src/backends/NetworkManagerSuSE.c
3541                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
3542                    nm_system_device_free_system_config): remove; they were unused and
3543                         their functionality should be re-implemented in each distro's
3544                         system settings service plugin 
3545
3546         * src/nm-gsm-device.c
3547           src/nm-gsm-device.h
3548           src/nm-cdma-device.c
3549           src/nm-cdma-device.h
3550                 - (*_new): take the 'managed' argument
3551
3552         * src/nm-device.c
3553                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
3554                 - (nm_device_init): start in unmanaged state, not disconnected
3555                 - (constructor): don't start device until the system settings service
3556                         has had a chance to figure out if the device is managed or not
3557                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
3558                         don't set device state here, let callers handle that as appropriate
3559                 - (nm_device_dispose): don't touch the device if it's not managed
3560                 - (set_property, get_property, nm_device_class_init): implement the
3561                         'managed' property
3562                 - (nm_device_state_changed): bring the device up if its now managed,
3563                         and deactivate it if it used to be active
3564                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
3565                         with the managed state
3566
3567         * src/nm-hal-manager.c
3568                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
3569                         take initial managed state and pass it along to device constructors
3570                 - (create_device_and_add_to_list): get managed state and pass to
3571                         type creators
3572
3573         * src/nm-device-802-11-wireless.c
3574                 - (real_can_activate): fold in most of
3575                         nm_device_802_11_wireless_can_activate()
3576                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
3577                 - (link_timeout_cb): instead of deactivating, change device state and
3578                         let the device state handler to it
3579                 - (real_update_hw_address): clean up
3580                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
3581                         handler to transition to DISCONNECTED if the device isn't rfkilled
3582
3583         * src/nm-device-802-3-ethernet.c
3584                 - (set_carrier): move above callers and get rid of prototype
3585                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
3586                         idle handler to transition to DISCONNECTED if the device has a
3587                         carrier
3588                 - (real_update_hw_address): clean up
3589                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
3590                         deactivation directly as deactivation doesn't change state anymore
3591
3592         * src/NetworkManagerPolicy.c
3593                 - (schedule_activate_check): yay, remove wireless_enabled hack since
3594                         the NMManager and wireless devices work that out themselves now
3595                 - (device_state_changed): change to a switch and update for new device
3596                         states
3597                 - (device_carrier_changed): remove; device handles this now through
3598                         state changes
3599                 - (device_added): don't care about carrier any more; the initial
3600                         activation check will happen when the device transitions to
3601                         DISCONNECTED
3602
3603         * src/nm-manager.c
3604                 - (dispose): clear unmanaged devices
3605                 - (handle_unmanaged_devices): update unmanaged device list and toggle
3606                         the managed property on each device when needed
3607                 - (system_settings_properties_changed_cb): handle signals from the
3608                         system settings service
3609                 - (system_settings_get_unmanaged_devices_cb): handle callback from
3610                         getting the unmanaged device list method call
3611                 - (query_unmanaged_devices): ask the system settings service for its
3612                         list of unmanaged devices
3613                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
3614                         devices
3615                 - (manager_set_wireless_enabled): push rfkill state down to wireless
3616                         devices directly and let them handle the necessary state transitions
3617                 - (manager_device_state_changed): update for new device states
3618                 - (nm_manager_add_device): set initial rfkill state on wireless devices
3619                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
3620                 - (nm_manager_activate_connection): return error if the device is
3621                         unmanaged
3622                 - (nm_manager_sleep): handle new device states correctly; don't change
3623                         the state of unavailable/unmanaged devices
3624
3625         * libnm-glib/nm-device-802-11-wireless.c
3626                 - (state_changed_cb): update for new device states
3627
3628 2008-04-07  Dan Williams  <dcbw@redhat.com>
3629
3630         * marshallers/nm-marshal.list
3631                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
3632
3633 2008-04-07  Dan Williams  <dcbw@redhat.com>
3634
3635         * system-settings/src/main.c
3636                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
3637                         plugins to the dbus settings object
3638                 - (load_stuff): start the dbus service after grabbing unmanaged devices
3639                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
3640                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
3641                 - (main): switch default logging to syslog with a 'debug' option to
3642                         output to console; start up the HAL manager
3643
3644 2008-04-07  Dan Williams  <dcbw@redhat.com>
3645
3646         * introspection/nm-settings-system.xml
3647           introspection/Makefile.am
3648                 - Define the unmanaged devices interface for the system settings service
3649
3650         * system-settings/src/nm-system-config-hal-manager.c
3651           system-settings/src/nm-system-config-hal-manager.h
3652           system-settings/src/nm-system-config-hal-manager-private.h
3653           system-settings/src/Makefile.am
3654                 - Add a lightweight HAL manager object for tracking network devices for
3655                         the purpose of determining unmanaged devices and which devices need
3656                         the default DHCP connections
3657
3658         * system-settings/src/nm-system-config-interface.c
3659           system-settings/src/nm-system-config-interface.h
3660                 - (nm_system_config_interface_init): add the HAL manager as an argument
3661                 - (nm_system_config_interface_get_unmanaged_devices): implement
3662                 - Define 'unmanaged-devices-changed' signal
3663
3664         * system-settings/src/dbus-settings.c
3665           system-settings/src/dbus-settings.h
3666                 - Implement the unmanaged devices interface; some cleanups
3667
3668         * system-settings/plugins/ifcfg-suse/plugin.c
3669                 - Fixup for plugin interface changes
3670
3671         * system-settings/plugins/ifcfg-fedora/plugin.c
3672                 - (get_ether_device_udi): new function; find the device that has
3673                         a specified MAC address and return its UDI
3674                 - (get_udi_for_connection): new function; try to find the specific
3675                         device a connection is locked to, if any
3676                 - (device_added_cb, device_removed_cb): update unmanaged device list in
3677                         response to HAL events
3678                 - (get_unmanaged_devices): new function; return unmanaged device list
3679                 - (build_one_connection): set the connection's locked device, if any
3680                 - (write_auto_wired_connection): remove
3681                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
3682                 - (handle_connection_changed): alert listeners that the unmanaged device
3683                         list has changed
3684                 - (init): fixup for plugin interface changes, implement unmanaged devices
3685
3686         * system-settings/plugins/ifcfg-fedora/parser.c
3687           system-settings/plugins/ifcfg-fedora/parser.h
3688                 - (connection_data_free): clean up connection UDI
3689
3690 2008-04-07  Dan Williams  <dcbw@redhat.com>
3691
3692         * system-settings/plugins/ifcfg-fedora/parser.c
3693                 - (make_ip4_setting): fix parsing of DNS servers
3694
3695 2008-04-05  Dan Williams  <dcbw@redhat.com>
3696
3697         * Makefile.am
3698           configure.in
3699           marshallers/Makefile.am
3700           marshallers/nm-marshal-main.c
3701           marshallers/nm-marshal.list
3702                 - Consolidate marshallers
3703
3704         * libnm-glib/nm-marshal-main.c
3705           libnm-glib/nm-marshal.list
3706           src/marshallers/Makefile.am
3707           src/marshallers/nm-marshal-main.c
3708           src/marshallers/nm-marshal.list
3709                 - Remove
3710
3711         * libnm-glib/Makefile.am
3712           src/Makefile.am
3713           src/dhcp-manager/Makefile.am
3714           src/ppp-manager/Makefile.am
3715           src/supplicant-manager/Makefile.am
3716           src/vpn-manager/Makefile.am
3717                 - Use consolidated marshallers
3718
3719 2008-04-04  Dan Williams  <dcbw@redhat.com>
3720
3721         * src/nm-hal-manager.c
3722           src/nm-hal-manager.h
3723                 - (hal_init): don't look for hardware here
3724                 - (nm_hal_manager_start): new function; look for hardware here instead,
3725                         which can be done at a later time than hal_init()
3726
3727         * src/NetworkManager.c
3728                 - (main): start HAL manager after entering the main loop
3729
3730 2008-04-03  Dan Williams  <dcbw@redhat.com>
3731
3732         * libnm-glib/nm-settings.c
3733           libnm-glib/nm-settings.h
3734             - (nm_exported_connection_get_id): new function
3735                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
3736
3737 2008-04-02  Dan Williams  <dcbw@redhat.com>
3738
3739         * src/nm-device-interface.c
3740           src/nm-device-interface.h
3741           src/nm-device.c
3742           src/nm-device.h
3743                 - Rename check_connection_conflicts() to check_connection_compatible()
3744
3745         * src/nm-device-802-11-wireless.c
3746                 - (real_check_connection_conflicts): remove
3747                 - (real_check_connection_compatible): implement; match MAC address
3748
3749         * src/nm-device-802-3-ethernet.c
3750                 - (real_check_connection_conflicts): remove
3751                 - (real_check_connection_compatible): implement; match MAC address
3752                 - (real_get_best_auto_connection): correctly handle PPPoE cases
3753
3754         * src/nm-manager.c
3755                 - (check_connection_allowed): remove; unused until PolicyKit integration
3756                 - (internal_activate_device): check whether the connection is compatible
3757                         with the device before trying to activate it
3758
3759 2008-04-02  Dan Williams  <dcbw@redhat.com>
3760
3761         * system-settings/plugins/ifcfg-fedora/parser.c
3762                 - (read_mac_address): new function; read in MAC address and stuff it
3763                         into the connection
3764                 - (add_one_wep_key): remove debug spew
3765                 - (make_wireless_security_setting): validate the default TX key; don't
3766                         add the wireless-security setting if the connection doesn't need
3767                         security; don't leak the keys shvarFile on error cases
3768                 - (make_wireless_setting, make_wired_setting): populate device's MAC
3769                         address
3770
3771 2008-04-02  Dan Williams  <dcbw@redhat.com>
3772
3773         * libnm-util/nm-setting-connection.c
3774           libnm-util/nm-setting-connection.h
3775                 - (set_property, get_property, nm_setting_connection_class_init): remove
3776                         the 'lockdown' property; it's functionality will be replaced by
3777                         PolicyKit instead
3778
3779 2008-04-01  Dan Williams  <dcbw@redhat.com>
3780
3781         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
3782
3783         * configure.in
3784           initscript/Makefile.am
3785           initscript/Mandriva/Makefile.am
3786           initscript/Mandriva/networkmanager.in
3787           initscript/Mandriva/networkmanagerdispatcher.in
3788           src/backends/Makefile.am
3789           src/backends/NetworkManagerMandriva.c
3790           system-settings/plugins/Makefile.am
3791                 - Add Mandriva support
3792
3793 2008-03-31  Dan Williams  <dcbw@redhat.com>
3794
3795         * src/vpn-manager/nm-vpn-service.c
3796                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
3797                         errors can be passed back to the caller; also no longer scheduled
3798                         as an idle handler, but called directly; and bump up VPN service
3799                         spawn timeout, 2s is really short
3800                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
3801                         but call it directly so that errors are reported on return from
3802                         ActivateConnection() and don't get lost.  If scheduled as an idle
3803                         handler, clients don't have the time to query NM for the new VPN
3804                         connection's properties before the VPN connection is torn down again
3805                         if the service couldn't be launched, and therefore launch errors
3806                         get lost.
3807
3808 2008-03-31  Dan Williams  <dcbw@redhat.com>
3809
3810         * src/vpn-manager/nm-vpn-connection.c
3811                 - (device_state_changed): send correct state on device failure too
3812                 - (plugin_state_changed): failed state means unexpected disconnection,
3813                         thus if the service goes away while the VPN connection is activated
3814                         that's a failure too
3815
3816 2008-03-31  Dan Williams  <dcbw@redhat.com>
3817
3818         * src/vpn-manager/nm-vpn-manager.c
3819           src/vpn-manager/nm-vpn-manager.h
3820                 - Make VPNManager errors more available; add a service-start-failed error
3821
3822 2008-03-31  Dan Williams  <dcbw@redhat.com>
3823
3824         * libnm-glib/nm-client.c
3825           libnm-glib/nm-client.h
3826                 - (activate_cb): pass the new active connection to callback; fix
3827                         message when no callback is specified
3828
3829 2008-03-30  Dan Williams  <dcbw@redhat.com>
3830
3831         * libnm-util/nm-setting-wireless-security.c
3832                 - (need_secrets): only require key0 if the transmit key index is also
3833                         0
3834                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
3835
3836 2008-03-29  Dan Williams  <dcbw@redhat.com>
3837
3838         * libnm-util/nm-setting-8021x.c
3839           libnm-util/nm-setting-ip4-config.c
3840           libnm-util/nm-setting-vpn-properties.c
3841           libnm-util/nm-setting-vpn.c
3842           libnm-util/nm-setting-wireless-security.c
3843           libnm-util/nm-setting-wireless.c
3844           libnm-util/nm-utils.c
3845           src/dhcp-manager/nm-dhcp-manager.c
3846           src/nm-activation-request.c
3847           src/nm-ip4-config.c
3848           src/nm-manager.c
3849           src/nm-properties-changed-signal.c
3850           src/ppp-manager/nm-pppd-plugin.c
3851           src/supplicant-manager/nm-supplicant-interface.c
3852           src/vpn-manager/nm-vpn-connection.c
3853                 - consistently use nm-dbus-glib-types.h
3854
3855 2008-03-29  Dan Williams  <dcbw@redhat.com>
3856
3857         * src/vpn-manager/nm-vpn-connection.c
3858                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
3859                         not string
3860
3861         * src/nm-activation-request.c
3862                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
3863                         not string
3864
3865 2008-03-29  Dan Williams  <dcbw@redhat.com>
3866
3867         * libnm-glib/nm-device-802-11-wireless.c
3868                 - (access_point_added_proxy): create new APs if not found
3869
3870 2008-03-29  Dan Williams  <dcbw@redhat.com>
3871
3872         * libnm-glib/nm-client.c
3873                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
3874                         before freeing them
3875
3876 2008-03-29  Dan Williams  <dcbw@redhat.com>
3877
3878         * system-settings/plugins/ifcfg-fedora/parser.c
3879                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
3880                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
3881
3882 2008-03-29  Dan Williams  <dcbw@redhat.com>
3883
3884         * system-settings/plugins/ifcfg-fedora/parser.c
3885                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
3886
3887 2008-03-27  Dan Williams  <dcbw@redhat.com>
3888
3889         * nm-object.c
3890                 - (nm_object_queue_notify): don't notify multiple times for the same
3891                         property
3892
3893         * nm-object-private.h
3894                 - (handle_ptr_array_return): return NULL if the given array is NULL or
3895                         if it has zero elements
3896
3897         * nm-ip4-config.c
3898                 - (finalize): use g_ptr_array_foreach() when freeing domains
3899                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
3900
3901         * nm-active-connection.c
3902                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
3903
3904         * nm-device-802-11-wireless.c
3905           nm-device-802-11-wireless.h
3906                 - (nm_device_802_11_wireless_get_access_points): return const; use
3907                         handle_ptr_array_return()
3908
3909         * nm-types.c
3910                 - (nm_object_array_demarshal): always create an array, even of length
3911                         zero, to distinguish between "NM returned no items" and "haven't
3912                         asked NM yet"
3913
3914         * nm-client.c
3915                 - (dispose): free active connections too
3916                 - (proxy_name_owner_changed): free active connections too when NM goes
3917                         away
3918                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
3919                 - (nm_client_get_active_connections): use handle_ptr_array_return()
3920
3921 2008-03-26  Dan Williams  <dcbw@redhat.com>
3922
3923         Rework VPN connection handling for a more consistent D-Bus API.  The
3924         VPNManager object has been removed, and active VPN connections are now the
3925         same as any other active connection.  The Manager object's ActivateConnection
3926         and DeactivateConnection methods are used to start and stop a VPN connection,
3927         and the VPNConnection objects are subclasses of the ActiveConnection objects.
3928         When activating a VPN connection, pass the path of the active connection
3929         to which the VPN connection is tied in the 'specific_object' argument.
3930
3931         Consequently, the libnm-glib API has been reworked to match this arrangement,
3932         with the VPNManager object removed, and the NMVPNConnection objects now
3933         being subclasses of NMActiveConnection.
3934
3935 2008-03-25  Dan Williams  <dcbw@redhat.com>
3936
3937         Patch from Björn Martensen <bjoern.martensen@gmail.com>
3938
3939         * initscript/Arch/networkmanager.in
3940           initscript/Arch/networkmanager-dispatcher.in
3941                 - Updates for Arch Linux (gnome.org #523701)
3942
3943 2008-03-25  Dan Williams  <dcbw@redhat.com>
3944
3945         * libnm-glib/nm-ip4-config.c
3946           libnm-glib/nm-active-connection.c
3947           libnm-glib/nm-access-point.c
3948                 - Use nm_object_queue_notify() instead of g_object_notify()
3949
3950         * libnm-glib/nm-device.c
3951                 - (demarshal_ip4_config): distinguish between successful but missing
3952                         ip4-config request, and unsuccessful and missing ip4-config request
3953                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
3954                         path
3955                 - Use nm_object_queue_notify() instead of g_object_notify()
3956
3957         * libnm-glib/nm-device-802-11-wireless.c
3958                 - (demarshal_active_ap): distinguish between successfull but missing
3959                         active-ap request, and unsuccessful and missing active-ap request
3960                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
3961                         code
3962                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
3963                         for the NMClient to notify the device that wireless is disabled,
3964                         and therefore to clear the AP list and active AP
3965                 - Use nm_object_queue_notify() instead of g_object_notify()
3966
3967         * libnm-glib/nm-client.c
3968                 - (poke_wireless_devices_with_rf_status): new function
3969                 - (update_wireless_status): notify wireless devices of the rfkill status
3970                         so they can clean up if needed
3971                 - Use nm_object_queue_notify() instead of g_object_notify()
3972
3973 2008-03-25  Dan Williams  <dcbw@redhat.com>
3974
3975         * libnm-glib/nm-object.c
3976           libnm-glib/nm-object-private.h
3977                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
3978                         signals to an idle handler
3979                 - (nm_object_get_property): add a timeout to the D-Bus method call
3980
3981 2008-03-25  Dan Williams  <dcbw@redhat.com>
3982
3983         * introspection/nm-device-cdma.xml
3984           introspection/nm-device-gsm.xml
3985           introspection/Makefile.am
3986           introspection/all.xml
3987                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
3988
3989         * src/nm-gsm-device.h
3990           src/nm-gsm-device.c
3991           src/nm-cdma-device.h
3992           src/nm-cdma-device.c
3993           src/Makefile.am
3994                 - Implement PropertiesChanged signals
3995
3996         * libnm-glib/nm-cdma-device.c
3997           libnm-glib/nm-cdma-device.c
3998                 - Attach to PropertiesChanged signals
3999
4000 2008-03-24  Dan Williams  <dcbw@redhat.com>
4001
4002         * libnm-glib/nm-client.c
4003                 - (client_device_added_proxy): add new devices to the internal device
4004                         list so they appear to clients
4005
4006 2008-03-24  Dan Williams  <dcbw@redhat.com>
4007
4008         Massive fixup of libnm-glib to:
4009         a) have all objects (with the exception of VPN) cache their properties and
4010                 update them asynchronously on PropertiesChanged signals from NM
4011         b) return internal const data for most attributes/properties instead of
4012                 allocated values that the caller must free
4013         c) cache wrapped objects such that a given D-Bus path will always map to the
4014                 same GObject returned by libnm-glib
4015         d) remove a few signals and move them to GObject property notifications
4016         e) match recent NM D-Bus API changes for activation/deactivation
4017         f) remove some private functions from libnm-glib headers
4018
4019 2008-03-20  Dan Williams  <dcbw@redhat.com>
4020
4021         * src/nm-manager.c
4022                 - (nm_manager_update_state, manager_device_state_changed,
4023                    nm_manager_activate_device, connection_added_default_handler,
4024                    impl_manager_activate_connection, impl_manager_deactivate_connection):
4025                         queue PropertyChanged singals when the active connections change
4026
4027 2008-03-20  Dan Williams  <dcbw@redhat.com>
4028
4029         * introspection/nm-manager.xml
4030           introspection/nm-manager-client.xml
4031                 - (ActivateConnection): return the object path of the active connection
4032                         on success
4033                 - (GetActiveConnections): remove
4034                 - (DeactivateConnection): new function; deactivate a currently active
4035                         connection
4036                 - Add an ActiveConnections property which returns an array of
4037                         active connection object paths
4038
4039         * introspection/nm-device.xml
4040                 - (Deactivate): remove
4041
4042         * introspection/all.xml
4043                 - Add ActiveConnection introspection
4044
4045         * introspection/nm-active-connection.xml
4046                 - Add the ActiveConnection object
4047
4048         * include/NetworkManager.h
4049                 - Add the Connection.Active D-Bus interface
4050
4051         * src/nm-device-interface.c
4052                 - (impl_device_deactivate): remove
4053
4054         * src/nm-activation-request.c
4055           src/nm-activation-request.c
4056           src/Makefile.am
4057                 - Implement the Connection.Active D-Bus interface
4058
4059         * src/nm-manager.c
4060                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
4061                 - (nm_manager_activate_device): return the active connection path
4062                 - (connection_added_default_handler, impl_manager_activate_connection):
4063                         return the active connection to the caller
4064                 - (add_one_connection_element, impl_manager_get_active_connections):
4065                         remove
4066                 - (impl_manager_deactivate_connection): new function; deactivate an
4067                         active connection
4068
4069         * libnm-glib/nm-device.c
4070           libnm-glib/nm-device.h
4071                 - Remove Deactivate() function
4072
4073 2008-03-19  Dan Williams  <dcbw@redhat.com>
4074
4075         * introspection/nm-manager.xml
4076           introspection/nm-manager-client.xml
4077                 - Rename the ActivateDevice method to ActivateConnection to better
4078                         reflect it's usage; it's arguments get reordered a bit too
4079                 - Convert GetActiveConnections method return from a struct to a dict
4080
4081         * include/NetworkManager.h
4082                 - Define the dict keys for return value of GetActiveConnections
4083
4084         * src/nm-manager.c
4085                 - impl_manager_activate_device -> impl_manager_activate_connection
4086                 - (add_one_connection_element): return a populated hash table, not
4087                         a structure
4088
4089         * libnm-glib/nm-client.c
4090           libnm-glib/nm-client.h
4091                 - nm_client_activate_device -> nm_client_activate_connection
4092                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
4093                 - (nm_client_get_active_connections): return a GSList of GHashTables,
4094                         instead of the custom structures.  Each element of the returned list
4095                         must be freed with nm_client_free_active_connections_element()
4096
4097 2008-03-18  Dan Williams  <dcbw@redhat.com>
4098
4099         * system-settings/plugins/ifcfg-fedora/parser.c
4100           system-settings/plugins/ifcfg-fedora/parser.h
4101           system-settings/plugins/ifcfg-fedora/plugin.c
4102                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
4103                         profiles.  DNS servers and searches must now be stored in the ifcfg
4104                         files themselves
4105
4106 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4107
4108         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
4109         print out username and password, it's supposed to be a secret.
4110
4111         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
4112         request and set the device state accordingly.
4113
4114 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4115
4116         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
4117
4118         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
4119
4120 2008-03-18  Dan Williams  <dcbw@redhat.com>
4121
4122         * src/vpn-manager/nm-vpn-connection.c
4123                 - (get_secrets_cb): handle new GetSecrets return format
4124
4125 2008-03-18  Dan Williams  <dcbw@redhat.com>
4126
4127         Adapt system settings service for split 802.1x.
4128
4129         * system-settings/src/nm-system-config-interface.h
4130                 - clarify return value of get_secrets()
4131
4132         * system-settings/src/dbus-settings.c
4133                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
4134                 - (check_for_secrets): check if there actually secrets returned by a
4135                         plugin
4136                 - (exported_connection_get_secrets): just return the plugin-returned
4137                         hash of settings' secrets if it looks valid
4138
4139         * system-settings/plugins/ifcfg-fedora/plugin.c
4140                 - (get_secrets): add split secrets with correct format to reply hash
4141
4142         * system-settings/plugins/ifcfg-fedora/parser.c
4143           system-settings/plugins/ifcfg-fedora/parser.h
4144                 - (copy_one_cdata_secret, connection_data_copy_secrets,
4145                    connection_data_free, connection_data_add): keep secrets for
4146                         different settings in different hashes
4147
4148 2008-03-17  Tambet Ingo  <tambet@gmail.com>
4149
4150         Clean up activating device deactivation.
4151
4152         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
4153         should be done whether the device activation gets cancelled or the device
4154         is just getting deactivated.
4155         (nm_device_activation_cancel): Remove.
4156         (nm_device_deactivate_quickly): Handle the case where device is activating.
4157
4158         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
4159         It does the exact same thing as real_deactivate_quickly().
4160
4161 2008-03-17  Dan Williams  <dcbw@redhat.com>
4162
4163         Split the 802.1x bits out of the wireless-security setting so they are
4164         generalized enough for wired 802.1x to use too.
4165
4166         * introspection/nm-exported-connection.xml
4167                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
4168                         of just a hash of the secrets for one setting
4169
4170         * libnm-util/nm-setting-wireless-security.c
4171           libnm-util/nm-setting-wireless-security.h
4172                 - Remove 802.1x-specific stuff
4173                 - Added leap-username and leap-password properties for old-school LEAP
4174
4175         * src/nm-device.c
4176           src/nm-device.h
4177                 - (connection_secrets_updated_cb): take a list of updated settings names,
4178                         not just one
4179
4180         * src/supplicant-manager/nm-supplicant-config.c
4181           src/supplicant-manager/nm-supplicant-config.h
4182                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
4183                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
4184                         to nm_supplicant_config_add_setting_8021x()
4185                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
4186                         the supplicant config
4187
4188         * src/nm-device-802-11-wireless.c
4189                 - (build_supplicant_config): pass in the 802.1x setting too, if any
4190                 - (real_connection_secrets_updated): take a list of updated settings
4191                         names, not just one
4192
4193         * src/nm-device-802-3-ethernet.c
4194           src/nm-cdma-device.c
4195           src/nm-gsm-device.c
4196                 - (real_connection_secrets_updated_cb): take a list of updated settings
4197                         names, not just one
4198
4199         * src/nm-activation-request.c
4200           src/nm-activation-request.h
4201                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
4202                         now passes a list of updated settings names, not just one
4203                 - (update_one_setting): new function; handle one updated setting
4204                 - (get_secrets_cb): handle multiple settings returned from the
4205                         settings service; have to be careful of ordering here as there are
4206                         some dependencies between settings (ex. wireless-security and 802.1x
4207                         in some cases)
4208
4209         * src/marshallers/nm-marshal.list
4210                 - new marshaller for connection-secrets-updated signal
4211
4212         * libnm-util/nm-setting-8021x.c
4213                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
4214                         methods
4215                 - (verify): a valid 'eap' property is now required
4216
4217         * libnm-util/nm-connection.c
4218                 - (register_default_settings): add priorities to settings; there are
4219                         some dependencies between settings, and during the need_secrets
4220                         calls this priority needs to be respected.  For example, only the
4221                         wireless-security setting knows whether or not the connection is
4222                         going to use 802.1x or now, so it must be asked for secrets before
4223                         any existing 802.1x setting is
4224                 - (nm_connection_lookup_setting_type): expose
4225
4226         * libnm-util/nm-setting-wireless.c
4227                 - (verify): should verify even if all_settings is NULL; otherwise won't
4228                         catch the case where there is missing security
4229
4230         * libnm-util/nm-setting-wireless-security.c
4231                 - Remove everything to do with 802.1x
4232                 - Add old-school LEAP specific properties for username and password
4233                 - (need_secrets): rework LEAP secrets checking
4234                 - (verify): rework for LEAP and 802.1x verification
4235
4236 2008-03-17  Dan Williams  <dcbw@redhat.com>
4237
4238         * src/NetworkManagerPolicy.c
4239                 - (auto_activate_device): always remove the current activation check
4240                         from the pending activation list, otherwise when the policy gets
4241                         destroyed on NM exit it will attempt to free the already freed
4242                         activation check
4243
4244 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4245
4246         * src/backends/NetworkManagerSlackware.c 
4247         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
4248
4249         * src/backends/NetworkManagerSuSE.c: Add missing includes.
4250
4251 2008-03-14  Dan Williams  <dcbw@redhat.com>
4252
4253         * src/nm-manager.c
4254                 - (nm_device_interface_get_iface): g_object_get() will return an
4255                         allocated value, so this function must not return const
4256                 - (nm_device_interface_activate): free returned iface
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         * libnm-util/Makefile.am: Add new files to build.
4270
4271         * libnm-util/nm-connection.c: Register NMSetting8021x.
4272
4273         * libnm-util/nm-setting-8021x.c
4274         * libnm-util/nm-setting-8021x.h: Implement.
4275
4276 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4277
4278         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
4279         data.
4280
4281 2008-03-14  Dan Williams  <dcbw@redhat.com>
4282
4283         * include/wireless-helper.h
4284           include/Makefile.am
4285                 - One place for all the junk needed for #including wireless.h
4286
4287         * test/nm-tool.c
4288           src/NetworkManagerAP.c
4289           src/wpa.c
4290           src/Makefile.am
4291           libnm-util/nm-utils.c
4292           libnm-util/nm-setting-wireless.c
4293           libnm-glib/nm-device-802-11-wireless.c
4294           libnm-glib/nm-access-point.c
4295           libnm-glib/libnm-glib-test.c
4296                 - include wireless-helper.h, not iwlib.h
4297
4298         * configure.in
4299                 - Don't need libiw really, just need to check for wireless.h
4300
4301         * src/kernel-types.h
4302                 - Remove; used types moved into wpa.c
4303
4304         * src/nm-device-802-11-wireless.c
4305                 - (nm_device_802_11_wireless_update_signal_strength,
4306                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
4307                    nm_device_802_11_wireless_set_mode,
4308                    nm_device_802_11_wireless_get_frequency,
4309                    nm_device_802_11_wireless_get_ssid,
4310                    nm_device_802_11_wireless_set_ssid,
4311                    nm_device_802_11_wireless_get_bitrate,
4312                    nm_device_802_11_wireless_get_bssid,
4313                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
4314                         instead of iwlib functions
4315
4316 2008-03-14  Dan Williams  <dcbw@redhat.com>
4317
4318         * src/ppp-manager/nm-ppp-manager.c
4319                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
4320                         should only take the DBusGMethodInvocation argument, not user/pass
4321                         too.  With dbus-glib, async functions only take 2 C arguments since
4322                         the real dbus method arguments get passed back with
4323                         dbus_g_method_return()
4324
4325 2008-03-13  Tambet Ingo  <tambet@gmail.com>
4326
4327         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
4328         Adapt the changes of NMSettingIP4Config.
4329
4330 2008-03-13  Dan Williams  <dcbw@redhat.com>
4331
4332         * src/NetworkManagerUtils.c
4333           src/NetworkManagerUtils.h
4334                 - (nm_ether_ntop): replacement for iw_ether_ntop()
4335
4336         * src/NetworkManagerAP.c
4337           src/nm-device-802-11-wireless.c
4338           src/nm-device-802-3-ethernet.c
4339                 - s/iw_ether_ntop/nm_ether_ntop/g
4340
4341 2008-03-13  Dan Williams  <dcbw@redhat.com>
4342
4343         * src/NetworkManagerPolicy.c
4344                 - (update_routing_and_dns): never set the default route through an
4345                         IPv4LL addressed device
4346
4347 2008-03-13  Dan Williams  <dcbw@redhat.com>
4348
4349         * NetworkManagerUtils.c
4350           NetworkManagerUtils.h
4351                 - Remove NMSock stuff
4352                 - Remove the completion stuff
4353
4354         * nm-device.c
4355           nm-device.h
4356           NetworkManager.c
4357           NetworkManagerSystem.c
4358           autoip.c
4359           nm-device-802-11-wireless.c
4360           nm-device-802-3-ethernet.c
4361                 - Remove NMSock and completion stuff
4362                 - Remove nm_ioctl_info()
4363
4364 2008-03-12  Dan Williams  <dcbw@redhat.com>
4365
4366         * src/nm-device.c
4367                 - (merge_ip4_config): avoid duplicates
4368
4369 2008-03-12  Dan Williams  <dcbw@redhat.com>
4370
4371         * libnm-util/nm-setting-ip4-config.c
4372           libnm-util/nm-setting-ip4-config.h
4373                 - Remove 'manual' and 'autoip' properties
4374                 - Add 'method' property
4375                 - (verify): fix verification with 'method'
4376                 - (finalize): free 'method'
4377                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
4378                         up for 'method'
4379
4380         * src/nm-device.c
4381                 - (real_act_stage3_ip_config_start): check IP4Config method
4382                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
4383                         the future
4384                 - (merge_ip4_config): IP settings are valid with DHCP too
4385                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
4386                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
4387
4388         * src/nm-device-802-11-wireless.c
4389                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
4390                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
4391                         only on demand
4392
4393         * system-settings/plugins/ifcfg-fedora/parser.c
4394           system-settings/plugins/ifcfg-suse/parser.c
4395                 - (make_ip4_setting): fix up for 'method'
4396
4397 2008-03-12  Dan Williams  <dcbw@redhat.com>
4398
4399         * system-settings/plugins/ifcfg-fedora/parser.c
4400           system-settings/plugins/ifcfg-fedora/parser.h
4401                 - (get_ifcfg_name): ignore more file suffixes
4402                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
4403
4404 2008-03-12  Dan Williams  <dcbw@redhat.com>
4405
4406         * configure.in
4407                 - Bring in the bits of gnome-common we actually use (all 15 lines)
4408
4409 2008-03-12  Dan Williams  <dcbw@redhat.com>
4410
4411         * system-settings/plugins/ifcfg-fedora/plugin.c
4412                 - (write_auto_wired_connection): new function; write out an auto
4413                         wired connection file since the applet isn't doing it any more
4414                 - (reload_all_connections): write out the auto wired connection file
4415                         if there aren't any wired connections already
4416                 - (init): don't leak a GError
4417
4418 2008-03-12  Dan Williams  <dcbw@redhat.com>
4419
4420         * src/nm-device-interface.c
4421                 - (nm_device_interface_activate): print the ID of the connection
4422                         that's about to be activated
4423
4424 2008-03-12  Dan Williams  <dcbw@redhat.com>
4425
4426         Harmonize the 802.11 bitrate API
4427
4428         * introspection/nm-access-point.xml
4429                 - 'Rate' -> 'MaxBitrate'; clarify units
4430
4431         * introspection/nm-device-802-11-wireless.xml
4432                 - Clarify units of 'Bitrate'
4433
4434         * src/NetworkManagerAP.c
4435           src/NetworkManagerAP.h
4436                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
4437                         property to 'max-bitrate'
4438                 - (foreach_property_cb): convert rate to Kb/s
4439
4440         * src/nm-device-802-11-wireless.c
4441                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
4442
4443         * libnm-glib/nm-access-point.c
4444           libnm-glib/nm-access-point.h
4445                 - 'rate' -> 'max-bitrate'
4446
4447         * test/nm-tool.c
4448           libnm-glib/libnm-glib-test.c
4449                 - Fix up for these changes
4450
4451 2008-03-12  Dan Williams  <dcbw@redhat.com>
4452
4453         * src/nm-device.c
4454                 - (nm_device_set_ip4_config): don't send property notifications when
4455                         the ip4 config is set to NULL; it causes a PropertyChanged signal
4456                         which dbus-glib can't parse because the value is NULL, which isn't
4457                         a legal object path.  Setting the IP4 config to NULL is only
4458                         valid when deactivating a device anyway, so the device state change
4459                         will alert listeners that the ip4 config is invalid.
4460
4461 2008-03-12  Dan Williams  <dcbw@redhat.com>
4462
4463         * src/nm-properties-changed-signal.c
4464                 - (add_to_string): better handling of NULL objects
4465
4466 2008-03-12  Dan Williams  <dcbw@redhat.com>
4467
4468         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
4469         convert the libnm-glib NMDevice8023Ethernet to cached properties
4470
4471         * introspection/nm-device-802-3-ethernet.xml
4472                 - New 'Carrier' property
4473                 - New 'PropertiesChanged' signal
4474
4475         * introspection/nm-device.xml
4476                 - Remove 'Carrier' property
4477                 - Remove 'CarrierChanged' signal
4478
4479         * src/nm-device-interface.c
4480           src/nm-device-interface.h
4481                 - (nm_device_interface_init): remove 'carrier' property and
4482                         'carrier-changed' signal
4483
4484         * src/nm-device.c
4485           src/nm-device.h
4486                 - (nm_device_get_carrier, nm_device_set_carrier): remove
4487                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
4488                         the link here; wired device will handle that
4489                 - (handle_dhcp_lease_change): don't bother updating link here
4490                 - (get_property, nm_device_class_init): remove carrier property
4491
4492         * src/nm-device-802-11-wireless.c
4493                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
4494                         real_update_link(); wireless devices don't use carrier at all
4495                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
4496                    supplicant_iface_connection_state_cb_handler,
4497                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
4498
4499         * src/nm-device-802-3-ethernet.c
4500           src/nm-device-802-3-ethernet.h
4501                 - (nm_device_802_3_ethernet_carrier_on,
4502                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
4503                         instead of nm_device_set_carrier()
4504                 - (device_state_changed): update link from sysfs on activation;
4505                         replaces real_update_link()
4506                 - (real_update_link): remove, replaced by device_state_changed()
4507                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
4508                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
4509                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
4510                         new get_carrier function
4511                 - (get_property): add 'carrier' property
4512                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
4513                         hook into property-changed signal helper
4514
4515         * src/NetworkManagerPolicy.c
4516                 - (device_carrier_changed): will only ever be called with a wired device
4517                 - (device_added): only hook up to carrier-changed for wired devices
4518
4519         * libnm-glib/nm-device.c
4520           libnm-glib/nm-device.h
4521                 - (constructor, nm_device_class_init): remove carrier-changed signal
4522                 - (device_carrier_changed_proxy): remove; unused
4523                 - (nm_device_get_carrier): remove; carrier a property of wired devices
4524
4525         * libnm-glib/nm-device-802-3-ethernet.c
4526           libnm-glib/nm-device-802-3-ethernet.h
4527                 - Convert to cached properties like AP and Wireless objects
4528                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
4529                         instead of a 'char *', return value should not be freed
4530                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
4531                 - (constructor): hook into properties-changed helper
4532                 - (set_property, get_property): new functions
4533                 - (nm_device_802_3_ethernet_class_init): export GObject properties
4534
4535         * test/nm-tool.c
4536                 - (detail_device): strdup the wired hardware address too since it's
4537                         cached now
4538
4539         * libnm-glib/libnm-glib-test.c
4540                 - (dump_wired): strdup the wired hardware address too since it's
4541                         cached now
4542
4543 2008-03-12  Dan Williams  <dcbw@redhat.com>
4544
4545         * libnm-util/nm-setting-ip4-config.c
4546           libnm-util/nm-setting-ip4-config.h
4547                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
4548                         the 'autoip' property from the spec
4549
4550 2008-03-11  Dan Williams  <dcbw@redhat.com>
4551
4552         * src/backends/NetworkManagerGeneric.c
4553           src/backends/NetworkManagerGeneric.h
4554                 - (nm_generic_device_get_use_dhcp): remove
4555
4556 2008-03-11  Dan Williams  <dcbw@redhat.com>
4557
4558         * src/nm-device.c
4559                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
4560                         already in nm_device_set_ip4_config()
4561                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
4562                         due to a DHCP rebind fails
4563                 - (nm_device_set_ip4_config): send property notifications when the
4564                         ip4 config changes
4565                 - (get_property): only report IP4Config property during valid states
4566
4567         * src/NetworkManagerPolicy.c
4568                 - (update_routing_and_dns): ignore devices that don't have an ip4
4569                         config; add parameter 'force_update' to allow callers to specify
4570                         that changes should be made even if the default device doesn't change
4571                 - (device_ip4_config_changed): update DNS and routing when the device's
4572                         IP4Config changes, like for DHCP updates
4573                 - (device_added): listen for ip4-config property changes
4574
4575 2008-03-11  Dan Williams  <dcbw@redhat.com>
4576
4577         Fix address handling as a result of DHCP rebind/renew/reboot.
4578
4579         * src/NetworkManagerSystem.c
4580                 - (check_one_address): delete an address if it doesn't match a given
4581                         one for the same interface
4582                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
4583                         be smarter about flushing addresses (only flush ones that don't
4584                         match the one we're about to apply)
4585
4586         * src/backends/NetworkManagerDebian.c
4587           src/backends/NetworkManagerSuSE.c
4588           src/backends/NetworkManagerArch.c
4589           src/backends/NetworkManagerSlackware.c
4590           src/backends/NetworkManagerRedHat.c
4591           src/backends/NetworkManagerPaldo.c
4592           src/backends/NetworkManagerFrugalware.c
4593           src/backends/NetworkManagerGentoo.c
4594                 - (nm_system_delete_default_route): remove
4595
4596         * src/backends/NetworkManagerGeneric.c
4597           src/backends/NetworkManagerGeneric.h
4598                 - (nm_generic_enable_loopback): fix the loopback device label
4599                 - (nm_generic_delete_default_route): remove; no longer used
4600
4601 2008-03-11  Dan Williams  <dcbw@redhat.com>
4602
4603         * src/nm-device-interface.h
4604                 - Delimit property name words with '-', otherwise g_object_notify()
4605                         doesn't work the way we expect
4606
4607 2008-03-11  Tambet Ingo  <tambet@gmail.com>
4608
4609         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
4610
4611 2008-03-11  Dan Williams  <dcbw@redhat.com>
4612
4613         * src/NetworkManagerPolicy.c
4614                 - (update_routing_and_dns): don't change anything if the default device
4615                         hasn't changed; print something out when switching the default route
4616                         and DNS
4617
4618 2008-03-10  Tambet Ingo  <tambet@gmail.com>
4619
4620         Implement PPPoE.
4621
4622         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
4623         setting. Use "nic-$eth".
4624
4625         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
4626         the device is activating here to fix a race condition.
4627
4628         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
4629
4630         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
4631         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
4632         (nm_ppp_manager_start): Take activation request instead of connection, we might
4633         need it for asking secrets.
4634         (nm_ppp_manager_update_secrets): Implement.
4635
4636         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
4637         ppp manager start. It might be needed for asking secrets.
4638
4639         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
4640         (ppp_state_changed): Handle pppd daemon disappearing.
4641         (pppoe_stage2_config): Send activation request to ppp manager start.
4642
4643         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
4644
4645         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
4646         username and password.
4647         
4648 2008-03-10  Dan Williams  <dcbw@redhat.com>
4649
4650         * src/nm-device.c
4651                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
4652                         response to a DHCP lease change
4653                 - (dhcp_state_changed): handle DHCP lease changes while activated
4654                 - (nm_device_set_ip4_config): remove a previously set named config
4655                         when setting an ip4 config
4656
4657 2008-03-10  Dan Williams  <dcbw@redhat.com>
4658
4659         * src/nm-serial-device.c
4660                 - (nm_serial_device_send_command): report errno on error
4661                 - (get_reply_got_data): limit the size of the overall buffer
4662                 - (wait_for_reply_info_destroy): destroy result string
4663                 - (wait_for_reply_got_data): append received data to an overall buffer
4664                         until timeout, filled buffer, or error instead of keeping a per-call
4665                         buffer.  Some devices send data slowly enough that this function
4666                         gets called multiple times for the same command stream.
4667                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
4668                         wait_for_reply_got_data() here
4669
4670 2008-03-10  Dan Williams  <dcbw@redhat.com>
4671
4672         * src/nm-cdma-device.c
4673                 - (do_dial, init_modem): handle errors from
4674                         nm_serial_device_send_command_string()
4675
4676         * src/nm-gsm-device.c
4677                 - (do_dial, manual_registration, automatic_registration_get_network,
4678                    automatic_registration, enter_pin, check_pin, init_modem): handle
4679                         errors from nm_serial_device_send_command_string()
4680
4681 2008-03-10  Dan Williams  <dcbw@redhat.com>
4682
4683         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
4684
4685         * src/named-manager/nm-named-manager.c
4686                 - (compute_searches): prefer searches before domains
4687                 - (compute_domain): new function
4688                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
4689                 - (merge_one_ip4_config): if there are no searches in the source config,
4690                         merge domains of the source config into the target config
4691                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
4692
4693 2008-03-10  Dan Williams  <dcbw@redhat.com>
4694
4695         * src/nm-serial-device.c
4696                 - (get_reply_got_data): clean up indentation, shrink serial buffer
4697                 - (wait_for_reply_got_data): try to handle slower serial devices where
4698                         the reply is broken up into multiple reads by concatenating replies
4699                         together until either an error is received or the search string is
4700                         found
4701
4702 2008-03-10  Dan Williams  <dcbw@redhat.com>
4703
4704         * src/nm-device.c
4705                 - (nm_device_bring_down): deactivate the device if it's activating too,
4706                         not just if it's already activated.  This makes sure that everything
4707                         from an association attempt is cleaned up (like DHCP for example)
4708
4709 2008-03-10  Dan Williams  <dcbw@redhat.com>
4710
4711         * src/nm-serial-device.c
4712                 - (config_fd): report error from TCSETA
4713                 - (nm_serial_device_open): fail when config_fd() fails
4714
4715 2008-03-10  Dan Williams  <dcbw@redhat.com>
4716
4717         * src/nm-ip4-config.c
4718                 - (nm_ip4_config_init): allocate searches list
4719                 - (finalize): free searches list
4720
4721 2008-03-09  Dan Williams  <dcbw@redhat.com>
4722
4723         Patch from Bas Zoetekouw <bas@debian.org>
4724
4725         * src/dhcp-manager/nm-dhcp-manager.c
4726                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
4727
4728 2008-03-09  Dan Williams  <dcbw@redhat.com>
4729
4730         Patch from Bas Zoetekouw <bas@debian.org>
4731
4732         * src/nm-ip4-config.c
4733           src/nm-ip4-config.h
4734                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
4735                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
4736                         domains.  'searches' is the correct way to store multiple search
4737                         domains, whereas 'domains' is really just supposed to store one
4738                         domain.  Some sites abuse the DHCP 'domain-name' option to push
4739                         search domains to the client.
4740                 - (nm_ip4_config_add_domain): group with related functions (my patch)
4741
4742 2008-03-09  Dan Williams  <dcbw@redhat.com>
4743
4744         * src/dhcp-manager/nm-dhcp-manager.c
4745                 - (dhclient_run): send interface-specific config files to dhclient
4746
4747 2008-03-07  Dan Williams  <dcbw@redhat.com>
4748
4749         * system-settings/plugins/ifcfg-fedora/parser.c
4750                 - (is_wireless_device): new function; test a device for wireless
4751                         extensions
4752                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
4753                         test the device for wireless extensions to determine the type
4754
4755 2008-03-07  Dan Williams  <dcbw@redhat.com>
4756
4757         Change manager's StateChange signal to StateChanged for consistency.
4758
4759         * introspection/nm-manager.xml
4760                 - Add 'StateChanged' signal
4761                 - Move 'StateChange' down to the deprecated section
4762
4763         * src/nm-hal-manager.c
4764                 - (nm_hal_manager_new): connect to 'state-changed' instead
4765
4766         * src/NetworkManagerPolicy.c
4767                 - (nm_policy_new): connect to 'state-changed' instead
4768
4769         * src/nm-manager.c
4770           src/nm-manager.h
4771                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
4772                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
4773                         of 'state-change'
4774
4775         * libnm-glib/nm-client.c
4776           libnm-glib/nm-client.h
4777                 - (constructor, nm_client_class_init, client_state_changed_proxy):
4778                         track and proxy 'state-changed' instead of 'state-change'
4779
4780 2008-03-07  Dan Williams  <dcbw@redhat.com>
4781
4782         First pass of multiple active device support.  Expect bugs.
4783
4784         * src/nm-ip4-config.c
4785           src/nm-ip4-config.h
4786                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
4787                         there are better ways to do this in the named manager
4788
4789         * src/nm-device.c
4790           src/nm-device.h
4791                 - (nm_device_can_activate): return whether the device can activate a
4792                         connection right now; taking into account things like carrier state
4793                         and rfkill state
4794                 - (nm_device_get_best_auto_connection): renamed from
4795                         nm_device_get_best_connection
4796                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
4797                         device subclasses themselves, so that each device can override the
4798                         MTU from it's NMSetting subclass if needed
4799                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
4800                         in NetworkManagerSystem.c, not here
4801
4802         * src/named-manager/nm-named-manager.c
4803           src/named-manager/nm-named-manager.h
4804                 - (nm_named_manager_name_owner_changed,
4805                    nm_named_manager_dbus_connection_changed): fix for changes to
4806                         rewrite_resolv_conf()
4807                 - (compute_nameservers): don't need the NMNamedManager at all, remove
4808                         from parameter list
4809                 - (merge_one_ip4_config): new function; merge ip4 configs together
4810                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
4811                         ip4 configs; the VPN config takes precedence, then the best
4812                         device config, then the rest of the configs
4813                 - (get_domain_for_config): take the NMNamedManager as an argument
4814                         to check whether the config is the VPN config
4815                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
4816                         attribute from ip4 configs
4817                 - (add_all_ip4_configs_to_named): add all the configs in priority order
4818                 - (remove_ip4_config_from_named): fix for changes to
4819                         get_domain_for_config()
4820                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
4821                         based on its type; callers must pass in the type now
4822                 - (get_last_default_domain): remove, unused
4823                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
4824
4825         * src/nm-device-802-11-wireless.c
4826                 - (real_can_activate): new function
4827                 - (real_get_best_auto_connection): renamed from real_get_best_connection
4828                 - (real_act_stage4_get_ip4_config): handle MTU override
4829
4830         * src/nm-device-802-3-ethernet.c
4831                 - (real_can_activate): new function
4832                 - (real_get_best_auto_connection): renamed from real_get_best_connection
4833                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
4834
4835         * src/vpn-manager/nm-vpn-connection.c
4836                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
4837                         attribute on the ip4 config
4838
4839         * src/NetworkManagerPolicy.c
4840                 - (nm_policy_auto_get_best_device): remove
4841                 - (nm_policy_device_change_check): remove
4842                 - (update_default_route): new function; set the default route via
4843                         the specified device
4844                 - (get_device_priority): new function; return the priority number of
4845                         a device type WRT which one should have the default route.  Order is
4846                         (highest to lowest)  wired, wireless, GSM, CDMA.
4847                 - (update_routing_and_dns): new function; determine which device should
4848                         have the default route, then update the routing table and DNS
4849                 - (maybe_auto_activate_device): new function; if a device is now
4850                         available for activation, find out what connection it would like to
4851                         activate and do it
4852                 - (schedule_activate_check): new function; if a device can be activated
4853                         now, schedule the activation.  Each device may have only one
4854                         pending activation at a given time.
4855                 - (device_state_changed): if activation was canceled, try again,
4856                         possibly with another connection; if the device was activated,
4857                         update routing and DNS; if the device was deactivated, try again
4858                         with another connection
4859                 - (device_carrier_changed): if there is no carrier, deactivate the
4860                         device; otherwise schedule an activation check for the device
4861                 - (wireless_networks_changed): schedule an activation check for the
4862                         device
4863                 - (device_added): keep track of the signal handler IDs so they can
4864                         be removed when the device goes away
4865                 - (device_removed): remove any signal handlers that might be attached
4866                         to the device; update routing and DNS
4867                 - (schedule_activate_all): new function
4868                 - (connections_added, connection_added, connection_updated): when
4869                         connections change, schedule all devices for an activation check
4870                 - (connection_removed): when a device is deactivated because its
4871                         connection was removed, schedule another activation check for it
4872                 - (nm_policy_destroy): destroy pending activations and disconnect
4873                         all device signal handlers
4874
4875         * src/nm-manager.c
4876                 - (nm_manager_activate_device): if the device was already actived,
4877                         deactivate it
4878                 - (deactivate_old_device): remove
4879                 - (connection_added_default_handler, impl_manager_activate_device):
4880                         don't deactivate other devices when activating this one
4881
4882         * src/backends/NetworkManagerGentoo.c
4883           src/backends/NetworkManagerFrugalware.c
4884           src/backends/NetworkManagerPaldo.c
4885           src/backends/NetworkManagerRedHat.c
4886           src/backends/NetworkManagerSlackware.c
4887           src/backends/NetworkManagerArch.c
4888           src/backends/NetworkManagerSuSE.c
4889           src/backends/NetworkManagerDebian.c
4890                 - (nm_system_get_mtu): remove; MTU should be provided through the
4891                         distro's system settings service plugin instead
4892                 - (nm_system_device_add_default_route_via_device): remove
4893                 - (nm_system_device_add_default_route_via_device_with_iface): remove
4894                 - (nm_system_device_replace_default_route): new function; call
4895                         generic implementation
4896
4897         * src/backends/NetworkManagerGeneric.c
4898           src/backends/NetworkManagerGeneric.h
4899                 - (nm_generic_device_add_default_route_via_device,
4900                    nm_generic_device_add_default_route_via_device_with_iface): remove
4901                 - (nm_generic_device_replace_default_route): replace the default route
4902                         with the given route via some gateway
4903
4904         * src/NetworkManagerSystem.c
4905           src/NetworkManagerSystem.h
4906                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
4907                         to routing and DNS; but set the MTU here
4908                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
4909                         ip_iface of the active device; use the standard MTU setting function
4910                 - (nm_system_set_mtu): remove
4911                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
4912
4913 2008-03-07  Tambet Ingo  <tambet@gmail.com>
4914
4915         Rework the interaction between ppp manager and pppd plugin. Register a well
4916         known DBUS service in manager and let the plugin call it's methods instead
4917         of listening plugin's signals.
4918
4919         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
4920         of emitting signals.
4921
4922         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
4923
4924         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
4925
4926         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
4927         nm_ppp_manager_start().
4928
4929         * introspection/nm-ppp-manager.xml: New file.
4930
4931         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
4932         the case correctly where driver is trying to send -1 for the speed, which gets
4933         casted to u16 and thus is always > 0.
4934
4935 2008-03-07  Dan Williams  <dcbw@redhat.com>
4936
4937         * src/nm-hal-manager.c
4938                 - (nm_get_device_driver_name): use net.originating_device first, fall
4939                         back to physical device.  HAL has deprecated physical_device.
4940
4941         * libnm-glib/nm-device.c
4942                 - (get_product_and_vendor): use net.originating_device first, fall
4943                         back to physical device.  HAL has deprecated physical_device.
4944                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
4945
4946 2008-03-07  Dan Williams  <dcbw@redhat.com>
4947
4948         * src/nm-netlink.c
4949                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
4950                         last commit; fix that
4951                 - (get_link_cache): print error string
4952
4953 2008-03-07  Dan Williams  <dcbw@redhat.com>
4954
4955         * src/nm-netlink.c
4956                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
4957                         don't need this hack any more (Benoit Boissinot)
4958
4959 2008-03-06  Dan Williams  <dcbw@redhat.com>
4960
4961         * autogen.sh
4962                 - Die gnome-common, die
4963
4964 2008-03-04  Dan Williams  <dcbw@redhat.com>
4965
4966         Patch from Michael Biebl <biebl@debian.org>
4967
4968         * NetworkManager.pc.in
4969                 - doesn't actually depend on dbus-1
4970
4971         * libnm-util/nm-utils.h
4972                 - remove unused #include <dbus/dbus.h>
4973
4974         * libnm-glib/libnm_glib.pc.in
4975                 - depends on glib and dbus-glib
4976
4977 2008-03-02  Dan Williams  <dcbw@redhat.com>
4978
4979         * src/NetworkManagerPolicy.c
4980                 - s/device_state_changed_idle_id/update_state_id/
4981
4982 2008-03-02  Dan Williams  <dcbw@redhat.com>
4983
4984         * src/nm-device.c
4985           src/nm-device.h
4986           src/nm-device-802-11-wireless.c
4987           src/nm-device-802-3-ethernet.c
4988           src/NetworkManagerPolicy.c
4989                 - s/link_active/carrier
4990                 - nm_device_set_active_link() -> nm_device_set_carrier()
4991                 - nm_device_has_active_link() -> nm_device_get_carrier()
4992
4993 2008-03-02  Dan Williams  <dcbw@redhat.com>
4994
4995         * system-settings/plugins/ifcfg-fedora/parser.c
4996                 - (make_wireless_setting): fail connection creation on missing SSID
4997
4998 2008-02-29  Dan Williams  <dcbw@redhat.com>
4999
5000         * src/NetworkManagerPolicy.c
5001                 - (nm_policy_device_change_check): ensure that a previously active
5002                         device with a system connection has a link before denying a switch
5003                         to a user connection
5004
5005 2008-02-29  Dan Williams  <dcbw@redhat.com>
5006
5007         * src/nm-device-802-11-wireless.c
5008                 - (link_timeout_cb): try again if scanning; deactivate the device when
5009                         activated if the link dies
5010                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
5011                         15 seconds
5012
5013 2008-02-29  Dan Williams  <dcbw@redhat.com>
5014
5015         * src/nm-device-802-11-wireless.c
5016           src/nm-device-802-11-wireless.h
5017                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
5018                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
5019                 - (device_cleanup): reset the scan interval lower when the device
5020                         deactivates
5021                 - (can_scan): base decision mostly off device state, not supplicant
5022                         interface state since the supplicant interface state isn't a
5023                         great indicator of whether the device is active or not
5024                 - (request_wireless_scan): clean up; schedule the next scan here
5025                 - (schedule_scan): only back the scan interval off if a new scan
5026                         actually gets scheduled; and make scan intervals tighter when the
5027                         device is disconnected
5028                 - (supplicant_iface_state_cb_handler): fold in the bits of
5029                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
5030                         interval to minimum
5031                 - (activation_success_handler): reset scan interval to something
5032                         reasonable 
5033
5034 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
5035
5036         reviewed by: Steev <steev@steev.net>
5037
5038         * configure.in:
5039         * src/backends/NetworkManagerGentoo.c:
5040         (nm_system_restart_mdns_responder):
5041                 Howl is no longer a supported mDNS provider
5042
5043 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5044
5045         Get rid of a bunch of unused distro specific functions.
5046
5047 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5048
5049         Implement suse plugin for system settings daemon.
5050
5051         * system-settings/plugins/ifcfg-suse/*: Implement.
5052
5053         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
5054         suse.
5055
5056         * configure.in: Check (without failing) for gio.
5057         Create ifcfg-suse plugin's Makefile.
5058
5059 2008-02-20  Dan Williams  <dcbw@redhat.com>
5060
5061         * libnm-util/nm-connection.c
5062           libnm-util/nm-connection.h
5063                 - (nm_connection_compare): accept compare flags and pass them to the
5064                         setting compare function
5065
5066         * libnm-util/nm-setting.c
5067           libnm-util/nm-setting.h
5068                 - (nm_setting_compare): accept compare flags; ignore properties that are
5069                         marked fuzzy
5070
5071         * libnm-util/nm-setting-connection.c
5072           libnm-util/nm-setting-wireless.c
5073           libnm-util/nm-setting-ppp.c
5074           libnm-util/nm-setting-wired.c
5075                 - Mark some setting properties as ignorable when doing a fuzzy compare
5076
5077         * src/nm-device.c
5078                 - (device_activation_precheck): use exact compare
5079
5080 2008-02-20  Dan Williams  <dcbw@redhat.com>
5081
5082         * src/NetworkManagerPolicy.c
5083                 - (nm_policy_device_change_check): get scope off the connection, not
5084                         using the manager helper
5085
5086         * src/nm-manager.c
5087           src/nm-manager.h
5088                 - (get_scope_for_proxy): rename from get_type_for_proxy()
5089                 - (connection_get_settings_cb): set scope and path on connection, not
5090                         using GObject data items
5091                 - (get_connection_for_proxy): don't need to return path, since that
5092                         can be gotten from the connection
5093                 - (get_connection_for_proxy): get path off the connection, not from
5094                         parameters
5095                 - (connection_removed_cb, connection_updated_cb): don't need to get
5096                         path from get_connection_for_proxy(); get scope off the connection
5097                         instead of using GObject data items
5098                 - (connection_added_default_handler, add_one_connection_element): use
5099                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
5100                 - (nm_manager_get_connection_dbus_path): remove
5101                 - (nm_manager_get_connection_scope): remove
5102
5103 2008-02-20  Dan Williams  <dcbw@redhat.com>
5104
5105         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
5106                 on confusing names
5107
5108         * Add 'path' and 'scope' properties to NMConnection since both NM and the
5109                 applet were having to hack this in anyway.  Remove the 'path' stuff from
5110                 NMExportedConnection
5111
5112         * Internally rename NMConnectionType -> NMConnectionScope
5113
5114         * Provide default implementations of the 'get_id' and 'get_settings' methods
5115                 of NMExportedConnection
5116
5117 2008-02-15  Dan Williams  <dcbw@redhat.com>
5118
5119         * src/nm-device-802-11-wireless.c
5120                 - (device_cleanup): release the AP list here too so that the AP list
5121                         doesn't survive across suspend/resume and up/down.  There is some
5122                         room for optimization, for example blow the list away when the card
5123                         brought back up, but only if the device has only been down for a
5124                         minute or more.
5125
5126 2008-02-15  Dan Williams  <dcbw@redhat.com>
5127
5128         * src/nm-hal-manager.c
5129                 - (modem_device_creator): recognize new HAL modem capabilities
5130
5131 2008-02-12  Dan Williams  <dcbw@redhat.com>
5132
5133         * system-settings/plugins/ifcfg-fedora/plugin.c
5134                 - (watch_path): handle IN_DELETE_SELF too
5135                 - (handle_connection_changed): notify when removing a connection
5136                 - (stuff_changed): don't warn on unknown inotify watches; handle the
5137                         case of a file moving out of the profile directory
5138
5139 2008-02-12  Dan Williams  <dcbw@redhat.com>
5140
5141         * system-settings/plugins/ifcfg-fedora/parser.c
5142                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
5143
5144 2008-02-12  Dan Williams  <dcbw@redhat.com>
5145
5146         * libnm-util/nm-utils.c
5147                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
5148                         just any empty array
5149
5150 2008-02-12  Dan Williams  <dcbw@redhat.com>
5151
5152         * system-settings/src/nm-system-config-interface.c
5153           system-settings/src/nm-system-config-interface.h
5154                 - (load_connections): get_connections() should now return an allocated
5155                         GSList that the system settings service will free
5156
5157         * system-settings/plugins/ifcfg-fedora/plugin.c
5158           system-settings/plugins/ifcfg-fedora/parser.h
5159           system-settings/plugins/ifcfg-fedora/parser.c
5160                 - Fix up inotify issues; handle keys-* files, handle new files appearing
5161                         in the profile directory, handle resolv.conf file changes
5162
5163 2008-02-10  Dan Williams  <dcbw@redhat.com>
5164
5165         * src/nm-device-802-3-ethernet.c
5166                 - (real_bring_up): save the supplicant interface state signal id
5167                 - (real_bring_down): disconnect from the supplicant interface state
5168                         signal
5169
5170 2008-02-07  Dan Williams  <dcbw@redhat.com>
5171
5172         * initscript/RedHat/NetworkManager.in
5173           initscript/RedHat/NetworkManagerDispatcher.in
5174                 - Add new-style LSB init headers
5175
5176 2008-02-07  Dan Williams  <dcbw@redhat.com>
5177
5178         * system-settings/src/dbus-settings.c
5179           system-settings/src/dbus-settings.h
5180                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
5181                         table of secrets
5182                 - (connection_settings_get_secrets): consolidate error returns into
5183                         one place; use the new get_secrets() plugin interface function to
5184                         get secrets from the plugin itself rather than using GObject data
5185                         magic
5186
5187         * system-settings/src/main.c
5188                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
5189                    load_connections): keep a private list of the plugin-returned
5190                         connections, don't use the plugin's GSList
5191
5192         * system-settings/plugins/ifcfg-fedora/plugin.c
5193                 - (watch_path): watch the path, not the filename (duh)
5194                 - (reload_all_connections): use the direct hash/equal functions; the
5195                         ones for int aren't appropriate here
5196                 - (get_secrets, system_config_interface_init): implement the
5197                         get_secrets() function
5198                 - (build_one_connection, find_connection_by_path): ifcfg file path is
5199                         now in the connection's ConnectionData instead of being a GObject
5200                         data property
5201                 - (handle_profile_item_changed): ifcfg file path is now in the
5202                         connection's ConnectionData instead of being a GObject data property;
5203                         be sure to copy secrets over from the new connection to the existing
5204                         connection when updating the connection's settings
5205                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
5206                         file descriptor
5207
5208         * system-settings/plugins/ifcfg-fedora/parser.c
5209           system-settings/plugins/ifcfg-fedora/parser.h
5210                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
5211                    connection_data_copy_secrets, connection_data_free,
5212                    connection_data_add): new functions; connection data manipulation
5213                 - (make_wireless_security_setting): stuff secrets into the
5214                         connection data, not as GObject data items; make sure to close
5215                         the keys ifcfg file
5216                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
5217                         connection data to the connection
5218
5219 2008-02-07  Dan Williams  <dcbw@redhat.com>
5220
5221         * system-settings/src/nm-system-config-interface.c
5222           system-settings/src/nm-system-config-interface.h
5223                 - Add a get_secrets() interface function to retrieve secrets for a
5224                         specific setting of a specific connection.  Document the interface
5225                         a bit more too.
5226
5227 2008-02-07  Dan Williams  <dcbw@redhat.com>
5228
5229         * src/nm-device-802-11-wireless.c
5230                 - (handle_auth_or_fail): new function; consolidate device activation
5231                         failure check after a certain number of failures getting secrets
5232                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
5233                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
5234                         the connection if secrets were requested more than a few times
5235                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
5236                         tries here; otherwise they are cleared before the IP configure
5237                         timeout, which happens with open system WEP when key is wrong
5238                 - (activation_success_handler): clear wireless secrets tries here too
5239
5240 2008-02-07  Dan Williams  <dcbw@redhat.com>
5241
5242         * src/NetworkManagerPolicy.c
5243                 - (connection_updated): clear invalid tag when connection gets updated
5244                         to allow that connection to be tried again
5245                 - (nm_policy_new): save signal ids so they can be disconnected when
5246                         the policy is destroyed
5247                 - (nm_policy_destroy): stop any in-progress state change idle handler,
5248                         and disconnect all signals from the manager object so that none
5249                         of the policy functions gets called after the policy is destroyed
5250
5251 2008-02-06  Dan Williams  <dcbw@redhat.com>
5252
5253         * src/nm-manager.c
5254                 - (finalize): remove devices a bit earlier; clean up system settings
5255                         poke
5256                 - (nm_manager_name_owner_changed): clean up system settings poke when
5257                         the service appears, and try to restart it if it fails
5258                 - (poke_system_settings_daemon_cb): try to get the system settings
5259                         service started through D-Bus service activation
5260                 - (initial_get_connections): start the system settings daemon if it's
5261                         not already running
5262
5263 2008-02-05  Dan Williams  <dcbw@redhat.com>
5264
5265         * src/supplicant-manager/nm-supplicant-config.c
5266                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
5267                         broadcast networks too
5268
5269 2008-02-04  Dan Williams  <dcbw@redhat.com>
5270
5271         * system-settings/plugins/ifcfg-fedora/parser.c
5272                 - (make_wireless_security_setting): fix spelling; unencrypted networks
5273                         need key_mgmt set too
5274                 - (parser_parse_file): validate ifcfg file name and don't try to parse
5275                         .bak files; ensure that an error is set whenever NULL gets returned
5276
5277 2008-02-04  Dan Williams  <dcbw@redhat.com>
5278
5279         * system-settings/src/Makefile.am
5280                 - Install D-Bus service activation file for the system settings
5281                         service
5282
5283         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
5284                 - D-Bus service activation file for system settings service
5285
5286 2008-02-04  Dan Williams  <dcbw@redhat.com>
5287
5288         * system-settings/src/main.c
5289                 - (parse_config_file): parse a config file
5290                 - (main): accept --config option and read plugins from config file
5291
5292 2008-02-04  Dan Williams  <dcbw@redhat.com>
5293
5294         * system-settings/plugins/ifcfg-fedora/plugin.c
5295                 - Change reported name to 'ifcfg-fedora'
5296                 - Use IFCFG_PLUGIN_NAME
5297
5298         * system-settings/plugins/ifcfg-fedora/plugin.c
5299                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
5300
5301 2008-02-04  Dan Williams  <dcbw@redhat.com>
5302
5303         * system-settings/plugins/ifcfg-fedora/parser.c
5304                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
5305                 - (make_connection_setting): use get_ifcfg_name()
5306                 - (make_wireless_security_setting): handle shadow key files
5307                 - (get_one_wep_key): treat empty string as NULL
5308
5309 2008-02-04  Dan Williams  <dcbw@redhat.com>
5310
5311         * src/supplicant-manager/nm-supplicant-manager.c
5312                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
5313                         glib automatically reschedule
5314                 - (nm_supplicant_manager_init): immediately try to start the supplicant
5315                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
5316                         the supplicant
5317
5318 2008-02-01  Dan Williams  <dcbw@redhat.com>
5319
5320         * src/NetworkManagerPolicy.c
5321                 - (device_state_changed): schedule a change check when a device gets
5322                         deactivated so something happens if you disconnect GSM/CDMA
5323
5324 2008-01-31  Dan Williams  <dcbw@redhat.com>
5325
5326         * src/nm-device-802-11-wireless.h
5327           src/nm-device-802-11-wireless.c
5328                 - (ap_list_get_ap_by_ssid, is_associated,
5329                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
5330                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
5331                 - (nm_device_802_11_wireless_get_activation_ap): collapse
5332                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
5333                         function
5334
5335 2008-01-30  Dan Williams  <dcbw@redhat.com>
5336
5337         * system-settings/plugins/ifcfg
5338         * system-settings/plugins/ifcfg-fedora
5339                 - Move the ifcfg plugin to ifcfg-fedora
5340
5341 2008-01-24  Dan Williams  <dcbw@redhat.com>
5342
5343         * libnm-glib/nm-device-802-11-wireless.c
5344                 - (get_access_point): move the "/" check here; check for invalid path
5345                         too
5346                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
5347                         to get_access_point()
5348                 - (access_point_added_proxy, access_point_removed_proxy): don't try
5349                         to send signals for non-existent access points
5350
5351 2008-01-24  Dan Williams  <dcbw@redhat.com>
5352
5353         * libnm-glib/nm-device-802-11-wireless.c
5354                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
5355
5356 2008-01-23  Dan Williams  <dcbw@redhat.com>
5357
5358         * libnm-glib/libnm_glib.c
5359                 - (libnm_glib_init): make thread joinable
5360                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
5361
5362 2008-01-23  Dan Williams  <dcbw@redhat.com>
5363
5364         * test/libnm_glib_test.c
5365                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
5366                 - (main): set up signal handlers; call libnm_glib_shutdown
5367
5368 2008-01-21  Dan Williams  <dcbw@redhat.com>
5369
5370         * include/NetworkManager.h
5371                 - Add CDMA mobile broadband card device type
5372
5373         * src/nm-hal-manager.c
5374                 - (modem_device_creator): handle both CDMA and GSM modems; the device
5375                         must now be tagged with 'cdma' or 'gsm' capability
5376
5377         * src/nm-cdma-device.c
5378           src/nm-cdma-device.h
5379           src/Makefile.am
5380                 - Add the CDMA mobile broadband card device class
5381
5382         * libnm-util/nm-connection.c
5383                 - (register_default_settings): add NMSettingCdma
5384
5385         * libnm-util/nm-setting-cdma.c
5386           libnm-util/nm-setting-cdma.h
5387           libnm-util/Makefile.am
5388                 - Add the CDMA mobile broadband card setting class
5389
5390         * libnm-glib/nm-cdma-device.c
5391           libnm-glib/nm-cdma-device.h
5392           libnm-glib/Makefile.am
5393                 - Add the CDMA mobile broadband card GLib proxy class
5394
5395         * libnm-glib/nm-client.c
5396                 - (get_device): handle CDMA devices too
5397
5398 2008-01-21  Dan Williams  <dcbw@redhat.com>
5399
5400         * src/ppp-manager/nm-ppp-manager.c
5401                 - (ip4_config_get): set peer address too
5402
5403         * src/ppp-manager/nm-pppd-plugin.c
5404                 - (nm_ip_up): try harder to get the peer's address
5405
5406         * src/NetworkManagerSystem.c
5407                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
5408                         address, use that too.  Otherwise, some PPP connections won't work.
5409
5410 2008-01-19  Dan Williams  <dcbw@redhat.com>
5411
5412         * src/NetworkManagerPolicy.c
5413                 - (nm_policy_device_change_check): system connections override user
5414                         connections; don't activate a user connection if there's a currently
5415                         active system connection, and new, better system connections always
5416                         interrupt user connections
5417
5418 2008-01-19  Dan Williams  <dcbw@redhat.com>
5419
5420         * src/nm-manager.h
5421                 - (nm_manager_get_connection_type): new function
5422
5423 2008-01-19  Dan Williams  <dcbw@redhat.com>
5424
5425         * src/nm-device-802-11-wireless.c
5426                 - (real_get_best_connection): collapse find_best_connection() into this
5427                         function
5428
5429 2008-01-19  Dan Williams  <dcbw@redhat.com>
5430
5431         * src/nm-device-802-3-ethernet.c
5432                 - (real_get_best_connection): collapse find_best_connection() into this
5433                         function
5434
5435 2008-01-18  Dan Williams  <dcbw@redhat.com>
5436
5437         * src/nm-device-802-3-ethernet.c
5438                 - (find_best_connection): check MAC address too
5439                 - (real_get_best_connection): let autoconnect=True connections activate
5440                         for devices that don't have carrier detection
5441
5442         * src/nm-device-802-11-wireless.c
5443                 - (find_best_connection): check MAC address too
5444
5445 2008-01-18  Dan Williams  <dcbw@redhat.com>
5446
5447         * system-settings/plugins/ifcfg/parser.c
5448                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
5449
5450 2008-01-17  Dan Williams  <dcbw@redhat.com>
5451
5452         * src/nm-device-802-3-ethernet.c
5453                 - (nm_device_802_3_ethernet_carrier_on,
5454                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
5455                         carrier events that might come in for devices that don't support
5456                         carrier detect
5457
5458 2008-01-17  Dan Williams  <dcbw@redhat.com>
5459
5460         * src/nm-device-interface.c
5461                 - (nm_device_interface_check_connection_conflicts): need to actually
5462                         get the interface, not cast to the object
5463
5464         * src/nm-device.c
5465                 - (nm_device_check_connection_conflicts): need to get the device class,
5466                         not cast the device to the device class
5467
5468 2008-01-17  Dan Williams  <dcbw@redhat.com>
5469
5470         * src/nm-device-802-11-wireless.c
5471                 - (real_check_connection_conflicts): ignore connections that aren't
5472                         wireless connections
5473
5474 2008-01-17  Dan Williams  <dcbw@redhat.com>
5475
5476         * src/NetworkManagerPolicy.c
5477                 - (nm_policy_device_change_check): clear change check idle here
5478                 - (device_change_check_done): remove
5479                 - (schedule_change_check): simplify
5480
5481 2008-01-17  Dan Williams  <dcbw@redhat.com>
5482
5483         * src/nm-manager.c
5484                 - (check_connection_allowed): take an NMDeviceInterface instead of
5485                         an NMDevice object as an argument
5486                 - (nm_manager_activate_device): pass an NMDeviceInterface to
5487                         check_connection_allowed()
5488
5489 2008-01-13  Dan Williams  <dcbw@redhat.com>
5490
5491         * libnm-glib/nm-device-802-11-wireless.c
5492                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
5493
5494 2008-01-12  Dan Williams  <dcbw@redhat.com>
5495
5496         * src/nm-device-802-11-wireless.c
5497                 - (activation_success_handler): if a match was found in the scan list
5498                         and that match is a hidden AP, update that AP's SSID
5499
5500 2008-01-11  Dan Williams  <dcbw@redhat.com>
5501
5502         * src/NetworkManagerAP.c
5503                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
5504
5505         * src/nm-device-802-11-wireless.c
5506                 - (get_active_ap): do two passes over the scan list if the caller
5507                         requests that hidden APs get matched too; during the second pass
5508                         when matching hidden APs, ignore the SSID since hidden APs in the
5509                         scan list don't have an SSID yet
5510                 - (periodic_update): move some checks to
5511                         nm_device_802_11_periodic_update() because not all callers need them
5512                 - (nm_device_802_11_periodic_update): move some checks here from
5513                         perodic_update()
5514                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
5515                         matching on incoming scan results, because the fake AP's flags
5516                         might be slightly different (yet still compatible) with the incoming
5517                         scan result's flags and they might actually be the same AP; update
5518                         the rate on merged APs too
5519                 - (activation_success_handler): update the frequency of the fake AP
5520                         on successful connection; match hidden APs too since if the
5521                         current AP is fake, there might already be a scan result in the
5522                         scan list for the desired AP, just without it's SSID filled in yet
5523
5524 2008-01-10  Dan Williams  <dcbw@redhat.com>
5525
5526         * src/NetworkManagerAP.c
5527                 - (foreach_property_cb): catch more hidden SSID formats
5528
5529 2008-01-10  Dan Williams  <dcbw@redhat.com>
5530
5531         Fix gnome.org #464215.  Requires the kernel patch titled
5532         "Introduce WEXT scan capabilities" but will handle the patch not being
5533         present, you'll just continue to have problems with hidden SSIDs when
5534         using mac80211-based drivers.
5535
5536         * src/supplicant-manager/nm-supplicant-config.h
5537           src/supplicant-manager/nm-supplicant-config.c
5538                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
5539                         whether the driver supports SSID scans or not.  If it does, and if
5540                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
5541
5542         * src/nm-device-802-11-wireless.c
5543                 - (constructor): check whether or not the driver supports SSID scans
5544                 - (build_supplicant_config): pass driver SSID scan capability when
5545                         building the wireless bits of the supplicant config
5546
5547 2008-01-09  Dan Williams  <dcbw@redhat.com>
5548
5549         * src/nm-device.c
5550           src/nm-device.h
5551                 - (device_activation_precheck, check_connection_complete): remove this
5552                         virtual function; incomplete connections should be invalid by
5553                         definition, complete-ness should be checked in the setting's
5554                         verify function
5555
5556         * src/nm-serial-device.c
5557           src/nm-gsm-device.c
5558                 - (real_check_connection_complete): remove
5559
5560         * libnm-util/nm-setting-serial.c
5561                 - (verify): new function; ensure there is a PPP setting too
5562
5563         * libnm-util/nm-setting-gsm.c
5564                 - (verify): ensure there is a serial setting too
5565
5566 2008-01-06  Dan Williams  <dcbw@redhat.com>
5567
5568         * src/dhcp-manager/nm-dhcp-manager.c
5569                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
5570                         (gnome.org #332953)
5571
5572 2008-01-04  Dan Williams  <dcbw@redhat.com>
5573
5574         * src/named-manager/nm-named-manager.c
5575                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
5576                         nameservers if the secondary config doesn't have any
5577                         (gnome.org #346833)
5578
5579 2008-01-02  Tambet Ingo  <tambet@gmail.com>
5580
5581         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
5582         with G_PARAM_CONSTRUCT so that they get the default values.
5583
5584         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
5585         the monitoring device and prints out the output for now. Or more precicely, doesn't
5586         do absolutely anything right now since the montoring device argument is never set.
5587
5588         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
5589         requires it's own knob to turn it on.
5590         (config_fd): Add NMSettingSerial to the arguments list.
5591         (nm_serial_device_open): Ditto.
5592         (get_reply_got_data): Ignore the terminators at the beginning of the output.
5593         (nm_serial_device_get_io_channel): Implement.
5594
5595         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
5596         a new reference every time (and forgetting to release it sometimes) is a pain and
5597         it's not like NMManager could work without dbus.
5598         (nm_manager_add_device): Register the added device on dbus here.
5599
5600         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
5601         device.
5602
5603         * src/nm-device.c (constructor): Don't export the device here, instead export
5604         it when it's added to the NMManager's device list.
5605
5606 2007-12-31  Dan Williams  <dcbw@redhat.com>
5607
5608         * src/nm-device-interface.c
5609           src/nm-device-interface.h
5610                 - (nm_device_interface_check_connection_conflicts): new function
5611
5612         * src/nm-device.c
5613           src/nm-device.h
5614                 - (nm_device_check_connection_conflicts): new function
5615                 - (device_activation_precheck): don't require subclasses to implement
5616                         check_connection_complete()
5617                 - check_connection() -> check_connection_complete()
5618
5619         * src/nm-device-802-11-wireless.c
5620                 - (real_check_connection): remove; unused
5621                 - (real_check_connection_conflicts): implement, handle lockdown for
5622                         system connections
5623
5624         * src/nm-device-802-3-ethernet.c
5625                 - (real_check_connection): remove; unused
5626
5627         * src/nm-manager.c
5628                 - (check_connection_allowed): new function
5629                 - (nm_manager_activate_device): ensure the connection being requested
5630                         is allowed to be activated
5631
5632         * src/nm-serial-device.c
5633           src/nm-gsm-device.c
5634                 - real_check_connection() -> real_check_connection_complete()
5635
5636 2007-12-27  Dan Williams  <dcbw@redhat.com>
5637
5638         * src/nm-device-interface.c
5639           src/nm-device-interface.h
5640                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
5641                         normalize and expand errors
5642                 - (nm_device_interface_init): register errors so they can be marshalled
5643                         through dbus-glib
5644                 - (nm_device_interface_activate): ensure that failure of activation
5645                         returns an error
5646
5647         * src/nm-device.c
5648           src/nm-device.h
5649                 - (device_activation_precheck): implementations of check_connection()
5650                         now take a GError and must fill it in if the check fails.  Return
5651                         more descriptive error if the requested connection is already
5652                         activating
5653                 - (nm_device_activate): actually try to return descriptive errors on
5654                         failures
5655
5656         * src/nm-device-802-11-wireless.c
5657           src/nm-device-802-3-ethernet.c
5658           src/nm-serial-device.c
5659           src/nm-gsm-device.c
5660                 - (real_check_connection): return more descriptive errors on failure
5661
5662         * src/NetworkManagerPolicy.c
5663                 - (nm_policy_device_change_check): print activation errors in the logs
5664
5665         * src/nm-manager.c
5666                 - (nm_manager_error_quark, nm_manager_error_get_type,
5667                    nm_manager_class_init): new errors
5668                 - (nm_manager_activate_device): handle errors
5669                 - (nm_manager_error_new): removed
5670                 - (wait_for_connection_expired, connection_added_default_handler,
5671                    impl_manager_activate_device): better error handling
5672
5673 2007-12-27  Dan Williams  <dcbw@redhat.com>
5674
5675         Fixes gnome.org #466954
5676
5677         * src/supplicant-manager/nm-supplicant-settings-verify.c
5678                 - Allow 'frequency' network property
5679
5680         * src/supplicant-manager/nm-supplicant-config.c
5681           src/supplicant-manager/nm-supplicant-config.h
5682                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
5683                         for callers to specify the frequency an Ad-Hoc network should operate
5684                         on.  Some drivers require this to successfully create an Ad-Hoc
5685                         network.
5686
5687         * src/nm-device-802-11-wireless.c
5688                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
5689                         guint32 value in MHz
5690                 - (constructor, nm_device_802_11_wireless_get_frequency): use
5691                         iw_freq_to_uint32()
5692                 - (find_supported_frequency): new function; find a free supported
5693                         frequency for a user-created Ad-Hoc network
5694                 - (build_supplicant_config): if no frequency was specified for a user-
5695                         created Ad-Hoc network, find a free one to use
5696                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
5697                         a specific object as user-created
5698
5699 2007-12-27  Dan Williams  <dcbw@redhat.com>
5700
5701         * libnm-util/nm-utils.c
5702           libnm-util/nm-utils.h
5703                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
5704                         for adhoc networks
5705
5706 2007-12-24  Dan Williams  <dcbw@redhat.com>
5707
5708         * libnm-util/nm-setting-wireless.c
5709                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
5710                         185, 187, 188, 192, and 196
5711
5712 2007-12-24  Dan Williams  <dcbw@redhat.com>
5713
5714         * src/nm-device-802-11-wireless.c
5715                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
5716                         a channel # instead of a frequency
5717
5718 2007-12-24  Dan Williams  <dcbw@redhat.com>
5719
5720         * src/NetworkManagerAP.c
5721           src/NetworkManagerAP.h
5722                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
5723                 - (freq_to_channel): handle split band tables
5724                 - (channel_to_freq): handle split band tables, take a band argument
5725
5726 2007-12-24  Dan Williams  <dcbw@redhat.com>
5727
5728         * libnm-util/nm-setting-connection.h
5729           libnm-util/nm-setting-connection.c
5730                 - Add 'lockdown' member
5731
5732 2007-12-22  Dan Williams  <dcbw@redhat.com>
5733
5734         * libnm-util/nm-setting-wireless.c
5735                 - (nm_setting_wireless_class_init): add missing 'rate' property
5736                         specification
5737
5738 2007-12-18  Dan Williams  <dcbw@redhat.com>
5739
5740         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
5741
5742         * src/nm-netlink-monitor.c
5743           src/nm-netlink-monitor.h
5744                 - Remove handrolled netlink, use libnl instead
5745
5746         * src/nm-device-802-3-ethernet.c
5747                 - (constructor, nm_device_802_3_ethernet_carrier_off,
5748                    nm_device_802_3_ethernet_carrier_on): use new names
5749
5750 2007-12-17  Dan Williams  <dcbw@redhat.com>
5751
5752         * configure.in
5753                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
5754                         and fixes memory leaks)
5755
5756         * src/nm-netlink.c
5757                 - (nm_netlink_get_default_handle): handle new versions of libnl that
5758                         automatically handle the netlink PID
5759
5760 2007-12-17  Dan Williams  <dcbw@redhat.com>
5761
5762         Patch from Michael Biebl <biebl@debian.org>
5763
5764         * configure.in
5765           src/ppp-manager/Makefile.am
5766                 - fix up install dir of pppd plugin
5767                 - clean up configure.in a bit
5768
5769 2007-12-12  Dan Williams  <dcbw@redhat.com>
5770
5771         * system-settings/src/nm-system-settings.conf
5772                 - Allow non-root clients (like the applet) to read settings
5773
5774 2007-12-10  Tambet Ingo  <tambet@gmail.com>
5775
5776         * Replace all occurences of 'UMTS' with 'GSM'.
5777
5778 2007-12-07  Dan Williams  <dcbw@redhat.com>
5779
5780         * src/nm-serial-device.c
5781                 - (real_is_up): serial devices are always "up"
5782
5783 2007-12-07  Dan Williams  <dcbw@redhat.com>
5784
5785         * src/nm-netlink.c
5786           src/NetworkManagerSystem.c
5787                 - (new_nl_handle): ensure that the same netlink pid is never chosen
5788                         twice (gnome.org #491047)
5789                 - Make more robust against allocation-related failures should they occur
5790
5791 2007-12-07  Dan Williams  <dcbw@redhat.com>
5792
5793         Noticed by Christian Persch <chpe@gnome.org>
5794
5795         Always chain up to parent object in dispose and finalize handlers.
5796                 (gnome.org #433112)
5797
5798 2007-12-07  Dan Williams  <dcbw@redhat.com>
5799
5800         * src/nm-device-802-11-wireless.c
5801                 - Wrap #include of linux/mii.h to fix redefined structures due to
5802                         incorrect kernel headers (gnome.org #350061)
5803
5804 2007-12-06  Tambet Ingo  <tambet@gmail.com>
5805
5806         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
5807         before doing anything else.
5808         (init_modem): Move modem initialization here.
5809
5810         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
5811         (nm_serial_device_flash): Implement.
5812
5813         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
5814         changes signal is "StateChanged" and not "Status".
5815         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
5816
5817 2007-12-06  Dan Williams  <dcbw@redhat.com>
5818
5819         * src/supplicant-manager/nm-supplicant-config.c
5820                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
5821                         to only send some options when they make sense; also send phase2
5822                         option to the supplicant (possible fix for rh #399631)
5823
5824 2007-12-06  Tambet Ingo  <tambet@gmail.com>
5825
5826         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
5827         arguments: This whole file shouldn't really know anything about NMDevices, it
5828         should deal only with device interfaces. Devices might have different ifaces for
5829         different stuff and this place shouldn't know anything about it.
5830
5831         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
5832         (global_state_changed): Implement. In the current NM it's not really important,
5833         but will be required in the case of multiple active devices. (Or even better,
5834         if stuff like that gets moved out from NM).
5835
5836         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
5837         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
5838         instead.
5839
5840         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
5841         devices like serial devices (ttyS0 and ppp0 for example).
5842         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
5843         set.
5844         (nm_device_set_ip_iface): Implement.
5845         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
5846         after setting ip4_config from here ...
5847         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
5848         than this function should call nm_system_device_set_from_ip4_config() because no
5849         other code has enough information on which arguments to use. So instead, other code
5850         could just set the new ip4 config using this function and everyone is happy.
5851
5852         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
5853         if we happen to get deactivated while something is pending.
5854         (automatic_registration): Handle the response that indicates pending network
5855         registration and wait until the pending registration is done.
5856         (real_deactivate_quickly): If there's a pending operation, cancel it.
5857
5858         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
5859         (real_deactivate_quickly): ... and remove it when it's down.
5860         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
5861         it if needed.
5862         (nm_serial_device_wait_for_reply): Ditto.
5863
5864 2007-12-05  Tambet Ingo  <tambet@gmail.com>
5865
5866         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
5867         (get_network_done): Remove newline, nm_info() does it already.
5868         (real_act_stage1_prepare): Turn the modem echo off.
5869
5870         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
5871         device, set the route to the device interface. This is a hack.
5872
5873         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
5874         return, no need for a new-line.
5875         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
5876         Change the device iface here (ugh).
5877         (real_act_stage4_get_ip4_config): Implement.
5878         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
5879         Restore the device iface.
5880
5881         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
5882         device is not wired or wireless (eg, automatically upped) device.
5883
5884         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
5885         it isn't.
5886         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
5887
5888         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
5889         before calling it's is_device_fn().
5890
5891 2007-12-05  Dan Williams  <dcbw@redhat.com>
5892
5893         * libnm-util/nm-utils.c
5894                 - (nm_utils_register_value_transformations,
5895                    nm_utils_convert_gvalue_hash_to_string): better debug output of
5896                         GHashTables of GValues too
5897
5898 2007-12-04  Dan Williams  <dcbw@redhat.com>
5899
5900         * initscript/RedHat/NetworkManager.in
5901                 - No longer start named; it's D-Bus interface is going away
5902
5903 2007-12-04  Dan Williams  <dcbw@redhat.com>
5904
5905         Patch from Michael Biebl <biebl@debian.org>
5906
5907         * system-settings/plugins/ifcfg/Makefile.am
5908           system-settings/src/main.c
5909           system-settings/src/Makefile.am
5910                 - Put system settings plugins in NM plugins dir
5911
5912         * src/ppp-manager/Makefile.am
5913           src/ppp-manager/nm-ppp-manager.c
5914                 - Move pppd plugin to NM plugins dir
5915
5916 2007-12-04  Dan Williams  <dcbw@redhat.com>
5917
5918         * libnm-util/nm-setting-vpn-properties.h
5919                 - Clarify usage of the 'data' member of the setting
5920
5921         * libnm-util/nm-setting-vpn-properties.c
5922                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
5923                 - (set_property): just remove all the settings; don't recreate the has
5924                 - (update_one_secret): don't need to create the hash table here since
5925                         it should always be present
5926
5927 2007-12-03  Tambet Ingo  <tambet@gmail.com>
5928
5929         Implement PIN and PUK requesting.
5930
5931         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
5932         (enter_pin): Handle PIN and PUK requests.
5933         (real_act_stage1_prepare): Clear the secret type.
5934         (real_connection_secrets_updated): Implement this class method to get
5935         notified when new secrets arrive.
5936         (nm_umts_device_class_init): Add private data back to the umts device class
5937         to store the required secret type.
5938
5939 2007-12-01  Dan Williams  <dcbw@redhat.com>
5940
5941         * system-settings/plugins/ifcfg/parser.c
5942                 - (parser_parse_file): don't try to verify NULL connections
5943
5944 2007-12-01  Dan Williams  <dcbw@redhat.com>
5945
5946         * system-settings/src/main.c
5947                 - (load_connections, add_connection_to_settings): actually export
5948                         plugin-provided connections over D-Bus so NM can get them
5949
5950 2007-12-01  Dan Williams  <dcbw@redhat.com>
5951
5952         * system-settings/plugins/ifcfg/parser.c
5953           system-settings/plugins/ifcfg/parser.h
5954           system-settings/plugins/ifcfg/plugin.c
5955                 - Hook up more inotify bits (untested)
5956
5957 2007-11-29  Dan Williams  <dcbw@redhat.com>
5958
5959         * system-settings/src/nm-system-config-interface.h
5960           system-settings/src/nm-system-config-interface.c
5961                 - (nm_system_config_interface_init,
5962                    nm_system_config_interface_get_connections): add
5963
5964         * system-settings/src/main.c
5965                 - (load_plugins, load_connections, main): use a GSList for plugins
5966                         to ensure priority ordering
5967
5968         * system-settings/plugins/ifcfg/parser.c
5969                 - (ifcfg_error_quark): move to plugin.c, and rename
5970
5971         * system-settings/plugins/ifcfg/plugin.h
5972           system-settings/plugins/ifcfg/plugin.c
5973                 - (ifcfg_plugin_error_quark): move here from parser.c
5974                 - rework connection loading and initialization
5975                 - Add preliminary inotify support for network profile config file
5976
5977 2007-11-28  Tambet Ingo  <tambet@gmail.com>
5978
5979         Merge the beginnings of the new GSM card support.
5980
5981         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
5982         ppp watch source before killing pppd - If this happens from g_object_unref()
5983         then the ppp manager is already destroyed by the time the watch callback runs.
5984
5985         * src/nm-hal-manager.c: Add a device_type_name string to the device
5986         creators, so that we can print a nice human readable string when a
5987         device is added.
5988
5989         * src/nm-umts-device.c (automatic_registration_get_network): Query
5990         for the activated network, not much is done with the result thought.
5991
5992         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
5993         (ppp_ip4_config): Change the device state to activated here for now.
5994         (real_check_connection): Make sure the connection includes ppp setting.
5995
5996         * libnm-glib/nm-client.c (get_device): Handle umts devices.
5997
5998         * libnm-glib/Makefile.am: Add the new files to build.
5999
6000         * libnm-glib/nm-umts-device.c: 
6001         * libnm-glib/nm-umts-device.h: Implement.
6002
6003 2007-11-26  Tambet Ingo  <tambet@gmail.com>
6004
6005         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
6006         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
6007
6008         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
6009         the timeout source - this function is only called when the timeout source has
6010         been removed.
6011         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
6012         to be big enough to contain the terminating zero element as well.
6013         The timeout argument is meant to be in seconds now.
6014         (real_deactivate_quickly): Implement.
6015
6016         * src/NetworkManager.conf: Allow root to own 
6017         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
6018
6019         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
6020         (not unsigned ints).
6021
6022         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
6023         small issue with parity bounds - capital letters have lower ascii codes
6024         than lower case letters.
6025
6026         * libnm-util/nm-connection.c (register_default_settings): Register serial
6027         and umts settings.
6028
6029 2007-11-22  Tambet Ingo  <tambet@gmail.com>
6030
6031         Remove the "index" property from devices as not all device types have this.
6032
6033         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
6034
6035         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
6036         (wired_device_creator): Get the device interface from hal to create the device.
6037         (wireless_device_creator): Ditto.
6038
6039         * src/nm-device.c (nm_device_init): Remove the index member.
6040         (constructor): Remove the checks for index property, make interface property
6041         a require constructor property.
6042         Use the HAL udi for DBus path for devices.
6043         (nm_device_get_index): Remove.
6044         (set_property): Remove index handling.
6045         (get_property): Ditto.
6046         (nm_device_get_dbus_path): Remove.
6047
6048         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
6049         property.
6050
6051         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
6052         Access the device index through it's interface.
6053         (nm_device_802_3_ethernet_link_deactivated): Ditto.
6054         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
6055         index argument. Add interface argument.
6056
6057         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
6058         the useless test_dev argument. Remove index argument. Add interface arugment.
6059
6060         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
6061         device index through interface.
6062         (nm_system_set_mtu): Ditto.
6063
6064         * introspection/nm-device.xml: Remove the "Index" property.
6065
6066 2007-11-21  Tambet Ingo  <tambet@gmail.com>
6067
6068         * src/nm-serial-device.c: 
6069         * src/nm-serial-device.c: 
6070         * src/nm-umts-device.c:
6071         * src/nm-umts-device.h: Implement.
6072
6073         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
6074         allocated by libhal.
6075         (modem_device_creator): Implement.
6076         (register_built_in_creators): Register the modem creator.
6077
6078         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
6079         Remove the unused test_dev argument.
6080
6081         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
6082
6083         * src/Makefile.am: Add new files to build.
6084         Link in ppp-manager.
6085
6086         * libnm-util/nm-setting-umts.c: 
6087         * libnm-util/nm-setting-umts.h: 
6088         * libnm-util/nm-setting-serial.c: 
6089         * libnm-util/nm-setting-serial.h: Implement.
6090
6091         * libnm-util/Makefile.am: Add new files to build.
6092
6093 2007-11-28  Dan Williams  <dcbw@redhat.com>
6094
6095         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
6096
6097         Support DHCP-provided static routes.
6098
6099         * src/nm-ip4-config.h
6100           src/nm-ip4-config.c
6101                 - Add get/set functions for static routes
6102
6103         * src/dhcp-manager/nm-dhcp-manager.c
6104                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
6105                         DHCP response
6106
6107         * src/NetworkManagerSystem.c
6108                 - (nm_system_device_set_from_ip4_config): set any static routes on the
6109                         interface when applying the IP4Config
6110
6111 2007-11-28  Dan Williams  <dcbw@redhat.com>
6112
6113         * src/nm-device-802-11-wireless.c
6114                 - (real_act_stage1_prepare): mark APs created for hidden networks
6115                         as non-broadcasting
6116
6117 2007-11-27  Dan Williams  <dcbw@redhat.com>
6118
6119         * system-settings/src/nm-system-config-interface.h
6120                 - Note how to store secrets on NMSetting objects
6121
6122         * system-settings/src/dbus-settings.c
6123                 - (connection_settings_get_secrets): implement
6124
6125 2007-11-27  Dan Williams  <dcbw@redhat.com>
6126
6127         * system-settings/plugins/ifcfg/Makefile.am
6128           system-settings/plugins/ifcfg/parser.c
6129           system-settings/plugins/ifcfg/parser.h
6130           system-settings/plugins/ifcfg/plugin.c
6131                 - Parse wireless connections too
6132
6133         * system-settings/src/dbus-settings.c
6134           system-settings/src/dbus-settings.h
6135           system-settings/src/main.c
6136                 - Handle connection update/removal if the plugin supports it
6137
6138 2007-11-27  Dan Williams  <dcbw@redhat.com>
6139
6140         * src/nm-dbus-manager.h
6141           src/nm-hal-manager.c
6142                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
6143                         do it for them
6144
6145         * src/Makefile.am
6146           src/NetworkManagerDbusUtils.c
6147           src/NetworkManagerDbusUtils.h
6148                 - Remove these two source files; they are unused
6149
6150 2007-11-27  Dan Williams  <dcbw@redhat.com>
6151
6152         * src/vpn-manager/nm-vpn-manager.c
6153                 - (impl_vpn_manager_connect): fix system settings check (found by
6154                         James M. Leddy)
6155
6156 2007-11-26  Dan Williams  <dcbw@redhat.com>
6157
6158         * Fix warnings so everything compiles with --enable-more-warnings
6159
6160 2007-11-25  Dan Williams  <dcbw@redhat.com>
6161
6162         * system-settings/*
6163                 - Rework structure and code to use GModule-loaded plugins and a plugin
6164                         interface that plugins export to the system settings service
6165
6166 2007-11-21  Dan Williams  <dcbw@redhat.com>
6167
6168         * system-settings/*
6169                 - Add Soren's system settings service.  Needs work for distros other
6170                         than Fedora; the backends from NM should mostly migrate to here
6171                         and be converted to GObjects
6172
6173 2007-11-21  Dan Williams  <dcbw@redhat.com>
6174
6175         * libnm-util/nm-setting-vpn-properties.c
6176                 - (set_property): must deep-copy the given settings hash, otherwise
6177                         double-free errors occur when the setting is disposed of
6178
6179 2007-11-21  Dan Williams  <dcbw@redhat.com>
6180
6181         * src/vpn-manager/nm-vpn-act-request.h
6182           src/vpn-manager/nm-vpn-act-request.c
6183                 - Remove; unused
6184
6185 2007-11-20  Dan Williams  <dcbw@redhat.com>
6186
6187         * libnm-util/nm-utils.c
6188                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
6189                    nm_utils_convert_ip4_addr_struct_array_to_string,
6190                    nm_utils_register_value_transformations): print out the readable
6191                         values of more types of properties of NMSettings subclasses
6192
6193 2007-11-20  Dan Williams  <dcbw@redhat.com>
6194
6195         * libnm-util/nm-setting-ip4-config.c
6196                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
6197                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
6198                         marshal GValueArrays inside collections, so switch to types that it
6199                         can actually marshal/demarshal
6200
6201 2007-11-16  Dan Williams  <dcbw@redhat.com>
6202
6203         * libnm-util/nm-setting-wireless-security.c
6204                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
6205                         minimal verification of EAP methods too
6206                 - (verify): verify phase1 eap methods too
6207
6208 2007-11-15  Dan Williams  <dcbw@redhat.com>
6209
6210         * libnm-glib/nm-device.h
6211           libnm-glib/nm-device.c
6212                 - (nm_device_get_product, nm_device_get_vendor): should be returning
6213                         const char *
6214
6215 2007-11-15  Dan Williams  <dcbw@redhat.com>
6216
6217         * libnm-glib/nm-device.c
6218                 - (get_product_and_vendor): don't try to free things that should be
6219                         freed
6220
6221 2007-11-15  Dan Williams  <dcbw@redhat.com>
6222
6223         * src/NetworkManagerUtils.c
6224                 - (nm_ethernet_address_is_valid): unbreak previous fix
6225
6226 2007-11-15  Dan Williams  <dcbw@redhat.com>
6227
6228         * src/supplicant-manager/nm-supplicant-config.c
6229                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
6230                         options
6231
6232 2007-11-15  Dan Williams  <dcbw@redhat.com>
6233
6234         * src/NetworkManagerUtils.c
6235                 - (nm_ethernet_address_is_valid): fix style, clarify
6236                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
6237
6238         * src/nm-device-802-11-wireless.c
6239                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
6240                 - (nm_device_802_11_wireless_get_ssid,
6241                    nm_device_802_11_wireless_get_bssid,
6242                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
6243                         before calling the ioctl; fixes valgrind-reported jump depends on
6244                         uninitialized value errors
6245
6246 2007-11-15  Dan Williams  <dcbw@redhat.com>
6247
6248         * libnm-util/nm-setting.c
6249                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
6250                         unecessary to serialize 'name'
6251
6252         * src/nm-activation-request.c
6253                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
6254                         the GetSecrets call
6255
6256 2007-11-15  Dan Williams  <dcbw@redhat.com>
6257
6258         * libnm-util/nm-setting-connection.h
6259           libnm-util/nm-setting-connection.c
6260                 - Rename the 'name' property to 'id', because it conflicted with the
6261                         NMSetting superclass' 'name' property.
6262
6263         * libnm-util/nm-setting.c
6264                 - (nm_setting_to_hash): serialize the 'name' property
6265                 - (one_property_cb): ignore 'name' on deserialization of a connection
6266
6267         * src/nm-device-802-11-wireless.c
6268           src/vpn-manager/nm-vpn-connection.c
6269           src/NetworkManagerPolicy.c
6270                 - Fix up for NMSettingConnection 'name'->'id' changes
6271
6272 2007-11-13  Dan Williams  <dcbw@redhat.com>
6273
6274         * libnm-glib/nm-device-802-11-wireless.h
6275           libnm-glib/nm-device-802-11-wireless.c
6276                 - (nm_device_802_11_wireless_get_hw_address): return should be const
6277
6278         * test/nm-tool.c
6279           libnm-glib/libnm-glib-test.c
6280                 - Fixes for above change
6281
6282 2007-11-12  Dan Williams  <dcbw@redhat.com>
6283
6284         * src/supplicant-manager/nm-supplicant-settings-verify.c
6285                 - Allow fragment_size option
6286
6287         * src/supplicant-manager/nm-supplicant-settings-verify.c
6288                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
6289                         EAP fragment size than the default to help some TLS connections
6290
6291 2007-11-12  Dan Williams  <dcbw@redhat.com>
6292
6293         Make certs actually work.  The private key is now a secret, and should be
6294         decrypted when requested by NM.  The private key and phase2 private key
6295         passwords are no longer interesting to NM because they should be used by
6296         the settings service to decrypt the private key itself before passing it
6297         to NM, and hence have been removed as fields.
6298
6299         * libnm-util/nm-setting-wireless-security.h
6300           libnm-util/nm-setting-wireless-security.c
6301                 - Remove private-key-passwd and phase2-private-key-passwd from
6302                         properties
6303                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
6304                    need_secrets): use property #defines instead strings to keep things
6305                         consistent
6306                 - (need_secrets_tls): if a client certificate is present but no
6307                         private key, request the private key
6308                 - (set_property, get_property, nm_setting_wireless_security_class_init):
6309                         remove private key password stuff, mark private keys as secret
6310
6311         * src/supplicant-manager/nm-supplicant-settings-verify.c
6312                 - Remove private_key_passwd and private_key2_passwd from opt_table
6313
6314 2007-11-09  Dan Williams  <dcbw@redhat.com>
6315
6316         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
6317         Since the vpn-properties are managed and known by the VPN daemons themselves,
6318         libnm-util doesn't know what's secret and what's in the setting's 'data'
6319         member.
6320
6321         * libnm-util/nm-setting.h
6322           libnm-util/nm-setting.c
6323                 - Add the ability for subclasses to override update_one_secret
6324
6325         * libnm-util/nm-setting-vpn-properties.c
6326                 - Override update_one_secret and just copy the values into the
6327                         internal table
6328
6329 2007-11-09  Dan Williams  <dcbw@redhat.com>
6330
6331         * libnm-glib/nm-settings.h
6332           libnm-glib/nm-settings.c
6333                 - (nm_settings_new_error): remove
6334                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
6335                         clients should use g_set_error() with NM_SETTINGS_ERROR
6336
6337 2007-11-09  Dan Williams  <dcbw@redhat.com>
6338
6339         * src/supplicant-manager/nm-supplicant-config.c
6340                 - (nm_supplicant_config_add_setting_wireless_security): private key
6341                         passwords are never sent to wpa_supplicant, because the supplicant
6342                         should never be reading random files from the disk.  Clients like
6343                         the applet are required to decrypt the private keys and send NM
6344                         the decrypted blobs.
6345
6346 2007-11-08  Dan Williams  <dcbw@redhat.com>
6347
6348         * libnm-util/nm-setting-wireless-security.h
6349           libnm-util/nm-setting-wireless-security.c
6350                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
6351                         members to 802-11-wireless-security structure.  This should be used
6352                         to indicate that the values in private-key and phase2-private-key
6353                         are already decrypted by the user agent, and that no
6354                         private-key-passwd or phase2-private-key-passwd should be expected.
6355                         It is not meant to be a stored configuration value, but meant to
6356                         be set when the conneciton is sent to NM over dbus.
6357
6358 2007-11-08  Dan Williams  <dcbw@redhat.com>
6359
6360         * libnm-util/nm-connection.h
6361           libnm-util/nm-connection.c
6362                 - (nm_connection_need_secrets): add argument to return hints
6363
6364         * src/nm-device-802-11-wireless.c
6365                 - (link_timeout_cb, supplicant_connection_timeout_cb,
6366                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
6367                         nm_connection_need_secrets() change
6368
6369 2007-11-07  Tambet Ingo  <tambet@gmail.com>
6370
6371         Rework NMSetting structures: Move each setting to it's own file.
6372         Convert to GObject. Remove home grown setting types and use GTypes.
6373         Use GObject property introspection for hash conversion, enumerating
6374         properties, etc.
6375
6376         * libnm-util/nm-setting-connection.[ch]
6377         * libnm-util/nm-setting-ip4-config.[ch]
6378         * libnm-util/nm-setting-ppp.[ch]
6379         * libnm-util/nm-setting-vpn.[ch]
6380         * libnm-util/nm-setting-vpn-properties.[ch]
6381         * libnm-util/nm-setting-wired.[ch]
6382         * libnm-util/nm-setting-wireless.[ch]
6383         * libnm-util/nm-setting-wireless-security.[ch]
6384
6385         New files, each containing a setting.
6386
6387         * libnm-util/nm-setting-template.[ch]: A template for creating new
6388         settings. To use it, just replace 'template' with the new setting
6389         name, and you're half-way done.
6390
6391         * libnm-util/nm-setting.c: Convert to GObject and use GObject
6392         introspection instead of internal types and tables.
6393
6394         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
6395
6396         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
6397         GValue types defined by dbus-glib for composed types like collections,
6398         structures and maps.
6399
6400         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
6401         a setting from connection takes the setting type now. Also, since
6402         the settings are in multiple files, include relevant settings.
6403
6404 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
6405
6406         * configure.in:
6407         * src/backends/NetworkManagerGentoo.c:
6408         (nm_system_restart_mdns_responder): Implement restarts for other mdns
6409         providers in Gentoo.
6410
6411 2007-10-31  Dan Williams  <dcbw@redhat.com>
6412
6413         * libnm-util/nm-connection.c
6414                 - (gvalue_to_string): handle UINT32 arrays
6415
6416 2007-10-31  Dan Williams  <dcbw@redhat.com>
6417
6418         * libnm-glib/nm-device.h
6419           libnm-glib/nm-device.c
6420                 - (nm_device_get_description): remove
6421                 - (nm_device_get_product, nm_device_get_vendor): add
6422                 - (nm_device_update_description): new function (private); walk HAL
6423                         devices to get product and vendor IDs for a specific device
6424
6425 2007-10-31  Dan Williams  <dcbw@redhat.com>
6426
6427         * src/nm-device-802-11-wireless.c
6428                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
6429
6430 2007-10-29  Dan Williams  <dcbw@redhat.com>
6431
6432         * src/nm-hal-manager.c
6433                 - (device_added, device_new_capability): ignore device additions while
6434                         asleep.  Fixes crash caused when NM goes to sleep, a network device
6435                         kernel module is unloaded and reloaded and recognized by NM again.
6436
6437 2007-10-26  Dan Williams  <dcbw@redhat.com>
6438
6439         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
6440
6441         * src/NetworkManagerAP.c
6442           src/NetworkManagerAP.h
6443           libnm-glib/nm-access-point.c
6444           libnm-glib/nm-access-point.h
6445                 - Make 'rate' property a guint32 to better match with WEXT and
6446                         wpa_supplicant and to allow representation of higher bitrates
6447
6448         * src/nm-device-802-11-wireless.c
6449           introspection/nm-device-802-11-wireless.xml
6450           libnm-glib/nm-device-802-11-wireless.c
6451           libnm-glib/nm-device-802-11-wireless.h
6452                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
6453
6454         * src/nm-device-802-3-ethernet.c
6455           src/nm-device-802-3-ethernet.h
6456           introspection/nm-device-802-3-ethernet.xml
6457           libnm-glib/nm-device-802-3-ethernet.c
6458           libnm-glib/nm-device-802-3-ethernet.h
6459                 - Make 'speed' property a guint32 to match other speed/rate types
6460                 - Make nm_device_802_3_ethernet_get_speed() static
6461
6462         * test/nm-tool.c
6463                 - Update for the changes above
6464
6465 2007-10-26  Dan Williams  <dcbw@redhat.com>
6466
6467         * src/named-manager/nm-named-manager.c
6468                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
6469                     not calling fclose() twice on some error conditions
6470
6471 2007-10-26  Dan Williams  <dcbw@redhat.com>
6472
6473         * src/nm-activation-request.c
6474                 - (dispose): clean up indentation; get the right DBusGProxy object to
6475                         cancel the GetSecrets pending call on.  Need to use the Secrets
6476                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
6477                         pending call doesn't get canceled, and pressing Cancel in the
6478                         applet's password dialog could cause get_secrets_cb() to be called
6479                         after the activation request has already been destroyed
6480
6481 2007-10-24  Dan Williams  <dcbw@redhat.com>
6482
6483         * src/supplicant-manager/nm-supplicant-config.c
6484                 - (nm_supplicant_config_add_blob): pass blob data and length for
6485                         verification
6486                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
6487
6488 2007-10-24  Dan Williams  <dcbw@redhat.com>
6489
6490         * src/supplicant-manager/nm-supplicant-settings-verify.c
6491                 - (opt_table): max length for certificates should be 65536
6492
6493 2007-10-24  Dan Williams  <dcbw@redhat.com>
6494
6495         * src/supplicant-manager/nm-supplicant-interface.c
6496                 - (blob_free): correctly free blob data after use
6497                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
6498
6499 2007-10-24  Dan Williams  <dcbw@redhat.com>
6500
6501         * libnm-util/nm-setting.c
6502                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
6503                         EAP method need secrets
6504
6505 2007-10-24  Dan Williams  <dcbw@redhat.com>
6506
6507         * src/backends/NetworkManagerRedHat.c
6508                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
6509
6510 2007-10-23  Dan Williams  <dcbw@redhat.com>
6511
6512         * libnm-util/nm-setting.c
6513           libnm-util/nm-setting.c
6514                 - (nm_setting_compare): implement
6515                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
6516                    compare_one_hash_gvalue): compare the contents of a setting
6517
6518         * libnm-util/nm-connection.c
6519                 - (nm_connection_compare): implement
6520
6521 2007-10-23  Dan Williams  <dcbw@redhat.com>
6522
6523         * src/nm-activation-request.c
6524                 - (get_secrets_cb): handle getting a setting back that is more than
6525                         just secrets (ie, user changed auth or EAP method or something)
6526
6527 2007-10-23  Dan Williams  <dcbw@redhat.com>
6528
6529         * libnm-util/nm-setting.c
6530           libnm-util/nm-setting.h
6531                 - (nm_setting_verify): new function; verify one setting
6532                 - (nm_settings_verify_all): rename from nm_settings_verify()
6533                 - (setting_connection_verify, setting_wireless_verify): allow NULL
6534                         all_settings
6535
6536         * libnm-util/nm-connection.c
6537                 - (nm_connection_replace_settings, nm_connection_verify,
6538                    nm_connection_new_from_hash): handle nm_settings_verify() rename
6539
6540 2007-10-23  Dan Williams  <dcbw@redhat.com>
6541
6542         * src/nm-device-802-11-wireless.c
6543                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
6544                         desired behavior
6545
6546 2007-10-23  Dan Williams  <dcbw@redhat.com>
6547
6548         * src/supplicant-manager/nm-supplicant-settings-verify.c
6549                 - eap_allowed, phase2_allowed: harmonize with allowed values from
6550                         nm-settings.c
6551
6552 2007-10-23  Dan Williams  <dcbw@redhat.com>
6553
6554         * src/nm-device-802-11-wireless.c
6555                 - (real_act_stage2_config): after the first association failure,
6556                         if the connection still needs secrets ask the user for them
6557                         explicitly.  After the fourth association failure due to bad
6558                         secrets, fail the connection entirely.  Handles the GetSecrets
6559                         loop that NM gets into when the provided secrets don't match up
6560                         with the connection details.
6561
6562 2007-10-23  Dan Williams  <dcbw@redhat.com>
6563
6564         * src/supplicant-manager/nm-supplicant-config.c
6565                 - (nm_supplicant_config_add_setting_wireless_security): only add
6566                         WPA-specific options when WPA is in use
6567
6568 2007-10-23  Dan Williams  <dcbw@redhat.com>
6569
6570         * src/supplicant-manager/nm-supplicant-config.c
6571                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
6572                         secret doesn't need to be unhexified
6573
6574 2007-10-23  Dan Williams  <dcbw@redhat.com>
6575
6576         * libnm-util/nm-setting.c
6577                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
6578                         before trying to do something with it
6579
6580 2007-10-23  Dan Williams  <dcbw@redhat.com>
6581
6582         * src/nm-device-802-11-wireless.c
6583                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
6584
6585 2007-10-23  Dan Williams  <dcbw@redhat.com>
6586
6587         * src/nm-device-802-11-wireless.c
6588                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
6589                         non-SSID-broadcasting APs
6590
6591 2007-10-23  Dan Williams  <dcbw@redhat.com>
6592
6593         * src/NetworkManagerAP.c
6594                 - (match_cipher, security_compatible): remove
6595                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
6596                         libnm-util instead
6597
6598 2007-10-23  Dan Williams  <dcbw@redhat.com>
6599
6600         * libnm-util/nm-utils.c
6601           libnm-util/nm-utils.h
6602                 - (nm_utils_ap_security_compatible): common function for checking
6603                         whether a specific AP is compatible with an NMConnection
6604
6605 2007-10-23  Dan Williams  <dcbw@redhat.com>
6606
6607         * libnm-util/nm-setting.c
6608                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
6609                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
6610                    need_secrets_password, setting_wireless_security_verify): fix
6611                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
6612                         secrets logic for each supported EAP method
6613
6614 2007-10-23  Dan Williams  <dcbw@redhat.com>
6615
6616         * src/supplicant-manager/nm-supplicant-config.c
6617                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
6618                         config option name, should be "private_key2_passwd"
6619
6620 2007-10-22  Tambet Ingo  <tambet@gmail.com>
6621
6622         Implement support for static IP addresses, additional/overridden DNS and
6623         DNS domain search lists.
6624
6625         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
6626         (ip4_addresses_to_gvalue): Implement.
6627         (convert_array_to_byte_array): Implement.
6628         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
6629         NM_S_TYPE_IP4_ADDRESSES.
6630         (nm_setting_hash): Ditto.
6631         (default_setting_clear_secrets): Add a default case for the switch: IP address
6632         shouldn't be secret, ever.
6633         (setting_ip4_config_verify): Update, requires addresses in case of manual
6634         configurations.
6635         (setting_ip4_config_destroy): Free stuff.
6636
6637         * src/nm-device.c (merge_ip4_config): Implement.
6638         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
6639
6640 2007-10-22  Dan Williams  <dcbw@redhat.com>
6641
6642         * libnm-util/nm-setting.c
6643                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
6644                         pairwise cipher options for Dynamic WEP
6645
6646 2007-10-21  Dan Williams  <dcbw@redhat.com>
6647
6648         * src/NetworkManagerAP.c
6649           src/NetworkManagerAP.h
6650                 - Rename 'articifical' -> 'fake' since that's what they are until
6651                         noticed in scans
6652                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
6653                         from the attributes in an NMConnection object
6654                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
6655                         WPA Enterprise
6656                 - (nm_ap_match_in_list): find a matching AP in a scan list
6657
6658         * src/nm-device-802-11-wireless.c
6659                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
6660                         AP when searching the scan list; match on frequency and mode too
6661                 - (nm_device_802_11_wireless_get_frequency): implement
6662                 - (merge_scanned_ap): replace duplicate matching logic with
6663                         nm_ap_match_in_list()
6664                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
6665                         the user is trying to connect to a hidden network that is not yet
6666                         known from the scan list
6667                 - (activation_success_handler): now that the card knows the AP's BSSID,
6668                         there may already be a scanned AP in the scan list that is what
6669                         we really wanted to connect to, but didn't know at the time.  Use
6670                         that instead of the 'fake' AP created at activation start and get
6671                         rid of the 'fake' AP 
6672                 - (cull_scan_list): don't remove fake APs
6673
6674 2007-10-21  Dan Williams  <dcbw@redhat.com>
6675
6676         * src/nm-activation-request.h
6677           src/nm-activation-request.c
6678                 - (nm_act_request_set_specific_object): new function; allow setting the
6679                         specific object if one isn't set yet
6680
6681 2007-10-20  Dan Williams  <dcbw@redhat.com>
6682
6683         * src/supplicant-manager/nm-supplicant-config.h
6684           src/supplicant-manager/nm-supplicant-config.c
6685                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
6686                         table to store blobs
6687                 - (nm_supplicant_config_add_blob): new function; add blob to internal
6688                         blob hash table
6689                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
6690                 - (nm_supplicant_config_add_setting_wireless_security): handle
6691                         options that use certificates (ie, blobs)
6692
6693         * src/nm-device-802-11-wireless.c
6694                 - (build_supplicant_config): pass a UID (just use the connection path)
6695                         to the supplicant config as now required
6696
6697         * src/supplicant-manager/nm-supplicant-interface.c
6698                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
6699                         there are any blobs to send to wpa_supplicant, send those first
6700                         before sending the network configuration
6701
6702 2007-10-19  Dan Williams  <dcbw@redhat.com>
6703
6704         Split the GetSecrets() call off to a separate D-Bus interface so that it
6705         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
6706         should be able to call GetSecrets().
6707
6708         * include/NetworkManager.h
6709                 - Define the connection secrets D-Bus interface
6710
6711         * src/vpn-manager/nm-vpn-connection.c
6712                 - (clear_need_auth): get the right proxy object for the connection
6713                         secrets interface
6714                 - (get_connection_secrets): use the connection secrets proxy; send
6715                         empty hints in get secrets request
6716
6717         * src/nm-activation-request.c
6718                 - (nm_act_request_request_connection_secrets): use the connection
6719                         secrets proxy; send empty hints in get secrets request
6720
6721         * src/nm-manager.c
6722           src/nm-manager.h
6723                 - (connection_get_settings_cb): set the connection secrets proxy on
6724                         the connection object too
6725                 - (internal_new_connection_cb): create the connection secrets proxy
6726
6727         * introspection/nm-settings-connection.xml
6728                 - Define Connection.Secrets interface and move GetSecrets there
6729                 - Add a 'hints' argument to GetSecrets
6730
6731         * libnm-glib/nm-settings.c
6732           libnm-glib/nm-settings.h
6733                 - (impl_connection_settings_get_secrets): add 'hints' argument
6734
6735 2007-10-19  Dan Williams  <dcbw@redhat.com>
6736
6737         * src/nm-device.c
6738                 - (constructor): add message about what path a device is exported as
6739                         to help in debugging rh #339011
6740
6741 2007-10-17  Dan Williams  <dcbw@redhat.com>
6742
6743         * libnm-util/nm-utils.h
6744           libnm-util/nm-utils.c
6745                 - (nm_utils_security_valid): common function to help find the intersection
6746                         of capabilities of devices and (optionally) access points
6747
6748 2007-10-17  Dan Williams  <dcbw@redhat.com>
6749
6750         * src/nm-device-802-11-wireless.c
6751                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
6752                         don't get erroneously cleared
6753
6754 2007-10-17  Dan Williams  <dcbw@redhat.com>
6755
6756         * src/nm-manager.h
6757           src/nm-manager.c
6758           src/nm-hal-manager.c
6759                 - (device_removed, finalize, nm_manager_remove_device,
6760                    nm_manager_sleep): add a 'deactivate' argument to 
6761                    nm_manager_remove_device() to fully deactivate devices when necessary
6762                    (ie, always except when waking up)
6763
6764 2007-10-16  Dan Williams  <dcbw@redhat.com>
6765
6766         * libnm-util/nm-setting.c
6767                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
6768                         also isn't valid phase2 autheap method
6769
6770 2007-10-16  Dan Williams  <dcbw@redhat.com>
6771
6772         * libnm-glib/nm-client.c
6773                 - (update_wireless_status): consolidate updates of wireless status
6774                 - (constructor): use update_wireless_status()
6775                 - (manager_running): set wireless status off when NM goes away; requery
6776                         the wireless status when NM comes back
6777
6778 2007-10-16  Dan Williams  <dcbw@redhat.com>
6779
6780         * libnm-glib/nm-client.c
6781                 - (nm_client_activate_device): actually use the fixed-up specific
6782                         object path
6783
6784 2007-10-16  Dan Williams  <dcbw@redhat.com>
6785
6786         * src/nm-hal-manager.c
6787                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
6788                         killswitch error messages once
6789
6790 2007-10-16  Dan Williams  <dcbw@redhat.com>
6791
6792         * src/nm-manager.c
6793                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
6794                         if it's disabled in hardware; don't touch network devices while
6795                         NM is asleep
6796
6797 2007-10-16  Dan Williams  <dcbw@redhat.com>
6798
6799         * libnm-util/nm-client.c
6800                 - (nm_client_activate_device): convert NULL specific_object to "/",
6801                         which is used in place of NULL
6802
6803         * src/nm-manager.c
6804                 - (impl_manager_activate_device): convert "/" specific_object back into
6805                         NULL
6806
6807 2007-10-16  Tambet Ingo  <tambet@gmail.com>
6808
6809         Implement a generic NMSetting creator from setting name.
6810         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
6811         add a virtual function 'populate_fn'.
6812
6813         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
6814         (register_default_creators): Register setting creators instead of functions
6815         that create and then populate.
6816         (parse_one_setting): Use the common setting creator and then setting specific
6817         poplulation function.
6818
6819         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
6820         they all looked exactly the same.
6821         Add a 'populate_fn' virtual function to NMSetting.
6822         Use default virtual functions in case they are not overriden.
6823         (nm_setting_populate_from_hash): Implement.
6824
6825         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
6826         name, use a defined string.
6827         (real_act_stage4_get_ip4_config): Ditto.
6828
6829 2007-10-16  Tambet Ingo  <tambet@gmail.com>
6830
6831         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
6832         HAL is int, not uint.
6833
6834 2007-10-15  Tambet Ingo  <tambet@gmail.com>
6835
6836         Implement killswitch polling through HAL.
6837
6838         * src/nm-manager.c: Add wireless hardware status property. Add 
6839         'properties-changed' signal for changes in wireless and wireless hardware
6840         state changes.
6841
6842         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
6843         and update NMManager's wireless hardware state when it has changed.
6844         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
6845         already does that.
6846
6847         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
6848         values of wireless state and wireless hardware state. Listen for the
6849         'properties-changed' signals, update the cached values and emit notify.
6850
6851         * include/NetworkManager.h: Fix a typo in a comment.
6852
6853 2007-10-14  Dan Williams  <dcbw@redhat.com>
6854
6855         * libnm-util/nm-setting.c
6856                 - (setting_wireless_security_need_secrets): handle LEAP secrets
6857
6858 2007-10-13  Dan Williams  <dcbw@redhat.com>
6859
6860         * libnm-util/nm-setting.h
6861           libnm-util/nm-setting.c
6862           src/supplicant-manager/nm-supplicant-config.c
6863                 - Make the 'proto' field of the 802-11-wireless-security field a
6864                         string list
6865
6866 2007-10-12  Tambet Ingo  <tambet@gmail.com>
6867
6868         Rework the "properties-changed" signal listening implementation.
6869         Add a generic implementation to NMObject class that listens for
6870         the signal and calls property setters of the target NMObject.
6871
6872         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
6873
6874         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
6875         code to the end of file so that all the static functions are available
6876         without extra declarations.
6877         Remove the "properties-changed" signal handling and use the framework from
6878         NMObject.
6879         Implement property setters for properties that change with 
6880         "properties-changed" signal.
6881
6882         * libnm-glib/nm-access-point.c: Ditto.
6883
6884 2007-10-12  Tambet Ingo  <tambet@gmail.com>
6885
6886         Rework the "properties-changed" signal implementation.
6887         In classes that need to use it, just emit "GObject::notify" and the new
6888         framework takes care of the rest to make the signal available on dbus.
6889         The framework queues the notifications and tries to send as many together
6890         in one signal as possible.
6891
6892         * src/nm-properties-changed-signal.c:
6893         * src/nm-properties-changed-signal.h: Implement.
6894
6895         * src/Makefile.am: Add new files to build.
6896
6897         * src/NetworkManagerAP.c: Use the general framework for properties-changed
6898         signal.
6899
6900         * src/nm-device-802-11-wireless.c: Ditto.
6901
6902 2007-10-10  Dan Williams  <dcbw@redhat.com>
6903
6904         * src/nm-manager.c
6905                 - (wait_for_connection_expired): ensure info is valid
6906                 - (connection_added_default_handler): Should only remove pending
6907                         connection info when the manager has the connection that it's
6908                         waiting for.  Fixes segfault in wait_for_connection_info().  
6909
6910 2007-10-10  Dan Williams  <dcbw@redhat.com>
6911
6912         * libnm-util/nm-setting.c
6913           libnm-util/nm-setting.h
6914                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
6915                         can use if they choose.  Should be filled in by the settings service
6916                         on-the-fly with the currently logged in user's username
6917
6918 2007-10-10  Dan Williams  <dcbw@redhat.com>
6919
6920         * src/nm-device-802-11-wireless.c
6921                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
6922                         as such, because even if the manager fills in the SSID, NM still
6923                         has to indicate to wpa_supplicant that the AP isn't broadcasting
6924                         its SSID
6925
6926 2007-10-10  Tambet Ingo  <tambet@gmail.com>
6927
6928         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
6929         code that used NM's own version of dbus signal handling and custom dictionary
6930         marshalling/unmarshalling. With this change, all that obsolete code can disappear
6931         and we get to maintain over 2000 lines less code.
6932
6933         * libnm-util/dbus-dict-helpers.c:
6934         * libnm-util/dbus-dict-helpers.h: Remove.
6935
6936         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
6937
6938         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
6939
6940         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
6941         handlers.
6942
6943         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
6944
6945         * configure.in: Remove test/libnm-util/Makefile creation.
6946
6947         * test/Makefile.am: Remove libnm-util from SUBDIRS.
6948
6949         * test/libnm-util/: Remove the whole directory.
6950
6951 2007-10-10  Tambet Ingo  <tambet@gmail.com>
6952
6953         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
6954         device_state_changed_idle_id variable or it would contain some random value and the
6955         schedule_change_check calls would not do anything.
6956
6957 2007-10-09  Dan Williams  <dcbw@redhat.com>
6958
6959         * src/nm-device-802-11-wireless.c
6960                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
6961                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
6962                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
6963                         merging of non-SSID-broadcasting APs
6964
6965 2007-10-09  Tambet Ingo  <tambet@gmail.com>
6966
6967         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
6968         "guint8 *" since it's usually used with GByteArray->data.
6969         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
6970
6971 2007-10-09  Tambet Ingo  <tambet@gmail.com>
6972
6973         * src/NetworkManagerUtils.c
6974         (nm_utils_is_empty_ssid):
6975         (nm_utils_escape_ssid):
6976         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
6977         lot of places, so they belong to libnm-utils instead.
6978
6979         Now with 100% less compiler warnings:
6980
6981         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
6982         (nm_dbus_unescape_object_path): Ditto.
6983         (nm_utils_ssid_to_utf8): Ditto.
6984         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
6985         (nm_utils_escape_ssid): Ditto.
6986         (nm_utils_same_ssid): Ditto.
6987
6988         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
6989         (add_one_connection_element): Remove an unused variable.
6990         (impl_manager_get_active_connections): Ditto.
6991
6992         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
6993         variable.
6994
6995         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
6996         from the previous commit.
6997
6998         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
6999         (real_act_stage1_prepare): Ditto.
7000         (activation_success_handler): Ditto.
7001         (get_property): Ditto.
7002
7003         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
7004         variable.
7005
7006         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
7007         it's always set.
7008
7009         * src/supplicant-manager/nm-supplicant-config.c 
7010         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
7011         to expected "char *".
7012         (nm_supplicant_config_add_setting_wireless): Ditto.
7013         (nm_supplicant_config_remove_option): Remove, not used.
7014
7015         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
7016         not double.
7017         (test_wireless_enabled): Ifdef out unused function.
7018         (device_deactivate): Ditto.
7019         (device_state_changed): Ditto.
7020         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
7021         (nm_utils_escape_ssid): Ditto.
7022
7023         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
7024         (nm_utils_is_empty_ssid): Ditto.
7025
7026         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
7027         unused variable.
7028
7029         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
7030         (setting_vpn_properties_update_secrets): Ditto.
7031         (int_to_gvalue): Ifdef out for now, not used.
7032         (byte_to_gvalue): Ditto.
7033
7034         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
7035         Unused, remove.
7036
7037 2007-10-08  Tambet Ingo  <tambet@gmail.com>
7038
7039         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
7040         about dbus manager, not named manager.
7041         Make sure hal_manager and dbus_mgr are created before trying to unreference.
7042
7043         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
7044         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
7045         However, the same signal is emitted when we destroy it and there's 
7046         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
7047
7048         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
7049         releasing the DBusGConnection, since proxy needs a conneciton.
7050         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
7051
7052 2007-10-08  Dan Williams  <dcbw@redhat.com>
7053
7054         * src/NetworkManager.c
7055                 - (main): error on unknown command-line options
7056
7057 2007-10-08  Dan Williams  <dcbw@redhat.com>
7058
7059         Reimplement the invalid connection list.  Don't try to re-activate a
7060         connection that just failed or was canceled.
7061
7062         * src/nm-device.c
7063                 - (connection_secrets_failed_cb): fail device activation, don't just
7064                         deactivate the device.  Listeners have to know about the failure.
7065
7066         * src/NetworkManagerPolicy.c
7067                 - (nm_policy_auto_get_best_device): exclude invalid connections from
7068                         the connection list given to a device's get_best_connection()
7069                         method
7070                 - (device_state_changed): tag failed connections as invalid; clear the
7071                         tag from successful connections
7072
7073 2007-10-08  Dan Williams  <dcbw@redhat.com>
7074
7075         Fix problems with interrupted activation.  Previously, choosing an AP
7076         from the menu, then choosing another one before the first connection was
7077         successful wouldn't deactivate the device before starting the new connection
7078         on that same device.
7079
7080         * src/NetworkManagerPolicy.c
7081                 - (deactivate_old_device, device_state_changed, state_changed,
7082                    nm_policy_new): wrong place to deactivate old devices
7083
7084         * src/nm-manager.c
7085                 - (pending_connection_info_destroy, finalize,
7086                    wait_for_connection_expired): decouple destruction of the pending
7087                         connection info from the manager device
7088                 - (connection_added_default_handler): deactivate any active or
7089                         activating device before starting a new activation
7090                 - (impl_manager_activate_device): deactivate any active or activating
7091                         device before starting a new activation; be sure not to leak
7092                         pending connection info if a new activation request arrives but
7093                         there's already a pending one in-process
7094
7095 2007-10-08  Dan Williams  <dcbw@redhat.com>
7096
7097         * src/NetworkManagerAP.h
7098           src/NetworkManagerAP.c
7099                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
7100                         should handle default SSIDs and whether or not to autoconnect
7101                         to them
7102
7103 2007-10-08  Dan Williams  <dcbw@redhat.com>
7104
7105         * src/NetworkManagerPolicy.c
7106                 - (nm_policy_device_change_check): print out connection name where
7107                         possible
7108
7109 2007-10-08  Dan Williams  <dcbw@redhat.com>
7110
7111         * src/nm-device-802-11-wireless.c
7112           src/nm-device-802-11-wireless.h
7113                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
7114                         'hidden-ap-found' signal (for internal use only) that allows the
7115                         NMManager to fill in the AP's SSID if a connection has that AP's
7116                         BSSID in its seen-bssids list
7117
7118         * src/nm-manager.c
7119                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
7120                         wireless device's hidden-ap-found signal and fill in the APs SSID
7121                         if possible
7122
7123 2007-10-07  Dan Williams  <dcbw@redhat.com>
7124
7125         * src/nm-manager.c
7126           src/nm-manager.h
7127                 - Add a 'connections-added' signal to batch together updates of large
7128                         numbers of connections, like when reading from a settings service
7129                         the first time.  Otherwise, the policy would just activate the first
7130                         suitable connection it saw rather than waiting for the full list
7131                         to arrive.
7132                 - (nm_manager_class_init): register new signal
7133                 - (get_type_for_proxy, connection_get_settings_cb,
7134                    get_connection_for_proxy): centralize places where a proxy's setting
7135                         service is determined
7136                 - (free_get_settings_info): if the call being freed is the last call
7137                         in a pending call group, fire off the connections-added signal
7138                 - (internal_new_connection_cb): add call to a pending call group if
7139                         requested
7140                 - (list_connections_cb): always create a call group here, because this
7141                         call results in a batch of new connections
7142                 - (initial_get_connections): start getting system connections first
7143                 - (nm_manager_connections_destroy, emit_removed): actually emit the
7144                         removed signal when destroying connections
7145
7146         * src/NetworkManagerPolicy.c
7147                 - (nm_policy_new, connections_added): handle connections-added signal
7148                         from the manager
7149
7150 2007-10-06  Dan Williams  <dcbw@redhat.com>
7151
7152         * src/nm-device-802-11-wireless.c
7153                 - (constructor): fix leaked socket
7154
7155 2007-10-06  Dan Williams  <dcbw@redhat.com>
7156
7157         * src/NetworkManagerPolicy.c
7158                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
7159                         connection in the list returned by nm_manager_get_connections() is
7160                         reffed, but they weren't getting unreffed before returning
7161
7162 2007-10-06  Dan Williams  <dcbw@redhat.com>
7163
7164         * src/nm-manager.c
7165                 - (connections_to_slist): sort connections first on autoconnect, then
7166                         on timestamp
7167
7168 2007-10-06  Dan Williams  <dcbw@redhat.com>
7169
7170         * libnm-util/nm-connection.c
7171                 - (gvalue_to_string): handle UINT64
7172
7173 2007-10-06  Dan Williams  <dcbw@redhat.com>
7174
7175         * src/NetworkManagerPolicy.c
7176                 - (connection_updated, nm_policy_new): recheck state when a connection
7177                         gets updated
7178
7179 2007-10-06  Dan Williams  <dcbw@redhat.com>
7180
7181         * src/nm-manager.c
7182           src/nm-manager.h
7183                 - (nm_manager_get_connection_dbus_path): make static
7184                 - (nm_manager_update_connections): remove; unused
7185                 - Add a connection-updated signal
7186                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
7187                         handle connection object updates
7188
7189 2007-10-06  Dan Williams  <dcbw@redhat.com>
7190
7191         * src/NetworkManagerPolicy.c
7192                 - (connection_removed): deactivate removed connections
7193
7194 2007-10-06  Dan Williams  <dcbw@redhat.com>
7195
7196         * libnm-util/nm-connection.c
7197           libnm-util/nm-connection.h
7198                 - (nm_connection_replace_settings): new function
7199
7200 2007-10-06  Dan Williams  <dcbw@redhat.com>
7201
7202         * libnm-glib/nm-device-802-11-wireless.c
7203                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
7204                         on error when getting the active access point over D-Bus from NM
7205
7206 2007-10-05  Dan Williams  <dcbw@redhat.com>
7207
7208         * libnm-util/nm-setting.c
7209                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
7210                         to the NMSettingWireless table; it's now a string array not an array
7211                         of byte arrays
7212
7213 2007-10-05  Dan Williams  <dcbw@redhat.com>
7214
7215         * libnm-glib/nm-device-802-11-wireless.c
7216                 - Cache properties and update cached properties on D-Bus signals from NM
7217
7218 2007-10-05  Dan Williams  <dcbw@redhat.com>
7219
7220         * src/nm-device-802-11-wireless.c
7221                 - (set_current_ap): consolidate current_ap handling code into one place
7222                         to ensure that PropertiesChanged signals are emitted in all cases
7223                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
7224                    nm_device_802_11_wireless_dispose): use set_current_ap()
7225
7226 2007-10-05  Dan Williams  <dcbw@redhat.com>
7227
7228         * libnm-glib/nm-access-point.c
7229           libnm-glib/nm-access-point.h
7230                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
7231                         because the value is cached internally now.  Callers should not
7232                         free the internal value.
7233                 - Make signal name defines private
7234
7235         * test/nm-tool.c
7236           libnm-glib/libnm-glib-test.c
7237                 - Don't free value returned from nm_access_point_get_hw_address()
7238
7239 2007-10-04  Dan Williams  <dcbw@redhat.com>
7240
7241         * introspection/nm-device-802-11-wireless.xml
7242           src/nm-device-802-11-wireless.h
7243           src/nm-device-802-11-wireless.c
7244                 - Add a PropertiesChanged signal for wireless device
7245                 - Store currently associated access point
7246                 - (periodic_update): generalize; update rate here too and emit the
7247                         correct PropertiesChanged signal when stuff changes
7248                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
7249                    real_activation_cancel_handler): clear current_ap when device is
7250                         deactivated
7251                 - (link_to_specific_ap, get_ap_blacklisted,
7252                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
7253                         code
7254                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
7255                         outside this file
7256                 - (real_set_hw_address): emit property changed signal if the card's
7257                         MAC address changes
7258                 - (real_act_stage1_prepare): set the initial current_ap to the AP
7259                         the card is supposed to be connecting to
7260                 - (activation_success_handler): send out property updates on successful
7261                         activation
7262                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
7263                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
7264                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
7265                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
7266                         is now boxed; add PropertiesChanged signal
7267
7268 2007-10-04  Dan Williams  <dcbw@redhat.com>
7269
7270         * libnm-util/nm-connection.c
7271           libnm-util/nm-connection.h
7272                 - (nm_connection_verify): new function
7273
7274 2007-10-04  Dan Williams  <dcbw@redhat.com>
7275
7276         * libnm-util/nm-setting.c
7277                 - (nm_settings_verify): use #defines when possible rather than strings
7278                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
7279                 - (setting_vpn_verify): tighter validity check on 'service_type'
7280
7281 2007-10-04  Dan Williams  <dcbw@redhat.com>
7282
7283         * libnm-glib/nm-settings.c
7284                 - (nm_connection_settings_class_init): provide correct type for argument
7285                         to the Updated signal so that dbus-glib knows how to marshal it
7286
7287 2007-10-03  Dan Williams  <dcbw@redhat.com>
7288
7289         * src/nm-device-802-3-ethernet.c
7290                 - (real_get_best_connection): don't create automatic connections
7291                         internally; clients should provide a setting that applies to
7292                         the device with 'autoconnect: True'.  Problem was that these
7293                         internally auto-created connections don't have a proxy or service
7294                         name becuase they weren't created by a settings daemon, and therefore
7295                         clients have no idea what to do with them.
7296
7297 2007-10-03  Dan Williams  <dcbw@redhat.com>
7298
7299         * src/nm-device-802-11-wireless.c
7300           src/nm-device-802-11-wireless.h
7301           introspection/nm-device-802-11-wireless.xml
7302                 - GetActiveNetworks -> GetAccessPoints
7303                 - ActiveNetwork -> ActiveAccessPoint
7304                 - NetworkAdded -> AccessPointAdded
7305                 - NetowrkRemoved -> AccessPointRemoved
7306
7307         * libnm-glib/nm-device-802-11-wireless.c
7308           libnm-glib/nm-device-802-11-wireless.h
7309                 - network-added signal -> access-point-added
7310                 - network-removed signal -> access-point-removed
7311                 - nm_device_802_11_wireless_get_active_network() ->
7312                         nm_device_802_11_wireless_get_active_access_point()
7313                 - nm_device_802_11_wireless_get_network_by_path() ->
7314                         nm_device_802_11_wireless_get_access_point_by_path()
7315                 - nm_device_802_11_wireless_get_networks() ->
7316                         nm_device_802_11_wireless_get_access_points()
7317
7318         * libnm-glib/libnm-glib-test.c
7319           test/nm-tool.c
7320           src/NetworkManagerPolicy.c
7321                 - Fixups for Network -> AccessPoint
7322
7323 2007-10-03  Dan Williams  <dcbw@redhat.com>
7324
7325         Add a GetActiveConnections() method on the Manager object.
7326
7327         * src/nm-manager.c
7328           src/nm-manager.h
7329           introspection/nm-manager.xml
7330                 - (connection_get_settings_cb): keep connection type around too
7331                 - (impl_manager_get_active_connections, add_one_connection_element):
7332                         implement; returns all active connections and what devices they
7333                         apply to
7334
7335         * libnm-glib/nm-client.c
7336           libnm-glib/nm-client.h
7337           introspection/nm-manager-client.xml
7338                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
7339                         by the caller; free here to avoid memory leak
7340                 - (nm_client_get_active_connections): implement; return the list of
7341                         active connections
7342                 - (nm_client_free_active_connection_element): implement; free an element
7343                         of the GSList returned by nm_client_get_active_connections()
7344
7345 2007-10-03  Dan Williams  <dcbw@redhat.com>
7346
7347         * src/nm-device-802-11-wireless.c
7348                 - (nm_device_802_11_wireless_update_bssid): remove
7349                 - (get_active_ap): new function; find the AP in the scan list which
7350                         matches the current BSSID and SSID of the wireless device
7351                 - (nm_device_802_11_periodic_update): get current AP using
7352                         get_active_ap() and print AP roam messages
7353
7354 2007-10-01  Dan Williams  <dcbw@redhat.com>
7355
7356         * libnm-util/nm-setting.h
7357                 - Add a 'timestamp' option to NMSettingConnection
7358                 - Add a UINT64 type
7359
7360         * libnm-util/nm-setting.c
7361                 - (uint64_to_gvalue): new function
7362                 - (nm_setting_populate_from_hash, nm_setting_hash,
7363                    default_setting_clear_secrets): handle UINT64 type
7364                 - con_table: add 'timestamp' member
7365
7366 2007-10-01  Dan Williams  <dcbw@redhat.com>
7367
7368         * src/nm-manager.c
7369                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
7370                         value when the connection can be activated immediately
7371
7372 2007-10-01  Dan Williams  <dcbw@redhat.com>
7373
7374         * libnm-glib/nm-device.c
7375                 - (nm_device_class_init): actually tell glib about the carrier-changed
7376                         signal
7377
7378 2007-10-01  Dan Williams  <dcbw@redhat.com>
7379
7380         * configure.in
7381           src/marshallers/Makefile.am
7382           src/marshallers/nm-marshal.list
7383           src/marshallers/nm-marshal-main.c
7384                 - Consolidate glib marshallers into one place
7385
7386         * src/dhcp-manager/Makefile.am
7387           src/dhcp-manager/nm-dhcp-manager.c
7388           src/supplicant-manager/Makefile.am
7389           src/supplicant-manager/nm-supplicant-manager.c
7390           src/supplicant-manager/nm-supplicant-interface.c
7391           src/ppp-manager/Makefile.am
7392           src/ppp-manager/nm-ppp-manager.c
7393           src/vpn-manager/Makefile.am
7394           src/vpn-manager/nm-vpn-connection.c
7395           src/Makefile.am
7396                 - Use consolidated marshallers
7397
7398         * src/dhcp-manager/nm-dhcp-marshal.list
7399           src/dhcp-manager/nm-dhcp-marshal-main.c
7400           src/supplicant-manager/nm-supplicant-marshal-main.c
7401           src/supplicant-manager/nm-supplicant-marshal.list
7402           src/nm-marshal-main.c
7403           src/nm-marshal.list
7404           src/ppp-manager/nm-ppp-marshal-main.c
7405           src/ppp-manager/nm-ppp-marshal.list
7406           src/vpn-manager/nm-vpn-marshal-main.c
7407           src/vpn-manager/nm-vpn-marshal.list
7408                 - Remove
7409
7410 2007-10-01  Dan Williams  <dcbw@redhat.com>
7411
7412         * include/NetworkManagerVPN.h
7413                 - define VPN connection state change reason codes
7414
7415         * src/vpn-manager/Makefile.am
7416           src/vpn-manager/nm-vpn-marshal.list
7417           src/vpn-manager/nm-vpn-marshal-main.c
7418                 - Add marshallers for StateChanged signal
7419
7420         * introspection/nm-vpn-connection.xml
7421                 - New Banner property
7422                 - StateChanged signal now includes a 'reason' argument
7423
7424         * src/vpn-manager/nm-vpn-connection.c
7425           src/vpn-manager/nm-vpn-connection.h
7426                 - Add a "Banner" property that contains the returned VPN server login
7427                         banner (if any); valid only in the ACTIVATED state
7428                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
7429                         a 'reason' argument and emits that reason along with the
7430                         state-changed signal
7431                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
7432                 - (nm_vpn_connection_ip4_config_get): save banner for later
7433                 - (nm_vpn_connection_get_banner, get_property,
7434                    nm_vpn_connection_class_init): implement Banner property
7435
7436         * src/vpn-manager/nm-vpn-service.c
7437                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
7438                         connection list because elements may get added/removed from it
7439                         while iterating over the list
7440                 - (connection_state_changed): signal now includes the 'reason' argument
7441
7442         * libnm-glib/nm-vpn-connection.c
7443           libnm-glib/nm-vpn-connection.h
7444                 - (nm_vpn_connection_get_banner): new function
7445                 - (state_changed_proxy): handle reason argument
7446
7447 2007-09-28  Tambet Ingo  <tambet@gmail.com>
7448
7449         * src/nm-manager.c:
7450         * src/nm-manager.h:
7451         Implement device activation through NMManager.
7452         Implement "pending device activation" here - If the connection isn't found,
7453         we try to wait for up to 5 seconds for the connection to be provided.
7454         Add NMConnectionType argument to "connection-added" and "connection-removed"
7455         signals.
7456         (nm_manager_get): Remove. Finally.
7457
7458         * src/nm-activation-request.c: 
7459         * src/nm-activation-request.h: 
7460         Remove all the deferred activation code.
7461
7462         * src/nm-device.c: Remove all the deferred activation code. Once the device
7463         activation is started, it's started. Update the activation virtual function
7464         signature.
7465
7466         * src/nm-device-interface.c:
7467         * src/nm-device-interface.h:
7468         Device activation now takes only NMActRequest argument.
7469         Don't expose device activation directly on dbus, it's supposed to go through
7470         NMManager now.
7471
7472         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
7473         a bit more compact.
7474         Use the new device activation methods through NMManager.
7475
7476         * introspection/nm-manager-client.xml: 
7477         * introspection/nm-manager.xml: 
7478         * libnm-glib/nm-client.c:
7479         * libnm-glib/nm-client.h:
7480         Add device activation method.
7481         
7482         * libnm-glib/nm-device.c: 
7483         * libnm-glib/nm-device.h: 
7484         * introspection/nm-device.xml: 
7485         Remove device activation method. It's done through NMManager now.
7486
7487         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
7488         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
7489
7490 2007-09-28  Dan Williams  <dcbw@redhat.com>
7491
7492         * libnm-glib/nm-vpn-connection.c
7493                 - (nm_vpn_connection_get_state): try to update state if the current
7494                         state is UNKNOWN
7495
7496 2007-09-27  Dan Williams  <dcbw@redhat.com>
7497
7498         Patch from Bill Nottingham
7499
7500         * src/supplicant-manager/nm-supplicant-config.c
7501                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
7502                         data to the supplicant
7503
7504 2007-09-27  Dan Williams  <dcbw@redhat.com>
7505
7506         * src/NetworkManagerSystem.c
7507                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
7508                         and all address manipulation here should be happening on the
7509                         _VPN_ device, not the active device
7510
7511 2007-09-26  Dan Williams  <dcbw@redhat.com>
7512
7513         * src/nm-manager.c
7514           src/nm-manager.h
7515           src/nm-activation-request.c
7516           src/nm-activation-request.h
7517                 - Move the GetSecrets stuff out of the NMManager instance because it
7518                         doesn't really need to be there and complicates things
7519
7520         * src/nm-device.c
7521                 - (connection_secrets_failed_cb, device_activation_go): connect to the
7522                         connection-secrets-failed signal and deactivate the device if
7523                         the GetSecrets call fails
7524
7525         * src/nm-device-802-11-wireless.c
7526                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7527                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
7528                         secrets and give correct hints about whether new secrets should be
7529                         asked for by the client or not
7530
7531 2007-09-26  Dan Williams  <dcbw@redhat.com>
7532
7533         * src/vpn-manager/nm-vpn-connection.c
7534                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
7535                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
7536                         to the secrets-updated signal of the NMConnection since updating
7537                         the secrets is done within the scope of the NMVPNConnection object
7538                         already
7539                 - (get_connection_secrets): fix an uninialized variable usage error
7540
7541 2007-09-26  Dan Williams  <dcbw@redhat.com>
7542
7543         * libnm-util/nm-setting.c
7544                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
7545                         actually get updated when the user enters them
7546
7547 2007-09-26  Dan Williams  <dcbw@redhat.com>
7548
7549         * libnm-glib/nm-vpn-plugin.c
7550                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
7551
7552 2007-09-26  Dan Williams  <dcbw@redhat.com>
7553
7554         * include/NetworkManagerVPN.h
7555                 - Add a NEED_AUTH state
7556
7557         * src/vpn-manager/nm-vpn-connection.c
7558                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
7559                         the connection needs secrets, and if so, then ask the settings
7560                         service to fill in the secrets.  Then start the connection.
7561
7562 2007-09-26  Dan Williams  <dcbw@redhat.com>
7563
7564         * src/vpn-manager/nm-vpn-manager.c
7565                 - (new_vpn_error, impl_vpn_manager_connect): set errors
7566
7567 2007-09-26  Dan Williams  <dcbw@redhat.com>
7568
7569         * introspection/nm-vpn-plugin.xml
7570           libnm-glib/nm-vpn-plugin.c
7571           libnm-glib/nm-vpn-plugin.h
7572                 - (impl_vpn_plugin_need_secrets): implement a call that should return
7573                         the name of the NMSetting in an NMConnection that may require
7574                         secrets specific to that VPN plugin
7575
7576 2007-09-26  Dan Williams  <dcbw@redhat.com>
7577
7578         * src/nm-manager.c
7579           src/nm-manager.h
7580                 - (nm_manager_get_connection_secrets): make static, unused outside
7581                         the file
7582                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
7583
7584 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7585
7586         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
7587         method.
7588         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
7589         unreference the connection.
7590
7591         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
7592         passing properties hash and routes string list, pass NMConnection (in hashed form).
7593
7594         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
7595         as GSList, no need to copy stuff around anymore.
7596         (nm_vpn_connection_activate): Update the plugin activation method.
7597
7598         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
7599         routes argument to GSList.
7600
7601 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7602
7603         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
7604         state and try to get the secrets.
7605
7606         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
7607         connections from NMManager and let the device to choose the best from the list.
7608         Since the connection list is sorted by system ones first and user ones later,
7609         the devices still prefer system connections like they did before.
7610         (deactivate_old_device): Implement. When a device starts activation, we have a
7611         policy (for now at least) to deactivate any other device that might be either
7612         active or still activating.
7613
7614         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
7615         It's set on construction, there will be no other way to access it.
7616
7617         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
7618         device events and drive the device, not the other way around.
7619
7620         * src/nm-device-802-3-ethernet.c: Ditto.
7621
7622         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
7623         sent along, pass it on to virtual functions.
7624
7625         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
7626         for now, but should really be public instead of nm_device_get_iface() since iface
7627         is a property of the DeviceInterface, not Device.
7628         (impl_device_activate): Don't touch NMManager!
7629
7630 2007-09-26  Jürg Billeter  <j@bitron.ch>
7631
7632         * initscript/paldo/NetworkManager.in:
7633         * initscript/paldo/NetworkManagerDispatcher.in:
7634         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
7635         (nm_system_flush_loopback_routes): update paldo backend
7636
7637 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7638
7639         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
7640         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
7641         which means none of the devices get brought down properly, which in turn leaves
7642         DHCP client running.
7643
7644         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
7645         (supplicant_connection_timeout_cb): Ditto.
7646
7647 2007-09-25  Dan Williams  <dcbw@redhat.com>
7648
7649         * src/nm-device.c
7650                 - (device_activation_go): small hack to work around race when
7651                         activating deferred connections; should solve this in a better way
7652
7653 2007-09-25  Dan Williams  <dcbw@redhat.com>
7654
7655         * introspection/nm-device.xml
7656           libnm-glib/nm-device.c
7657           libnm-glib/nm-device.h
7658                 - Add 'Carrier' property to exported NMDevice objects
7659
7660         * src/nm-device-interface.h
7661           src/nm-device-interface.c
7662           src/nm-device.c
7663                 - Add a 'carrier' property to internal NMDevice objects
7664
7665 2007-09-25  Dan Williams  <dcbw@redhat.com>
7666
7667         * src/nm-device-802-11-wireless.c
7668                 - (ap_auth_enforced): also return the encryption status of the AP so
7669                         that callers can differentiate easily between unencrypted APs
7670                         and encrypted ones, in addition to whether the AP has an
7671                         authenticator
7672                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7673                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
7674                         previously would request secrets from unencrypted APs at times
7675
7676 2007-09-25  Dan Williams  <dcbw@redhat.com>
7677
7678         * src/nm-manager.c
7679                 - (nm_manager_update_state): new function; updates state and emits
7680                         appropriate signals ensuring a state-change signal for the same state
7681                         never gets emitted twice in a row.
7682                 - (manager_device_state_changed): handle more device state to get a
7683                         better picture of the overall NM state
7684
7685 2007-09-25  Dan Williams  <dcbw@redhat.com>
7686
7687         * libnm-glib/nm-settings.c
7688           libnm-glib/nm-settings.h
7689                 - (new_error -> nm_settings_new_error): make public so that subclasses
7690                         can use the same error domain.  Also pass a valid error code to
7691                         g_error_new_literal() so that libdbus doesn't assert when converting
7692                         the GError into a DBusError
7693                 - (impl_settings_list_connections, impl_connection_settings_get_id,
7694                    impl_connection_settings_get_settings,
7695                    impl_connection_settings_get_secrets): use new error creator
7696                         function
7697
7698 2007-09-25  Dan Williams  <dcbw@redhat.com>
7699
7700         * src/NetworkManager.c
7701                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
7702
7703 2007-09-25  Dan Williams  <dcbw@redhat.com>
7704
7705         * src/supplicant-manager/nm-supplicant-manager.c
7706                 - (poke_supplicant_cb, nm_supplicant_manager_init,
7707                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
7708                    nm_supplicant_manager_startup): when the supplicant isn't running,
7709                         try to start it periodically via system bus activation.  Fixes
7710                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
7711                         for the supplicant to come back
7712
7713 2007-09-25  Dan Williams  <dcbw@redhat.com>
7714
7715         Ensure that old activation requests are forgotten about; previously
7716         hitting Cancel in the password dialog would deactivate whatever device
7717         that password was requested for, even if that wasn't the currently
7718         activating connection.
7719
7720         * src/nm-manager.c
7721           src/nm-manager.h
7722                 - (nm_manager_get_connection_secrets): track the pending call
7723                         object so it can be canceled later if needed
7724                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
7725                         GetSecrets call for a particular connection
7726
7727         * src/nm-activation-request.c
7728                 - (dispose): cancel any outstanding GetSecrets calls on the
7729                         connection
7730
7731 2007-09-25  Dan Williams  <dcbw@redhat.com>
7732
7733         * src/NetworkManagerPolicy.c
7734                 - (nm_policy_device_change_check): handle devices that have a
7735                         deferred activation.  These devices are not really active _yet_,
7736                         but need to be treated as such here.  Don't interrupt them
7737                         automatically.
7738
7739         * src/nm-device-interface.c
7740                 - (impl_device_activate): handle devices that have a deferred activation
7741                         like activating or active devices.  When multiple active devices
7742                         get committed, the device shouldn't be deactivated until the
7743                         connection details are available to avoid DoS and such.  Currently,
7744                         any active, activating, or deferred activation device is deactivated
7745                         here before starting the new activation request.
7746
7747 2007-09-25  Dan Williams  <dcbw@redhat.com>
7748
7749         Properly re-query secrets from the settings daemon when stuff fails.
7750
7751         * src/nm-device-802-11-wireless.c
7752                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
7753                         between Shared Key and Open System auth modes
7754                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7755                    real_act_stage4_ip_config_timeout): clear existing secrets and
7756                         request new ones when something fails due to a suspected wrong key
7757                 - (real_act_stage2_config): fix for new request_new argument to
7758                         nm_manager_get_connection_secrets()
7759
7760         * src/nm-manager.c
7761           src/nm-manager.h
7762                 - (nm_manager_get_connection_secrets): return error status; pass
7763                         new request_new argument on to the settings daemon
7764
7765         * introspection/nm-settings-connection.xml
7766                 - New 'request_new' argument to the GetSecrets call that hints to the
7767                         settings daemon to ask the user for completely new secrets
7768
7769         * libnm-glib/nm-settings.c
7770           libnm-glib/nm-settings.h
7771                 - (impl_connection_settings_get_secrets): handle new 'request_new'
7772                         argument
7773
7774 2007-09-25  Dan Williams  <dcbw@redhat.com>
7775
7776         * libnm-util/nm-connection.c
7777           libnm-util/nm-connection.h
7778                 - (nm_connection_clear_secrets): new function; clear secrets out of
7779                         each NMSetting in an NMConnection
7780
7781         * libnm-util/nm-setting.h
7782           libnm-util/nm-setting.c
7783                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
7784                         secrets out of an NMSetting
7785                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
7786                    nm_setting_wired_new, nm_setting_wireless_new,
7787                    nm_setting_wireless_security_new, nm_setting_ppp_new,
7788                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
7789                         to default handler default_setting_clear_secrets()
7790
7791 2007-09-25  Dan Williams  <dcbw@redhat.com>
7792
7793         * src/nm-activation-request.c
7794           src/nm-activation-request.h
7795                 - (nm_act_request_is_deferred): new function
7796
7797 2007-09-24  Dan Williams  <dcbw@redhat.com>
7798
7799         * src/nm-device-802-11-wireless.c
7800                 - (activation_success_handler): update signal strength immediately
7801                         after activation
7802
7803 2007-09-24  Dan Williams  <dcbw@redhat.com>
7804
7805         * libnm-util/nm-setting.c
7806                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
7807
7808 2007-09-24  Dan Williams  <dcbw@redhat.com>
7809
7810         * src/NetworkManagerPolicy.c
7811                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
7812                         device by deactivating it because it doesn't have a "best connection".
7813                         Since autoconnect=False connections aren't automatically chosen,
7814                         NM would interrupt activation of such a connection because it
7815                         would never be "best" due to autoconnect=False.
7816
7817 2007-09-24  Dan Williams  <dcbw@redhat.com>
7818
7819         * src/nm-manager.c
7820                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
7821                         actually has some time to enter a key before the GetSecrets call
7822                         times out
7823
7824 2007-09-24  Dan Williams  <dcbw@redhat.com>
7825
7826         * introspection/nm-manager.xml
7827           src/nm-manager.c
7828                 - (impl_manager_legacy_state): fix 'state' method call return value
7829
7830 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
7831
7832         * test/Makefile.am: Install nm-tool
7833
7834 2007-09-24  Dan Williams  <dcbw@redhat.com>
7835
7836         Patch from Ross Burton <ross@burtonini.com>
7837
7838         * test/nm-tool.c
7839           callouts/nm-dhcp-client-action.c
7840           src/nm-netlink.c
7841           src/vpn-manager/nm-vpn-connection.c
7842           libnm-glib/libnm-glib-test.c
7843                 - warning fixes
7844
7845 2007-09-24  Dan Williams  <dcbw@redhat.com>
7846
7847         * libnm-util/nm-utils.h
7848           libnm-util/nm-utils.c
7849                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
7850                         remove, unused
7851
7852 2007-09-23  Dan Williams  <dcbw@redhat.com>
7853
7854         * vpn-daemons/vpnc/properties/nm-vpnc.c
7855                 - Update for new VPN properties API bits; instead of passing around
7856                         a lot of random things, everything goes into the NMConnection
7857                         object.
7858
7859 2007-09-23  Dan Williams  <dcbw@redhat.com>
7860
7861         * libnm-util/nm-setting.c
7862                 - Correctly dispose of settings objects if creating them from a hash
7863                         table fails
7864
7865 2007-09-23  Dan Williams  <dcbw@redhat.com>
7866
7867         * libnm-util/nm-setting.c
7868                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
7869                         the hash table in a standard manner.  Clients of libnm-util should
7870                         only call g_hash_table_remove_all(), never destroy the hash table
7871                         and recreate it.
7872
7873 2007-09-22  Dan Williams  <dcbw@redhat.com>
7874
7875         * src/nm-device-802-11-wireless.c
7876                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
7877                         real reason to do it so often, and reduces wakeups for clients.
7878
7879 2007-09-21  Dan Williams  <dcbw@redhat.com>
7880
7881         * src/nm-device-802-11-wireless.c
7882                 - (build_supplicant_config): wpa_supplicant requires the option
7883                         key_mgmt=NONE for unencrypted networks
7884                 - (real_act_stage2_config): clarify log message on activation
7885
7886 2007-09-21  Dan Williams  <dcbw@redhat.com>
7887
7888         * test/nm-supplicant-test.c
7889           test/Makefile.am
7890                 - Remove supplicant test binary; no longer applicable
7891
7892 2007-09-21  Dan Williams  <dcbw@redhat.com>
7893
7894         * src/supplicant-manager/nm-supplicant-manager.c
7895                 - (nm_supplicant_manager_init): poke the supplicant at startup to
7896                         activate it on the system bus
7897
7898 2007-09-20  Dan Williams  <dcbw@redhat.com>
7899
7900         * initscript/RedHat/NetworkManager.in
7901                 - dhcdbd is no longer used, so don't try to start it from the initscripts
7902
7903 2007-09-20  Dan Williams  <dcbw@redhat.com>
7904
7905         * src/nm-device.c
7906                 - (nm_device_is_activating): work around a race between auto-activation
7907                         and the user activating the same device that is being auto-activated
7908
7909 2007-09-20  Dan Williams  <dcbw@redhat.com>
7910
7911         * src/nm-device-interface.c
7912                 - (impl_device_activate): until multiple active device support lands,
7913                         ensure only one device can be active at a time
7914
7915 2007-09-20  Dan Williams  <dcbw@redhat.com>
7916
7917         * src/supplicant-manager/nm-supplicant-config.c
7918           src/supplicant-manager/nm-supplicant-config.h
7919                 - (nm_supplicant_config_add_option): hide secrets from system logs
7920
7921 2007-09-20  Dan Williams  <dcbw@redhat.com>
7922
7923         * src/NetworkManagerPolicy.c
7924                 - (nm_policy_device_change_check): re-enable the wireless device change
7925                         checking code; insted of checking for SSIDs, check for the same
7926                         connection instead
7927
7928 2007-09-20  Dan Williams  <dcbw@redhat.com>
7929
7930         * src/nm-device-802-11-wireless.c
7931                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
7932                         composite link state when determining when to start the disconnection
7933                         timer; that link state is already based on the supplicant interface's
7934                         status which is exactly what's already being examined, plus the link
7935                         state is a conglomeration of various things that we don't want here
7936
7937 2007-09-20  Dan Williams  <dcbw@redhat.com>
7938
7939         * libnm-glib/nm-access-point.c
7940                 - (handle_property_changed): strength is a UCHAR
7941
7942 2007-09-20  Dan Williams  <dcbw@redhat.com>
7943
7944         * src/supplicant-manager/nm-supplicant-config.c
7945                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
7946                         string list keywords too since that's what wpa_supplicant wants
7947
7948 2007-09-20  Dan Williams  <dcbw@redhat.com>
7949
7950         * libnm-util/nm-setting.c
7951                 - (convert_strv_to_slist): dupe the values in the list because since
7952                         the list is a boxed value, it'll get destroyed when it's container
7953                         (like a hash table or whatever) gets destroyed
7954
7955 2007-09-20  Tambet Ingo  <tambet@gmail.com>
7956
7957         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
7958         GSList.
7959
7960         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
7961
7962         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
7963         just use (g_object_set_data_full).
7964
7965         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
7966         that NMSettingVPN->routes is a GSList, convert it to char **.
7967         (nm_vpn_connection_ip4_config_get): Free routes when done.
7968         (nm_vpn_connection_activate): Ditto.
7969
7970         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
7971         (real_act_stage2_config): Use defined setting names.
7972
7973 2007-09-20  Dan Williams  <dcbw@redhat.com>
7974
7975         * src/nm-device-802-11-wireless.c
7976           src/nm-manager.c
7977           src/nm-manager.h
7978                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
7979                         so that the device can be deactivated if secrets are wrong
7980
7981 2007-09-20  Dan Williams  <dcbw@redhat.com>
7982
7983         * introspection/nm-settings-connection.xml
7984           libnm-glib/nm-settings.c
7985           libnm-glib/nm-settings.h
7986                 - Make GetSecrets asynchronous on the server side
7987
7988 2007-09-20  Dan Williams  <dcbw@redhat.com>
7989
7990         * src/nm-manager.h
7991           src/nm-device.c
7992                 - (nm_device_activate): actually check if a given connection
7993                         exists before assuming it doesn't
7994
7995 2007-09-20  Tambet Ingo  <tambet@gmail.com>
7996
7997         * libnm-util/nm-connection.c (register_default_creators): Use defined
7998         setting names. Register NMSettingVPN and NMSettingVPNProperties.
7999
8000         * libnm-util/nm-setting.c: Define property name strings, use them.
8001         Implement NMSettingVPN and NMSettingVPNProperties settings.
8002         Implement NM_S_TYPE_GVALUE_HASH.
8003         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
8004         (setting_connection_verify): Rename 'devtype' property to 'type'.
8005
8006         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
8007         properties.
8008
8009         * src/vpn-manager/nm-vpn-service.c: Ditto.
8010
8011         * src/vpn-manager/nm-vpn-connection.c: Ditto.
8012
8013         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
8014         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
8015
8016         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
8017         names. NMSettingConnection->devtype got renamed to 'type'.
8018
8019         * src/nm-device-802-3-ethernet.c (find_best_connection):
8020         (real_get_best_connection): Ditto.
8021
8022         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
8023
8024         * libnm-glib/nm-vpn-manager.[ch]: Update.
8025
8026 2007-09-19  Dan Williams  <dcbw@redhat.com>
8027
8028         * src/NetworkManagerAP.c
8029           src/NetworkManagerAP.h
8030           introspection/nm-access-point.xml
8031                 - Change strength-changed signal into a properties-changed signal
8032                         for all properties, not just strength.  Export that signal over dbus
8033                         so listeners don't have to poll NM for changes.
8034                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
8035                         get exported over D-Bus, so break up the logic and let other bits
8036                         decided when to export the AP
8037                 - (nm_ap_new_from_ap): remove, unused
8038
8039         * src/nm-device-802-11-wireless.c
8040                 - (merge_scanned_ap): only export APs that are actually on the device
8041                         list, not every AP created internally
8042
8043         * libnm-glib/nm-access-point.c
8044           libnm-glib/nm-access-point.h
8045                 - Cache properties internally and only hit DBus when needed.  Get
8046                         property updates from NM signals
8047
8048 2007-09-16  Dan Williams  <dcbw@redhat.com>
8049
8050         * libnm-util/nm-connection.c
8051           libnm-util/nm-connection.h
8052                 - (nm_connection_for_each_setting_value): new function; iterate over
8053                         each setting's value and call a user-provided function with details
8054                         about that value
8055
8056         * libnm-util/nm-setting.c
8057           libnm-util/nm-setting.h
8058                 - (nm_setting_enumerate_values): new function; enumerate the values
8059                         of a specific NMSetting subclass for a user-provided function with
8060                         details about that value
8061                 - Change wep_tx_keyidx to a uint32
8062                 - Create settings value tables for each setting defining their type,
8063                         key name, offset into the NMSetting subclass' structure, and whether
8064                         they are required and/or a secret
8065                 - (nm_setting_populate_from_hash): generic function to populate an
8066                         NMSetting from a GHash table, make all settings use it
8067                 - (nm_setting_hash): generic function to derive a GHashTable from
8068                         an NMSetting object, make all settings use it
8069
8070 2007-09-14  Dan Williams  <dcbw@redhat.com>
8071
8072         Remove unused stuff in libnm-util
8073
8074         * configure.in
8075           libnm-util/Makefile.am
8076           libnm-util/cipher-private.h
8077           libnm-util/cipher-wep-ascii.c
8078           libnm-util/cipher-wep-ascii.h
8079           libnm-util/cipher-wep-hex.c
8080           libnm-util/cipher-wep-hex.h
8081           libnm-util/cipher-wep-passphrase.c
8082           libnm-util/cipher-wep-passphrase.h
8083           libnm-util/cipher-wpa-psk-hex.c
8084           libnm-util/cipher-wpa-psk-hex.h
8085           libnm-util/cipher-wpa-psk-passphrase.c
8086           libnm-util/cipher-wpa-psk-passphrase.h
8087           libnm-util/cipher.c
8088           libnm-util/cipher.h
8089           libnm-util/dbus-helpers.c
8090           libnm-util/dbus-helpers.h
8091           libnm-util/gnome-keyring-md5.c
8092           libnm-util/gnome-keyring-md5.h
8093           libnm-util/sha1.c
8094           libnm-util/sha1.h
8095           src/nm-device-802-11-wireless.c
8096           test/libnm-util/Makefile.am
8097           test/libnm-util/test-ciphers.c
8098           test/libnm-util/test-dbus-helpers.c
8099           test/libnm-util/test-inputs.h
8100                 - Removed
8101
8102 2007-09-14  Dan Williams  <dcbw@redhat.com>
8103
8104         * libnm-util/dbus-method-dispatcher.c
8105           libnm-util/dbus-method-dispatcher.h
8106                 - Remove, unused
8107
8108 2007-09-14  Dan Williams  <dcbw@redhat.com>
8109
8110         Implement deferred activation support in the device class.
8111
8112         * src/nm-device-interface.c
8113           src/nm-device-interface.h
8114                 - (nm_device_interface_activate): take more arguments to support
8115                         deferred activation; callers must pass one of (connection) OR
8116                         (service_name, connection_path)
8117                 - (impl_device_activate): connection validation is punted to the device
8118                         to be able to handle deferred activation.  Yes, this means errors
8119                         don't get returned from the Activate() dbus call, and yes, that
8120                         should be fixed somehow later.
8121
8122         * src/nm-device.c
8123           src/nm-device.h
8124                 - (clear_act_request): clear additional deferred activation stuff too
8125                 - (deferred_activation_timeout_cb): new function; clean up when
8126                         deferred activation times out.
8127                 - (deferred_activation_start_cb): new function; when the connection
8128                         finally becomes available, start device activation
8129                 - (nm_device_activate): attach to the right signals of the activation
8130                         request if we need to defer activation until the connection is valid
8131
8132         * src/NetworkManagerPolicy.c
8133                 - (nm_policy_device_change_check): update for additional arguments
8134                         required for nm_device_interface_activate().  Pass NULL for these
8135                         though because this function already knows exactly which
8136                         NMConnection to use
8137
8138 2007-09-14  Dan Williams  <dcbw@redhat.com>
8139
8140         Implement deferred activation handling in the NMActRequest class.  When a
8141         client wants to activate a device but must create the NMConnection details
8142         on the fly, there likely hasn't been enough time yet for NM to receive the
8143         new connection signal and grab all the connection details.  So the
8144         activation is deferred (and bounded by a timer) for a while, and if the
8145         connection appears within the window, it is activated.
8146
8147         * src/nm-activation-request.c
8148           src/nm-activation-request.h
8149                 - (nm_act_request_class_init): two new signals to support deferred
8150                         activation, to allow the listener to handle both timeout and success
8151                 - (nm_act_request_new_deferred): new function, starts the deferred
8152                         activation timeout handler and listens to the NMManager for
8153                         new-connection signals to notice when the connection comes in
8154
8155 2007-09-14  Dan Williams  <dcbw@redhat.com>
8156
8157         * src/nm-manager.h
8158           src/nm-manager.c
8159                 - (nm_manager_get_connection_service_name,
8160                    nm_manager_get_connection_dbus_path): get details about a connection
8161                         known internally by the NMManager
8162                 - (nm_manager_class_init): fix connection add/remove signal marshalers
8163                         because NMConnection is now a GObject subclass
8164                 - Use constant for the gobject data tag used on NMConnection objects for
8165                         storing the associated DBusGProxy
8166
8167 2007-09-14  Dan Williams  <dcbw@redhat.com>
8168
8169         * utils/Makefile.am
8170           utils/nm-utils.c
8171           utils/nm-utils.h
8172           src/supplicant-manager/Makefile.am
8173           src/dhcp-manager/Makefile.am
8174           src/backends/Makefile.am
8175           src/named-manager/Makefile.am
8176           src/ppp-manager/Makefile.am
8177           src/vpn-manager/Makefile.am
8178           test/libnm-util/Makefile.am
8179           test/test-common/Makefile.am
8180                 - Remove utils/; it was unused
8181
8182 2007-09-13  Dan Williams  <dcbw@redhat.com>
8183
8184         * libnm-glib/nm-vpn-manager.h
8185           libnm-glib/nm-vpn-manager.c
8186                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
8187
8188 2007-09-13  Dan Williams  <dcbw@redhat.com>
8189
8190         * src/nm-device-802-3-ethernet.c
8191                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
8192                         netlink monitor carrier signals on dispose, not bring down.  The
8193                         carrier signals should be handled over the entire lifetime of the
8194                         device anyway, not created/destroyed on up or down.
8195
8196 2007-09-13  Dan Williams  <dcbw@redhat.com>
8197
8198         * libnm-glib/nm-device.c
8199           libnm-glib/nm-device.h
8200                 - (nm_device_activate): take a connection object path rather than an
8201                         NMConnection because NMConnection isn't exported over D-Bus and
8202                         therefore it dbus-glib can't automatically get an object path from it
8203
8204 2007-09-13  Dan Williams  <dcbw@redhat.com>
8205
8206         * libnm-util/nm-setting.c
8207                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
8208
8209 2007-09-13  Tambet Ingo  <tambet@gmail.com>
8210
8211         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
8212
8213 2007-09-12  Tambet Ingo  <tambet@gmail.com>
8214
8215         * src/vpn-manager/nm-vpn-connection.[ch]: 
8216         * src/vpn-manager/nm-vpn-manager.[ch]:
8217         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
8218         dbus-glib, GObjects, signals etc.
8219
8220         * libnm-glib/nm-vpn-manager.[ch]: 
8221         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
8222         so much, rewrite these too.
8223
8224         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
8225         the new introspection files.
8226
8227         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
8228
8229         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
8230         the header with the same name from libnm-utils.
8231
8232         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
8233
8234         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
8235
8236         * introspection/nm-vpn-plugin.xml: Implement.
8237
8238         * introspection/nm-vpn-connection.xml: Implement.
8239
8240         * introspection/nm-vpn-manager.xml: Implement.
8241
8242         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
8243         the named manager argument, it can just as easily get it as the caller.
8244         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
8245
8246         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
8247
8248         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
8249
8250         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
8251         libnm-utils.
8252
8253         * libnm-util/nm-connection.c: Ditto.
8254
8255         * src/NetworkManagerMain.h: Remove, it's finally empty.
8256
8257         * configure.in: Remove utils/ from build.
8258
8259         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
8260         of hard-coded strings.
8261
8262         * utils/: Move it over to libnm-util.
8263
8264         * test/Makefile.am: Link against libnm-util now that util/ is gone.
8265
8266         * dispatcher-daemon/Makefile.am: Ditto.
8267
8268         * src/Makefile.am: Ditto.
8269
8270 2007-09-12  Dan Williams  <dcbw@redhat.com>
8271
8272         Wireless connections can be made with config data from the applet now.
8273         
8274         Yay.
8275
8276         * src/supplicant-manager/nm-supplicant-config.h
8277           src/supplicant-manager/nm-supplicant-config.c
8278                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
8279                 - (nm_supplicant_config_add_setting_wireless,
8280                    nm_supplicant_config_add_setting_wireless_security): new functions;
8281                         add key/value pairs from the settings objects to the supplicant
8282                         config
8283
8284         * src/nm-device-802-11-wireless.c
8285                 - (cull_scan_list): fix check to not prune currently associated AP
8286                 - (build_supplicant_config, real_act_stage2_config): call the functions
8287                         of the NMSupplicantConfig that parse settings objects rather than
8288                         doing it manually here
8289
8290 2007-09-12  Dan Williams  <dcbw@redhat.com>
8291
8292         * src/supplicant-manager/nm-supplicant-interface.c
8293           src/supplicant-manager/nm-supplicant-marshal.list
8294                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
8295                         "connection-error" signal arguments should be STRING not CHAR
8296
8297 2007-09-12  Dan Williams  <dcbw@redhat.com>
8298
8299         * src/NetworkManagerUtils.c
8300           src/NetworkManagerUtils.h
8301                 - (nm_utils_hexstr2bin): new function
8302
8303 2007-09-11  Dan Williams  <dcbw@redhat.com>
8304
8305         * src/nm-manager.c
8306                 - (connection_get_settings_cb): emit connection-added signal
8307                 - (connection_removed_cb): uncomment bits for system settings service,
8308                         send connection-removed when appropriate
8309                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
8310                         the stack by trying to g_object_set_data() on something that's
8311                         not a GObject; handle case where settings service returns
8312                         empty settings hash table
8313
8314 2007-09-11  Dan Williams  <dcbw@redhat.com>
8315
8316         * src/NetworkManagerPolicy.c
8317                 - (connection_added, connection_removed): trigger device change checks
8318                         on connection changes
8319
8320 2007-09-11  Dan Williams  <dcbw@redhat.com>
8321
8322         * src/nm-activation-request.c
8323                 - (connection_secrets_updated_cb): fix c&p error in signal emission
8324
8325 2007-09-11  Dan Williams  <dcbw@redhat.com>
8326
8327         * src/nm-device-802-11-wireless.c
8328                 - (real_connection_secrets_updated): fix erroneous check
8329
8330 2007-09-11  Dan Williams  <dcbw@redhat.com>
8331
8332         * introspection/nm-device.xml
8333           libnm-glib/nm-device.c
8334           libnm-glib/nm-device.c
8335                 - Fix Activate call argument borkage; Activate takes 3 arguments
8336
8337 2007-09-11  Dan Williams  <dcbw@redhat.com>
8338
8339         * libnm-glib/nm-access-point.c
8340           libnm-glib/nm-access-point.c
8341                 - (nm_access_point_get_frequency): now returns guint32 to match
8342                         property change on 2007-09-10
8343
8344 2007-09-11  Dan Williams  <dcbw@redhat.com>
8345
8346         * src/nm-device-802-11-wireless.c
8347                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
8348                         somewhere defines 'index' and I missed this one when I fixed the
8349                         shadow declaration errors earlier
8350
8351 2007-09-11  Dan Williams  <dcbw@redhat.com>
8352
8353         * libnm-util/nm-connection.c
8354                 - (nm_connection_update_secrets, need_secrets_check): move
8355                         802-11-wireless-security need_secrets checks to the setting object
8356                         itself, where it belongs
8357
8358         * libnm-util/nm-setting.c
8359           libnm-util/nm-setting.h
8360                 - (nm_setting_need_secrets): new function
8361                 - (setting_wireless_security_verify,
8362                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
8363                 - (setting_wireless_security_need_secrets): mostly copy code over
8364                         from nm-connection.c
8365
8366 2007-09-11  Dan Williams  <dcbw@redhat.com>
8367
8368         * libnm-util/nm-setting.c
8369           libnm-util/nm-setting.h
8370                 - (nm_setting_update_secrets): new function; add a virtual function that
8371                         subclasses can implement to update their secrets
8372                 - (setting_wireless_security_update_secrets): implement that function
8373                         for the 802-11-wireless-security subclass
8374
8375         * libnm-util/nm-connection.c
8376           libnm-util/nm-connection.h
8377                 - (nm_connection_update_secrets): update secrets for a Setting and
8378                         emit a signal on success
8379
8380         * src/nm-manager.c
8381           src/nm-manager.h
8382           src/nm-marshal.list
8383                 - (connection_get_settings_cb): enable system settings bits
8384                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
8385                         to request secrets from the settings dbus service and to
8386                         push those secrets to the NMConnection itself
8387
8388         * src/nm-activation-request.c
8389           src/nm-activation-request.h
8390                 - Attach to the 'secrets-updated' signal of the NMConnection that's
8391                         currently being activated, and proxy that signal to other listeners.
8392                         Goes through the activation request because the activation request
8393                         is the thing that manages the lifetime of the NMConnection that's
8394                         being activated.
8395
8396         * src/nm-device-802-11-wireless.c
8397                 - (real_connection_secrets_updated): implement the connection secrets
8398                         updated notification and restart activation when secrets are
8399                         received
8400                 - (real_act_stage2_config): request secrets from the settings dbus
8401                         service if secrets are needed
8402
8403         * src/nm-device.c
8404           src/nm-device.h
8405                 - (clear_act_request, nm_device_activation_cancel,
8406                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
8407                         where the activation request is cleared
8408                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
8409                         updated secrets signal of activation request and add a function
8410                         that subclasses can override to handle it easily
8411
8412 2007-09-11  Tambet Ingo  <tambet@gmail.com>
8413
8414         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
8415         removal of NetworkManagerAPList.
8416
8417 2007-09-10  Dan Williams  <dcbw@redhat.com>
8418
8419         * src/NetworkManagerAP.c
8420           src/NetworkManagerAP.h
8421           introspection/nm-access-point.xml
8422                 - Change 'freq' property to a guint32 instead of a double since we
8423                         weren't using the floating point bits anyway
8424
8425 2007-09-10  Dan Williams  <dcbw@redhat.com>
8426
8427         * NetworkManagerAP.c
8428           NetworkManagerAP.h
8429           NetworkManagerPolicy.c
8430           NetworkManagerSystem.c
8431           NetworkManagerUtils.c
8432           NetworkManagerUtils.h
8433           nm-device-802-11-wireless.c
8434           nm-device-802-3-ethernet.c
8435           nm-hal-manager.c
8436           nm-manager.c
8437           vpn-manager/nm-dbus-vpn.c
8438                 - Warning fixes; casts and removal of unused variables
8439
8440 2007-09-10  Dan Williams  <dcbw@redhat.com>
8441
8442         * include/NetworkManager.h
8443                 - Kill NMNetworkType; AP types don't matter any more
8444
8445         * src/NetworkManagerAPList.c
8446           src/NetworkManagerAPList.h
8447           src/Makefile.am
8448                 - Kill; NMAccessPointList has outlived it's usefulness
8449
8450         * src/NetworkManagerAP.c
8451           src/NetworkManagerAP.h
8452                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
8453                         functions; check if an NMConnection object is compatible with the
8454                         settings of this AP
8455                 - (freq_to_channel, channel_to_freq): utility functions for
8456                         channel <-> frequency conversion
8457
8458         * src/nm-device.c
8459           src/nm-device.h
8460                 - (nm_device_get_best_connection): pass the specific object around
8461                          (which might be the object path of a specific AP to connect to).
8462                          The get_best_connection() call should populate this on return
8463                          if needed (wireless does).
8464
8465         * src/nm-device-802-3-ethernet.c
8466                 - (real_get_best_connection): handle specific_object argument
8467
8468         * src/NetworkManager.c
8469           src/NetworkManagerMain.h
8470                 - Remove unused includes
8471
8472         * src/nm-device-802-11-wireless.c
8473           src/nm-device-802-11-wireless.h
8474                 - Convert the ap_list into a GSList from an NMAccessPointList
8475                 - No need for caching the 'activation_ap' since this is now determined
8476                         from the specific_object of the activation request, which is
8477                         populated from the get_best_connection() call or from a user request
8478                 - (nm_device_802_11_wireless_update_bssid): fix warning
8479                 - (get_wireless_capabilities): fix error message format arguments
8480                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
8481                 - (find_best_connection, real_get_best_connection): implement
8482                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
8483                         move here from NetworkManagerAPList
8484                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
8485                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
8486                         already verified earlier
8487                 - (real_act_stage2_config): use nm_connection_need_secrets()
8488
8489         * src/NetworkManagerPolicy.c
8490                 - (nm_policy_auto_get_best_device): handle specific objects
8491                 - (create_connection): remove; automatic connection creation functionality
8492                         is handled by the Connection objects
8493                 - (nm_policy_device_change_check): handle specific_object
8494
8495         * libnm-util/nm-connection.c
8496                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
8497
8498 2007-09-10  Dan Williams  <dcbw@redhat.com>
8499
8500         * src/nm-manager.c
8501                 - (query_connections): fix uninitialized variable problem that caused
8502                         segfault
8503                 - (nm_manager_add_device): take devices down on startup so that we can
8504                         be assured that nm_device_is_up() won't short-circuit the init
8505                         process.  Hack until the is_up check gets split into two pieces
8506                         that aren't behaviorally confusing.
8507
8508 2007-09-09  Dan Williams  <dcbw@redhat.com>
8509
8510         * introspection/nm-device.xml
8511                 - The 'Activate' method now takes 3 arguments, a service name for the
8512                 settings service (user or system), the object path of the connection
8513                 to activate, and the specific object to activate, if any
8514
8515         * src/nm-device-interface.c
8516                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
8517                 Add error bits
8518                 - (impl_device_activate): adapt to new Activate arguments; validate
8519                 the service name and get the Connection object from the NMManager
8520                 before starting to activate the device with the specified connection
8521
8522         * src/nm-device-802-3-ethernet.c
8523                 - (real_get_best_connection): find the best connection, or create a
8524                 default one if no existing connections can be used
8525
8526         * src/NetworkManagerPolicy.c
8527                 - (nm_policy_auto_get_best_device): Get the device's best connection
8528                 and only pick the device if it has one
8529                 - (nm_policy_device_change_check): disable wireless bits for now until
8530                 wireless get_best_connection() can be implemented (replacing "best_ap");
8531                 don't create a default connection here as the device subclass will do
8532                 that if needed
8533
8534         * src/nm-manager.h
8535           src/nm-manager.c
8536                 - (nm_manager_get): make NMManager a singleton and expose the getter
8537                 internally
8538                 - Rework internal NMManager connection handling to use the same
8539                 routines for both the system and user settings services.  Most calls
8540                 take a new NMConnectionType argument specifying either system or user
8541                 connections
8542                 - (nm_manager_get_connection_by_object_path): new function; get a
8543                 connection keyed on its object path
8544
8545         * src/NetworkManager.c
8546                 - (main): use nm_manager_get()
8547
8548 2007-09-09  Dan Williams  <dcbw@redhat.com>
8549
8550         * src/nm-device.h
8551           src/nm-device.c
8552                 - (nm_device_get_best_connection): new function; get best connection
8553                         for the device at that time
8554
8555 2007-09-09  Dan Williams  <dcbw@redhat.com>
8556
8557         * src/nm-device-interface.h
8558                 - Add NMDeviceInterfaceError with an UnknownConnection error
8559
8560 2007-09-09  Dan Williams  <dcbw@redhat.com>
8561
8562         Stupid mistake on my part; object path and interface for settings service
8563         and connection objects can be the same, only the service name must be
8564         different for the system and user settings services.
8565
8566         * include/NetworkManager.h
8567           src/nm-manager.c
8568           introspection/nm-settings-connection.xml
8569           introspection/nm-settings.xml
8570           libnm-glib/nm-settings.c
8571                 - (nm_connection_settings_init, query_user_connections,
8572                    new_connection_cb): Unify NetworkManagerSettings and Connection
8573                    interface name and object path
8574
8575 2007-09-06  Dan Williams  <dcbw@redhat.com>
8576
8577         * libnm-glib/nm-object.c
8578                 - (nm_object_get_string_property, nm_object_get_object_path_property,
8579                    nm_object_get_int_property, nm_object_get_uint_property,
8580                    nm_object_get_boolean_property, nm_object_get_byte_property,
8581                    nm_object_get_double_property, nm_object_get_byte_array_property):
8582                         clear GValues after copying their contents, fixes memory leaks
8583                         after every property access because dbus-glib copies the values
8584                         from the DBusMessage into the GValue already.
8585
8586 2007-09-06  Dan Williams  <dcbw@redhat.com>
8587
8588         * introspection/nm-access-point.xml
8589                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
8590                         them to be.  There's some magic property name parsing going on in
8591                         dbus-glib that breaks up property names based on studly-caps and
8592                         puts - between words.
8593
8594         * libnm-glib/nm-access-point.c
8595                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
8596                         Fix property names
8597
8598 2007-09-06  Dan Williams  <dcbw@redhat.com>
8599
8600         * src/nm-manager.c
8601                 - (nm_manager_user_connections_destroy): clear the user connections hash
8602                         table, don't destroy it
8603                 - (finalize): only destroy the hash table on NMManager finalization
8604
8605 2007-09-02  Dan Williams  <dcbw@redhat.com>
8606
8607         * include/NetworkManager.h
8608           libnm-glib/nm-settings.c
8609                 - defines for the user settings daemon D-Bus bits
8610
8611         * src/NetworkManager.c
8612                 - Remove stuff that referred to the old NetworkManagerInfo service
8613
8614         * src/vpn-manager/nm-dbus-vpn.h
8615                 - Move old NMI defines to the only place they are used still
8616
8617         * libnm-util/nm-connection.c
8618           libnm-util/nm-connection.h
8619           src/nm-activation-request.c
8620                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
8621
8622         * src/nm-manager.c
8623           src/nm-manager.h
8624                 - Get connections and their settings from the user settings daemon
8625                         at the appropriate times
8626
8627 2007-09-02  Dan Williams  <dcbw@redhat.com>
8628
8629         * libnm-util/nm-setting.c
8630                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
8631                 - (setting_wireless_hash): set the right value on the item
8632
8633 2007-09-02  Dan Williams  <dcbw@redhat.com>
8634
8635         * test/Makefile.am
8636           test/nminfotest.c
8637                 - Remove, no longer useful
8638
8639 2007-08-30  Dan Williams  <dcbw@redhat.com>
8640
8641         * src/Makefile.am
8642           src/NetworkManagerDbus.c
8643           src/NetworkManagerDbus.h
8644           src/vpn-manager/nm-dbus-vpn.c
8645                 - Remove, no longer necessary.  Move last bits to the only place its
8646                 used, in nm-dbus-vpn.c
8647
8648         * src/NetworkManagerAPList.c
8649           src/nm-device.c
8650           src/NetworkManager.c
8651           src/nm-device-802-11-wireless.c
8652           src/vpn-manager/nm-vpn-manager.c
8653           src/vpn-manager/nm-vpn-service.c
8654           src/NetworkManagerPolicy.c
8655           src/nm-manager.c
8656                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
8657                 that was message_is_error()
8658
8659 2007-08-30  Dan Williams  <dcbw@redhat.com>
8660
8661         * libnm-util/sha1.c
8662                 - Include config.h to get defines for endiannes (gnome.org #420216)
8663
8664 2007-08-30  Dan Williams  <dcbw@redhat.com>
8665
8666         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
8667
8668         * src/ppp-manager/Makefile.am
8669                 - use -fPIC (gnome.org #471825)
8670
8671 2007-08-29  Dan Williams  <dcbw@redhat.com>
8672
8673         * include/NetworkManager.h
8674                 - Keep NMConnection object path in sync
8675
8676         * libnm-glib/nm-settings.c
8677           libnm-glib/nm-settings.h
8678                 - Break D-Bus object registration out of the init function, because
8679                 every object that's exported over D-Bus needs to use the _same_
8680                 DBusConnection.  Otherwise, each object would get a different object
8681                 path tree and wouldn't be callable.
8682
8683 2007-08-29  Dan Williams  <dcbw@redhat.com>
8684
8685         * libnm-util/nm-setting.h
8686           libnm-util/nm-setting.c
8687           libnm-util/nm-connection.c
8688           src/NetworkManagerPolicy.c
8689                 - 'info' settings object should be 'connection' says the spec
8690                 at NetworkManagerConfigurationSpecification
8691
8692 2007-08-29  Dan Williams  <dcbw@redhat.com>
8693
8694         * libnm-glib/nm-settings.c
8695           libnm-glib/nm-settings.h
8696                 - make the dbus path a property of the object, and autogenerate it.
8697                 It can't be composed of the 'id' field becuase that's not available
8698                 yet during the GObject creation in nm_connection_settings_init()
8699
8700 2007-08-29  Dan Williams  <dcbw@redhat.com>
8701
8702         * introspection/nm-settings-connection.xml
8703           introspection/nm-settings.xml
8704                 - Service name -> NetworkManagerUserSettings because two services
8705                 can't share part of the same path.  I'm not really sure how we'll use
8706                 the same code with the system-settings daemon...
8707
8708 2007-08-28  Dan Williams  <dcbw@redhat.com>
8709
8710         * src/nm-device-interface.c
8711           src/nm-device-interface.h
8712                 - Kill one more bit of NMData
8713
8714 2007-08-28  Dan Williams  <dcbw@redhat.com>
8715
8716         * src/NetworkManagerSystem.h
8717           src/nm-device.c
8718           src/nm-device.h
8719           src/nm-hal-manager.c
8720           src/NetworkManager.c
8721           src/nm-device-802-11-wireless.c
8722           src/nm-hal-manager.h
8723           src/nm-device-802-3-ethernet.c
8724           src/vpn-manager/nm-vpn-service.h
8725           src/vpn-manager/nm-vpn-manager.c
8726           src/vpn-manager/nm-vpn-manager.h
8727           src/vpn-manager/nm-vpn-service.c
8728           src/nm-device-802-11-wireless.h
8729           src/NetworkManagerMain.h
8730           src/nm-device-802-3-ethernet.h
8731           src/backends/NetworkManagerGentoo.c
8732           src/backends/NetworkManagerPaldo.c
8733           src/backends/NetworkManagerFrugalware.c
8734           src/backends/NetworkManagerRedHat.c
8735           src/backends/NetworkManagerSlackware.c
8736           src/backends/NetworkManagerGeneric.c
8737           src/backends/NetworkManagerArch.c
8738           src/backends/NetworkManagerSuSE.c
8739           src/backends/NetworkManagerGeneric.h
8740           src/backends/NetworkManagerDebian.c
8741                 - Kill NMData
8742
8743 2007-08-28  Dan Williams  <dcbw@redhat.com>
8744
8745         * src/NetworkManagerMain.h
8746           src/nm-device-802-11-wireless.c
8747           src/NetworkManager.c
8748                 - Remove invalid AP list from NMData; need to rework this somewhat, but
8749                 for now we should set the 'invalid' property on individual APs, and when
8750                 we need to invalidate a whole ESS, set the 'invalid' on every member of
8751                 that ESS
8752
8753 2007-08-28  Dan Williams  <dcbw@redhat.com>
8754
8755         * src/NetworkManagerAP.c
8756           src/NetworkManagerAP.h
8757                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
8758                         'autoconnect' property instead
8759
8760         * src/NetworkManager.c
8761           src/NetworkManagerMain.h
8762           src/NetworkManagerPolicy.c
8763           src/NetworkManagerPolicy.h
8764                 - Remove the 'allowed_ap_list', which should be replaced by 
8765                         NMConnection/NMSettings instead, since _those_ are the allowed
8766                         things that NM can connect to
8767
8768         * src/nm-device-802-11-wireless.c
8769                 - Remove both allowed_ap_list usage and 'fallback' checking
8770
8771 2007-08-28  Dan Williams  <dcbw@redhat.com>
8772
8773         * src/nm-device.c
8774           src/named-manager/nm-named-manager.c
8775           src/named-manager/nm-named-manager.h
8776           src/NetworkManager.c
8777           src/vpn-manager/nm-vpn-manager.c
8778           src/NetworkManagerMain.h
8779           src/NetworkManagerSystem.c
8780                 - Remove the named-manager object from NMData structure in preparation
8781                 for NMData's timely death.  Make the NMNamedManager the singleton that
8782                 it really is
8783
8784 2007-08-28  Dan Williams  <dcbw@redhat.com>
8785
8786         Remove NMAPSecurity objects, they are replaced with flags on the APs for
8787         each AP's capabilities, and by NMConnection/NMSettings objects for user
8788         defined connections.
8789
8790         * include/NetworkManager.h
8791                 - Redefine 802.11 security properties.  There are now device capabilities
8792                         and AP flags and AP security flags.  It was way to unclear before.
8793
8794         * src/Makefile.am
8795           src/nm-ap-security-leap.h
8796           src/nm-ap-security-leap.c
8797           src/nm-ap-security-wpa-eap.c
8798           src/nm-ap-security-wpa-eap.h
8799           src/nm-ap-security-private.h
8800           src/nm-ap-security-wpa-psk.c
8801           src/nm-ap-security-wpa-psk.h
8802           src/nm-ap-security-wep.c
8803           src/nm-ap-security-wep.h
8804           src/nm-ap-security.c
8805           src/nm-ap-security.h
8806                 - Removed, to be replaced with NMConnection/NMSettings objects
8807
8808         * src/nm-dbus-nmi.c
8809           src/nm-dbus-nmi.h
8810                 - Removed, to be replaced by code that talks to the new info daemon
8811                         interface and gets NMConnection/NMSettings objects
8812
8813         * src/backends/NetworkManagerSuSE.c
8814                 - Remove usage of NMAPSecurity; should be replaced by a system-level
8815                         info-daemon that does the same thing but talks the new info-daemon
8816                         D-Bus interface
8817
8818         * src/NetworkManagerAP.h
8819           src/NetworkManagerAP.c
8820           src/NetworkManagerAPList.c
8821           libnm-glib/libnm-glib-test.c
8822                 - Remove usage of NMAPSecurity objects and adjust to new flags for
8823                         WPA/RSN
8824
8825         * libnm-glib/nm-access-point.c
8826           libnm-glib/nm-access-point.h
8827           introspection/nm-access-point.xml
8828           test/nm-tool.c
8829                 - Adjust to new flags for AP security
8830
8831         * utils/nm-utils.c
8832           utils/nm-utils.h
8833           src/vpn-manager/nm-dbus-vpn.c
8834                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
8835                         stuff which is the only place it's used
8836
8837         * src/nm-device-interface.c
8838           src/nm-device-interface.h
8839           introspection/nm-device.xml
8840           src/nm-activation-request.c
8841           src/nm-activation-request.h
8842           src/nm-device.c
8843                 - Add a new 'specific_object' argument that hints to NM what actual
8844                         AP or other device-specific thing the connection should apply to.
8845                         NMConnection objects can apply to more than one actual device/AP.
8846
8847         * libnm-util/nm-connection.c
8848         * libnm-util/nm-connection.h
8849                 - Add 'have_secrets" call stubs
8850
8851         * libnm-util/cipher.h
8852                 - Move NM_AUTH_TYPE_* defines here for now
8853
8854         * src/nm-device-802-11-wireless.c
8855                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
8856                         NMSettings objects
8857
8858         * src/NetworkManagerDbus.c
8859         * src/NetworkManagerPolicy.c
8860                 - Remove usage of update_allowed_networks, should be pushing data in
8861                         a different manner
8862
8863 2007-08-27  Tambet Ingo  <tambet@gmail.com>
8864
8865         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
8866         dbus-glib frees it when the call is done.
8867
8868 2007-08-26  Dan Williams  <dcbw@redhat.com>
8869
8870         * introspection/nm-device.xml
8871                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
8872
8873 2007-08-26  Dan Williams  <dcbw@redhat.com>
8874
8875         * src/nm-device-802-3-ethernet.c
8876                 - (constructor): move connection of interface-connected/disconnected
8877                         signals here from real_bring_up().  Should be listening to netlink
8878                         for carrier events no matter what the initial state of the device
8879                         is.
8880
8881 2007-08-26  Dan Williams  <dcbw@redhat.com>
8882
8883         * src/nm-netlink-monitor.c
8884                 - (nm_netlink_monitor_class_init): fix marshalling types for
8885                         interface-connected/interface-disconnected
8886                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
8887                         check
8888
8889 2007-08-26  Dan Williams  <dcbw@redhat.com>
8890
8891         Convert to using interface indexes as the primary method of identifying
8892         devices inside NetworkManager.  Indexes are (?) stable, but devices can
8893         be renamed at any time.  Device object paths now refer to the device
8894         index rather than the name, and you can map those two manually if you like
8895         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
8896         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
8897         to use interface indexes rather than names.
8898
8899 2007-08-26  Dan Williams  <dcbw@redhat.com>
8900
8901         * src/nm-netlink-monitor.h
8902                 - Remove one last bit of wireless-event signal
8903
8904 2007-08-26  Dan Williams  <dcbw@redhat.com>
8905
8906         * src/nm-netlink-monitor.c
8907                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
8908                         don't need the 'wireless-event' signal anymore since that's all
8909                         handled by wpa_supplicant
8910
8911 2007-08-25  Dan Williams  <dcbw@redhat.com>
8912
8913         It's 2007. Remove support for drivers that don't support wireless scanning.
8914
8915         * test/nm-tool.c
8916           include/NetworkManager.h
8917           src/NetworkManagerUtils.c
8918           src/NetworkManagerPolicy.c
8919           src/nm-device-802-11-wireless.c
8920                 - Remove special handling for non-scanning devices and mark them
8921                         as unsupported/unhandled
8922
8923 2007-08-20  Dan Williams  <dcbw@redhat.com>
8924
8925         * src/nm-device-802-11-wireless.c
8926           src/nm-device-802-3-ethernet.c
8927                 - (real_is_up): move device-specific tests before generic IFF_UP test,
8928                         because when the card is pulled or the module removed, the device
8929                         is already !IFF_UP and then device-specific cleanup (removing
8930                         the supplicant interface, periodic checks, etc) never gets done
8931
8932 2007-08-20  Dan Williams  <dcbw@redhat.com>
8933
8934         * src/nm-manager.c
8935                 - (nm_manager_remove_device): bring device down before disconnecting
8936                         signal handlers, so that the 'state' signal will get broadcast when
8937                         the device enters the DOWN state
8938                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
8939                         of states that cause the NMManager to recheck its state
8940
8941 2007-08-20  Dan Williams  <dcbw@redhat.com>
8942
8943         * src/supplicant-manager/nm-supplicant-interface.c
8944                 - (interface_disconnect_done): don't try to dispose of the net proxy
8945                         when it may already have been disposed of
8946
8947 2007-08-20  Dan Williams  <dcbw@redhat.com>
8948
8949         * src/nm-device-802-11-wireless.c
8950                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
8951                         the SSID isn't available; this can happen when the card is pulled
8952                         or the module unloaded, during the post-removal deactivation
8953                         paths, when the ioctl returns ENODEV
8954
8955 2007-08-20  Dan Williams  <dcbw@redhat.com>
8956
8957         * src/nm-device-802-11-wireless.c
8958                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
8959                         frequency, and mode match.  Applets are now responsible for grouping
8960                         access points
8961
8962 2007-08-20  Dan Williams  <dcbw@redhat.com>
8963
8964         * src/NetworkManagerAP.c
8965         * src/NetworkManagerAP.h
8966                 - (nm_ap_print_self): new function
8967
8968         * src/NetworkManagerAPList.c
8969                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
8970                         to do it all here
8971         
8972 2007-08-17  Dan Williams  <dcbw@redhat.com>
8973
8974         * src/nm-device-802-3-ethernet.c
8975                 - (real_bring_down): don't try to dispose of stuff that might not
8976                         exist
8977
8978 2007-08-17  Dan Williams  <dcbw@redhat.com>
8979
8980         * src/NetworkManagerAP.c
8981                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
8982                         applet.  This ensures that the case between the seen-bssids and
8983                         the bssids reported by the driver match.
8984
8985 2007-08-17  Dan Williams  <dcbw@redhat.com>
8986
8987         * src/nm-device-802-11-wireless.c
8988                 - (device_cleanup): disconnect the interface in wpa_supplicant before
8989                         we dispose of the interface proxy in NM
8990
8991 2007-08-16  Dan Williams  <dcbw@redhat.com>
8992
8993         * libnm-glib/nm-client.c
8994                 - (nm_client_init): create VPN connections hash table with key free
8995                         function
8996                 - (proxy_vpn_connection_added): VPN connections hash table key should
8997                         be a duplicated value, not the same memory address as the VPN
8998                         connection name.  This is because the VPN connection name could
8999                         potentially be freed and set to something else during the lifetime
9000                         of the NMVPNConnection object.
9001
9002 2007-08-16  Tambet Ingo  <tambet@gmail.com>
9003
9004         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
9005         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
9006         with the file descriptors. Send a child setup function to change the pppd
9007         progress group.
9008
9009 2007-08-15  Dan Williams  <dcbw@redhat.com>
9010
9011         * src/supplicant-manager/nm-supplicant-interface.c
9012                 - (try_remove_iface): new function, ask wpa_supplicant to remove
9013                         an interface
9014                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
9015                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
9016                         happens on hotplug if wpa_supplicant doesn't tear down and readd
9017                         the interface internally
9018
9019 2007-08-15  Dan Williams  <dcbw@redhat.com>
9020
9021         * src/nm-device-802-11-wireless.c
9022                 - (real_bring_down): move most of this function into device_cleanup()
9023                         so that it can be called from elsewhere
9024                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
9025                         and stuff on dispose.  These would normally get cleaned up when
9026                         the device is marked down and deactivated, but when the device is
9027                         hot-unplugged, it's already down and real_down() never gets run
9028
9029 2007-08-15  Dan Williams  <dcbw@redhat.com>
9030
9031         * src/nm-dbus-nmi.c
9032                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
9033                         caused a reference leak on device for which NM requested a key
9034
9035 2007-08-15  Dan Williams  <dcbw@redhat.com>
9036
9037         * libnm-glib/nm-client.c
9038                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
9039
9040 2007-08-15  Tambet Ingo  <tambet@gmail.com>
9041
9042         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
9043         nothing is using it at the moment, but it'll be all useful and stuff later on.
9044
9045         * libnm-util/nm-setting.h: Define NMSettingPPP.
9046
9047         * libnm-util/nm-setting.c: Implement NMSettingPPP.
9048
9049         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
9050
9051         * src/Makefile.am: Add ppp-manager to SUBDIRS.
9052
9053         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
9054
9055         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
9056
9057 2007-08-14  Tambet Ingo  <tambet@gmail.com>
9058
9059         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
9060
9061         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
9062         an issue with dbus-glib bindings generator. The issue is, the generated C caller
9063         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
9064         name and different arguments and it won't compile anymore. To fix this, we now have
9065         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
9066         that is new API + compatibility API and used by the daemon. The other, 
9067         nm-manager-client.xml is only the new API without compatibility bits and is used
9068         by libnm-glib to make it compile.
9069
9070         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
9071
9072         * src/nm-manager.c (impl_manager_legacy_sleep)
9073         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
9074         interface functions for 0.6 branch.
9075
9076 2007-08-14  Dan Williams  <dcbw@redhat.com>
9077
9078         * src/NetworkManagerAP.c
9079                 - (nm_ap_new_from_properties): fix mistaken check of return value
9080                         from memcmp (should expect 0)
9081
9082 2007-08-14  Dan Williams  <dcbw@redhat.com>
9083
9084         (force-commit to fix wrong comment and partial commit of r2685; this
9085          commit actually applies to r2685)
9086
9087         * src/NetworkManagerUtils.c
9088                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
9089                         ignores trailing nulls in the SSID to work around mismatches in
9090                         expectations between WEXT and what the info-daemon passes back.  The
9091                         info-daemon would pass back the correct length, but due to the
9092                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
9093                         the device would always have an SSID + 1 depending on what versions
9094                         of wpa_supplicant, the kernel, and NM you have.  This was most often
9095                         visible by just quitting the applet and relaunching, which caused
9096                         NM to reassociated to the same network over again when reloading
9097                         the save networks.
9098
9099         * src/NetworkManagerPolicy.c
9100           src/NetworkManagerUtils.h
9101           src/nm-device-802-11-wireless.c
9102                 - Update for new parameter to nm_utils_same_ssid()
9103
9104 2007-08-14  Dan Williams  <dcbw@redhat.com>
9105
9106         * src/NetworkManagerAP.c
9107                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
9108                         I encountered a BSS that wasn't just hiding it's ESSID, it was
9109                         setting the BSSID to all 0s.  That confused the heck out of NM,
9110                         plus it's useless and probably out-of-spec.
9111
9112 2007-08-14  Dan Williams  <dcbw@redhat.com>
9113
9114         * callouts/Makefile.am
9115           src/dhcp-manager/nm-dhcp-manager.c
9116           src/dhcp-manager/nm-dhcp-manager.h
9117           src/dhcp-manager/Makefile.am
9118                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
9119
9120 2007-08-14  Dan Williams  <dcbw@redhat.com>
9121
9122         * src/dhcp-manager/nm-dhcp-manager.c
9123                 - (dhclient_run): don't pass -x to dhclient until we figure out if
9124                         it's really needed, get rid of unused xtra_args parameter
9125
9126 2007-08-14  Dan Williams  <dcbw@redhat.com>
9127
9128         * include/NetworkManagerVPN.h
9129           src/vpn-manager/nm-dbus-vpn.c
9130           src/vpn-manager/nm-dbus-vpn.h
9131           src/vpn-manager/nm-vpn-act-request.c
9132           src/vpn-manager/nm-vpn-act-request.h
9133           src/vpn-manager/nm-vpn-service.c
9134           src/vpn-manager/nm-vpn-service.h
9135           libnm-glib/nm-vpn-connection.c
9136           libnm-glib/nm-vpn-connection.h
9137           libnm-glib/nm-client.h
9138                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
9139                         NMVPNServiceState to clarify what they apply to
9140                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
9141                         NMVPNActStage -> NMVPNConnectionState for the same reason
9142
9143         * libnm-glib/nm-client.c
9144                 - Constant + type renames from above
9145                 - Properly handle NameOwnerChanged/manager_running signals
9146                         for NM service; only emit when state really changes
9147                 - Use hash tables correctly so that the key (which was previously owned
9148                         by the D-Bus message) now has the same lifetime as the value, since
9149                         the key is now taken from the the NMVPNConnection itself.  This
9150                         really fixes the double-VPN names in the applet
9151
9152 2007-08-13  Dan Williams  <dcbw@redhat.com>
9153
9154         Patch from Michael Biebl <biebl@debian.org>
9155
9156         * po/POTFILES.in
9157           po/POTFILES.skip
9158                 - Update for vpn-properties move
9159
9160 2007-08-13  Dan Williams  <dcbw@redhat.com>
9161
9162         * libnm-glib/nm-client.c
9163                 - Convert internal VPN connection tracking from a list to a hash table
9164                         to easily avoid duplicates
9165                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
9166                         must be freed by the caller, like nm_client_get_devices()
9167                 - (nm_client_remove_vpn_connection): don't let the removal signal
9168                         leak through for NMVPNConnection objects that aren't actually
9169                         tracked.
9170                 - (manager_running): throw away VPN connection list when NM goes away,
9171                         like with the device list
9172
9173 2007-08-13  Dan Williams  <dcbw@redhat.com>
9174
9175         * src/dhcp-manager/nm-dhcp-manager.c
9176                 - Stop any dhclient instance that might be already running for a
9177                         particular interface before starting an NM spawned dhclient.  Fixes
9178                         dhclient processes left over if NM crashes, stuff like that.
9179
9180 2007-08-13  Dan Williams  <dcbw@redhat.com>
9181
9182         * src/NetworkManagerAP.c
9183                 - (finalize): don't try to g_array_free (NULL, ...), which happened
9184                         when the AP wasn't broadcasting it's SSID
9185
9186 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
9187
9188         * include/NetworkManager.h: added DBus path for connection settings.
9189
9190         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
9191         nm_connection_settings_signal_updated,
9192         nm_connection_settings_signal_removed): new functions to wrap the
9193         objects' signals.
9194         (nm_connection_settings_init): register GObject with DBus.
9195         (nm_connection_settings_get_dbus_object_path): new function.
9196
9197         * libnm-glib/Makefile.am: added libnmutil to link flags.
9198
9199 2007-08-13  Tambet Ingo  <tambet@gmail.com>
9200
9201         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
9202
9203         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
9204         libnm_glib directory got merged with libnm-glib/.
9205
9206         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
9207
9208         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
9209         Rename the library from libnm-glib to libnm_glib to maintain the library API
9210         compatibility with 0.6 branch.
9211
9212         * Makefile.am: Remove gnome/ SUBDIR.
9213
9214         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
9215
9216         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
9217
9218         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
9219
9220         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
9221         anymore.
9222         Remove checks for wpa_supplicant binary, it's used over dbus.
9223         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
9224
9225         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
9226         Link the binaries with libnm_glib.la.
9227
9228 2007-08-12  Dan Williams  <dcbw@redhat.com>
9229
9230         * src/NetworkManagerPolicy.c
9231                 - (nm_policy_device_change_check): fix policy to deactivate old device
9232                         before activating new one, at least until the multiple active
9233                         device support lands
9234
9235 2007-08-12  Dan Williams  <dcbw@redhat.com>
9236
9237         * src/NetworkManagerPolicy.c
9238                 - (nm_policy_new): hook up to connection-added / connection-removed
9239                         signals instead of connections-changed
9240
9241 2007-08-12  Dan Williams  <dcbw@redhat.com>
9242
9243         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
9244         Robert Frank <rfrank@redhat.com>
9245
9246         * src/dhcp-manager/nm-dhcp-manager.c
9247           src/dhcp-manager/nm-dhcp-manager.c
9248           src/nm-device.c
9249                 - Spawn and communicate with dhclient directly, through means of a
9250                 custom dhclient callout script.  Process callout D-Bus signals
9251                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
9252                 sent via gobject signals rather than being driven by the dhcp manager
9253                 directly.
9254
9255 2007-08-12  Dan Williams  <dcbw@redhat.com>
9256
9257         * callouts/nm-dhcp-client-action.c
9258                 - (build_message): ignore non-DHCP-related environment variables
9259
9260 2007-08-12  Dan Williams  <dcbw@redhat.com>
9261
9262         * Makefile.am
9263           configure.in
9264           callouts/Makefile.am
9265           callouts/nm-dhcp-client-action.c
9266           callouts/nm-dhcp-client.conf
9267                 - Add dhclient-executed callout that takes the place of dhclient-script
9268                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
9269                 NM then listens for
9270
9271 2007-08-09  Tambet Ingo  <tambet@gmail.com>
9272
9273         [Based on patch by Helmut Schaa <hschaa@suse.de>]
9274
9275         * libnm-glib/nm-client.h:
9276         * libnm-glib/nm-object.h:
9277         * libnm-glib/nm-vpn-connection.h:
9278         * libnm-glib/nm-settings.h:
9279         * libnm-glib/nm-device.h:
9280         * libnm-glib/nm-ip4-config.h:
9281         * libnm-glib/nm-access-point.h:
9282         * libnm-glib/nm-device-802-3-ethernet.h:
9283         * libnm-util/nm-setting.h: 
9284         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
9285
9286         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
9287
9288         * libnm-glib/nm-access-point.c: Strength has type char.
9289
9290         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
9291         to fix build. GnomeDruid is deprecated in recent libgnomeui.
9292
9293         * introspection/nm-access-point.xml: Strength property is char, not int.
9294
9295         * src/NetworkManagerAP.c (set_property): Set strength from char.
9296         (get_property): Handle hidden APs (with empty SSID).
9297         Get strength value from char.
9298         (nm_ap_class_init): Strength property has char type.
9299
9300 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
9301
9302         * introspection/Makefile.am:
9303         * introspection/nm-settings.xml:
9304         * introspection/nm-settings-connection.xml: added Settings interfaces.
9305
9306         * libnm-glib/nm-settings.[ch]:
9307         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
9308         containing the DBus implementation.
9309
9310 2007-07-26  Dan Williams  <dcbw@redhat.com>
9311
9312         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
9313
9314         * src/NetworkManagerSystem.c
9315                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
9316                         same subnet (#437396)
9317
9318 2007-07-26  Dan Williams  <dcbw@redhat.com>
9319
9320         Patch from Kelemen Gábor <kelemeng@gnome.hu>
9321
9322         * gnome/vpn-properties/nm-vpn-properties.c
9323                 - Fix translatable strings (#445865)
9324
9325 2007-07-26  Dan Williams  <dcbw@redhat.com>
9326
9327         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
9328
9329         * configure.in
9330                 - Remove useless junk (#412530)
9331
9332 2007-07-10  Christopher Aillon  <caillon@redhat.com>
9333
9334         Patch from Robert Buchholz <rbu@gentoo.org>:
9335
9336         * configure.in:
9337         * Makefile.am:
9338         * introspection/Makefile.am:
9339         Make make distcheck work again.
9340
9341 2007-06-27  Dan Williams  <dcbw@redhat.com>
9342
9343         * Make SSIDs GByteArrays everywhere
9344         * Rename "essid" -> "ssid" everywhere that's appropriate
9345         * Refcount activation_ap member of the 802.11 wireless device class
9346
9347 2007-06-27  Tambet Ingo  <tambet@ximian.com>
9348
9349         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
9350
9351 2007-06-22  Tambet Ingo  <tambet@ximian.com>
9352
9353         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
9354         that we got a new AP when we just update existing AP properties.
9355
9356 2007-06-21  Tambet Ingo  <tambet@ximian.com>
9357
9358         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
9359
9360         * nm-utils.[ch]: Remove.
9361
9362         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
9363         objects for easy property access and dbus connection handling.
9364
9365         * libnm-glib/nm-client.c: Derive from NMObject.
9366
9367         * libnm-glib/nm-device.c: Ditto.
9368
9369         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
9370
9371         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
9372
9373         * libnm-glib/nm-ip4-config.c: Ditto.
9374
9375         * libnm-glib/nm-access-point.c: Ditto.
9376
9377         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
9378         comparision. Currently used by the device activation code to determine if the new
9379         activation is the same as the old one.
9380
9381         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
9382         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
9383         able to ask password for the AP.
9384
9385         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
9386         up if the device is already connected, tear down it's connection (if it isn't the
9387         same as new one) and start the activation.
9388
9389         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
9390
9391         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
9392         the issue where all APs are always listed as encrypted.
9393
9394         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
9395         their own registered paths.
9396
9397         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
9398         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
9399
9400 2007-06-13  Tambet Ingo  <tambet@ximian.com>
9401
9402         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
9403         (0 & 0 == 0, doh)
9404
9405         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
9406         because the handling code will cause the next state change and signal listeners
9407         get the signals in wrong order.
9408
9409         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
9410         correctly in case of pending activation.
9411
9412         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
9413         Convert the essid byte array to string correctly, including the terminating NULL.
9414
9415         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
9416         mode with correct types.
9417
9418         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
9419         constructed info to dbus call instead of the activation request.
9420
9421 2007-06-11  Christopher Aillon  <caillon@redhat.com>
9422
9423         Patch from Christian Persch <chpe@gnome.org>
9424
9425         * libnm-glib/Makefile.am:
9426         * dispatcher-daemon/Makefile.am:
9427         Use the correct variables, the correct paths, and correct ordering. (446315)
9428
9429 2007-06-11  Tambet Ingo  <tambet@ximian.com>
9430
9431         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
9432         argument. The activation request is easy to retrieve.
9433
9434         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
9435         just to be a convenient location for devices to store random stuff.
9436
9437 2007-06-11  Christopher Aillon  <caillon@redhat.com>
9438
9439         Patch from Alex Smith <alex@alex-smith.me.uk>
9440
9441         * src/backends/NetworkManagerFrugalware.c:
9442         Update the FrugalWare backend to fix a few segfaults. (#392642)
9443
9444 2007-06-08  Tambet Ingo  <tambet@ximian.com>
9445
9446         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
9447
9448         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
9449         setting.
9450         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
9451
9452 2007-06-06  Tambet Ingo  <tambet@ximian.com>
9453
9454         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
9455         automagically.
9456         Implement NMSettingIP4Config.
9457         Finish NMSettingWired by adding all known members.
9458         (setting_wired_verify): Implement.
9459         Finish NMSettingWireless by adding all known members.
9460         (setting_wireless_verify): Implement.
9461
9462         * libnm-util/nm-connection.c: Register "ipv4" setting.
9463         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
9464         dump function, we can introspect the GHashTable which is used for sending connections
9465         over dbus.
9466
9467         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
9468         Take GByteArray for essid, it's really not a string.
9469
9470         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
9471         Start DHCP request if setting is not passed or if it states that DHCP should be used.
9472         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
9473         means overriding the values we got from DHCP.
9474         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
9475         (nm_device_deactivate_quickly): Ditto.
9476
9477         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
9478         for debugging.
9479
9480 2007-05-07  Tambet Ingo  <tambet@ximian.com>
9481
9482         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
9483         NMConnection.
9484
9485         * libnm-glib/nm-device-802-11-wireless.c:
9486         (nm_device_802_3_ethernet_activate): Remove.
9487
9488         * libnm-glib/nm-device-802-3-ethernet.c
9489         (nm_device_802_3_ethernet_activate): Remove.
9490
9491         * libnm-glib/nm-device.c (nm_device_activate): Implement.
9492
9493         * src/nm-device-802-3-ethernet.c: Implement the new activation using
9494         NMConnection.
9495
9496         * src/nm-device-802-11-wireless.c: Store an activation AP once the
9497         activation has started.
9498         Implement the new activation using NMConnection.
9499
9500         * src/nm-activation-request.c: Store a generic connection object instead
9501         of a wireless-specific AP.
9502
9503         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
9504         on device type, create a device specific connection object suitable for
9505         device activation.
9506
9507         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
9508         specific check to validate the connection and on success start the
9509         activation.
9510
9511         * src/nm-device-interface.h: Add a activate virtual function to the
9512         interface definition.
9513
9514         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
9515         (impl_device_activate): Implement.
9516
9517         * introspection/nm-device.xml: Add a generic device activation interface
9518         that accepts an abstract NMConnection structure that has device-specific
9519         information in it.
9520
9521         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
9522         activation interface.
9523
9524         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
9525         activation interface.
9526
9527         * libnm-util/nm-connection.c: 
9528         * libnm-util/nm-connection.h: 
9529         * libnm-util/nm-setting.c:
9530         * libnm-util/nm-setting.h: Add.
9531
9532         * libnm-util/Makefile.am: Build the added files.
9533
9534         * src/nm-dbus-manager.c
9535         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
9536         DbusConnection argument from 'name-owner-changed' signal. The manager
9537         is already passed as a first argument to the signal and the connection
9538         is easy enough to get from it.
9539
9540         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
9541         Update the signature of the function.
9542
9543         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
9544         Ditto.
9545
9546         * src/NetworkManager.c: Ditto.
9547
9548         * src/named-manager/nm-named-manager.c
9549         (nm_named_manager_name_owner_changed): Ditto.
9550
9551         * src/supplicant-manager/nm-supplicant-manager.c
9552         (nm_supplicant_manager_name_owner_changed): Ditto.
9553
9554         * src/nm-hal-manager.c (name_owner_changed): Ditto.
9555
9556         * src/dhcp-manager/nm-dhcp-manager.c
9557         (nm_dhcp_manager_name_owner_changed): Ditto.
9558
9559         * src/nm-hal-manager.c: Add a list of device detectors and creators
9560         to make it easier to add new devices. Each device type has it's own
9561         entry in the table so adding new device types is only a matter of
9562         implementing a couple of functions, one for device detection and the
9563         other for device creation.
9564
9565 2007-04-25  Dan Williams  <dcbw@redhat.com>
9566
9567         * initscript/RedHat/NetworkManager.in: remove trailing backslash
9568                 (gnome.org #432401)
9569
9570 2007-03-30  Dan Williams  <dcbw@redhat.com>
9571
9572         * src/NetworkManagerSystem.c
9573                 - (nm_system_device_set_ip4_route): clean up and fix argument
9574                         to nm_dev_sock_open()
9575
9576 2007-03-28  Tambet Ingo  <tambet@ximian.com>
9577
9578         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
9579         data to correct types instead of always using string.
9580
9581         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
9582         _not_ have NM_802_11_CAP_PROTO_NONE.
9583         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
9584         is not set.
9585
9586 2007-03-27  Tambet Ingo  <tambet@ximian.com>
9587
9588         * libnm-glib/Makefile.am: Fix the build issue.
9589
9590 2007-03-26  Tambet Ingo  <tambet@ximian.com>
9591
9592         * libnm-glib/nm-vpn-connection.h: 
9593         * libnm-glib/nm-vpn-connection.c: Implement.
9594
9595         * libnm-glib/nm-client.c: Add VPN support.
9596
9597         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
9598         handler for VPN.
9599
9600         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
9601         on DBUS again.
9602
9603 2007-03-26  Dan Williams  <dcbw@redhat.com>
9604
9605         * src/NetworkManagerAPList.c
9606         * src/nm-device-802-11-wireless.c
9607         * src/NetworkManagerAP.c:
9608                 - Store last seen as glong instead of GTimeVal.
9609                 - Fix the upper bound of capabilities, it's a bitfield.
9610
9611 2007-03-16  Tambet Ingo  <tambet@ximian.com>
9612
9613         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
9614
9615         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
9616         "manager-running" signal that notifies the appearance/disappearance of NM.
9617         (nm_client_sleep): Implement.
9618
9619         * libnm-glib/nm-device.c:
9620         * libnm-glib/nm-device-802-11-wireless.c: 
9621         * libnm-glib/nm-device-802-3-ethernet.c: 
9622
9623         Don't inherit from DBusGProxy, add a proxy to private
9624         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
9625         for anything but their own dbus interface. DBusGProxy objects support only one
9626         interfaces and to work around this, NMDevice has spearate proxy for each dbus
9627         interface. The nice side effect of this change is that we do not create a new
9628         DBusGProxy object for each property access.
9629
9630 2007-03-15  Tambet Ingo  <tambet@ximian.com>
9631
9632         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
9633         with zeroes before passing them to functions - the functions never do that and
9634         reading the values back may produce wrong values.
9635         (real_bring_up): Store the signal handler id ...
9636         (real_bring_down): ... So that it can be removed here.
9637         Disconnect the supplicant interface here as well.
9638         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
9639         from the access point instead of old $device/Networks/$essid.
9640
9641         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
9642         device state is connected (instead of just having link/carrier).
9643
9644         * src/nm-activation-request.c: Don't store NMData in activation request, it's
9645         already easily accessible through the device.
9646
9647         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
9648         store it within the object.
9649         (nm_ap_get_dbus_path): Export it to public as well.
9650
9651         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
9652         of the singleton.
9653
9654 2007-03-12  Dan Williams  <dcbw@redhat.com>
9655
9656         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
9657         for non-carrier-detect capable devices, and useless for carrier-detect
9658         devices since we get notifications from netlink about carrier status anyway.
9659
9660         * src/nm-device-802-3-ethernet.c
9661                 - remove 'link_source_id' member from private data
9662                 - (probe_link): remove and collapse into real_update_link()
9663                 - (nm_device_802_3_periodic_update): remove
9664                 - (real_is_up): check for sup_iface rather than link_source_id
9665                 - (real_bring_up): return gboolean for success/fail; require that
9666                         sup_iface be valid for device bringup to succeed
9667                 - (real_bring_down): zero out link signal ids
9668
9669         * src/nm-device.c
9670                 - (nm_device_activate_stage2_device_config): fail activation if device
9671                         bringup fails
9672                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
9673                         fails
9674                 - (nm_device_bring_up): return success/fail
9675
9676         * src/nm-device.h
9677                 - bring_up now returns success/fail
9678
9679         * src/nm-device-802-11-wireless.c
9680                 - (real_bring_up): return success from bringup
9681
9682 2007-03-07  Dan Williams  <dcbw@redhat.com>
9683
9684         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
9685         * src/nm-ap-security-wpa-psk.c
9686                 - (real_write_supplicant_config): work with PSKs that may contain
9687                         zeros in the binary format rather than treating it as a string
9688
9689 2007-03-02  Tambet Ingo  <tambet@ximian.com>
9690
9691         * libnm-glib/nm-device-802-11-wireless.c
9692         (nm_device_802_11_wireless_get_capabilities): Implement.
9693
9694         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
9695
9696         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
9697
9698         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
9699         reply only if it's not NULL. Not sure why this started happening right now.
9700
9701         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
9702         code paths for when devices get removed on shutdown or when a device is just
9703         removed.
9704         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
9705         gets freed so any signal from a device (disconnected for instance) would invoke
9706         NMState update which would crash.
9707         (nm_manager_remove_device): Bring the device down when it gets removed.
9708
9709         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
9710         the unused dev_type.
9711
9712         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
9713         reference to the added device, NMManager will own it (if it wants).
9714
9715         * test/nm-tool.c: Rewrite using libnm-glib.
9716
9717         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
9718         We get signalled when it changes.
9719
9720         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
9721         when it changes.
9722
9723         * libnm-glib/nm-device.c: Cache the device state property.
9724
9725         * libnm-glib/nm-access-point.c: Cache the strength property.
9726
9727         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
9728         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
9729         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
9730         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
9731         the device is down, activating, or activated (in case of A/B/G cards).
9732         Remove some old dead ifdef'ed out code that used to configure wireless devices,
9733         it's all done through supplicant now.
9734
9735         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
9736         counting issues with pending calls which caused leaks and crashes when
9737         interface was removed (now that the interface actually gets removed).
9738
9739         * src/nm-call-store.c: Make a copy of data before running a foreach
9740         with user callback on it - The most common usage pattern is to cancel
9741         (and thus remove) all pending calls with foreach which would modify
9742         the hash table we're iterating over.
9743
9744         * src/nm-manager.c: When a device is added, make sure it is "up". When
9745         it's removed or disabled due to disabling wireless or networking, bring
9746         it down.
9747
9748         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
9749
9750         * src/nm-device-802-11-wireless.c: 
9751         * src/nm-device-802-3-ethernet.c: 
9752         * src/nm-device.c:
9753                 - Remove "init" virtual function, all gobjects have a place for that
9754                   already (constructor).
9755                 - Replace "start" virtual function with "bring_up", devices can be
9756                   brought up and down more than just on startup now.
9757                 - Add "is_up" virtual function.
9758                 - Implement one way to bring a device down instead of previous 4 different
9759                   ways, each of witch did something different.
9760
9761         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
9762         all it needs is the device interface.
9763
9764         Get rid of NMData.dev_list (3 members to go).
9765         Get rif of NMData in a lot of places.
9766
9767         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
9768
9769 2007-02-23  Dan Williams  <dcbw@redhat.com>
9770
9771         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
9772
9773         * src/NetworkManagerAP.c
9774                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
9775                         OR-ing rather than AND-ing
9776
9777 2007-02-20  Tambet Ingo  <tambet@ximian.com>
9778
9779         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
9780         "network-removed" signals.
9781
9782         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
9783
9784         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
9785         when receiving the signal from dbus.
9786
9787         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
9788         property.
9789
9790         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
9791         deactivation of the previously activated device working again.
9792
9793         * src/nm-activation-request.c: Remove NMActStage property and it's getter
9794         and setter.
9795
9796         * src/nm-device.c (nm_device_is_activated): Remove.
9797         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
9798
9799         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
9800         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
9801         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
9802         NM_DBUS_SIGNAL_STATE_CHANGE signal.
9803         Remove NMNetworkStatus and NMActStage enums.
9804
9805 2007-02-19  Tambet Ingo  <tambet@ximian.com>
9806
9807         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
9808         Handle device state changes and disconnect VPN if it's device deactivates.
9809
9810         * src/nm-dbus-nm.c: 
9811         * src/nm-dbus-nm.h: 
9812         * src/nm-dbus-device.c: 
9813         * src/nm-dbus-device.c: 
9814         * src/nm-dbus-net.c: 
9815         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
9816
9817         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
9818
9819         * src/nm-device.c (nm_device_get_by_udi):
9820         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
9821         implemented in the correct location (NMManager).
9822         Rip out all the test_device stuff.
9823
9824         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
9825         failure handlers, it's all done by NMDevice already.
9826
9827         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
9828         Remove the iochannel hack to route the unix signals to the main thread since
9829         we're not threaded anymore.
9830
9831         * src/NetworkManagerAP.c: Implement HWAddress property.
9832
9833         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
9834         automatically with dbus-glib.
9835
9836         * src/nm-netlink-monitor.c: 
9837         * src/nm-netlink-monitor.h:
9838                 - Move it low in the class hierarchy, don't reference any NM types.
9839                 - Remove private data from the header.
9840                 - Use type safe checks in public API methods.
9841                 - Make it a singleton so we don't have to pass the single reference around.
9842
9843 2007-02-16  Tambet Ingo  <tambet@ximian.com>
9844
9845         * introspection/nm-ip4-config.xml: Implement.
9846
9847         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
9848
9849         * libnm-glib/nm-ip4-config.c:
9850         * libnm-glib/nm-ip4-config.c: Implement.
9851
9852         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
9853         securities. APs reference security.
9854
9855         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
9856         be exported over DBUS.
9857
9858         * src/nm-device-802-3-ethernet.c: Ditto.
9859
9860         * src/NetworkManagerAP.c:
9861         * src/NetworkManagerAP.h:
9862                 - Convert to GObject, export over DBUS.
9863
9864         * src/nm-ip4-config.h:
9865         * src/nm-ip4-config.h:
9866                 - Convert to GObject, export over DBUS.
9867
9868 2007-02-12  Dan Williams  <dcbw@redhat.com>
9869
9870         Patch from Helmut Schaa <hschaa@suse.de>
9871
9872         * vpn-daemons/pptp/configure.in
9873           vpn-daemons/pptp/Makefile.am
9874           vpn-daemons/openvpn/configure.in
9875           vpn-daemons/openvpn/Makefile.am
9876           vpn-daemons/vpnc/configure.in
9877           vpn-daemons/vpnc/Makefile.am
9878                 - Add --without-gnome switch which disables building gnome bits
9879
9880 2007-02-12  Tambet Ingo  <tambet@ximian.com>
9881
9882         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
9883
9884         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
9885
9886         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
9887         'HwAddress'.
9888
9889         * introspection/nm-device.xml: Remove 'UseDhcp' property.
9890
9891         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
9892
9893         Totally break NetworkManager. Please use 0.6 branch until futher notice.
9894
9895         * src/:
9896                 - Remove old low-level dbus interface implementations and replace them
9897                   with dbus-glib one.
9898
9899         * configure.in:
9900                 - Require dbus-glib >= 0.72.
9901                 - Plug in new sources to build.
9902
9903         * libnm-glib/:
9904                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
9905                   to make it more convenient to use from GObject based programs.
9906
9907         * introspection/:
9908                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
9909
9910 2007-02-09  Tambet Ingo  <tambet@ximian.com>
9911
9912         * src/nm-device-802-11-wireless.c:
9913                 - Add "network-added" and "network-removed" signals.
9914                 - Use gobject boilerplate macros to define the GObject.
9915                 - Implement wireless device activation.
9916                 - Remove activation_failure_handler and activation_success_handler
9917                   and instead listen on state-changed signals and run the same code
9918                   from there.
9919
9920         * src/nm-device.c:
9921                 - Implment NMDeviceInterface::deactivate.
9922                 - Remove activation_failure_handler and activation_success_handler
9923                   virtual methods. Each device which is interested in these events
9924                   can just listen on it's state changed signals.
9925
9926         * src/NetworkManagerPolicy.c:
9927                 - Move a bit more NMData usage to NMManager.
9928                 - Remove activation scheduling bits.
9929                 - Add listeners for wireless device's "network-added" and
9930                   "network-removed" signals.
9931                 - Listen device changed signals and deactivate currently activated
9932                   device when another device start activating (for now).
9933                 - Remove (nm_policy_schedule_device_change_check): There's never a need
9934                   for calling this, the policy code knows exactly when this should happen,
9935                   by listening on events from NMManager and NMDevices.
9936
9937         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
9938         Implement.
9939
9940         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
9941         method on the specific device instead of going to through policy code
9942         and determining the device type by passed in AP's existance.
9943
9944         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
9945         abstract NMDevice deactivation.
9946
9947 2007-02-08  Tambet Ingo  <tambet@ximian.com>
9948
9949         * src/NetworkManager.c:
9950                 - Set up all the shiny new managers.
9951
9952         * src/NetworkManagerPolicy.c:
9953                 - Add the beginnings of new NMPolicy code. Instead of requireing all
9954                   classes to call into policy code, make the policy code kind of like
9955                   a supervisor that monitors what's going on and drives the whole NM.
9956
9957         * src/nm-hal-manager.c: 
9958         * src/nm-hal-manager.h:
9959                 - Collect all libhal code scattered around NM to this one class.
9960                 - Listen libhal and NMManager events and add/remove devices to
9961                   NMManager.
9962
9963         * src/nm-manager.c:
9964         * src/nm-manager.h:
9965                 - Implment a replacement for NMData. NMData is now officially
9966                 deprecated.
9967
9968 2007-02-05  Tambet Ingo  <tambet@ximian.com>
9969
9970         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
9971         * src/supplicant-manager/nm-supplicant-interface.h
9972         * src/supplicant-manager/nm-supplicant-interface.c
9973         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
9974         argument to boolean from enum.
9975
9976         Make NMDevice abstract class, remove almost all references to it's
9977         subclasses (the last place gets removed with new policy manager). Add
9978         NMDeviceInterface (which NMDevice implements) so that when we have
9979         NMDevice exported over DBUS, there's a common NMDevice interface which
9980         all instances have, plus there's a device specific interface for each
9981         specific type.
9982         Remove functions (nm_device_is_802_3_ethernet) and
9983         (nm_device_is_802_11_wireless). There are already standard GObject macros
9984         for type safe checks.
9985         Use the updated supplican manager API.
9986
9987         * src/nm-device-interface.h: 
9988         * src/nm-device-interface.c: 
9989         * src/nm-call-store.h: 
9990         * src/nm-call-store.c: Implement.
9991
9992         * src/supplicant-manager/nm-supplicant-interface.c:
9993         * src/supplicant-manager/nm-supplicant-interface.h:
9994         * src/supplicant-manager/nm-supplicant-manager.c:
9995         * src/supplicant-manager/nm-supplicant-manager.h:
9996                 - Remove all private data type references from public header files.
9997                 - Remove all references to other NM classes, this class is just a
9998                   proxy between wpa_supplicant and NM so it doesn't have to know
9999                   any internals.
10000                 - Convert to dbus-glib bindings.
10001                 - Type safe checks for public methods' arguments.
10002                 - Store pending DBUS call ids to NMCallStore.
10003
10004         * src/supplicant-manager/nm-supplicant-config.c:
10005                 - Store config values in a GHashTable instead of GSList.
10006
10007         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
10008
10009         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
10010         singleton now.
10011
10012         * src/nm-device.c: Use the new DHCP manager API.
10013
10014         * src/nm-activation-request.c:
10015         * src/nm-activation-request.h:
10016                 - Remove all dhcp related properties and methods.
10017
10018         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
10019
10020         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
10021
10022         * src/dhcp-manager/nm-dhcp-manager.c:
10023         * src/dhcp-manager/nm-dhcp-manager.h:
10024                 - Convert it to GObject since we need to signal state changes.
10025                 - Remove all references to other NM classes, this class is one
10026                   of the lowest classes in our hierarchy.
10027                 - One less class to use NMActRequest.
10028                 - Make it singleton, one less user of NMData.
10029                 - Remove a couple of sleep() calls.
10030                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
10031                   One less class to use the NM's custom tailored signal handlig.
10032
10033         * Makefile.am: Generate marshallers, add them to build.
10034
10035 2007-02-02  Dan Williams  <dcbw@redhat.com>
10036
10037         * configure.in
10038           gnome/Makefile.am
10039           nm-applet.desktop
10040           Makefile.am
10041                 - Remove last bits referencing gnome applet
10042
10043 2007-02-02  Dan Williams  <dcbw@redhat.com>
10044
10045         * src/vpn-manager/nm-vpn-service.c
10046                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
10047                         and NBNS server addresses
10048
10049 2007-02-02  Tambet Ingo  <tambet@ximian.com>
10050
10051         * src/nm-dbus-manager.c:
10052         * src/nm-dbus-manager.h:
10053                 - Convert all internal DBUS code to use dbus-glib bindings.
10054                 - Remove GObject properties, we don't need them here.
10055                 - Don't explicitly set things to NULL after freeing, glib is
10056                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
10057                 - Make public API argument checks type safe.
10058                 - Remove unnecessary (and wrong) cast to GObject for the first
10059                   argument to g_signal_* calls - The first argument is a gpointer.
10060                 - Export DBusGConnection to other cool classes that (are going to)
10061                   use dbus-glib.
10062
10063 2007-01-26  Dan Williams  <dcbw@redhat.com>
10064
10065         * libnm-util/dbus-dict-helpers.c
10066           libnm-util/dbus-dict-helpers.h
10067                 - Coordinate style with wpa_supplicant version to minimize diff
10068                 - Add uint32 array support
10069                 - (nmu_dbus_dict_append_uint32_array): new function
10070                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
10071                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
10072                         version; allow adding string array elements individually
10073
10074         * test/libnm-util/test-dbus-dict-helpers.c
10075                 - Test uint32 arrays
10076
10077 2007-01-27  Jürg Billeter  <j@bitron.ch>
10078
10079         * src/backends/NetworkManagerPaldo.c
10080                 - (nm_system_update_dns): clear nscd hosts cache
10081
10082 2007-01-04  Dan Williams  <dcbw@redhat.com>
10083
10084         Threading removal related cleanups:
10085
10086         - Use the glib default main context.  Remove the device main context
10087                 member from NMDevice, and the main_context member from NMData.  Change
10088                 all the idle and timeout scheduler functions to use plain
10089                 g_idle_add() and g_timeout_add().
10090
10091         - As a side-effect of the first change, nm_dbus_manager_get() no longer
10092                 takes an argument; fix that up too.
10093
10094         - Remove all locking, which is useless since we no longer use threads.  For
10095                 example, nm_get_device_by_iface_locked() has been removed.  The global
10096                 device list lock, the AP List lock, and all static locks in
10097                 NetworkManagerPolicy.c have been removed.  The locking utility functions
10098                 in NetworkManagerUtils.c have also been removed.
10099
10100         - Other cleanups in spacing and code style
10101
10102 2007-01-01  Dan Williams  <dcbw@redhat.com>
10103
10104         Found by Bill Moss:
10105
10106         * src/supplicant-manager/nm-supplicant-interface.c
10107                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
10108                         the supplicant interface wasn't already disconnected.  Always
10109                         call removeNetwork and disconnect unless the supplicant interface
10110                         is in the DISCONNECTED or INACTIVE state.
10111
10112 2006-12-28  Dan Williams  <dcbw@redhat.com>
10113
10114         Use a single thread for everything.  With the move to wpa_supplicant
10115         and communication over D-Bus, there's no reason for multiple threads.
10116         Almost all of the blocking code has been removed, with one exception in
10117         the DHCP manager and a few in the VPN manager.  This commit removes the
10118         per-device worker thread and fixes activation cancellation in the absence
10119         of threads.  Further removal of thread-related code would be removing
10120         any locking code (like the device list lock) and simplification of logic
10121         around areas of code or data structures that are currently locked.
10122
10123         * autoip.c
10124           dhcp-manager/nm-dhcp-manager.c 
10125           nm-device-802-11-wireless.c
10126           nm-device-802-3-ethernet.c
10127           nm-device.c
10128           nm-device.h
10129                 - Remove usage of multiple threads
10130
10131 2006-12-19  Dan Williams  <dcbw@redhat.com>
10132
10133         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
10134         plus a few other patches from wpa_supplicant bugzilla.
10135
10136         * src/Makefile.am
10137           src/NetworkManagerPolicy.c
10138           src/NetworkManagerUtils.c
10139           src/NetworkManagerUtils.h
10140           src/nm-ap-security-leap.c
10141           src/nm-ap-security-wep.c
10142           src/nm-ap-security-wpa-eap.c
10143           src/nm-ap-security-wpa-psk.c
10144           src/nm-ap-security.c
10145           src/nm-ap-security.h
10146           src/nm-device-802-11-wireless.c
10147           src/nm-device-802-11-wireless.h
10148           src/supplicant-manager/nm-supplicant-config.c
10149           src/supplicant-manager/nm-supplicant-config.h
10150           src/supplicant-manager/nm-supplicant-interface.c
10151           src/supplicant-manager/nm-supplicant-interface.h
10152           src/supplicant-manager/nm-supplicant-marshal.list
10153           src/supplicant-manager/nm-supplicant-settings-verify.c
10154           src/supplicant-manager/nm-supplicant-settings-verify.h
10155                 - Move all connection management and association handling to
10156                         wpa_supplicant over dbus, rather than spawning a private copy
10157
10158 2006-12-19  Dan Williams  <dcbw@redhat.com>
10159
10160         * src/NetworkManagerPolicy.c
10161                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
10162                         better locking of the device change check handler ID.  Incorrect
10163                         locking was causing lost device change requests
10164
10165 2006-12-18  Dan Williams  <dcbw@redhat.com>
10166
10167         * libnm-util/dbus-dict-helpers.c
10168                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
10169                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
10170                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
10171
10172 2006-12-18  Dan Williams  <dcbw@redhat.com>
10173
10174         * gnome/libnm_glib/libnm_glib.c
10175                 - Change dbus_connection_close() -> dbus_connection_unref()
10176
10177 2006-12-11  Dan Williams  <dcbw@redhat.com>
10178
10179         * src/supplicant-manager/nm-supplicant-interface.c
10180                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
10181                         wpa_supplicant interface state
10182                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
10183                         state before transitioning to READY state
10184
10185 2006-12-04  Dan Williams  <dcbw@redhat.com>
10186
10187         * src/nm-device-802-11-wireless.c
10188                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
10189                         odd length of ESSID returned from ieee80211 stack-based drivers
10190
10191 2006-12-04  Dan Williams  <dcbw@redhat.com>
10192
10193         * src/nm-device-802-11-wireless.c
10194                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
10195                         IE handling blocks that cause mis-parsing of the IE
10196
10197 2006-12-04  Dan Williams  <dcbw@redhat.com>
10198
10199         * src/nm-device-802-11-wireless.c
10200                 - (init_supplicant_interface): new function; pull supplicant interface
10201                         setup code out into standalone function since it must be called from
10202                         two different places
10203                 - (real_init): sup_mgr is now in private object data; get and track
10204                         the supplicant manager object over the NMDevice subclass' lifetime
10205                         and register a signal handler for its state signals; only try to
10206                         initialize the supplicant interface if the supplicant manager is in
10207                         the IDLE state (and therefore is ready for requests)
10208                 - (request_wireless_scan): reschedule the scan request if (a) there is
10209                         no supplicant interface yet (meaning wpa_supplicant isn't running
10210                         or isn't ready yet), or (b) if the supplicant interface isn't ready
10211                         for requests yet
10212                 - (supplicant_iface_connection_state_cb): new function; stub for
10213                         handling supplicant interface connection state signals
10214                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
10215                         comes and goes
10216                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
10217                         supplicant manager object that's being tracked starting with this
10218                         commit
10219
10220 2006-12-04  Dan Williams  <dcbw@redhat.com>
10221
10222         * src/supplicant-manager/nm-supplicant-interface.c
10223                 - (nm_supplicant_interface_set_property): track signal handler ID
10224                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
10225
10226 2006-12-04  Dan Williams  <dcbw@redhat.com>
10227
10228         * src/supplicant-manager/nm-supplicant-interface.[ch]
10229                 - (nm_supplicant_interface_get_state): new function
10230
10231 2006-12-04  Dan Williams  <dcbw@redhat.com>
10232
10233         * src/supplicant-manager/nm-supplicant-interface.c
10234                 - (bssid_properties_cb): don't treat DBus errors as valid
10235                         scanned AP messages
10236
10237 2006-12-04  Dan Williams  <dcbw@redhat.com>
10238
10239         * src/supplicant-manager/nm-supplicant-interface.[ch]
10240                 - (nm_supplicant_interface_get_connection_state): new function
10241                 - define new supplicant connection states
10242                 - send a signal when the supplicant connection state changes
10243
10244 2006-12-03  Dan Williams  <dcbw@redhat.com>
10245
10246         * src/supplicant-manager/Makefile.am
10247           src/supplicant-manager/nm-supplicant-connection.h
10248           src/supplicant-manager/nm-supplicant-connection.c
10249           src/supplicant-manager/nm-supplicant-config.h
10250           src/supplicant-manager/nm-supplicant-config.c
10251           src/supplicant-manager/nm-supplicant-types.h
10252           src/supplicant-manager/nm-supplicant-interface.h
10253           src/supplicant-manager/nm-supplicant-interface.c
10254                 - Rename NMSupplicantConnection -> NMSupplicantConfig
10255
10256 2006-12-03  Dan Williams  <dcbw@redhat.com>
10257
10258         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
10259
10260         * po/POTFILES.in
10261           po/POTFILES.skip
10262                 - Move VPN-related translatables to .skip
10263
10264         * vpn-daemons/pptp/po/POTFILES.in
10265                 - Update with new translatables
10266
10267 2006-12-02  Dan Williams  <dcbw@redhat.com>
10268
10269         Patch from Christian Persch <chpe@gnome.org>
10270
10271         * gnome/applet/Makefile.am
10272           gnome/applet/applet-dbus-devices.c
10273           gnome/applet/applet-notifications.c
10274           gnome/applet/applet.c
10275           gnome/applet/applet.h
10276           gnome/applet/main.c
10277                 - Be a GtkStatusIcon on GTK+ >= 2.10
10278
10279 2006-12-02  Dan Williams  <dcbw@redhat.com>
10280
10281         * gnome/applet/applet.c
10282                 - (nma_update_info): fix two unecessary allocations
10283
10284 2006-12-02  Dan Williams  <dcbw@redhat.com>
10285
10286         Patch from Michael Biebl <biebl@teco.edu>
10287         * configure.in
10288           man/NetworkManager.1.in
10289           man/NetworkManagerDispatcher.1.in
10290           man/NetworkManager.8.in
10291           man/NetworkManagerDispatcher.8.in
10292                 - Add .SH NAME stanzas
10293                 - Move NM & NM Dispatcher manpages to section 8 (admin)
10294
10295 2006-12-02  Dan Williams  <dcbw@redhat.com>
10296
10297         Patch from Christian Persch <chpe@gnome.org>
10298
10299         * configure.in
10300                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
10301
10302 2006-11-29  Tambet Ingo  <tambet@ximian.com>
10303
10304         Patch by Timo Hoenig <thoenig@suse.de>:
10305         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
10306         DBUS-1.0.
10307
10308         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
10309         we can't use the one from the main source directory.
10310
10311 2006-11-27  Dan Williams  <dcbw@redhat.com>
10312
10313         Patch from Christian Persch <chpe@gnome.org>
10314
10315         * gnome/applet/applet-dbus-devices.c
10316                 - (hal_info_product_cb): fix memleak; free duped string.
10317                         Gnome.org #379908
10318
10319 2006-11-27  Dan Williams  <dcbw@redhat.com>
10320
10321         Patch from Christian Persch <chpe@gnome.org>
10322
10323         * gnome/applet/menu-items.c
10324                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
10325                         as gtk_progress_set_percentage is deprecated.  Should
10326                         work as far back as GTK+ 2.4.  Gnome.org #379780
10327
10328 2006-11-26  Dan Williams  <dcbw@redhat.com>
10329
10330         Scan using wpa_supplicant over DBus.
10331
10332         * src/nm-device-802-11-wireless.c
10333                 - remove wireless extensions netlink event handler bits
10334                         (wireless_event_helper, nm_device_802_11_wireless_event)
10335                 - remove wireless extensions scan event handler bits
10336                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
10337                         hex2byte, hex2num, request_and_convert_scan_results,
10338                         free_process_scan_cb_data, scan_results_timeout,
10339                         schedule_scan_results_timeout, cancel_scan_results_timeout)
10340                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
10341                         and request scans from the supplicant interface rather than directly
10342                 - Move functionality of convert_scan_results() to cull_scan_list() and
10343                         supplicant_iface_scanned_ap_cb()
10344                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
10345                         at the scan interval when the current scan has finished
10346                 - (supplicant_iface_state_cb): start scanning when the supplicant
10347                         interface enters the READY state, and stop scanning when it
10348                         enters the DOWN state
10349                 - (cull_scan_list): weed out old access points from the scan list
10350                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
10351                         point into an NMAccessPoint and merge it into the device's scan list
10352
10353         * src/supplicant-manager/nm-supplicant-interface.c
10354           src/supplicant-manager/nm-supplicant-interface.h
10355                 - Add a new signal "scan-result" which is issued when the supplicant
10356                         notifies NM that a scan has completed
10357                 - Add a new signal "scanned-ap" that notifies listeners of a new access
10358                         point found in the scan.  Called once for each access point that
10359                         the supplicant interface object receives from the supplicant as a
10360                         result of the "scanResults" method call
10361                 - (wpas_iface_query_scan_results): don't wait 4s before querying
10362                         for the initial scan results
10363                 - (scan_request_cb): new function; send listeners the result
10364                         (success, error) of a wireless scan request
10365                 - (nm_supplicant_interface_request_scan): new function; ask the
10366                         supplicant to perform an immediate wireless scan
10367
10368 2006-11-25  Dan Williams  <dcbw@redhat.com>
10369
10370         * src/supplicant-manager/Makefile.am
10371                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
10372                         add HAL cflags/includes and named-manager includes directory
10373
10374         * src/supplicant-manager/nm-supplicant-interface.h
10375                 - New state STARTING to handle transition from INIT to READY where
10376                         the addInterface pending call is still outstanding
10377
10378         * src/supplicant-manager/nm-supplicant-interface.c
10379                 - track pending calls differently since we may have more than one
10380                         going on at any given time
10381                 - request scan results from wpa_supplicant; but don't do it more often
10382                         than every 4 seconds.  Drivers that do background scanning
10383                         (like the 'ipw' drivers) send a continuous stream of scan completion
10384                         notifications, so we don't want to hammer the supplicant or dbus
10385                         with requests for all scan results every time we get a completion
10386                         notification.
10387
10388 2006-11-25  Dan Williams  <dcbw@redhat.com>
10389
10390         * src/supplicant-manager/nm-supplicant-types.h
10391                 - new file; move all supplicant manager object typedefs here for
10392                         #include sanity
10393
10394         * src/supplicant-manager/nm-supplicant-interface.c
10395           src/supplicant-manager/nm-supplicant-interface.h
10396                 - new file; an object that interfaces an NMDevice object to the
10397                         supplicant and handles signals from the supplicant.  This object
10398                         does all necessary DBus communication with wpa_supplicant.
10399
10400         * src/supplicant-manager/nm-supplicant-manager.c
10401           src/supplicant-manager/nm-supplicant-manager.h
10402                 - Actually do something.  Track the state of the wpa_supplicant service
10403                         and deal with its comings & goings.  Handle life events of
10404                         supplicant interfaces too.
10405                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
10406
10407         * src/supplicant-manager/nm-supplicant-connection.h
10408                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
10409
10410         * src/supplicant-manager/Makefile.am
10411                 - Add new files to build, and add libnm-util to includes
10412
10413         * src/nm-marshal.list
10414                 - New marshaler type: VOID:UINT,UINT
10415
10416         * src/nm-device-802-3-ethernet.c
10417                 - (real_init): grab a supplicant interface
10418                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
10419                 - (supplicant_iface_state_cb): new function, stub for handling
10420                         supplicant interface state changes
10421
10422         * src/nm-device-802-11-wireless.c
10423                 - (real_init): grab a supplicant interface
10424                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
10425                 - (supplicant_iface_state_cb): new function, stub for handling
10426                         supplicant interface state changes
10427
10428         * src/NetworkManager.c
10429                 - (main): create and keep the supplicant manager around for the lifetime
10430                         of NetworkManager
10431
10432         * src/Makefile.am
10433                 - Link to the supplicant manager sub-library and use the supplicant
10434                         manager includes
10435
10436 2006-11-25  Dan Williams  <dcbw@redhat.com>
10437
10438         Rework DBus manager signal handling to be more flexible.  Previously,
10439         only one signal handler could be registered for a particular interface.
10440         The DBus manager now reference counts DBus bus matches and allows multiple
10441         clients to register signal handlers for the same interface and sender.
10442
10443         * src/NetworkManager.c
10444                 - (main): track NMI signal handler ID and remove it when we quit
10445
10446         * src/NetworkManagerMain.h
10447                 - Keep track of NMI signal handler ID
10448
10449         * src/nm-dbus-manager.c
10450           src/nm-dbus-manager.h
10451                 - rework signal handling; each signal handler references one signal
10452                         match, but a signal match may be referenced by one or more
10453                         signal handlers.  Matches are refcounted and are destroyed when the
10454                         last signal handler that references the match is removed.  This is
10455                         necessary because two signal handlers may end up requiring the same
10456                         dbus bus match, so the match must live until the last signal handler
10457                         is destroyed (for example, with the wpa_supplicant network interface
10458                         dbus interface).
10459
10460         * src/dhcp-manager/nm-dhcp-manager.c
10461                 - (nm_dhcp_manager_new): track DHCP signal handler id
10462                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
10463
10464         * src/vpn-manager/nm-vpn-service.c
10465                 - (nm_vpn_service_add_watch): track VPN service signal handler id
10466                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
10467
10468 2006-11-25  Dan Williams  <dcbw@redhat.com>
10469
10470         Suggested by Helmut Schaa <hschaa@suse.de>
10471
10472         * src/vpn-daemons/nm-vpn-service.c
10473                 - (supplicant_child_setup): new function
10474                 - (supplicant_exec): make child process use a new process group id
10475
10476         * src/nm-device-802-11-wireless.c
10477                 - (nm_vpn_service_child_setup): new function
10478                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
10479                         process group id
10480
10481 2006-11-19  Dan Williams  <dcbw@redhat.com>
10482
10483         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
10484         * gnome/vpn-properties/nm-vpn-properties.c
10485                 - clean up after renamed VPN connection
10486
10487 2006-11-19  Dan Williams  <dcbw@redhat.com>
10488
10489         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
10490         * gnome/applet/applet-dbus-vpn.c
10491                 - (nma_dbus_vpn_properties_cb): sort VPN connections
10492
10493         * gnome/vpn-properties/nm-vpn-properties.c
10494                 - (init_app): sort VPN connections
10495
10496 2006-11-09  Dan Williams  <dcbw@redhat.com>
10497
10498         * src/NetworkManagerAPList.c
10499                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
10500                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
10501                 from the nm_ap_list_get_ap_by_address() call was incorrect and
10502                 broke hidden SSID matching.  Found by Bill Moss.
10503
10504 2006-10-25  Dan Williams  <dcbw@redhat.com>
10505
10506         * src/nm-dbus-nm.c
10507                 - (nm_dbus_nm_set_active_device): return an empty success message on
10508                         success, rather than falling through to the error case.
10509
10510 2006-10-25  Dan Williams  <dcbw@redhat.com>
10511
10512         * src/NetworkManagerUtils.c
10513                 - (nm_utils_supplicant_request_with_check): suppress messages for the
10514                         "SCAN" command
10515
10516 2006-10-24  Dan Williams  <dcbw@redhat.com>
10517
10518         Reduce the number of times the Gnome applet wakes up, especially when
10519         it's doing absolutely nothing and is hidden.  Initial patch by
10520         Chris Aillon.
10521
10522         * gnome/applet/applet-dbus.c
10523                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
10524                         kill the redraw timeout.  When NM starts up, start the redraw
10525                         timeout.  Also, if we get kicked off the bus for some reason,
10526                         start the reconnection timeout if one's not already running.
10527                 - (nma_dbus_init): better handling of error conditions, don't leak
10528                         a half-initialized dbus connection
10529                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
10530                         the applet's data, just call nm_dbus_init_helper()
10531                 - (nma_start_dbus_connection_watch): new function, starts a periodic
10532                         timeout that calls nma_dbus_connection_watcher()
10533                 - (nma_dbus_init_helper): if we get a successful connection, kill the
10534                         reconnection timeout, and don't start the reconnection timeout
10535                         unconditionally anymore
10536
10537         * gnome/applet/applet-dbus.h
10538                 - Expose nma_start_dbus_connection_watch()
10539
10540         * gnome/applet/applet.c
10541                 - (nma_update_state): no longer static, called from applet-dbus.c for
10542                         immediate UI updates on certain events
10543                 - (nma_set_running): new function; take over setting applet->running,
10544                         when not running (ie, NM is not active), don't activate the redraw
10545                         timeout because we're not showing the applet anyway.  When we are
10546                         running (ie, NM is active), and only when we're running, start the
10547                         redraw timeout.
10548                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
10549                         kill any reconnection timeout
10550                 - (nma_get_instance): move one-off dbus initialization code here since
10551                         nm_dbus_init_helper() gets called more than once, possibly by the
10552                         reconnection timeout function too.  And, when we start up, if we
10553                         can't get a connection to the bus, start the reconnection timeout.
10554                         But don't start the redraw timeout yet, only do that when we get
10555                         NM's state and find out if it's running or not.
10556
10557         * gnome/applet/applet.h
10558                 - Add the reconnection GSource ID
10559                 - Add prototypes for nma_set_running() and the no-longer-static
10560                         nma_update_state()
10561
10562 2006-10-24  Dan Williams  <dcbw@redhat.com>
10563
10564         * src/vpn-daemons/nm-dbus-vpnc.c
10565                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
10566                         pending call tracker
10567                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
10568                         pending call tracker; register one-vpn-connection update pending
10569                         call in pending call tracker
10570                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
10571                         update pending call in pending call tracker
10572                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
10573                         update pending call in pending call tracker; don't block waiting
10574                         for call to return
10575
10576 2006-10-19  Robert Love  <rml@novell.com>
10577
10578         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
10579           refresh the cache.
10580
10581 2006-10-14  Dan Williams  <dcbw@redhat.com>
10582
10583         * src/dhcp-manager/nm-dhcp-manager.c
10584                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
10585                 the dbus connection and the device object path rather than
10586                 constructing it inside both functions.  Saves a bit of memory
10587                 and clarifies a failure path.
10588                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
10589                 and allocate device path here rather than each of the two
10590                 functions above.
10591
10592 2006-10-13  Dan Williams  <dcbw@redhat.com>
10593
10594         * src/NetworkManager.c
10595                 - (nm_name_owner_changed_handler): handle NMI coming and going,
10596                 this somehow droppout in the refactor
10597
10598 2006-10-13  Dan Williams  <dcbw@redhat.com>
10599
10600         * Huge DBus refactor:
10601                 - Create a "DBus Manager" object which manages the connection and
10602                 sends signals on NameOwnerChanged and connection/disconnection events,
10603                 handles reconnection to the bus if NM gets kicked off, and abstracts
10604                 signal handling
10605                 - Remove DBusConnection members from places where they are no
10606                 longer needed due to the refactor, like the dbus-connection
10607                 property of the named manager, and from NMData
10608                 - Reformats a bunch of the code to gnome style
10609                 (8-space tabs, braces on same line as statement, 80-col width).
10610                 Consider it open season to reformat any bits to gnome style.
10611                 style that aren't already.
10612
10613 2006-10-13  Dan Williams  <dcbw@redhat.com>
10614
10615         * src/supplicant-manager/Makefile.am
10616                 - Add new files
10617
10618         * src/supplicant-manager/nm-supplicant-manager.[ch]:
10619                 - Make it a minimal GObject
10620
10621         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
10622                 - Verify settings destined for wpa_supplicant
10623
10624         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
10625                 - Minimal GObject to track wpa_supplicant controlled device
10626                 connections
10627
10628 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
10629
10630         * gnome/applet/applet.c: (nma_update_info),
10631         (nma_act_stage_to_pixbuf), (nma_update_state):
10632         Mark missing strings for translation. Fixes bug #343306.
10633
10634 2006-10-01  Dan Williams  <dcbw@redhat.com>
10635
10636         * src/vpn-manager/nm-vpn-manager.c
10637                 - (nm_vpn_manager_load_services): split and clean up
10638                 for readability and correctness.  Restrict VPN service
10639                 files to ending in ".name", as was meant from the
10640                 beginning (but not coded in).  Better error reporting.
10641
10642 2006-10-01  Dan Williams  <dcbw@redhat.com>
10643
10644         * utils/nm-utils.h
10645                 - Clean up formatting of debug/info/warning log messages
10646
10647 2006-09-27  Robert Love  <rml@novell.com>
10648
10649         Patch by Tambet Ingo <tambet@ximian.com>:
10650         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
10651           actually work.
10652
10653 2006-09-07  Dan Williams <dcbw@redhat.com>
10654
10655         * test/Makefile.am
10656           test/libnm-util/Makefile.am
10657           test/nm-supplicant-test.c
10658                 - Add test program emulating the way NM drives wpa_supplicant
10659                 to help debug supplicant issues
10660
10661 2006-08-24  Dan Williams <dcbw@redhat.com>
10662
10663         * configure.in
10664           src/Makefile.am
10665           src/supplicant-manager/Makefile.am
10666           src/supplicant-manager/nm-supplicant-manager.c
10667           src/supplicant-manager/nm-supplicant-manager.h
10668                 - Add skeleton bits of the wpa_supplicant manager
10669
10670 2006-08-24  Dan Williams <dcbw@redhat.com>
10671
10672         Patch from Ed Catmur:
10673         * src/NetworkManagerUtils.c
10674                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
10675                 if netmask is 0 (Gnome #352634)
10676
10677 2006-08-17  Robert Love  <rml@novell.com>
10678
10679         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
10680           package is now DBUS-enabled and listens for the NM signals.
10681
10682 2006-08-14  Dan Williams  <dcbw@redhat.com>
10683
10684         * Patch from Christian Persch <chpe gnome org>
10685         * configure.in
10686           po/LINGUAS
10687           vpn-daemons/openvpn/po/LINGUAS
10688           vpn-daemons/openvpn/configure.in
10689           vpn-daemons/pptp/po/LINGUAS
10690           vpn-daemons/pptp/configure.in
10691           vpn-daemons/vpnc/po/LINGUAS
10692           vpn-daemons/vpnc/configure.in
10693                 - Convert to LINGUAS method so translators don't have to modify
10694                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
10695                 0.35 or higher
10696
10697 2006-08-14  Dan Williams  <dcbw@redhat.com>
10698
10699         Patch from Alex Smith <alex.extreme2@gmail.com>
10700         * configure.in
10701           src/backends/Makefile.am
10702           src/backends/NetworkManagerFrugalware.c
10703                 - Add support for Frugalware
10704
10705 2006-08-13  Dan Williams  <dcbw@redhat.com>
10706
10707         Patch from Valentine Sinitsyn <e_val@inbox.ru>
10708         * src/nm-device-802-11-wireless.c
10709                 - (supplicant_exec): spawn wpa_supplicant without debug spew
10710                 Gnome #346875
10711
10712 2006-08-13  Dan Williams  <dcbw@redhat.com>
10713
10714         Patch from Valentine Sinitsyn <e_val@inbox.ru>
10715         * src/nm-ap-security.c
10716           src/nm-ap-security.h
10717                 - Add authentication_required bits for subclasses to specify whether
10718                 or not real authentication is required for connections, i.e. whether
10719                 the AP rejects us when an encryption key is wrong or not.
10720
10721         * src/nm-ap-security-wep.c
10722           src/nm-ap-security-wpa-eap.c
10723           src/nm-ap-security-wpa-psk.c
10724           src/nm-ap-security-leap.c
10725                 - Implement authentication_required appropriately for each method
10726
10727         * src/nm-device-802-11-wireless.c
10728                 - Be smarter about when to request a key; for example, using a wrong key
10729                 in WEP shared key mode previously just timed out and did not request
10730                 a new key
10731
10732 2006-08-13  Dan Williams  <dcbw@redhat.com>
10733
10734         * gnome/libnm_glib/libnm_glib.c
10735                 - dbus_connection_disconnect() -> dbus_connection_close() for
10736                 dbus >= 0.90
10737
10738 2006-08-07  Dan Williams  <dcbw@redhat.com>
10739
10740         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
10741         * src/NetworkManagerSystem.c
10742                 - Respect specified MTU.  Gnome #344967
10743
10744 2006-08-07  Dan Williams  <dcbw@redhat.com>
10745
10746         * src/vpn-manager/nm-vpn-service.c
10747                 - Simplify print_vpn_config() arguments
10748
10749         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
10750         * src/vpn-manager/Makefile.am
10751           src/vpn-manager/nm-vpn-service.c
10752                 - Add new API for passing VPN config options as a dict. Gnome #344967
10753
10754 2006-08-06  Dan Williams  <dcbw@redhat.com>
10755
10756         * gnome/applet/applet-dbus-devices.c
10757           gnome/applet/applet-dbus-vpn.c
10758           gnome/applet/applet-dbus.c
10759           gnome/applet/applet-dbus.h
10760           src/nm-dbus-nmi.c
10761           utils/nm-utils.c
10762           utils/nm-utils.h
10763                 - Make pending call tracking code generic,
10764                 so we can use it in NM as well as the applet
10765
10766 2006-08-06  Dan Williams  <dcbw@redhat.com>
10767
10768         * src/nm-activation-request.c
10769                 - Refcount pending call objects
10770
10771 2006-08-06  Dan Williams  <dcbw@redhat.com>
10772
10773         Patch from Christan Chiesa <christanc@gmail.com>
10774         * configure.in
10775                 - Tell sha1.c to use bigendian mode on PPC
10776
10777 2006-08-04  Robert Love  <rml@novell.com>
10778
10779         Glib Memory Slices!
10780         * configure.in: Require glib 2.10 or later.
10781         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
10782           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
10783           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
10784           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
10785           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
10786           Memory Slices are the greatest thing since bread slices.
10787         * src/NetworkManagerAP.c: Also, fix memory leak.
10788
10789 2006-08-01  Robert Love  <rml@novell.com>
10790
10791         * gnome/applet/main.c: Shutdown all VPN connections on logout.
10792
10793 2006-07-31  Robert Love  <rml@novell.com>
10794
10795         * src/backends/interface_parser.c: Declarations must begin the block.
10796
10797 2006-07-24  Dan Williams  <dcbw@redhat.com>
10798
10799         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
10800         * src/backends/Makefile.am
10801           src/backends/NetworkManagerArch.c
10802           src/backends/NetworkManagerDebian.c
10803           src/backends/NetworkManagerGeneric.c
10804           src/backends/NetworkManagerGeneric.h
10805           src/backends/NetworkManagerGentoo.c
10806           src/backends/NetworkManagerPaldo.c
10807           src/backends/NetworkManagerRedHat.c
10808           src/backends/NetworkManagerSlackware.c
10809           src/backends/NetworkManagerSuSE.c
10810                 - Genericize common backend functions
10811
10812 2006-07-18  Robert Love  <rml@novell.com>
10813
10814         * configure.in: Add "--with-notify" option to allow disabling of
10815           libnotify support.
10816
10817 2006-07-13  Dan Williams  <dcbw@redhat.com>
10818
10819         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
10820         * gnome/applet/applet.glade
10821           gnome/applet/Makefile.am
10822           gnome/applet/nm-gconf-wso.c
10823           gnome/applet/nm-gconf-wso-leap.c
10824           gnome/applet/nm-gconf-wso-leap.h
10825           gnome/applet/wireless-security-manager.c
10826           gnome/applet/wso-leap.c
10827           gnome/applet/wso-leap.h
10828           include/NetworkManager.h
10829           libnm-util/dbus-helpers.c
10830           libnm-util/dbus-helpers.h
10831           src/Makefile.am
10832           src/NetworkManagerAP.c
10833           src/nm-ap-security.c
10834           src/nm-ap-security-leap.c
10835           src/nm-ap-security-leap.h
10836                 - Add LEAP authentication support
10837
10838 2006-07-13  Dan Williams  <dcbw@redhat.com>
10839
10840         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
10841         * configure.in
10842           src/backends/NetworkManagerArch.c
10843           src/backends/NetworkManagerDebian.c
10844           src/backends/NetworkManagerGentoo.c
10845           src/backends/NetworkManagerPaldo.c
10846           src/backends/NetworkManagerRedHat.c
10847           src/backends/NetworkManagerSlackware.c
10848           src/backends/NetworkManagerSuSE.c
10849                 - Convert hardcoding of 'ip' path to configure-time
10850                         detected one
10851
10852 2006-07-12  Leonid Kanter <leon@asplinux.ru>
10853
10854         * configure.in: added ru to ALL_LINGUAS
10855
10856 2006-07-10  Dan Williams  <dcbw@redhat.com>
10857
10858         Patch from Valentine Sinitsyn <e_val@inbox.ru>
10859         * src/nm-device.c
10860                 - (real_act_stage3_ip_config_start): don't infinite loop when
10861                         dhcdbd isn't running (Gnome #346845)
10862
10863 2006-07-09  Dan Williams  <dcbw@redhat.com>
10864
10865         * gnome/applet/applet.c
10866                 - (nma_destroy): don't pass NULL to notify_notification_close
10867                         (RH #197917)
10868
10869 2006-07-09  Dan Williams  <dcbw@redhat.com>
10870
10871         * gnome/applet/applet.c
10872                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
10873
10874 2006-07-04  Tor Krill  <tor@krill.nu>
10875
10876         Patch from Valentine Sinitsyn <e_val@inbox.ru>
10877         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
10878         (nm_system_restart_mdns_responder), (ArchReadConfig),
10879         (nm_system_device_get_system_config):
10880                 - Explicitly check for DHCP configuration
10881                 - Check if daemons are running before starting them
10882
10883 2006-06-25  Dan Williams  <dcbw@redhat.com>
10884
10885         * libnm-util/dbus-dict-helpers.[ch]
10886           test/libnm-util/test-dbus-dict-helpers.c
10887                 - Add string array support
10888
10889 2006-06-24  Dan Williams  <dcbw@redhat.com>
10890
10891         * src/dhcp-manager/nm-dhcp-manager.c
10892                 - (nm_dhcp_manager_process_signal): clean up spacing
10893
10894 2006-06-21  Dan Williams  <dcbw@redhat.com>
10895
10896         * src/nm-dbus-device.c
10897                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
10898                         through dbus
10899
10900 2006-06-21  Raivis Dejus  <orvils@gmail.com>
10901
10902         * configure.in: Added 'lv' to ALL_LINGUAS
10903
10904 2006-06-19  Dan Williams  <dcbw@redhat.com>
10905
10906         * src/NetworkManagerAP.c
10907                 - Clarify usage of user_created
10908
10909         * src/nm-ap-security-wep.c
10910           src/nm-ap-security-wpa-eap.c
10911           src/nm-ap-security-wpa-psk.c
10912           src/nm-ap-security.c
10913           src/nm-ap-security.h
10914                 - s/user_created/adhoc, because we really do mean adhoc
10915
10916         Patch from Bernard Blackham <bernard@blackham.com.au>
10917         * src/nm-device-802-11-wireless.c         
10918                 - (supplicant_send_network_config): instead of user_created,
10919                         use adhoc, and do AP_SCAN 2 for adhoc networks
10920
10921 2006-06-18  Robert Love  <rml@novell.com>
10922
10923         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
10924           we have a value to set.  Gconf generates a warning if `val' is NULL.
10925         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
10926           unless we actually received a valid private key file passphrase or
10927           password.  Otherwise, we don't know to later ask the applet to pull
10928           the key from the keyring.
10929
10930 2006-06-17  Dan Williams  <dcbw@redhat.com>
10931
10932         * libnm-util/dbus-dict-helpers.[ch]
10933           test/libnm-util/test-dbus-dict-helpers.c
10934                 - Fixes for zero-length byte arrays
10935                 - Replace return values of 0 with FALSE for clarity
10936                 - Test zero-length byte arrays
10937
10938 2006-06-17  Dan Williams  <dcbw@redhat.com>
10939
10940         * libnm-util/dbus-dict-helpers.[ch]
10941           test/libnm-util/test-dbus-dict-helpers.c
10942                 - Add helpers for byte arrays
10943                 - Rework bits of the testcase
10944
10945 2006-06-16  Dan Williams  <dcbw@redhat.com>
10946
10947         * libnm-util/Makefile.am
10948         * libnm-util/dbus-dict-helpers.[ch]
10949                 - Add some helpers to take the pain out of using dict types in
10950                         dbus.
10951
10952         * test/libnm-util/Makefile.am
10953         * test/libnm-util/test-dbus-dict-helpers.c
10954                 - Test cases for the dict helper functions
10955
10956 2006-06-15  Robert Love  <rml@novell.com>
10957
10958         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
10959           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
10960           if there is no key to pass.
10961         * libnm-util/dbus-helpers.c: Given the above, we can trust always
10962           receiving a non-NULL key.
10963
10964 2006-06-14  Robert Love  <rml@novell.com>
10965
10966         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
10967           copy the strings.
10968
10969
10970 2006-06-14  Dan Williams  <dcbw@redhat.com>
10971
10972         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
10973         * src/nm-device-802-11-wireless.c
10974                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
10975                         or ones where the driver is unknown
10976                 - (supplicant_exec): don't wait for supplicant startup here
10977                 - (supplicant_interface_init): finer grained polling for supplicant
10978                         startup
10979
10980 2006-06-13  Robert Love  <rml@novell.com>
10981
10982         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
10983           if it is currently set to TRUE.  Otherwise, we will reset the value
10984           when we connect normally.
10985         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
10986           the old BSSID is valid, too.  The recently added ESSID check may not be
10987           sufficient (we can remove it?).  What we really want to catch is the
10988           case of going from all-zeros to the BSSID of some other network, which
10989           happens on failure.
10990
10991 2006-06-09  Dan Williams  <dcbw@redhat.com>
10992
10993         * src/NetworkManagerSystem.[ch]
10994                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
10995                         it was unused and pointless
10996                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
10997                         fix for set_up_down_with_iface change
10998
10999         * src/vpn-manager/nm-vpn-connection.c
11000                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
11001
11002         * src/backends/NetworkManagerPaldo.c
11003           src/backends/NetworkManagerRedHat.c
11004           src/backends/NetworkManagerSuSE.c
11005           src/backends/NetworkManagerArch.c
11006           src/backends/NetworkManagerDebian.c
11007           src/backends/NetworkManagerGentoo.c
11008                 - (nm_system_enable_loopback): use set_up_down_with_iface where
11009                         appropriate
11010                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
11011                         where appropriate
11012
11013 2006-06-09  Dan Williams  <dcbw@redhat.com>
11014
11015         Patch from Peter Jones:
11016         * src/nm-device-802-11-wireless.c
11017                 - (nm_device_802_11_wireless_update_bssid): make sure that the
11018                         SSID hasn't changed from what we expect before automatically
11019                         updating the saved BSSID from a new AP
11020
11021 2006-06-08  Robert Love  <rml@novell.com>
11022
11023         Add 'fallback' support.  NetworkManager will attempt to brute-force
11024         connect to networks marked as fallback if there are no better wireless
11025         connections available.  This is useful as a method of last resort, to
11026         work around driver problems, and for use with hidden networks.
11027         * gnome/applet/applet-dbus-devices.c,
11028           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
11029         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
11030           pass it on via DBUS.
11031         * gnome/applet/applet.c: No fallback by default.
11032         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
11033           Update other-network-dialog to add UI checkbox toggling fallback.
11034         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
11035           propery from AP object.  Add "fallback" property to AP object.
11036         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
11037         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
11038         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
11039           separate function.  Add get_best_fallback_ap() for returning an AP
11040           on which to attempt fallback.
11041         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
11042         * test/nm-set-fallback: New file.  Sets a given network as fallback.
11043
11044 2006-06-07  Robert Love  <rml@novell.com>
11045
11046         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
11047           checked that the return type was GCONF_VALUE_STRING, not the correct
11048           GCONF_VALUE_BOOL, and thus it never worked.
11049         * src/NetworkManagerAPList.c: Before concluding that two networks are
11050           identical based on their BSSID, make sure that the BSSID in question
11051           is actually valid.  Specifically, an empty or all zero BSSID does not
11052           cut it.
11053         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
11054           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
11055           similar invariant clean up.
11056
11057 2006-06-02  Robert Love  <rml@novell.com>
11058
11059         * gnome/applet/applet.c: Update copyright years.  Add Novell.
11060
11061 2006-05-28  Dan Williams  <dcbw@redhat.com>
11062
11063         * gnome/applet/applet.glade
11064           gnome/vpn-properties/nm-vpn-properties.glade
11065                 - Set window icons on dialogs  (Gnome.org #333420)
11066
11067 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
11068
11069         * gnome/vpn-properties/nm-vpn-properties.glade:
11070         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
11071         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
11072         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
11073                 - Make the VPN properties pages prettier and more HIG
11074                   compliant. Gnome Bug #336913.
11075
11076 2006-05-28  Dan Williams  <dcbw@redhat.com>
11077
11078         Patch from Christian Persch <chpe@gnome.org>
11079         * gnome/vpn-properties/nm-vpn-properties.c
11080         * gnome/vpn-properties/nm-vpn-properties.glade
11081                 - HIG-ification love  (Gnome.org #336846)
11082
11083 2006-05-28  Dan Williams  <dcbw@redhat.com>
11084
11085         Patch from Christian Persch <chpe@gnome.org>
11086         * configure.in
11087           gnome/vpn-properties/nm-vpn-properties.c
11088                 - (main): Fix option parsing.  Gnome.org #336847
11089
11090 2006-05-28  Dan Williams  <dcbw@redhat.com>
11091
11092         * gnome/vpn-properties/nm-vpn-properties.c
11093                 - (find_vpn_ui_by_service_name): protect against NULL service names
11094                 - (update_edit_del_sensitivity): protect against NULL service names
11095                         Gnome.org #341306
11096
11097 2006-05-28  Dan Williams  <dcbw@redhat.com>
11098
11099         Patch from Chris Fuller <crf@grandecom.net>:
11100         * src/nm-device-802-11-wireless.c
11101                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
11102                         don't dispose of wireless-specific stuff unless it is actually
11103                         initialized.  Gnome.org #341263
11104
11105 2006-05-28  Dan Williams  <dcbw@redhat.com>
11106
11107         * src/NetworkManagerPolicy.c
11108                 - (nm_policy_device_change_check): don't switch devices if the "best"
11109                         AP is essentially the same as the current activation request, but
11110                         the current activation request isn't done activating yet.  Fixes
11111                         multiple requests for keyring password on startup for Gnome applet.
11112                         Gnome.org #341297
11113
11114 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
11115
11116         * src/NetworkManager.c: use GOptions instead of getopt
11117         * configure.in: bump glib required version to >= 2.6 for GOption
11118           support
11119
11120 2006-05-25  Robert Love  <rml@novell.com>
11121
11122         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
11123           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
11124           instead of dumping ifdef's throughout the code.
11125         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
11126           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
11127           use nm_ioctl_info() in lieu.
11128
11129 2006-05-25  Robert Love  <rml@novell.com>
11130
11131         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
11132         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
11133           not using gcrypt.  Otherwise, we get a linker error.
11134
11135 2006-05-25  Robert Love  <rml@novell.com>
11136
11137         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
11138         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
11139           configure flag to disable building of the GNOME-based applet.
11140
11141 2006-05-25  Robert Love  <rml@novell.com>
11142
11143         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
11144           parameter from link, because it shadows a global variable with some
11145           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
11146           should never have exported to the entire system a common four letter
11147           word.  But we here at NetworkManager are team players.  Fixes
11148           GNOME bug #336532.
11149
11150 2006-05-25  Arangel Angov <ufo@linux.net.mk>
11151
11152         * configure.in: Added mk.po, Macedonian translation.
11153
11154 2006-05-24  Robert Love  <rml@novell.com>
11155
11156         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
11157           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
11158           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
11159
11160 2006-05-24  Robert Love  <rml@novell.com>
11161
11162         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
11163           libnm-util/Makefile.am, src/Makefile.am,
11164           vpn-daemons/openvpn/auth-dialog/Makefile.am,
11165           vpn-daemons/openvpn/properties/Makefile.am,
11166           vpn-daemons/pptp/auth-dialog/Makefile.am,
11167           vpn-daemons/pptp/properties/Makefile.am,
11168           vpn-daemons/vpnc/auth-dialog/Makefile.am,
11169           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
11170           user passed for --datadir, if anything, when setting the GNOME locale
11171           directory.  It should be a function of the specified datadir and not
11172           the prefix.
11173
11174 2006-05-24  Robert Love  <rml@novell.com>
11175
11176         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
11177           src/NetworkManager.c: Take care to call bindtextdomain with the
11178           location of msgid files.
11179         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
11180           files.
11181
11182 2006-05-22  Robert Love  <rml@novell.com>
11183
11184         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
11185           stage4_timeout on failure unless the wireless network is Ad-Hoc.
11186           99% of the time there is a real problem with wireless, and a
11187           seemingly successful connection via Zeroconf just confuses the user.
11188           And that 1% of the time the network is probably Ad-Hoc, anyhow.
11189
11190 2006-05-22  Robert Love  <rml@novell.com>
11191
11192         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
11193           autofs on interface up if NIS is configured.  On interface down, do
11194           nothing.
11195
11196 2006-05-22  Robert Love  <rml@novell.com>
11197
11198         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
11199           to avoid calling g_object_unref() on stale pointers on error in
11200           nma_icons_free().  This happens because we short-circuit loaded the
11201           icons on the first failure but then free all icons.  Normally we have
11202           no issue because the icons were zero'ed out malloc, but we have stale
11203           pointer data after nma_icon_theme_changed().
11204         * gnome/applet/main.c: Return error code if nma_new() failed.
11205
11206 2060-05-21  Dan Williams  <dcbw@redhat.com>
11207
11208         * initscript/NetworkManager.in
11209                 - Ensure both dhcdbd and named are started before NM
11210
11211 2006-05-21  Dan Williams  <dcbw@redhat.com>
11212
11213         * configure.in
11214                 - Bump version to 0.7 to signify we are in 0.7 development
11215
11216 2006-05-21  Dan Williams  <dcbw@redhat.com>
11217
11218         Patch from Adam Schreiber <sadam@clemson.edu>
11219         * gnome/vpn-properties/nm-vpn-properties.c
11220                 - (main): correct Gnome program name  (gnome.org #342498)
11221
11222 2006-05-21  Dan Williams  <dcbw@redhat.com>
11223
11224         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
11225
11226         * src/NetworkManagerDbus.[ch]
11227                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
11228                         clarify that function's argument should be an escaped dbus object
11229                         path, and look for path segment end before returning a match
11230         * src/nm-dbus-nm.c:
11231                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
11232
11233 2006-05-17  Robert Love  <rml@novell.com>
11234
11235         Functionality to differentiate Ad-Hoc networks from infrastructure
11236         networks in the applet, by displaying a special icon:
11237         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
11238         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
11239         * gnome/applet/menu-items.c: Set a special icon in the scan list for
11240           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
11241           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
11242           networks, encrypted or not.
11243         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
11244           accessor functions to get and set the mode of a given network,
11245           wireless_network_get_mode() and wireless_network_set_mode().
11246
11247 2006-05-17  Robert Love  <rml@novell.com>
11248
11249         Functionality to automatically add BSSIDs to the allowed-MAC list as
11250         one roams from access point to access point on a given network:
11251         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
11252           helper function to compare two ether_addr structures and return TRUE
11253           if they contain the same MAC address.
11254         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
11255           prototype.
11256         * src/nm-device-802-11-wireless.c: New function to update the BSSID
11257           stored with the current AP.  If the BSSID has indeed changed, we
11258           send it out to the applet, allowing the allowed-MAC list to grow
11259           automatically in response to roaming.
11260
11261 2006-05-16  Robert Love  <rml@novell.com>
11262
11263         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
11264           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
11265
11266 2006-05-13  Dan Williams  <dcbw@redhat.com>
11267
11268         * src/nm-device-802-3-ethernet.c
11269                 - (real_get_generic_capabilities): Don't ignore devices that can't do
11270                         carrier detect (Debian bug #366373)
11271
11272 2006-05-11  Dan Williams  <dcbw@redhat.com>
11273
11274         Patch from Michael Biebl <biebl@teco.edu>
11275         * src/backends/NetworkManagerDebian.c
11276                 - Debian backend fixups
11277
11278 2006-05-10  Robert Love  <rml@novell.com>
11279
11280         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
11281
11282 2006-05-09  Robert Love  <rml@novell.com>
11283
11284         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
11285           private certificate passphrase, if any, in the GNOME Keyring.
11286         * libnm-utils/dbus-helpers.c: Update.
11287
11288 2006-05-05  Dan Williams  <dcbw@redhat.com>
11289
11290         * src/nm-device-802-11-wireless.c
11291                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
11292                         nm_device_802_11_wireless_disable_encryption() since that's all
11293                         we use it for anymore; we don't ever set WEP keys ourselves.
11294                 - (real_deactivate_quickly): reset SSID and encryption keys
11295                 - (real_deactivate): move SSID and encryption key reset to
11296                         real_deactivate_quickly(), which gets run before us anyway
11297
11298 2006-05-05  Robert Love  <rml@novell.com>
11299
11300         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
11301           root has a wacky default of its own (or, more common, a user has a
11302           bad umask and uses su/sudo to restart NetworkManager).  Anything
11303           other than 0022 does not do what we want with, for example,
11304           resolv.conf.  This problem is amplified by our judicious use of
11305           fopen(), which uses mode 0666 -- implying that the only way to get
11306           the permissions we want is with a umask of 0022.
11307
11308 2006-05-05  Dan Williams  <dcbw@redhat.com>
11309
11310         * gnome/libnm_glib/libnm_glib.c
11311                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
11312                         to reconnect; instead wait a bit more with each reconnect attempt
11313                         up to a max of one minute.
11314
11315 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
11316
11317         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
11318           the WirelessNetwork structure using the proper function instead of
11319           just casting it directly to (const char *) (gnome.org #336991)
11320
11321 2006-05-03  Robert Love  <rml@novell.com>
11322
11323         * src/backends/NetworkManagerSuSE.c: Respect the variable
11324           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
11325           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
11326           to dynamically update /etc/resolv.conf.
11327
11328 2006-05-02  Peter Jones  <pjones@redhat.com>
11329
11330         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
11331
11332 2006-05-02  Robert Love  <rml@novell.com>
11333
11334         Patch by Timo Hoenig;
11335         * tests/nm-online.c: Print pretty status indicator as timeout winds
11336           down.  Also fix possible race between DBUS startup and failure
11337           return.
11338
11339 2006-05-01  Robert Love  <rml@novell.com>
11340
11341         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
11342           empty, too.
11343
11344 2006-04-27  Jeremy Katz  <katzj@redhat.com>
11345
11346         * src/nm-device.c (discover_device_type): Actually use the hal
11347         device type instead of ioctl poking
11348
11349 2006-04-26  Robert Love  <rml@novell.com>
11350
11351         * tests/nm-online.c: New file.  Simple utility that returns exit status
11352           noting whether the connection is offline or online.  If offline on
11353           start, it waits 30 seconds (or a command-line given value) for an
11354           online signal.  If it times out, it again returns offline.  This is
11355           useful for scripts that want to wait for network connections.
11356
11357 2006-04-25  Robert Love  <rml@novell.com>
11358
11359         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
11360           key mode (the authentication algorithm), e.g. open or shared, when we
11361           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
11362           only shared was broken.  If the user specified a shared key, set it
11363           explicitly, otherwise let wpa_supplicant go with the default.
11364
11365 2006-04-24  Dan Williams  <dcbw@redhat.com>
11366
11367         * src/nm-device-802-11-wireless.c
11368                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
11369
11370 2006-04-24  Dan Williams  <dcbw@redhat.com>
11371
11372         Commit the async scanning patch
11373
11374         * src/nm-device-802-11-wireless.c
11375                 - get rid of scan_mutex
11376                 - (wireless_event_helper): act on wireless scan events
11377                 - (real_start): schedule a pending scan
11378                 - (link_to_specific_ap): fake the link to the AP during a scan
11379                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
11380                         strength during scans
11381                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
11382                         nm_device_set_bitrate): unused with new scanning code, disable
11383                 - (nm_device_wireless_schedule_scan): removed
11384                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
11385                 - (request_and_convert_scan_results): new function; retrieve scan
11386                         results from the driver and schedule the processing function
11387                 - (scan_results_timeout): timeout triggered when card doesn't send
11388                         a scan results wireless event during a certain interval
11389                 - (schedule_scan_results_timeout): new function; schedule the scan
11390                         results timeout
11391                 - (cancel_scan_results_timeout): new function; cancel the scan
11392                         results timeout
11393                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
11394                         to do the scanning.  Otherwise, just request a scan but don't
11395                         grab results here; instead schedule a timeout for scan results and
11396                         let netlink notify us of scan completion events
11397                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
11398                 - (cancel_pending_scan): new function; cancel a pending wireless scan
11399                 - (supplicant_status_cb): ignore disconnect events while scanning
11400                 - (supplicant_exec): wait a bit longer for the supplicant to start up
11401                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
11402                         timeouts
11403                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
11404
11405 2006-04-24  Dan Williams  <dcbw@redhat.com>
11406
11407         * gnome/applet/applet-dbus.c
11408                 - Disable the pending call debug stuff, seems under control now
11409
11410 2006-04-20  Robert Love  <rml@novell.com>
11411
11412         Fix bug where hidden ESSID's would not show up in the applet, even
11413         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
11414         because nm_policy_device_list_update_from_allowed_list() would merge
11415         the data, putting a name to the hidden networks, but never notify NMI
11416         of the changes.  Simple fix is to invoke the function
11417         nm_dbus_signal_wireless_network_change() if we make a mapping.
11418         * src/NetworkManagerAPList.c: Call the function
11419           nm_dbus_signal_wireless_network_change() if we made a successful
11420           BSSID to ESSID mapping, notifying the applet of the "new" network.
11421         * src/NetworkManagerAPList.h: Update the prototypes for both
11422           nm_ap_list_copy_essids_by_address() and
11423           nm_ap_list_copy_one_essid_by_address().
11424
11425 2006-04-20  Robert Love  <rml@novell.com>
11426
11427         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
11428           not set.  Just return zero.
11429
11430 2006-04-20  Robert Love  <rml@novell.com>
11431
11432         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
11433           only one copy of nm-vpn-properties is running at a time via the 'ol
11434           X selection trick.  This prevents the user from opening two "VPN
11435           Connections" windows from within the applet, which leads to mass
11436           hysteria.
11437         * clipboard.c: New file, implementing simple X selection logic.
11438         * clipboard.h: New file.
11439         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
11440
11441 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
11442
11443         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
11444         * configure.in
11445           initscript/Gentoo/Makefile.am
11446           initscript/Gentoo/NetworkManagerDispatcher.in
11447                 - New script
11448         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
11449           Gentopia
11450
11451 2006-04-16  Dan Williams  <dcbw@redhat.com>
11452
11453         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
11454         * configure.in
11455           initscript/Slackware/Makefile.am
11456           initscript/Slackware/rc.networkmanager-dispatcher.in
11457           initscript/Slackware/rc.networkmanager.in
11458                 - Update slackware initscripts
11459
11460 2006-04-10  Robert Love  <rml@novell.com>
11461
11462         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
11463           the "delete_event" signal on the druid's parent window and handle it
11464           our way, lest using the WM to close the druid results in a series of
11465           bloody and ultimately lethal errors.
11466
11467 2006-04-10  Robert Love  <rml@novell.com>
11468
11469         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
11470           'Back' too or else the 'Forward' option is initially disabled despite
11471           valid input.
11472
11473 2006-04-06  Robert Love  <rml@novell.com>
11474
11475         Fix bad but simple bug where an active modem connection did not update
11476         NM's connection state, breaking any app that did online/offline:
11477         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
11478           represented whether a dial up connection is active, or not.
11479         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
11480           to modem activation and deactivation.
11481         * src/NetworkManagerDbus.c: When asked our state, do not return
11482           disconnected if the modem is active.
11483
11484 2006-04-04  Robert Love  <rml@novell.com>
11485
11486         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
11487           applet.  It just confuses the crap out of people and does not make a
11488           lot of sense, as the daemon still runs.
11489
11490 2006-04-02  Tor Krill  <tor@krill.nu>
11491
11492         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
11493           in start of service.
11494         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
11495           get Archlinux backend up to date.
11496
11497 2006-03-29  Robert Love  <rml@novell.com>
11498
11499         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
11500         to add support for per-route MSS and improve support for per-interface
11501         MTU:
11502         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
11503           optionally take an MSS parameter and set it for the given route.
11504           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
11505           NMIP4Config's stored MSS, if any.
11506         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
11507           the interface's MTU and the route's MSS, respectively.  Add functions
11508           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
11509           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
11510           MSS.
11511         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
11512           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
11513           nm_ip4_config_set_mss.
11514         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
11515           VPN daemon.
11516         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
11517           Change the retval of nm_system_get_mtu to guint32.
11518         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
11519           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
11520           servers can specify MTU's, we should set it here if the MTU was not
11521           provided.
11522
11523 2006-03-27  Jürg Billeter  <j@bitron.ch>
11524
11525         * configure.in:
11526         * initscript/Makefile.am:
11527         * initscript/paldo/Makefile.am:
11528         * initscript/paldo/NetworkManager.in:
11529         * initscript/paldo/NetworkManagerDispatcher.in:
11530         * src/backends/Makefile.am:
11531         * src/backends/NetworkManagerPaldo.c:
11532                 - Add paldo support
11533
11534 2006-03-27  Dan Williams  <dcbw@redhat.com>
11535
11536         Patch from Christian Persch <chpe@gnome.org>
11537         * gnome/applet/applet.glade
11538                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
11539
11540 2006-03-27  Dan Williams  <dcbw@redhat.com>
11541
11542         Patch from Diffe <diffie@blazebox.homeip.net>
11543         * src/backends/NetworkManagerSlackware.c
11544                 - Don't restart howl, since it's been replaced by Avahi
11545                         in most distributions
11546
11547 2006-03-27  Dan Williams  <dcbw@redhat.com>
11548
11549         Patch from Tor Krill <bugzilla@krill.nu>
11550         * configure.in
11551           initscript/Makefile.am
11552           src/backends/Makefile.am
11553           src/backends/NetworkManagerArch.c
11554           initscript/Arch/Makefile.am
11555           initscript/Arch/networkmanager-dispatcher.in
11556           initscript/Arch/networkmanager.in
11557                 - Add Arch Linux support, fixes gnome.org #335147
11558
11559 2006-03-27  Dan Williams  <dcbw@redhat.com>
11560
11561         Patch from Diffe <diffie@blazebox.homeip.net>
11562      * initscript/Slackware/rc.networkmanager
11563         - update, fixed gnome.org #333368
11564
11565 2006-03-27  Robert Love  <rml@novell.com>
11566
11567         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
11568           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
11569
11570 2006-03-27  Robert Love  <rml@novell.com>
11571
11572         Patch by Jürg Billeter <j@bitron.ch>:
11573         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
11574           systems.
11575         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
11576           as we prefer glibc over kernel headers, if possible.
11577
11578 2006-03-27  Robert Love  <rml@novell.com>
11579
11580         Patch by Jon Escombe <list@dresco.co.uk>:
11581         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
11582         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
11583           fail, don't bail out.  We don't expect all of the various WPA-EAP
11584           values to be present.
11585         * src/nm-ap-security.c: We need to match all capabilities for each
11586           encryption type, not any one of them.
11587
11588 2006-03-27  Robert Love  <rml@novell.com>
11589
11590         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
11591           restart, not reload, ypbind.  Unfortunately there is no superior
11592           solution.
11593
11594 2006-03-24  Christopher Aillon  <caillon@redhat.com>
11595
11596         * gnome/applet/applet-notifications.c:
11597         When displaying a notification, make sure to get rid of the
11598         previous notification so as to not have competing bubbles,
11599         and stop leaking the old one.
11600
11601         * gnome/applet/applet.c:
11602         * gnome/applet/applet.h:
11603         Add a new 'notification' member to the applet, and zero it out
11604         and free it appropriately.
11605
11606 2006-03-23  Robert Love  <rml@novell.com>
11607
11608         Patch by j <j@bootlab.org>:
11609         * gnome/applet/applet.glade: Don't set the invisible_char property,
11610           which simply overrides the GTK default.  By and by, this behavior
11611           ought to be fixed in Glade.
11612
11613 2006-03-22  Robert Love  <rml@novell.com>
11614
11615         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
11616
11617 2006-03-22  Robert Love  <rml@novell.com>
11618
11619         Bug fix by Timo Hoenig <thoenig@suse.de>:
11620         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
11621           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
11622           and the applet going AWOL.
11623
11624 2006-03-22  Robert Love  <rml@novell.com>
11625
11626         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
11627           preprocessor define and use it instead of open-coded the DHCP
11628           timeout, which is currently 25 seconds, everywhere.
11629
11630 2006-03-22  Robert Love  <rml@novell.com>
11631
11632         Implement "Dynamic WEP", which is basically WPA authentication and WEP
11633         key exchange via WPA, ostensibly providing good security without
11634         requiring hardware that supports full WPA.  Also, add UI elements to
11635         allow the user to select the pairwise & group cipher for WPA Enterprise
11636         networks, too:
11637         * gnome/applet/applet.glade: Update glade file.
11638         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
11639           key type, too, to and from gconf.
11640         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
11641           wso_wpa_create_key_type_model(), noting whether we are handling PSK
11642           or EAP configuration, and in the latter case add in "Dynamic WEP" if
11643           the capabilities match.
11644         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
11645           prototype.
11646         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
11647           serialize from UI to DBUS.
11648         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
11649           one element.
11650         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
11651           nmu_security_serialize_wpa_eap_with_cipher(), and
11652           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
11653           serialize/deserialize the key type via DBUS as the new third DBUS
11654           parameter.
11655         * libnm-util/dbus-helpers.h: Update prototypes.
11656         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
11657           too.  If the key type is WEP104, do Dynamic WEP, which means
11658           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
11659           pairwise and group ciphers (fixes a FIXME).
11660
11661 2006-03-21  Robert Love  <rml@novell.com>
11662
11663         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
11664           nm_system_get_mtu(), which returns a user-provided or system-mandated
11665           MTU value for a given device, if any, or zero if no such value
11666           exists.  Add nm_system_set_mtu() to set the MTU for a given device
11667           if we have a provided value.
11668         * src/nm-device.c: Set the MTU of devices.
11669         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
11670         * src/backends/NetworkManagerDebian.c,
11671           src/backends/NetworkManagerGentoo.c,
11672           src/backends/NetworkManagerRedHat.c,
11673           src/backends/NetworkManagerSlackware.c: Implement stub functions.
11674
11675 2006-03-21  Robert Love  <rml@novell.com>
11676
11677         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
11678           configuration file.
11679
11680 2006-03-17  Robert Love  <rml@novell.com>
11681
11682         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
11683           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
11684           it, in case it is not running in the first place.  We just want its
11685           configuration reloaded.  Also, do not "rcypbind stop" on device down.
11686
11687 2006-03-15  Robert Love  <rml@novell.com>
11688
11689         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
11690           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
11691           label "WEP 40/128-bit" is inconsistent because the physical key size
11692           is 40 or 104-bits, to which a 24-bit initialisation vector is
11693           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
11694           to read "40/104" or "64/128".  I do not care much which, but most
11695           users think of "silver" and "gold" encryption as 64 and 128-bits, so
11696           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
11697           WEP passphrase support only handles 128-bit keys, and any future
11698           64-bit passphrase support will require a new option (no way to auto-
11699           detect the target key size), explicitly label our passphrase support
11700           "WEP 128-bit Passphrase".
11701
11702 2006-03-15  Robert Love  <rml@novell.com>
11703
11704         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
11705           the system init scripts (or some other mechanism) starting it (or a
11706           compatible DBUS service) before NetworkManager runs.  This means that
11707           distributions might need to update their init scripts.  This fixes
11708           possible races and is quite a bit cleaner.
11709         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
11710           starting the NetworkManager daemon.
11711
11712
11713 2006-03-14  Robert Love  <rml@novell.com>
11714
11715         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
11716           before adding anything.
11717
11718 2006-03-13  Robert Love  <rml@novell.com>
11719
11720         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
11721           widgets, too, if they exist, in case the user hit the back button.
11722           Fixes a bug where the details page contains the widgets of multiple
11723           VPN modules (Novell bug #157048).
11724
11725 2006-03-13  Robert Love  <rml@novell.com>
11726
11727         Patch by Timo Hoenig <thoenig@suse.de>:
11728         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
11729           daemon survive DBUS restarts, too.
11730
11731 2006-03-10  Robert Love  <rml@novell.com>
11732
11733         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
11734           passphrase or key.
11735         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
11736           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
11737           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
11738           in response to "toggled" signal on new toggle.
11739
11740 2006-03-10  Robert Love  <rml@novell.com>
11741
11742         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
11743           serialization if strings are NULL, lest DBUS get angry.
11744
11745 2006-03-10  Robert Love  <rml@novell.com>
11746
11747         * src/nm-ap-security-wpa-eap.c: Don't log the password.
11748
11749 2006-03-09  Robert Love  <rml@novell.com>
11750
11751         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
11752           configurations.
11753
11754 2006-03-09  Dan Williams  <dcbw@redhat.com>
11755
11756         Track pending call requests in the applet, and report how many are
11757         outstanding, and how long each completed one takes.
11758         
11759         * gnome/applet/applet-dbus-devices.c
11760           gnome/applet/applet-dbus-vpn.c
11761                 - Track pending calls
11762
11763         * gnome/applet/applet-dbus.[ch]
11764                 - Remove some unused enums
11765                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
11766                         new functions to track dbus pending calls and spit out some
11767                         statistics about them
11768
11769 2006-03-09  Robert Love  <rml@novell.com>
11770
11771         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
11772           nm_ap_set_timestamp() take the second and micro-second parameters as
11773           direct arguments, which avoids both a dynamic memory allocation and a
11774           structure-to-structure copy!  Add a new interface, the aptly named
11775           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
11776           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
11777           the return from nm_ap_get_timestamp().  New users should use the new
11778           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
11779           the extreme benefit to performance.
11780         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
11781           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
11782
11783 2006-03-08  Robert Love  <rml@novell.com>
11784
11785         * gnome/applet/applet.glade: Hide the password entry text with
11786           asterisks.
11787
11788 2006-03-08  Robert Love  <rml@novell.com>
11789
11790         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
11791           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
11792           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
11793           a second argument, NMData.
11794         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
11795         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
11796           config files as trusted.
11797
11798 2006-03-06  Robert Love  <rml@novell.com>
11799
11800         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
11801         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
11802           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
11803           Rivera, detect if the applet was auto-started.  If so, ask the user
11804           if he or she would like to stop automatically running the applet on
11805           login.  If so, disable autostart.
11806
11807 2006-03-06  Robert Love  <rml@novell.com>
11808
11809         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
11810           directory in CFLAGS so developers can actually use NetworkManager.h.
11811
11812 2006-03-06  Robert Love  <rml@novell.com>
11813
11814         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
11815           open-coded integer constants.  Add state_to_string() to map a given
11816           state to a textual description, and provide that when notifying of
11817           state change.
11818         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
11819           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
11820           this header directly, but it is currently not installed on most
11821           systems.
11822
11823 2006-03-05  Dan Williams  <dcbw@redhat.com>
11824
11825         Process netlink messages in device subclasses rather than in
11826         NetworkManager.c.  Also add support for recognizing Wireless Events.
11827         
11828         * configure.in
11829                 - Find GLIB_GENMARSHAL
11830
11831         * src/Makefile.am
11832                 - Since we're marshalling custom types for wireless event signals,
11833                         we get to create our own marshallers using GLIB_GENMARSHAL
11834
11835         * src/NetworkManager.c
11836                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
11837                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
11838                         cut down somewhat.  We no longer process signals here.
11839                 - (nm_data_new): create the netlink monitor here, and remove a
11840                         useless call to nm_policy_schedule_device_change_check()
11841                 - (nm_data_free): get rid of the netlink monitor here
11842                 - (nm_device_link_activated, nm_device_link_deactivated): removed
11843                 - (main): don't create the netlink monitor here, let nm_data_new
11844                         do that.  Call nm_policy_schedule_device_change_check() right
11845                         before we jump to the mainloop to figure out which device
11846                         to use first
11847
11848         * src/NetworkManagerSystem.[ch]
11849                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
11850                         convert back and forth from interface names to interface
11851                         indexes
11852
11853         * src/nm-device-802-11-wireless.c
11854                 - (real_init): connect to wireless-event signals from the netlink
11855                         monitor object
11856                 - (nm_device_802_11_wireless_event): new function, schedule handler
11857                         for wireless event signals from the netlink monitor object.  We
11858                         want the handler to run in the device's context
11859                 - (wireless_event_helper): handle wireless-event signals from netlink
11860                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
11861                         signal handler
11862
11863         * src/nm-device-802-11-wireless.h
11864                 - remove unused prototype for nm_device_802_11_wireless_new
11865
11866         * src/nm-device-802-3-ethernet.c
11867                 - (real_init): new function; set up signal handlers for link events
11868                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
11869                         handler for netlink link activated events on device's main loop
11870                 - (link_activated_helper): when we get a link activated event, set
11871                         the device's link to be active
11872                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
11873                         handler for netlink link deactivated events on device's main loop
11874                 - (link_deactivated_helper): when we get a link deactivated event, set
11875                         the device's link to be inactive
11876                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
11877                         dispose
11878
11879         * src/nm-device-802-3-ethernet.h
11880                 - remove unused prototype for nm_device_802_3_ethernet_new
11881
11882         * src/nm-device.[ch]
11883                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
11884                         but locks the device list
11885                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
11886
11887         * src/nm-netlink-monitor.[ch]
11888                 - (nm_netlink_monitor_class_install_signals): New signal
11889                         "wireless-event"
11890                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
11891                         at the device list
11892                 - (nm_netlink_monitor_event_handler): expand for wireless events too
11893
11894         * src/nm-marshal-main.c
11895                 - Include generated nm-marshal.c and nm-marshal.h
11896
11897         * src/nm-marshal.list
11898                 - List of custom marshal functions
11899
11900 2006-03-05  Dan Williams  <dcbw@redhat.com>
11901
11902         * gnome/applet/applet-notifications.h
11903                 - Protect prototype of nma_send_event_notification() because it
11904                         includes libnotify-specific types
11905                 - Include libnotify/libnotify.h too, since we technically need it
11906
11907         * gnome/applet/applet.c
11908                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
11909                 - (nma_show_vpn_login_banner_dialog): add some error checking
11910
11911 2006-03-04  Dan Williams  <dcbw@redhat.com>
11912
11913         Clean up activation cancellation.  Should be a lot faster now.  Observed
11914         an issue with wireless devices between stage 2 and 3 of activation, where
11915         activation would be cancelled, but the device thread wouldn't notice until
11916         the supplicant association timed out.  Reorganize activation such that
11917         a cancellation handler gets immediately scheduled in the device's thread,
11918         and devices have a chance to perform any custom cleanup too.
11919
11920         * src/nm-device.[ch]
11921                 - (activation_cancel_handler): new device-type-specific function
11922                         for cleaning up device-type-specific stuff on cancellation
11923                 - (cancel_activation): removed
11924                 - (nm_device_activation_cancel): subsume functionality of
11925                         real_cancel_activation, but instead of doing anything, punt
11926                         operation to a handler that's run in device-thread context
11927                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
11928                         a warning message
11929                 - (activation_handle_cancel_helper): cancellation handler run in
11930                         device-thread context, calls device-type-specific cancelation,
11931                         then tears down the activation request
11932                 - (real_activation_cancel_handler): generic cancellation handler,
11933                         deals with cancelling any in-process DHCP request
11934                 - (nm_device_activate_stage1_device_prepare,
11935                    nm_device_activate_stage2_device_config,
11936                    nm_device_activate_stage3_ip_config_start,
11937                    nm_device_activate_stage4_ip_config_get,
11938                    nm_device_activate_stage4_ip_config_timeout,
11939                    nm_device_activate_stage5_ip_commit): don't call
11940                         nm_device_schedule_activation_handle_cancel() any more, since
11941                         cancellation will have been already scheduled for us by
11942                         nm_device_activation_cancel().  Just exit the function and
11943                         assume that the cancel handler will be called next.
11944
11945         * src/nm-device-802-3-ethernet.c
11946                 - (real_act_stage2_config): remove; didn't do anything anyway
11947
11948         * src/nm-device-802-11-wireless.c
11949                 - (supplicant_status_cb): ensure we don't do anything if the activation
11950                         got cancelled
11951                 - (real_activation_cancel_handler): implement; cancel user key request
11952                         on activation cancellation
11953
11954 2006-03-04  Dan Williams  <dcbw@redhat.com>
11955
11956         * src/nm-device-802-11-wireless.c
11957                 - (supplicant_send_network_config): assume that drivers that don't
11958                         support WPA pretty much suck, and can't handle NM scanning
11959                         along with wpa_supplicant.
11960
11961 2006-03-03  Robert Love  <rml@novell.com>
11962
11963         * configure.in: Bump version to 0.6.0.
11964         * NEWS: Update.
11965
11966 2006-03-03  Robert Love  <rml@novell.com>
11967
11968         * configure.in: Require DBUS 0.60 or later.
11969
11970 2006-03-03  Dan Williams  <dcbw@redhat.com>
11971
11972         Fix a crash if an "Other wireless network" was chosen, failed, then
11973         chosen again from the applet's menu.  If the other network wasn't
11974         noticed in a scan, it wouldn't have any capabilities, but would still
11975         be listed because the user forced the network.  To fix this, we set
11976         sensible capabilities on the forced network, which will get overwritten
11977         with the correct ones if the network shows up later in a scan.
11978         
11979         * src/nm-ap-security.h
11980                 - Add a new "get_default_capabilities_func" member to the
11981                         NMAPSecurity class
11982
11983         * src/nm-ap-security.c
11984                 - (nm_ap_security_get_default_capabilities): new function
11985
11986         * src/nm-ap-security.c
11987           src/nm-ap-security-wep.c
11988           src/nm-ap-security-wpa-psk.c
11989           src/nm-ap-security-wpa-eap.c
11990                 - Implement get_default_capabilities_func() for all, which
11991                         uses the information contained in a specific NMAPSecurity
11992                         object to determine default AP capabilites necessary
11993                         to support that object
11994
11995         As a secondary measure, we now prune artificial access points that fail
11996         to be activated right away.  The thing failed, and we have no scan data for
11997         it, so it's pretty much useless since security information is only saved
11998         in the applets when a connection is successful.
11999
12000         * src/NetworkManagerAPList.c
12001                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
12002                         not artificial.  If we see it, it's no longer a figment of the
12003                         user's imagination :)
12004
12005         * src/NetworkManagerPolicy.c
12006                 - (nm_policy_activation_failed): send along the failed AP if we
12007                         have it
12008
12009         * src/nm-device-802-11-wireless.c
12010                 - (real_activation_failure_handler): remove artificial APs from
12011                         the device list, because activation failed
12012
12013 2006-03-02  Robert Love  <rml@novell.com>
12014
12015         Add support for retrieving both the per-device speed and the
12016         per-network maximum supported rate.  Then change the getProperties
12017         DBUS API for both networks and devices to report this informaiton.
12018         Finally, display the information via both nm-applet and nm-tool:
12019         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
12020           and set it.
12021         * gnome/applet/applet.c: Display the device's speed in the 'Connection
12022           Information' dialog.
12023         * gnome/applet/applet.glade: Update the UI to show per-device speed.
12024         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
12025           network_device_get_speed() and network_device_set_speed() for
12026           retrieving and setting, respectively, a network device's current
12027           speed.
12028         * src/nm-dbus-device.c: Send the device's speed on getProperties.
12029         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
12030           in the function nm_device_802_11_wireless_get_bitrate() -- it does
12031           not matter (yet) what the units are, because we only feed it its own
12032           output.  Implement SIOCGIRATE and set the per-network maximum
12033           supported rate during scanning.
12034         * src/nm-device-802-11-wireless.h: Export the function
12035           nm_device_802_11_wireless_get_bitrate().
12036         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
12037           function nm_device_802_3_ethernet_get_speed() for returning an
12038           802.3's current speed, in Mb/s.
12039         * test/nm-tool.c: Display the per-device current speed, if available,
12040           and the per-network maximum rate.
12041
12042 2006-03-02  Dan Williams  <dcbw@redhat.com>
12043
12044         * src/nm-device-802-11-wireless.c
12045                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
12046                         card when it gets initialized.  Since devices don't get added to
12047                         the scan list until they are initialized, this function wasn't
12048                         setting the intitial scan interval correctly, and was leaving
12049                         it at 0.  This caused cards to get many scan requests in a short
12050                         amount of time when they were initialized
12051
12052 2006-03-02  Robert Love  <rml@novell.com>
12053
12054         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
12055           active device.  But do not do what we used to do and override the
12056           state, which caused the dreaded icon race of '05.
12057
12058 2006-03-02  Robert Love  <rml@novell.com>
12059
12060         Commit Dan's update of my previous commit:
12061         * src/nm-device-802-11-wireless.c: Always set the mode, because the
12062           set_mode() function itself does the check.  But do only set the
12063           frequency if in Ad-Hoc mode.
12064
12065 2006-03-02  Robert Love  <rml@novell.com>
12066
12067         Patch by Brian Magnuson <magnuson@rcn.com>:
12068         * src/nm-device-802-11-wireless.c: During scanning, only set the
12069           wireless mode to infrastructure if it is not currently in
12070           infrastructure mode.  For some driver, setting the mode is a costly
12071           operation, apparently.
12072
12073 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
12074
12075         * Makefile.am: use the correct dir for autostart mechanism.
12076
12077 2006-02-28  Dan Williams  <dcbw@redhat.com>
12078
12079         Patch from Brian Magnuson <magnuson@rcn.com>
12080         * gnome/applet/applet.c
12081                 - (nma_show_vpn_failure_dialog): fix errors left over from
12082                         libnotify support changes
12083
12084 2006-02-28  Dan Williams  <dcbw@redhat.com>
12085
12086         * src/vpn-manager/nm-vpn-act-request.[ch]
12087                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
12088                         just one value
12089                 - (nm_vpn_act_request_is_failed): new function; return whether or
12090                         not the vpn activation request has failed
12091
12092         * src/vpn-manager/nm-vpn-manager.c 
12093                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
12094                         daemon to kill the connection when the activation request fails.
12095                         Fixes issue where NM would get confused if the VPN activation
12096                         request timed out, and would not allow further VPN connections
12097                         on that service.
12098
12099 2006-02-28  Dan Williams  <dcbw@redhat.com>
12100
12101         * gnome/applet/applet.c
12102                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
12103                         overlapping connection requests, disable all VPN menu items
12104                         but the active VPN connection
12105
12106 2006-02-28  Dan Williams  <dcbw@redhat.com>
12107
12108         * src/vpn-manager/nm-vpn-connection.c
12109                 - (nm_vpn_connection_set_parent_device): fix C&P error which
12110                         called g_object_unref() on the connection's parent device
12111                         when it should have been ref-ed instead.  Fixes crash with
12112                         repeated vpn connect requests
12113
12114 2006-02-28  Christopher Aillon  <caillon@redhat.com>
12115
12116         * gnome/applet/applet.glade:
12117         Mark a few strings non-translatable, since they shouldn't be.
12118
12119 2006-02-28  Dan Williams  <dcbw@redhat.com>
12120
12121         * src/vpn-manager/nm-vpn-service.c
12122                 - (nm_vpn_service_start_connection): if the vpn service daemon is
12123                         already running, don't blindly ask it to connect, but wait until
12124                         it's in the STOPPED state first.  Fixes an assertion when user
12125                         starts a second vpn connection without stopping the first.
12126                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
12127                         dbus service exists before continuing with the connection
12128                         process, and reduce latency while waiting for it to become
12129                         available
12130                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
12131                         waiting for the vpn service daemon to become available
12132                 - General log message cleanups; show progress via "Stage x of 4"
12133                         rather than not telling anyone how many stages there are
12134
12135 2006-02-28  Robert Love  <rml@novell.com>
12136
12137         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
12138         * src/backends/NetworkManagerSuSE.c: Implement the interface
12139           nm_system_should_modify_resolv_conf() for SUSE.
12140         * src/backends/NetworkManagerDebian.c,
12141           src/backends/NetworkManagerGentoo.c,
12142           src/backends/NetworkManagerRedHat.c,
12143           src/backends/NetworkManagerSlackware.c: Add stub.
12144         * src/named-manager/Makefile.am: Grab includes from src.
12145         * src/named-manager/nm-named-manager.c: Allow backends to disable the
12146           automatic updating of resolv.conf.  This is useful for testing,
12147           broken static configurations, and administrator lock-down.
12148
12149 2006-02-28  Dan Williams  <dcbw@redhat.com>
12150
12151         * src/nm-device-802-11-wireless.c
12152                 - Move all the wpa_supplicant-related management stuff into its
12153                         own struct, just for oranization's sake
12154                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
12155                         to a GIOChannel/GSource
12156                 - (supplicant_log_stdout): new function; grab output from the
12157                         wpa_supplicant stdout pipe and write it to our logs.
12158
12159 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12160
12161         * src/nm-device-802-11-wireless.c:
12162         Err, fix thinko in my previous commit.
12163
12164 2006-02-28  Robert Love  <rml@novell.com>
12165
12166         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
12167
12168 2006-02-28  Robert Love  <rml@novell.com>
12169
12170         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
12171           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
12172           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
12173           deserializers are responsible for freeing the returned DBUS strings.
12174
12175 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12176
12177         * src/nm-device-802-11-wireless.c:
12178         The scan list is being pruned prematurely.  We should prune after
12179         the device has gone MIA for three scans, not one.  Split out the
12180         interval to realtime seconds function to better serve this.
12181
12182 2006-02-27  Robert Love  <rml@novell.com>
12183
12184         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
12185           Open the pid file O_TRUNC, so if it already exists we truncate it to
12186           zero length.  Also, be more verbose about warnings generated during
12187           writing out the pid file.  Finally, always write out the pid file if
12188           in daemon mode.  Use "--pid-file" to override the default.
12189
12190 2006-02-27  Robert Love  <rml@novell.com>
12191
12192         Patch by R. Vinay <rvinay@novell.com>:
12193         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
12194           'last_attempt_success' when removing a VPN connection, too.  (Fixes
12195           Novell bug #153628).
12196           
12197 2006-02-27  Robert Love  <rml@novell.com>
12198
12199         * gnome/applet/applet.glade: Set "activates_default" on passphrase
12200           entry so user can hit <ENTER> after entering passphrase (Novell bug
12201           #153738).
12202
12203 2006-02-27  Dan Williams  <dcbw@redhat.com>
12204
12205         * gnome/applet/*
12206                 - Mass search/replace of:
12207                         nmwa -> nma
12208                         NMWirelessApplet -> NMApplet
12209                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
12210                    (it ain't just for wireless anymore, ma!)
12211                 - Fix duplicate function name printing when using nm_warning
12212                 - wireless-applet.glade -> applet.glade
12213
12214 2006-02-27  Dan Williams  <dcbw@redhat.com>
12215
12216         * dispatcher-daemon/NetworkManagerDispatcher.c
12217                 - Accept --pid-file with a path to a pidfile, write it out on
12218                         startup, and delete it on shutdown
12219
12220         * src/NetworkManager.c
12221                 - Accept --pid-file with a path to a pidfile, write it out on
12222                         startup, and delete it on shutdown
12223                 - Move nm_print_usage() lower
12224
12225         * initscripts/RedHat/NetworkManager.in
12226                 - Use new --pid-file option
12227                 - Fix service stopping to wait a bit for NM to quit
12228
12229         * initscripts/RedHat/NetworkManagerDispatcher.in
12230                 - Use new --pid-file option
12231
12232 2006-02-26  Dan Williams  <dcbw@redhat.com>
12233
12234         * src/Makefile.am
12235                 - make and install nm-crash-logger
12236
12237         * src/nm-logging.[ch]
12238                 - New files; consolidate logging and crash handling
12239
12240         * src/nm-crash-logger.c
12241           src/gdb-cmd
12242                 - Standalong crashlogger for NM, grab a backtrace
12243                         using GDB
12244
12245         * src/NetworkManager.[ch]
12246                 - Remove signal handling and put it into nm-logging.c
12247
12248 2006-02-26  Dan Williams  <dcbw@redhat.com>
12249
12250         * configure.in
12251           gnome/applet/Makefile.am
12252                 - Conditionalize all the notify stuff
12253
12254         Merge most of Chris Aillon's notification patch:
12255         
12256         * gnome/applet/applet-notifications.[ch]
12257                 - New files; show a notification
12258         
12259         * gnome/applet/applet-dbus-devices.[ch]
12260                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
12261                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
12262                         new functions, do the right thing when a device change occurs
12263
12264         * gnome/applet/applet-dbus.c
12265                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
12266                         signals, so we can handle them specially
12267
12268         * gnome/applet/applet.[ch]
12269                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
12270                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
12271                 - (nmwa_notify_state): remove
12272                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
12273                         notification work is now done when the appropriate dbus signals
12274                         are received.
12275                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
12276                         defer execution of the notification/dialog stuff.  That was an
12277                         artifact of the previous multi-threaded nature of the applet
12278                         and is now pointless.
12279                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
12280                         no longer needed.  Function folded into applet-notifications.c
12281
12282         * src/NetworkManagerPolicy.c
12283                 - (nm_policy_activation_finish): send the AP along with the device
12284                         status change signal, if the connection is wireless.  Should
12285                         fix the race where applet would show a connection to "unknown"
12286
12287 2006-02-25  Robert Love  <rml@novell.com>
12288
12289         Add WPA Enterprise support:
12290         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
12291           nm-gconf-wso-wpa-eap.h.
12292         * gnome/applet/nm-gconf-wso-wpa-eap.c,
12293           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
12294           serialization and deserialization.
12295         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
12296           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
12297           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
12298         * gnome/applet/wireless-applet.glade: Add UI for configurating security
12299           settings related to WPA Enterprise.
12300         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
12301           instantiate WPA Enterprise wireless-security-option.
12302         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
12303           Implement WPA Enterprise wireless-security-option object.
12304         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
12305           defines.  Cleanup.
12306         * libnm-util/cipher-wpa-psk-hex.c,
12307           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
12308         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
12309           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
12310           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
12311           including the cipher to DBUS method, and
12312           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
12313           to output.
12314         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
12315           nm-ap-security-wpa-eap.h
12316         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
12317           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
12318         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
12319           files.  Implement NMAPSecurityWPA_EAP object.
12320         * src/nm-ap-security-wpa-psk.c: Cleanup.
12321         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
12322           an NMAPSecurityWPA_EAP object via the method
12323           nm_ap_security_wpa_eap_new_deserialize().
12324         * src/nm-dbus-nm.c: Cleanup.
12325         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
12326           WPA Enterprise support.
12327
12328 2006-02-24  Robert Love  <rml@novell.com>
12329
12330         Patch from Timo Hoenig <thoenig@suse.de>:
12331         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
12332
12333 2006-02-24  Robert Love  <rml@novell.com>
12334
12335         Patch from Dan Winship <danw@novell.com>:
12336         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
12337           area to transparent.
12338
12339 2006-02-21  Dan Williams  <dcbw@redhat.com>
12340
12341         * gnome/applet/applet.[ch]
12342           gnome/applet/applet-dbus.c
12343                 - Implement notification support for VPN messages too
12344
12345 2006-02-21  Dan Williams  <dcbw@redhat.com>
12346
12347         * gnome/applet/applet-dbus-info.c
12348                 - Clean up warning messages to not double-print the function
12349
12350 2006-02-21  Dan Williams  <dcbw@redhat.com>
12351
12352         * gnome/applet/applet-compat.c
12353                 - (convert_one_entry): accept entries without a key_type and
12354                         convert them to unencrypted networks
12355
12356 2006-02-21  Dan Williams  <dcbw@redhat.com>
12357
12358         * gnome/libnm_glib/libnm_glib.c
12359                 - Use __func__ everywhere we can
12360                 - Code cleanups
12361                 - Use dbus pending calls rather than blocking
12362                 - Reduce busywaits for our thread to start and stop
12363                         (gnome.org #330562)
12364                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
12365                         stomp on others using the default shared dbus connection.
12366                         Fixes #rh177546# and gnome.org #326572
12367
12368 2006-02-21  Dan Williams  <dcbw@redhat.com>
12369
12370         Patch from Rodney Dawes <dobey@novell.com>
12371         * configure.in
12372           gnome/applet/Makefile.am
12373           gnome/applet/applet.c
12374                 - Add libnotify support if '--enable-notify=yes' is passed
12375                   at configure time
12376
12377 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
12378
12379         * configure.in (ALL_LINGUAS): ko added. (Korean)
12380
12381 2006-02-15  Robert Love  <rml@novell.com>
12382
12383         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
12384           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
12385           and WPA_SUPPLICANT_CONTROL_SOCKET.
12386         
12387 2006-02-15  Robert Love  <rml@novell.com>
12388
12389         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
12390           information about what connection stage we are at, provide the total
12391           number of stages, e.g. "Stage 2 of 5", so users know how far along
12392           they are if they experience problems.
12393
12394 2006-02-15  Robert Love  <rml@novell.com>
12395
12396         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
12397           define to $sysconfdir.
12398         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
12399           editing dialog, vpn_edit_widget, which fixes a bug where editing one
12400           type of VPN and then editing another results in a mangled dialog
12401           box containing the widgets from both VPNs (fixes Novell #150854).
12402           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
12403
12404 2006-02-14  Robert Love  <rml@novell.com>
12405
12406         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
12407           syslog's file descriptor.
12408
12409 2006-02-14  Robert Love  <rml@novell.com>
12410
12411         Fix bug around since the change to "deal with APs changing settings on
12412         us," checked in on the fifth of February in the year of the dog, 
12413         wherein connecting to non-broadcast encrypted networks always fails
12414         because nm_ap_get_encrypted() always returns FALSE, even when the user
12415         provided a key, because the newly-created fake AP does not have any
12416         capabilities set, which is a sypmtom of security settings not matching
12417         capabilities (Novell bug #150784):
12418         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
12419           nm_ap_add_capabilities_from_security(), which sets the given AP's
12420           capabilities off the given security settings.  Also improve our
12421           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
12422           NM_AUTH_CIPHER_AUTO.
12423         * src/nm-device-802-11-wireless.c: Call the function
12424           nm_ap_add_capabilities_from_security() to ensure that capabilities
12425           match newly updated security settings.
12426
12427 2006-02-14  Robert Love  <rml@novell.com>
12428
12429         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
12430           error as a string, not an integer, if possible; do not print the
12431           function name twice; always give the interface, if possible; misc.
12432           cleanup.
12433
12434 2006-02-12  Dan Williams  <dcbw@redhat.com>
12435
12436         Patch from Tom Parker <palfrey@tevp.net>
12437         * src/NetworkManagerSystem.h
12438                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
12439                         no longer used
12440
12441         * src/backends/NetworkManagerDebian.c
12442                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
12443                         unused variables
12444
12445 2006-02-12  Dan Williams  <dcbw@redhat.com>
12446
12447         * vpn-daemons/openvpn/intltool-extract.in
12448           vpn-daemons/openvpn/intltool-merge.in
12449           vpn-daemons/openvpn/intltool-update.in
12450           vpn-daemons/pptp/intltool-extract.in
12451           vpn-daemons/pptp/intltool-merge.in
12452           vpn-daemons/pptp/intltool-update.in
12453                 - Remove from CVS, they should get created by intltoolize,
12454                         shouldn't they?
12455
12456 2006-02-12  Dan Williams  <dcbw@redhat.com>
12457
12458         * vpn-daemons/pptp/src/pppd/patchlevel.h
12459         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
12460                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
12461                         Makefile-defined VERSION
12462
12463 2006-02-09  Dan Williams  <dcbw@redhat.com>
12464
12465         Patch from: Vinay A R <rvinay@novell.com>
12466         * src/vpn-manager/nm-vpn-act-request.[ch]
12467                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
12468                         IPSec VPNs require them for std gateway.
12469                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
12470                         and 'user_routes_count'
12471                 - (nm_vpn_act_request_get_user_routes): new function; gets user
12472                         defined routes  from NMVPNActRequest object, returns the string
12473                         array of routes.
12474
12475         * src/vpn-manager/nm-vpn-manager.[ch]
12476                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
12477                         for 'user_routes' and 'user_routes_count'
12478         
12479         * src/vpn-manager/nm-dbus-vpn.c
12480                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
12481                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
12482         
12483         * src/vpn-manager/nm-vpn-service.c
12484                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
12485                         the vpn daemon
12486
12487         Modifications by Dan:
12488         * src/vpn-manager/nm-vpn-service.c
12489                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
12490                         arrays into dbus
12491
12492         * vpn-daemons/vpnc/src/nm-vpnc-service.c
12493         * vpn-daemons/pptp/src/nm-pptp-service.c
12494         * vpn-daemons/openvpn/src/nm-openvpn-service.c
12495                 - Grab user routes from dbus message
12496                 - Free all string arrays we got from dbus
12497
12498 2006-02-07  Robert Love  <rml@novell.com>
12499
12500         Patch by Stefan Seyfried <seife@suse.de>:
12501         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
12502
12503 2006-02-06  Robert Love  <rml@novell.com>
12504
12505         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
12506
12507 2006-02-06  Robert Love  <rml@novell.com>
12508
12509         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
12510           test ">=" is never false.  If no newline is found, we loop forever.
12511           We can just check for ">" because the following if() will see the
12512           zero-th argument if the while() gets that far.
12513
12514 2006-02-05  Dan Williams  <dcbw@redhat.com>
12515
12516         Refine handling of non-broadcast networks.
12517
12518         * src/NetworkManagerAPList.c
12519                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
12520                         property from scanned AP to the AP from the device list
12521
12522         * src/nm-device-802-11-wireless.c
12523                 - (supplicant_send_network_config): use ap_scan=1 for all networks
12524                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
12525                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
12526                         networks since those don't have APs.
12527                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
12528                         AP as non-SSID-broadcasting
12529                 - (process_scan_results): don't handle non-SSID-broadcasting here
12530
12531 2006-02-05  Dan Williams  <dcbw@redhat.com>
12532
12533         * src/nm-device-802-11-wireless.c
12534                 - (get_supplicant_timeout): new function; return
12535                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
12536                         14 channels.  These are likely a/b/g cards, like Atheros, and
12537                         slow as hell to scan.
12538                 - (supplicant_timeout_cb, supplicant_monitor_start): use
12539                         get_supplicant_timeout()
12540
12541 2006-02-05  Dan Williams  <dcbw@redhat.com>
12542
12543         * src/dhcp-manager/nm-dhcp-manager.c
12544                 - Loose a commit race with Robert; make sure size check
12545                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
12546
12547 2006-02-05  Robert Love  <rml@novell.com>
12548
12549         Patch by Christoph Brill <chrisbrill@gmx.net>:
12550         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
12551           with DHCP_SERVICE_NAME.
12552
12553 2006-02-05  Dan Williams  <dcbw@redhat.com>
12554
12555         Remove anything having to do with device_setup_func from the
12556         AP security objects, since it's no longer used.
12557
12558         * src/nm-ap-security.h
12559                 - Kill device_setup_func and nm_ap_security_device_setup()
12560
12561         * src/nm-ap-security-wep.c
12562           src/nm-ap-security-wpa-psk.c
12563                 - (real_device_setup): remove
12564
12565         * src/nm-ap-security.c
12566                 - (real_device_setup): remove
12567                 - (nm_ap_security_device_setup): remove
12568
12569         * src/nm-device-802-11-wireless.[ch]
12570                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
12571                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
12572                         and done by wpa_supplicant now anyway
12573
12574 2006-02-05  Dan Williams  <dcbw@redhat.com>
12575
12576         * src/nm-device-802-11-wireless.c
12577                 - (ap_need_key, real_act_stage2_config): deal with APs changing
12578                         settings on us.  Previously NM would loop asking for the
12579                         key but getting the same one back.  Now, if the NMI-supplied
12580                         cipher doesn't overlap with the scanned AP capabilities,
12581                         we request a completely new key from the user.
12582
12583 2006-02-05  Dan Williams  <dcbw@redhat.com>
12584
12585         * src/NetworkManagerUtils.c
12586                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
12587                         Handle newline killing better
12588
12589 2006-02-05  Dan Williams  <dcbw@redhat.com>
12590
12591         * gnome/applet/nm-gconf-wso.c
12592                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
12593                         of unencrypted access point security info.
12594
12595 2006-02-03  Robert Love  <rml@novell.com>
12596
12597         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
12598           user's encryption key, so we print the err_msg_cmd not the command,
12599           if available.  So long as SUPPLICANT_DEBUG is default, this makes
12600           sense.
12601
12602 2006-02-03  Christopher Aillon  <caillon@redhat.com>
12603
12604         * initscript/RedHat/NetworkManagerDispatcher.in:
12605         * initscript/RedHat/NetworkManager.in: modify the pidfile location
12606         Patch from Dan Walsh <dwalsh@redhat.com>
12607
12608 2006-02-03  Robert Love  <rml@novell.com>
12609
12610         * dispatcher-daemon/NetworkManagerDispatcher.c,
12611           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
12612           but use the sysconfdir.
12613
12614 2006-02-03  Robert Love  <rml@novell.com>
12615
12616         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
12617           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
12618           'char *'.
12619         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
12620           nm_ip4_config_get_hostname() and
12621           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
12622         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
12623           leak g_strdup() result.
12624
12625 2006-02-03  Robert Love  <rml@novell.com>
12626
12627         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
12628           broadcast == TRUE.  Also, copy broadcast and artificial properties
12629           from source network to destination in nm_ap_copy().
12630         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
12631           since we now default new networks to non-hidden.
12632
12633 2006-02-03  Dan Williams  <dcbw@redhat.com>
12634
12635         * gnome/applet/main.c
12636                 - (main): change the NEVER->ALWAYS so we start at the
12637                         beginning of the session, if being session-managed
12638
12639 2006-02-03  Dan Williams  <dcbw@redhat.com>
12640
12641         * gnome/applet/main.c
12642                 - (main): in a variation on Robert's patch, change
12643                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
12644                         he wants.
12645
12646 2006-02-02  Robert Love  <rml@novell.com>
12647
12648         * src/Makefile.am: If we aren't going to create the run directory at,
12649           uh, run-time, create it during install.  Then users just doing
12650           'make install' are cool, too.  While we are here, create the
12651           dispatcher.d directory, too.
12652         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
12653           the exact run directory.
12654         * Makefile.am: Install nm-applet.desktop.
12655
12656 2006-02-02  Robert Love  <rml@novell.com>
12657
12658         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
12659           structure, which denotes whether or not the AP is hidden.  This is a
12660           superset of 'artificial' -- we need 'broadcast' because a hidden AP
12661           can show up in the scan list.  Add nm_ap_get_broadcast() and
12662           nm_ap_set_broadcast() accessor interfaces.
12663         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
12664           nm_ap_set_broadcast().
12665         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
12666           "getProperties" method, which denotes whether or not the given
12667           network is hidden.
12668         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
12669           an artificial network.  Set broadcast to TRUE when scanning returns
12670           an ESSID and FALSE when not.
12671         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
12672           from "getProperties" method on a network.  Possible TODO is to
12673           somehow display this.
12674         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
12675
12676 2006-02-02  Dan Williams  <dcbw@redhat.com>
12677
12678         * src/nm-device-802-11-wireless.c
12679                 - (supplicant_interface_init): don't try to create
12680                         /var/run/NetworkManager, since that should be done by
12681                         the distro package.  Causes problems for stuff like SELinux
12682
12683 2006-02-02  Robert Love  <rml@novell.com>
12684
12685         Patch by Sureshkumar T <tsureshkumar@novell.com>:
12686         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
12687           Check for and handle empty string for iface.
12688
12689 2006-02-01  Robert Love  <rml@novell.com>
12690
12691         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
12692           manpage.
12693
12694 2006-01-31  Dan Williams  <dcbw@redhat.com>
12695
12696         * nm-applet.desktop
12697                 - Add --sm-disable to Exec arguments, presuming that when
12698                         using autostart, we don't want session management
12699
12700 2006-01-31  Robert Love  <rml@novell.com>
12701
12702         * src/NetworkManagerAP.c: Add two new manufacturer default network
12703           names: linksys-a and linksys-g.  These are found (at least) on the
12704           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
12705           own ESSID.
12706
12707 2006-01-31  Robert Love  <rml@novell.com>
12708
12709         * src/NetworkManagerAP.c: Optimize the function
12710           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
12711           machine code.  This is the first in a series of code tweaks aiming to
12712           generate better machine code and make NetworkManager all the better.
12713           Just kidding.  Who has time to go through the assembly generated for
12714           every function?  I certainly don't.  I have a wife, a kid, a job,
12715           a mortgage, a mistress.  But this function was so bad, I was called
12716           to arms.  Like the book.
12717
12718 2006-01-31  Robert Love  <rml@novell.com>
12719
12720         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
12721           AP is not broadcasting, to scan with probe request frames.  Required
12722           for non-broadcast networks.
12723
12724 2006-01-31  Robert Love  <rml@novell.com>
12725
12726         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
12727           preprocessor define (still 20s).  Fix message text in nm_info()
12728           s/too too/took too/.
12729
12730 2006-01-30  Dan Williams  <dcbw@redhat.com>
12731
12732         * src/nm-device-802-11-wireless.c
12733                 - (supplicant_monitor_start): increase connect/auth timeout to
12734                         20 seconds from 10 seconds
12735
12736 2006-01-30  Dan Williams  <dcbw@redhat.com>
12737
12738         * src/Makefile.am
12739                 - Define LOCALSTATEDIR
12740
12741         * src/nm-device-802-11-wireless.c
12742                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
12743                         socket where we want it to
12744
12745         * src/wpa_ctrl.[ch]
12746                 - (wpa_ctrl_open): accept location to put local control socket
12747
12748 2006-01-30  Robert Love  <rml@novell.com>
12749
12750         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
12751           get_ip4_string() for "domain_name".
12752
12753 2006-01-30  Robert Love  <rml@novell.com>
12754
12755         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
12756           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
12757           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
12758           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
12759           support for "Automatic" pairwise and group cipher configuration by
12760           letting wpa_supplicant handle the details.  Add UI elements, new
12761           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
12762           charm.  Note this does more than add a nice feature, it fixes a bug.
12763           Apparently, some people have AP's where the pairwise cipher does not
12764           match the group cipher.  Insane, but true.
12765
12766 2006-01-30  Dan Williams  <dcbw@redhat.com>
12767
12768         * gnome/applet/applet-dbus-devices.c
12769                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
12770                         functions, grab device driver name from NetworkManager
12771                 - (nmwa_dbus_device_properties_cb): call functions to get driver
12772
12773         * gnome/applet/applet.c
12774                 - (nmwa_update_info): show driver name in Connection Information
12775                         dialog
12776
12777         * gnome/applet/nm-device.[ch]
12778                 - (network_device_get_driver, network_device_set_driver): add
12779                         accessors for driver name
12780
12781         * gnome/applet/wireless-applet.glade
12782                 - Add line for driver name to Connection Information dialog
12783
12784         * src/nm-dbus-device.c
12785                 - (nm_dbus_device_get_driver): new function to return driver name
12786                 - (nm_dbus_device_methods): hook up driver name function to dbus
12787
12788         * test/nm-tool.c
12789                 - (get_driver_name): new function
12790                 - (detail_device): grab and show driver name
12791
12792 2006-01-30  Robert Love  <rml@novell.com>
12793
12794         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
12795           does not parse the markup if it is not part of the format.
12796
12797 2006-01-30  Robert Love  <rml@novell.com>
12798
12799         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
12800           FALSE, we have no security options for this dialog, so we throw up
12801           an error dialog instead of a broken passphrase dialog.  Fixes
12802           Novell #138404.
12803         * gnome/applet/wireless-security-manager.c,
12804           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
12805           does not add any security options, not even NONE, print a warning
12806           and return FALSE.  This let's functions constructing a dialog bail
12807           out if the device's capabilities and the network's requirements have
12808           zero overlap.
12809
12810 2006-01-27  Robert Love  <rml@novell.com>
12811
12812         * configure.in: Require wpa_supplicant.  Detect location of binary and
12813           use it.  Override with "--with-wpa_supplicant=foo".
12814         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
12815           path to wpa_supplicant but use the auto-detected or user-provided
12816           value from configure.
12817
12818 2006-01-27  Robert Love  <rml@novell.com>
12819
12820         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
12821           but the DHCP server did not return a hostname, try to look up our
12822           name via DNS and set the system hostname to that.
12823
12824 2006-01-27  Dan Williams  <dcbw@redhat.com>
12825
12826         * src/backends/NetworkManagerRedHat.c
12827                 - Add NM_CONTROLLED system network script support for RH/Fedora
12828
12829 2006-01-27  Dan Williams  <dcbw@redhat.com>
12830
12831         * src/backends/NetworkManagerGentoo.c
12832                 - (nm_system_device_get_disabled): add missing function.
12833                         Gnome BZ #328780
12834
12835 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
12836
12837         * configure.in: Added vi in ALL_LINGUAS line.
12838         
12839 2006-01-26  Robert Love  <rml@novell.com>
12840
12841         * src/Makefile.am, src/kernel-types.h: Now that two different source
12842           files are feeling the crack-addled leakage of kernel types such as
12843           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
12844           types in user-space -- define a header and include it as needed.
12845         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
12846         * src/nm-device-802-3-ethernet.h: Remove defines.
12847         * src/wpa.c: Remove defines and include kernel-types.h.
12848
12849 2006-01-26  Robert Love  <rml@novell.com>
12850
12851         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
12852           work.
12853
12854 2006-01-26  Robert Love  <rml@novell.com>
12855
12856         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
12857         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
12858           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
12859           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
12860           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
12861           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
12862           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
12863           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
12864           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
12865           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
12866           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12867           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
12868           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
12869           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
12870           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
12871           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
12872           Kill unused variables, labels, and static functions.  Don't pass
12873           string literals as the format string for printf-like functions.
12874
12875 2006-01-25  Dan Williams  <dcbw@redhat.com>
12876
12877         * gnome/applet/wireless-applet.glade
12878                 - Remove WPA2 Checkbox
12879
12880         * gnome/applet/wireless-security-manager.c
12881                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
12882                         This means the Wireless Security menu now has two WPA options,
12883                         one for "WPA Personal" and one for "WPA2 Personal"
12884
12885         * gnome/applet/wso-wpa-psk.[ch]
12886                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
12887                         'wpa2' argument to determine WPA version to use
12888                 - (append_dbus_params_func): pass stored WPA version to cipher
12889                         rather than using the (removed) checkbox
12890
12891 2006-01-24  Robert Love  <rml@novell.com>
12892
12893         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
12894           before we g_strdup(), not the ultimate string.
12895
12896 2006-01-23  Dan Williams  <dcbw@redhat.com>
12897
12898         * src/NetworkManagerAP.[ch]
12899                 - (nm_ap_new_from_ap): copy original essid too
12900                 - (nm_ap_unref): free original essid
12901                 - (nm_ap_get_orig_essid): new function
12902                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
12903                         but keep original essid around too
12904
12905         * src/nm-device-802-11-wireless.c
12906                 - (supplicant_send_network_config): send wpa_supplicant the
12907                         _original_ essid, and not as a string, but in hex.  Should
12908                         allow us to connect to more APs that use wierd character
12909                         encodings for their essids
12910
12911         * utils/nm-utils.[ch]
12912                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
12913                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
12914                         use the current locale as a hint for what encoding the essid
12915                         might be in.  Obviously not 100% accurate, but the idea here is
12916                         that if a user's locale is ex. ja_JP, they are more likely than
12917                         not to be in Japan, where access points will likely be in some
12918                         Japanese encoding.
12919
12920 2006-01-23  Dan Williams  <dcbw@redhat.com>
12921
12922         * libnm-util/cipher-private.h
12923           libnm-util/cipher.c
12924           libnm-util/cipher.h
12925                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
12926
12927 2006-01-23  Robert Love  <rml@novell.com>
12928
12929         Patch by Timo Hoenig <thoenig@suse.de>:
12930         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
12931           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
12932           by DHCP and pass it to the backends, allowing distribution-specific
12933           behavior with respect to the DHCP-supplied hostname (if nothing else,
12934           some distributions might not want to set the hostname).
12935         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
12936           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
12937           Also update our NIS behavior.
12938         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
12939           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
12940           Add stub functions.
12941
12942 2006-01-23  Robert Love  <rml@novell.com>
12943
12944         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
12945           gnome-session does autostart.  TODO: We need to install this to
12946           $prefix/share/autostart/.
12947
12948 2006-01-22  Dan Williams  <dcbw@redhat.com>
12949
12950         * src/NetworkManagerAP.[ch]
12951           src/nm-dbus-nmi.c
12952           src/nm-device-802-11-wireless.c         
12953                 - Make nm_ap_get_essid return "const char *"
12954
12955 2006-01-22  Dan Williams  <dcbw@redhat.com>
12956
12957         * src/NetworkManagerAP.[ch]
12958                 - (nm_ap_get_matched, nm_ap_set_matched): remove
12959
12960         * src/NetworkManagerAPList.[ch]
12961                 - (nm_ap_list_diff): removed
12962                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
12963                         deal with access points changing essids on us
12964
12965         * src/nm-device-802-11-wireless.c
12966                 - (add_new_ap_to_device_list): move AP dbus signal logic to
12967                         src/NetworkManagerAPList.c
12968                 - (real_can_interrupt_activation): new function; allow interruption
12969                         of device activation if we are waiting for a network key
12970
12971         * src/NetworkManagerPolicy.c
12972                 - (nm_policy_device_change_check): allow interruption of currently
12973                         activating devices if the device allows it.  Previous behavior
12974                         would refuse to activate a just-plugged wired device if a
12975                         wireless device was waiting for a key.
12976
12977         * src/nm-device.[ch]
12978                 - (nm_device_can_interrupt_activation): new function; ask devices
12979                         whether their activation can be interrupted
12980
12981 2006-01-20  Robert Love  <rml@novell.com>
12982
12983         * Makefile.am, configure.in: Add new man subdirectory.
12984         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
12985           man/Makefile.am: Add man pages for NetworkManager and its
12986           crime-solving bumbling buddy, NetworkManagerDispatcher.
12987         * man/.cvsignore: Add.
12988         * initscript/Debian/NetworkManager,
12989           initscript/Gentoo/NetworkManager.in,
12990           initscript/RedHat/NetworkManager.in,
12991           initscript/RedHat/NetworkManagerDispatcher.in,
12992           initscript/SUSE/networkmanager-dispatcher.in,
12993           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
12994
12995 2006-01-20  Robert Love  <rml@novell.com>
12996
12997         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
12998           instead of queuing.  This prevents the running of multiple NM
12999           daemons concurrently, which does not work whatsoever and results in
13000           neither daemon working correctly.  Also, we don't handle queuing and
13001           name-owner-changes, anyhow.
13002
13003 2006-01-20  Robert Love  <rml@novell.com>
13004
13005         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
13006         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
13007           to sbin, not bin.
13008
13009 2006-01-19  Robert Love  <rml@novell.com>
13010
13011         * configure.in: Require hal 0.5.0 or later.
13012
13013 2006-01-18  Robert Love  <rml@novell.com>
13014
13015         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
13016           Allow backends to flag a device (in whatever distro-dependent way
13017           they so desire) as disabled.  NM will ignore any such device.
13018         * src/backends/NetworkManagerDebian.c,
13019           src/backends/NetworkManagerRedHat.c,
13020           src/backends/NetworkManagerSlackware.c: Add stub function
13021           nm_system_device_get_disabled() that always returns FALSE (enabled).
13022         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
13023           SUSE-specific configuration structure.  Fill it in from the
13024           NM_CONTROLLED variable in the system networking scripts.  If this var
13025           exists and is "no", we ignore the device.
13026
13027 2006-01-17  Robert Love  <rml@novell.com>
13028
13029         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
13030           identical for NM.  For a full discussion, see the thread at
13031           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
13032
13033 2006-01-17  Dan Williams  <dcbw@redhat.com>
13034
13035         * src/nm-device.c
13036                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
13037                         function.  Fixes crash when wired DHCP fails.
13038
13039 2006-01-16  Robert Love  <rml@novell.com>
13040
13041         * src/Makefile.am: Don't install NMLoadModules
13042         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
13043           from src/ to test/ as no one uses it anymore.  Note that I would be
13044           fine with removing it altogether.
13045
13046 2006-01-16  Robert Love  <rml@novell.com>
13047
13048         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
13049           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13050           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
13051           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
13052           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
13053           src/nm-netlink-monitor.c: Don't miss any initializers on structure
13054           declarations, ever.
13055         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
13056           NM_STATE_DISCONNECTED is zero).
13057
13058 2006-01-16  Robert Love  <rml@novell.com>
13059
13060         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
13061           uninitialized parameter and buffer overflow.  Novell #143496.
13062
13063 2006-01-16  Dan Williams  <dcbw@redhat.com>
13064
13065         Apply the PtP Address bits of a patch from Tim Niemueller
13066
13067         * src/nm-ip4-config.[ch]
13068                 - Add ip4_ptp_address member to object
13069                 - (nm_ip4_config_copy): copy ptp address too
13070                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
13071                         new functions
13072                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
13073                         rather than local tunnel ip address
13074
13075         * src/vpn-manager/nm-vpn-service.c
13076                 - (print_vpn_config): update for PtP address
13077                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
13078                         DBusMessageIters in preparation for getting routes from the VPN
13079                         service daemons too
13080
13081         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
13082                 - (send_config_info): update for PtP address, clean up code
13083                 - (main): update for PtP address, clean up code, fix typo
13084
13085         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13086                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
13087
13088         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13089                 - (pptp_ip_up): update for PtP address
13090
13091         * vpn-daemons/pptp/src/nm-pptp-service.c
13092                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
13093
13094         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13095                 - (print_vpn_config): update for PtP address
13096                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
13097
13098 2006-01-16  Dan Williams  <dcbw@redhat.com>
13099
13100         * gnome/applet/applet.c
13101                 - (nmwa_add_networks_helper): don't indicate an active network
13102                         if NM is disconnected or asleep
13103
13104 2006-01-16  Dan Williams  <dcbw@redhat.com>
13105
13106         * src/NetworkManagerPolicy.c
13107                 - (nm_policy_device_change_check): switch devices if we lose the link
13108                         on an ethernet device. 
13109
13110 2006-01-16  Dan Williams  <dcbw@redhat.com>
13111
13112         * gnome/applet/wso-wpa-psk-hex.[ch]
13113                 - Renamed -> wso-wpa-psk.[ch]
13114
13115         * gnome/applet/wso-wpa-psk.[ch]
13116                 - New files
13117
13118         * gnome/applet/wso-wpa-psk-passphrase.[ch]
13119                 - Removed, rolled into wso-wpa-psk.[ch]
13120
13121         * gnome/applet/Makefile.am
13122                 - Updated for above changes
13123
13124         * gnome/applet/wireless-applet.glade
13125                 - Consolidate WPA-PSK options into one notebook
13126                         widget, and make dialogs invisible by default
13127                         to fix screen oddities
13128
13129         * gnome/applet/wireless-security-manager.c
13130                 - (wsm_set_capabilities): create the new wpa-psk widget rather
13131                         than both the old hex & passphrase ones
13132
13133 2006-01-16  Dan Williams  <dcbw@redhat.com>
13134
13135         * gnome/applet/other-network-dialog.c
13136                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
13137
13138 2006-01-16  Dan Williams  <dcbw@redhat.com>
13139
13140         * gnome/applet/applet.c
13141                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
13142                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
13143                         prevention to realize window before trying to get server
13144                         time
13145
13146         * gnome/applet/other-network-dialog.c
13147                 - (nmwa_other_network_dialog_run): fix up focus-stealing
13148                         prevention to realize window before trying to get server
13149                         time
13150
13151         * gnome/applet/passphrase-dialog.c
13152                 - (nmi_passphrase_dialog_new): fix up focus-stealing
13153                         prevention to realize window before trying to get server
13154                         time
13155
13156 2006-01-16  Robert Love  <rml@novell.com>
13157
13158         Patch from Timo Hoenig  <thoenig@suse.de:
13159         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
13160           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
13161           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
13162           libnm-util/dbus-helpers.h: add checks whether headers are used
13163           within a C++ build.
13164
13165 2006-01-16  Dan Williams  <dcbw@redhat.com>
13166
13167         * gnome/applet/wireless-security-option.c
13168                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
13169
13170 2006-01-16  Dan Williams  <dcbw@redhat.com>
13171
13172         * libnm-util/cipher-wpa-psk-passphrase.c
13173                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
13174                         be 8 - 63 characters inclusive
13175
13176 2006-01-16  Dan Williams  <dcbw@redhat.com>
13177
13178         * src/nm-dbus-nm.c
13179                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
13180
13181 2006-01-13  Robert Love  <rml@novell.com>
13182
13183         Patch by T Sureshkumar <tsureshkuman@novell.com>:
13184         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
13185           modules that do not use an interface.
13186
13187 2006-01-13  Dan Williams  <dcbw@redhat.com>
13188
13189         * src/nm-device.c
13190           src/nm-device.h
13191                 - Allow subclasses to implement deactivate_quickly()
13192                 - (nm_device_deactivate_quickly): call subclass
13193                         deactivate_quickly() methods
13194                 - (nm_device_set_active_link): small cleanups, and don't
13195                         deactivate the device right away because we risk a deadlock
13196                         when called from device thread, waiting for the device
13197                         thread to cancel activation
13198
13199         * src/nm-device-802-11-wireless.c
13200                 - (real_deactivate_quickly): new function
13201                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
13202                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
13203                         so that we kill the supplicant when we sleep too
13204                 - (supplicant_interface_init): work around naive naming attempts of
13205                         wpa_ctrl when naming sockets
13206
13207 2006-01-13  Dan Williams  <dcbw@redhat.com>
13208
13209         * src/nm-device-802-11-wireless.c
13210                 - (supplicant_cleanup): delete old device control sockets too
13211                 - (supplicant_get_device_socket_path): new function to consolidate
13212                         locations that need a path to a device's control socket
13213
13214 2006-01-12  Robert Love  <rml@novell.com>
13215
13216         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
13217           description so that the description is unique for each
13218           pair (device,provider).  Fixes Novell #142773.
13219
13220 2006-01-12  Dan Williams  <dcbw@redhat.com>
13221
13222         * src/nm-device-802-11-wireless.c
13223                 - (supplicant_exec): ensure GError is correctly initialized
13224                         Reported by Diego González (gnome.org #326708)
13225
13226 2006-01-11  Robert Love  <rml@novell.com>
13227
13228         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
13229           define if_mii(), open code the same results, and do so without any
13230           type punning.
13231
13232 2006-01-11  Robert Love  <rml@novell.com>
13233
13234         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
13235           that wso_foo_new() returned non-NULL.  Instead, only append the new
13236           wso to wsm->options if the wso is non-NULL.  The crux is that we
13237           assume that the relevant key types are implied by WEP and WPA as
13238           appropriate.  To be sure, they should be, but we should not expect
13239           drivers to not be oozing piles of wolf fecal matter.
13240
13241 2006-01-11  Robert Love  <rml@novell.com>
13242
13243         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
13244         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
13245           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
13246           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
13247           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
13248           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
13249           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
13250         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
13251           comparing values within DBL_EPSILON.  Also fix shadowed variable
13252           usage.
13253
13254 2006-01-11  Dan Williams  <dcbw@redhat.com>
13255
13256         Add options for WPA2 and WPA1+CCMP (AES).
13257
13258         * gnome/applet/wireless-applet.glade
13259                 - Add UI bits for WPA+CCMP
13260
13261         * gnome/applet/other-network-dialog.c
13262                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
13263                         and don't allow creation of WPA2 Ad-Hoc networks since
13264                         wpa_supplicant doesn't support them
13265
13266         * gnome/applet/wireless-security-manager.c
13267                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
13268                         on to the specific wireless security option being created
13269
13270         * gnome/applet/wireless-security-option.[ch]
13271                 - (wso_wpa_create_key_type_model): new utility function to create
13272                         the model required for WPA Key Type combo box
13273
13274         * gnome/applet/wso-private.h
13275           gnome/applet/wireless-security-option.h
13276                 - Move private function prototypes into wso-private.h
13277
13278         * gnome/applet/wso-wpa-psk-hex.[ch]
13279           gnome/applet/wso-wpa-psk-passphrase.[ch]
13280                 - (append_dbus_params_func): get WPA version from checkbox and pass
13281                         it to the dbus serialization helper
13282                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
13283                         key type combo changes
13284                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
13285                         model and options
13286
13287         * libnm-util/cipher-wpa-psk-hex.c
13288           libnm-util/cipher-wpa-psk-passphrase.c
13289                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
13290                         new function; allow the cipher to be changed after object creation
13291
13292         * src/nm-ap-security-wpa-psk.c
13293                 - (set_description): Do WPA2 descriptions too
13294
13295         * src/nm-ap-security.c
13296                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
13297
13298 2006-01-11  Robert Love  <rml@novell.com>
13299
13300         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
13301           is defined in <linux/mii.h> to return the mii_ioctl_data structure
13302           from the ifreq structure in lieu of an open coded solution.  Removes
13303           a life-threatening type-punning.
13304         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
13305           types, ever, whatsoever, baby.
13306
13307 2006-01-11  Robert Love  <rml@novell.com>
13308
13309         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
13310           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
13311           assignments to applet->nm_state into a new nmwa_set_state() function
13312           for both cleanliness and to help debugging.
13313
13314 2006-01-10  Robert Love  <rml@novell.com>
13315
13316         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
13317           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
13318           seconds, exclusive.  That is, we want to sleep x seconds such that
13319           1 < x < 2.
13320
13321 2006-01-10  Robert Love  <rml@novell.com>
13322
13323         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
13324           the attr fields according to the example in the email available at
13325           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
13326           Conversely, we do have to free 'name', so we do so, fixing a leak.
13327
13328 2006-01-10  Robert Love  <rml@novell.com>
13329
13330         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
13331           sure that we close the socket!
13332
13333 2006-01-10  Robert Love  <rml@novell.com>
13334
13335         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
13336           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
13337           src/nm-device.c: Fix a FIXME!  Reimplement the function
13338           nm_device_update_hw_address() in device subclass variants,
13339           nm_device_802_3_ethernet_set_address() and
13340           nm_device_802_11_wireless_set_address(), hook them up, and use them.
13341           This fixes the existing bug where MAC addresses are all zeros.
13342
13343 2006-01-10  Robert Love  <rml@novell.com>
13344
13345         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
13346           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
13347           option to give users ability to globally disconnect and put NM to
13348           sleep.  This is useful as a 'lockdown mode' for flying, security, and
13349           clean disconnect.
13350
13351 2006-01-09  Robert Love  <rml@novell.com>
13352
13353         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
13354           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
13355           User-space does not supply these types, so we have to define them
13356           ourselves.  The relevant kernel maintainer refused to accept a patch
13357           switching these headers to the proper C99 types.
13358
13359 2006-01-09  Dan Williams  <dcbw@redhat.com>
13360
13361         Apply Robert's 'tray icon redo' patch with fixes
13362         * gnome/applet/applet.c
13363           gnome/applet/applet.h
13364                 - Instead of using a menu bar + menu item, simulate menu
13365                         behavior using a popup menu.  Highlight the area around
13366                         the icon more like a menu too, by playing with the
13367                         applet's size requisition
13368
13369 2006-01-09  Timo Hoenig   <thoenig@suse.de>
13370         * libnm-util/dbus-helpers.c
13371           libnm-util/dbus-helpers.h
13372                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
13373                         to 'exception_namespace' (:namespace is a keyword in
13374                         C++)
13375
13376 2006-01-09  Dan Williams  <dcbw@redhat.com>
13377
13378         * src/NetworkManagerPolicy.c
13379                 - (nm_policy_device_change_check): don't autoswitch away from
13380                         Ad-Hoc networks, since there's really no concept of
13381                         "link"
13382
13383         * src/nm-dbus-nm.c
13384                 - (nm_dbus_nm_create_wireless_network): mark created networks
13385                         as Ad-Hoc networks
13386
13387         * src/nm-device-802-11-wireless.c
13388                 - (real_activation_success_handler): add user-created Ad-Hoc
13389                         networks to the device's scan list
13390
13391 2006-01-08  Dan Williams  <dcbw@redhat.com>
13392
13393         We now require a patch for wpa_supplicant to support Ad-Hoc
13394         networks:
13395           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
13396
13397         * src/nm-device-802-11-wireless.c
13398                 - (supplicant_send_network_config): turn off wpa_supplicant's
13399                         scanning.  Fixes Ad-Hoc networks.
13400
13401 2006-01-08  Dan Williams  <dcbw@redhat.com>
13402
13403         * src/nm-ap-security.c
13404           src/nm-ap-security.h
13405                 - Add a user_created argument to the write_supplicant_config
13406                         functions
13407
13408         * src/nm-ap-security-wep.c
13409           src/nm-ap-security-wpa-psk.c
13410           src/nm-device-802-11-wireless.c
13411                 - Make Ad-Hoc mode somewhat work, at least write the
13412                         correct options to wpa_supplicant
13413
13414 2006-01-08  Dan Williams  <dcbw@redhat.com>
13415
13416         * src/nm-device-802-11-wireless.c
13417                 - Remove unused code from the old device activation path
13418
13419 2006-01-08  Dan Williams  <dcbw@redhat.com>
13420
13421         * libnm-util/dbus-helpers.c
13422                 - (nmu_security_serialize_wpa_psk): pass a blank key through
13423                         dbus when key == NULL
13424
13425 2006-01-08  Dan Williams  <dcbw@redhat.com>
13426
13427         * gnome/applet/nm-gconf-wso-wpa-psk.c
13428                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
13429                         correct arguments to nmu_security_deserialize_wpa_psk()
13430
13431         * src/nm-ap-security-wpa-psk.c
13432                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
13433                         arguments to nmu_security_deserialize_wpa_psk()
13434
13435 2006-01-08  Dan Williams  <dcbw@redhat.com>
13436
13437         * gnome/applet/wso-wpa-psk-hex.c
13438           gnome/applet/wso-wpa-psk-passphrase.c
13439                 - Hook up the append_dbus_params_func() function
13440
13441 2006-01-08  Dan Williams  <dcbw@redhat.com>
13442
13443         * src/nm-device-802-11-wireless.c
13444                 - (get_wireless_capabilities): correctly detect driver WPA
13445                         capabilities
13446
13447 2006-01-08  Dan Williams  <dcbw@redhat.com>
13448
13449         * gnome/applet/Makefile.am
13450           gnome/applet/wso-wpa-psk-hex.c
13451           gnome/applet/wso-wpa-psk-hex.h
13452                 - New files, implement WPA-PSK Hex key input
13453
13454         * gnome/applet/wireless-applet.glade
13455                 - Change existing wpa-psk stuff to wpa-psk-hex
13456                 - Add new widgets for wpa-psk-passphrase
13457
13458         * gnome/applet/wireless-security-manager.c
13459                 - (wsm_set_capabilities): enable WPA options
13460
13461         * gnome/applet/wso-wpa-psk-passphrase.c
13462                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
13463                         for WPA-PSK passphrase
13464
13465 2006-01-08  Dan Williams  <dcbw@redhat.com>
13466
13467         * include/NetworkManager.h
13468                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
13469                         applet/info-daemons
13470
13471         * gnome/applet/passphrase-dialog.c
13472                 - Use the constant.  Fixes a bug where the arguments to
13473                         dbus_message_new_error() were incorrect
13474
13475         * src/nm-dbus-nmi.c
13476                 - Use the constant
13477
13478 2006-01-07  Dan Williams  <dcbw@redhat.com>
13479
13480         * src/nm-device-802-11-wireless.c
13481                 - Add a link timeout so we allow the supplicant time to
13482                         reassociate if it can, before we deactivate the card
13483                 - Fix up link status and link updating so things work better
13484
13485 2006-01-07  Dan Williams  <dcbw@redhat.com>
13486
13487         * src/nm-device-802-11-wireless.c
13488                 - Switch over to using wpa_supplicant
13489                 - Add a timeout of 10s for association of the supplicant
13490                 - Start the monitor callback of the supplicant
13491
13492 2006-01-07  Dan Williams  <dcbw@redhat.com>
13493
13494         * src/NetworkManagerUtils.c
13495                 - (nm_utils_supplicant_request,
13496                   nm_utils_supplicant_request_with_check):
13497                         pass correct buffer length to wpa_ctrl_request()
13498
13499 2006-01-07  Dan Williams  <dcbw@redhat.com>
13500
13501         * src/nm-device-private.h
13502           src/nm-device.c
13503                 - (nm_device_activate_schedule_stage3_ip_config_start): make
13504                         this function available to subclasses
13505
13506 2006-01-06  Robert Love  <rml@novell.com>
13507
13508         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
13509           user plugging in a network cable signals their preference for to
13510           switch, unless the user explicitly selected a wireless network and
13511           therefore signaled their preference for said wireless network over
13512           wired.  In other words, do exactly what makes sense.
13513
13514 2006-01-06  Robert Love  <rml@novell.com>
13515
13516         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
13517           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
13518           src/NetworkManagerWireless.h: Remove, no longer used and they keep
13519           showing up in my greps.
13520
13521 2006-01-06  Robert Love  <rml@novell.com>
13522
13523         * gnome/applet/applet-dbus-devices.c,
13524           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
13525           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
13526           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
13527           New Network' both failed in the non-encrypted case because we were
13528           not appending the security options to the DBUS message.  And
13529           'Connect to Other' was also failing in the encrypted case because
13530           we were not incrementing to the next DBUS parameter.  All fixed.
13531           Thanks to dcdw for some debugging help.
13532
13533 2006-01-06  Robert Love  <rml@novell.com>
13534
13535         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
13536           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
13537           hangup code and add per-device hangup.  Tie last commit into the
13538           GNOME applet.  TODO:  Save, understand, and respond to the state of
13539           each dialup device.
13540
13541 2006-01-06  Robert Love  <rml@novell.com>
13542
13543         Patch by Timo Hoenig <thoenig@suse.de>:
13544         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
13545           hangup specific dialup devices.
13546         * src/backends/NetworkManagerDebian.c,
13547           src/backends/NetworkManagerGentoo.c,
13548           src/backends/NetworkManagerRedHat.c,
13549           src/backends/NetworkManagerSlackware.c: Add stub backend.
13550         * src/backends/NetworkManagerRedHat.c,
13551           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
13552           hangup specific dialup devices.
13553
13554 2006-01-04  Robert Love  <rml@novell.com>
13555
13556         * gnome/applet/applet-dbus-devices.c,
13557           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
13558           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
13559           connections.
13560
13561 2006-01-04  Dan Williams  <dcbw@redhat.com>
13562
13563         First dump of wpa_supplicant-related code.  It's not hooked up to
13564         anything yet though.  Thanks to Kay Sievers for
13565         wpa_supplicant_wrapper.c, which formed the basis for this work,
13566         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
13567
13568         * src/Makefile.am
13569           src/wpa_ctrl.[ch]
13570                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
13571
13572         * src/NetworkManagerUtils.[ch]
13573                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
13574                         Add convenience functions for talking to wpa_supplicant
13575
13576         * src/nm-ap-security.[ch]
13577           src/nm-ap-security-wep.c
13578           src/nm-ap-security-wpa-psk.[ch]
13579                 - Update and implement real_write_supplicant_config functions
13580                         in all security types
13581                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
13582                         nm-ap-security-wpa-psk.c
13583
13584         * src/nm-device-802-11-wireless.c
13585                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
13586                    wpa_supplicant_start, wpa_supplicant_interface_init,
13587                    wpa_supplicant_send_network_config): add functions to talk to
13588                         wpa_supplicant and write network config to it
13589
13590 2006-01-04  Robert Love  <rml@novell.com>
13591
13592         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
13593           values so that distribution-backends can differentiate between the
13594           various types (modem, ISDN, et cetera) of dialup device that they
13595           support.
13596         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
13597           needed.
13598
13599 2006-01-03  Dan Williams  <dcbw@redhat.com>
13600
13601         * src/NetworkManagerPolicy.c
13602           src/nm-device.[ch]
13603           src/nm-device-802-11-wireless.c
13604                 - Move wireless-specific activation failure and success code
13605                         into wireless device class
13606
13607 2006-01-03  Robert Love  <rml@novell.com>
13608
13609         Patch by Preggna S:
13610         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
13611           IPsec does not require that a VPN client be bound to an interface,
13612           due to the use of the in-kernel IPSec bits.  So make the tunnel
13613           device optional.
13614
13615 2006-01-03  Dan Williams  <dcbw@redhat.com>
13616
13617         * src/NetworkManagerAP.c
13618                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
13619                         the WPA IE specifies that WEP is supported
13620
13621         * src/nm-device-802-11-wireless.c
13622                 - (process_scan_results): don't mark an AP as supporting WEP
13623                         if there's already other encryption capability info
13624
13625 2006-01-03  Dan Williams  <dcbw@redhat.com>
13626
13627         * src/dhcp-manager/nm-dhcp-manager.c
13628                 - Recognize activation cancellation when waiting for DHCP
13629                         configuration from dhcdbd
13630                 - Ignore non-dhcdbd messages
13631
13632         * src/nm-device.c
13633                 - (real_act_stage3_ip_config_start): return to correct behavior
13634                         of letting the dhcp-manager notify us of failure or
13635                         success rather than incorrectly doing that ourselves
13636                 - (nm_device_activate_stage4_ip_config_get): deal with
13637                         activation cancellation a bit earlier
13638
13639 2006-01-03  Dan Williams  <dcbw@redhat.com>
13640
13641         * src/nm-device-802-11-wireless.c
13642           src/nm-device.[ch]
13643                 - Add hooks to subclasses for stage3_ip_config_start and
13644                         stage4_ip_config_timeout
13645
13646         * src/nm-device-802-3-ethernet.c
13647                 - (real_get_generic_capabilities): make devices NM-supported
13648                         by default
13649
13650 2006-01-03  Robert Love  <rml@novell.com>
13651
13652         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
13653           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
13654           latter cannot differentiate between error and the address -1; misc.
13655           clean up.
13656
13657 2006-01-03  Dan Williams  <dcbw@redhat.com>
13658
13659         * src/NetworkManager.c
13660                 - Move link-checking/probing into the device subclasses
13661                         themselves
13662
13663         * src/nm-device.[ch]
13664           src/nm-device-802-11-wireless.c
13665           src/nm-device-802-3-ethernet.c
13666                 - Do periodic link checking in device subclasses rather
13667                         than being triggered from NetworkManager.c
13668                 - discover_wireless_capabilities -> get_wireless_capabilities
13669                 - discover_generic_capabilities -> get_generic_capabilities
13670                 - Device subclass activation routines now return a value of type
13671                         NMActStageReturn to indicate what step to perform next
13672                 - Devices now override stage4_get_ip4_config if they choose
13673
13674 2006-01-01  Dan Williams  <dcbw@redhat.com>
13675
13676         * src/nm-device-802-11-wireless.c
13677                 - (real_init): don't chain up to parent init because we don't
13678                         need to do that anymore
13679
13680         * src/nm-device.c
13681                 - (discover_device_type): fix arguments to ioctl() to correctly
13682                         pass interface name
13683                 - (nm_device_new): consolidate generic device initialization into
13684                         nm_device_new()
13685                 - (real_init): remove, consolidated to nm_device_new()
13686                 - (nm_device_deactivate, real_deactivate): consolidate
13687
13688 2006-01-01  Dan Williams  <dcbw@redhat.com>
13689
13690         * src/nm-activation-request.c
13691                 - Change dhcp_state member of the NMActRequest structure
13692                         from guint8 to guint32
13693
13694         * src/dhcp-manager/nm-dhcp-manager.[ch]
13695                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
13696                         than guint8 to match the dbus argument.  Turns out we were
13697                         overwriting memory since we were passing in only a guint8
13698
13699 2005-12-31  Dan Williams  <dcbw@redhat.com>
13700
13701         * refactor NMDevice into a GObject-based framework with separate
13702                 objects for wired and wireless.  The following files are no
13703                 longer used but should stick around for a bit so we don't
13704                 loose code through the cracks:
13705                         NetworkManagerDevice.c
13706                         NetworkManagerDevice.h
13707                         NetworkManagerWireless.c
13708                         NetworkManagerWireless.h
13709
13710         The intent here is to allow each device type to manage its own
13711         connection & activation life-cycle, ie to allow wireless devices
13712         to interface with wpa_supplicant, etc.  There's a fair bit of
13713         encapsulation breakage right now that should gradually get pulled
13714         back into each device, along with things like periodic property
13715         updates and link probing.
13716
13717 2005-12-29  Dan Williams  <dcbw@redhat.com>
13718
13719         * include/NetworkManager.h
13720                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
13721                         between networks that don't have any encryption at all
13722
13723 2005-12-29  Dan Williams  <dcbw@redhat.com>
13724
13725         * test/test-common.c
13726           test/test-common.h
13727           test/Makefile.am
13728                 - Move to a test-common subdirectory
13729
13730         * test/libnm-util/test-ciphers.c
13731                 - Move test data to test-inputs.h
13732                 - Test WPA ciphers too
13733
13734         * test/libnm-util/test-dbus-helpers.c
13735                 - Test serialization/deserialization of ciphers
13736
13737 2005-12-29  Dan Williams  <dcbw@redhat.com>
13738
13739         * gnome/applet/applet-dbus-devices.c
13740                 - Replace 'enc' parameter with 'capabilities' for wireless networks
13741                         in dbus calls to NM
13742                 - Set capabilities on WirelessNetwork objects
13743                 - Receive and save type-specific device capabilities too
13744
13745         * gnome/applet/applet-dbus-info.c
13746           gnome/applet/applet-dbus.c
13747                 - Passphrase dialog no longer a singleton; new instance gets created
13748                         on each request.  Updates to deal with that.
13749
13750         * gnome/applet/applet.c
13751                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
13752                         than single 'encrypted' flag
13753                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
13754                         menu items
13755                 - Passphrase dialog updates per above
13756
13757         * gnome/applet/menu-items.c
13758                 - (network_menu_item_update): use AP capabilities to determine
13759                         encryption
13760
13761         * gnome/applet/nm-device.[ch]
13762                 - Add accessors for type-specific device capabilities
13763
13764         * gnome/applet/other-network-dialog.c
13765                 - Rework to respect device capabilities.  i.e., if the device doesn't
13766                         support WPA, remove that option from the security dropdown
13767
13768         * gnome/applet/passphrase-dialog.c
13769                 - Massive rework so that a new instance is created each time
13770                         it's used, to support wireless network capabilities
13771
13772         * gnome/applet/wireless-network.[ch]
13773                 - Add accessors and members for wireless network capabilities
13774
13775         * gnome/applet/wireless-security-manager.[ch]
13776                 - (wsm_set_capabilities): called after creation to set which
13777                         security options get shown to the user
13778
13779 2005-12-29  Dan Williams  <dcbw@redhat.com>
13780
13781         * libnm-util/cipher-wpa-psk-passphrase.c
13782                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
13783                         like other ciphers
13784
13785 2005-12-23  Dan Williams  <dcbw@redhat.com>
13786
13787         * gnome/applet/applet-dbus-info.c
13788                 - (nmi_dbus_get_key_for_network): if there's no entry in
13789                         GConf for a network, assume we want a new key
13790                 - (nmi_save_network_info): serialize wireless security info
13791                         into GConf so its saved
13792
13793         * src/nm-dbus-nm.c
13794                 - Fix warning as we may not be passed security info when
13795                         connecting to a wireless network
13796
13797 2005-12-23  Dan Williams  <dcbw@redhat.com>
13798
13799         * gnome/applet/applet-compat.c
13800                 - Fix bugs in GConf entry conversion
13801
13802         * gnome/applet/applet-dbus-info.c
13803                 - (nmi_dbus_get_network_properties): handle case of the BSSID
13804                         list being zero-length
13805
13806         * libnm-util/cipher-*
13807           libnm-util/dbus-helpers.c
13808                 - All ciphers must now return hashed keys as UTF-8 valid
13809                         hexadecimal strings, ie "8f3dae4023".  They are pushed
13810                         through dbus as strings too.
13811                 - Consolidate various functions that do bin->hex and hex->bin
13812                         conversion into cipher.c
13813
13814         * src/nm-ap-security-wep.c
13815           src/nm-ap-security-wpa-psk.c
13816                 - Handle NULL keys since we may not know keys right away
13817
13818         * src/nm-dbus-nmi.c
13819                 - (nm_dbus_get_network_data_cb): actually advance to the start
13820                         of the wireless security info before we try to deserialize it
13821
13822         * libnm-util/test-ciphers.c
13823                 - Update cipher tests for the change to UTF-8 hexadecimal strings
13824
13825 2005-12-22  Dan Williams  <dcbw@redhat.com>
13826
13827         * gnome/applet/applet-compat.[ch]
13828                 - Convert old-format GConf and keyring entries
13829                         when the applet starts up.
13830
13831         * gnome/applet/applet.c
13832                 - (nmwa_get_instance): Call the conversion function
13833                         on startup before dbus is initialized
13834
13835 2005-12-22  Dan Williams  <dcbw@redhat.com>
13836
13837         * gnome/applet/applet-dbus-info.c
13838                 - Remove nmi_dbus_create_error_message() in favor of
13839                         nmu_create_dbus_error_message()
13840                 - (nmi_dbus_get_network_properties): Error message cleanups
13841                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
13842                         gconf key rather than 'addresses', since they really are BSSIDs
13843                 - (nmi_dbus_get_network_properties): Dispose of the security
13844                         object when we're done with it
13845
13846 2005-12-21  Dan Williams  <dcbw@redhat.com>
13847
13848         * Consolidate the info-daemon's "updateNetworkInfo" and
13849                 "addNetworkAddress" calls into just "updateNetworkInfo"
13850
13851 2005-12-21  Dan Williams  <dcbw@redhat.com>
13852
13853         * Make connection after key retrieval work again
13854
13855 2005-12-21  Dan Williams  <dcbw@redhat.com>
13856
13857         * gnome/applet/nm-gconf-wso*
13858                 - Make the serialize functions return gboolean
13859                         rather than int
13860
13861         * gnome/applet/nm-gconf-wso.c
13862                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
13863                         parent class handling so we don't segfault
13864
13865         * src/NetworkManagerAP.[ch]
13866                 - (nm_ap_get_capabilities): new function, return capabilities
13867                         now that something can use them
13868                 - (nm_ap_set_encrypted): assume that an access point supports
13869                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
13870                         we even tell whether it just supports WEP40?
13871
13872         * src/NetworkManagerDevice.c
13873                 - (ap_need_key): resurrect and update for the New World Order
13874                 - (nm_device_wireless_get_activation_ap): if we're not given
13875                         security info to use, create some based on access point
13876                         capabilities
13877
13878         * src/nm-ap-security-wep.c
13879                 - (nm_ap_security_wep_new_from_ap): create a new object
13880                         based on a certain access point's capabilities
13881
13882         * src/nm-ap-security.c
13883                 - (nm_ap_security_new_from_ap): delegate creation of a new
13884                         object based on access point capabilities to a subclass
13885                 - (nm_ap_security_copy_properties): don't segfault if we
13886                         don't have a key yet
13887
13888         * src/nm-dbus-nm.c
13889                 - (nm_dbus_nm_set_active_device): provide more informative
13890                         output when errors occur.  Also construct security info
13891                         for a given access point if we weren't given any
13892
13893 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
13894
13895         * configure.in: Added Lithuanian to ALL_LINGUAS.
13896
13897 2005-12-21  Dan Williams  <dcbw@redhat.com>
13898
13899         * test/libnm-util
13900                 - Add some testcases for WEP ciphers
13901
13902 2005-12-17  Dan Williams  <dcbw@redhat.com>
13903
13904         * Fix bugs
13905
13906 2005-12-17  Dan Williams  <dcbw@redhat.com>
13907
13908         * include/NetworkManager.h
13909                 - Finally kill NMEncKeyType
13910
13911         * gnome/applet/applet-dbus-info.c
13912                 - (nmi_save_network_info): convert to NMGConfWSO
13913
13914         * gnome/applet/nm-gconf-wso-*.c
13915                 - Implement gconf serialization functions
13916
13917         * src/NetworkManagerPolicy.c
13918                 - (nm_policy_activation_finish): fix up meaning of
13919                         automatic/user_requested
13920
13921 2005-12-17  Dan Williams  <dcbw@redhat.com>
13922
13923         * gnome/applet/*
13924                 - More applet cleanups
13925                 - Use the dbus-method-dispatcher
13926
13927         * libnm-util/dbus-method-dispatcher.[ch]
13928                 - Generalize the implementation from NM in
13929                         NetworkManagerUtils.c
13930
13931 2005-12-16  Dan Williams  <dcbw@redhat.com>
13932
13933         * gnome/applet/*
13934                 - Fix up the passphrase dialog to use all the
13935                         WirelessSecurityOption stuff (untested)
13936
13937 2005-12-16  Dan Williams  <dcbw@redhat.com>
13938
13939         * Move nm_gconf_get_*_helper() functions to separate files,
13940                 gconf-helpers.c & gconf-helpers.h
13941
13942         * New NMGConfWSO objects for managing the gconf side of things.
13943                 Eventually these should be merged with the
13944                 WirelessSecurityOption objects and a common base (that can
13945                 serialize/deserialize from dbus & gconf) should be
13946                 refactored out, but for now they are separate.
13947
13948 2005-12-16  Robert Love  <rml@novell.com>
13949
13950         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
13951           binaries unless they exist (nm_spawn_process() emits a warning if
13952           asked to spawn a non-existant process).
13953
13954 2005-12-16  Dan Williams  <dcbw@redhat.com>
13955
13956         * gnome/applet/applet-dbus-info.c
13957                 - Clean up lots of gconf-related code
13958
13959 2005-12-16  Robert Love  <rml@novell.com>
13960
13961         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
13962
13963 2005-12-16  Dan Williams  <dcbw@redhat.com>
13964
13965         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
13966
13967         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
13968                 bits still to be done)
13969
13970 2005-12-16  Dan Williams  <dcbw@redhat.com>
13971
13972         * Finally move info-daemon related stuff out of
13973                 NetworkManagerDbus.c to nm-dbus-nmi.c
13974
13975 2005-12-16  Dan Williams  <dcbw@redhat.com>
13976
13977         * Kill auth_method for access points, since that's now done
13978                 by NMAPSecurity objects
13979
13980         * Add a copy-constructor of sorts to NMAPSecurity
13981                 (how do you do this properly in glib???)
13982
13983 2005-12-15  Dan Williams  <dcbw@redhat.com>
13984
13985         * Exorcise encryption key hashing on APs
13986         * Use libnm-util's serialization/deserialization in both the
13987                 applet and NM
13988         * Random other stuff
13989
13990 2005-12-15  Robert Love  <rml@novell.com>
13991
13992         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
13993           is being added to the icon naming spec, so let's use that (Tango CVS
13994           has the icon).  Because it is new, however, we fall back to the
13995           current "gnome-lockscreen" if the new icon is not around, thus
13996           behavior is the same.
13997         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
13998           factory junk.
13999
14000 2005-12-15  Robert Love  <rml@novell.com>
14001
14002         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
14003           well, help to give.  Couple other misc. bits.
14004
14005 2005-12-15  Dan Williams  <dcbw@redhat.com>
14006
14007         * libnm-util/dbus-helpers.[ch]
14008                 - Make this the one-stop-shop for serializing/deserializing
14009                         AP & connection security settings over dbus.  Both NM
14010                         and applets should use this to ensure consistent dbus
14011                         API going forwared.
14012
14013 2005-12-15  Robert Love  <rml@novell.com>
14014
14015         Patch by Timo Hoenig  <thoenig@suse.de>:
14016         * src/NetworkManagerDbus.c
14017                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
14018                         if HAL jumps off the system bus.  Otherwise libdbus
14019                         (dbus_connection_dispatch) will try to run the filter
14020                         function of our libhal context which is already freed.
14021
14022 2005-12-15  Alexander Shopov  <ash@contact.bg>
14023
14024         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
14025
14026 2005-12-14  Dan Williams  <dcbw@redhat.com>
14027
14028         * include/NetworkManager.h
14029           src/NetworkManagerWireless.c
14030                 - Rearrange 802.11 wireless-specific capabilities again
14031
14032         * src/Makefile.am
14033                 - Forgot to add wpa.c/wpa.h to the makefiles
14034
14035         * src/NetworkManagerAP.[ch]
14036                 - Implement access point capabilities and parse the
14037                         WPA/RSN IEs into the capability bitfield
14038                 - Switch the "encrypted" attribute to utilize the bitfield
14039                         and capabilities rather than being independent
14040
14041         * src/NetworkManagerDevice.c
14042                 - (nm_device_wireless_get_activation_ap): break it horribly
14043                         until we can push NMAPSecurity objects into access point
14044                         objects and through the activation chain
14045                 - Stuff WPA & RSN IEs into AP capabilities
14046
14047         * src/nm-dbus-nm.c
14048                 - Take a shot at actually making setActiveDevice work
14049
14050         * src/wpa.[ch]
14051                 - Make the API a bit saner
14052
14053 2005-12-14  Dan Williams  <dcbw@redhat.com>
14054
14055         * include/NetworkManager.h
14056                 - Add 802.11-specific capability for 802.1x key
14057                         management
14058
14059         * src/wpa.[ch]
14060                 - Pull in WPA IE and RSN IE parsing code from
14061                         wpa_supplicant so we can determine access point
14062                         capabilities
14063                 - Move WPA-related constants here from NetworkManagerAP.h
14064                         and NetworkManagerDevice.c
14065
14066         * src/NetworkManagerDevice.c
14067           src/NetworkManagerAP.[ch]
14068                 - Use WPA-related constants from wpa.h
14069
14070 2005-12-14  Dan Williams  <dcbw@redhat.com>
14071
14072         * include/NetworkManager.h
14073                 - Update and split 802.11 wireless-specific capabilities from
14074                         generic device capabilities
14075
14076         * src/NetworkManagerDevice.c
14077           src/NetworkManagerDevicePrivate.h
14078                 - (nm_device_wireless_discover_capabilities): Move 802.11
14079                         wireless-specific capability checks to
14080                         NetworkManagerWireless.c
14081                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
14082                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
14083
14084         * src/NetworkManagerWireless.[ch]
14085                 - (nm_802_11_wireless_discover_capabilities): Check extended
14086                         802.11 wireless-specific capabilities of the driver
14087
14088 2005-12-14  Robert Love  <rml@novell.com>
14089
14090         Patch from Stefan Scheler <sscheler@suse.de>:
14091         * src/NetworkManagerDevice.c: call backend code to activate and
14092           deactivate NIS.
14093         * src/NetworkManagerSystem.h: add new NIS interfaces.
14094         * src/backends/NetworkManagerDebian.c,
14095           src/backends/NetworkManagerGentoo.c,
14096           src/backends/NetworkManagerRedHat.c,
14097           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
14098           support.
14099         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
14100
14101 2005-12-14  Dan Williams  <dcbw@redhat.com>
14102
14103         * src/nm-ap-security*.[ch]
14104                 - Add AP security abstractions to NetworkManager
14105
14106         * src/nm-dbus-device.c
14107                 - Begin to parse new format dbus messages from the applet
14108                         and construct an AP security object from the message
14109
14110         * libnm-util/dbus-helpers.c
14111                 - Use message iters so we can append the key as a fixed
14112                         array of bytes, which actually works rather than
14113                         using dbus_message_append_args() as we were before
14114
14115 2005-12-14  Dan Williams  <dcbw@redhat.com>
14116
14117         * src/NetworkManagerDbus.c
14118           gnome/applet/applet-dbus.c
14119                 - Fix up dbus service replacement options.  The applet
14120                         should allow replacement, NM itself should not.
14121
14122 2005-12-13  Robert Love  <rml@novell.com>
14123
14124         * src/named-manager/nm-named-manager.c: Revert earlier commit.
14125           Instead, fail silently if config is NULL by not asserting and not
14126           returning FALSE.  Also, make sure we always fclose() the file.
14127
14128 2005-12-13  Robert Love  <rml@novell.com>
14129
14130         Patch by Stefan Scheler <sscheler@suse.de>:
14131         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
14132            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
14133            via DHCP.  Still need the backends to commit the NIS domain name and
14134            and servers to yp.conf as needed.
14135
14136 2005-12-13  Robert Love  <rml@novell.com>
14137
14138         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
14139           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
14140
14141 2005-12-13  Robert Love  <rml@novell.com>
14142
14143         * src/named-manager/nm-named-manager.c: Don't unref the config until
14144           after we call rewrite_resolv_conf(), because get_last_default_domain()
14145           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
14146           `config != NULL' failed" assertion failures and "Could not commit DNS
14147           changes" warnings.
14148
14149 2005-12-12  Dan Williams  <dcbw@redhat.com>
14150
14151         * libnm-util/dbus-helpers.[ch]
14152           libnm-util/Makefile.am
14153                 - new helper calls to consolidate locations where
14154                         NM's setDevice method is called
14155
14156         * gnome/applet/applet-dbus-devices.c
14157           gnome/applet/wireless-security-option.c
14158           gnome/applet/wso-*
14159                 - Implement dbus message param append function for
14160                         all wireless security options
14161
14162 2005-12-12  Robert Love  <rml@novell.com>
14163
14164         * libnm-util/cipher-wep-passphrase.c,
14165           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
14166           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
14167           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
14168           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
14169           When handling keys, we don't care what the sign is.  The compiler
14170           guarantees us that we get our 8-bits, which is all we care about.
14171         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
14172
14173 2005-12-12  Dan Williams  <dcbw@redhat.com>
14174
14175         * gnome/applet/applet-dbus-devices.[ch]
14176           gnome/applet/applet.c
14177           gnome/applet/other-network-dialog.c
14178           gnome/applet/wireless-security-manager.[ch]
14179           gnome/applet/wireless-security-option.[ch]
14180           gnome/applet/wso-*
14181                 - Push the wireless security options further into the applet
14182
14183 2005-12-12  Robert Love  <rml@novell.com>
14184
14185         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
14186           return any name servers.  That is perfectly valid.  (Novell #134369).
14187
14188 2005-12-11  Dan Williams  <dcbw@redhat.com>
14189
14190         * gnome/applet/wso-*
14191           gnome/applet/wireless-security-option.*
14192           gnome/applet/Makefile.am
14193                 - split each security option out so we can eventually
14194                         have each one build up their own dbus message
14195                         arguments to send to NM
14196
14197 2005-12-11  Dan Williams  <dcbw@redhat.com>
14198
14199         * Make validation of the key work correctly
14200
14201 2005-12-11  Dan Williams  <dcbw@redhat.com>
14202
14203         * Hook more bits of the Other Network Dialog up to the
14204                 wireless security manager stuff, and restructure
14205                 bits of the dialog so there's less code.
14206
14207 2005-12-10  Dan Williams  <dcbw@redhat.com>
14208
14209         * gnome/applet/Makefile.am
14210                 - Add libnm-util to includes
14211                 - Add libnm-util to link list
14212                 - Add wireless-security-common.* to compile list
14213
14214         * gnome/applet/other-network-dialog.c
14215                 - Convert to using the WirelessSecurityManager code and
14216                         widgets
14217
14218         * gnome/applet/passphrase-dialog.c
14219                 - Comment out references to stuff in the glade file that
14220                         cause runtime errors until it can be fixed up
14221                         to use the WirelessSecurityManager code
14222
14223         * gnome/applet/wireless-applet.glade
14224                 - Rename some widgets
14225                 - Add widgets for the WirelessSecurityManager code
14226                 - Remove passphrase-related stuff since that's now
14227                         handled by the WirelessSecurityManager code
14228
14229 2005-12-10  Dan Williams  <dcbw@redhat.com>
14230
14231         * gnome/applet/applet-dbus-devices.c
14232                 - Print out error message details for dbus pending call callbacks
14233                 - Move nmwa_dbus_update_devices() up
14234
14235         * gnome/applet/applet-dbus-vpn.c
14236                 - Print out error message details for dbus pending call callbacks
14237
14238 2005-12-10  Dan Williams  <dcbw@redhat.com>
14239
14240         * libnm-util/*
14241                 - More fixups
14242                 - Remove cipher-manager.* because we don't need it
14243                 - Forgot to add gnome-keyring-md5 files to compile list
14244
14245 2005-12-09  Dan Williams  <dcbw@redhat.com>
14246
14247         * libnm-util/*
14248           configure.in
14249           Makefile.am
14250                 - Add a utility library for clients of NetworkManager.  It's
14251                         only targetted at applets for the moment, and contains
14252                         a generalized 802.11 cipher framework for different
14253                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
14254
14255 2005-12-09  Robert Love  <rml@novell.com>
14256
14257         * src/NetworkManagerDevice.c: handle error better in
14258           nm_device_set_mode().
14259
14260 2005-12-08  Robert Love  <rml@novell.com>
14261
14262         * include/NetworkManager.h: add WPA capabilities constants
14263         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
14264           or WPA2 and add the capabilities bits as appropriate.
14265
14266 2005-12-08  Robert Love  <rml@novell.com>
14267
14268         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
14269           NetworkManagerDispatcher.
14270         * configure.in, initscript/SUSE/.cvsignore,
14271           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
14272           initscript.
14273
14274 2005-12-08  Robert Love  <rml@novell.com>
14275
14276         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
14277
14278 2005-12-08  Robert Love  <rml@novell.com>
14279
14280         * src/NetworkManagerDevice.c: We want to fall back on and default to
14281           IW_MODE_AUTO, not -1, which is more in line with our previous
14282           behavior.  Otherwise, we try to set the wireless mode to -1 in
14283           nm_device_set_mode().
14284
14285 2005-12-07  Robert Love  <rml@novell.com>
14286
14287         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
14288           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
14289           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14290           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14291           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
14292           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
14293           zero.
14294
14295 2005-12-07  Robert Love  <rml@novell.com>
14296
14297         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
14298           supplied IP is invalid, fall back to DHCP.
14299
14300 2005-12-07  Dan Williams  <dcbw@redhat.com>
14301
14302         * Convert NETWORK_MODE_* constants to IW_MODE_*
14303         * Make all the get_mode/set_mode functions take and return 'int'
14304         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
14305
14306 2005-12-07  Robert Love  <rml@novell.com>
14307
14308         * src/NetworkManagerDevice.c: strncpy() buffer check.
14309         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
14310
14311 2005-12-06  Dan Williams  <dcbw@redhat.com>
14312
14313         * gnome/applet/applet-dbus.c
14314                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
14315
14316         * gnome/applet/applet-dbus-vpn.c
14317                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
14318                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
14319                         to TRUE here if stage was ACTIVATED
14320
14321 2005-12-06  Dan Williams  <dcbw@redhat.com>
14322
14323         * Change nm_device_is_* functions to better names:
14324                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
14325                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
14326
14327 2005-12-06  Dan Williams  <dcbw@redhat.com>
14328
14329         * Change naming of NMDeviceType to something more sensible:
14330                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
14331                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
14332                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
14333
14334 2005-12-06  Dan Williams  <dcbw@redhat.com>
14335
14336         * Move NetworkManager.h -> include/NetworkManager.h
14337         * Split out VPN stuff into include/NetworkManagerVPN.h
14338         * Fix up makefiles to include new location
14339         * Fix up sources to include NetworkManagerVPN.h
14340
14341 2005-12-06  Dan Williams  <dcbw@redhat.com>
14342
14343         Various changes in the applet to move VPN connection "state" -> "stage",
14344         which it actually is.  I'd like to change the signal as well when we
14345         break compat in the near future.
14346
14347 2005-12-06  Dan Williams  <dcbw@redhat.com>
14348
14349         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
14350         * initscript/Slackware/rc.networkmanager
14351                 - Cosmetic fix
14352
14353         * src/backends/NetworkManagerSlackware.c
14354                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
14355                         interfaces
14356
14357 2005-12-05  Robert Love  <rml@novell.com>
14358
14359         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
14360           to free, particularly here as it just barfs.
14361
14362 2005-12-05  Dan Williams  <dcbw@redhat.com>
14363
14364         * gnome/applet/applet-dbus.c
14365                 - Work with dbus 0.6 too
14366
14367 2005-12-03  Dan Williams  <dcbw@redhat.com>
14368
14369         * src/NetworkManagerUtils.[ch]
14370           src/nm-ip4-config.c
14371                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
14372                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
14373
14374 2005-12-01  Robert Love  <rml@novell.com>
14375
14376         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
14377           need a NULL for the '...' parameter, too, to fill the so-called
14378           sentinel.
14379
14380 2005-12-01  Robert Love  <rml@novell.com>
14381
14382         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
14383           interface is already gone, so don't call rtnl_link_change() to down
14384           it (which will segfault, anyhow).
14385
14386 2005-11-22  Robert Love  <rml@novell.com>
14387
14388         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
14389           gateway is not set, just print a little note.  Configurations without
14390           gateways are valid.
14391
14392 2005-11-22  Robert Love  <rml@novell.com>
14393
14394         * README: update
14395
14396 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
14397
14398         * configure.in: Added Finnish translation to ALL_LINGUAS
14399
14400 2005-11-14  Robert Love  <rml@novell.com>
14401
14402         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
14403           Niemueller <tim@niemueller.de>.
14404
14405 2005-11-08  Dan Williams  <dcbw@redhat.com>
14406
14407         Patch from Bill Moss <bmoss@clemson.edu>
14408         * src/NetworkManagerDevice.c
14409                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
14410                         of nm_policy_schedule_activation_finish() to prevent a
14411                         race condition that causes the link to be dropped
14412
14413 2005-11-08  Dan Williams  <dcbw@redhat.com>
14414
14415         Patch from Bill Moss <bmoss@clemson.edu>
14416         * src/NetworkManagerAPList.c
14417           src/NetworkManagerDevice.c
14418           src/NetworkManagerDbus.c
14419                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
14420                         we get more readable ether/mac addresses
14421
14422 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14423
14424         * gnome/applet/main.c: Don't set the restart command.  This fixes
14425         the issue where the restart command was getting copies of all its
14426         arguments for each time the applet was restarted.
14427
14428 2005-11-02  Robert Love  <rml@novell.com>
14429
14430         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
14431           if the widget state differs from our saved state.  This ensures we
14432           do not enter an endless loop of death and destruction.  Also, this
14433           guarantees us that we enforce the widget state.
14434
14435 2005-11-02  Robert Love  <rml@novell.com>
14436
14437         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
14438         * gnome/applet/applet-dbus-devices.c: invoke the new function
14439           nmwa_enable_wireless_set_active() to ensure that the state of the
14440           'Enable Wireless' checkbox matches the daemon's state.  This is a
14441           concern because the daemon remembers the state.
14442
14443 2005-11-02  Robert Love  <rml@novell.com>
14444
14445         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
14446           Enabled", as checkboxes should be actions/commands not positive
14447           statements, otherwise they are confusing in the unselected case.  See
14448           examples in GNOME HIG, Chapter 6.
14449
14450 2005-11-02  Robert Love  <rml@novell.com>
14451
14452         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
14453           show a list of wireless networks or the wireless devices or the
14454           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
14455           a bad bug: If wireless is disabled and the user picks a wireless
14456           network, NM will switch to the network, only to immediately switch
14457           back, as wireless is disabled.  This also reassures people that NM
14458           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
14459
14460 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14461
14462         * gnome/applet/applet.c:
14463         * gnome/applet/applet.h:
14464         Partial backout of Dan's timeout animation patch.
14465         Timeout IDs cannot legally be 0, so revert the code in place to handle
14466         a timeout ID of 0 to denote the timeout isn't running.
14467
14468 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14469
14470         * src/NetworkManagerPolicy.c:
14471         (nm_policy_device_change_check) Clarify wireless switch nm_info text
14472
14473 2005-10-28  Robert Love  <rml@novell.com>
14474
14475         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
14476           "Import Saved Configuration..." to make it clear that importing is
14477           not the next step, but an option.  As an aside, a nice TODO would be
14478           to move Importing out of the vpn-specific dialog and into the main
14479           property editor, as Importing goes with Adding, but that will require
14480           some rearchitecting of the VPN stuff I suspect.
14481
14482 2005-10-27  Dan Williams  <dcbw@redhat.com>
14483
14484         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
14485         we should replace most of the distro-specific backend code
14486         with libnl stuff.
14487
14488         Get it here:  http://people.suug.ch/~tgr/libnl/
14489
14490         * configure.in
14491           src/Makefile.am
14492                 - Add checks for libnl pkgconfig file
14493                 - Use LIBNL_LIBS & LIBNL_CFLAGS
14494
14495         * src/NetworkManagerSystem.c
14496           src/nm-ip4-config.[ch]
14497                 - Use libnl rather than ioctl() for most things
14498                 - Remove unused functions
14499
14500 2005-10-27  Robert Love  <rml@novell.com>
14501
14502         * src/backends/NetworkManagerSuSE.c: fix warning message text
14503
14504 2005-10-27  Christopher Aillon  <caillon@redhat.com>
14505
14506         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
14507
14508 2005-10-27  Christopher Aillon  <caillon@redhat.com>
14509
14510         * gnome/applet/applet.c: The applet's about dialog can advertise our 
14511         project page <http://www.gnome.org/projects/NetworkManager/>
14512
14513 2005-10-26  Christopher Aillon  <caillon@redhat.com>
14514
14515         * gnome/applet.c: Also use translator credits if we don't have
14516         the new GtkAboutDialog (older versions of GTK+)
14517
14518 2005-10-26  Robert Love  <rml@novell.com>
14519
14520         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
14521           failure; correct usage text for "--no-daemon"
14522
14523 2005-10-25  Dan Williams  <dcbw@redhat.com>
14524
14525         * src/NetworkManagerDevice.c
14526                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
14527                         no scan results
14528                 - (free_process_scan_cb_data): unref the device when freeing results
14529                 - (nm_device_wireless_process_scan_results): free scan results a bit later
14530                         so we don't unref the device underneath ourselves
14531
14532 2005-10-25  Dan Williams  <dcbw@redhat.com>
14533
14534         * Back out 2005-10-24 commit from Tor Krill.  Patch
14535                 causes nameservers never to be removed from named.
14536
14537 2005-10-24  Dan Williams  <dcbw@redhat.com>
14538
14539         Clean up wireless scanning and wireless link probing.
14540
14541         * src/NetworkManagerDevice.c
14542                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
14543                         just see if there's an activation request on the device, and check the
14544                         current link against the activation request access point's ESSID.
14545                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
14546                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
14547                         don't call process_scan_results() on zero-length data
14548                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
14549                         15 seconds (from 10)
14550
14551 2005-10-24  Dan Williams  <dcbw@redhat.com>
14552
14553         Cleanup some applet stuff:
14554
14555         - Animation timeouts.  If NM died while the applet was animating,
14556                 the applet would not hide itself.  This is now fixed.
14557
14558         - Remove some dead code
14559
14560         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
14561                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
14562
14563         - Track animation timeout using a gboolean rather than the timeout's
14564                 ID, since timeout IDs can legally be 0.
14565
14566 2005-10-24  Dan Williams  <dcbw@redhat.com>
14567
14568         * src/backends/interface_parser.c
14569                 - Add void to function declarations that need it
14570                         to match patch from Engin AYDOGAN
14571
14572         * src/backends/interface_parser.h
14573                 - Remove unused prototype for ifparser_interfaces()
14574
14575         Patch from Engin AYDOGAN <engin@bzzzt.biz>
14576         * src/backends/interface_parser.h:
14577                 - Compile fixes for gcc 4.0.2 (add void)
14578
14579 2005-10-24  Dan Williams  <dcbw@redhat.com>
14580
14581         Patch from Tor Krill <tor@krill.nu>
14582         * src/named-manager/nm-named-manager.c
14583                 - Write more than just the first nameserver to /etc/resolv.conf
14584                 - Write out valid /etc/resolv.conf on exit
14585
14586 2005-10-21  Christopher Aillon  <caillon@redhat.com>
14587
14588         * gnome/applet/applet-dbus-vpn.c:
14589         Get rid of spurious newlines in debug console output
14590
14591 2005-10-21  Christopher Aillon  <caillon@redhat.com>
14592
14593         * src/backends/NetworkManagerGentoo.c:
14594         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
14595
14596 2005-10-20  Robert Love  <rml@novell.com>
14597
14598         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
14599           direct comparison of floating point values, which is never correct.
14600           Also some misc. cleanup.
14601
14602 2005-10-19  Robert Love  <rml@novell.com>
14603
14604         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
14605
14606 2005-10-19  Robert Love  <rml@novell.com>
14607
14608         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
14609           sensitivity of the buttons.  Specificaly, do the right thing if
14610           there are no entries.
14611
14612 2005-10-19  Christopher Aillon  <caillon@redhat.com>
14613
14614         * configure.in: Update check for adequate wireless-tools
14615         with an AC_TRY_COMPILE for the new symbols we use.
14616
14617 2005-10-19  Dan Williams  <dcbw@redhat.com>
14618
14619         * src/NetworkManagerDevice.c
14620                 - (process_scan_results): don't drop the last (or only)
14621                         access point we see
14622
14623 2005-10-19  Christopher Aillon  <caillon@redhat.com>
14624
14625         * src/backends/NetworkManagerSlackware.c:
14626         Patch from Nico <lordllucifer@gmail.com>
14627                 - Update the Slackware backend.
14628
14629 2005-10-18  Christopher Aillon  <caillon@redhat.com>
14630
14631         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
14632         if we've got GLib 2.8.0
14633
14634 2005-10-18  Robert Love  <rml@novell.com>
14635
14636         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
14637           function nm_schedule_state_change_signal_broadcast() when we
14638           deactivate a device, too.
14639
14640 2005-10-18  Robert Love  <rml@novell.com>
14641
14642         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
14643           be used uninitialized.
14644
14645 2005-10-18  Christopher Aillon  <caillon@redhat.com>
14646
14647         * test/libnm_glib_test.c: Test unregistering, too.
14648
14649 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14650
14651         * configure.in: Bump to 0.5.0
14652
14653 2005-10-17  Dan Williams  <dcbw@redhat.com>
14654
14655         * NetworkManager.h
14656                 - Remove WPA-related constants so they aren't part of the
14657                         upcoming release.
14658
14659 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14660
14661         * gnome/applet/applet.c:
14662         * gnome/applet/applet.h:
14663         Desensitize the 'Connection Information' menu item when there is
14664         no active connection.
14665
14666 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14667
14668         * gnome/libnm_glib/libnm_glib.c:
14669         Make libnm_glib_unregister_callback () actually unregister the callback
14670
14671 2005-10-17  Robert Love  <rml@novell.com>
14672
14673         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
14674           two seconds -- tries is updated every 1/10 of a second, not every
14675           second..
14676
14677 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14678
14679         * gnome/applet/applet-dbus-info.c:
14680         Let D-BUS know that we haven't handled a message when we haven't.
14681
14682 2005-10-17  Robert Love  <rml@novell.com>
14683
14684         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
14685           in order to remain 64-bit clean.
14686
14687 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14688
14689         * gnome/applet/applet-dbus-info.c:
14690         Find network encryption keys asynchronously
14691
14692 2005-10-17  Robert Love  <rml@novell.com>
14693
14694         * src/backends/NetworkManagerDebian.c,
14695           src/backends/NetworkManagerRedHat,
14696           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
14697           comment delimiter.
14698
14699 2005-10-17  Robert Love  <rml@novell.com>
14700
14701         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
14702           "/etc"
14703
14704 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14705
14706         * src/NetworkManagerDevice.c: (process_scan_results)
14707         Fix logic that checks to see whether we have an ESSID.
14708
14709 2005-10-15  Dan Williams  <dcbw@redhat.com>
14710
14711         Move scanning code into NetworkManager rather than use iwlib's
14712         iw_scan() function, so that we can figure out AP capabilities.
14713
14714         * NetworkManager.h
14715                 - Add AP capability bits
14716
14717         * src/NetworkManagerAP.[ch]
14718                 - Add capability field to NMAccessPoint structure
14719                 - Add WPA & RSN Information Element fields and accessor
14720                         functions to NMAccessPoint
14721
14722         * src/NetworkManagerDevice.c
14723                 - Remove usage of iw_scan
14724                 - Add scanning code to NetworkManager rather than use
14725                         iw_scan() from iwlib
14726
14727         * src/NetworkManagerUtils.[ch]
14728                 - (nm_dispose_scan_results): remove, unused
14729
14730 2005-10-14  Christopher Aillon  <caillon@redhat.com>
14731
14732         * gnome/libnm_glib/libnm_glib.c:
14733         * gnome/libnm_glib/libnm_glib.h:
14734         Use guint instead of gint for callback IDs.
14735
14736 2005-10-12  Christopher Aillon  <caillon@redhat.com>
14737
14738         * gnome/applet/applet.c:
14739         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
14740         every 1000ms.  It will unconditionally call nmwa_update_state which
14741         kills the existing animation timeout and registers a new one with a
14742         callback to draw a new frame every 100ms.  There are 11 connecting
14743         icon frames, so the last 2 frames kept getting dropped.  Only reset
14744         the animation timeout if we aren't animating.
14745
14746 2005-10-11  Dan Williams  <dcbw@redhat.com>
14747
14748         * gnome/applet/applet-dbus-devices.c
14749                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
14750                         We want to grab the product & vendor from net.physical_dev
14751                         rather than info.parent.
14752
14753 2005-10-11  Dan Williams  <dcbw@redhat.com>
14754
14755         * src/NetworkManagerDevice.c
14756                 - Use the driver's WE version for scanning rather than
14757                         the WE version NM was compiled with.  Fixes random
14758                         crashes in iw_scan () in iwlib.
14759
14760 2005-10-10  Dan Williams  <dcbw@redhat.com>
14761
14762         * Remove nm_system_load_device_modules() from backend files
14763                 and from NetworkManager.c
14764
14765 2005-10-10  Dan Williams  <dcbw@redhat.com>
14766
14767         * src/NetworkManagerPolicy.c
14768                 - Fix some bugs introduced by the capabilities patch
14769
14770 2005-10-10  Dan Williams  <dcbw@redhat.com>
14771
14772         * gnome/applet/applet-dbus-info.c
14773                 - (nmi_dbus_get_network_key): hide the menu when putting up
14774                         the keyring dialog.  (not sure if the code is right...)
14775
14776 2005-10-09  Dan Williams  <dcbw@redhat.com>
14777
14778         Patch from Bill Moss <bmoss@clemson.edu>
14779         * src/NetworkManagerDevice.c
14780                 - (nm_device_set_user_key_for_network): don't try to set auth
14781                         mode on the AP from the allowed list if it's NULL
14782
14783 2005-10-09  Dan Williams  <dcbw@redhat.com>
14784
14785         * Replace the "driver support level" stuff with capabilities.  The
14786                 capability field is a bitfield that is more flexible than the
14787                 old driver support level thing.  It's mostly so we can easily
14788                 figure out what supports WPA and what doesn't, but should be
14789                 quite useful later.
14790
14791 2005-10-09  Dan Williams  <dcbw@redhat.com>
14792
14793         * test/nmtest.c
14794                 - Removed
14795
14796         * test/nm-tool.c
14797           test/Makefile.am
14798                 - Added new "nm-tool" tool that gives quite a bit more
14799                         information
14800
14801 2005-10-07  Robert Love  <rml@novell.com>
14802
14803         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
14804           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
14805           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
14806           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
14807           appropriate
14808
14809 2005-10-07  Robert Love  <rml@novell.com>
14810
14811         * configure.in: Change our compile flags for the betterment of mankind.
14812           Add "-Wstrict-prototypes" because we comply anyhow and missing a
14813           prototype is very bad on 64-bit platforms as types default to int but
14814           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
14815           "-Wmissing-declarations" to warn if we define an exported function
14816           but fail to put it in a header.
14817
14818 2005-10-07  Robert Love  <rml@novell.com>
14819
14820         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
14821           by the name nm_update_device_wireless_timeouts() and once tried,
14822           without success, to steal my pet turtle.
14823
14824 2005-10-07  Robert Love  <rml@novell.com>
14825
14826         * Cleanup prototypes: put some functions in header files and mark
14827           others as 'static' -- feel free to invert
14828         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
14829           nm_vpn_manager_vpn_connection_list_copy()
14830         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
14831           nm_vpn_service_get_dbus_connection()
14832         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
14833           nm_vpn_manager_vpn_connection_list_copy()
14834         * src/vpn-manager/nm-vpn-service.c: make
14835           nm_vpn_service_act_request_failed() and
14836           nm_vpn_service_stage2_daemon_wait() static
14837         * src/vpn-manager/nm-vpn-service.h: add prototype for
14838           nm_vpn_service_get_dbus_connection()
14839
14840 2005-10-06  Christopher Aillon  <caillon@redhat.com>
14841
14842         * gnome/applet/applet.c:
14843         * gnome/applet/applet.h:
14844         * gnome/applet/icons/Makefile.am:
14845         Convey information about the current connection stage in the
14846         icons themselves instead of creating a separate progress bar.
14847
14848 2005-10-04  Robert Love  <rml@novell.com>
14849
14850         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
14851           convert an ether_addr structure's MAC into a string, because the
14852           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
14853           versus 07:3B:04, while the former will not.
14854
14855 2005-10-04  Robert Love  <rml@novell.com>
14856
14857         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
14858           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
14859           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
14860           default route in the 'Connection Information' dialog, send primary
14861           and secondary name servers in in "getProperties" DBUS method, add
14862           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
14863           secondary domain name servers are crucial pieces of information
14864           that a user might need in debugging a network problem.
14865
14866 2005-10-04  Robert Love  <rml@novell.com>
14867
14868         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
14869           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
14870           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
14871           default route in the 'Connection Information' dialog, send default
14872           route in "getProperties" DBUS method, add network_device_set_route(),
14873           and network_device_get_route().  The Gateway is a crucial piece of
14874           connection-related information that a user might need in debugging a
14875           network problem.
14876
14877 2005-10-03  Robert Love  <rml@novell.com>
14878
14879         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
14880           NULL.
14881
14882 2005-10-02  Dan Williams  <dcbw@redhat.com>
14883
14884         * Shorten time taken to sleep by fastpathing bits of device deactivation
14885                 necessary for sleep.
14886
14887         * Fix issue where deactivating a device might deactivate the active
14888                 VPN connection, even if the VPN was not using the device.
14889
14890 2005-10-02  Dan Williams  <dcbw@redhat.com>
14891
14892         * gnome/applet/applet.c
14893                 - Adjust signal strength -> icon mapping values slightly
14894                         (so that 51% signal doesn't show a 75% icon) by adding
14895                         5% to the values. ex: > 5% now shows 25% icon, > 30%
14896                         shows 50% icon, etc.
14897
14898 2005-09-29  Robert Love  <rml@novell.com>
14899
14900         * src/NetworkManager.c: removed unused variable.
14901
14902 2005-09-28  Dan Williams  <dcbw@redhat.com>
14903
14904         Support for named + DBus, using Red Hat DBus patches for named.  You
14905         can find those patches here, with "dbus" in the patch's filename:
14906
14907                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
14908
14909         Don't forget the named dbus service file either.
14910
14911         Instead of writing a config file and spawing a named process, NM will
14912         use an already-running dbus-enabled named if it finds one.  NM will
14913         update named's forwarder configuration on the fly using dbus.
14914
14915         If there is no dbus-enabled named running, NM will automatically fall
14916         back to writing the most-recent DNS server information to /etc/resolv.conf
14917         and calling nm_system_update_dns() to kick the system's resolver.
14918
14919         Accordingly, all named-related configure-time options have been removed.
14920
14921 2005-09-26  Robert Love  <rml@novell.com>
14922
14923         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
14924           ISDN support!
14925         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
14926           bug in error path if "ASKPASSWORD" is "no".
14927
14928 2005-09-26  Robert Love  <rml@novell.com>
14929
14930         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
14931           comment in /etc/resolv.conf -- ';' is not.
14932
14933 2005-09-19  Dan Williams  <dcbw@redhat.com>
14934
14935         * src/backends/NetworkManagerRedHat.c:
14936         * src/backends/NetworkManagerDebian.c:
14937         * src/backends/NetworkManagerSlackware.c:
14938         * src/backends/NetworkManagerGentoo.c:
14939         * src/backends/NetworkManagerSUSE.c:
14940         Fix invocations of "/sbin/ip address" to use short form instead
14941
14942 2005-09-19  Christopher Aillon  <caillon@redhat.com>
14943
14944         * src/nm-dbus-device.c: Don't assert when getting
14945         addresses of a not yet connected interface.
14946
14947         * gnome/applet/applet.c: Free icons if loading fails.
14948         Use translator-credits so translators can make themselves known.
14949
14950 2005-09-15  Christopher Aillon  <caillon@redhat.com>
14951
14952         * src/NetworkManagerAP.c:
14953         * src/NetworkManagerAP.h:
14954         * src/NetworkManagerDevice.c:
14955         Set a blacklist for certain common manufacturer default ESSIDs:
14956         APs with these ESSIDs are extremely likely to be completely
14957         different networks: connecting to one should not make NM
14958         auto-connect to every other AP with the same default ESSID.
14959
14960 2005-09-12  Christopher Aillon  <caillon@redhat.com>
14961
14962         * gnome/applet/wireless-applet.glade:
14963         The passphrase entry should also activate the default
14964
14965         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
14966
14967         * gnome/applet/applet-dbus-devices.c:
14968         * gnome/applet/applet.c:
14969         * gnome/applet/nm-device.c:
14970         * gnome/applet/nm-device.h:
14971         * src/NetworkManagerUtils.c:
14972         * src/NetworkManagerUtils.h:
14973         * src/nm-dbus-device.c:
14974         I've got a fever, and the only cure for it is less ioctl.
14975         Make NM push IP data rather than make the applet open a socket
14976         to the device.
14977
14978 2005-09-10  Christopher Aillon  <caillon@redhat.com>
14979
14980         * gnome/applet/applet.c:
14981         * gnome/applet/applet-dbus-devices.c:
14982         * gnome/applet/applet-dbus-info.c:
14983         * gnome/applet/passphrase-dialog.c:
14984         * gnome/libnm_glib/libnm_glib.c:
14985         * gnome/vpn-properties/nm-vpn-properties.c:
14986         * src/autoip.c:
14987         * src/backends/NetworkManagerRedHat.c:
14988         * src/named-manager/nm-named-manager.c:
14989         * src/NetworkManagerAPList.c:
14990         * src/NetworkManager.c:
14991         * src/NetworkManagerDbus.c:
14992         * src/NetworkManagerDevice.c:
14993         * src/NetworkManagerPolicy.c:
14994         * src/NetworkManagerSystem.c:
14995         * src/nm-dbus-device.c:
14996         * src/nm-dbus-nm.c:
14997         * src/vpn-manager/nm-vpn-manager.c:
14998         * src/vpn-manager/nm-vpn-service.c:
14999         * test/libnm_glib_test.c:
15000         * test/nminfotest.c:
15001         * test/nmtestdevices.c:
15002         Fix a bunch of 'unused variable' compiler warnings
15003
15004         * NetworkManager.h:
15005         * gnome/applet/applet-dbus-info.c:
15006         * gnome/applet/applet-dbus-info.h:
15007         * gnome/applet/applet.c:
15008         * gnome/applet/applet.h:
15009         * src/NetworkManager.c:
15010         * src/NetworkManagerDbus.c:
15011         * src/NetworkManagerDbus.h:
15012         * src/NetworkManagerDevice.c:
15013         * src/NetworkManagerDevice.h:
15014         * src/NetworkManagerMain.h:
15015         * src/NetworkManagerWireless.c:
15016         * src/NetworkManagerWireless.h:
15017         * src/nm-dbus-nm.c:
15018         Make NetworkManager be smart about how frequently to scan
15019         based on its current state.  Remove the UI for choosing when
15020         to scan.  Scanning still may disabled completely by the user
15021         via the "Wireless Enabled" menu item.
15022
15023 2005-09-09  Christopher Aillon  <caillon@redhat.com>
15024
15025         * gnome/applet/applet.c:
15026         Also overlay the vpn connecting icons onto the wired icon,
15027         when appropriate.
15028
15029         * gnome/vpn-properties/nm-vpn-properties.glade:
15030         Clean up a few strings to use better grammar and proper casing.
15031
15032 2005-09-08  Christopher Aillon  <caillon@redhat.com>
15033
15034         * gnome/applet/vpn-connection.c:
15035         * gnome/applet/vpn-connection.h:
15036         Add nmwa_vpn_connection_is_activating ()
15037
15038         * gnome/applet/applet.c:
15039         * gnome/applet/applet.h:
15040         * gnome/applet/icons/nm-vpn-connecting*.png:
15041         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
15042         the user know something's happening between clicking the VPN item and it
15043         actually being connected.
15044
15045 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15046
15047         * gnome/applet/applet-dbus-info.c: need to free attributes in the
15048         failure case as well.
15049
15050 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
15051
15052         * gnome/panel/eggtrayicon.[ch]:
15053         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
15054
15055 2005-09-07  Dan Williams  <dcbw@redhat.com>
15056
15057         Patch from Bill Moss <bmoss@clemson.edu>
15058         * src/applet-dbus.c
15059                 - (nmwa_dbus_filter): strip whitespace from beginning
15060                         and end of VPN login banner
15061
15062 2005-09-07  Dan Williams  <dcbw@redhat.com>
15063
15064         * The great VPN Manager rewrite of 2005
15065
15066 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15067
15068         * gnome/applet/menu-items.c:
15069         * gnome/applet/nm-device.c:
15070         * gnome/applet/wireless-network.c:
15071         * gnome/libnm_glib/libnm_glib.c:
15072         * src/NetworkManagerDbusUtils.c:
15073         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
15074         g_malloc0 doesn't return NULL
15075
15076 2005-09-06  Dan Williams  <dcbw@redhat.com>
15077
15078         Patch from Tomislav Vujec <tvujec@redhat.com>
15079         * src/NetworkManagerDevice.c
15080                 - (nm_get_device_by_udi): don't return a device when we
15081                         actually didn't find what we were looking for
15082
15083 2005-09-06  Christopher Aillon  <caillon@redhat.com>
15084
15085         * gnome/applet/applet-dbus-devices.c:
15086         * gnome/applet/applet-dbus-devices.h:
15087         * gnome/applet/applet-dbus.c:
15088         * src/NetworkManagerDbus.c:
15089         * src/NetworkManagerDbus.h:
15090         * src/NetworkManagerDevice.c:
15091         * src/nm-dbus-device.c:
15092         Make NM push updates about active device strength when it changes,
15093         rather than having the applet poll every 2s.
15094
15095 2005-09-05  Christopher Aillon  <caillon@redhat.com>
15096
15097         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
15098         network_device_set_strength
15099
15100 2005-09-04  Dan Williams  <dcbw@redhat.com>
15101
15102         Patch from Bill Nottingham <notting@redhat.com>
15103         * src/NetworkManagerDevice.c
15104                 - (nm_device_activation_cancel): reset the quit_activation flag
15105
15106 2005-09-04  Dan Williams  <dcbw@redhat.com>
15107
15108         * src/nm-activation-request.c
15109                 - (nm_act_request_unref): actually free the structure,
15110                         which we didn't seem to be doing before
15111
15112 2005-09-04  Dan Williams  <dcbw@redhat.com>
15113
15114         Patch from John Palmieri <johnp@redhat.com>
15115         * gnome/applet/applet-dbus-devices.c
15116                 - Fix up unreffing of DBusMessage objects
15117
15118 2005-09-04  Dan Williams  <dcbw@redhat.com>
15119
15120         Patch from John Palmieri <johnp@redhat.com>
15121         * gnome/applet/nm-device.c
15122                 - (nm_device_unref): clear network_device's memory _before_ freeing it
15123
15124 2005-09-02  Christopher Aillon  <caillon@redhat.com>
15125
15126         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
15127
15128 2005-09-02  Bill Nottingham  <notting@redhat.com>
15129
15130         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
15131
15132 2005-09-01  Dan Williams  <dcbw@redhat.com>
15133
15134         * src/NetworkManager.c
15135                 - (nm_remove_device_from_list): rename to nm_remove_device
15136                 - (nm_hal_device_removed): call nm_remove_device()
15137
15138         * src/NetworkManagerDevice.c
15139                 - Change the NMWirelessScanCB member 'reschedule' which
15140                         wasn't used to 'force' to indicate that we need to
15141                         force a scan when adding a device
15142
15143         * src/nm-dbus-nm.c
15144                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
15145                         from the device list
15146                 - (nm_dbus_nm_wake): Re-add all devices to the device list
15147
15148 2005-09-01  Robert Love  <rml@novell.com>
15149
15150         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
15151           and the check "!iface" in the error case is probably never true.
15152
15153 2005-09-01  Dan Williams  <dcbw@redhat.com>
15154
15155         Patch from Bill Nottingham <notting@redhat.com>
15156         * src/backends/NetworkManagerRedHat.c
15157                 - Add initial dialup support to Red Hat/Fedora backend
15158
15159 2005-09-01  Dan Williams  <dcbw@redhat.com>
15160
15161         * gnome/applet/applet-dbus-devices.c
15162                 - Sort both wireless networks and devices again, which got
15163                         broken when removing threading
15164
15165 2005-09-01  Christopher Aillon  <caillon@redhat.com>
15166
15167         * gnome/applet/applet.c:
15168         Only show the "Stop/Start All Wireless Devices" menuitem
15169         if we actually have wireless devices.
15170
15171         * gnome/applet/applet-dbus-info.c:
15172         * gnome/applet/applet.c:
15173         * gnome/applet/other-network-dialog.c:
15174         * gnome/applet/vpn-password-dialog.c:
15175         Drop the gtk_dialog_run () calls in favor of connecting to
15176         "response" signals, needed now that the applet is not threaded.
15177
15178 2005-08-31  Dan Williams  <dcbw@redhat.com>
15179
15180         Patch from Bill Moss <bmoss@clemson.edu>
15181         * src/NetworkManagerDevice.c
15182                 - (nm_device_wireless_scan): fix scan timeout values
15183
15184 2005-08-30  Dan Williams  <dcbw@redhat.com>
15185
15186         * gnome/applet/wireless-applet.glade
15187                 - HIG-ify the Other Wireless Networks dialog a bit more
15188                 - Fix some potential segfaults in the info dialog
15189
15190 2005-08-30  Dan Williams  <dcbw@redhat.com>
15191
15192         * gnome/applet/applet-dbus-devices.c
15193                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
15194
15195 2005-08-30  Dan Williams  <dcbw@redhat.com>
15196
15197         * gnome/applet/applet-dbus.[ch]
15198                 - Remove all the nmwa_dbus_call_method_xxxx functions since
15199                         they weren't being used anyway
15200
15201 2005-08-30  Bastien Nocera  <hadess@hadess.net>
15202
15203         * test/nmtestdevices.c: (print_usage), (main):
15204         Check the number of arguments, and fix a typo
15205
15206 2005-08-29  Dan Williams  <dcbw@redhat.com>
15207
15208         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
15209         * gnome/applet/applet.c
15210                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
15211
15212 2005-08-29  Dan Williams  <dcbw@redhat.com>
15213
15214         * gnome/applet/*
15215                 - Don't use threads any more.  Anything that blocks
15216                         (like gtk_dialog_run()) will  have to get fixed up which
15217                         should happen quickly.  We really only had threads to make
15218                         the animation smooth, and when everything got converted over
15219                         to DBus Pending Calls, the need for threads kind of went away
15220
15221 2005-08-29  Christopher Aillon  <caillon@redhat.com>
15222
15223         * gnome/applet/applet.c: Draw VPN connections as radio items
15224         since we don't yet support multiple VPNs.
15225         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
15226         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
15227
15228 2005-08-29  Dan Williams  <dcbw@redhat.com>
15229
15230         Patch from j@bootlab.org
15231         - Make --without-named work
15232         - Make --with-dhcdbd work correctly
15233
15234 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
15235
15236         * configure.in: Added "ca" to ALL_LINGUAS.
15237
15238 2005-08-26  Christopher Aillon  <caillon@redhat.com>
15239
15240         * Fix up VPN state handling between the applet and NetworkManager,
15241                 so that the applet doesn't show a VPN as connected when one
15242                 really is not
15243                         - The applet no longer has a pointer to the active VPN's
15244                                 name, but tracks each VPNs state individually
15245                         - NM no longer has a "getActiveVPNConnection" method
15246                         - NM no longer broadcasts the "VPNConnectionChange" signal
15247                         - NM now broadcasts a "VPNConnectionStateChange" signal
15248                                 whenever the state of a VPN changes
15249
15250 2005-08-26  Dan Williams <dcbw@redhat.com>
15251
15252         * gnome/applet/applet-dbus-devices.c
15253           gnome/applet/applet-dbus-vpn.c
15254                 - Remove calls to dbus_pending_call_ref() because we already
15255                         "own" the pending call
15256                 - Remove calls to dbus_pending_call_get_completed() because
15257                         when we are in the callback, the pending call is completed
15258                         by definition
15259
15260 2005-08-22  Dan Williams <dcbw@redhat.com>
15261
15262         Patch by Bill Moss <bmoss@clemson.edu>
15263         * src/dhcp-manager/nm-dhcp-manager.c
15264                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
15265                         some time to send out a RELEASE if they like
15266
15267 2005-08-22  Dan Williams <dcbw@redhat.com>
15268
15269         Noticed by Bill Moss <bmoss@clemson.edu>
15270         * src/NetworkManagerDbus.c
15271                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
15272                         instead of just cancelling its activation
15273
15274         * src/NetworkManagerDevice.c
15275                 - (nm_device_deactivate): some small cleanups
15276                 - (nm_device_set_user_key_for_network): deactivate the device
15277                         instead of just cancelling its activation
15278
15279 2005-08-22  Dan Williams <dcbw@redhat.com>
15280
15281         Noticed by Bill Moss <bmoss@clemson.edu>
15282         * src/NetworkManagerDevice.c
15283                 - (nm_device_wireless_scan): fix scan timeout, we were
15284                         waiting way too long for scans to complete
15285
15286 2005-08-22  Dan Williams <dcbw@redhat.com>
15287
15288         Patch from j@bootlab.org:
15289         * src/backends/NetworkManagerDebian.c
15290                 - Make the Debian backend work for static IP again
15291
15292 2005-08-20  Christopher Aillon  <caillon@redhat.com>
15293
15294         * gnome/applet/other-network-dialog.c:
15295         The "Create New Network" and "Connect to Other Network"
15296         dialogs share alot of code, but shouldn't share a window
15297         title.  Give them different ones.
15298
15299         * gnome/applet/wireless-applet.glade:
15300         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
15301         Some more minor UI tweaks.
15302
15303 2005-08-19  Christopher Aillon  <caillon@redhat.com>
15304
15305         * gnome/applet/other-network-dialog.c:
15306         * gnome/applet/wireless-applet.glade:
15307         Also need mnemonic widgets, and underline enabled.
15308
15309 2005-08-19  Dan Williams <dcbw@redhat.com>
15310
15311         * vpn-daemons/vpnc/nm-vpnc-service.c
15312                 - (vpnc_watch_cb): remove no-longer-relevant comment
15313                 - (write_config_option): new function, helper to write
15314                         config options to vpnc's stdin
15315                 - (nm_vpnc_config_write): use the new helper, make the
15316                         code shorter
15317
15318 2005-08-19  Christopher Aillon <caillon@redhat.com>
15319
15320         * gnome/applet/passphrase-dialog.c:
15321         * gnome/applet/wireless-applet.glade:
15322         Make the passphrase dialog response based, and treat
15323         responses other than OK (such as Esc, [X]) as a cancel.
15324
15325 2005-08-18  Christopher Aillon <caillon@redhat.com>
15326
15327         * initscript/Gentoo/NetworkManager:
15328         * initscript/RedHat/NetworkManager:
15329         * initscript/RedHat/NetworkManagerDispatcher:
15330         * initscript/SUSE/networkmanager:
15331         CVS remove these in place of .in replacements
15332
15333         * configure.in:
15334         * initscript/Gentoo/NetworkManager.in:
15335         * initscript/RedHat/NetworkManager.in:
15336         * initscript/RedHat/NetworkManagerDispatcher.in:
15337         * initscript/SUSE/networkmanager.in:
15338         These scripts now are generated so they work still when
15339         NM is built using a bindir other than /usr/bin
15340
15341 2005-08-18  Dan Williams <dcbw@redhat.com>
15342
15343         * gnome/applet/main.c
15344                 - Revert previous change for --no-session since
15345                         --sm-disable does the same thing
15346
15347 2005-08-18  Dan Williams <dcbw@redhat.com>
15348
15349         * gnome/applet/applet-dbus-info.c
15350                 - (nmi_dbus_create_error_message): new function
15351                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
15352                         functions.  Also don't check for both device _and_ network before
15353                         asking for a user's key, because we may not have gotten all our
15354                         networks back from NM quite yet (due to the dbus pending calls
15355                         coming in later).  Fixes a hang in NM/nm-applet.
15356
15357         * src/NetworkManagerDbus.c
15358                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
15359                         slightly more sane manner, even though we are still broken for
15360                         certain other error conditions.
15361                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
15362                         to the info-daemon too
15363
15364         * src/NetworkManagerDevice.c
15365                 - Fix some debug messages to be info messages instead
15366
15367 2005-08-18  Dan Williams <dcbw@redhat.com>
15368
15369         * gnome/applet/main.c
15370                 - Add new "--no-session" parameter that disables applet
15371                         session management, ie for testing
15372
15373 2005-08-18  Christopher Aillon <caillon@redhat.com>
15374
15375         * gnome/applet/other-network-dialog.c:
15376         * gnome/applet/wireless-applet.glade: More mnemonics
15377
15378 2005-08-17  Robert Love  <rml@novell.com>
15379
15380         * initscript/SUSE/networkmanager: update
15381
15382 2005-08-17  Dan Williams  <dcbw@redhat.com>
15383
15384         * Tag NM_0_4_1_RELEASE
15385
15386 2005-08-17  Christopher Aillon  <caillon@redhat.com>
15387
15388         * gnome/applet/applet.c: More translatable string cleanup
15389
15390
15391 2005-08-17  Dan Williams  <dcbw@redhat.com>
15392
15393         * gnome/applet/applet-dbus-info.c
15394                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
15395                         from the dbus message, which tells us to unconditionally
15396                         ask the user for a new key.  Otherwise, we pull the key from
15397                         the keyring and return it.  If we fail to get the key from the
15398                         keyring, we ask the user for a new key.
15399                 - (nmi_dbus_get_network_key): new function to grab the key for
15400                         an essid from the keyring.
15401                 - (nmi_dbus_get_network_properties): don't access the keyring here.
15402                         Also, don't return any key in the dbus message.
15403
15404         * src/NetworkManagerDbus.[ch]
15405                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
15406                         indicate that we unconditionally want a new key.  This function
15407                         is now also used to get keys from the info-daemon which are
15408                         pre-stored, not just for asking the user for a new key.  The
15409                         "new_key" parameter indicates whether or not we wish to ask the
15410                         user for a new key.
15411                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
15412                         info-daemon in the return message, so use NULL instead.  The
15413                         key will be filled in at connect time by calling
15414                         nm_dbus_get_user_key_for_network()
15415
15416         * src/NetworkManagerDevice.c
15417                 - (nm_device_wireless_configure): update for "new_key" param to
15418                         nm_dbus_get_user_key_for_network().  We initially set new_key
15419                         to FALSE to see if we have a stored key in the info-daemon, but
15420                         if the connection is unsuccessful at this stage we request a
15421                         new one
15422
15423 2005-08-17  Dan Williams  <dcbw@redhat.com>
15424
15425         * gnome/applet/icons/nm-no-connection.png
15426           gnome/applet/icons/nm-device-wired.png
15427                 - Use Diana's new RJ45 connector icons
15428
15429 2005-08-17  Dan Williams  <dcbw@redhat.com>
15430
15431         * src/NetworkManagerPolicy.c
15432                 - (nm_policy_device_change_check): clarify switching rules if
15433                         both new and old devices are valid; mainly, don't switch
15434                         away from user-requested wireless connection back to a wired
15435                         one
15436
15437 2005-08-17  Dan Williams  <dcbw@redhat.com>
15438
15439         * gnome/applet/Makefile.am
15440                 - Relocate the applet to /usr/bin since it is no longer
15441                         executed by anything, but directly by the user
15442
15443 2005-08-17  Dan Williams  <dcbw@redhat.com>
15444
15445         Patch from Bill Moss <bmoss@clemson.edu>
15446
15447         * gnome/applet/applet-dbus-info.[ch]
15448                 - (nmi_save_network_info): save timestamp for network if it
15449                         was a change requested by the user
15450                 - (nmi_dbus_update_network_info): get user_requested from dbus
15451                         message and pass to nmi_save_network_info()
15452
15453         * gnome/applet/applet.c
15454                 - (nmwa_update_network_timestamp): remove
15455                 - (nmwa_menu_item_activate): don't set timestamp on networks
15456                         here, only after a successful connect in nmi_save_network_info()
15457
15458         * src/NetworkManagerDbus.[ch]
15459                 - (nm_dbus_update_network_info): pass user_requested into the 
15460                         dbus message
15461
15462         * src/NetworkManagerPolicy.c
15463                 - (nm_policy_activation_finish): pass user_requested to
15464                         nm_dbus_update_network_info()
15465
15466 2005-08-16  Robert Love  <rml@novell.com>
15467
15468         * gnome/applet/applet.c: Better "Dial Up" menu item.
15469
15470 2005-08-16  Robert Love  <rml@novell.com>
15471
15472         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
15473           "Connection Information" menu item.
15474
15475 2005-08-16  Dan Williams  <dcbw@redhat.com>
15476
15477         Patch from j@bootlab.org
15478         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
15479
15480         * configure.in: allow specifying the path to dhcdbd
15481
15482 2005-08-16  Robert Love  <rml@novell.com>
15483
15484         Patch from j@bootlab.org
15485         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
15486           src/backends/interface_parser.h: Debian dialup support.
15487
15488 2005-08-16  Christopher Aillon  <caillon@redhat.com>
15489
15490         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
15491         * gnome/applet/applet.c: Add some mnemonics for VPNC
15492
15493         * vpn-daemons/.cvsignore: fix this up a little bit
15494
15495 2005-08-16  Robert Love  <rml@novell.com>
15496
15497         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
15498           support.
15499
15500 2005-08-16  Christopher Aillon  <caillon@redhat.com>
15501
15502         * gnome/applet/applet.c: Split markup out of translatable strings
15503         and clean up logic a little bit.  (fixes #309012)
15504
15505 2005-08-15  Christopher Aillon  <caillon@redhat.com>
15506
15507         * gnome/vpn-properties/nm-vpn-properties.c:
15508         * gnome/vpn-properties/nm-vpn-ui-interface.h:
15509         * vpn-daemons/vpnc/properties/nm-vpnc.c:
15510         Makeshift fix to remove newlines from translatable strings.
15511         Note that we now return an allocated string, so callers of
15512         get_confirmation_details () must now call g_free () on the
15513         result. (fixes #309033).
15514
15515 2005-08-12  Robert Love  <rml@novell.com>
15516
15517         * gnome/applet/applet-dbus.c: remove newlines from translatable
15518           strings--not needed here anyway. (fix b.g.o #309011)
15519         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
15520
15521 2005-08-11  Robert Love  <rml@novell.com>
15522
15523         * gnome/applet/applet.c: mark string as translatable.
15524
15525 2005-08-11  Robert Love  <rml@novell.com>
15526
15527         * initscript/SUSE/networkmanager: update.
15528
15529 2005-08-11  Dan Williams  <dcbw@redhat.com>
15530
15531         * src/nm-dhcp-manager.c
15532                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
15533                         an gateway returned from DHCP, try to use the address of the DHCP
15534                         server as the gateway instead.  Found by Ralf Ertzinger.
15535
15536 2005-08-10  Robert Love  <rml@novell.com>
15537
15538         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
15539           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
15540
15541 2005-08-10  Dan Williams  <dcbw@redhat.com>
15542
15543         Patch from Bill Moss <bmoss@clemson.edu>
15544         * Consolidate writes of access point information updates to the info daemon
15545                 so that we only do it when the connection to the access point was
15546                 successful.  Also consolidates updates to GConf in the Gnome applet.
15547
15548         * src/nm-netlink-monitor.c
15549                 - Silence compile warning when calling g_object_new()
15550
15551 2005-08-08  Dan Williams  <dcbw@redhat.com>
15552
15553         Patch from Steev <steev@steev.net>:
15554         * src/backends/NetworkManagerGentoo.c
15555                 - Stub new dialup backend functions
15556
15557 2005-08-08  Dan Williams  <dcbw@redhat.com>
15558
15559         Patch from Colin Slater:
15560         * src/backends/NetworkManagerGentoo.c
15561                 - (nm_system_update_dns): Fix exit status check for restarting
15562                         nscd
15563
15564 2005-08-05  Robert Love  <rml@novell.com>
15565
15566         * NetworkManager.h,
15567           gnome/applet/applet-dbus-devices.c,
15568           gnome/applet/applet-dbus-devices.h,
15569           gnome/applet/applet-dbus.c,
15570           gnome/applet/applet.c,
15571           gnome/applet/applet.h,
15572           src/NetworkManager.c,
15573           src/NetworkManagerMain.h,
15574           src/NetworkManagerSystem.h,
15575           src/backends/NetworkManagerRedHat.c,
15576           src/backends/NetworkManagerSuSE.c,
15577           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
15578
15579 2005-08-05  Robert Love  <rml@novell.com>
15580
15581         * gnome/applet/other-network-dialog.c: default the adhoc network to the
15582           machine's hostname to make adhoc creation idiot-proof.
15583
15584 2005-08-04  Robert Love  <rml@novell.com>
15585
15586         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
15587           freed.
15588
15589 2005-08-04  Dan Williams  <dcbw@redhat.com>
15590
15591         * gnome/applet/applet-dbus-info.c
15592           gnome/applet/applet-dbus-info.h
15593                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
15594                         to store key, key type, and auth method rather than just auth method
15595                 - (nmi_dbus_update_network_info): new function
15596                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
15597
15598         * gnome/applet/passphrase-dialog.c
15599                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
15600                         of saving the info ourselves
15601
15602         * gnome/libnm_glib/libnm_glib.c
15603                 - Remove the stupid version check for dbus
15604
15605         * src/NetworkManagerAP.c
15606           src/NetworkManagerAP.h
15607                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
15608
15609         * src/NetworkManagerDbus.c
15610           src/NetworkManagerDbus.h
15611                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
15612                         more than just the auth method
15613
15614         * src/NetworkManagerDevice.c
15615                 - Update network info at the appropriate times
15616
15617 2005-07-29  Ray Strode  <rstrode@redhat.com>
15618
15619         * src/NetworkManager.c (nm_info_handler): don't use input as format
15620         string (Spotted by Ian Jackson).
15621
15622 2005-07-27  Dan Williams  <dcbw@redhat.com>
15623
15624         * src/nm-dbus-nm.c
15625           src/nm-dbus-net.c
15626                 - Random cleanups of spacing
15627
15628         * gnome/applet/applet.h
15629           gnome/applet/other-network-dialog.c
15630           gnome/applet/passphrase-dialog.c
15631                 - Conslidate usage of NMWAEncryptionKeyTypes enum
15632
15633         Patch from Bill Moss:
15634                 - Make Other Wireless Networks work again with encryption keys
15635
15636 2005-07-26  Dan Williams  <dcbw@redhat.com>
15637
15638         Patch from Steev <steev@steev.net>:
15639         * src/backends/NetworkManagerGentoo.c
15640           src/backends/Makefile.am
15641                 - Fix up Gentoo backend
15642
15643 2005-07-26  Robert Love  <rml@novell.com>
15644
15645         * src/backends/NetworkManagerSuSE.c: misc. cleanup
15646
15647 2005-07-25  Robert Love  <rml@novell.com>
15648
15649         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
15650           in the same group as the wireless networks, since they are all
15651           mutually exclusive.
15652
15653 2005-07-24  Ray Strode  <rstrode@redhat.com>
15654
15655         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
15656         remove unneeded NULL arg from g_object_new().  Any
15657         warnings caused by not having the extra NULL are just a
15658         result of a bug in glib 2.7.0 - 2.7.2.
15659
15660 2005-07-22  Robert Love  <rml@novell.com>
15661
15662         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
15663
15664 2005-07-22  Robert Love  <rml@novell.com>
15665
15666         * src/nm-netlink-monitor.c: g_object_new() needs at least three
15667           parameters (gcc 4.0.2 warning fix).
15668
15669 2005-07-18  Robert Love  <rml@novell.com>
15670
15671         Suggested by Aaron Bockover (abockover@novell.com)
15672         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
15673           s/Ascii/ASCII
15674         * gnome/applet/passphrase-dialog.c: ditto
15675         * gnome/applet/wireless-applet.glade: ditto
15676
15677 2005-07-13  Dan Williams  <dcbw@redhat.com>
15678
15679         Patch from Ray Strode <halfline@gmail.com>
15680         * vpn-daemons/vpnc/nm-vpnc-service.c
15681                 - Don't let vpnc daemonize, fixes some races with PID file reading
15682
15683 2005-07-13  Dan Williams  <dcbw@redhat.com>
15684
15685         Patch from Ray Strode <halfline@gmail.com>
15686         * Random cleanups for strict CFLAGS
15687
15688 2005-07-07  Dan Williams  <dcbw@redhat.com>
15689
15690         Patch from Derek Atkins <warlord@MIT.EDU>
15691         * src/nm-dbus-net.c:
15692                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
15693
15694 2005-07-07  Dan Williams  <dcbw@redhat.com>
15695
15696         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
15697         * src/backends/NetworkManagerGentoo.c
15698                 - Gentoo backend Static IP nameserver fixes
15699                 - General Gentoo backend goodness
15700
15701 2005-07-07  Dan Williams  <dcbw@redhat.com>
15702
15703         Patch from Bastien Nocera:
15704         * gnome/applet/applet.c
15705                 - Fix up error reporting when icons or glade files are missing
15706
15707 2005-07-07  Robert Love  <rml@novell.com>
15708
15709         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
15710           are not any VPN connections above it.
15711
15712 2005-07-07  Robert Love  <rml@novell.com>
15713
15714         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
15715
15716 2005-07-05  Robert Love  <rml@novell.com>
15717
15718         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
15719           zero.
15720
15721 2005-07-05  Robert Love  <rml@novell.com>
15722
15723         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
15724           on wired or unencrypted wireless.
15725
15726 2005-07-01  Robert Love  <rml@novell.com>
15727
15728         * src/NetworkManagerSystem.c: Print the error via strerror().
15729
15730 2005-06-30  Robert Love  <rml@novell.com>
15731
15732         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
15733           then exit if the glade file is not found.  currently the application
15734           just hangs.
15735
15736 2005-06-30  Robert Love  <rml@novell.com>
15737
15738         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
15739           explicitly up all interfaces on wake from sleep.
15740
15741 2005-06-30  Robert Love  <rml@novell.com>
15742
15743         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
15744           with information about the currently active connection.
15745         * gnome/applet/applet.h: (ditto)
15746         * gnome/applet/wireless-applet.glade: (ditto), new file
15747
15748 2005-06-30  Robert Love  <rml@novell.com>
15749
15750         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
15751         * src/nm-dbus-nm.c: print when we sleep and wake up.
15752         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
15753         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
15754           in /sbin unless D-BUS is, folks).
15755         * README: update to reflect nm-applet replacing NetworkManagerInfo.
15756
15757 2005-06-27  Robert Love  <rml@novell.com>
15758
15759         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
15760           case.
15761
15762 2005-06-27  Robert Love  <rml@novell.com>
15763
15764         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
15765           items radios.
15766
15767 2005-06-26  Robert Love  <rml@novell.com>
15768
15769         * src/NetworkManagerDevice.c: be specific about which device in
15770           nm_info() message.
15771
15772 2005-06-23  Adam Weinberger  <adamw@gnome.org>
15773
15774         * src/nm-netlink-monitor.c: correct spelling error.
15775
15776 2005-06-23  Robert Love  <rml@novell.com>
15777
15778         * gnome/applet/applet-dbus-info.c: gnome keyring support!
15779         * gnome/applet/passphrase-dialog.c: more of that keyring!
15780
15781 2005-06-23  Robert Love  <rml@novell.com>
15782
15783         * configure.in: remove extraneous GNOMEKEYRING directives.
15784         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
15785         * gnome/applet/applet.c: nmwa_icons_init: make style local.
15786         * gnome/applet/passphrase-dialog.c: whitespace.
15787
15788 2005-06-23  Robert Love  <rml@novell.com>
15789
15790         * src/NetworkManagerDevice.c: division in assignment was flipped.
15791
15792 2005-06-23  David Zeuthen  <david@fubar.dk>
15793
15794         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
15795         signal to the child to indicate that we got what we wanted when we
15796         see two new-lines right after each other.
15797         (nmwa_vpn_request_password): Pass a structure with several members
15798         instead of just the passwords
15799
15800 2005-06-23  Dan Williams <dcbw@redhat.com>
15801
15802         * src/NetworkManager.c
15803           src/NetworkManagerMain.h
15804                 - (nm_get_hal_ctx): new function, move Hal initialization code here
15805                 - (nm_hal_init): new function, init libhal context then add devices
15806                 - (nm_hal_deinit): new function, clean up libhal context
15807                 - (nm_data_free): Move Hal cleanup here
15808                 - (main): check whether Hal is running, and if so, get a list of
15809                         network devices from it
15810
15811         * src/NetworkManagerDbus.c
15812                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
15813                         and when it appears, get a list of network devices from it.  If
15814                         Hal goes away, clean up the libhal context
15815
15816 2005-06-22  Robert Love  <rml@novell.com>
15817
15818         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
15819           permissions of scripts before executing.
15820
15821 2005-06-21  Robert Love  <rml@novell.com>
15822
15823         * initscript/SUSE/networkmanager: update.
15824         * src/backends/NetworkManagerSuSE.c: cleanup.
15825
15826 2005-06-21  Robert Love <rml@novell.com>
15827
15828         * gnome/applet/applet.c: use menu mnemonics.
15829         * gnome/applet/menu-items.c: (ditto)
15830
15831 2005-06-21  Robert Love  <rml@novell.com>
15832
15833         * applet/applet-dbus-devices.c: mark non-static functions static.
15834         * applet/applet-dbus-vpn.c: (ditto)
15835         * applet/applet.c: (ditto)
15836         * applet/nm-device.h: (ditto)
15837         * applet/other-network-dialog.c: (ditto)
15838         * applet/passphrase-dialog.c: (ditto)
15839         * NetworkManager.c: (ditto)
15840         * NetworkManagerDbus.c: (ditto)
15841         * NetworkManagerDevice.c: (ditto)
15842         * NetworkManagerPolicy.c: (ditto)
15843         * NetworkManagerUtils.c: (ditto)
15844         * NetworkManagerWireless.c: (ditto)
15845         * NetworkManagerWireless.h: (ditto)
15846         * nm-netlink-monitor.c: (ditto)
15847         * applet/applet-dbus-info.c: (ditto), add FIXME's.
15848         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
15849         * autoip.c: include autoip.h.
15850         * autoip.h: new file.  define get_autoip().
15851         * nm-netlink-monitor.h: define nm_netlink_close_connection().
15852         * NetworkManagerDbus.h: remove duplicate definitions.
15853
15854 2005-06-20  Robert Love  <rml@novell.com>
15855
15856         * Makefile.am: Add missing intltool-foo.in generated files to
15857           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
15858           with the start of stuff to cleanup on 'distclea'.
15859         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
15860           stuff right and 'distcheck' works.
15861         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
15862           we keep it, we need to add all of examples/* to EXTRA_DIST and do
15863           Makefile.am for each.  And systray/Makefile needs to be redone.
15864
15865 2005-06-19  Dan Williams <dcbw@redhat.com>
15866
15867         * src/NetworkManagerDevice.c
15868         - (nm_device_wireless_process_scan_results): scan every 20s when
15869           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
15870
15871 2005-06-19  Dan Williams <dcbw@redhat.com>
15872
15873         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
15874
15875 2005-06-18  Ray Strode <rstrode@redhat.com>
15876
15877         * src/nm-netlink-monitor.c 
15878         (nm_netlink_monitor_event_handler): check for the presence
15879         of either error condition not both. 
15880         
15881         (nm_netlink_monitor_error_handler): emit error signal if
15882         error occurs.
15883
15884         (nm_netlink_monitor_event_handler),
15885         (nm_netlink_monitor_error_handler),
15886         (nm_netlink_monitor_disconnect_handler): if an 
15887         assertion fails disconnect the event handler to prevent 
15888         infinite loops.
15889
15890         * src/nm-netlink-monitor.h: add new error condition
15891         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
15892
15893 2005-06-18  Ray Strode <rstrode@redhat.com>
15894
15895         * src/nm-netlink-monitor.c 
15896         (nm_netlink_monitor_event_handler): remove bogus < 0
15897         check on unsigned value and return early if the kernel
15898         didn't send any bytes.
15899
15900 2005-06-17  Robert Love  <rml@novell.com>
15901
15902         * initscript/SUSE/networkmanager: Change the Provides and default
15903         run levels
15904
15905 2005-06-16  Dan Williams <dcbw@redhat.com>
15906
15907         Patch from Robert Love:
15908         * gnome/applet/applet.c
15909                 - Beautify some applet menu item names
15910
15911 2005-06-17  David Zeuthen  <davidz@redhat.com>
15912
15913         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
15914         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
15915         Also add new methods can_export, import_file and export.
15916
15917         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
15918         to the main UI
15919
15920         * gnome/vpn-properties/nm-vpn-properties.c:
15921         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
15922         nm-vpn-ui-interface.h.
15923         (update_edit_del_sensitivity): Also update "Export" sensitivity
15924         (add_vpn_connection): Also add new SVC_NAME column
15925         (import_settings): New function
15926         (retrieve_data_from_selected_connection): New function
15927         (edit_cb): Use retrieve_data_from_selected_connection to simplify
15928         this function
15929         (export_cb): New function
15930         (init_app): Also setup the "export" widget
15931         (main): Support the --import-service and --import-file commandline
15932         arguments
15933
15934         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
15935         D-BUS 0.34
15936
15937 2005-06-16  Dan Williams <dcbw@redhat.com>
15938
15939         Patch from Robert Love:
15940         * gnome/applet/menu-items.c
15941                 - (network_menu_item_new): pass -1 as wireless network
15942                         menu items height size request rather than ascent / 2
15943
15944 2005-06-16  Dan Williams <dcbw@redhat.com>
15945
15946         * Clean up wording in Wireless Scan Methods menu items and constants
15947
15948 2005-06-16  Robert Love  <rml@novell.com>
15949
15950         * po/POTFILES.in
15951                 - remove gtkcell* files
15952
15953 2005-06-15  Dan Williams <dcbw@redhat.com>
15954
15955         Patch from Robert Love: make the applet stetic
15956
15957         * gnome/applet/Makefile.am
15958                 - Don't compile the gtkcellview and gtkcellrendererprogress files
15959
15960         * gnome/applet/gtkcellview.h
15961           gnome/applet/gtkcellview.c
15962           gnome/applet/gtkcellrendererprogress.h
15963           gnome/applet/gtkcellrendererprogress.c
15964                 - Removed
15965
15966         * gnome/applet/menu-items.c
15967                 - Progress bars are 5:1 size ratio
15968                 - Use GTK progress bars rather than internal ones
15969
15970 2005-06-15  Dan Williams <dcbw@redhat.com>
15971
15972         Patch from Robert Love:
15973         * initscript/SUSE/networkmanager
15974                 - Fix typo
15975
15976 2005-06-15  Dan Williams <dcbw@redhat.com>
15977
15978         * src/backends/NetworkManagerSuSE.c
15979           src/backends/NetworkManagerRedHat.c
15980           src/backends/NetworkManagerDebian.c
15981                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
15982
15983 2005-06-15  Dan Williams <dcbw@redhat.com>
15984
15985         * src/backends/NetworkManagerDebian.c
15986                 - Add nm_system_device_get_use_dhcp() to debian backend
15987
15988         Patch from Kay Sievers:
15989         * src/backends/NetworkManagerSuSE.c
15990                 - Update debian backend for static IP nameservers
15991
15992         * src/NetworkManagerDevice.c
15993                 - Actually set the device to use static IP or DHCP rather
15994                         than always DHCP
15995
15996 2005-06-15  Dan Williams <dcbw@redhat.com>
15997
15998         Patch from Thom May:
15999         * src/backends/NetworkManagerDebian.c
16000                 - Update debian backend for static IP nameservers
16001
16002 2005-06-15  Dan Williams <dcbw@redhat.com>
16003
16004         Patches from Robert Love:
16005         * gnome/applet/wireless-applet.glade
16006                 - Tighten up wording
16007
16008         * src/NetworkManagerDevice.c
16009                 - Remove misplaced ';'
16010
16011         * configure.in
16012           initscript/Makefile.am
16013           initscript/SUSE/Makefile.am
16014           initscript/SUSE/networkmanager
16015                 - Add SUSE initscript
16016
16017 2005-06-12  David Zeuthen  <davidz@redhat.com>
16018
16019         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
16020
16021         * gnome/vpn-properties/nm-vpn-properties.glade: New file
16022
16023         * gnome/vpn-properties/nm-vpn-properties.c: New file
16024
16025         * gnome/vpn-properties/Makefile.am: New file
16026
16027         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
16028         array of passwords
16029
16030         * src/vpn-manager/nm-vpn-manager.c
16031         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
16032         instead of just a single one
16033
16034         * src/vpn-manager/nm-dbus-vpn.c:
16035         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
16036         here
16037         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
16038
16039         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
16040         Change the interface here to give a list of passwords. Also, don't
16041         require username, but do require service
16042
16043         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
16044         the binary for the auth-dialog and use that instead of putting up a
16045         dialog asking for a single password
16046
16047         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
16048         however do remember the service
16049
16050         * gnome/applet/main.c (main): Setup i18n
16051
16052         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
16053         connection to '%s'" to the tooltip if we are connected using VPN
16054         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
16055         key to determine whether we the auth-dialog needs to
16056         reprompt. Also cope with the fact that the auth-dialog now returns
16057         an array of passwords.
16058         (nmwa_menu_configure_vpn_item_activate): New handler for
16059         "Configure VPN..." menu item
16060         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
16061         (is_vpn_available): New function to determine if we got any
16062         NM-compatible VPN software installed
16063         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
16064         items only if we have NM-compatible VPN software installed
16065         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
16066         logic for detecting when VPN connections are removed
16067
16068         * gnome/applet/applet-dbus.h: Removed the prototypes for 
16069         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
16070         since these are defined elsewhere
16071
16072         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
16073         function used to keep track of whether the last attempt succeded
16074         (nmwa_dbus_filter): Update last_attempt according to whether the
16075         VPN connection could be established or not
16076
16077         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
16078         Change prototype to take an array of passwords, not just a single
16079         password
16080
16081         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
16082         update service, not user
16083         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
16084         dbus_active_vpn_name is not NULL before using it
16085         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
16086         string array instead of assuming a single password
16087
16088         * gnome/applet/applet-dbus-info.c:
16089         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
16090         user name; don't read from gconf
16091
16092         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
16093         VPN_NAME_FILES_DIR
16094
16095         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
16096
16097         * configure.in: Add checks for gmodule-2.0.
16098         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
16099         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
16100         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
16101         for details
16102
16103         * vpn-daemons/Makefile.am: Removed
16104
16105         * vpn-daemons/README: New file to describe extensions points for VPN
16106         software
16107
16108 2005-06-10  Dan Williams <dcbw@redhat.com>
16109
16110         * src/backends/NetworkManagerRedHat.c
16111                 - (get_current_profile_name): new function, grab current network profile name from
16112                         /etc/sysconfig/network
16113                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
16114                         update an IP4 Config structure's settings from it
16115                 - (nm_system_device_get_system_config): if we're using static IP on this device,
16116                         get DNS info from current network profile
16117
16118 2005-06-09  Dan Williams <dcbw@redhat.com>
16119
16120         Patch from Robert Love:
16121         * src/NetworkManagerDevice.c
16122           src/NetworkManagerUtils.c
16123                 - 64-bit build fixes
16124
16125 2005-06-09  Dan Williams <dcbw@redhat.com>
16126
16127         Patch from Kay Sievers and Robert Love:
16128         * configure.in
16129           src/backends/Makefile.am
16130           src/backends/NetworkManagerSuSE.c
16131                 - Add SuSE support
16132
16133 2005-06-09  Dan Williams <dcbw@redhat.com>
16134
16135         * NetworkManager.h
16136                 - Add NMWirelessScanMethod enum for scan methods
16137
16138         * gnome/applet/applet-dbus-devices.c
16139                 - (nmwa_dbus_update_scanning_enabled_cb): remove
16140                 - (nmwa_dbus_update_scanning_enabled): remove
16141                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
16142                         since it got removed
16143                 - (nmwa_dbus_enable_scanning): remove
16144
16145         * gnome/applet/applet-dbus-info.c
16146                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
16147                         update the wireless scanning method from NMI
16148                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
16149                         method value to NetworkManager
16150                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
16151
16152         * gnome/applet/applet-dbus-info.h
16153                 - Add prototype for nmi_dbus_signal_update_scan_method
16154
16155         * gnome/applet/applet.c
16156                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
16157                         Wireless Scanning menu based on current wireless scan method
16158                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
16159                         signal for Wireless Scanning menu items, tell NetworkManager the new method
16160                         and update our menu items to make sure the right one is checked
16161                 - (nmwa_set_scanning_enabled_cb): remove
16162                 - (nmwa_context_menu_update): remove references to pause_scanning_item
16163                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
16164                         Scanning menu item
16165                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
16166                         from GConf
16167                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
16168                         so we get notified of preference values too
16169                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
16170
16171         * gnome/applet/applet.h
16172                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
16173                 - Add wireless scan method member to applet data
16174                 - Remove pause_scanning_item, add Wireless Scanning submenu
16175
16176         * src/NetworkManager.c
16177                 - (nm_data_new): default to NM_SCAN_METHOD_ON
16178                 - (main): grab scanning method from NMI if we can
16179
16180         * src/NetworkManagerDbus.c
16181                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
16182                         nm_dbus_update_wireless_scan_method()
16183                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
16184                         from NMI
16185                 - (nm_dbus_nmi_is_running): redundant function, removed
16186                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
16187                         when NMI comes back
16188
16189         * src/NetworkManagerDevice.c
16190                 - (nm_device_is_activated): return TRUE if the device is activated
16191                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
16192                         and we are activated
16193
16194         * src/nm-dbus-nm.c
16195                 - (nm_dbus_nm_set_scanning_enabled): removed
16196                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
16197                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
16198
16199 2005-06-09  Dan Williams <dcbw@redhat.com>
16200
16201         * NetworkManager.h
16202           src/vpn-manager/nm-vpn-service.c
16203                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
16204
16205 2005-05-27  Dan Williams <dcbw@redhat.com>
16206
16207         * vpn-daemons/vpnc/nm-vpnc-service.c
16208                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
16209                         Should fix the bug where the VPN connection terminates the first time.
16210
16211 2005-05-20  Dan Williams <dcbw@redhat.com>
16212
16213         * NetworkManager.h
16214                 - Differentiate VPN config signals between bad VPN config options
16215                         and bad IP config
16216
16217         * gnome/applet/applet-dbus-info.h
16218                 - Add prototypes for wireless network and vpn connection update functions
16219
16220         * gnome/applet/applet-dbus.c
16221                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
16222
16223         * gnome/applet/applet.c
16224                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
16225                         error signals
16226                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
16227                         propogation to NetworkManager
16228                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
16229                         notify propogation to NetworkManager
16230
16231         * src/NetworkManagerDbus.c
16232                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
16233                         are updating so a network can be removed from it if necessary
16234
16235         * src/vpn-manager/nm-vpn-manager.c
16236                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
16237
16238         * vpn-daemons/vpnc/nm-vpnc-service.c
16239                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
16240                 - (nm_vpnc_dbus_signal_launch_failed): remove
16241                 - (nm_vpnc_dbus_signal_connect_failed): remove
16242                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
16243                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
16244                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
16245                         for new generalized error signal function, remove config file stuff
16246                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
16247                         we can write configuration options to it
16248                 - (nm_vpnc_config_file_generate): removed
16249                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
16250                 - (nm_vpnc_config_options_validate): validate the config options we receive
16251                         from NetworkManager to block potential exploits
16252                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
16253                         starting vpnc
16254                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
16255                         to NetworkManager
16256
16257 2005-05-16  Dan Williams  <dcbw@redhat.com>
16258
16259         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
16260                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
16261                         is not "connect"
16262
16263 2005-05-16  Dan Williams  <dcbw@redhat.com>
16264
16265         Patch from Tomislav Vujec <tvujec@redhat.com>
16266         * gnome/applet/applet-dbus-info.c
16267                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
16268                         GConf and pass them to NetworkManager.  New key is 'routes' under
16269                         the VPN connection, and should be a string list
16270
16271         * src/NetworkManagerSystem.c
16272                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
16273                         set them on the device when we set the rest of the VPN config.  Ensure
16274                         they are in the correct format since they are passed directly to the
16275                         command line.
16276
16277         * src/backends/NetworkManagerRedHat.c
16278           src/backends/NetworkManagerDebian.c
16279                 - (nm_system_device_add_route_via_device_with_iface): new function
16280
16281         * src/vpn-manager/nm-dbus-vpn.c
16282                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
16283
16284         * src/vpn-manager/nm-vpn-manager.c
16285                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
16286                         them into the IP4 config functions
16287
16288 2005-05-15  Dan Williams  <dcbw@redhat.com>
16289
16290         From Filip Miletic:
16291         * po/sr.po
16292           po/sr@Latn.po
16293           configure.in
16294                 - Serbian translation added
16295
16296 2005-05-15  Dan Williams  <dcbw@redhat.com>
16297
16298         * dispatcher-daemon/NetworkManagerDispatcher.c
16299                 - (main): sync arguments with NetworkManager and the applet, now use
16300                         "--no-daemon" rather than "daemon=no"
16301                 - (nmd_print_usage): Fix script path in usage message
16302
16303 2005-05-15  Dan Williams  <dcbw@redhat.com>
16304
16305         * src/NetworkManagerDevice.[ch]
16306           src/NetworkManagerPolicy.c
16307           src/NetworkManager.c
16308           src/nm-dbus-nm.c
16309                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
16310                         longer send the DeviceNoLongerActive signal unconditionally, but only
16311                         when the device is actually active.
16312
16313         * dispatcher-daemon/NetworkManagerDispatcher.c
16314                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
16315                         and simplify the logic
16316                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
16317                         we free it later on
16318
16319         * initscript/RedHat/Makefile.am
16320           initscript/RedHat/NetworkManagerDispatcher
16321                 - Add initscript for NetworkManagerDispatcher
16322
16323
16324         Patch from Bill Moss:
16325         * dispatcher-daemon/NetworkManagerDispatcher.c
16326                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
16327
16328         * src/NetworkManagerDbus.c
16329                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
16330                         and DeviceNowActive gets signaled, then the device has a new IP address
16331                         anyway.  There's no need for a separate signal.
16332
16333         * src/NetworkManagerDevice.c
16334                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
16335
16336         * src/NetworkManagerPolicy.c
16337                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
16338                         activates successfully.  This kind of went missing when I reworked the
16339                         activation code.
16340
16341 2005-05-15  Dan Williams  <dcbw@redhat.com>
16342
16343         * configure.in
16344                 - Check for dhcdbd and error if its not found
16345
16346         * src/dhcp-manager/Makefile.am
16347           src/dhcp-manager/nm-dhcp-manager.c
16348                 - Use path to dhcdbd that configure found
16349
16350 2005-05-14  Dan Williams  <dcbw@redhat.com>
16351
16352         * gnome/applet/nm-device.c
16353                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
16354                         sort wireless networks alphabetically
16355
16356         * gnome/applet/applet-dbus-devices.c
16357                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
16358                         before copying them over to the GUI
16359
16360 2005-05-14  Dan Williams  <dcbw@redhat.com>
16361
16362         * src/NetworkManager.c
16363                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
16364                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
16365                         the device list, as does nm_get_active_device() which is called from
16366                         nm_vpn_manager_deactivate_vpn_connection().
16367
16368 2005-05-14  Dan Williams  <dcbw@redhat.com>
16369
16370         * NetworkManager.h
16371                 - Add signals for VPN Launch and Connect failures
16372
16373         * gnome/applet/applet-dbus.c
16374                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
16375
16376         * gnome/applet/applet.c
16377                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
16378                         function to handle all VPN failure messages
16379                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
16380                         function to hanlde all VPN failure  messages
16381                 - (show_warning_dialog): work around focus-stealing prevention
16382
16383         * gnome/applet/other-network-dialog.c
16384           gnome/applet/passphrase-dialog.c
16385                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
16386                         problem where it never enabled for ASCII Key and Hex Key types
16387
16388         * gnome/applet/wireless-applet.glade
16389                 - Add window title to Other Wireless Network Dialog
16390
16391         * src/vpn-manager/nm-dbus-vpn.c
16392                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
16393                         function to handle all VPN failure messages
16394
16395         * src/vpn-manager/nm-vpn-manager.c
16396                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
16397
16398         * vpn-daemons/vpnc/nm-vpnc-service.c
16399                 - (nm_vpnc_dbus_signal_launch_failed): new function
16400                 - (nm_vpnc_dbus_signal_connect_failed): new function
16401                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
16402                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
16403                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
16404                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
16405
16406 2005-05-11  Dan Williams  <dcbw@redhat.com>
16407
16408         * vpn-daemons/vpnc/nm-vpnc-service.c
16409                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
16410                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
16411                         file exists before trying to write it out.
16412
16413 2005-05-10  Dan Williams  <dcbw@redhat.com>
16414
16415     * gnome/applet/applet-dbus-device.c
16416         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
16417             prevented just entering ESSID and leaving key and key type up to
16418             NetworkManager (which should have them already cached)
16419
16420 2005-05-08  Dan Williams  <dcbw@redhat.com>
16421
16422         * src/NetworkManagerPolicy.c
16423                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
16424                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
16425                         fix a situation where NM is told to terminate and the device stops activation,
16426                         but the main thread isn't aware of that because it would never have run
16427                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
16428                         had already quit.
16429
16430         * src/NetworkManagerDevice.c
16431                 - (nm_device_probe_wired_link_state): cosmetic fixes
16432                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
16433                         we've failed to activate or been canceled.
16434                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
16435
16436 2005-05-08  Dan Williams  <dcbw@redhat.com>
16437
16438         * src/NetworkManagerWireless.c
16439                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
16440                         value of WEXT quality structures, and add a debug message when we cannot
16441                         determine any quality % at all
16442
16443 2005-05-08  Dan Williams  <dcbw@redhat.com>
16444
16445         * src/dhcp-manager/nm-dhcp-manager.c
16446                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
16447                         it goes down.
16448
16449 2005-05-06  Dan Williams  <dcbw@redhat.com>
16450
16451         * gnome/applet/applet-dbus-device.c
16452           gnome/applet/applet-dbus-info.c
16453           gnome/applet/applet-dbus.c
16454           gnome/applet/applet.c
16455           gnome/applet/applet.h
16456                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
16457
16458         * gnome/applet/applet-dbus.c
16459                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
16460                         so we notice when wired device's carriers come back on.  Should
16461                         fix issue with wired devices being grayed out even if the cable
16462                         is in, for devices that support carrier detection.
16463
16464         * gnome/applet/applet.c
16465                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
16466                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
16467                         tooltip message
16468                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
16469                         Fix situation where applet wouldn't respond to menu selections
16470
16471         * src/NetworkManager.c
16472           src/NetworkManagerDevice.c
16473           src/NetworkManagerDbus.c
16474           src/NetworkManagerDbus.h
16475                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
16476
16477         * src/NetworkManagerDbus.c
16478                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
16479                         Remove, no longer used or relevant
16480                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
16481                 - (nm_dbus_schedule_device_status_change_signal): add
16482
16483         * src/NetworkManagerDevice.c
16484                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
16485                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
16486                         ie don't deactivate them unless explicitly told to by the user.  Also send
16487                         CARRIER_OFF / CARRIER_ON signals when link changes
16488                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
16489                         Don't print error message when device is no longer around
16490                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
16491                         not just during activation
16492
16493         * src/NetworkManagerPolicy.c
16494                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
16495                         auto-device-selection.
16496                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
16497
16498         * src/NetworkManagerSystem.c
16499                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
16500                         is no longer present (Bill Moss)
16501
16502         * src/backends/shvar.c
16503                 - (svOpenFile): Open read-only to make SELinux happy
16504
16505         * src/backends/NetworkManagerRedHat.c
16506                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
16507                         the path to the ifcfg-* files
16508
16509 2005-05-05  Dan Williams  <dcbw@redhat.com>
16510
16511         * Expose activation stages to NetworkManager clients, like the applet
16512         * Add Diana's progress icons to the applet, cued off NM activation stage
16513         * Use more descriptive tooltips, cued off NM activation stage
16514
16515 2005-05-05  Ray Strode  <rstrode@redhat.com>
16516
16517         * src/nm-netlink-monitor.c:
16518                 - Use clear_event_source instead of g_nullify_pointer() again.
16519
16520 2005-05-05  Dan Williams  <dcbw@redhat.com>
16521
16522         * gnome/applet/main.c
16523                 - Fix session management so the applet is actually managed now
16524
16525         * gnome/applet/passphrase-dialog.c
16526                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
16527
16528 2005-05-05  Dan Williams  <dcbw@redhat.com>
16529
16530         Patch from Bill Moss:
16531         * gnome/libnm_glib/libnm_glib.c
16532                 - Fix for dbus-0.33
16533
16534 2005-05-05  Dan Williams  <dcbw@redhat.com>
16535
16536         Suggestion from Bill Moss:
16537         * src/NetworkManagerSystem.c
16538                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
16539
16540
16541         * src/NetworkManager.c
16542                 - (nm_data_free): move destruction of the various managers after
16543                         release of device list, because deactivating and freeing a device
16544                         requires at least the named manager
16545                 - (nm_poll_and_update_wireless_link_state):
16546                   (nm_device_link_activated):
16547                   (nm_device_link_deactivated):
16548                         don't grab the device list lock when actually updating device
16549                         link status or strength, since nm_device_set_link_active()
16550                         needs to call nm_get_active_device(), which also locks the device list.
16551
16552         * src/NetworkManagerDevice.c
16553                 - (nm_device_set_link_active): if a device's link switches from off->on,
16554                         and it's wired, and the active device is wireless (or there is no
16555                         active device), activate the new device whose link just came on
16556                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
16557                         my only calling the link to the current ap "failed" when more than 2
16558                         consecutive link checks have failed
16559
16560 2005-05-04  Dan Williams  <dcbw@redhat.com>
16561
16562         * src/NetworkManagerDevice.c
16563                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
16564                         but let link_to_specific_ap() do the locking where it needs
16565
16566         Patch from Bill Moss:
16567         * src/NetworkManagerSystem.c
16568                 - Set MTU of VPN devices to 1412
16569
16570 2005-05-04  Dan Williams  <dcbw@redhat.com>
16571
16572         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
16573
16574         * Fix some holes in device activation and retaining the currently connected
16575                 access point
16576
16577 2005-05-03  Dan Williams  <dcbw@redhat.com>
16578
16579         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
16580           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
16581           means you need dhcdbd, which you can get here (get the latest one):
16582
16583                 http://people.redhat.com/jvdias/dhcdbd/
16584
16585           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
16586           interface as dhcdbd.
16587
16588         * Rewrite device activation to facilitate the new DHCP infrastructure and
16589           future improvements.  Its now "activation request" based, ie there is a single
16590           activation request composed of the device, access point, and other info which
16591           follows the entire activation process.  There are 5 stages of the activation
16592           process which correspond to:
16593
16594                 1) Device preparation
16595                 2) Device configuration (bring it up, set ESSID/Key/etc)
16596                 3) IP Config Start (fire off DHCP if we're using it)
16597                 4) IP Config Get (grab config from DHCP or static config files)
16598                 5) IP Config Commit (set device's IP address, DNS, etc)
16599
16600           Note that there is no longer a "scanning" step, since the access point must
16601           be known _before_ activation starts.  If the access point drops out or does
16602           not exist for some reason, the entire activation process fails and must be
16603           restarted for a different access point or device.
16604
16605         Patch from Bill Moss:
16606         * gnome/applet/applet.c
16607                 - Fix type of vpn_failure dialog -> vpn_banner dialog
16608
16609 2005-04-27  Dan Williams  <dcbw@redhat.com>
16610
16611         * gnome/applet/applet-dbus-vpn.c
16612           gnome/applet/applet.c
16613           gnome/applet/applet.h
16614                 - Fix up active VPN handling so that we reliably know when a VPN
16615                         connection has been deactivated
16616
16617         * src/vpn-manager/nm-vpn-manager.c
16618                 - Remove duplicate VPNConnectionChange signal
16619
16620 2005-04-27  Dan Williams  <dcbw@redhat.com>
16621
16622         Patch from Peter Jones:
16623         * Remove usage of varargs to fix crashes on PPC (RH #154336)
16624
16625         Patch from Bill Moss:
16626         * src/NetworkManagerSystem.c
16627                 - Fix checking of return value from ioctl()
16628
16629 2005-04-27  Dan Williams  <dcbw@redhat.com>
16630
16631         * Fix choosing of wireless networks and "Other wireless network..." from the applet
16632         * Warn and exit if icons cannot be found
16633
16634 2005-04-27  Dan Williams  <dcbw@redhat.com>
16635
16636         Patch from Tom Parker:
16637         * Update debian backend
16638
16639 2005-04-27  Dan Williams  <dcbw@redhat.com>
16640
16641         * Merge the applet and the info-daemon, and move the converged
16642                 applet under gnome/applet
16643         * Move libnm_glib to gnome/libnm_glib
16644         * Convert most dbus calls between the applet, info-daemon, and NM
16645                 into async calls
16646         * Fix a few things valgrind noticed
16647         * Make NM broadcast state more reliably
16648
16649 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
16650
16651         * configure.in: Added ne in ALL_LINGUAS
16652
16653 2005-04-15  Dan Williams  <dcbw@redhat.com>
16654
16655         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
16656                 code for dbus 0.2x versions
16657
16658 2005-04-15  Dan Williams  <dcbw@redhat.com>
16659
16660         Patches from Tom Parker:
16661         - Fix memleaks
16662         - Join with worker thread rather than polling for its exit
16663
16664         Patch from Bill Moss:
16665         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
16666
16667 2005-04-15  Dan Williams  <dcbw@redhat.com>
16668
16669         - Fixes to pass 'make distcheck'
16670
16671 2005-04-15  Dan Williams  <dcbw@redhat.com>
16672
16673         Initial VPN Support
16674                 - supports 'vpnc'
16675                 - reworks device IP configuration, backend files have changed and will need
16676                         to be updated for all distributions.  I will try to do what I can for
16677                         them, but I cannot test them.
16678
16679         - Move named directory to src/named-manager
16680         - Make backends directory self-contained
16681
16682 2005-04-06  Dan Williams  <dcbw@redhat.com>
16683
16684         Add debug code for socket/file descriptor leaks.  We register every socket
16685         that we open (except for stuff in dhcpcd/) for tracking, and print out the
16686         list of sockets that we forgot to close on shutdown.  This also consolidates
16687         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
16688
16689 2005-04-06  Dan Williams  <dcbw@redhat.com>
16690
16691         * dhcpcd/dhcpcd.c
16692                 - (dhcp_interface_free): fix a file descriptor leak that may have
16693                         caused network drivers to not unload due to refcounts > 0
16694
16695 2005-04-04  Dan Williams  <dcbw@redhat.com>
16696
16697         * panel-applet/NMWirelessAppletDbus.c
16698                 - (nmwa_dbus_call_nm_method): remove some commented code
16699
16700         * src/NetworkManagerAPList.[ch]
16701                 - (nm_ap_list_remove_ap_by_essid): new function
16702
16703         * src/NetworkManagerDevice.c
16704                 - (nm_device_wireless_force_use): remove access points from the ignore list
16705                         when the user forces them
16706
16707         * src/nm-dbus-device.c
16708                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
16709
16710 2005-04-04  Dan Williams  <dcbw@redhat.com>
16711
16712         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
16713
16714 2005-04-04  Dan Williams  <dcbw@redhat.com>
16715
16716         * src/NetworkManagerDevice.c:
16717                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
16718                         of only erroring after the second consecutive scan times out.  Also
16719                         don't exit when the card requires more time than we can give it, just
16720                         log the event and continue.
16721
16722 2005-04-01  Steve Murphy  <murf@e-tools.com>
16723
16724         * configure.in: Added "rw" to ALL_LINGUAS.
16725
16726 2005-04-01  Dan Williams <dcbw@redhat.com>
16727
16728         Perform scans during device activation, if needed.  Both activation 
16729         and scans run in the same GMainContext.  Therefore, if an access point
16730         is not found by the time the device starts activation, it will not
16731         be available until after activation.  We now try to scan during
16732         activation (in nm_wa_test) every 15s so that all available access
16733         points are more likely to be found and available for the activation
16734         procedure.
16735
16736         Also change nm_wireless_link_state_handle() to only update the "best"
16737         AP if we are not forcing a device and if we are not about to change
16738         state.  This attempts to work around a race when forcing a device,
16739         where the forced AP would get cleared out too soon by the link state
16740         checking timeout in the main thread, and the activation attempt with
16741         that AP would fail.
16742
16743 2005-04-01  Dan Williams <dcbw@redhat.com>
16744
16745         * po/POTFILES.in
16746                 - Update with new translatables
16747
16748 2005-03-31  Dan Williams <dcbw@redhat.com>
16749
16750         * panel-applet/NMWirelessAppletDbus.c
16751                 - Fix device names now that hal has changed device parenting for
16752                         network devices.
16753
16754 2005-03-31  Dan Williams <dcbw@redhat.com>
16755
16756         Tighten up handling of wireless devices that don't support wireless
16757         scanning (ie, Orinoco).  Due to restructuring of code, these devices
16758         hadn't been doing pseudo-scanning for a while either and would just
16759         spin waiting for an access point.  They are now manual devices where
16760         the user must choose the access point from the menu every time.  All
16761         "allowed" access points are listed in the applet's menu regardless
16762         of whether or not they can be seen by the card, since it can't scan
16763         anyway.
16764
16765         * src/NetworkManager.c
16766                 - (nm_wireless_link_state_handle): new function, but only update
16767                         the "best" ap for non-scanning devices when its not activating,
16768                         and when no device is being forced on the card
16769                 - (nm_link_state_monitor): split wireless link state handling out
16770                         into separate function
16771
16772         * src/NetworkManagerDevice.c
16773                 - (nm_device_copy_allowed_to_dev_list): new function
16774                 - (nm_device_new): populate non-scanning cards' AP lists with
16775                         access points from the "allowed" list
16776                 - (nm_device_new): don't start a scanning timeout for devices that
16777                         can't scan
16778                 - (nm_device_activation_schedule_finish): new parameter, should be
16779                         the AP that failed to be connected to, pass it on to the
16780                         activation finish function in NetworkManagerPolicy.c
16781                 - (nm_device_activate_wireless): don't ever try to get a new AP
16782                         for non-scanning devices, just fail.  The user must choose
16783                         a new access point manually.
16784                 - (nm_device_activate): grab the AP that failed connection and
16785                         pass it on
16786                 - (nm_device_update_best_ap): Clear the best AP if we don't have
16787                         a link to it, user must manually choose a new one
16788                 - (nm_device_do_pseudo_scan): remove function
16789                 - (nm_device_wireless_process_scan_results): remove bits for non-
16790                         scanning cards since they never get here
16791                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
16792                         and fake the scan list for test devices a bit earlier
16793
16794         * src/NetworkManagerPolicy.c
16795                 - (nm_policy_activation_finish): use the failed_ap that we get
16796                         passed rather than getting the best_ap from the card, which
16797                         may have changed since we were scheduled
16798                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
16799                         update their scan list directly from the allowed list when
16800                         we get updates to the allowed list from NetworkManagerInfo
16801
16802         * src/NetworkManagerPolicy.h
16803                 - New member for failed access point in NMActivationResult
16804
16805   -------------------------------------
16806
16807         Driver Notification patch: notifies the user when their driver
16808                 sucks.  Gives them the option to ignore further insertions
16809                 of the card that has the sucky driver.
16810
16811         * NetworkManager.h
16812                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
16813                         enum and replace it with NO_CARRIER_DETECT and
16814                         NO_WIRELESS_SCAN
16815
16816         * panel-applet/NMWirelessApplet.[ch]
16817                 - Merge essid.glade -> wireless-applet.glade
16818                 - Implement the "Your driver sucks" notification dialog
16819
16820         * panel-applet/NMWirelessAppletDbus.c
16821                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
16822                 - Grab hardware address for each device from NM too
16823                 - Check whether the driver for each device sucks or not whenever
16824                         a new device is noticed
16825
16826         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
16827                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
16828
16829         * src/NetworkManager.c
16830                 - Fix a double-unref on device removal
16831
16832         * src/NetworkManagerUtils.c
16833                 - Set appropriate driver support level on a device that doesn't
16834                         support scanning or carrier detection
16835
16836         * src/nm-dbus-device.c
16837                 - New "getHWAddress" dbus method on devices
16838                 - getSupportsCarrierDetect -> getDriverSupportLevel
16839
16840 2005-03-31  Dan Williams <dcbw@redhat.com>
16841
16842         * src/NetworkManagerDevice.c
16843                 - (nm_device_wireless_scan): Fix leak of scan results in some
16844                         instances
16845
16846 2005-03-29  Dan Williams <dcbw@redhat.com>
16847
16848         * src/NetworkManager.c
16849                 - (nm_poll_and_update_wireless_link_state): make code less indented
16850
16851         Patch from Bill Moss:
16852         * src/NetworkManager.c
16853                 - (nm_device_update_link_state): Update signal strength on wireless
16854                         devices every time we update link state too.
16855
16856 2005-03-29  Dan Williams <dcbw@redhat.com>
16857
16858         * src/NetworkManagerDevice.c
16859                 - (nm_device_set_essid): Work around Orinoco cards which need
16860                         extra time after setting the ESSID
16861
16862 2005-03-29  Dan Williams <dcbw@redhat.com>
16863
16864         * src/NetworkManagerDevice.c
16865                 - Merge one more bit of Peter Jones' completion patch
16866
16867 2005-03-29  Dan Williams <dcbw@redhat.com>
16868
16869         * src/NetworkManagerDevice.c
16870                 - (nm_device_force_use): Fix possible segfault
16871
16872 2005-03-29  Dan Williams <dcbw@redhat.com>
16873
16874         * src/NetworkManagerDevice.c
16875                 - Use iw_get_ext() where we should rather than iw_set_ext()
16876
16877 2005-03-29  Dan Williams <dcbw@redhat.com>
16878
16879         * src/NetworkManagerDevice.c
16880                 - (nm_device_set_up_down): remove check for unsupported devices
16881                         that caused NM to not bring devices up when they were
16882                         added to the device list.
16883
16884 2005-03-28  Dan Williams <dcbw@redhat.com>
16885
16886         * src/NetworkManagerDevice.c
16887                 - (mdio_read): Fix two bugs that caused all devices to fail
16888                         the MII carrier detection support checks
16889
16890 2005-03-26  Dan Williams <dcbw@redhat.com>
16891
16892         * src/NetworkManagerDevice.c
16893                 - (nm_device_wireless_scan): Remove duplicated scanning code
16894
16895 2005-03-25  Dan Williams <dcbw@redhat.com>
16896
16897         * panel-applet/NMWirelessApplet.c
16898                 - (nmwa_about_cb): Add some more contributors
16899                 - (nmwa_update_state): show the applet when there's no connection
16900                 - Enable the "Stop/Resume all wireless devices" option in the
16901                         context menu
16902                 - New "no connection" icon
16903
16904         * src/NetworkManager.c
16905                 - (nm_poll_and_update_wireless_link_state): don't do anything if
16906                         wireless is disabled or we're asleep
16907
16908         * src/NetworkManagerDHCP.c
16909                 - Remove trailing "\n" on debug messages
16910
16911         * src/NetworkManagerDbus.c
16912                 - (nm_dbus_network_status_from_data): new state "asleep"
16913
16914         * src/NetworkManagerDevice.c
16915                 - Merge most of Peter Jones' "completion" patch that greatly reduces
16916                         latency and wait times for most operations
16917                 - (nm_device_wireless_scan): Don't scan when asleep
16918
16919         * src/NetworkManagerPolicy.c
16920                 - (nm_policy_get_best_device): return no device when asleep
16921                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
16922                         for all wireless devices on update, not just active device
16923
16924         * src/NetworkManagerUtils.c
16925                 - Merge Peter Jones' "completion" patch
16926
16927         * src/nm-dbus-nm.c
16928                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
16929                         we're told to disable them
16930                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
16931
16932         * utils/nm-utils.h
16933                 - New variants of the warn/info/error/debug print functions that can take
16934                         variables rather than static strings
16935
16936 2005-03-24  Dan Williams <dcbw@redhat.com>
16937
16938         * src/NetworkManagerUtils.c
16939                 - (nm_get_device_driver_name): driver names are now on the parents of
16940                         "Network Interface" objects, so look for them there
16941
16942 2005-03-24  Dan Williams <dcbw@redhat.com>
16943
16944         * test/nmtest.c
16945                 - Escape some forgotten object paths before we shove them through dbus
16946
16947 2005-03-24  Dan Williams <dcbw@redhat.com>
16948
16949         * dhcpcd/dhcpcd.[ch]
16950           src/NetworkManagerDHCP.c
16951                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
16952                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
16953
16954         * src/NetworkManagerDbus.c
16955                 - spacing cleanups
16956
16957         * src/nm-dbus-dhcp.c
16958                 - Make the API suck less.  There is now only 1 type of each function,
16959                         ie only "getInteger" and no longer also "getIntegerv".  All types
16960                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
16961                         that will never have more than 1 element.  This should simplify
16962                         things greatly.
16963
16964         * test/nm-dhcp-opt-test.c
16965                 - Make the tool not segfault
16966                 - adapt to new DHCP Options API
16967
16968 2005-03-22  Dan Williams <dcbw@redhat.com>
16969
16970         * src/NetworkManager.c
16971                 - (nm_wired_link_deactivated): actually ignore netlink events from
16972                         wireless devices.
16973
16974 2005-03-22  Dan Williams <dcbw@redhat.com>
16975
16976         * src/NetworkManager.c
16977                 - (nm_wired_link_activated): actually ignore netlink events from
16978                         wireless devices.
16979
16980 2005-03-17  Dan Williams <dcbw@redhat.com>
16981
16982         Patch from Tom Parker:
16983         * src/nm-netlink-monitor.c
16984                 - Include unistd.h
16985         * info-daemon/NetworkManagerInfoDbus.c
16986                 - (nmi_dbus_update_network_auth_method): free GConf values
16987
16988         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
16989         * src/NetworkManagerDevice.c
16990                 - (nm_device_set_wireless_config): wait for successful
16991                         association longer for some cards (Atheros a/b/g)
16992
16993 2005-03-15  Ray Strode  <rstrode@redhat.com>
16994
16995         * src/NetworkManager.c:
16996         (sigterm_pipe_handler):
16997         remove bogus FIXME
16998
16999 2005-03-15  Ray Strode  <rstrode@redhat.com>
17000
17001         * src/NetworkManagerDbus.c:
17002         Fix some sign weirdness that gcc4 doesn't like,
17003         and add a header file so PPC can hopefully find
17004         SIGTRAP
17005
17006 2005-03-14  Ray Strode  <rstrode@redhat.com>
17007         
17008         Fourth (probably working) cut at porting to
17009         dbus 0.30 api and new hal. This cut adds
17010         some new logging macros to make debugging
17011         easier.
17012
17013         * dispatcher-daemon/NetworkManagerDispatcher.c:
17014         * info-daemon/NetworkmanagerInfo.c:
17015         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
17016         * info-daemon/NetworkManagerInfoVPN.c:
17017         * src/NetworkManager.c:
17018         * src/NetworkManagerAP.c:
17019         * src/NetworkManagerAPList.c:
17020         * src/NetworkManagerDHCP.c:
17021         * src/NetworkManagerDbus.c:
17022         * src/NetworkManagerDevice.c:
17023         * src/NetworkManagerPolicy.c:
17024         * src/NetworkManagerSystem.c:
17025         * src/NetworkManagerUtils.c:
17026         * src/NetworkManagerWireless.c:
17027         * src/autoip.c:
17028         * src/nm-dbus-nm.c:
17029         * src/backends/NetworkManagerDebian.c:
17030         * src/backends/NetworkManagerGentoo.c:
17031         * src/backends/NetworkManagerRedHat.c:
17032         * src/backends/NetworkManagerSlackware.c:
17033         use new logging macros.
17034
17035         * dispatcher-daemon/NetworkManagerDispatcher.c:
17036         (nmd_dbus_filter): s/dbus_free/g_free/
17037
17038         * info-daemon/Makefile.am: link in utils library.
17039         * info-daemon/NetworkmanagerInfo.c: use new logging 
17040         macros.
17041         (nmi_dbus_get_network): don't assume enumerations
17042         are 32-bit.
17043         (nmi_dbus_nmi_message_handler): don't free what 
17044         doesn't belong to us.
17045
17046         * libnm_glib/libnm_glib.c:
17047         (libnm_glib_get_nm_status): 
17048         (libnm_glib_init): don't free what doesn't
17049         belong to us.
17050         (libnm_glib_dbus): strdup result, so it doesn't get
17051         lost when message is unref'd.
17052
17053         * panel-applet/NMWirelessAppletDbus.c:
17054         (nmwa_dbus_update_devices): s/dbus_free/g_free/
17055
17056         * src/NetworkManager.c:
17057         (nm_monitor_wired_link_state): request initial status 
17058         dump of all cards when we start up, instead of relying
17059         on /sys/.../carrier.
17060         (nm_info_handler), (nm_set_up_log_handlers): 
17061         log handlers to specify what syslog priorites 
17062         the logging macros default to.
17063
17064         * src/NetworkManagerAPList.c: 
17065         (nm_ap_list_populate_from_nmi):
17066         s/dbus_free_string_array/g_strfreev/
17067
17068         * src/NetworkManagerDbus.c:
17069         (nm_dbus_get_network_object):
17070         validate d-bus message argument types.
17071         Advance message iterator after reading argument,
17072         prepend instead of append to GSList.
17073
17074         * src/NetworkManagerDevice.c:
17075         (nm_device_probe_wired_link_status):
17076         remove redundant /sys in /sys path. remove wrong
17077         contents == NULL means has carrier assumption.
17078
17079         * src/nm-netlink-monitor.c 
17080         (nm_netlink_monitor_request_status): implement
17081         function to ask kernel to dump interface link
17082         status over netlink socket.
17083
17084         * test/*.c: s/dbus_free/g_free/
17085
17086         * utils/nm-utils.h:
17087         (nm_print_backtrace): new macro to print backtrace.
17088         (nm_get_timestamp): new macro to get sub-second precise
17089         unix timestamp.
17090         (nm_info), (nm_debug), (nm_warning), (nm_error):
17091         new logging functions. nm_info just prints,
17092         nm_debug includes timestamp and function,
17093         nm_warning includes function, nm_error includes
17094         backtrace and sigtrap.
17095
17096 2005-03-11  Ray Strode  <rstrode@redhat.com>
17097
17098         Third (unfinished, partially working) cut at porting to 
17099         dbus 0.30 api and new hal.
17100
17101         * info-daemon/NetworkManagerInfoDbus.c:
17102                 don't free null arrays.
17103
17104         * panel-applet/NMWirelessAppletDbus.c: 
17105         * src/nm-dbus-device.c:
17106         * src/nm-dbus-net.c: 
17107         * src/NetworkManagerDbus.c: more 
17108         STRING -> OBJECT_PATH fun
17109         * src/NetworkManagerDevice.c:
17110         * src/NetworkManagerDevice.h:
17111         (rename nm_device_get_link_active): rename to 
17112         nm_device_has_active_link
17113         (nm_device_wireless_link_active): rename to
17114         nm_device_probe_wireless_link_state
17115         (nm_device_wired_link_active): rename to
17116         nm_device_probe_wired_link_state.  Rewrite to
17117         use carrier file since hal doesn't maintain
17118         link state anymore.
17119         (nm_device_update_link_active): rename to
17120         nm_device_update_link_state
17121         * src/NetworkManagerPolicy.c 
17122           (nm_policy_activation_finish): check for NULL
17123           MAC address.
17124
17125         * src/Makefile.am:
17126         * src/NetworkManagerMain.h: 
17127         * src/NetworkManager.c:
17128         * src/nm-netlink-monitor.c:
17129         * src/nm-netlink-monitor.h: New class to support
17130         monitoring wired ethernet link status, since HAL
17131         doesn't export that information anymore.
17132
17133 2005-03-09  Ray Strode  <rstrode@redhat.com>
17134
17135         Second (unfinished, unworking) cut at porting to 
17136         dbus 0.30 api.
17137
17138         * dispatcher-daemon/NetworkManagerDispatcher.c:
17139         * info-daemon/NetworkManagerInfoDbus.c:
17140         * panel-applet/NMWirelessAppletDbus.c:
17141         * src/NetworkManagerDbusUtils.c:
17142         * src/NetworkManagerDbusUtils.h:
17143         * src/nm-dbus-device.c:
17144         * src/nm-dbus-nm.c:
17145         * test/nmtest.c: support dbus "object path" type
17146
17147         * configure.in: 
17148         * Makefile.am:
17149         * info-daemon/Makefile.am:
17150         * libnm_glib/Makefile.am:
17151         * panel-applet/Makefile.am:
17152         * dispatcher-daemon/Makefile.am
17153         * src/Makefile.am:
17154         * test/Makefile.am:
17155         * utils/Makefile.am: 
17156         * utils/nm-utils.c: 
17157         * utils/nm-utils.h: new utils static lib
17158
17159 2005-03-07  Ray Strode  <rstrode@redhat.com>
17160
17161         * info-daemon/NetworkManagerInfoDbus.c:
17162         * libnm_glib/libnm_glib.c:
17163         * panel-applet/NMWirelessAppletDbus.c:
17164         * src/NetworkManager.c:
17165         * src/NetworkManagerDbus.c:
17166         * src/NetworkManagerDevice.c:
17167         * src/NetworkManagerUtils.c:
17168         * src/nm-dbus-device.c:
17169         * src/nm-dbus-dhcp.c:
17170         * src/nm-dbus-net.c:
17171         * src/nm-dbus-nm.c:
17172         * test/nminfotest.c:
17173         First (unfinished, unworking) cut at porting to dbus 0.30 api.
17174
17175 2005-03-04  Dan Williams  <dcbw@redhat.com>
17176
17177         * configure.in
17178                 - Mark HEAD as 0.4
17179
17180 2005-03-04  Dan Williams  <dcbw@redhat.com>
17181
17182         Patch from Peter Jones:
17183         - Make stuff work with gcc 4.0
17184
17185 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
17186
17187         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
17188
17189 2005-02-27  Jim Huang  <jserv@kaffe.org>
17190
17191         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
17192
17193 2005-02-27  Dan Williams  <dcbw@redhat.com>
17194
17195         Patch from Bill Moss:
17196         * panel-applet/NMWirelessAppletDbus.c
17197                 - Make sure strength for current access point is up-to-date when we
17198                         update the gui data model
17199
17200 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
17201
17202         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
17203
17204 2005-02-27  Dan Williams  <dcbw@redhat.com>
17205
17206         * src/backends/NetworkManagerRedHat.c
17207                 - (nm_system_init): Kill any dhclient processes lying around as well
17208                         as stopping 'nifd' if its already been started.  NetworkManager
17209                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
17210
17211 2005-02-27  Dan Williams  <dcbw@redhat.com>
17212
17213         * panel-applet/NMWirelessApplet.c
17214                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
17215                         dbus data model, not the GUI data model twice.
17216
17217 2005-02-27  Dan Williams  <dcbw@redhat.com>
17218
17219         * panel-applet/NMWirelessApplet.[ch]
17220           panel-applet/NMWirelessAppletDbus.[ch]
17221                 - Move to incremental network updates.  Instead of blowing away our list
17222                         of devices every time we get a signal from NetworkManager, we now
17223                         incrementally add/remove networks when NetworkManager notifies us that
17224                         a new network has appeared or disappered.  Strength updates now happen
17225                         on-the-fly for each access point as well.  There are now two copies of
17226                         data from NetworkManager: one for the dbus side, and one for the gui side.
17227                         When the dbus side data is modified, it is copied over to the gui side
17228                         so we don't have to hold the data_mutex for long periods of time (and
17229                         therefore block animation of the applet's icon).
17230                 - Clean up some memleaks too
17231
17232         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17233                 - Minor code beautification
17234
17235         * src/NetworkManagerAPList.c
17236                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
17237                         completely new and whether or not an existing one's strength was updated.
17238                         Try to fix multiple access points and signal strength by using the highest
17239                         signal strength in each scan for any given ESSID.
17240
17241         * src/NetworkManagerDbus.[ch]
17242                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
17243                         wireless networks; now we have only WirelessNetworkUpdate which includes
17244                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
17245                 - Kill usage of DbusMessageIter
17246
17247         * src/NetworkManagerDevice.c
17248                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
17249                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
17250                         AP rather than all-at-once.  Also don't ever remove the AP a card is
17251                         currently associated with from the network list.
17252                 - Update for new signals during scan, send out Appeared, Disappeared, or
17253                         StrengthChanged when necessary.
17254
17255 2005-02-25  Dan Williams  <dcbw@redhat.com>
17256
17257         * README
17258                 - Line break the README
17259
17260 2005-02-25  Dan Williams  <dcbw@redhat.com>
17261
17262         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17263                 - Remove usage of gtk_window_set_default_size()
17264
17265         * panel-applet/essid.glade
17266                 - Stick default size here
17267                 - Add in random crap that current glade wants to add in now
17268
17269 2005-02-25  Dan Williams  <dcbw@redhat.com>
17270
17271         * src/backends/NetworkManagerRedHat.c
17272                 - For non-caching-nameserver/non-named case, ensure that nscd is running
17273                         and that we actually tell nscd to reload the hosts cache when it changes
17274
17275 2005-02-25  Dan Williams  <dcbw@redhat.com>
17276
17277         * info-daemon/NetworkManagerInfoDbus.c
17278                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
17279
17280         * test/nminfotest.c
17281                 - Whack usage of DbusMessageIter
17282                 - Clean up DbusError and DbusMessage handling and freeing
17283                 - Remove unused unregister handler
17284
17285         * test/nmtest.c
17286                 - Whack usage of DbusMessageIter
17287
17288         * test/nmtestdevices.c
17289                 - Whack usage of DbusMessageIter
17290
17291 2005-02-25  Dan Williams  <dcbw@redhat.com>
17292
17293         * NetworkManager.h
17294                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
17295                         signal
17296
17297 2005-02-25  Dan Williams  <dcbw@redhat.com>
17298
17299         * named/nm-named-manager.c
17300                 - Ensure that pid and watch variables for child named process get cleared out
17301                         when the child goes away.
17302
17303 2005-02-22  Dan Williams  <dcbw@redhat.com>
17304
17305         * src/NetworkManagerPolicy.c
17306                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
17307                         and NULL out data->active_device so that we have to choose another one.
17308                         This may make NetworkManager keep attempting to connect to a wired network
17309                         if it fails, but if it keeps failing the wired network has more problems than
17310                         just NetworkManager.
17311
17312         * src/backends/NetworkManagerRedHat.c
17313                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
17314                         is already running
17315
17316         * named/nm-named-manager.c
17317                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
17318                         named so that the distro can flush whatever name service caching
17319                         daemon it uses
17320
17321 2005-02-21  Dan Williams  <dcbw@redhat.com>
17322
17323         * src/NetworkManagerDHCP.[ch]
17324                 - (nm_device_dhcp_remove_timeouts): new function
17325
17326         * src/NetworkManagerDevice.c
17327                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
17328                         remove the DHCP timeouts.
17329
17330 2005-02-21  Dan Williams  <dcbw@redhat.com>
17331
17332         * panel-applet/NMWirelessApplet.[ch]
17333           panel-applet/menu-info.[ch]
17334                 - Give the panel applet some major love: menu items are no longer
17335                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
17336                         This allows the applet to actually reflect theme changes correctly,
17337                         since themeing of subclassed items in GTK _sucks_.
17338
17339 2005-02-18  Dan Williams  <dcbw@redhat.com>
17340
17341         * libnm_glib/libnm_glib.[ch]
17342           test/libnm_glib_test.c
17343                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
17344                         and its data, and doesn't have to free the callback data anymore
17345
17346 2005-02-18  Dan Williams  <dcbw@redhat.com>
17347
17348         * panel-applet/NMWirelessApplet.c
17349                 - Revert 2005-02-18 William Jon McCann fix for standard
17350                         copyright string until it passes 'make distcheck'.
17351                         With standard copyright string, xgettext complains
17352                         about "Non-ASCII string at ...".
17353
17354 2005-02-18  Dan Williams  <dcbw@redhat.com>
17355
17356         * panel-applet/essid.glade
17357           panel-applet/NMWirelessAppletOtherNetworksDialog.c
17358                 - Correct spelling of "adaptor"->"adapter"
17359
17360 2005-02-18  William Jon McCann  <mccann@jhu.edu>
17361
17362         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
17363         (nmwa_about_cb): Use standard copyright string.  Update comment
17364         text to reflect that it is a notification area applet.  Remove
17365         leading newline in authors list.
17366         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
17367         instead of on parent menu item activation.  Fixes #167550.
17368
17369 2005-02-18  William Jon McCann  <mccann@jhu.edu>
17370
17371         * panel-applet/essid.glade: Capitalize items as per HIG.
17372           Fixes #167632
17373
17374 2005-02-16  William Jon McCann  <mccann@jhu.edu>
17375
17376         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
17377         files for GTK 2.4 or lower, since now public in GTK 2.6.
17378
17379         * panel-applet/essid.glade: Don't specify window size.
17380         
17381 2005-02-17  Dan Williams  <dcbw@redhat.com>
17382
17383         Caught by Bill Moss:
17384         * dhcpcd/client.c
17385                 - Time remaining for DHCP transaction calculation was incorrectly
17386                         inside a #ifdef DEBUG
17387
17388 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
17389
17390         * configure.in: Added fr (French) to ALL_LINGUAS.
17391
17392 2005-02-14  Dan Williams  <dcbw@redhat.com>
17393
17394         * src/NetworkManagerDHCP.c
17395                 - (set_domain_searches): Fix free of invalid pointer
17396
17397 2005-02-14  Dan Williams  <dcbw@redhat.com>
17398
17399         Patch from Peter Jones:
17400         * dhcpcd/client.c
17401                 - Ensure we return RET_DHCP_CEASED everywhere we should
17402         * dhcpcd/udpipgen.c
17403                 - Use faster TOS for IP packets
17404                 - Don't set ip_id since we're UDP
17405
17406         Patch from Tomislav Vujec:
17407         * src/nm-dbus-dhcp.c
17408           test/nm-dhcp-opt-test.c
17409                 - Clean up warnings to enable cvs tree compilation.
17410
17411 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
17412
17413         * configure.in
17414           po/hr.po
17415                 - Add the Croatian locale.
17416
17417 2005-02-14  Colin Walters  <walters@verbum.org>
17418
17419         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
17420         list of domains to search.
17421         
17422         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
17423
17424 2005-02-13  Dan Williams  <dcbw@redhat.com>
17425
17426         * dhcpcd/client.c
17427                 - Debug output cleanups of DHCP option printing and parsing.
17428
17429 2005-02-13  Dan Williams  <dcbw@redhat.com>
17430
17431         Patch from Dan Reed:  DHCP options D-BUS API
17432                 Exposes the DHCP options that a device receives to clients over D-BUS.
17433
17434         * configure.in
17435                 - A few cleanups
17436
17437         * dhcpcd/client.h
17438                 - Correct names, option length, and types for DHCP options
17439
17440         * dhcpcd/dhcpcd.[ch]
17441                 - Clarify function names that access DHCP options & data
17442
17443         * src/NetworkManagerDHCP.c
17444                 - Use new DHCP data access functions
17445
17446         * src/NetworkManagerDbus.c
17447                 - Message handler for DHCP functions
17448
17449         * src/nm-dbus-dhcp.[ch] (new)
17450                 - DHCP dbus methods
17451
17452         * test/nm-dhcp-opt-test.c
17453                 - Test DHCP D-BUS API and return all present DHCP options
17454
17455 2005-02-12  Dan Williams  <dcbw@redhat.com>
17456
17457         * test/Makefile.am
17458           test/nmclienttest.c
17459           test/nmtest.c
17460                 - Move nmclienttest.c -> nmtest.c
17461
17462 2005-02-12  Dan Williams  <dcbw@redhat.com>
17463
17464         * dhcpcd/buildmsg.c
17465                 - Pad DHCP packets until they are at least 300 bytes in size.
17466
17467 2005-02-11  Dan Williams  <dcbw@redhat.com>
17468
17469         * dhcpcd/client.c
17470                 - (dhcp_init): only print out client ID and class ID if they are specified
17471
17472         * src/NetworkManagerDbus.[ch]
17473           src/nm-dbus-nm.[ch]
17474           src/nm-dbus-device.[ch]
17475           src/nm-dbus-net.[ch]
17476                 - Move NM, Device, and Net functions to separate files and use the
17477                         dbus method list stuff in NetworkManagerDbusUtils.c to do
17478                         method dispatching
17479
17480         * src/NetworkManagerDbusUtils.c
17481                 - Add new validate_method called before each dispatch (if present)
17482                         that can validate the method call
17483
17484         * src/NetworkManagerWireless.c
17485                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
17486                         levels never to be evaluated
17487
17488         Patch from j@bootlab.org
17489         * src/NetworkManagerDevice.c
17490                 - Add typedef for "u64"
17491
17492         * src/backends/NetworkManagerDebian.c
17493                 - Copy in Dave Woodhouse's fixes for IPv6
17494
17495 2005-02-11  Dan Williams  <dcbw@redhat.com>
17496
17497         Patch from Dave Woodhouse for IPv6:
17498         * src/NetworkManagerUtils.c
17499                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
17500                         and multicast addresses
17501
17502         * src/NetworkManagerDevice.c
17503                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
17504                         after bringing up a card.
17505
17506 2005-02-10  Dan Williams  <dcbw@redhat.com>
17507
17508         Patch from Dave Woodhouse:
17509         * src/NetworkManagerSystem.h
17510           src/backends/NetworkManagerDebian.c
17511           src/backends/NetworkManagerGentoo.c
17512           src/backends/NetworkManagerSlackware.c
17513                 - New nm_system_device_add_ip6_link_address() function to add link-local
17514                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
17515
17516         * src/backends/NetworkManagerRedHat.c
17517                 - (nm_system_device_add_ip6_link_address): implement
17518                 - (nm_system_device_flush_addresses): revert to previous behavior of
17519                         flushing all addresses
17520
17521 2005-02-10  Dan Williams  <dcbw@redhat.com>
17522
17523         Patch from Tom Parker:
17524         * src/NetworkManagerDevice.c
17525                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
17526                         mii.h headers are broken, and instead use our own typedefs
17527
17528 2005-02-10  Dan Williams  <dcbw@redhat.com>
17529
17530         * dhcpcd/buildmsg.c
17531                 - (fill_host_and_class_id): only fill in client and class IDs if
17532                         they are set by callers.
17533
17534         * dhcpcd/client.c
17535                 - (class_id_setup): don't autogenerate a class ID, only use one
17536                         we're given, if any.
17537                 - (client_id_setup): don't autogenerate a client ID, only use one
17538                         we're given, if any.
17539
17540         * dhcpcd/dhcpcd.c
17541                 - (dhcp_interface_init): ensure that client options are correctly
17542                         NULL terminated
17543
17544         * src/NetworkManagerDHCP.c
17545                 - (nm_device_dhcp_request): pass hostname to dhcp library
17546
17547 2005-02-10  Dan Williams  <dcbw@redhat.com>
17548
17549         * dhcpcd/client.c
17550                 - #rh147661# Don't send kernel version in DHCP requests
17551
17552         * src/NetworkManagerSystem.h
17553           src/backends/NetworkManagerDebian.c
17554           src/backends/NetworkManagerGentoo.c
17555           src/backends/NetworkManagerRedHat.c
17556           src/backends/NetworkManagerSlackware.c
17557                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
17558                         functions, they are no longer used anyway
17559
17560         * src/backends/NetworkManagerRedHat.c
17561                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
17562                         addresses in an attempt to keep IPv6 local-scope addresses around
17563
17564 2005-02-10  Dan Williams  <dcbw@redhat.com>
17565
17566         * src/NetworkManager.c
17567                 - (nm_create_device_and_add_to_list): change the add message slightly
17568
17569         * src/NetworkManagerUtils.c
17570                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
17571                         Return driver name to calling function
17572                 - (nm_get_driver_support_level): print out the driver a device is using
17573                         during the support check
17574
17575         Patch from Dave Woodhouse:
17576         * dhcpcd/udpipgen.c
17577                 - (in_cksum): copy last byte of odd-sized packets into a
17578                         'u_short' rather than a 'u_char', should fix wrong checksums
17579                         on big-endian platforms
17580
17581 2005-02-09  Dan Williams  <dcbw@redhat.com>
17582
17583         * Clean up usage of GSList objects and looping through their members
17584         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
17585                 now.
17586         * Fix problem where even if scanning was turned off, card would still
17587                 cycle through frequencies.
17588
17589 2005-02-08  Dan Williams  <dcbw@redhat.com>
17590
17591         * panel-applet/NMWirelessApplet.c
17592                 - Fix for gtk 2.4
17593
17594 2005-02-08  Dan Williams  <dcbw@redhat.com>
17595
17596         Patch from Bill Moss
17597         * panel-applet/NMWirelessApplet.c
17598                 - Restore correct ESSID in tooltips
17599
17600 2005-02-07  Dan Williams  <dcbw@redhat.com>
17601
17602         * panel-applet/NMWirelessApplet.[ch]
17603                 - Add a context menu that contains:
17604                         Pause/Resume Wireless Scanning
17605                         Stop/Start All Wireless Devices
17606                         About...
17607                 - Grab active device strength off active device,
17608                         not its network
17609
17610         * panel-applet/NMWirelessAppletDbus.[ch]
17611                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
17612                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
17613                 - Update active device strength every 2 seconds, not every 1 second
17614
17615         * panel-applet/menu-info.c
17616                 - Only disable wired devices in the menu when they support carrier detection,
17617                         and don't currently have a link.  Non-carrier-detect devices will always
17618                         remain choosable
17619
17620         * src/Makefile.am
17621           src/NetworkManagerDbusUtils.[ch]
17622                 - Add new new dbus utils sources
17623
17624         * src/NetworkManager.c
17625                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
17626                         with the boolean parameter
17627                 - Set scanning_enabled & wireless_enabled to TRUE
17628
17629         * src/NetworkManagerDbus.c
17630                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
17631                 - Implement scanning & wireless enable/disable calls
17632                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
17633
17634         * src/NetworkManagerDevice.c
17635                 - New link detection stuff again...
17636                         o  Create device's mainloop earlier (but don't run it earlier)
17637                         o  Hook up new carrier-detect support stuff
17638                         o  Add in the ethtool & mii support detection code
17639                 - Don't scan if scanning is disabled
17640
17641         * src/NetworkManagerPolicy.c
17642                 - Never automatically choose a device that doesn't support carrier detection
17643                 - Don't automatically choose a wireless device if wireless is disabled
17644
17645 2005-02-07  Dan Williams  <dcbw@redhat.com>
17646
17647         * libnm_glib/libnm_glib.c
17648                 - Small cleanup in element list iteration
17649
17650 2005-02-07  Dan Williams  <dcbw@redhat.com>
17651
17652         * src/NetworkManagerWireless.c
17653                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
17654                         to be in line with the WEXT quality specification
17655
17656 2005-02-02  Dan Williams  <dcbw@redhat.com>
17657
17658         Patch from Nathan Fredrickson <nathan@silverorange.com>
17659         * Fix up compile for deprecation of libgnomeui
17660                 - Switch to <glib/gi18n.h> from <libintl.h>
17661                 - Remove <libgnomeui/libgnomeui.h> includes
17662                 - Use gtk_window_set_default_icon_from_file() rather than
17663                         gnome_window_set_default_icon_from_file()
17664
17665         * named/nm-named-manager.c
17666                 - (generate_named_conf): Fix return-nothing in non-void
17667                         function
17668
17669 2005-02-02  Dan Williams  <dcbw@redhat.com>
17670
17671         * Clean up unused variables and the like
17672
17673 2005-02-02  Dan Williams  <dcbw@redhat.com>
17674
17675         * src/NetworkManagerAPList.c
17676                 - (nm_ap_list_merge_scanned_ap): merge strength too
17677
17678         * src/NetworkManagerUtils.c
17679                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
17680                         of locking issues by printing out prettier information than g_mutex_lock
17681                 - Print out names of mutexes registered with nm_register_mutex_desc()
17682                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
17683                         us to seemingly block here for too long
17684
17685         * src/NetworkManager.c
17686           src/NetworkManagerAPList.c
17687           src/NetworkManagerDevice.c
17688                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
17689                         so we get better debug information printed
17690
17691         * src/NetworkManagerDbus.c
17692                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
17693                         since it sometimes has locking side effects
17694                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
17695                         from 10s
17696                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
17697                         we don't need a switch.  This gets called often enough that we can't block
17698                         until the scan mutex is acquired, because we'll block on device activation
17699                         and a few other things, which hangs main thread for too long.
17700
17701         * src/NetworkManagerPolicy.c
17702                 - (nm_policy_auto_get_best_device): reduce the possiblity that
17703                         nm_device_need_ap_switch() will be called               
17704
17705 2005-02-02  Dan Williams  <dcbw@redhat.com>
17706
17707         * panel-applet/NMWirelessApplet.c
17708                 - Display name of wireless network we are connecting to or connected to
17709                         in the tooltip of the applet
17710
17711 2005-02-02  Dan Williams  <dcbw@redhat.com>
17712
17713         * src/NetworkManagerDHCP.c
17714                 - Hopefully fix double-default-route problem by cleaning up the default
17715                         route added by DHCP code right before the DHCP transaction begins
17716
17717 2005-02-02  Dan Williams  <dcbw@redhat.com>
17718
17719         * named/nm-named-manager.c
17720                 - Write out valid resolv.conf when we exit
17721
17722 2005-02-01  Dan Williams  <dcbw@redhat.com>
17723
17724         Patch from Colin Walters:
17725         * named/nm-named-manager.c
17726                 - Make multi-domain search options work
17727
17728 2005-01-31  Dan Williams  <dcbw@redhat.com>
17729
17730         * info-daemon/NetworkManagerInfoDbus.c
17731                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
17732
17733         * src/NetworkManagerDevice.c
17734                 - (nm_device_new): Don't store the entire range struct, use only what we need
17735                         (which is currently avg_quality, max_quality, and frequencies).  Also
17736                         zero device structure when we've free'd it to maybe expose errors down
17737                         the line.
17738                 - (nm_device_update_signal_strength): grab the scan mutex before getting
17739                         quality data from the card since quality will be useless during a scan.
17740                         Call updated wireless qual-to-percent function with values stored in
17741                         nm_device_new() earlier.
17742                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
17743                         nm_device_get_bad_crypt_packets())
17744                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
17745                         nm_device_new()
17746                 - (get_initial_auth_method): always use the Auth method that's in the allowed
17747                         list if available.  Problem was this: when the WEP key is wrong, NM will
17748                         try OS then SK modes, and then get stuck in SK mode after that.  This
17749                         should reset it.
17750                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
17751                         function
17752
17753         * src/NetworkManagerWireless.c
17754                 - (nm_wireless_qual_to_percent): try to make this function actually work and
17755                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
17756                         if that's all present, otherwise fall back to signal-to-noise ratios.
17757
17758 2005-01-29  Dan Williams  <dcbw@redhat.com>
17759
17760         * initscript/RedHat/NetworkManager
17761                 - Don't spit out sysctl stuff to console
17762
17763         * libnm_glib/libnm_glib.c
17764                 - (libnm_glib_init): call dbus_g_thread_init()
17765
17766         * panel-applet/NMWirelessAppletDbus.c
17767                 - (nmwa_dbus_worker): call dbus_g_thread_init()
17768
17769         * src/NetworkManager.c
17770                 - (main): call dbus_g_thread_init()
17771
17772         * src/NetworkManagerAPList.c
17773                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
17774                         so we can actually see what's there in a normal syslog
17775
17776         * src/NetworkManagerDevice.c
17777                 - (nm_device_activate_wireless): print out the "waiting for access point"
17778                         message only once, then say what access point we actually got after
17779                         the wait.
17780                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
17781                         function, wait until the scan is done.  Scans may change the ESSID of
17782                         the card, making this function think we need to switch access points
17783                 - (nm_device_wireless_process_scan_results): for artificial access points
17784                         don't check against the card's ESSID, but the best_ap's ESSID.  This
17785                         prevents collisions with the scanning code, which may change the card's
17786                         ESSID and cause the access point to get dropped from the device's AP
17787                         list.  Also increase the keep-around time to 2m from 60s since the max
17788                         scan interval could be 60s in some cases.
17789
17790         * src/NetworkManagerPolicy.c
17791                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
17792                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
17793                         the new properties and ESSIDs to the device's AP list.  Fixes some races
17794                         between NM and NMI.
17795
17796 2005-01-27  Dan Williams  <dcbw@redhat.com>
17797
17798         * info-daemon/NetworkManagerInfoDbus.c
17799                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
17800                         GConf, make a minimal entry for it (essid & timestamp)
17801
17802         * src/NetworkManagerAPList.c
17803                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
17804                         NetworkManagerInfo isn't running
17805
17806         * src/NetworkManagerDbus.[ch]
17807                 - (nm_dbus_nmi_is_running): new function
17808
17809         * src/NetworkManagerDevice.c
17810                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
17811                         address to garbage.
17812
17813         * src/NetworkManagerPolicy.c
17814                 - (nm_policy_activation_finish): On successful activation, make sure
17815                         the "best" AP has a MAC address, and don't tell NMI to add the
17816                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
17817                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
17818                         access point after refreshing our allowed list if it doesn't already
17819                         have a "best" access point.
17820
17821 2005-01-25  Dan Williams  <dcbw@redhat.com>
17822
17823         * panel-applet/NMWirelessAppletDbus.c
17824                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
17825                         so we check for NM_DBUS_SERVICE rather than not for it
17826
17827         * libnm_glib/libnm_glib.c
17828                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
17829                         ServiceOwnerChanged signal
17830
17831 2005-01-25  Dan Williams  <dcbw@redhat.com>
17832
17833         * configure.in
17834                 - Check DBUS version in configure, and set the C macros
17835                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
17836
17837         * info-daemon/NetworkManagerInfoDbus.c
17838                 - Remove #if 0-d section of code that quit NMI if NM went away.
17839
17840         * panel-applet/NMWirelessAppletDbus.c
17841                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
17842
17843         * src/NetworkManager.c
17844           src/NetworkManagerMain.h
17845           src/NetworkManagerDbus.c
17846                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
17847                 - Make updating of our Allowed Wireless Network lists from NMI
17848                         an idle function in the main thread now, with a high priority.
17849
17850 2005-01-24  Dan Williams  <dcbw@redhat.com>
17851
17852         * panel-applet/gtkcellview.[ch]
17853           panel-applet/menu-info.c
17854                 - Fix GTK version checks to be <= rather than <
17855
17856         * test/Makefile.am
17857                 - Include the libtool archive of libnm_glib rather than
17858                         trying to pull in the .so
17859
17860 2005-01-24  Dan Williams  <dcbw@redhat.com>
17861
17862         * src/NetworkManagerDevice.c
17863           src/NetworkManagerDevicePrivate.h
17864                 - Block nm_device_new() until our device's worker thread has had a
17865                         chance to start up.  Fixes a race between main thread and worker
17866                         thread starting that caused activation requests to get lost.
17867
17868 2005-01-24  Dan Williams  <dcbw@redhat.com>
17869
17870         * initscript/RedHat/NetworkManager
17871                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
17872                         to add the NM startup script at priority 50, which was
17873                         way too early
17874
17875 2005-01-24  Colin Walters  <walters@redhat.com>
17876
17877         * named/named.conf: Use any port for query source instead of
17878         restricting to port 53.
17879
17880 2005-01-24  Dan Williams  <dcbw@redhat.com>
17881
17882         * initscript/RedHat/NetworkManager
17883                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
17884                         to add the NM startup script at priority 50, which was
17885                         way too early
17886
17887 2005-01-24  Dan Williams  <dcbw@redhat.com>
17888
17889         Patch from Tom Parker <palfrey@tevp.net>
17890         * Fix up compile warnings & errors in the wireless applet
17891
17892 2005-01-24  Dan Williams  <dcbw@redhat.com>
17893
17894         * panel-applet/NMWirelessApplet.c
17895                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
17896
17897 2005-01-24  Dan Williams  <dcbw@redhat.com>
17898
17899         * panel-applet/gtkcellview.[ch]
17900                 - Only compile these files for GTK 2.4 or lower, since 
17901                         GtkCellView is now public in GTK 2.6.  Fixes crasher
17902                         when choosing "Other Wireless Networks" from the panel
17903                         applet menu
17904
17905 2005-01-21  Dan Williams  <dcbw@redhat.com>
17906
17907         * src/NetworkManager.c
17908                 - Daemonize earlier so that glib doesn't get confused (?)
17909
17910 2005-01-21  Dan Williams  <dcbw@redhat.com>
17911
17912         * panel-applet/NMWirelessApplet.[ch]
17913           panel-applet/NMWirelessAppletDbus.c
17914           panel-applet/menu-info.c
17915           src/NetworkManagerDevice.c
17916                 - Disable wired devices in the menu when they have no link.
17917
17918 2005-01-21  Dan Williams  <dcbw@redhat.com>
17919
17920         * Cache last-known-good wireless authentication method in
17921                 NetworkManagerInfo, and use that method first during
17922                 wireless device activation.  Should speed up devices that
17923                 need Shared Key authentication method since Open System is
17924                 now the default.
17925
17926         * Remove the hack to not do full activation on wired connections
17927                 that are active when we launch, it causes too many problems
17928                 with name resolution and was a hack in the first place.
17929
17930         * Re-work wireless device activation again somewhat to have a
17931                 clearer chain of events and to use last-known-good
17932                 authentication method of the access point.  Also provide
17933                 better status throughout activation to ensure the applet
17934                 can tell the user exactly what's going on.
17935
17936         * Remove the "find wireless network" code and now simply attempt
17937                 to activate with that access point.  This reduces the delay
17938                 between selecting "Other wireless Network" and actually
17939                 connecting to that network.
17940
17941         * Correctly stop the device's worker thread when its removed.
17942
17943 2005-01-21  Dan Williams  <dcbw@redhat.com>
17944
17945         * dhcpcd/client.c
17946                 - Clean up some of the debug messages
17947
17948 2005-01-21  Dan Williams  <dcbw@redhat.com>
17949
17950         * Add new icons, more frames of animation
17951         * Remove some hacks to get the panel applet to display correct
17952                 status, an NM update will soon follow that will fix the
17953                 real issue.
17954
17955 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
17956
17957         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
17958         the first include for working i18n. Also, don't include it in .h files
17959         * panel-applet/NMWirelessApplet.h: Same
17960         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
17961         * panel-applet/menu-info.c: Same
17962
17963 2005-01-18  Dan Williams <dcbw@redhat.com>
17964
17965         * dhcpcd/client.c
17966                 - Remove some debug messages
17967                 - Wrap others in #ifdef DEBUG/#endif
17968
17969         * src/NetworkManager.c
17970                 - Remove some debug messages
17971                 - Clarify some debug messages
17972                 - Remove code related to old single-thread wireless scanning
17973
17974         * src/NetworkManagerAP.[ch]
17975                 - New AP property "last_seen" to track how recently an AP was
17976                         found in a scan
17977                 - Start using 'const' more in function arguments
17978
17979         * src/NetworkManagerAPList.[ch]
17980                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
17981                         of an AP found in an AP list from a source AP, or if not found
17982                         in the list add the source AP
17983                 - (nm_ap_list_combine): remove, no longer needed
17984
17985         * src/NetworkManagerDevice.c
17986                 - Each device now has a "worker" thread from start to end of its life.
17987                         Scanning for wireless devices now happens in that thread,
17988                         not in a single "wireless scanning thread" for all devices as
17989                         previously.  Activation consists of adding an idle handler to the
17990                         thread's main loop/context, which gets run at the next available
17991                         opportunity.
17992                 - Wireless scanning is also simplified, there is now only one list of
17993                         access points per wireless device, and APs older than 60s are
17994                         removed from the list.  Previously, we kept results for the last
17995                         3 scans and merged whole lists, which was complicated.
17996                 - Cleaned up activation debug messages.
17997                 - Wireless activation and access-point search routines now use Open System
17998                         authentication before trying Shared Key.
17999                 - Removed some code in nm_device_update_best_ap() that could cause cards
18000                         to loose their link to the access point.
18001                 - Scanning now uses a backoff algorithm, where the inverval becomes
18002                         progressively longer between scans when the list of scanned access
18003                         points doesn't change.  A change will revert to the shortest scan
18004                         interval (20s).
18005
18006         * src/NetworkManagerWireless.[ch]
18007                 - Remove code related to old single-thread wireless scanning
18008
18009 2005-01-18  Colin Walters  <walters@redhat.com>
18010
18011         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
18012         of older nameservers.
18013
18014 2005-01-18  Colin Walters  <walters@redhat.com>
18015
18016         * named/nm-named-manager.c (generate_named_conf): Many fixes
18017         to config file generation.
18018         (safer_kill): Remove, was too much trouble for little gain.
18019         (nm_named_manager_start): Run named as NM_NAMED_USER.
18020
18021         * configure.in: Add option --with-named-user.
18022
18023 2005-01-14  Colin Walters  <walters@redhat.com>
18024
18025         Patch from ed@catmur.co.uk (Ed Catmur)
18026
18027         * named/nm-named-manager.c: Add "context" property.
18028         Use it to add child watch source in specific GMainContext.
18029
18030         * src/NetworkManager.c (nm_data_new): Initialize
18031         named with correct main context.  Start named only
18032         after forking.
18033
18034 2005-01-14  Colin Walters  <walters@redhat.com>
18035
18036         * named/nm-named-manager.c (generate_named_conf): Write config
18037         and pid files into NM_NAMED_DATA_DIR; this allows things to
18038         work better with FC3 named SELinux policy.  Also fix up silly
18039         format error.
18040
18041         * configure.in: Add --with-named-dir option.
18042
18043 2005-01-14  Colin Walters  <walters@redhat.com>
18044
18045         * configure.in: Make named support require passing --with-named.
18046
18047         * named/nm-named-manager.c: Support writing resolv.conf directly
18048         without running named.
18049
18050 2005-01-13  Dan Williams <dcbw@redhat.com>
18051
18052         * named/nm-named-manager.c
18053                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
18054
18055         * src/NetworkManagerDevice.c
18056                 - Rework wireless link detection code to be more reliable
18057
18058 2005-01-12  Dan Williams <dcbw@redhat.com>
18059
18060         * initscripts/RedHat/NetworkManager
18061                 - Change initial level to "-" rather than "345" so that
18062                         we don't activate ourselves by default on install
18063
18064 2005-01-12  Dan Williams <dcbw@redhat.com>
18065
18066         * libnm_glib/
18067                 - Client library for applications using glib
18068
18069         * configure.in
18070           various Makefiles
18071                 - Split NM_CFLAGS and NM_LIBS into separate variables
18072                         like DBUS_*, HAL_* and GLIB_*
18073
18074         * src/NetworkManager.c
18075           src/NetworkManagerMain.h
18076                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
18077                         broadcast a status changed signal over DBUS from the main thread.
18078                         Still unused anywhere for the moment.
18079
18080         Patch from j@bootlab.org
18081         * panel_applet/NMWirelessAppletDbus.c
18082           src/NetworkManagerDbus.c
18083                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
18084                         for the "getMode" method call
18085
18086 2005-01-10  Dan Williams <dcbw@redhat.com>
18087
18088         * src/NetworkManagerDevice.c
18089                 - Minor fixups & corrections to "auto" frequency mode, make it
18090                         less chatty with syslog
18091
18092 2005-01-10  Dan Williams <dcbw@redhat.com>
18093
18094         * src/NetworkManagerDevice.c
18095                 - Implement "auto" frequency/channel support, since cards like Atheros
18096                         can't use other frequencies at all when you've told it to use a
18097                         specific one, even for scanning.
18098                 - Grab the scan mutex around places where we can't tolerate wireless
18099                         settings changing underneath us, like nm_device_wireless_network_exists()
18100                         and nm_device_activate_wireless()
18101
18102         * src/NetworkManagerWireless.c
18103                 - Back scan interval off to 20s instead of 14s
18104
18105 2005-01-09  Dan Williams <dcbw@redhat.com>
18106
18107         * src/NetworkManagerDevice.c
18108                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
18109                         already set.  Stops some drivers like Atmel from continually
18110                         reloading the firmware, which they do upon every configuration
18111                         change.
18112
18113 2005-01-09  Dan Williams <dcbw@redhat.com>
18114
18115         * dhcpcd/client.c
18116                 - Use correct timeout value
18117
18118         * info-daemon/NetworkManagerInfoDbus.c
18119           src/NetworkManagerDbus.c
18120                 - Consolidate communication between NM and NMI by doing only 1 dbus
18121                         method call to get Wireless Network info from NMI instead of 6
18122
18123         * src/NetworkManager.c
18124                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
18125                         when we didn't have an AP to use, we'd wait for one forever without
18126                         quitting
18127
18128         * src/NetworkManagerDevice.c
18129                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
18130                         activation, dhcp might not have started yet but we don't quit activation
18131                         before starting it, so the quit signal gets lost
18132
18133 2005-01-07  Dan Williams <dcbw@redhat.com>
18134
18135         * dhcpcd/client.c
18136                 - Rework the DHCP client code to be much less chatty when
18137                         it receives non-DHCP UDP packets during the DHCP run
18138                         (reported by and preliminary patches from Bill Moss)
18139
18140         * Move wireless scanning to a separate thread.  This thread forwards the
18141                 results to the main thread when done where they are integrated into
18142                 the device's access point lists.  This keeps the main thread (which
18143                 does all the DBUS communication) from being blocked for long periods
18144                 of time by wireless scanning.
18145
18146         * Make state modification an idle routine in the main loop, and trigger
18147                 state changes rather than polling for them.
18148
18149         * src/backends/NetworkManagerGentoo.c
18150                 - Fix up invalid C90 code (reported by Christoph Ruessler)
18151
18152         * src/NetworkManagerDevice.c
18153                 - Revert IPv6 patch for wired devices from 2004-12-22 for
18154                         router advertisements, causing problems and infinite loop
18155                         during "best" device determination due to link going up/down
18156                         (reported by Bill Moss)
18157
18158         Apply patch from Peter Jones
18159         * src/NetworkManagerDevice.c
18160                 - Shortcut for link-checking for ipw2x00 cards
18161                 - Split out association check into separate routine
18162
18163 2004-01-05  Colin Walters  <walters@redhat.com>
18164
18165         * named/named.conf: Add PID_FILE.
18166
18167         * named/nm-named-manager.c: Always generate a pid
18168         file, since older BIND versions don't support
18169         "pid-file none".
18170
18171 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
18172
18173         * configure.in (ALL_LINGUAS): Added ja (Japanese).
18174
18175 2004-12-22  Dan Williams <dcbw@redhat.com>
18176
18177         * src/NetworkManagerDevice.c
18178                 - Silently fail when setting bitrate doesn't work
18179
18180
18181         Patches from j@bootlab.org:
18182         * src/backends/NetworkManagerDebian
18183                 - Update backend to match functionality in RedHat backend
18184         * src/NetworkManagerDevice.c
18185                 - Take down then bring up wired devices after connection so
18186                 they send out ipv6 router advertisements
18187
18188 2004-12-21  Colin Walters  <walters@verbum.org>
18189
18190         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
18191         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
18192
18193 2004-12-21  Colin Walters  <walters@redhat.com>
18194
18195         * configure.in: Correct named detection.
18196
18197 2004-12-21  Colin Walters  <walters@redhat.com>
18198
18199         * src/NetworkManager.c (nm_data_new): Initialize named.
18200         Also, set up a signal handler for SIGINT/SIGTERM, and exit
18201         the mainloop when these signals are received.
18202         (nm_data_free): Unref named.
18203         (sigterm_handler, sigterm_pipe_handler): New functions for
18204         exiting mainloop.
18205         
18206         * src/NetworkManagerMain.h (NMData): Add signal handling and
18207         nameserver bits.
18208
18209         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
18210         unref.
18211
18212         * src/NetworkManagerDHCP.c (set_nameservers): New function;
18213         set nameservers from DHCP response data.
18214         (set_domain_search): Set domain search from DHCP response.
18215         (nm_device_dhcp_configure): Invoke them.
18216
18217         * src/NetworkManagerSystem.c
18218         (nm_system_device_update_resolv_conf): Delete.  Deleting
18219         code is totally sweet.
18220
18221         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
18222
18223         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
18224         implements an object which controls a nameserver.  Currently
18225         uses bind 9.
18226
18227         * configure.in: Check for named.
18228
18229         * Makefile.am (SUBDIRS): Add named dir.
18230
18231         * named/named.conf: New template config file.
18232
18233 2004-12-20  Colin Walters  <walters@redhat.com>
18234
18235         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
18236         instead of '='.
18237
18238 2004-12-17  Dan Williams  <dcbw@redhat.com>
18239
18240         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
18241                 link-local addresses instead of doing DHCP.
18242
18243         * In the panel applet, there's a new "Create new Wireless Network..." item
18244
18245         * The panel applet also sticks around now even if NetworkManager dies, but
18246                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
18247                 a bug, I'll fix that later.
18248
18249         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
18250                 lookups after a switch rather than actually doing them.
18251
18252         * Clean up some of those warnings in nm_ap_list_* functions
18253
18254         * Delay between scans changed to 15s instead of 10s
18255
18256 2004-12-15  Dan Williams  <dcbw@redhat.com>
18257
18258         Patch from Tom Parker
18259         * Add autoip/Link Local Addressing support when we fail to get a DHCP
18260                 address
18261
18262         * Longer pause after setting ESSID on cards that support a larger number
18263                 of channels to give the card time to find the right channel
18264
18265         * Add system hook to restart mDNSResponder (or whatever the local implementation
18266                 of Multicast DNS is) when we activate interfaces
18267
18268 2004-12-15  Dan Williams  <dcbw@redhat.com>
18269
18270         * Rework the DHCP code again to revert to sending full ethernet frames
18271                 rather then relying on the kernel to do the right thing with our
18272                 packets.
18273
18274 2004-12-06  Dan Williams  <dcbw@redhat.com>
18275
18276         * dhcpcd/client.c
18277                 - Fix some minor errors in dhcp_handle_transaction() that caused
18278                         unexpected early timeouts of DHCP transactions
18279
18280         * dhcpcd/client.h
18281                 - DHCP retransmit time from 4s -> 5s
18282
18283 2004-12-05  Dan Williams  <dcbw@redhat.com>
18284
18285         * Major rework of the DHCP code, taking some cues from pump.  We don't
18286                 write raw Ethernet packets anymore, which simplifies the code quite
18287                 a bit.  The new code should be more robust, not hang in recvfrom()
18288                 as much, and generally work better.  This also means that we need
18289                 to force HAL/dbus to use a created GMainContext rather than the
18290                 default context, since having the DHCP renew/rebind thread using
18291                 its own GMainContext seemed to give dbus a fit.  There is also more
18292                 debugging information printed from the DHCP loop to help with future
18293                 problems.
18294
18295         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
18296                 assume that the default gateway should be the DHCP server.
18297
18298         Patch from Matthew Schick <matt oss-institute org>
18299         * src/backends/NetworkManagerGentoo.c
18300                 - Fix compilation error due to missing "ip4_broadcast"
18301
18302 2004-12-03  Dan Williams  <dcbw@redhat.com>
18303
18304         * initscript/Makefile.am
18305         * initscript/Debian/NetworkManager
18306         * initscript/Gentoo/NetworkManager
18307         * initscript/RedHat/NetworkManager
18308         * initscript/NMLaunchHelper.c
18309                 - Remove NMLaunchHelper, if you need to wait until the network
18310                         comes up, use the dead code from CVS.
18311
18312 2004-12-01  Colin Walters  <walters@redhat.com>
18313         
18314         * configure.in: Suck in gcc warnings code from Rhythmbox,
18315         but use fewer default flags, and in particular add -Wno-unused,
18316         since the codebase has a lot of unused variables.
18317
18318         * test/nmtestdevices.c (create_device): 
18319         * test/nminfotest.c (get_network_string_property) 
18320         (get_networks_of_type): 
18321         * test/nmclienttest.c (main): 
18322         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
18323         * initscript/NMLaunchHelper.c (get_nm_status): 
18324         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
18325         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
18326         Fix declarations after statements.
18327
18328 2004-12-01  Colin Walters  <walters@redhat.com>
18329
18330         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
18331         (nmi_dbus_get_vpn_userpass): New method.
18332         (nmi_dbus_nmi_message_handler): Invoke it.
18333
18334         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
18335
18336         * info-daemon/NetworkManagerInfoVPN.h,
18337         info-daemon/NetworkManagerInfoVPN.c: New files; responds
18338         to requests for VPN passwords.
18339
18340         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
18341
18342 2004-12-01  Colin Walters  <walters@redhat.com>
18343
18344         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
18345         includes.
18346
18347 2004-12-01  Colin Walters  <walters@redhat.com>
18348
18349         * panel-applet/NMWirelessAppletDbus.c
18350         (nmwa_dbus_update_active_device_strength): Fix missing
18351         return value.
18352
18353 2004-12-01  Colin Walters  <walters@redhat.com>
18354
18355         * panel-applet/NMWirelessApplet.c: Add missing include.
18356
18357 2004-12-01  Colin Walters  <walters@redhat.com>
18358
18359         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
18360         Remove useless CLAMP (); the value is unsigned, and the case tests
18361         qual->qual < 100, so the value must always be between 0 and 100.
18362
18363 2004-12-01  Colin Walters  <walters@redhat.com>
18364
18365         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
18366
18367 2004-11-22  Colin Walters  <walters@verbum.org>
18368
18369         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
18370         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
18371         which is essentially a noop since nscd caches hosts on disk too.
18372         
18373 2004-11-22  Colin Walters  <walters@redhat.com>
18374
18375         * src/Makefile.am (NetworkManager_SOURCES): Add
18376         NetworkManagerDevicePrivate.h.
18377
18378 2004-11-22  Dan Williams <dcbw@redhat.com>
18379
18380         * src/NetworkManagerDevicePrivate.h
18381                 - Split out the NMDevice struct to a different file so that stuff like
18382                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
18383
18384         * dhcpcd/client.c
18385                 - fprintf->syslog
18386                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
18387                         need to cancel the dhcp request during the send and recv
18388
18389         * dhcpcd/client.h
18390                 - Move the DHCP option enum to dhcpcd.h
18391
18392         * src/NetworkManagerDHCP.c
18393                 - Split out the actual IP/netmask/etc setting code
18394                 - New Renew/Rebind functions
18395                 - New timer setup function for renew/rebind operations
18396
18397         * src/NetworkManagerDevice.c
18398                 - For device activation, if we are using DHCP then keep the activation thread
18399                         alive until device deactivation.  We need to renew/rebind the DHCP address
18400                         after the T1 (renew) and T2 (rebind) times have expired.
18401                 - Increase some timeouts after bringing wireless cards up/down
18402
18403 2004-11-17  Dan Williams <dcbw@redhat.com>
18404
18405         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
18406                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
18407                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
18408                 show known access points that don't broadcast their ESSID in the menus without
18409                 any user intervention whatsoever.
18410
18411         * info-daemon/NetworkManagerInfoDbus.c
18412                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
18413                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
18414
18415         * src/NetworkManagerAP.[ch]
18416                 - Add a "user_addresses" data member to the NMAccessPoint structure
18417                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
18418                         the user_addresses data member
18419
18420         * src/NetworkManagerAPList.c
18421                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
18422                         the AP's reported address
18423                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
18424
18425         * src/NetworkManagerDHCP.c
18426                 - Increase DHCP timeout from 25s -> 30s
18427
18428         * src/NetworkManagerDbus.[ch]
18429                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
18430                         user addresses
18431
18432         * src/NetworkManagerDevice.c
18433                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
18434                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
18435                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
18436                         So, we take the card down to clear it out.
18437                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
18438                         too, since that's where the user_addresses are
18439
18440         * src/NetworkManagerPolicy.c
18441                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
18442                         that wireless networks' user_addresses list upon successful activation
18443
18444 2004-11-16  Dan Williams <dcbw@redhat.com>
18445
18446         * src/NetworkManagerDevice.[ch]
18447                 - (nm_device_clear_activation_fail): new function
18448
18449         * src/NetworkManagerPolicy.c
18450                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
18451                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
18452
18453 2004-11-16  Dan Williams <dcbw@redhat.com>
18454
18455         * src/NetworkManagerDevice.c
18456                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
18457                         leak the structure, better updating of now_scanning status
18458                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
18459
18460 2004-11-15  Dan Williams <dcbw@redhat.com>
18461
18462         Major rework of link detection code.  We now use DHCP
18463         as part of the link detection which proves to be much more robust,
18464         and also supports Open System authentication for wireless networks.
18465
18466         We no longer use external DHCP client programs.  Instead, we use 
18467         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
18468         which was written by:
18469                 Yoichi Hariguchi <yoichi@fore.com>
18470                 Sergei Viznyuk <sv@phystech.com>
18471                 http://www.phystech.com/download/
18472         It resides in the "dhcpcd" directory and was refactored into a general
18473         purpose DHCP client library by me.
18474
18475         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
18476         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
18477
18478 2004-11-15  Dan Williams <dcbw@redhat.com>
18479
18480         Patch from Tom Parker <palfrey@tevp.net>:
18481
18482         * src/NetworkManagerDevice.c
18483                 - Less output to console when no access
18484                         points are found during a scan
18485
18486 2004-11-15  Dan Williams <dcbw@redhat.com>
18487
18488         Patch from Tom Parker <palfrey@tevp.net>:
18489
18490         * src/backends/interface_parser.c
18491                 - Use g_strdup ()
18492                 - Check for inp == NULL
18493                 - use syslog ()
18494
18495 2004-11-13  Colin Walters  <walters@redhat.com>
18496
18497         Patch from Tom Parker <palfrey@tevp.net>:
18498
18499         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
18500         
18501         * src/backends/NetworkManagerRedHat.c: Switch to
18502         including shvar.h instead of shvar.c.
18503
18504         * src/backends/NetworkManagerDebian.c: Don't include
18505         interface_parser.c in source file.
18506
18507         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
18508         and interface_parser.[ch].
18509         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
18510         Include shvar.c and shvar.h here.
18511         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
18512         interface_parser.c and interface_parser.h here.
18513
18514 2004-11-12  Colin Walters  <walters@redhat.com>
18515
18516         * configure.in: Strip out TARGET_DISTRO and
18517         SYSTEM_BACKEND_FILE variables.  Switch to Automake
18518         conditionals.
18519
18520         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
18521         (libnmbackend_la_SOURCES): Use Automake conditionals
18522         to add distro-specific files.
18523
18524         * initscript/Makefile.am (SUBDIRS): Update to
18525         use conditionals.
18526
18527 2004-11-12  Colin Walters  <walters@redhat.com>
18528
18529         Patches from j bootlab org
18530
18531         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
18532         Add interface_parser.[ch].
18533
18534         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
18535         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
18536
18537 2004-11-12  Colin Walters  <walters@redhat.com>
18538
18539         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
18540         call to nmi_dbus_is_running too, not necessary anymore.
18541         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
18542         pick up exit().
18543
18544 2004-11-11  Colin Walters  <walters@verbum.org>
18545
18546         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
18547         Delete.
18548         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
18549         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
18550         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
18551         This avoids a race condition that made it pretty easily
18552         possible to get two NetworkManagerInfo daemons running.
18553
18554 2004-11-11  Colin Walters  <walters@verbum.org>
18555         
18556         * src/NetworkManager.c (main): Use daemon(3).
18557
18558         * info-daemon/NetworkManagerInfo.c (main): Ditto.
18559
18560         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
18561
18562 2004-11-10 Dan Williams <dcbw@redhat.com>
18563
18564         Patches from j bootlab org
18565         * src/NetworkManagerDevice.c
18566                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
18567                         whether the card has a link or not, some cards are slow
18568                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
18569
18570         * info-daemon/NetworkManagerInfoPassphraseDialog.c
18571                 - Disable the "Login" button on the passphrase dialog until the user
18572                         enters a valid passphrase or key
18573
18574         Patches from Tom Parker <palfrey tevp net>
18575         * src/backends/NetworkManagerDebian.c
18576                 - Add static IP support to the debian backend
18577
18578         * src/backends/interface_parser.[ch]
18579                 - Parse debian interface config files
18580
18581 2004-11-08 Dan Williams <dcbw@redhat.com>
18582
18583         * src/NetworkManagerDevice.c
18584                 - Some random fprintf->syslog conversions
18585                 - (nm_device_wireless_network_exists): double-check for network
18586                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
18587
18588         * src/NetworkManagerWireless.[ch]
18589                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
18590                         so that the binary->ascii conversion works (if unsigned, the bitshift
18591                         will fill with zeros, which is what's required).  Also mask bitshift
18592                         result with 0xF for futher assurance.
18593
18594 2004-11-06 Dan Williams <dcbw@redhat.com>
18595
18596         * src/NetworkManagerUtils.c
18597                 - (nm_get_wireless_driver_support_level): default to
18598                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
18599                         flip this when changing from whitelist->blacklist of
18600                         wireless drivers
18601
18602 2004-11-05 Dan Williams <dcbw@redhat.com>
18603
18604         Patch from Robert Paskowitz:
18605         * src/backends/NetworkManagerGentoo.c
18606                 - Update static IP config code
18607
18608 2004-11-05 Dan Williams <dcbw@redhat.com>
18609
18610         * info-daemon/NetworkManagerInfoDbus.c
18611           src/NetworkManagerDbus.[ch]
18612           src/NetworkManagerDevice.c
18613                 - Keep track of the # of attempts to get the WEP key
18614                         from the user and pass that along to the info daemon
18615
18616 2004-11-05 Dan Williams <dcbw@redhat.com>
18617
18618         * src/NetworkManagerUtils.c
18619                 - Blacklist wireless cards rather than whitelisting them.
18620                 - Grab driver name from HAL rather than trying to find it
18621                         ourselves.
18622
18623 2004-11-03 Dan Williams <dcbw@redhat.com>
18624
18625         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
18626                 - Disable OK button until valid data is entered
18627                         for encryption stuff too
18628
18629         * panel-applet/NMWirelessApplet.c
18630                 - Report card strength for current AP if the card
18631                         doesn't report strength data for scanned access
18632                         points
18633
18634         * src/NetworkManagerDevice.c
18635                 - Smooth out cards reported quality, Atmel card was
18636                         intermittently reporting no quality data but soon
18637                         recovers
18638
18639         * src/NetworkManagerWireless.c
18640                 - Better quality data percentage calculation.  Atmel
18641                         cards (mine at least) seem to report the quality
18642                         in percentage format already, so honor that
18643
18644         Patch from <j@bootlab.org>
18645         * NetworkManager.h
18646           info-daemon/NetworkManagerInfoPassphraseDialog.c
18647           info-daemon/passphrase.glade
18648           panel-applet/NMWirelessAppletOtherNetworkDialog.c
18649           panel-applet/essid.glade
18650           src/NetworkManagerAP.c
18651           src/NetworkManagerDevice.c
18652           src/NetworkManagerWireless.[ch]
18653                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
18654
18655 2004-11-03 Dan Williams <dcbw@redhat.com>
18656
18657         * src/NetworkManagerDevice.[ch]
18658                 - (nm_device_set_enc_key): Add parameter to set Authentication
18659                         Mode (Open System, Shared Key, or None).  We're still using
18660                         Shared Key for now though.
18661
18662 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
18663
18664         * panel-applet/menu-info.c: change from bold text to light
18665         colored, may cause problems with some themes, i've tested a lot
18666         and they seem fine. 
18667
18668         * panel-applet/NMWirelessApplet.c: fix strength tooltip
18669
18670 2004-11-01  Colin Walters  <walters@verbum.org>
18671
18672         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
18673         (nm_wireless_128bit_key_from_passphrase): Add const.
18674
18675         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
18676         (nm_ap_set_enc_key_source): Add const.
18677         
18678 2004-11-01  Colin Walters  <walters@verbum.org>
18679
18680         * .cvsignore: Update.
18681
18682 2004-10-29 Dan Williams <dcbw@redhat.com>
18683
18684         * src/NetworkManagerDevice.c
18685                 - (nm_device_wireless_network_exists): Actually use the encryption
18686                         key we got from the applet when attempting to find a wireless network
18687                 - Don't bring devices down so much since on some cards it triggers
18688                         firmware hotplugs each time
18689
18690         * src/NetworkManagerDbus.c
18691                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
18692                         from the caller
18693
18694 2004-10-29 Dan Williams <dcbw@redhat.com>
18695
18696         * src/NetworkManager.c
18697                 - (nm_hal_device_property_modified): unlock a locked active
18698                         wireless device when a wired connection gets a link.
18699                         (Means you'll switch to wired whenever you plug in no
18700                         matter what).
18701
18702 2004-10-29 Dan Williams <dcbw@redhat.com>
18703
18704         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
18705                 - New files, implement the "Other wireless network" dialog
18706
18707         * panel-applet/NMWirelessApplet.c
18708                 - Move "other wireless network" dialog to separate file
18709
18710         * panel-applet/NMWirelessAppletDbus.[ch]
18711                 - Take key and key_type paramaters for the set_device function
18712
18713         * panel-applet/essid.glade
18714                 - Add UI bits for encryption settings
18715
18716         * src/NetworkManagerDbus.c
18717                 - Retrieve key and key_type params for "setActiveDevice" method call
18718                         and pass them on
18719                 - unref AP returned from nm_device_get_best_ap() when needed
18720
18721         * src/NetworkManagerDevice.c
18722                 - (nm_device_get_best_ap): ref the ap before returning it
18723                 - unref AP returned from nm_device_get_best_ap() when needed
18724                 - (nm_device_activate_wireless): add "ap" parameter so we don't
18725                         need to call nm_device_get_best_ap() here, it was pretty much
18726                         redundant anyway
18727                 - (AP_NEED_KEY): break second link check condition out into separate
18728                         function, and fix segfault when ap->enc_key_source was NULL
18729                 - (nm_device_find_and_use_essid): take key and key_type parameters and
18730                         pass them along to nm_device_wireless_network_exists().  If the
18731                         network does exist, set the passed-in key+key_type on the AP
18732
18733         * src/NetworkManagerPolicy.c
18734                 - unref AP returned from nm_device_get_best_ap() when needed
18735
18736 2004-10-28 Dan Williams <dcbw@redhat.com>
18737
18738         * src/NetworkManagerUtils.c
18739                 - (nm_spawn_process): Fix a potential dereference of NULL
18740
18741         Patches from Peter Jones:
18742
18743         * src/NetworkManagerDevice.c
18744                 - (nm_device_test_wireless_extensions): Better check for
18745                         wireless devices
18746
18747         * src/NetworkManagerUtils.c
18748                 - (nm_spawn_process): Pass in valid stdout and stderr so
18749                         executed programs don't randomly SIGPIPE and fail
18750                 - (nm_get_wired_driver_support_level): quash hal warning
18751                         when checking for USB ethernet device
18752
18753 2004-10-27 Dan Williams <dcbw@redhat.com>
18754
18755         * info-daemon/NetworkManagerInfo.c
18756           info-daemon/NetworkManagerInfoDbus.c
18757           info-daemon/NetworkManagerInfoPassphraseDialog.c
18758           panel-applet/NMWirelessApplet.c
18759                 - Properly escape gconf keys
18760
18761         * src/NetworkManager.c
18762                 - remove unused variables
18763
18764         * src/NetworkManagerAP.c
18765                 - (nm_ap_new_from_ap): Don't redundantly set new APs
18766                         refcount since it got set in nm_ap_new()
18767
18768         * src/NetworkManagerAPList.c
18769                 - (nm_ap_list_combine): Give up ownership of newly created
18770                         access points to the ap list, fixes memleak
18771
18772         * src/NetworkManagerDevice.c
18773                 - Remove cached_ap_list4 member since its not really needed
18774                 - (nm_device_wireless_network_exists): Try to get correct
18775                         encryption status of a found AP if its already in our
18776                         device list
18777                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
18778                         memory allocs/deallocs a bit clearer and shorter-lived
18779
18780 2004-10-26 Ray Strode <rstrode@redhat.com>
18781
18782         * panel-applet/NMWirelessApplet.c:
18783           (custom_essid_item_selected):  kill some compiler
18784         warnings 
18785
18786 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
18787
18788         * info-daemon/NetworkManagerInfoDbus.c
18789                 - (nmi_dbus_is_running): New function for determining if nmi is already running
18790                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
18791
18792 2004-10-23 Dan Williams <dcbw@redhat.com>
18793
18794         * info-daemon/NetworkManagerInfoDbus.c
18795                 - Trap the "DeviceActivationFailed" signal
18796
18797         * docs/NetworkManager DBUS API.txt
18798                 - Add "DeviceActivationFailed" signal
18799
18800         * panel-applet/NMWirelessAppletDbus.c
18801                 - Quash the "NetworkManager service not available" message
18802
18803         * src/NetworkManagerDbus.[ch]
18804                 - Add the "DeviceActivationFailed" signal
18805
18806         * src/NetworkManagerDevice.c
18807                 - Add support for activation_failed flag
18808                 - Fix deadlock where activation thread didn't clean itself up, making
18809                         main thread still believe it was alive forever (didn't reset activation
18810                         flags like activating, just_activated, etc when IP configuration
18811                         failed)
18812
18813         * src/NetworkManagerPolicy.c
18814                 - Implement logic for DeviceActivationFailed signal, and when activation fails
18815                         for wireless networks, try to fall back to some other access point
18816
18817 2004-10-23 Dan Williams <dcbw@redhat.com>
18818
18819         * panel-applet/NMWirelessApplet.[ch]
18820                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
18821                         to the applet object, so we can get tooltips
18822                 - Add tooltips (RH #136866)
18823
18824         * src/NetworkManagerDevice.c
18825                 - When trying to find a wireless network, try to connect with encryption
18826                         turned on first, so that we can more accurately detect whether or not
18827                         we need to use encryption for the actual association later on
18828
18829 2004-10-21 Dan Williams <dcbw@redhat.com>
18830
18831         * Add some support for telling NetworkManagerInfo to tell the user
18832                 that they are using a device that's not fully supported
18833
18834         * Fix some assertions in debug messages due to null access point args
18835
18836 2004-10-21 Dan Williams <dcbw@redhat.com>
18837
18838         * src/NetworkManagerDevice.c
18839                 - Don't try to activate/bring up/down unsupported
18840                         devices
18841
18842         * src/NetworkManagerUtils.c
18843                 - Fix case of PCI ID checks for driver support levels
18844
18845 2004-10-21 Dan Williams <dcbw@redhat.com>
18846
18847         * NetworkManager.h
18848                 - New file, now contains commonly used structures and bits
18849                         for the dbus API of NetworkManager
18850
18851         * Makefile.am
18852                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
18853
18854         * src/NetworkManager.h
18855                 - Rename -> src/NetworkManagerMain.c
18856
18857         * Various fixups all around to use NetworkManager.h and new
18858                 src/NetworkManagerMain.h, remove redundant bits that got
18859                 moved into NetworkManager.h
18860
18861         * src/NetworkManagerDevice.[ch]
18862           src/NetworkManagerUtils.[ch]
18863           src/NetworkManagerPolicy.c
18864           src/NetworkManagerDbus.c
18865                 - Whitelist wireless drivers, and blacklist some wired
18866                         drivers.  Also blacklist cipsec and ethernet-over-usb
18867                         devices at this time (RH #135722, RH #135648)
18868                 - Don't leak unsupported devices out over dbus, or allow
18869                         them to be set as the active device.  Skip over them
18870                         during automatic device picking
18871
18872         * test/nmclienttest.c
18873                 - Clean up the dbus code a lot
18874
18875 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
18876
18877         * configure.in: post release bump.
18878
18879 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
18880
18881         * configure.in:
18882         * NEWS: Released NetworkManager-0.3.1
18883
18884 2004-10-18 Dan Williams <dcbw@redhat.com>
18885
18886         Patches from Thom May:
18887         * test/nmtestdevices.c
18888                 - Include <string.h>
18889         * src/backends/NetworkManagerDebian.c:
18890                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
18891                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
18892                         Move to using g_strdup_printf rather than arbitrary buffers
18893                 - (nm_system_device_setup_static_ip4_config) Implement function.
18894                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
18895
18896 2004-10-17 Dan Williams <dcbw@redhat.com>
18897
18898         * info-daemon/NetworkManagerInfoDbus.c
18899                 - Display name of network in the "network not found" dialog
18900
18901         * panel-applet/NMWirelessAppletDbus.c
18902                 - (nmwa_dbus_call_nm_method): new function replaces all other
18903                         nmwa_dbus_get_[string|string_array|int|boolean] methods
18904                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
18905                         consolidated into nmwa_dbus_get_object_name()
18906
18907 2004-10-15 Dan Williams <dcbw@redhat.com>
18908
18909         * src/NetworkManagerDbus.c
18910           info-daemon/NetworkManagerInfoDbus.c
18911                 - Display an error dialog when the user tries to use an
18912                         "Other wireless network" that's not found.
18913
18914 2004-10-15 Dan Williams <dcbw@redhat.com>
18915
18916         * panel-applet/NMWirelessApplet.[ch]
18917                 - Fix up corner cases in applet state, making it
18918                         look more responsive.  Change state to "connecting" when
18919                         the user is forcing a device too.
18920
18921 2004-10-15 Dan Williams <dcbw@redhat.com>
18922
18923         * src/NetworkManagerAPList.c
18924                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
18925
18926         * src/NetworkManagerDbus.c
18927                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
18928
18929         * src/NetworkManagerDevice.c
18930                 - Disown APs after the device's AP list takes ownership
18931
18932 2004-10-15 Dan Williams <dcbw@redhat.com>
18933
18934         * panel-applet/NMWirelessApplet.c
18935                 - Update our applet state from the GUI thread
18936
18937         * panel-applet/NMWirelessAppletDbus.c
18938                 - Greatly simplify the locking to make the GUI thread
18939                         smoother.  Update a private copy of the device list
18940                         and active device and only when done talking to
18941                         NetworkManager turn it over to the GUI thread.
18942
18943 2004-10-15 Dan Williams <dcbw@redhat.com>
18944
18945         * src/NetworkManagerAP.[ch]
18946                 - Add "artificial" get/set functions, set for APs that
18947                         aren't discovered as part of a scan but instead
18948                         discovered by force-setting the ESSID
18949
18950         * src/NetworkManagerDevice.[ch]
18951                 - (nm_device_wireless_network_exists): pass back whether
18952                         or not the discovered AP was encrypted.  Also, try
18953                         falling back to encrypted mode on the card if unencrypted
18954                         association doesn't work
18955                 - (nm_device_find_and_use_essid): If the network requested
18956                         did in fact exists, but it wasn't in our scan list, add
18957                         an "artificial" entry for it.  Some Cisco cards don't
18958                         see non-ESSID-broadcasting APs in their scan but can still
18959                         associate with them if you know the ESSID, this works around
18960                         that behavior
18961                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
18962                         to scan if the card is currently associated with that AP
18963
18964 2004-10-15 Dan Williams <dcbw@redhat.com>
18965
18966         ---- We have a website ----
18967         http://people.redhat.com/dcbw/NetworkManager
18968
18969         Patch from Robert Paskowitz:
18970         * src/NetworkManager.c
18971                 - (main): Make sure we are run as root
18972         * src/NetworkManagerDevice.c
18973                 - Fix type in ad-hoc setting function
18974
18975         Patch from Thom May:
18976         * src/backends/NetworkManagerDebian.c
18977                 - Make Debian backend compile again
18978
18979 2004-10-14 Dan Williams <dcbw@redhat.com>
18980
18981         * Tagged NetworkManager-0_3
18982
18983 2004-10-14 Dan Williams <dcbw@redhat.com>
18984
18985         Patch from Robert Paskowitz:
18986         * NEWS
18987           src/NetworkManagerDevice.[ch]
18988           src/backends/NetworkManagerDebian.c
18989           src/backends/NetworkManagerGentoo.c
18990           src/backends/NetworkManagerRedHat.c
18991           src/backends/NetworkManagerSlackware.c
18992                 - Add support for grabbing and using a broadcast address
18993                         from system config files
18994                 - Some Gentoo backend fixes for grabbing network config
18995                 - Fix LOG_WARN->LOG_WARNING
18996
18997 2004-10-14 Dan Williams <dcbw@redhat.com>
18998
18999         * NEWS: a few small fixes in the credits
19000
19001 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
19002
19003         * NEWS: prep for release.
19004
19005 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
19006
19007         * panel-applet/NMWirelessAppletDbus.c
19008         (nmwa_dbus_update_device_wireless_networks): remove warnings.
19009
19010 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
19011
19012         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
19013         applet->state == APPLET_STATE_NO_NM animation.
19014
19015         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
19016         set the text correctly.
19017
19018 2004-10-14 Dan Williams <dcbw@redhat.com>
19019
19020         * src/NetworkManager.c
19021                 - Only accept and manager 802.3 and 802.11 devices
19022
19023         * src/NetworkManagerDbus.[ch]
19024                 - (nm_dbus_nm_set_active_device): move most of the actual activation
19025                         logic into NetworkManagerDevice.c
19026                 - (nm_dbus_network_status_from_data): new function
19027                 - (nm_dbus_signal_network_status_change): new function, unused for now
19028                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
19029
19030         * src/NetworkManagerDevice.[ch]
19031                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
19032                         a random ESSID.
19033
19034 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
19035
19036         * info-daemon/NetworkManagerInfo.c 
19037                 - (main): Added session management
19038
19039 2004-10-14 Dan Williams <dcbw@redhat.com>
19040
19041         * panel-applet/NMWirelessAppletDbus.[ch]
19042                 - Expose network_device_[un]ref()
19043                 - Expose wireless_network_[un]ref()
19044                 - (wireless_network_new_with_essid): new function, create and return
19045                         a wireless network with a particular essid
19046
19047         * panel-applet/NMWirelessApplet.c
19048                 - Hook up the "other network" dialog to do something
19049
19050 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
19051
19052         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
19053         doesn't work yet, but it looks okay.
19054
19055         * panel-applet/icons/*png: Resize to 22x22 and install in the
19056         right place.
19057
19058 2004-10-13 Dan Williams <dcbw@redhat.com>
19059
19060         * panel-applet/NMWirelessApplet.c
19061                 - Add function to print out applet_state in a readable
19062                         manner
19063
19064         * src/NetworkManager.c
19065                 - (main): Don't segfault when nm_dbus_init() fails, we had
19066                         a left-over call to hal_shutdown() into which we passed NULL
19067
19068         * src/NetworkManagerAP.c
19069                 - (nm_ap_set_essid): Allow NULL essids
19070
19071         * src/NetworkManagerAPList.[ch]
19072                 - More use of nm_ap_list_[un]lock ()
19073                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
19074                         network/essid, just return nothing.  Also skip over NULL
19075                         essid access points in the list when searching
19076                 - (nm_ap_list_get_ap_by_address): new function
19077                 - (nm_ap_list_update_network): set the access point's key source to
19078                         NULL when the key returned from NetworkManagerInfo is NULL or
19079                         of 0 length
19080                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
19081                         copy timestamp over too
19082                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
19083                         find the correct ESSID for a blank-essid access point by searching
19084                         through another list and matching access point MAC addresses
19085                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
19086
19087         * src/NetworkManagerDbus.c
19088                 - (nm_dbus_nm_set_active_device): deal with random networks the user
19089                         may specify.  This is mainly for access points that don't
19090                         broadcast their essid.  So if the user tells us to associate with
19091                         some random ESSID that's not in our access point list, we find
19092                         out if the access point does in fact exist (by attempting association
19093                         and then matching that access point's MAC address with the essid the
19094                         user gave us) and then we switch to it.
19095                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
19096                         to the returned list of networks for the "getNetworks" method
19097
19098         * src/NetworkManagerDevice.[ch]
19099                 - Extra debugging info for link detection
19100                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
19101                         based on MAC address
19102                 - (nm_device_get_path_for_ap): ignore blank-essid access points
19103                 - (nm_device_wireless_network_exists): new function, find out whether
19104                         a random ESSID exists by attempting to associate with it
19105                 - (nm_device_do_normal_scan): allow blank-essid access points in our
19106                         device list as long as they have an AP MAC address we can use.
19107                         Also send WirelessNetwork[Dis]Appeared signals for non-active
19108                         devices too.  Lets the applet update more frequently.
19109
19110         * src/backends/NetworkManagerGentoo.c
19111                 - Patch from: Robert Paskowitz
19112                         - Update backend code for Gentoo
19113                         - Implement nm_system_device_update_config_info ()
19114
19115         * test/nmclienttest.c
19116                 - (set_network_device): new function, takes a command-line argument
19117                         and tells NetworkManager to use that wireless network
19118
19119 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
19120
19121         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
19122         if the notification icon crashes 5 times within 5 seconds of each respawn 
19123
19124 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
19125
19126         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
19127         g_print.
19128
19129 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
19130
19131         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
19132
19133         * panel-applet/NMWirelessApplet.c: (animation_timeout),
19134         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
19135         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
19136         Change the name of the icons.
19137
19138         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
19139         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
19140         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
19141         (nm_menu_wireless_expose_event): Really bad hack to get the style
19142         to draw in the right color.
19143
19144 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
19145
19146         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
19147         Notification if it crashes
19148
19149 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
19150
19151         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
19152         (nmwa_dbus_get_string): remove unused functions
19153
19154         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
19155         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
19156         remove unused functions
19157
19158         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
19159
19160 2004-10-12 Dan Williams <dcbw@redhat.com>
19161
19162         * panel-applet/NMWirelessAppletDbus.c
19163                 - New functions:
19164                         wireless_network_new
19165                         wireless_network_copy
19166                         network_device_new
19167                         network_device_copy
19168
19169         * src/NetworkManagerDevice.[ch]
19170                 - New functions:
19171                         nm_device_set_mode_managed
19172                         nm_device_set_mode_adhoc
19173                 - Use these functions where appropriate
19174                 - When creating a new wireless device, force the card
19175                         to managed/Infrastructure mode as soon as possible
19176
19177 2004-10-12 Dan Williams <dcbw@redhat.com>
19178
19179         * src/NetworkManagerDevice.c
19180                 - Force wireless cards into Infrastructure mode before we use them
19181
19182 2004-10-12 Dan Williams <dcbw@redhat.com>
19183
19184         * TODO
19185                 - Remove bit about static IP address support
19186
19187         * src/NetworkManagerUtils.c
19188                 - (nm_spawn_process): Add some error reporting
19189
19190         * src/NetworkManagerDevice.c
19191                 - (nm_device_activation_configure_ip): hook up to the static config
19192                         routines in the backends
19193
19194         * src/backends/NetworkManagerRedHat.c
19195                 - (nm_system_device_update_config_info): use shvar.c routines to
19196                         parse the config file iformation, not our own
19197                 - (nm_system_device_setup_static_ip4_config): new function, based
19198                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
19199                         with a static IP address and gateway
19200
19201         * src/backends/shvar.[ch]
19202                 - Parser (filched from initscripts package) for ifcfg-* files
19203
19204         * src/backends/NetworkManagerSystem.h
19205           src/backends/NetworkManagerGentoo.c
19206           src/backends/NetworkManagerDebian.c
19207           src/backends/NetworkManagerSlackware.c
19208                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
19209
19210 2004-10-11 Dan Williams <dcbw@redhat.com>
19211
19212         * TODO
19213                 - Remove bit about more robust AP diffing since I just implemented it
19214
19215 2004-10-11 Dan Williams <dcbw@redhat.com>
19216
19217         * src/NetworkManagerAP.c
19218                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
19219                         enough RAM to allocate new AP structures, but return NULL instead
19220
19221         * src/NetworkManagerAPList.[ch]
19222                 - (nm_ap_list_is_empty): new function
19223                 - (nm_ap_list_combine): new function, combine two access point lists
19224                 - (nm_ap_list_copy_keys): new function, copy keys from one list
19225                         into another
19226
19227         * src/NetworkManagerDevice.[ch]
19228                 - Rename some functions to be clearer:
19229                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
19230                         nm_device_just_activated     -> nm_device_is_just_activated
19231                         nm_device_activating         -> nm_device_is_activating
19232                         nm_device_now_scanning       -> nm_device_is_scanning
19233                 - Cache the last 4 scans so that the access point list is more stable.
19234                         We combine the lastest two scans and use that as the AP list,
19235                         and diff that combined list against the combination of the earliest
19236                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
19237
19238 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19239
19240         * info-daemon/NWManagerInfo.h
19241                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
19242
19243         * info-daemon/NWManagerInfoDbus.c
19244                 - (shutdown_callback): new function
19245                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
19246                         if NetworkManager goes away.  Kill the timeout
19247                         if NetworkManager restarts before the 30 seconds
19248                         are up.
19249                 - (nmi_dbus_service_init): 
19250                         - call gtk_main_quit if NetworkManager is not running
19251                         - add filters to monitor dbus service creations and
19252                                 deletions
19253         
19254 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19255
19256         * panel-applet/NMWirelessApplet.c
19257                 - (nmwa_update_state): Hide notification icon if we are only
19258                         showing one wired card and no wireless interfaces 
19259                         (Red Hat Bug #134895)
19260
19261         * panel-applet/NMWirelessAppletDbus.c
19262                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
19263
19264         * info-daemon/NWManagerInfo.c
19265                 - (main): Terminated the notification_icon_cmd array with a NULL
19266
19267 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
19268
19269         * configure.in (ALL_LINGUAS): Added de (German).
19270
19271 2004-10-08 Dan Williams <dcbw@redaht.com>
19272
19273         * src/NetworkManagerDevice.c
19274                 - Be a bit more robust about link checking, ie make sure that
19275                         the WEP key we were given actually has some data in it
19276
19277 2004-10-08 Dan Williams <dcbw@redhat.com>
19278
19279         * info-daemon/NetworkManagerInfo.c (main):
19280                 - Initialize GError object to NULL
19281
19282 2004-10-08 Dan Williams <dcbw@redhat.com>
19283
19284         * panel-applet/NMWirelessAppletDbus.c
19285                 - Die if NetworkManagerInfo dies, since it manages our lifetime
19286
19287 2004-10-08 Dan Williams <dcbw@redhat.com>
19288
19289         * info-daemon/NetworkManagerInfo.[ch]
19290           info-dameon/NetworkManagerInfoDbus.[ch]
19291           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
19292                 - Preserve original label text in the passphrase dialog so that
19293                         it actually gets updated with the new network name the next
19294                         time around.  Previously, we were overwriting it so you'd get
19295                         the wrong network name to enter a key for
19296                 - Add a "Key Type" combo to the passphrase dialog, user selects
19297                         encryption key type now, type is stored in GConf too
19298                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
19299
19300         * src/NetworkManagerAP.[ch]
19301                 - Remove all the encyption method magic.  It's now set by the user
19302                         and NetworkManager retrieves the type of encryption key from
19303                         NetworkManagerInfo
19304
19305         * src/NetworkManagerAPList.[ch]
19306           src/NetworkManagerDbus.[ch]
19307                 - Adjust to new way of setting encryption key and method
19308                 - Pull encryption method down from NMI along with key
19309
19310         * src/NetworkManagerDevice.[ch]
19311                 - Removed encryption method fallback magic as the method is now
19312                         determined by the user.  This greatly simplifies the connection
19313                         logic.
19314                 - More robust connection/link logic.  Besides removing the encryption
19315                         method fallback magic, check whether or not the card is receiving
19316                         invalidly encrypted packets, which usually indicates that we have
19317                         a bad WEP key set.
19318                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
19319
19320         * test/nminfotest.c
19321                 - Test out new "Key Type" stuff in the NMI passphrase dialog
19322
19323 2004-10-07 Dan Williams <dcbw@redhat.com>
19324
19325         * info-daemon/NetworkManagerInfo.conf
19326                 - Allow root user to run NMI too
19327
19328 2004-10-06 Dan Williams <dcbw@redhat.com>
19329
19330         * src/NetworkManagerDevice.[ch]
19331           src/NetworkManagerDbus.c
19332           doc/NetworkManager DBUS API.txt
19333                 - Add a new status tag "scanning", which is set when there
19334                         is no active network connection, but NetworkManager is
19335                         looking for an access point to associate with
19336
19337         * panel-applet/main.c
19338                 - Cast the applet appropriately for gtk_widget_show_all ()
19339
19340 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
19341
19342         * panel-applet/eggtrayicon.[ch]:
19343         * panel-applet/main.c: Add missing file
19344
19345 2004-10-04 Dan Williams <dcbw@redhat.com>
19346
19347         * src/NetworkManagerDevice.[ch]
19348                 - Add a slightly more robust method of determining if the WEP key
19349                         is correct or not, by checking the WEP-discarded packet count
19350                         on the card
19351
19352         * info-daemon/NetworkManagerInfo.c
19353                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
19354                         un-escape values we pull out rather than escaping them
19355
19356 2004-10-03  Marcel Telka  <marcel@telka.sk>
19357
19358         * configure.in (ALL_LINGUAS): Added sk.
19359
19360 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
19361
19362         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
19363         and feel.  We should be back to working, and have a good, clean
19364         look.
19365
19366 2004-09-30 Dan Williams <dcbw@redhat.com>
19367
19368         * info-daemon/NetworkManagerInfo.c
19369           info-daemon/NetworkManagerInfoDbus.c
19370           test/nminfotest.c
19371                 - Escape ESSIDs in gconf
19372
19373         * src/NetworkManagerDevice.c
19374                 - Fix pseudo-scanning to use netowrk list from info daemon
19375
19376 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
19377
19378         * configure.in: Add a temporary --enable-notification-icon.  This
19379         will prolly go away.
19380
19381         * info-daemon/Makefile.am:
19382         * info-daemon/NetworkManagerInfo.c:
19383         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
19384
19385         * panel-applet/Makefile.am:
19386         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
19387         * panel-applet/NMWirelessApplet.h:
19388
19389 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
19390
19391         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
19392         before 'select custom ESSID'.
19393
19394         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
19395         fully complete, but syncing in prep for merge.
19396
19397         * panel-applet/icons/*png: New images
19398
19399 2004-09-28 Dan Williams <dcbw@redhat.com>
19400
19401         * src/NetworkManager.c
19402           src/NetworkManagerDevice.c
19403           src/NetworkManagerPolicy.c
19404                 - Don't blow away an active wired connection on startup
19405
19406 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
19407
19408         Changes from J5
19409         
19410         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
19411
19412         * info-daemon/NetworkManagerInfoDbus.c: added service name to
19413         syslog output
19414
19415 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
19416
19417         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
19418         have a wireless card.
19419
19420 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
19421
19422         * panel-applet/NMWirelessApplet.c: move the custom essid item.
19423         Also, get the right device strings.
19424
19425 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
19426
19427         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
19428         the logic to make this right.
19429
19430         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
19431         devices so that wired networks are always first.
19432
19433 2004-09-22    <clarkbw@cvs.gnome.org>
19434
19435         * initscript/Debian/.cvsignore:
19436         * initscript/Slackware/.cvsignore:
19437         Added new cvsignores for Makefile, Makefile.in
19438         
19439         * test/.cvsignore:
19440         Added nmtestdevices
19441         
19442         * src/NetworkManagerDevice.c: 
19443         * src/NetworkManager.c: 
19444         Updated the wireless/wired HAL device strings from net.ethernet to
19445         net.80203 or net.80211 depending on wired or wireless respectively
19446         
19447         * examples/python/NetworkManager.py: 
19448         s/Quality/Strength/
19449
19450         * examples/python/systray/network_tray.py:
19451         Lots of little changes and fixes.  been rotting for a while so I
19452         figured I'd finally sync them all with CVS
19453
19454 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
19455
19456         * configure.in: Add graphics
19457
19458         * panel-applet/Makefile.am: Add graphics
19459
19460         * panel-applet/icons/*: Add graphics
19461
19462         * panel-applet/NMWirelessApplet.c: Use new menu times to display
19463         the icons fully lined up.
19464
19465         * panel-applet/menu-info.c: 
19466         * panel-applet/menu-info.h: Add another menu type.
19467
19468 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
19469
19470         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
19471
19472         * panel-applet/menu-item.[ch]: Wireless menu item.
19473
19474 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
19475
19476         * info-daemon/NetworkManagerInfo.conf
19477                 - Created a more robust security policy for the DBus service
19478                         - everything is denied by default
19479                         - root can own and send to the service
19480                         - users logged in at the console can send to the service
19481
19482 2004-09-13  Dan Williams <dcbw@redhat.com>
19483
19484         * src/NetworkManagerDevice.c
19485                 - (nm_device_get_essid): use iw_get_basic_config() rather than
19486                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
19487                         the latter
19488
19489 2004-09-13  Dan Williams <dcbw@redhat.com>
19490
19491         * TODO: fix typo
19492
19493         * docs/NetworkManager DBUS API.txt
19494                 - Update for new signal strength changes
19495
19496         * panel-applet/NMWirelessApplet.c
19497                 - Make panel icon show strength of the current connection
19498                 - Cleanups and memleak fixes
19499
19500         * panel-applet/NMWirelessApplet.h
19501                 - Add data members for signal strength on devices and networks
19502
19503         * panel-applet/NMWirelessAppletDbus.c
19504                 - Free more DBusErrors
19505                 - Update for new signal strength changes
19506                 - Make devices and networks more like real objects, use ref/unref methods
19507                 - Actually unlock the mutex when updating the active device
19508
19509         * src/NetworkManagerAP.c
19510                 - Change AP functions and data members from "quality"->"strength"
19511
19512         * src/NetworkManagerDbus.c
19513                 - Kill "getMaxQuality" and "getQuality" methods
19514                 - Add "getStrength" methods for Networks and Devices
19515
19516         * src/NetworkManagerDevice.[ch]
19517                 - Add accessors for device strength
19518                 - Add functions to update strength for a device.  Note that not all drivers
19519                         actually support signal strength for scanned access points (Atmel drivers
19520                         being one)
19521                 - Calculate signal strength for each AP during scan
19522
19523         * src/NetworkManagerWireless.[ch]
19524                 - Add function to return signal strength % from a device and a raw quality struct
19525
19526         * test/nmclienttest.c
19527                 - Update for new signal strength changes
19528
19529 2004-09-11  Dan Williams <dcbw@redhat.com>
19530
19531         * src/NetworkManager.c
19532                 - Fix race condition between initscripts and NM on card insertion
19533                         which could cause a card to keep an IP address and routes around
19534                         even when it was not the active device
19535
19536         * src/NetworkManagerDbus.c
19537                 - Fix compile errors, free more DBusErrors
19538
19539 2004-09-11  Dan Williams <dcbw@redhat.com>
19540
19541         * docs/NetworkManager DBUS API.txt
19542                 - Add an explanation of NM's API
19543
19544         * src/NetworkManagerDbus.c
19545                 - Free some more DBusErrors if needed
19546
19547 2004-09-11  Dan Williams <dcbw@redhat.com>
19548
19549         * panel-applet/NMWirelessApplet.c
19550           panel-applet/NMWirelessAppletDbus.c
19551                 - Start using NetworkDevice/WirelessNetwork structures in more places
19552                 - Update for unified device/network forcing in NetworkManager
19553
19554         * src/NetworkManager.c
19555                 - some code consolidation
19556
19557         * src/NetworkManagerDbus.c
19558                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
19559                         or two arguments:  the first is the NM ID of the device to switch to,
19560                         and the second (optional) argument is the ESSID of a wireless network
19561                         to use as well.
19562                 - Get rid of "setNetwork" method due to above change
19563
19564         * src/NetworkManagerDevice.c
19565                 - (nm_device_new): perform scan and update best AP on device creation
19566                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
19567                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
19568                         spin waiting for cancellation to finish before returning
19569
19570         * src/NetworkManagerPolicy.c
19571                 - Changes here clarify the situations in which a device switch occurs, and 
19572                         make sure to keep using a forced device and network if the user gives
19573                         us one
19574                 - Remove old unused code
19575
19576 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
19577
19578         * configure.in: Added Danish (da) to ALL_LINGUAS.
19579
19580 2004-09-09  Dan Williams <dcbw@redhat.com>
19581
19582         * panel-applet/NMWirelessAppletDbus.c
19583                 - Pull fresh devices and networks from NM when wireless networks
19584                         change.  Provides faster feedback of a forced wireless network
19585
19586         * src/NetworkManagerDbus.c
19587                 - Return error when "getMaxQuality" is called on a wired device
19588                 - Make best_ap freezing actually work again, and signal cancellation
19589                         of activation if there's already a device activation when the user
19590                         freezes the best_ap
19591
19592         * src/NetworkManagerDevice.c
19593                 - Don't clear out the best_ap for wireless devices when the link goes
19594                         down, that's done elsewhere
19595                 - Kill any dhcp daemons when cancelling device activation since they
19596                         may be stuck waiting for a DHCP address, and since we're cancelling
19597                         activation we don't care about that anymore
19598
19599         * src/NetworkManagerPolicy.c
19600                 - Make sure to unref the device we ref earlier (we refed it to make sure
19601                         it stuck around during device activation and such)
19602                 - If we were going to change the best device, but its activating currently
19603                         (and therefore the change didn't occur due to the check earlier)
19604                         we mark the state changed to we come back to it later when device
19605                         activation has canceled and its no longer activating
19606
19607         * src/backends/NetworkManagerRedHat.c
19608                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
19609
19610 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
19611
19612         * info-daemon/passphrase.glade: 
19613         set passphrase input to activates_default : True
19614
19615         * examples/python/systray/network_tray.py
19616         (network_tray.sort_networks):
19617
19618         Added support for having wireless always scanning
19619
19620 2004-09-09  Dan Williams <dcbw@redhat.com>
19621
19622         NOTE: this commit changes the behavior of wireless devices in
19623         NetworkManager.  They are now up all the time, scanning all
19624         the time.  Only the active device has an IP address and routing
19625         information set up however.  Also, NetworkManager will no longer
19626         opportunistically switch wireless networks when a better one
19627         comes in range, it will remain associated with one wireless network
19628         until that one drops out.
19629
19630         * panel-applet/NMWirelessApplet.c
19631           panel-applet/NMWirelessAppletDbus.c
19632                 - List all wireless cards and their respective networks
19633
19634         * src/NMLoadModules
19635                 - Use full path to /sbin/ip
19636
19637         * src/NetworkManager.c
19638                 - Keep wireless devices up all the time so they can scan
19639
19640         * src/NetworkManagerDbus.c
19641                 - On a WirelessNetworkUpdate signal from NMI, don't update
19642                         the "best" AP
19643
19644         * src/NetworkManagerDevice.c
19645                 - (nm_device_set_link_active): clear out the best ap for
19646                         wireless devices when the link is set to FALSE
19647                 - Scan on all wireless cards, all the time
19648                 - (nm_device_activation_worker): split out the wireless card
19649                         link-waiting code to a separate function
19650                 - Keep wireless cards up even if device activation fails
19651                 - Don't update the "best" ap as much
19652
19653         * src/NetworkManagerPolicy.c
19654                 - Don't update the best ap when checking if its frozen,
19655                         let link checking clear out a frozen best ap for us
19656
19657         * src/NetworkManagerWireless.c
19658                 - Scan on all wireless cards, all the time
19659
19660 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
19661
19662         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
19663
19664 2004-09-09  Ankit Patel <ankit@redhat.com>
19665
19666         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
19667
19668 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
19669
19670         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
19671
19672 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
19673
19674         * examples/python/NetworkManager.py: 
19675         added CONNECTED, CONNECTING, and DISCONNECTED states
19676         added methods to return number of devices of a single type
19677
19678         * examples/python/systray/network_tray.py: 
19679         did some tweaks to get the menu looking near what it is supposed
19680         to look like.  Also did a Airo card hack to make it show the
19681         correct AP quality
19682
19683 2004-09-08  Dan Williams <dcbw@redhat.com>
19684
19685         * panel-applet/no-networkmanager.png
19686           panel-applet/Makefile.am
19687           panel-applet/NMWirelessApplet.c
19688                 - Add a "NetworkManager not running" icon and use it
19689                 - Use new consolidated GConf keys rather than Preferred/Trusted
19690
19691         * TODO: update
19692
19693         * info-daemon/NetworkManagerInfo.c
19694           info-daemon/NetworkManagerInfoDbus.[ch]
19695           info-daemon/NetworkManagerInfoPassphraseDialog.c
19696                 - There are now no longer two separate lists of wireless networks,
19697                         but one list where each network is "trusted" or not trusted
19698                 - Add a "getNetworkTrusted" dbus method
19699                 - "WirelessNetworkUpdate" signal now sent rather than
19700                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
19701                 - Start freeing some dbus errors (not completed yet)
19702
19703         * info-daemon/passphrase.glade
19704                 - Remove the "don't show" hints for pager and taskbar
19705                 - Add a title since its going to be in the taskbar
19706
19707         * src/NetworkManager.[ch]
19708           src/NetworkManagerAPList.[ch]
19709                 - There are now no longer two separate lists of wireless networks,
19710                         but one list where each network is "trusted" or not trusted
19711
19712         * src/NetworkManagerAP.[ch]
19713                 - Add get/set "trusted" accessors and data bit
19714
19715         * src/NetworkManagerDbus.[ch]
19716                 - Add function to get "trusted" status of a network from NetworkManagerInfo
19717                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
19718
19719         * src/NetworkManagerDevice.[ch]
19720                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
19721                 - (nm_device_new): Get device config from backend when initializing devices
19722                 - (nm_device_activation_worker): Split out device configuration on
19723                         activation to deal with static/dynamic IP differences, and try encryption
19724                         fallbacks on a device if the encryption method for the best AP is not good
19725                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
19726                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
19727
19728         * src/NetworkManagerWireless.c
19729                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
19730
19731         * src/backends/NetworkManagerRedHat.c
19732           src/backends/NetworkManagerSystem.h
19733                 - (nm_system_device_update_config_info): Add function to get device configuration
19734                         from system data in ifcfg-* files
19735
19736         * src/backends/NetworkManagerDebian.c
19737           src/backends/NetworkManagerGentoo.c
19738           src/backends/NetworkManagerSlackware.c
19739                 - Add stub functions for getting device configuration
19740
19741 2004-09-07  Dan Williams <dcbw@redhat.com>
19742
19743         * src/backends/NetworkManagerRedhat.c
19744           src/backends/NetworkManagerSlackware.c
19745                 - Use full path to /sbin/ip everywhere
19746
19747 2004-09-07  Dan Williams <dcbw@redhat.com>
19748
19749         Patch from: Narayan Newton <narayan_newton@yahoo.com>
19750
19751         * configure.in
19752           initscript/Makefile.am
19753           initscript/Slackware/Makfile.am
19754           initscript/Slackware/rc.networkmanager
19755           src/Makefile.am
19756           src/backends/NetworkManagerSlackware.c
19757                 - Add Slackware support
19758
19759 2004-09-07  Dan Williams <dcbw@redhat.com>
19760
19761         Patches below from:
19762                 <j@bootlab.org>
19763                 Mark Roach <mrroach@okmaybe.com>
19764                 Thom May <thom@debian.org>
19765
19766         * configure.in
19767           initscript/Debian/NetworkManager
19768           initscript/Debian/Makefile.am
19769                 - Initscript for Debian
19770
19771         * src/backends/NetworkManagerDebian.c
19772                 - Add missing system init function to allow compilation
19773                         on Debian
19774
19775 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
19776
19777         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
19778
19779 2004-09-03  Akagic Amila <bono@linux.org.ba>
19780
19781         * configure.in: Added 'bs' to ALL_LINGUAS.
19782
19783 2004-09-02  Colin Walters  <walters@verbum.org>
19784
19785         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
19786         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
19787         g_strdup_printf instead of arbitrarily sized buffers.
19788
19789 2004-09-01  Colin Walters  <walters@verbum.org>
19790
19791         * NetworkManager.pc.in: New file.
19792
19793         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
19794
19795 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
19796         
19797         * configure.in: Punjabi(pa) is added to po/.
19798
19799 2004-08-31  Dan Williams <dcbw@redhat.com>
19800
19801         * Remove 'debug' extern global from all files since we now
19802                 use syslog()
19803
19804         * src/NetworkManager.[ch]
19805                 - Break out routine that get the net.interface property from HAL,
19806                         removing that logic from nm_create_device_and_add_to_list()
19807                 - (nm_create_device_and_add_to_list): make this a bit more general so
19808                         it doesn't do the talking to HAL.  Also add arguments to facilitate
19809                         the create of test devices.
19810                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
19811                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
19812                         which makes NetworkManager listen for dbus commands to create test
19813                         devices, which have no backing hardware.  Use when you're on a plane
19814                         for example, and/or forgot your wireless card at home.  Test devices
19815                         _cannot_ be created unless NM is started with --enable-test-devices.
19816
19817         * src/NetworkManagerDbus.[ch]
19818                 - New "getLinkActive" method for devices
19819                 - New "setLinkActive" method for devices (only works on test devices)
19820                 - New "createTestDevice" method on NetworkManager object to create a test
19821                         device of a specified type (ie wired, wireless).  UDI is created from
19822                         scratch, as is the interface name.  Only works when NM is started with
19823                         --enable-test-devices switch.
19824                 - New "removeTestDevice" method on NetworkManager object which removes a
19825                         test device.  Only works when NM is started with --enable-test-devices
19826
19827         * src/NetworkManagerDevice.[ch]
19828                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
19829                         whether a device is a test device or not, and what its link status is.
19830                 - Deal with test devices in most functions.  For those that work directly on hardware
19831                         special-case test devices.
19832                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
19833                         command-line.
19834                 - (nm_device_update_link_active): split out logic for wired and wireless device link
19835                         checking to separate functions to facilitate test device link checking.
19836                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
19837                         don't make a distinction between System Authentication and Encryption
19838                         (namely Cisco aironet), we use Open System auth when setting a WEP key
19839                         on the card.  We don't deal with Shared Key auth yet.
19840                 - (nm_device_activation_worker): split the activation cancel check logic out into
19841                         a separate routine nm_device_activation_cancel_if_needed()
19842                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
19843                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
19844                         a list of fake access points that they can "see"
19845                 - (nm_device_is_test_device): return whether or not a device is a test device
19846
19847         * src/NetworkManagerPolicy.c
19848                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
19849                         previously if you "locked"/forced NM to use a wireless device but then
19850                         selected a wireless network for NM to use, it would switch to a wired device.
19851                         So, if the active device is wireless and it has a "forced" best AP, use it
19852                         if the "forced" best AP is still valid
19853                 - (nm_state_modification_monitor): deal with NULL best devices, for example
19854                         there were no usable network devices, or the last one was removed
19855
19856         * src/backends/NetworkManager*.c
19857                 - Deal with test devices, mostly just return success for operations like getting
19858                         a DHCP address
19859
19860         * test/nmtestdevices.c
19861                 - Test tool to create/remove/link-switch test devices
19862
19863 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
19864
19865         * examples/python/NetworkManager.py: 
19866         added convience functions has_wired_device and has_wireless_device
19867
19868         * examples/python/systray/network_tray.py: 
19869         cleaned up a bunch of cruft, added support for listing wireless
19870         networks just like the real applet.  This is probably all I'm
19871         going to work on this applet from now on.
19872         TODO: add support for actually changing networks and devices
19873
19874         * examples/python/NetworkManager.py (NetworkManager.get_device): 
19875         changed "nm.networks" into a dict from a list so I can store all
19876         the cool information about networks in there
19877
19878         * examples/python/systray/network_tray.py: 
19879         Added nice message when you try to run without running make first
19880
19881         * examples/python/NetworkManager.py: 
19882         Bug fixes to the code so we get all the device information
19883         that we need in get_device()
19884         
19885         * examples/python/NMTester.py: 
19886         Fixed _print_device_list to print_device_list
19887
19888 2004-08-29  Seth Nickell  <seth@gnome.org>
19889
19890         * configure.in:
19891
19892         Actually properly setup the Debian backend in configure.
19893         
19894 2004-08-29  Colin Walters  <walters@verbum.org>
19895
19896         * test/nminfotest.c: Include string.h and stdlib.h.
19897         (get_network_string_property, get_networks_of_type): Return NULL.
19898
19899         * test/nmclienttest.c (get_device_name, get_active_device): Return
19900         NULL.
19901
19902         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
19903         use strlen, fgets always NULL-terminates the string.
19904
19905         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
19906         dbus_message_get_member): Remove /* in comment.
19907
19908         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
19909
19910         * src/NetworkManager.c (quit): Unused, delete.
19911         (nm_data_free): Cast arg to GFunc.
19912
19913         * panel-applet/NMWirelessAppletDbus.c: Need to include
19914         string.h, and dbus-glib-lowlevel.h (the latter is needed
19915         for dbus_connection_setup_with_g_main at present).
19916         (nmwa_dbus_update_wireless_network_list): Parenthesize
19917         assignment in conditional.
19918         (nmwa_dbus_worker): Return NULL.
19919
19920         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
19921         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
19922         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
19923         (nmwa_populate_menu): Return NULL on failure, instead of just
19924         return;
19925
19926         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
19927
19928         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
19929         variables.
19930
19931         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
19932         delete.
19933         
19934 2004-08-29  Colin Walters  <walters@verbum.org>
19935
19936         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
19937         a GTimeVal instead of time_t.  This is easier to work with,
19938         since time_t may be a long or double, we don't know.
19939
19940         * src/NetworkManagerDbus.h: Update prototype.
19941         
19942         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
19943         instead of time_t.
19944         (nm_ap_get_timestamp): Update to return GTimeVal.
19945         (nm_ap_set_timestamp): Update to take GTimeVal.
19946         
19947         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
19948         to handle GTimeVal.
19949
19950         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
19951         GTimeVal change.
19952         (nm_ap_list_print_members): Fix warnings in printf format.
19953
19954 2004-08-29  Colin Walters  <walters@verbum.org>
19955         
19956         * panel-applet/NMWirelessApplet.c: Include config.h.
19957
19958 2004-08-29  Colin Walters  <walters@verbum.org>
19959
19960         * configure.in: Generate config.h.
19961
19962         * configure.in: Dump dependency on OpenSSL; we can't
19963         use it since this package is GPL:
19964         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
19965         Instead, check for libgcrypt, use it if available,
19966         otherwise use included MD5 code.
19967
19968         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
19969         Suck in from gnome-keyring, munge a bit.
19970         
19971         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
19972         gnome-keyring-md5.h gnome-keyring-md5.c.
19973         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
19974
19975         * src/NetworkManagerWireless.c (nm_md5): New function, uses
19976         libgcrypt or included gnome-keyring md5 bits.
19977         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
19978
19979 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
19980
19981         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
19982
19983 2004-08-27  Bryan Clark  <bclark@redhat.com>
19984
19985         * examples/python/systray/Makefile: 
19986
19987         Updated the clean section
19988         
19989         * examples/python/systray/trayiconmodule.c: 
19990         * examples/python/systray/trayicon.override: 
19991         * examples/python/systray/network_tray.py: 
19992         * examples/python/systray/eggtrayicon.h: 
19993         * examples/python/systray/eggtrayicon.c: 
19994         * examples/python/systray/Makefile: 
19995         * examples/python/README: 
19996         * examples/python/NetworkManager.py: 
19997         * examples/python/NMTester.py: 
19998
19999         Initial commit of these python example files
20000
20001 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
20002
20003         * panel-applet/NMWirelessApplet.c
20004                 - Make current device bold
20005                 - Show more user-friendly device name if we got one from hal
20006
20007         * panel-applet/NMWirelessAppletDbus.c
20008                 - Grab "info.product" key from hal for network devices
20009                 - Cache the current active device
20010
20011 2004-08-27  Adam Weinberger  <adamw@gnome.org>
20012
20013         * configure.in: Added en_CA to ALL_LINGUAS.
20014
20015 2004-08-27  Christian Rose  <menthos@menthos.com>
20016
20017         * configure.in: Added "sv" to ALL_LINGUAS.
20018
20019 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20020
20021         * Tag NetworkManager-0.2
20022
20023 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
20024
20025         * initscripts/Makefile.am
20026         * configure.in: Make pass distcheck
20027
20028         * po/ChangeLog: added
20029
20030 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20031
20032         * panel-applet/NMWirelessApplet.c
20033                 - Remove debugging code
20034                 - Enable device switching from menus
20035
20036         * panel-applet/NMWirelessAppletDbus.[ch]
20037                 - Method for asking NM to switch devices
20038
20039         * src/NetworkManagerDevice.c
20040                 - Set dev->activating earlier, avoids race between
20041                         the dbus signal of "DeviceActivating" and setting
20042                         dev->activating (which is what NM's "status" method call
20043                         looks at)
20044
20045 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20046
20047         * panel-applet/NMWirelessApplet.[ch]
20048                 - Rework menu code to add devices to menu, and to show
20049                         signal strength for each access point.  Code cleanups
20050                         too.
20051
20052         * panel-applet/NMWirelessAppletDbus.c
20053                 - Grab network devices from NetworkManager too
20054                 - Grab quality information from NM for wireless networks
20055
20056         * src/NetworkManagerDbus.[ch]
20057                 - Add dbus methods for getting the HAL UDI from a device and
20058                         for getting its base quality, if its wireless
20059                 - Consolidate some functions (wireless network notifications,
20060                         device notifications)
20061                 - Add method for requesting NM to use a particular device
20062
20063         * src/NetworkManager.c
20064                 - Change for function consolidations from NetworkManagerDbus.c
20065                 - Implement active device locking and user-requested devices
20066                         (ie, tell NM to use a particular device instead of the one
20067                         it autochose)
20068
20069         * src/NetworkManagerDevice.c
20070                 - Add method for getting the base quality of a device, if its
20071                         wireless
20072                 - Grab device base quailty info from iwlib during scans
20073
20074         * src/NetworkManagerPolicy.c
20075                 - Use a user-requested device rather than the auto-chosen device
20076                         if we are told to
20077
20078 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
20079
20080         * Makefile.am: add po as a supdir
20081
20082         * autogen.sh: use gnome-autogen.sh
20083
20084         * initscript/Gentoo/.cvsignore:
20085         * initscript/RedHat/.cvsignore: Shut up cvs
20086
20087         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
20088
20089         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
20090         (nmwa_fill): Use gettext.
20091
20092         * configure.in: add gettext support
20093         * po/.cvsignore:
20094         * po/NetworkManager.pot:
20095         * po/POTFILES.in:
20096
20097 2004-08-26  Seth Nickell  <seth@gnome.org>
20098
20099         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
20100         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
20101         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
20102         (nmwa_dispose_menu_items), (nmwa_populate_menu),
20103         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
20104         * panel-applet/NMWirelessApplet.h:
20105
20106         Use a menu bar instead of a button for the main clickable
20107         thingy.
20108         
20109 2004-08-25  Dan Williams <dcbw@redhat.com>
20110
20111         * src/NetworkManagerDevice.c
20112                 - (nm_device_set_enc_key): always set device to "open" mode instead of
20113                         turning encryption off, because the Cisco driver doesn't associate
20114                         with WEP-enabled access points unless we are in "open"
20115
20116 2004-08-25  Dan Williams <dcbw@redhat.com>
20117
20118         * src/NetworkManagerWireless.c
20119                 - Don't try to defererence blank passphrases
20120
20121 2004-08-25  Dan Williams <dcbw@redhat.com>
20122
20123         * panel-applet/NMWirelessApplet.c
20124                 - Rebuild the menu whenever a user clicks
20125
20126 2004-08-25  Dan Williams <dcbw@redhat.com>
20127
20128         * panel-applet/NMWirelessApplet.c
20129                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
20130                         when NM isn't around or when its not connected
20131
20132         * src/NetworkManagerDevice.c
20133                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
20134                         canceled.
20135
20136 2004-08-25  Dan Williams <dcbw@redhat.com>
20137
20138         * panel-applet/NMWirelessAppletDbus.c
20139                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
20140                         for getting encryption, and don't stop on "val" once we've gotten it
20141                         from NetworkManager.  Short form:  encryption should now show up.
20142
20143 2004-08-25  Dan Williams <dcbw@redhat.com>
20144
20145         * panel-applet/NMWirelessApplet.c
20146                 - Set ESSID on a gconf trusted network too when force-setting the wireless
20147                         network to associate with
20148
20149 2004-08-25  Dan Williams <dcbw@redhat.com>
20150
20151         * panel-applet/*
20152                 - Rework the panel applet to do all DBUS communication in a separate
20153                         thread
20154
20155 2004-08-25  Dan Williams <dcbw@redhat.com>
20156
20157         * info-daemon/NetworkManagerInfo.[ch]
20158                 - Remove "get_next_priority" function
20159
20160         * info-daemon/NetworkManagerInfoDbus.[ch]
20161                 - Convert "priority" functions to "timestamp"
20162
20163 2004-08-25  Dan Williams <dcbw@redhat.com>
20164
20165         * src/NetworkManagerAP.[ch]
20166                 - Add a "enc_method_good" member and accessors to an Access Point
20167                         to signal when we've found the correct encryption method
20168                         for an access point
20169                 - Add a "timestamp" member and accessors, remove "priority" member
20170                         and accessors (use timestamps instead)
20171                 - Rename "wep_key"->"enc_key"
20172                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
20173                         for a specified encryption method using the access points
20174                         source encryption key/passphrase
20175
20176         * src/NetworkManagerAPList.c
20177                 - When updating a network with dbus, grab timestamp now instead of
20178                         priority
20179
20180         * src/NetworkManagerDBus.[ch]
20181                 - Add signal for "DeviceActivating"
20182                 - Switch priority->timestamp
20183
20184         * src/NetworkManagerDevice.c
20185                 - Change references of "wep_key" -> "enc_key" or "key"
20186                 - Signal DeviceActivating when starting activation
20187                 - When activating a wireless device, if the access point we are connecting
20188                         to is encrypted, and we have a source key, try to generate a mangled
20189                         key and use that (ie, generate real WEP key from a passphrase)
20190                 - Rework device activation to fallback to other encryption methods if
20191                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
20192                         first, then if that doesn't work fall back to direct hex key).
20193                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
20194                         priority.  We now prefer the latest access point used, rather than using
20195                         a priority scheme
20196                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
20197                         points we've just discovered, and merge in correct info from the global
20198                         access point lists
20199
20200 2004-08-25  Seth Nickell  <seth@gnome.org>
20201
20202         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
20203         Debian support.
20204         
20205         * src/Makefile.am:
20206         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
20207         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
20208         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
20209         (nm_system_delete_default_route),
20210         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
20211         (nm_system_load_device_modules):
20212
20213 2004-08-24  Dan Willemsen <dan@willemsen.us>
20214
20215         * src/NetworkManager.c
20216           src/backends/NetworkManagerGentoo.c
20217           src/backends/NetworkManagerRedHat.c
20218           src/backends/NetworkManagerSystem.h
20219                 - Implement preliminary Gentoo support, adding a
20220                         nm_system_init function to the backend specification
20221
20222         * configure.in
20223                 - Distribution auto-detection, lowercase any user-fed
20224                         distribution names
20225
20226         * initscript/.cvsignore
20227           initscript/Makefile.am
20228           initscript/RedHat/Makefile.am
20229           initscript/RedHat/NetworkManager
20230           initscript/Gentoo/Makefile.am
20231           initscript/Gentoo/NetworkManager
20232                 - Refactored initscript code separately for each
20233                         distribution
20234
20235 2004-08-23  Dan Williams <dcbw@redhat.com>
20236
20237         * configure.in
20238           src/Makefile.am
20239           src/NetworkManagerDevice.c
20240           src/NetworkManager.c
20241           src/NetworkManagerUtils.[ch]
20242           src/backends/NetworkManagerSystem.h
20243           src/backends/NetworkManagerRedHat.c
20244           src/backends/NetworkManagerGentoo.c
20245                 - Refactor system-specific code into separate backends for
20246                         each distribution
20247
20248 2004-08-23  Dan Willemsen <dan@willemsen.us>
20249
20250         * dispatcher-daemon/NetworkManagerDispatcher.c
20251           info-daemon/NetworkManagerInfo.[ch]
20252           info-daemon/NetworkManagerInfoDbus.c
20253           info-daemon/NetworkManagerInfoPassphraseDialog.c
20254           src/NetworkManager.c
20255           src/NetworkManagerAP.c
20256           src/NetworkManagerAPList.c
20257           src/NetworkManagerDbus.c
20258           src/NetworkManagerDevice.c
20259           src/NetworkManagerPolicy.c
20260           src/NetworkManagerUtils.[ch]
20261           src/NetworkManagerWireless.c
20262                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
20263
20264         * src/NetworkManager.c
20265                 - Fixed usage wording for --no-daemon
20266
20267 2004-08-23  Dan Williams <dcbw@redhat.com>
20268
20269         * panel-applet/NMWirelessApplet.c
20270                 - Update our state every second to get more responsive panel icon
20271                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
20272                         was causing our marching ants status blips to never move when
20273                         looking for a wireless network
20274
20275         * src/NetworkManagerDevice.c
20276                 - (nm_device_activation_begin): return if activation has already begun
20277                 - (nm_device_do_normal_scan): merge WEP key and priority from the
20278                         trusted/preferred network into the device's access point when the
20279                         scan list is processed
20280
20281 2004-08-23  Dan Williams <dcbw@redhat.com>
20282
20283         * initscript/NetworkManager
20284                 - Use NMLaunchHelper rather than sleeping
20285
20286         * initscript/NMLaunchHelper.c
20287           Makefile.am
20288                 - Add helper program that exits only when NM activates a device,
20289                         or 10 seconds have passed, whichever happens first.  This
20290                         stops the boot processes until we have a network connection,
20291                         which NM can't do because it daemonizes and brings the connection
20292                         up in the background.  Allows stuff like NFS to not die.
20293
20294 2004-08-20  Dan Williams <dcbw@redhat.com>
20295
20296         * info-daemon/NetworkManagerInfoPassphraseDialog.c
20297                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
20298                         for a network, set the essid as well since it may not exist yet
20299                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
20300                         since WEP keys/passphrases are long and prone to entry-error
20301
20302         * panel-applet/Makefile.am
20303           panel-applet/wired.png
20304                 - Add (pulled from system-config-network temporarily)
20305
20306         * panel-applet/NMWirelessApplet.[ch]
20307                 - Show wired picture when a wired connection is used
20308                 - Rename wireless icon enums, adding WIRELESS
20309
20310         * src/NetworkManagerDevice.c
20311                 - (nm_device_activate_wireless): unset encryption before bringing
20312                         down the card and setting the essid
20313                 - (nm_device_activatin_worker): request a key from the user if the
20314                         AP we are connecting to is encrypted but we don't have a key
20315                         for it yet
20316                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
20317                         strcmp() that prevented a user-entered key from actually getting
20318                         used
20319
20320 2004-08-16  Dan Williams <dcbw@redhat.com>
20321
20322         * initscript/NetworkManager
20323                 - Check for /sbin/ip
20324                 - Do sysctl magic that network service does
20325                 - sleep 4s after start to allow network time to come up [hack]
20326
20327         * src/Makefile.am
20328           src/NMLoadModules
20329                 - Load all network device kernel modules (hal doesn't know devices
20330                         are ethernet until the module is loaded, and therefore we don't know)
20331
20332         * src/NetworkManager.c
20333                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
20334                         network devices, and bring up the loopback device explicitly
20335
20336         * src/NetworkManagerUtils.[ch]
20337                 - (nm_enable_loopback): new function
20338
20339 2004-08-13  Dan Williams <dcbw@redhat.com>
20340
20341         * configure.in
20342           panel-applet/Makefile.am
20343                 - Fix up cleanfiles and server_DATA/server_in_files
20344
20345         * README
20346                 - Update with some comments on theory of operation
20347
20348         * CONTRIBUTING
20349           Makefile.am
20350                 - Add CONTRIBUTING
20351
20352 2004-08-12  Dan Williams <dcbw@redhat.com>
20353
20354         * info-daemon/passphrase.glade
20355                 - Set window title to " "
20356
20357         * panel-applet/Makefile.am
20358           panel-applet/keyring.png
20359                 - Deliver to correct place
20360
20361         * panel-applet/NMWirelessApplet.[ch]
20362                 - Add comments
20363                 - Remove applet->have_active_device as its no longer used
20364                 - (nmwa_load_theme): load keyring.png too
20365                 - (error_dialog): remove
20366                 - (show_warning_dialog): subsume functionality of error dialog too
20367                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
20368                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
20369                         the networks menu
20370                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
20371                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
20372                         and when we get broadcasts of changed wireless access points only, not when the
20373                         user clicks on the button to display the menu (too long of a wait)
20374                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
20375                         networks that are encrypted
20376                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
20377                         menu item with g_object_set_data()
20378
20379         * panel-applet/NMWirelessAppletDbus.[ch]
20380                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
20381                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
20382                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
20383                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
20384                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
20385                         activation/deactivation signals and rebuild the menu when they happen
20386
20387         * src/NetworkManager.c
20388                 - (main): use new nm_spawn_process() rather than system()
20389
20390         * src/NetworkManagerDbus.c
20391                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
20392                         instead.  Since we can now force best_aps to stick around, the AP structure to which
20393                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
20394                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
20395                         to freeze the best_ap.
20396
20397         * src/NetworkManagerDevice.[ch]
20398                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
20399                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
20400                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
20401                         ap list
20402
20403         * src/NetworkManagerUtils.[ch]
20404                 - (nm_spawn_process): add replacement for system() usage
20405
20406 2004-08-11  Dan Williams <dcbw@redhat.com>
20407
20408         * panel-applet/NMWirelessApplet.[ch]
20409                 - Fix up copyright and credits to include Bastien and Eskil,
20410                         who created the gnome-applets wireless applet, from whose
20411                         skeleton this one was created
20412                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
20413                         pixmap to draw is computed during nmwa_update_state()
20414                 - Applet now shows itself all the time due to panel packing issues
20415                         which caused the applet to previously never come back after hiding.
20416                         When a wired device is the active device, the applet shows "not connected"
20417
20418         * panel-applet/NMWirelessAppletDbus.[ch]
20419                 - Clean up error messages and show what function they are from
20420                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
20421                 - Add new device type getters, and a status getter
20422
20423         * src/NetworkManagerDbus.c
20424                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
20425                         network is actually in the device's ap list
20426                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
20427
20428         * src/NetworkManagerDevice.c
20429                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
20430                         card
20431
20432         * test/nmclienttest.c
20433                 - Report status of NetworkManager too
20434
20435 2004-08-11  Dan Williams <dcbw@redhat.com>
20436
20437         * info-daemon/NetworkManagerInfo.c:
20438                 - (main): clean up Seth's code style
20439
20440         * info-daemon/NetworkManagerInfoDbus.c:
20441                 - Use the more aptly-named path/service/interface constants from NetworkManager
20442                 - Don't return empty strings ("") as object paths ever, instead return errors
20443
20444         * panel-applet/NMWirelessApplet.c:
20445                 - Clean up Seth's code style
20446
20447         * src/NetworkManager.[ch]
20448                 - (nm_remove_device_from_list): remove anything having to do with pending_device
20449                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
20450
20451         * src/NetworkManagerAPList.[ch]
20452                 - Move Iter struct right above the iter functions to preserve opacity
20453                 - (nm_ap_list_remove_ap): implement
20454                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
20455                         remove AP if NetworkManagerInfo doesn't know anything about it
20456                 - (nm_ap_list_diff): user NMAPList iterators
20457                 - (nm_ap_list_print_members): implement debugging function
20458
20459         * src/NetworkManagerDbus.[ch]
20460                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
20461                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
20462                         and move the actual key setting stuff into NetworkManagerDevice.c
20463                 - (nm_dbus_get_network_priority): return -1 now on errors
20464                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
20465                         get lost, and force the active device to update its "best" ap when AP lists change
20466                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
20467                         method call due to pending_device member removal
20468
20469         * src/NetworkManagerDevice.[ch]
20470                 - Move NMDevice structure to the top
20471                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
20472                 - Remove Pending Action stuff from everywhere
20473                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
20474                         activation for us.  This thread blocks until all conditions for activation have
20475                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
20476                         then setup up the interface and runs dhclient.  We have to do this because there
20477                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
20478                         run our main loop and respond to dbus method calls or HAL device removals/inserts
20479                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
20480                         can tell nm_device_activation_worker() that we've got a key
20481                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
20482                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
20483                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
20484                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
20485
20486         * src/NetworkManagerPolicy.c
20487                 - Remove anything to do with pending_device
20488                 - Adjust device activation to deal with activation-in-worker-thread
20489
20490         * src/NetworkManagerUtils.c
20491                 - Clean up locking debugging a bit
20492
20493         * src/NetworkManagerWireless.[ch]
20494                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
20495                         was badly named and is better as a device function
20496
20497         * panel-applet/.cvsignore: add
20498
20499 2004-08-09  Seth Nickell  <seth@gnome.org>
20500
20501         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
20502         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
20503         (nmwa_new):
20504         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
20505
20506         Don't load the menus until clicked on (also removes a call outside
20507         normal code paths at first load).
20508
20509         Hide applet when NM is not present.
20510         
20511         Improve printf debugging stuff.
20512         
20513 2004-08-09  Dan Williams <dcbw@redhat.com>
20514
20515         * dispatcher-daemon/NetworkManagerDispatcher.c:
20516                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
20517                 - Use constants for NetworkManager interface, service, and path
20518
20519 2004-08-09  Dan Williams <dcbw@redhat.com>
20520
20521         * src/NetworkManagerDbus.c:
20522                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
20523                         instead return an error message
20524                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
20525                         on a wired device.  Also never return an empty object path, instead return an error message
20526
20527 2004-08-06  Seth Nickell  <seth@gnome.org>
20528
20529         * panel-applet/NMWirelessApplet.c: (nmwa_new):
20530
20531         Check the error code when getting a connection.
20532         
20533         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
20534
20535         Check if the NM service exists when initializing (rather than
20536         assuming it does not).
20537         
20538         * src/NetworkManagerDbus.c: (nm_dbus_init):
20539
20540         Don't acquire the well-known service name until we have
20541         registered object/path handlers and can actually receive
20542         calls.
20543         
20544 2004-08-06  Dan Williams <dcbw@redhat.com>
20545
20546         * panel-applet/*
20547                 - Add panel applet
20548
20549         * src/NetworkManagerPolicy.c
20550           src/NetworkManager.c
20551                 - Get access point lists from NetworkManagerInfo on-demand,
20552                         and look for ServiceCreate/ServiceDeleted signals to see when
20553                         we should query NMI for lists
20554         * src/NetworkManagerAPList.c
20555                 - Make sure to init the list's mutex
20556                 - Convert traversals of the list over to the list iter functions
20557
20558         * src/NetworkManagerDbus.[ch]
20559                 - Use more aptly-named path/service/interface constants
20560                 - Treat both active and pending devices the same for "getActiveDevice"
20561                 - Add a "status" method returning "connected", "connecting", or "disconnected"
20562
20563         * src/NetworkManagerDevice.c
20564                 - Honor "ignored" network list when picking best ap to use
20565
20566 2004-08-06  Seth Nickell  <seth@gnome.org>
20567
20568         * aclocal.m4:
20569
20570         Autogenerated, remove from CVS.
20571         
20572         * autogen.sh:
20573
20574         Don't hardcode automake version.
20575         
20576         * configure.in:
20577         * info-daemon/Makefile.am:
20578         * info-daemon/NetworkManagerInfo.c: (main):
20579
20580         Use GnomeProgram et al. for doing session management.
20581         Use popt stuff for argument parsing rather than doing
20582         it manugally.
20583         
20584 2004-08-05  Dan Williams <dcbw@redhat.com>
20585
20586         * test/nminfotest.c
20587                 - Update to new NMI dbus API, check different network types
20588
20589         * info-daemon/NetworkManagerInfoDbus.c
20590                 - Update to new NM dbus API, ie network type sent in query message
20591
20592 2004-08-05  Dan Williams <dcbw@redhat.com>
20593
20594         * An assload of changes
20595
20596 2004-08-02  Dan Williams <dcbw@redhat.com>
20597
20598         * TODO
20599                 - new task: proper logging support
20600
20601         * info-daemon/NetworkManagerInfo.c
20602                 - Correct spelling of "canceled"
20603                 - Correct casting of objects for g_signal_connect()
20604
20605         * info-daemon/NetworkManagerInfoDbus.c
20606                 - Add defines for NetworkManager namespace and object path, and use them
20607                 - Add filter function to trap new signals from NetworkManager:
20608                         WirelessNetworkAppeared, WirelessNetworkDisappeared
20609
20610         * info-daemon/passphrase.glade
20611                 - Change name of "ok" button to "Login to Network..."
20612                 - Mark invisible
20613
20614         * src/NetworkManager.c
20615                 - Code and debug message cleanups
20616                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
20617                 - (nm_add_initial_devices) Check returned string array of devices
20618                         and don't try to add devices if array is NULL
20619                 - (main) Initialize libhal a bit later, make code a bit clearer
20620
20621         * src/NetworkManagerAP.[ch]
20622                 - New accessor and data member "matched": used to speed up AP list
20623                         diffing
20624                 - New accessor and data member "enc_method": will be used during key
20625                         fallback to cache which passphrase->key conversion actually works
20626                         so we don't have to do it every time
20627
20628         * src/NetworkManagerAPList.[ch]
20629                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
20630                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
20631                         between them, and send WirelessNetworkAppeared/Disappeared signals over
20632                         dbus in response to those differences
20633
20634         * src/NetworkManagerDbus.[ch]
20635                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
20636                         make an object path for that access point (NOTE that we don't yet check to
20637                         make sure that access point is actually in the device's AP list yet)
20638                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
20639                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
20640                         New: signal appearance/disappearance of wireless networks
20641                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
20642                         key entry
20643
20644         * src/NetworkManagerDevice.[ch]
20645                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
20646                 - (nm_device_ap_list_get) New: return the AP list (static function)
20647                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
20648                         new one resulting from the scan with the old one
20649
20650         * src/NetworkManagerWireless.c
20651                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
20652
20653         * test/nminfotest.c
20654                 - #define object paths and namespaces and use the #defines rather than static strings
20655                 - Test out user-key functionality of NetworkManagerInfo too
20656
20657 2004-07-29  Dan Williams <dcbw@redhat.com>
20658
20659         * info-daemon/NetworkManagerInfoDbus.c
20660           src/NetworkManagerDbus.c
20661                 - Update to current DBus (ie don't use decomposed paths when registering
20662                         object paths/fallbacks)
20663
20664 2004-07-27  Dan Williams <dcbw@redhat.com>
20665
20666         * Remove various Makefile.in files
20667
20668         * TODO
20669                 - Add some more items
20670
20671         * configure.in
20672                 - Add checks for OpenSSL/md5 headers and libs
20673
20674         * src/Makefile.am
20675                 - Use OpenSSL CFLAGS
20676
20677         * src/NetworkManagerAP.[ch]
20678                 - Remove 'stamp' functions, replace with 'invalid' functions
20679                         to support user cancelling WEP key entry
20680
20681         * src/NetworkManagerDbus.c
20682                 - Remove 'stamp' return functions
20683                 - Treat returned user key as a passphrase and convert to a WEP key,
20684                         but don't actually use the WEP key yet.  We use the returned user
20685                         key as a hexadecimal WEP key until we can figure out a UI for
20686                         passphrase-vs-hex key
20687
20688         * src/NetworkManagerWireless.[ch]
20689                 - Add passphrase-to-128bit-key function
20690
20691 2004-07-27  Dan Williams <dcbw@redhat.com>
20692
20693         * TODO
20694                 - Add a couple of items
20695
20696 2004-07-27  Dan Williams <dcbw@redhat.com>
20697
20698         * info-daemon/NetworkManagerInfo.c
20699                 - Update allowed network's GConf key when user enters a WEP key explicitly
20700
20701         * info-daemon/NetworkManagerDbus.c
20702                 - Fix some comments
20703                 - nmi_dbus_get_allowed_networks(): kill warning
20704
20705 2004-07-27  Dan Williams <dcbw@redhat.com>
20706
20707         * initscript/Makefile.in
20708                 - Remove
20709
20710         * initscript/Makefile.am
20711                 - Add correct rules to install the init.d initscript
20712
20713         * info-daemon/NetworkManagerInfoDbus.c
20714                 - Remove debug fprintf
20715
20716         * src/NetworkManagerDbus.[ch]
20717                 - Remove debug fprintfs
20718                 - Add macros for NetworkManagerInfo object path/namespace
20719                 - Use said macros instead of constant strings
20720
20721 2004-07-27  Dan Williams <dcbw@redhat.com>
20722
20723         * initscript/.cvsignore
20724                 - Add
20725
20726         * info-daemon/Makefile.am
20727                 - Install .glade files and keyring.png
20728                 - Fix stupid omission of a \ that caused half the flags not to be
20729                         passed to gcc
20730
20731         * info-daemon/NetworkManagerInfo.c
20732                 - gtk_signal_connect->g_signal_connect
20733                 - Alert NetworkManagerInfo to new glade file location
20734
20735 2004-07-27  Dan Williams <dcbw@redhat.com>
20736
20737         * test/nmclienttest.c
20738           test/nminfotest.c
20739                 - Add missing <dbus/dbus.h> headers
20740                 - Add GPL message at top
20741
20742 2004-07-27  Dan Williams <dcbw@redhat.com>
20743
20744         * src/NetworkManagerAPList.[ch]
20745           src/Makefile.am
20746                 - Add.  Deal with allowed network list additions, deletions, and updates
20747
20748         * dispatcher-daemon/NetworkManagerDispatcher.c
20749                 - Add missing <dbus/dbus.h> header
20750
20751         * info-daemon/NetworkManagerInfo.[ch]
20752                 - Add missing <dbus/dbus.h> header
20753                 - Implement the GConf notify callback to signal NetworkManager of an allowed
20754                         network change
20755                 - Better error checking
20756
20757         * info-daemon/NetworkManagerInfoDbus.[ch]
20758                 - Add missing <dbus/dbus.h> header
20759                 - Convert to using dbus_message_append_args/dbus_message_get_args
20760                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
20761                         that an allowed network changed.  We don't want to signal on individual
20762                         keys _inside_ an allowed network really, just want NM to query the info
20763                         daemon for updated info on all keys.
20764                 - Better error checking
20765
20766         * src/NetworkManager.[ch]
20767                 - Add missing <dbus/dbus.h> header
20768                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
20769                 - Zero out NMData structure on free
20770                 - No longer use a thread for allowed_ap_list updating, instead its now done
20771                         through dbus queries against NetworkManagerInfo
20772                 - Populate allowed_ap_list initially before adding existing network devices
20773                         to the device list, so wireless devices can get their "best" AP
20774
20775         * src/NetworkManagerDbus.[ch]
20776                 - Convert to using dbus_message_append_args/dbus_message_get_args
20777                 - Better error checking
20778                 - Implement Allowed Network info functions to request allowed network
20779                         info from NetworkManagerInfo
20780                 - Implement the filter function to process signals from NetworkManagerInfo
20781                         about changing allowed networks
20782
20783         * src/NetworkManagerDevice.c
20784                 - Fix file descriptor leak in nm_device_update_ip4_address()
20785
20786 2004-07-27  Dan Williams <dcbw@redhat.com>
20787
20788         * .cvsignore
20789           src/.cvsignore
20790           test/.cvsignore
20791           dispatcher-daemon/.cvsignore
20792           info-daemon/.cvsignore
20793                 - Add .cvsignore files to reduce noise when diffing
20794
20795 2004-07-24  Dan Williams <dcbw@redhat.com>
20796
20797         * src/NetworkManager.[ch]
20798           src/NetworkManagerDbus.[ch]
20799           src/NetworkManagerDevice.[ch]
20800           src/NetworkManagerPolicy.c
20801           src/NetworkManagerWireless.[ch]
20802                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
20803                 - Pass the NMData application data structure through all calls
20804                         that need it so we can get rid of nm_get_global_data()
20805                 - Change deallocation of the allowed_ap_list GSList in preparation
20806                         for not completely clearing it every time we get an update,
20807                         but instead getting incremental updates via GConf/dbus
20808
20809 2004-07-22  Dan Williams <dcbw@redhat.com>
20810
20811         * configure.in
20812                 - Add checks for GConf libs & headers & flags
20813
20814         * info-daemon/Makefile.am
20815                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
20816
20817         * info-daemon/NetworkManagerInfo.[ch]
20818                 - Don't use gquarks for data storage, just use normal data storage
20819                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
20820
20821         * info-daemon/NetworkManagerDbus.[ch]
20822                 - Add method call for getting allowed networks
20823                 - Add method calls for getting an allowed network's essid, priority, and key
20824                 - Hook the method calls up to GConf
20825                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
20826                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
20827                 
20828         * src/NetworkManagerDbus.[ch]
20829                 - Switch for enumeration of networks to using essid instead
20830
20831         * test/Makefile.am
20832           test/nminfotest.c
20833                 - Add test program for NetworkManagerInfo
20834
20835 2004-07-19  Dan Williams <dcbw@redhat.com>
20836
20837         * src/NetworkManagerDbus.c
20838                 - Switch from indexed device paths to names.  Less code, more efficient.
20839                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
20840
20841 2004-07-19  Dan Williams <dcbw@redhat.com>
20842
20843         * dispatcher-daemon/NetworkManagerDispatcher.c
20844                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
20845
20846 2004-07-19  Dan Williams <dcbw@redhat.com>
20847
20848         * Makefile.am
20849                 - Add info-daemon directory
20850
20851         * configure.in
20852                 - Check for glade libs and headers
20853                 - Add info-daemon directory
20854
20855         * src/NetworkManagerAP.c
20856                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
20857                         copied over to the new AP.
20858
20859         * src/NetworkManagerDbus.c
20860           src/NetworkManagerDbus.h
20861                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
20862                 - Remove nm_dbus_signal_need_key_for_network()
20863                 - Add disabled code for asynchronous user wep key callbacks
20864                 - Add functions for getting, setting, and cancelling user key operations
20865                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
20866                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
20867
20868         * src/NetworkManagerDevice.c
20869           src/NetworkManagerDevice.h
20870                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
20871                         logic is in device activation now
20872                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
20873                         key is wrong) trigger get-user-key pending action
20874                 - Implement get-user-key pending action stuff, tie to dbus messages
20875                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
20876                 - Add nm_device_ap_list_get_ap_by_essid()
20877                 - Instead of copying "best" access points, ref them instead so that the key we set
20878                         sticks around
20879
20880         * src/NetworkManagerPolicy.c
20881                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
20882                 - Don't cancel pending actions on a device if its the same device as last iteration
20883                 - Only promote pending_device->active_device if activation was successfull
20884
20885         * src/Makefile.am
20886                 - Rename nmclienttest->nmtest
20887
20888         * info-daemon/Makefile.am
20889           info-daemon/NetworkManagerInfo.c
20890           info-daemon/NetworkManagerInfo.h
20891           info-daemon/NetworkManagerInfoDbus.c
20892           info-daemon/NetworkManagerInfoDbus.h
20893           info-daemon/passphrase.glade
20894           info-daemon/NetworkManagerInfo.conf
20895           info-daemon/keyring.png
20896                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
20897                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
20898                         lists to NetworkManager by proxying user's GConf
20899           
20900
20901 2004-07-15  Dan Williams <dcbw@redhat.com>
20902
20903         * src/Makefile.am
20904                 - Turn on warnings
20905
20906         * src/NetworkManager.c
20907                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
20908                         that doing the deactivation ourselves
20909                 - Cancel an pending actions on a device if its being removed
20910                 - Break up link state checking a bit, make non-active wireless cards
20911                         deactivated to save power
20912                 - Remove unused variables
20913
20914         * src/NetworkManager.h
20915                 - Add support for "pending" device
20916
20917         * src/NetworkManagerAP.h
20918           src/NetworkManagerAP.c
20919                 - Add support for determining whether and AP has encryption enabled or not
20920                 - AP address is now "struct ether_addr" rather than a string
20921
20922         * src/NetworkManagerDbus.h
20923           src/NetworkManagerDbus.c
20924                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
20925                 - Changes for AP address from struct ether_addr->string
20926
20927         * src/NetworkManagerDevice.h
20928           src/NetworkManagerDevice.c
20929                 - Remove unused variables, fix warnings
20930                 - Add support for Pending Actions (things that block a device from being "active"
20931                         until they are completed).
20932                 - First pending action:  Get a WEP key from the user
20933                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
20934                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
20935                 - Update wireless link checking to try to determine if the AP we are associated
20936                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
20937                         trigger the GetUserKey pending action on the device
20938                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
20939                         up in that case, otherwise we can't scan or link-check on it
20940                 - Add IP address change notifications at appropriate points (still needs some work)
20941                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
20942
20943         * src/NetworkManagerPolicy.h
20944           src/NetworkManagerPolicy.c
20945                 - Split out "best" access point determiniation into separate function
20946                 - Make device activation 2-stage:  first the device is pending, then
20947                         in the next iteration through it becomes "active" unless it has
20948                         pending actions
20949
20950         * src/NetworkManagerUtils.h
20951           src/NetworkManagerUtils.c
20952                 - Clean up unused variables and warnings
20953                 - Wrap our debug macros in {} to prevent possible confusion
20954
20955         * src/NetworkManagerWireless.c
20956                 - Forgot to return current best priority, which lead to last available AP always
20957                         being chosen no matter what its priority was.  Corrected.
20958
20959 2004-07-15  Dan Williams <dcbw@redhat.com>
20960
20961         * dispatcher-daemon/Makefile.am
20962                 - Turn on warnings
20963
20964         * dispatcher-daemon/NetworkManagerDispatcher.c
20965                 - Remove unused variables due to warnings
20966                 - Fix some comments
20967                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
20968
20969 2004-07-06  Dan Williams <dcbw@redhat.com>
20970
20971         * src/NetworkManager.c
20972                 - Add IPv4 address update for active device during link state check
20973                 - Don't allow wireless cards to be powered up when they are not the
20974                         active device
20975
20976         * src/NetworkManagerDbus.c
20977           src/NetworkManagerDbus.h
20978                 - Add DBUS IPv4 address change signal
20979                 - Add DBUS IPv4 address get method for devices
20980
20981         * src/NetworkManagerDevice.c
20982                 - Make setting the WEP key actually work
20983                 - Move IP address get/set/update stuff here, per-device
20984                 - Power down/bring down wireless device when deactivated
20985                 - For scanning wireless devices, if first scan returned ENODATA, try again
20986
20987         * src/NetworkManagerPolicy.c
20988                 - Only set the WEP key for an allowed access point if there is one.
20989                         We were setting it to be blank if one wasn't specified.
20990
20991         * src/NetworkManagerUtils.h
20992           src/NetworkManagerUtils.c
20993                 - Move the IP address stuff to NetworkManagerDevice.c
20994
20995         * dispatcher-daemon/NetworkManagerDispatcher.c
20996                 - Add device IPv4 address change notification stuff
20997
20998 2004-07-05  Dan Williams <dcbw@redhat.com>
20999
21000         * dispatcher-daemon/NetworkManagerDispatcher.c
21001                 - A bit more descriptive state message
21002                 - Don't segfault when reading directory
21003
21004         * src/NetworkManager.h
21005                 - Remove NMData desired_ap member, its now
21006                         per-device rather than global
21007
21008         * src/NetworkManager.c
21009                 - Remove references to desired_ap
21010                 - Move the allowed AP list refresh stuff into a thread
21011
21012         * src/NetworkManagerDevice.c
21013           src/NetworkManagerDevice.h
21014                 - Each wireless device now has a "best ap"
21015                 - Make device activate/deactivate functions per-device
21016                 - Make wireless scanning per-device
21017                 - Add IPv4 address discover functions, stub IPv6 ones
21018                 - Move ethernet address validation functions to NetworkManagerUtils.c
21019                 - Add wireless access point accessor function
21020                 - Get/Set functions for "best ap"
21021
21022         * src/NetworkManagerPolicy.c
21023                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
21024                 - Deal with per-device "best ap" rather than data->desired_apa
21025                 - Implement allowed access point worker thread
21026                 - Add nm_policy_essid_is_allowed() function
21027
21028         * src/NetworkManagerUtils.c
21029           src/NetworkManagerUtils.h
21030                 - Add nm_ethernet_address_is_valid() function
21031                 - Add IPv4/IPv6 address get functions
21032
21033         * src/NetworkManagerWireless.c
21034           src/NetworkManagerWireless.h
21035                 - Move scanning stuff into NetworkManagerDevice.c, per-device
21036
21037 2004-06-29  Dan Williams <dcbw@redhat.com>
21038
21039         * dispatcher-daemon/NetworkManagerDispatcher.c
21040                 - Implement script callout functionality
21041
21042 2004-06-24  Dan Williams <dcbw@redhat.com>
21043
21044         * NetworkManager.c
21045             - Spacing cleanups
21046             - Flush device routes and ip addresses when added to the device list
21047
21048         * NetworkManagerDbus.c
21049             - Spacing cleanups
21050             - Add missing returns in the two signal functions
21051         
21052         * NetworkManagerPolicy.c
21053             - Spacing and variable cleanups
21054
21055 2004-06-24  Dan Williams <dcbw@redhat.com>
21056
21057         * Makefile.am
21058           Makefile.in
21059           configure.in
21060           dispatcher-daemon/Makefile.am
21061           dispatcher-daemon/Makefile.in
21062           dispatcher-daemon/NetworkManagerDispatcher.c
21063             - Add a daemon that receives signals from NetworkManager
21064                         and will (eventually) call scripts in /etc/somewhere
21065                         when devices go up or down.
21066         
21067         * NetworkManager.c
21068             - Spacing cleanups
21069             - Flush device routes and ip addresses when added to the device list
21070
21071         * NetworkManagerDbus.c
21072             - Spacing cleanups
21073             - Add missing returns in the two signal functions
21074         
21075         * NetworkManagerPolicy.c
21076             - Spacing and variable cleanups
21077             - Rename nm_policy_switch_interface->nm_policy_switch_device
21078             - nm_policy_switch_device():
21079                                 Use kill (pid) instead of system ("kill <pid>")
21080             - nm_state_modification_monitor():
21081                                 Add wireless essid to output of debug statements
21082                                 Correct typo in device compare to switch or not (should be !=)
21083                                 Don't sleep after sending "no longer active" signal, was useless
21084
21085 2004-06-24  Dan Williams <dcbw@redhat.com>
21086
21087         * Initial import