2008-10-26 Dan Williams <dcbw@redhat.com>
[NetworkManager.git] / ChangeLog
1 2008-10-26  Dan Williams  <dcbw@redhat.com>
2
3         Patch from Tambet Ingo <tambet@gmail.com>
4
5         * libnm-util/libnm-util.ver
6           libnm-util/nm-setting-pppoe.c
7           libnm-util/nm-setting-pppoe.h
8                 - Make properties private and add accessor functions
9
10         * src/nm-device-ethernet.c
11           src/ppp-manager/nm-ppp-manager.c
12                 - Use those accesors
13
14 2008-10-26  Dan Williams  <dcbw@redhat.com>
15
16         Patch from Tambet Ingo <tambet@gmail.com>
17
18         * libnm-util/libnm-util.ver
19           libnm-util/nm-setting-wired.c
20           libnm-util/nm-setting-wired.h
21                 - Make properties private and add accessor functions
22
23         * src/nm-device-ethernet.c
24           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
25           system-settings/plugins/ifcfg-suse/parser.c
26           system-settings/src/main.c
27                 - Use those accessors
28
29 2008-10-26  Dan Williams  <dcbw@redhat.com>
30
31         Patch from Tambet Ingo <tambet@gmail.com>
32
33         * libnm-util/libnm-util.ver
34           libnm-util/nm-setting-serial.c
35           libnm-util/nm-setting-serial.h
36           src/nm-serial-device.c
37                 - Make properties private and use accessors instead
38
39 2008-10-26  Dan Williams  <dcbw@redhat.com>
40
41         * src/supplicant-manager/nm-supplicant-interface.c
42           src/supplicant-manager/nm-supplicant-interface.h
43           src/supplicant-manager/nm-supplicant-manager.c
44           src/supplicant-manager/nm-supplicant-manager.h
45                 - Add state-to-string conversion functions
46
47         * src/nm-device-wifi.c
48           src/nm-device-ethernet.c
49                 - Normalize state info logging and use strings instead of numbers
50
51 2008-10-26  Dan Williams  <dcbw@redhat.com>
52
53         * src/NetworkManagerPolicy.c
54                 - (update_routing_and_dns): ignore host routes when determining whether
55                         a VPN connection should own the default route (bgo #552594)
56
57 2008-10-24  Dan Williams  <dcbw@redhat.com>
58
59         * src/nm-gsm-device.c
60                 - (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young)
61
62 2008-10-23  Dan Williams  <dcbw@redhat.com>
63
64         * src/ppp-manager/nm-ppp-manager.c
65                 - (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always
66                         add really important stuff to the command line to ensure that NM
67                         overrides /etc/ppp/options (bgo #556781)
68
69 2008-10-22  Dan Williams  <dcbw@redhat.com>
70
71         * src/NetworkManagerSystem.c
72           src/nm-device.c
73                 - Use the device's IP interface where appropriate (Per Hallsmark)
74
75 2008-10-22  Dan Williams  <dcbw@redhat.com>
76
77         * src/nm-gsm-device.c
78                 - (schedule_automatic_registration_again): use a short timeout here
79                         instead of an idle handler to avoid using too much CPU polling for
80                         something we should be waiting a bit for anyway
81
82 2008-10-22  Dan Williams  <dcbw@redhat.com>
83
84         * include/NetworkManager.h
85           introspection/nm-device.xml
86                 - Add device state change reason for carrier changes
87
88         * src/nm-device-ethernet.c
89                 - (set_carrier): use the carrier change reason when changing device
90                         state in response to carrier changes
91
92 2008-10-21  Dan Williams  <dcbw@redhat.com>
93
94         * src/NetworkManagerPolicy.c
95                 - (update_etc_hosts): don't leak errors, and ensure that
96                         g_file_set_contents() gets a valid error placeholder (rh #461933)
97
98 2008-10-21  Dan Williams  <dcbw@redhat.com>
99
100         * src/nm-manager.c
101                 - (free_get_settings_info): don't use the DBusGProxy which could be
102                         disposed of by the time the function is called
103                 - (internal_new_connection_cb): save connection scope
104                 - (connection_get_settings_cb): don't replace a connection unless it's
105                         actually different from the existing one; fixes an issue where
106                         killing the settings service wouldn't deactivate an active connection
107                         provided by that settings service, because it was using a connection
108                         that had already been replaced in the system or user hash
109
110 2008-10-21  Dan Williams  <dcbw@redhat.com>
111
112         * src/NetworkManager.c
113                 - (main): keep the DHCP manager around since it's a singleton; fixes
114                         a use-after-free exposed by r4196 since the DHCP manager singleton
115                         variable isn't cleared when the DHCP manager object is finalized
116
117 2008-10-20  Dan Williams  <dcbw@redhat.com>
118
119         * libnm-util/nm-setting-wireless-security.c
120                 - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections
121
122 2008-10-20  Dan Williams  <dcbw@redhat.com>
123
124         * src/supplicant-manager/nm-supplicant-config.c
125                 - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config
126
127 2008-10-20  Dan Williams  <dcbw@redhat.com>
128
129         * src/dhcp-manager/nm-dhcp-manager.c
130                 - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
131                         manager object already refs it once
132                 - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
133                         also get cleaned up by nm_dhcp_device_destroy() to prevent
134                         double-frees
135
136 2008-10-20  Dan Williams  <dcbw@redhat.com>
137
138         * src/nm-manager.c
139                 - (initial_get_connections): use private dbus manager, don't keep
140                         ref-ing the singleton.  Fixes mismatched refcounts of the dbus
141                         manager object.
142
143 2008-10-18  Dan Williams  <dcbw@redhat.com>
144
145         * libnm-glib/nm-settings.c
146           libnm-glib/nm-settings.h
147                 - Rename the "get_secrets" virtual function "service_get_secrets" to
148                         clarify when it's used; NMExportedConnetion is a base-class for both
149                         the client and service side, which is sort of confusing, and
150                         get_secrets only makes sense on the service side.
151
152         * libnm-glib/nm-dbus-connection.c
153                 - (get_secrets): remove, unused, and clients need to do extra work to
154                         get secrets anyway since the call can block on the remote side
155
156         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
157           system-settings/plugins/keyfile/nm-keyfile-connection.c
158                 - Fix up for get_secrets -> service_get_secrets
159
160 2008-10-16  Dan Williams  <dcbw@redhat.com>
161
162         * src/nm-device-wifi.c
163                 - (constructor): correctly determine encryption capabilities
164
165 2008-10-15  Dan Williams  <dcbw@redhat.com>
166
167         * src/nm-device-wifi.c
168                 - (wireless_qual_to_percent): fix quality calculation in a fallback case
169                         (Johannes Berg)
170
171 2008-10-15  Dan Williams  <dcbw@redhat.com>
172
173         * src/NetworkManagerSystem.c
174                 - (ip4_dest_in_same_subnet): tighter checks on subnet matching,
175                         if the ip4_dest is in a smaller subnet contained within a subnet
176                         the machine is currently on, the destination is in the same subnet
177                 - (nm_system_device_set_ip4_route): move subnet checks to callers
178                 - (add_vpn_gateway_route): check if the VPN gateway is in the same
179                         subnet as the parent device, and if so, don't add the direct
180                         host route via the parent device's gateway (bgo #481620)
181                 - (nm_system_apply_ip4_config): check whether the route to be added
182                         is contained within a subnet the device is already on
183
184 2008-10-11  Dan Williams  <dcbw@redhat.com>
185
186         * include/NetworkManager.h
187           introspection/nm-device.xml
188           include/NetworkManagerVPN.h
189                 - Add a few more state reasons for the device deactivated state
190
191         * src/nm-device-interface.c
192           src/nm-device-interface.h
193                 - (nm_device_interface_deactivate): add a 'reason' argument
194
195         * src/nm-device.c
196           src/nm-device.h
197                 - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
198                 - (nm_device_state_changed): pass the state change reason to
199                         nm_device_take_down()
200                 - (nm_device_set_managed): take a 'reason' argument, and pass it along
201                         to the state change function
202
203         * src/nm-manager.c
204           src/nm-manager.h
205                 - (remove_one_device, handle_unmanaged_devices, sync_devices,
206                    impl_manager_sleep): pass a reason code to nm_device_set_managed()
207                 - (nm_manager_deactivate_connection): add a 'reason' argument and pass
208                         something reasonable along to VPN deactivation
209
210         * src/vpn-manager/nm-vpn-manager.c
211           src/vpn-manager/nm-vpn-manager.h
212                 - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
213                         pass that along to nm_vpn_connection_disconnect()
214
215 2008-10-11  Dan Williams  <dcbw@redhat.com>
216
217         * src/nm-device-wifi.c
218                 - (can_scan): remove old madwifi hack for not scanning while connected
219
220 2008-10-11  Dan Williams  <dcbw@redhat.com>
221
222         Add support for VPN subnet gateways (bgo #549196)
223
224         * include/NetworkManager.h
225                 - Add key for internal VPN subnet gateway
226
227         * src/vpn-manager/nm-vpn-connection.c
228                 - (ip_address_to_string): return a const from a static buffer so we
229                         don't leak a lot of strings
230                 - (print_vpn_config): print internal VPN gateway as well
231                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
232                         VPN service too
233                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
234
235         * src/NetworkManagerSystem.c
236           src/NetworkManagerSystem.h
237                 - (nm_system_device_replace_default_ip4_route): split into two, one for
238                         VPN connections and one for normal devices
239                 - (replace_default_ip4_route): break out route stuff into its own function
240                 - (nm_system_replace_default_ip4_route_vpn,
241                    nm_system_replace_default_ip4_route): simplify by having two cases,
242                         one for VPNs and one for normal devices
243
244         * src/NetworkManagerPolicy.c
245                 - (update_routing_and_dns): simplify, use split default route replacement
246                         functions
247
248 2008-10-10  Dan Williams  <dcbw@redhat.com>
249
250         Rework default route handling to consolidate decisions in the policy,
251         and to take active VPN connections into account when changing the default
252         route (bgo #545912)
253
254         * src/NetworkManager.c
255                 - (main): pass the vpn_manager to the policy so it knows about active
256                         VPN connections; clean up the named manager which wasn't done before
257
258         * src/NetworkManagerPolicy.c
259           src/NetworkManagerPolicy.h
260                 - (nm_policy_new): get a clue about the vpn_manager
261                 - (update_default_route): remove, fold into update_routing_and_dns()
262                 - (update_routing_and_dns): handle active VPN connections too; an
263                         active VPN connection becomes the default route if it does not have
264                         server-specified or user-specified custom routes.  Otherwise, the
265                         best active device gets the default route
266                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
267                    nm_policy_destroy): track VPN connection activation and deactivation
268                         and update the default route when appropriate
269
270         * src/NetworkManagerSystem.c
271           src/NetworkManagerSystem.h
272                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
273                         in the VPN connection itself
274                 - (nm_system_vpn_device_set_from_ip4_config,
275                    nm_system_device_set_from_ip4_config): merge together to make
276                         nm_system_apply_ip4_config()
277                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
278                         via the parent device
279                 - (nm_system_apply_ip4_config): simplify
280                 - (add_ip4_route_to_gateway): new function; add a direct route to the
281                         gateway if needed
282                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
283                         route stuff out into add_ip4_route_to_gateway() for clarity
284
285         * src/nm-device.c
286                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
287
288         * src/vpn-manager/nm-vpn-connection.c
289           src/vpn-manager/nm-vpn-connection.h
290                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
291                    nm_vpn_connection_get_parent_device): add
292                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
293                         device explicit
294                 - (connection_state_changed): update the named manager now that
295                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
296                         useful on errors
297
298         * src/vpn-manager/nm-vpn-manager.c
299           src/vpn-manager/nm-vpn-manager.h
300                 - Add a 'connection-activated' signal
301                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
302                         policy to find out about active VPN connections
303
304 2008-10-10  Tambet Ingo  <tambet@gmail.com>
305
306         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
307         a daemon to prevent NM logging spew on console on startup and shutdown (due
308         to dependency loop between NM and syslog).
309
310 2008-10-10  Alexander Sack  <asac@ubuntu.com>
311
312         Implement managed mode. We bind devices configured in /etc/network/interfaces
313         to their connections by updating wired/wireless setting with the
314         mac address of the device.
315
316         * system-settings/plugins/ifupdown/plugin.c
317                 - (get_net_address_for_udi): implement function to retrieve MAC
318                         address of udi from hal in GByteArray format
319                 - (bind_device_to_connection): bind mac address of device to
320                         wired/wireless system connection
321                 - (hal_device_added_cb): call bind_device_to_connection for
322                         system connections with a matching interface.name
323                 - (hal_device_added_cb): ensure that all code paths
324                         properly free the "iface" string.
325
326 2008-10-10  Alexander Sack  <asac@ubuntu.com>
327
328         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
329         mode of the ifupdown system config plugin.
330
331         * system-settings/plugins/ifupdown/plugin.c
332                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
333                         private unmanage_well_known state field accordingly
334
335 2008-10-10  Alexander Sack  <asac@ubuntu.com>
336
337         Implement unmanaged mode that will prevent all devices in the
338         well_known_udis set from being touched by NetworkManager
339
340         * system-settings/plugins/ifupdown/plugin.c
341                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
342                         unmanage_well_known field used to turn on/off unmanaged
343                         mode
344                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
345                         signal when well_known_udis get added/removed
346                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
347                         if we are in unmanaged mode
348
349 2008-10-10  Alexander Sack  <asac@ubuntu.com>
350
351         Add support to track network devices that have a configuration
352         with a matching interface.name in /etc/network/interfaces
353
354         * system-settings/plugins/ifupdown/plugin.c
355                 - (typedef struct SCPluginIfupdownPrivate): add hash table
356                         to track |well_known_udis|
357                 - (get_iface_for_udi): helper function to get interface.name
358                         for a udi
359                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
360                         that add and remove devices to and from the well_known_udis
361                         set depending on whether their |interface.name| matches
362                         any interface definition in /etc/network/interfaces
363                 - (SCPluginIfupdown_init): connect callbacks from above with
364                         hal_mgr and setup well_known_udis hashtable
365                 - (GObject__dispose): destroy well_known_udis hashtable
366                 - (hal_device_added_cb2): implement wrapper callback with GFunc
367                         signature. user_data is supposed to be a triple (hal_mgr,
368                         config and devtype)
369                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
370                         startup and call hal_device_added_cb2
371
372 2008-10-10  Alexander Sack  <asac@ubuntu.com>
373
374         Remove implementation for not used NMSystemConfigInterface callback functions
375         in ifupdown plugin
376
377         * system-settings/plugins/ifupdown/plugin.c
378                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
379                 - (SCPluginIfupdown_connection_added): removed
380
381 2008-10-08  Dan Williams  <dcbw@redhat.com>
382
383         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
384
385         * src/NetworkManagerUtils.c
386                 - (nm_utils_call_dispatcher): add a 'hostname' action
387
388         * src/NetworkManagerPolicy.c
389                 - (set_system_hostname): dispatch hostname changes
390
391         * callouts/nm-dispatcher-action.c
392                 - (nm_dispatcher_action): handle 'hostname' actions
393
394 2008-10-08  Dan Williams  <dcbw@redhat.com>
395
396         * src/NetworkManagerSystem.c
397                 - (find_route): ref the route so it doesn't get destroyed when the cache
398                         is cleared
399                 - (nm_system_device_set_priority): unref the route here after it's done
400                         being used
401
402 2008-10-08  Dan Williams  <dcbw@redhat.com>
403
404         * src/nm-serial-device.c
405                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
406
407 2008-10-08  Tambet Ingo  <tambet@gmail.com>
408
409         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
410         connection with new settings before saving it.
411
412 2008-10-06  Dan Williams  <dcbw@redhat.com>
413
414         * src/nm-ip4-config.c
415           src/nm-ip4-config.h
416                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
417
418         * src/nm-device-interface.c
419                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
420                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
421                         by using '/' for the object path
422
423         * src/nm-device.c
424                 - (src/nm-device.c): marshal missing/unexported ip4-config through
425                         dbus as '/' since dbus-glib can't handle NULL objects nor can
426                         dbus handle NULL object paths
427
428 2008-10-03  Alexander Sack  <asac@ubuntu.com>
429
430         Implement system hostname support for debian/ubuntu
431
432         * system-settings/plugins/ifupdown/plugin.c
433                 - (GObject__get_property): extend announced capabilities; add
434                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
435                 - (GObject__set_property,write_system_hostname): implement
436                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
437                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
438                    update_system_hostname, get_hostname):
439                         implement hostname property that watches and
440                         parses /etc/hostname
441
442 2008-10-03  Alexander Sack  <asac@ubuntu.com>
443
444         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
445           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
446           system-settings/plugins/ifcfg-fedora/Makefile.am
447           system-settings/src/nm-inotify-helper.c
448           system-settings/src/nm-inotify-helper.h
449           src/Makefile.am
450                 - Move ifcfg-fedora inotify helpers to the system settings service so
451                         they are available to all plugins
452
453 2008-10-03  Alexander Sack  <asac@ubuntu.com>
454
455         Implement support for wep-tx-keyidx in ifupdown system
456         config plugin.
457
458         * system-settings/plugins/ifupdown/parser.c
459                 - (update_wireless_security_setting_from_if_block): introduce
460                         free_type_mapping func table; rename a few local
461                         variables to improve readability; add wpa security mapping
462                         for wep-tx-keyidx property
463                 - (string_to_gpointerint): new function used for the auto_type_mapping
464                         of new wep-tx-keyidx property
465                 - (slist_free_all): free func used for mapped slist types
466
467 2008-10-03  Alexander Sack  <asac@ubuntu.com>
468
469         * system-settings/src/main.c:
470                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
471                         always used as the hash key; fixes a crash when removing wired
472                         devices
473
474 2008-10-02  Dan Williams  <dcbw@redhat.com>
475
476         * src/nm-gsm-device.c
477                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
478                         pass the required GSM secret along via user_data rather than keeping
479                         it around in the private data where it sometimes didn't get cleared
480                 - (real_get_ppp_name): implement using the GSM username
481
482 2008-10-02  Dan Williams  <dcbw@redhat.com>
483
484         * src/ppp-manager/nm-ppp-manager.c
485           src/ppp-manager/nm-ppp-manager.h
486                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
487                         the settings daemon for completely new ones
488                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
489                         local PPP peer name; allow PPP debuging by launching NM with
490                         the environment variable NM_PPP_DEBUG defined
491                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
492                         create_pppd_cmd_line()
493
494         * src/nm-serial-device.c
495           src/nm-serial-device.h
496                 - New 'get_ppp_name' function for subclasses to implement to return the
497                         local PPP peer name
498                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
499                         and pass that name to the PPP manager
500
501         * src/nm-device-ethernet.c
502                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
503                         the local peer name
504
505         * src/nm-cdma-device.c
506                 - (real_get_ppp_name): implement using the CDMA username
507
508 2008-10-02  Dan Williams  <dcbw@redhat.com>
509
510         Patch from Alexander Sack <asac ubuntu com>
511
512         * system-settings/plugins/ifupdown/parser.c
513                 - Implement more graceful ip4 config parsing for cases where
514                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
515                   by using default values
516
517 2008-10-02  Dan Williams  <dcbw@redhat.com>
518
519         * src/NetworkManagerPolicy.c
520                 - (device_state_changed): when marking a connection invalid, clear its
521                         secrets too so that fresh secrets get requested the next time
522
523 2008-10-01  Dan Williams  <dcbw@redhat.com>
524
525         * system-settings/src/dbus-settings.c
526                 - (nm_sysconfig_settings_init): cache system hostname on startup as
527                         a fallback if no plugin provides a hostname
528                 - (get_property): fall back to cached hostname if no plugin provides
529                         a hostname
530
531 2008-10-01  Dan Williams  <dcbw@redhat.com>
532
533         Fix setting value comparison issue that caused some settings to look the
534         same when they were really different (rh #464417)
535
536         * libnm-util/nm-param-spec-specialized.c
537                 - (type_is_fixed_size): return fundamental size of the fixed type too
538                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
539                         in the comparison so that the _entire_ fixed type collection gets
540                         compared rather than just the first 'len1' bytes
541
542 2008-09-30  Dan Williams  <dcbw@redhat.com>
543
544         * src/NetworkManagerPolicy.c
545                 - (lookup_thread_worker): don't store the idle handler ID becuase the
546                         idle handler could have already run and freed the LookupThread
547                         structure
548
549 2008-09-30  Tambet Ingo  <tambet@gmail.com>
550
551         * src/nm-device.c (nm_device_get_priority): Implement.
552         (nm_device_set_ip4_config): Send the device priority to system ip4 
553         config setter.
554
555         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
556         Add priority argument and if it's >= 0, set the priority of the network
557         route added automatically by netlink (or kernel?).
558         (nm_system_device_set_priority): Implement.
559
560         * src/NetworkManagerPolicy.c (get_best_device): Use 
561         nm_device_get_priority() instead of home-grown version. Revert the
562         meaning, best priority is the lowest one.
563
564 2008-09-29  Dan Williams  <dcbw@redhat.com>
565
566         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
567         when it returns EAGAIN (rh #362421)
568
569         * src/nm-device-wifi.c
570                 - (wireless_get_range): try GIWRANGE a few times until the card responds
571                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
572
573 2008-09-28  Dan Williams  <dcbw@redhat.com>
574
575         * src/nm-serial-device.c
576           src/nm-serial-device.h
577                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
578                         cleaned at the right times when subclasses close the serial port too
579                 - (nm_serial_device_send_command): use a default send delay; don't
580                         spin forever on EAGAIN
581                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
582                         remove, no longer used
583                 - (find_response): return the matched response if any
584                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
585                         while doing so
586                 - (wait_for_reply_done): pass the matched response to the callback
587                 - (wait_for_reply_got_data): save the matched response; simplify timeout
588                         handling
589                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
590                         const since they never get modified
591                 - (cleanup_device): split out common cleanup stuff to a new function
592                 - (real_deactivate_quickly, finalize): use cleanup_device()
593
594         * src/nm-gsm-device.c
595                 - (modem_get_reply): remove, unused
596                 - (set_apn): give the card a bit more time to respond
597                 - (manual_registration_again, schedule_manual_registration_again,
598                    manual_registration_response, manual_registration): handle manual
599                         registration timeouts better by retrying registration a few times
600                         because cards are a bit slow after CFUN=1
601                 - (automatic_registration_get_network, get_network_response): use
602                         modem_wait_for_reply() because it interacts better with the serial
603                         buffer and does more intelligent matching; need to wait for 'OK'
604                         rather than just matching terminators
605                 - (schedule_automatic_registration_again,
606                    automatic_registration_response, automatic_registration): retry
607                         registration a few times on timeout or "searching" because cards
608                         take a bit to find a network after being powered up with CFUN=1
609                 - (power_up_response, power_up, init_full_done, enter_pin,
610                    check_pin_done): power up the card with CFUN=1 before trying to
611                         register with the network
612                 - (init_modem_full, init_modem): use more standard 3G init strings
613
614         * src/nm-hso-gsm-device.c
615                 - (modem_get_reply): remove, unused
616                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
617                         modem_wait_for_reply() to match actual responses instead of single
618                         termination characters; it doesn't leave stuff in the serial buffer
619                         that might confuse later calls
620                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
621                         to ensure that the call is really disconnected and not leave extra
622                         stuff in the serial buffer
623
624         * src/nm-cdma-device.c
625                 - (power_up_response, power_up, init_done): try Sierra-style modem
626                         power up before attempting to connect
627
628 2008-09-27  Dan Williams  <dcbw@redhat.com>
629
630         * libnm-util/nm-setting-gsm.c
631                 - (verify): verify GSM network ID
632
633 2008-09-25  Dan Williams  <dcbw@redhat.com>
634
635         * libnm-util/nm-setting-gsm.c
636           libnm-util/nm-setting-gsm.h
637                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
638                         technology terms (bgo #551361)
639
640 2008-09-25  Dan Williams  <dcbw@redhat.com>
641
642         Fix bgo #549401 (inspired by patch from Alexander Sack)
643
644         * src/nm-device-ethernet.c
645                 - (finish_supplicant_task): clean up scheduled tasks and free memory
646                 - (remove_supplicant_interface_error_handler): remove the supplicant
647                         error idle callback too
648                 - (supplicant_interface_release): rename from supplicant_interface_clean
649                         to match nm-device-wifi.c; clean up supplicant interface-related
650                         state tasks when the supplicant interface is disposed of
651                 - (schedule_state_handler): add scheduled tasks to a list so they can
652                         be cleaned up later
653                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
654                    supplicant_iface_connection_state_cb_handler): use
655                         finish_supplicant_task() to clean up each completed task
656                 - (supplicant_iface_connection_error_cb_handler,
657                    supplicant_connection_timeout_cb): clear source id when the task is
658                         complete
659                 - (supplicant_iface_connection_error_cb): save scheduled task id for
660                         later cleanup
661                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
662                         tasks
663
664         * src/nm-device-wifi.c
665                 - (finish_supplicant_task): clean up scheduled tasks and free memory
666                 - (remove_supplicant_interface_error_handler): remove the supplicant
667                         error idle callback too
668                 - (supplicant_interface_release): clean up supplicant interface-related
669                         state tasks when the supplicant interface is disposed of
670                 - (schedule_state_handler): add scheduled tasks to a list so they can
671                         be cleaned up later
672                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
673                    supplicant_iface_connection_state_cb_handler): use
674                         finish_supplicant_task() to clean up each completed task
675                 - (supplicant_iface_connection_error_cb_handler): clear source id when
676                         the task is complete
677                 - (supplicant_iface_connection_error_cb): save scheduled task id for
678                         later cleanup
679                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
680
681 2008-09-24  Tambet Ingo  <tambet@gmail.com>
682
683         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
684         method and get/set hostname property.
685
686 2008-09-24  Tambet Ingo  <tambet@gmail.com>
687
688         * src/supplicant-manager/nm-supplicant-interface.c
689         (nm_supplicant_interface_disconnect): Don't increment the reference 
690         count when disconnecting. The problem is on shutdown, when the replies
691         to these commands do not arrive before NM exits, resulting on never
692         calling supplicant interface's dispose(), which removes the interface
693         from supplicant.
694
695 2008-09-24  Tambet Ingo  <tambet@gmail.com>
696
697         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
698         all the public function arguments.
699
700 2008-09-22  Tambet Ingo  <tambet@gmail.com>
701
702         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
703         "Failure" signal from VPN plugins, store the failure reason, and
704         use it when the state is changed to failure.
705
706         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
707         description.
708
709         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
710         reason to the end of the list to not break the API.
711         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
712         so it can be shared by plugins and daemon.
713
714 2008-09-18  Dan Williams  <dcbw@redhat.com>
715
716         Patch from Alexander Sack <asac@ubuntu.com>
717
718         * configure.in
719           system-settings/plugins/Makefile.am
720           system-settings/plugins/ifupdown/Makefile.am
721           system-settings/plugins/ifupdown/interface_parser.c
722           system-settings/plugins/ifupdown/interface_parser.h
723           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
724           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
725           system-settings/plugins/ifupdown/parser.c
726           system-settings/plugins/ifupdown/parser.h
727           system-settings/plugins/ifupdown/plugin.c
728           system-settings/plugins/ifupdown/plugin.h
729                 - Implement a Debian/Ubuntu legacy network configuration plugin
730                         (gnome.org #551941)
731
732 2008-09-18  Dan Williams  <dcbw@redhat.com>
733
734         Implement support for honoring configured and automatic hostnames, and for
735         setting the configured hostname.
736
737         * introspection/nm-ip4-config.xml
738           src/nm-ip4-config.c
739           src/nm-ip4-config.h
740           src/dhcp-manager/nm-dhcp-manager.c
741                 - Remove useless hostname property; it's not really part of the IPv4
742                         config
743
744         * introspection/nm-settings-system.xml
745           libnm-glib/nm-dbus-settings-system.c
746           libnm-glib/nm-dbus-settings-system.h
747                 - Add SetHostname() call to system settings D-Bus interface
748                 - Add Hostname property to system settings D-Bus interface
749                 - (nm_dbus_settings_system_save_hostname,
750                    nm_dbus_settings_system_get_hostname): implement
751
752         * src/nm-device.c
753           src/nm-device.h
754                 - (nm_device_get_dhcp4_config): implement
755
756         * src/nm-manager.c
757           src/nm-manager.h
758                 - Fetch and track system settings service hostname changes, and proxy
759                         the changes via a GObject property of the manager
760
761         * system-settings/src/nm-system-config-interface.c
762           system-settings/src/nm-system-config-interface.h
763                 - Replace nm_system_config_interface_supports_add() with a capabilities
764                         bitfield
765
766         * system-settings/src/nm-system-config-error.c
767           system-settings/src/nm-system-config-error.h
768                 - Add additional errors
769
770         * system-settings/src/dbus-settings.c
771           system-settings/src/dbus-settings.h
772                 - (get_property, nm_sysconfig_settings_class_init): add hostname
773                         property; first plugin returning a hostname wins
774                 - (impl_settings_add_connection): use plugin capabilities instead of
775                         nm_system_config_interface_supports_add()
776                 - (impl_settings_save_hostname): implement hostname saving
777
778         * src/NetworkManagerPolicy.c
779                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
780                    lookup_thread_die): implement an asynchronous hostname lookup thread
781                         which given an IPv4 address tries to look up the hostname for that
782                         address with reverse DNS
783                 - (get_best_device): split out best device code from
784                         update_routing_and_dns()
785                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
786                         to preserve the 127.0.0.1 reverse mapping that so many things require
787                 - (set_system_hostname): set a given hostname
788                 - (update_system_hostname): implement hostname policy; a configured
789                         hostname (from the system settings service) is used if available,
790                         otherwise an automatically determined hostname from DHCP, VPN, etc.
791                         If there was no automatically determined hostname, reverse DNS of
792                         the best device's IP address will be used, and as a last resort the
793                         hostname 'localhost.localdomain' is set.
794                 - (update_routing_and_dns): use get_best_device(); update the system
795                         hostname when the network config changes
796                 - (hostname_changed): update system hostname if the system settings
797                         service signals a hostname change
798                 - (nm_policy_new): list for system settings service hostname changes
799                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
800                         gets told to die
801
802         * system-settings/plugins/keyfile/plugin.c
803           system-settings/plugins/ifcfg-suse/plugin.c
804                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
805                         capabilities properties
806
807         * system-settings/plugins/ifcfg-fedora/shvar.c
808                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
809                         writes out /etc/sysconfig/network now
810
811         * system-settings/plugins/ifcfg-fedora/plugin.c
812                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
813                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
814                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
815                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
816                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
817                         hostname get/set and capabilities get
818
819 2008-09-18  Dan Williams  <dcbw@redhat.com>
820
821         * libnm-util/nm-setting-wireless.c
822                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
823                         group ciphers if the wireless-security setting explicitly specified
824                         them, effectively making the default be "all ciphers"  (idea from
825                         Alexander Sack)
826
827 2008-09-15  Dan Williams  <dcbw@redhat.com>
828
829         Patch from Alexander Sack <asac@ubuntu.com>
830
831         * src/named-manager/nm-named-manager.c
832                 - (dispatch_resolvconf): respect resolvconf exit code
833
834 2008-09-12  Tambet Ingo  <tambet@gmail.com>
835
836         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
837         again. Add some debugging.
838
839 2008-09-11  Dan Williams  <dcbw@redhat.com>
840
841         * system-settings/plugins/keyfile/plugin.c
842                 - (update_connection_settings): update connection manually, since
843                         nm_exported_connection_update() does authentication
844                 - (dir_changed): update_connection_settings() doesn't need to return
845                         an error
846
847 2008-09-09  Dan Williams  <dcbw@redhat.com>
848
849         * libnm-glib/nm-vpn-plugin-ui-interface.c
850           libnm-glib/nm-vpn-plugin-ui-interface.h
851           libnm-glib/libnm_glib_vpn.ver
852                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
853                         should clean up resources related to the connection (like keyring
854                         secrets)
855                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
856                         should save user-scope secrets (like to the keyring)
857
858 2008-09-08  Dan Williams  <dcbw@redhat.com>
859
860         Patch from Alexander Sack <asac@ubuntu.com>
861
862         * libnm-util/crypto_gnutls.c
863           libnm-util/crypto_nss.c
864                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
865
866         * libnm-util/nm-utils.c
867           libnm-util/nm-utils.h
868           libnm-util/libnm-util.ver
869                 - (nm_utils_init): initialize libnm-util
870                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
871
872         * libnm-util/nm-setting-8021x.c
873                 - (nm_setting_802_1x_class_init): init libnm-util when needed
874
875 2008-09-05  Dan Williams  <dcbw@redhat.com>
876
877         Patch from Roy Marples <roy@marples.name> and others
878
879         * configure.in
880           src/named-manager/nm-named-manager.c
881                 - Add support for resolvconf; use --with-resolvconf at configure time
882                         to enable it
883
884 2008-09-05  Dan Williams  <dcbw@redhat.com>
885
886         * libnm-util/crypto_nss.c
887           libnm-util/crypto_gnutls.c
888           libnm-util/crypto.h
889                 - (crypto_init): return error when init fails
890
891 2008-09-05  Dan Williams  <dcbw@redhat.com>
892
893         * libnm-glib/nm-device-wifi.c
894                 - (access_point_removed_proxy): clean up the active access point too
895                         just in case the active ap changed signal didn't come through yet
896                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
897
898 2008-09-05  Dan Williams  <dcbw@redhat.com>
899
900         * libnm-glib/nm-client.c
901                 - (constructor): get initial state after we know whether NM is running
902                         or not
903
904 2008-09-05  Dan Williams  <dcbw@redhat.com>
905
906         * libnm-glib/nm-ip4-config.c
907           libnm-glib/nm-dhcp4-config.c
908                 - (finalize): clean up the DBusGProxy
909
910 2008-09-04  Dan Williams  <dcbw@redhat.com>
911
912         * src/nm-ip4-config.c
913           src/nm-ip4-config.h
914                 - (nm_ip4_config_new): don't export over D-Bus here
915                 - (nm_ip4_config_export): new function; export the config over D-Bus
916                 - (nm_ip4_config_is_exported): new function
917
918         * src/nm-device.c
919                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
920                         objects by balancing the IP4Config constructor; the device holds
921                         a reference to the IP4Config already
922                 - (nm_device_set_ip4_config): export the IP4Config when needed
923
924 2008-09-04  Dan Williams  <dcbw@redhat.com>
925
926         * src/supplicant-manager/nm-supplicant-settings-verify.c
927                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
928
929 2008-09-04  Dan Williams  <dcbw@redhat.com>
930
931         * libnm-util/nm-setting-vpn.c
932           libnm-util/nm-setting-vpn.h
933                 - Split VPN secrets from VPN data so that settings services can actually
934                         figure out that they are secrets and store them accordingly
935
936         * system-settings/plugins/keyfile/nm-keyfile-connection.c
937           system-settings/plugins/keyfile/reader.c
938           system-settings/plugins/keyfile/reader.h
939           system-settings/plugins/keyfile/writer.c
940                 - Store VPN secrets separately from VPN data so that they can be fetched
941                         on demand
942                 - Implement the get_secrets() call so that (a) secrets don't leak out
943                         to unprivileged callers, and (b) secrets can be sent to privileged
944                         callers when needed
945
946         * vpn-daemons/vpnc/src/nm-vpnc-service.c
947                 - Handle split VPN secrets
948
949 2008-08-27  Dan Williams  <dcbw@redhat.com>
950
951         * system-settings/plugins/ifcfg-fedora/reader.c
952                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
953
954 2008-08-27  Dan Williams  <dcbw@redhat.com>
955
956         Ensure zombie children get cleaned up.  To get notifications when children
957         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
958         that requires calling waitpid() yourself if you've removed the child watch
959         handler before the process has actually died, which NM needs to do in a few
960         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
961         cleans up after the child when required.  Should fix problems trying to
962         activate mobile broadband connections after a previous failure.
963
964         * src/dhcp-manager/nm-dhcp-dhclient.c
965           src/dhcp-manager/nm-dhcp-dhcpcd.c
966                 - Use G_SPAWN_DO_NOT_REAP_CHILD
967
968         * src/dhcp-manager/nm-dhcp-manager.c
969                 - (nm_dhcp_device_destroy): ensure child is cleaned up
970                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
971                         block on child quitting, since the non-blocking functionality was
972                         never actually used
973
974         * src/dnsmasq-manager/nm-dnsmasq-manager.c
975                 - (dm_watch_cb): child is already reaped here
976                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
977
978         * src/nm-device.c
979                 - (aipd_cleanup): block until child is dead
980
981         * src/named-manager/nm-named-manager.c
982                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
983                         event bothering to watch the child
984
985         * src/ppp-manager/nm-ppp-manager.c
986                 - (ppp_watch_cb): child is already reaped here
987                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
988
989         * src/vpn-manager/nm-vpn-service.c
990                 - (vpn_service_watch_cb): child is already reaped here
991                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
992                         status of the child is actually tracked
993                 - (ensure_killed, finalize): block until child is dead
994
995 2008-08-26  Dan Williams  <dcbw@redhat.com>
996
997         * system-settings/plugins/keyfile/nm-keyfile-connection.c
998                 - (update): Update filename of the connection if the connection id
999                         was changed
1000
1001         * system-settings/plugins/keyfile/plugin.c
1002                 - (dir_changed): first pass at handling connection renames correctly
1003
1004         * system-settings/plugins/keyfile/writer.c
1005           system-settings/plugins/keyfile/writer.h
1006                 - (write_connection): replace '/' with '*' when writing out the filename
1007                         from the connection id
1008
1009 2008-08-26  Dan Williams  <dcbw@redhat.com>
1010
1011         Add connection UUIDs, since connection names can be changed, and since
1012         old-style connection IDs could change over the life of the connection.  The
1013         UUID should be assigned at connection creation time, be stable for a given
1014         connection, and should be unique among all connections for a given settings
1015         service.
1016
1017         * configure.in
1018           libnm-util/Makefile.am
1019                 - Require libuuid
1020
1021         * introspection/nm-exported-connection.xml
1022                 - Remove "GetID" method
1023
1024         * libnm-glib/nm-dbus-connection.c
1025           libnm-glib/nm-settings.c
1026           libnm-glib/nm-settings.h
1027                 - Remove id-related stuff
1028
1029         * libnm-util/nm-utils.c
1030           libnm-util/nm-utils.h
1031           libnm-util/libnm-util.ver
1032                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
1033                         utility functions to generate UUIDs
1034
1035         * libnm-util/nm-setting-connection.c
1036           libnm-util/nm-setting-connection.h
1037                 - Add 'uuid' member to the connection setting
1038                 - (verify): require valid 'uuid' for a valid connection
1039
1040         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
1041           system-settings/plugins/ifcfg-fedora/reader.c
1042           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
1043           system-settings/plugins/ifcfg-suse/parser.c
1044           system-settings/plugins/keyfile/nm-keyfile-connection.c
1045           system-settings/src/main.c
1046                 - Remove id-related stuff
1047                 - Give connections UUIDs where needed
1048
1049 2008-08-25  Dan Williams  <dcbw@redhat.com>
1050
1051         * libnm-util/crypto_gnutls.c
1052           libnm-util/crypto_nss.c
1053                 - (crypto_init, crypto_deinit): refcount init/deinit
1054                 - (crypto_md5_hash): allow NULL salt
1055
1056 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
1057
1058         * libnm-glib/Makefile.am
1059           libnm-util/Makefile.am
1060           libnm-glib/libnm_glib.ver
1061           libnm-glib/libnm_glib_vpn.ver
1062           libnm-util/libnm-util.ver
1063                 - Use linker version scripts to control the list of exported 
1064                 symbols. List each exported symbol explicitely.
1065         * libnm-util/Makefile.am
1066                 - Fix compilation of the test-crypto binary. The crypto
1067                 functions are no longer part of the libnm-util API. Add 
1068                 crypto_*.c to test_crypto_SOURCES and link against the correct
1069                 crypto libraries.
1070
1071 2008-08-19  Dan Williams  <dcbw@redhat.com>
1072
1073         * configure.in
1074           test/Makefile.am
1075                 - Don't build test/test-common
1076                 - Remove unused stuff
1077
1078         * test/nm-set-fallback
1079           test/nmtestdevices.c
1080           test/test-common/.cvsignore
1081           test/test-common/Makefile.am
1082           test/test-common/test-common.c
1083           test/test-common/test-common.h
1084                 - delete
1085
1086 2008-08-18  Dan Williams  <dcbw@redhat.com>
1087
1088         * libnm-util/nm-utils.c
1089           libnm-util/nm-utils.h
1090                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
1091                         export anything that needs to be converted with this function
1092
1093         * src/dhcp-manager/nm-dhcp-manager.c
1094                 - (garray_to_string): convert a byte array to a UTF-8 string with
1095                         minimal validation; the DHCP client sends it in ASCII anyway
1096                 - (get_option, copy_option): use garray_to_string()
1097
1098 2008-08-18  Dan Williams  <dcbw@redhat.com>
1099
1100         * include/NetworkManager.h
1101           introspection/nm-device.xml
1102                 - Add a "missing firmware" device state reason
1103
1104         * src/NetworkManagerSystem.c
1105           src/NetworkManagerSystem.h
1106                 - (nm_system_device_set_up_down): add a no_firmware argument
1107                 - (nm_system_device_set_up_down_with_iface): if the result of setting
1108                         IFF_UP is ENOENT, that almost always means missing firmware
1109
1110         * src/backends/NetworkManagerGeneric.c
1111           src/nm-device-ethernet.c
1112           src/nm-device-private.h
1113           src/nm-device-wifi.c
1114           src/nm-device.c
1115           src/nm-device.h
1116           src/nm-hso-gsm-device.c
1117           src/vpn-manager/nm-vpn-connection.c
1118                 - Pass no_firmware along; check it where appropriate
1119
1120 2008-08-18  Dan Williams  <dcbw@redhat.com>
1121
1122         Patch from Robert Buchholz <rbu@gentoo.org>
1123
1124         * autogen.sh
1125           configure.in
1126                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
1127                         1003.1-1988, allowing for file names longer than 99 characters
1128
1129 2008-08-17  Dan Williams  <dcbw@redhat.com>
1130
1131         * include/NetworkManager.h
1132           introspection/nm-device.xml
1133           src/nm-gsm-device.c
1134                 - Finer-grained GSM registration failure error codes
1135
1136 2008-08-17  Dan Williams  <dcbw@redhat.com>
1137
1138         * callouts/Makefile.am
1139           src/Makefile.am
1140                 - Move dispatcher directory creation to callouts/Makefile.am
1141
1142         * system-settings/plugins/keyfile/Makefile.am
1143                 - Create keyfile connections directory in DESTDIR (bgo #546833)
1144
1145 2008-08-15  Dan Williams  <dcbw@redhat.com>
1146
1147         Do connection sharing in a cleaner manner; all required iptables rules
1148         are now stored in the activation request and pertain only to the device
1149         which is being shared to other computers. (rh #458625)
1150
1151         * src/nm-activation-request.c
1152           src/nm-activation-request.h
1153                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
1154                         the activation request which will get torn down automatically when
1155                         the activation request dies
1156                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
1157                         is started, and tear them down when sharing is stopped
1158
1159         * src/nm-device.c
1160                 - (start_sharing): start up sharing by doing the required iptables magic
1161                 - (share_init): poke the right bits of the kernel and load the right
1162                         modules for NAT
1163                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
1164                         connection if it's a 'shared' connection
1165
1166         * src/NetworkManagerPolicy.c
1167                 - Remove all sharing stuff; done in the device code itself
1168
1169 2008-08-15  Dan Williams  <dcbw@redhat.com>
1170
1171         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1172                 - (create_dm_cmd_line): send the right router address
1173
1174 2008-08-15  Dan Williams  <dcbw@redhat.com>
1175
1176         * src/ppp-manager/nm-ppp-manager.c
1177                 - (pppd_timed_out): ensure timeouts fail the connection
1178
1179 2008-08-14  Dan Williams  <dcbw@redhat.com>
1180
1181         * src/nm-properties-changed-signal.c
1182           src/nm-properties-changed-signal.h
1183                 - Add a property spec flag for "don't export this property" in
1184                         property changed signals
1185
1186         * src/nm-hso-gsm-device.c
1187           src/nm-gsm-device.c
1188           src/nm-cdma-device.c
1189                 - Don't export monitor interface or netdev interface properties
1190
1191 2008-08-14  Dan Williams  <dcbw@redhat.com>
1192
1193         * src/NetworkManagerPolicy.c
1194                 - (update_routing_and_dns): 'hso' devices can be default even if they
1195                         don't have a gateway
1196
1197 2008-08-14  Dan Williams  <dcbw@redhat.com>
1198
1199         * src/nm-device.c
1200                 - (nm_device_deactivate_quickly): tear down activation request after
1201                         calling device-specific deactivation
1202
1203         * src/nm-hso-gsm-device.c
1204                 - (real_deactivate_quickly): terminate connection when deactivating
1205
1206 2008-08-14  Dan Williams  <dcbw@redhat.com>
1207
1208         * src/nm-activation-request.h
1209                 - Add HSO secrets caller
1210
1211         * src/nm-gsm-device.c
1212           src/nm-gsm-device.h
1213                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1214                         something to the callback function
1215                 - (set_apn, set_apn_done): call class dial function, not a static one
1216                 - (nm_gsm_device_class_init): add a class 'dial' function
1217
1218         * src/nm-hal-manager.c
1219                 - (get_hso_netdev): find the hso-driven hardware's net device
1220                 - (modem_device_creator): recognize hso-driven hardware and create the
1221                         right type of device object for it
1222
1223         * src/Makefile.am
1224           src/nm-hso-gsm-device.c
1225           src/nm-hso-gsm-device.h
1226                 - Implement support for devices driven by the 'hso' driver as a subclass
1227                         of NMGsmDevice
1228
1229 2008-08-14  Dan Williams  <dcbw@redhat.com>
1230
1231         * src/NetworkManagerSystem.c
1232                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
1233                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
1234                         success if the operation really was successful
1235
1236 2008-08-14  Dan Williams  <dcbw@redhat.com>
1237
1238         * src/nm-netlink-monitor.c
1239           src/nm-netlink-monitor.h
1240           src/nm-device-ethernet.c
1241                 - (nm_netlink_monitor_request_status): return an error on failure
1242                 - (constructor): don't segfault on missing error
1243
1244 2008-08-13  Dan Williams  <dcbw@redhat.com>
1245
1246         * callouts/nm-dispatcher-action.c
1247                 - Add IP4 config info to script environment
1248
1249 2008-08-12  Dan Williams  <dcbw@redhat.com>
1250
1251         * src/nm-device.c
1252                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
1253                         that want to use DHCP hostnames should use dispatcher scripts
1254                         for that
1255
1256         * src/NetworkManagerSystem.h
1257           src/backends/NetworkManagerArch.c
1258           src/backends/NetworkManagerDebian.c
1259           src/backends/NetworkManagerFrugalware.c
1260           src/backends/NetworkManagerGeneric.c
1261           src/backends/NetworkManagerGeneric.h
1262           src/backends/NetworkManagerGentoo.c
1263           src/backends/NetworkManagerMandriva.c
1264           src/backends/NetworkManagerPaldo.c
1265           src/backends/NetworkManagerRedHat.c
1266           src/backends/NetworkManagerSlackware.c
1267           src/backends/NetworkManagerSuSE.c
1268                 - Remove nm_system_set_hostname(), no longer used
1269           
1270         * src/backends/Makefile.am
1271           src/backends/shvar.c
1272           src/backends/shvar.h
1273                 - Remove shvar.*; no longer used
1274
1275 2008-08-12  Dan Williams  <dcbw@redhat.com>
1276
1277         Revert most of the 'hostname' patch.  Too much stuff still breaks when
1278         hostname is updated at runtime.  Distros or users who want hostname updates
1279         can use dispatcher scripts to update the hostname if they need it.
1280
1281 2008-08-12  Dan Williams  <dcbw@redhat.com>
1282
1283         * introspection/nm-settings-system.xml
1284           system-settings/src/dbus-settings.c
1285           system-settings/src/dbus-settings.h
1286                 - Add a 'Hostname' property (rw) which represents the configured
1287                         hostname and domain of the system, if any
1288
1289         * system-settings/src/nm-system-config-error.c
1290           system-settings/src/nm-system-config-error.h
1291           system-settings/src/nm-system-config-interface.c
1292           system-settings/src/nm-system-config-interface.h
1293                 - Add a 'hostname' property to the plugin interface
1294                 - Add a method to send updated hostname to plugins to save in their
1295                         backing configuration store
1296
1297         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1298           system-settings/plugins/keyfile/plugin.c
1299           system-settings/plugins/keyfile/writer.c
1300           system-settings/plugins/keyfile/writer.h
1301           system-settings/plugins/ifcfg-suse/plugin.c
1302                 - Add minimal hostname support
1303
1304         * system-settings/plugins/ifcfg-fedora/plugin.c
1305                 - Add support for updating system hostname in /etc/sysconfig/network
1306
1307 2008-08-12  Dan Williams  <dcbw@redhat.com>
1308
1309         * system-settings/plugins/ifcfg-fedora/shvar.c
1310           system-settings/plugins/ifcfg-fedora/shvar.c
1311                 - Fix double-free caused by svSetValue() followed by svCloseFile()
1312
1313 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1314
1315         * Makefile.am: Fix distcheck.
1316
1317 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1318
1319         * libnm-glib/*.c. Document some more.
1320
1321 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1322
1323         Start documenting libnm-glib public API using gtk-doc.
1324
1325         * libnm-glib/nm-serial-device.c: 
1326         * libnm-glib/nm-object.c: 
1327         * libnm-glib/nm-gsm-device.c: 
1328         * libnm-glib/nm-device.c: 
1329         * libnm-glib/nm-device-wifi.c: 
1330         * libnm-glib/nm-device-ethernet.c: 
1331         * libnm-glib/nm-client.c: 
1332         * libnm-glib/nm-cdma-device.c: Document the public API.
1333
1334         * docs/libnm-glib/libnm-glib.types: Implement.
1335
1336         * docs/libnm-glib/Makefile.am: Implement.
1337
1338         * autogen.sh: 
1339         * configure.in: 
1340         * Makefile.am: Add gtk-doc support.
1341
1342 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1343
1344         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
1345
1346         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
1347         the composite result of all the IP4 configurations and call a distro
1348         specific update_resolv_conf().
1349         (update_resolv_conf): Implement one for directly writing to 
1350         /etc/resolv.conf and one for opensuse to call netconfig.
1351
1352 2008-08-11  Dan Williams  <dcbw@redhat.com>
1353
1354         * src/ppp-manager/nm-ppp-manager.c
1355                 - (impl_ppp_manager_need_secrets): pass interface as required
1356
1357 2008-08-11  Dan Williams  <dcbw@redhat.com>
1358
1359         Merge the vpn-properties setting with the vpn setting since it was pointless
1360         to keep both of them around.  Convert the vpn 'data' hash table to a hash
1361         of string:string (instead of string:variant) so that system settings plugins
1362         can have an easier time dealing with the arbitrary key/value pairs.
1363
1364 2008-08-11  Dan Williams  <dcbw@redhat.com>
1365
1366         * libnm-util/nm-utils.c
1367                 - (nm_utils_register_value_transformations): add value transform for
1368                         a hash table of string:string
1369
1370 2008-08-10  Dan Williams  <dcbw@redhat.com>
1371
1372         * libnm-glib/nm-vpn-plugin.c
1373                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
1374                         an idle handler so the Connect reply gets delivered before the
1375                         stop StateChanged signal
1376
1377 2008-08-10  Dan Williams  <dcbw@redhat.com>
1378
1379         * src/nm-ip4-config.c
1380                 - (get_property): use common ip4 address/route conversion functions
1381                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
1382                         copy the new route here, not take ownership
1383
1384 2008-08-08  Tambet Ingo  <tambet@gmail.com>
1385
1386         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
1387         Update the IP4 setting's method name.
1388
1389 2008-08-07  Dan Williams  <dcbw@redhat.com>
1390
1391         * introspection/nm-ip4-config.xml
1392           libnm-glib/libnm-glib-test.c
1393           libnm-glib/nm-ip4-config.c
1394           libnm-glib/nm-ip4-config.h
1395           src/NetworkManagerSystem.h
1396           src/backends/NetworkManagerArch.c
1397           src/backends/NetworkManagerDebian.c
1398           src/backends/NetworkManagerFrugalware.c
1399           src/backends/NetworkManagerGeneric.c
1400           src/backends/NetworkManagerGeneric.h
1401           src/backends/NetworkManagerGentoo.c
1402           src/backends/NetworkManagerMandriva.c
1403           src/backends/NetworkManagerPaldo.c
1404           src/backends/NetworkManagerRedHat.c
1405           src/backends/NetworkManagerSlackware.c
1406           src/backends/NetworkManagerSuSE.c
1407           src/dhcp-manager/nm-dhcp-manager.c
1408           src/nm-device.c
1409           src/nm-ip4-config.c
1410           src/nm-ip4-config.h
1411                 - Remove NIS logic; should be done from dispatcher scripts instead
1412
1413 2008-08-07  Dan Williams  <dcbw@redhat.com>
1414
1415         * src/dhcp-manager/nm-dhcp-manager.c
1416                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
1417                         mis-handling of DHCP responses that returned more than one router
1418                         (found by Grant Williamson)
1419
1420 2008-08-07  Dan Williams  <dcbw@redhat.com>
1421
1422         * callouts/nm-dispatcher-action.c
1423                 - (nm_dispatcher_action): grab device path and create the device; pass
1424                         the device's DHCP4 config to script caller
1425                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
1426                         scripts
1427
1428         * libnm-glib/nm-dhcp4-config.c
1429           libnm-glib/nm-dhcp4-config.h
1430                 - (nm_dhcp4_config_get_options): expose
1431                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
1432
1433 2008-08-07  Dan Williams  <dcbw@redhat.com>
1434
1435         * include/NetworkManager.h
1436                 - Add the DHCP4Config D-Bus interface
1437
1438         * libnm-glib/Makefile.am
1439           libnm-glib/nm-dhcp4-config.c
1440           libnm-glib/nm-dhcp4-config.h
1441                 - Handle DHCP4 config objects exported by NM over D-Bus
1442
1443         * libnm-glib/nm-device.c
1444           libnm-glib/nm-device.h
1445                 - Add a 'dhcp4-config' property
1446
1447         * libnm-glib/libnm-glib-test.c
1448                 - Print out DHCP4 config for devices
1449                 - Fix some crashes when no connections are active
1450
1451         * src/nm-device-interface.c
1452           src/nm-device.c
1453           src/nm-dhcp4-config.c
1454           src/nm-dhcp4-config.h
1455                 - Treat dhcp4-config object as an object path at the D-Bus interface so
1456                         that when it doesn't exist we can proxy it as "/" which dbus-glib
1457                         doesn't let us do when the property type is G_TYPE_OBJECT
1458
1459 2008-08-07  Dan Williams  <dcbw@redhat.com>
1460
1461         * src/NetworkManager.c
1462           src/NetworkManagerSystem.h
1463           src/backends/NetworkManagerArch.c
1464           src/backends/NetworkManagerDebian.c
1465           src/backends/NetworkManagerFrugalware.c
1466           src/backends/NetworkManagerGeneric.c
1467           src/backends/NetworkManagerGeneric.h
1468           src/backends/NetworkManagerGentoo.c
1469           src/backends/NetworkManagerMandriva.c
1470           src/backends/NetworkManagerPaldo.c
1471           src/backends/NetworkManagerRedHat.c
1472           src/backends/NetworkManagerSlackware.c
1473           src/backends/NetworkManagerSuSE.c
1474                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
1475
1476 2008-08-06  Dan Williams  <dcbw@redhat.com>
1477
1478         * libnm-glib/nm-ip4-config.c
1479           libnm-glib/nm-ip4-config.h
1480                 - Add 'routes' property
1481
1482         * libnm-util/nm-setting-vpn.c
1483           libnm-util/nm-setting-vpn.h
1484                 - Remove 'routes' property
1485
1486         * libnm-util/nm-setting-ip4-config.c
1487           libnm-util/nm-setting-ip4-config.h
1488                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
1489                 - Add 'ignore-auto-routes' property
1490                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
1491                         accomodate route metrics
1492                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
1493
1494         * libnm-util/nm-utils.c
1495           libnm-util/nm-utils.h
1496                 - Add helpers for marshalling IP4 routes
1497
1498         * src/NetworkManagerUtils.c
1499                 - (nm_utils_merge_ip4_config): handle property renames and new route
1500                         structure
1501
1502         * src/NetworkManagerSystem.c
1503                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
1504                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
1505
1506         * src/dhcp-manager/nm-dhcp-manager.c
1507                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
1508
1509         * system-settings/plugins/ifcfg-fedora/reader.c
1510           system-settings/plugins/ifcfg-fedora/writer.c
1511                 - Handle routes separately from addresses now that routes have a different
1512                         format
1513
1514         * introspection/nm-ip4-config.xml
1515           src/nm-ip4-config.c
1516           src/nm-ip4-config.h
1517                 - Rename internal routing functions
1518                 - 'static-routes' renamed to 'routes'
1519
1520 2008-08-04  Dan Williams  <dcbw@redhat.com>
1521
1522         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
1523
1524         * src/NetworkManager.c
1525           src/nm-manager.c
1526           src/nm-manager.h
1527                 - More explicitly make the NMManager a singleton
1528
1529 2008-08-04  Dan Williams  <dcbw@redhat.com>
1530
1531         * libnm-util/nm-connection.c
1532           libnm-util/nm-connection.h
1533                 - (nm_connection_verify): return error on missing 'connection' setting
1534                         (found by Sjoerd Simons)
1535
1536 2008-08-04  Dan Williams  <dcbw@redhat.com>
1537
1538         Handle multiple concurrent PPP connections.
1539
1540         * src/ppp-manager/nm-ppp-manager.c
1541           src/ppp-manager/nm-ppp-manager.h
1542                 - (constructor): only PPP Manager request bus name once; each
1543                         NMPPPManager object gets a unique object path
1544                 - (nm_ppp_manager_class_init, get_property, set_property,
1545                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
1546                         at construct time
1547                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
1548                         remove timeout until PPP manager gets an IP4 config
1549                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
1550                         the plugin can call back to this specific PPP manager instance
1551
1552         * src/nm-device-ethernet.c
1553           src/nm-serial-device.c
1554                 - Pass parent device in nm_ppp_manager_new()
1555
1556         * src/nm-gsm-device.c
1557           src/nm-cdma-device.c
1558                 - (device_state_changed): don't close serial device on NEED_AUTH
1559                         state changed, that's not a failure case like the rest are
1560
1561         * src/ppp-manager/nm-pppd-plugin.c
1562                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
1563                         binds one interface to any pppd process, thus the correct index
1564                         is always 0; send PHASE_DEAD on error to alert NM immediately of
1565                         problems; try harder to get a peer address in spite of pppd
1566                 - (plugin_init): use 'ipparam' as the object path back to our specific
1567                         PPP manager instance
1568
1569 2008-08-04  Dan Williams  <dcbw@redhat.com>
1570
1571         * src/ppp-manager/nm-ppp-manager.c
1572                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
1573                         since the GSM and CDMA settings now implement need_secrets, we can
1574                         rely on them to do the right thing.  Where secrets are not required,
1575                         just pass empty strings back to the pppd plugin.
1576                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
1577                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
1578                         on successful IP4 config receipt
1579
1580 2008-08-04  Dan Williams  <dcbw@redhat.com>
1581
1582         * libnm-util/nm-setting-cdma.c
1583           libnm-util/nm-setting-gsm.c
1584                 - (verify): validate username & password if they exist
1585                 - (need_secrets): if username given, require a password too
1586
1587 2008-08-04  Dan Williams  <dcbw@redhat.com>
1588
1589         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1590                 - (create_dm_cmd_line): really don't listen on lo, despite what the
1591                         manpage says about --listen-address without --interface
1592                         (bgo #546033)
1593
1594 2008-08-01  Dan Williams  <dcbw@redhat.com>
1595
1596         * libnm-glib/nm-device.c
1597                 - (proxy_get_string): util function for querying a HAL property
1598                 - (get_ancestor_device): split out from get_product_and_vendor()
1599                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
1600                         from PCI devices by querying subsys properties
1601                 - (nm_device_update_description): simplify
1602
1603 2008-08-01  Dan Williams  <dcbw@redhat.com>
1604
1605         * libnm-util/nm-setting-ip4-config.c
1606           libnm-util/nm-setting-ip4-config.h
1607                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
1608                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
1609                         settings, and they don't necessarily use DHCP.
1610
1611         * src/NetworkManagerPolicy.c
1612           src/nm-device.c
1613           system-settings/plugins/ifcfg-fedora/reader.c
1614           system-settings/plugins/ifcfg-suse/parser.c
1615                 - Fixup for method changes
1616
1617 2008-07-31  Dan Williams  <dcbw@redhat.com>
1618
1619         * src/nm-activation-request.c
1620           src/vpn-manager/nm-vpn-connection.c
1621                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
1622                         itself should be attached to the activation request or the VPN
1623                         connection, not the NMConnection object, since the call is not
1624                         expected to live as long as the NMConnection itself
1625
1626 2008-07-31  Dan Williams  <dcbw@redhat.com>
1627
1628         * src/nm-device-wifi.c
1629                 - (real_act_stage2_config): fix issue where association would continue
1630                         even though secrets were needed; 'goto out' was in wrong scope and
1631                         result of handle_auth_or_fail() should have been dumped directly to
1632                         'ret' to ensure that the association was postponed until secrets
1633                         are available
1634
1635 2008-07-31  Dan Williams  <dcbw@redhat.com>
1636
1637         * system-settings/plugins/ifcfg-fedora/plugin.c
1638           system-settings/plugins/ifcfg-fedora/reader.c
1639                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
1640                         valid NM connection
1641
1642 2008-07-29  Dan Williams  <dcbw@redhat.com>
1643
1644         * src/nm-gsm-device.c
1645                 - (automatic_registration_response, automatic_registration): recognize
1646                         denied registration and reorder responses
1647
1648 2008-07-29  Dan Williams  <dcbw@redhat.com>
1649
1650         * src/nm-serial-device.c
1651                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
1652                         time(2) is used for current time, which returns seconds, we shouldn't
1653                         be multiplying by 1000.
1654
1655 2008-07-28  Dan Williams  <dcbw@redhat.com>
1656
1657         Patch from Fabrice Bellet <fabrice@bellet.info>
1658
1659         * src/NetworkManagerSystem.c
1660                 - (route_in_same_subnet): mask addresses and compare them so that the
1661                         function actually does what it says it's going to do (rh #456685)
1662
1663 2008-07-27  Dan Williams  <dcbw@redhat.com>
1664
1665         * libnm-util/nm-setting-ip6-config.c
1666                 - (set_property): add missing break that caused routes to be overwritten
1667                         with addresses
1668
1669         * libnm-util/nm-setting-ip6-config.c
1670                 - (verify): validate routes and return GError everywhere on invalid setting
1671                 - (finalize): don't leak routes
1672                 - (set_property): add missing break that caused routes to be overwritten
1673                         with addresses
1674
1675 2008-07-27  Dan Williams  <dcbw@redhat.com>
1676
1677         * libnm-util/*
1678                 - Relicense to LGPLv2+
1679
1680 2008-07-27  Dan Williams  <dcbw@redhat.com>
1681
1682         * system-settings/plugins/ifcfg-fedora/reader.c
1683                 - (make_ip4_setting): fix parsing automatic configs
1684
1685 2008-07-27  Dan Williams  <dcbw@redhat.com>
1686
1687         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1688           src/nm-device.c
1689           src/ppp-manager/nm-ppp-manager.c
1690                 - Ensure child process gets reaped.  The child watch function may be
1691                         removed from the mainloop before the child gets killed, so we have
1692                         to make sure the child is reaped when it's told to die intentionally
1693
1694 2008-07-27  Dan Williams  <dcbw@redhat.com>
1695
1696         Patch from Roy Marples <roy@marples.name>
1697
1698         * src/dhcp-manager/nm-dhcp-dhcpcd.c
1699                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
1700
1701 2008-07-27  Dan Williams  <dcbw@redhat.com>
1702
1703         * src/nm-gsm-device.c
1704                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
1705                         Huawei devices turn echo back on after CPIN (rh #456770)
1706
1707 2008-07-24  Tambet Ingo  <tambet@gmail.com>
1708
1709         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
1710         format argument to g_set_error() call.
1711
1712         * src/backends/interface_parser.[ch]: Remove.
1713
1714         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
1715
1716 2008-07-21  Dan Williams  <dcbw@redhat.com>
1717
1718         * src/ppp-manager/nm-ppp-manager.c
1719                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
1720                         to prevent pppd from picking up some random local address from an
1721                         interface that doesn't have anything to do with the one we're
1722                         interested in (rh #455348)
1723
1724 2008-07-17  Dan Williams  <dcbw@redhat.com>
1725
1726         * libnm-util/nm-utils.c
1727                 - (string_to_utf8): general function for conversion to UTF-8 assisted
1728                         by locale
1729                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
1730                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
1731
1732 2008-07-17  Dan Williams  <dcbw@redhat.com>
1733
1734         * introspection/Makefile.am
1735           introspection/nm-device.xml
1736           introspection/nm-dhcp4-config.xml
1737                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
1738                         itself
1739         * src/nm-device-interface.c
1740           src/nm-device-interface.h
1741                 - Add the DHCP4Config property
1742
1743         * src/nm-device.c
1744                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
1745                         D-Bus clients when it changes
1746
1747         * src/nm-dhcp4-config.c
1748           src/nm-dhcp4-config.h
1749                 - Simple object to store DHCP4 options, export them over D-Bus, and
1750                         notify when they change
1751
1752         * src/dhcp-manager/nm-dhcp-manager.c
1753           src/dhcp-manager/nm-dhcp-manager.h
1754                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
1755                         filter server-returned DHCP options into an NMDHCP4Config object
1756
1757 2008-07-16  Dan Williams  <dcbw@redhat.com>
1758
1759         * introspection/nm-device.xml
1760                 - Add device state reasons
1761
1762 2008-07-16  Dan Williams  <dcbw@redhat.com>
1763
1764         Patch from Roy Marples <roy@marples.name>
1765
1766         * configure.in
1767                 - Add --with-dhcp-client option
1768
1769         * src/dhcp-manager/Makefile.am
1770                 - pass DHCP_CLIENT_PATH on compile line
1771
1772         * src/dhcp-manager/nm-dhcp-manager.c
1773           src/dhcp-manager/nm-dhcp-manager.h
1774                 - Genericize for both dhcpcd and dhclient
1775
1776         * src/dhcp-manager/nm-dhcp-dhclient.c
1777                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
1778
1779         * src/dhcp-manager/nm-dhcp-dhcpcd.c
1780                 - Implement support for dhcpcd too
1781
1782 2008-07-16  Tambet Ingo  <tambet@gmail.com>
1783
1784         * system-settings/src/nm-system-config-interface.c 
1785         (nm_system_config_interface_supports_add): Implement.
1786         (nm_system_config_interface_add_connection): Return a boolean to notify
1787         of errors.
1788
1789         * system-settings/src/nm-polkit-helpers.c: 
1790         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
1791         a separate file.
1792
1793         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
1794         Return an error when none of the plugins support add or if addition
1795         failed for some reason.
1796
1797         * system-settings/src/nm-system-config-error.h: 
1798         * system-settings/src/nm-system-config-error.c: New files, mostly moved
1799         here from nm-polkit-helpers.[ch].
1800
1801         * system-settings/src/Makefile.am: Build new files.
1802
1803         * system-settings/plugins/keyfile/reader.c 
1804         (read_array_of_array_of_uint): Make it more general so that it would
1805         work for routes as well.
1806
1807         * system-settings/plugins/keyfile/writer.c
1808         (write_array_of_array_of_uint): Ditto.
1809         Fix the netmask/prefix writing.
1810
1811         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
1812         boolean to notify errors.
1813
1814         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
1815         Return more specific error.
1816         (delete): Ditto.
1817
1818 2008-07-11  Dan Williams  <dcbw@redhat.com>
1819
1820         Modify the NMDevice::state-changed signal to include the previous state
1821         and reason. Enables the applet to provide more information why device
1822         activation failed.
1823
1824 2008-07-09  Dan Williams  <dcbw@redhat.com>
1825
1826         * callouts/Makefile.am
1827           callouts/nm-avahi-autoipd-action.c
1828           callouts/nm-avahi-autoipd.conf
1829                 - avahi-autoipd callout to send options back to NM
1830
1831         * src/autoip.c
1832           src/autoip.h
1833                 - remove
1834
1835         * src/nm-device.c
1836           src/nm-device-private.h
1837           src/nm-manager.c
1838                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
1839                         old custom stuff
1840
1841 2008-07-07  Dan Williams  <dcbw@redhat.com>
1842
1843         * system-settings/plugins/ifcfg-fedora/reader.c
1844                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
1845                         handle PREFIX too; clean up
1846
1847 2008-07-07  Dan Williams  <dcbw@redhat.com>
1848
1849         Convert to using IPv4 prefixes instead of netmasks.
1850
1851 2008-07-03  Dan Williams  <dcbw@redhat.com>
1852
1853         * libnm-util/nm-setting-ip4-config.c
1854           libnm-util/nm-setting-ip4-config.h
1855                 - Add properties for DHCP Client Identifier and DHCP Hostname
1856
1857         * src/dhcp-manager/nm-dhcp-manager.c
1858           src/dhcp-manager/nm-dhcp-manager.h
1859                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
1860                         setting as an argument to pass on to the dhclient config file
1861                         creation function
1862                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
1863                         DHCP is torn down
1864                 - (dhclient_run): punt config file handling to create_dhclient_config()
1865                 - (create_dhclient_config): create an interface-specific dhclient
1866                         config file since there may need to be interface-specific options
1867                         passed to dhclient
1868                 - (merge_dhclient_config): merge normal distro dhclient config file and
1869                         add options from the connection
1870                 - (nm_dhcp_device_new): generate the interface specific dhclient
1871                         config file path once
1872                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
1873                         dhclient config file path
1874
1875         * src/nm-device.c
1876                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
1877                         DHCP manager when starting DHCP
1878
1879 2008-07-02  Dan Williams  <dcbw@redhat.com>
1880
1881         * libnm-util/nm-setting-8021x.c
1882                 - (verify): allow forcing the PEAP label to 0
1883
1884 2008-07-02  Dan Williams  <dcbw@redhat.com>
1885
1886         * introspection/nm-active-connection.xml
1887           introspection/nm-vpn-connection.xml
1888           libnm-glib/nm-active-connection.c
1889           src/nm-activation-request.c
1890           src/nm-active-connection.h
1891           src/vpn-manager/nm-vpn-connection.c
1892                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
1893                         and libnm-glib API since sharing didn't get implemented that way
1894
1895 2008-07-02  Dan Williams  <dcbw@redhat.com>
1896
1897         * src/nm-device-wifi.c
1898                 - (can_scan): don't scan when a shared connection is activated since
1899                         that makes drivers mad (causing disconnects); also NM doesn't need
1900                         to hedge against disconnects by keeping up-to-date network topology
1901                         because the connection originates from the local machine, and thus
1902                         there should be no disconnects
1903
1904 2008-07-01  Dan Williams  <dcbw@redhat.com>
1905
1906         Fix mobile broadband username/password issues.  NM was never requesting
1907         mobile broadband secrets, nor was it passing back the username and password
1908         if it had them.
1909
1910         * marshallers/nm-marshal.list
1911                 - Add some new types for activation request objects
1912
1913         * src/nm-activation-request.c
1914           src/nm-activation-request.h
1915                 - (get_secrets_cb): pass the caller type in the signal
1916                 - (nm_act_request_request_connection_secrets): take a caller type, so
1917                         that GetSecrets() reply handlers know who asked for the secrets in
1918                         the first place; use secret hints too so the settings service can
1919                         figure out exactly what NM wants (ie, PIN or the PPP password)
1920
1921         * src/ppp-manager/nm-ppp-manager.c
1922           src/ppp-manager/nm-ppp-manager.h
1923                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
1924                         detect needed secrets when the secret could be blank, like GSM/CDMA
1925                         passwords.  So always ask for secrets, and send a hint as to what
1926                         secret we really want.
1927                 - (nm_ppp_manager_update_secrets): make function more generic by making
1928                         the device specific class figure out the username and password, and
1929                         accept an error argument to return back over D-Bus
1930
1931         * src/nm-device-wifi.c
1932                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
1933                         nm_act_request_request_connection_secrets()
1934                 - (real_connection_secrets_updated): update for 'caller' changes
1935
1936         * src/nm-device.c
1937           src/nm-device.h
1938                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
1939                         for 'caller' changes
1940
1941         * src/nm-device-ethernet.c
1942                 - (real_connection_secrets_updated): update for 'caller' changes and
1943                         move logic for getting PPPoE username and password here before
1944                         calling nm_ppp_manager_update_secrets()
1945                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
1946                         nm_act_request_request_connection_secrets()
1947
1948         * src/nm-cdma-device.c
1949                 - (real_connection_secrets_updated): pass username and password back
1950                         to the PPP manager when required
1951
1952         * src/nm-gsm-device.c
1953                 - (enter_pin): send the required secret name to the settings service
1954                 - (real_connection_secrets_updated): pass username and password back
1955                         to the PPP manager when required
1956
1957 2008-06-30  Dan Williams  <dcbw@redhat.com>
1958
1959         * src/nm-device-wifi.c
1960                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
1961
1962 2008-06-30  Dan Williams  <dcbw@redhat.com>
1963
1964         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
1965         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
1966         priv->supplicant.iface.  When either condition is false, the device should
1967         transition back to UNAVAILABLE because it cannot be used.
1968
1969         * src/nm-device-wifi.c
1970                 - (constructor): cleanup; connect to supplicant manager here since the
1971                         supplicant manager is always around
1972                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
1973                         ensure the supplicant manager is in the IDLE state
1974                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
1975                         cancel any pending scans too
1976                 - (real_bring_up): don't set up the supplicnat interface here, because
1977                         we need the supplicant interface at times when the device may not
1978                         be "up"
1979                 - (real_take_down): just remove the periodic source
1980                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
1981                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
1982                         do anything if there's no supplicant interface
1983                 - (cleanup_association_attempt): cleanup
1984                 - (supplicant_iface_state_cb_handler): request an immediate scan when
1985                         the interface enters the READY state; transition to UNAVAILABLE
1986                         state when the interface goes down because the device can't be used
1987                         without a supplicant interface
1988                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
1989                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
1990                         acquire the supplicant interface and transition to DISCONNECTED
1991                         if the radio isn't killed
1992                 - (nm_device_wifi_dispose): move most of device_cleanup() here
1993                 - (state_changed_cb): release any existing supplicant interface; if the
1994                         radio is enabled then try to acquire a new supplicant interface;
1995                         if the radio is enabled and a supplicant interface has been acquired,
1996                         we can transition to DISCONNECTED
1997                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
1998                         don't enable the radio, because HAL probably lied to us about the
1999                         killswitch being off.  If bringing the hardware up worked, then
2000                         try to grab a supplicant interface, and if that was successful,
2001                         transition to DISCONNECTED
2002
2003 2008-06-30  Dan Williams  <dcbw@redhat.com>
2004
2005         * src/supplicant-manager/nm-supplicant-interface.c
2006                 - (request_scan_results, nm_supplicant_interface_dispose,
2007                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
2008                         the id of the timeout, not a GSource
2009
2010 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2011
2012         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
2013         bunch of typoes introduced by "Patch from David Cantrell 
2014         <dcantrell@redhat.com> and me".
2015
2016 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2017
2018         * src/nm-serial-device.c: 
2019         * src/nm-gsm-device.c: 
2020         * src/nm-cdma-device.c: Move the pending call handling to a common location
2021         in serial device. Handle setting device state to failed in one place as well.
2022
2023 2008-06-29  Dan Williams <dcbw@redhat.com>
2024
2025         * src/nm-hal-manager.c
2026                 - Rework killswitch handling to query killswitch status immediately
2027                         when the first killswitch is added, so that rfkill state is
2028                         known as early as possible
2029                 - Also treat failure of GetPower() as rfkill when the dbus method
2030                         call times out (but not when the HAL callout returns an error)
2031
2032 2008-06-26  Dan Williams <dcbw@redhat.com>
2033
2034         Patch from David Cantrell <dcantrell@redhat.com> and me
2035
2036         * include/nm-dbus-glib-types.h
2037                 - Add IP6 address types
2038
2039         * libnm-util/Makefile.am
2040           libnm-util/nm-setting-ip6-config.c
2041           libnm-util/nm-setting-ip6-config.h
2042                 - Add IP6 settings object
2043
2044         * libnm-util/nm-connection.c
2045                 - (register_default_settings): register ip6 settings object
2046
2047         * libnm-util/nm-utils.c
2048           libnm-util/nm-utils.h
2049                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
2050                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
2051                         ip6 address conversion functions
2052         
2053 2008-06-26  Dan Williams <dcbw@redhat.com>
2054
2055         Patch from David Cantrell <dcantrell@redhat.com>
2056         
2057         * Use inet_ntop() and inet_pton() everwhere and check for errors
2058
2059 2008-06-26  Dan Williams <dcbw@redhat.com>
2060
2061         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
2062
2063 2008-06-26  Dan Williams <dcbw@redhat.com>
2064
2065         Patch from Adel Gadllah <adel.gadllah@gmail.com>
2066
2067         * src/nm-device-wifi.c
2068                 - (link_timeout_cb): don't ignore disconnects due to scanning
2069                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
2070                         a longer timeout when scanning; avoids case where supplicant can't
2071                         find the AP and just keeps scanning forever but isn't connected
2072
2073 2008-06-26  Dan Williams <dcbw@redhat.com>
2074
2075         Patch from Michael Biebl <biebl@debian.org>
2076
2077         * Clean up build system stuff
2078
2079 2008-06-23  Christian Persch  <chpe@gnome.org>
2080
2081         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
2082         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
2083         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
2084         (impl_get_object):
2085         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
2086         (impl_get_object):
2087         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
2088         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
2089         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
2090         (impl_get_object):
2091         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
2092         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
2093         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
2094         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
2095         * vpn-daemons/pptp/properties/vpnui_opt.c:
2096         (vpnui_opt_connect_signals):
2097         * vpn-daemons/pptp/properties/vpnui_opt.h:
2098         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
2099         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
2100         deprecated gtk type macros. Bug #539325.
2101
2102 2008-06-20  Dan Williams  <dcbw@redhat.com>
2103
2104         * libnm-glib/nm-vpn-plugin-ui-interface.c
2105           libnm-glib/nm-vpn-plugin-ui-interface.h
2106                 - 'validity-changed' -> 'changed' to work better with the connection
2107                         editor.  Plugin UI widgets should emit 'changed' whenever their
2108                         UI values change in a meaningful way.
2109                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
2110                         update_connection member now returns validity of the UI widget
2111
2112 2008-06-20  Tambet Ingo  <tambet@gmail.com>
2113
2114         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
2115
2116 2008-06-17  Dan Williams  <dcbw@redhat.com>
2117
2118         * libnm-glib/nm-vpn-plugin-ui-interface.c
2119           libnm-glib/nm-vpn-plugin-ui-interface.h
2120                 - Add "desc" property for longer descriptions of the VPN plugin
2121
2122 2008-06-16  Dan Williams  <dcbw@redhat.com>
2123
2124         * configure.in
2125           libnm-glib/libnm_glib_vpn.pc.in
2126                 - add a .pc file for libnm_glib_vpn
2127
2128         * libnm-glib/nm-vpn-plugin-ui-interface.c
2129           libnm-glib/nm-vpn-plugin-ui-interface.h
2130                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
2131                         rework it substantially
2132
2133 2008-06-12  Dan Williams  <dcbw@redhat.com>
2134
2135         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
2136         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
2137         returns a descriptive GError when verification fails.
2138
2139 2008-06-11  Dan Williams  <dcbw@redhat.com>
2140
2141         Patch from Tambet Ingo <tambet@gmail.com>
2142
2143         * libnm-util/nm-setting-gsm.c
2144                 - (verify): validate APN
2145
2146         * src/nm-gsm-device.c
2147                 - (manual_registration_done): start setting APN if needed
2148                 - (set_apn, set_apn_done): set the APN
2149                 - (do_dial): use the APN when dialing
2150
2151 2008-06-11  Dan Williams  <dcbw@redhat.com>
2152
2153         * src/NetworkManagerSystem.c
2154                 - (nm_system_device_set_ip4_route,
2155                    nm_system_device_replace_default_ip4_route): check for the right
2156                         return value from rtnl_route_add() to know when to add a gateway
2157                         route (from Tambet)
2158
2159 2008-06-11  Dan Williams  <dcbw@redhat.com>
2160
2161         * src/NetworkManagerPolicy.c
2162                 - do_ipt_cmd -> do_cmd
2163                 - (sharing_init): use do_cmd() instead of system()
2164
2165 2008-06-10  Dan Williams  <dcbw@redhat.com>
2166
2167         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
2168         and use "wifi" everwhere instead.
2169
2170 2008-06-10  Dan Williams  <dcbw@redhat.com>
2171
2172         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
2173
2174 2008-06-10  Dan Williams  <dcbw@redhat.com>
2175
2176         Patch from Tambet Ingo <tambet@gmail.com>
2177
2178         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
2179                 changes.
2180
2181         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
2182                 a signal to emit these changes over dbus.
2183
2184         * src/Makefile.am: Genereate nm-serial-device-glue.
2185
2186         * libnm-glib/nm-serial-device.[ch]: Implement.
2187
2188         * libnm-glib/nm-cdma-device.[ch]
2189           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
2190
2191         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
2192
2193         * introspection/nm-device-serial.xml: Implement.
2194
2195         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
2196
2197         * introspection/Makefile.am: Add nm-device-serial.xml.
2198
2199         * include/NetworkManager.h: Add a DBus interface for serial device.
2200
2201 2008-06-10  Dan Williams  <dcbw@redhat.com>
2202
2203         * configure.in
2204                 - Add TARGET_* define to config.h to distinguish distros
2205
2206         * src/dhcp-manager/nm-dhcp-manager.c
2207                 - (dhclient_run): use distro-specific path for dhclient config file
2208
2209 2008-06-09  Dan Williams  <dcbw@redhat.com>
2210
2211         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2212           src/dnsmasq-manager/nm-dnsmasq-manager.h
2213                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2214                         calculate the addresses passed to dnsmasq instead of hard-coding
2215                         them
2216
2217         * src/nm-device.c
2218                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2219                         IP addresses for shared connections to guard against shared
2220                         connection address collisions
2221                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2222                         error conditions
2223                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2224                         the dnsmasq manager
2225
2226 2008-06-09  Dan Williams  <dcbw@redhat.com>
2227
2228         * src/NetworkManagerPolicy.c
2229                 - (update_routing_and_dns): set the default connection _after_ unsetting
2230                         default on all non-default connections so that two connections can
2231                         never be default at the same time
2232                 - (device_state_changed): start and stop connection sharing when
2233                         needed
2234                 - (active_connection_default_changed): restart or stop sharing when
2235                         the default connection changes to keep shared connections always
2236                         NAT-ed through the default connection
2237                 - (check_sharing): handle activation/deactivation of shared connections
2238                 - (sharing_restart): atom-bomb approach to connection sharing until we
2239                         can use libnl; reinit all sharing when the default connection or
2240                         shared connections change
2241                 - (sharing_init, sharing_stop): evil functions that init and deinit
2242                         iptables
2243
2244 2008-06-09  Dan Williams  <dcbw@redhat.com>
2245
2246         * src/nm-activation-request.c
2247           src/nm-activation-request.h
2248                 - (nm_act_request_set_shared, nm_act_request_get_shared,
2249                    nm_act_request_get_device): new functions to facilitate connection
2250                         sharing
2251
2252 2008-06-09  Dan Williams  <dcbw@redhat.com>
2253
2254         * src/nm-device.c
2255                 - (clear_act_request): unset the 'default' property of the activation
2256                         request when clearing it to ensure the property changed signal gets
2257                         delivered and handled
2258
2259 2008-06-09  Dan Williams  <dcbw@redhat.com>
2260
2261         * libnm-glib/nm-device-802-11-wireless.c
2262                 - (access_point_removed_proxy): actually unref the AP after removing
2263                         it from the device's AP list.  Fixes refcounting bug for APs that
2264                         caused them to get mixed up in the applet's menu.
2265
2266 2008-06-09  Tambet Ingo  <tambet@gmail.com>
2267
2268         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
2269         (nm_dhcp_device_destroy): Destroy the device options hash table.
2270
2271 2008-06-06  Dan Williams <dcbw@redhat.com>
2272
2273         * system-settings/src/nm-polkit-helpers.c
2274                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
2275                         unref the context if the initialization fails; also avoid spew when
2276                         the error isn't set
2277
2278 2008-06-06  Dan Williams <dcbw@redhat.com>
2279
2280         Patch from Tambet Ingo  <tambet@gmail.com>
2281
2282         * src/NetworkManagerSystem.c
2283           src/NetworkManagerSystem.h
2284                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
2285                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
2286                 - (nm_system_device_set_ip4_route): clean up
2287                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
2288
2289         * src/nm-device.c
2290                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
2291
2292         * src/vpn-manager/nm-vpn-connection.c
2293                 - (ip_address_to_string): new function
2294                 - (print_vpn_config): use ip_address_to_string
2295                 - (merge_vpn_routes): add user-defined routes to the ip4 config
2296                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
2297
2298         * include/NetworkManagerVPN.h
2299                 - Add 'routes' key
2300
2301 2008-06-05  Dan Williams <dcbw@redhat.com>
2302
2303         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2304
2305         * test/nm-tool.c
2306                 - Show which device is the default device
2307
2308 2008-06-05  Tambet Ingo  <tambet@gmail.com>
2309
2310         Fix memory leaks.
2311
2312         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
2313         Free data returned from dbus method call.
2314
2315         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
2316         dbus_g_method_get_sender() returns a duplicated string, free it 
2317         when done.
2318         (check_polkit_privileges): Looks like policykit sometimes returns
2319         error and non-null return value, don't leak errors in that case.
2320
2321         * system-settings/src/main.c (find_plugin): Don't leak existing 
2322         plugin names.
2323         (load_stuff): Don't leak device list and list items.
2324         (have_connection_for_device): Don't leak connection list.
2325
2326         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
2327         Free the data received from g_keyfile_get_*.
2328
2329         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
2330         the key when the security object is updated.
2331
2332         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
2333         Free data returned from dbus method call.
2334         (iface_state_cb): Ditto.
2335         (add_network_cb): Ditto.
2336         (nm_supplicant_interface_add_cb): Don't make another copy of already
2337         duplicated object path.
2338         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
2339         when done.
2340
2341         * src/supplicant-manager/nm-supplicant-config.c 
2342         (ADD_STRING_LIST_VAL): Fix a memory leak.
2343
2344         * src/nm-manager.c (free_get_settings_info): Free the allocated
2345         memory slice.
2346         (list_connections_cb): Free data returned from dbus method call.
2347         (system_settings_get_unmanaged_devices_cb): Ditto.
2348
2349         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
2350
2351         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
2352         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
2353         * src/backends/shvar.c (svCloseFile): Free the duplicated content
2354         of the GList.
2355
2356         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
2357         arguments after the object is created.
2358
2359 2008-06-04  Dan Williams <dcbw@redhat.com>
2360
2361         * libnm-util/Makefile.am
2362                 - Don't distribute nm-param-spec-specialized.h
2363
2364 2008-06-02  Tambet Ingo  <tambet@gmail.com>
2365
2366         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
2367
2368         * src/nm-ip4-config.[ch]: Store the static routes as a list of
2369         NMIP4Address, update the getters and setters.
2370
2371         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2372         Use the updated NMIP4Config routes api.
2373
2374         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
2375         static routes as well.
2376
2377         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
2378         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
2379         routes api.
2380
2381 2008-05-30  Dan Williams <dcbw@redhat.com>
2382
2383         * src/named-manager/nm-named-manager.c
2384           src/named-manager/nm-named-manager.h
2385                 - Remove stale/obsolete bits for controlling bind over DBus
2386
2387 2008-05-29  Dan Williams <dcbw@redhat.com>
2388
2389         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2390           src/dnsmasq-manager/nm-dnsmasq-manager.h
2391                 - (nm_dnsmasq_manager_new): move iface argument here
2392                 - (constructor): remove, not needed
2393                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
2394                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
2395
2396         * src/nm-device.c
2397                 - (real_act_stage4_get_ip4_config,
2398                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
2399                         changes
2400
2401 2008-05-29  Dan Williams <dcbw@redhat.com>
2402
2403         * src/nm-device.c
2404                 - (dnsmasq_state_changed_cb): new function; fail the connection if
2405                         something happens to dnsmasq
2406                 - (nm_device_new_ip4_shared_config): new function; create a new
2407                         ip4-config for shared connections.  Shared connections always use a
2408                         fixed static IP address.
2409                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
2410                         autoip connections by actually using the returned ip4-config and
2411                         not leaking it
2412                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
2413                         connections
2414                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
2415                         if its active
2416
2417 2008-05-29  Dan Williams <dcbw@redhat.com>
2418
2419         * src/nm-device-802-11-wireless.c
2420                 - (real_get_best_auto_connection): auto-activate 'shared' method
2421                         connections too
2422
2423 2008-05-29  Dan Williams <dcbw@redhat.com>
2424
2425         * libnm-util/nm-setting-ip4-config.c
2426           libnm-util/nm-setting-ip4-config.h
2427                 - Add a 'shared' method to indicate that this connection should be
2428                         brought up with a DHCP and proxy DNS server to facilitate
2429                         connection sharing.
2430                 - (verify): 'shared' method doesn't allow DNS or searches either
2431
2432 2008-05-29  Dan Williams <dcbw@redhat.com>
2433
2434         * configure.in
2435           src/Makefile.am
2436           src/dnsmasq-manager/Makefile.am
2437           src/dnsmasq-manager/nm-dnsmasq-manager.c
2438           src/dnsmasq-manager/nm-dnsmasq-manager.h
2439                 - Add a dnsmasq daemon manager to facilitate connection sharing
2440
2441 2008-05-29  Dan Williams <dcbw@redhat.com>
2442
2443         * src/nm-device-private.h
2444                 - Remove unused prototypes and clean up
2445
2446         * src/nm-device.c
2447                 - Remove anything related to system_config_data, which is no longer used
2448                 - (nm_device_new_ip4_autoip_config): make static
2449
2450 2008-05-29  Tambet Ingo  <tambet@gmail.com>
2451
2452         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
2453         (file_changed): Fix a bug where suse system settings plugin didn't
2454         update the connections automatically when the files changed.
2455
2456 2008-05-28  Dan Williams  <dcbw@redhat.com>
2457
2458         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
2459
2460 2008-05-28  Dan Williams  <dcbw@redhat.com>
2461
2462         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2463
2464         * src/NetworkManagerSystem.c
2465                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
2466                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
2467                         was causing -EINVAL errors since the libnl code actually does flush
2468                         the routes on VPN interfaces now
2469
2470         * src/backends/NetworkManagerArch.c
2471           src/backends/NetworkManagerDebian.c
2472           src/backends/NetworkManagerFrugalware.c
2473           src/backends/NetworkManagerGeneric.c
2474           src/backends/NetworkManagerGentoo.c
2475           src/backends/NetworkManagerMandriva.c
2476           src/backends/NetworkManagerPaldo.c
2477           src/backends/NetworkManagerRedHat.c
2478           src/backends/NetworkManagerSlackware.c
2479           src/backends/NetworkManagerSuSE.c
2480                 - (nm_system_device_flush_ip4_routes,
2481                    nm_system_device_flush_ip4_routes_with_iface): remove
2482
2483 2008-05-28  Dan Williams  <dcbw@redhat.com>
2484
2485         * libnm-util/nm-setting-wireless.c
2486           libnm-util/nm-setting-wireless.h
2487                 - (set_property, get_property, nm_setting_wireless_class_init): add the
2488                         'adhoc-create' property, which when TRUE indicates that NM should
2489                         create this connection as an adhoc wifi network if it's not found
2490                         as an adhoc network during scanning.  Can be used to auto-create
2491                         adhoc networks when used in combination with autoconnect.
2492
2493 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2494
2495         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
2496
2497         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
2498         checked, it doesn't work on some devices.
2499
2500 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2501
2502         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
2503         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
2504
2505         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2506         Use inet_aton() everywhere to improve error detection.
2507         Don't fall back to 'dhcp_server_identifier' if the gateway is not
2508         provided.
2509
2510 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2511
2512         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
2513         Fix a typo.
2514
2515 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2516
2517         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
2518         reference counting issue.
2519
2520 2008-05-23  Dan Williams  <dcbw@redhat.com>
2521
2522         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2523
2524         * src/backends/NetworkManagerGeneric.c
2525                 - (nm_generic_enable_loopback): use libnl
2526
2527 2008-05-23  Dan Williams  <dcbw@redhat.com>
2528
2529         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2530
2531         * src/NetworkManagerSystem.h
2532           src/backends/NetworkManagerArch.c
2533           src/backends/NetworkManagerDebian.c
2534           src/backends/NetworkManagerFrugalware.c
2535           src/backends/NetworkManagerGentoo.c
2536           src/backends/NetworkManagerMandriva.c
2537           src/backends/NetworkManagerPaldo.c
2538           src/backends/NetworkManagerRedHat.c
2539           src/backends/NetworkManagerSlackware.c
2540           src/backends/NetworkManagerSuSE.c
2541                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
2542                    nm_system_flush_arp_cache): remove, unused
2543
2544         * src/backends/NetworkManagerGeneric.c
2545           src/backends/NetworkManagerGeneric.h
2546                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
2547                    nm_generic_flush_arp_cache): remove, unused
2548
2549 2008-05-23  Dan Williams  <dcbw@redhat.com>
2550
2551         * system-settings/plugins/ifcfg-fedora/reader.c
2552                 - (make_ip4_setting): honor PEERDNS setting
2553
2554 2008-05-23  Dan Williams  <dcbw@redhat.com>
2555
2556         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2557
2558         * src/NetworkManagerSystem.c
2559                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
2560                         libnl
2561
2562         * src/backends/NetworkManagerArch.c
2563           src/backends/NetworkManagerDebian.c
2564           src/backends/NetworkManagerFrugalware.c
2565           src/backends/NetworkManagerGentoo.c
2566           src/backends/NetworkManagerMandriva.c
2567           src/backends/NetworkManagerPaldo.c
2568           src/backends/NetworkManagerRedHat.c
2569           src/backends/NetworkManagerSlackware.c
2570           src/backends/NetworkManagerSuSE.c
2571                 - (nm_system_device_flush_ip4_addresses,
2572                    nm_system_device_flush_ip4_addresses_with_iface): remove
2573
2574         * src/backends/NetworkManagerGeneric.c
2575                 - (nm_generic_device_flush_ip4_addresses,
2576                    nm_generic_device_flush_ip4_addresses_with_iface): remove
2577
2578 2008-05-23  Dan Williams  <dcbw@redhat.com>
2579
2580         * src/supplicant-manager/nm-supplicant-settings-verify.c
2581                 - Switch 'bssid' from bytes to keyword type
2582                 - (validate_type_keyword): allow NULL keyword lists
2583
2584         * src/supplicant-manager/nm-supplicant-config.c
2585                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
2586                         a byte array to string form, which is what the supplicant expects
2587
2588 2008-05-23  Tambet Ingo  <tambet@gmail.com>
2589
2590         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
2591         information received from DHCP.
2592
2593         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
2594         to make it possible to ignore the DNS information (both servers and 
2595         searches) returned by DHCP server.
2596
2597         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
2598         name servers and searches if "ignore_dhcp_dns" is set.
2599
2600         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
2601         (nm_ip4_config_reset_searches): Implement.
2602
2603 2008-05-22  Dan Williams  <dcbw@redhat.com>
2604
2605         Remove anything mDNS related.  This is better done from a distro-specific
2606         dispatcher script.  Plus, any distro using avahi doesn't need to restart
2607         avahi, since avahi can handle interface changes just fine using netlink.
2608
2609         * configure.in
2610                 - Remove --with-mdns-provider
2611
2612         * src/NetworkManagerPolicy.c
2613                 - (global_state_changed): don't restart the mdns provider
2614
2615         * src/NetworkManagerSystem.h
2616           src/backends/NetworkManagerArch.c
2617           src/backends/NetworkManagerDebian.c
2618           src/backends/NetworkManagerFrugalware.c
2619           src/backends/NetworkManagerGentoo.c
2620           src/backends/NetworkManagerMandriva.c
2621           src/backends/NetworkManagerPaldo.c
2622           src/backends/NetworkManagerRedHat.c
2623           src/backends/NetworkManagerSlackware.c
2624           src/backends/NetworkManagerSuSE.c
2625                 - (nm_system_restart_mdns_responder): remove
2626
2627         * src/backends/NetworkManagerGeneric.c
2628           src/backends/NetworkManagerGeneric.h
2629                 - (nm_generic_restart_mdns_responder): remove
2630
2631 2008-05-22  Dan Williams  <dcbw@redhat.com>
2632
2633         * configure.in
2634                 - clean up crypto options; just use --with-crypto=nss or
2635                         --with-crypto=gnutls
2636
2637 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2638
2639         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
2640         anymore, do it right away.
2641
2642 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2643
2644         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
2645         serial device open when we're not connecting or connected.
2646
2647         * src/nm-cdma-device.c (device_state_changed): Ditto.
2648
2649 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2650
2651         Don't remove all devices on waking up, sync with HAL.
2652
2653         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
2654         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
2655         (hal_manager_hal_reappeared_cb): Just call sync_devices.
2656
2657 2008-05-21  Tambet Ingo  <tambet@gmail.com>
2658
2659         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
2660         If the default gateway is unreachable, add a route to gateway and try
2661         again.
2662
2663 2008-05-20  Dan Williams  <dcbw@redhat.com>
2664
2665         * system-settings/plugins/ifcfg-fedora/reader.c
2666                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
2667
2668 2008-05-19  Dan Williams  <dcbw@redhat.com>
2669
2670         * system-settings/plugins/ifcfg-fedora/reader.c
2671                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
2672                         if the ifcfg doesn't specify one (rh #446527)
2673
2674 2008-05-19  Dan Williams  <dcbw@redhat.com>
2675
2676         Make the system settings service exit when the bus goes away.  Since it's
2677         a bus-activated service, it's lifetime is limited to the bus that activated
2678         it (rh #444976).
2679
2680         * system-settings/src/Makefile.am
2681           system-settings/src/nm-system-config-hal-manager-private.h
2682                 - Remove nm-system-config-hal-manager-private.h
2683
2684         * system-settings/src/nm-system-config-hal-manager.c
2685                 - (nm_system_config_hal_manager_reinit_dbus,
2686                    nm_system_config_hal_manager_deinit_dbus): remove
2687
2688         * system-settings/src/main.c
2689                 - (dbus_reconnect): remove
2690                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
2691                 - (destroy_cb): just quit when the bus goes away
2692                 - (start_dbus_service, dbus_init): simplify
2693                 - (main): destroy the wired devices hash table after destroying
2694                         the HAL manager so we don't have to disconnect signals from the
2695                         HAL manager
2696
2697 2008-05-15  Tambet Ingo  <tambet@gmail.com>
2698
2699         Move crypto functions from nm-applet to libnm-util.
2700
2701         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
2702         (nm_setting_802_1x_set_client_cert)
2703         (nm_setting_802_1x_set_phase2_ca_cert)
2704         (nm_setting_802_1x_set_phase2_client_cert)
2705         (nm_setting_802_1x_set_private_key)
2706         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
2707         file (or private key and it's password), read the certificate data.
2708
2709         * libnm-util/crypto_nss.c: 
2710         * libnm-util/crypto_gnutls.c: 
2711         * libnm-util/crypto.[ch]: Move here from nm-applet.
2712
2713         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
2714
2715         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
2716         Imlement WPA-EAP configuration reading from sysconfig.
2717
2718 2008-05-16  Dan Williams  <dcbw@redhat.com>
2719
2720         * src/nm-device-802-11-wireless.c
2721                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
2722                         wireless
2723
2724 2008-05-14  Dan Williams  <dcbw@redhat.com>
2725
2726         Fix Linus' bug in rh #134886
2727
2728         * src/nm-device-802-3-ethernet.c
2729                 - (constructor): request initial carrier state
2730
2731         * src/nm-netlink-monitor.c
2732                 - (nm_netlink_monitor_request_status): schedule emission of carrier
2733                         signals after refilling the link cache.  Because the refill is a 
2734                         synchronous operation, the normal message hander won't get called
2735                         since libnl has already consumed the messages.
2736                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
2737
2738 2008-05-14  Dan Williams  <dcbw@redhat.com>
2739
2740         * src/NetworkManagerSystem.c
2741                 - (nm_system_device_is_up_with_iface): clean up
2742
2743 2008-05-13  Dan Williams  <dcbw@redhat.com>
2744
2745         Fix refcounting issues over sleep/wake when a VPN connection was active that
2746         caused NM to try registering an object path for a device upon wake that was
2747         the same as an already registered object path.
2748
2749         * src/nm-device.c
2750                 - (nm_device_take_down): properly handle cases where the device is
2751                         no longer active but was just active, and therefore must be
2752                         deactivated.  When a device moves to unmanaged mode, this function
2753                         previously would not deactivate the device, because the state was
2754                         already unmanaged by the time this function was called.
2755
2756         * src/vpn-manager/nm-vpn-connection.c
2757                 - (device_state_changed): properly handle multiple devices states in
2758                         which the device is now deactivated.  Code previously didn't handle
2759                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
2760                         UNMANAGED states.
2761
2762 2008-05-13  Dan Williams  <dcbw@redhat.com>
2763
2764         * src/nm-device-private.h
2765           src/nm-device.c
2766                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
2767
2768         * src/nm-device-802-11-wireless.c
2769                 - (nm_device_802_11_wireless_set_enabled): take devices up
2770                         and down as appropriate for the rfkill state
2771
2772 2008-05-13  Dan Williams  <dcbw@redhat.com>
2773
2774         * marshallers/nm-marshal.list
2775                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
2776
2777         * system-settings/plugins/ifcfg-fedora/Makefile.am
2778           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
2779           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
2780                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
2781                         events.  Solely for use watching ifcfg files to pick up changes
2782                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
2783
2784         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
2785                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
2786                         file contents change
2787                 - (finalize): clean up inotify watches
2788                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
2789                         and the connection ifcfg for changes on their hardlinks
2790                 - (files_changed_cb): proxy the changed signal back out to listeners
2791
2792         * system-settings/plugins/ifcfg-fedora/plugin.c
2793                 - (dir_changed): 
2794                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
2795                         changes
2796                 - (read_one_connection): connect to change signals on the new connection
2797                 - (dir_changed, connection_changed_handler,
2798                    handle_connection_remove_or_new): break out connection change
2799                         handling and connection new/remove handling so it can be used from
2800                         both the GFileMonitor callback and the NMIfcfgConnection changed
2801                         signals
2802
2803         * system-settings/plugins/ifcfg-fedora/reader.c
2804           system-settings/plugins/ifcfg-fedora/reader.h
2805                 - (connection_from_file): return the keyfile path the connection would use
2806
2807 2008-05-13  Tambet Ingo  <tambet@gmail.com>
2808
2809         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
2810         single PolKitContext which is shared by all. PolKitContext::unref leaks
2811         just about everything, including all open file descriptiors and results
2812         in 99% cpu usage when data arrives to any of the fds that don't belong
2813         to any context anymore.
2814
2815 2008-05-12  Dan Williams  <dcbw@redhat.com>
2816
2817         * gfilemonitor/glocaldirectorymonitor.c
2818           gfilemonitor/glocaldirectorymonitor.h
2819                 - (g_local_directory_monitor_constructor): actually subscribe to the
2820                         watch
2821                 - (_g_local_directory_monitor_new): ensure that inotify is started up
2822
2823         * gfilemonitor/glocalfilemonitor.c
2824           gfilemonitor/glocalfilemonitor.h
2825                 - (g_local_file_monitor_constructor): actually subscribe to the watch
2826                 - (_g_local_file_monitor_new): ensure that inotify is started up
2827
2828 2008-05-11  Dan Williams  <dcbw@redhat.com>
2829
2830         * configure.in
2831                 - record PolicyKit version
2832
2833         * system-settings/src/nm-polkit-helpers.c
2834                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
2835                         with PolicyKit <= 0.6
2836
2837 2008-05-11  Dan Williams  <dcbw@redhat.com>
2838
2839         Update Fedora system-settings plugin to support latest API and use
2840         GFileMonitor rather than home-rolled inotify code.
2841
2842         * system-settings/plugins/ifcfg-fedora/Makefile.am
2843           system-settings/plugins/ifcfg-fedora/common.h
2844           system-settings/plugins/ifcfg-fedora/plugin.c
2845                 - Update to latest system settings plugin API; use GIO instead of
2846                         custom inotify code; use NMIfcfgConnection objects instead of
2847                         ConnectionData structures tacked onto NMConnection objects
2848
2849         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
2850           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
2851                 - Implement an NMExportedConnection subclass mapping ifcfg files to
2852                         connections
2853
2854         * system-settings/plugins/ifcfg-fedora/reader.c
2855           system-settings/plugins/ifcfg-fedora/reader.h
2856                 - Move ifcfg parsing bits here from parser.c
2857
2858         * system-settings/plugins/ifcfg-fedora/parser.c
2859           system-settings/plugins/ifcfg-fedora/parser.h
2860                 - Remove; most code moved to reader.c
2861
2862 2008-05-11  Dan Williams  <dcbw@redhat.com>
2863
2864         * configure.in
2865           Makefile.am
2866           gfilemonitor/*
2867                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
2868                         implementation, so that the same change monitoring code can be used
2869                         on systems without glib-2.14 (like Fedora 8)
2870
2871         * system-settings/plugins/keyfile/Makefile.am
2872           system-settings/plugins/keyfile/plugin.c
2873           system-settings/plugins/ifcfg-suse/Makefile.am
2874           system-settings/plugins/ifcfg-suse/plugin.c
2875                 - Use private gfilemonitor code if GIO is not present
2876
2877 2008-05-09  Tambet Ingo  <tambet@gmail.com>
2878
2879         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
2880         NMExportedConnection's 'update' and 'delete' and return error with
2881         descriptive message.
2882
2883 2008-05-08  Dan Williams  <dcbw@redhat.com>
2884
2885         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2886
2887         * src/nm-gsm-device.c
2888           src/nm-cdma-device.c
2889                 - (real_get_best_auto_connection): implement; allow autoconnection
2890                         to GSM & CDMA devices
2891
2892 2008-05-08  Tambet Ingo  <tambet@gmail.com>
2893
2894         Use PolicyKit to authorize the system settings' AddConnection method
2895         and the system settings connections' Update and Delete methods.
2896         
2897         * libnm-glib/nm-settings.c (impl_exported_connection_update)
2898         (impl_exported_connection_delete, nm_exported_connection_update)
2899         (nm_exported_connection_delete): Return boolean and fill GError
2900         to notify the callers of the reasons why it might have failed.
2901
2902         * libnm-glib/nm-dbus-settings-system.c
2903         (nm_dbus_settings_system_add_connection): Return the error from dbus
2904         call so that the callers can see why it failed.
2905
2906         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
2907         signatures.
2908
2909         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
2910
2911         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
2912         abstract base class that checks PolicyKit permissions.
2913
2914         * system-settings/src/dbus-settings.c:
2915         (impl_settings_add_connection): Check the policy before carring out
2916         the request.
2917
2918         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
2919         Inherit from NMSysconfigConnection, check the policies before
2920         allowing updating or removing.
2921
2922         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
2923         Inherit from NMSysconfigConnection.
2924
2925         * introspection/nm-exported-connection.xml: Annotate "Update" and 
2926         "Delete" methods with async flag so that the implementations can get
2927         access to DBusGMethodInvocation.
2928
2929         * system-settings/src/dbus-settings.c 
2930         (settings_add_connection_check_privileges): Implement.
2931         (impl_settings_add_connection): Check the privileges before adding a new
2932         connection. Improve error reporting.
2933
2934         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
2935         async so that the implementation can access DBusGMethodInvocation.
2936
2937         * configure.in: Check for PolicyKit.
2938
2939         * policy/org.freedesktop.network-manager-settings.system.policy: 
2940         New file.
2941
2942         * policy/Makefile.am: Install the policy file.
2943
2944         * configure.in: Add 'policy' subdir.
2945
2946 2008-05-08  Tambet Ingo  <tambet@gmail.com>
2947
2948         Rewrite the suse system settings plugin.
2949
2950         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
2951
2952         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
2953
2954         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
2955
2956         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
2957
2958         * system-settings/src/dbus-settings.c: Fix connection reference counting.
2959
2960         * system-settings/src/main.c (load_plugins): Improve error reporting.
2961
2962         * system-settings/src/sha1.[ch] Add.
2963
2964         * system-settings/src/Makefile.am: Add sha1[ch] to build.
2965
2966 2008-05-07  Dan Williams  <dcbw@redhat.com>
2967
2968         * system-settings/plugins/keyfile/reader.c
2969                 - (read_one_setting_value): handle IP address items separately
2970                 - (read_array_of_uint): read IPv4 DNS option as a string array
2971                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
2972                         array
2973
2974         * system-settings/plugins/keyfile/writer.c
2975                 - (write_setting_value): handle IP address items separately
2976                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
2977                         not an array of uint, so that it's user-editable
2978                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
2979                         arrays, so they are user-editable
2980
2981 2008-05-07  Dan Williams  <dcbw@redhat.com>
2982
2983         * system-settings/plugins/keyfile/Makefile.am
2984                 - Change location of the keyfile plugin settings to
2985                         /etc/NetworkManager/system-connections
2986
2987 2008-05-05  Tambet Ingo  <tambet@gmail.com>
2988
2989         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
2990
2991         * system-settings/plugins/keyfile/plugin.c: Work with
2992         NMKeyfileConnections.
2993
2994         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
2995         Plugins are supposed to return NMExportedConnections now and handle the
2996         updated(), removed(), and GetSecrets().
2997         Store the internal list of connections in hash table to make it easier
2998         to find duplicates.
2999
3000 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3001
3002         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
3003         for multiple IP addresses.
3004
3005 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3006
3007         Patch from André Lemos.
3008
3009         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
3010         corruption.
3011
3012 2008-05-06  Dan Williams  <dcbw@redhat.com>
3013
3014         * src/dhcp-manager/nm-dhcp-manager.c
3015                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
3016                         NMIP4Config to support multiple IP addresses
3017
3018         * src/NetworkManagerUtils.c
3019                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
3020
3021         * src/nm-ip4-config.c
3022           src/nm-ip4-config.h
3023                 - Store a list of IPv4 address/netmask/gateway tuples
3024                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
3025                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
3026                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
3027                    nm_ip4_config_set_address): remove
3028                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
3029                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
3030                         new functions; handle multiple IPv4 addresses
3031
3032         * src/nm-device.c
3033           src/ppp-manager/nm-ppp-manager.c
3034           src/vpn-manager/nm-vpn-connection.c
3035           src/NetworkManagerPolicy.c
3036           test/nm-tool.c
3037           libnm-glib/libnm-glib-test.c
3038                 - update for changes to NMIP4Config for multiple IPv4 addresses
3039
3040         * src/NetworkManagerSystem.c
3041                 - (nm_system_device_set_ip4_route): don't add the route if any address
3042                         is on the same subnet as the destination
3043                 - (check_one_address): ignore the exact match, just match family and
3044                         interface index
3045                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
3046                         an interface
3047                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
3048                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
3049
3050         * introspection/nm-ip4-config.xml
3051                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
3052                 - Add 'addresses' property which is an array of (uuu) tuples of
3053                         address/netmask/gateway
3054
3055         * libnm-util/nm-setting-ip4-config.c
3056                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
3057
3058         * libnm-glib/nm-ip4-config.c
3059           libnm-glib/nm-ip4-config.h
3060                 - Handle D-Bus interface changes to support multiple IP addresses
3061
3062 2008-05-06  Dan Williams  <dcbw@redhat.com>
3063
3064         * libnm-util/nm-utils.c
3065           libnm-util/nm-utils.h
3066                 - (nm_utils_ip4_addresses_from_gvalue,
3067                    nm_utils_ip4_addresses_to_gvalue): new functions
3068
3069 2008-05-06  Tambet Ingo  <tambet@gmail.com>
3070
3071         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
3072         the returned connection paths.
3073
3074 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3075
3076         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
3077         "PropertiesChanged" signal signature.
3078
3079         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
3080         defined in nm-dbus-glib-types.h.
3081         Don't register the connection on dbus, we're a proxy class to 
3082         communicate with an already registered connection over dbus.
3083
3084 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3085
3086         Implement new subclasses of NMSettings and NMExportedConnection to make
3087         it easier for the applet to access and modify system settings.
3088
3089         * libnm-glib/nm-dbus-connection.[ch]:
3090         * libnm-glib/nm-dbus-settings.[ch]:
3091         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
3092
3093         * libnm-glib/Makefile.am: Add the new files to build, generate some more
3094         bindings and glue.
3095
3096         * include/NetworkManager.h: Define the system settings DBus interface.
3097
3098 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3099
3100         Implement additional C API for exported connections to make them identical
3101         with the DBus API. Change the (list_connections) virtual function to be
3102         more usable from C - instead of requiring implementers to return a GPtrArray
3103         of dbus paths, return a list of connections.
3104
3105         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
3106         (nm_settings_list_connections):
3107         (nm_exported_connection_new):
3108         (nm_exported_connection_update):
3109         (nm_exported_connection_delete): Implement.
3110
3111         (impl_settings_list_connections):
3112         (impl_exported_connection_update):
3113         (impl_exported_connection_delete): Use the new public functions to make 
3114         sure the C and dbus interfaces stay in sync.
3115
3116         * system-settings/src/dbus-settings.c (list_connections): Return a list of
3117         connections.
3118
3119 2008-05-02  Dan Williams  <dcbw@redhat.com>
3120
3121         * system-settings/plugins/ifcfg-fedora/plugin.c
3122                 - (dispose): use right unref call on the DBusGConnection
3123
3124 2008-05-02  Dan Williams  <dcbw@redhat.com>
3125
3126         * src/nm-serial-device.c
3127                 - (find_terminator): don't compare the whole line, just the size of the
3128                         terminator, since some modems put stuff after the terminator, like
3129                         "CONNECT 9600"
3130
3131 2008-05-01  Dan Williams  <dcbw@redhat.com>
3132
3133         Patch from Michael Biebl <biebl@debian.org>
3134
3135         * callouts/Makefile.am
3136           callouts/org.freedesktop.nm_dispatcher.service.in
3137           system-settings/src/Makefile.am
3138           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
3139                 - use the right install location for dbus-activated stuff
3140
3141 2008-04-30  Dan Williams  <dcbw@redhat.com>
3142
3143         * src/nm-gsm-device.c
3144                 - (enter_pin): fix setting name passed to applets when asking for a GSM
3145                         PIN or PUK
3146
3147 2008-04-30  Dan Williams  <dcbw@redhat.com>
3148
3149         * src/nm-manager.c
3150                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
3151
3152 2008-04-30  Dan Williams  <dcbw@redhat.com>
3153
3154         * src/nm-device-802-3-ethernet.c
3155           src/nm-device-802-11-wireless.c
3156                 - (real_is_up): return true instead of chaining up to unimplemented
3157                         parent method
3158
3159 2008-04-30  Dan Williams  <dcbw@redhat.com>
3160
3161         * src/NetworkManagerSystem.c
3162           src/NetworkManagerSystem.h
3163                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
3164                         functions to check device flags for IFF_UP
3165
3166         * src/nm-serial-device.c
3167                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
3168                         implement is_up
3169
3170         * src/nm-device-802-3-ethernet.c
3171           src/nm-device-802-11-wireless.c
3172                 - (real_hw_is_up): call nm_system_device_is_up()
3173
3174         * src/nm-device.c
3175                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
3176                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
3177                         does not implement
3178
3179 2008-04-29  Dan Williams  <dcbw@redhat.com>
3180
3181         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
3182
3183         * marshallers/nm-marshal.list
3184                 - Add marshaller
3185
3186         * src/NetworkManager.c
3187                 - (main): let the NMManager handle the NMHalManager
3188
3189         * src/nm-hal-manager.c
3190           src/nm-hal-manager.h
3191                 - convert to a GObject, and emit singals when stuff changes.  Let the
3192                         NMManager handle the signals, instead of the NMHalManager calling
3193                         into the NMManager.  
3194
3195         * src/nm-manager.c
3196           src/nm-manager.h
3197                 - (remove_one_device): consolidate device removals here
3198                 - (dispose): use remove_one_device()
3199                 - (nm_manager_get_device_by_udi): make static
3200                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
3201                         manager for devices at startup or wakeup time
3202                 - (nm_manager_new): create and monitor the HAL manager
3203                 - (hal_manager_udi_added_cb): new function; do what
3204                         nm_manager_add_device() used to do when signalled by the hal manager
3205                 - (hal_manager_udi_removed_cb): new function; do what
3206                         nm_manager_remove_device() used to do when signalled by the hal
3207                         manager
3208                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
3209                         hal manager
3210                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
3211                         in our device list that aren't known to HAL
3212                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
3213                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3214                         commits ago
3215                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3216                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3217                    nm_manager_wireless_hardware_enabled,
3218                    nm_manager_set_wireless_hardware_enabled): remove, unused
3219
3220 2008-04-28  Dan Williams  <dcbw@redhat.com>
3221
3222         Fix the device up/down ambiguities.  Up/down state used to be a
3223         conglomeration of hardware state (IFF_UP) and any device-specific things
3224         (supplicant, periodic timers, etc) that the device used to indicate
3225         readiness.  Unfortunately, if the hardware was already IFF_UP for some
3226         reason, then the device specific stuff wouldn't get run, and the device
3227         would be stuck.
3228
3229         * src/nm-device.c
3230           src/nm-device.h
3231                 - Create hw_is_up, hw_bring_up, and hw_take_down
3232                 - Rename bring_down -> take_down
3233                 - (real_hw_is_up): check interface flags for IFF_UP
3234                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
3235                 - (nm_device_is_up): make static; only used locally
3236                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
3237                         if the device is already up; if the device isn't up, bring it up
3238                 - (nm_device_hw_take_down): just take down hardware
3239                 - (nm_device_bring_up): bring up HW first, then device specific stuff
3240                 - (nm_device_take_down): always deactivate device when called; always
3241                         try to take hardware down too
3242                 - (nm_device_state_changed): take device down when entering unmanaged
3243                         state from a higher state
3244
3245         * src/nm-device-802-11-wireless.c
3246                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3247                         check IFF_UP really
3248                 - (real_take_down, supplicant_iface_state_cb_handler, 
3249                    supplicant_iface_connection_state_cb_handler,
3250                    supplicant_mgr_state_cb_handler): fix some messages
3251
3252         * src/nm-device-802-3-ethernet.c
3253                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3254                         check IFF_UP really
3255
3256 2008-04-28  Dan Williams  <dcbw@redhat.com>
3257
3258         * src/nm-manager.c
3259           src/nm-manager.h
3260                 - (nm_manager_error_get_type): add new error
3261                 - (nm_manager_remove_device): don't bother taking down the device here,
3262                         the state change from unmanaging the device will do it
3263                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
3264                         uses it; when going to sleep, just unmanage the device instead of
3265                         taking it down, because stuff will cleaned up correctly when the
3266                         device gets unmanaged
3267
3268 2008-04-28  Dan Williams  <dcbw@redhat.com>
3269
3270         * src/nm-hal-manager.c
3271                 - (add_initial_devices): convert to a GSourceFunc prototype
3272                 - (nm_manager_state_changed): when coming out of sleep, punt the
3273                         device re-addition to an idle handler to let D-Bus events go out
3274                         first, fixing a potential dbus-glib assert if the old device was
3275                         not yet disposed (due to references held while emitting the D-Bus
3276                         signals) but the new device was found, because the mainloop didn't
3277                         run between signal emission and add_initial_devices()
3278
3279 2008-04-27  Dan Williams  <dcbw@redhat.com>
3280
3281         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3282
3283         * initscript/paldo/NetworkManager.in
3284           initscript/SUSE/networkmanager.in
3285                 - Remove last bits of dhcdbd
3286
3287 2008-04-27  Dan Williams  <dcbw@redhat.com>
3288
3289         * src/nm-device-802-11-wireless.c
3290                 - (link_timeout_cb): don't ask for secrets when disconnected during
3291                         association/authentication phase, drivers are still just too crappy
3292
3293 2008-04-27  Dan Williams  <dcbw@redhat.com>
3294
3295         * Makefile.am
3296           configure.in
3297           dispatcher-daemon/Makefile.am
3298           dispatcher-daemon/NetworkManagerDispatcher.c
3299           initscript/Arch/Makefile.am
3300           initscript/Arch/networkmanager-dispatcher.in
3301           initscript/Gentoo/Makefile.am
3302           initscript/Gentoo/NetworkManagerDispatcher.in
3303           initscript/Mandriva/Makefile.am
3304           initscript/Mandriva/networkmanagerdispatcher.in
3305           initscript/RedHat/Makefile.am
3306           initscript/RedHat/NetworkManagerDispatcher.in
3307           initscript/SUSE/Makefile.am
3308           initscript/SUSE/networkmanager-dispatcher.in
3309           initscript/Slackware/Makefile.am
3310           initscript/Slackware/rc.networkmanager-dispatcher.in
3311           initscript/paldo/Makefile.am
3312           initscript/paldo/NetworkManagerDispatcher.in
3313           man/Makefile.am
3314           man/NetworkManagerDispatcher.8.in
3315                 - Remove the dispatcher daemon
3316
3317 2008-04-27  Dan Williams  <dcbw@redhat.com>
3318
3319         * callouts/Makefile.am
3320           callouts/nm-dispatcher-action.c
3321           callouts/nm-dispatcher-action.h
3322           callouts/nm-dispatcher.conf
3323           callouts/nm-dispatcher.xml
3324           callouts/org.freedesktop.nm_dispatcher.service
3325                 - Re-implement the dispatcher as a system-bus activated service that
3326                         NM calls on-demand, rather than an always running daemon
3327
3328         * src/Makefile.am
3329                 - Add callouts dir to includes to pick up dispatcher defines
3330
3331         * src/nm-device.c
3332                 - (nm_device_state_changed): call dispatcher on device activated/
3333                         deactivated
3334
3335         * src/vpn-manager/nm-vpn-connection.c
3336                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
3337                         go up and down
3338
3339         * src/NetworkManagerUtils.c
3340           src/NetworkManagerUtils.h
3341                 - (nm_utils_call_dispatcher): helper to call dispatcher
3342
3343 2008-04-27  Dan Williams  <dcbw@redhat.com>
3344
3345         * src/NetworkManagerUtils.c
3346           src/NetworkManagerUtils.h
3347                 - remove unneeded includes
3348                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
3349                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
3350                    nm_timeval_cmp, nm_timeval_add): remove, unused
3351                 - clean up formatting
3352                 - (nm_spawn_process): de-uglify
3353
3354         * src/nm-device-802-11-wireless.c
3355                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
3356
3357 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
3358
3359         * initscript/Gentoo/NetworkManager.in:
3360                 Fix for starting the daemon.
3361
3362 2008-04-25  Dan Williams  <dcbw@redhat.com>
3363
3364         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3365
3366         * src/NetworkManagerSystem.c
3367                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
3368
3369 2008-04-25  Dan Williams  <dcbw@redhat.com>
3370
3371         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3372
3373         * src/NetworkManagerSystem.c
3374                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
3375                         implementation of nm_system_device_replace_default_route()
3376
3377         * src/NetworkManagerPolicy.c
3378                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
3379
3380         * src/backends/NetworkManagerArch.c
3381           src/backends/NetworkManagerDebian.c
3382           src/backends/NetworkManagerFrugalware.c
3383           src/backends/NetworkManagerGeneric.c
3384           src/backends/NetworkManagerGeneric.h
3385           src/backends/NetworkManagerGentoo.c
3386           src/backends/NetworkManagerMandriva.c
3387           src/backends/NetworkManagerPaldo.c
3388           src/backends/NetworkManagerRedHat.c
3389           src/backends/NetworkManagerSlackware.c
3390           src/backends/NetworkManagerSuSE.c
3391                 - (nm_system_device_replace_default_route): remove
3392
3393 2008-04-25  Dan Williams  <dcbw@redhat.com>
3394
3395         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3396
3397         * src/NetworkManagerSystem.c
3398                 - (validate_ip4_route): remove; use nl_addr_parse() instead
3399                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
3400                         replace nm_system_device_add_route_via_device_with_iface() in the
3401                         backends
3402
3403         * src/backends/NetworkManagerArch.c
3404           src/backends/NetworkManagerDebian.c
3405           src/backends/NetworkManagerFrugalware.c
3406           src/backends/NetworkManagerGeneric.c
3407           src/backends/NetworkManagerGeneric.h
3408           src/backends/NetworkManagerGentoo.c
3409           src/backends/NetworkManagerMandriva.c
3410           src/backends/NetworkManagerPaldo.c
3411           src/backends/NetworkManagerRedHat.c
3412           src/backends/NetworkManagerSlackware.c
3413           src/backends/NetworkManagerSuSE.c
3414                 - Remove nm_system_device_add_route_via_device_with_iface()
3415
3416 2008-04-25  Dan Williams  <dcbw@redhat.com>
3417
3418         * system-settings/plugins/ifcfg-fedora/parser.c
3419                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
3420
3421 2008-04-24  Dan Williams  <dcbw@redhat.com>
3422
3423         * dispatcher-daemon/NetworkManagerDispatcher.c
3424                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
3425
3426 2008-04-24  Dan Williams  <dcbw@redhat.com>
3427
3428         * initscript/RedHat/NetworkManager.in
3429           initscript/RedHat/NetworkManagerDispatcher.in
3430                 - Be active at runlevel 2
3431                 - Adjust priorities earlier
3432
3433 2008-04-22  Dan Williams  <dcbw@redhat.com>
3434
3435         * src/NetworkManagerPolicy.c
3436                 - (update_routing_and_dns): when checking for a gateway, look at the
3437                         composite IP4 config, not the connection's ip4-config setting, which
3438                         doesn't include DHCP-returned information
3439
3440 2008-04-22  Tambet Ingo  <tambet@gmail.com>
3441
3442         Implement GKeyFile system settings plugin.
3443         Implement writing system settings (currently supported only by GKeyFile plugin).
3444
3445         * system-settings/src/main.c: 
3446         * system-settings/src/dbus-settings.c: Move the communication with plugins
3447         from main.c to dbus-settings.c. Makes it possible to talk to all registered
3448         plugins for adding/updating/removing connections.
3449
3450         * system-settings/src/nm-system-config-interface.c
3451         (nm_system_config_interface_add_connection): Implement
3452         (nm_system_config_interface_update_connection): Implement.
3453         (nm_system_config_interface_remove_connection): Implement.
3454
3455         * system-settings/plugins/keyfile/Makefile.am:
3456         * system-settings/plugins/keyfile/plugin.[ch]:
3457         * system-settings/plugins/keyfile/writer.[ch]:
3458         * system-settings/plugins/keyfile/reader.[ch]: Implement.
3459
3460         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
3461
3462         * configure.in: Generate GKeyFile Makefile.
3463
3464         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
3465         corruption, need to duplicate the returned string.
3466         (impl_exported_connection_update): Implement.
3467         (impl_exported_connection_delete): Implement.
3468
3469         * introspection/nm-settings-system.xml: Add "AddConnection" method.
3470
3471         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
3472
3473 2008-04-22  Dan Williams  <dcbw@redhat.com>
3474
3475         Patch from Charles R. Anderson (cra@wpi.edu)
3476
3477         * src/NetworkManagerPolicy.c
3478                 - (update_routing_and_dns): don't select devices without a gateway
3479                         as having the default route (rh #437338)
3480
3481 2008-04-21  Dan Williams  <dcbw@redhat.com>
3482
3483         * src/nm-activation-request.c
3484           src/nm-activation-request.h
3485                 - (dispose): ensure to disconnect from the device's state-changed signal
3486                         when appropriate so the signal doesn't get handled by an already
3487                         disposed NMActRequest
3488                 - (device_state_changed): update is_default here too just to make sure
3489                         default is only True when the child device is activated
3490                 - (nm_act_request_set_default): new function
3491
3492         * src/NetworkManagerPolicy.c
3493                 - (update_routing_and_dns): set 'default' on the active connection which
3494                         has the default route and DNS
3495
3496 2008-04-21  Dan Williams  <dcbw@redhat.com>
3497
3498         * src/NetworkManagerPolicy.c
3499                 - (device_state_changed): update routing and DNS when a device goes
3500                         into unmanaged or unavailable states too (like rfkill or carrier loss)
3501
3502 2008-04-21  Dan Williams  <dcbw@redhat.com>
3503
3504         * include/NetworkManager.h
3505                 - Add NMActiveConnectionState enum
3506
3507         * introspection/nm-active-connection.xml
3508           introspection/nm-vpn-connection.xml
3509                 - Add 'State' property for overall active connection state
3510                 - Add 'Default' property, when True means this active connection
3511                         has the default route
3512                 - Add PropertyChanged signals so changes actually go out over the bus
3513
3514         * src/nm-active-connection.h
3515                 - Add defines for State & Default properties
3516
3517         * src/nm-activation-request.c
3518                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
3519                         signal to determine active connection state
3520
3521         * src/vpn-manager/nm-vpn-connection.c
3522           src/vpn-manager/nm-vpn-connection.h
3523           src/vpn-manager/nm-vpn-manager.c
3524           src/vpn-manager/nm-vpn-service.c
3525                 - Rename old 'state' to 'vpn-state'
3526                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
3527                 - Add 'state' and 'default' properties, hook up to the vpn connection's
3528                         'vpn-state-changed' signal
3529
3530         * libnm-glib/nm-active-connection.c
3531           libnm-glib/nm-active-connection.h
3532                 - Add new 'state' and 'default' properties and accessors
3533
3534         * libnm-glib/nm-vpn-connection.c
3535           libnm-glib/nm-vpn-connection.h
3536                 - Rename old 'state' property to 'vpn-state'
3537                 - Add new 'state' and 'default' properties and accessors
3538
3539 2008-04-21  Dan Williams  <dcbw@redhat.com>
3540
3541         * src/nm-ip4-config.c
3542                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
3543                         not specified (rh #443474)
3544
3545 2008-04-20  Dan Williams  <dcbw@redhat.com>
3546
3547         * src/NetworkManagerUtils.c
3548           src/NetworkManagerUtils.h
3549                 - (nm_utils_merge_ip4_config): new function; merge settings from an
3550                         NMSettingIP4Config to an NMIP4Config object
3551
3552         * src/nm-device.c
3553                 - (merge_ip4_config): move to NetworkManagerUtils.c
3554
3555         * src/vpn-manager/nm-vpn-connection.c
3556                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
3557                         too
3558
3559 2008-04-18  Dan Williams  <dcbw@redhat.com>
3560
3561         * libnm-util/nm-setting-ppp.c
3562           libnm-util/nm-setting-ppp.h
3563                 - Add 'no-vj-comp' option for TCP header compression
3564                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
3565                         uint32
3566
3567 2008-04-18  Dan Williams  <dcbw@redhat.com>
3568
3569         * libnm-util/nm-setting-ppp.c
3570           libnm-util/nm-setting-ppp.h
3571           src/ppp-manager/nm-ppp-manager.c
3572                 - Add 'refuse-pap' and 'refuse-mschapv2' options
3573
3574 2008-04-18  Dan Williams  <dcbw@redhat.com>
3575
3576         * libnm-util/nm-setting-ppp.c
3577           libnm-util/nm-setting-ppp.h
3578           src/ppp-manager/nm-ppp-manager.c
3579                 - Remove the 'usepeerdns' option and always request DNS servers from
3580                         the PPP server; the connection chooses to use/override/ignore the
3581                         DNS servers returned from the PPP server
3582
3583 2008-04-18  Dan Williams  <dcbw@redhat.com>
3584
3585         * libnm-util/nm-setting-ppp.c
3586           libnm-util/nm-setting-ppp.h
3587           src/ppp-manager/nm-ppp-manager.c
3588                 - Remove the 'require-mppc' option, because pppd doesn't support it and
3589                         it seems to have been an erroneous addition to the PPTP plugin in
3590                         the first place (from which the ppp-manager is derived)
3591
3592 2008-04-17  Dan Williams  <dcbw@redhat.com>
3593
3594         * libnm-util/nm-setting-pppoe.c
3595                 - (verify): require a PPP setting too
3596
3597         * src/ppp-manager/nm-ppp-manager.c
3598                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
3599                         segfaulting
3600
3601 2008-04-17  Dan Williams  <dcbw@redhat.com>
3602
3603         * src/nm-device.c
3604                 - (nm_device_state_changed): do deactivation and and promotion to
3605                         unavailable here, so that the device gets cleaned up before the
3606                         manager runs and starts emitting signals; do the
3607                         FAILED->DISCONNECTED transition from an idle handler rather than
3608                         immediately to guard against recursion
3609                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
3610                         FAILED->DISCONNECTED handler if it's scheduled
3611
3612 2008-04-17  Dan Williams  <dcbw@redhat.com>
3613
3614         * src/nm-device-802-11-wireless.c
3615                 - (state_changed_cb): clear AP list when device transitions to
3616                         unavailable or unmanaged
3617                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
3618                         since this is already done in device_cleanup()
3619                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
3620                         isn't available or managed
3621                 - (device_cleanup): use remove_all_aps()
3622                 - (remove_all_aps): consolidate code removing all APs
3623
3624 2008-04-17  Dan Williams  <dcbw@redhat.com>
3625
3626         * src/nm-serial-device.c
3627           src/nm-serial-device.h
3628                 - (wait_for_reply_got_data): break input into lines, and search each
3629                         line for responses _and_ terminator strings; also make sure that
3630                         the read loop doesn't continue after the timeout is supposed to fire
3631                 - (nm_serial_device_wait_for_reply): take an array of terminators too
3632
3633         * src/nm-gsm-device.c
3634           src/nm-cdma-device.c
3635                 - Send terminators to nm_serial_device_wait_for_reply()
3636
3637 2008-04-16  Dan Williams  <dcbw@redhat.com>
3638
3639         Patch from 陈鑫 <znscnchen@gmail.com>
3640
3641         * src/ppp-manager/nm-pppd-plugin.c
3642                 - (get_credentials): return correct value for success; handle case where
3643                         pppd just does some checking but doesn't want a password
3644                 - (plugin_init): make CHAP work too
3645
3646 2008-04-16  Dan Williams  <dcbw@redhat.com>
3647
3648         Patch from 陈鑫 <znscnchen@gmail.com>
3649
3650         * src/ppp-manager/nm-ppp-manager.c
3651                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
3652
3653 2008-04-16  Dan Williams  <dcbw@redhat.com>
3654
3655         Patch from 陈鑫 <znscnchen@gmail.com>
3656
3657         * src/nm-device-802-3-ethernet.c
3658                 - (real_deactivate_quickly): clear the IP interface name on
3659                         deactivation, otherwise the wrong interface might get used later
3660                         for routing and IP management
3661
3662 2008-04-15  Dan Williams  <dcbw@redhat.com>
3663
3664         * libnm-glib/nm-device.c
3665                 - (get_product_and_vendor): handle serial devices correctly
3666                 - (nm_device_update_description): pass device to get_product_and_vendor()
3667
3668 2008-04-15  Dan Williams  <dcbw@redhat.com>
3669
3670         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3671
3672         * src/NetworkManagerSystem.h
3673           src/backends/NetworkManagerArch.c
3674           src/backends/NetworkManagerDebian.c
3675           src/backends/NetworkManagerFrugalware.c
3676           src/backends/NetworkManagerGeneric.c
3677           src/backends/NetworkManagerGeneric.h
3678           src/backends/NetworkManagerGentoo.c
3679           src/backends/NetworkManagerMandriva.c
3680           src/backends/NetworkManagerPaldo.c
3681           src/backends/NetworkManagerRedHat.c
3682           src/backends/NetworkManagerSlackware.c
3683           src/backends/NetworkManagerSuSE.c
3684           src/nm-device.c
3685                 - (nm_generic_device_add_ip6_link_address,
3686                    nm_system_device_add_ip6_link_address): remove
3687
3688 2008-04-15  Dan Williams  <dcbw@redhat.com>
3689
3690         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3691
3692         * src/backends/NetworkManagerArch.c
3693           src/backends/NetworkManagerDebian.c
3694           src/backends/NetworkManagerFrugalware.c
3695           src/backends/NetworkManagerGeneric.c
3696           src/backends/NetworkManagerGeneric.h
3697           src/backends/NetworkManagerGentoo.c
3698           src/backends/NetworkManagerMandriva.c
3699           src/backends/NetworkManagerPaldo.c
3700           src/backends/NetworkManagerRedHat.c
3701           src/backends/NetworkManagerSlackware.c
3702           src/backends/NetworkManagerSuSE.c
3703           src/NetworkManagerSystem.h
3704                 - flush_routes -> flush_ip4_routes
3705                 - flush_addresses -> flush_ip4_addresses
3706
3707         * src/NetworkManagerSystem.c
3708           src/nm-device.c
3709           src/vpn-manager/nm-vpn-connection.c
3710                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
3711
3712 2008-04-15  Dan Williams  <dcbw@redhat.com>
3713
3714         Remove exposure of wireless-tools mode types in the API.
3715
3716         * include/NetworkManager.h
3717                 - Define NM80211Mode enum
3718
3719         * introspection/generic-types.xml
3720                 - Describe NM_802_11_MODE enum
3721                 - Remove IW_MODE_* enum
3722
3723         * introspection/nm-access-point.xml
3724           libnm-glib/nm-access-point.c
3725           libnm-glib/nm-access-point.h
3726                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
3727
3728         * introspection/nm-device-802-11-wireless.xml
3729           libnm-glib/nm-device-802-11-wireless.c
3730           libnm-glib/nm-device-802-11-wireless.h
3731                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
3732
3733         * libnm-util/nm-setting-wireless.c
3734           src/NetworkManagerAP.c
3735           src/NetworkManagerAP.h
3736           src/nm-device-802-11-wireless.c
3737           src/nm-device-802-11-wireless.h
3738           test/nm-tool.c
3739                 - Use NM80211Mode not IW_MODE_*
3740
3741 2008-04-15  Dan Williams  <dcbw@redhat.com>
3742
3743         Enhance nm-online based on a patch from Bill Nottingham.
3744
3745         * test/nm-online.c
3746                 - Add a '-q' option
3747                 - Add help messages and option summary
3748                 - Add long-format options
3749                 - Add a '-x' option to exit if NM isn't running or isn't connecting
3750
3751 2008-04-15  Tambet Ingo  <tambet@gmail.com>
3752
3753         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
3754
3755         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
3756
3757 2008-04-15  Dan Williams  <dcbw@redhat.com>
3758
3759         * nm-setting-ip4-config.c
3760                 - (ip4_addresses_from_gvalue): handle NULL address array
3761
3762         * nm-setting-8021x.c
3763                 - (verify_tls, verify_ttls): warn on failed verification
3764
3765 2008-04-10  Dan Williams  <dcbw@redhat.com>
3766
3767         * src/nm-gsm-device.c
3768                 - (automatic_registration): accept "+CREG: 0,0"
3769                 - (automatic_registration_response): fail on "+CREG: 0,0"
3770
3771 2008-04-10  Tambet Ingo  <tambet@gmail.com>
3772
3773         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
3774
3775 2008-04-10  Tambet Ingo  <tambet@gmail.com>
3776
3777         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
3778         Make it compile again by commenting out broken code that at first didn't work and
3779         now didn't compile either.
3780
3781 2008-04-08  Dan Williams  <dcbw@redhat.com>
3782
3783         * libnm-glib/nm-object-cache.c
3784           libnm-glib/nm-settings.c
3785           src/dhcp-manager/nm-dhcp-manager.c
3786           system-settings/plugins/ifcfg-fedora/plugin.c
3787           system-settings/plugins/ifcfg-suse/plugin.c
3788           system-settings/src/nm-system-config-hal-manager.c
3789           libnm-util/nm-utils.c
3790                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
3791                         not threadsafe anyway
3792
3793 2008-04-08  Dan Williams  <dcbw@redhat.com>
3794
3795         * system-settings/src/main.c
3796                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
3797                         callbacks take a device type too
3798
3799 2008-04-08  Dan Williams  <dcbw@redhat.com>
3800
3801         The system settings service will now create a new default DHCP connection
3802         for wired devices that have no existing applicable connection.
3803
3804         * system-settings/src/nm-system-config-hal-manager.c
3805           system-settings/src/nm-system-config-hal-manager.h
3806                 - (nm_system_config_hal_manager_get_type_for_udi): new function
3807
3808         * system-settings/src/dbus-settings.c
3809           system-settings/src/dbus-settings.h
3810                 - (nm_sysconfig_settings_get_connections): new function
3811                 - (nm_sysconfig_settings_is_device_managed): new function
3812
3813         * system-settings/src/main.c
3814                 - (load_stuff): check for wired devices that need a default connection
3815                 - (get_details_for_udi): get interface and MAC address from HAL
3816                 - (add_default_dhcp_connection): add a default connection for a wired
3817                         device if needed
3818                 - (device_added_cb, device_removed_cb): do the right thing with
3819                         wired devices and their default connections on HAL device events
3820
3821 2008-04-07  Dan Williams  <dcbw@redhat.com>
3822
3823         * libnm-glib/nm-device.c
3824           libnm-glib/nm-device.h
3825                 - Proxy the 'managed' property
3826
3827 2008-04-07  Dan Williams  <dcbw@redhat.com>
3828
3829         * src/nm-gsm-device.c
3830           src/nm-cdma-device.c
3831                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
3832                         handler to transition to DISCONNECTED
3833
3834 2008-04-07  Dan Williams  <dcbw@redhat.com>
3835
3836         Patch from Bill Nottingham
3837
3838         * dispatcher-daemon/NetworkManagerDispatcher.c
3839                 - ignore backup/packaging crufy (rh #440143)
3840
3841 2008-04-07  Dan Williams  <dcbw@redhat.com>
3842
3843         * include/NetworkManager.h
3844                 - Remove the DOWN and CANCELLED device states
3845                 - Add UNMANAGED and UNAVAILABLE device states
3846                 - Document the device states
3847
3848         * introspection/nm-device.xml
3849           src/nm-device-interface.c
3850           src/nm-device-interface.h
3851                 - Add the 'managed' property
3852
3853         * test/nm-tool.c
3854                 - (detail_device): print out device state
3855
3856         * src/NetworkManagerSystem.h
3857           src/backends/NetworkManagerArch.c
3858           src/backends/NetworkManagerDebian.c
3859           src/backends/NetworkManagerFrugalware.c
3860           src/backends/NetworkManagerGentoo.c
3861           src/backends/NetworkManagerMandriva.c
3862           src/backends/NetworkManagerPaldo.c
3863           src/backends/NetworkManagerRedHat.c
3864           src/backends/NetworkManagerSlackware.c
3865           src/backends/NetworkManagerSuSE.c
3866                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
3867                    nm_system_device_free_system_config): remove; they were unused and
3868                         their functionality should be re-implemented in each distro's
3869                         system settings service plugin 
3870
3871         * src/nm-gsm-device.c
3872           src/nm-gsm-device.h
3873           src/nm-cdma-device.c
3874           src/nm-cdma-device.h
3875                 - (*_new): take the 'managed' argument
3876
3877         * src/nm-device.c
3878                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
3879                 - (nm_device_init): start in unmanaged state, not disconnected
3880                 - (constructor): don't start device until the system settings service
3881                         has had a chance to figure out if the device is managed or not
3882                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
3883                         don't set device state here, let callers handle that as appropriate
3884                 - (nm_device_dispose): don't touch the device if it's not managed
3885                 - (set_property, get_property, nm_device_class_init): implement the
3886                         'managed' property
3887                 - (nm_device_state_changed): bring the device up if its now managed,
3888                         and deactivate it if it used to be active
3889                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
3890                         with the managed state
3891
3892         * src/nm-hal-manager.c
3893                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
3894                         take initial managed state and pass it along to device constructors
3895                 - (create_device_and_add_to_list): get managed state and pass to
3896                         type creators
3897
3898         * src/nm-device-802-11-wireless.c
3899                 - (real_can_activate): fold in most of
3900                         nm_device_802_11_wireless_can_activate()
3901                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
3902                 - (link_timeout_cb): instead of deactivating, change device state and
3903                         let the device state handler to it
3904                 - (real_update_hw_address): clean up
3905                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
3906                         handler to transition to DISCONNECTED if the device isn't rfkilled
3907
3908         * src/nm-device-802-3-ethernet.c
3909                 - (set_carrier): move above callers and get rid of prototype
3910                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
3911                         idle handler to transition to DISCONNECTED if the device has a
3912                         carrier
3913                 - (real_update_hw_address): clean up
3914                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
3915                         deactivation directly as deactivation doesn't change state anymore
3916
3917         * src/NetworkManagerPolicy.c
3918                 - (schedule_activate_check): yay, remove wireless_enabled hack since
3919                         the NMManager and wireless devices work that out themselves now
3920                 - (device_state_changed): change to a switch and update for new device
3921                         states
3922                 - (device_carrier_changed): remove; device handles this now through
3923                         state changes
3924                 - (device_added): don't care about carrier any more; the initial
3925                         activation check will happen when the device transitions to
3926                         DISCONNECTED
3927
3928         * src/nm-manager.c
3929                 - (dispose): clear unmanaged devices
3930                 - (handle_unmanaged_devices): update unmanaged device list and toggle
3931                         the managed property on each device when needed
3932                 - (system_settings_properties_changed_cb): handle signals from the
3933                         system settings service
3934                 - (system_settings_get_unmanaged_devices_cb): handle callback from
3935                         getting the unmanaged device list method call
3936                 - (query_unmanaged_devices): ask the system settings service for its
3937                         list of unmanaged devices
3938                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
3939                         devices
3940                 - (manager_set_wireless_enabled): push rfkill state down to wireless
3941                         devices directly and let them handle the necessary state transitions
3942                 - (manager_device_state_changed): update for new device states
3943                 - (nm_manager_add_device): set initial rfkill state on wireless devices
3944                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
3945                 - (nm_manager_activate_connection): return error if the device is
3946                         unmanaged
3947                 - (nm_manager_sleep): handle new device states correctly; don't change
3948                         the state of unavailable/unmanaged devices
3949
3950         * libnm-glib/nm-device-802-11-wireless.c
3951                 - (state_changed_cb): update for new device states
3952
3953 2008-04-07  Dan Williams  <dcbw@redhat.com>
3954
3955         * marshallers/nm-marshal.list
3956                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
3957
3958 2008-04-07  Dan Williams  <dcbw@redhat.com>
3959
3960         * system-settings/src/main.c
3961                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
3962                         plugins to the dbus settings object
3963                 - (load_stuff): start the dbus service after grabbing unmanaged devices
3964                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
3965                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
3966                 - (main): switch default logging to syslog with a 'debug' option to
3967                         output to console; start up the HAL manager
3968
3969 2008-04-07  Dan Williams  <dcbw@redhat.com>
3970
3971         * introspection/nm-settings-system.xml
3972           introspection/Makefile.am
3973                 - Define the unmanaged devices interface for the system settings service
3974
3975         * system-settings/src/nm-system-config-hal-manager.c
3976           system-settings/src/nm-system-config-hal-manager.h
3977           system-settings/src/nm-system-config-hal-manager-private.h
3978           system-settings/src/Makefile.am
3979                 - Add a lightweight HAL manager object for tracking network devices for
3980                         the purpose of determining unmanaged devices and which devices need
3981                         the default DHCP connections
3982
3983         * system-settings/src/nm-system-config-interface.c
3984           system-settings/src/nm-system-config-interface.h
3985                 - (nm_system_config_interface_init): add the HAL manager as an argument
3986                 - (nm_system_config_interface_get_unmanaged_devices): implement
3987                 - Define 'unmanaged-devices-changed' signal
3988
3989         * system-settings/src/dbus-settings.c
3990           system-settings/src/dbus-settings.h
3991                 - Implement the unmanaged devices interface; some cleanups
3992
3993         * system-settings/plugins/ifcfg-suse/plugin.c
3994                 - Fixup for plugin interface changes
3995
3996         * system-settings/plugins/ifcfg-fedora/plugin.c
3997                 - (get_ether_device_udi): new function; find the device that has
3998                         a specified MAC address and return its UDI
3999                 - (get_udi_for_connection): new function; try to find the specific
4000                         device a connection is locked to, if any
4001                 - (device_added_cb, device_removed_cb): update unmanaged device list in
4002                         response to HAL events
4003                 - (get_unmanaged_devices): new function; return unmanaged device list
4004                 - (build_one_connection): set the connection's locked device, if any
4005                 - (write_auto_wired_connection): remove
4006                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
4007                 - (handle_connection_changed): alert listeners that the unmanaged device
4008                         list has changed
4009                 - (init): fixup for plugin interface changes, implement unmanaged devices
4010
4011         * system-settings/plugins/ifcfg-fedora/parser.c
4012           system-settings/plugins/ifcfg-fedora/parser.h
4013                 - (connection_data_free): clean up connection UDI
4014
4015 2008-04-07  Dan Williams  <dcbw@redhat.com>
4016
4017         * system-settings/plugins/ifcfg-fedora/parser.c
4018                 - (make_ip4_setting): fix parsing of DNS servers
4019
4020 2008-04-05  Dan Williams  <dcbw@redhat.com>
4021
4022         * Makefile.am
4023           configure.in
4024           marshallers/Makefile.am
4025           marshallers/nm-marshal-main.c
4026           marshallers/nm-marshal.list
4027                 - Consolidate marshallers
4028
4029         * libnm-glib/nm-marshal-main.c
4030           libnm-glib/nm-marshal.list
4031           src/marshallers/Makefile.am
4032           src/marshallers/nm-marshal-main.c
4033           src/marshallers/nm-marshal.list
4034                 - Remove
4035
4036         * libnm-glib/Makefile.am
4037           src/Makefile.am
4038           src/dhcp-manager/Makefile.am
4039           src/ppp-manager/Makefile.am
4040           src/supplicant-manager/Makefile.am
4041           src/vpn-manager/Makefile.am
4042                 - Use consolidated marshallers
4043
4044 2008-04-04  Dan Williams  <dcbw@redhat.com>
4045
4046         * src/nm-hal-manager.c
4047           src/nm-hal-manager.h
4048                 - (hal_init): don't look for hardware here
4049                 - (nm_hal_manager_start): new function; look for hardware here instead,
4050                         which can be done at a later time than hal_init()
4051
4052         * src/NetworkManager.c
4053                 - (main): start HAL manager after entering the main loop
4054
4055 2008-04-03  Dan Williams  <dcbw@redhat.com>
4056
4057         * libnm-glib/nm-settings.c
4058           libnm-glib/nm-settings.h
4059             - (nm_exported_connection_get_id): new function
4060                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
4061
4062 2008-04-02  Dan Williams  <dcbw@redhat.com>
4063
4064         * src/nm-device-interface.c
4065           src/nm-device-interface.h
4066           src/nm-device.c
4067           src/nm-device.h
4068                 - Rename check_connection_conflicts() to check_connection_compatible()
4069
4070         * src/nm-device-802-11-wireless.c
4071                 - (real_check_connection_conflicts): remove
4072                 - (real_check_connection_compatible): implement; match MAC address
4073
4074         * src/nm-device-802-3-ethernet.c
4075                 - (real_check_connection_conflicts): remove
4076                 - (real_check_connection_compatible): implement; match MAC address
4077                 - (real_get_best_auto_connection): correctly handle PPPoE cases
4078
4079         * src/nm-manager.c
4080                 - (check_connection_allowed): remove; unused until PolicyKit integration
4081                 - (internal_activate_device): check whether the connection is compatible
4082                         with the device before trying to activate it
4083
4084 2008-04-02  Dan Williams  <dcbw@redhat.com>
4085
4086         * system-settings/plugins/ifcfg-fedora/parser.c
4087                 - (read_mac_address): new function; read in MAC address and stuff it
4088                         into the connection
4089                 - (add_one_wep_key): remove debug spew
4090                 - (make_wireless_security_setting): validate the default TX key; don't
4091                         add the wireless-security setting if the connection doesn't need
4092                         security; don't leak the keys shvarFile on error cases
4093                 - (make_wireless_setting, make_wired_setting): populate device's MAC
4094                         address
4095
4096 2008-04-02  Dan Williams  <dcbw@redhat.com>
4097
4098         * libnm-util/nm-setting-connection.c
4099           libnm-util/nm-setting-connection.h
4100                 - (set_property, get_property, nm_setting_connection_class_init): remove
4101                         the 'lockdown' property; it's functionality will be replaced by
4102                         PolicyKit instead
4103
4104 2008-04-01  Dan Williams  <dcbw@redhat.com>
4105
4106         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
4107
4108         * configure.in
4109           initscript/Makefile.am
4110           initscript/Mandriva/Makefile.am
4111           initscript/Mandriva/networkmanager.in
4112           initscript/Mandriva/networkmanagerdispatcher.in
4113           src/backends/Makefile.am
4114           src/backends/NetworkManagerMandriva.c
4115           system-settings/plugins/Makefile.am
4116                 - Add Mandriva support
4117
4118 2008-03-31  Dan Williams  <dcbw@redhat.com>
4119
4120         * src/vpn-manager/nm-vpn-service.c
4121                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
4122                         errors can be passed back to the caller; also no longer scheduled
4123                         as an idle handler, but called directly; and bump up VPN service
4124                         spawn timeout, 2s is really short
4125                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
4126                         but call it directly so that errors are reported on return from
4127                         ActivateConnection() and don't get lost.  If scheduled as an idle
4128                         handler, clients don't have the time to query NM for the new VPN
4129                         connection's properties before the VPN connection is torn down again
4130                         if the service couldn't be launched, and therefore launch errors
4131                         get lost.
4132
4133 2008-03-31  Dan Williams  <dcbw@redhat.com>
4134
4135         * src/vpn-manager/nm-vpn-connection.c
4136                 - (device_state_changed): send correct state on device failure too
4137                 - (plugin_state_changed): failed state means unexpected disconnection,
4138                         thus if the service goes away while the VPN connection is activated
4139                         that's a failure too
4140
4141 2008-03-31  Dan Williams  <dcbw@redhat.com>
4142
4143         * src/vpn-manager/nm-vpn-manager.c
4144           src/vpn-manager/nm-vpn-manager.h
4145                 - Make VPNManager errors more available; add a service-start-failed error
4146
4147 2008-03-31  Dan Williams  <dcbw@redhat.com>
4148
4149         * libnm-glib/nm-client.c
4150           libnm-glib/nm-client.h
4151                 - (activate_cb): pass the new active connection to callback; fix
4152                         message when no callback is specified
4153
4154 2008-03-30  Dan Williams  <dcbw@redhat.com>
4155
4156         * libnm-util/nm-setting-wireless-security.c
4157                 - (need_secrets): only require key0 if the transmit key index is also
4158                         0
4159                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
4160
4161 2008-03-29  Dan Williams  <dcbw@redhat.com>
4162
4163         * libnm-util/nm-setting-8021x.c
4164           libnm-util/nm-setting-ip4-config.c
4165           libnm-util/nm-setting-vpn-properties.c
4166           libnm-util/nm-setting-vpn.c
4167           libnm-util/nm-setting-wireless-security.c
4168           libnm-util/nm-setting-wireless.c
4169           libnm-util/nm-utils.c
4170           src/dhcp-manager/nm-dhcp-manager.c
4171           src/nm-activation-request.c
4172           src/nm-ip4-config.c
4173           src/nm-manager.c
4174           src/nm-properties-changed-signal.c
4175           src/ppp-manager/nm-pppd-plugin.c
4176           src/supplicant-manager/nm-supplicant-interface.c
4177           src/vpn-manager/nm-vpn-connection.c
4178                 - consistently use nm-dbus-glib-types.h
4179
4180 2008-03-29  Dan Williams  <dcbw@redhat.com>
4181
4182         * src/vpn-manager/nm-vpn-connection.c
4183                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4184                         not string
4185
4186         * src/nm-activation-request.c
4187                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4188                         not string
4189
4190 2008-03-29  Dan Williams  <dcbw@redhat.com>
4191
4192         * libnm-glib/nm-device-802-11-wireless.c
4193                 - (access_point_added_proxy): create new APs if not found
4194
4195 2008-03-29  Dan Williams  <dcbw@redhat.com>
4196
4197         * libnm-glib/nm-client.c
4198                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
4199                         before freeing them
4200
4201 2008-03-29  Dan Williams  <dcbw@redhat.com>
4202
4203         * system-settings/plugins/ifcfg-fedora/parser.c
4204                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
4205                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
4206
4207 2008-03-29  Dan Williams  <dcbw@redhat.com>
4208
4209         * system-settings/plugins/ifcfg-fedora/parser.c
4210                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
4211
4212 2008-03-27  Dan Williams  <dcbw@redhat.com>
4213
4214         * nm-object.c
4215                 - (nm_object_queue_notify): don't notify multiple times for the same
4216                         property
4217
4218         * nm-object-private.h
4219                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4220                         if it has zero elements
4221
4222         * nm-ip4-config.c
4223                 - (finalize): use g_ptr_array_foreach() when freeing domains
4224                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
4225
4226         * nm-active-connection.c
4227                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
4228
4229         * nm-device-802-11-wireless.c
4230           nm-device-802-11-wireless.h
4231                 - (nm_device_802_11_wireless_get_access_points): return const; use
4232                         handle_ptr_array_return()
4233
4234         * nm-types.c
4235                 - (nm_object_array_demarshal): always create an array, even of length
4236                         zero, to distinguish between "NM returned no items" and "haven't
4237                         asked NM yet"
4238
4239         * nm-client.c
4240                 - (dispose): free active connections too
4241                 - (proxy_name_owner_changed): free active connections too when NM goes
4242                         away
4243                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
4244                 - (nm_client_get_active_connections): use handle_ptr_array_return()
4245
4246 2008-03-26  Dan Williams  <dcbw@redhat.com>
4247
4248         Rework VPN connection handling for a more consistent D-Bus API.  The
4249         VPNManager object has been removed, and active VPN connections are now the
4250         same as any other active connection.  The Manager object's ActivateConnection
4251         and DeactivateConnection methods are used to start and stop a VPN connection,
4252         and the VPNConnection objects are subclasses of the ActiveConnection objects.
4253         When activating a VPN connection, pass the path of the active connection
4254         to which the VPN connection is tied in the 'specific_object' argument.
4255
4256         Consequently, the libnm-glib API has been reworked to match this arrangement,
4257         with the VPNManager object removed, and the NMVPNConnection objects now
4258         being subclasses of NMActiveConnection.
4259
4260 2008-03-25  Dan Williams  <dcbw@redhat.com>
4261
4262         Patch from Björn Martensen <bjoern.martensen@gmail.com>
4263
4264         * initscript/Arch/networkmanager.in
4265           initscript/Arch/networkmanager-dispatcher.in
4266                 - Updates for Arch Linux (gnome.org #523701)
4267
4268 2008-03-25  Dan Williams  <dcbw@redhat.com>
4269
4270         * libnm-glib/nm-ip4-config.c
4271           libnm-glib/nm-active-connection.c
4272           libnm-glib/nm-access-point.c
4273                 - Use nm_object_queue_notify() instead of g_object_notify()
4274
4275         * libnm-glib/nm-device.c
4276                 - (demarshal_ip4_config): distinguish between successful but missing
4277                         ip4-config request, and unsuccessful and missing ip4-config request
4278                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
4279                         path
4280                 - Use nm_object_queue_notify() instead of g_object_notify()
4281
4282         * libnm-glib/nm-device-802-11-wireless.c
4283                 - (demarshal_active_ap): distinguish between successfull but missing
4284                         active-ap request, and unsuccessful and missing active-ap request
4285                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
4286                         code
4287                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
4288                         for the NMClient to notify the device that wireless is disabled,
4289                         and therefore to clear the AP list and active AP
4290                 - Use nm_object_queue_notify() instead of g_object_notify()
4291
4292         * libnm-glib/nm-client.c
4293                 - (poke_wireless_devices_with_rf_status): new function
4294                 - (update_wireless_status): notify wireless devices of the rfkill status
4295                         so they can clean up if needed
4296                 - Use nm_object_queue_notify() instead of g_object_notify()
4297
4298 2008-03-25  Dan Williams  <dcbw@redhat.com>
4299
4300         * libnm-glib/nm-object.c
4301           libnm-glib/nm-object-private.h
4302                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
4303                         signals to an idle handler
4304                 - (nm_object_get_property): add a timeout to the D-Bus method call
4305
4306 2008-03-25  Dan Williams  <dcbw@redhat.com>
4307
4308         * introspection/nm-device-cdma.xml
4309           introspection/nm-device-gsm.xml
4310           introspection/Makefile.am
4311           introspection/all.xml
4312                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
4313
4314         * src/nm-gsm-device.h
4315           src/nm-gsm-device.c
4316           src/nm-cdma-device.h
4317           src/nm-cdma-device.c
4318           src/Makefile.am
4319                 - Implement PropertiesChanged signals
4320
4321         * libnm-glib/nm-cdma-device.c
4322           libnm-glib/nm-cdma-device.c
4323                 - Attach to PropertiesChanged signals
4324
4325 2008-03-24  Dan Williams  <dcbw@redhat.com>
4326
4327         * libnm-glib/nm-client.c
4328                 - (client_device_added_proxy): add new devices to the internal device
4329                         list so they appear to clients
4330
4331 2008-03-24  Dan Williams  <dcbw@redhat.com>
4332
4333         Massive fixup of libnm-glib to:
4334         a) have all objects (with the exception of VPN) cache their properties and
4335                 update them asynchronously on PropertiesChanged signals from NM
4336         b) return internal const data for most attributes/properties instead of
4337                 allocated values that the caller must free
4338         c) cache wrapped objects such that a given D-Bus path will always map to the
4339                 same GObject returned by libnm-glib
4340         d) remove a few signals and move them to GObject property notifications
4341         e) match recent NM D-Bus API changes for activation/deactivation
4342         f) remove some private functions from libnm-glib headers
4343
4344 2008-03-20  Dan Williams  <dcbw@redhat.com>
4345
4346         * src/nm-manager.c
4347                 - (nm_manager_update_state, manager_device_state_changed,
4348                    nm_manager_activate_device, connection_added_default_handler,
4349                    impl_manager_activate_connection, impl_manager_deactivate_connection):
4350                         queue PropertyChanged singals when the active connections change
4351
4352 2008-03-20  Dan Williams  <dcbw@redhat.com>
4353
4354         * introspection/nm-manager.xml
4355           introspection/nm-manager-client.xml
4356                 - (ActivateConnection): return the object path of the active connection
4357                         on success
4358                 - (GetActiveConnections): remove
4359                 - (DeactivateConnection): new function; deactivate a currently active
4360                         connection
4361                 - Add an ActiveConnections property which returns an array of
4362                         active connection object paths
4363
4364         * introspection/nm-device.xml
4365                 - (Deactivate): remove
4366
4367         * introspection/all.xml
4368                 - Add ActiveConnection introspection
4369
4370         * introspection/nm-active-connection.xml
4371                 - Add the ActiveConnection object
4372
4373         * include/NetworkManager.h
4374                 - Add the Connection.Active D-Bus interface
4375
4376         * src/nm-device-interface.c
4377                 - (impl_device_deactivate): remove
4378
4379         * src/nm-activation-request.c
4380           src/nm-activation-request.c
4381           src/Makefile.am
4382                 - Implement the Connection.Active D-Bus interface
4383
4384         * src/nm-manager.c
4385                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
4386                 - (nm_manager_activate_device): return the active connection path
4387                 - (connection_added_default_handler, impl_manager_activate_connection):
4388                         return the active connection to the caller
4389                 - (add_one_connection_element, impl_manager_get_active_connections):
4390                         remove
4391                 - (impl_manager_deactivate_connection): new function; deactivate an
4392                         active connection
4393
4394         * libnm-glib/nm-device.c
4395           libnm-glib/nm-device.h
4396                 - Remove Deactivate() function
4397
4398 2008-03-19  Dan Williams  <dcbw@redhat.com>
4399
4400         * introspection/nm-manager.xml
4401           introspection/nm-manager-client.xml
4402                 - Rename the ActivateDevice method to ActivateConnection to better
4403                         reflect it's usage; it's arguments get reordered a bit too
4404                 - Convert GetActiveConnections method return from a struct to a dict
4405
4406         * include/NetworkManager.h
4407                 - Define the dict keys for return value of GetActiveConnections
4408
4409         * src/nm-manager.c
4410                 - impl_manager_activate_device -> impl_manager_activate_connection
4411                 - (add_one_connection_element): return a populated hash table, not
4412                         a structure
4413
4414         * libnm-glib/nm-client.c
4415           libnm-glib/nm-client.h
4416                 - nm_client_activate_device -> nm_client_activate_connection
4417                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
4418                 - (nm_client_get_active_connections): return a GSList of GHashTables,
4419                         instead of the custom structures.  Each element of the returned list
4420                         must be freed with nm_client_free_active_connections_element()
4421
4422 2008-03-18  Dan Williams  <dcbw@redhat.com>
4423
4424         * system-settings/plugins/ifcfg-fedora/parser.c
4425           system-settings/plugins/ifcfg-fedora/parser.h
4426           system-settings/plugins/ifcfg-fedora/plugin.c
4427                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
4428                         profiles.  DNS servers and searches must now be stored in the ifcfg
4429                         files themselves
4430
4431 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4432
4433         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
4434         print out username and password, it's supposed to be a secret.
4435
4436         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
4437         request and set the device state accordingly.
4438
4439 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4440
4441         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
4442
4443         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
4444
4445 2008-03-18  Dan Williams  <dcbw@redhat.com>
4446
4447         * src/vpn-manager/nm-vpn-connection.c
4448                 - (get_secrets_cb): handle new GetSecrets return format
4449
4450 2008-03-18  Dan Williams  <dcbw@redhat.com>
4451
4452         Adapt system settings service for split 802.1x.
4453
4454         * system-settings/src/nm-system-config-interface.h
4455                 - clarify return value of get_secrets()
4456
4457         * system-settings/src/dbus-settings.c
4458                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
4459                 - (check_for_secrets): check if there actually secrets returned by a
4460                         plugin
4461                 - (exported_connection_get_secrets): just return the plugin-returned
4462                         hash of settings' secrets if it looks valid
4463
4464         * system-settings/plugins/ifcfg-fedora/plugin.c
4465                 - (get_secrets): add split secrets with correct format to reply hash
4466
4467         * system-settings/plugins/ifcfg-fedora/parser.c
4468           system-settings/plugins/ifcfg-fedora/parser.h
4469                 - (copy_one_cdata_secret, connection_data_copy_secrets,
4470                    connection_data_free, connection_data_add): keep secrets for
4471                         different settings in different hashes
4472
4473 2008-03-17  Tambet Ingo  <tambet@gmail.com>
4474
4475         Clean up activating device deactivation.
4476
4477         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
4478         should be done whether the device activation gets cancelled or the device
4479         is just getting deactivated.
4480         (nm_device_activation_cancel): Remove.
4481         (nm_device_deactivate_quickly): Handle the case where device is activating.
4482
4483         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
4484         It does the exact same thing as real_deactivate_quickly().
4485
4486 2008-03-17  Dan Williams  <dcbw@redhat.com>
4487
4488         Split the 802.1x bits out of the wireless-security setting so they are
4489         generalized enough for wired 802.1x to use too.
4490
4491         * introspection/nm-exported-connection.xml
4492                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
4493                         of just a hash of the secrets for one setting
4494
4495         * libnm-util/nm-setting-wireless-security.c
4496           libnm-util/nm-setting-wireless-security.h
4497                 - Remove 802.1x-specific stuff
4498                 - Added leap-username and leap-password properties for old-school LEAP
4499
4500         * src/nm-device.c
4501           src/nm-device.h
4502                 - (connection_secrets_updated_cb): take a list of updated settings names,
4503                         not just one
4504
4505         * src/supplicant-manager/nm-supplicant-config.c
4506           src/supplicant-manager/nm-supplicant-config.h
4507                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
4508                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
4509                         to nm_supplicant_config_add_setting_8021x()
4510                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
4511                         the supplicant config
4512
4513         * src/nm-device-802-11-wireless.c
4514                 - (build_supplicant_config): pass in the 802.1x setting too, if any
4515                 - (real_connection_secrets_updated): take a list of updated settings
4516                         names, not just one
4517
4518         * src/nm-device-802-3-ethernet.c
4519           src/nm-cdma-device.c
4520           src/nm-gsm-device.c
4521                 - (real_connection_secrets_updated_cb): take a list of updated settings
4522                         names, not just one
4523
4524         * src/nm-activation-request.c
4525           src/nm-activation-request.h
4526                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
4527                         now passes a list of updated settings names, not just one
4528                 - (update_one_setting): new function; handle one updated setting
4529                 - (get_secrets_cb): handle multiple settings returned from the
4530                         settings service; have to be careful of ordering here as there are
4531                         some dependencies between settings (ex. wireless-security and 802.1x
4532                         in some cases)
4533
4534         * src/marshallers/nm-marshal.list
4535                 - new marshaller for connection-secrets-updated signal
4536
4537         * libnm-util/nm-setting-8021x.c
4538                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
4539                         methods
4540                 - (verify): a valid 'eap' property is now required
4541
4542         * libnm-util/nm-connection.c
4543                 - (register_default_settings): add priorities to settings; there are
4544                         some dependencies between settings, and during the need_secrets
4545                         calls this priority needs to be respected.  For example, only the
4546                         wireless-security setting knows whether or not the connection is
4547                         going to use 802.1x or now, so it must be asked for secrets before
4548                         any existing 802.1x setting is
4549                 - (nm_connection_lookup_setting_type): expose
4550
4551         * libnm-util/nm-setting-wireless.c
4552                 - (verify): should verify even if all_settings is NULL; otherwise won't
4553                         catch the case where there is missing security
4554
4555         * libnm-util/nm-setting-wireless-security.c
4556                 - Remove everything to do with 802.1x
4557                 - Add old-school LEAP specific properties for username and password
4558                 - (need_secrets): rework LEAP secrets checking
4559                 - (verify): rework for LEAP and 802.1x verification
4560
4561 2008-03-17  Dan Williams  <dcbw@redhat.com>
4562
4563         * src/NetworkManagerPolicy.c
4564                 - (auto_activate_device): always remove the current activation check
4565                         from the pending activation list, otherwise when the policy gets
4566                         destroyed on NM exit it will attempt to free the already freed
4567                         activation check
4568
4569 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4570
4571         * src/backends/NetworkManagerSlackware.c 
4572         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
4573
4574         * src/backends/NetworkManagerSuSE.c: Add missing includes.
4575
4576 2008-03-14  Dan Williams  <dcbw@redhat.com>
4577
4578         * src/nm-manager.c
4579                 - (nm_device_interface_get_iface): g_object_get() will return an
4580                         allocated value, so this function must not return const
4581                 - (nm_device_interface_activate): free returned iface
4582
4583 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4584
4585         * libnm-util/Makefile.am: Add new files to build.
4586
4587         * libnm-util/nm-connection.c: Register NMSetting8021x.
4588
4589         * libnm-util/nm-setting-8021x.c
4590         * libnm-util/nm-setting-8021x.h: Implement.
4591
4592 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4593
4594         * libnm-util/Makefile.am: Add new files to build.
4595
4596         * libnm-util/nm-connection.c: Register NMSetting8021x.
4597
4598         * libnm-util/nm-setting-8021x.c
4599         * libnm-util/nm-setting-8021x.h: Implement.
4600
4601 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4602
4603         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
4604         data.
4605
4606 2008-03-14  Dan Williams  <dcbw@redhat.com>
4607
4608         * include/wireless-helper.h
4609           include/Makefile.am
4610                 - One place for all the junk needed for #including wireless.h
4611
4612         * test/nm-tool.c
4613           src/NetworkManagerAP.c
4614           src/wpa.c
4615           src/Makefile.am
4616           libnm-util/nm-utils.c
4617           libnm-util/nm-setting-wireless.c
4618           libnm-glib/nm-device-802-11-wireless.c
4619           libnm-glib/nm-access-point.c
4620           libnm-glib/libnm-glib-test.c
4621                 - include wireless-helper.h, not iwlib.h
4622
4623         * configure.in
4624                 - Don't need libiw really, just need to check for wireless.h
4625
4626         * src/kernel-types.h
4627                 - Remove; used types moved into wpa.c
4628
4629         * src/nm-device-802-11-wireless.c
4630                 - (nm_device_802_11_wireless_update_signal_strength,
4631                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
4632                    nm_device_802_11_wireless_set_mode,
4633                    nm_device_802_11_wireless_get_frequency,
4634                    nm_device_802_11_wireless_get_ssid,
4635                    nm_device_802_11_wireless_set_ssid,
4636                    nm_device_802_11_wireless_get_bitrate,
4637                    nm_device_802_11_wireless_get_bssid,
4638                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
4639                         instead of iwlib functions
4640
4641 2008-03-14  Dan Williams  <dcbw@redhat.com>
4642
4643         * src/ppp-manager/nm-ppp-manager.c
4644                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
4645                         should only take the DBusGMethodInvocation argument, not user/pass
4646                         too.  With dbus-glib, async functions only take 2 C arguments since
4647                         the real dbus method arguments get passed back with
4648                         dbus_g_method_return()
4649
4650 2008-03-13  Tambet Ingo  <tambet@gmail.com>
4651
4652         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
4653         Adapt the changes of NMSettingIP4Config.
4654
4655 2008-03-13  Dan Williams  <dcbw@redhat.com>
4656
4657         * src/NetworkManagerUtils.c
4658           src/NetworkManagerUtils.h
4659                 - (nm_ether_ntop): replacement for iw_ether_ntop()
4660
4661         * src/NetworkManagerAP.c
4662           src/nm-device-802-11-wireless.c
4663           src/nm-device-802-3-ethernet.c
4664                 - s/iw_ether_ntop/nm_ether_ntop/g
4665
4666 2008-03-13  Dan Williams  <dcbw@redhat.com>
4667
4668         * src/NetworkManagerPolicy.c
4669                 - (update_routing_and_dns): never set the default route through an
4670                         IPv4LL addressed device
4671
4672 2008-03-13  Dan Williams  <dcbw@redhat.com>
4673
4674         * NetworkManagerUtils.c
4675           NetworkManagerUtils.h
4676                 - Remove NMSock stuff
4677                 - Remove the completion stuff
4678
4679         * nm-device.c
4680           nm-device.h
4681           NetworkManager.c
4682           NetworkManagerSystem.c
4683           autoip.c
4684           nm-device-802-11-wireless.c
4685           nm-device-802-3-ethernet.c
4686                 - Remove NMSock and completion stuff
4687                 - Remove nm_ioctl_info()
4688
4689 2008-03-12  Dan Williams  <dcbw@redhat.com>
4690
4691         * src/nm-device.c
4692                 - (merge_ip4_config): avoid duplicates
4693
4694 2008-03-12  Dan Williams  <dcbw@redhat.com>
4695
4696         * libnm-util/nm-setting-ip4-config.c
4697           libnm-util/nm-setting-ip4-config.h
4698                 - Remove 'manual' and 'autoip' properties
4699                 - Add 'method' property
4700                 - (verify): fix verification with 'method'
4701                 - (finalize): free 'method'
4702                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
4703                         up for 'method'
4704
4705         * src/nm-device.c
4706                 - (real_act_stage3_ip_config_start): check IP4Config method
4707                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
4708                         the future
4709                 - (merge_ip4_config): IP settings are valid with DHCP too
4710                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
4711                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
4712
4713         * src/nm-device-802-11-wireless.c
4714                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
4715                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
4716                         only on demand
4717
4718         * system-settings/plugins/ifcfg-fedora/parser.c
4719           system-settings/plugins/ifcfg-suse/parser.c
4720                 - (make_ip4_setting): fix up for 'method'
4721
4722 2008-03-12  Dan Williams  <dcbw@redhat.com>
4723
4724         * system-settings/plugins/ifcfg-fedora/parser.c
4725           system-settings/plugins/ifcfg-fedora/parser.h
4726                 - (get_ifcfg_name): ignore more file suffixes
4727                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
4728
4729 2008-03-12  Dan Williams  <dcbw@redhat.com>
4730
4731         * configure.in
4732                 - Bring in the bits of gnome-common we actually use (all 15 lines)
4733
4734 2008-03-12  Dan Williams  <dcbw@redhat.com>
4735
4736         * system-settings/plugins/ifcfg-fedora/plugin.c
4737                 - (write_auto_wired_connection): new function; write out an auto
4738                         wired connection file since the applet isn't doing it any more
4739                 - (reload_all_connections): write out the auto wired connection file
4740                         if there aren't any wired connections already
4741                 - (init): don't leak a GError
4742
4743 2008-03-12  Dan Williams  <dcbw@redhat.com>
4744
4745         * src/nm-device-interface.c
4746                 - (nm_device_interface_activate): print the ID of the connection
4747                         that's about to be activated
4748
4749 2008-03-12  Dan Williams  <dcbw@redhat.com>
4750
4751         Harmonize the 802.11 bitrate API
4752
4753         * introspection/nm-access-point.xml
4754                 - 'Rate' -> 'MaxBitrate'; clarify units
4755
4756         * introspection/nm-device-802-11-wireless.xml
4757                 - Clarify units of 'Bitrate'
4758
4759         * src/NetworkManagerAP.c
4760           src/NetworkManagerAP.h
4761                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
4762                         property to 'max-bitrate'
4763                 - (foreach_property_cb): convert rate to Kb/s
4764
4765         * src/nm-device-802-11-wireless.c
4766                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
4767
4768         * libnm-glib/nm-access-point.c
4769           libnm-glib/nm-access-point.h
4770                 - 'rate' -> 'max-bitrate'
4771
4772         * test/nm-tool.c
4773           libnm-glib/libnm-glib-test.c
4774                 - Fix up for these changes
4775
4776 2008-03-12  Dan Williams  <dcbw@redhat.com>
4777
4778         * src/nm-device.c
4779                 - (nm_device_set_ip4_config): don't send property notifications when
4780                         the ip4 config is set to NULL; it causes a PropertyChanged signal
4781                         which dbus-glib can't parse because the value is NULL, which isn't
4782                         a legal object path.  Setting the IP4 config to NULL is only
4783                         valid when deactivating a device anyway, so the device state change
4784                         will alert listeners that the ip4 config is invalid.
4785
4786 2008-03-12  Dan Williams  <dcbw@redhat.com>
4787
4788         * src/nm-properties-changed-signal.c
4789                 - (add_to_string): better handling of NULL objects
4790
4791 2008-03-12  Dan Williams  <dcbw@redhat.com>
4792
4793         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
4794         convert the libnm-glib NMDevice8023Ethernet to cached properties
4795
4796         * introspection/nm-device-802-3-ethernet.xml
4797                 - New 'Carrier' property
4798                 - New 'PropertiesChanged' signal
4799
4800         * introspection/nm-device.xml
4801                 - Remove 'Carrier' property
4802                 - Remove 'CarrierChanged' signal
4803
4804         * src/nm-device-interface.c
4805           src/nm-device-interface.h
4806                 - (nm_device_interface_init): remove 'carrier' property and
4807                         'carrier-changed' signal
4808
4809         * src/nm-device.c
4810           src/nm-device.h
4811                 - (nm_device_get_carrier, nm_device_set_carrier): remove
4812                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
4813                         the link here; wired device will handle that
4814                 - (handle_dhcp_lease_change): don't bother updating link here
4815                 - (get_property, nm_device_class_init): remove carrier property
4816
4817         * src/nm-device-802-11-wireless.c
4818                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
4819                         real_update_link(); wireless devices don't use carrier at all
4820                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
4821                    supplicant_iface_connection_state_cb_handler,
4822                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
4823
4824         * src/nm-device-802-3-ethernet.c
4825           src/nm-device-802-3-ethernet.h
4826                 - (nm_device_802_3_ethernet_carrier_on,
4827                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
4828                         instead of nm_device_set_carrier()
4829                 - (device_state_changed): update link from sysfs on activation;
4830                         replaces real_update_link()
4831                 - (real_update_link): remove, replaced by device_state_changed()
4832                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
4833                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
4834                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
4835                         new get_carrier function
4836                 - (get_property): add 'carrier' property
4837                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
4838                         hook into property-changed signal helper
4839
4840         * src/NetworkManagerPolicy.c
4841                 - (device_carrier_changed): will only ever be called with a wired device
4842                 - (device_added): only hook up to carrier-changed for wired devices
4843
4844         * libnm-glib/nm-device.c
4845           libnm-glib/nm-device.h
4846                 - (constructor, nm_device_class_init): remove carrier-changed signal
4847                 - (device_carrier_changed_proxy): remove; unused
4848                 - (nm_device_get_carrier): remove; carrier a property of wired devices
4849
4850         * libnm-glib/nm-device-802-3-ethernet.c
4851           libnm-glib/nm-device-802-3-ethernet.h
4852                 - Convert to cached properties like AP and Wireless objects
4853                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
4854                         instead of a 'char *', return value should not be freed
4855                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
4856                 - (constructor): hook into properties-changed helper
4857                 - (set_property, get_property): new functions
4858                 - (nm_device_802_3_ethernet_class_init): export GObject properties
4859
4860         * test/nm-tool.c
4861                 - (detail_device): strdup the wired hardware address too since it's
4862                         cached now
4863
4864         * libnm-glib/libnm-glib-test.c
4865                 - (dump_wired): strdup the wired hardware address too since it's
4866                         cached now
4867
4868 2008-03-12  Dan Williams  <dcbw@redhat.com>
4869
4870         * libnm-util/nm-setting-ip4-config.c
4871           libnm-util/nm-setting-ip4-config.h
4872                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
4873                         the 'autoip' property from the spec
4874
4875 2008-03-11  Dan Williams  <dcbw@redhat.com>
4876
4877         * src/backends/NetworkManagerGeneric.c
4878           src/backends/NetworkManagerGeneric.h
4879                 - (nm_generic_device_get_use_dhcp): remove
4880
4881 2008-03-11  Dan Williams  <dcbw@redhat.com>
4882
4883         * src/nm-device.c
4884                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
4885                         already in nm_device_set_ip4_config()
4886                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
4887                         due to a DHCP rebind fails
4888                 - (nm_device_set_ip4_config): send property notifications when the
4889                         ip4 config changes
4890                 - (get_property): only report IP4Config property during valid states
4891
4892         * src/NetworkManagerPolicy.c
4893                 - (update_routing_and_dns): ignore devices that don't have an ip4
4894                         config; add parameter 'force_update' to allow callers to specify
4895                         that changes should be made even if the default device doesn't change
4896                 - (device_ip4_config_changed): update DNS and routing when the device's
4897                         IP4Config changes, like for DHCP updates
4898                 - (device_added): listen for ip4-config property changes
4899
4900 2008-03-11  Dan Williams  <dcbw@redhat.com>
4901
4902         Fix address handling as a result of DHCP rebind/renew/reboot.
4903
4904         * src/NetworkManagerSystem.c
4905                 - (check_one_address): delete an address if it doesn't match a given
4906                         one for the same interface
4907                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
4908                         be smarter about flushing addresses (only flush ones that don't
4909                         match the one we're about to apply)
4910
4911         * src/backends/NetworkManagerDebian.c
4912           src/backends/NetworkManagerSuSE.c
4913           src/backends/NetworkManagerArch.c
4914           src/backends/NetworkManagerSlackware.c
4915           src/backends/NetworkManagerRedHat.c
4916           src/backends/NetworkManagerPaldo.c
4917           src/backends/NetworkManagerFrugalware.c
4918           src/backends/NetworkManagerGentoo.c
4919                 - (nm_system_delete_default_route): remove
4920
4921         * src/backends/NetworkManagerGeneric.c
4922           src/backends/NetworkManagerGeneric.h
4923                 - (nm_generic_enable_loopback): fix the loopback device label
4924                 - (nm_generic_delete_default_route): remove; no longer used
4925
4926 2008-03-11  Dan Williams  <dcbw@redhat.com>
4927
4928         * src/nm-device-interface.h
4929                 - Delimit property name words with '-', otherwise g_object_notify()
4930                         doesn't work the way we expect
4931
4932 2008-03-11  Tambet Ingo  <tambet@gmail.com>
4933
4934         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
4935
4936 2008-03-11  Dan Williams  <dcbw@redhat.com>
4937
4938         * src/NetworkManagerPolicy.c
4939                 - (update_routing_and_dns): don't change anything if the default device
4940                         hasn't changed; print something out when switching the default route
4941                         and DNS
4942
4943 2008-03-10  Tambet Ingo  <tambet@gmail.com>
4944
4945         Implement PPPoE.
4946
4947         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
4948         setting. Use "nic-$eth".
4949
4950         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
4951         the device is activating here to fix a race condition.
4952
4953         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
4954
4955         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
4956         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
4957         (nm_ppp_manager_start): Take activation request instead of connection, we might
4958         need it for asking secrets.
4959         (nm_ppp_manager_update_secrets): Implement.
4960
4961         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
4962         ppp manager start. It might be needed for asking secrets.
4963
4964         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
4965         (ppp_state_changed): Handle pppd daemon disappearing.
4966         (pppoe_stage2_config): Send activation request to ppp manager start.
4967
4968         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
4969
4970         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
4971         username and password.
4972         
4973 2008-03-10  Dan Williams  <dcbw@redhat.com>
4974
4975         * src/nm-device.c
4976                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
4977                         response to a DHCP lease change
4978                 - (dhcp_state_changed): handle DHCP lease changes while activated
4979                 - (nm_device_set_ip4_config): remove a previously set named config
4980                         when setting an ip4 config
4981
4982 2008-03-10  Dan Williams  <dcbw@redhat.com>
4983
4984         * src/nm-serial-device.c
4985                 - (nm_serial_device_send_command): report errno on error
4986                 - (get_reply_got_data): limit the size of the overall buffer
4987                 - (wait_for_reply_info_destroy): destroy result string
4988                 - (wait_for_reply_got_data): append received data to an overall buffer
4989                         until timeout, filled buffer, or error instead of keeping a per-call
4990                         buffer.  Some devices send data slowly enough that this function
4991                         gets called multiple times for the same command stream.
4992                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
4993                         wait_for_reply_got_data() here
4994
4995 2008-03-10  Dan Williams  <dcbw@redhat.com>
4996
4997         * src/nm-cdma-device.c
4998                 - (do_dial, init_modem): handle errors from
4999                         nm_serial_device_send_command_string()
5000
5001         * src/nm-gsm-device.c
5002                 - (do_dial, manual_registration, automatic_registration_get_network,
5003                    automatic_registration, enter_pin, check_pin, init_modem): handle
5004                         errors from nm_serial_device_send_command_string()
5005
5006 2008-03-10  Dan Williams  <dcbw@redhat.com>
5007
5008         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
5009
5010         * src/named-manager/nm-named-manager.c
5011                 - (compute_searches): prefer searches before domains
5012                 - (compute_domain): new function
5013                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
5014                 - (merge_one_ip4_config): if there are no searches in the source config,
5015                         merge domains of the source config into the target config
5016                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
5017
5018 2008-03-10  Dan Williams  <dcbw@redhat.com>
5019
5020         * src/nm-serial-device.c
5021                 - (get_reply_got_data): clean up indentation, shrink serial buffer
5022                 - (wait_for_reply_got_data): try to handle slower serial devices where
5023                         the reply is broken up into multiple reads by concatenating replies
5024                         together until either an error is received or the search string is
5025                         found
5026
5027 2008-03-10  Dan Williams  <dcbw@redhat.com>
5028
5029         * src/nm-device.c
5030                 - (nm_device_bring_down): deactivate the device if it's activating too,
5031                         not just if it's already activated.  This makes sure that everything
5032                         from an association attempt is cleaned up (like DHCP for example)
5033
5034 2008-03-10  Dan Williams  <dcbw@redhat.com>
5035
5036         * src/nm-serial-device.c
5037                 - (config_fd): report error from TCSETA
5038                 - (nm_serial_device_open): fail when config_fd() fails
5039
5040 2008-03-10  Dan Williams  <dcbw@redhat.com>
5041
5042         * src/nm-ip4-config.c
5043                 - (nm_ip4_config_init): allocate searches list
5044                 - (finalize): free searches list
5045
5046 2008-03-09  Dan Williams  <dcbw@redhat.com>
5047
5048         Patch from Bas Zoetekouw <bas@debian.org>
5049
5050         * src/dhcp-manager/nm-dhcp-manager.c
5051                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
5052
5053 2008-03-09  Dan Williams  <dcbw@redhat.com>
5054
5055         Patch from Bas Zoetekouw <bas@debian.org>
5056
5057         * src/nm-ip4-config.c
5058           src/nm-ip4-config.h
5059                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
5060                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
5061                         domains.  'searches' is the correct way to store multiple search
5062                         domains, whereas 'domains' is really just supposed to store one
5063                         domain.  Some sites abuse the DHCP 'domain-name' option to push
5064                         search domains to the client.
5065                 - (nm_ip4_config_add_domain): group with related functions (my patch)
5066
5067 2008-03-09  Dan Williams  <dcbw@redhat.com>
5068
5069         * src/dhcp-manager/nm-dhcp-manager.c
5070                 - (dhclient_run): send interface-specific config files to dhclient
5071
5072 2008-03-07  Dan Williams  <dcbw@redhat.com>
5073
5074         * system-settings/plugins/ifcfg-fedora/parser.c
5075                 - (is_wireless_device): new function; test a device for wireless
5076                         extensions
5077                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
5078                         test the device for wireless extensions to determine the type
5079
5080 2008-03-07  Dan Williams  <dcbw@redhat.com>
5081
5082         Change manager's StateChange signal to StateChanged for consistency.
5083
5084         * introspection/nm-manager.xml
5085                 - Add 'StateChanged' signal
5086                 - Move 'StateChange' down to the deprecated section
5087
5088         * src/nm-hal-manager.c
5089                 - (nm_hal_manager_new): connect to 'state-changed' instead
5090
5091         * src/NetworkManagerPolicy.c
5092                 - (nm_policy_new): connect to 'state-changed' instead
5093
5094         * src/nm-manager.c
5095           src/nm-manager.h
5096                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
5097                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
5098                         of 'state-change'
5099
5100         * libnm-glib/nm-client.c
5101           libnm-glib/nm-client.h
5102                 - (constructor, nm_client_class_init, client_state_changed_proxy):
5103                         track and proxy 'state-changed' instead of 'state-change'
5104
5105 2008-03-07  Dan Williams  <dcbw@redhat.com>
5106
5107         First pass of multiple active device support.  Expect bugs.
5108
5109         * src/nm-ip4-config.c
5110           src/nm-ip4-config.h
5111                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
5112                         there are better ways to do this in the named manager
5113
5114         * src/nm-device.c
5115           src/nm-device.h
5116                 - (nm_device_can_activate): return whether the device can activate a
5117                         connection right now; taking into account things like carrier state
5118                         and rfkill state
5119                 - (nm_device_get_best_auto_connection): renamed from
5120                         nm_device_get_best_connection
5121                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
5122                         device subclasses themselves, so that each device can override the
5123                         MTU from it's NMSetting subclass if needed
5124                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
5125                         in NetworkManagerSystem.c, not here
5126
5127         * src/named-manager/nm-named-manager.c
5128           src/named-manager/nm-named-manager.h
5129                 - (nm_named_manager_name_owner_changed,
5130                    nm_named_manager_dbus_connection_changed): fix for changes to
5131                         rewrite_resolv_conf()
5132                 - (compute_nameservers): don't need the NMNamedManager at all, remove
5133                         from parameter list
5134                 - (merge_one_ip4_config): new function; merge ip4 configs together
5135                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
5136                         ip4 configs; the VPN config takes precedence, then the best
5137                         device config, then the rest of the configs
5138                 - (get_domain_for_config): take the NMNamedManager as an argument
5139                         to check whether the config is the VPN config
5140                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
5141                         attribute from ip4 configs
5142                 - (add_all_ip4_configs_to_named): add all the configs in priority order
5143                 - (remove_ip4_config_from_named): fix for changes to
5144                         get_domain_for_config()
5145                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
5146                         based on its type; callers must pass in the type now
5147                 - (get_last_default_domain): remove, unused
5148                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
5149
5150         * src/nm-device-802-11-wireless.c
5151                 - (real_can_activate): new function
5152                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5153                 - (real_act_stage4_get_ip4_config): handle MTU override
5154
5155         * src/nm-device-802-3-ethernet.c
5156                 - (real_can_activate): new function
5157                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5158                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
5159
5160         * src/vpn-manager/nm-vpn-connection.c
5161                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
5162                         attribute on the ip4 config
5163
5164         * src/NetworkManagerPolicy.c
5165                 - (nm_policy_auto_get_best_device): remove
5166                 - (nm_policy_device_change_check): remove
5167                 - (update_default_route): new function; set the default route via
5168                         the specified device
5169                 - (get_device_priority): new function; return the priority number of
5170                         a device type WRT which one should have the default route.  Order is
5171                         (highest to lowest)  wired, wireless, GSM, CDMA.
5172                 - (update_routing_and_dns): new function; determine which device should
5173                         have the default route, then update the routing table and DNS
5174                 - (maybe_auto_activate_device): new function; if a device is now
5175                         available for activation, find out what connection it would like to
5176                         activate and do it
5177                 - (schedule_activate_check): new function; if a device can be activated
5178                         now, schedule the activation.  Each device may have only one
5179                         pending activation at a given time.
5180                 - (device_state_changed): if activation was canceled, try again,
5181                         possibly with another connection; if the device was activated,
5182                         update routing and DNS; if the device was deactivated, try again
5183                         with another connection
5184                 - (device_carrier_changed): if there is no carrier, deactivate the
5185                         device; otherwise schedule an activation check for the device
5186                 - (wireless_networks_changed): schedule an activation check for the
5187                         device
5188                 - (device_added): keep track of the signal handler IDs so they can
5189                         be removed when the device goes away
5190                 - (device_removed): remove any signal handlers that might be attached
5191                         to the device; update routing and DNS
5192                 - (schedule_activate_all): new function
5193                 - (connections_added, connection_added, connection_updated): when
5194                         connections change, schedule all devices for an activation check
5195                 - (connection_removed): when a device is deactivated because its
5196                         connection was removed, schedule another activation check for it
5197                 - (nm_policy_destroy): destroy pending activations and disconnect
5198                         all device signal handlers
5199
5200         * src/nm-manager.c
5201                 - (nm_manager_activate_device): if the device was already actived,
5202                         deactivate it
5203                 - (deactivate_old_device): remove
5204                 - (connection_added_default_handler, impl_manager_activate_device):
5205                         don't deactivate other devices when activating this one
5206
5207         * src/backends/NetworkManagerGentoo.c
5208           src/backends/NetworkManagerFrugalware.c
5209           src/backends/NetworkManagerPaldo.c
5210           src/backends/NetworkManagerRedHat.c
5211           src/backends/NetworkManagerSlackware.c
5212           src/backends/NetworkManagerArch.c
5213           src/backends/NetworkManagerSuSE.c
5214           src/backends/NetworkManagerDebian.c
5215                 - (nm_system_get_mtu): remove; MTU should be provided through the
5216                         distro's system settings service plugin instead
5217                 - (nm_system_device_add_default_route_via_device): remove
5218                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5219                 - (nm_system_device_replace_default_route): new function; call
5220                         generic implementation
5221
5222         * src/backends/NetworkManagerGeneric.c
5223           src/backends/NetworkManagerGeneric.h
5224                 - (nm_generic_device_add_default_route_via_device,
5225                    nm_generic_device_add_default_route_via_device_with_iface): remove
5226                 - (nm_generic_device_replace_default_route): replace the default route
5227                         with the given route via some gateway
5228
5229         * src/NetworkManagerSystem.c
5230           src/NetworkManagerSystem.h
5231                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
5232                         to routing and DNS; but set the MTU here
5233                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
5234                         ip_iface of the active device; use the standard MTU setting function
5235                 - (nm_system_set_mtu): remove
5236                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
5237
5238 2008-03-07  Tambet Ingo  <tambet@gmail.com>
5239
5240         Rework the interaction between ppp manager and pppd plugin. Register a well
5241         known DBUS service in manager and let the plugin call it's methods instead
5242         of listening plugin's signals.
5243
5244         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
5245         of emitting signals.
5246
5247         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
5248
5249         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
5250
5251         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
5252         nm_ppp_manager_start().
5253
5254         * introspection/nm-ppp-manager.xml: New file.
5255
5256         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
5257         the case correctly where driver is trying to send -1 for the speed, which gets
5258         casted to u16 and thus is always > 0.
5259
5260 2008-03-07  Dan Williams  <dcbw@redhat.com>
5261
5262         * src/nm-hal-manager.c
5263                 - (nm_get_device_driver_name): use net.originating_device first, fall
5264                         back to physical device.  HAL has deprecated physical_device.
5265
5266         * libnm-glib/nm-device.c
5267                 - (get_product_and_vendor): use net.originating_device first, fall
5268                         back to physical device.  HAL has deprecated physical_device.
5269                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
5270
5271 2008-03-07  Dan Williams  <dcbw@redhat.com>
5272
5273         * src/nm-netlink.c
5274                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
5275                         last commit; fix that
5276                 - (get_link_cache): print error string
5277
5278 2008-03-07  Dan Williams  <dcbw@redhat.com>
5279
5280         * src/nm-netlink.c
5281                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
5282                         don't need this hack any more (Benoit Boissinot)
5283
5284 2008-03-06  Dan Williams  <dcbw@redhat.com>
5285
5286         * autogen.sh
5287                 - Die gnome-common, die
5288
5289 2008-03-04  Dan Williams  <dcbw@redhat.com>
5290
5291         Patch from Michael Biebl <biebl@debian.org>
5292
5293         * NetworkManager.pc.in
5294                 - doesn't actually depend on dbus-1
5295
5296         * libnm-util/nm-utils.h
5297                 - remove unused #include <dbus/dbus.h>
5298
5299         * libnm-glib/libnm_glib.pc.in
5300                 - depends on glib and dbus-glib
5301
5302 2008-03-02  Dan Williams  <dcbw@redhat.com>
5303
5304         * src/NetworkManagerPolicy.c
5305                 - s/device_state_changed_idle_id/update_state_id/
5306
5307 2008-03-02  Dan Williams  <dcbw@redhat.com>
5308
5309         * src/nm-device.c
5310           src/nm-device.h
5311           src/nm-device-802-11-wireless.c
5312           src/nm-device-802-3-ethernet.c
5313           src/NetworkManagerPolicy.c
5314                 - s/link_active/carrier
5315                 - nm_device_set_active_link() -> nm_device_set_carrier()
5316                 - nm_device_has_active_link() -> nm_device_get_carrier()
5317
5318 2008-03-02  Dan Williams  <dcbw@redhat.com>
5319
5320         * system-settings/plugins/ifcfg-fedora/parser.c
5321                 - (make_wireless_setting): fail connection creation on missing SSID
5322
5323 2008-02-29  Dan Williams  <dcbw@redhat.com>
5324
5325         * src/NetworkManagerPolicy.c
5326                 - (nm_policy_device_change_check): ensure that a previously active
5327                         device with a system connection has a link before denying a switch
5328                         to a user connection
5329
5330 2008-02-29  Dan Williams  <dcbw@redhat.com>
5331
5332         * src/nm-device-802-11-wireless.c
5333                 - (link_timeout_cb): try again if scanning; deactivate the device when
5334                         activated if the link dies
5335                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
5336                         15 seconds
5337
5338 2008-02-29  Dan Williams  <dcbw@redhat.com>
5339
5340         * src/nm-device-802-11-wireless.c
5341           src/nm-device-802-11-wireless.h
5342                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
5343                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
5344                 - (device_cleanup): reset the scan interval lower when the device
5345                         deactivates
5346                 - (can_scan): base decision mostly off device state, not supplicant
5347                         interface state since the supplicant interface state isn't a
5348                         great indicator of whether the device is active or not
5349                 - (request_wireless_scan): clean up; schedule the next scan here
5350                 - (schedule_scan): only back the scan interval off if a new scan
5351                         actually gets scheduled; and make scan intervals tighter when the
5352                         device is disconnected
5353                 - (supplicant_iface_state_cb_handler): fold in the bits of
5354                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
5355                         interval to minimum
5356                 - (activation_success_handler): reset scan interval to something
5357                         reasonable 
5358
5359 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
5360
5361         reviewed by: Steev <steev@steev.net>
5362
5363         * configure.in:
5364         * src/backends/NetworkManagerGentoo.c:
5365         (nm_system_restart_mdns_responder):
5366                 Howl is no longer a supported mDNS provider
5367
5368 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5369
5370         Get rid of a bunch of unused distro specific functions.
5371
5372 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5373
5374         Implement suse plugin for system settings daemon.
5375
5376         * system-settings/plugins/ifcfg-suse/*: Implement.
5377
5378         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
5379         suse.
5380
5381         * configure.in: Check (without failing) for gio.
5382         Create ifcfg-suse plugin's Makefile.
5383
5384 2008-02-20  Dan Williams  <dcbw@redhat.com>
5385
5386         * libnm-util/nm-connection.c
5387           libnm-util/nm-connection.h
5388                 - (nm_connection_compare): accept compare flags and pass them to the
5389                         setting compare function
5390
5391         * libnm-util/nm-setting.c
5392           libnm-util/nm-setting.h
5393                 - (nm_setting_compare): accept compare flags; ignore properties that are
5394                         marked fuzzy
5395
5396         * libnm-util/nm-setting-connection.c
5397           libnm-util/nm-setting-wireless.c
5398           libnm-util/nm-setting-ppp.c
5399           libnm-util/nm-setting-wired.c
5400                 - Mark some setting properties as ignorable when doing a fuzzy compare
5401
5402         * src/nm-device.c
5403                 - (device_activation_precheck): use exact compare
5404
5405 2008-02-20  Dan Williams  <dcbw@redhat.com>
5406
5407         * src/NetworkManagerPolicy.c
5408                 - (nm_policy_device_change_check): get scope off the connection, not
5409                         using the manager helper
5410
5411         * src/nm-manager.c
5412           src/nm-manager.h
5413                 - (get_scope_for_proxy): rename from get_type_for_proxy()
5414                 - (connection_get_settings_cb): set scope and path on connection, not
5415                         using GObject data items
5416                 - (get_connection_for_proxy): don't need to return path, since that
5417                         can be gotten from the connection
5418                 - (get_connection_for_proxy): get path off the connection, not from
5419                         parameters
5420                 - (connection_removed_cb, connection_updated_cb): don't need to get
5421                         path from get_connection_for_proxy(); get scope off the connection
5422                         instead of using GObject data items
5423                 - (connection_added_default_handler, add_one_connection_element): use
5424                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
5425                 - (nm_manager_get_connection_dbus_path): remove
5426                 - (nm_manager_get_connection_scope): remove
5427
5428 2008-02-20  Dan Williams  <dcbw@redhat.com>
5429
5430         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
5431                 on confusing names
5432
5433         * Add 'path' and 'scope' properties to NMConnection since both NM and the
5434                 applet were having to hack this in anyway.  Remove the 'path' stuff from
5435                 NMExportedConnection
5436
5437         * Internally rename NMConnectionType -> NMConnectionScope
5438
5439         * Provide default implementations of the 'get_id' and 'get_settings' methods
5440                 of NMExportedConnection
5441
5442 2008-02-15  Dan Williams  <dcbw@redhat.com>
5443
5444         * src/nm-device-802-11-wireless.c
5445                 - (device_cleanup): release the AP list here too so that the AP list
5446                         doesn't survive across suspend/resume and up/down.  There is some
5447                         room for optimization, for example blow the list away when the card
5448                         brought back up, but only if the device has only been down for a
5449                         minute or more.
5450
5451 2008-02-15  Dan Williams  <dcbw@redhat.com>
5452
5453         * src/nm-hal-manager.c
5454                 - (modem_device_creator): recognize new HAL modem capabilities
5455
5456 2008-02-12  Dan Williams  <dcbw@redhat.com>
5457
5458         * system-settings/plugins/ifcfg-fedora/plugin.c
5459                 - (watch_path): handle IN_DELETE_SELF too
5460                 - (handle_connection_changed): notify when removing a connection
5461                 - (stuff_changed): don't warn on unknown inotify watches; handle the
5462                         case of a file moving out of the profile directory
5463
5464 2008-02-12  Dan Williams  <dcbw@redhat.com>
5465
5466         * system-settings/plugins/ifcfg-fedora/parser.c
5467                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
5468
5469 2008-02-12  Dan Williams  <dcbw@redhat.com>
5470
5471         * libnm-util/nm-utils.c
5472                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
5473                         just any empty array
5474
5475 2008-02-12  Dan Williams  <dcbw@redhat.com>
5476
5477         * system-settings/src/nm-system-config-interface.c
5478           system-settings/src/nm-system-config-interface.h
5479                 - (load_connections): get_connections() should now return an allocated
5480                         GSList that the system settings service will free
5481
5482         * system-settings/plugins/ifcfg-fedora/plugin.c
5483           system-settings/plugins/ifcfg-fedora/parser.h
5484           system-settings/plugins/ifcfg-fedora/parser.c
5485                 - Fix up inotify issues; handle keys-* files, handle new files appearing
5486                         in the profile directory, handle resolv.conf file changes
5487
5488 2008-02-10  Dan Williams  <dcbw@redhat.com>
5489
5490         * src/nm-device-802-3-ethernet.c
5491                 - (real_bring_up): save the supplicant interface state signal id
5492                 - (real_bring_down): disconnect from the supplicant interface state
5493                         signal
5494
5495 2008-02-07  Dan Williams  <dcbw@redhat.com>
5496
5497         * initscript/RedHat/NetworkManager.in
5498           initscript/RedHat/NetworkManagerDispatcher.in
5499                 - Add new-style LSB init headers
5500
5501 2008-02-07  Dan Williams  <dcbw@redhat.com>
5502
5503         * system-settings/src/dbus-settings.c
5504           system-settings/src/dbus-settings.h
5505                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
5506                         table of secrets
5507                 - (connection_settings_get_secrets): consolidate error returns into
5508                         one place; use the new get_secrets() plugin interface function to
5509                         get secrets from the plugin itself rather than using GObject data
5510                         magic
5511
5512         * system-settings/src/main.c
5513                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
5514                    load_connections): keep a private list of the plugin-returned
5515                         connections, don't use the plugin's GSList
5516
5517         * system-settings/plugins/ifcfg-fedora/plugin.c
5518                 - (watch_path): watch the path, not the filename (duh)
5519                 - (reload_all_connections): use the direct hash/equal functions; the
5520                         ones for int aren't appropriate here
5521                 - (get_secrets, system_config_interface_init): implement the
5522                         get_secrets() function
5523                 - (build_one_connection, find_connection_by_path): ifcfg file path is
5524                         now in the connection's ConnectionData instead of being a GObject
5525                         data property
5526                 - (handle_profile_item_changed): ifcfg file path is now in the
5527                         connection's ConnectionData instead of being a GObject data property;
5528                         be sure to copy secrets over from the new connection to the existing
5529                         connection when updating the connection's settings
5530                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
5531                         file descriptor
5532
5533         * system-settings/plugins/ifcfg-fedora/parser.c
5534           system-settings/plugins/ifcfg-fedora/parser.h
5535                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
5536                    connection_data_copy_secrets, connection_data_free,
5537                    connection_data_add): new functions; connection data manipulation
5538                 - (make_wireless_security_setting): stuff secrets into the
5539                         connection data, not as GObject data items; make sure to close
5540                         the keys ifcfg file
5541                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
5542                         connection data to the connection
5543
5544 2008-02-07  Dan Williams  <dcbw@redhat.com>
5545
5546         * system-settings/src/nm-system-config-interface.c
5547           system-settings/src/nm-system-config-interface.h
5548                 - Add a get_secrets() interface function to retrieve secrets for a
5549                         specific setting of a specific connection.  Document the interface
5550                         a bit more too.
5551
5552 2008-02-07  Dan Williams  <dcbw@redhat.com>
5553
5554         * src/nm-device-802-11-wireless.c
5555                 - (handle_auth_or_fail): new function; consolidate device activation
5556                         failure check after a certain number of failures getting secrets
5557                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
5558                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
5559                         the connection if secrets were requested more than a few times
5560                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
5561                         tries here; otherwise they are cleared before the IP configure
5562                         timeout, which happens with open system WEP when key is wrong
5563                 - (activation_success_handler): clear wireless secrets tries here too
5564
5565 2008-02-07  Dan Williams  <dcbw@redhat.com>
5566
5567         * src/NetworkManagerPolicy.c
5568                 - (connection_updated): clear invalid tag when connection gets updated
5569                         to allow that connection to be tried again
5570                 - (nm_policy_new): save signal ids so they can be disconnected when
5571                         the policy is destroyed
5572                 - (nm_policy_destroy): stop any in-progress state change idle handler,
5573                         and disconnect all signals from the manager object so that none
5574                         of the policy functions gets called after the policy is destroyed
5575
5576 2008-02-06  Dan Williams  <dcbw@redhat.com>
5577
5578         * src/nm-manager.c
5579                 - (finalize): remove devices a bit earlier; clean up system settings
5580                         poke
5581                 - (nm_manager_name_owner_changed): clean up system settings poke when
5582                         the service appears, and try to restart it if it fails
5583                 - (poke_system_settings_daemon_cb): try to get the system settings
5584                         service started through D-Bus service activation
5585                 - (initial_get_connections): start the system settings daemon if it's
5586                         not already running
5587
5588 2008-02-05  Dan Williams  <dcbw@redhat.com>
5589
5590         * src/supplicant-manager/nm-supplicant-config.c
5591                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
5592                         broadcast networks too
5593
5594 2008-02-04  Dan Williams  <dcbw@redhat.com>
5595
5596         * system-settings/plugins/ifcfg-fedora/parser.c
5597                 - (make_wireless_security_setting): fix spelling; unencrypted networks
5598                         need key_mgmt set too
5599                 - (parser_parse_file): validate ifcfg file name and don't try to parse
5600                         .bak files; ensure that an error is set whenever NULL gets returned
5601
5602 2008-02-04  Dan Williams  <dcbw@redhat.com>
5603
5604         * system-settings/src/Makefile.am
5605                 - Install D-Bus service activation file for the system settings
5606                         service
5607
5608         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
5609                 - D-Bus service activation file for system settings service
5610
5611 2008-02-04  Dan Williams  <dcbw@redhat.com>
5612
5613         * system-settings/src/main.c
5614                 - (parse_config_file): parse a config file
5615                 - (main): accept --config option and read plugins from config file
5616
5617 2008-02-04  Dan Williams  <dcbw@redhat.com>
5618
5619         * system-settings/plugins/ifcfg-fedora/plugin.c
5620                 - Change reported name to 'ifcfg-fedora'
5621                 - Use IFCFG_PLUGIN_NAME
5622
5623         * system-settings/plugins/ifcfg-fedora/plugin.c
5624                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
5625
5626 2008-02-04  Dan Williams  <dcbw@redhat.com>
5627
5628         * system-settings/plugins/ifcfg-fedora/parser.c
5629                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
5630                 - (make_connection_setting): use get_ifcfg_name()
5631                 - (make_wireless_security_setting): handle shadow key files
5632                 - (get_one_wep_key): treat empty string as NULL
5633
5634 2008-02-04  Dan Williams  <dcbw@redhat.com>
5635
5636         * src/supplicant-manager/nm-supplicant-manager.c
5637                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
5638                         glib automatically reschedule
5639                 - (nm_supplicant_manager_init): immediately try to start the supplicant
5640                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
5641                         the supplicant
5642
5643 2008-02-01  Dan Williams  <dcbw@redhat.com>
5644
5645         * src/NetworkManagerPolicy.c
5646                 - (device_state_changed): schedule a change check when a device gets
5647                         deactivated so something happens if you disconnect GSM/CDMA
5648
5649 2008-01-31  Dan Williams  <dcbw@redhat.com>
5650
5651         * src/nm-device-802-11-wireless.h
5652           src/nm-device-802-11-wireless.c
5653                 - (ap_list_get_ap_by_ssid, is_associated,
5654                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
5655                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
5656                 - (nm_device_802_11_wireless_get_activation_ap): collapse
5657                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
5658                         function
5659
5660 2008-01-30  Dan Williams  <dcbw@redhat.com>
5661
5662         * system-settings/plugins/ifcfg
5663         * system-settings/plugins/ifcfg-fedora
5664                 - Move the ifcfg plugin to ifcfg-fedora
5665
5666 2008-01-24  Dan Williams  <dcbw@redhat.com>
5667
5668         * libnm-glib/nm-device-802-11-wireless.c
5669                 - (get_access_point): move the "/" check here; check for invalid path
5670                         too
5671                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
5672                         to get_access_point()
5673                 - (access_point_added_proxy, access_point_removed_proxy): don't try
5674                         to send signals for non-existent access points
5675
5676 2008-01-24  Dan Williams  <dcbw@redhat.com>
5677
5678         * libnm-glib/nm-device-802-11-wireless.c
5679                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
5680
5681 2008-01-23  Dan Williams  <dcbw@redhat.com>
5682
5683         * libnm-glib/libnm_glib.c
5684                 - (libnm_glib_init): make thread joinable
5685                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
5686
5687 2008-01-23  Dan Williams  <dcbw@redhat.com>
5688
5689         * test/libnm_glib_test.c
5690                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
5691                 - (main): set up signal handlers; call libnm_glib_shutdown
5692
5693 2008-01-21  Dan Williams  <dcbw@redhat.com>
5694
5695         * include/NetworkManager.h
5696                 - Add CDMA mobile broadband card device type
5697
5698         * src/nm-hal-manager.c
5699                 - (modem_device_creator): handle both CDMA and GSM modems; the device
5700                         must now be tagged with 'cdma' or 'gsm' capability
5701
5702         * src/nm-cdma-device.c
5703           src/nm-cdma-device.h
5704           src/Makefile.am
5705                 - Add the CDMA mobile broadband card device class
5706
5707         * libnm-util/nm-connection.c
5708                 - (register_default_settings): add NMSettingCdma
5709
5710         * libnm-util/nm-setting-cdma.c
5711           libnm-util/nm-setting-cdma.h
5712           libnm-util/Makefile.am
5713                 - Add the CDMA mobile broadband card setting class
5714
5715         * libnm-glib/nm-cdma-device.c
5716           libnm-glib/nm-cdma-device.h
5717           libnm-glib/Makefile.am
5718                 - Add the CDMA mobile broadband card GLib proxy class
5719
5720         * libnm-glib/nm-client.c
5721                 - (get_device): handle CDMA devices too
5722
5723 2008-01-21  Dan Williams  <dcbw@redhat.com>
5724
5725         * src/ppp-manager/nm-ppp-manager.c
5726                 - (ip4_config_get): set peer address too
5727
5728         * src/ppp-manager/nm-pppd-plugin.c
5729                 - (nm_ip_up): try harder to get the peer's address
5730
5731         * src/NetworkManagerSystem.c
5732                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
5733                         address, use that too.  Otherwise, some PPP connections won't work.
5734
5735 2008-01-19  Dan Williams  <dcbw@redhat.com>
5736
5737         * src/NetworkManagerPolicy.c
5738                 - (nm_policy_device_change_check): system connections override user
5739                         connections; don't activate a user connection if there's a currently
5740                         active system connection, and new, better system connections always
5741                         interrupt user connections
5742
5743 2008-01-19  Dan Williams  <dcbw@redhat.com>
5744
5745         * src/nm-manager.h
5746                 - (nm_manager_get_connection_type): new function
5747
5748 2008-01-19  Dan Williams  <dcbw@redhat.com>
5749
5750         * src/nm-device-802-11-wireless.c
5751                 - (real_get_best_connection): collapse find_best_connection() into this
5752                         function
5753
5754 2008-01-19  Dan Williams  <dcbw@redhat.com>
5755
5756         * src/nm-device-802-3-ethernet.c
5757                 - (real_get_best_connection): collapse find_best_connection() into this
5758                         function
5759
5760 2008-01-18  Dan Williams  <dcbw@redhat.com>
5761
5762         * src/nm-device-802-3-ethernet.c
5763                 - (find_best_connection): check MAC address too
5764                 - (real_get_best_connection): let autoconnect=True connections activate
5765                         for devices that don't have carrier detection
5766
5767         * src/nm-device-802-11-wireless.c
5768                 - (find_best_connection): check MAC address too
5769
5770 2008-01-18  Dan Williams  <dcbw@redhat.com>
5771
5772         * system-settings/plugins/ifcfg/parser.c
5773                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
5774
5775 2008-01-17  Dan Williams  <dcbw@redhat.com>
5776
5777         * src/nm-device-802-3-ethernet.c
5778                 - (nm_device_802_3_ethernet_carrier_on,
5779                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
5780                         carrier events that might come in for devices that don't support
5781                         carrier detect
5782
5783 2008-01-17  Dan Williams  <dcbw@redhat.com>
5784
5785         * src/nm-device-interface.c
5786                 - (nm_device_interface_check_connection_conflicts): need to actually
5787                         get the interface, not cast to the object
5788
5789         * src/nm-device.c
5790                 - (nm_device_check_connection_conflicts): need to get the device class,
5791                         not cast the device to the device class
5792
5793 2008-01-17  Dan Williams  <dcbw@redhat.com>
5794
5795         * src/nm-device-802-11-wireless.c
5796                 - (real_check_connection_conflicts): ignore connections that aren't
5797                         wireless connections
5798
5799 2008-01-17  Dan Williams  <dcbw@redhat.com>
5800
5801         * src/NetworkManagerPolicy.c
5802                 - (nm_policy_device_change_check): clear change check idle here
5803                 - (device_change_check_done): remove
5804                 - (schedule_change_check): simplify
5805
5806 2008-01-17  Dan Williams  <dcbw@redhat.com>
5807
5808         * src/nm-manager.c
5809                 - (check_connection_allowed): take an NMDeviceInterface instead of
5810                         an NMDevice object as an argument
5811                 - (nm_manager_activate_device): pass an NMDeviceInterface to
5812                         check_connection_allowed()
5813
5814 2008-01-13  Dan Williams  <dcbw@redhat.com>
5815
5816         * libnm-glib/nm-device-802-11-wireless.c
5817                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
5818
5819 2008-01-12  Dan Williams  <dcbw@redhat.com>
5820
5821         * src/nm-device-802-11-wireless.c
5822                 - (activation_success_handler): if a match was found in the scan list
5823                         and that match is a hidden AP, update that AP's SSID
5824
5825 2008-01-11  Dan Williams  <dcbw@redhat.com>
5826
5827         * src/NetworkManagerAP.c
5828                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
5829
5830         * src/nm-device-802-11-wireless.c
5831                 - (get_active_ap): do two passes over the scan list if the caller
5832                         requests that hidden APs get matched too; during the second pass
5833                         when matching hidden APs, ignore the SSID since hidden APs in the
5834                         scan list don't have an SSID yet
5835                 - (periodic_update): move some checks to
5836                         nm_device_802_11_periodic_update() because not all callers need them
5837                 - (nm_device_802_11_periodic_update): move some checks here from
5838                         perodic_update()
5839                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
5840                         matching on incoming scan results, because the fake AP's flags
5841                         might be slightly different (yet still compatible) with the incoming
5842                         scan result's flags and they might actually be the same AP; update
5843                         the rate on merged APs too
5844                 - (activation_success_handler): update the frequency of the fake AP
5845                         on successful connection; match hidden APs too since if the
5846                         current AP is fake, there might already be a scan result in the
5847                         scan list for the desired AP, just without it's SSID filled in yet
5848
5849 2008-01-10  Dan Williams  <dcbw@redhat.com>
5850
5851         * src/NetworkManagerAP.c
5852                 - (foreach_property_cb): catch more hidden SSID formats
5853
5854 2008-01-10  Dan Williams  <dcbw@redhat.com>
5855
5856         Fix gnome.org #464215.  Requires the kernel patch titled
5857         "Introduce WEXT scan capabilities" but will handle the patch not being
5858         present, you'll just continue to have problems with hidden SSIDs when
5859         using mac80211-based drivers.
5860
5861         * src/supplicant-manager/nm-supplicant-config.h
5862           src/supplicant-manager/nm-supplicant-config.c
5863                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
5864                         whether the driver supports SSID scans or not.  If it does, and if
5865                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
5866
5867         * src/nm-device-802-11-wireless.c
5868                 - (constructor): check whether or not the driver supports SSID scans
5869                 - (build_supplicant_config): pass driver SSID scan capability when
5870                         building the wireless bits of the supplicant config
5871
5872 2008-01-09  Dan Williams  <dcbw@redhat.com>
5873
5874         * src/nm-device.c
5875           src/nm-device.h
5876                 - (device_activation_precheck, check_connection_complete): remove this
5877                         virtual function; incomplete connections should be invalid by
5878                         definition, complete-ness should be checked in the setting's
5879                         verify function
5880
5881         * src/nm-serial-device.c
5882           src/nm-gsm-device.c
5883                 - (real_check_connection_complete): remove
5884
5885         * libnm-util/nm-setting-serial.c
5886                 - (verify): new function; ensure there is a PPP setting too
5887
5888         * libnm-util/nm-setting-gsm.c
5889                 - (verify): ensure there is a serial setting too
5890
5891 2008-01-06  Dan Williams  <dcbw@redhat.com>
5892
5893         * src/dhcp-manager/nm-dhcp-manager.c
5894                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
5895                         (gnome.org #332953)
5896
5897 2008-01-04  Dan Williams  <dcbw@redhat.com>
5898
5899         * src/named-manager/nm-named-manager.c
5900                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
5901                         nameservers if the secondary config doesn't have any
5902                         (gnome.org #346833)
5903
5904 2008-01-02  Tambet Ingo  <tambet@gmail.com>
5905
5906         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
5907         with G_PARAM_CONSTRUCT so that they get the default values.
5908
5909         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
5910         the monitoring device and prints out the output for now. Or more precicely, doesn't
5911         do absolutely anything right now since the montoring device argument is never set.
5912
5913         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
5914         requires it's own knob to turn it on.
5915         (config_fd): Add NMSettingSerial to the arguments list.
5916         (nm_serial_device_open): Ditto.
5917         (get_reply_got_data): Ignore the terminators at the beginning of the output.
5918         (nm_serial_device_get_io_channel): Implement.
5919
5920         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
5921         a new reference every time (and forgetting to release it sometimes) is a pain and
5922         it's not like NMManager could work without dbus.
5923         (nm_manager_add_device): Register the added device on dbus here.
5924
5925         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
5926         device.
5927
5928         * src/nm-device.c (constructor): Don't export the device here, instead export
5929         it when it's added to the NMManager's device list.
5930
5931 2007-12-31  Dan Williams  <dcbw@redhat.com>
5932
5933         * src/nm-device-interface.c
5934           src/nm-device-interface.h
5935                 - (nm_device_interface_check_connection_conflicts): new function
5936
5937         * src/nm-device.c
5938           src/nm-device.h
5939                 - (nm_device_check_connection_conflicts): new function
5940                 - (device_activation_precheck): don't require subclasses to implement
5941                         check_connection_complete()
5942                 - check_connection() -> check_connection_complete()
5943
5944         * src/nm-device-802-11-wireless.c
5945                 - (real_check_connection): remove; unused
5946                 - (real_check_connection_conflicts): implement, handle lockdown for
5947                         system connections
5948
5949         * src/nm-device-802-3-ethernet.c
5950                 - (real_check_connection): remove; unused
5951
5952         * src/nm-manager.c
5953                 - (check_connection_allowed): new function
5954                 - (nm_manager_activate_device): ensure the connection being requested
5955                         is allowed to be activated
5956
5957         * src/nm-serial-device.c
5958           src/nm-gsm-device.c
5959                 - real_check_connection() -> real_check_connection_complete()
5960
5961 2007-12-27  Dan Williams  <dcbw@redhat.com>
5962
5963         * src/nm-device-interface.c
5964           src/nm-device-interface.h
5965                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
5966                         normalize and expand errors
5967                 - (nm_device_interface_init): register errors so they can be marshalled
5968                         through dbus-glib
5969                 - (nm_device_interface_activate): ensure that failure of activation
5970                         returns an error
5971
5972         * src/nm-device.c
5973           src/nm-device.h
5974                 - (device_activation_precheck): implementations of check_connection()
5975                         now take a GError and must fill it in if the check fails.  Return
5976                         more descriptive error if the requested connection is already
5977                         activating
5978                 - (nm_device_activate): actually try to return descriptive errors on
5979                         failures
5980
5981         * src/nm-device-802-11-wireless.c
5982           src/nm-device-802-3-ethernet.c
5983           src/nm-serial-device.c
5984           src/nm-gsm-device.c
5985                 - (real_check_connection): return more descriptive errors on failure
5986
5987         * src/NetworkManagerPolicy.c
5988                 - (nm_policy_device_change_check): print activation errors in the logs
5989
5990         * src/nm-manager.c
5991                 - (nm_manager_error_quark, nm_manager_error_get_type,
5992                    nm_manager_class_init): new errors
5993                 - (nm_manager_activate_device): handle errors
5994                 - (nm_manager_error_new): removed
5995                 - (wait_for_connection_expired, connection_added_default_handler,
5996                    impl_manager_activate_device): better error handling
5997
5998 2007-12-27  Dan Williams  <dcbw@redhat.com>
5999
6000         Fixes gnome.org #466954
6001
6002         * src/supplicant-manager/nm-supplicant-settings-verify.c
6003                 - Allow 'frequency' network property
6004
6005         * src/supplicant-manager/nm-supplicant-config.c
6006           src/supplicant-manager/nm-supplicant-config.h
6007                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
6008                         for callers to specify the frequency an Ad-Hoc network should operate
6009                         on.  Some drivers require this to successfully create an Ad-Hoc
6010                         network.
6011
6012         * src/nm-device-802-11-wireless.c
6013                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
6014                         guint32 value in MHz
6015                 - (constructor, nm_device_802_11_wireless_get_frequency): use
6016                         iw_freq_to_uint32()
6017                 - (find_supported_frequency): new function; find a free supported
6018                         frequency for a user-created Ad-Hoc network
6019                 - (build_supplicant_config): if no frequency was specified for a user-
6020                         created Ad-Hoc network, find a free one to use
6021                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
6022                         a specific object as user-created
6023
6024 2007-12-27  Dan Williams  <dcbw@redhat.com>
6025
6026         * libnm-util/nm-utils.c
6027           libnm-util/nm-utils.h
6028                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
6029                         for adhoc networks
6030
6031 2007-12-24  Dan Williams  <dcbw@redhat.com>
6032
6033         * libnm-util/nm-setting-wireless.c
6034                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
6035                         185, 187, 188, 192, and 196
6036
6037 2007-12-24  Dan Williams  <dcbw@redhat.com>
6038
6039         * src/nm-device-802-11-wireless.c
6040                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
6041                         a channel # instead of a frequency
6042
6043 2007-12-24  Dan Williams  <dcbw@redhat.com>
6044
6045         * src/NetworkManagerAP.c
6046           src/NetworkManagerAP.h
6047                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
6048                 - (freq_to_channel): handle split band tables
6049                 - (channel_to_freq): handle split band tables, take a band argument
6050
6051 2007-12-24  Dan Williams  <dcbw@redhat.com>
6052
6053         * libnm-util/nm-setting-connection.h
6054           libnm-util/nm-setting-connection.c
6055                 - Add 'lockdown' member
6056
6057 2007-12-22  Dan Williams  <dcbw@redhat.com>
6058
6059         * libnm-util/nm-setting-wireless.c
6060                 - (nm_setting_wireless_class_init): add missing 'rate' property
6061                         specification
6062
6063 2007-12-18  Dan Williams  <dcbw@redhat.com>
6064
6065         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
6066
6067         * src/nm-netlink-monitor.c
6068           src/nm-netlink-monitor.h
6069                 - Remove handrolled netlink, use libnl instead
6070
6071         * src/nm-device-802-3-ethernet.c
6072                 - (constructor, nm_device_802_3_ethernet_carrier_off,
6073                    nm_device_802_3_ethernet_carrier_on): use new names
6074
6075 2007-12-17  Dan Williams  <dcbw@redhat.com>
6076
6077         * configure.in
6078                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
6079                         and fixes memory leaks)
6080
6081         * src/nm-netlink.c
6082                 - (nm_netlink_get_default_handle): handle new versions of libnl that
6083                         automatically handle the netlink PID
6084
6085 2007-12-17  Dan Williams  <dcbw@redhat.com>
6086
6087         Patch from Michael Biebl <biebl@debian.org>
6088
6089         * configure.in
6090           src/ppp-manager/Makefile.am
6091                 - fix up install dir of pppd plugin
6092                 - clean up configure.in a bit
6093
6094 2007-12-12  Dan Williams  <dcbw@redhat.com>
6095
6096         * system-settings/src/nm-system-settings.conf
6097                 - Allow non-root clients (like the applet) to read settings
6098
6099 2007-12-10  Tambet Ingo  <tambet@gmail.com>
6100
6101         * Replace all occurences of 'UMTS' with 'GSM'.
6102
6103 2007-12-07  Dan Williams  <dcbw@redhat.com>
6104
6105         * src/nm-serial-device.c
6106                 - (real_is_up): serial devices are always "up"
6107
6108 2007-12-07  Dan Williams  <dcbw@redhat.com>
6109
6110         * src/nm-netlink.c
6111           src/NetworkManagerSystem.c
6112                 - (new_nl_handle): ensure that the same netlink pid is never chosen
6113                         twice (gnome.org #491047)
6114                 - Make more robust against allocation-related failures should they occur
6115
6116 2007-12-07  Dan Williams  <dcbw@redhat.com>
6117
6118         Noticed by Christian Persch <chpe@gnome.org>
6119
6120         Always chain up to parent object in dispose and finalize handlers.
6121                 (gnome.org #433112)
6122
6123 2007-12-07  Dan Williams  <dcbw@redhat.com>
6124
6125         * src/nm-device-802-11-wireless.c
6126                 - Wrap #include of linux/mii.h to fix redefined structures due to
6127                         incorrect kernel headers (gnome.org #350061)
6128
6129 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6130
6131         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
6132         before doing anything else.
6133         (init_modem): Move modem initialization here.
6134
6135         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
6136         (nm_serial_device_flash): Implement.
6137
6138         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
6139         changes signal is "StateChanged" and not "Status".
6140         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
6141
6142 2007-12-06  Dan Williams  <dcbw@redhat.com>
6143
6144         * src/supplicant-manager/nm-supplicant-config.c
6145                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
6146                         to only send some options when they make sense; also send phase2
6147                         option to the supplicant (possible fix for rh #399631)
6148
6149 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6150
6151         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
6152         arguments: This whole file shouldn't really know anything about NMDevices, it
6153         should deal only with device interfaces. Devices might have different ifaces for
6154         different stuff and this place shouldn't know anything about it.
6155
6156         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
6157         (global_state_changed): Implement. In the current NM it's not really important,
6158         but will be required in the case of multiple active devices. (Or even better,
6159         if stuff like that gets moved out from NM).
6160
6161         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
6162         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
6163         instead.
6164
6165         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
6166         devices like serial devices (ttyS0 and ppp0 for example).
6167         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
6168         set.
6169         (nm_device_set_ip_iface): Implement.
6170         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
6171         after setting ip4_config from here ...
6172         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
6173         than this function should call nm_system_device_set_from_ip4_config() because no
6174         other code has enough information on which arguments to use. So instead, other code
6175         could just set the new ip4 config using this function and everyone is happy.
6176
6177         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
6178         if we happen to get deactivated while something is pending.
6179         (automatic_registration): Handle the response that indicates pending network
6180         registration and wait until the pending registration is done.
6181         (real_deactivate_quickly): If there's a pending operation, cancel it.
6182
6183         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
6184         (real_deactivate_quickly): ... and remove it when it's down.
6185         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
6186         it if needed.
6187         (nm_serial_device_wait_for_reply): Ditto.
6188
6189 2007-12-05  Tambet Ingo  <tambet@gmail.com>
6190
6191         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
6192         (get_network_done): Remove newline, nm_info() does it already.
6193         (real_act_stage1_prepare): Turn the modem echo off.
6194
6195         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
6196         device, set the route to the device interface. This is a hack.
6197
6198         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
6199         return, no need for a new-line.
6200         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
6201         Change the device iface here (ugh).
6202         (real_act_stage4_get_ip4_config): Implement.
6203         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
6204         Restore the device iface.
6205
6206         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
6207         device is not wired or wireless (eg, automatically upped) device.
6208
6209         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
6210         it isn't.
6211         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
6212
6213         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6214         before calling it's is_device_fn().
6215
6216 2007-12-05  Dan Williams  <dcbw@redhat.com>
6217
6218         * libnm-util/nm-utils.c
6219                 - (nm_utils_register_value_transformations,
6220                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6221                         GHashTables of GValues too
6222
6223 2007-12-04  Dan Williams  <dcbw@redhat.com>
6224
6225         * initscript/RedHat/NetworkManager.in
6226                 - No longer start named; it's D-Bus interface is going away
6227
6228 2007-12-04  Dan Williams  <dcbw@redhat.com>
6229
6230         Patch from Michael Biebl <biebl@debian.org>
6231
6232         * system-settings/plugins/ifcfg/Makefile.am
6233           system-settings/src/main.c
6234           system-settings/src/Makefile.am
6235                 - Put system settings plugins in NM plugins dir
6236
6237         * src/ppp-manager/Makefile.am
6238           src/ppp-manager/nm-ppp-manager.c
6239                 - Move pppd plugin to NM plugins dir
6240
6241 2007-12-04  Dan Williams  <dcbw@redhat.com>
6242
6243         * libnm-util/nm-setting-vpn-properties.h
6244                 - Clarify usage of the 'data' member of the setting
6245
6246         * libnm-util/nm-setting-vpn-properties.c
6247                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
6248                 - (set_property): just remove all the settings; don't recreate the has
6249                 - (update_one_secret): don't need to create the hash table here since
6250                         it should always be present
6251
6252 2007-12-03  Tambet Ingo  <tambet@gmail.com>
6253
6254         Implement PIN and PUK requesting.
6255
6256         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
6257         (enter_pin): Handle PIN and PUK requests.
6258         (real_act_stage1_prepare): Clear the secret type.
6259         (real_connection_secrets_updated): Implement this class method to get
6260         notified when new secrets arrive.
6261         (nm_umts_device_class_init): Add private data back to the umts device class
6262         to store the required secret type.
6263
6264 2007-12-01  Dan Williams  <dcbw@redhat.com>
6265
6266         * system-settings/plugins/ifcfg/parser.c
6267                 - (parser_parse_file): don't try to verify NULL connections
6268
6269 2007-12-01  Dan Williams  <dcbw@redhat.com>
6270
6271         * system-settings/src/main.c
6272                 - (load_connections, add_connection_to_settings): actually export
6273                         plugin-provided connections over D-Bus so NM can get them
6274
6275 2007-12-01  Dan Williams  <dcbw@redhat.com>
6276
6277         * system-settings/plugins/ifcfg/parser.c
6278           system-settings/plugins/ifcfg/parser.h
6279           system-settings/plugins/ifcfg/plugin.c
6280                 - Hook up more inotify bits (untested)
6281
6282 2007-11-29  Dan Williams  <dcbw@redhat.com>
6283
6284         * system-settings/src/nm-system-config-interface.h
6285           system-settings/src/nm-system-config-interface.c
6286                 - (nm_system_config_interface_init,
6287                    nm_system_config_interface_get_connections): add
6288
6289         * system-settings/src/main.c
6290                 - (load_plugins, load_connections, main): use a GSList for plugins
6291                         to ensure priority ordering
6292
6293         * system-settings/plugins/ifcfg/parser.c
6294                 - (ifcfg_error_quark): move to plugin.c, and rename
6295
6296         * system-settings/plugins/ifcfg/plugin.h
6297           system-settings/plugins/ifcfg/plugin.c
6298                 - (ifcfg_plugin_error_quark): move here from parser.c
6299                 - rework connection loading and initialization
6300                 - Add preliminary inotify support for network profile config file
6301
6302 2007-11-28  Tambet Ingo  <tambet@gmail.com>
6303
6304         Merge the beginnings of the new GSM card support.
6305
6306         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
6307         ppp watch source before killing pppd - If this happens from g_object_unref()
6308         then the ppp manager is already destroyed by the time the watch callback runs.
6309
6310         * src/nm-hal-manager.c: Add a device_type_name string to the device
6311         creators, so that we can print a nice human readable string when a
6312         device is added.
6313
6314         * src/nm-umts-device.c (automatic_registration_get_network): Query
6315         for the activated network, not much is done with the result thought.
6316
6317         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
6318         (ppp_ip4_config): Change the device state to activated here for now.
6319         (real_check_connection): Make sure the connection includes ppp setting.
6320
6321         * libnm-glib/nm-client.c (get_device): Handle umts devices.
6322
6323         * libnm-glib/Makefile.am: Add the new files to build.
6324
6325         * libnm-glib/nm-umts-device.c: 
6326         * libnm-glib/nm-umts-device.h: Implement.
6327
6328 2007-11-26  Tambet Ingo  <tambet@gmail.com>
6329
6330         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
6331         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
6332
6333         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
6334         the timeout source - this function is only called when the timeout source has
6335         been removed.
6336         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
6337         to be big enough to contain the terminating zero element as well.
6338         The timeout argument is meant to be in seconds now.
6339         (real_deactivate_quickly): Implement.
6340
6341         * src/NetworkManager.conf: Allow root to own 
6342         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
6343
6344         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
6345         (not unsigned ints).
6346
6347         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
6348         small issue with parity bounds - capital letters have lower ascii codes
6349         than lower case letters.
6350
6351         * libnm-util/nm-connection.c (register_default_settings): Register serial
6352         and umts settings.
6353
6354 2007-11-22  Tambet Ingo  <tambet@gmail.com>
6355
6356         Remove the "index" property from devices as not all device types have this.
6357
6358         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
6359
6360         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
6361         (wired_device_creator): Get the device interface from hal to create the device.
6362         (wireless_device_creator): Ditto.
6363
6364         * src/nm-device.c (nm_device_init): Remove the index member.
6365         (constructor): Remove the checks for index property, make interface property
6366         a require constructor property.
6367         Use the HAL udi for DBus path for devices.
6368         (nm_device_get_index): Remove.
6369         (set_property): Remove index handling.
6370         (get_property): Ditto.
6371         (nm_device_get_dbus_path): Remove.
6372
6373         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
6374         property.
6375
6376         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
6377         Access the device index through it's interface.
6378         (nm_device_802_3_ethernet_link_deactivated): Ditto.
6379         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
6380         index argument. Add interface argument.
6381
6382         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
6383         the useless test_dev argument. Remove index argument. Add interface arugment.
6384
6385         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
6386         device index through interface.
6387         (nm_system_set_mtu): Ditto.
6388
6389         * introspection/nm-device.xml: Remove the "Index" property.
6390
6391 2007-11-21  Tambet Ingo  <tambet@gmail.com>
6392
6393         * src/nm-serial-device.c: 
6394         * src/nm-serial-device.c: 
6395         * src/nm-umts-device.c:
6396         * src/nm-umts-device.h: Implement.
6397
6398         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
6399         allocated by libhal.
6400         (modem_device_creator): Implement.
6401         (register_built_in_creators): Register the modem creator.
6402
6403         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
6404         Remove the unused test_dev argument.
6405
6406         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
6407
6408         * src/Makefile.am: Add new files to build.
6409         Link in ppp-manager.
6410
6411         * libnm-util/nm-setting-umts.c: 
6412         * libnm-util/nm-setting-umts.h: 
6413         * libnm-util/nm-setting-serial.c: 
6414         * libnm-util/nm-setting-serial.h: Implement.
6415
6416         * libnm-util/Makefile.am: Add new files to build.
6417
6418 2007-11-28  Dan Williams  <dcbw@redhat.com>
6419
6420         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
6421
6422         Support DHCP-provided static routes.
6423
6424         * src/nm-ip4-config.h
6425           src/nm-ip4-config.c
6426                 - Add get/set functions for static routes
6427
6428         * src/dhcp-manager/nm-dhcp-manager.c
6429                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
6430                         DHCP response
6431
6432         * src/NetworkManagerSystem.c
6433                 - (nm_system_device_set_from_ip4_config): set any static routes on the
6434                         interface when applying the IP4Config
6435
6436 2007-11-28  Dan Williams  <dcbw@redhat.com>
6437
6438         * src/nm-device-802-11-wireless.c
6439                 - (real_act_stage1_prepare): mark APs created for hidden networks
6440                         as non-broadcasting
6441
6442 2007-11-27  Dan Williams  <dcbw@redhat.com>
6443
6444         * system-settings/src/nm-system-config-interface.h
6445                 - Note how to store secrets on NMSetting objects
6446
6447         * system-settings/src/dbus-settings.c
6448                 - (connection_settings_get_secrets): implement
6449
6450 2007-11-27  Dan Williams  <dcbw@redhat.com>
6451
6452         * system-settings/plugins/ifcfg/Makefile.am
6453           system-settings/plugins/ifcfg/parser.c
6454           system-settings/plugins/ifcfg/parser.h
6455           system-settings/plugins/ifcfg/plugin.c
6456                 - Parse wireless connections too
6457
6458         * system-settings/src/dbus-settings.c
6459           system-settings/src/dbus-settings.h
6460           system-settings/src/main.c
6461                 - Handle connection update/removal if the plugin supports it
6462
6463 2007-11-27  Dan Williams  <dcbw@redhat.com>
6464
6465         * src/nm-dbus-manager.h
6466           src/nm-hal-manager.c
6467                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
6468                         do it for them
6469
6470         * src/Makefile.am
6471           src/NetworkManagerDbusUtils.c
6472           src/NetworkManagerDbusUtils.h
6473                 - Remove these two source files; they are unused
6474
6475 2007-11-27  Dan Williams  <dcbw@redhat.com>
6476
6477         * src/vpn-manager/nm-vpn-manager.c
6478                 - (impl_vpn_manager_connect): fix system settings check (found by
6479                         James M. Leddy)
6480
6481 2007-11-26  Dan Williams  <dcbw@redhat.com>
6482
6483         * Fix warnings so everything compiles with --enable-more-warnings
6484
6485 2007-11-25  Dan Williams  <dcbw@redhat.com>
6486
6487         * system-settings/*
6488                 - Rework structure and code to use GModule-loaded plugins and a plugin
6489                         interface that plugins export to the system settings service
6490
6491 2007-11-21  Dan Williams  <dcbw@redhat.com>
6492
6493         * system-settings/*
6494                 - Add Soren's system settings service.  Needs work for distros other
6495                         than Fedora; the backends from NM should mostly migrate to here
6496                         and be converted to GObjects
6497
6498 2007-11-21  Dan Williams  <dcbw@redhat.com>
6499
6500         * libnm-util/nm-setting-vpn-properties.c
6501                 - (set_property): must deep-copy the given settings hash, otherwise
6502                         double-free errors occur when the setting is disposed of
6503
6504 2007-11-21  Dan Williams  <dcbw@redhat.com>
6505
6506         * src/vpn-manager/nm-vpn-act-request.h
6507           src/vpn-manager/nm-vpn-act-request.c
6508                 - Remove; unused
6509
6510 2007-11-20  Dan Williams  <dcbw@redhat.com>
6511
6512         * libnm-util/nm-utils.c
6513                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
6514                    nm_utils_convert_ip4_addr_struct_array_to_string,
6515                    nm_utils_register_value_transformations): print out the readable
6516                         values of more types of properties of NMSettings subclasses
6517
6518 2007-11-20  Dan Williams  <dcbw@redhat.com>
6519
6520         * libnm-util/nm-setting-ip4-config.c
6521                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
6522                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
6523                         marshal GValueArrays inside collections, so switch to types that it
6524                         can actually marshal/demarshal
6525
6526 2007-11-16  Dan Williams  <dcbw@redhat.com>
6527
6528         * libnm-util/nm-setting-wireless-security.c
6529                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
6530                         minimal verification of EAP methods too
6531                 - (verify): verify phase1 eap methods too
6532
6533 2007-11-15  Dan Williams  <dcbw@redhat.com>
6534
6535         * libnm-glib/nm-device.h
6536           libnm-glib/nm-device.c
6537                 - (nm_device_get_product, nm_device_get_vendor): should be returning
6538                         const char *
6539
6540 2007-11-15  Dan Williams  <dcbw@redhat.com>
6541
6542         * libnm-glib/nm-device.c
6543                 - (get_product_and_vendor): don't try to free things that should be
6544                         freed
6545
6546 2007-11-15  Dan Williams  <dcbw@redhat.com>
6547
6548         * src/NetworkManagerUtils.c
6549                 - (nm_ethernet_address_is_valid): unbreak previous fix
6550
6551 2007-11-15  Dan Williams  <dcbw@redhat.com>
6552
6553         * src/supplicant-manager/nm-supplicant-config.c
6554                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
6555                         options
6556
6557 2007-11-15  Dan Williams  <dcbw@redhat.com>
6558
6559         * src/NetworkManagerUtils.c
6560                 - (nm_ethernet_address_is_valid): fix style, clarify
6561                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
6562
6563         * src/nm-device-802-11-wireless.c
6564                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
6565                 - (nm_device_802_11_wireless_get_ssid,
6566                    nm_device_802_11_wireless_get_bssid,
6567                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
6568                         before calling the ioctl; fixes valgrind-reported jump depends on
6569                         uninitialized value errors
6570
6571 2007-11-15  Dan Williams  <dcbw@redhat.com>
6572
6573         * libnm-util/nm-setting.c
6574                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
6575                         unecessary to serialize 'name'
6576
6577         * src/nm-activation-request.c
6578                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
6579                         the GetSecrets call
6580
6581 2007-11-15  Dan Williams  <dcbw@redhat.com>
6582
6583         * libnm-util/nm-setting-connection.h
6584           libnm-util/nm-setting-connection.c
6585                 - Rename the 'name' property to 'id', because it conflicted with the
6586                         NMSetting superclass' 'name' property.
6587
6588         * libnm-util/nm-setting.c
6589                 - (nm_setting_to_hash): serialize the 'name' property
6590                 - (one_property_cb): ignore 'name' on deserialization of a connection
6591
6592         * src/nm-device-802-11-wireless.c
6593           src/vpn-manager/nm-vpn-connection.c
6594           src/NetworkManagerPolicy.c
6595                 - Fix up for NMSettingConnection 'name'->'id' changes
6596
6597 2007-11-13  Dan Williams  <dcbw@redhat.com>
6598
6599         * libnm-glib/nm-device-802-11-wireless.h
6600           libnm-glib/nm-device-802-11-wireless.c
6601                 - (nm_device_802_11_wireless_get_hw_address): return should be const
6602
6603         * test/nm-tool.c
6604           libnm-glib/libnm-glib-test.c
6605                 - Fixes for above change
6606
6607 2007-11-12  Dan Williams  <dcbw@redhat.com>
6608
6609         * src/supplicant-manager/nm-supplicant-settings-verify.c
6610                 - Allow fragment_size option
6611
6612         * src/supplicant-manager/nm-supplicant-settings-verify.c
6613                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
6614                         EAP fragment size than the default to help some TLS connections
6615
6616 2007-11-12  Dan Williams  <dcbw@redhat.com>
6617
6618         Make certs actually work.  The private key is now a secret, and should be
6619         decrypted when requested by NM.  The private key and phase2 private key
6620         passwords are no longer interesting to NM because they should be used by
6621         the settings service to decrypt the private key itself before passing it
6622         to NM, and hence have been removed as fields.
6623
6624         * libnm-util/nm-setting-wireless-security.h
6625           libnm-util/nm-setting-wireless-security.c
6626                 - Remove private-key-passwd and phase2-private-key-passwd from
6627                         properties
6628                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
6629                    need_secrets): use property #defines instead strings to keep things
6630                         consistent
6631                 - (need_secrets_tls): if a client certificate is present but no
6632                         private key, request the private key
6633                 - (set_property, get_property, nm_setting_wireless_security_class_init):
6634                         remove private key password stuff, mark private keys as secret
6635
6636         * src/supplicant-manager/nm-supplicant-settings-verify.c
6637                 - Remove private_key_passwd and private_key2_passwd from opt_table
6638
6639 2007-11-09  Dan Williams  <dcbw@redhat.com>
6640
6641         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
6642         Since the vpn-properties are managed and known by the VPN daemons themselves,
6643         libnm-util doesn't know what's secret and what's in the setting's 'data'
6644         member.
6645
6646         * libnm-util/nm-setting.h
6647           libnm-util/nm-setting.c
6648                 - Add the ability for subclasses to override update_one_secret
6649
6650         * libnm-util/nm-setting-vpn-properties.c
6651                 - Override update_one_secret and just copy the values into the
6652                         internal table
6653
6654 2007-11-09  Dan Williams  <dcbw@redhat.com>
6655
6656         * libnm-glib/nm-settings.h
6657           libnm-glib/nm-settings.c
6658                 - (nm_settings_new_error): remove
6659                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
6660                         clients should use g_set_error() with NM_SETTINGS_ERROR
6661
6662 2007-11-09  Dan Williams  <dcbw@redhat.com>
6663
6664         * src/supplicant-manager/nm-supplicant-config.c
6665                 - (nm_supplicant_config_add_setting_wireless_security): private key
6666                         passwords are never sent to wpa_supplicant, because the supplicant
6667                         should never be reading random files from the disk.  Clients like
6668                         the applet are required to decrypt the private keys and send NM
6669                         the decrypted blobs.
6670
6671 2007-11-08  Dan Williams  <dcbw@redhat.com>
6672
6673         * libnm-util/nm-setting-wireless-security.h
6674           libnm-util/nm-setting-wireless-security.c
6675                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
6676                         members to 802-11-wireless-security structure.  This should be used
6677                         to indicate that the values in private-key and phase2-private-key
6678                         are already decrypted by the user agent, and that no
6679                         private-key-passwd or phase2-private-key-passwd should be expected.
6680                         It is not meant to be a stored configuration value, but meant to
6681                         be set when the conneciton is sent to NM over dbus.
6682
6683 2007-11-08  Dan Williams  <dcbw@redhat.com>
6684
6685         * libnm-util/nm-connection.h
6686           libnm-util/nm-connection.c
6687                 - (nm_connection_need_secrets): add argument to return hints
6688
6689         * src/nm-device-802-11-wireless.c
6690                 - (link_timeout_cb, supplicant_connection_timeout_cb,
6691                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
6692                         nm_connection_need_secrets() change
6693
6694 2007-11-07  Tambet Ingo  <tambet@gmail.com>
6695
6696         Rework NMSetting structures: Move each setting to it's own file.
6697         Convert to GObject. Remove home grown setting types and use GTypes.
6698         Use GObject property introspection for hash conversion, enumerating
6699         properties, etc.
6700
6701         * libnm-util/nm-setting-connection.[ch]
6702         * libnm-util/nm-setting-ip4-config.[ch]
6703         * libnm-util/nm-setting-ppp.[ch]
6704         * libnm-util/nm-setting-vpn.[ch]
6705         * libnm-util/nm-setting-vpn-properties.[ch]
6706         * libnm-util/nm-setting-wired.[ch]
6707         * libnm-util/nm-setting-wireless.[ch]
6708         * libnm-util/nm-setting-wireless-security.[ch]
6709
6710         New files, each containing a setting.
6711
6712         * libnm-util/nm-setting-template.[ch]: A template for creating new
6713         settings. To use it, just replace 'template' with the new setting
6714         name, and you're half-way done.
6715
6716         * libnm-util/nm-setting.c: Convert to GObject and use GObject
6717         introspection instead of internal types and tables.
6718
6719         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
6720
6721         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
6722         GValue types defined by dbus-glib for composed types like collections,
6723         structures and maps.
6724
6725         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
6726         a setting from connection takes the setting type now. Also, since
6727         the settings are in multiple files, include relevant settings.
6728
6729 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
6730
6731         * configure.in:
6732         * src/backends/NetworkManagerGentoo.c:
6733         (nm_system_restart_mdns_responder): Implement restarts for other mdns
6734         providers in Gentoo.
6735
6736 2007-10-31  Dan Williams  <dcbw@redhat.com>
6737
6738         * libnm-util/nm-connection.c
6739                 - (gvalue_to_string): handle UINT32 arrays
6740
6741 2007-10-31  Dan Williams  <dcbw@redhat.com>
6742
6743         * libnm-glib/nm-device.h
6744           libnm-glib/nm-device.c
6745                 - (nm_device_get_description): remove
6746                 - (nm_device_get_product, nm_device_get_vendor): add
6747                 - (nm_device_update_description): new function (private); walk HAL
6748                         devices to get product and vendor IDs for a specific device
6749
6750 2007-10-31  Dan Williams  <dcbw@redhat.com>
6751
6752         * src/nm-device-802-11-wireless.c
6753                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
6754
6755 2007-10-29  Dan Williams  <dcbw@redhat.com>
6756
6757         * src/nm-hal-manager.c
6758                 - (device_added, device_new_capability): ignore device additions while
6759                         asleep.  Fixes crash caused when NM goes to sleep, a network device
6760                         kernel module is unloaded and reloaded and recognized by NM again.
6761
6762 2007-10-26  Dan Williams  <dcbw@redhat.com>
6763
6764         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
6765
6766         * src/NetworkManagerAP.c
6767           src/NetworkManagerAP.h
6768           libnm-glib/nm-access-point.c
6769           libnm-glib/nm-access-point.h
6770                 - Make 'rate' property a guint32 to better match with WEXT and
6771                         wpa_supplicant and to allow representation of higher bitrates
6772
6773         * src/nm-device-802-11-wireless.c
6774           introspection/nm-device-802-11-wireless.xml
6775           libnm-glib/nm-device-802-11-wireless.c
6776           libnm-glib/nm-device-802-11-wireless.h
6777                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
6778
6779         * src/nm-device-802-3-ethernet.c
6780           src/nm-device-802-3-ethernet.h
6781           introspection/nm-device-802-3-ethernet.xml
6782           libnm-glib/nm-device-802-3-ethernet.c
6783           libnm-glib/nm-device-802-3-ethernet.h
6784                 - Make 'speed' property a guint32 to match other speed/rate types
6785                 - Make nm_device_802_3_ethernet_get_speed() static
6786
6787         * test/nm-tool.c
6788                 - Update for the changes above
6789
6790 2007-10-26  Dan Williams  <dcbw@redhat.com>
6791
6792         * src/named-manager/nm-named-manager.c
6793                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
6794                     not calling fclose() twice on some error conditions
6795
6796 2007-10-26  Dan Williams  <dcbw@redhat.com>
6797
6798         * src/nm-activation-request.c
6799                 - (dispose): clean up indentation; get the right DBusGProxy object to
6800                         cancel the GetSecrets pending call on.  Need to use the Secrets
6801                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
6802                         pending call doesn't get canceled, and pressing Cancel in the
6803                         applet's password dialog could cause get_secrets_cb() to be called
6804                         after the activation request has already been destroyed
6805
6806 2007-10-24  Dan Williams  <dcbw@redhat.com>
6807
6808         * src/supplicant-manager/nm-supplicant-config.c
6809                 - (nm_supplicant_config_add_blob): pass blob data and length for
6810                         verification
6811                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
6812
6813 2007-10-24  Dan Williams  <dcbw@redhat.com>
6814
6815         * src/supplicant-manager/nm-supplicant-settings-verify.c
6816                 - (opt_table): max length for certificates should be 65536
6817
6818 2007-10-24  Dan Williams  <dcbw@redhat.com>
6819
6820         * src/supplicant-manager/nm-supplicant-interface.c
6821                 - (blob_free): correctly free blob data after use
6822                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
6823
6824 2007-10-24  Dan Williams  <dcbw@redhat.com>
6825
6826         * libnm-util/nm-setting.c
6827                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
6828                         EAP method need secrets
6829
6830 2007-10-24  Dan Williams  <dcbw@redhat.com>
6831
6832         * src/backends/NetworkManagerRedHat.c
6833                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
6834
6835 2007-10-23  Dan Williams  <dcbw@redhat.com>
6836
6837         * libnm-util/nm-setting.c
6838           libnm-util/nm-setting.c
6839                 - (nm_setting_compare): implement
6840                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
6841                    compare_one_hash_gvalue): compare the contents of a setting
6842
6843         * libnm-util/nm-connection.c
6844                 - (nm_connection_compare): implement
6845
6846 2007-10-23  Dan Williams  <dcbw@redhat.com>
6847
6848         * src/nm-activation-request.c
6849                 - (get_secrets_cb): handle getting a setting back that is more than
6850                         just secrets (ie, user changed auth or EAP method or something)
6851
6852 2007-10-23  Dan Williams  <dcbw@redhat.com>
6853
6854         * libnm-util/nm-setting.c
6855           libnm-util/nm-setting.h
6856                 - (nm_setting_verify): new function; verify one setting
6857                 - (nm_settings_verify_all): rename from nm_settings_verify()
6858                 - (setting_connection_verify, setting_wireless_verify): allow NULL
6859                         all_settings
6860
6861         * libnm-util/nm-connection.c
6862                 - (nm_connection_replace_settings, nm_connection_verify,
6863                    nm_connection_new_from_hash): handle nm_settings_verify() rename
6864
6865 2007-10-23  Dan Williams  <dcbw@redhat.com>
6866
6867         * src/nm-device-802-11-wireless.c
6868                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
6869                         desired behavior
6870
6871 2007-10-23  Dan Williams  <dcbw@redhat.com>
6872
6873         * src/supplicant-manager/nm-supplicant-settings-verify.c
6874                 - eap_allowed, phase2_allowed: harmonize with allowed values from
6875                         nm-settings.c
6876
6877 2007-10-23  Dan Williams  <dcbw@redhat.com>
6878
6879         * src/nm-device-802-11-wireless.c
6880                 - (real_act_stage2_config): after the first association failure,
6881                         if the connection still needs secrets ask the user for them
6882                         explicitly.  After the fourth association failure due to bad
6883                         secrets, fail the connection entirely.  Handles the GetSecrets
6884                         loop that NM gets into when the provided secrets don't match up
6885                         with the connection details.
6886
6887 2007-10-23  Dan Williams  <dcbw@redhat.com>
6888
6889         * src/supplicant-manager/nm-supplicant-config.c
6890                 - (nm_supplicant_config_add_setting_wireless_security): only add
6891                         WPA-specific options when WPA is in use
6892
6893 2007-10-23  Dan Williams  <dcbw@redhat.com>
6894
6895         * src/supplicant-manager/nm-supplicant-config.c
6896                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
6897                         secret doesn't need to be unhexified
6898
6899 2007-10-23  Dan Williams  <dcbw@redhat.com>
6900
6901         * libnm-util/nm-setting.c
6902                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
6903                         before trying to do something with it
6904
6905 2007-10-23  Dan Williams  <dcbw@redhat.com>
6906
6907         * src/nm-device-802-11-wireless.c
6908                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
6909
6910 2007-10-23  Dan Williams  <dcbw@redhat.com>
6911
6912         * src/nm-device-802-11-wireless.c
6913                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
6914                         non-SSID-broadcasting APs
6915
6916 2007-10-23  Dan Williams  <dcbw@redhat.com>
6917
6918         * src/NetworkManagerAP.c
6919                 - (match_cipher, security_compatible): remove
6920                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
6921                         libnm-util instead
6922
6923 2007-10-23  Dan Williams  <dcbw@redhat.com>
6924
6925         * libnm-util/nm-utils.c
6926           libnm-util/nm-utils.h
6927                 - (nm_utils_ap_security_compatible): common function for checking
6928                         whether a specific AP is compatible with an NMConnection
6929
6930 2007-10-23  Dan Williams  <dcbw@redhat.com>
6931
6932         * libnm-util/nm-setting.c
6933                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
6934                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
6935                    need_secrets_password, setting_wireless_security_verify): fix
6936                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
6937                         secrets logic for each supported EAP method
6938
6939 2007-10-23  Dan Williams  <dcbw@redhat.com>
6940
6941         * src/supplicant-manager/nm-supplicant-config.c
6942                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
6943                         config option name, should be "private_key2_passwd"
6944
6945 2007-10-22  Tambet Ingo  <tambet@gmail.com>
6946
6947         Implement support for static IP addresses, additional/overridden DNS and
6948         DNS domain search lists.
6949
6950         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
6951         (ip4_addresses_to_gvalue): Implement.
6952         (convert_array_to_byte_array): Implement.
6953         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
6954         NM_S_TYPE_IP4_ADDRESSES.
6955         (nm_setting_hash): Ditto.
6956         (default_setting_clear_secrets): Add a default case for the switch: IP address
6957         shouldn't be secret, ever.
6958         (setting_ip4_config_verify): Update, requires addresses in case of manual
6959         configurations.
6960         (setting_ip4_config_destroy): Free stuff.
6961
6962         * src/nm-device.c (merge_ip4_config): Implement.
6963         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
6964
6965 2007-10-22  Dan Williams  <dcbw@redhat.com>
6966
6967         * libnm-util/nm-setting.c
6968                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
6969                         pairwise cipher options for Dynamic WEP
6970
6971 2007-10-21  Dan Williams  <dcbw@redhat.com>
6972
6973         * src/NetworkManagerAP.c
6974           src/NetworkManagerAP.h
6975                 - Rename 'articifical' -> 'fake' since that's what they are until
6976                         noticed in scans
6977                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
6978                         from the attributes in an NMConnection object
6979                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
6980                         WPA Enterprise
6981                 - (nm_ap_match_in_list): find a matching AP in a scan list
6982
6983         * src/nm-device-802-11-wireless.c
6984                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
6985                         AP when searching the scan list; match on frequency and mode too
6986                 - (nm_device_802_11_wireless_get_frequency): implement
6987                 - (merge_scanned_ap): replace duplicate matching logic with
6988                         nm_ap_match_in_list()
6989                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
6990                         the user is trying to connect to a hidden network that is not yet
6991                         known from the scan list
6992                 - (activation_success_handler): now that the card knows the AP's BSSID,
6993                         there may already be a scanned AP in the scan list that is what
6994                         we really wanted to connect to, but didn't know at the time.  Use
6995                         that instead of the 'fake' AP created at activation start and get
6996                         rid of the 'fake' AP 
6997                 - (cull_scan_list): don't remove fake APs
6998
6999 2007-10-21  Dan Williams  <dcbw@redhat.com>
7000
7001         * src/nm-activation-request.h
7002           src/nm-activation-request.c
7003                 - (nm_act_request_set_specific_object): new function; allow setting the
7004                         specific object if one isn't set yet
7005
7006 2007-10-20  Dan Williams  <dcbw@redhat.com>
7007
7008         * src/supplicant-manager/nm-supplicant-config.h
7009           src/supplicant-manager/nm-supplicant-config.c
7010                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
7011                         table to store blobs
7012                 - (nm_supplicant_config_add_blob): new function; add blob to internal
7013                         blob hash table
7014                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
7015                 - (nm_supplicant_config_add_setting_wireless_security): handle
7016                         options that use certificates (ie, blobs)
7017
7018         * src/nm-device-802-11-wireless.c
7019                 - (build_supplicant_config): pass a UID (just use the connection path)
7020                         to the supplicant config as now required
7021
7022         * src/supplicant-manager/nm-supplicant-interface.c
7023                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
7024                         there are any blobs to send to wpa_supplicant, send those first
7025                         before sending the network configuration
7026
7027 2007-10-19  Dan Williams  <dcbw@redhat.com>
7028
7029         Split the GetSecrets() call off to a separate D-Bus interface so that it
7030         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
7031         should be able to call GetSecrets().
7032
7033         * include/NetworkManager.h
7034                 - Define the connection secrets D-Bus interface
7035
7036         * src/vpn-manager/nm-vpn-connection.c
7037                 - (clear_need_auth): get the right proxy object for the connection
7038                         secrets interface
7039                 - (get_connection_secrets): use the connection secrets proxy; send
7040                         empty hints in get secrets request
7041
7042         * src/nm-activation-request.c
7043                 - (nm_act_request_request_connection_secrets): use the connection
7044                         secrets proxy; send empty hints in get secrets request
7045
7046         * src/nm-manager.c
7047           src/nm-manager.h
7048                 - (connection_get_settings_cb): set the connection secrets proxy on
7049                         the connection object too
7050                 - (internal_new_connection_cb): create the connection secrets proxy
7051
7052         * introspection/nm-settings-connection.xml
7053                 - Define Connection.Secrets interface and move GetSecrets there
7054                 - Add a 'hints' argument to GetSecrets
7055
7056         * libnm-glib/nm-settings.c
7057           libnm-glib/nm-settings.h
7058                 - (impl_connection_settings_get_secrets): add 'hints' argument
7059
7060 2007-10-19  Dan Williams  <dcbw@redhat.com>
7061
7062         * src/nm-device.c
7063                 - (constructor): add message about what path a device is exported as
7064                         to help in debugging rh #339011
7065
7066 2007-10-17  Dan Williams  <dcbw@redhat.com>
7067
7068         * libnm-util/nm-utils.h
7069           libnm-util/nm-utils.c
7070                 - (nm_utils_security_valid): common function to help find the intersection
7071                         of capabilities of devices and (optionally) access points
7072
7073 2007-10-17  Dan Williams  <dcbw@redhat.com>
7074
7075         * src/nm-device-802-11-wireless.c
7076                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
7077                         don't get erroneously cleared
7078
7079 2007-10-17  Dan Williams  <dcbw@redhat.com>
7080
7081         * src/nm-manager.h
7082           src/nm-manager.c
7083           src/nm-hal-manager.c
7084                 - (device_removed, finalize, nm_manager_remove_device,
7085                    nm_manager_sleep): add a 'deactivate' argument to 
7086                    nm_manager_remove_device() to fully deactivate devices when necessary
7087                    (ie, always except when waking up)
7088
7089 2007-10-16  Dan Williams  <dcbw@redhat.com>
7090
7091         * libnm-util/nm-setting.c
7092                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
7093                         also isn't valid phase2 autheap method
7094
7095 2007-10-16  Dan Williams  <dcbw@redhat.com>
7096
7097         * libnm-glib/nm-client.c
7098                 - (update_wireless_status): consolidate updates of wireless status
7099                 - (constructor): use update_wireless_status()
7100                 - (manager_running): set wireless status off when NM goes away; requery
7101                         the wireless status when NM comes back
7102
7103 2007-10-16  Dan Williams  <dcbw@redhat.com>
7104
7105         * libnm-glib/nm-client.c
7106                 - (nm_client_activate_device): actually use the fixed-up specific
7107                         object path
7108
7109 2007-10-16  Dan Williams  <dcbw@redhat.com>
7110
7111         * src/nm-hal-manager.c
7112                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
7113                         killswitch error messages once
7114
7115 2007-10-16  Dan Williams  <dcbw@redhat.com>
7116
7117         * src/nm-manager.c
7118                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
7119                         if it's disabled in hardware; don't touch network devices while
7120                         NM is asleep
7121
7122 2007-10-16  Dan Williams  <dcbw@redhat.com>
7123
7124         * libnm-util/nm-client.c
7125                 - (nm_client_activate_device): convert NULL specific_object to "/",
7126                         which is used in place of NULL
7127
7128         * src/nm-manager.c
7129                 - (impl_manager_activate_device): convert "/" specific_object back into
7130                         NULL
7131
7132 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7133
7134         Implement a generic NMSetting creator from setting name.
7135         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
7136         add a virtual function 'populate_fn'.
7137
7138         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
7139         (register_default_creators): Register setting creators instead of functions
7140         that create and then populate.
7141         (parse_one_setting): Use the common setting creator and then setting specific
7142         poplulation function.
7143
7144         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
7145         they all looked exactly the same.
7146         Add a 'populate_fn' virtual function to NMSetting.
7147         Use default virtual functions in case they are not overriden.
7148         (nm_setting_populate_from_hash): Implement.
7149
7150         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
7151         name, use a defined string.
7152         (real_act_stage4_get_ip4_config): Ditto.
7153
7154 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7155
7156         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
7157         HAL is int, not uint.
7158
7159 2007-10-15  Tambet Ingo  <tambet@gmail.com>
7160
7161         Implement killswitch polling through HAL.
7162
7163         * src/nm-manager.c: Add wireless hardware status property. Add 
7164         'properties-changed' signal for changes in wireless and wireless hardware
7165         state changes.
7166
7167         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
7168         and update NMManager's wireless hardware state when it has changed.
7169         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
7170         already does that.
7171
7172         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
7173         values of wireless state and wireless hardware state. Listen for the
7174         'properties-changed' signals, update the cached values and emit notify.
7175
7176         * include/NetworkManager.h: Fix a typo in a comment.
7177
7178 2007-10-14  Dan Williams  <dcbw@redhat.com>
7179
7180         * libnm-util/nm-setting.c
7181                 - (setting_wireless_security_need_secrets): handle LEAP secrets
7182
7183 2007-10-13  Dan Williams  <dcbw@redhat.com>
7184
7185         * libnm-util/nm-setting.h
7186           libnm-util/nm-setting.c
7187           src/supplicant-manager/nm-supplicant-config.c
7188                 - Make the 'proto' field of the 802-11-wireless-security field a
7189                         string list
7190
7191 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7192
7193         Rework the "properties-changed" signal listening implementation.
7194         Add a generic implementation to NMObject class that listens for
7195         the signal and calls property setters of the target NMObject.
7196
7197         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
7198
7199         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
7200         code to the end of file so that all the static functions are available
7201         without extra declarations.
7202         Remove the "properties-changed" signal handling and use the framework from
7203         NMObject.
7204         Implement property setters for properties that change with 
7205         "properties-changed" signal.
7206
7207         * libnm-glib/nm-access-point.c: Ditto.
7208
7209 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7210
7211         Rework the "properties-changed" signal implementation.
7212         In classes that need to use it, just emit "GObject::notify" and the new
7213         framework takes care of the rest to make the signal available on dbus.
7214         The framework queues the notifications and tries to send as many together
7215         in one signal as possible.
7216
7217         * src/nm-properties-changed-signal.c:
7218         * src/nm-properties-changed-signal.h: Implement.
7219
7220         * src/Makefile.am: Add new files to build.
7221
7222         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7223         signal.
7224
7225         * src/nm-device-802-11-wireless.c: Ditto.
7226
7227 2007-10-10  Dan Williams  <dcbw@redhat.com>
7228
7229         * src/nm-manager.c
7230                 - (wait_for_connection_expired): ensure info is valid
7231                 - (connection_added_default_handler): Should only remove pending
7232                         connection info when the manager has the connection that it's
7233                         waiting for.  Fixes segfault in wait_for_connection_info().  
7234
7235 2007-10-10  Dan Williams  <dcbw@redhat.com>
7236
7237         * libnm-util/nm-setting.c
7238           libnm-util/nm-setting.h
7239                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
7240                         can use if they choose.  Should be filled in by the settings service
7241                         on-the-fly with the currently logged in user's username
7242
7243 2007-10-10  Dan Williams  <dcbw@redhat.com>
7244
7245         * src/nm-device-802-11-wireless.c
7246                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
7247                         as such, because even if the manager fills in the SSID, NM still
7248                         has to indicate to wpa_supplicant that the AP isn't broadcasting
7249                         its SSID
7250
7251 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7252
7253         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
7254         code that used NM's own version of dbus signal handling and custom dictionary
7255         marshalling/unmarshalling. With this change, all that obsolete code can disappear
7256         and we get to maintain over 2000 lines less code.
7257
7258         * libnm-util/dbus-dict-helpers.c:
7259         * libnm-util/dbus-dict-helpers.h: Remove.
7260
7261         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
7262
7263         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
7264
7265         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
7266         handlers.
7267
7268         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
7269
7270         * configure.in: Remove test/libnm-util/Makefile creation.
7271
7272         * test/Makefile.am: Remove libnm-util from SUBDIRS.
7273
7274         * test/libnm-util/: Remove the whole directory.
7275
7276 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7277
7278         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
7279         device_state_changed_idle_id variable or it would contain some random value and the
7280         schedule_change_check calls would not do anything.
7281
7282 2007-10-09  Dan Williams  <dcbw@redhat.com>
7283
7284         * src/nm-device-802-11-wireless.c
7285                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
7286                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
7287                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
7288                         merging of non-SSID-broadcasting APs
7289
7290 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7291
7292         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
7293         "guint8 *" since it's usually used with GByteArray->data.
7294         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
7295
7296 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7297
7298         * src/NetworkManagerUtils.c
7299         (nm_utils_is_empty_ssid):
7300         (nm_utils_escape_ssid):
7301         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
7302         lot of places, so they belong to libnm-utils instead.
7303
7304         Now with 100% less compiler warnings:
7305
7306         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
7307         (nm_dbus_unescape_object_path): Ditto.
7308         (nm_utils_ssid_to_utf8): Ditto.
7309         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
7310         (nm_utils_escape_ssid): Ditto.
7311         (nm_utils_same_ssid): Ditto.
7312
7313         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
7314         (add_one_connection_element): Remove an unused variable.
7315         (impl_manager_get_active_connections): Ditto.
7316
7317         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
7318         variable.
7319
7320         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
7321         from the previous commit.
7322
7323         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
7324         (real_act_stage1_prepare): Ditto.
7325         (activation_success_handler): Ditto.
7326         (get_property): Ditto.
7327
7328         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
7329         variable.
7330
7331         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
7332         it's always set.
7333
7334         * src/supplicant-manager/nm-supplicant-config.c 
7335         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
7336         to expected "char *".
7337         (nm_supplicant_config_add_setting_wireless): Ditto.
7338         (nm_supplicant_config_remove_option): Remove, not used.
7339
7340         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
7341         not double.
7342         (test_wireless_enabled): Ifdef out unused function.
7343         (device_deactivate): Ditto.
7344         (device_state_changed): Ditto.
7345         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
7346         (nm_utils_escape_ssid): Ditto.
7347
7348         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
7349         (nm_utils_is_empty_ssid): Ditto.
7350
7351         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
7352         unused variable.
7353
7354         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
7355         (setting_vpn_properties_update_secrets): Ditto.
7356         (int_to_gvalue): Ifdef out for now, not used.
7357         (byte_to_gvalue): Ditto.
7358
7359         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
7360         Unused, remove.
7361
7362 2007-10-08  Tambet Ingo  <tambet@gmail.com>
7363
7364         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
7365         about dbus manager, not named manager.
7366         Make sure hal_manager and dbus_mgr are created before trying to unreference.
7367
7368         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
7369         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
7370         However, the same signal is emitted when we destroy it and there's 
7371         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
7372
7373         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
7374         releasing the DBusGConnection, since proxy needs a conneciton.
7375         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
7376
7377 2007-10-08  Dan Williams  <dcbw@redhat.com>
7378
7379         * src/NetworkManager.c
7380                 - (main): error on unknown command-line options
7381
7382 2007-10-08  Dan Williams  <dcbw@redhat.com>
7383
7384         Reimplement the invalid connection list.  Don't try to re-activate a
7385         connection that just failed or was canceled.
7386
7387         * src/nm-device.c
7388                 - (connection_secrets_failed_cb): fail device activation, don't just
7389                         deactivate the device.  Listeners have to know about the failure.
7390
7391         * src/NetworkManagerPolicy.c
7392                 - (nm_policy_auto_get_best_device): exclude invalid connections from
7393                         the connection list given to a device's get_best_connection()
7394                         method
7395                 - (device_state_changed): tag failed connections as invalid; clear the
7396                         tag from successful connections
7397
7398 2007-10-08  Dan Williams  <dcbw@redhat.com>
7399
7400         Fix problems with interrupted activation.  Previously, choosing an AP
7401         from the menu, then choosing another one before the first connection was
7402         successful wouldn't deactivate the device before starting the new connection
7403         on that same device.
7404
7405         * src/NetworkManagerPolicy.c
7406                 - (deactivate_old_device, device_state_changed, state_changed,
7407                    nm_policy_new): wrong place to deactivate old devices
7408
7409         * src/nm-manager.c
7410                 - (pending_connection_info_destroy, finalize,
7411                    wait_for_connection_expired): decouple destruction of the pending
7412                         connection info from the manager device
7413                 - (connection_added_default_handler): deactivate any active or
7414                         activating device before starting a new activation
7415                 - (impl_manager_activate_device): deactivate any active or activating
7416                         device before starting a new activation; be sure not to leak
7417                         pending connection info if a new activation request arrives but
7418                         there's already a pending one in-process
7419
7420 2007-10-08  Dan Williams  <dcbw@redhat.com>
7421
7422         * src/NetworkManagerAP.h
7423           src/NetworkManagerAP.c
7424                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
7425                         should handle default SSIDs and whether or not to autoconnect
7426                         to them
7427
7428 2007-10-08  Dan Williams  <dcbw@redhat.com>
7429
7430         * src/NetworkManagerPolicy.c
7431                 - (nm_policy_device_change_check): print out connection name where
7432                         possible
7433
7434 2007-10-08  Dan Williams  <dcbw@redhat.com>
7435
7436         * src/nm-device-802-11-wireless.c
7437           src/nm-device-802-11-wireless.h
7438                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
7439                         'hidden-ap-found' signal (for internal use only) that allows the
7440                         NMManager to fill in the AP's SSID if a connection has that AP's
7441                         BSSID in its seen-bssids list
7442
7443         * src/nm-manager.c
7444                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
7445                         wireless device's hidden-ap-found signal and fill in the APs SSID
7446                         if possible
7447
7448 2007-10-07  Dan Williams  <dcbw@redhat.com>
7449
7450         * src/nm-manager.c
7451           src/nm-manager.h
7452                 - Add a 'connections-added' signal to batch together updates of large
7453                         numbers of connections, like when reading from a settings service
7454                         the first time.  Otherwise, the policy would just activate the first
7455                         suitable connection it saw rather than waiting for the full list
7456                         to arrive.
7457                 - (nm_manager_class_init): register new signal
7458                 - (get_type_for_proxy, connection_get_settings_cb,
7459                    get_connection_for_proxy): centralize places where a proxy's setting
7460                         service is determined
7461                 - (free_get_settings_info): if the call being freed is the last call
7462                         in a pending call group, fire off the connections-added signal
7463                 - (internal_new_connection_cb): add call to a pending call group if
7464                         requested
7465                 - (list_connections_cb): always create a call group here, because this
7466                         call results in a batch of new connections
7467                 - (initial_get_connections): start getting system connections first
7468                 - (nm_manager_connections_destroy, emit_removed): actually emit the
7469                         removed signal when destroying connections
7470
7471         * src/NetworkManagerPolicy.c
7472                 - (nm_policy_new, connections_added): handle connections-added signal
7473                         from the manager
7474
7475 2007-10-06  Dan Williams  <dcbw@redhat.com>
7476
7477         * src/nm-device-802-11-wireless.c
7478                 - (constructor): fix leaked socket
7479
7480 2007-10-06  Dan Williams  <dcbw@redhat.com>
7481
7482         * src/NetworkManagerPolicy.c
7483                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
7484                         connection in the list returned by nm_manager_get_connections() is
7485                         reffed, but they weren't getting unreffed before returning
7486
7487 2007-10-06  Dan Williams  <dcbw@redhat.com>
7488
7489         * src/nm-manager.c
7490                 - (connections_to_slist): sort connections first on autoconnect, then
7491                         on timestamp
7492
7493 2007-10-06  Dan Williams  <dcbw@redhat.com>
7494
7495         * libnm-util/nm-connection.c
7496                 - (gvalue_to_string): handle UINT64
7497
7498 2007-10-06  Dan Williams  <dcbw@redhat.com>
7499
7500         * src/NetworkManagerPolicy.c
7501                 - (connection_updated, nm_policy_new): recheck state when a connection
7502                         gets updated
7503
7504 2007-10-06  Dan Williams  <dcbw@redhat.com>
7505
7506         * src/nm-manager.c
7507           src/nm-manager.h
7508                 - (nm_manager_get_connection_dbus_path): make static
7509                 - (nm_manager_update_connections): remove; unused
7510                 - Add a connection-updated signal
7511                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
7512                         handle connection object updates
7513
7514 2007-10-06  Dan Williams  <dcbw@redhat.com>
7515
7516         * src/NetworkManagerPolicy.c
7517                 - (connection_removed): deactivate removed connections
7518
7519 2007-10-06  Dan Williams  <dcbw@redhat.com>
7520
7521         * libnm-util/nm-connection.c
7522           libnm-util/nm-connection.h
7523                 - (nm_connection_replace_settings): new function
7524
7525 2007-10-06  Dan Williams  <dcbw@redhat.com>
7526
7527         * libnm-glib/nm-device-802-11-wireless.c
7528                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
7529                         on error when getting the active access point over D-Bus from NM
7530
7531 2007-10-05  Dan Williams  <dcbw@redhat.com>
7532
7533         * libnm-util/nm-setting.c
7534                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
7535                         to the NMSettingWireless table; it's now a string array not an array
7536                         of byte arrays
7537
7538 2007-10-05  Dan Williams  <dcbw@redhat.com>
7539
7540         * libnm-glib/nm-device-802-11-wireless.c
7541                 - Cache properties and update cached properties on D-Bus signals from NM
7542
7543 2007-10-05  Dan Williams  <dcbw@redhat.com>
7544
7545         * src/nm-device-802-11-wireless.c
7546                 - (set_current_ap): consolidate current_ap handling code into one place
7547                         to ensure that PropertiesChanged signals are emitted in all cases
7548                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
7549                    nm_device_802_11_wireless_dispose): use set_current_ap()
7550
7551 2007-10-05  Dan Williams  <dcbw@redhat.com>
7552
7553         * libnm-glib/nm-access-point.c
7554           libnm-glib/nm-access-point.h
7555                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
7556                         because the value is cached internally now.  Callers should not
7557                         free the internal value.
7558                 - Make signal name defines private
7559
7560         * test/nm-tool.c
7561           libnm-glib/libnm-glib-test.c
7562                 - Don't free value returned from nm_access_point_get_hw_address()
7563
7564 2007-10-04  Dan Williams  <dcbw@redhat.com>
7565
7566         * introspection/nm-device-802-11-wireless.xml
7567           src/nm-device-802-11-wireless.h
7568           src/nm-device-802-11-wireless.c
7569                 - Add a PropertiesChanged signal for wireless device
7570                 - Store currently associated access point
7571                 - (periodic_update): generalize; update rate here too and emit the
7572                         correct PropertiesChanged signal when stuff changes
7573                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
7574                    real_activation_cancel_handler): clear current_ap when device is
7575                         deactivated
7576                 - (link_to_specific_ap, get_ap_blacklisted,
7577                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
7578                         code
7579                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
7580                         outside this file
7581                 - (real_set_hw_address): emit property changed signal if the card's
7582                         MAC address changes
7583                 - (real_act_stage1_prepare): set the initial current_ap to the AP
7584                         the card is supposed to be connecting to
7585                 - (activation_success_handler): send out property updates on successful
7586                         activation
7587                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
7588                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
7589                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
7590                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
7591                         is now boxed; add PropertiesChanged signal
7592
7593 2007-10-04  Dan Williams  <dcbw@redhat.com>
7594
7595         * libnm-util/nm-connection.c
7596           libnm-util/nm-connection.h
7597                 - (nm_connection_verify): new function
7598
7599 2007-10-04  Dan Williams  <dcbw@redhat.com>
7600
7601         * libnm-util/nm-setting.c
7602                 - (nm_settings_verify): use #defines when possible rather than strings
7603                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
7604                 - (setting_vpn_verify): tighter validity check on 'service_type'
7605
7606 2007-10-04  Dan Williams  <dcbw@redhat.com>
7607
7608         * libnm-glib/nm-settings.c
7609                 - (nm_connection_settings_class_init): provide correct type for argument
7610                         to the Updated signal so that dbus-glib knows how to marshal it
7611
7612 2007-10-03  Dan Williams  <dcbw@redhat.com>
7613
7614         * src/nm-device-802-3-ethernet.c
7615                 - (real_get_best_connection): don't create automatic connections
7616                         internally; clients should provide a setting that applies to
7617                         the device with 'autoconnect: True'.  Problem was that these
7618                         internally auto-created connections don't have a proxy or service
7619                         name becuase they weren't created by a settings daemon, and therefore
7620                         clients have no idea what to do with them.
7621
7622 2007-10-03  Dan Williams  <dcbw@redhat.com>
7623
7624         * src/nm-device-802-11-wireless.c
7625           src/nm-device-802-11-wireless.h
7626           introspection/nm-device-802-11-wireless.xml
7627                 - GetActiveNetworks -> GetAccessPoints
7628                 - ActiveNetwork -> ActiveAccessPoint
7629                 - NetworkAdded -> AccessPointAdded
7630                 - NetowrkRemoved -> AccessPointRemoved
7631
7632         * libnm-glib/nm-device-802-11-wireless.c
7633           libnm-glib/nm-device-802-11-wireless.h
7634                 - network-added signal -> access-point-added
7635                 - network-removed signal -> access-point-removed
7636                 - nm_device_802_11_wireless_get_active_network() ->
7637                         nm_device_802_11_wireless_get_active_access_point()
7638                 - nm_device_802_11_wireless_get_network_by_path() ->
7639                         nm_device_802_11_wireless_get_access_point_by_path()
7640                 - nm_device_802_11_wireless_get_networks() ->
7641                         nm_device_802_11_wireless_get_access_points()
7642
7643         * libnm-glib/libnm-glib-test.c
7644           test/nm-tool.c
7645           src/NetworkManagerPolicy.c
7646                 - Fixups for Network -> AccessPoint
7647
7648 2007-10-03  Dan Williams  <dcbw@redhat.com>
7649
7650         Add a GetActiveConnections() method on the Manager object.
7651
7652         * src/nm-manager.c
7653           src/nm-manager.h
7654           introspection/nm-manager.xml
7655                 - (connection_get_settings_cb): keep connection type around too
7656                 - (impl_manager_get_active_connections, add_one_connection_element):
7657                         implement; returns all active connections and what devices they
7658                         apply to
7659
7660         * libnm-glib/nm-client.c
7661           libnm-glib/nm-client.h
7662           introspection/nm-manager-client.xml
7663                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
7664                         by the caller; free here to avoid memory leak
7665                 - (nm_client_get_active_connections): implement; return the list of
7666                         active connections
7667                 - (nm_client_free_active_connection_element): implement; free an element
7668                         of the GSList returned by nm_client_get_active_connections()
7669
7670 2007-10-03  Dan Williams  <dcbw@redhat.com>
7671
7672         * src/nm-device-802-11-wireless.c
7673                 - (nm_device_802_11_wireless_update_bssid): remove
7674                 - (get_active_ap): new function; find the AP in the scan list which
7675                         matches the current BSSID and SSID of the wireless device
7676                 - (nm_device_802_11_periodic_update): get current AP using
7677                         get_active_ap() and print AP roam messages
7678
7679 2007-10-01  Dan Williams  <dcbw@redhat.com>
7680
7681         * libnm-util/nm-setting.h
7682                 - Add a 'timestamp' option to NMSettingConnection
7683                 - Add a UINT64 type
7684
7685         * libnm-util/nm-setting.c
7686                 - (uint64_to_gvalue): new function
7687                 - (nm_setting_populate_from_hash, nm_setting_hash,
7688                    default_setting_clear_secrets): handle UINT64 type
7689                 - con_table: add 'timestamp' member
7690
7691 2007-10-01  Dan Williams  <dcbw@redhat.com>
7692
7693         * src/nm-manager.c
7694                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
7695                         value when the connection can be activated immediately
7696
7697 2007-10-01  Dan Williams  <dcbw@redhat.com>
7698
7699         * libnm-glib/nm-device.c
7700                 - (nm_device_class_init): actually tell glib about the carrier-changed
7701                         signal
7702
7703 2007-10-01  Dan Williams  <dcbw@redhat.com>
7704
7705         * configure.in
7706           src/marshallers/Makefile.am
7707           src/marshallers/nm-marshal.list
7708           src/marshallers/nm-marshal-main.c
7709                 - Consolidate glib marshallers into one place
7710
7711         * src/dhcp-manager/Makefile.am
7712           src/dhcp-manager/nm-dhcp-manager.c
7713           src/supplicant-manager/Makefile.am
7714           src/supplicant-manager/nm-supplicant-manager.c
7715           src/supplicant-manager/nm-supplicant-interface.c
7716           src/ppp-manager/Makefile.am
7717           src/ppp-manager/nm-ppp-manager.c
7718           src/vpn-manager/Makefile.am
7719           src/vpn-manager/nm-vpn-connection.c
7720           src/Makefile.am
7721                 - Use consolidated marshallers
7722
7723         * src/dhcp-manager/nm-dhcp-marshal.list
7724           src/dhcp-manager/nm-dhcp-marshal-main.c
7725           src/supplicant-manager/nm-supplicant-marshal-main.c
7726           src/supplicant-manager/nm-supplicant-marshal.list
7727           src/nm-marshal-main.c
7728           src/nm-marshal.list
7729           src/ppp-manager/nm-ppp-marshal-main.c
7730           src/ppp-manager/nm-ppp-marshal.list
7731           src/vpn-manager/nm-vpn-marshal-main.c
7732           src/vpn-manager/nm-vpn-marshal.list
7733                 - Remove
7734
7735 2007-10-01  Dan Williams  <dcbw@redhat.com>
7736
7737         * include/NetworkManagerVPN.h
7738                 - define VPN connection state change reason codes
7739
7740         * src/vpn-manager/Makefile.am
7741           src/vpn-manager/nm-vpn-marshal.list
7742           src/vpn-manager/nm-vpn-marshal-main.c
7743                 - Add marshallers for StateChanged signal
7744
7745         * introspection/nm-vpn-connection.xml
7746                 - New Banner property
7747                 - StateChanged signal now includes a 'reason' argument
7748
7749         * src/vpn-manager/nm-vpn-connection.c
7750           src/vpn-manager/nm-vpn-connection.h
7751                 - Add a "Banner" property that contains the returned VPN server login
7752                         banner (if any); valid only in the ACTIVATED state
7753                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
7754                         a 'reason' argument and emits that reason along with the
7755                         state-changed signal
7756                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
7757                 - (nm_vpn_connection_ip4_config_get): save banner for later
7758                 - (nm_vpn_connection_get_banner, get_property,
7759                    nm_vpn_connection_class_init): implement Banner property
7760
7761         * src/vpn-manager/nm-vpn-service.c
7762                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
7763                         connection list because elements may get added/removed from it
7764                         while iterating over the list
7765                 - (connection_state_changed): signal now includes the 'reason' argument
7766
7767         * libnm-glib/nm-vpn-connection.c
7768           libnm-glib/nm-vpn-connection.h
7769                 - (nm_vpn_connection_get_banner): new function
7770                 - (state_changed_proxy): handle reason argument
7771
7772 2007-09-28  Tambet Ingo  <tambet@gmail.com>
7773
7774         * src/nm-manager.c:
7775         * src/nm-manager.h:
7776         Implement device activation through NMManager.
7777         Implement "pending device activation" here - If the connection isn't found,
7778         we try to wait for up to 5 seconds for the connection to be provided.
7779         Add NMConnectionType argument to "connection-added" and "connection-removed"
7780         signals.
7781         (nm_manager_get): Remove. Finally.
7782
7783         * src/nm-activation-request.c: 
7784         * src/nm-activation-request.h: 
7785         Remove all the deferred activation code.
7786
7787         * src/nm-device.c: Remove all the deferred activation code. Once the device
7788         activation is started, it's started. Update the activation virtual function
7789         signature.
7790
7791         * src/nm-device-interface.c:
7792         * src/nm-device-interface.h:
7793         Device activation now takes only NMActRequest argument.
7794         Don't expose device activation directly on dbus, it's supposed to go through
7795         NMManager now.
7796
7797         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
7798         a bit more compact.
7799         Use the new device activation methods through NMManager.
7800
7801         * introspection/nm-manager-client.xml: 
7802         * introspection/nm-manager.xml: 
7803         * libnm-glib/nm-client.c:
7804         * libnm-glib/nm-client.h:
7805         Add device activation method.
7806         
7807         * libnm-glib/nm-device.c: 
7808         * libnm-glib/nm-device.h: 
7809         * introspection/nm-device.xml: 
7810         Remove device activation method. It's done through NMManager now.
7811
7812         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
7813         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
7814
7815 2007-09-28  Dan Williams  <dcbw@redhat.com>
7816
7817         * libnm-glib/nm-vpn-connection.c
7818                 - (nm_vpn_connection_get_state): try to update state if the current
7819                         state is UNKNOWN
7820
7821 2007-09-27  Dan Williams  <dcbw@redhat.com>
7822
7823         Patch from Bill Nottingham
7824
7825         * src/supplicant-manager/nm-supplicant-config.c
7826                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
7827                         data to the supplicant
7828
7829 2007-09-27  Dan Williams  <dcbw@redhat.com>
7830
7831         * src/NetworkManagerSystem.c
7832                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
7833                         and all address manipulation here should be happening on the
7834                         _VPN_ device, not the active device
7835
7836 2007-09-26  Dan Williams  <dcbw@redhat.com>
7837
7838         * src/nm-manager.c
7839           src/nm-manager.h
7840           src/nm-activation-request.c
7841           src/nm-activation-request.h
7842                 - Move the GetSecrets stuff out of the NMManager instance because it
7843                         doesn't really need to be there and complicates things
7844
7845         * src/nm-device.c
7846                 - (connection_secrets_failed_cb, device_activation_go): connect to the
7847                         connection-secrets-failed signal and deactivate the device if
7848                         the GetSecrets call fails
7849
7850         * src/nm-device-802-11-wireless.c
7851                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7852                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
7853                         secrets and give correct hints about whether new secrets should be
7854                         asked for by the client or not
7855
7856 2007-09-26  Dan Williams  <dcbw@redhat.com>
7857
7858         * src/vpn-manager/nm-vpn-connection.c
7859                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
7860                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
7861                         to the secrets-updated signal of the NMConnection since updating
7862                         the secrets is done within the scope of the NMVPNConnection object
7863                         already
7864                 - (get_connection_secrets): fix an uninialized variable usage error
7865
7866 2007-09-26  Dan Williams  <dcbw@redhat.com>
7867
7868         * libnm-util/nm-setting.c
7869                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
7870                         actually get updated when the user enters them
7871
7872 2007-09-26  Dan Williams  <dcbw@redhat.com>
7873
7874         * libnm-glib/nm-vpn-plugin.c
7875                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
7876
7877 2007-09-26  Dan Williams  <dcbw@redhat.com>
7878
7879         * include/NetworkManagerVPN.h
7880                 - Add a NEED_AUTH state
7881
7882         * src/vpn-manager/nm-vpn-connection.c
7883                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
7884                         the connection needs secrets, and if so, then ask the settings
7885                         service to fill in the secrets.  Then start the connection.
7886
7887 2007-09-26  Dan Williams  <dcbw@redhat.com>
7888
7889         * src/vpn-manager/nm-vpn-manager.c
7890                 - (new_vpn_error, impl_vpn_manager_connect): set errors
7891
7892 2007-09-26  Dan Williams  <dcbw@redhat.com>
7893
7894         * introspection/nm-vpn-plugin.xml
7895           libnm-glib/nm-vpn-plugin.c
7896           libnm-glib/nm-vpn-plugin.h
7897                 - (impl_vpn_plugin_need_secrets): implement a call that should return
7898                         the name of the NMSetting in an NMConnection that may require
7899                         secrets specific to that VPN plugin
7900
7901 2007-09-26  Dan Williams  <dcbw@redhat.com>
7902
7903         * src/nm-manager.c
7904           src/nm-manager.h
7905                 - (nm_manager_get_connection_secrets): make static, unused outside
7906                         the file
7907                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
7908
7909 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7910
7911         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
7912         method.
7913         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
7914         unreference the connection.
7915
7916         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
7917         passing properties hash and routes string list, pass NMConnection (in hashed form).
7918
7919         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
7920         as GSList, no need to copy stuff around anymore.
7921         (nm_vpn_connection_activate): Update the plugin activation method.
7922
7923         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
7924         routes argument to GSList.
7925
7926 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7927
7928         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
7929         state and try to get the secrets.
7930
7931         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
7932         connections from NMManager and let the device to choose the best from the list.
7933         Since the connection list is sorted by system ones first and user ones later,
7934         the devices still prefer system connections like they did before.
7935         (deactivate_old_device): Implement. When a device starts activation, we have a
7936         policy (for now at least) to deactivate any other device that might be either
7937         active or still activating.
7938
7939         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
7940         It's set on construction, there will be no other way to access it.
7941
7942         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
7943         device events and drive the device, not the other way around.
7944
7945         * src/nm-device-802-3-ethernet.c: Ditto.
7946
7947         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
7948         sent along, pass it on to virtual functions.
7949
7950         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
7951         for now, but should really be public instead of nm_device_get_iface() since iface
7952         is a property of the DeviceInterface, not Device.
7953         (impl_device_activate): Don't touch NMManager!
7954
7955 2007-09-26  Jürg Billeter  <j@bitron.ch>
7956
7957         * initscript/paldo/NetworkManager.in:
7958         * initscript/paldo/NetworkManagerDispatcher.in:
7959         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
7960         (nm_system_flush_loopback_routes): update paldo backend
7961
7962 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7963
7964         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
7965         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
7966         which means none of the devices get brought down properly, which in turn leaves
7967         DHCP client running.
7968
7969         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
7970         (supplicant_connection_timeout_cb): Ditto.
7971
7972 2007-09-25  Dan Williams  <dcbw@redhat.com>
7973
7974         * src/nm-device.c
7975                 - (device_activation_go): small hack to work around race when
7976                         activating deferred connections; should solve this in a better way
7977
7978 2007-09-25  Dan Williams  <dcbw@redhat.com>
7979
7980         * introspection/nm-device.xml
7981           libnm-glib/nm-device.c
7982           libnm-glib/nm-device.h
7983                 - Add 'Carrier' property to exported NMDevice objects
7984
7985         * src/nm-device-interface.h
7986           src/nm-device-interface.c
7987           src/nm-device.c
7988                 - Add a 'carrier' property to internal NMDevice objects
7989
7990 2007-09-25  Dan Williams  <dcbw@redhat.com>
7991
7992         * src/nm-device-802-11-wireless.c
7993                 - (ap_auth_enforced): also return the encryption status of the AP so
7994                         that callers can differentiate easily between unencrypted APs
7995                         and encrypted ones, in addition to whether the AP has an
7996                         authenticator
7997                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7998                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
7999                         previously would request secrets from unencrypted APs at times
8000
8001 2007-09-25  Dan Williams  <dcbw@redhat.com>
8002
8003         * src/nm-manager.c
8004                 - (nm_manager_update_state): new function; updates state and emits
8005                         appropriate signals ensuring a state-change signal for the same state
8006                         never gets emitted twice in a row.
8007                 - (manager_device_state_changed): handle more device state to get a
8008                         better picture of the overall NM state
8009
8010 2007-09-25  Dan Williams  <dcbw@redhat.com>
8011
8012         * libnm-glib/nm-settings.c
8013           libnm-glib/nm-settings.h
8014                 - (new_error -> nm_settings_new_error): make public so that subclasses
8015                         can use the same error domain.  Also pass a valid error code to
8016                         g_error_new_literal() so that libdbus doesn't assert when converting
8017                         the GError into a DBusError
8018                 - (impl_settings_list_connections, impl_connection_settings_get_id,
8019                    impl_connection_settings_get_settings,
8020                    impl_connection_settings_get_secrets): use new error creator
8021                         function
8022
8023 2007-09-25  Dan Williams  <dcbw@redhat.com>
8024
8025         * src/NetworkManager.c
8026                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
8027
8028 2007-09-25  Dan Williams  <dcbw@redhat.com>
8029
8030         * src/supplicant-manager/nm-supplicant-manager.c
8031                 - (poke_supplicant_cb, nm_supplicant_manager_init,
8032                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
8033                    nm_supplicant_manager_startup): when the supplicant isn't running,
8034                         try to start it periodically via system bus activation.  Fixes
8035                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
8036                         for the supplicant to come back
8037
8038 2007-09-25  Dan Williams  <dcbw@redhat.com>
8039
8040         Ensure that old activation requests are forgotten about; previously
8041         hitting Cancel in the password dialog would deactivate whatever device
8042         that password was requested for, even if that wasn't the currently
8043         activating connection.
8044
8045         * src/nm-manager.c
8046           src/nm-manager.h
8047                 - (nm_manager_get_connection_secrets): track the pending call
8048                         object so it can be canceled later if needed
8049                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
8050                         GetSecrets call for a particular connection
8051
8052         * src/nm-activation-request.c
8053                 - (dispose): cancel any outstanding GetSecrets calls on the
8054                         connection
8055
8056 2007-09-25  Dan Williams  <dcbw@redhat.com>
8057
8058         * src/NetworkManagerPolicy.c
8059                 - (nm_policy_device_change_check): handle devices that have a
8060                         deferred activation.  These devices are not really active _yet_,
8061                         but need to be treated as such here.  Don't interrupt them
8062                         automatically.
8063
8064         * src/nm-device-interface.c
8065                 - (impl_device_activate): handle devices that have a deferred activation
8066                         like activating or active devices.  When multiple active devices
8067                         get committed, the device shouldn't be deactivated until the
8068                         connection details are available to avoid DoS and such.  Currently,
8069                         any active, activating, or deferred activation device is deactivated
8070                         here before starting the new activation request.
8071
8072 2007-09-25  Dan Williams  <dcbw@redhat.com>
8073
8074         Properly re-query secrets from the settings daemon when stuff fails.
8075
8076         * src/nm-device-802-11-wireless.c
8077                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
8078                         between Shared Key and Open System auth modes
8079                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8080                    real_act_stage4_ip_config_timeout): clear existing secrets and
8081                         request new ones when something fails due to a suspected wrong key
8082                 - (real_act_stage2_config): fix for new request_new argument to
8083                         nm_manager_get_connection_secrets()
8084
8085         * src/nm-manager.c
8086           src/nm-manager.h
8087                 - (nm_manager_get_connection_secrets): return error status; pass
8088                         new request_new argument on to the settings daemon
8089
8090         * introspection/nm-settings-connection.xml
8091                 - New 'request_new' argument to the GetSecrets call that hints to the
8092                         settings daemon to ask the user for completely new secrets
8093
8094         * libnm-glib/nm-settings.c
8095           libnm-glib/nm-settings.h
8096                 - (impl_connection_settings_get_secrets): handle new 'request_new'
8097                         argument
8098
8099 2007-09-25  Dan Williams  <dcbw@redhat.com>
8100
8101         * libnm-util/nm-connection.c
8102           libnm-util/nm-connection.h
8103                 - (nm_connection_clear_secrets): new function; clear secrets out of
8104                         each NMSetting in an NMConnection
8105
8106         * libnm-util/nm-setting.h
8107           libnm-util/nm-setting.c
8108                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
8109                         secrets out of an NMSetting
8110                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
8111                    nm_setting_wired_new, nm_setting_wireless_new,
8112                    nm_setting_wireless_security_new, nm_setting_ppp_new,
8113                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
8114                         to default handler default_setting_clear_secrets()
8115
8116 2007-09-25  Dan Williams  <dcbw@redhat.com>
8117
8118         * src/nm-activation-request.c
8119           src/nm-activation-request.h
8120                 - (nm_act_request_is_deferred): new function
8121
8122 2007-09-24  Dan Williams  <dcbw@redhat.com>
8123
8124         * src/nm-device-802-11-wireless.c
8125                 - (activation_success_handler): update signal strength immediately
8126                         after activation
8127
8128 2007-09-24  Dan Williams  <dcbw@redhat.com>
8129
8130         * libnm-util/nm-setting.c
8131                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
8132
8133 2007-09-24  Dan Williams  <dcbw@redhat.com>
8134
8135         * src/NetworkManagerPolicy.c
8136                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
8137                         device by deactivating it because it doesn't have a "best connection".
8138                         Since autoconnect=False connections aren't automatically chosen,
8139                         NM would interrupt activation of such a connection because it
8140                         would never be "best" due to autoconnect=False.
8141
8142 2007-09-24  Dan Williams  <dcbw@redhat.com>
8143
8144         * src/nm-manager.c
8145                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
8146                         actually has some time to enter a key before the GetSecrets call
8147                         times out
8148
8149 2007-09-24  Dan Williams  <dcbw@redhat.com>
8150
8151         * introspection/nm-manager.xml
8152           src/nm-manager.c
8153                 - (impl_manager_legacy_state): fix 'state' method call return value
8154
8155 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
8156
8157         * test/Makefile.am: Install nm-tool
8158
8159 2007-09-24  Dan Williams  <dcbw@redhat.com>
8160
8161         Patch from Ross Burton <ross@burtonini.com>
8162
8163         * test/nm-tool.c
8164           callouts/nm-dhcp-client-action.c
8165           src/nm-netlink.c
8166           src/vpn-manager/nm-vpn-connection.c
8167           libnm-glib/libnm-glib-test.c
8168                 - warning fixes
8169
8170 2007-09-24  Dan Williams  <dcbw@redhat.com>
8171
8172         * libnm-util/nm-utils.h
8173           libnm-util/nm-utils.c
8174                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
8175                         remove, unused
8176
8177 2007-09-23  Dan Williams  <dcbw@redhat.com>
8178
8179         * vpn-daemons/vpnc/properties/nm-vpnc.c
8180                 - Update for new VPN properties API bits; instead of passing around
8181                         a lot of random things, everything goes into the NMConnection
8182                         object.
8183
8184 2007-09-23  Dan Williams  <dcbw@redhat.com>
8185
8186         * libnm-util/nm-setting.c
8187                 - Correctly dispose of settings objects if creating them from a hash
8188                         table fails
8189
8190 2007-09-23  Dan Williams  <dcbw@redhat.com>
8191
8192         * libnm-util/nm-setting.c
8193                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
8194                         the hash table in a standard manner.  Clients of libnm-util should
8195                         only call g_hash_table_remove_all(), never destroy the hash table
8196                         and recreate it.
8197
8198 2007-09-22  Dan Williams  <dcbw@redhat.com>
8199
8200         * src/nm-device-802-11-wireless.c
8201                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
8202                         real reason to do it so often, and reduces wakeups for clients.
8203
8204 2007-09-21  Dan Williams  <dcbw@redhat.com>
8205
8206         * src/nm-device-802-11-wireless.c
8207                 - (build_supplicant_config): wpa_supplicant requires the option
8208                         key_mgmt=NONE for unencrypted networks
8209                 - (real_act_stage2_config): clarify log message on activation
8210
8211 2007-09-21  Dan Williams  <dcbw@redhat.com>
8212
8213         * test/nm-supplicant-test.c
8214           test/Makefile.am
8215                 - Remove supplicant test binary; no longer applicable
8216
8217 2007-09-21  Dan Williams  <dcbw@redhat.com>
8218
8219         * src/supplicant-manager/nm-supplicant-manager.c
8220                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8221                         activate it on the system bus
8222
8223 2007-09-20  Dan Williams  <dcbw@redhat.com>
8224
8225         * initscript/RedHat/NetworkManager.in
8226                 - dhcdbd is no longer used, so don't try to start it from the initscripts
8227
8228 2007-09-20  Dan Williams  <dcbw@redhat.com>
8229
8230         * src/nm-device.c
8231                 - (nm_device_is_activating): work around a race between auto-activation
8232                         and the user activating the same device that is being auto-activated
8233
8234 2007-09-20  Dan Williams  <dcbw@redhat.com>
8235
8236         * src/nm-device-interface.c
8237                 - (impl_device_activate): until multiple active device support lands,
8238                         ensure only one device can be active at a time
8239
8240 2007-09-20  Dan Williams  <dcbw@redhat.com>
8241
8242         * src/supplicant-manager/nm-supplicant-config.c
8243           src/supplicant-manager/nm-supplicant-config.h
8244                 - (nm_supplicant_config_add_option): hide secrets from system logs
8245
8246 2007-09-20  Dan Williams  <dcbw@redhat.com>
8247
8248         * src/NetworkManagerPolicy.c
8249                 - (nm_policy_device_change_check): re-enable the wireless device change
8250                         checking code; insted of checking for SSIDs, check for the same
8251                         connection instead
8252
8253 2007-09-20  Dan Williams  <dcbw@redhat.com>
8254
8255         * src/nm-device-802-11-wireless.c
8256                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
8257                         composite link state when determining when to start the disconnection
8258                         timer; that link state is already based on the supplicant interface's
8259                         status which is exactly what's already being examined, plus the link
8260                         state is a conglomeration of various things that we don't want here
8261
8262 2007-09-20  Dan Williams  <dcbw@redhat.com>
8263
8264         * libnm-glib/nm-access-point.c
8265                 - (handle_property_changed): strength is a UCHAR
8266
8267 2007-09-20  Dan Williams  <dcbw@redhat.com>
8268
8269         * src/supplicant-manager/nm-supplicant-config.c
8270                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
8271                         string list keywords too since that's what wpa_supplicant wants
8272
8273 2007-09-20  Dan Williams  <dcbw@redhat.com>
8274
8275         * libnm-util/nm-setting.c
8276                 - (convert_strv_to_slist): dupe the values in the list because since
8277                         the list is a boxed value, it'll get destroyed when it's container
8278                         (like a hash table or whatever) gets destroyed
8279
8280 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8281
8282         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
8283         GSList.
8284
8285         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
8286
8287         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
8288         just use (g_object_set_data_full).
8289
8290         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
8291         that NMSettingVPN->routes is a GSList, convert it to char **.
8292         (nm_vpn_connection_ip4_config_get): Free routes when done.
8293         (nm_vpn_connection_activate): Ditto.
8294
8295         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
8296         (real_act_stage2_config): Use defined setting names.
8297
8298 2007-09-20  Dan Williams  <dcbw@redhat.com>
8299
8300         * src/nm-device-802-11-wireless.c
8301           src/nm-manager.c
8302           src/nm-manager.h
8303                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
8304                         so that the device can be deactivated if secrets are wrong
8305
8306 2007-09-20  Dan Williams  <dcbw@redhat.com>
8307
8308         * introspection/nm-settings-connection.xml
8309           libnm-glib/nm-settings.c
8310           libnm-glib/nm-settings.h
8311                 - Make GetSecrets asynchronous on the server side
8312
8313 2007-09-20  Dan Williams  <dcbw@redhat.com>
8314
8315         * src/nm-manager.h
8316           src/nm-device.c
8317                 - (nm_device_activate): actually check if a given connection
8318                         exists before assuming it doesn't
8319
8320 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8321
8322         * libnm-util/nm-connection.c (register_default_creators): Use defined
8323         setting names. Register NMSettingVPN and NMSettingVPNProperties.
8324
8325         * libnm-util/nm-setting.c: Define property name strings, use them.
8326         Implement NMSettingVPN and NMSettingVPNProperties settings.
8327         Implement NM_S_TYPE_GVALUE_HASH.
8328         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
8329         (setting_connection_verify): Rename 'devtype' property to 'type'.
8330
8331         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
8332         properties.
8333
8334         * src/vpn-manager/nm-vpn-service.c: Ditto.
8335
8336         * src/vpn-manager/nm-vpn-connection.c: Ditto.
8337
8338         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
8339         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
8340
8341         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
8342         names. NMSettingConnection->devtype got renamed to 'type'.
8343
8344         * src/nm-device-802-3-ethernet.c (find_best_connection):
8345         (real_get_best_connection): Ditto.
8346
8347         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
8348
8349         * libnm-glib/nm-vpn-manager.[ch]: Update.
8350
8351 2007-09-19  Dan Williams  <dcbw@redhat.com>
8352
8353         * src/NetworkManagerAP.c
8354           src/NetworkManagerAP.h
8355           introspection/nm-access-point.xml
8356                 - Change strength-changed signal into a properties-changed signal
8357                         for all properties, not just strength.  Export that signal over dbus
8358                         so listeners don't have to poll NM for changes.
8359                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
8360                         get exported over D-Bus, so break up the logic and let other bits
8361                         decided when to export the AP
8362                 - (nm_ap_new_from_ap): remove, unused
8363
8364         * src/nm-device-802-11-wireless.c
8365                 - (merge_scanned_ap): only export APs that are actually on the device
8366                         list, not every AP created internally
8367
8368         * libnm-glib/nm-access-point.c
8369           libnm-glib/nm-access-point.h
8370                 - Cache properties internally and only hit DBus when needed.  Get
8371                         property updates from NM signals
8372
8373 2007-09-16  Dan Williams  <dcbw@redhat.com>
8374
8375         * libnm-util/nm-connection.c
8376           libnm-util/nm-connection.h
8377                 - (nm_connection_for_each_setting_value): new function; iterate over
8378                         each setting's value and call a user-provided function with details
8379                         about that value
8380
8381         * libnm-util/nm-setting.c
8382           libnm-util/nm-setting.h
8383                 - (nm_setting_enumerate_values): new function; enumerate the values
8384                         of a specific NMSetting subclass for a user-provided function with
8385                         details about that value
8386                 - Change wep_tx_keyidx to a uint32
8387                 - Create settings value tables for each setting defining their type,
8388                         key name, offset into the NMSetting subclass' structure, and whether
8389                         they are required and/or a secret
8390                 - (nm_setting_populate_from_hash): generic function to populate an
8391                         NMSetting from a GHash table, make all settings use it
8392                 - (nm_setting_hash): generic function to derive a GHashTable from
8393                         an NMSetting object, make all settings use it
8394
8395 2007-09-14  Dan Williams  <dcbw@redhat.com>
8396
8397         Remove unused stuff in libnm-util
8398
8399         * configure.in
8400           libnm-util/Makefile.am
8401           libnm-util/cipher-private.h
8402           libnm-util/cipher-wep-ascii.c
8403           libnm-util/cipher-wep-ascii.h
8404           libnm-util/cipher-wep-hex.c
8405           libnm-util/cipher-wep-hex.h
8406           libnm-util/cipher-wep-passphrase.c
8407           libnm-util/cipher-wep-passphrase.h
8408           libnm-util/cipher-wpa-psk-hex.c
8409           libnm-util/cipher-wpa-psk-hex.h
8410           libnm-util/cipher-wpa-psk-passphrase.c
8411           libnm-util/cipher-wpa-psk-passphrase.h
8412           libnm-util/cipher.c
8413           libnm-util/cipher.h
8414           libnm-util/dbus-helpers.c
8415           libnm-util/dbus-helpers.h
8416           libnm-util/gnome-keyring-md5.c
8417           libnm-util/gnome-keyring-md5.h
8418           libnm-util/sha1.c
8419           libnm-util/sha1.h
8420           src/nm-device-802-11-wireless.c
8421           test/libnm-util/Makefile.am
8422           test/libnm-util/test-ciphers.c
8423           test/libnm-util/test-dbus-helpers.c
8424           test/libnm-util/test-inputs.h
8425                 - Removed
8426
8427 2007-09-14  Dan Williams  <dcbw@redhat.com>
8428
8429         * libnm-util/dbus-method-dispatcher.c
8430           libnm-util/dbus-method-dispatcher.h
8431                 - Remove, unused
8432
8433 2007-09-14  Dan Williams  <dcbw@redhat.com>
8434
8435         Implement deferred activation support in the device class.
8436
8437         * src/nm-device-interface.c
8438           src/nm-device-interface.h
8439                 - (nm_device_interface_activate): take more arguments to support
8440                         deferred activation; callers must pass one of (connection) OR
8441                         (service_name, connection_path)
8442                 - (impl_device_activate): connection validation is punted to the device
8443                         to be able to handle deferred activation.  Yes, this means errors
8444                         don't get returned from the Activate() dbus call, and yes, that
8445                         should be fixed somehow later.
8446
8447         * src/nm-device.c
8448           src/nm-device.h
8449                 - (clear_act_request): clear additional deferred activation stuff too
8450                 - (deferred_activation_timeout_cb): new function; clean up when
8451                         deferred activation times out.
8452                 - (deferred_activation_start_cb): new function; when the connection
8453                         finally becomes available, start device activation
8454                 - (nm_device_activate): attach to the right signals of the activation
8455                         request if we need to defer activation until the connection is valid
8456
8457         * src/NetworkManagerPolicy.c
8458                 - (nm_policy_device_change_check): update for additional arguments
8459                         required for nm_device_interface_activate().  Pass NULL for these
8460                         though because this function already knows exactly which
8461                         NMConnection to use
8462
8463 2007-09-14  Dan Williams  <dcbw@redhat.com>
8464
8465         Implement deferred activation handling in the NMActRequest class.  When a
8466         client wants to activate a device but must create the NMConnection details
8467         on the fly, there likely hasn't been enough time yet for NM to receive the
8468         new connection signal and grab all the connection details.  So the
8469         activation is deferred (and bounded by a timer) for a while, and if the
8470         connection appears within the window, it is activated.
8471
8472         * src/nm-activation-request.c
8473           src/nm-activation-request.h
8474                 - (nm_act_request_class_init): two new signals to support deferred
8475                         activation, to allow the listener to handle both timeout and success
8476                 - (nm_act_request_new_deferred): new function, starts the deferred
8477                         activation timeout handler and listens to the NMManager for
8478                         new-connection signals to notice when the connection comes in
8479
8480 2007-09-14  Dan Williams  <dcbw@redhat.com>
8481
8482         * src/nm-manager.h
8483           src/nm-manager.c
8484                 - (nm_manager_get_connection_service_name,
8485                    nm_manager_get_connection_dbus_path): get details about a connection
8486                         known internally by the NMManager
8487                 - (nm_manager_class_init): fix connection add/remove signal marshalers
8488                         because NMConnection is now a GObject subclass
8489                 - Use constant for the gobject data tag used on NMConnection objects for
8490                         storing the associated DBusGProxy
8491
8492 2007-09-14  Dan Williams  <dcbw@redhat.com>
8493
8494         * utils/Makefile.am
8495           utils/nm-utils.c
8496           utils/nm-utils.h
8497           src/supplicant-manager/Makefile.am
8498           src/dhcp-manager/Makefile.am
8499           src/backends/Makefile.am
8500           src/named-manager/Makefile.am
8501           src/ppp-manager/Makefile.am
8502           src/vpn-manager/Makefile.am
8503           test/libnm-util/Makefile.am
8504           test/test-common/Makefile.am
8505                 - Remove utils/; it was unused
8506
8507 2007-09-13  Dan Williams  <dcbw@redhat.com>
8508
8509         * libnm-glib/nm-vpn-manager.h
8510           libnm-glib/nm-vpn-manager.c
8511                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
8512
8513 2007-09-13  Dan Williams  <dcbw@redhat.com>
8514
8515         * src/nm-device-802-3-ethernet.c
8516                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
8517                         netlink monitor carrier signals on dispose, not bring down.  The
8518                         carrier signals should be handled over the entire lifetime of the
8519                         device anyway, not created/destroyed on up or down.
8520
8521 2007-09-13  Dan Williams  <dcbw@redhat.com>
8522
8523         * libnm-glib/nm-device.c
8524           libnm-glib/nm-device.h
8525                 - (nm_device_activate): take a connection object path rather than an
8526                         NMConnection because NMConnection isn't exported over D-Bus and
8527                         therefore it dbus-glib can't automatically get an object path from it
8528
8529 2007-09-13  Dan Williams  <dcbw@redhat.com>
8530
8531         * libnm-util/nm-setting.c
8532                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
8533
8534 2007-09-13  Tambet Ingo  <tambet@gmail.com>
8535
8536         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
8537
8538 2007-09-12  Tambet Ingo  <tambet@gmail.com>
8539
8540         * src/vpn-manager/nm-vpn-connection.[ch]: 
8541         * src/vpn-manager/nm-vpn-manager.[ch]:
8542         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
8543         dbus-glib, GObjects, signals etc.
8544
8545         * libnm-glib/nm-vpn-manager.[ch]: 
8546         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
8547         so much, rewrite these too.
8548
8549         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
8550         the new introspection files.
8551
8552         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
8553
8554         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
8555         the header with the same name from libnm-utils.
8556
8557         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
8558
8559         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
8560
8561         * introspection/nm-vpn-plugin.xml: Implement.
8562
8563         * introspection/nm-vpn-connection.xml: Implement.
8564
8565         * introspection/nm-vpn-manager.xml: Implement.
8566
8567         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
8568         the named manager argument, it can just as easily get it as the caller.
8569         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
8570
8571         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
8572
8573         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
8574
8575         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
8576         libnm-utils.
8577
8578         * libnm-util/nm-connection.c: Ditto.
8579
8580         * src/NetworkManagerMain.h: Remove, it's finally empty.
8581
8582         * configure.in: Remove utils/ from build.
8583
8584         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
8585         of hard-coded strings.
8586
8587         * utils/: Move it over to libnm-util.
8588
8589         * test/Makefile.am: Link against libnm-util now that util/ is gone.
8590
8591         * dispatcher-daemon/Makefile.am: Ditto.
8592
8593         * src/Makefile.am: Ditto.
8594
8595 2007-09-12  Dan Williams  <dcbw@redhat.com>
8596
8597         Wireless connections can be made with config data from the applet now.
8598         
8599         Yay.
8600
8601         * src/supplicant-manager/nm-supplicant-config.h
8602           src/supplicant-manager/nm-supplicant-config.c
8603                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
8604                 - (nm_supplicant_config_add_setting_wireless,
8605                    nm_supplicant_config_add_setting_wireless_security): new functions;
8606                         add key/value pairs from the settings objects to the supplicant
8607                         config
8608
8609         * src/nm-device-802-11-wireless.c
8610                 - (cull_scan_list): fix check to not prune currently associated AP
8611                 - (build_supplicant_config, real_act_stage2_config): call the functions
8612                         of the NMSupplicantConfig that parse settings objects rather than
8613                         doing it manually here
8614
8615 2007-09-12  Dan Williams  <dcbw@redhat.com>
8616
8617         * src/supplicant-manager/nm-supplicant-interface.c
8618           src/supplicant-manager/nm-supplicant-marshal.list
8619                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
8620                         "connection-error" signal arguments should be STRING not CHAR
8621
8622 2007-09-12  Dan Williams  <dcbw@redhat.com>
8623
8624         * src/NetworkManagerUtils.c
8625           src/NetworkManagerUtils.h
8626                 - (nm_utils_hexstr2bin): new function
8627
8628 2007-09-11  Dan Williams  <dcbw@redhat.com>
8629
8630         * src/nm-manager.c
8631                 - (connection_get_settings_cb): emit connection-added signal
8632                 - (connection_removed_cb): uncomment bits for system settings service,
8633                         send connection-removed when appropriate
8634                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
8635                         the stack by trying to g_object_set_data() on something that's
8636                         not a GObject; handle case where settings service returns
8637                         empty settings hash table
8638
8639 2007-09-11  Dan Williams  <dcbw@redhat.com>
8640
8641         * src/NetworkManagerPolicy.c
8642                 - (connection_added, connection_removed): trigger device change checks
8643                         on connection changes
8644
8645 2007-09-11  Dan Williams  <dcbw@redhat.com>
8646
8647         * src/nm-activation-request.c
8648                 - (connection_secrets_updated_cb): fix c&p error in signal emission
8649
8650 2007-09-11  Dan Williams  <dcbw@redhat.com>
8651
8652         * src/nm-device-802-11-wireless.c
8653                 - (real_connection_secrets_updated): fix erroneous check
8654
8655 2007-09-11  Dan Williams  <dcbw@redhat.com>
8656
8657         * introspection/nm-device.xml
8658           libnm-glib/nm-device.c
8659           libnm-glib/nm-device.c
8660                 - Fix Activate call argument borkage; Activate takes 3 arguments
8661
8662 2007-09-11  Dan Williams  <dcbw@redhat.com>
8663
8664         * libnm-glib/nm-access-point.c
8665           libnm-glib/nm-access-point.c
8666                 - (nm_access_point_get_frequency): now returns guint32 to match
8667                         property change on 2007-09-10
8668
8669 2007-09-11  Dan Williams  <dcbw@redhat.com>
8670
8671         * src/nm-device-802-11-wireless.c
8672                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
8673                         somewhere defines 'index' and I missed this one when I fixed the
8674                         shadow declaration errors earlier
8675
8676 2007-09-11  Dan Williams  <dcbw@redhat.com>
8677
8678         * libnm-util/nm-connection.c
8679                 - (nm_connection_update_secrets, need_secrets_check): move
8680                         802-11-wireless-security need_secrets checks to the setting object
8681                         itself, where it belongs
8682
8683         * libnm-util/nm-setting.c
8684           libnm-util/nm-setting.h
8685                 - (nm_setting_need_secrets): new function
8686                 - (setting_wireless_security_verify,
8687                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
8688                 - (setting_wireless_security_need_secrets): mostly copy code over
8689                         from nm-connection.c
8690
8691 2007-09-11  Dan Williams  <dcbw@redhat.com>
8692
8693         * libnm-util/nm-setting.c
8694           libnm-util/nm-setting.h
8695                 - (nm_setting_update_secrets): new function; add a virtual function that
8696                         subclasses can implement to update their secrets
8697                 - (setting_wireless_security_update_secrets): implement that function
8698                         for the 802-11-wireless-security subclass
8699
8700         * libnm-util/nm-connection.c
8701           libnm-util/nm-connection.h
8702                 - (nm_connection_update_secrets): update secrets for a Setting and
8703                         emit a signal on success
8704
8705         * src/nm-manager.c
8706           src/nm-manager.h
8707           src/nm-marshal.list
8708                 - (connection_get_settings_cb): enable system settings bits
8709                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
8710                         to request secrets from the settings dbus service and to
8711                         push those secrets to the NMConnection itself
8712
8713         * src/nm-activation-request.c
8714           src/nm-activation-request.h
8715                 - Attach to the 'secrets-updated' signal of the NMConnection that's
8716                         currently being activated, and proxy that signal to other listeners.
8717                         Goes through the activation request because the activation request
8718                         is the thing that manages the lifetime of the NMConnection that's
8719                         being activated.
8720
8721         * src/nm-device-802-11-wireless.c
8722                 - (real_connection_secrets_updated): implement the connection secrets
8723                         updated notification and restart activation when secrets are
8724                         received
8725                 - (real_act_stage2_config): request secrets from the settings dbus
8726                         service if secrets are needed
8727
8728         * src/nm-device.c
8729           src/nm-device.h
8730                 - (clear_act_request, nm_device_activation_cancel,
8731                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
8732                         where the activation request is cleared
8733                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
8734                         updated secrets signal of activation request and add a function
8735                         that subclasses can override to handle it easily
8736
8737 2007-09-11  Tambet Ingo  <tambet@gmail.com>
8738
8739         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
8740         removal of NetworkManagerAPList.
8741
8742 2007-09-10  Dan Williams  <dcbw@redhat.com>
8743
8744         * src/NetworkManagerAP.c
8745           src/NetworkManagerAP.h
8746           introspection/nm-access-point.xml
8747                 - Change 'freq' property to a guint32 instead of a double since we
8748                         weren't using the floating point bits anyway
8749
8750 2007-09-10  Dan Williams  <dcbw@redhat.com>
8751
8752         * NetworkManagerAP.c
8753           NetworkManagerAP.h
8754           NetworkManagerPolicy.c
8755           NetworkManagerSystem.c
8756           NetworkManagerUtils.c
8757           NetworkManagerUtils.h
8758           nm-device-802-11-wireless.c
8759           nm-device-802-3-ethernet.c
8760           nm-hal-manager.c
8761           nm-manager.c
8762           vpn-manager/nm-dbus-vpn.c
8763                 - Warning fixes; casts and removal of unused variables
8764
8765 2007-09-10  Dan Williams  <dcbw@redhat.com>
8766
8767         * include/NetworkManager.h
8768                 - Kill NMNetworkType; AP types don't matter any more
8769
8770         * src/NetworkManagerAPList.c
8771           src/NetworkManagerAPList.h
8772           src/Makefile.am
8773                 - Kill; NMAccessPointList has outlived it's usefulness
8774
8775         * src/NetworkManagerAP.c
8776           src/NetworkManagerAP.h
8777                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
8778                         functions; check if an NMConnection object is compatible with the
8779                         settings of this AP
8780                 - (freq_to_channel, channel_to_freq): utility functions for
8781                         channel <-> frequency conversion
8782
8783         * src/nm-device.c
8784           src/nm-device.h
8785                 - (nm_device_get_best_connection): pass the specific object around
8786                          (which might be the object path of a specific AP to connect to).
8787                          The get_best_connection() call should populate this on return
8788                          if needed (wireless does).
8789
8790         * src/nm-device-802-3-ethernet.c
8791                 - (real_get_best_connection): handle specific_object argument
8792
8793         * src/NetworkManager.c
8794           src/NetworkManagerMain.h
8795                 - Remove unused includes
8796
8797         * src/nm-device-802-11-wireless.c
8798           src/nm-device-802-11-wireless.h
8799                 - Convert the ap_list into a GSList from an NMAccessPointList
8800                 - No need for caching the 'activation_ap' since this is now determined
8801                         from the specific_object of the activation request, which is
8802                         populated from the get_best_connection() call or from a user request
8803                 - (nm_device_802_11_wireless_update_bssid): fix warning
8804                 - (get_wireless_capabilities): fix error message format arguments
8805                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
8806                 - (find_best_connection, real_get_best_connection): implement
8807                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
8808                         move here from NetworkManagerAPList
8809                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
8810                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
8811                         already verified earlier
8812                 - (real_act_stage2_config): use nm_connection_need_secrets()
8813
8814         * src/NetworkManagerPolicy.c
8815                 - (nm_policy_auto_get_best_device): handle specific objects
8816                 - (create_connection): remove; automatic connection creation functionality
8817                         is handled by the Connection objects
8818                 - (nm_policy_device_change_check): handle specific_object
8819
8820         * libnm-util/nm-connection.c
8821                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
8822
8823 2007-09-10  Dan Williams  <dcbw@redhat.com>
8824
8825         * src/nm-manager.c
8826                 - (query_connections): fix uninitialized variable problem that caused
8827                         segfault
8828                 - (nm_manager_add_device): take devices down on startup so that we can
8829                         be assured that nm_device_is_up() won't short-circuit the init
8830                         process.  Hack until the is_up check gets split into two pieces
8831                         that aren't behaviorally confusing.
8832
8833 2007-09-09  Dan Williams  <dcbw@redhat.com>
8834
8835         * introspection/nm-device.xml
8836                 - The 'Activate' method now takes 3 arguments, a service name for the
8837                 settings service (user or system), the object path of the connection
8838                 to activate, and the specific object to activate, if any
8839
8840         * src/nm-device-interface.c
8841                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
8842                 Add error bits
8843                 - (impl_device_activate): adapt to new Activate arguments; validate
8844                 the service name and get the Connection object from the NMManager
8845                 before starting to activate the device with the specified connection
8846
8847         * src/nm-device-802-3-ethernet.c
8848                 - (real_get_best_connection): find the best connection, or create a
8849                 default one if no existing connections can be used
8850
8851         * src/NetworkManagerPolicy.c
8852                 - (nm_policy_auto_get_best_device): Get the device's best connection
8853                 and only pick the device if it has one
8854                 - (nm_policy_device_change_check): disable wireless bits for now until
8855                 wireless get_best_connection() can be implemented (replacing "best_ap");
8856                 don't create a default connection here as the device subclass will do
8857                 that if needed
8858
8859         * src/nm-manager.h
8860           src/nm-manager.c
8861                 - (nm_manager_get): make NMManager a singleton and expose the getter
8862                 internally
8863                 - Rework internal NMManager connection handling to use the same
8864                 routines for both the system and user settings services.  Most calls
8865                 take a new NMConnectionType argument specifying either system or user
8866                 connections
8867                 - (nm_manager_get_connection_by_object_path): new function; get a
8868                 connection keyed on its object path
8869
8870         * src/NetworkManager.c
8871                 - (main): use nm_manager_get()
8872
8873 2007-09-09  Dan Williams  <dcbw@redhat.com>
8874
8875         * src/nm-device.h
8876           src/nm-device.c
8877                 - (nm_device_get_best_connection): new function; get best connection
8878                         for the device at that time
8879
8880 2007-09-09  Dan Williams  <dcbw@redhat.com>
8881
8882         * src/nm-device-interface.h
8883                 - Add NMDeviceInterfaceError with an UnknownConnection error
8884
8885 2007-09-09  Dan Williams  <dcbw@redhat.com>
8886
8887         Stupid mistake on my part; object path and interface for settings service
8888         and connection objects can be the same, only the service name must be
8889         different for the system and user settings services.
8890
8891         * include/NetworkManager.h
8892           src/nm-manager.c
8893           introspection/nm-settings-connection.xml
8894           introspection/nm-settings.xml
8895           libnm-glib/nm-settings.c
8896                 - (nm_connection_settings_init, query_user_connections,
8897                    new_connection_cb): Unify NetworkManagerSettings and Connection
8898                    interface name and object path
8899
8900 2007-09-06  Dan Williams  <dcbw@redhat.com>
8901
8902         * libnm-glib/nm-object.c
8903                 - (nm_object_get_string_property, nm_object_get_object_path_property,
8904                    nm_object_get_int_property, nm_object_get_uint_property,
8905                    nm_object_get_boolean_property, nm_object_get_byte_property,
8906                    nm_object_get_double_property, nm_object_get_byte_array_property):
8907                         clear GValues after copying their contents, fixes memory leaks
8908                         after every property access because dbus-glib copies the values
8909                         from the DBusMessage into the GValue already.
8910
8911 2007-09-06  Dan Williams  <dcbw@redhat.com>
8912
8913         * introspection/nm-access-point.xml
8914                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
8915                         them to be.  There's some magic property name parsing going on in
8916                         dbus-glib that breaks up property names based on studly-caps and
8917                         puts - between words.
8918
8919         * libnm-glib/nm-access-point.c
8920                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
8921                         Fix property names
8922
8923 2007-09-06  Dan Williams  <dcbw@redhat.com>
8924
8925         * src/nm-manager.c
8926                 - (nm_manager_user_connections_destroy): clear the user connections hash
8927                         table, don't destroy it
8928                 - (finalize): only destroy the hash table on NMManager finalization
8929
8930 2007-09-02  Dan Williams  <dcbw@redhat.com>
8931
8932         * include/NetworkManager.h
8933           libnm-glib/nm-settings.c
8934                 - defines for the user settings daemon D-Bus bits
8935
8936         * src/NetworkManager.c
8937                 - Remove stuff that referred to the old NetworkManagerInfo service
8938
8939         * src/vpn-manager/nm-dbus-vpn.h
8940                 - Move old NMI defines to the only place they are used still
8941
8942         * libnm-util/nm-connection.c
8943           libnm-util/nm-connection.h
8944           src/nm-activation-request.c
8945                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
8946
8947         * src/nm-manager.c
8948           src/nm-manager.h
8949                 - Get connections and their settings from the user settings daemon
8950                         at the appropriate times
8951
8952 2007-09-02  Dan Williams  <dcbw@redhat.com>
8953
8954         * libnm-util/nm-setting.c
8955                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
8956                 - (setting_wireless_hash): set the right value on the item
8957
8958 2007-09-02  Dan Williams  <dcbw@redhat.com>
8959
8960         * test/Makefile.am
8961           test/nminfotest.c
8962                 - Remove, no longer useful
8963
8964 2007-08-30  Dan Williams  <dcbw@redhat.com>
8965
8966         * src/Makefile.am
8967           src/NetworkManagerDbus.c
8968           src/NetworkManagerDbus.h
8969           src/vpn-manager/nm-dbus-vpn.c
8970                 - Remove, no longer necessary.  Move last bits to the only place its
8971                 used, in nm-dbus-vpn.c
8972
8973         * src/NetworkManagerAPList.c
8974           src/nm-device.c
8975           src/NetworkManager.c
8976           src/nm-device-802-11-wireless.c
8977           src/vpn-manager/nm-vpn-manager.c
8978           src/vpn-manager/nm-vpn-service.c
8979           src/NetworkManagerPolicy.c
8980           src/nm-manager.c
8981                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
8982                 that was message_is_error()
8983
8984 2007-08-30  Dan Williams  <dcbw@redhat.com>
8985
8986         * libnm-util/sha1.c
8987                 - Include config.h to get defines for endiannes (gnome.org #420216)
8988
8989 2007-08-30  Dan Williams  <dcbw@redhat.com>
8990
8991         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
8992
8993         * src/ppp-manager/Makefile.am
8994                 - use -fPIC (gnome.org #471825)
8995
8996 2007-08-29  Dan Williams  <dcbw@redhat.com>
8997
8998         * include/NetworkManager.h
8999                 - Keep NMConnection object path in sync
9000
9001         * libnm-glib/nm-settings.c
9002           libnm-glib/nm-settings.h
9003                 - Break D-Bus object registration out of the init function, because
9004                 every object that's exported over D-Bus needs to use the _same_
9005                 DBusConnection.  Otherwise, each object would get a different object
9006                 path tree and wouldn't be callable.
9007
9008 2007-08-29  Dan Williams  <dcbw@redhat.com>
9009
9010         * libnm-util/nm-setting.h
9011           libnm-util/nm-setting.c
9012           libnm-util/nm-connection.c
9013           src/NetworkManagerPolicy.c
9014                 - 'info' settings object should be 'connection' says the spec
9015                 at NetworkManagerConfigurationSpecification
9016
9017 2007-08-29  Dan Williams  <dcbw@redhat.com>
9018
9019         * libnm-glib/nm-settings.c
9020           libnm-glib/nm-settings.h
9021                 - make the dbus path a property of the object, and autogenerate it.
9022                 It can't be composed of the 'id' field becuase that's not available
9023                 yet during the GObject creation in nm_connection_settings_init()
9024
9025 2007-08-29  Dan Williams  <dcbw@redhat.com>
9026
9027         * introspection/nm-settings-connection.xml
9028           introspection/nm-settings.xml
9029                 - Service name -> NetworkManagerUserSettings because two services
9030                 can't share part of the same path.  I'm not really sure how we'll use
9031                 the same code with the system-settings daemon...
9032
9033 2007-08-28  Dan Williams  <dcbw@redhat.com>
9034
9035         * src/nm-device-interface.c
9036           src/nm-device-interface.h
9037                 - Kill one more bit of NMData
9038
9039 2007-08-28  Dan Williams  <dcbw@redhat.com>
9040
9041         * src/NetworkManagerSystem.h
9042           src/nm-device.c
9043           src/nm-device.h
9044           src/nm-hal-manager.c
9045           src/NetworkManager.c
9046           src/nm-device-802-11-wireless.c
9047           src/nm-hal-manager.h
9048           src/nm-device-802-3-ethernet.c
9049           src/vpn-manager/nm-vpn-service.h
9050           src/vpn-manager/nm-vpn-manager.c
9051           src/vpn-manager/nm-vpn-manager.h
9052           src/vpn-manager/nm-vpn-service.c
9053           src/nm-device-802-11-wireless.h
9054           src/NetworkManagerMain.h
9055           src/nm-device-802-3-ethernet.h
9056           src/backends/NetworkManagerGentoo.c
9057           src/backends/NetworkManagerPaldo.c
9058           src/backends/NetworkManagerFrugalware.c
9059           src/backends/NetworkManagerRedHat.c
9060           src/backends/NetworkManagerSlackware.c
9061           src/backends/NetworkManagerGeneric.c
9062           src/backends/NetworkManagerArch.c
9063           src/backends/NetworkManagerSuSE.c
9064           src/backends/NetworkManagerGeneric.h
9065           src/backends/NetworkManagerDebian.c
9066                 - Kill NMData
9067
9068 2007-08-28  Dan Williams  <dcbw@redhat.com>
9069
9070         * src/NetworkManagerMain.h
9071           src/nm-device-802-11-wireless.c
9072           src/NetworkManager.c
9073                 - Remove invalid AP list from NMData; need to rework this somewhat, but
9074                 for now we should set the 'invalid' property on individual APs, and when
9075                 we need to invalidate a whole ESS, set the 'invalid' on every member of
9076                 that ESS
9077
9078 2007-08-28  Dan Williams  <dcbw@redhat.com>
9079
9080         * src/NetworkManagerAP.c
9081           src/NetworkManagerAP.h
9082                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
9083                         'autoconnect' property instead
9084
9085         * src/NetworkManager.c
9086           src/NetworkManagerMain.h
9087           src/NetworkManagerPolicy.c
9088           src/NetworkManagerPolicy.h
9089                 - Remove the 'allowed_ap_list', which should be replaced by 
9090                         NMConnection/NMSettings instead, since _those_ are the allowed
9091                         things that NM can connect to
9092
9093         * src/nm-device-802-11-wireless.c
9094                 - Remove both allowed_ap_list usage and 'fallback' checking
9095
9096 2007-08-28  Dan Williams  <dcbw@redhat.com>
9097
9098         * src/nm-device.c
9099           src/named-manager/nm-named-manager.c
9100           src/named-manager/nm-named-manager.h
9101           src/NetworkManager.c
9102           src/vpn-manager/nm-vpn-manager.c
9103           src/NetworkManagerMain.h
9104           src/NetworkManagerSystem.c
9105                 - Remove the named-manager object from NMData structure in preparation
9106                 for NMData's timely death.  Make the NMNamedManager the singleton that
9107                 it really is
9108
9109 2007-08-28  Dan Williams  <dcbw@redhat.com>
9110
9111         Remove NMAPSecurity objects, they are replaced with flags on the APs for
9112         each AP's capabilities, and by NMConnection/NMSettings objects for user
9113         defined connections.
9114
9115         * include/NetworkManager.h
9116                 - Redefine 802.11 security properties.  There are now device capabilities
9117                         and AP flags and AP security flags.  It was way to unclear before.
9118
9119         * src/Makefile.am
9120           src/nm-ap-security-leap.h
9121           src/nm-ap-security-leap.c
9122           src/nm-ap-security-wpa-eap.c
9123           src/nm-ap-security-wpa-eap.h
9124           src/nm-ap-security-private.h
9125           src/nm-ap-security-wpa-psk.c
9126           src/nm-ap-security-wpa-psk.h
9127           src/nm-ap-security-wep.c
9128           src/nm-ap-security-wep.h
9129           src/nm-ap-security.c
9130           src/nm-ap-security.h
9131                 - Removed, to be replaced with NMConnection/NMSettings objects
9132
9133         * src/nm-dbus-nmi.c
9134           src/nm-dbus-nmi.h
9135                 - Removed, to be replaced by code that talks to the new info daemon
9136                         interface and gets NMConnection/NMSettings objects
9137
9138         * src/backends/NetworkManagerSuSE.c
9139                 - Remove usage of NMAPSecurity; should be replaced by a system-level
9140                         info-daemon that does the same thing but talks the new info-daemon
9141                         D-Bus interface
9142
9143         * src/NetworkManagerAP.h
9144           src/NetworkManagerAP.c
9145           src/NetworkManagerAPList.c
9146           libnm-glib/libnm-glib-test.c
9147                 - Remove usage of NMAPSecurity objects and adjust to new flags for
9148                         WPA/RSN
9149
9150         * libnm-glib/nm-access-point.c
9151           libnm-glib/nm-access-point.h
9152           introspection/nm-access-point.xml
9153           test/nm-tool.c
9154                 - Adjust to new flags for AP security
9155
9156         * utils/nm-utils.c
9157           utils/nm-utils.h
9158           src/vpn-manager/nm-dbus-vpn.c
9159                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
9160                         stuff which is the only place it's used
9161
9162         * src/nm-device-interface.c
9163           src/nm-device-interface.h
9164           introspection/nm-device.xml
9165           src/nm-activation-request.c
9166           src/nm-activation-request.h
9167           src/nm-device.c
9168                 - Add a new 'specific_object' argument that hints to NM what actual
9169                         AP or other device-specific thing the connection should apply to.
9170                         NMConnection objects can apply to more than one actual device/AP.
9171
9172         * libnm-util/nm-connection.c
9173         * libnm-util/nm-connection.h
9174                 - Add 'have_secrets" call stubs
9175
9176         * libnm-util/cipher.h
9177                 - Move NM_AUTH_TYPE_* defines here for now
9178
9179         * src/nm-device-802-11-wireless.c
9180                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
9181                         NMSettings objects
9182
9183         * src/NetworkManagerDbus.c
9184         * src/NetworkManagerPolicy.c
9185                 - Remove usage of update_allowed_networks, should be pushing data in
9186                         a different manner
9187
9188 2007-08-27  Tambet Ingo  <tambet@gmail.com>
9189
9190         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
9191         dbus-glib frees it when the call is done.
9192
9193 2007-08-26  Dan Williams  <dcbw@redhat.com>
9194
9195         * introspection/nm-device.xml
9196                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
9197
9198 2007-08-26  Dan Williams  <dcbw@redhat.com>
9199
9200         * src/nm-device-802-3-ethernet.c
9201                 - (constructor): move connection of interface-connected/disconnected
9202                         signals here from real_bring_up().  Should be listening to netlink
9203                         for carrier events no matter what the initial state of the device
9204                         is.
9205
9206 2007-08-26  Dan Williams  <dcbw@redhat.com>
9207
9208         * src/nm-netlink-monitor.c
9209                 - (nm_netlink_monitor_class_init): fix marshalling types for
9210                         interface-connected/interface-disconnected
9211                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
9212                         check
9213
9214 2007-08-26  Dan Williams  <dcbw@redhat.com>
9215
9216         Convert to using interface indexes as the primary method of identifying
9217         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9218         be renamed at any time.  Device object paths now refer to the device
9219         index rather than the name, and you can map those two manually if you like
9220         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9221         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9222         to use interface indexes rather than names.
9223
9224 2007-08-26  Dan Williams  <dcbw@redhat.com>
9225
9226         * src/nm-netlink-monitor.h
9227                 - Remove one last bit of wireless-event signal
9228
9229 2007-08-26  Dan Williams  <dcbw@redhat.com>
9230
9231         * src/nm-netlink-monitor.c
9232                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
9233                         don't need the 'wireless-event' signal anymore since that's all
9234                         handled by wpa_supplicant
9235
9236 2007-08-25  Dan Williams  <dcbw@redhat.com>
9237
9238         It's 2007. Remove support for drivers that don't support wireless scanning.
9239
9240         * test/nm-tool.c
9241           include/NetworkManager.h
9242           src/NetworkManagerUtils.c
9243           src/NetworkManagerPolicy.c
9244           src/nm-device-802-11-wireless.c
9245                 - Remove special handling for non-scanning devices and mark them
9246                         as unsupported/unhandled
9247
9248 2007-08-20  Dan Williams  <dcbw@redhat.com>
9249
9250         * src/nm-device-802-11-wireless.c
9251           src/nm-device-802-3-ethernet.c
9252                 - (real_is_up): move device-specific tests before generic IFF_UP test,
9253                         because when the card is pulled or the module removed, the device
9254                         is already !IFF_UP and then device-specific cleanup (removing
9255                         the supplicant interface, periodic checks, etc) never gets done
9256
9257 2007-08-20  Dan Williams  <dcbw@redhat.com>
9258
9259         * src/nm-manager.c
9260                 - (nm_manager_remove_device): bring device down before disconnecting
9261                         signal handlers, so that the 'state' signal will get broadcast when
9262                         the device enters the DOWN state
9263                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
9264                         of states that cause the NMManager to recheck its state
9265
9266 2007-08-20  Dan Williams  <dcbw@redhat.com>
9267
9268         * src/supplicant-manager/nm-supplicant-interface.c
9269                 - (interface_disconnect_done): don't try to dispose of the net proxy
9270                         when it may already have been disposed of
9271
9272 2007-08-20  Dan Williams  <dcbw@redhat.com>
9273
9274         * src/nm-device-802-11-wireless.c
9275                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
9276                         the SSID isn't available; this can happen when the card is pulled
9277                         or the module unloaded, during the post-removal deactivation
9278                         paths, when the ioctl returns ENODEV
9279
9280 2007-08-20  Dan Williams  <dcbw@redhat.com>
9281
9282         * src/nm-device-802-11-wireless.c
9283                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
9284                         frequency, and mode match.  Applets are now responsible for grouping
9285                         access points
9286
9287 2007-08-20  Dan Williams  <dcbw@redhat.com>
9288
9289         * src/NetworkManagerAP.c
9290         * src/NetworkManagerAP.h
9291                 - (nm_ap_print_self): new function
9292
9293         * src/NetworkManagerAPList.c
9294                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
9295                         to do it all here
9296         
9297 2007-08-17  Dan Williams  <dcbw@redhat.com>
9298
9299         * src/nm-device-802-3-ethernet.c
9300                 - (real_bring_down): don't try to dispose of stuff that might not
9301                         exist
9302
9303 2007-08-17  Dan Williams  <dcbw@redhat.com>
9304
9305         * src/NetworkManagerAP.c
9306                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
9307                         applet.  This ensures that the case between the seen-bssids and
9308                         the bssids reported by the driver match.
9309
9310 2007-08-17  Dan Williams  <dcbw@redhat.com>
9311
9312         * src/nm-device-802-11-wireless.c
9313                 - (device_cleanup): disconnect the interface in wpa_supplicant before
9314                         we dispose of the interface proxy in NM
9315
9316 2007-08-16  Dan Williams  <dcbw@redhat.com>
9317
9318         * libnm-glib/nm-client.c
9319                 - (nm_client_init): create VPN connections hash table with key free
9320                         function
9321                 - (proxy_vpn_connection_added): VPN connections hash table key should
9322                         be a duplicated value, not the same memory address as the VPN
9323                         connection name.  This is because the VPN connection name could
9324                         potentially be freed and set to something else during the lifetime
9325                         of the NMVPNConnection object.
9326
9327 2007-08-16  Tambet Ingo  <tambet@gmail.com>
9328
9329         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
9330         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
9331         with the file descriptors. Send a child setup function to change the pppd
9332         progress group.
9333
9334 2007-08-15  Dan Williams  <dcbw@redhat.com>
9335
9336         * src/supplicant-manager/nm-supplicant-interface.c
9337                 - (try_remove_iface): new function, ask wpa_supplicant to remove
9338                         an interface
9339                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
9340                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
9341                         happens on hotplug if wpa_supplicant doesn't tear down and readd
9342                         the interface internally
9343
9344 2007-08-15  Dan Williams  <dcbw@redhat.com>
9345
9346         * src/nm-device-802-11-wireless.c
9347                 - (real_bring_down): move most of this function into device_cleanup()
9348                         so that it can be called from elsewhere
9349                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
9350                         and stuff on dispose.  These would normally get cleaned up when
9351                         the device is marked down and deactivated, but when the device is
9352                         hot-unplugged, it's already down and real_down() never gets run
9353
9354 2007-08-15  Dan Williams  <dcbw@redhat.com>
9355
9356         * src/nm-dbus-nmi.c
9357                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
9358                         caused a reference leak on device for which NM requested a key
9359
9360 2007-08-15  Dan Williams  <dcbw@redhat.com>
9361
9362         * libnm-glib/nm-client.c
9363                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
9364
9365 2007-08-15  Tambet Ingo  <tambet@gmail.com>
9366
9367         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
9368         nothing is using it at the moment, but it'll be all useful and stuff later on.
9369
9370         * libnm-util/nm-setting.h: Define NMSettingPPP.
9371
9372         * libnm-util/nm-setting.c: Implement NMSettingPPP.
9373
9374         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
9375
9376         * src/Makefile.am: Add ppp-manager to SUBDIRS.
9377
9378         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
9379
9380         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
9381
9382 2007-08-14  Tambet Ingo  <tambet@gmail.com>
9383
9384         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
9385
9386         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
9387         an issue with dbus-glib bindings generator. The issue is, the generated C caller
9388         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
9389         name and different arguments and it won't compile anymore. To fix this, we now have
9390         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
9391         that is new API + compatibility API and used by the daemon. The other, 
9392         nm-manager-client.xml is only the new API without compatibility bits and is used
9393         by libnm-glib to make it compile.
9394
9395         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
9396
9397         * src/nm-manager.c (impl_manager_legacy_sleep)
9398         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
9399         interface functions for 0.6 branch.
9400
9401 2007-08-14  Dan Williams  <dcbw@redhat.com>
9402
9403         * src/NetworkManagerAP.c
9404                 - (nm_ap_new_from_properties): fix mistaken check of return value
9405                         from memcmp (should expect 0)
9406
9407 2007-08-14  Dan Williams  <dcbw@redhat.com>
9408
9409         (force-commit to fix wrong comment and partial commit of r2685; this
9410          commit actually applies to r2685)
9411
9412         * src/NetworkManagerUtils.c
9413                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
9414                         ignores trailing nulls in the SSID to work around mismatches in
9415                         expectations between WEXT and what the info-daemon passes back.  The
9416                         info-daemon would pass back the correct length, but due to the
9417                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
9418                         the device would always have an SSID + 1 depending on what versions
9419                         of wpa_supplicant, the kernel, and NM you have.  This was most often
9420                         visible by just quitting the applet and relaunching, which caused
9421                         NM to reassociated to the same network over again when reloading
9422                         the save networks.
9423
9424         * src/NetworkManagerPolicy.c
9425           src/NetworkManagerUtils.h
9426           src/nm-device-802-11-wireless.c
9427                 - Update for new parameter to nm_utils_same_ssid()
9428
9429 2007-08-14  Dan Williams  <dcbw@redhat.com>
9430
9431         * src/NetworkManagerAP.c
9432                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
9433                         I encountered a BSS that wasn't just hiding it's ESSID, it was
9434                         setting the BSSID to all 0s.  That confused the heck out of NM,
9435                         plus it's useless and probably out-of-spec.
9436
9437 2007-08-14  Dan Williams  <dcbw@redhat.com>
9438
9439         * callouts/Makefile.am
9440           src/dhcp-manager/nm-dhcp-manager.c
9441           src/dhcp-manager/nm-dhcp-manager.h
9442           src/dhcp-manager/Makefile.am
9443                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
9444
9445 2007-08-14  Dan Williams  <dcbw@redhat.com>
9446
9447         * src/dhcp-manager/nm-dhcp-manager.c
9448                 - (dhclient_run): don't pass -x to dhclient until we figure out if
9449                         it's really needed, get rid of unused xtra_args parameter
9450
9451 2007-08-14  Dan Williams  <dcbw@redhat.com>
9452
9453         * include/NetworkManagerVPN.h
9454           src/vpn-manager/nm-dbus-vpn.c
9455           src/vpn-manager/nm-dbus-vpn.h
9456           src/vpn-manager/nm-vpn-act-request.c
9457           src/vpn-manager/nm-vpn-act-request.h
9458           src/vpn-manager/nm-vpn-service.c
9459           src/vpn-manager/nm-vpn-service.h
9460           libnm-glib/nm-vpn-connection.c
9461           libnm-glib/nm-vpn-connection.h
9462           libnm-glib/nm-client.h
9463                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
9464                         NMVPNServiceState to clarify what they apply to
9465                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
9466                         NMVPNActStage -> NMVPNConnectionState for the same reason
9467
9468         * libnm-glib/nm-client.c
9469                 - Constant + type renames from above
9470                 - Properly handle NameOwnerChanged/manager_running signals
9471                         for NM service; only emit when state really changes
9472                 - Use hash tables correctly so that the key (which was previously owned
9473                         by the D-Bus message) now has the same lifetime as the value, since
9474                         the key is now taken from the the NMVPNConnection itself.  This
9475                         really fixes the double-VPN names in the applet
9476
9477 2007-08-13  Dan Williams  <dcbw@redhat.com>
9478
9479         Patch from Michael Biebl <biebl@debian.org>
9480
9481         * po/POTFILES.in
9482           po/POTFILES.skip
9483                 - Update for vpn-properties move
9484
9485 2007-08-13  Dan Williams  <dcbw@redhat.com>
9486
9487         * libnm-glib/nm-client.c
9488                 - Convert internal VPN connection tracking from a list to a hash table
9489                         to easily avoid duplicates
9490                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
9491                         must be freed by the caller, like nm_client_get_devices()
9492                 - (nm_client_remove_vpn_connection): don't let the removal signal
9493                         leak through for NMVPNConnection objects that aren't actually
9494                         tracked.
9495                 - (manager_running): throw away VPN connection list when NM goes away,
9496                         like with the device list
9497
9498 2007-08-13  Dan Williams  <dcbw@redhat.com>
9499
9500         * src/dhcp-manager/nm-dhcp-manager.c
9501                 - Stop any dhclient instance that might be already running for a
9502                         particular interface before starting an NM spawned dhclient.  Fixes
9503                         dhclient processes left over if NM crashes, stuff like that.
9504
9505 2007-08-13  Dan Williams  <dcbw@redhat.com>
9506
9507         * src/NetworkManagerAP.c
9508                 - (finalize): don't try to g_array_free (NULL, ...), which happened
9509                         when the AP wasn't broadcasting it's SSID
9510
9511 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
9512
9513         * include/NetworkManager.h: added DBus path for connection settings.
9514
9515         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
9516         nm_connection_settings_signal_updated,
9517         nm_connection_settings_signal_removed): new functions to wrap the
9518         objects' signals.
9519         (nm_connection_settings_init): register GObject with DBus.
9520         (nm_connection_settings_get_dbus_object_path): new function.
9521
9522         * libnm-glib/Makefile.am: added libnmutil to link flags.
9523
9524 2007-08-13  Tambet Ingo  <tambet@gmail.com>
9525
9526         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
9527
9528         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
9529         libnm_glib directory got merged with libnm-glib/.
9530
9531         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
9532
9533         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
9534         Rename the library from libnm-glib to libnm_glib to maintain the library API
9535         compatibility with 0.6 branch.
9536
9537         * Makefile.am: Remove gnome/ SUBDIR.
9538
9539         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
9540
9541         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
9542
9543         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
9544
9545         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
9546         anymore.
9547         Remove checks for wpa_supplicant binary, it's used over dbus.
9548         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
9549
9550         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
9551         Link the binaries with libnm_glib.la.
9552
9553 2007-08-12  Dan Williams  <dcbw@redhat.com>
9554
9555         * src/NetworkManagerPolicy.c
9556                 - (nm_policy_device_change_check): fix policy to deactivate old device
9557                         before activating new one, at least until the multiple active
9558                         device support lands
9559
9560 2007-08-12  Dan Williams  <dcbw@redhat.com>
9561
9562         * src/NetworkManagerPolicy.c
9563                 - (nm_policy_new): hook up to connection-added / connection-removed
9564                         signals instead of connections-changed
9565
9566 2007-08-12  Dan Williams  <dcbw@redhat.com>
9567
9568         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
9569         Robert Frank <rfrank@redhat.com>
9570
9571         * src/dhcp-manager/nm-dhcp-manager.c
9572           src/dhcp-manager/nm-dhcp-manager.c
9573           src/nm-device.c
9574                 - Spawn and communicate with dhclient directly, through means of a
9575                 custom dhclient callout script.  Process callout D-Bus signals
9576                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
9577                 sent via gobject signals rather than being driven by the dhcp manager
9578                 directly.
9579
9580 2007-08-12  Dan Williams  <dcbw@redhat.com>
9581
9582         * callouts/nm-dhcp-client-action.c
9583                 - (build_message): ignore non-DHCP-related environment variables
9584
9585 2007-08-12  Dan Williams  <dcbw@redhat.com>
9586
9587         * Makefile.am
9588           configure.in
9589           callouts/Makefile.am
9590           callouts/nm-dhcp-client-action.c
9591           callouts/nm-dhcp-client.conf
9592                 - Add dhclient-executed callout that takes the place of dhclient-script
9593                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
9594                 NM then listens for
9595
9596 2007-08-09  Tambet Ingo  <tambet@gmail.com>
9597
9598         [Based on patch by Helmut Schaa <hschaa@suse.de>]
9599
9600         * libnm-glib/nm-client.h:
9601         * libnm-glib/nm-object.h:
9602         * libnm-glib/nm-vpn-connection.h:
9603         * libnm-glib/nm-settings.h:
9604         * libnm-glib/nm-device.h:
9605         * libnm-glib/nm-ip4-config.h:
9606         * libnm-glib/nm-access-point.h:
9607         * libnm-glib/nm-device-802-3-ethernet.h:
9608         * libnm-util/nm-setting.h: 
9609         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
9610
9611         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
9612
9613         * libnm-glib/nm-access-point.c: Strength has type char.
9614
9615         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
9616         to fix build. GnomeDruid is deprecated in recent libgnomeui.
9617
9618         * introspection/nm-access-point.xml: Strength property is char, not int.
9619
9620         * src/NetworkManagerAP.c (set_property): Set strength from char.
9621         (get_property): Handle hidden APs (with empty SSID).
9622         Get strength value from char.
9623         (nm_ap_class_init): Strength property has char type.
9624
9625 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
9626
9627         * introspection/Makefile.am:
9628         * introspection/nm-settings.xml:
9629         * introspection/nm-settings-connection.xml: added Settings interfaces.
9630
9631         * libnm-glib/nm-settings.[ch]:
9632         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
9633         containing the DBus implementation.
9634
9635 2007-07-26  Dan Williams  <dcbw@redhat.com>
9636
9637         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
9638
9639         * src/NetworkManagerSystem.c
9640                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
9641                         same subnet (#437396)
9642
9643 2007-07-26  Dan Williams  <dcbw@redhat.com>
9644
9645         Patch from Kelemen Gábor <kelemeng@gnome.hu>
9646
9647         * gnome/vpn-properties/nm-vpn-properties.c
9648                 - Fix translatable strings (#445865)
9649
9650 2007-07-26  Dan Williams  <dcbw@redhat.com>
9651
9652         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
9653
9654         * configure.in
9655                 - Remove useless junk (#412530)
9656
9657 2007-07-10  Christopher Aillon  <caillon@redhat.com>
9658
9659         Patch from Robert Buchholz <rbu@gentoo.org>:
9660
9661         * configure.in:
9662         * Makefile.am:
9663         * introspection/Makefile.am:
9664         Make make distcheck work again.
9665
9666 2007-06-27  Dan Williams  <dcbw@redhat.com>
9667
9668         * Make SSIDs GByteArrays everywhere
9669         * Rename "essid" -> "ssid" everywhere that's appropriate
9670         * Refcount activation_ap member of the 802.11 wireless device class
9671
9672 2007-06-27  Tambet Ingo  <tambet@ximian.com>
9673
9674         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
9675
9676 2007-06-22  Tambet Ingo  <tambet@ximian.com>
9677
9678         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
9679         that we got a new AP when we just update existing AP properties.
9680
9681 2007-06-21  Tambet Ingo  <tambet@ximian.com>
9682
9683         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
9684
9685         * nm-utils.[ch]: Remove.
9686
9687         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
9688         objects for easy property access and dbus connection handling.
9689
9690         * libnm-glib/nm-client.c: Derive from NMObject.
9691
9692         * libnm-glib/nm-device.c: Ditto.
9693
9694         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
9695
9696         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
9697
9698         * libnm-glib/nm-ip4-config.c: Ditto.
9699
9700         * libnm-glib/nm-access-point.c: Ditto.
9701
9702         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
9703         comparision. Currently used by the device activation code to determine if the new
9704         activation is the same as the old one.
9705
9706         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
9707         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
9708         able to ask password for the AP.
9709
9710         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
9711         up if the device is already connected, tear down it's connection (if it isn't the
9712         same as new one) and start the activation.
9713
9714         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
9715
9716         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
9717         the issue where all APs are always listed as encrypted.
9718
9719         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
9720         their own registered paths.
9721
9722         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
9723         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
9724
9725 2007-06-13  Tambet Ingo  <tambet@ximian.com>
9726
9727         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
9728         (0 & 0 == 0, doh)
9729
9730         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
9731         because the handling code will cause the next state change and signal listeners
9732         get the signals in wrong order.
9733
9734         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
9735         correctly in case of pending activation.
9736
9737         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
9738         Convert the essid byte array to string correctly, including the terminating NULL.
9739
9740         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
9741         mode with correct types.
9742
9743         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
9744         constructed info to dbus call instead of the activation request.
9745
9746 2007-06-11  Christopher Aillon  <caillon@redhat.com>
9747
9748         Patch from Christian Persch <chpe@gnome.org>
9749
9750         * libnm-glib/Makefile.am:
9751         * dispatcher-daemon/Makefile.am:
9752         Use the correct variables, the correct paths, and correct ordering. (446315)
9753
9754 2007-06-11  Tambet Ingo  <tambet@ximian.com>
9755
9756         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
9757         argument. The activation request is easy to retrieve.
9758
9759         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
9760         just to be a convenient location for devices to store random stuff.
9761
9762 2007-06-11  Christopher Aillon  <caillon@redhat.com>
9763
9764         Patch from Alex Smith <alex@alex-smith.me.uk>
9765
9766         * src/backends/NetworkManagerFrugalware.c:
9767         Update the FrugalWare backend to fix a few segfaults. (#392642)
9768
9769 2007-06-08  Tambet Ingo  <tambet@ximian.com>
9770
9771         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
9772
9773         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
9774         setting.
9775         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
9776
9777 2007-06-06  Tambet Ingo  <tambet@ximian.com>
9778
9779         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
9780         automagically.
9781         Implement NMSettingIP4Config.
9782         Finish NMSettingWired by adding all known members.
9783         (setting_wired_verify): Implement.
9784         Finish NMSettingWireless by adding all known members.
9785         (setting_wireless_verify): Implement.
9786
9787         * libnm-util/nm-connection.c: Register "ipv4" setting.
9788         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
9789         dump function, we can introspect the GHashTable which is used for sending connections
9790         over dbus.
9791
9792         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
9793         Take GByteArray for essid, it's really not a string.
9794
9795         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
9796         Start DHCP request if setting is not passed or if it states that DHCP should be used.
9797         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
9798         means overriding the values we got from DHCP.
9799         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
9800         (nm_device_deactivate_quickly): Ditto.
9801
9802         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
9803         for debugging.
9804
9805 2007-05-07  Tambet Ingo  <tambet@ximian.com>
9806
9807         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
9808         NMConnection.
9809
9810         * libnm-glib/nm-device-802-11-wireless.c:
9811         (nm_device_802_3_ethernet_activate): Remove.
9812
9813         * libnm-glib/nm-device-802-3-ethernet.c
9814         (nm_device_802_3_ethernet_activate): Remove.
9815
9816         * libnm-glib/nm-device.c (nm_device_activate): Implement.
9817
9818         * src/nm-device-802-3-ethernet.c: Implement the new activation using
9819         NMConnection.
9820
9821         * src/nm-device-802-11-wireless.c: Store an activation AP once the
9822         activation has started.
9823         Implement the new activation using NMConnection.
9824
9825         * src/nm-activation-request.c: Store a generic connection object instead
9826         of a wireless-specific AP.
9827
9828         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
9829         on device type, create a device specific connection object suitable for
9830         device activation.
9831
9832         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
9833         specific check to validate the connection and on success start the
9834         activation.
9835
9836         * src/nm-device-interface.h: Add a activate virtual function to the
9837         interface definition.
9838
9839         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
9840         (impl_device_activate): Implement.
9841
9842         * introspection/nm-device.xml: Add a generic device activation interface
9843         that accepts an abstract NMConnection structure that has device-specific
9844         information in it.
9845
9846         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
9847         activation interface.
9848
9849         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
9850         activation interface.
9851
9852         * libnm-util/nm-connection.c: 
9853         * libnm-util/nm-connection.h: 
9854         * libnm-util/nm-setting.c:
9855         * libnm-util/nm-setting.h: Add.
9856
9857         * libnm-util/Makefile.am: Build the added files.
9858
9859         * src/nm-dbus-manager.c
9860         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
9861         DbusConnection argument from 'name-owner-changed' signal. The manager
9862         is already passed as a first argument to the signal and the connection
9863         is easy enough to get from it.
9864
9865         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
9866         Update the signature of the function.
9867
9868         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
9869         Ditto.
9870
9871         * src/NetworkManager.c: Ditto.
9872
9873         * src/named-manager/nm-named-manager.c
9874         (nm_named_manager_name_owner_changed): Ditto.
9875
9876         * src/supplicant-manager/nm-supplicant-manager.c
9877         (nm_supplicant_manager_name_owner_changed): Ditto.
9878
9879         * src/nm-hal-manager.c (name_owner_changed): Ditto.
9880
9881         * src/dhcp-manager/nm-dhcp-manager.c
9882         (nm_dhcp_manager_name_owner_changed): Ditto.
9883
9884         * src/nm-hal-manager.c: Add a list of device detectors and creators
9885         to make it easier to add new devices. Each device type has it's own
9886         entry in the table so adding new device types is only a matter of
9887         implementing a couple of functions, one for device detection and the
9888         other for device creation.
9889
9890 2007-04-25  Dan Williams  <dcbw@redhat.com>
9891
9892         * initscript/RedHat/NetworkManager.in: remove trailing backslash
9893                 (gnome.org #432401)
9894
9895 2007-03-30  Dan Williams  <dcbw@redhat.com>
9896
9897         * src/NetworkManagerSystem.c
9898                 - (nm_system_device_set_ip4_route): clean up and fix argument
9899                         to nm_dev_sock_open()
9900
9901 2007-03-28  Tambet Ingo  <tambet@ximian.com>
9902
9903         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
9904         data to correct types instead of always using string.
9905
9906         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
9907         _not_ have NM_802_11_CAP_PROTO_NONE.
9908         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
9909         is not set.
9910
9911 2007-03-27  Tambet Ingo  <tambet@ximian.com>
9912
9913         * libnm-glib/Makefile.am: Fix the build issue.
9914
9915 2007-03-26  Tambet Ingo  <tambet@ximian.com>
9916
9917         * libnm-glib/nm-vpn-connection.h: 
9918         * libnm-glib/nm-vpn-connection.c: Implement.
9919
9920         * libnm-glib/nm-client.c: Add VPN support.
9921
9922         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
9923         handler for VPN.
9924
9925         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
9926         on DBUS again.
9927
9928 2007-03-26  Dan Williams  <dcbw@redhat.com>
9929
9930         * src/NetworkManagerAPList.c
9931         * src/nm-device-802-11-wireless.c
9932         * src/NetworkManagerAP.c:
9933                 - Store last seen as glong instead of GTimeVal.
9934                 - Fix the upper bound of capabilities, it's a bitfield.
9935
9936 2007-03-16  Tambet Ingo  <tambet@ximian.com>
9937
9938         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
9939
9940         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
9941         "manager-running" signal that notifies the appearance/disappearance of NM.
9942         (nm_client_sleep): Implement.
9943
9944         * libnm-glib/nm-device.c:
9945         * libnm-glib/nm-device-802-11-wireless.c: 
9946         * libnm-glib/nm-device-802-3-ethernet.c: 
9947
9948         Don't inherit from DBusGProxy, add a proxy to private
9949         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
9950         for anything but their own dbus interface. DBusGProxy objects support only one
9951         interfaces and to work around this, NMDevice has spearate proxy for each dbus
9952         interface. The nice side effect of this change is that we do not create a new
9953         DBusGProxy object for each property access.
9954
9955 2007-03-15  Tambet Ingo  <tambet@ximian.com>
9956
9957         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
9958         with zeroes before passing them to functions - the functions never do that and
9959         reading the values back may produce wrong values.
9960         (real_bring_up): Store the signal handler id ...
9961         (real_bring_down): ... So that it can be removed here.
9962         Disconnect the supplicant interface here as well.
9963         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
9964         from the access point instead of old $device/Networks/$essid.
9965
9966         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
9967         device state is connected (instead of just having link/carrier).
9968
9969         * src/nm-activation-request.c: Don't store NMData in activation request, it's
9970         already easily accessible through the device.
9971
9972         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
9973         store it within the object.
9974         (nm_ap_get_dbus_path): Export it to public as well.
9975
9976         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
9977         of the singleton.
9978
9979 2007-03-12  Dan Williams  <dcbw@redhat.com>
9980
9981         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
9982         for non-carrier-detect capable devices, and useless for carrier-detect
9983         devices since we get notifications from netlink about carrier status anyway.
9984
9985         * src/nm-device-802-3-ethernet.c
9986                 - remove 'link_source_id' member from private data
9987                 - (probe_link): remove and collapse into real_update_link()
9988                 - (nm_device_802_3_periodic_update): remove
9989                 - (real_is_up): check for sup_iface rather than link_source_id
9990                 - (real_bring_up): return gboolean for success/fail; require that
9991                         sup_iface be valid for device bringup to succeed
9992                 - (real_bring_down): zero out link signal ids
9993
9994         * src/nm-device.c
9995                 - (nm_device_activate_stage2_device_config): fail activation if device
9996                         bringup fails
9997                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
9998                         fails
9999                 - (nm_device_bring_up): return success/fail
10000
10001         * src/nm-device.h
10002                 - bring_up now returns success/fail
10003
10004         * src/nm-device-802-11-wireless.c
10005                 - (real_bring_up): return success from bringup
10006
10007 2007-03-07  Dan Williams  <dcbw@redhat.com>
10008
10009         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
10010         * src/nm-ap-security-wpa-psk.c
10011                 - (real_write_supplicant_config): work with PSKs that may contain
10012                         zeros in the binary format rather than treating it as a string
10013
10014 2007-03-02  Tambet Ingo  <tambet@ximian.com>
10015
10016         * libnm-glib/nm-device-802-11-wireless.c
10017         (nm_device_802_11_wireless_get_capabilities): Implement.
10018
10019         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
10020
10021         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
10022
10023         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
10024         reply only if it's not NULL. Not sure why this started happening right now.
10025
10026         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
10027         code paths for when devices get removed on shutdown or when a device is just
10028         removed.
10029         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
10030         gets freed so any signal from a device (disconnected for instance) would invoke
10031         NMState update which would crash.
10032         (nm_manager_remove_device): Bring the device down when it gets removed.
10033
10034         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
10035         the unused dev_type.
10036
10037         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
10038         reference to the added device, NMManager will own it (if it wants).
10039
10040         * test/nm-tool.c: Rewrite using libnm-glib.
10041
10042         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
10043         We get signalled when it changes.
10044
10045         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
10046         when it changes.
10047
10048         * libnm-glib/nm-device.c: Cache the device state property.
10049
10050         * libnm-glib/nm-access-point.c: Cache the strength property.
10051
10052         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
10053         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
10054         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
10055         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
10056         the device is down, activating, or activated (in case of A/B/G cards).
10057         Remove some old dead ifdef'ed out code that used to configure wireless devices,
10058         it's all done through supplicant now.
10059
10060         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
10061         counting issues with pending calls which caused leaks and crashes when
10062         interface was removed (now that the interface actually gets removed).
10063
10064         * src/nm-call-store.c: Make a copy of data before running a foreach
10065         with user callback on it - The most common usage pattern is to cancel
10066         (and thus remove) all pending calls with foreach which would modify
10067         the hash table we're iterating over.
10068
10069         * src/nm-manager.c: When a device is added, make sure it is "up". When
10070         it's removed or disabled due to disabling wireless or networking, bring
10071         it down.
10072
10073         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
10074
10075         * src/nm-device-802-11-wireless.c: 
10076         * src/nm-device-802-3-ethernet.c: 
10077         * src/nm-device.c:
10078                 - Remove "init" virtual function, all gobjects have a place for that
10079                   already (constructor).
10080                 - Replace "start" virtual function with "bring_up", devices can be
10081                   brought up and down more than just on startup now.
10082                 - Add "is_up" virtual function.
10083                 - Implement one way to bring a device down instead of previous 4 different
10084                   ways, each of witch did something different.
10085
10086         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
10087         all it needs is the device interface.
10088
10089         Get rid of NMData.dev_list (3 members to go).
10090         Get rif of NMData in a lot of places.
10091
10092         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
10093
10094 2007-02-23  Dan Williams  <dcbw@redhat.com>
10095
10096         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
10097
10098         * src/NetworkManagerAP.c
10099                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
10100                         OR-ing rather than AND-ing
10101
10102 2007-02-20  Tambet Ingo  <tambet@ximian.com>
10103
10104         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
10105         "network-removed" signals.
10106
10107         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
10108
10109         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
10110         when receiving the signal from dbus.
10111
10112         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
10113         property.
10114
10115         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
10116         deactivation of the previously activated device working again.
10117
10118         * src/nm-activation-request.c: Remove NMActStage property and it's getter
10119         and setter.
10120
10121         * src/nm-device.c (nm_device_is_activated): Remove.
10122         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
10123
10124         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
10125         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
10126         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
10127         NM_DBUS_SIGNAL_STATE_CHANGE signal.
10128         Remove NMNetworkStatus and NMActStage enums.
10129
10130 2007-02-19  Tambet Ingo  <tambet@ximian.com>
10131
10132         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
10133         Handle device state changes and disconnect VPN if it's device deactivates.
10134
10135         * src/nm-dbus-nm.c: 
10136         * src/nm-dbus-nm.h: 
10137         * src/nm-dbus-device.c: 
10138         * src/nm-dbus-device.c: 
10139         * src/nm-dbus-net.c: 
10140         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
10141
10142         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
10143
10144         * src/nm-device.c (nm_device_get_by_udi):
10145         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
10146         implemented in the correct location (NMManager).
10147         Rip out all the test_device stuff.
10148
10149         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
10150         failure handlers, it's all done by NMDevice already.
10151
10152         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
10153         Remove the iochannel hack to route the unix signals to the main thread since
10154         we're not threaded anymore.
10155
10156         * src/NetworkManagerAP.c: Implement HWAddress property.
10157
10158         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
10159         automatically with dbus-glib.
10160
10161         * src/nm-netlink-monitor.c: 
10162         * src/nm-netlink-monitor.h:
10163                 - Move it low in the class hierarchy, don't reference any NM types.
10164                 - Remove private data from the header.
10165                 - Use type safe checks in public API methods.
10166                 - Make it a singleton so we don't have to pass the single reference around.
10167
10168 2007-02-16  Tambet Ingo  <tambet@ximian.com>
10169
10170         * introspection/nm-ip4-config.xml: Implement.
10171
10172         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
10173
10174         * libnm-glib/nm-ip4-config.c:
10175         * libnm-glib/nm-ip4-config.c: Implement.
10176
10177         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
10178         securities. APs reference security.
10179
10180         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
10181         be exported over DBUS.
10182
10183         * src/nm-device-802-3-ethernet.c: Ditto.
10184
10185         * src/NetworkManagerAP.c:
10186         * src/NetworkManagerAP.h:
10187                 - Convert to GObject, export over DBUS.
10188
10189         * src/nm-ip4-config.h:
10190         * src/nm-ip4-config.h:
10191                 - Convert to GObject, export over DBUS.
10192
10193 2007-02-12  Dan Williams  <dcbw@redhat.com>
10194
10195         Patch from Helmut Schaa <hschaa@suse.de>
10196
10197         * vpn-daemons/pptp/configure.in
10198           vpn-daemons/pptp/Makefile.am
10199           vpn-daemons/openvpn/configure.in
10200           vpn-daemons/openvpn/Makefile.am
10201           vpn-daemons/vpnc/configure.in
10202           vpn-daemons/vpnc/Makefile.am
10203                 - Add --without-gnome switch which disables building gnome bits
10204
10205 2007-02-12  Tambet Ingo  <tambet@ximian.com>
10206
10207         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
10208
10209         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
10210
10211         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
10212         'HwAddress'.
10213
10214         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10215
10216         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10217
10218         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10219
10220         * src/:
10221                 - Remove old low-level dbus interface implementations and replace them
10222                   with dbus-glib one.
10223
10224         * configure.in:
10225                 - Require dbus-glib >= 0.72.
10226                 - Plug in new sources to build.
10227
10228         * libnm-glib/:
10229                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
10230                   to make it more convenient to use from GObject based programs.
10231
10232         * introspection/:
10233                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
10234
10235 2007-02-09  Tambet Ingo  <tambet@ximian.com>
10236
10237         * src/nm-device-802-11-wireless.c:
10238                 - Add "network-added" and "network-removed" signals.
10239                 - Use gobject boilerplate macros to define the GObject.
10240                 - Implement wireless device activation.
10241                 - Remove activation_failure_handler and activation_success_handler
10242                   and instead listen on state-changed signals and run the same code
10243                   from there.
10244
10245         * src/nm-device.c:
10246                 - Implment NMDeviceInterface::deactivate.
10247                 - Remove activation_failure_handler and activation_success_handler
10248                   virtual methods. Each device which is interested in these events
10249                   can just listen on it's state changed signals.
10250
10251         * src/NetworkManagerPolicy.c:
10252                 - Move a bit more NMData usage to NMManager.
10253                 - Remove activation scheduling bits.
10254                 - Add listeners for wireless device's "network-added" and
10255                   "network-removed" signals.
10256                 - Listen device changed signals and deactivate currently activated
10257                   device when another device start activating (for now).
10258                 - Remove (nm_policy_schedule_device_change_check): There's never a need
10259                   for calling this, the policy code knows exactly when this should happen,
10260                   by listening on events from NMManager and NMDevices.
10261
10262         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
10263         Implement.
10264
10265         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
10266         method on the specific device instead of going to through policy code
10267         and determining the device type by passed in AP's existance.
10268
10269         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
10270         abstract NMDevice deactivation.
10271
10272 2007-02-08  Tambet Ingo  <tambet@ximian.com>
10273
10274         * src/NetworkManager.c:
10275                 - Set up all the shiny new managers.
10276
10277         * src/NetworkManagerPolicy.c:
10278                 - Add the beginnings of new NMPolicy code. Instead of requireing all
10279                   classes to call into policy code, make the policy code kind of like
10280                   a supervisor that monitors what's going on and drives the whole NM.
10281
10282         * src/nm-hal-manager.c: 
10283         * src/nm-hal-manager.h:
10284                 - Collect all libhal code scattered around NM to this one class.
10285                 - Listen libhal and NMManager events and add/remove devices to
10286                   NMManager.
10287
10288         * src/nm-manager.c:
10289         * src/nm-manager.h:
10290                 - Implment a replacement for NMData. NMData is now officially
10291                 deprecated.
10292
10293 2007-02-05  Tambet Ingo  <tambet@ximian.com>
10294
10295         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
10296         * src/supplicant-manager/nm-supplicant-interface.h
10297         * src/supplicant-manager/nm-supplicant-interface.c
10298         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
10299         argument to boolean from enum.
10300
10301         Make NMDevice abstract class, remove almost all references to it's
10302         subclasses (the last place gets removed with new policy manager). Add
10303         NMDeviceInterface (which NMDevice implements) so that when we have
10304         NMDevice exported over DBUS, there's a common NMDevice interface which
10305         all instances have, plus there's a device specific interface for each
10306         specific type.
10307         Remove functions (nm_device_is_802_3_ethernet) and
10308         (nm_device_is_802_11_wireless). There are already standard GObject macros
10309         for type safe checks.
10310         Use the updated supplican manager API.
10311
10312         * src/nm-device-interface.h: 
10313         * src/nm-device-interface.c: 
10314         * src/nm-call-store.h: 
10315         * src/nm-call-store.c: Implement.
10316
10317         * src/supplicant-manager/nm-supplicant-interface.c:
10318         * src/supplicant-manager/nm-supplicant-interface.h:
10319         * src/supplicant-manager/nm-supplicant-manager.c:
10320         * src/supplicant-manager/nm-supplicant-manager.h:
10321                 - Remove all private data type references from public header files.
10322                 - Remove all references to other NM classes, this class is just a
10323                   proxy between wpa_supplicant and NM so it doesn't have to know
10324                   any internals.
10325                 - Convert to dbus-glib bindings.
10326                 - Type safe checks for public methods' arguments.
10327                 - Store pending DBUS call ids to NMCallStore.
10328
10329         * src/supplicant-manager/nm-supplicant-config.c:
10330                 - Store config values in a GHashTable instead of GSList.
10331
10332         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
10333
10334         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
10335         singleton now.
10336
10337         * src/nm-device.c: Use the new DHCP manager API.
10338
10339         * src/nm-activation-request.c:
10340         * src/nm-activation-request.h:
10341                 - Remove all dhcp related properties and methods.
10342
10343         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
10344
10345         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
10346
10347         * src/dhcp-manager/nm-dhcp-manager.c:
10348         * src/dhcp-manager/nm-dhcp-manager.h:
10349                 - Convert it to GObject since we need to signal state changes.
10350                 - Remove all references to other NM classes, this class is one
10351                   of the lowest classes in our hierarchy.
10352                 - One less class to use NMActRequest.
10353                 - Make it singleton, one less user of NMData.
10354                 - Remove a couple of sleep() calls.
10355                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
10356                   One less class to use the NM's custom tailored signal handlig.
10357
10358         * Makefile.am: Generate marshallers, add them to build.
10359
10360 2007-02-02  Dan Williams  <dcbw@redhat.com>
10361
10362         * configure.in
10363           gnome/Makefile.am
10364           nm-applet.desktop
10365           Makefile.am
10366                 - Remove last bits referencing gnome applet
10367
10368 2007-02-02  Dan Williams  <dcbw@redhat.com>
10369
10370         * src/vpn-manager/nm-vpn-service.c
10371                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
10372                         and NBNS server addresses
10373
10374 2007-02-02  Tambet Ingo  <tambet@ximian.com>
10375
10376         * src/nm-dbus-manager.c:
10377         * src/nm-dbus-manager.h:
10378                 - Convert all internal DBUS code to use dbus-glib bindings.
10379                 - Remove GObject properties, we don't need them here.
10380                 - Don't explicitly set things to NULL after freeing, glib is
10381                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
10382                 - Make public API argument checks type safe.
10383                 - Remove unnecessary (and wrong) cast to GObject for the first
10384                   argument to g_signal_* calls - The first argument is a gpointer.
10385                 - Export DBusGConnection to other cool classes that (are going to)
10386                   use dbus-glib.
10387
10388 2007-01-26  Dan Williams  <dcbw@redhat.com>
10389
10390         * libnm-util/dbus-dict-helpers.c
10391           libnm-util/dbus-dict-helpers.h
10392                 - Coordinate style with wpa_supplicant version to minimize diff
10393                 - Add uint32 array support
10394                 - (nmu_dbus_dict_append_uint32_array): new function
10395                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
10396                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
10397                         version; allow adding string array elements individually
10398
10399         * test/libnm-util/test-dbus-dict-helpers.c
10400                 - Test uint32 arrays
10401
10402 2007-01-27  Jürg Billeter  <j@bitron.ch>
10403
10404         * src/backends/NetworkManagerPaldo.c
10405                 - (nm_system_update_dns): clear nscd hosts cache
10406
10407 2007-01-04  Dan Williams  <dcbw@redhat.com>
10408
10409         Threading removal related cleanups:
10410
10411         - Use the glib default main context.  Remove the device main context
10412                 member from NMDevice, and the main_context member from NMData.  Change
10413                 all the idle and timeout scheduler functions to use plain
10414                 g_idle_add() and g_timeout_add().
10415
10416         - As a side-effect of the first change, nm_dbus_manager_get() no longer
10417                 takes an argument; fix that up too.
10418
10419         - Remove all locking, which is useless since we no longer use threads.  For
10420                 example, nm_get_device_by_iface_locked() has been removed.  The global
10421                 device list lock, the AP List lock, and all static locks in
10422                 NetworkManagerPolicy.c have been removed.  The locking utility functions
10423                 in NetworkManagerUtils.c have also been removed.
10424
10425         - Other cleanups in spacing and code style
10426
10427 2007-01-01  Dan Williams  <dcbw@redhat.com>
10428
10429         Found by Bill Moss:
10430
10431         * src/supplicant-manager/nm-supplicant-interface.c
10432                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
10433                         the supplicant interface wasn't already disconnected.  Always
10434                         call removeNetwork and disconnect unless the supplicant interface
10435                         is in the DISCONNECTED or INACTIVE state.
10436
10437 2006-12-28  Dan Williams  <dcbw@redhat.com>
10438
10439         Use a single thread for everything.  With the move to wpa_supplicant
10440         and communication over D-Bus, there's no reason for multiple threads.
10441         Almost all of the blocking code has been removed, with one exception in
10442         the DHCP manager and a few in the VPN manager.  This commit removes the
10443         per-device worker thread and fixes activation cancellation in the absence
10444         of threads.  Further removal of thread-related code would be removing
10445         any locking code (like the device list lock) and simplification of logic
10446         around areas of code or data structures that are currently locked.
10447
10448         * autoip.c
10449           dhcp-manager/nm-dhcp-manager.c 
10450           nm-device-802-11-wireless.c
10451           nm-device-802-3-ethernet.c
10452           nm-device.c
10453           nm-device.h
10454                 - Remove usage of multiple threads
10455
10456 2006-12-19  Dan Williams  <dcbw@redhat.com>
10457
10458         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
10459         plus a few other patches from wpa_supplicant bugzilla.
10460
10461         * src/Makefile.am
10462           src/NetworkManagerPolicy.c
10463           src/NetworkManagerUtils.c
10464           src/NetworkManagerUtils.h
10465           src/nm-ap-security-leap.c
10466           src/nm-ap-security-wep.c
10467           src/nm-ap-security-wpa-eap.c
10468           src/nm-ap-security-wpa-psk.c
10469           src/nm-ap-security.c
10470           src/nm-ap-security.h
10471           src/nm-device-802-11-wireless.c
10472           src/nm-device-802-11-wireless.h
10473           src/supplicant-manager/nm-supplicant-config.c
10474           src/supplicant-manager/nm-supplicant-config.h
10475           src/supplicant-manager/nm-supplicant-interface.c
10476           src/supplicant-manager/nm-supplicant-interface.h
10477           src/supplicant-manager/nm-supplicant-marshal.list
10478           src/supplicant-manager/nm-supplicant-settings-verify.c
10479           src/supplicant-manager/nm-supplicant-settings-verify.h
10480                 - Move all connection management and association handling to
10481                         wpa_supplicant over dbus, rather than spawning a private copy
10482
10483 2006-12-19  Dan Williams  <dcbw@redhat.com>
10484
10485         * src/NetworkManagerPolicy.c
10486                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
10487                         better locking of the device change check handler ID.  Incorrect
10488                         locking was causing lost device change requests
10489
10490 2006-12-18  Dan Williams  <dcbw@redhat.com>
10491
10492         * libnm-util/dbus-dict-helpers.c
10493                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
10494                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
10495                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
10496
10497 2006-12-18  Dan Williams  <dcbw@redhat.com>
10498
10499         * gnome/libnm_glib/libnm_glib.c
10500                 - Change dbus_connection_close() -> dbus_connection_unref()
10501
10502 2006-12-11  Dan Williams  <dcbw@redhat.com>
10503
10504         * src/supplicant-manager/nm-supplicant-interface.c
10505                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
10506                         wpa_supplicant interface state
10507                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
10508                         state before transitioning to READY state
10509
10510 2006-12-04  Dan Williams  <dcbw@redhat.com>
10511
10512         * src/nm-device-802-11-wireless.c
10513                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
10514                         odd length of ESSID returned from ieee80211 stack-based drivers
10515
10516 2006-12-04  Dan Williams  <dcbw@redhat.com>
10517
10518         * src/nm-device-802-11-wireless.c
10519                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
10520                         IE handling blocks that cause mis-parsing of the IE
10521
10522 2006-12-04  Dan Williams  <dcbw@redhat.com>
10523
10524         * src/nm-device-802-11-wireless.c
10525                 - (init_supplicant_interface): new function; pull supplicant interface
10526                         setup code out into standalone function since it must be called from
10527                         two different places
10528                 - (real_init): sup_mgr is now in private object data; get and track
10529                         the supplicant manager object over the NMDevice subclass' lifetime
10530                         and register a signal handler for its state signals; only try to
10531                         initialize the supplicant interface if the supplicant manager is in
10532                         the IDLE state (and therefore is ready for requests)
10533                 - (request_wireless_scan): reschedule the scan request if (a) there is
10534                         no supplicant interface yet (meaning wpa_supplicant isn't running
10535                         or isn't ready yet), or (b) if the supplicant interface isn't ready
10536                         for requests yet
10537                 - (supplicant_iface_connection_state_cb): new function; stub for
10538                         handling supplicant interface connection state signals
10539                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
10540                         comes and goes
10541                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
10542                         supplicant manager object that's being tracked starting with this
10543                         commit
10544
10545 2006-12-04  Dan Williams  <dcbw@redhat.com>
10546
10547         * src/supplicant-manager/nm-supplicant-interface.c
10548                 - (nm_supplicant_interface_set_property): track signal handler ID
10549                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
10550
10551 2006-12-04  Dan Williams  <dcbw@redhat.com>
10552
10553         * src/supplicant-manager/nm-supplicant-interface.[ch]
10554                 - (nm_supplicant_interface_get_state): new function
10555
10556 2006-12-04  Dan Williams  <dcbw@redhat.com>
10557
10558         * src/supplicant-manager/nm-supplicant-interface.c
10559                 - (bssid_properties_cb): don't treat DBus errors as valid
10560                         scanned AP messages
10561
10562 2006-12-04  Dan Williams  <dcbw@redhat.com>
10563
10564         * src/supplicant-manager/nm-supplicant-interface.[ch]
10565                 - (nm_supplicant_interface_get_connection_state): new function
10566                 - define new supplicant connection states
10567                 - send a signal when the supplicant connection state changes
10568
10569 2006-12-03  Dan Williams  <dcbw@redhat.com>
10570
10571         * src/supplicant-manager/Makefile.am
10572           src/supplicant-manager/nm-supplicant-connection.h
10573           src/supplicant-manager/nm-supplicant-connection.c
10574           src/supplicant-manager/nm-supplicant-config.h
10575           src/supplicant-manager/nm-supplicant-config.c
10576           src/supplicant-manager/nm-supplicant-types.h
10577           src/supplicant-manager/nm-supplicant-interface.h
10578           src/supplicant-manager/nm-supplicant-interface.c
10579                 - Rename NMSupplicantConnection -> NMSupplicantConfig
10580
10581 2006-12-03  Dan Williams  <dcbw@redhat.com>
10582
10583         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
10584
10585         * po/POTFILES.in
10586           po/POTFILES.skip
10587                 - Move VPN-related translatables to .skip
10588
10589         * vpn-daemons/pptp/po/POTFILES.in
10590                 - Update with new translatables
10591
10592 2006-12-02  Dan Williams  <dcbw@redhat.com>
10593
10594         Patch from Christian Persch <chpe@gnome.org>
10595
10596         * gnome/applet/Makefile.am
10597           gnome/applet/applet-dbus-devices.c
10598           gnome/applet/applet-notifications.c
10599           gnome/applet/applet.c
10600           gnome/applet/applet.h
10601           gnome/applet/main.c
10602                 - Be a GtkStatusIcon on GTK+ >= 2.10
10603
10604 2006-12-02  Dan Williams  <dcbw@redhat.com>
10605
10606         * gnome/applet/applet.c
10607                 - (nma_update_info): fix two unecessary allocations
10608
10609 2006-12-02  Dan Williams  <dcbw@redhat.com>
10610
10611         Patch from Michael Biebl <biebl@teco.edu>
10612         * configure.in
10613           man/NetworkManager.1.in
10614           man/NetworkManagerDispatcher.1.in
10615           man/NetworkManager.8.in
10616           man/NetworkManagerDispatcher.8.in
10617                 - Add .SH NAME stanzas
10618                 - Move NM & NM Dispatcher manpages to section 8 (admin)
10619
10620 2006-12-02  Dan Williams  <dcbw@redhat.com>
10621
10622         Patch from Christian Persch <chpe@gnome.org>
10623
10624         * configure.in
10625                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
10626
10627 2006-11-29  Tambet Ingo  <tambet@ximian.com>
10628
10629         Patch by Timo Hoenig <thoenig@suse.de>:
10630         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
10631         DBUS-1.0.
10632
10633         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
10634         we can't use the one from the main source directory.
10635
10636 2006-11-27  Dan Williams  <dcbw@redhat.com>
10637
10638         Patch from Christian Persch <chpe@gnome.org>
10639
10640         * gnome/applet/applet-dbus-devices.c
10641                 - (hal_info_product_cb): fix memleak; free duped string.
10642                         Gnome.org #379908
10643
10644 2006-11-27  Dan Williams  <dcbw@redhat.com>
10645
10646         Patch from Christian Persch <chpe@gnome.org>
10647
10648         * gnome/applet/menu-items.c
10649                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
10650                         as gtk_progress_set_percentage is deprecated.  Should
10651                         work as far back as GTK+ 2.4.  Gnome.org #379780
10652
10653 2006-11-26  Dan Williams  <dcbw@redhat.com>
10654
10655         Scan using wpa_supplicant over DBus.
10656
10657         * src/nm-device-802-11-wireless.c
10658                 - remove wireless extensions netlink event handler bits
10659                         (wireless_event_helper, nm_device_802_11_wireless_event)
10660                 - remove wireless extensions scan event handler bits
10661                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
10662                         hex2byte, hex2num, request_and_convert_scan_results,
10663                         free_process_scan_cb_data, scan_results_timeout,
10664                         schedule_scan_results_timeout, cancel_scan_results_timeout)
10665                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
10666                         and request scans from the supplicant interface rather than directly
10667                 - Move functionality of convert_scan_results() to cull_scan_list() and
10668                         supplicant_iface_scanned_ap_cb()
10669                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
10670                         at the scan interval when the current scan has finished
10671                 - (supplicant_iface_state_cb): start scanning when the supplicant
10672                         interface enters the READY state, and stop scanning when it
10673                         enters the DOWN state
10674                 - (cull_scan_list): weed out old access points from the scan list
10675                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
10676                         point into an NMAccessPoint and merge it into the device's scan list
10677
10678         * src/supplicant-manager/nm-supplicant-interface.c
10679           src/supplicant-manager/nm-supplicant-interface.h
10680                 - Add a new signal "scan-result" which is issued when the supplicant
10681                         notifies NM that a scan has completed
10682                 - Add a new signal "scanned-ap" that notifies listeners of a new access
10683                         point found in the scan.  Called once for each access point that
10684                         the supplicant interface object receives from the supplicant as a
10685                         result of the "scanResults" method call
10686                 - (wpas_iface_query_scan_results): don't wait 4s before querying
10687                         for the initial scan results
10688                 - (scan_request_cb): new function; send listeners the result
10689                         (success, error) of a wireless scan request
10690                 - (nm_supplicant_interface_request_scan): new function; ask the
10691                         supplicant to perform an immediate wireless scan
10692
10693 2006-11-25  Dan Williams  <dcbw@redhat.com>
10694
10695         * src/supplicant-manager/Makefile.am
10696                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
10697                         add HAL cflags/includes and named-manager includes directory
10698
10699         * src/supplicant-manager/nm-supplicant-interface.h
10700                 - New state STARTING to handle transition from INIT to READY where
10701                         the addInterface pending call is still outstanding
10702
10703         * src/supplicant-manager/nm-supplicant-interface.c
10704                 - track pending calls differently since we may have more than one
10705                         going on at any given time
10706                 - request scan results from wpa_supplicant; but don't do it more often
10707                         than every 4 seconds.  Drivers that do background scanning
10708                         (like the 'ipw' drivers) send a continuous stream of scan completion
10709                         notifications, so we don't want to hammer the supplicant or dbus
10710                         with requests for all scan results every time we get a completion
10711                         notification.
10712
10713 2006-11-25  Dan Williams  <dcbw@redhat.com>
10714
10715         * src/supplicant-manager/nm-supplicant-types.h
10716                 - new file; move all supplicant manager object typedefs here for
10717                         #include sanity
10718
10719         * src/supplicant-manager/nm-supplicant-interface.c
10720           src/supplicant-manager/nm-supplicant-interface.h
10721                 - new file; an object that interfaces an NMDevice object to the
10722                         supplicant and handles signals from the supplicant.  This object
10723                         does all necessary DBus communication with wpa_supplicant.
10724
10725         * src/supplicant-manager/nm-supplicant-manager.c
10726           src/supplicant-manager/nm-supplicant-manager.h
10727                 - Actually do something.  Track the state of the wpa_supplicant service
10728                         and deal with its comings & goings.  Handle life events of
10729                         supplicant interfaces too.
10730                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
10731
10732         * src/supplicant-manager/nm-supplicant-connection.h
10733                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
10734
10735         * src/supplicant-manager/Makefile.am
10736                 - Add new files to build, and add libnm-util to includes
10737
10738         * src/nm-marshal.list
10739                 - New marshaler type: VOID:UINT,UINT
10740
10741         * src/nm-device-802-3-ethernet.c
10742                 - (real_init): grab a supplicant interface
10743                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
10744                 - (supplicant_iface_state_cb): new function, stub for handling
10745                         supplicant interface state changes
10746
10747         * src/nm-device-802-11-wireless.c
10748                 - (real_init): grab a supplicant interface
10749                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
10750                 - (supplicant_iface_state_cb): new function, stub for handling
10751                         supplicant interface state changes
10752
10753         * src/NetworkManager.c
10754                 - (main): create and keep the supplicant manager around for the lifetime
10755                         of NetworkManager
10756
10757         * src/Makefile.am
10758                 - Link to the supplicant manager sub-library and use the supplicant
10759                         manager includes
10760
10761 2006-11-25  Dan Williams  <dcbw@redhat.com>
10762
10763         Rework DBus manager signal handling to be more flexible.  Previously,
10764         only one signal handler could be registered for a particular interface.
10765         The DBus manager now reference counts DBus bus matches and allows multiple
10766         clients to register signal handlers for the same interface and sender.
10767
10768         * src/NetworkManager.c
10769                 - (main): track NMI signal handler ID and remove it when we quit
10770
10771         * src/NetworkManagerMain.h
10772                 - Keep track of NMI signal handler ID
10773
10774         * src/nm-dbus-manager.c
10775           src/nm-dbus-manager.h
10776                 - rework signal handling; each signal handler references one signal
10777                         match, but a signal match may be referenced by one or more
10778                         signal handlers.  Matches are refcounted and are destroyed when the
10779                         last signal handler that references the match is removed.  This is
10780                         necessary because two signal handlers may end up requiring the same
10781                         dbus bus match, so the match must live until the last signal handler
10782                         is destroyed (for example, with the wpa_supplicant network interface
10783                         dbus interface).
10784
10785         * src/dhcp-manager/nm-dhcp-manager.c
10786                 - (nm_dhcp_manager_new): track DHCP signal handler id
10787                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
10788
10789         * src/vpn-manager/nm-vpn-service.c
10790                 - (nm_vpn_service_add_watch): track VPN service signal handler id
10791                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
10792
10793 2006-11-25  Dan Williams  <dcbw@redhat.com>
10794
10795         Suggested by Helmut Schaa <hschaa@suse.de>
10796
10797         * src/vpn-daemons/nm-vpn-service.c
10798                 - (supplicant_child_setup): new function
10799                 - (supplicant_exec): make child process use a new process group id
10800
10801         * src/nm-device-802-11-wireless.c
10802                 - (nm_vpn_service_child_setup): new function
10803                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
10804                         process group id
10805
10806 2006-11-19  Dan Williams  <dcbw@redhat.com>
10807
10808         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
10809         * gnome/vpn-properties/nm-vpn-properties.c
10810                 - clean up after renamed VPN connection
10811
10812 2006-11-19  Dan Williams  <dcbw@redhat.com>
10813
10814         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
10815         * gnome/applet/applet-dbus-vpn.c
10816                 - (nma_dbus_vpn_properties_cb): sort VPN connections
10817
10818         * gnome/vpn-properties/nm-vpn-properties.c
10819                 - (init_app): sort VPN connections
10820
10821 2006-11-09  Dan Williams  <dcbw@redhat.com>
10822
10823         * src/NetworkManagerAPList.c
10824                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
10825                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
10826                 from the nm_ap_list_get_ap_by_address() call was incorrect and
10827                 broke hidden SSID matching.  Found by Bill Moss.
10828
10829 2006-10-25  Dan Williams  <dcbw@redhat.com>
10830
10831         * src/nm-dbus-nm.c
10832                 - (nm_dbus_nm_set_active_device): return an empty success message on
10833                         success, rather than falling through to the error case.
10834
10835 2006-10-25  Dan Williams  <dcbw@redhat.com>
10836
10837         * src/NetworkManagerUtils.c
10838                 - (nm_utils_supplicant_request_with_check): suppress messages for the
10839                         "SCAN" command
10840
10841 2006-10-24  Dan Williams  <dcbw@redhat.com>
10842
10843         Reduce the number of times the Gnome applet wakes up, especially when
10844         it's doing absolutely nothing and is hidden.  Initial patch by
10845         Chris Aillon.
10846
10847         * gnome/applet/applet-dbus.c
10848                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
10849                         kill the redraw timeout.  When NM starts up, start the redraw
10850                         timeout.  Also, if we get kicked off the bus for some reason,
10851                         start the reconnection timeout if one's not already running.
10852                 - (nma_dbus_init): better handling of error conditions, don't leak
10853                         a half-initialized dbus connection
10854                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
10855                         the applet's data, just call nm_dbus_init_helper()
10856                 - (nma_start_dbus_connection_watch): new function, starts a periodic
10857                         timeout that calls nma_dbus_connection_watcher()
10858                 - (nma_dbus_init_helper): if we get a successful connection, kill the
10859                         reconnection timeout, and don't start the reconnection timeout
10860                         unconditionally anymore
10861
10862         * gnome/applet/applet-dbus.h
10863                 - Expose nma_start_dbus_connection_watch()
10864
10865         * gnome/applet/applet.c
10866                 - (nma_update_state): no longer static, called from applet-dbus.c for
10867                         immediate UI updates on certain events
10868                 - (nma_set_running): new function; take over setting applet->running,
10869                         when not running (ie, NM is not active), don't activate the redraw
10870                         timeout because we're not showing the applet anyway.  When we are
10871                         running (ie, NM is active), and only when we're running, start the
10872                         redraw timeout.
10873                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
10874                         kill any reconnection timeout
10875                 - (nma_get_instance): move one-off dbus initialization code here since
10876                         nm_dbus_init_helper() gets called more than once, possibly by the
10877                         reconnection timeout function too.  And, when we start up, if we
10878                         can't get a connection to the bus, start the reconnection timeout.
10879                         But don't start the redraw timeout yet, only do that when we get
10880                         NM's state and find out if it's running or not.
10881
10882         * gnome/applet/applet.h
10883                 - Add the reconnection GSource ID
10884                 - Add prototypes for nma_set_running() and the no-longer-static
10885                         nma_update_state()
10886
10887 2006-10-24  Dan Williams  <dcbw@redhat.com>
10888
10889         * src/vpn-daemons/nm-dbus-vpnc.c
10890                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
10891                         pending call tracker
10892                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
10893                         pending call tracker; register one-vpn-connection update pending
10894                         call in pending call tracker
10895                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
10896                         update pending call in pending call tracker
10897                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
10898                         update pending call in pending call tracker; don't block waiting
10899                         for call to return
10900
10901 2006-10-19  Robert Love  <rml@novell.com>
10902
10903         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
10904           refresh the cache.
10905
10906 2006-10-14  Dan Williams  <dcbw@redhat.com>
10907
10908         * src/dhcp-manager/nm-dhcp-manager.c
10909                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
10910                 the dbus connection and the device object path rather than
10911                 constructing it inside both functions.  Saves a bit of memory
10912                 and clarifies a failure path.
10913                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
10914                 and allocate device path here rather than each of the two
10915                 functions above.
10916
10917 2006-10-13  Dan Williams  <dcbw@redhat.com>
10918
10919         * src/NetworkManager.c
10920                 - (nm_name_owner_changed_handler): handle NMI coming and going,
10921                 this somehow droppout in the refactor
10922
10923 2006-10-13  Dan Williams  <dcbw@redhat.com>
10924
10925         * Huge DBus refactor:
10926                 - Create a "DBus Manager" object which manages the connection and
10927                 sends signals on NameOwnerChanged and connection/disconnection events,
10928                 handles reconnection to the bus if NM gets kicked off, and abstracts
10929                 signal handling
10930                 - Remove DBusConnection members from places where they are no
10931                 longer needed due to the refactor, like the dbus-connection
10932                 property of the named manager, and from NMData
10933                 - Reformats a bunch of the code to gnome style
10934                 (8-space tabs, braces on same line as statement, 80-col width).
10935                 Consider it open season to reformat any bits to gnome style.
10936                 style that aren't already.
10937
10938 2006-10-13  Dan Williams  <dcbw@redhat.com>
10939
10940         * src/supplicant-manager/Makefile.am
10941                 - Add new files
10942
10943         * src/supplicant-manager/nm-supplicant-manager.[ch]:
10944                 - Make it a minimal GObject
10945
10946         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
10947                 - Verify settings destined for wpa_supplicant
10948
10949         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
10950                 - Minimal GObject to track wpa_supplicant controlled device
10951                 connections
10952
10953 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
10954
10955         * gnome/applet/applet.c: (nma_update_info),
10956         (nma_act_stage_to_pixbuf), (nma_update_state):
10957         Mark missing strings for translation. Fixes bug #343306.
10958
10959 2006-10-01  Dan Williams  <dcbw@redhat.com>
10960
10961         * src/vpn-manager/nm-vpn-manager.c
10962                 - (nm_vpn_manager_load_services): split and clean up
10963                 for readability and correctness.  Restrict VPN service
10964                 files to ending in ".name", as was meant from the
10965                 beginning (but not coded in).  Better error reporting.
10966
10967 2006-10-01  Dan Williams  <dcbw@redhat.com>
10968
10969         * utils/nm-utils.h
10970                 - Clean up formatting of debug/info/warning log messages
10971
10972 2006-09-27  Robert Love  <rml@novell.com>
10973
10974         Patch by Tambet Ingo <tambet@ximian.com>:
10975         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
10976           actually work.
10977
10978 2006-09-07  Dan Williams <dcbw@redhat.com>
10979
10980         * test/Makefile.am
10981           test/libnm-util/Makefile.am
10982           test/nm-supplicant-test.c
10983                 - Add test program emulating the way NM drives wpa_supplicant
10984                 to help debug supplicant issues
10985
10986 2006-08-24  Dan Williams <dcbw@redhat.com>
10987
10988         * configure.in
10989           src/Makefile.am
10990           src/supplicant-manager/Makefile.am
10991           src/supplicant-manager/nm-supplicant-manager.c
10992           src/supplicant-manager/nm-supplicant-manager.h
10993                 - Add skeleton bits of the wpa_supplicant manager
10994
10995 2006-08-24  Dan Williams <dcbw@redhat.com>
10996
10997         Patch from Ed Catmur:
10998         * src/NetworkManagerUtils.c
10999                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
11000                 if netmask is 0 (Gnome #352634)
11001
11002 2006-08-17  Robert Love  <rml@novell.com>
11003
11004         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
11005           package is now DBUS-enabled and listens for the NM signals.
11006
11007 2006-08-14  Dan Williams  <dcbw@redhat.com>
11008
11009         * Patch from Christian Persch <chpe gnome org>
11010         * configure.in
11011           po/LINGUAS
11012           vpn-daemons/openvpn/po/LINGUAS
11013           vpn-daemons/openvpn/configure.in
11014           vpn-daemons/pptp/po/LINGUAS
11015           vpn-daemons/pptp/configure.in
11016           vpn-daemons/vpnc/po/LINGUAS
11017           vpn-daemons/vpnc/configure.in
11018                 - Convert to LINGUAS method so translators don't have to modify
11019                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
11020                 0.35 or higher
11021
11022 2006-08-14  Dan Williams  <dcbw@redhat.com>
11023
11024         Patch from Alex Smith <alex.extreme2@gmail.com>
11025         * configure.in
11026           src/backends/Makefile.am
11027           src/backends/NetworkManagerFrugalware.c
11028                 - Add support for Frugalware
11029
11030 2006-08-13  Dan Williams  <dcbw@redhat.com>
11031
11032         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11033         * src/nm-device-802-11-wireless.c
11034                 - (supplicant_exec): spawn wpa_supplicant without debug spew
11035                 Gnome #346875
11036
11037 2006-08-13  Dan Williams  <dcbw@redhat.com>
11038
11039         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11040         * src/nm-ap-security.c
11041           src/nm-ap-security.h
11042                 - Add authentication_required bits for subclasses to specify whether
11043                 or not real authentication is required for connections, i.e. whether
11044                 the AP rejects us when an encryption key is wrong or not.
11045
11046         * src/nm-ap-security-wep.c
11047           src/nm-ap-security-wpa-eap.c
11048           src/nm-ap-security-wpa-psk.c
11049           src/nm-ap-security-leap.c
11050                 - Implement authentication_required appropriately for each method
11051
11052         * src/nm-device-802-11-wireless.c
11053                 - Be smarter about when to request a key; for example, using a wrong key
11054                 in WEP shared key mode previously just timed out and did not request
11055                 a new key
11056
11057 2006-08-13  Dan Williams  <dcbw@redhat.com>
11058
11059         * gnome/libnm_glib/libnm_glib.c
11060                 - dbus_connection_disconnect() -> dbus_connection_close() for
11061                 dbus >= 0.90
11062
11063 2006-08-07  Dan Williams  <dcbw@redhat.com>
11064
11065         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11066         * src/NetworkManagerSystem.c
11067                 - Respect specified MTU.  Gnome #344967
11068
11069 2006-08-07  Dan Williams  <dcbw@redhat.com>
11070
11071         * src/vpn-manager/nm-vpn-service.c
11072                 - Simplify print_vpn_config() arguments
11073
11074         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11075         * src/vpn-manager/Makefile.am
11076           src/vpn-manager/nm-vpn-service.c
11077                 - Add new API for passing VPN config options as a dict. Gnome #344967
11078
11079 2006-08-06  Dan Williams  <dcbw@redhat.com>
11080
11081         * gnome/applet/applet-dbus-devices.c
11082           gnome/applet/applet-dbus-vpn.c
11083           gnome/applet/applet-dbus.c
11084           gnome/applet/applet-dbus.h
11085           src/nm-dbus-nmi.c
11086           utils/nm-utils.c
11087           utils/nm-utils.h
11088                 - Make pending call tracking code generic,
11089                 so we can use it in NM as well as the applet
11090
11091 2006-08-06  Dan Williams  <dcbw@redhat.com>
11092
11093         * src/nm-activation-request.c
11094                 - Refcount pending call objects
11095
11096 2006-08-06  Dan Williams  <dcbw@redhat.com>
11097
11098         Patch from Christan Chiesa <christanc@gmail.com>
11099         * configure.in
11100                 - Tell sha1.c to use bigendian mode on PPC
11101
11102 2006-08-04  Robert Love  <rml@novell.com>
11103
11104         Glib Memory Slices!
11105         * configure.in: Require glib 2.10 or later.
11106         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
11107           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
11108           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
11109           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
11110           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
11111           Memory Slices are the greatest thing since bread slices.
11112         * src/NetworkManagerAP.c: Also, fix memory leak.
11113
11114 2006-08-01  Robert Love  <rml@novell.com>
11115
11116         * gnome/applet/main.c: Shutdown all VPN connections on logout.
11117
11118 2006-07-31  Robert Love  <rml@novell.com>
11119
11120         * src/backends/interface_parser.c: Declarations must begin the block.
11121
11122 2006-07-24  Dan Williams  <dcbw@redhat.com>
11123
11124         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11125         * src/backends/Makefile.am
11126           src/backends/NetworkManagerArch.c
11127           src/backends/NetworkManagerDebian.c
11128           src/backends/NetworkManagerGeneric.c
11129           src/backends/NetworkManagerGeneric.h
11130           src/backends/NetworkManagerGentoo.c
11131           src/backends/NetworkManagerPaldo.c
11132           src/backends/NetworkManagerRedHat.c
11133           src/backends/NetworkManagerSlackware.c
11134           src/backends/NetworkManagerSuSE.c
11135                 - Genericize common backend functions
11136
11137 2006-07-18  Robert Love  <rml@novell.com>
11138
11139         * configure.in: Add "--with-notify" option to allow disabling of
11140           libnotify support.
11141
11142 2006-07-13  Dan Williams  <dcbw@redhat.com>
11143
11144         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
11145         * gnome/applet/applet.glade
11146           gnome/applet/Makefile.am
11147           gnome/applet/nm-gconf-wso.c
11148           gnome/applet/nm-gconf-wso-leap.c
11149           gnome/applet/nm-gconf-wso-leap.h
11150           gnome/applet/wireless-security-manager.c
11151           gnome/applet/wso-leap.c
11152           gnome/applet/wso-leap.h
11153           include/NetworkManager.h
11154           libnm-util/dbus-helpers.c
11155           libnm-util/dbus-helpers.h
11156           src/Makefile.am
11157           src/NetworkManagerAP.c
11158           src/nm-ap-security.c
11159           src/nm-ap-security-leap.c
11160           src/nm-ap-security-leap.h
11161                 - Add LEAP authentication support
11162
11163 2006-07-13  Dan Williams  <dcbw@redhat.com>
11164
11165         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11166         * configure.in
11167           src/backends/NetworkManagerArch.c
11168           src/backends/NetworkManagerDebian.c
11169           src/backends/NetworkManagerGentoo.c
11170           src/backends/NetworkManagerPaldo.c
11171           src/backends/NetworkManagerRedHat.c
11172           src/backends/NetworkManagerSlackware.c
11173           src/backends/NetworkManagerSuSE.c
11174                 - Convert hardcoding of 'ip' path to configure-time
11175                         detected one
11176
11177 2006-07-12  Leonid Kanter <leon@asplinux.ru>
11178
11179         * configure.in: added ru to ALL_LINGUAS
11180
11181 2006-07-10  Dan Williams  <dcbw@redhat.com>
11182
11183         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11184         * src/nm-device.c
11185                 - (real_act_stage3_ip_config_start): don't infinite loop when
11186                         dhcdbd isn't running (Gnome #346845)
11187
11188 2006-07-09  Dan Williams  <dcbw@redhat.com>
11189
11190         * gnome/applet/applet.c
11191                 - (nma_destroy): don't pass NULL to notify_notification_close
11192                         (RH #197917)
11193
11194 2006-07-09  Dan Williams  <dcbw@redhat.com>
11195
11196         * gnome/applet/applet.c
11197                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
11198
11199 2006-07-04  Tor Krill  <tor@krill.nu>
11200
11201         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11202         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
11203         (nm_system_restart_mdns_responder), (ArchReadConfig),
11204         (nm_system_device_get_system_config):
11205                 - Explicitly check for DHCP configuration
11206                 - Check if daemons are running before starting them
11207
11208 2006-06-25  Dan Williams  <dcbw@redhat.com>
11209
11210         * libnm-util/dbus-dict-helpers.[ch]
11211           test/libnm-util/test-dbus-dict-helpers.c
11212                 - Add string array support
11213
11214 2006-06-24  Dan Williams  <dcbw@redhat.com>
11215
11216         * src/dhcp-manager/nm-dhcp-manager.c
11217                 - (nm_dhcp_manager_process_signal): clean up spacing
11218
11219 2006-06-21  Dan Williams  <dcbw@redhat.com>
11220
11221         * src/nm-dbus-device.c
11222                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11223                         through dbus
11224
11225 2006-06-21  Raivis Dejus  <orvils@gmail.com>
11226
11227         * configure.in: Added 'lv' to ALL_LINGUAS
11228
11229 2006-06-19  Dan Williams  <dcbw@redhat.com>
11230
11231         * src/NetworkManagerAP.c
11232                 - Clarify usage of user_created
11233
11234         * src/nm-ap-security-wep.c
11235           src/nm-ap-security-wpa-eap.c
11236           src/nm-ap-security-wpa-psk.c
11237           src/nm-ap-security.c
11238           src/nm-ap-security.h
11239                 - s/user_created/adhoc, because we really do mean adhoc
11240
11241         Patch from Bernard Blackham <bernard@blackham.com.au>
11242         * src/nm-device-802-11-wireless.c         
11243                 - (supplicant_send_network_config): instead of user_created,
11244                         use adhoc, and do AP_SCAN 2 for adhoc networks
11245
11246 2006-06-18  Robert Love  <rml@novell.com>
11247
11248         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
11249           we have a value to set.  Gconf generates a warning if `val' is NULL.
11250         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
11251           unless we actually received a valid private key file passphrase or
11252           password.  Otherwise, we don't know to later ask the applet to pull
11253           the key from the keyring.
11254
11255 2006-06-17  Dan Williams  <dcbw@redhat.com>
11256
11257         * libnm-util/dbus-dict-helpers.[ch]
11258           test/libnm-util/test-dbus-dict-helpers.c
11259                 - Fixes for zero-length byte arrays
11260                 - Replace return values of 0 with FALSE for clarity
11261                 - Test zero-length byte arrays
11262
11263 2006-06-17  Dan Williams  <dcbw@redhat.com>
11264
11265         * libnm-util/dbus-dict-helpers.[ch]
11266           test/libnm-util/test-dbus-dict-helpers.c
11267                 - Add helpers for byte arrays
11268                 - Rework bits of the testcase
11269
11270 2006-06-16  Dan Williams  <dcbw@redhat.com>
11271
11272         * libnm-util/Makefile.am
11273         * libnm-util/dbus-dict-helpers.[ch]
11274                 - Add some helpers to take the pain out of using dict types in
11275                         dbus.
11276
11277         * test/libnm-util/Makefile.am
11278         * test/libnm-util/test-dbus-dict-helpers.c
11279                 - Test cases for the dict helper functions
11280
11281 2006-06-15  Robert Love  <rml@novell.com>
11282
11283         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
11284           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
11285           if there is no key to pass.
11286         * libnm-util/dbus-helpers.c: Given the above, we can trust always
11287           receiving a non-NULL key.
11288
11289 2006-06-14  Robert Love  <rml@novell.com>
11290
11291         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
11292           copy the strings.
11293
11294
11295 2006-06-14  Dan Williams  <dcbw@redhat.com>
11296
11297         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
11298         * src/nm-device-802-11-wireless.c
11299                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
11300                         or ones where the driver is unknown
11301                 - (supplicant_exec): don't wait for supplicant startup here
11302                 - (supplicant_interface_init): finer grained polling for supplicant
11303                         startup
11304
11305 2006-06-13  Robert Love  <rml@novell.com>
11306
11307         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
11308           if it is currently set to TRUE.  Otherwise, we will reset the value
11309           when we connect normally.
11310         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
11311           the old BSSID is valid, too.  The recently added ESSID check may not be
11312           sufficient (we can remove it?).  What we really want to catch is the
11313           case of going from all-zeros to the BSSID of some other network, which
11314           happens on failure.
11315
11316 2006-06-09  Dan Williams  <dcbw@redhat.com>
11317
11318         * src/NetworkManagerSystem.[ch]
11319                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
11320                         it was unused and pointless
11321                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
11322                         fix for set_up_down_with_iface change
11323
11324         * src/vpn-manager/nm-vpn-connection.c
11325                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
11326
11327         * src/backends/NetworkManagerPaldo.c
11328           src/backends/NetworkManagerRedHat.c
11329           src/backends/NetworkManagerSuSE.c
11330           src/backends/NetworkManagerArch.c
11331           src/backends/NetworkManagerDebian.c
11332           src/backends/NetworkManagerGentoo.c
11333                 - (nm_system_enable_loopback): use set_up_down_with_iface where
11334                         appropriate
11335                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
11336                         where appropriate
11337
11338 2006-06-09  Dan Williams  <dcbw@redhat.com>
11339
11340         Patch from Peter Jones:
11341         * src/nm-device-802-11-wireless.c
11342                 - (nm_device_802_11_wireless_update_bssid): make sure that the
11343                         SSID hasn't changed from what we expect before automatically
11344                         updating the saved BSSID from a new AP
11345
11346 2006-06-08  Robert Love  <rml@novell.com>
11347
11348         Add 'fallback' support.  NetworkManager will attempt to brute-force
11349         connect to networks marked as fallback if there are no better wireless
11350         connections available.  This is useful as a method of last resort, to
11351         work around driver problems, and for use with hidden networks.
11352         * gnome/applet/applet-dbus-devices.c,
11353           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
11354         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
11355           pass it on via DBUS.
11356         * gnome/applet/applet.c: No fallback by default.
11357         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
11358           Update other-network-dialog to add UI checkbox toggling fallback.
11359         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
11360           propery from AP object.  Add "fallback" property to AP object.
11361         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
11362         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
11363         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
11364           separate function.  Add get_best_fallback_ap() for returning an AP
11365           on which to attempt fallback.
11366         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
11367         * test/nm-set-fallback: New file.  Sets a given network as fallback.
11368
11369 2006-06-07  Robert Love  <rml@novell.com>
11370
11371         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
11372           checked that the return type was GCONF_VALUE_STRING, not the correct
11373           GCONF_VALUE_BOOL, and thus it never worked.
11374         * src/NetworkManagerAPList.c: Before concluding that two networks are
11375           identical based on their BSSID, make sure that the BSSID in question
11376           is actually valid.  Specifically, an empty or all zero BSSID does not
11377           cut it.
11378         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
11379           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
11380           similar invariant clean up.
11381
11382 2006-06-02  Robert Love  <rml@novell.com>
11383
11384         * gnome/applet/applet.c: Update copyright years.  Add Novell.
11385
11386 2006-05-28  Dan Williams  <dcbw@redhat.com>
11387
11388         * gnome/applet/applet.glade
11389           gnome/vpn-properties/nm-vpn-properties.glade
11390                 - Set window icons on dialogs  (Gnome.org #333420)
11391
11392 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
11393
11394         * gnome/vpn-properties/nm-vpn-properties.glade:
11395         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
11396         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
11397         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
11398                 - Make the VPN properties pages prettier and more HIG
11399                   compliant. Gnome Bug #336913.
11400
11401 2006-05-28  Dan Williams  <dcbw@redhat.com>
11402
11403         Patch from Christian Persch <chpe@gnome.org>
11404         * gnome/vpn-properties/nm-vpn-properties.c
11405         * gnome/vpn-properties/nm-vpn-properties.glade
11406                 - HIG-ification love  (Gnome.org #336846)
11407
11408 2006-05-28  Dan Williams  <dcbw@redhat.com>
11409
11410         Patch from Christian Persch <chpe@gnome.org>
11411         * configure.in
11412           gnome/vpn-properties/nm-vpn-properties.c
11413                 - (main): Fix option parsing.  Gnome.org #336847
11414
11415 2006-05-28  Dan Williams  <dcbw@redhat.com>
11416
11417         * gnome/vpn-properties/nm-vpn-properties.c
11418                 - (find_vpn_ui_by_service_name): protect against NULL service names
11419                 - (update_edit_del_sensitivity): protect against NULL service names
11420                         Gnome.org #341306
11421
11422 2006-05-28  Dan Williams  <dcbw@redhat.com>
11423
11424         Patch from Chris Fuller <crf@grandecom.net>:
11425         * src/nm-device-802-11-wireless.c
11426                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
11427                         don't dispose of wireless-specific stuff unless it is actually
11428                         initialized.  Gnome.org #341263
11429
11430 2006-05-28  Dan Williams  <dcbw@redhat.com>
11431
11432         * src/NetworkManagerPolicy.c
11433                 - (nm_policy_device_change_check): don't switch devices if the "best"
11434                         AP is essentially the same as the current activation request, but
11435                         the current activation request isn't done activating yet.  Fixes
11436                         multiple requests for keyring password on startup for Gnome applet.
11437                         Gnome.org #341297
11438
11439 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
11440
11441         * src/NetworkManager.c: use GOptions instead of getopt
11442         * configure.in: bump glib required version to >= 2.6 for GOption
11443           support
11444
11445 2006-05-25  Robert Love  <rml@novell.com>
11446
11447         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
11448           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
11449           instead of dumping ifdef's throughout the code.
11450         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
11451           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
11452           use nm_ioctl_info() in lieu.
11453
11454 2006-05-25  Robert Love  <rml@novell.com>
11455
11456         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
11457         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
11458           not using gcrypt.  Otherwise, we get a linker error.
11459
11460 2006-05-25  Robert Love  <rml@novell.com>
11461
11462         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
11463         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
11464           configure flag to disable building of the GNOME-based applet.
11465
11466 2006-05-25  Robert Love  <rml@novell.com>
11467
11468         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
11469           parameter from link, because it shadows a global variable with some
11470           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
11471           should never have exported to the entire system a common four letter
11472           word.  But we here at NetworkManager are team players.  Fixes
11473           GNOME bug #336532.
11474
11475 2006-05-25  Arangel Angov <ufo@linux.net.mk>
11476
11477         * configure.in: Added mk.po, Macedonian translation.
11478
11479 2006-05-24  Robert Love  <rml@novell.com>
11480
11481         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
11482           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
11483           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
11484
11485 2006-05-24  Robert Love  <rml@novell.com>
11486
11487         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
11488           libnm-util/Makefile.am, src/Makefile.am,
11489           vpn-daemons/openvpn/auth-dialog/Makefile.am,
11490           vpn-daemons/openvpn/properties/Makefile.am,
11491           vpn-daemons/pptp/auth-dialog/Makefile.am,
11492           vpn-daemons/pptp/properties/Makefile.am,
11493           vpn-daemons/vpnc/auth-dialog/Makefile.am,
11494           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
11495           user passed for --datadir, if anything, when setting the GNOME locale
11496           directory.  It should be a function of the specified datadir and not
11497           the prefix.
11498
11499 2006-05-24  Robert Love  <rml@novell.com>
11500
11501         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
11502           src/NetworkManager.c: Take care to call bindtextdomain with the
11503           location of msgid files.
11504         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
11505           files.
11506
11507 2006-05-22  Robert Love  <rml@novell.com>
11508
11509         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
11510           stage4_timeout on failure unless the wireless network is Ad-Hoc.
11511           99% of the time there is a real problem with wireless, and a
11512           seemingly successful connection via Zeroconf just confuses the user.
11513           And that 1% of the time the network is probably Ad-Hoc, anyhow.
11514
11515 2006-05-22  Robert Love  <rml@novell.com>
11516
11517         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
11518           autofs on interface up if NIS is configured.  On interface down, do
11519           nothing.
11520
11521 2006-05-22  Robert Love  <rml@novell.com>
11522
11523         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
11524           to avoid calling g_object_unref() on stale pointers on error in
11525           nma_icons_free().  This happens because we short-circuit loaded the
11526           icons on the first failure but then free all icons.  Normally we have
11527           no issue because the icons were zero'ed out malloc, but we have stale
11528           pointer data after nma_icon_theme_changed().
11529         * gnome/applet/main.c: Return error code if nma_new() failed.
11530
11531 2060-05-21  Dan Williams  <dcbw@redhat.com>
11532
11533         * initscript/NetworkManager.in
11534                 - Ensure both dhcdbd and named are started before NM
11535
11536 2006-05-21  Dan Williams  <dcbw@redhat.com>
11537
11538         * configure.in
11539                 - Bump version to 0.7 to signify we are in 0.7 development
11540
11541 2006-05-21  Dan Williams  <dcbw@redhat.com>
11542
11543         Patch from Adam Schreiber <sadam@clemson.edu>
11544         * gnome/vpn-properties/nm-vpn-properties.c
11545                 - (main): correct Gnome program name  (gnome.org #342498)
11546
11547 2006-05-21  Dan Williams  <dcbw@redhat.com>
11548
11549         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
11550
11551         * src/NetworkManagerDbus.[ch]
11552                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
11553                         clarify that function's argument should be an escaped dbus object
11554                         path, and look for path segment end before returning a match
11555         * src/nm-dbus-nm.c:
11556                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
11557
11558 2006-05-17  Robert Love  <rml@novell.com>
11559
11560         Functionality to differentiate Ad-Hoc networks from infrastructure
11561         networks in the applet, by displaying a special icon:
11562         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
11563         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
11564         * gnome/applet/menu-items.c: Set a special icon in the scan list for
11565           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
11566           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
11567           networks, encrypted or not.
11568         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
11569           accessor functions to get and set the mode of a given network,
11570           wireless_network_get_mode() and wireless_network_set_mode().
11571
11572 2006-05-17  Robert Love  <rml@novell.com>
11573
11574         Functionality to automatically add BSSIDs to the allowed-MAC list as
11575         one roams from access point to access point on a given network:
11576         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
11577           helper function to compare two ether_addr structures and return TRUE
11578           if they contain the same MAC address.
11579         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
11580           prototype.
11581         * src/nm-device-802-11-wireless.c: New function to update the BSSID
11582           stored with the current AP.  If the BSSID has indeed changed, we
11583           send it out to the applet, allowing the allowed-MAC list to grow
11584           automatically in response to roaming.
11585
11586 2006-05-16  Robert Love  <rml@novell.com>
11587
11588         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
11589           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
11590
11591 2006-05-13  Dan Williams  <dcbw@redhat.com>
11592
11593         * src/nm-device-802-3-ethernet.c
11594                 - (real_get_generic_capabilities): Don't ignore devices that can't do
11595                         carrier detect (Debian bug #366373)
11596
11597 2006-05-11  Dan Williams  <dcbw@redhat.com>
11598
11599         Patch from Michael Biebl <biebl@teco.edu>
11600         * src/backends/NetworkManagerDebian.c
11601                 - Debian backend fixups
11602
11603 2006-05-10  Robert Love  <rml@novell.com>
11604
11605         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
11606
11607 2006-05-09  Robert Love  <rml@novell.com>
11608
11609         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
11610           private certificate passphrase, if any, in the GNOME Keyring.
11611         * libnm-utils/dbus-helpers.c: Update.
11612
11613 2006-05-05  Dan Williams  <dcbw@redhat.com>
11614
11615         * src/nm-device-802-11-wireless.c
11616                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
11617                         nm_device_802_11_wireless_disable_encryption() since that's all
11618                         we use it for anymore; we don't ever set WEP keys ourselves.
11619                 - (real_deactivate_quickly): reset SSID and encryption keys
11620                 - (real_deactivate): move SSID and encryption key reset to
11621                         real_deactivate_quickly(), which gets run before us anyway
11622
11623 2006-05-05  Robert Love  <rml@novell.com>
11624
11625         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
11626           root has a wacky default of its own (or, more common, a user has a
11627           bad umask and uses su/sudo to restart NetworkManager).  Anything
11628           other than 0022 does not do what we want with, for example,
11629           resolv.conf.  This problem is amplified by our judicious use of
11630           fopen(), which uses mode 0666 -- implying that the only way to get
11631           the permissions we want is with a umask of 0022.
11632
11633 2006-05-05  Dan Williams  <dcbw@redhat.com>
11634
11635         * gnome/libnm_glib/libnm_glib.c
11636                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
11637                         to reconnect; instead wait a bit more with each reconnect attempt
11638                         up to a max of one minute.
11639
11640 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
11641
11642         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
11643           the WirelessNetwork structure using the proper function instead of
11644           just casting it directly to (const char *) (gnome.org #336991)
11645
11646 2006-05-03  Robert Love  <rml@novell.com>
11647
11648         * src/backends/NetworkManagerSuSE.c: Respect the variable
11649           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
11650           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
11651           to dynamically update /etc/resolv.conf.
11652
11653 2006-05-02  Peter Jones  <pjones@redhat.com>
11654
11655         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
11656
11657 2006-05-02  Robert Love  <rml@novell.com>
11658
11659         Patch by Timo Hoenig;
11660         * tests/nm-online.c: Print pretty status indicator as timeout winds
11661           down.  Also fix possible race between DBUS startup and failure
11662           return.
11663
11664 2006-05-01  Robert Love  <rml@novell.com>
11665
11666         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
11667           empty, too.
11668
11669 2006-04-27  Jeremy Katz  <katzj@redhat.com>
11670
11671         * src/nm-device.c (discover_device_type): Actually use the hal
11672         device type instead of ioctl poking
11673
11674 2006-04-26  Robert Love  <rml@novell.com>
11675
11676         * tests/nm-online.c: New file.  Simple utility that returns exit status
11677           noting whether the connection is offline or online.  If offline on
11678           start, it waits 30 seconds (or a command-line given value) for an
11679           online signal.  If it times out, it again returns offline.  This is
11680           useful for scripts that want to wait for network connections.
11681
11682 2006-04-25  Robert Love  <rml@novell.com>
11683
11684         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
11685           key mode (the authentication algorithm), e.g. open or shared, when we
11686           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
11687           only shared was broken.  If the user specified a shared key, set it
11688           explicitly, otherwise let wpa_supplicant go with the default.
11689
11690 2006-04-24  Dan Williams  <dcbw@redhat.com>
11691
11692         * src/nm-device-802-11-wireless.c
11693                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
11694
11695 2006-04-24  Dan Williams  <dcbw@redhat.com>
11696
11697         Commit the async scanning patch
11698
11699         * src/nm-device-802-11-wireless.c
11700                 - get rid of scan_mutex
11701                 - (wireless_event_helper): act on wireless scan events
11702                 - (real_start): schedule a pending scan
11703                 - (link_to_specific_ap): fake the link to the AP during a scan
11704                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
11705                         strength during scans
11706                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
11707                         nm_device_set_bitrate): unused with new scanning code, disable
11708                 - (nm_device_wireless_schedule_scan): removed
11709                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
11710                 - (request_and_convert_scan_results): new function; retrieve scan
11711                         results from the driver and schedule the processing function
11712                 - (scan_results_timeout): timeout triggered when card doesn't send
11713                         a scan results wireless event during a certain interval
11714                 - (schedule_scan_results_timeout): new function; schedule the scan
11715                         results timeout
11716                 - (cancel_scan_results_timeout): new function; cancel the scan
11717                         results timeout
11718                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
11719                         to do the scanning.  Otherwise, just request a scan but don't
11720                         grab results here; instead schedule a timeout for scan results and
11721                         let netlink notify us of scan completion events
11722                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
11723                 - (cancel_pending_scan): new function; cancel a pending wireless scan
11724                 - (supplicant_status_cb): ignore disconnect events while scanning
11725                 - (supplicant_exec): wait a bit longer for the supplicant to start up
11726                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
11727                         timeouts
11728                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
11729
11730 2006-04-24  Dan Williams  <dcbw@redhat.com>
11731
11732         * gnome/applet/applet-dbus.c
11733                 - Disable the pending call debug stuff, seems under control now
11734
11735 2006-04-20  Robert Love  <rml@novell.com>
11736
11737         Fix bug where hidden ESSID's would not show up in the applet, even
11738         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
11739         because nm_policy_device_list_update_from_allowed_list() would merge
11740         the data, putting a name to the hidden networks, but never notify NMI
11741         of the changes.  Simple fix is to invoke the function
11742         nm_dbus_signal_wireless_network_change() if we make a mapping.
11743         * src/NetworkManagerAPList.c: Call the function
11744           nm_dbus_signal_wireless_network_change() if we made a successful
11745           BSSID to ESSID mapping, notifying the applet of the "new" network.
11746         * src/NetworkManagerAPList.h: Update the prototypes for both
11747           nm_ap_list_copy_essids_by_address() and
11748           nm_ap_list_copy_one_essid_by_address().
11749
11750 2006-04-20  Robert Love  <rml@novell.com>
11751
11752         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
11753           not set.  Just return zero.
11754
11755 2006-04-20  Robert Love  <rml@novell.com>
11756
11757         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
11758           only one copy of nm-vpn-properties is running at a time via the 'ol
11759           X selection trick.  This prevents the user from opening two "VPN
11760           Connections" windows from within the applet, which leads to mass
11761           hysteria.
11762         * clipboard.c: New file, implementing simple X selection logic.
11763         * clipboard.h: New file.
11764         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
11765
11766 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
11767
11768         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
11769         * configure.in
11770           initscript/Gentoo/Makefile.am
11771           initscript/Gentoo/NetworkManagerDispatcher.in
11772                 - New script
11773         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
11774           Gentopia
11775
11776 2006-04-16  Dan Williams  <dcbw@redhat.com>
11777
11778         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
11779         * configure.in
11780           initscript/Slackware/Makefile.am
11781           initscript/Slackware/rc.networkmanager-dispatcher.in
11782           initscript/Slackware/rc.networkmanager.in
11783                 - Update slackware initscripts
11784
11785 2006-04-10  Robert Love  <rml@novell.com>
11786
11787         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
11788           the "delete_event" signal on the druid's parent window and handle it
11789           our way, lest using the WM to close the druid results in a series of
11790           bloody and ultimately lethal errors.
11791
11792 2006-04-10  Robert Love  <rml@novell.com>
11793
11794         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
11795           'Back' too or else the 'Forward' option is initially disabled despite
11796           valid input.
11797
11798 2006-04-06  Robert Love  <rml@novell.com>
11799
11800         Fix bad but simple bug where an active modem connection did not update
11801         NM's connection state, breaking any app that did online/offline:
11802         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
11803           represented whether a dial up connection is active, or not.
11804         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
11805           to modem activation and deactivation.
11806         * src/NetworkManagerDbus.c: When asked our state, do not return
11807           disconnected if the modem is active.
11808
11809 2006-04-04  Robert Love  <rml@novell.com>
11810
11811         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
11812           applet.  It just confuses the crap out of people and does not make a
11813           lot of sense, as the daemon still runs.
11814
11815 2006-04-02  Tor Krill  <tor@krill.nu>
11816
11817         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
11818           in start of service.
11819         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
11820           get Archlinux backend up to date.
11821
11822 2006-03-29  Robert Love  <rml@novell.com>
11823
11824         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
11825         to add support for per-route MSS and improve support for per-interface
11826         MTU:
11827         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
11828           optionally take an MSS parameter and set it for the given route.
11829           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
11830           NMIP4Config's stored MSS, if any.
11831         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
11832           the interface's MTU and the route's MSS, respectively.  Add functions
11833           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
11834           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
11835           MSS.
11836         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
11837           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
11838           nm_ip4_config_set_mss.
11839         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
11840           VPN daemon.
11841         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
11842           Change the retval of nm_system_get_mtu to guint32.
11843         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
11844           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
11845           servers can specify MTU's, we should set it here if the MTU was not
11846           provided.
11847
11848 2006-03-27  Jürg Billeter  <j@bitron.ch>
11849
11850         * configure.in:
11851         * initscript/Makefile.am:
11852         * initscript/paldo/Makefile.am:
11853         * initscript/paldo/NetworkManager.in:
11854         * initscript/paldo/NetworkManagerDispatcher.in:
11855         * src/backends/Makefile.am:
11856         * src/backends/NetworkManagerPaldo.c:
11857                 - Add paldo support
11858
11859 2006-03-27  Dan Williams  <dcbw@redhat.com>
11860
11861         Patch from Christian Persch <chpe@gnome.org>
11862         * gnome/applet/applet.glade
11863                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
11864
11865 2006-03-27  Dan Williams  <dcbw@redhat.com>
11866
11867         Patch from Diffe <diffie@blazebox.homeip.net>
11868         * src/backends/NetworkManagerSlackware.c
11869                 - Don't restart howl, since it's been replaced by Avahi
11870                         in most distributions
11871
11872 2006-03-27  Dan Williams  <dcbw@redhat.com>
11873
11874         Patch from Tor Krill <bugzilla@krill.nu>
11875         * configure.in
11876           initscript/Makefile.am
11877           src/backends/Makefile.am
11878           src/backends/NetworkManagerArch.c
11879           initscript/Arch/Makefile.am
11880           initscript/Arch/networkmanager-dispatcher.in
11881           initscript/Arch/networkmanager.in
11882                 - Add Arch Linux support, fixes gnome.org #335147
11883
11884 2006-03-27  Dan Williams  <dcbw@redhat.com>
11885
11886         Patch from Diffe <diffie@blazebox.homeip.net>
11887      * initscript/Slackware/rc.networkmanager
11888         - update, fixed gnome.org #333368
11889
11890 2006-03-27  Robert Love  <rml@novell.com>
11891
11892         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
11893           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
11894
11895 2006-03-27  Robert Love  <rml@novell.com>
11896
11897         Patch by Jürg Billeter <j@bitron.ch>:
11898         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
11899           systems.
11900         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
11901           as we prefer glibc over kernel headers, if possible.
11902
11903 2006-03-27  Robert Love  <rml@novell.com>
11904
11905         Patch by Jon Escombe <list@dresco.co.uk>:
11906         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
11907         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
11908           fail, don't bail out.  We don't expect all of the various WPA-EAP
11909           values to be present.
11910         * src/nm-ap-security.c: We need to match all capabilities for each
11911           encryption type, not any one of them.
11912
11913 2006-03-27  Robert Love  <rml@novell.com>
11914
11915         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
11916           restart, not reload, ypbind.  Unfortunately there is no superior
11917           solution.
11918
11919 2006-03-24  Christopher Aillon  <caillon@redhat.com>
11920
11921         * gnome/applet/applet-notifications.c:
11922         When displaying a notification, make sure to get rid of the
11923         previous notification so as to not have competing bubbles,
11924         and stop leaking the old one.
11925
11926         * gnome/applet/applet.c:
11927         * gnome/applet/applet.h:
11928         Add a new 'notification' member to the applet, and zero it out
11929         and free it appropriately.
11930
11931 2006-03-23  Robert Love  <rml@novell.com>
11932
11933         Patch by j <j@bootlab.org>:
11934         * gnome/applet/applet.glade: Don't set the invisible_char property,
11935           which simply overrides the GTK default.  By and by, this behavior
11936           ought to be fixed in Glade.
11937
11938 2006-03-22  Robert Love  <rml@novell.com>
11939
11940         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
11941
11942 2006-03-22  Robert Love  <rml@novell.com>
11943
11944         Bug fix by Timo Hoenig <thoenig@suse.de>:
11945         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
11946           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
11947           and the applet going AWOL.
11948
11949 2006-03-22  Robert Love  <rml@novell.com>
11950
11951         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
11952           preprocessor define and use it instead of open-coded the DHCP
11953           timeout, which is currently 25 seconds, everywhere.
11954
11955 2006-03-22  Robert Love  <rml@novell.com>
11956
11957         Implement "Dynamic WEP", which is basically WPA authentication and WEP
11958         key exchange via WPA, ostensibly providing good security without
11959         requiring hardware that supports full WPA.  Also, add UI elements to
11960         allow the user to select the pairwise & group cipher for WPA Enterprise
11961         networks, too:
11962         * gnome/applet/applet.glade: Update glade file.
11963         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
11964           key type, too, to and from gconf.
11965         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
11966           wso_wpa_create_key_type_model(), noting whether we are handling PSK
11967           or EAP configuration, and in the latter case add in "Dynamic WEP" if
11968           the capabilities match.
11969         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
11970           prototype.
11971         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
11972           serialize from UI to DBUS.
11973         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
11974           one element.
11975         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
11976           nmu_security_serialize_wpa_eap_with_cipher(), and
11977           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
11978           serialize/deserialize the key type via DBUS as the new third DBUS
11979           parameter.
11980         * libnm-util/dbus-helpers.h: Update prototypes.
11981         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
11982           too.  If the key type is WEP104, do Dynamic WEP, which means
11983           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
11984           pairwise and group ciphers (fixes a FIXME).
11985
11986 2006-03-21  Robert Love  <rml@novell.com>
11987
11988         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
11989           nm_system_get_mtu(), which returns a user-provided or system-mandated
11990           MTU value for a given device, if any, or zero if no such value
11991           exists.  Add nm_system_set_mtu() to set the MTU for a given device
11992           if we have a provided value.
11993         * src/nm-device.c: Set the MTU of devices.
11994         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
11995         * src/backends/NetworkManagerDebian.c,
11996           src/backends/NetworkManagerGentoo.c,
11997           src/backends/NetworkManagerRedHat.c,
11998           src/backends/NetworkManagerSlackware.c: Implement stub functions.
11999
12000 2006-03-21  Robert Love  <rml@novell.com>
12001
12002         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
12003           configuration file.
12004
12005 2006-03-17  Robert Love  <rml@novell.com>
12006
12007         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
12008           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
12009           it, in case it is not running in the first place.  We just want its
12010           configuration reloaded.  Also, do not "rcypbind stop" on device down.
12011
12012 2006-03-15  Robert Love  <rml@novell.com>
12013
12014         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
12015           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
12016           label "WEP 40/128-bit" is inconsistent because the physical key size
12017           is 40 or 104-bits, to which a 24-bit initialisation vector is
12018           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
12019           to read "40/104" or "64/128".  I do not care much which, but most
12020           users think of "silver" and "gold" encryption as 64 and 128-bits, so
12021           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
12022           WEP passphrase support only handles 128-bit keys, and any future
12023           64-bit passphrase support will require a new option (no way to auto-
12024           detect the target key size), explicitly label our passphrase support
12025           "WEP 128-bit Passphrase".
12026
12027 2006-03-15  Robert Love  <rml@novell.com>
12028
12029         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
12030           the system init scripts (or some other mechanism) starting it (or a
12031           compatible DBUS service) before NetworkManager runs.  This means that
12032           distributions might need to update their init scripts.  This fixes
12033           possible races and is quite a bit cleaner.
12034         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
12035           starting the NetworkManager daemon.
12036
12037
12038 2006-03-14  Robert Love  <rml@novell.com>
12039
12040         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
12041           before adding anything.
12042
12043 2006-03-13  Robert Love  <rml@novell.com>
12044
12045         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
12046           widgets, too, if they exist, in case the user hit the back button.
12047           Fixes a bug where the details page contains the widgets of multiple
12048           VPN modules (Novell bug #157048).
12049
12050 2006-03-13  Robert Love  <rml@novell.com>
12051
12052         Patch by Timo Hoenig <thoenig@suse.de>:
12053         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
12054           daemon survive DBUS restarts, too.
12055
12056 2006-03-10  Robert Love  <rml@novell.com>
12057
12058         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
12059           passphrase or key.
12060         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12061           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
12062           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
12063           in response to "toggled" signal on new toggle.
12064
12065 2006-03-10  Robert Love  <rml@novell.com>
12066
12067         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
12068           serialization if strings are NULL, lest DBUS get angry.
12069
12070 2006-03-10  Robert Love  <rml@novell.com>
12071
12072         * src/nm-ap-security-wpa-eap.c: Don't log the password.
12073
12074 2006-03-09  Robert Love  <rml@novell.com>
12075
12076         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
12077           configurations.
12078
12079 2006-03-09  Dan Williams  <dcbw@redhat.com>
12080
12081         Track pending call requests in the applet, and report how many are
12082         outstanding, and how long each completed one takes.
12083         
12084         * gnome/applet/applet-dbus-devices.c
12085           gnome/applet/applet-dbus-vpn.c
12086                 - Track pending calls
12087
12088         * gnome/applet/applet-dbus.[ch]
12089                 - Remove some unused enums
12090                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
12091                         new functions to track dbus pending calls and spit out some
12092                         statistics about them
12093
12094 2006-03-09  Robert Love  <rml@novell.com>
12095
12096         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
12097           nm_ap_set_timestamp() take the second and micro-second parameters as
12098           direct arguments, which avoids both a dynamic memory allocation and a
12099           structure-to-structure copy!  Add a new interface, the aptly named
12100           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
12101           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
12102           the return from nm_ap_get_timestamp().  New users should use the new
12103           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
12104           the extreme benefit to performance.
12105         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
12106           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
12107
12108 2006-03-08  Robert Love  <rml@novell.com>
12109
12110         * gnome/applet/applet.glade: Hide the password entry text with
12111           asterisks.
12112
12113 2006-03-08  Robert Love  <rml@novell.com>
12114
12115         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
12116           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
12117           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
12118           a second argument, NMData.
12119         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
12120         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
12121           config files as trusted.
12122
12123 2006-03-06  Robert Love  <rml@novell.com>
12124
12125         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
12126         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
12127           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
12128           Rivera, detect if the applet was auto-started.  If so, ask the user
12129           if he or she would like to stop automatically running the applet on
12130           login.  If so, disable autostart.
12131
12132 2006-03-06  Robert Love  <rml@novell.com>
12133
12134         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
12135           directory in CFLAGS so developers can actually use NetworkManager.h.
12136
12137 2006-03-06  Robert Love  <rml@novell.com>
12138
12139         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
12140           open-coded integer constants.  Add state_to_string() to map a given
12141           state to a textual description, and provide that when notifying of
12142           state change.
12143         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
12144           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
12145           this header directly, but it is currently not installed on most
12146           systems.
12147
12148 2006-03-05  Dan Williams  <dcbw@redhat.com>
12149
12150         Process netlink messages in device subclasses rather than in
12151         NetworkManager.c.  Also add support for recognizing Wireless Events.
12152         
12153         * configure.in
12154                 - Find GLIB_GENMARSHAL
12155
12156         * src/Makefile.am
12157                 - Since we're marshalling custom types for wireless event signals,
12158                         we get to create our own marshallers using GLIB_GENMARSHAL
12159
12160         * src/NetworkManager.c
12161                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
12162                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
12163                         cut down somewhat.  We no longer process signals here.
12164                 - (nm_data_new): create the netlink monitor here, and remove a
12165                         useless call to nm_policy_schedule_device_change_check()
12166                 - (nm_data_free): get rid of the netlink monitor here
12167                 - (nm_device_link_activated, nm_device_link_deactivated): removed
12168                 - (main): don't create the netlink monitor here, let nm_data_new
12169                         do that.  Call nm_policy_schedule_device_change_check() right
12170                         before we jump to the mainloop to figure out which device
12171                         to use first
12172
12173         * src/NetworkManagerSystem.[ch]
12174                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
12175                         convert back and forth from interface names to interface
12176                         indexes
12177
12178         * src/nm-device-802-11-wireless.c
12179                 - (real_init): connect to wireless-event signals from the netlink
12180                         monitor object
12181                 - (nm_device_802_11_wireless_event): new function, schedule handler
12182                         for wireless event signals from the netlink monitor object.  We
12183                         want the handler to run in the device's context
12184                 - (wireless_event_helper): handle wireless-event signals from netlink
12185                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
12186                         signal handler
12187
12188         * src/nm-device-802-11-wireless.h
12189                 - remove unused prototype for nm_device_802_11_wireless_new
12190
12191         * src/nm-device-802-3-ethernet.c
12192                 - (real_init): new function; set up signal handlers for link events
12193                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
12194                         handler for netlink link activated events on device's main loop
12195                 - (link_activated_helper): when we get a link activated event, set
12196                         the device's link to be active
12197                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
12198                         handler for netlink link deactivated events on device's main loop
12199                 - (link_deactivated_helper): when we get a link deactivated event, set
12200                         the device's link to be inactive
12201                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
12202                         dispose
12203
12204         * src/nm-device-802-3-ethernet.h
12205                 - remove unused prototype for nm_device_802_3_ethernet_new
12206
12207         * src/nm-device.[ch]
12208                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
12209                         but locks the device list
12210                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
12211
12212         * src/nm-netlink-monitor.[ch]
12213                 - (nm_netlink_monitor_class_install_signals): New signal
12214                         "wireless-event"
12215                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12216                         at the device list
12217                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12218
12219         * src/nm-marshal-main.c
12220                 - Include generated nm-marshal.c and nm-marshal.h
12221
12222         * src/nm-marshal.list
12223                 - List of custom marshal functions
12224
12225 2006-03-05  Dan Williams  <dcbw@redhat.com>
12226
12227         * gnome/applet/applet-notifications.h
12228                 - Protect prototype of nma_send_event_notification() because it
12229                         includes libnotify-specific types
12230                 - Include libnotify/libnotify.h too, since we technically need it
12231
12232         * gnome/applet/applet.c
12233                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
12234                 - (nma_show_vpn_login_banner_dialog): add some error checking
12235
12236 2006-03-04  Dan Williams  <dcbw@redhat.com>
12237
12238         Clean up activation cancellation.  Should be a lot faster now.  Observed
12239         an issue with wireless devices between stage 2 and 3 of activation, where
12240         activation would be cancelled, but the device thread wouldn't notice until
12241         the supplicant association timed out.  Reorganize activation such that
12242         a cancellation handler gets immediately scheduled in the device's thread,
12243         and devices have a chance to perform any custom cleanup too.
12244
12245         * src/nm-device.[ch]
12246                 - (activation_cancel_handler): new device-type-specific function
12247                         for cleaning up device-type-specific stuff on cancellation
12248                 - (cancel_activation): removed
12249                 - (nm_device_activation_cancel): subsume functionality of
12250                         real_cancel_activation, but instead of doing anything, punt
12251                         operation to a handler that's run in device-thread context
12252                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
12253                         a warning message
12254                 - (activation_handle_cancel_helper): cancellation handler run in
12255                         device-thread context, calls device-type-specific cancelation,
12256                         then tears down the activation request
12257                 - (real_activation_cancel_handler): generic cancellation handler,
12258                         deals with cancelling any in-process DHCP request
12259                 - (nm_device_activate_stage1_device_prepare,
12260                    nm_device_activate_stage2_device_config,
12261                    nm_device_activate_stage3_ip_config_start,
12262                    nm_device_activate_stage4_ip_config_get,
12263                    nm_device_activate_stage4_ip_config_timeout,
12264                    nm_device_activate_stage5_ip_commit): don't call
12265                         nm_device_schedule_activation_handle_cancel() any more, since
12266                         cancellation will have been already scheduled for us by
12267                         nm_device_activation_cancel().  Just exit the function and
12268                         assume that the cancel handler will be called next.
12269
12270         * src/nm-device-802-3-ethernet.c
12271                 - (real_act_stage2_config): remove; didn't do anything anyway
12272
12273         * src/nm-device-802-11-wireless.c
12274                 - (supplicant_status_cb): ensure we don't do anything if the activation
12275                         got cancelled
12276                 - (real_activation_cancel_handler): implement; cancel user key request
12277                         on activation cancellation
12278
12279 2006-03-04  Dan Williams  <dcbw@redhat.com>
12280
12281         * src/nm-device-802-11-wireless.c
12282                 - (supplicant_send_network_config): assume that drivers that don't
12283                         support WPA pretty much suck, and can't handle NM scanning
12284                         along with wpa_supplicant.
12285
12286 2006-03-03  Robert Love  <rml@novell.com>
12287
12288         * configure.in: Bump version to 0.6.0.
12289         * NEWS: Update.
12290
12291 2006-03-03  Robert Love  <rml@novell.com>
12292
12293         * configure.in: Require DBUS 0.60 or later.
12294
12295 2006-03-03  Dan Williams  <dcbw@redhat.com>
12296
12297         Fix a crash if an "Other wireless network" was chosen, failed, then
12298         chosen again from the applet's menu.  If the other network wasn't
12299         noticed in a scan, it wouldn't have any capabilities, but would still
12300         be listed because the user forced the network.  To fix this, we set
12301         sensible capabilities on the forced network, which will get overwritten
12302         with the correct ones if the network shows up later in a scan.
12303         
12304         * src/nm-ap-security.h
12305                 - Add a new "get_default_capabilities_func" member to the
12306                         NMAPSecurity class
12307
12308         * src/nm-ap-security.c
12309                 - (nm_ap_security_get_default_capabilities): new function
12310
12311         * src/nm-ap-security.c
12312           src/nm-ap-security-wep.c
12313           src/nm-ap-security-wpa-psk.c
12314           src/nm-ap-security-wpa-eap.c
12315                 - Implement get_default_capabilities_func() for all, which
12316                         uses the information contained in a specific NMAPSecurity
12317                         object to determine default AP capabilites necessary
12318                         to support that object
12319
12320         As a secondary measure, we now prune artificial access points that fail
12321         to be activated right away.  The thing failed, and we have no scan data for
12322         it, so it's pretty much useless since security information is only saved
12323         in the applets when a connection is successful.
12324
12325         * src/NetworkManagerAPList.c
12326                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
12327                         not artificial.  If we see it, it's no longer a figment of the
12328                         user's imagination :)
12329
12330         * src/NetworkManagerPolicy.c
12331                 - (nm_policy_activation_failed): send along the failed AP if we
12332                         have it
12333
12334         * src/nm-device-802-11-wireless.c
12335                 - (real_activation_failure_handler): remove artificial APs from
12336                         the device list, because activation failed
12337
12338 2006-03-02  Robert Love  <rml@novell.com>
12339
12340         Add support for retrieving both the per-device speed and the
12341         per-network maximum supported rate.  Then change the getProperties
12342         DBUS API for both networks and devices to report this informaiton.
12343         Finally, display the information via both nm-applet and nm-tool:
12344         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
12345           and set it.
12346         * gnome/applet/applet.c: Display the device's speed in the 'Connection
12347           Information' dialog.
12348         * gnome/applet/applet.glade: Update the UI to show per-device speed.
12349         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
12350           network_device_get_speed() and network_device_set_speed() for
12351           retrieving and setting, respectively, a network device's current
12352           speed.
12353         * src/nm-dbus-device.c: Send the device's speed on getProperties.
12354         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
12355           in the function nm_device_802_11_wireless_get_bitrate() -- it does
12356           not matter (yet) what the units are, because we only feed it its own
12357           output.  Implement SIOCGIRATE and set the per-network maximum
12358           supported rate during scanning.
12359         * src/nm-device-802-11-wireless.h: Export the function
12360           nm_device_802_11_wireless_get_bitrate().
12361         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
12362           function nm_device_802_3_ethernet_get_speed() for returning an
12363           802.3's current speed, in Mb/s.
12364         * test/nm-tool.c: Display the per-device current speed, if available,
12365           and the per-network maximum rate.
12366
12367 2006-03-02  Dan Williams  <dcbw@redhat.com>
12368
12369         * src/nm-device-802-11-wireless.c
12370                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
12371                         card when it gets initialized.  Since devices don't get added to
12372                         the scan list until they are initialized, this function wasn't
12373                         setting the intitial scan interval correctly, and was leaving
12374                         it at 0.  This caused cards to get many scan requests in a short
12375                         amount of time when they were initialized
12376
12377 2006-03-02  Robert Love  <rml@novell.com>
12378
12379         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
12380           active device.  But do not do what we used to do and override the
12381           state, which caused the dreaded icon race of '05.
12382
12383 2006-03-02  Robert Love  <rml@novell.com>
12384
12385         Commit Dan's update of my previous commit:
12386         * src/nm-device-802-11-wireless.c: Always set the mode, because the
12387           set_mode() function itself does the check.  But do only set the
12388           frequency if in Ad-Hoc mode.
12389
12390 2006-03-02  Robert Love  <rml@novell.com>
12391
12392         Patch by Brian Magnuson <magnuson@rcn.com>:
12393         * src/nm-device-802-11-wireless.c: During scanning, only set the
12394           wireless mode to infrastructure if it is not currently in
12395           infrastructure mode.  For some driver, setting the mode is a costly
12396           operation, apparently.
12397
12398 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
12399
12400         * Makefile.am: use the correct dir for autostart mechanism.
12401
12402 2006-02-28  Dan Williams  <dcbw@redhat.com>
12403
12404         Patch from Brian Magnuson <magnuson@rcn.com>
12405         * gnome/applet/applet.c
12406                 - (nma_show_vpn_failure_dialog): fix errors left over from
12407                         libnotify support changes
12408
12409 2006-02-28  Dan Williams  <dcbw@redhat.com>
12410
12411         * src/vpn-manager/nm-vpn-act-request.[ch]
12412                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
12413                         just one value
12414                 - (nm_vpn_act_request_is_failed): new function; return whether or
12415                         not the vpn activation request has failed
12416
12417         * src/vpn-manager/nm-vpn-manager.c 
12418                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
12419                         daemon to kill the connection when the activation request fails.
12420                         Fixes issue where NM would get confused if the VPN activation
12421                         request timed out, and would not allow further VPN connections
12422                         on that service.
12423
12424 2006-02-28  Dan Williams  <dcbw@redhat.com>
12425
12426         * gnome/applet/applet.c
12427                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
12428                         overlapping connection requests, disable all VPN menu items
12429                         but the active VPN connection
12430
12431 2006-02-28  Dan Williams  <dcbw@redhat.com>
12432
12433         * src/vpn-manager/nm-vpn-connection.c
12434                 - (nm_vpn_connection_set_parent_device): fix C&P error which
12435                         called g_object_unref() on the connection's parent device
12436                         when it should have been ref-ed instead.  Fixes crash with
12437                         repeated vpn connect requests
12438
12439 2006-02-28  Christopher Aillon  <caillon@redhat.com>
12440
12441         * gnome/applet/applet.glade:
12442         Mark a few strings non-translatable, since they shouldn't be.
12443
12444 2006-02-28  Dan Williams  <dcbw@redhat.com>
12445
12446         * src/vpn-manager/nm-vpn-service.c
12447                 - (nm_vpn_service_start_connection): if the vpn service daemon is
12448                         already running, don't blindly ask it to connect, but wait until
12449                         it's in the STOPPED state first.  Fixes an assertion when user
12450                         starts a second vpn connection without stopping the first.
12451                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
12452                         dbus service exists before continuing with the connection
12453                         process, and reduce latency while waiting for it to become
12454                         available
12455                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
12456                         waiting for the vpn service daemon to become available
12457                 - General log message cleanups; show progress via "Stage x of 4"
12458                         rather than not telling anyone how many stages there are
12459
12460 2006-02-28  Robert Love  <rml@novell.com>
12461
12462         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
12463         * src/backends/NetworkManagerSuSE.c: Implement the interface
12464           nm_system_should_modify_resolv_conf() for SUSE.
12465         * src/backends/NetworkManagerDebian.c,
12466           src/backends/NetworkManagerGentoo.c,
12467           src/backends/NetworkManagerRedHat.c,
12468           src/backends/NetworkManagerSlackware.c: Add stub.
12469         * src/named-manager/Makefile.am: Grab includes from src.
12470         * src/named-manager/nm-named-manager.c: Allow backends to disable the
12471           automatic updating of resolv.conf.  This is useful for testing,
12472           broken static configurations, and administrator lock-down.
12473
12474 2006-02-28  Dan Williams  <dcbw@redhat.com>
12475
12476         * src/nm-device-802-11-wireless.c
12477                 - Move all the wpa_supplicant-related management stuff into its
12478                         own struct, just for oranization's sake
12479                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
12480                         to a GIOChannel/GSource
12481                 - (supplicant_log_stdout): new function; grab output from the
12482                         wpa_supplicant stdout pipe and write it to our logs.
12483
12484 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12485
12486         * src/nm-device-802-11-wireless.c:
12487         Err, fix thinko in my previous commit.
12488
12489 2006-02-28  Robert Love  <rml@novell.com>
12490
12491         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
12492
12493 2006-02-28  Robert Love  <rml@novell.com>
12494
12495         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
12496           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
12497           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
12498           deserializers are responsible for freeing the returned DBUS strings.
12499
12500 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12501
12502         * src/nm-device-802-11-wireless.c:
12503         The scan list is being pruned prematurely.  We should prune after
12504         the device has gone MIA for three scans, not one.  Split out the
12505         interval to realtime seconds function to better serve this.
12506
12507 2006-02-27  Robert Love  <rml@novell.com>
12508
12509         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
12510           Open the pid file O_TRUNC, so if it already exists we truncate it to
12511           zero length.  Also, be more verbose about warnings generated during
12512           writing out the pid file.  Finally, always write out the pid file if
12513           in daemon mode.  Use "--pid-file" to override the default.
12514
12515 2006-02-27  Robert Love  <rml@novell.com>
12516
12517         Patch by R. Vinay <rvinay@novell.com>:
12518         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
12519           'last_attempt_success' when removing a VPN connection, too.  (Fixes
12520           Novell bug #153628).
12521           
12522 2006-02-27  Robert Love  <rml@novell.com>
12523
12524         * gnome/applet/applet.glade: Set "activates_default" on passphrase
12525           entry so user can hit <ENTER> after entering passphrase (Novell bug
12526           #153738).
12527
12528 2006-02-27  Dan Williams  <dcbw@redhat.com>
12529
12530         * gnome/applet/*
12531                 - Mass search/replace of:
12532                         nmwa -> nma
12533                         NMWirelessApplet -> NMApplet
12534                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
12535                    (it ain't just for wireless anymore, ma!)
12536                 - Fix duplicate function name printing when using nm_warning
12537                 - wireless-applet.glade -> applet.glade
12538
12539 2006-02-27  Dan Williams  <dcbw@redhat.com>
12540
12541         * dispatcher-daemon/NetworkManagerDispatcher.c
12542                 - Accept --pid-file with a path to a pidfile, write it out on
12543                         startup, and delete it on shutdown
12544
12545         * src/NetworkManager.c
12546                 - Accept --pid-file with a path to a pidfile, write it out on
12547                         startup, and delete it on shutdown
12548                 - Move nm_print_usage() lower
12549
12550         * initscripts/RedHat/NetworkManager.in
12551                 - Use new --pid-file option
12552                 - Fix service stopping to wait a bit for NM to quit
12553
12554         * initscripts/RedHat/NetworkManagerDispatcher.in
12555                 - Use new --pid-file option
12556
12557 2006-02-26  Dan Williams  <dcbw@redhat.com>
12558
12559         * src/Makefile.am
12560                 - make and install nm-crash-logger
12561
12562         * src/nm-logging.[ch]
12563                 - New files; consolidate logging and crash handling
12564
12565         * src/nm-crash-logger.c
12566           src/gdb-cmd
12567                 - Standalong crashlogger for NM, grab a backtrace
12568                         using GDB
12569
12570         * src/NetworkManager.[ch]
12571                 - Remove signal handling and put it into nm-logging.c
12572
12573 2006-02-26  Dan Williams  <dcbw@redhat.com>
12574
12575         * configure.in
12576           gnome/applet/Makefile.am
12577                 - Conditionalize all the notify stuff
12578
12579         Merge most of Chris Aillon's notification patch:
12580         
12581         * gnome/applet/applet-notifications.[ch]
12582                 - New files; show a notification
12583         
12584         * gnome/applet/applet-dbus-devices.[ch]
12585                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
12586                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
12587                         new functions, do the right thing when a device change occurs
12588
12589         * gnome/applet/applet-dbus.c
12590                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
12591                         signals, so we can handle them specially
12592
12593         * gnome/applet/applet.[ch]
12594                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
12595                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
12596                 - (nmwa_notify_state): remove
12597                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
12598                         notification work is now done when the appropriate dbus signals
12599                         are received.
12600                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
12601                         defer execution of the notification/dialog stuff.  That was an
12602                         artifact of the previous multi-threaded nature of the applet
12603                         and is now pointless.
12604                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
12605                         no longer needed.  Function folded into applet-notifications.c
12606
12607         * src/NetworkManagerPolicy.c
12608                 - (nm_policy_activation_finish): send the AP along with the device
12609                         status change signal, if the connection is wireless.  Should
12610                         fix the race where applet would show a connection to "unknown"
12611
12612 2006-02-25  Robert Love  <rml@novell.com>
12613
12614         Add WPA Enterprise support:
12615         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
12616           nm-gconf-wso-wpa-eap.h.
12617         * gnome/applet/nm-gconf-wso-wpa-eap.c,
12618           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
12619           serialization and deserialization.
12620         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
12621           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
12622           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
12623         * gnome/applet/wireless-applet.glade: Add UI for configurating security
12624           settings related to WPA Enterprise.
12625         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
12626           instantiate WPA Enterprise wireless-security-option.
12627         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
12628           Implement WPA Enterprise wireless-security-option object.
12629         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
12630           defines.  Cleanup.
12631         * libnm-util/cipher-wpa-psk-hex.c,
12632           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
12633         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
12634           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
12635           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
12636           including the cipher to DBUS method, and
12637           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
12638           to output.
12639         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
12640           nm-ap-security-wpa-eap.h
12641         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
12642           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
12643         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
12644           files.  Implement NMAPSecurityWPA_EAP object.
12645         * src/nm-ap-security-wpa-psk.c: Cleanup.
12646         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
12647           an NMAPSecurityWPA_EAP object via the method
12648           nm_ap_security_wpa_eap_new_deserialize().
12649         * src/nm-dbus-nm.c: Cleanup.
12650         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
12651           WPA Enterprise support.
12652
12653 2006-02-24  Robert Love  <rml@novell.com>
12654
12655         Patch from Timo Hoenig <thoenig@suse.de>:
12656         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
12657
12658 2006-02-24  Robert Love  <rml@novell.com>
12659
12660         Patch from Dan Winship <danw@novell.com>:
12661         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
12662           area to transparent.
12663
12664 2006-02-21  Dan Williams  <dcbw@redhat.com>
12665
12666         * gnome/applet/applet.[ch]
12667           gnome/applet/applet-dbus.c
12668                 - Implement notification support for VPN messages too
12669
12670 2006-02-21  Dan Williams  <dcbw@redhat.com>
12671
12672         * gnome/applet/applet-dbus-info.c
12673                 - Clean up warning messages to not double-print the function
12674
12675 2006-02-21  Dan Williams  <dcbw@redhat.com>
12676
12677         * gnome/applet/applet-compat.c
12678                 - (convert_one_entry): accept entries without a key_type and
12679                         convert them to unencrypted networks
12680
12681 2006-02-21  Dan Williams  <dcbw@redhat.com>
12682
12683         * gnome/libnm_glib/libnm_glib.c
12684                 - Use __func__ everywhere we can
12685                 - Code cleanups
12686                 - Use dbus pending calls rather than blocking
12687                 - Reduce busywaits for our thread to start and stop
12688                         (gnome.org #330562)
12689                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
12690                         stomp on others using the default shared dbus connection.
12691                         Fixes #rh177546# and gnome.org #326572
12692
12693 2006-02-21  Dan Williams  <dcbw@redhat.com>
12694
12695         Patch from Rodney Dawes <dobey@novell.com>
12696         * configure.in
12697           gnome/applet/Makefile.am
12698           gnome/applet/applet.c
12699                 - Add libnotify support if '--enable-notify=yes' is passed
12700                   at configure time
12701
12702 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
12703
12704         * configure.in (ALL_LINGUAS): ko added. (Korean)
12705
12706 2006-02-15  Robert Love  <rml@novell.com>
12707
12708         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
12709           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
12710           and WPA_SUPPLICANT_CONTROL_SOCKET.
12711         
12712 2006-02-15  Robert Love  <rml@novell.com>
12713
12714         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
12715           information about what connection stage we are at, provide the total
12716           number of stages, e.g. "Stage 2 of 5", so users know how far along
12717           they are if they experience problems.
12718
12719 2006-02-15  Robert Love  <rml@novell.com>
12720
12721         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
12722           define to $sysconfdir.
12723         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
12724           editing dialog, vpn_edit_widget, which fixes a bug where editing one
12725           type of VPN and then editing another results in a mangled dialog
12726           box containing the widgets from both VPNs (fixes Novell #150854).
12727           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
12728
12729 2006-02-14  Robert Love  <rml@novell.com>
12730
12731         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
12732           syslog's file descriptor.
12733
12734 2006-02-14  Robert Love  <rml@novell.com>
12735
12736         Fix bug around since the change to "deal with APs changing settings on
12737         us," checked in on the fifth of February in the year of the dog, 
12738         wherein connecting to non-broadcast encrypted networks always fails
12739         because nm_ap_get_encrypted() always returns FALSE, even when the user
12740         provided a key, because the newly-created fake AP does not have any
12741         capabilities set, which is a sypmtom of security settings not matching
12742         capabilities (Novell bug #150784):
12743         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
12744           nm_ap_add_capabilities_from_security(), which sets the given AP's
12745           capabilities off the given security settings.  Also improve our
12746           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
12747           NM_AUTH_CIPHER_AUTO.
12748         * src/nm-device-802-11-wireless.c: Call the function
12749           nm_ap_add_capabilities_from_security() to ensure that capabilities
12750           match newly updated security settings.
12751
12752 2006-02-14  Robert Love  <rml@novell.com>
12753
12754         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
12755           error as a string, not an integer, if possible; do not print the
12756           function name twice; always give the interface, if possible; misc.
12757           cleanup.
12758
12759 2006-02-12  Dan Williams  <dcbw@redhat.com>
12760
12761         Patch from Tom Parker <palfrey@tevp.net>
12762         * src/NetworkManagerSystem.h
12763                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
12764                         no longer used
12765
12766         * src/backends/NetworkManagerDebian.c
12767                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
12768                         unused variables
12769
12770 2006-02-12  Dan Williams  <dcbw@redhat.com>
12771
12772         * vpn-daemons/openvpn/intltool-extract.in
12773           vpn-daemons/openvpn/intltool-merge.in
12774           vpn-daemons/openvpn/intltool-update.in
12775           vpn-daemons/pptp/intltool-extract.in
12776           vpn-daemons/pptp/intltool-merge.in
12777           vpn-daemons/pptp/intltool-update.in
12778                 - Remove from CVS, they should get created by intltoolize,
12779                         shouldn't they?
12780
12781 2006-02-12  Dan Williams  <dcbw@redhat.com>
12782
12783         * vpn-daemons/pptp/src/pppd/patchlevel.h
12784         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
12785                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
12786                         Makefile-defined VERSION
12787
12788 2006-02-09  Dan Williams  <dcbw@redhat.com>
12789
12790         Patch from: Vinay A R <rvinay@novell.com>
12791         * src/vpn-manager/nm-vpn-act-request.[ch]
12792                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
12793                         IPSec VPNs require them for std gateway.
12794                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
12795                         and 'user_routes_count'
12796                 - (nm_vpn_act_request_get_user_routes): new function; gets user
12797                         defined routes  from NMVPNActRequest object, returns the string
12798                         array of routes.
12799
12800         * src/vpn-manager/nm-vpn-manager.[ch]
12801                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
12802                         for 'user_routes' and 'user_routes_count'
12803         
12804         * src/vpn-manager/nm-dbus-vpn.c
12805                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
12806                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
12807         
12808         * src/vpn-manager/nm-vpn-service.c
12809                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
12810                         the vpn daemon
12811
12812         Modifications by Dan:
12813         * src/vpn-manager/nm-vpn-service.c
12814                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
12815                         arrays into dbus
12816
12817         * vpn-daemons/vpnc/src/nm-vpnc-service.c
12818         * vpn-daemons/pptp/src/nm-pptp-service.c
12819         * vpn-daemons/openvpn/src/nm-openvpn-service.c
12820                 - Grab user routes from dbus message
12821                 - Free all string arrays we got from dbus
12822
12823 2006-02-07  Robert Love  <rml@novell.com>
12824
12825         Patch by Stefan Seyfried <seife@suse.de>:
12826         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
12827
12828 2006-02-06  Robert Love  <rml@novell.com>
12829
12830         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
12831
12832 2006-02-06  Robert Love  <rml@novell.com>
12833
12834         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
12835           test ">=" is never false.  If no newline is found, we loop forever.
12836           We can just check for ">" because the following if() will see the
12837           zero-th argument if the while() gets that far.
12838
12839 2006-02-05  Dan Williams  <dcbw@redhat.com>
12840
12841         Refine handling of non-broadcast networks.
12842
12843         * src/NetworkManagerAPList.c
12844                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
12845                         property from scanned AP to the AP from the device list
12846
12847         * src/nm-device-802-11-wireless.c
12848                 - (supplicant_send_network_config): use ap_scan=1 for all networks
12849                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
12850                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
12851                         networks since those don't have APs.
12852                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
12853                         AP as non-SSID-broadcasting
12854                 - (process_scan_results): don't handle non-SSID-broadcasting here
12855
12856 2006-02-05  Dan Williams  <dcbw@redhat.com>
12857
12858         * src/nm-device-802-11-wireless.c
12859                 - (get_supplicant_timeout): new function; return
12860                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
12861                         14 channels.  These are likely a/b/g cards, like Atheros, and
12862                         slow as hell to scan.
12863                 - (supplicant_timeout_cb, supplicant_monitor_start): use
12864                         get_supplicant_timeout()
12865
12866 2006-02-05  Dan Williams  <dcbw@redhat.com>
12867
12868         * src/dhcp-manager/nm-dhcp-manager.c
12869                 - Loose a commit race with Robert; make sure size check
12870                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
12871
12872 2006-02-05  Robert Love  <rml@novell.com>
12873
12874         Patch by Christoph Brill <chrisbrill@gmx.net>:
12875         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
12876           with DHCP_SERVICE_NAME.
12877
12878 2006-02-05  Dan Williams  <dcbw@redhat.com>
12879
12880         Remove anything having to do with device_setup_func from the
12881         AP security objects, since it's no longer used.
12882
12883         * src/nm-ap-security.h
12884                 - Kill device_setup_func and nm_ap_security_device_setup()
12885
12886         * src/nm-ap-security-wep.c
12887           src/nm-ap-security-wpa-psk.c
12888                 - (real_device_setup): remove
12889
12890         * src/nm-ap-security.c
12891                 - (real_device_setup): remove
12892                 - (nm_ap_security_device_setup): remove
12893
12894         * src/nm-device-802-11-wireless.[ch]
12895                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
12896                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
12897                         and done by wpa_supplicant now anyway
12898
12899 2006-02-05  Dan Williams  <dcbw@redhat.com>
12900
12901         * src/nm-device-802-11-wireless.c
12902                 - (ap_need_key, real_act_stage2_config): deal with APs changing
12903                         settings on us.  Previously NM would loop asking for the
12904                         key but getting the same one back.  Now, if the NMI-supplied
12905                         cipher doesn't overlap with the scanned AP capabilities,
12906                         we request a completely new key from the user.
12907
12908 2006-02-05  Dan Williams  <dcbw@redhat.com>
12909
12910         * src/NetworkManagerUtils.c
12911                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
12912                         Handle newline killing better
12913
12914 2006-02-05  Dan Williams  <dcbw@redhat.com>
12915
12916         * gnome/applet/nm-gconf-wso.c
12917                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
12918                         of unencrypted access point security info.
12919
12920 2006-02-03  Robert Love  <rml@novell.com>
12921
12922         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
12923           user's encryption key, so we print the err_msg_cmd not the command,
12924           if available.  So long as SUPPLICANT_DEBUG is default, this makes
12925           sense.
12926
12927 2006-02-03  Christopher Aillon  <caillon@redhat.com>
12928
12929         * initscript/RedHat/NetworkManagerDispatcher.in:
12930         * initscript/RedHat/NetworkManager.in: modify the pidfile location
12931         Patch from Dan Walsh <dwalsh@redhat.com>
12932
12933 2006-02-03  Robert Love  <rml@novell.com>
12934
12935         * dispatcher-daemon/NetworkManagerDispatcher.c,
12936           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
12937           but use the sysconfdir.
12938
12939 2006-02-03  Robert Love  <rml@novell.com>
12940
12941         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
12942           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
12943           'char *'.
12944         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
12945           nm_ip4_config_get_hostname() and
12946           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
12947         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
12948           leak g_strdup() result.
12949
12950 2006-02-03  Robert Love  <rml@novell.com>
12951
12952         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
12953           broadcast == TRUE.  Also, copy broadcast and artificial properties
12954           from source network to destination in nm_ap_copy().
12955         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
12956           since we now default new networks to non-hidden.
12957
12958 2006-02-03  Dan Williams  <dcbw@redhat.com>
12959
12960         * gnome/applet/main.c
12961                 - (main): change the NEVER->ALWAYS so we start at the
12962                         beginning of the session, if being session-managed
12963
12964 2006-02-03  Dan Williams  <dcbw@redhat.com>
12965
12966         * gnome/applet/main.c
12967                 - (main): in a variation on Robert's patch, change
12968                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
12969                         he wants.
12970
12971 2006-02-02  Robert Love  <rml@novell.com>
12972
12973         * src/Makefile.am: If we aren't going to create the run directory at,
12974           uh, run-time, create it during install.  Then users just doing
12975           'make install' are cool, too.  While we are here, create the
12976           dispatcher.d directory, too.
12977         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
12978           the exact run directory.
12979         * Makefile.am: Install nm-applet.desktop.
12980
12981 2006-02-02  Robert Love  <rml@novell.com>
12982
12983         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
12984           structure, which denotes whether or not the AP is hidden.  This is a
12985           superset of 'artificial' -- we need 'broadcast' because a hidden AP
12986           can show up in the scan list.  Add nm_ap_get_broadcast() and
12987           nm_ap_set_broadcast() accessor interfaces.
12988         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
12989           nm_ap_set_broadcast().
12990         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
12991           "getProperties" method, which denotes whether or not the given
12992           network is hidden.
12993         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
12994           an artificial network.  Set broadcast to TRUE when scanning returns
12995           an ESSID and FALSE when not.
12996         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
12997           from "getProperties" method on a network.  Possible TODO is to
12998           somehow display this.
12999         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
13000
13001 2006-02-02  Dan Williams  <dcbw@redhat.com>
13002
13003         * src/nm-device-802-11-wireless.c
13004                 - (supplicant_interface_init): don't try to create
13005                         /var/run/NetworkManager, since that should be done by
13006                         the distro package.  Causes problems for stuff like SELinux
13007
13008 2006-02-02  Robert Love  <rml@novell.com>
13009
13010         Patch by Sureshkumar T <tsureshkumar@novell.com>:
13011         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
13012           Check for and handle empty string for iface.
13013
13014 2006-02-01  Robert Love  <rml@novell.com>
13015
13016         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
13017           manpage.
13018
13019 2006-01-31  Dan Williams  <dcbw@redhat.com>
13020
13021         * nm-applet.desktop
13022                 - Add --sm-disable to Exec arguments, presuming that when
13023                         using autostart, we don't want session management
13024
13025 2006-01-31  Robert Love  <rml@novell.com>
13026
13027         * src/NetworkManagerAP.c: Add two new manufacturer default network
13028           names: linksys-a and linksys-g.  These are found (at least) on the
13029           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
13030           own ESSID.
13031
13032 2006-01-31  Robert Love  <rml@novell.com>
13033
13034         * src/NetworkManagerAP.c: Optimize the function
13035           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
13036           machine code.  This is the first in a series of code tweaks aiming to
13037           generate better machine code and make NetworkManager all the better.
13038           Just kidding.  Who has time to go through the assembly generated for
13039           every function?  I certainly don't.  I have a wife, a kid, a job,
13040           a mortgage, a mistress.  But this function was so bad, I was called
13041           to arms.  Like the book.
13042
13043 2006-01-31  Robert Love  <rml@novell.com>
13044
13045         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
13046           AP is not broadcasting, to scan with probe request frames.  Required
13047           for non-broadcast networks.
13048
13049 2006-01-31  Robert Love  <rml@novell.com>
13050
13051         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
13052           preprocessor define (still 20s).  Fix message text in nm_info()
13053           s/too too/took too/.
13054
13055 2006-01-30  Dan Williams  <dcbw@redhat.com>
13056
13057         * src/nm-device-802-11-wireless.c
13058                 - (supplicant_monitor_start): increase connect/auth timeout to
13059                         20 seconds from 10 seconds
13060
13061 2006-01-30  Dan Williams  <dcbw@redhat.com>
13062
13063         * src/Makefile.am
13064                 - Define LOCALSTATEDIR
13065
13066         * src/nm-device-802-11-wireless.c
13067                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
13068                         socket where we want it to
13069
13070         * src/wpa_ctrl.[ch]
13071                 - (wpa_ctrl_open): accept location to put local control socket
13072
13073 2006-01-30  Robert Love  <rml@novell.com>
13074
13075         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
13076           get_ip4_string() for "domain_name".
13077
13078 2006-01-30  Robert Love  <rml@novell.com>
13079
13080         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13081           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
13082           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
13083           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
13084           support for "Automatic" pairwise and group cipher configuration by
13085           letting wpa_supplicant handle the details.  Add UI elements, new
13086           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
13087           charm.  Note this does more than add a nice feature, it fixes a bug.
13088           Apparently, some people have AP's where the pairwise cipher does not
13089           match the group cipher.  Insane, but true.
13090
13091 2006-01-30  Dan Williams  <dcbw@redhat.com>
13092
13093         * gnome/applet/applet-dbus-devices.c
13094                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
13095                         functions, grab device driver name from NetworkManager
13096                 - (nmwa_dbus_device_properties_cb): call functions to get driver
13097
13098         * gnome/applet/applet.c
13099                 - (nmwa_update_info): show driver name in Connection Information
13100                         dialog
13101
13102         * gnome/applet/nm-device.[ch]
13103                 - (network_device_get_driver, network_device_set_driver): add
13104                         accessors for driver name
13105
13106         * gnome/applet/wireless-applet.glade
13107                 - Add line for driver name to Connection Information dialog
13108
13109         * src/nm-dbus-device.c
13110                 - (nm_dbus_device_get_driver): new function to return driver name
13111                 - (nm_dbus_device_methods): hook up driver name function to dbus
13112
13113         * test/nm-tool.c
13114                 - (get_driver_name): new function
13115                 - (detail_device): grab and show driver name
13116
13117 2006-01-30  Robert Love  <rml@novell.com>
13118
13119         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
13120           does not parse the markup if it is not part of the format.
13121
13122 2006-01-30  Robert Love  <rml@novell.com>
13123
13124         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
13125           FALSE, we have no security options for this dialog, so we throw up
13126           an error dialog instead of a broken passphrase dialog.  Fixes
13127           Novell #138404.
13128         * gnome/applet/wireless-security-manager.c,
13129           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
13130           does not add any security options, not even NONE, print a warning
13131           and return FALSE.  This let's functions constructing a dialog bail
13132           out if the device's capabilities and the network's requirements have
13133           zero overlap.
13134
13135 2006-01-27  Robert Love  <rml@novell.com>
13136
13137         * configure.in: Require wpa_supplicant.  Detect location of binary and
13138           use it.  Override with "--with-wpa_supplicant=foo".
13139         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
13140           path to wpa_supplicant but use the auto-detected or user-provided
13141           value from configure.
13142
13143 2006-01-27  Robert Love  <rml@novell.com>
13144
13145         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
13146           but the DHCP server did not return a hostname, try to look up our
13147           name via DNS and set the system hostname to that.
13148
13149 2006-01-27  Dan Williams  <dcbw@redhat.com>
13150
13151         * src/backends/NetworkManagerRedHat.c
13152                 - Add NM_CONTROLLED system network script support for RH/Fedora
13153
13154 2006-01-27  Dan Williams  <dcbw@redhat.com>
13155
13156         * src/backends/NetworkManagerGentoo.c
13157                 - (nm_system_device_get_disabled): add missing function.
13158                         Gnome BZ #328780
13159
13160 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
13161
13162         * configure.in: Added vi in ALL_LINGUAS line.
13163         
13164 2006-01-26  Robert Love  <rml@novell.com>
13165
13166         * src/Makefile.am, src/kernel-types.h: Now that two different source
13167           files are feeling the crack-addled leakage of kernel types such as
13168           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
13169           types in user-space -- define a header and include it as needed.
13170         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
13171         * src/nm-device-802-3-ethernet.h: Remove defines.
13172         * src/wpa.c: Remove defines and include kernel-types.h.
13173
13174 2006-01-26  Robert Love  <rml@novell.com>
13175
13176         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
13177           work.
13178
13179 2006-01-26  Robert Love  <rml@novell.com>
13180
13181         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
13182         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
13183           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
13184           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
13185           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13186           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
13187           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
13188           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
13189           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
13190           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
13191           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
13192           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
13193           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
13194           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
13195           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
13196           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
13197           Kill unused variables, labels, and static functions.  Don't pass
13198           string literals as the format string for printf-like functions.
13199
13200 2006-01-25  Dan Williams  <dcbw@redhat.com>
13201
13202         * gnome/applet/wireless-applet.glade
13203                 - Remove WPA2 Checkbox
13204
13205         * gnome/applet/wireless-security-manager.c
13206                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
13207                         This means the Wireless Security menu now has two WPA options,
13208                         one for "WPA Personal" and one for "WPA2 Personal"
13209
13210         * gnome/applet/wso-wpa-psk.[ch]
13211                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
13212                         'wpa2' argument to determine WPA version to use
13213                 - (append_dbus_params_func): pass stored WPA version to cipher
13214                         rather than using the (removed) checkbox
13215
13216 2006-01-24  Robert Love  <rml@novell.com>
13217
13218         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13219           before we g_strdup(), not the ultimate string.
13220
13221 2006-01-23  Dan Williams  <dcbw@redhat.com>
13222
13223         * src/NetworkManagerAP.[ch]
13224                 - (nm_ap_new_from_ap): copy original essid too
13225                 - (nm_ap_unref): free original essid
13226                 - (nm_ap_get_orig_essid): new function
13227                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
13228                         but keep original essid around too
13229
13230         * src/nm-device-802-11-wireless.c
13231                 - (supplicant_send_network_config): send wpa_supplicant the
13232                         _original_ essid, and not as a string, but in hex.  Should
13233                         allow us to connect to more APs that use wierd character
13234                         encodings for their essids
13235
13236         * utils/nm-utils.[ch]
13237                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
13238                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
13239                         use the current locale as a hint for what encoding the essid
13240                         might be in.  Obviously not 100% accurate, but the idea here is
13241                         that if a user's locale is ex. ja_JP, they are more likely than
13242                         not to be in Japan, where access points will likely be in some
13243                         Japanese encoding.
13244
13245 2006-01-23  Dan Williams  <dcbw@redhat.com>
13246
13247         * libnm-util/cipher-private.h
13248           libnm-util/cipher.c
13249           libnm-util/cipher.h
13250                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
13251
13252 2006-01-23  Robert Love  <rml@novell.com>
13253
13254         Patch by Timo Hoenig <thoenig@suse.de>:
13255         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
13256           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
13257           by DHCP and pass it to the backends, allowing distribution-specific
13258           behavior with respect to the DHCP-supplied hostname (if nothing else,
13259           some distributions might not want to set the hostname).
13260         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
13261           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
13262           Also update our NIS behavior.
13263         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
13264           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
13265           Add stub functions.
13266
13267 2006-01-23  Robert Love  <rml@novell.com>
13268
13269         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
13270           gnome-session does autostart.  TODO: We need to install this to
13271           $prefix/share/autostart/.
13272
13273 2006-01-22  Dan Williams  <dcbw@redhat.com>
13274
13275         * src/NetworkManagerAP.[ch]
13276           src/nm-dbus-nmi.c
13277           src/nm-device-802-11-wireless.c         
13278                 - Make nm_ap_get_essid return "const char *"
13279
13280 2006-01-22  Dan Williams  <dcbw@redhat.com>
13281
13282         * src/NetworkManagerAP.[ch]
13283                 - (nm_ap_get_matched, nm_ap_set_matched): remove
13284
13285         * src/NetworkManagerAPList.[ch]
13286                 - (nm_ap_list_diff): removed
13287                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
13288                         deal with access points changing essids on us
13289
13290         * src/nm-device-802-11-wireless.c
13291                 - (add_new_ap_to_device_list): move AP dbus signal logic to
13292                         src/NetworkManagerAPList.c
13293                 - (real_can_interrupt_activation): new function; allow interruption
13294                         of device activation if we are waiting for a network key
13295
13296         * src/NetworkManagerPolicy.c
13297                 - (nm_policy_device_change_check): allow interruption of currently
13298                         activating devices if the device allows it.  Previous behavior
13299                         would refuse to activate a just-plugged wired device if a
13300                         wireless device was waiting for a key.
13301
13302         * src/nm-device.[ch]
13303                 - (nm_device_can_interrupt_activation): new function; ask devices
13304                         whether their activation can be interrupted
13305
13306 2006-01-20  Robert Love  <rml@novell.com>
13307
13308         * Makefile.am, configure.in: Add new man subdirectory.
13309         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
13310           man/Makefile.am: Add man pages for NetworkManager and its
13311           crime-solving bumbling buddy, NetworkManagerDispatcher.
13312         * man/.cvsignore: Add.
13313         * initscript/Debian/NetworkManager,
13314           initscript/Gentoo/NetworkManager.in,
13315           initscript/RedHat/NetworkManager.in,
13316           initscript/RedHat/NetworkManagerDispatcher.in,
13317           initscript/SUSE/networkmanager-dispatcher.in,
13318           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
13319
13320 2006-01-20  Robert Love  <rml@novell.com>
13321
13322         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
13323           instead of queuing.  This prevents the running of multiple NM
13324           daemons concurrently, which does not work whatsoever and results in
13325           neither daemon working correctly.  Also, we don't handle queuing and
13326           name-owner-changes, anyhow.
13327
13328 2006-01-20  Robert Love  <rml@novell.com>
13329
13330         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
13331         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
13332           to sbin, not bin.
13333
13334 2006-01-19  Robert Love  <rml@novell.com>
13335
13336         * configure.in: Require hal 0.5.0 or later.
13337
13338 2006-01-18  Robert Love  <rml@novell.com>
13339
13340         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
13341           Allow backends to flag a device (in whatever distro-dependent way
13342           they so desire) as disabled.  NM will ignore any such device.
13343         * src/backends/NetworkManagerDebian.c,
13344           src/backends/NetworkManagerRedHat.c,
13345           src/backends/NetworkManagerSlackware.c: Add stub function
13346           nm_system_device_get_disabled() that always returns FALSE (enabled).
13347         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
13348           SUSE-specific configuration structure.  Fill it in from the
13349           NM_CONTROLLED variable in the system networking scripts.  If this var
13350           exists and is "no", we ignore the device.
13351
13352 2006-01-17  Robert Love  <rml@novell.com>
13353
13354         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
13355           identical for NM.  For a full discussion, see the thread at
13356           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
13357
13358 2006-01-17  Dan Williams  <dcbw@redhat.com>
13359
13360         * src/nm-device.c
13361                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
13362                         function.  Fixes crash when wired DHCP fails.
13363
13364 2006-01-16  Robert Love  <rml@novell.com>
13365
13366         * src/Makefile.am: Don't install NMLoadModules
13367         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
13368           from src/ to test/ as no one uses it anymore.  Note that I would be
13369           fine with removing it altogether.
13370
13371 2006-01-16  Robert Love  <rml@novell.com>
13372
13373         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
13374           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13375           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
13376           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
13377           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
13378           src/nm-netlink-monitor.c: Don't miss any initializers on structure
13379           declarations, ever.
13380         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
13381           NM_STATE_DISCONNECTED is zero).
13382
13383 2006-01-16  Robert Love  <rml@novell.com>
13384
13385         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
13386           uninitialized parameter and buffer overflow.  Novell #143496.
13387
13388 2006-01-16  Dan Williams  <dcbw@redhat.com>
13389
13390         Apply the PtP Address bits of a patch from Tim Niemueller
13391
13392         * src/nm-ip4-config.[ch]
13393                 - Add ip4_ptp_address member to object
13394                 - (nm_ip4_config_copy): copy ptp address too
13395                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
13396                         new functions
13397                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
13398                         rather than local tunnel ip address
13399
13400         * src/vpn-manager/nm-vpn-service.c
13401                 - (print_vpn_config): update for PtP address
13402                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
13403                         DBusMessageIters in preparation for getting routes from the VPN
13404                         service daemons too
13405
13406         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
13407                 - (send_config_info): update for PtP address, clean up code
13408                 - (main): update for PtP address, clean up code, fix typo
13409
13410         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13411                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
13412
13413         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13414                 - (pptp_ip_up): update for PtP address
13415
13416         * vpn-daemons/pptp/src/nm-pptp-service.c
13417                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
13418
13419         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13420                 - (print_vpn_config): update for PtP address
13421                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
13422
13423 2006-01-16  Dan Williams  <dcbw@redhat.com>
13424
13425         * gnome/applet/applet.c
13426                 - (nmwa_add_networks_helper): don't indicate an active network
13427                         if NM is disconnected or asleep
13428
13429 2006-01-16  Dan Williams  <dcbw@redhat.com>
13430
13431         * src/NetworkManagerPolicy.c
13432                 - (nm_policy_device_change_check): switch devices if we lose the link
13433                         on an ethernet device. 
13434
13435 2006-01-16  Dan Williams  <dcbw@redhat.com>
13436
13437         * gnome/applet/wso-wpa-psk-hex.[ch]
13438                 - Renamed -> wso-wpa-psk.[ch]
13439
13440         * gnome/applet/wso-wpa-psk.[ch]
13441                 - New files
13442
13443         * gnome/applet/wso-wpa-psk-passphrase.[ch]
13444                 - Removed, rolled into wso-wpa-psk.[ch]
13445
13446         * gnome/applet/Makefile.am
13447                 - Updated for above changes
13448
13449         * gnome/applet/wireless-applet.glade
13450                 - Consolidate WPA-PSK options into one notebook
13451                         widget, and make dialogs invisible by default
13452                         to fix screen oddities
13453
13454         * gnome/applet/wireless-security-manager.c
13455                 - (wsm_set_capabilities): create the new wpa-psk widget rather
13456                         than both the old hex & passphrase ones
13457
13458 2006-01-16  Dan Williams  <dcbw@redhat.com>
13459
13460         * gnome/applet/other-network-dialog.c
13461                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
13462
13463 2006-01-16  Dan Williams  <dcbw@redhat.com>
13464
13465         * gnome/applet/applet.c
13466                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
13467                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
13468                         prevention to realize window before trying to get server
13469                         time
13470
13471         * gnome/applet/other-network-dialog.c
13472                 - (nmwa_other_network_dialog_run): fix up focus-stealing
13473                         prevention to realize window before trying to get server
13474                         time
13475
13476         * gnome/applet/passphrase-dialog.c
13477                 - (nmi_passphrase_dialog_new): fix up focus-stealing
13478                         prevention to realize window before trying to get server
13479                         time
13480
13481 2006-01-16  Robert Love  <rml@novell.com>
13482
13483         Patch from Timo Hoenig  <thoenig@suse.de:
13484         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
13485           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
13486           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
13487           libnm-util/dbus-helpers.h: add checks whether headers are used
13488           within a C++ build.
13489
13490 2006-01-16  Dan Williams  <dcbw@redhat.com>
13491
13492         * gnome/applet/wireless-security-option.c
13493                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
13494
13495 2006-01-16  Dan Williams  <dcbw@redhat.com>
13496
13497         * libnm-util/cipher-wpa-psk-passphrase.c
13498                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
13499                         be 8 - 63 characters inclusive
13500
13501 2006-01-16  Dan Williams  <dcbw@redhat.com>
13502
13503         * src/nm-dbus-nm.c
13504                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
13505
13506 2006-01-13  Robert Love  <rml@novell.com>
13507
13508         Patch by T Sureshkumar <tsureshkuman@novell.com>:
13509         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
13510           modules that do not use an interface.
13511
13512 2006-01-13  Dan Williams  <dcbw@redhat.com>
13513
13514         * src/nm-device.c
13515           src/nm-device.h
13516                 - Allow subclasses to implement deactivate_quickly()
13517                 - (nm_device_deactivate_quickly): call subclass
13518                         deactivate_quickly() methods
13519                 - (nm_device_set_active_link): small cleanups, and don't
13520                         deactivate the device right away because we risk a deadlock
13521                         when called from device thread, waiting for the device
13522                         thread to cancel activation
13523
13524         * src/nm-device-802-11-wireless.c
13525                 - (real_deactivate_quickly): new function
13526                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
13527                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
13528                         so that we kill the supplicant when we sleep too
13529                 - (supplicant_interface_init): work around naive naming attempts of
13530                         wpa_ctrl when naming sockets
13531
13532 2006-01-13  Dan Williams  <dcbw@redhat.com>
13533
13534         * src/nm-device-802-11-wireless.c
13535                 - (supplicant_cleanup): delete old device control sockets too
13536                 - (supplicant_get_device_socket_path): new function to consolidate
13537                         locations that need a path to a device's control socket
13538
13539 2006-01-12  Robert Love  <rml@novell.com>
13540
13541         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
13542           description so that the description is unique for each
13543           pair (device,provider).  Fixes Novell #142773.
13544
13545 2006-01-12  Dan Williams  <dcbw@redhat.com>
13546
13547         * src/nm-device-802-11-wireless.c
13548                 - (supplicant_exec): ensure GError is correctly initialized
13549                         Reported by Diego González (gnome.org #326708)
13550
13551 2006-01-11  Robert Love  <rml@novell.com>
13552
13553         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
13554           define if_mii(), open code the same results, and do so without any
13555           type punning.
13556
13557 2006-01-11  Robert Love  <rml@novell.com>
13558
13559         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
13560           that wso_foo_new() returned non-NULL.  Instead, only append the new
13561           wso to wsm->options if the wso is non-NULL.  The crux is that we
13562           assume that the relevant key types are implied by WEP and WPA as
13563           appropriate.  To be sure, they should be, but we should not expect
13564           drivers to not be oozing piles of wolf fecal matter.
13565
13566 2006-01-11  Robert Love  <rml@novell.com>
13567
13568         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
13569         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
13570           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
13571           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
13572           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
13573           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
13574           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
13575         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
13576           comparing values within DBL_EPSILON.  Also fix shadowed variable
13577           usage.
13578
13579 2006-01-11  Dan Williams  <dcbw@redhat.com>
13580
13581         Add options for WPA2 and WPA1+CCMP (AES).
13582
13583         * gnome/applet/wireless-applet.glade
13584                 - Add UI bits for WPA+CCMP
13585
13586         * gnome/applet/other-network-dialog.c
13587                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
13588                         and don't allow creation of WPA2 Ad-Hoc networks since
13589                         wpa_supplicant doesn't support them
13590
13591         * gnome/applet/wireless-security-manager.c
13592                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
13593                         on to the specific wireless security option being created
13594
13595         * gnome/applet/wireless-security-option.[ch]
13596                 - (wso_wpa_create_key_type_model): new utility function to create
13597                         the model required for WPA Key Type combo box
13598
13599         * gnome/applet/wso-private.h
13600           gnome/applet/wireless-security-option.h
13601                 - Move private function prototypes into wso-private.h
13602
13603         * gnome/applet/wso-wpa-psk-hex.[ch]
13604           gnome/applet/wso-wpa-psk-passphrase.[ch]
13605                 - (append_dbus_params_func): get WPA version from checkbox and pass
13606                         it to the dbus serialization helper
13607                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
13608                         key type combo changes
13609                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
13610                         model and options
13611
13612         * libnm-util/cipher-wpa-psk-hex.c
13613           libnm-util/cipher-wpa-psk-passphrase.c
13614                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
13615                         new function; allow the cipher to be changed after object creation
13616
13617         * src/nm-ap-security-wpa-psk.c
13618                 - (set_description): Do WPA2 descriptions too
13619
13620         * src/nm-ap-security.c
13621                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
13622
13623 2006-01-11  Robert Love  <rml@novell.com>
13624
13625         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
13626           is defined in <linux/mii.h> to return the mii_ioctl_data structure
13627           from the ifreq structure in lieu of an open coded solution.  Removes
13628           a life-threatening type-punning.
13629         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
13630           types, ever, whatsoever, baby.
13631
13632 2006-01-11  Robert Love  <rml@novell.com>
13633
13634         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
13635           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
13636           assignments to applet->nm_state into a new nmwa_set_state() function
13637           for both cleanliness and to help debugging.
13638
13639 2006-01-10  Robert Love  <rml@novell.com>
13640
13641         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
13642           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
13643           seconds, exclusive.  That is, we want to sleep x seconds such that
13644           1 < x < 2.
13645
13646 2006-01-10  Robert Love  <rml@novell.com>
13647
13648         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
13649           the attr fields according to the example in the email available at
13650           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
13651           Conversely, we do have to free 'name', so we do so, fixing a leak.
13652
13653 2006-01-10  Robert Love  <rml@novell.com>
13654
13655         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
13656           sure that we close the socket!
13657
13658 2006-01-10  Robert Love  <rml@novell.com>
13659
13660         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
13661           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
13662           src/nm-device.c: Fix a FIXME!  Reimplement the function
13663           nm_device_update_hw_address() in device subclass variants,
13664           nm_device_802_3_ethernet_set_address() and
13665           nm_device_802_11_wireless_set_address(), hook them up, and use them.
13666           This fixes the existing bug where MAC addresses are all zeros.
13667
13668 2006-01-10  Robert Love  <rml@novell.com>
13669
13670         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
13671           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
13672           option to give users ability to globally disconnect and put NM to
13673           sleep.  This is useful as a 'lockdown mode' for flying, security, and
13674           clean disconnect.
13675
13676 2006-01-09  Robert Love  <rml@novell.com>
13677
13678         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
13679           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
13680           User-space does not supply these types, so we have to define them
13681           ourselves.  The relevant kernel maintainer refused to accept a patch
13682           switching these headers to the proper C99 types.
13683
13684 2006-01-09  Dan Williams  <dcbw@redhat.com>
13685
13686         Apply Robert's 'tray icon redo' patch with fixes
13687         * gnome/applet/applet.c
13688           gnome/applet/applet.h
13689                 - Instead of using a menu bar + menu item, simulate menu
13690                         behavior using a popup menu.  Highlight the area around
13691                         the icon more like a menu too, by playing with the
13692                         applet's size requisition
13693
13694 2006-01-09  Timo Hoenig   <thoenig@suse.de>
13695         * libnm-util/dbus-helpers.c
13696           libnm-util/dbus-helpers.h
13697                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
13698                         to 'exception_namespace' (:namespace is a keyword in
13699                         C++)
13700
13701 2006-01-09  Dan Williams  <dcbw@redhat.com>
13702
13703         * src/NetworkManagerPolicy.c
13704                 - (nm_policy_device_change_check): don't autoswitch away from
13705                         Ad-Hoc networks, since there's really no concept of
13706                         "link"
13707
13708         * src/nm-dbus-nm.c
13709                 - (nm_dbus_nm_create_wireless_network): mark created networks
13710                         as Ad-Hoc networks
13711
13712         * src/nm-device-802-11-wireless.c
13713                 - (real_activation_success_handler): add user-created Ad-Hoc
13714                         networks to the device's scan list
13715
13716 2006-01-08  Dan Williams  <dcbw@redhat.com>
13717
13718         We now require a patch for wpa_supplicant to support Ad-Hoc
13719         networks:
13720           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
13721
13722         * src/nm-device-802-11-wireless.c
13723                 - (supplicant_send_network_config): turn off wpa_supplicant's
13724                         scanning.  Fixes Ad-Hoc networks.
13725
13726 2006-01-08  Dan Williams  <dcbw@redhat.com>
13727
13728         * src/nm-ap-security.c
13729           src/nm-ap-security.h
13730                 - Add a user_created argument to the write_supplicant_config
13731                         functions
13732
13733         * src/nm-ap-security-wep.c
13734           src/nm-ap-security-wpa-psk.c
13735           src/nm-device-802-11-wireless.c
13736                 - Make Ad-Hoc mode somewhat work, at least write the
13737                         correct options to wpa_supplicant
13738
13739 2006-01-08  Dan Williams  <dcbw@redhat.com>
13740
13741         * src/nm-device-802-11-wireless.c
13742                 - Remove unused code from the old device activation path
13743
13744 2006-01-08  Dan Williams  <dcbw@redhat.com>
13745
13746         * libnm-util/dbus-helpers.c
13747                 - (nmu_security_serialize_wpa_psk): pass a blank key through
13748                         dbus when key == NULL
13749
13750 2006-01-08  Dan Williams  <dcbw@redhat.com>
13751
13752         * gnome/applet/nm-gconf-wso-wpa-psk.c
13753                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
13754                         correct arguments to nmu_security_deserialize_wpa_psk()
13755
13756         * src/nm-ap-security-wpa-psk.c
13757                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
13758                         arguments to nmu_security_deserialize_wpa_psk()
13759
13760 2006-01-08  Dan Williams  <dcbw@redhat.com>
13761
13762         * gnome/applet/wso-wpa-psk-hex.c
13763           gnome/applet/wso-wpa-psk-passphrase.c
13764                 - Hook up the append_dbus_params_func() function
13765
13766 2006-01-08  Dan Williams  <dcbw@redhat.com>
13767
13768         * src/nm-device-802-11-wireless.c
13769                 - (get_wireless_capabilities): correctly detect driver WPA
13770                         capabilities
13771
13772 2006-01-08  Dan Williams  <dcbw@redhat.com>
13773
13774         * gnome/applet/Makefile.am
13775           gnome/applet/wso-wpa-psk-hex.c
13776           gnome/applet/wso-wpa-psk-hex.h
13777                 - New files, implement WPA-PSK Hex key input
13778
13779         * gnome/applet/wireless-applet.glade
13780                 - Change existing wpa-psk stuff to wpa-psk-hex
13781                 - Add new widgets for wpa-psk-passphrase
13782
13783         * gnome/applet/wireless-security-manager.c
13784                 - (wsm_set_capabilities): enable WPA options
13785
13786         * gnome/applet/wso-wpa-psk-passphrase.c
13787                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
13788                         for WPA-PSK passphrase
13789
13790 2006-01-08  Dan Williams  <dcbw@redhat.com>
13791
13792         * include/NetworkManager.h
13793                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
13794                         applet/info-daemons
13795
13796         * gnome/applet/passphrase-dialog.c
13797                 - Use the constant.  Fixes a bug where the arguments to
13798                         dbus_message_new_error() were incorrect
13799
13800         * src/nm-dbus-nmi.c
13801                 - Use the constant
13802
13803 2006-01-07  Dan Williams  <dcbw@redhat.com>
13804
13805         * src/nm-device-802-11-wireless.c
13806                 - Add a link timeout so we allow the supplicant time to
13807                         reassociate if it can, before we deactivate the card
13808                 - Fix up link status and link updating so things work better
13809
13810 2006-01-07  Dan Williams  <dcbw@redhat.com>
13811
13812         * src/nm-device-802-11-wireless.c
13813                 - Switch over to using wpa_supplicant
13814                 - Add a timeout of 10s for association of the supplicant
13815                 - Start the monitor callback of the supplicant
13816
13817 2006-01-07  Dan Williams  <dcbw@redhat.com>
13818
13819         * src/NetworkManagerUtils.c
13820                 - (nm_utils_supplicant_request,
13821                   nm_utils_supplicant_request_with_check):
13822                         pass correct buffer length to wpa_ctrl_request()
13823
13824 2006-01-07  Dan Williams  <dcbw@redhat.com>
13825
13826         * src/nm-device-private.h
13827           src/nm-device.c
13828                 - (nm_device_activate_schedule_stage3_ip_config_start): make
13829                         this function available to subclasses
13830
13831 2006-01-06  Robert Love  <rml@novell.com>
13832
13833         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
13834           user plugging in a network cable signals their preference for to
13835           switch, unless the user explicitly selected a wireless network and
13836           therefore signaled their preference for said wireless network over
13837           wired.  In other words, do exactly what makes sense.
13838
13839 2006-01-06  Robert Love  <rml@novell.com>
13840
13841         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
13842           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
13843           src/NetworkManagerWireless.h: Remove, no longer used and they keep
13844           showing up in my greps.
13845
13846 2006-01-06  Robert Love  <rml@novell.com>
13847
13848         * gnome/applet/applet-dbus-devices.c,
13849           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
13850           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
13851           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
13852           New Network' both failed in the non-encrypted case because we were
13853           not appending the security options to the DBUS message.  And
13854           'Connect to Other' was also failing in the encrypted case because
13855           we were not incrementing to the next DBUS parameter.  All fixed.
13856           Thanks to dcdw for some debugging help.
13857
13858 2006-01-06  Robert Love  <rml@novell.com>
13859
13860         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
13861           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
13862           hangup code and add per-device hangup.  Tie last commit into the
13863           GNOME applet.  TODO:  Save, understand, and respond to the state of
13864           each dialup device.
13865
13866 2006-01-06  Robert Love  <rml@novell.com>
13867
13868         Patch by Timo Hoenig <thoenig@suse.de>:
13869         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
13870           hangup specific dialup devices.
13871         * src/backends/NetworkManagerDebian.c,
13872           src/backends/NetworkManagerGentoo.c,
13873           src/backends/NetworkManagerRedHat.c,
13874           src/backends/NetworkManagerSlackware.c: Add stub backend.
13875         * src/backends/NetworkManagerRedHat.c,
13876           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
13877           hangup specific dialup devices.
13878
13879 2006-01-04  Robert Love  <rml@novell.com>
13880
13881         * gnome/applet/applet-dbus-devices.c,
13882           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
13883           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
13884           connections.
13885
13886 2006-01-04  Dan Williams  <dcbw@redhat.com>
13887
13888         First dump of wpa_supplicant-related code.  It's not hooked up to
13889         anything yet though.  Thanks to Kay Sievers for
13890         wpa_supplicant_wrapper.c, which formed the basis for this work,
13891         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
13892
13893         * src/Makefile.am
13894           src/wpa_ctrl.[ch]
13895                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
13896
13897         * src/NetworkManagerUtils.[ch]
13898                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
13899                         Add convenience functions for talking to wpa_supplicant
13900
13901         * src/nm-ap-security.[ch]
13902           src/nm-ap-security-wep.c
13903           src/nm-ap-security-wpa-psk.[ch]
13904                 - Update and implement real_write_supplicant_config functions
13905                         in all security types
13906                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
13907                         nm-ap-security-wpa-psk.c
13908
13909         * src/nm-device-802-11-wireless.c
13910                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
13911                    wpa_supplicant_start, wpa_supplicant_interface_init,
13912                    wpa_supplicant_send_network_config): add functions to talk to
13913                         wpa_supplicant and write network config to it
13914
13915 2006-01-04  Robert Love  <rml@novell.com>
13916
13917         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
13918           values so that distribution-backends can differentiate between the
13919           various types (modem, ISDN, et cetera) of dialup device that they
13920           support.
13921         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
13922           needed.
13923
13924 2006-01-03  Dan Williams  <dcbw@redhat.com>
13925
13926         * src/NetworkManagerPolicy.c
13927           src/nm-device.[ch]
13928           src/nm-device-802-11-wireless.c
13929                 - Move wireless-specific activation failure and success code
13930                         into wireless device class
13931
13932 2006-01-03  Robert Love  <rml@novell.com>
13933
13934         Patch by Preggna S:
13935         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
13936           IPsec does not require that a VPN client be bound to an interface,
13937           due to the use of the in-kernel IPSec bits.  So make the tunnel
13938           device optional.
13939
13940 2006-01-03  Dan Williams  <dcbw@redhat.com>
13941
13942         * src/NetworkManagerAP.c
13943                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
13944                         the WPA IE specifies that WEP is supported
13945
13946         * src/nm-device-802-11-wireless.c
13947                 - (process_scan_results): don't mark an AP as supporting WEP
13948                         if there's already other encryption capability info
13949
13950 2006-01-03  Dan Williams  <dcbw@redhat.com>
13951
13952         * src/dhcp-manager/nm-dhcp-manager.c
13953                 - Recognize activation cancellation when waiting for DHCP
13954                         configuration from dhcdbd
13955                 - Ignore non-dhcdbd messages
13956
13957         * src/nm-device.c
13958                 - (real_act_stage3_ip_config_start): return to correct behavior
13959                         of letting the dhcp-manager notify us of failure or
13960                         success rather than incorrectly doing that ourselves
13961                 - (nm_device_activate_stage4_ip_config_get): deal with
13962                         activation cancellation a bit earlier
13963
13964 2006-01-03  Dan Williams  <dcbw@redhat.com>
13965
13966         * src/nm-device-802-11-wireless.c
13967           src/nm-device.[ch]
13968                 - Add hooks to subclasses for stage3_ip_config_start and
13969                         stage4_ip_config_timeout
13970
13971         * src/nm-device-802-3-ethernet.c
13972                 - (real_get_generic_capabilities): make devices NM-supported
13973                         by default
13974
13975 2006-01-03  Robert Love  <rml@novell.com>
13976
13977         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
13978           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
13979           latter cannot differentiate between error and the address -1; misc.
13980           clean up.
13981
13982 2006-01-03  Dan Williams  <dcbw@redhat.com>
13983
13984         * src/NetworkManager.c
13985                 - Move link-checking/probing into the device subclasses
13986                         themselves
13987
13988         * src/nm-device.[ch]
13989           src/nm-device-802-11-wireless.c
13990           src/nm-device-802-3-ethernet.c
13991                 - Do periodic link checking in device subclasses rather
13992                         than being triggered from NetworkManager.c
13993                 - discover_wireless_capabilities -> get_wireless_capabilities
13994                 - discover_generic_capabilities -> get_generic_capabilities
13995                 - Device subclass activation routines now return a value of type
13996                         NMActStageReturn to indicate what step to perform next
13997                 - Devices now override stage4_get_ip4_config if they choose
13998
13999 2006-01-01  Dan Williams  <dcbw@redhat.com>
14000
14001         * src/nm-device-802-11-wireless.c
14002                 - (real_init): don't chain up to parent init because we don't
14003                         need to do that anymore
14004
14005         * src/nm-device.c
14006                 - (discover_device_type): fix arguments to ioctl() to correctly
14007                         pass interface name
14008                 - (nm_device_new): consolidate generic device initialization into
14009                         nm_device_new()
14010                 - (real_init): remove, consolidated to nm_device_new()
14011                 - (nm_device_deactivate, real_deactivate): consolidate
14012
14013 2006-01-01  Dan Williams  <dcbw@redhat.com>
14014
14015         * src/nm-activation-request.c
14016                 - Change dhcp_state member of the NMActRequest structure
14017                         from guint8 to guint32
14018
14019         * src/dhcp-manager/nm-dhcp-manager.[ch]
14020                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
14021                         than guint8 to match the dbus argument.  Turns out we were
14022                         overwriting memory since we were passing in only a guint8
14023
14024 2005-12-31  Dan Williams  <dcbw@redhat.com>
14025
14026         * refactor NMDevice into a GObject-based framework with separate
14027                 objects for wired and wireless.  The following files are no
14028                 longer used but should stick around for a bit so we don't
14029                 loose code through the cracks:
14030                         NetworkManagerDevice.c
14031                         NetworkManagerDevice.h
14032                         NetworkManagerWireless.c
14033                         NetworkManagerWireless.h
14034
14035         The intent here is to allow each device type to manage its own
14036         connection & activation life-cycle, ie to allow wireless devices
14037         to interface with wpa_supplicant, etc.  There's a fair bit of
14038         encapsulation breakage right now that should gradually get pulled
14039         back into each device, along with things like periodic property
14040         updates and link probing.
14041
14042 2005-12-29  Dan Williams  <dcbw@redhat.com>
14043
14044         * include/NetworkManager.h
14045                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
14046                         between networks that don't have any encryption at all
14047
14048 2005-12-29  Dan Williams  <dcbw@redhat.com>
14049
14050         * test/test-common.c
14051           test/test-common.h
14052           test/Makefile.am
14053                 - Move to a test-common subdirectory
14054
14055         * test/libnm-util/test-ciphers.c
14056                 - Move test data to test-inputs.h
14057                 - Test WPA ciphers too
14058
14059         * test/libnm-util/test-dbus-helpers.c
14060                 - Test serialization/deserialization of ciphers
14061
14062 2005-12-29  Dan Williams  <dcbw@redhat.com>
14063
14064         * gnome/applet/applet-dbus-devices.c
14065                 - Replace 'enc' parameter with 'capabilities' for wireless networks
14066                         in dbus calls to NM
14067                 - Set capabilities on WirelessNetwork objects
14068                 - Receive and save type-specific device capabilities too
14069
14070         * gnome/applet/applet-dbus-info.c
14071           gnome/applet/applet-dbus.c
14072                 - Passphrase dialog no longer a singleton; new instance gets created
14073                         on each request.  Updates to deal with that.
14074
14075         * gnome/applet/applet.c
14076                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
14077                         than single 'encrypted' flag
14078                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
14079                         menu items
14080                 - Passphrase dialog updates per above
14081
14082         * gnome/applet/menu-items.c
14083                 - (network_menu_item_update): use AP capabilities to determine
14084                         encryption
14085
14086         * gnome/applet/nm-device.[ch]
14087                 - Add accessors for type-specific device capabilities
14088
14089         * gnome/applet/other-network-dialog.c
14090                 - Rework to respect device capabilities.  i.e., if the device doesn't
14091                         support WPA, remove that option from the security dropdown
14092
14093         * gnome/applet/passphrase-dialog.c
14094                 - Massive rework so that a new instance is created each time
14095                         it's used, to support wireless network capabilities
14096
14097         * gnome/applet/wireless-network.[ch]
14098                 - Add accessors and members for wireless network capabilities
14099
14100         * gnome/applet/wireless-security-manager.[ch]
14101                 - (wsm_set_capabilities): called after creation to set which
14102                         security options get shown to the user
14103
14104 2005-12-29  Dan Williams  <dcbw@redhat.com>
14105
14106         * libnm-util/cipher-wpa-psk-passphrase.c
14107                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
14108                         like other ciphers
14109
14110 2005-12-23  Dan Williams  <dcbw@redhat.com>
14111
14112         * gnome/applet/applet-dbus-info.c
14113                 - (nmi_dbus_get_key_for_network): if there's no entry in
14114                         GConf for a network, assume we want a new key
14115                 - (nmi_save_network_info): serialize wireless security info
14116                         into GConf so its saved
14117
14118         * src/nm-dbus-nm.c
14119                 - Fix warning as we may not be passed security info when
14120                         connecting to a wireless network
14121
14122 2005-12-23  Dan Williams  <dcbw@redhat.com>
14123
14124         * gnome/applet/applet-compat.c
14125                 - Fix bugs in GConf entry conversion
14126
14127         * gnome/applet/applet-dbus-info.c
14128                 - (nmi_dbus_get_network_properties): handle case of the BSSID
14129                         list being zero-length
14130
14131         * libnm-util/cipher-*
14132           libnm-util/dbus-helpers.c
14133                 - All ciphers must now return hashed keys as UTF-8 valid
14134                         hexadecimal strings, ie "8f3dae4023".  They are pushed
14135                         through dbus as strings too.
14136                 - Consolidate various functions that do bin->hex and hex->bin
14137                         conversion into cipher.c
14138
14139         * src/nm-ap-security-wep.c
14140           src/nm-ap-security-wpa-psk.c
14141                 - Handle NULL keys since we may not know keys right away
14142
14143         * src/nm-dbus-nmi.c
14144                 - (nm_dbus_get_network_data_cb): actually advance to the start
14145                         of the wireless security info before we try to deserialize it
14146
14147         * libnm-util/test-ciphers.c
14148                 - Update cipher tests for the change to UTF-8 hexadecimal strings
14149
14150 2005-12-22  Dan Williams  <dcbw@redhat.com>
14151
14152         * gnome/applet/applet-compat.[ch]
14153                 - Convert old-format GConf and keyring entries
14154                         when the applet starts up.
14155
14156         * gnome/applet/applet.c
14157                 - (nmwa_get_instance): Call the conversion function
14158                         on startup before dbus is initialized
14159
14160 2005-12-22  Dan Williams  <dcbw@redhat.com>
14161
14162         * gnome/applet/applet-dbus-info.c
14163                 - Remove nmi_dbus_create_error_message() in favor of
14164                         nmu_create_dbus_error_message()
14165                 - (nmi_dbus_get_network_properties): Error message cleanups
14166                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
14167                         gconf key rather than 'addresses', since they really are BSSIDs
14168                 - (nmi_dbus_get_network_properties): Dispose of the security
14169                         object when we're done with it
14170
14171 2005-12-21  Dan Williams  <dcbw@redhat.com>
14172
14173         * Consolidate the info-daemon's "updateNetworkInfo" and
14174                 "addNetworkAddress" calls into just "updateNetworkInfo"
14175
14176 2005-12-21  Dan Williams  <dcbw@redhat.com>
14177
14178         * Make connection after key retrieval work again
14179
14180 2005-12-21  Dan Williams  <dcbw@redhat.com>
14181
14182         * gnome/applet/nm-gconf-wso*
14183                 - Make the serialize functions return gboolean
14184                         rather than int
14185
14186         * gnome/applet/nm-gconf-wso.c
14187                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
14188                         parent class handling so we don't segfault
14189
14190         * src/NetworkManagerAP.[ch]
14191                 - (nm_ap_get_capabilities): new function, return capabilities
14192                         now that something can use them
14193                 - (nm_ap_set_encrypted): assume that an access point supports
14194                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
14195                         we even tell whether it just supports WEP40?
14196
14197         * src/NetworkManagerDevice.c
14198                 - (ap_need_key): resurrect and update for the New World Order
14199                 - (nm_device_wireless_get_activation_ap): if we're not given
14200                         security info to use, create some based on access point
14201                         capabilities
14202
14203         * src/nm-ap-security-wep.c
14204                 - (nm_ap_security_wep_new_from_ap): create a new object
14205                         based on a certain access point's capabilities
14206
14207         * src/nm-ap-security.c
14208                 - (nm_ap_security_new_from_ap): delegate creation of a new
14209                         object based on access point capabilities to a subclass
14210                 - (nm_ap_security_copy_properties): don't segfault if we
14211                         don't have a key yet
14212
14213         * src/nm-dbus-nm.c
14214                 - (nm_dbus_nm_set_active_device): provide more informative
14215                         output when errors occur.  Also construct security info
14216                         for a given access point if we weren't given any
14217
14218 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14219
14220         * configure.in: Added Lithuanian to ALL_LINGUAS.
14221
14222 2005-12-21  Dan Williams  <dcbw@redhat.com>
14223
14224         * test/libnm-util
14225                 - Add some testcases for WEP ciphers
14226
14227 2005-12-17  Dan Williams  <dcbw@redhat.com>
14228
14229         * Fix bugs
14230
14231 2005-12-17  Dan Williams  <dcbw@redhat.com>
14232
14233         * include/NetworkManager.h
14234                 - Finally kill NMEncKeyType
14235
14236         * gnome/applet/applet-dbus-info.c
14237                 - (nmi_save_network_info): convert to NMGConfWSO
14238
14239         * gnome/applet/nm-gconf-wso-*.c
14240                 - Implement gconf serialization functions
14241
14242         * src/NetworkManagerPolicy.c
14243                 - (nm_policy_activation_finish): fix up meaning of
14244                         automatic/user_requested
14245
14246 2005-12-17  Dan Williams  <dcbw@redhat.com>
14247
14248         * gnome/applet/*
14249                 - More applet cleanups
14250                 - Use the dbus-method-dispatcher
14251
14252         * libnm-util/dbus-method-dispatcher.[ch]
14253                 - Generalize the implementation from NM in
14254                         NetworkManagerUtils.c
14255
14256 2005-12-16  Dan Williams  <dcbw@redhat.com>
14257
14258         * gnome/applet/*
14259                 - Fix up the passphrase dialog to use all the
14260                         WirelessSecurityOption stuff (untested)
14261
14262 2005-12-16  Dan Williams  <dcbw@redhat.com>
14263
14264         * Move nm_gconf_get_*_helper() functions to separate files,
14265                 gconf-helpers.c & gconf-helpers.h
14266
14267         * New NMGConfWSO objects for managing the gconf side of things.
14268                 Eventually these should be merged with the
14269                 WirelessSecurityOption objects and a common base (that can
14270                 serialize/deserialize from dbus & gconf) should be
14271                 refactored out, but for now they are separate.
14272
14273 2005-12-16  Robert Love  <rml@novell.com>
14274
14275         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
14276           binaries unless they exist (nm_spawn_process() emits a warning if
14277           asked to spawn a non-existant process).
14278
14279 2005-12-16  Dan Williams  <dcbw@redhat.com>
14280
14281         * gnome/applet/applet-dbus-info.c
14282                 - Clean up lots of gconf-related code
14283
14284 2005-12-16  Robert Love  <rml@novell.com>
14285
14286         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
14287
14288 2005-12-16  Dan Williams  <dcbw@redhat.com>
14289
14290         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
14291
14292         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
14293                 bits still to be done)
14294
14295 2005-12-16  Dan Williams  <dcbw@redhat.com>
14296
14297         * Finally move info-daemon related stuff out of
14298                 NetworkManagerDbus.c to nm-dbus-nmi.c
14299
14300 2005-12-16  Dan Williams  <dcbw@redhat.com>
14301
14302         * Kill auth_method for access points, since that's now done
14303                 by NMAPSecurity objects
14304
14305         * Add a copy-constructor of sorts to NMAPSecurity
14306                 (how do you do this properly in glib???)
14307
14308 2005-12-15  Dan Williams  <dcbw@redhat.com>
14309
14310         * Exorcise encryption key hashing on APs
14311         * Use libnm-util's serialization/deserialization in both the
14312                 applet and NM
14313         * Random other stuff
14314
14315 2005-12-15  Robert Love  <rml@novell.com>
14316
14317         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
14318           is being added to the icon naming spec, so let's use that (Tango CVS
14319           has the icon).  Because it is new, however, we fall back to the
14320           current "gnome-lockscreen" if the new icon is not around, thus
14321           behavior is the same.
14322         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
14323           factory junk.
14324
14325 2005-12-15  Robert Love  <rml@novell.com>
14326
14327         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
14328           well, help to give.  Couple other misc. bits.
14329
14330 2005-12-15  Dan Williams  <dcbw@redhat.com>
14331
14332         * libnm-util/dbus-helpers.[ch]
14333                 - Make this the one-stop-shop for serializing/deserializing
14334                         AP & connection security settings over dbus.  Both NM
14335                         and applets should use this to ensure consistent dbus
14336                         API going forwared.
14337
14338 2005-12-15  Robert Love  <rml@novell.com>
14339
14340         Patch by Timo Hoenig  <thoenig@suse.de>:
14341         * src/NetworkManagerDbus.c
14342                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
14343                         if HAL jumps off the system bus.  Otherwise libdbus
14344                         (dbus_connection_dispatch) will try to run the filter
14345                         function of our libhal context which is already freed.
14346
14347 2005-12-15  Alexander Shopov  <ash@contact.bg>
14348
14349         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
14350
14351 2005-12-14  Dan Williams  <dcbw@redhat.com>
14352
14353         * include/NetworkManager.h
14354           src/NetworkManagerWireless.c
14355                 - Rearrange 802.11 wireless-specific capabilities again
14356
14357         * src/Makefile.am
14358                 - Forgot to add wpa.c/wpa.h to the makefiles
14359
14360         * src/NetworkManagerAP.[ch]
14361                 - Implement access point capabilities and parse the
14362                         WPA/RSN IEs into the capability bitfield
14363                 - Switch the "encrypted" attribute to utilize the bitfield
14364                         and capabilities rather than being independent
14365
14366         * src/NetworkManagerDevice.c
14367                 - (nm_device_wireless_get_activation_ap): break it horribly
14368                         until we can push NMAPSecurity objects into access point
14369                         objects and through the activation chain
14370                 - Stuff WPA & RSN IEs into AP capabilities
14371
14372         * src/nm-dbus-nm.c
14373                 - Take a shot at actually making setActiveDevice work
14374
14375         * src/wpa.[ch]
14376                 - Make the API a bit saner
14377
14378 2005-12-14  Dan Williams  <dcbw@redhat.com>
14379
14380         * include/NetworkManager.h
14381                 - Add 802.11-specific capability for 802.1x key
14382                         management
14383
14384         * src/wpa.[ch]
14385                 - Pull in WPA IE and RSN IE parsing code from
14386                         wpa_supplicant so we can determine access point
14387                         capabilities
14388                 - Move WPA-related constants here from NetworkManagerAP.h
14389                         and NetworkManagerDevice.c
14390
14391         * src/NetworkManagerDevice.c
14392           src/NetworkManagerAP.[ch]
14393                 - Use WPA-related constants from wpa.h
14394
14395 2005-12-14  Dan Williams  <dcbw@redhat.com>
14396
14397         * include/NetworkManager.h
14398                 - Update and split 802.11 wireless-specific capabilities from
14399                         generic device capabilities
14400
14401         * src/NetworkManagerDevice.c
14402           src/NetworkManagerDevicePrivate.h
14403                 - (nm_device_wireless_discover_capabilities): Move 802.11
14404                         wireless-specific capability checks to
14405                         NetworkManagerWireless.c
14406                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
14407                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
14408
14409         * src/NetworkManagerWireless.[ch]
14410                 - (nm_802_11_wireless_discover_capabilities): Check extended
14411                         802.11 wireless-specific capabilities of the driver
14412
14413 2005-12-14  Robert Love  <rml@novell.com>
14414
14415         Patch from Stefan Scheler <sscheler@suse.de>:
14416         * src/NetworkManagerDevice.c: call backend code to activate and
14417           deactivate NIS.
14418         * src/NetworkManagerSystem.h: add new NIS interfaces.
14419         * src/backends/NetworkManagerDebian.c,
14420           src/backends/NetworkManagerGentoo.c,
14421           src/backends/NetworkManagerRedHat.c,
14422           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
14423           support.
14424         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
14425
14426 2005-12-14  Dan Williams  <dcbw@redhat.com>
14427
14428         * src/nm-ap-security*.[ch]
14429                 - Add AP security abstractions to NetworkManager
14430
14431         * src/nm-dbus-device.c
14432                 - Begin to parse new format dbus messages from the applet
14433                         and construct an AP security object from the message
14434
14435         * libnm-util/dbus-helpers.c
14436                 - Use message iters so we can append the key as a fixed
14437                         array of bytes, which actually works rather than
14438                         using dbus_message_append_args() as we were before
14439
14440 2005-12-14  Dan Williams  <dcbw@redhat.com>
14441
14442         * src/NetworkManagerDbus.c
14443           gnome/applet/applet-dbus.c
14444                 - Fix up dbus service replacement options.  The applet
14445                         should allow replacement, NM itself should not.
14446
14447 2005-12-13  Robert Love  <rml@novell.com>
14448
14449         * src/named-manager/nm-named-manager.c: Revert earlier commit.
14450           Instead, fail silently if config is NULL by not asserting and not
14451           returning FALSE.  Also, make sure we always fclose() the file.
14452
14453 2005-12-13  Robert Love  <rml@novell.com>
14454
14455         Patch by Stefan Scheler <sscheler@suse.de>:
14456         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
14457            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
14458            via DHCP.  Still need the backends to commit the NIS domain name and
14459            and servers to yp.conf as needed.
14460
14461 2005-12-13  Robert Love  <rml@novell.com>
14462
14463         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
14464           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
14465
14466 2005-12-13  Robert Love  <rml@novell.com>
14467
14468         * src/named-manager/nm-named-manager.c: Don't unref the config until
14469           after we call rewrite_resolv_conf(), because get_last_default_domain()
14470           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
14471           `config != NULL' failed" assertion failures and "Could not commit DNS
14472           changes" warnings.
14473
14474 2005-12-12  Dan Williams  <dcbw@redhat.com>
14475
14476         * libnm-util/dbus-helpers.[ch]
14477           libnm-util/Makefile.am
14478                 - new helper calls to consolidate locations where
14479                         NM's setDevice method is called
14480
14481         * gnome/applet/applet-dbus-devices.c
14482           gnome/applet/wireless-security-option.c
14483           gnome/applet/wso-*
14484                 - Implement dbus message param append function for
14485                         all wireless security options
14486
14487 2005-12-12  Robert Love  <rml@novell.com>
14488
14489         * libnm-util/cipher-wep-passphrase.c,
14490           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
14491           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
14492           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
14493           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
14494           When handling keys, we don't care what the sign is.  The compiler
14495           guarantees us that we get our 8-bits, which is all we care about.
14496         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
14497
14498 2005-12-12  Dan Williams  <dcbw@redhat.com>
14499
14500         * gnome/applet/applet-dbus-devices.[ch]
14501           gnome/applet/applet.c
14502           gnome/applet/other-network-dialog.c
14503           gnome/applet/wireless-security-manager.[ch]
14504           gnome/applet/wireless-security-option.[ch]
14505           gnome/applet/wso-*
14506                 - Push the wireless security options further into the applet
14507
14508 2005-12-12  Robert Love  <rml@novell.com>
14509
14510         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
14511           return any name servers.  That is perfectly valid.  (Novell #134369).
14512
14513 2005-12-11  Dan Williams  <dcbw@redhat.com>
14514
14515         * gnome/applet/wso-*
14516           gnome/applet/wireless-security-option.*
14517           gnome/applet/Makefile.am
14518                 - split each security option out so we can eventually
14519                         have each one build up their own dbus message
14520                         arguments to send to NM
14521
14522 2005-12-11  Dan Williams  <dcbw@redhat.com>
14523
14524         * Make validation of the key work correctly
14525
14526 2005-12-11  Dan Williams  <dcbw@redhat.com>
14527
14528         * Hook more bits of the Other Network Dialog up to the
14529                 wireless security manager stuff, and restructure
14530                 bits of the dialog so there's less code.
14531
14532 2005-12-10  Dan Williams  <dcbw@redhat.com>
14533
14534         * gnome/applet/Makefile.am
14535                 - Add libnm-util to includes
14536                 - Add libnm-util to link list
14537                 - Add wireless-security-common.* to compile list
14538
14539         * gnome/applet/other-network-dialog.c
14540                 - Convert to using the WirelessSecurityManager code and
14541                         widgets
14542
14543         * gnome/applet/passphrase-dialog.c
14544                 - Comment out references to stuff in the glade file that
14545                         cause runtime errors until it can be fixed up
14546                         to use the WirelessSecurityManager code
14547
14548         * gnome/applet/wireless-applet.glade
14549                 - Rename some widgets
14550                 - Add widgets for the WirelessSecurityManager code
14551                 - Remove passphrase-related stuff since that's now
14552                         handled by the WirelessSecurityManager code
14553
14554 2005-12-10  Dan Williams  <dcbw@redhat.com>
14555
14556         * gnome/applet/applet-dbus-devices.c
14557                 - Print out error message details for dbus pending call callbacks
14558                 - Move nmwa_dbus_update_devices() up
14559
14560         * gnome/applet/applet-dbus-vpn.c
14561                 - Print out error message details for dbus pending call callbacks
14562
14563 2005-12-10  Dan Williams  <dcbw@redhat.com>
14564
14565         * libnm-util/*
14566                 - More fixups
14567                 - Remove cipher-manager.* because we don't need it
14568                 - Forgot to add gnome-keyring-md5 files to compile list
14569
14570 2005-12-09  Dan Williams  <dcbw@redhat.com>
14571
14572         * libnm-util/*
14573           configure.in
14574           Makefile.am
14575                 - Add a utility library for clients of NetworkManager.  It's
14576                         only targetted at applets for the moment, and contains
14577                         a generalized 802.11 cipher framework for different
14578                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
14579
14580 2005-12-09  Robert Love  <rml@novell.com>
14581
14582         * src/NetworkManagerDevice.c: handle error better in
14583           nm_device_set_mode().
14584
14585 2005-12-08  Robert Love  <rml@novell.com>
14586
14587         * include/NetworkManager.h: add WPA capabilities constants
14588         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
14589           or WPA2 and add the capabilities bits as appropriate.
14590
14591 2005-12-08  Robert Love  <rml@novell.com>
14592
14593         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
14594           NetworkManagerDispatcher.
14595         * configure.in, initscript/SUSE/.cvsignore,
14596           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
14597           initscript.
14598
14599 2005-12-08  Robert Love  <rml@novell.com>
14600
14601         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
14602
14603 2005-12-08  Robert Love  <rml@novell.com>
14604
14605         * src/NetworkManagerDevice.c: We want to fall back on and default to
14606           IW_MODE_AUTO, not -1, which is more in line with our previous
14607           behavior.  Otherwise, we try to set the wireless mode to -1 in
14608           nm_device_set_mode().
14609
14610 2005-12-07  Robert Love  <rml@novell.com>
14611
14612         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
14613           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
14614           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14615           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14616           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
14617           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
14618           zero.
14619
14620 2005-12-07  Robert Love  <rml@novell.com>
14621
14622         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
14623           supplied IP is invalid, fall back to DHCP.
14624
14625 2005-12-07  Dan Williams  <dcbw@redhat.com>
14626
14627         * Convert NETWORK_MODE_* constants to IW_MODE_*
14628         * Make all the get_mode/set_mode functions take and return 'int'
14629         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
14630
14631 2005-12-07  Robert Love  <rml@novell.com>
14632
14633         * src/NetworkManagerDevice.c: strncpy() buffer check.
14634         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
14635
14636 2005-12-06  Dan Williams  <dcbw@redhat.com>
14637
14638         * gnome/applet/applet-dbus.c
14639                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
14640
14641         * gnome/applet/applet-dbus-vpn.c
14642                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
14643                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
14644                         to TRUE here if stage was ACTIVATED
14645
14646 2005-12-06  Dan Williams  <dcbw@redhat.com>
14647
14648         * Change nm_device_is_* functions to better names:
14649                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
14650                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
14651
14652 2005-12-06  Dan Williams  <dcbw@redhat.com>
14653
14654         * Change naming of NMDeviceType to something more sensible:
14655                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
14656                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
14657                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
14658
14659 2005-12-06  Dan Williams  <dcbw@redhat.com>
14660
14661         * Move NetworkManager.h -> include/NetworkManager.h
14662         * Split out VPN stuff into include/NetworkManagerVPN.h
14663         * Fix up makefiles to include new location
14664         * Fix up sources to include NetworkManagerVPN.h
14665
14666 2005-12-06  Dan Williams  <dcbw@redhat.com>
14667
14668         Various changes in the applet to move VPN connection "state" -> "stage",
14669         which it actually is.  I'd like to change the signal as well when we
14670         break compat in the near future.
14671
14672 2005-12-06  Dan Williams  <dcbw@redhat.com>
14673
14674         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
14675         * initscript/Slackware/rc.networkmanager
14676                 - Cosmetic fix
14677
14678         * src/backends/NetworkManagerSlackware.c
14679                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
14680                         interfaces
14681
14682 2005-12-05  Robert Love  <rml@novell.com>
14683
14684         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
14685           to free, particularly here as it just barfs.
14686
14687 2005-12-05  Dan Williams  <dcbw@redhat.com>
14688
14689         * gnome/applet/applet-dbus.c
14690                 - Work with dbus 0.6 too
14691
14692 2005-12-03  Dan Williams  <dcbw@redhat.com>
14693
14694         * src/NetworkManagerUtils.[ch]
14695           src/nm-ip4-config.c
14696                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
14697                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
14698
14699 2005-12-01  Robert Love  <rml@novell.com>
14700
14701         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
14702           need a NULL for the '...' parameter, too, to fill the so-called
14703           sentinel.
14704
14705 2005-12-01  Robert Love  <rml@novell.com>
14706
14707         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
14708           interface is already gone, so don't call rtnl_link_change() to down
14709           it (which will segfault, anyhow).
14710
14711 2005-11-22  Robert Love  <rml@novell.com>
14712
14713         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
14714           gateway is not set, just print a little note.  Configurations without
14715           gateways are valid.
14716
14717 2005-11-22  Robert Love  <rml@novell.com>
14718
14719         * README: update
14720
14721 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
14722
14723         * configure.in: Added Finnish translation to ALL_LINGUAS
14724
14725 2005-11-14  Robert Love  <rml@novell.com>
14726
14727         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
14728           Niemueller <tim@niemueller.de>.
14729
14730 2005-11-08  Dan Williams  <dcbw@redhat.com>
14731
14732         Patch from Bill Moss <bmoss@clemson.edu>
14733         * src/NetworkManagerDevice.c
14734                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
14735                         of nm_policy_schedule_activation_finish() to prevent a
14736                         race condition that causes the link to be dropped
14737
14738 2005-11-08  Dan Williams  <dcbw@redhat.com>
14739
14740         Patch from Bill Moss <bmoss@clemson.edu>
14741         * src/NetworkManagerAPList.c
14742           src/NetworkManagerDevice.c
14743           src/NetworkManagerDbus.c
14744                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
14745                         we get more readable ether/mac addresses
14746
14747 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14748
14749         * gnome/applet/main.c: Don't set the restart command.  This fixes
14750         the issue where the restart command was getting copies of all its
14751         arguments for each time the applet was restarted.
14752
14753 2005-11-02  Robert Love  <rml@novell.com>
14754
14755         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
14756           if the widget state differs from our saved state.  This ensures we
14757           do not enter an endless loop of death and destruction.  Also, this
14758           guarantees us that we enforce the widget state.
14759
14760 2005-11-02  Robert Love  <rml@novell.com>
14761
14762         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
14763         * gnome/applet/applet-dbus-devices.c: invoke the new function
14764           nmwa_enable_wireless_set_active() to ensure that the state of the
14765           'Enable Wireless' checkbox matches the daemon's state.  This is a
14766           concern because the daemon remembers the state.
14767
14768 2005-11-02  Robert Love  <rml@novell.com>
14769
14770         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
14771           Enabled", as checkboxes should be actions/commands not positive
14772           statements, otherwise they are confusing in the unselected case.  See
14773           examples in GNOME HIG, Chapter 6.
14774
14775 2005-11-02  Robert Love  <rml@novell.com>
14776
14777         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
14778           show a list of wireless networks or the wireless devices or the
14779           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
14780           a bad bug: If wireless is disabled and the user picks a wireless
14781           network, NM will switch to the network, only to immediately switch
14782           back, as wireless is disabled.  This also reassures people that NM
14783           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
14784
14785 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14786
14787         * gnome/applet/applet.c:
14788         * gnome/applet/applet.h:
14789         Partial backout of Dan's timeout animation patch.
14790         Timeout IDs cannot legally be 0, so revert the code in place to handle
14791         a timeout ID of 0 to denote the timeout isn't running.
14792
14793 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14794
14795         * src/NetworkManagerPolicy.c:
14796         (nm_policy_device_change_check) Clarify wireless switch nm_info text
14797
14798 2005-10-28  Robert Love  <rml@novell.com>
14799
14800         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
14801           "Import Saved Configuration..." to make it clear that importing is
14802           not the next step, but an option.  As an aside, a nice TODO would be
14803           to move Importing out of the vpn-specific dialog and into the main
14804           property editor, as Importing goes with Adding, but that will require
14805           some rearchitecting of the VPN stuff I suspect.
14806
14807 2005-10-27  Dan Williams  <dcbw@redhat.com>
14808
14809         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
14810         we should replace most of the distro-specific backend code
14811         with libnl stuff.
14812
14813         Get it here:  http://people.suug.ch/~tgr/libnl/
14814
14815         * configure.in
14816           src/Makefile.am
14817                 - Add checks for libnl pkgconfig file
14818                 - Use LIBNL_LIBS & LIBNL_CFLAGS
14819
14820         * src/NetworkManagerSystem.c
14821           src/nm-ip4-config.[ch]
14822                 - Use libnl rather than ioctl() for most things
14823                 - Remove unused functions
14824
14825 2005-10-27  Robert Love  <rml@novell.com>
14826
14827         * src/backends/NetworkManagerSuSE.c: fix warning message text
14828
14829 2005-10-27  Christopher Aillon  <caillon@redhat.com>
14830
14831         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
14832
14833 2005-10-27  Christopher Aillon  <caillon@redhat.com>
14834
14835         * gnome/applet/applet.c: The applet's about dialog can advertise our 
14836         project page <http://www.gnome.org/projects/NetworkManager/>
14837
14838 2005-10-26  Christopher Aillon  <caillon@redhat.com>
14839
14840         * gnome/applet.c: Also use translator credits if we don't have
14841         the new GtkAboutDialog (older versions of GTK+)
14842
14843 2005-10-26  Robert Love  <rml@novell.com>
14844
14845         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
14846           failure; correct usage text for "--no-daemon"
14847
14848 2005-10-25  Dan Williams  <dcbw@redhat.com>
14849
14850         * src/NetworkManagerDevice.c
14851                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
14852                         no scan results
14853                 - (free_process_scan_cb_data): unref the device when freeing results
14854                 - (nm_device_wireless_process_scan_results): free scan results a bit later
14855                         so we don't unref the device underneath ourselves
14856
14857 2005-10-25  Dan Williams  <dcbw@redhat.com>
14858
14859         * Back out 2005-10-24 commit from Tor Krill.  Patch
14860                 causes nameservers never to be removed from named.
14861
14862 2005-10-24  Dan Williams  <dcbw@redhat.com>
14863
14864         Clean up wireless scanning and wireless link probing.
14865
14866         * src/NetworkManagerDevice.c
14867                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
14868                         just see if there's an activation request on the device, and check the
14869                         current link against the activation request access point's ESSID.
14870                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
14871                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
14872                         don't call process_scan_results() on zero-length data
14873                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
14874                         15 seconds (from 10)
14875
14876 2005-10-24  Dan Williams  <dcbw@redhat.com>
14877
14878         Cleanup some applet stuff:
14879
14880         - Animation timeouts.  If NM died while the applet was animating,
14881                 the applet would not hide itself.  This is now fixed.
14882
14883         - Remove some dead code
14884
14885         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
14886                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
14887
14888         - Track animation timeout using a gboolean rather than the timeout's
14889                 ID, since timeout IDs can legally be 0.
14890
14891 2005-10-24  Dan Williams  <dcbw@redhat.com>
14892
14893         * src/backends/interface_parser.c
14894                 - Add void to function declarations that need it
14895                         to match patch from Engin AYDOGAN
14896
14897         * src/backends/interface_parser.h
14898                 - Remove unused prototype for ifparser_interfaces()
14899
14900         Patch from Engin AYDOGAN <engin@bzzzt.biz>
14901         * src/backends/interface_parser.h:
14902                 - Compile fixes for gcc 4.0.2 (add void)
14903
14904 2005-10-24  Dan Williams  <dcbw@redhat.com>
14905
14906         Patch from Tor Krill <tor@krill.nu>
14907         * src/named-manager/nm-named-manager.c
14908                 - Write more than just the first nameserver to /etc/resolv.conf
14909                 - Write out valid /etc/resolv.conf on exit
14910
14911 2005-10-21  Christopher Aillon  <caillon@redhat.com>
14912
14913         * gnome/applet/applet-dbus-vpn.c:
14914         Get rid of spurious newlines in debug console output
14915
14916 2005-10-21  Christopher Aillon  <caillon@redhat.com>
14917
14918         * src/backends/NetworkManagerGentoo.c:
14919         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
14920
14921 2005-10-20  Robert Love  <rml@novell.com>
14922
14923         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
14924           direct comparison of floating point values, which is never correct.
14925           Also some misc. cleanup.
14926
14927 2005-10-19  Robert Love  <rml@novell.com>
14928
14929         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
14930
14931 2005-10-19  Robert Love  <rml@novell.com>
14932
14933         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
14934           sensitivity of the buttons.  Specificaly, do the right thing if
14935           there are no entries.
14936
14937 2005-10-19  Christopher Aillon  <caillon@redhat.com>
14938
14939         * configure.in: Update check for adequate wireless-tools
14940         with an AC_TRY_COMPILE for the new symbols we use.
14941
14942 2005-10-19  Dan Williams  <dcbw@redhat.com>
14943
14944         * src/NetworkManagerDevice.c
14945                 - (process_scan_results): don't drop the last (or only)
14946                         access point we see
14947
14948 2005-10-19  Christopher Aillon  <caillon@redhat.com>
14949
14950         * src/backends/NetworkManagerSlackware.c:
14951         Patch from Nico <lordllucifer@gmail.com>
14952                 - Update the Slackware backend.
14953
14954 2005-10-18  Christopher Aillon  <caillon@redhat.com>
14955
14956         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
14957         if we've got GLib 2.8.0
14958
14959 2005-10-18  Robert Love  <rml@novell.com>
14960
14961         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
14962           function nm_schedule_state_change_signal_broadcast() when we
14963           deactivate a device, too.
14964
14965 2005-10-18  Robert Love  <rml@novell.com>
14966
14967         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
14968           be used uninitialized.
14969
14970 2005-10-18  Christopher Aillon  <caillon@redhat.com>
14971
14972         * test/libnm_glib_test.c: Test unregistering, too.
14973
14974 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14975
14976         * configure.in: Bump to 0.5.0
14977
14978 2005-10-17  Dan Williams  <dcbw@redhat.com>
14979
14980         * NetworkManager.h
14981                 - Remove WPA-related constants so they aren't part of the
14982                         upcoming release.
14983
14984 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14985
14986         * gnome/applet/applet.c:
14987         * gnome/applet/applet.h:
14988         Desensitize the 'Connection Information' menu item when there is
14989         no active connection.
14990
14991 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14992
14993         * gnome/libnm_glib/libnm_glib.c:
14994         Make libnm_glib_unregister_callback () actually unregister the callback
14995
14996 2005-10-17  Robert Love  <rml@novell.com>
14997
14998         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
14999           two seconds -- tries is updated every 1/10 of a second, not every
15000           second..
15001
15002 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15003
15004         * gnome/applet/applet-dbus-info.c:
15005         Let D-BUS know that we haven't handled a message when we haven't.
15006
15007 2005-10-17  Robert Love  <rml@novell.com>
15008
15009         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
15010           in order to remain 64-bit clean.
15011
15012 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15013
15014         * gnome/applet/applet-dbus-info.c:
15015         Find network encryption keys asynchronously
15016
15017 2005-10-17  Robert Love  <rml@novell.com>
15018
15019         * src/backends/NetworkManagerDebian.c,
15020           src/backends/NetworkManagerRedHat,
15021           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
15022           comment delimiter.
15023
15024 2005-10-17  Robert Love  <rml@novell.com>
15025
15026         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
15027           "/etc"
15028
15029 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15030
15031         * src/NetworkManagerDevice.c: (process_scan_results)
15032         Fix logic that checks to see whether we have an ESSID.
15033
15034 2005-10-15  Dan Williams  <dcbw@redhat.com>
15035
15036         Move scanning code into NetworkManager rather than use iwlib's
15037         iw_scan() function, so that we can figure out AP capabilities.
15038
15039         * NetworkManager.h
15040                 - Add AP capability bits
15041
15042         * src/NetworkManagerAP.[ch]
15043                 - Add capability field to NMAccessPoint structure
15044                 - Add WPA & RSN Information Element fields and accessor
15045                         functions to NMAccessPoint
15046
15047         * src/NetworkManagerDevice.c
15048                 - Remove usage of iw_scan
15049                 - Add scanning code to NetworkManager rather than use
15050                         iw_scan() from iwlib
15051
15052         * src/NetworkManagerUtils.[ch]
15053                 - (nm_dispose_scan_results): remove, unused
15054
15055 2005-10-14  Christopher Aillon  <caillon@redhat.com>
15056
15057         * gnome/libnm_glib/libnm_glib.c:
15058         * gnome/libnm_glib/libnm_glib.h:
15059         Use guint instead of gint for callback IDs.
15060
15061 2005-10-12  Christopher Aillon  <caillon@redhat.com>
15062
15063         * gnome/applet/applet.c:
15064         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
15065         every 1000ms.  It will unconditionally call nmwa_update_state which
15066         kills the existing animation timeout and registers a new one with a
15067         callback to draw a new frame every 100ms.  There are 11 connecting
15068         icon frames, so the last 2 frames kept getting dropped.  Only reset
15069         the animation timeout if we aren't animating.
15070
15071 2005-10-11  Dan Williams  <dcbw@redhat.com>
15072
15073         * gnome/applet/applet-dbus-devices.c
15074                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
15075                         We want to grab the product & vendor from net.physical_dev
15076                         rather than info.parent.
15077
15078 2005-10-11  Dan Williams  <dcbw@redhat.com>
15079
15080         * src/NetworkManagerDevice.c
15081                 - Use the driver's WE version for scanning rather than
15082                         the WE version NM was compiled with.  Fixes random
15083                         crashes in iw_scan () in iwlib.
15084
15085 2005-10-10  Dan Williams  <dcbw@redhat.com>
15086
15087         * Remove nm_system_load_device_modules() from backend files
15088                 and from NetworkManager.c
15089
15090 2005-10-10  Dan Williams  <dcbw@redhat.com>
15091
15092         * src/NetworkManagerPolicy.c
15093                 - Fix some bugs introduced by the capabilities patch
15094
15095 2005-10-10  Dan Williams  <dcbw@redhat.com>
15096
15097         * gnome/applet/applet-dbus-info.c
15098                 - (nmi_dbus_get_network_key): hide the menu when putting up
15099                         the keyring dialog.  (not sure if the code is right...)
15100
15101 2005-10-09  Dan Williams  <dcbw@redhat.com>
15102
15103         Patch from Bill Moss <bmoss@clemson.edu>
15104         * src/NetworkManagerDevice.c
15105                 - (nm_device_set_user_key_for_network): don't try to set auth
15106                         mode on the AP from the allowed list if it's NULL
15107
15108 2005-10-09  Dan Williams  <dcbw@redhat.com>
15109
15110         * Replace the "driver support level" stuff with capabilities.  The
15111                 capability field is a bitfield that is more flexible than the
15112                 old driver support level thing.  It's mostly so we can easily
15113                 figure out what supports WPA and what doesn't, but should be
15114                 quite useful later.
15115
15116 2005-10-09  Dan Williams  <dcbw@redhat.com>
15117
15118         * test/nmtest.c
15119                 - Removed
15120
15121         * test/nm-tool.c
15122           test/Makefile.am
15123                 - Added new "nm-tool" tool that gives quite a bit more
15124                         information
15125
15126 2005-10-07  Robert Love  <rml@novell.com>
15127
15128         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
15129           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
15130           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
15131           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
15132           appropriate
15133
15134 2005-10-07  Robert Love  <rml@novell.com>
15135
15136         * configure.in: Change our compile flags for the betterment of mankind.
15137           Add "-Wstrict-prototypes" because we comply anyhow and missing a
15138           prototype is very bad on 64-bit platforms as types default to int but
15139           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
15140           "-Wmissing-declarations" to warn if we define an exported function
15141           but fail to put it in a header.
15142
15143 2005-10-07  Robert Love  <rml@novell.com>
15144
15145         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
15146           by the name nm_update_device_wireless_timeouts() and once tried,
15147           without success, to steal my pet turtle.
15148
15149 2005-10-07  Robert Love  <rml@novell.com>
15150
15151         * Cleanup prototypes: put some functions in header files and mark
15152           others as 'static' -- feel free to invert
15153         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
15154           nm_vpn_manager_vpn_connection_list_copy()
15155         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
15156           nm_vpn_service_get_dbus_connection()
15157         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
15158           nm_vpn_manager_vpn_connection_list_copy()
15159         * src/vpn-manager/nm-vpn-service.c: make
15160           nm_vpn_service_act_request_failed() and
15161           nm_vpn_service_stage2_daemon_wait() static
15162         * src/vpn-manager/nm-vpn-service.h: add prototype for
15163           nm_vpn_service_get_dbus_connection()
15164
15165 2005-10-06  Christopher Aillon  <caillon@redhat.com>
15166
15167         * gnome/applet/applet.c:
15168         * gnome/applet/applet.h:
15169         * gnome/applet/icons/Makefile.am:
15170         Convey information about the current connection stage in the
15171         icons themselves instead of creating a separate progress bar.
15172
15173 2005-10-04  Robert Love  <rml@novell.com>
15174
15175         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
15176           convert an ether_addr structure's MAC into a string, because the
15177           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
15178           versus 07:3B:04, while the former will not.
15179
15180 2005-10-04  Robert Love  <rml@novell.com>
15181
15182         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15183           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15184           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15185           default route in the 'Connection Information' dialog, send primary
15186           and secondary name servers in in "getProperties" DBUS method, add
15187           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
15188           secondary domain name servers are crucial pieces of information
15189           that a user might need in debugging a network problem.
15190
15191 2005-10-04  Robert Love  <rml@novell.com>
15192
15193         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15194           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15195           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15196           default route in the 'Connection Information' dialog, send default
15197           route in "getProperties" DBUS method, add network_device_set_route(),
15198           and network_device_get_route().  The Gateway is a crucial piece of
15199           connection-related information that a user might need in debugging a
15200           network problem.
15201
15202 2005-10-03  Robert Love  <rml@novell.com>
15203
15204         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
15205           NULL.
15206
15207 2005-10-02  Dan Williams  <dcbw@redhat.com>
15208
15209         * Shorten time taken to sleep by fastpathing bits of device deactivation
15210                 necessary for sleep.
15211
15212         * Fix issue where deactivating a device might deactivate the active
15213                 VPN connection, even if the VPN was not using the device.
15214
15215 2005-10-02  Dan Williams  <dcbw@redhat.com>
15216
15217         * gnome/applet/applet.c
15218                 - Adjust signal strength -> icon mapping values slightly
15219                         (so that 51% signal doesn't show a 75% icon) by adding
15220                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15221                         shows 50% icon, etc.
15222
15223 2005-09-29  Robert Love  <rml@novell.com>
15224
15225         * src/NetworkManager.c: removed unused variable.
15226
15227 2005-09-28  Dan Williams  <dcbw@redhat.com>
15228
15229         Support for named + DBus, using Red Hat DBus patches for named.  You
15230         can find those patches here, with "dbus" in the patch's filename:
15231
15232                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
15233
15234         Don't forget the named dbus service file either.
15235
15236         Instead of writing a config file and spawing a named process, NM will
15237         use an already-running dbus-enabled named if it finds one.  NM will
15238         update named's forwarder configuration on the fly using dbus.
15239
15240         If there is no dbus-enabled named running, NM will automatically fall
15241         back to writing the most-recent DNS server information to /etc/resolv.conf
15242         and calling nm_system_update_dns() to kick the system's resolver.
15243
15244         Accordingly, all named-related configure-time options have been removed.
15245
15246 2005-09-26  Robert Love  <rml@novell.com>
15247
15248         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
15249           ISDN support!
15250         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
15251           bug in error path if "ASKPASSWORD" is "no".
15252
15253 2005-09-26  Robert Love  <rml@novell.com>
15254
15255         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
15256           comment in /etc/resolv.conf -- ';' is not.
15257
15258 2005-09-19  Dan Williams  <dcbw@redhat.com>
15259
15260         * src/backends/NetworkManagerRedHat.c:
15261         * src/backends/NetworkManagerDebian.c:
15262         * src/backends/NetworkManagerSlackware.c:
15263         * src/backends/NetworkManagerGentoo.c:
15264         * src/backends/NetworkManagerSUSE.c:
15265         Fix invocations of "/sbin/ip address" to use short form instead
15266
15267 2005-09-19  Christopher Aillon  <caillon@redhat.com>
15268
15269         * src/nm-dbus-device.c: Don't assert when getting
15270         addresses of a not yet connected interface.
15271
15272         * gnome/applet/applet.c: Free icons if loading fails.
15273         Use translator-credits so translators can make themselves known.
15274
15275 2005-09-15  Christopher Aillon  <caillon@redhat.com>
15276
15277         * src/NetworkManagerAP.c:
15278         * src/NetworkManagerAP.h:
15279         * src/NetworkManagerDevice.c:
15280         Set a blacklist for certain common manufacturer default ESSIDs:
15281         APs with these ESSIDs are extremely likely to be completely
15282         different networks: connecting to one should not make NM
15283         auto-connect to every other AP with the same default ESSID.
15284
15285 2005-09-12  Christopher Aillon  <caillon@redhat.com>
15286
15287         * gnome/applet/wireless-applet.glade:
15288         The passphrase entry should also activate the default
15289
15290         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
15291
15292         * gnome/applet/applet-dbus-devices.c:
15293         * gnome/applet/applet.c:
15294         * gnome/applet/nm-device.c:
15295         * gnome/applet/nm-device.h:
15296         * src/NetworkManagerUtils.c:
15297         * src/NetworkManagerUtils.h:
15298         * src/nm-dbus-device.c:
15299         I've got a fever, and the only cure for it is less ioctl.
15300         Make NM push IP data rather than make the applet open a socket
15301         to the device.
15302
15303 2005-09-10  Christopher Aillon  <caillon@redhat.com>
15304
15305         * gnome/applet/applet.c:
15306         * gnome/applet/applet-dbus-devices.c:
15307         * gnome/applet/applet-dbus-info.c:
15308         * gnome/applet/passphrase-dialog.c:
15309         * gnome/libnm_glib/libnm_glib.c:
15310         * gnome/vpn-properties/nm-vpn-properties.c:
15311         * src/autoip.c:
15312         * src/backends/NetworkManagerRedHat.c:
15313         * src/named-manager/nm-named-manager.c:
15314         * src/NetworkManagerAPList.c:
15315         * src/NetworkManager.c:
15316         * src/NetworkManagerDbus.c:
15317         * src/NetworkManagerDevice.c:
15318         * src/NetworkManagerPolicy.c:
15319         * src/NetworkManagerSystem.c:
15320         * src/nm-dbus-device.c:
15321         * src/nm-dbus-nm.c:
15322         * src/vpn-manager/nm-vpn-manager.c:
15323         * src/vpn-manager/nm-vpn-service.c:
15324         * test/libnm_glib_test.c:
15325         * test/nminfotest.c:
15326         * test/nmtestdevices.c:
15327         Fix a bunch of 'unused variable' compiler warnings
15328
15329         * NetworkManager.h:
15330         * gnome/applet/applet-dbus-info.c:
15331         * gnome/applet/applet-dbus-info.h:
15332         * gnome/applet/applet.c:
15333         * gnome/applet/applet.h:
15334         * src/NetworkManager.c:
15335         * src/NetworkManagerDbus.c:
15336         * src/NetworkManagerDbus.h:
15337         * src/NetworkManagerDevice.c:
15338         * src/NetworkManagerDevice.h:
15339         * src/NetworkManagerMain.h:
15340         * src/NetworkManagerWireless.c:
15341         * src/NetworkManagerWireless.h:
15342         * src/nm-dbus-nm.c:
15343         Make NetworkManager be smart about how frequently to scan
15344         based on its current state.  Remove the UI for choosing when
15345         to scan.  Scanning still may disabled completely by the user
15346         via the "Wireless Enabled" menu item.
15347
15348 2005-09-09  Christopher Aillon  <caillon@redhat.com>
15349
15350         * gnome/applet/applet.c:
15351         Also overlay the vpn connecting icons onto the wired icon,
15352         when appropriate.
15353
15354         * gnome/vpn-properties/nm-vpn-properties.glade:
15355         Clean up a few strings to use better grammar and proper casing.
15356
15357 2005-09-08  Christopher Aillon  <caillon@redhat.com>
15358
15359         * gnome/applet/vpn-connection.c:
15360         * gnome/applet/vpn-connection.h:
15361         Add nmwa_vpn_connection_is_activating ()
15362
15363         * gnome/applet/applet.c:
15364         * gnome/applet/applet.h:
15365         * gnome/applet/icons/nm-vpn-connecting*.png:
15366         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
15367         the user know something's happening between clicking the VPN item and it
15368         actually being connected.
15369
15370 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15371
15372         * gnome/applet/applet-dbus-info.c: need to free attributes in the
15373         failure case as well.
15374
15375 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
15376
15377         * gnome/panel/eggtrayicon.[ch]:
15378         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
15379
15380 2005-09-07  Dan Williams  <dcbw@redhat.com>
15381
15382         Patch from Bill Moss <bmoss@clemson.edu>
15383         * src/applet-dbus.c
15384                 - (nmwa_dbus_filter): strip whitespace from beginning
15385                         and end of VPN login banner
15386
15387 2005-09-07  Dan Williams  <dcbw@redhat.com>
15388
15389         * The great VPN Manager rewrite of 2005
15390
15391 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15392
15393         * gnome/applet/menu-items.c:
15394         * gnome/applet/nm-device.c:
15395         * gnome/applet/wireless-network.c:
15396         * gnome/libnm_glib/libnm_glib.c:
15397         * src/NetworkManagerDbusUtils.c:
15398         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
15399         g_malloc0 doesn't return NULL
15400
15401 2005-09-06  Dan Williams  <dcbw@redhat.com>
15402
15403         Patch from Tomislav Vujec <tvujec@redhat.com>
15404         * src/NetworkManagerDevice.c
15405                 - (nm_get_device_by_udi): don't return a device when we
15406                         actually didn't find what we were looking for
15407
15408 2005-09-06  Christopher Aillon  <caillon@redhat.com>
15409
15410         * gnome/applet/applet-dbus-devices.c:
15411         * gnome/applet/applet-dbus-devices.h:
15412         * gnome/applet/applet-dbus.c:
15413         * src/NetworkManagerDbus.c:
15414         * src/NetworkManagerDbus.h:
15415         * src/NetworkManagerDevice.c:
15416         * src/nm-dbus-device.c:
15417         Make NM push updates about active device strength when it changes,
15418         rather than having the applet poll every 2s.
15419
15420 2005-09-05  Christopher Aillon  <caillon@redhat.com>
15421
15422         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
15423         network_device_set_strength
15424
15425 2005-09-04  Dan Williams  <dcbw@redhat.com>
15426
15427         Patch from Bill Nottingham <notting@redhat.com>
15428         * src/NetworkManagerDevice.c
15429                 - (nm_device_activation_cancel): reset the quit_activation flag
15430
15431 2005-09-04  Dan Williams  <dcbw@redhat.com>
15432
15433         * src/nm-activation-request.c
15434                 - (nm_act_request_unref): actually free the structure,
15435                         which we didn't seem to be doing before
15436
15437 2005-09-04  Dan Williams  <dcbw@redhat.com>
15438
15439         Patch from John Palmieri <johnp@redhat.com>
15440         * gnome/applet/applet-dbus-devices.c
15441                 - Fix up unreffing of DBusMessage objects
15442
15443 2005-09-04  Dan Williams  <dcbw@redhat.com>
15444
15445         Patch from John Palmieri <johnp@redhat.com>
15446         * gnome/applet/nm-device.c
15447                 - (nm_device_unref): clear network_device's memory _before_ freeing it
15448
15449 2005-09-02  Christopher Aillon  <caillon@redhat.com>
15450
15451         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
15452
15453 2005-09-02  Bill Nottingham  <notting@redhat.com>
15454
15455         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
15456
15457 2005-09-01  Dan Williams  <dcbw@redhat.com>
15458
15459         * src/NetworkManager.c
15460                 - (nm_remove_device_from_list): rename to nm_remove_device
15461                 - (nm_hal_device_removed): call nm_remove_device()
15462
15463         * src/NetworkManagerDevice.c
15464                 - Change the NMWirelessScanCB member 'reschedule' which
15465                         wasn't used to 'force' to indicate that we need to
15466                         force a scan when adding a device
15467
15468         * src/nm-dbus-nm.c
15469                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
15470                         from the device list
15471                 - (nm_dbus_nm_wake): Re-add all devices to the device list
15472
15473 2005-09-01  Robert Love  <rml@novell.com>
15474
15475         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
15476           and the check "!iface" in the error case is probably never true.
15477
15478 2005-09-01  Dan Williams  <dcbw@redhat.com>
15479
15480         Patch from Bill Nottingham <notting@redhat.com>
15481         * src/backends/NetworkManagerRedHat.c
15482                 - Add initial dialup support to Red Hat/Fedora backend
15483
15484 2005-09-01  Dan Williams  <dcbw@redhat.com>
15485
15486         * gnome/applet/applet-dbus-devices.c
15487                 - Sort both wireless networks and devices again, which got
15488                         broken when removing threading
15489
15490 2005-09-01  Christopher Aillon  <caillon@redhat.com>
15491
15492         * gnome/applet/applet.c:
15493         Only show the "Stop/Start All Wireless Devices" menuitem
15494         if we actually have wireless devices.
15495
15496         * gnome/applet/applet-dbus-info.c:
15497         * gnome/applet/applet.c:
15498         * gnome/applet/other-network-dialog.c:
15499         * gnome/applet/vpn-password-dialog.c:
15500         Drop the gtk_dialog_run () calls in favor of connecting to
15501         "response" signals, needed now that the applet is not threaded.
15502
15503 2005-08-31  Dan Williams  <dcbw@redhat.com>
15504
15505         Patch from Bill Moss <bmoss@clemson.edu>
15506         * src/NetworkManagerDevice.c
15507                 - (nm_device_wireless_scan): fix scan timeout values
15508
15509 2005-08-30  Dan Williams  <dcbw@redhat.com>
15510
15511         * gnome/applet/wireless-applet.glade
15512                 - HIG-ify the Other Wireless Networks dialog a bit more
15513                 - Fix some potential segfaults in the info dialog
15514
15515 2005-08-30  Dan Williams  <dcbw@redhat.com>
15516
15517         * gnome/applet/applet-dbus-devices.c
15518                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
15519
15520 2005-08-30  Dan Williams  <dcbw@redhat.com>
15521
15522         * gnome/applet/applet-dbus.[ch]
15523                 - Remove all the nmwa_dbus_call_method_xxxx functions since
15524                         they weren't being used anyway
15525
15526 2005-08-30  Bastien Nocera  <hadess@hadess.net>
15527
15528         * test/nmtestdevices.c: (print_usage), (main):
15529         Check the number of arguments, and fix a typo
15530
15531 2005-08-29  Dan Williams  <dcbw@redhat.com>
15532
15533         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
15534         * gnome/applet/applet.c
15535                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
15536
15537 2005-08-29  Dan Williams  <dcbw@redhat.com>
15538
15539         * gnome/applet/*
15540                 - Don't use threads any more.  Anything that blocks
15541                         (like gtk_dialog_run()) will  have to get fixed up which
15542                         should happen quickly.  We really only had threads to make
15543                         the animation smooth, and when everything got converted over
15544                         to DBus Pending Calls, the need for threads kind of went away
15545
15546 2005-08-29  Christopher Aillon  <caillon@redhat.com>
15547
15548         * gnome/applet/applet.c: Draw VPN connections as radio items
15549         since we don't yet support multiple VPNs.
15550         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
15551         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
15552
15553 2005-08-29  Dan Williams  <dcbw@redhat.com>
15554
15555         Patch from j@bootlab.org
15556         - Make --without-named work
15557         - Make --with-dhcdbd work correctly
15558
15559 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
15560
15561         * configure.in: Added "ca" to ALL_LINGUAS.
15562
15563 2005-08-26  Christopher Aillon  <caillon@redhat.com>
15564
15565         * Fix up VPN state handling between the applet and NetworkManager,
15566                 so that the applet doesn't show a VPN as connected when one
15567                 really is not
15568                         - The applet no longer has a pointer to the active VPN's
15569                                 name, but tracks each VPNs state individually
15570                         - NM no longer has a "getActiveVPNConnection" method
15571                         - NM no longer broadcasts the "VPNConnectionChange" signal
15572                         - NM now broadcasts a "VPNConnectionStateChange" signal
15573                                 whenever the state of a VPN changes
15574
15575 2005-08-26  Dan Williams <dcbw@redhat.com>
15576
15577         * gnome/applet/applet-dbus-devices.c
15578           gnome/applet/applet-dbus-vpn.c
15579                 - Remove calls to dbus_pending_call_ref() because we already
15580                         "own" the pending call
15581                 - Remove calls to dbus_pending_call_get_completed() because
15582                         when we are in the callback, the pending call is completed
15583                         by definition
15584
15585 2005-08-22  Dan Williams <dcbw@redhat.com>
15586
15587         Patch by Bill Moss <bmoss@clemson.edu>
15588         * src/dhcp-manager/nm-dhcp-manager.c
15589                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
15590                         some time to send out a RELEASE if they like
15591
15592 2005-08-22  Dan Williams <dcbw@redhat.com>
15593
15594         Noticed by Bill Moss <bmoss@clemson.edu>
15595         * src/NetworkManagerDbus.c
15596                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
15597                         instead of just cancelling its activation
15598
15599         * src/NetworkManagerDevice.c
15600                 - (nm_device_deactivate): some small cleanups
15601                 - (nm_device_set_user_key_for_network): deactivate the device
15602                         instead of just cancelling its activation
15603
15604 2005-08-22  Dan Williams <dcbw@redhat.com>
15605
15606         Noticed by Bill Moss <bmoss@clemson.edu>
15607         * src/NetworkManagerDevice.c
15608                 - (nm_device_wireless_scan): fix scan timeout, we were
15609                         waiting way too long for scans to complete
15610
15611 2005-08-22  Dan Williams <dcbw@redhat.com>
15612
15613         Patch from j@bootlab.org:
15614         * src/backends/NetworkManagerDebian.c
15615                 - Make the Debian backend work for static IP again
15616
15617 2005-08-20  Christopher Aillon  <caillon@redhat.com>
15618
15619         * gnome/applet/other-network-dialog.c:
15620         The "Create New Network" and "Connect to Other Network"
15621         dialogs share alot of code, but shouldn't share a window
15622         title.  Give them different ones.
15623
15624         * gnome/applet/wireless-applet.glade:
15625         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
15626         Some more minor UI tweaks.
15627
15628 2005-08-19  Christopher Aillon  <caillon@redhat.com>
15629
15630         * gnome/applet/other-network-dialog.c:
15631         * gnome/applet/wireless-applet.glade:
15632         Also need mnemonic widgets, and underline enabled.
15633
15634 2005-08-19  Dan Williams <dcbw@redhat.com>
15635
15636         * vpn-daemons/vpnc/nm-vpnc-service.c
15637                 - (vpnc_watch_cb): remove no-longer-relevant comment
15638                 - (write_config_option): new function, helper to write
15639                         config options to vpnc's stdin
15640                 - (nm_vpnc_config_write): use the new helper, make the
15641                         code shorter
15642
15643 2005-08-19  Christopher Aillon <caillon@redhat.com>
15644
15645         * gnome/applet/passphrase-dialog.c:
15646         * gnome/applet/wireless-applet.glade:
15647         Make the passphrase dialog response based, and treat
15648         responses other than OK (such as Esc, [X]) as a cancel.
15649
15650 2005-08-18  Christopher Aillon <caillon@redhat.com>
15651
15652         * initscript/Gentoo/NetworkManager:
15653         * initscript/RedHat/NetworkManager:
15654         * initscript/RedHat/NetworkManagerDispatcher:
15655         * initscript/SUSE/networkmanager:
15656         CVS remove these in place of .in replacements
15657
15658         * configure.in:
15659         * initscript/Gentoo/NetworkManager.in:
15660         * initscript/RedHat/NetworkManager.in:
15661         * initscript/RedHat/NetworkManagerDispatcher.in:
15662         * initscript/SUSE/networkmanager.in:
15663         These scripts now are generated so they work still when
15664         NM is built using a bindir other than /usr/bin
15665
15666 2005-08-18  Dan Williams <dcbw@redhat.com>
15667
15668         * gnome/applet/main.c
15669                 - Revert previous change for --no-session since
15670                         --sm-disable does the same thing
15671
15672 2005-08-18  Dan Williams <dcbw@redhat.com>
15673
15674         * gnome/applet/applet-dbus-info.c
15675                 - (nmi_dbus_create_error_message): new function
15676                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
15677                         functions.  Also don't check for both device _and_ network before
15678                         asking for a user's key, because we may not have gotten all our
15679                         networks back from NM quite yet (due to the dbus pending calls
15680                         coming in later).  Fixes a hang in NM/nm-applet.
15681
15682         * src/NetworkManagerDbus.c
15683                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
15684                         slightly more sane manner, even though we are still broken for
15685                         certain other error conditions.
15686                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
15687                         to the info-daemon too
15688
15689         * src/NetworkManagerDevice.c
15690                 - Fix some debug messages to be info messages instead
15691
15692 2005-08-18  Dan Williams <dcbw@redhat.com>
15693
15694         * gnome/applet/main.c
15695                 - Add new "--no-session" parameter that disables applet
15696                         session management, ie for testing
15697
15698 2005-08-18  Christopher Aillon <caillon@redhat.com>
15699
15700         * gnome/applet/other-network-dialog.c:
15701         * gnome/applet/wireless-applet.glade: More mnemonics
15702
15703 2005-08-17  Robert Love  <rml@novell.com>
15704
15705         * initscript/SUSE/networkmanager: update
15706
15707 2005-08-17  Dan Williams  <dcbw@redhat.com>
15708
15709         * Tag NM_0_4_1_RELEASE
15710
15711 2005-08-17  Christopher Aillon  <caillon@redhat.com>
15712
15713         * gnome/applet/applet.c: More translatable string cleanup
15714
15715
15716 2005-08-17  Dan Williams  <dcbw@redhat.com>
15717
15718         * gnome/applet/applet-dbus-info.c
15719                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
15720                         from the dbus message, which tells us to unconditionally
15721                         ask the user for a new key.  Otherwise, we pull the key from
15722                         the keyring and return it.  If we fail to get the key from the
15723                         keyring, we ask the user for a new key.
15724                 - (nmi_dbus_get_network_key): new function to grab the key for
15725                         an essid from the keyring.
15726                 - (nmi_dbus_get_network_properties): don't access the keyring here.
15727                         Also, don't return any key in the dbus message.
15728
15729         * src/NetworkManagerDbus.[ch]
15730                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
15731                         indicate that we unconditionally want a new key.  This function
15732                         is now also used to get keys from the info-daemon which are
15733                         pre-stored, not just for asking the user for a new key.  The
15734                         "new_key" parameter indicates whether or not we wish to ask the
15735                         user for a new key.
15736                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
15737                         info-daemon in the return message, so use NULL instead.  The
15738                         key will be filled in at connect time by calling
15739                         nm_dbus_get_user_key_for_network()
15740
15741         * src/NetworkManagerDevice.c
15742                 - (nm_device_wireless_configure): update for "new_key" param to
15743                         nm_dbus_get_user_key_for_network().  We initially set new_key
15744                         to FALSE to see if we have a stored key in the info-daemon, but
15745                         if the connection is unsuccessful at this stage we request a
15746                         new one
15747
15748 2005-08-17  Dan Williams  <dcbw@redhat.com>
15749
15750         * gnome/applet/icons/nm-no-connection.png
15751           gnome/applet/icons/nm-device-wired.png
15752                 - Use Diana's new RJ45 connector icons
15753
15754 2005-08-17  Dan Williams  <dcbw@redhat.com>
15755
15756         * src/NetworkManagerPolicy.c
15757                 - (nm_policy_device_change_check): clarify switching rules if
15758                         both new and old devices are valid; mainly, don't switch
15759                         away from user-requested wireless connection back to a wired
15760                         one
15761
15762 2005-08-17  Dan Williams  <dcbw@redhat.com>
15763
15764         * gnome/applet/Makefile.am
15765                 - Relocate the applet to /usr/bin since it is no longer
15766                         executed by anything, but directly by the user
15767
15768 2005-08-17  Dan Williams  <dcbw@redhat.com>
15769
15770         Patch from Bill Moss <bmoss@clemson.edu>
15771
15772         * gnome/applet/applet-dbus-info.[ch]
15773                 - (nmi_save_network_info): save timestamp for network if it
15774                         was a change requested by the user
15775                 - (nmi_dbus_update_network_info): get user_requested from dbus
15776                         message and pass to nmi_save_network_info()
15777
15778         * gnome/applet/applet.c
15779                 - (nmwa_update_network_timestamp): remove
15780                 - (nmwa_menu_item_activate): don't set timestamp on networks
15781                         here, only after a successful connect in nmi_save_network_info()
15782
15783         * src/NetworkManagerDbus.[ch]
15784                 - (nm_dbus_update_network_info): pass user_requested into the 
15785                         dbus message
15786
15787         * src/NetworkManagerPolicy.c
15788                 - (nm_policy_activation_finish): pass user_requested to
15789                         nm_dbus_update_network_info()
15790
15791 2005-08-16  Robert Love  <rml@novell.com>
15792
15793         * gnome/applet/applet.c: Better "Dial Up" menu item.
15794
15795 2005-08-16  Robert Love  <rml@novell.com>
15796
15797         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
15798           "Connection Information" menu item.
15799
15800 2005-08-16  Dan Williams  <dcbw@redhat.com>
15801
15802         Patch from j@bootlab.org
15803         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
15804
15805         * configure.in: allow specifying the path to dhcdbd
15806
15807 2005-08-16  Robert Love  <rml@novell.com>
15808
15809         Patch from j@bootlab.org
15810         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
15811           src/backends/interface_parser.h: Debian dialup support.
15812
15813 2005-08-16  Christopher Aillon  <caillon@redhat.com>
15814
15815         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
15816         * gnome/applet/applet.c: Add some mnemonics for VPNC
15817
15818         * vpn-daemons/.cvsignore: fix this up a little bit
15819
15820 2005-08-16  Robert Love  <rml@novell.com>
15821
15822         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
15823           support.
15824
15825 2005-08-16  Christopher Aillon  <caillon@redhat.com>
15826
15827         * gnome/applet/applet.c: Split markup out of translatable strings
15828         and clean up logic a little bit.  (fixes #309012)
15829
15830 2005-08-15  Christopher Aillon  <caillon@redhat.com>
15831
15832         * gnome/vpn-properties/nm-vpn-properties.c:
15833         * gnome/vpn-properties/nm-vpn-ui-interface.h:
15834         * vpn-daemons/vpnc/properties/nm-vpnc.c:
15835         Makeshift fix to remove newlines from translatable strings.
15836         Note that we now return an allocated string, so callers of
15837         get_confirmation_details () must now call g_free () on the
15838         result. (fixes #309033).
15839
15840 2005-08-12  Robert Love  <rml@novell.com>
15841
15842         * gnome/applet/applet-dbus.c: remove newlines from translatable
15843           strings--not needed here anyway. (fix b.g.o #309011)
15844         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
15845
15846 2005-08-11  Robert Love  <rml@novell.com>
15847
15848         * gnome/applet/applet.c: mark string as translatable.
15849
15850 2005-08-11  Robert Love  <rml@novell.com>
15851
15852         * initscript/SUSE/networkmanager: update.
15853
15854 2005-08-11  Dan Williams  <dcbw@redhat.com>
15855
15856         * src/nm-dhcp-manager.c
15857                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
15858                         an gateway returned from DHCP, try to use the address of the DHCP
15859                         server as the gateway instead.  Found by Ralf Ertzinger.
15860
15861 2005-08-10  Robert Love  <rml@novell.com>
15862
15863         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
15864           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
15865
15866 2005-08-10  Dan Williams  <dcbw@redhat.com>
15867
15868         Patch from Bill Moss <bmoss@clemson.edu>
15869         * Consolidate writes of access point information updates to the info daemon
15870                 so that we only do it when the connection to the access point was
15871                 successful.  Also consolidates updates to GConf in the Gnome applet.
15872
15873         * src/nm-netlink-monitor.c
15874                 - Silence compile warning when calling g_object_new()
15875
15876 2005-08-08  Dan Williams  <dcbw@redhat.com>
15877
15878         Patch from Steev <steev@steev.net>:
15879         * src/backends/NetworkManagerGentoo.c
15880                 - Stub new dialup backend functions
15881
15882 2005-08-08  Dan Williams  <dcbw@redhat.com>
15883
15884         Patch from Colin Slater:
15885         * src/backends/NetworkManagerGentoo.c
15886                 - (nm_system_update_dns): Fix exit status check for restarting
15887                         nscd
15888
15889 2005-08-05  Robert Love  <rml@novell.com>
15890
15891         * NetworkManager.h,
15892           gnome/applet/applet-dbus-devices.c,
15893           gnome/applet/applet-dbus-devices.h,
15894           gnome/applet/applet-dbus.c,
15895           gnome/applet/applet.c,
15896           gnome/applet/applet.h,
15897           src/NetworkManager.c,
15898           src/NetworkManagerMain.h,
15899           src/NetworkManagerSystem.h,
15900           src/backends/NetworkManagerRedHat.c,
15901           src/backends/NetworkManagerSuSE.c,
15902           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
15903
15904 2005-08-05  Robert Love  <rml@novell.com>
15905
15906         * gnome/applet/other-network-dialog.c: default the adhoc network to the
15907           machine's hostname to make adhoc creation idiot-proof.
15908
15909 2005-08-04  Robert Love  <rml@novell.com>
15910
15911         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
15912           freed.
15913
15914 2005-08-04  Dan Williams  <dcbw@redhat.com>
15915
15916         * gnome/applet/applet-dbus-info.c
15917           gnome/applet/applet-dbus-info.h
15918                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
15919                         to store key, key type, and auth method rather than just auth method
15920                 - (nmi_dbus_update_network_info): new function
15921                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
15922
15923         * gnome/applet/passphrase-dialog.c
15924                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
15925                         of saving the info ourselves
15926
15927         * gnome/libnm_glib/libnm_glib.c
15928                 - Remove the stupid version check for dbus
15929
15930         * src/NetworkManagerAP.c
15931           src/NetworkManagerAP.h
15932                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
15933
15934         * src/NetworkManagerDbus.c
15935           src/NetworkManagerDbus.h
15936                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
15937                         more than just the auth method
15938
15939         * src/NetworkManagerDevice.c
15940                 - Update network info at the appropriate times
15941
15942 2005-07-29  Ray Strode  <rstrode@redhat.com>
15943
15944         * src/NetworkManager.c (nm_info_handler): don't use input as format
15945         string (Spotted by Ian Jackson).
15946
15947 2005-07-27  Dan Williams  <dcbw@redhat.com>
15948
15949         * src/nm-dbus-nm.c
15950           src/nm-dbus-net.c
15951                 - Random cleanups of spacing
15952
15953         * gnome/applet/applet.h
15954           gnome/applet/other-network-dialog.c
15955           gnome/applet/passphrase-dialog.c
15956                 - Conslidate usage of NMWAEncryptionKeyTypes enum
15957
15958         Patch from Bill Moss:
15959                 - Make Other Wireless Networks work again with encryption keys
15960
15961 2005-07-26  Dan Williams  <dcbw@redhat.com>
15962
15963         Patch from Steev <steev@steev.net>:
15964         * src/backends/NetworkManagerGentoo.c
15965           src/backends/Makefile.am
15966                 - Fix up Gentoo backend
15967
15968 2005-07-26  Robert Love  <rml@novell.com>
15969
15970         * src/backends/NetworkManagerSuSE.c: misc. cleanup
15971
15972 2005-07-25  Robert Love  <rml@novell.com>
15973
15974         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
15975           in the same group as the wireless networks, since they are all
15976           mutually exclusive.
15977
15978 2005-07-24  Ray Strode  <rstrode@redhat.com>
15979
15980         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
15981         remove unneeded NULL arg from g_object_new().  Any
15982         warnings caused by not having the extra NULL are just a
15983         result of a bug in glib 2.7.0 - 2.7.2.
15984
15985 2005-07-22  Robert Love  <rml@novell.com>
15986
15987         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
15988
15989 2005-07-22  Robert Love  <rml@novell.com>
15990
15991         * src/nm-netlink-monitor.c: g_object_new() needs at least three
15992           parameters (gcc 4.0.2 warning fix).
15993
15994 2005-07-18  Robert Love  <rml@novell.com>
15995
15996         Suggested by Aaron Bockover (abockover@novell.com)
15997         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
15998           s/Ascii/ASCII
15999         * gnome/applet/passphrase-dialog.c: ditto
16000         * gnome/applet/wireless-applet.glade: ditto
16001
16002 2005-07-13  Dan Williams  <dcbw@redhat.com>
16003
16004         Patch from Ray Strode <halfline@gmail.com>
16005         * vpn-daemons/vpnc/nm-vpnc-service.c
16006                 - Don't let vpnc daemonize, fixes some races with PID file reading
16007
16008 2005-07-13  Dan Williams  <dcbw@redhat.com>
16009
16010         Patch from Ray Strode <halfline@gmail.com>
16011         * Random cleanups for strict CFLAGS
16012
16013 2005-07-07  Dan Williams  <dcbw@redhat.com>
16014
16015         Patch from Derek Atkins <warlord@MIT.EDU>
16016         * src/nm-dbus-net.c:
16017                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
16018
16019 2005-07-07  Dan Williams  <dcbw@redhat.com>
16020
16021         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
16022         * src/backends/NetworkManagerGentoo.c
16023                 - Gentoo backend Static IP nameserver fixes
16024                 - General Gentoo backend goodness
16025
16026 2005-07-07  Dan Williams  <dcbw@redhat.com>
16027
16028         Patch from Bastien Nocera:
16029         * gnome/applet/applet.c
16030                 - Fix up error reporting when icons or glade files are missing
16031
16032 2005-07-07  Robert Love  <rml@novell.com>
16033
16034         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
16035           are not any VPN connections above it.
16036
16037 2005-07-07  Robert Love  <rml@novell.com>
16038
16039         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
16040
16041 2005-07-05  Robert Love  <rml@novell.com>
16042
16043         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
16044           zero.
16045
16046 2005-07-05  Robert Love  <rml@novell.com>
16047
16048         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
16049           on wired or unencrypted wireless.
16050
16051 2005-07-01  Robert Love  <rml@novell.com>
16052
16053         * src/NetworkManagerSystem.c: Print the error via strerror().
16054
16055 2005-06-30  Robert Love  <rml@novell.com>
16056
16057         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
16058           then exit if the glade file is not found.  currently the application
16059           just hangs.
16060
16061 2005-06-30  Robert Love  <rml@novell.com>
16062
16063         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
16064           explicitly up all interfaces on wake from sleep.
16065
16066 2005-06-30  Robert Love  <rml@novell.com>
16067
16068         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
16069           with information about the currently active connection.
16070         * gnome/applet/applet.h: (ditto)
16071         * gnome/applet/wireless-applet.glade: (ditto), new file
16072
16073 2005-06-30  Robert Love  <rml@novell.com>
16074
16075         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
16076         * src/nm-dbus-nm.c: print when we sleep and wake up.
16077         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
16078         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
16079           in /sbin unless D-BUS is, folks).
16080         * README: update to reflect nm-applet replacing NetworkManagerInfo.
16081
16082 2005-06-27  Robert Love  <rml@novell.com>
16083
16084         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
16085           case.
16086
16087 2005-06-27  Robert Love  <rml@novell.com>
16088
16089         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
16090           items radios.
16091
16092 2005-06-26  Robert Love  <rml@novell.com>
16093
16094         * src/NetworkManagerDevice.c: be specific about which device in
16095           nm_info() message.
16096
16097 2005-06-23  Adam Weinberger  <adamw@gnome.org>
16098
16099         * src/nm-netlink-monitor.c: correct spelling error.
16100
16101 2005-06-23  Robert Love  <rml@novell.com>
16102
16103         * gnome/applet/applet-dbus-info.c: gnome keyring support!
16104         * gnome/applet/passphrase-dialog.c: more of that keyring!
16105
16106 2005-06-23  Robert Love  <rml@novell.com>
16107
16108         * configure.in: remove extraneous GNOMEKEYRING directives.
16109         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
16110         * gnome/applet/applet.c: nmwa_icons_init: make style local.
16111         * gnome/applet/passphrase-dialog.c: whitespace.
16112
16113 2005-06-23  Robert Love  <rml@novell.com>
16114
16115         * src/NetworkManagerDevice.c: division in assignment was flipped.
16116
16117 2005-06-23  David Zeuthen  <david@fubar.dk>
16118
16119         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
16120         signal to the child to indicate that we got what we wanted when we
16121         see two new-lines right after each other.
16122         (nmwa_vpn_request_password): Pass a structure with several members
16123         instead of just the passwords
16124
16125 2005-06-23  Dan Williams <dcbw@redhat.com>
16126
16127         * src/NetworkManager.c
16128           src/NetworkManagerMain.h
16129                 - (nm_get_hal_ctx): new function, move Hal initialization code here
16130                 - (nm_hal_init): new function, init libhal context then add devices
16131                 - (nm_hal_deinit): new function, clean up libhal context
16132                 - (nm_data_free): Move Hal cleanup here
16133                 - (main): check whether Hal is running, and if so, get a list of
16134                         network devices from it
16135
16136         * src/NetworkManagerDbus.c
16137                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
16138                         and when it appears, get a list of network devices from it.  If
16139                         Hal goes away, clean up the libhal context
16140
16141 2005-06-22  Robert Love  <rml@novell.com>
16142
16143         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
16144           permissions of scripts before executing.
16145
16146 2005-06-21  Robert Love  <rml@novell.com>
16147
16148         * initscript/SUSE/networkmanager: update.
16149         * src/backends/NetworkManagerSuSE.c: cleanup.
16150
16151 2005-06-21  Robert Love <rml@novell.com>
16152
16153         * gnome/applet/applet.c: use menu mnemonics.
16154         * gnome/applet/menu-items.c: (ditto)
16155
16156 2005-06-21  Robert Love  <rml@novell.com>
16157
16158         * applet/applet-dbus-devices.c: mark non-static functions static.
16159         * applet/applet-dbus-vpn.c: (ditto)
16160         * applet/applet.c: (ditto)
16161         * applet/nm-device.h: (ditto)
16162         * applet/other-network-dialog.c: (ditto)
16163         * applet/passphrase-dialog.c: (ditto)
16164         * NetworkManager.c: (ditto)
16165         * NetworkManagerDbus.c: (ditto)
16166         * NetworkManagerDevice.c: (ditto)
16167         * NetworkManagerPolicy.c: (ditto)
16168         * NetworkManagerUtils.c: (ditto)
16169         * NetworkManagerWireless.c: (ditto)
16170         * NetworkManagerWireless.h: (ditto)
16171         * nm-netlink-monitor.c: (ditto)
16172         * applet/applet-dbus-info.c: (ditto), add FIXME's.
16173         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
16174         * autoip.c: include autoip.h.
16175         * autoip.h: new file.  define get_autoip().
16176         * nm-netlink-monitor.h: define nm_netlink_close_connection().
16177         * NetworkManagerDbus.h: remove duplicate definitions.
16178
16179 2005-06-20  Robert Love  <rml@novell.com>
16180
16181         * Makefile.am: Add missing intltool-foo.in generated files to
16182           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
16183           with the start of stuff to cleanup on 'distclea'.
16184         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
16185           stuff right and 'distcheck' works.
16186         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
16187           we keep it, we need to add all of examples/* to EXTRA_DIST and do
16188           Makefile.am for each.  And systray/Makefile needs to be redone.
16189
16190 2005-06-19  Dan Williams <dcbw@redhat.com>
16191
16192         * src/NetworkManagerDevice.c
16193         - (nm_device_wireless_process_scan_results): scan every 20s when
16194           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
16195
16196 2005-06-19  Dan Williams <dcbw@redhat.com>
16197
16198         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
16199
16200 2005-06-18  Ray Strode <rstrode@redhat.com>
16201
16202         * src/nm-netlink-monitor.c 
16203         (nm_netlink_monitor_event_handler): check for the presence
16204         of either error condition not both. 
16205         
16206         (nm_netlink_monitor_error_handler): emit error signal if
16207         error occurs.
16208
16209         (nm_netlink_monitor_event_handler),
16210         (nm_netlink_monitor_error_handler),
16211         (nm_netlink_monitor_disconnect_handler): if an 
16212         assertion fails disconnect the event handler to prevent 
16213         infinite loops.
16214
16215         * src/nm-netlink-monitor.h: add new error condition
16216         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16217
16218 2005-06-18  Ray Strode <rstrode@redhat.com>
16219
16220         * src/nm-netlink-monitor.c 
16221         (nm_netlink_monitor_event_handler): remove bogus < 0
16222         check on unsigned value and return early if the kernel
16223         didn't send any bytes.
16224
16225 2005-06-17  Robert Love  <rml@novell.com>
16226
16227         * initscript/SUSE/networkmanager: Change the Provides and default
16228         run levels
16229
16230 2005-06-16  Dan Williams <dcbw@redhat.com>
16231
16232         Patch from Robert Love:
16233         * gnome/applet/applet.c
16234                 - Beautify some applet menu item names
16235
16236 2005-06-17  David Zeuthen  <davidz@redhat.com>
16237
16238         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
16239         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
16240         Also add new methods can_export, import_file and export.
16241
16242         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
16243         to the main UI
16244
16245         * gnome/vpn-properties/nm-vpn-properties.c:
16246         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
16247         nm-vpn-ui-interface.h.
16248         (update_edit_del_sensitivity): Also update "Export" sensitivity
16249         (add_vpn_connection): Also add new SVC_NAME column
16250         (import_settings): New function
16251         (retrieve_data_from_selected_connection): New function
16252         (edit_cb): Use retrieve_data_from_selected_connection to simplify
16253         this function
16254         (export_cb): New function
16255         (init_app): Also setup the "export" widget
16256         (main): Support the --import-service and --import-file commandline
16257         arguments
16258
16259         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
16260         D-BUS 0.34
16261
16262 2005-06-16  Dan Williams <dcbw@redhat.com>
16263
16264         Patch from Robert Love:
16265         * gnome/applet/menu-items.c
16266                 - (network_menu_item_new): pass -1 as wireless network
16267                         menu items height size request rather than ascent / 2
16268
16269 2005-06-16  Dan Williams <dcbw@redhat.com>
16270
16271         * Clean up wording in Wireless Scan Methods menu items and constants
16272
16273 2005-06-16  Robert Love  <rml@novell.com>
16274
16275         * po/POTFILES.in
16276                 - remove gtkcell* files
16277
16278 2005-06-15  Dan Williams <dcbw@redhat.com>
16279
16280         Patch from Robert Love: make the applet stetic
16281
16282         * gnome/applet/Makefile.am
16283                 - Don't compile the gtkcellview and gtkcellrendererprogress files
16284
16285         * gnome/applet/gtkcellview.h
16286           gnome/applet/gtkcellview.c
16287           gnome/applet/gtkcellrendererprogress.h
16288           gnome/applet/gtkcellrendererprogress.c
16289                 - Removed
16290
16291         * gnome/applet/menu-items.c
16292                 - Progress bars are 5:1 size ratio
16293                 - Use GTK progress bars rather than internal ones
16294
16295 2005-06-15  Dan Williams <dcbw@redhat.com>
16296
16297         Patch from Robert Love:
16298         * initscript/SUSE/networkmanager
16299                 - Fix typo
16300
16301 2005-06-15  Dan Williams <dcbw@redhat.com>
16302
16303         * src/backends/NetworkManagerSuSE.c
16304           src/backends/NetworkManagerRedHat.c
16305           src/backends/NetworkManagerDebian.c
16306                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
16307
16308 2005-06-15  Dan Williams <dcbw@redhat.com>
16309
16310         * src/backends/NetworkManagerDebian.c
16311                 - Add nm_system_device_get_use_dhcp() to debian backend
16312
16313         Patch from Kay Sievers:
16314         * src/backends/NetworkManagerSuSE.c
16315                 - Update debian backend for static IP nameservers
16316
16317         * src/NetworkManagerDevice.c
16318                 - Actually set the device to use static IP or DHCP rather
16319                         than always DHCP
16320
16321 2005-06-15  Dan Williams <dcbw@redhat.com>
16322
16323         Patch from Thom May:
16324         * src/backends/NetworkManagerDebian.c
16325                 - Update debian backend for static IP nameservers
16326
16327 2005-06-15  Dan Williams <dcbw@redhat.com>
16328
16329         Patches from Robert Love:
16330         * gnome/applet/wireless-applet.glade
16331                 - Tighten up wording
16332
16333         * src/NetworkManagerDevice.c
16334                 - Remove misplaced ';'
16335
16336         * configure.in
16337           initscript/Makefile.am
16338           initscript/SUSE/Makefile.am
16339           initscript/SUSE/networkmanager
16340                 - Add SUSE initscript
16341
16342 2005-06-12  David Zeuthen  <davidz@redhat.com>
16343
16344         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
16345
16346         * gnome/vpn-properties/nm-vpn-properties.glade: New file
16347
16348         * gnome/vpn-properties/nm-vpn-properties.c: New file
16349
16350         * gnome/vpn-properties/Makefile.am: New file
16351
16352         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
16353         array of passwords
16354
16355         * src/vpn-manager/nm-vpn-manager.c
16356         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
16357         instead of just a single one
16358
16359         * src/vpn-manager/nm-dbus-vpn.c:
16360         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
16361         here
16362         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
16363
16364         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
16365         Change the interface here to give a list of passwords. Also, don't
16366         require username, but do require service
16367
16368         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
16369         the binary for the auth-dialog and use that instead of putting up a
16370         dialog asking for a single password
16371
16372         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
16373         however do remember the service
16374
16375         * gnome/applet/main.c (main): Setup i18n
16376
16377         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
16378         connection to '%s'" to the tooltip if we are connected using VPN
16379         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
16380         key to determine whether we the auth-dialog needs to
16381         reprompt. Also cope with the fact that the auth-dialog now returns
16382         an array of passwords.
16383         (nmwa_menu_configure_vpn_item_activate): New handler for
16384         "Configure VPN..." menu item
16385         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
16386         (is_vpn_available): New function to determine if we got any
16387         NM-compatible VPN software installed
16388         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
16389         items only if we have NM-compatible VPN software installed
16390         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
16391         logic for detecting when VPN connections are removed
16392
16393         * gnome/applet/applet-dbus.h: Removed the prototypes for 
16394         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
16395         since these are defined elsewhere
16396
16397         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
16398         function used to keep track of whether the last attempt succeded
16399         (nmwa_dbus_filter): Update last_attempt according to whether the
16400         VPN connection could be established or not
16401
16402         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
16403         Change prototype to take an array of passwords, not just a single
16404         password
16405
16406         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
16407         update service, not user
16408         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
16409         dbus_active_vpn_name is not NULL before using it
16410         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
16411         string array instead of assuming a single password
16412
16413         * gnome/applet/applet-dbus-info.c:
16414         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
16415         user name; don't read from gconf
16416
16417         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
16418         VPN_NAME_FILES_DIR
16419
16420         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
16421
16422         * configure.in: Add checks for gmodule-2.0.
16423         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
16424         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
16425         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
16426         for details
16427
16428         * vpn-daemons/Makefile.am: Removed
16429
16430         * vpn-daemons/README: New file to describe extensions points for VPN
16431         software
16432
16433 2005-06-10  Dan Williams <dcbw@redhat.com>
16434
16435         * src/backends/NetworkManagerRedHat.c
16436                 - (get_current_profile_name): new function, grab current network profile name from
16437                         /etc/sysconfig/network
16438                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
16439                         update an IP4 Config structure's settings from it
16440                 - (nm_system_device_get_system_config): if we're using static IP on this device,
16441                         get DNS info from current network profile
16442
16443 2005-06-09  Dan Williams <dcbw@redhat.com>
16444
16445         Patch from Robert Love:
16446         * src/NetworkManagerDevice.c
16447           src/NetworkManagerUtils.c
16448                 - 64-bit build fixes
16449
16450 2005-06-09  Dan Williams <dcbw@redhat.com>
16451
16452         Patch from Kay Sievers and Robert Love:
16453         * configure.in
16454           src/backends/Makefile.am
16455           src/backends/NetworkManagerSuSE.c
16456                 - Add SuSE support
16457
16458 2005-06-09  Dan Williams <dcbw@redhat.com>
16459
16460         * NetworkManager.h
16461                 - Add NMWirelessScanMethod enum for scan methods
16462
16463         * gnome/applet/applet-dbus-devices.c
16464                 - (nmwa_dbus_update_scanning_enabled_cb): remove
16465                 - (nmwa_dbus_update_scanning_enabled): remove
16466                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
16467                         since it got removed
16468                 - (nmwa_dbus_enable_scanning): remove
16469
16470         * gnome/applet/applet-dbus-info.c
16471                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
16472                         update the wireless scanning method from NMI
16473                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
16474                         method value to NetworkManager
16475                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
16476
16477         * gnome/applet/applet-dbus-info.h
16478                 - Add prototype for nmi_dbus_signal_update_scan_method
16479
16480         * gnome/applet/applet.c
16481                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
16482                         Wireless Scanning menu based on current wireless scan method
16483                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
16484                         signal for Wireless Scanning menu items, tell NetworkManager the new method
16485                         and update our menu items to make sure the right one is checked
16486                 - (nmwa_set_scanning_enabled_cb): remove
16487                 - (nmwa_context_menu_update): remove references to pause_scanning_item
16488                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
16489                         Scanning menu item
16490                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
16491                         from GConf
16492                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
16493                         so we get notified of preference values too
16494                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
16495
16496         * gnome/applet/applet.h
16497                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
16498                 - Add wireless scan method member to applet data
16499                 - Remove pause_scanning_item, add Wireless Scanning submenu
16500
16501         * src/NetworkManager.c
16502                 - (nm_data_new): default to NM_SCAN_METHOD_ON
16503                 - (main): grab scanning method from NMI if we can
16504
16505         * src/NetworkManagerDbus.c
16506                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
16507                         nm_dbus_update_wireless_scan_method()
16508                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
16509                         from NMI
16510                 - (nm_dbus_nmi_is_running): redundant function, removed
16511                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
16512                         when NMI comes back
16513
16514         * src/NetworkManagerDevice.c
16515                 - (nm_device_is_activated): return TRUE if the device is activated
16516                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
16517                         and we are activated
16518
16519         * src/nm-dbus-nm.c
16520                 - (nm_dbus_nm_set_scanning_enabled): removed
16521                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
16522                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
16523
16524 2005-06-09  Dan Williams <dcbw@redhat.com>
16525
16526         * NetworkManager.h
16527           src/vpn-manager/nm-vpn-service.c
16528                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
16529
16530 2005-05-27  Dan Williams <dcbw@redhat.com>
16531
16532         * vpn-daemons/vpnc/nm-vpnc-service.c
16533                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
16534                         Should fix the bug where the VPN connection terminates the first time.
16535
16536 2005-05-20  Dan Williams <dcbw@redhat.com>
16537
16538         * NetworkManager.h
16539                 - Differentiate VPN config signals between bad VPN config options
16540                         and bad IP config
16541
16542         * gnome/applet/applet-dbus-info.h
16543                 - Add prototypes for wireless network and vpn connection update functions
16544
16545         * gnome/applet/applet-dbus.c
16546                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
16547
16548         * gnome/applet/applet.c
16549                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
16550                         error signals
16551                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
16552                         propogation to NetworkManager
16553                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
16554                         notify propogation to NetworkManager
16555
16556         * src/NetworkManagerDbus.c
16557                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
16558                         are updating so a network can be removed from it if necessary
16559
16560         * src/vpn-manager/nm-vpn-manager.c
16561                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
16562
16563         * vpn-daemons/vpnc/nm-vpnc-service.c
16564                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
16565                 - (nm_vpnc_dbus_signal_launch_failed): remove
16566                 - (nm_vpnc_dbus_signal_connect_failed): remove
16567                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
16568                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
16569                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
16570                         for new generalized error signal function, remove config file stuff
16571                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
16572                         we can write configuration options to it
16573                 - (nm_vpnc_config_file_generate): removed
16574                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
16575                 - (nm_vpnc_config_options_validate): validate the config options we receive
16576                         from NetworkManager to block potential exploits
16577                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
16578                         starting vpnc
16579                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
16580                         to NetworkManager
16581
16582 2005-05-16  Dan Williams  <dcbw@redhat.com>
16583
16584         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
16585                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
16586                         is not "connect"
16587
16588 2005-05-16  Dan Williams  <dcbw@redhat.com>
16589
16590         Patch from Tomislav Vujec <tvujec@redhat.com>
16591         * gnome/applet/applet-dbus-info.c
16592                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
16593                         GConf and pass them to NetworkManager.  New key is 'routes' under
16594                         the VPN connection, and should be a string list
16595
16596         * src/NetworkManagerSystem.c
16597                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
16598                         set them on the device when we set the rest of the VPN config.  Ensure
16599                         they are in the correct format since they are passed directly to the
16600                         command line.
16601
16602         * src/backends/NetworkManagerRedHat.c
16603           src/backends/NetworkManagerDebian.c
16604                 - (nm_system_device_add_route_via_device_with_iface): new function
16605
16606         * src/vpn-manager/nm-dbus-vpn.c
16607                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
16608
16609         * src/vpn-manager/nm-vpn-manager.c
16610                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
16611                         them into the IP4 config functions
16612
16613 2005-05-15  Dan Williams  <dcbw@redhat.com>
16614
16615         From Filip Miletic:
16616         * po/sr.po
16617           po/sr@Latn.po
16618           configure.in
16619                 - Serbian translation added
16620
16621 2005-05-15  Dan Williams  <dcbw@redhat.com>
16622
16623         * dispatcher-daemon/NetworkManagerDispatcher.c
16624                 - (main): sync arguments with NetworkManager and the applet, now use
16625                         "--no-daemon" rather than "daemon=no"
16626                 - (nmd_print_usage): Fix script path in usage message
16627
16628 2005-05-15  Dan Williams  <dcbw@redhat.com>
16629
16630         * src/NetworkManagerDevice.[ch]
16631           src/NetworkManagerPolicy.c
16632           src/NetworkManager.c
16633           src/nm-dbus-nm.c
16634                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
16635                         longer send the DeviceNoLongerActive signal unconditionally, but only
16636                         when the device is actually active.
16637
16638         * dispatcher-daemon/NetworkManagerDispatcher.c
16639                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
16640                         and simplify the logic
16641                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
16642                         we free it later on
16643
16644         * initscript/RedHat/Makefile.am
16645           initscript/RedHat/NetworkManagerDispatcher
16646                 - Add initscript for NetworkManagerDispatcher
16647
16648
16649         Patch from Bill Moss:
16650         * dispatcher-daemon/NetworkManagerDispatcher.c
16651                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
16652
16653         * src/NetworkManagerDbus.c
16654                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
16655                         and DeviceNowActive gets signaled, then the device has a new IP address
16656                         anyway.  There's no need for a separate signal.
16657
16658         * src/NetworkManagerDevice.c
16659                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
16660
16661         * src/NetworkManagerPolicy.c
16662                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
16663                         activates successfully.  This kind of went missing when I reworked the
16664                         activation code.
16665
16666 2005-05-15  Dan Williams  <dcbw@redhat.com>
16667
16668         * configure.in
16669                 - Check for dhcdbd and error if its not found
16670
16671         * src/dhcp-manager/Makefile.am
16672           src/dhcp-manager/nm-dhcp-manager.c
16673                 - Use path to dhcdbd that configure found
16674
16675 2005-05-14  Dan Williams  <dcbw@redhat.com>
16676
16677         * gnome/applet/nm-device.c
16678                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
16679                         sort wireless networks alphabetically
16680
16681         * gnome/applet/applet-dbus-devices.c
16682                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
16683                         before copying them over to the GUI
16684
16685 2005-05-14  Dan Williams  <dcbw@redhat.com>
16686
16687         * src/NetworkManager.c
16688                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
16689                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
16690                         the device list, as does nm_get_active_device() which is called from
16691                         nm_vpn_manager_deactivate_vpn_connection().
16692
16693 2005-05-14  Dan Williams  <dcbw@redhat.com>
16694
16695         * NetworkManager.h
16696                 - Add signals for VPN Launch and Connect failures
16697
16698         * gnome/applet/applet-dbus.c
16699                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
16700
16701         * gnome/applet/applet.c
16702                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
16703                         function to handle all VPN failure messages
16704                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
16705                         function to hanlde all VPN failure  messages
16706                 - (show_warning_dialog): work around focus-stealing prevention
16707
16708         * gnome/applet/other-network-dialog.c
16709           gnome/applet/passphrase-dialog.c
16710                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
16711                         problem where it never enabled for ASCII Key and Hex Key types
16712
16713         * gnome/applet/wireless-applet.glade
16714                 - Add window title to Other Wireless Network Dialog
16715
16716         * src/vpn-manager/nm-dbus-vpn.c
16717                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
16718                         function to handle all VPN failure messages
16719
16720         * src/vpn-manager/nm-vpn-manager.c
16721                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
16722
16723         * vpn-daemons/vpnc/nm-vpnc-service.c
16724                 - (nm_vpnc_dbus_signal_launch_failed): new function
16725                 - (nm_vpnc_dbus_signal_connect_failed): new function
16726                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
16727                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
16728                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
16729                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
16730
16731 2005-05-11  Dan Williams  <dcbw@redhat.com>
16732
16733         * vpn-daemons/vpnc/nm-vpnc-service.c
16734                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
16735                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
16736                         file exists before trying to write it out.
16737
16738 2005-05-10  Dan Williams  <dcbw@redhat.com>
16739
16740     * gnome/applet/applet-dbus-device.c
16741         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
16742             prevented just entering ESSID and leaving key and key type up to
16743             NetworkManager (which should have them already cached)
16744
16745 2005-05-08  Dan Williams  <dcbw@redhat.com>
16746
16747         * src/NetworkManagerPolicy.c
16748                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
16749                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
16750                         fix a situation where NM is told to terminate and the device stops activation,
16751                         but the main thread isn't aware of that because it would never have run
16752                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
16753                         had already quit.
16754
16755         * src/NetworkManagerDevice.c
16756                 - (nm_device_probe_wired_link_state): cosmetic fixes
16757                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
16758                         we've failed to activate or been canceled.
16759                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
16760
16761 2005-05-08  Dan Williams  <dcbw@redhat.com>
16762
16763         * src/NetworkManagerWireless.c
16764                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
16765                         value of WEXT quality structures, and add a debug message when we cannot
16766                         determine any quality % at all
16767
16768 2005-05-08  Dan Williams  <dcbw@redhat.com>
16769
16770         * src/dhcp-manager/nm-dhcp-manager.c
16771                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
16772                         it goes down.
16773
16774 2005-05-06  Dan Williams  <dcbw@redhat.com>
16775
16776         * gnome/applet/applet-dbus-device.c
16777           gnome/applet/applet-dbus-info.c
16778           gnome/applet/applet-dbus.c
16779           gnome/applet/applet.c
16780           gnome/applet/applet.h
16781                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
16782
16783         * gnome/applet/applet-dbus.c
16784                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
16785                         so we notice when wired device's carriers come back on.  Should
16786                         fix issue with wired devices being grayed out even if the cable
16787                         is in, for devices that support carrier detection.
16788
16789         * gnome/applet/applet.c
16790                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
16791                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
16792                         tooltip message
16793                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
16794                         Fix situation where applet wouldn't respond to menu selections
16795
16796         * src/NetworkManager.c
16797           src/NetworkManagerDevice.c
16798           src/NetworkManagerDbus.c
16799           src/NetworkManagerDbus.h
16800                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
16801
16802         * src/NetworkManagerDbus.c
16803                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
16804                         Remove, no longer used or relevant
16805                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
16806                 - (nm_dbus_schedule_device_status_change_signal): add
16807
16808         * src/NetworkManagerDevice.c
16809                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
16810                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
16811                         ie don't deactivate them unless explicitly told to by the user.  Also send
16812                         CARRIER_OFF / CARRIER_ON signals when link changes
16813                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
16814                         Don't print error message when device is no longer around
16815                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
16816                         not just during activation
16817
16818         * src/NetworkManagerPolicy.c
16819                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
16820                         auto-device-selection.
16821                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
16822
16823         * src/NetworkManagerSystem.c
16824                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
16825                         is no longer present (Bill Moss)
16826
16827         * src/backends/shvar.c
16828                 - (svOpenFile): Open read-only to make SELinux happy
16829
16830         * src/backends/NetworkManagerRedHat.c
16831                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
16832                         the path to the ifcfg-* files
16833
16834 2005-05-05  Dan Williams  <dcbw@redhat.com>
16835
16836         * Expose activation stages to NetworkManager clients, like the applet
16837         * Add Diana's progress icons to the applet, cued off NM activation stage
16838         * Use more descriptive tooltips, cued off NM activation stage
16839
16840 2005-05-05  Ray Strode  <rstrode@redhat.com>
16841
16842         * src/nm-netlink-monitor.c:
16843                 - Use clear_event_source instead of g_nullify_pointer() again.
16844
16845 2005-05-05  Dan Williams  <dcbw@redhat.com>
16846
16847         * gnome/applet/main.c
16848                 - Fix session management so the applet is actually managed now
16849
16850         * gnome/applet/passphrase-dialog.c
16851                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
16852
16853 2005-05-05  Dan Williams  <dcbw@redhat.com>
16854
16855         Patch from Bill Moss:
16856         * gnome/libnm_glib/libnm_glib.c
16857                 - Fix for dbus-0.33
16858
16859 2005-05-05  Dan Williams  <dcbw@redhat.com>
16860
16861         Suggestion from Bill Moss:
16862         * src/NetworkManagerSystem.c
16863                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
16864
16865
16866         * src/NetworkManager.c
16867                 - (nm_data_free): move destruction of the various managers after
16868                         release of device list, because deactivating and freeing a device
16869                         requires at least the named manager
16870                 - (nm_poll_and_update_wireless_link_state):
16871                   (nm_device_link_activated):
16872                   (nm_device_link_deactivated):
16873                         don't grab the device list lock when actually updating device
16874                         link status or strength, since nm_device_set_link_active()
16875                         needs to call nm_get_active_device(), which also locks the device list.
16876
16877         * src/NetworkManagerDevice.c
16878                 - (nm_device_set_link_active): if a device's link switches from off->on,
16879                         and it's wired, and the active device is wireless (or there is no
16880                         active device), activate the new device whose link just came on
16881                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
16882                         my only calling the link to the current ap "failed" when more than 2
16883                         consecutive link checks have failed
16884
16885 2005-05-04  Dan Williams  <dcbw@redhat.com>
16886
16887         * src/NetworkManagerDevice.c
16888                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
16889                         but let link_to_specific_ap() do the locking where it needs
16890
16891         Patch from Bill Moss:
16892         * src/NetworkManagerSystem.c
16893                 - Set MTU of VPN devices to 1412
16894
16895 2005-05-04  Dan Williams  <dcbw@redhat.com>
16896
16897         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
16898
16899         * Fix some holes in device activation and retaining the currently connected
16900                 access point
16901
16902 2005-05-03  Dan Williams  <dcbw@redhat.com>
16903
16904         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
16905           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
16906           means you need dhcdbd, which you can get here (get the latest one):
16907
16908                 http://people.redhat.com/jvdias/dhcdbd/
16909
16910           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
16911           interface as dhcdbd.
16912
16913         * Rewrite device activation to facilitate the new DHCP infrastructure and
16914           future improvements.  Its now "activation request" based, ie there is a single
16915           activation request composed of the device, access point, and other info which
16916           follows the entire activation process.  There are 5 stages of the activation
16917           process which correspond to:
16918
16919                 1) Device preparation
16920                 2) Device configuration (bring it up, set ESSID/Key/etc)
16921                 3) IP Config Start (fire off DHCP if we're using it)
16922                 4) IP Config Get (grab config from DHCP or static config files)
16923                 5) IP Config Commit (set device's IP address, DNS, etc)
16924
16925           Note that there is no longer a "scanning" step, since the access point must
16926           be known _before_ activation starts.  If the access point drops out or does
16927           not exist for some reason, the entire activation process fails and must be
16928           restarted for a different access point or device.
16929
16930         Patch from Bill Moss:
16931         * gnome/applet/applet.c
16932                 - Fix type of vpn_failure dialog -> vpn_banner dialog
16933
16934 2005-04-27  Dan Williams  <dcbw@redhat.com>
16935
16936         * gnome/applet/applet-dbus-vpn.c
16937           gnome/applet/applet.c
16938           gnome/applet/applet.h
16939                 - Fix up active VPN handling so that we reliably know when a VPN
16940                         connection has been deactivated
16941
16942         * src/vpn-manager/nm-vpn-manager.c
16943                 - Remove duplicate VPNConnectionChange signal
16944
16945 2005-04-27  Dan Williams  <dcbw@redhat.com>
16946
16947         Patch from Peter Jones:
16948         * Remove usage of varargs to fix crashes on PPC (RH #154336)
16949
16950         Patch from Bill Moss:
16951         * src/NetworkManagerSystem.c
16952                 - Fix checking of return value from ioctl()
16953
16954 2005-04-27  Dan Williams  <dcbw@redhat.com>
16955
16956         * Fix choosing of wireless networks and "Other wireless network..." from the applet
16957         * Warn and exit if icons cannot be found
16958
16959 2005-04-27  Dan Williams  <dcbw@redhat.com>
16960
16961         Patch from Tom Parker:
16962         * Update debian backend
16963
16964 2005-04-27  Dan Williams  <dcbw@redhat.com>
16965
16966         * Merge the applet and the info-daemon, and move the converged
16967                 applet under gnome/applet
16968         * Move libnm_glib to gnome/libnm_glib
16969         * Convert most dbus calls between the applet, info-daemon, and NM
16970                 into async calls
16971         * Fix a few things valgrind noticed
16972         * Make NM broadcast state more reliably
16973
16974 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
16975
16976         * configure.in: Added ne in ALL_LINGUAS
16977
16978 2005-04-15  Dan Williams  <dcbw@redhat.com>
16979
16980         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
16981                 code for dbus 0.2x versions
16982
16983 2005-04-15  Dan Williams  <dcbw@redhat.com>
16984
16985         Patches from Tom Parker:
16986         - Fix memleaks
16987         - Join with worker thread rather than polling for its exit
16988
16989         Patch from Bill Moss:
16990         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
16991
16992 2005-04-15  Dan Williams  <dcbw@redhat.com>
16993
16994         - Fixes to pass 'make distcheck'
16995
16996 2005-04-15  Dan Williams  <dcbw@redhat.com>
16997
16998         Initial VPN Support
16999                 - supports 'vpnc'
17000                 - reworks device IP configuration, backend files have changed and will need
17001                         to be updated for all distributions.  I will try to do what I can for
17002                         them, but I cannot test them.
17003
17004         - Move named directory to src/named-manager
17005         - Make backends directory self-contained
17006
17007 2005-04-06  Dan Williams  <dcbw@redhat.com>
17008
17009         Add debug code for socket/file descriptor leaks.  We register every socket
17010         that we open (except for stuff in dhcpcd/) for tracking, and print out the
17011         list of sockets that we forgot to close on shutdown.  This also consolidates
17012         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
17013
17014 2005-04-06  Dan Williams  <dcbw@redhat.com>
17015
17016         * dhcpcd/dhcpcd.c
17017                 - (dhcp_interface_free): fix a file descriptor leak that may have
17018                         caused network drivers to not unload due to refcounts > 0
17019
17020 2005-04-04  Dan Williams  <dcbw@redhat.com>
17021
17022         * panel-applet/NMWirelessAppletDbus.c
17023                 - (nmwa_dbus_call_nm_method): remove some commented code
17024
17025         * src/NetworkManagerAPList.[ch]
17026                 - (nm_ap_list_remove_ap_by_essid): new function
17027
17028         * src/NetworkManagerDevice.c
17029                 - (nm_device_wireless_force_use): remove access points from the ignore list
17030                         when the user forces them
17031
17032         * src/nm-dbus-device.c
17033                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
17034
17035 2005-04-04  Dan Williams  <dcbw@redhat.com>
17036
17037         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
17038
17039 2005-04-04  Dan Williams  <dcbw@redhat.com>
17040
17041         * src/NetworkManagerDevice.c:
17042                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
17043                         of only erroring after the second consecutive scan times out.  Also
17044                         don't exit when the card requires more time than we can give it, just
17045                         log the event and continue.
17046
17047 2005-04-01  Steve Murphy  <murf@e-tools.com>
17048
17049         * configure.in: Added "rw" to ALL_LINGUAS.
17050
17051 2005-04-01  Dan Williams <dcbw@redhat.com>
17052
17053         Perform scans during device activation, if needed.  Both activation 
17054         and scans run in the same GMainContext.  Therefore, if an access point
17055         is not found by the time the device starts activation, it will not
17056         be available until after activation.  We now try to scan during
17057         activation (in nm_wa_test) every 15s so that all available access
17058         points are more likely to be found and available for the activation
17059         procedure.
17060
17061         Also change nm_wireless_link_state_handle() to only update the "best"
17062         AP if we are not forcing a device and if we are not about to change
17063         state.  This attempts to work around a race when forcing a device,
17064         where the forced AP would get cleared out too soon by the link state
17065         checking timeout in the main thread, and the activation attempt with
17066         that AP would fail.
17067
17068 2005-04-01  Dan Williams <dcbw@redhat.com>
17069
17070         * po/POTFILES.in
17071                 - Update with new translatables
17072
17073 2005-03-31  Dan Williams <dcbw@redhat.com>
17074
17075         * panel-applet/NMWirelessAppletDbus.c
17076                 - Fix device names now that hal has changed device parenting for
17077                         network devices.
17078
17079 2005-03-31  Dan Williams <dcbw@redhat.com>
17080
17081         Tighten up handling of wireless devices that don't support wireless
17082         scanning (ie, Orinoco).  Due to restructuring of code, these devices
17083         hadn't been doing pseudo-scanning for a while either and would just
17084         spin waiting for an access point.  They are now manual devices where
17085         the user must choose the access point from the menu every time.  All
17086         "allowed" access points are listed in the applet's menu regardless
17087         of whether or not they can be seen by the card, since it can't scan
17088         anyway.
17089
17090         * src/NetworkManager.c
17091                 - (nm_wireless_link_state_handle): new function, but only update
17092                         the "best" ap for non-scanning devices when its not activating,
17093                         and when no device is being forced on the card
17094                 - (nm_link_state_monitor): split wireless link state handling out
17095                         into separate function
17096
17097         * src/NetworkManagerDevice.c
17098                 - (nm_device_copy_allowed_to_dev_list): new function
17099                 - (nm_device_new): populate non-scanning cards' AP lists with
17100                         access points from the "allowed" list
17101                 - (nm_device_new): don't start a scanning timeout for devices that
17102                         can't scan
17103                 - (nm_device_activation_schedule_finish): new parameter, should be
17104                         the AP that failed to be connected to, pass it on to the
17105                         activation finish function in NetworkManagerPolicy.c
17106                 - (nm_device_activate_wireless): don't ever try to get a new AP
17107                         for non-scanning devices, just fail.  The user must choose
17108                         a new access point manually.
17109                 - (nm_device_activate): grab the AP that failed connection and
17110                         pass it on
17111                 - (nm_device_update_best_ap): Clear the best AP if we don't have
17112                         a link to it, user must manually choose a new one
17113                 - (nm_device_do_pseudo_scan): remove function
17114                 - (nm_device_wireless_process_scan_results): remove bits for non-
17115                         scanning cards since they never get here
17116                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
17117                         and fake the scan list for test devices a bit earlier
17118
17119         * src/NetworkManagerPolicy.c
17120                 - (nm_policy_activation_finish): use the failed_ap that we get
17121                         passed rather than getting the best_ap from the card, which
17122                         may have changed since we were scheduled
17123                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
17124                         update their scan list directly from the allowed list when
17125                         we get updates to the allowed list from NetworkManagerInfo
17126
17127         * src/NetworkManagerPolicy.h
17128                 - New member for failed access point in NMActivationResult
17129
17130   -------------------------------------
17131
17132         Driver Notification patch: notifies the user when their driver
17133                 sucks.  Gives them the option to ignore further insertions
17134                 of the card that has the sucky driver.
17135
17136         * NetworkManager.h
17137                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
17138                         enum and replace it with NO_CARRIER_DETECT and
17139                         NO_WIRELESS_SCAN
17140
17141         * panel-applet/NMWirelessApplet.[ch]
17142                 - Merge essid.glade -> wireless-applet.glade
17143                 - Implement the "Your driver sucks" notification dialog
17144
17145         * panel-applet/NMWirelessAppletDbus.c
17146                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
17147                 - Grab hardware address for each device from NM too
17148                 - Check whether the driver for each device sucks or not whenever
17149                         a new device is noticed
17150
17151         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17152                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
17153
17154         * src/NetworkManager.c
17155                 - Fix a double-unref on device removal
17156
17157         * src/NetworkManagerUtils.c
17158                 - Set appropriate driver support level on a device that doesn't
17159                         support scanning or carrier detection
17160
17161         * src/nm-dbus-device.c
17162                 - New "getHWAddress" dbus method on devices
17163                 - getSupportsCarrierDetect -> getDriverSupportLevel
17164
17165 2005-03-31  Dan Williams <dcbw@redhat.com>
17166
17167         * src/NetworkManagerDevice.c
17168                 - (nm_device_wireless_scan): Fix leak of scan results in some
17169                         instances
17170
17171 2005-03-29  Dan Williams <dcbw@redhat.com>
17172
17173         * src/NetworkManager.c
17174                 - (nm_poll_and_update_wireless_link_state): make code less indented
17175
17176         Patch from Bill Moss:
17177         * src/NetworkManager.c
17178                 - (nm_device_update_link_state): Update signal strength on wireless
17179                         devices every time we update link state too.
17180
17181 2005-03-29  Dan Williams <dcbw@redhat.com>
17182
17183         * src/NetworkManagerDevice.c
17184                 - (nm_device_set_essid): Work around Orinoco cards which need
17185                         extra time after setting the ESSID
17186
17187 2005-03-29  Dan Williams <dcbw@redhat.com>
17188
17189         * src/NetworkManagerDevice.c
17190                 - Merge one more bit of Peter Jones' completion patch
17191
17192 2005-03-29  Dan Williams <dcbw@redhat.com>
17193
17194         * src/NetworkManagerDevice.c
17195                 - (nm_device_force_use): Fix possible segfault
17196
17197 2005-03-29  Dan Williams <dcbw@redhat.com>
17198
17199         * src/NetworkManagerDevice.c
17200                 - Use iw_get_ext() where we should rather than iw_set_ext()
17201
17202 2005-03-29  Dan Williams <dcbw@redhat.com>
17203
17204         * src/NetworkManagerDevice.c
17205                 - (nm_device_set_up_down): remove check for unsupported devices
17206                         that caused NM to not bring devices up when they were
17207                         added to the device list.
17208
17209 2005-03-28  Dan Williams <dcbw@redhat.com>
17210
17211         * src/NetworkManagerDevice.c
17212                 - (mdio_read): Fix two bugs that caused all devices to fail
17213                         the MII carrier detection support checks
17214
17215 2005-03-26  Dan Williams <dcbw@redhat.com>
17216
17217         * src/NetworkManagerDevice.c
17218                 - (nm_device_wireless_scan): Remove duplicated scanning code
17219
17220 2005-03-25  Dan Williams <dcbw@redhat.com>
17221
17222         * panel-applet/NMWirelessApplet.c
17223                 - (nmwa_about_cb): Add some more contributors
17224                 - (nmwa_update_state): show the applet when there's no connection
17225                 - Enable the "Stop/Resume all wireless devices" option in the
17226                         context menu
17227                 - New "no connection" icon
17228
17229         * src/NetworkManager.c
17230                 - (nm_poll_and_update_wireless_link_state): don't do anything if
17231                         wireless is disabled or we're asleep
17232
17233         * src/NetworkManagerDHCP.c
17234                 - Remove trailing "\n" on debug messages
17235
17236         * src/NetworkManagerDbus.c
17237                 - (nm_dbus_network_status_from_data): new state "asleep"
17238
17239         * src/NetworkManagerDevice.c
17240                 - Merge most of Peter Jones' "completion" patch that greatly reduces
17241                         latency and wait times for most operations
17242                 - (nm_device_wireless_scan): Don't scan when asleep
17243
17244         * src/NetworkManagerPolicy.c
17245                 - (nm_policy_get_best_device): return no device when asleep
17246                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
17247                         for all wireless devices on update, not just active device
17248
17249         * src/NetworkManagerUtils.c
17250                 - Merge Peter Jones' "completion" patch
17251
17252         * src/nm-dbus-nm.c
17253                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
17254                         we're told to disable them
17255                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
17256
17257         * utils/nm-utils.h
17258                 - New variants of the warn/info/error/debug print functions that can take
17259                         variables rather than static strings
17260
17261 2005-03-24  Dan Williams <dcbw@redhat.com>
17262
17263         * src/NetworkManagerUtils.c
17264                 - (nm_get_device_driver_name): driver names are now on the parents of
17265                         "Network Interface" objects, so look for them there
17266
17267 2005-03-24  Dan Williams <dcbw@redhat.com>
17268
17269         * test/nmtest.c
17270                 - Escape some forgotten object paths before we shove them through dbus
17271
17272 2005-03-24  Dan Williams <dcbw@redhat.com>
17273
17274         * dhcpcd/dhcpcd.[ch]
17275           src/NetworkManagerDHCP.c
17276                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
17277                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
17278
17279         * src/NetworkManagerDbus.c
17280                 - spacing cleanups
17281
17282         * src/nm-dbus-dhcp.c
17283                 - Make the API suck less.  There is now only 1 type of each function,
17284                         ie only "getInteger" and no longer also "getIntegerv".  All types
17285                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
17286                         that will never have more than 1 element.  This should simplify
17287                         things greatly.
17288
17289         * test/nm-dhcp-opt-test.c
17290                 - Make the tool not segfault
17291                 - adapt to new DHCP Options API
17292
17293 2005-03-22  Dan Williams <dcbw@redhat.com>
17294
17295         * src/NetworkManager.c
17296                 - (nm_wired_link_deactivated): actually ignore netlink events from
17297                         wireless devices.
17298
17299 2005-03-22  Dan Williams <dcbw@redhat.com>
17300
17301         * src/NetworkManager.c
17302                 - (nm_wired_link_activated): actually ignore netlink events from
17303                         wireless devices.
17304
17305 2005-03-17  Dan Williams <dcbw@redhat.com>
17306
17307         Patch from Tom Parker:
17308         * src/nm-netlink-monitor.c
17309                 - Include unistd.h
17310         * info-daemon/NetworkManagerInfoDbus.c
17311                 - (nmi_dbus_update_network_auth_method): free GConf values
17312
17313         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
17314         * src/NetworkManagerDevice.c
17315                 - (nm_device_set_wireless_config): wait for successful
17316                         association longer for some cards (Atheros a/b/g)
17317
17318 2005-03-15  Ray Strode  <rstrode@redhat.com>
17319
17320         * src/NetworkManager.c:
17321         (sigterm_pipe_handler):
17322         remove bogus FIXME
17323
17324 2005-03-15  Ray Strode  <rstrode@redhat.com>
17325
17326         * src/NetworkManagerDbus.c:
17327         Fix some sign weirdness that gcc4 doesn't like,
17328         and add a header file so PPC can hopefully find
17329         SIGTRAP
17330
17331 2005-03-14  Ray Strode  <rstrode@redhat.com>
17332         
17333         Fourth (probably working) cut at porting to
17334         dbus 0.30 api and new hal. This cut adds
17335         some new logging macros to make debugging
17336         easier.
17337
17338         * dispatcher-daemon/NetworkManagerDispatcher.c:
17339         * info-daemon/NetworkmanagerInfo.c:
17340         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
17341         * info-daemon/NetworkManagerInfoVPN.c:
17342         * src/NetworkManager.c:
17343         * src/NetworkManagerAP.c:
17344         * src/NetworkManagerAPList.c:
17345         * src/NetworkManagerDHCP.c:
17346         * src/NetworkManagerDbus.c:
17347         * src/NetworkManagerDevice.c:
17348         * src/NetworkManagerPolicy.c:
17349         * src/NetworkManagerSystem.c:
17350         * src/NetworkManagerUtils.c:
17351         * src/NetworkManagerWireless.c:
17352         * src/autoip.c:
17353         * src/nm-dbus-nm.c:
17354         * src/backends/NetworkManagerDebian.c:
17355         * src/backends/NetworkManagerGentoo.c:
17356         * src/backends/NetworkManagerRedHat.c:
17357         * src/backends/NetworkManagerSlackware.c:
17358         use new logging macros.
17359
17360         * dispatcher-daemon/NetworkManagerDispatcher.c:
17361         (nmd_dbus_filter): s/dbus_free/g_free/
17362
17363         * info-daemon/Makefile.am: link in utils library.
17364         * info-daemon/NetworkmanagerInfo.c: use new logging 
17365         macros.
17366         (nmi_dbus_get_network): don't assume enumerations
17367         are 32-bit.
17368         (nmi_dbus_nmi_message_handler): don't free what 
17369         doesn't belong to us.
17370
17371         * libnm_glib/libnm_glib.c:
17372         (libnm_glib_get_nm_status): 
17373         (libnm_glib_init): don't free what doesn't
17374         belong to us.
17375         (libnm_glib_dbus): strdup result, so it doesn't get
17376         lost when message is unref'd.
17377
17378         * panel-applet/NMWirelessAppletDbus.c:
17379         (nmwa_dbus_update_devices): s/dbus_free/g_free/
17380
17381         * src/NetworkManager.c:
17382         (nm_monitor_wired_link_state): request initial status 
17383         dump of all cards when we start up, instead of relying
17384         on /sys/.../carrier.
17385         (nm_info_handler), (nm_set_up_log_handlers): 
17386         log handlers to specify what syslog priorites 
17387         the logging macros default to.
17388
17389         * src/NetworkManagerAPList.c: 
17390         (nm_ap_list_populate_from_nmi):
17391         s/dbus_free_string_array/g_strfreev/
17392
17393         * src/NetworkManagerDbus.c:
17394         (nm_dbus_get_network_object):
17395         validate d-bus message argument types.
17396         Advance message iterator after reading argument,
17397         prepend instead of append to GSList.
17398
17399         * src/NetworkManagerDevice.c:
17400         (nm_device_probe_wired_link_status):
17401         remove redundant /sys in /sys path. remove wrong
17402         contents == NULL means has carrier assumption.
17403
17404         * src/nm-netlink-monitor.c 
17405         (nm_netlink_monitor_request_status): implement
17406         function to ask kernel to dump interface link
17407         status over netlink socket.
17408
17409         * test/*.c: s/dbus_free/g_free/
17410
17411         * utils/nm-utils.h:
17412         (nm_print_backtrace): new macro to print backtrace.
17413         (nm_get_timestamp): new macro to get sub-second precise
17414         unix timestamp.
17415         (nm_info), (nm_debug), (nm_warning), (nm_error):
17416         new logging functions. nm_info just prints,
17417         nm_debug includes timestamp and function,
17418         nm_warning includes function, nm_error includes
17419         backtrace and sigtrap.
17420
17421 2005-03-11  Ray Strode  <rstrode@redhat.com>
17422
17423         Third (unfinished, partially working) cut at porting to 
17424         dbus 0.30 api and new hal.
17425
17426         * info-daemon/NetworkManagerInfoDbus.c:
17427                 don't free null arrays.
17428
17429         * panel-applet/NMWirelessAppletDbus.c: 
17430         * src/nm-dbus-device.c:
17431         * src/nm-dbus-net.c: 
17432         * src/NetworkManagerDbus.c: more 
17433         STRING -> OBJECT_PATH fun
17434         * src/NetworkManagerDevice.c:
17435         * src/NetworkManagerDevice.h:
17436         (rename nm_device_get_link_active): rename to 
17437         nm_device_has_active_link
17438         (nm_device_wireless_link_active): rename to
17439         nm_device_probe_wireless_link_state
17440         (nm_device_wired_link_active): rename to
17441         nm_device_probe_wired_link_state.  Rewrite to
17442         use carrier file since hal doesn't maintain
17443         link state anymore.
17444         (nm_device_update_link_active): rename to
17445         nm_device_update_link_state
17446         * src/NetworkManagerPolicy.c 
17447           (nm_policy_activation_finish): check for NULL
17448           MAC address.
17449
17450         * src/Makefile.am:
17451         * src/NetworkManagerMain.h: 
17452         * src/NetworkManager.c:
17453         * src/nm-netlink-monitor.c:
17454         * src/nm-netlink-monitor.h: New class to support
17455         monitoring wired ethernet link status, since HAL
17456         doesn't export that information anymore.
17457
17458 2005-03-09  Ray Strode  <rstrode@redhat.com>
17459
17460         Second (unfinished, unworking) cut at porting to 
17461         dbus 0.30 api.
17462
17463         * dispatcher-daemon/NetworkManagerDispatcher.c:
17464         * info-daemon/NetworkManagerInfoDbus.c:
17465         * panel-applet/NMWirelessAppletDbus.c:
17466         * src/NetworkManagerDbusUtils.c:
17467         * src/NetworkManagerDbusUtils.h:
17468         * src/nm-dbus-device.c:
17469         * src/nm-dbus-nm.c:
17470         * test/nmtest.c: support dbus "object path" type
17471
17472         * configure.in: 
17473         * Makefile.am:
17474         * info-daemon/Makefile.am:
17475         * libnm_glib/Makefile.am:
17476         * panel-applet/Makefile.am:
17477         * dispatcher-daemon/Makefile.am
17478         * src/Makefile.am:
17479         * test/Makefile.am:
17480         * utils/Makefile.am: 
17481         * utils/nm-utils.c: 
17482         * utils/nm-utils.h: new utils static lib
17483
17484 2005-03-07  Ray Strode  <rstrode@redhat.com>
17485
17486         * info-daemon/NetworkManagerInfoDbus.c:
17487         * libnm_glib/libnm_glib.c:
17488         * panel-applet/NMWirelessAppletDbus.c:
17489         * src/NetworkManager.c:
17490         * src/NetworkManagerDbus.c:
17491         * src/NetworkManagerDevice.c:
17492         * src/NetworkManagerUtils.c:
17493         * src/nm-dbus-device.c:
17494         * src/nm-dbus-dhcp.c:
17495         * src/nm-dbus-net.c:
17496         * src/nm-dbus-nm.c:
17497         * test/nminfotest.c:
17498         First (unfinished, unworking) cut at porting to dbus 0.30 api.
17499
17500 2005-03-04  Dan Williams  <dcbw@redhat.com>
17501
17502         * configure.in
17503                 - Mark HEAD as 0.4
17504
17505 2005-03-04  Dan Williams  <dcbw@redhat.com>
17506
17507         Patch from Peter Jones:
17508         - Make stuff work with gcc 4.0
17509
17510 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
17511
17512         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
17513
17514 2005-02-27  Jim Huang  <jserv@kaffe.org>
17515
17516         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
17517
17518 2005-02-27  Dan Williams  <dcbw@redhat.com>
17519
17520         Patch from Bill Moss:
17521         * panel-applet/NMWirelessAppletDbus.c
17522                 - Make sure strength for current access point is up-to-date when we
17523                         update the gui data model
17524
17525 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
17526
17527         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
17528
17529 2005-02-27  Dan Williams  <dcbw@redhat.com>
17530
17531         * src/backends/NetworkManagerRedHat.c
17532                 - (nm_system_init): Kill any dhclient processes lying around as well
17533                         as stopping 'nifd' if its already been started.  NetworkManager
17534                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
17535
17536 2005-02-27  Dan Williams  <dcbw@redhat.com>
17537
17538         * panel-applet/NMWirelessApplet.c
17539                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
17540                         dbus data model, not the GUI data model twice.
17541
17542 2005-02-27  Dan Williams  <dcbw@redhat.com>
17543
17544         * panel-applet/NMWirelessApplet.[ch]
17545           panel-applet/NMWirelessAppletDbus.[ch]
17546                 - Move to incremental network updates.  Instead of blowing away our list
17547                         of devices every time we get a signal from NetworkManager, we now
17548                         incrementally add/remove networks when NetworkManager notifies us that
17549                         a new network has appeared or disappered.  Strength updates now happen
17550                         on-the-fly for each access point as well.  There are now two copies of
17551                         data from NetworkManager: one for the dbus side, and one for the gui side.
17552                         When the dbus side data is modified, it is copied over to the gui side
17553                         so we don't have to hold the data_mutex for long periods of time (and
17554                         therefore block animation of the applet's icon).
17555                 - Clean up some memleaks too
17556
17557         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17558                 - Minor code beautification
17559
17560         * src/NetworkManagerAPList.c
17561                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
17562                         completely new and whether or not an existing one's strength was updated.
17563                         Try to fix multiple access points and signal strength by using the highest
17564                         signal strength in each scan for any given ESSID.
17565
17566         * src/NetworkManagerDbus.[ch]
17567                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
17568                         wireless networks; now we have only WirelessNetworkUpdate which includes
17569                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
17570                 - Kill usage of DbusMessageIter
17571
17572         * src/NetworkManagerDevice.c
17573                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
17574                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
17575                         AP rather than all-at-once.  Also don't ever remove the AP a card is
17576                         currently associated with from the network list.
17577                 - Update for new signals during scan, send out Appeared, Disappeared, or
17578                         StrengthChanged when necessary.
17579
17580 2005-02-25  Dan Williams  <dcbw@redhat.com>
17581
17582         * README
17583                 - Line break the README
17584
17585 2005-02-25  Dan Williams  <dcbw@redhat.com>
17586
17587         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17588                 - Remove usage of gtk_window_set_default_size()
17589
17590         * panel-applet/essid.glade
17591                 - Stick default size here
17592                 - Add in random crap that current glade wants to add in now
17593
17594 2005-02-25  Dan Williams  <dcbw@redhat.com>
17595
17596         * src/backends/NetworkManagerRedHat.c
17597                 - For non-caching-nameserver/non-named case, ensure that nscd is running
17598                         and that we actually tell nscd to reload the hosts cache when it changes
17599
17600 2005-02-25  Dan Williams  <dcbw@redhat.com>
17601
17602         * info-daemon/NetworkManagerInfoDbus.c
17603                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
17604
17605         * test/nminfotest.c
17606                 - Whack usage of DbusMessageIter
17607                 - Clean up DbusError and DbusMessage handling and freeing
17608                 - Remove unused unregister handler
17609
17610         * test/nmtest.c
17611                 - Whack usage of DbusMessageIter
17612
17613         * test/nmtestdevices.c
17614                 - Whack usage of DbusMessageIter
17615
17616 2005-02-25  Dan Williams  <dcbw@redhat.com>
17617
17618         * NetworkManager.h
17619                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
17620                         signal
17621
17622 2005-02-25  Dan Williams  <dcbw@redhat.com>
17623
17624         * named/nm-named-manager.c
17625                 - Ensure that pid and watch variables for child named process get cleared out
17626                         when the child goes away.
17627
17628 2005-02-22  Dan Williams  <dcbw@redhat.com>
17629
17630         * src/NetworkManagerPolicy.c
17631                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
17632                         and NULL out data->active_device so that we have to choose another one.
17633                         This may make NetworkManager keep attempting to connect to a wired network
17634                         if it fails, but if it keeps failing the wired network has more problems than
17635                         just NetworkManager.
17636
17637         * src/backends/NetworkManagerRedHat.c
17638                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
17639                         is already running
17640
17641         * named/nm-named-manager.c
17642                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
17643                         named so that the distro can flush whatever name service caching
17644                         daemon it uses
17645
17646 2005-02-21  Dan Williams  <dcbw@redhat.com>
17647
17648         * src/NetworkManagerDHCP.[ch]
17649                 - (nm_device_dhcp_remove_timeouts): new function
17650
17651         * src/NetworkManagerDevice.c
17652                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
17653                         remove the DHCP timeouts.
17654
17655 2005-02-21  Dan Williams  <dcbw@redhat.com>
17656
17657         * panel-applet/NMWirelessApplet.[ch]
17658           panel-applet/menu-info.[ch]
17659                 - Give the panel applet some major love: menu items are no longer
17660                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
17661                         This allows the applet to actually reflect theme changes correctly,
17662                         since themeing of subclassed items in GTK _sucks_.
17663
17664 2005-02-18  Dan Williams  <dcbw@redhat.com>
17665
17666         * libnm_glib/libnm_glib.[ch]
17667           test/libnm_glib_test.c
17668                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
17669                         and its data, and doesn't have to free the callback data anymore
17670
17671 2005-02-18  Dan Williams  <dcbw@redhat.com>
17672
17673         * panel-applet/NMWirelessApplet.c
17674                 - Revert 2005-02-18 William Jon McCann fix for standard
17675                         copyright string until it passes 'make distcheck'.
17676                         With standard copyright string, xgettext complains
17677                         about "Non-ASCII string at ...".
17678
17679 2005-02-18  Dan Williams  <dcbw@redhat.com>
17680
17681         * panel-applet/essid.glade
17682           panel-applet/NMWirelessAppletOtherNetworksDialog.c
17683                 - Correct spelling of "adaptor"->"adapter"
17684
17685 2005-02-18  William Jon McCann  <mccann@jhu.edu>
17686
17687         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
17688         (nmwa_about_cb): Use standard copyright string.  Update comment
17689         text to reflect that it is a notification area applet.  Remove
17690         leading newline in authors list.
17691         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
17692         instead of on parent menu item activation.  Fixes #167550.
17693
17694 2005-02-18  William Jon McCann  <mccann@jhu.edu>
17695
17696         * panel-applet/essid.glade: Capitalize items as per HIG.
17697           Fixes #167632
17698
17699 2005-02-16  William Jon McCann  <mccann@jhu.edu>
17700
17701         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
17702         files for GTK 2.4 or lower, since now public in GTK 2.6.
17703
17704         * panel-applet/essid.glade: Don't specify window size.
17705         
17706 2005-02-17  Dan Williams  <dcbw@redhat.com>
17707
17708         Caught by Bill Moss:
17709         * dhcpcd/client.c
17710                 - Time remaining for DHCP transaction calculation was incorrectly
17711                         inside a #ifdef DEBUG
17712
17713 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
17714
17715         * configure.in: Added fr (French) to ALL_LINGUAS.
17716
17717 2005-02-14  Dan Williams  <dcbw@redhat.com>
17718
17719         * src/NetworkManagerDHCP.c
17720                 - (set_domain_searches): Fix free of invalid pointer
17721
17722 2005-02-14  Dan Williams  <dcbw@redhat.com>
17723
17724         Patch from Peter Jones:
17725         * dhcpcd/client.c
17726                 - Ensure we return RET_DHCP_CEASED everywhere we should
17727         * dhcpcd/udpipgen.c
17728                 - Use faster TOS for IP packets
17729                 - Don't set ip_id since we're UDP
17730
17731         Patch from Tomislav Vujec:
17732         * src/nm-dbus-dhcp.c
17733           test/nm-dhcp-opt-test.c
17734                 - Clean up warnings to enable cvs tree compilation.
17735
17736 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
17737
17738         * configure.in
17739           po/hr.po
17740                 - Add the Croatian locale.
17741
17742 2005-02-14  Colin Walters  <walters@verbum.org>
17743
17744         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
17745         list of domains to search.
17746         
17747         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
17748
17749 2005-02-13  Dan Williams  <dcbw@redhat.com>
17750
17751         * dhcpcd/client.c
17752                 - Debug output cleanups of DHCP option printing and parsing.
17753
17754 2005-02-13  Dan Williams  <dcbw@redhat.com>
17755
17756         Patch from Dan Reed:  DHCP options D-BUS API
17757                 Exposes the DHCP options that a device receives to clients over D-BUS.
17758
17759         * configure.in
17760                 - A few cleanups
17761
17762         * dhcpcd/client.h
17763                 - Correct names, option length, and types for DHCP options
17764
17765         * dhcpcd/dhcpcd.[ch]
17766                 - Clarify function names that access DHCP options & data
17767
17768         * src/NetworkManagerDHCP.c
17769                 - Use new DHCP data access functions
17770
17771         * src/NetworkManagerDbus.c
17772                 - Message handler for DHCP functions
17773
17774         * src/nm-dbus-dhcp.[ch] (new)
17775                 - DHCP dbus methods
17776
17777         * test/nm-dhcp-opt-test.c
17778                 - Test DHCP D-BUS API and return all present DHCP options
17779
17780 2005-02-12  Dan Williams  <dcbw@redhat.com>
17781
17782         * test/Makefile.am
17783           test/nmclienttest.c
17784           test/nmtest.c
17785                 - Move nmclienttest.c -> nmtest.c
17786
17787 2005-02-12  Dan Williams  <dcbw@redhat.com>
17788
17789         * dhcpcd/buildmsg.c
17790                 - Pad DHCP packets until they are at least 300 bytes in size.
17791
17792 2005-02-11  Dan Williams  <dcbw@redhat.com>
17793
17794         * dhcpcd/client.c
17795                 - (dhcp_init): only print out client ID and class ID if they are specified
17796
17797         * src/NetworkManagerDbus.[ch]
17798           src/nm-dbus-nm.[ch]
17799           src/nm-dbus-device.[ch]
17800           src/nm-dbus-net.[ch]
17801                 - Move NM, Device, and Net functions to separate files and use the
17802                         dbus method list stuff in NetworkManagerDbusUtils.c to do
17803                         method dispatching
17804
17805         * src/NetworkManagerDbusUtils.c
17806                 - Add new validate_method called before each dispatch (if present)
17807                         that can validate the method call
17808
17809         * src/NetworkManagerWireless.c
17810                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
17811                         levels never to be evaluated
17812
17813         Patch from j@bootlab.org
17814         * src/NetworkManagerDevice.c
17815                 - Add typedef for "u64"
17816
17817         * src/backends/NetworkManagerDebian.c
17818                 - Copy in Dave Woodhouse's fixes for IPv6
17819
17820 2005-02-11  Dan Williams  <dcbw@redhat.com>
17821
17822         Patch from Dave Woodhouse for IPv6:
17823         * src/NetworkManagerUtils.c
17824                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
17825                         and multicast addresses
17826
17827         * src/NetworkManagerDevice.c
17828                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
17829                         after bringing up a card.
17830
17831 2005-02-10  Dan Williams  <dcbw@redhat.com>
17832
17833         Patch from Dave Woodhouse:
17834         * src/NetworkManagerSystem.h
17835           src/backends/NetworkManagerDebian.c
17836           src/backends/NetworkManagerGentoo.c
17837           src/backends/NetworkManagerSlackware.c
17838                 - New nm_system_device_add_ip6_link_address() function to add link-local
17839                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
17840
17841         * src/backends/NetworkManagerRedHat.c
17842                 - (nm_system_device_add_ip6_link_address): implement
17843                 - (nm_system_device_flush_addresses): revert to previous behavior of
17844                         flushing all addresses
17845
17846 2005-02-10  Dan Williams  <dcbw@redhat.com>
17847
17848         Patch from Tom Parker:
17849         * src/NetworkManagerDevice.c
17850                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
17851                         mii.h headers are broken, and instead use our own typedefs
17852
17853 2005-02-10  Dan Williams  <dcbw@redhat.com>
17854
17855         * dhcpcd/buildmsg.c
17856                 - (fill_host_and_class_id): only fill in client and class IDs if
17857                         they are set by callers.
17858
17859         * dhcpcd/client.c
17860                 - (class_id_setup): don't autogenerate a class ID, only use one
17861                         we're given, if any.
17862                 - (client_id_setup): don't autogenerate a client ID, only use one
17863                         we're given, if any.
17864
17865         * dhcpcd/dhcpcd.c
17866                 - (dhcp_interface_init): ensure that client options are correctly
17867                         NULL terminated
17868
17869         * src/NetworkManagerDHCP.c
17870                 - (nm_device_dhcp_request): pass hostname to dhcp library
17871
17872 2005-02-10  Dan Williams  <dcbw@redhat.com>
17873
17874         * dhcpcd/client.c
17875                 - #rh147661# Don't send kernel version in DHCP requests
17876
17877         * src/NetworkManagerSystem.h
17878           src/backends/NetworkManagerDebian.c
17879           src/backends/NetworkManagerGentoo.c
17880           src/backends/NetworkManagerRedHat.c
17881           src/backends/NetworkManagerSlackware.c
17882                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
17883                         functions, they are no longer used anyway
17884
17885         * src/backends/NetworkManagerRedHat.c
17886                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
17887                         addresses in an attempt to keep IPv6 local-scope addresses around
17888
17889 2005-02-10  Dan Williams  <dcbw@redhat.com>
17890
17891         * src/NetworkManager.c
17892                 - (nm_create_device_and_add_to_list): change the add message slightly
17893
17894         * src/NetworkManagerUtils.c
17895                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
17896                         Return driver name to calling function
17897                 - (nm_get_driver_support_level): print out the driver a device is using
17898                         during the support check
17899
17900         Patch from Dave Woodhouse:
17901         * dhcpcd/udpipgen.c
17902                 - (in_cksum): copy last byte of odd-sized packets into a
17903                         'u_short' rather than a 'u_char', should fix wrong checksums
17904                         on big-endian platforms
17905
17906 2005-02-09  Dan Williams  <dcbw@redhat.com>
17907
17908         * Clean up usage of GSList objects and looping through their members
17909         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
17910                 now.
17911         * Fix problem where even if scanning was turned off, card would still
17912                 cycle through frequencies.
17913
17914 2005-02-08  Dan Williams  <dcbw@redhat.com>
17915
17916         * panel-applet/NMWirelessApplet.c
17917                 - Fix for gtk 2.4
17918
17919 2005-02-08  Dan Williams  <dcbw@redhat.com>
17920
17921         Patch from Bill Moss
17922         * panel-applet/NMWirelessApplet.c
17923                 - Restore correct ESSID in tooltips
17924
17925 2005-02-07  Dan Williams  <dcbw@redhat.com>
17926
17927         * panel-applet/NMWirelessApplet.[ch]
17928                 - Add a context menu that contains:
17929                         Pause/Resume Wireless Scanning
17930                         Stop/Start All Wireless Devices
17931                         About...
17932                 - Grab active device strength off active device,
17933                         not its network
17934
17935         * panel-applet/NMWirelessAppletDbus.[ch]
17936                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
17937                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
17938                 - Update active device strength every 2 seconds, not every 1 second
17939
17940         * panel-applet/menu-info.c
17941                 - Only disable wired devices in the menu when they support carrier detection,
17942                         and don't currently have a link.  Non-carrier-detect devices will always
17943                         remain choosable
17944
17945         * src/Makefile.am
17946           src/NetworkManagerDbusUtils.[ch]
17947                 - Add new new dbus utils sources
17948
17949         * src/NetworkManager.c
17950                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
17951                         with the boolean parameter
17952                 - Set scanning_enabled & wireless_enabled to TRUE
17953
17954         * src/NetworkManagerDbus.c
17955                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
17956                 - Implement scanning & wireless enable/disable calls
17957                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
17958
17959         * src/NetworkManagerDevice.c
17960                 - New link detection stuff again...
17961                         o  Create device's mainloop earlier (but don't run it earlier)
17962                         o  Hook up new carrier-detect support stuff
17963                         o  Add in the ethtool & mii support detection code
17964                 - Don't scan if scanning is disabled
17965
17966         * src/NetworkManagerPolicy.c
17967                 - Never automatically choose a device that doesn't support carrier detection
17968                 - Don't automatically choose a wireless device if wireless is disabled
17969
17970 2005-02-07  Dan Williams  <dcbw@redhat.com>
17971
17972         * libnm_glib/libnm_glib.c
17973                 - Small cleanup in element list iteration
17974
17975 2005-02-07  Dan Williams  <dcbw@redhat.com>
17976
17977         * src/NetworkManagerWireless.c
17978                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
17979                         to be in line with the WEXT quality specification
17980
17981 2005-02-02  Dan Williams  <dcbw@redhat.com>
17982
17983         Patch from Nathan Fredrickson <nathan@silverorange.com>
17984         * Fix up compile for deprecation of libgnomeui
17985                 - Switch to <glib/gi18n.h> from <libintl.h>
17986                 - Remove <libgnomeui/libgnomeui.h> includes
17987                 - Use gtk_window_set_default_icon_from_file() rather than
17988                         gnome_window_set_default_icon_from_file()
17989
17990         * named/nm-named-manager.c
17991                 - (generate_named_conf): Fix return-nothing in non-void
17992                         function
17993
17994 2005-02-02  Dan Williams  <dcbw@redhat.com>
17995
17996         * Clean up unused variables and the like
17997
17998 2005-02-02  Dan Williams  <dcbw@redhat.com>
17999
18000         * src/NetworkManagerAPList.c
18001                 - (nm_ap_list_merge_scanned_ap): merge strength too
18002
18003         * src/NetworkManagerUtils.c
18004                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
18005                         of locking issues by printing out prettier information than g_mutex_lock
18006                 - Print out names of mutexes registered with nm_register_mutex_desc()
18007                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
18008                         us to seemingly block here for too long
18009
18010         * src/NetworkManager.c
18011           src/NetworkManagerAPList.c
18012           src/NetworkManagerDevice.c
18013                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
18014                         so we get better debug information printed
18015
18016         * src/NetworkManagerDbus.c
18017                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
18018                         since it sometimes has locking side effects
18019                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
18020                         from 10s
18021                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
18022                         we don't need a switch.  This gets called often enough that we can't block
18023                         until the scan mutex is acquired, because we'll block on device activation
18024                         and a few other things, which hangs main thread for too long.
18025
18026         * src/NetworkManagerPolicy.c
18027                 - (nm_policy_auto_get_best_device): reduce the possiblity that
18028                         nm_device_need_ap_switch() will be called               
18029
18030 2005-02-02  Dan Williams  <dcbw@redhat.com>
18031
18032         * panel-applet/NMWirelessApplet.c
18033                 - Display name of wireless network we are connecting to or connected to
18034                         in the tooltip of the applet
18035
18036 2005-02-02  Dan Williams  <dcbw@redhat.com>
18037
18038         * src/NetworkManagerDHCP.c
18039                 - Hopefully fix double-default-route problem by cleaning up the default
18040                         route added by DHCP code right before the DHCP transaction begins
18041
18042 2005-02-02  Dan Williams  <dcbw@redhat.com>
18043
18044         * named/nm-named-manager.c
18045                 - Write out valid resolv.conf when we exit
18046
18047 2005-02-01  Dan Williams  <dcbw@redhat.com>
18048
18049         Patch from Colin Walters:
18050         * named/nm-named-manager.c
18051                 - Make multi-domain search options work
18052
18053 2005-01-31  Dan Williams  <dcbw@redhat.com>
18054
18055         * info-daemon/NetworkManagerInfoDbus.c
18056                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
18057
18058         * src/NetworkManagerDevice.c
18059                 - (nm_device_new): Don't store the entire range struct, use only what we need
18060                         (which is currently avg_quality, max_quality, and frequencies).  Also
18061                         zero device structure when we've free'd it to maybe expose errors down
18062                         the line.
18063                 - (nm_device_update_signal_strength): grab the scan mutex before getting
18064                         quality data from the card since quality will be useless during a scan.
18065                         Call updated wireless qual-to-percent function with values stored in
18066                         nm_device_new() earlier.
18067                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
18068                         nm_device_get_bad_crypt_packets())
18069                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
18070                         nm_device_new()
18071                 - (get_initial_auth_method): always use the Auth method that's in the allowed
18072                         list if available.  Problem was this: when the WEP key is wrong, NM will
18073                         try OS then SK modes, and then get stuck in SK mode after that.  This
18074                         should reset it.
18075                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
18076                         function
18077
18078         * src/NetworkManagerWireless.c
18079                 - (nm_wireless_qual_to_percent): try to make this function actually work and
18080                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
18081                         if that's all present, otherwise fall back to signal-to-noise ratios.
18082
18083 2005-01-29  Dan Williams  <dcbw@redhat.com>
18084
18085         * initscript/RedHat/NetworkManager
18086                 - Don't spit out sysctl stuff to console
18087
18088         * libnm_glib/libnm_glib.c
18089                 - (libnm_glib_init): call dbus_g_thread_init()
18090
18091         * panel-applet/NMWirelessAppletDbus.c
18092                 - (nmwa_dbus_worker): call dbus_g_thread_init()
18093
18094         * src/NetworkManager.c
18095                 - (main): call dbus_g_thread_init()
18096
18097         * src/NetworkManagerAPList.c
18098                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
18099                         so we can actually see what's there in a normal syslog
18100
18101         * src/NetworkManagerDevice.c
18102                 - (nm_device_activate_wireless): print out the "waiting for access point"
18103                         message only once, then say what access point we actually got after
18104                         the wait.
18105                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
18106                         function, wait until the scan is done.  Scans may change the ESSID of
18107                         the card, making this function think we need to switch access points
18108                 - (nm_device_wireless_process_scan_results): for artificial access points
18109                         don't check against the card's ESSID, but the best_ap's ESSID.  This
18110                         prevents collisions with the scanning code, which may change the card's
18111                         ESSID and cause the access point to get dropped from the device's AP
18112                         list.  Also increase the keep-around time to 2m from 60s since the max
18113                         scan interval could be 60s in some cases.
18114
18115         * src/NetworkManagerPolicy.c
18116                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
18117                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
18118                         the new properties and ESSIDs to the device's AP list.  Fixes some races
18119                         between NM and NMI.
18120
18121 2005-01-27  Dan Williams  <dcbw@redhat.com>
18122
18123         * info-daemon/NetworkManagerInfoDbus.c
18124                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
18125                         GConf, make a minimal entry for it (essid & timestamp)
18126
18127         * src/NetworkManagerAPList.c
18128                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
18129                         NetworkManagerInfo isn't running
18130
18131         * src/NetworkManagerDbus.[ch]
18132                 - (nm_dbus_nmi_is_running): new function
18133
18134         * src/NetworkManagerDevice.c
18135                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
18136                         address to garbage.
18137
18138         * src/NetworkManagerPolicy.c
18139                 - (nm_policy_activation_finish): On successful activation, make sure
18140                         the "best" AP has a MAC address, and don't tell NMI to add the
18141                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
18142                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
18143                         access point after refreshing our allowed list if it doesn't already
18144                         have a "best" access point.
18145
18146 2005-01-25  Dan Williams  <dcbw@redhat.com>
18147
18148         * panel-applet/NMWirelessAppletDbus.c
18149                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
18150                         so we check for NM_DBUS_SERVICE rather than not for it
18151
18152         * libnm_glib/libnm_glib.c
18153                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
18154                         ServiceOwnerChanged signal
18155
18156 2005-01-25  Dan Williams  <dcbw@redhat.com>
18157
18158         * configure.in
18159                 - Check DBUS version in configure, and set the C macros
18160                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
18161
18162         * info-daemon/NetworkManagerInfoDbus.c
18163                 - Remove #if 0-d section of code that quit NMI if NM went away.
18164
18165         * panel-applet/NMWirelessAppletDbus.c
18166                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18167
18168         * src/NetworkManager.c
18169           src/NetworkManagerMain.h
18170           src/NetworkManagerDbus.c
18171                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18172                 - Make updating of our Allowed Wireless Network lists from NMI
18173                         an idle function in the main thread now, with a high priority.
18174
18175 2005-01-24  Dan Williams  <dcbw@redhat.com>
18176
18177         * panel-applet/gtkcellview.[ch]
18178           panel-applet/menu-info.c
18179                 - Fix GTK version checks to be <= rather than <
18180
18181         * test/Makefile.am
18182                 - Include the libtool archive of libnm_glib rather than
18183                         trying to pull in the .so
18184
18185 2005-01-24  Dan Williams  <dcbw@redhat.com>
18186
18187         * src/NetworkManagerDevice.c
18188           src/NetworkManagerDevicePrivate.h
18189                 - Block nm_device_new() until our device's worker thread has had a
18190                         chance to start up.  Fixes a race between main thread and worker
18191                         thread starting that caused activation requests to get lost.
18192
18193 2005-01-24  Dan Williams  <dcbw@redhat.com>
18194
18195         * initscript/RedHat/NetworkManager
18196                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18197                         to add the NM startup script at priority 50, which was
18198                         way too early
18199
18200 2005-01-24  Colin Walters  <walters@redhat.com>
18201
18202         * named/named.conf: Use any port for query source instead of
18203         restricting to port 53.
18204
18205 2005-01-24  Dan Williams  <dcbw@redhat.com>
18206
18207         * initscript/RedHat/NetworkManager
18208                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18209                         to add the NM startup script at priority 50, which was
18210                         way too early
18211
18212 2005-01-24  Dan Williams  <dcbw@redhat.com>
18213
18214         Patch from Tom Parker <palfrey@tevp.net>
18215         * Fix up compile warnings & errors in the wireless applet
18216
18217 2005-01-24  Dan Williams  <dcbw@redhat.com>
18218
18219         * panel-applet/NMWirelessApplet.c
18220                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18221
18222 2005-01-24  Dan Williams  <dcbw@redhat.com>
18223
18224         * panel-applet/gtkcellview.[ch]
18225                 - Only compile these files for GTK 2.4 or lower, since 
18226                         GtkCellView is now public in GTK 2.6.  Fixes crasher
18227                         when choosing "Other Wireless Networks" from the panel
18228                         applet menu
18229
18230 2005-01-21  Dan Williams  <dcbw@redhat.com>
18231
18232         * src/NetworkManager.c
18233                 - Daemonize earlier so that glib doesn't get confused (?)
18234
18235 2005-01-21  Dan Williams  <dcbw@redhat.com>
18236
18237         * panel-applet/NMWirelessApplet.[ch]
18238           panel-applet/NMWirelessAppletDbus.c
18239           panel-applet/menu-info.c
18240           src/NetworkManagerDevice.c
18241                 - Disable wired devices in the menu when they have no link.
18242
18243 2005-01-21  Dan Williams  <dcbw@redhat.com>
18244
18245         * Cache last-known-good wireless authentication method in
18246                 NetworkManagerInfo, and use that method first during
18247                 wireless device activation.  Should speed up devices that
18248                 need Shared Key authentication method since Open System is
18249                 now the default.
18250
18251         * Remove the hack to not do full activation on wired connections
18252                 that are active when we launch, it causes too many problems
18253                 with name resolution and was a hack in the first place.
18254
18255         * Re-work wireless device activation again somewhat to have a
18256                 clearer chain of events and to use last-known-good
18257                 authentication method of the access point.  Also provide
18258                 better status throughout activation to ensure the applet
18259                 can tell the user exactly what's going on.
18260
18261         * Remove the "find wireless network" code and now simply attempt
18262                 to activate with that access point.  This reduces the delay
18263                 between selecting "Other wireless Network" and actually
18264                 connecting to that network.
18265
18266         * Correctly stop the device's worker thread when its removed.
18267
18268 2005-01-21  Dan Williams  <dcbw@redhat.com>
18269
18270         * dhcpcd/client.c
18271                 - Clean up some of the debug messages
18272
18273 2005-01-21  Dan Williams  <dcbw@redhat.com>
18274
18275         * Add new icons, more frames of animation
18276         * Remove some hacks to get the panel applet to display correct
18277                 status, an NM update will soon follow that will fix the
18278                 real issue.
18279
18280 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
18281
18282         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
18283         the first include for working i18n. Also, don't include it in .h files
18284         * panel-applet/NMWirelessApplet.h: Same
18285         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
18286         * panel-applet/menu-info.c: Same
18287
18288 2005-01-18  Dan Williams <dcbw@redhat.com>
18289
18290         * dhcpcd/client.c
18291                 - Remove some debug messages
18292                 - Wrap others in #ifdef DEBUG/#endif
18293
18294         * src/NetworkManager.c
18295                 - Remove some debug messages
18296                 - Clarify some debug messages
18297                 - Remove code related to old single-thread wireless scanning
18298
18299         * src/NetworkManagerAP.[ch]
18300                 - New AP property "last_seen" to track how recently an AP was
18301                         found in a scan
18302                 - Start using 'const' more in function arguments
18303
18304         * src/NetworkManagerAPList.[ch]
18305                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
18306                         of an AP found in an AP list from a source AP, or if not found
18307                         in the list add the source AP
18308                 - (nm_ap_list_combine): remove, no longer needed
18309
18310         * src/NetworkManagerDevice.c
18311                 - Each device now has a "worker" thread from start to end of its life.
18312                         Scanning for wireless devices now happens in that thread,
18313                         not in a single "wireless scanning thread" for all devices as
18314                         previously.  Activation consists of adding an idle handler to the
18315                         thread's main loop/context, which gets run at the next available
18316                         opportunity.
18317                 - Wireless scanning is also simplified, there is now only one list of
18318                         access points per wireless device, and APs older than 60s are
18319                         removed from the list.  Previously, we kept results for the last
18320                         3 scans and merged whole lists, which was complicated.
18321                 - Cleaned up activation debug messages.
18322                 - Wireless activation and access-point search routines now use Open System
18323                         authentication before trying Shared Key.
18324                 - Removed some code in nm_device_update_best_ap() that could cause cards
18325                         to loose their link to the access point.
18326                 - Scanning now uses a backoff algorithm, where the inverval becomes
18327                         progressively longer between scans when the list of scanned access
18328                         points doesn't change.  A change will revert to the shortest scan
18329                         interval (20s).
18330
18331         * src/NetworkManagerWireless.[ch]
18332                 - Remove code related to old single-thread wireless scanning
18333
18334 2005-01-18  Colin Walters  <walters@redhat.com>
18335
18336         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
18337         of older nameservers.
18338
18339 2005-01-18  Colin Walters  <walters@redhat.com>
18340
18341         * named/nm-named-manager.c (generate_named_conf): Many fixes
18342         to config file generation.
18343         (safer_kill): Remove, was too much trouble for little gain.
18344         (nm_named_manager_start): Run named as NM_NAMED_USER.
18345
18346         * configure.in: Add option --with-named-user.
18347
18348 2005-01-14  Colin Walters  <walters@redhat.com>
18349
18350         Patch from ed@catmur.co.uk (Ed Catmur)
18351
18352         * named/nm-named-manager.c: Add "context" property.
18353         Use it to add child watch source in specific GMainContext.
18354
18355         * src/NetworkManager.c (nm_data_new): Initialize
18356         named with correct main context.  Start named only
18357         after forking.
18358
18359 2005-01-14  Colin Walters  <walters@redhat.com>
18360
18361         * named/nm-named-manager.c (generate_named_conf): Write config
18362         and pid files into NM_NAMED_DATA_DIR; this allows things to
18363         work better with FC3 named SELinux policy.  Also fix up silly
18364         format error.
18365
18366         * configure.in: Add --with-named-dir option.
18367
18368 2005-01-14  Colin Walters  <walters@redhat.com>
18369
18370         * configure.in: Make named support require passing --with-named.
18371
18372         * named/nm-named-manager.c: Support writing resolv.conf directly
18373         without running named.
18374
18375 2005-01-13  Dan Williams <dcbw@redhat.com>
18376
18377         * named/nm-named-manager.c
18378                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
18379
18380         * src/NetworkManagerDevice.c
18381                 - Rework wireless link detection code to be more reliable
18382
18383 2005-01-12  Dan Williams <dcbw@redhat.com>
18384
18385         * initscripts/RedHat/NetworkManager
18386                 - Change initial level to "-" rather than "345" so that
18387                         we don't activate ourselves by default on install
18388
18389 2005-01-12  Dan Williams <dcbw@redhat.com>
18390
18391         * libnm_glib/
18392                 - Client library for applications using glib
18393
18394         * configure.in
18395           various Makefiles
18396                 - Split NM_CFLAGS and NM_LIBS into separate variables
18397                         like DBUS_*, HAL_* and GLIB_*
18398
18399         * src/NetworkManager.c
18400           src/NetworkManagerMain.h
18401                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
18402                         broadcast a status changed signal over DBUS from the main thread.
18403                         Still unused anywhere for the moment.
18404
18405         Patch from j@bootlab.org
18406         * panel_applet/NMWirelessAppletDbus.c
18407           src/NetworkManagerDbus.c
18408                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
18409                         for the "getMode" method call
18410
18411 2005-01-10  Dan Williams <dcbw@redhat.com>
18412
18413         * src/NetworkManagerDevice.c
18414                 - Minor fixups & corrections to "auto" frequency mode, make it
18415                         less chatty with syslog
18416
18417 2005-01-10  Dan Williams <dcbw@redhat.com>
18418
18419         * src/NetworkManagerDevice.c
18420                 - Implement "auto" frequency/channel support, since cards like Atheros
18421                         can't use other frequencies at all when you've told it to use a
18422                         specific one, even for scanning.
18423                 - Grab the scan mutex around places where we can't tolerate wireless
18424                         settings changing underneath us, like nm_device_wireless_network_exists()
18425                         and nm_device_activate_wireless()
18426
18427         * src/NetworkManagerWireless.c
18428                 - Back scan interval off to 20s instead of 14s
18429
18430 2005-01-09  Dan Williams <dcbw@redhat.com>
18431
18432         * src/NetworkManagerDevice.c
18433                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
18434                         already set.  Stops some drivers like Atmel from continually
18435                         reloading the firmware, which they do upon every configuration
18436                         change.
18437
18438 2005-01-09  Dan Williams <dcbw@redhat.com>
18439
18440         * dhcpcd/client.c
18441                 - Use correct timeout value
18442
18443         * info-daemon/NetworkManagerInfoDbus.c
18444           src/NetworkManagerDbus.c
18445                 - Consolidate communication between NM and NMI by doing only 1 dbus
18446                         method call to get Wireless Network info from NMI instead of 6
18447
18448         * src/NetworkManager.c
18449                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
18450                         when we didn't have an AP to use, we'd wait for one forever without
18451                         quitting
18452
18453         * src/NetworkManagerDevice.c
18454                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
18455                         activation, dhcp might not have started yet but we don't quit activation
18456                         before starting it, so the quit signal gets lost
18457
18458 2005-01-07  Dan Williams <dcbw@redhat.com>
18459
18460         * dhcpcd/client.c
18461                 - Rework the DHCP client code to be much less chatty when
18462                         it receives non-DHCP UDP packets during the DHCP run
18463                         (reported by and preliminary patches from Bill Moss)
18464
18465         * Move wireless scanning to a separate thread.  This thread forwards the
18466                 results to the main thread when done where they are integrated into
18467                 the device's access point lists.  This keeps the main thread (which
18468                 does all the DBUS communication) from being blocked for long periods
18469                 of time by wireless scanning.
18470
18471         * Make state modification an idle routine in the main loop, and trigger
18472                 state changes rather than polling for them.
18473
18474         * src/backends/NetworkManagerGentoo.c
18475                 - Fix up invalid C90 code (reported by Christoph Ruessler)
18476
18477         * src/NetworkManagerDevice.c
18478                 - Revert IPv6 patch for wired devices from 2004-12-22 for
18479                         router advertisements, causing problems and infinite loop
18480                         during "best" device determination due to link going up/down
18481                         (reported by Bill Moss)
18482
18483         Apply patch from Peter Jones
18484         * src/NetworkManagerDevice.c
18485                 - Shortcut for link-checking for ipw2x00 cards
18486                 - Split out association check into separate routine
18487
18488 2004-01-05  Colin Walters  <walters@redhat.com>
18489
18490         * named/named.conf: Add PID_FILE.
18491
18492         * named/nm-named-manager.c: Always generate a pid
18493         file, since older BIND versions don't support
18494         "pid-file none".
18495
18496 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
18497
18498         * configure.in (ALL_LINGUAS): Added ja (Japanese).
18499
18500 2004-12-22  Dan Williams <dcbw@redhat.com>
18501
18502         * src/NetworkManagerDevice.c
18503                 - Silently fail when setting bitrate doesn't work
18504
18505
18506         Patches from j@bootlab.org:
18507         * src/backends/NetworkManagerDebian
18508                 - Update backend to match functionality in RedHat backend
18509         * src/NetworkManagerDevice.c
18510                 - Take down then bring up wired devices after connection so
18511                 they send out ipv6 router advertisements
18512
18513 2004-12-21  Colin Walters  <walters@verbum.org>
18514
18515         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
18516         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
18517
18518 2004-12-21  Colin Walters  <walters@redhat.com>
18519
18520         * configure.in: Correct named detection.
18521
18522 2004-12-21  Colin Walters  <walters@redhat.com>
18523
18524         * src/NetworkManager.c (nm_data_new): Initialize named.
18525         Also, set up a signal handler for SIGINT/SIGTERM, and exit
18526         the mainloop when these signals are received.
18527         (nm_data_free): Unref named.
18528         (sigterm_handler, sigterm_pipe_handler): New functions for
18529         exiting mainloop.
18530         
18531         * src/NetworkManagerMain.h (NMData): Add signal handling and
18532         nameserver bits.
18533
18534         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
18535         unref.
18536
18537         * src/NetworkManagerDHCP.c (set_nameservers): New function;
18538         set nameservers from DHCP response data.
18539         (set_domain_search): Set domain search from DHCP response.
18540         (nm_device_dhcp_configure): Invoke them.
18541
18542         * src/NetworkManagerSystem.c
18543         (nm_system_device_update_resolv_conf): Delete.  Deleting
18544         code is totally sweet.
18545
18546         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
18547
18548         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
18549         implements an object which controls a nameserver.  Currently
18550         uses bind 9.
18551
18552         * configure.in: Check for named.
18553
18554         * Makefile.am (SUBDIRS): Add named dir.
18555
18556         * named/named.conf: New template config file.
18557
18558 2004-12-20  Colin Walters  <walters@redhat.com>
18559
18560         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
18561         instead of '='.
18562
18563 2004-12-17  Dan Williams  <dcbw@redhat.com>
18564
18565         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
18566                 link-local addresses instead of doing DHCP.
18567
18568         * In the panel applet, there's a new "Create new Wireless Network..." item
18569
18570         * The panel applet also sticks around now even if NetworkManager dies, but
18571                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
18572                 a bug, I'll fix that later.
18573
18574         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
18575                 lookups after a switch rather than actually doing them.
18576
18577         * Clean up some of those warnings in nm_ap_list_* functions
18578
18579         * Delay between scans changed to 15s instead of 10s
18580
18581 2004-12-15  Dan Williams  <dcbw@redhat.com>
18582
18583         Patch from Tom Parker
18584         * Add autoip/Link Local Addressing support when we fail to get a DHCP
18585                 address
18586
18587         * Longer pause after setting ESSID on cards that support a larger number
18588                 of channels to give the card time to find the right channel
18589
18590         * Add system hook to restart mDNSResponder (or whatever the local implementation
18591                 of Multicast DNS is) when we activate interfaces
18592
18593 2004-12-15  Dan Williams  <dcbw@redhat.com>
18594
18595         * Rework the DHCP code again to revert to sending full ethernet frames
18596                 rather then relying on the kernel to do the right thing with our
18597                 packets.
18598
18599 2004-12-06  Dan Williams  <dcbw@redhat.com>
18600
18601         * dhcpcd/client.c
18602                 - Fix some minor errors in dhcp_handle_transaction() that caused
18603                         unexpected early timeouts of DHCP transactions
18604
18605         * dhcpcd/client.h
18606                 - DHCP retransmit time from 4s -> 5s
18607
18608 2004-12-05  Dan Williams  <dcbw@redhat.com>
18609
18610         * Major rework of the DHCP code, taking some cues from pump.  We don't
18611                 write raw Ethernet packets anymore, which simplifies the code quite
18612                 a bit.  The new code should be more robust, not hang in recvfrom()
18613                 as much, and generally work better.  This also means that we need
18614                 to force HAL/dbus to use a created GMainContext rather than the
18615                 default context, since having the DHCP renew/rebind thread using
18616                 its own GMainContext seemed to give dbus a fit.  There is also more
18617                 debugging information printed from the DHCP loop to help with future
18618                 problems.
18619
18620         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
18621                 assume that the default gateway should be the DHCP server.
18622
18623         Patch from Matthew Schick <matt oss-institute org>
18624         * src/backends/NetworkManagerGentoo.c
18625                 - Fix compilation error due to missing "ip4_broadcast"
18626
18627 2004-12-03  Dan Williams  <dcbw@redhat.com>
18628
18629         * initscript/Makefile.am
18630         * initscript/Debian/NetworkManager
18631         * initscript/Gentoo/NetworkManager
18632         * initscript/RedHat/NetworkManager
18633         * initscript/NMLaunchHelper.c
18634                 - Remove NMLaunchHelper, if you need to wait until the network
18635                         comes up, use the dead code from CVS.
18636
18637 2004-12-01  Colin Walters  <walters@redhat.com>
18638         
18639         * configure.in: Suck in gcc warnings code from Rhythmbox,
18640         but use fewer default flags, and in particular add -Wno-unused,
18641         since the codebase has a lot of unused variables.
18642
18643         * test/nmtestdevices.c (create_device): 
18644         * test/nminfotest.c (get_network_string_property) 
18645         (get_networks_of_type): 
18646         * test/nmclienttest.c (main): 
18647         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
18648         * initscript/NMLaunchHelper.c (get_nm_status): 
18649         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
18650         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
18651         Fix declarations after statements.
18652
18653 2004-12-01  Colin Walters  <walters@redhat.com>
18654
18655         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
18656         (nmi_dbus_get_vpn_userpass): New method.
18657         (nmi_dbus_nmi_message_handler): Invoke it.
18658
18659         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
18660
18661         * info-daemon/NetworkManagerInfoVPN.h,
18662         info-daemon/NetworkManagerInfoVPN.c: New files; responds
18663         to requests for VPN passwords.
18664
18665         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
18666
18667 2004-12-01  Colin Walters  <walters@redhat.com>
18668
18669         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
18670         includes.
18671
18672 2004-12-01  Colin Walters  <walters@redhat.com>
18673
18674         * panel-applet/NMWirelessAppletDbus.c
18675         (nmwa_dbus_update_active_device_strength): Fix missing
18676         return value.
18677
18678 2004-12-01  Colin Walters  <walters@redhat.com>
18679
18680         * panel-applet/NMWirelessApplet.c: Add missing include.
18681
18682 2004-12-01  Colin Walters  <walters@redhat.com>
18683
18684         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
18685         Remove useless CLAMP (); the value is unsigned, and the case tests
18686         qual->qual < 100, so the value must always be between 0 and 100.
18687
18688 2004-12-01  Colin Walters  <walters@redhat.com>
18689
18690         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
18691
18692 2004-11-22  Colin Walters  <walters@verbum.org>
18693
18694         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
18695         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
18696         which is essentially a noop since nscd caches hosts on disk too.
18697         
18698 2004-11-22  Colin Walters  <walters@redhat.com>
18699
18700         * src/Makefile.am (NetworkManager_SOURCES): Add
18701         NetworkManagerDevicePrivate.h.
18702
18703 2004-11-22  Dan Williams <dcbw@redhat.com>
18704
18705         * src/NetworkManagerDevicePrivate.h
18706                 - Split out the NMDevice struct to a different file so that stuff like
18707                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
18708
18709         * dhcpcd/client.c
18710                 - fprintf->syslog
18711                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
18712                         need to cancel the dhcp request during the send and recv
18713
18714         * dhcpcd/client.h
18715                 - Move the DHCP option enum to dhcpcd.h
18716
18717         * src/NetworkManagerDHCP.c
18718                 - Split out the actual IP/netmask/etc setting code
18719                 - New Renew/Rebind functions
18720                 - New timer setup function for renew/rebind operations
18721
18722         * src/NetworkManagerDevice.c
18723                 - For device activation, if we are using DHCP then keep the activation thread
18724                         alive until device deactivation.  We need to renew/rebind the DHCP address
18725                         after the T1 (renew) and T2 (rebind) times have expired.
18726                 - Increase some timeouts after bringing wireless cards up/down
18727
18728 2004-11-17  Dan Williams <dcbw@redhat.com>
18729
18730         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
18731                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
18732                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
18733                 show known access points that don't broadcast their ESSID in the menus without
18734                 any user intervention whatsoever.
18735
18736         * info-daemon/NetworkManagerInfoDbus.c
18737                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
18738                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
18739
18740         * src/NetworkManagerAP.[ch]
18741                 - Add a "user_addresses" data member to the NMAccessPoint structure
18742                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
18743                         the user_addresses data member
18744
18745         * src/NetworkManagerAPList.c
18746                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
18747                         the AP's reported address
18748                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
18749
18750         * src/NetworkManagerDHCP.c
18751                 - Increase DHCP timeout from 25s -> 30s
18752
18753         * src/NetworkManagerDbus.[ch]
18754                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
18755                         user addresses
18756
18757         * src/NetworkManagerDevice.c
18758                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
18759                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
18760                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
18761                         So, we take the card down to clear it out.
18762                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
18763                         too, since that's where the user_addresses are
18764
18765         * src/NetworkManagerPolicy.c
18766                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
18767                         that wireless networks' user_addresses list upon successful activation
18768
18769 2004-11-16  Dan Williams <dcbw@redhat.com>
18770
18771         * src/NetworkManagerDevice.[ch]
18772                 - (nm_device_clear_activation_fail): new function
18773
18774         * src/NetworkManagerPolicy.c
18775                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
18776                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
18777
18778 2004-11-16  Dan Williams <dcbw@redhat.com>
18779
18780         * src/NetworkManagerDevice.c
18781                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
18782                         leak the structure, better updating of now_scanning status
18783                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
18784
18785 2004-11-15  Dan Williams <dcbw@redhat.com>
18786
18787         Major rework of link detection code.  We now use DHCP
18788         as part of the link detection which proves to be much more robust,
18789         and also supports Open System authentication for wireless networks.
18790
18791         We no longer use external DHCP client programs.  Instead, we use 
18792         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
18793         which was written by:
18794                 Yoichi Hariguchi <yoichi@fore.com>
18795                 Sergei Viznyuk <sv@phystech.com>
18796                 http://www.phystech.com/download/
18797         It resides in the "dhcpcd" directory and was refactored into a general
18798         purpose DHCP client library by me.
18799
18800         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
18801         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
18802
18803 2004-11-15  Dan Williams <dcbw@redhat.com>
18804
18805         Patch from Tom Parker <palfrey@tevp.net>:
18806
18807         * src/NetworkManagerDevice.c
18808                 - Less output to console when no access
18809                         points are found during a scan
18810
18811 2004-11-15  Dan Williams <dcbw@redhat.com>
18812
18813         Patch from Tom Parker <palfrey@tevp.net>:
18814
18815         * src/backends/interface_parser.c
18816                 - Use g_strdup ()
18817                 - Check for inp == NULL
18818                 - use syslog ()
18819
18820 2004-11-13  Colin Walters  <walters@redhat.com>
18821
18822         Patch from Tom Parker <palfrey@tevp.net>:
18823
18824         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
18825         
18826         * src/backends/NetworkManagerRedHat.c: Switch to
18827         including shvar.h instead of shvar.c.
18828
18829         * src/backends/NetworkManagerDebian.c: Don't include
18830         interface_parser.c in source file.
18831
18832         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
18833         and interface_parser.[ch].
18834         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
18835         Include shvar.c and shvar.h here.
18836         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
18837         interface_parser.c and interface_parser.h here.
18838
18839 2004-11-12  Colin Walters  <walters@redhat.com>
18840
18841         * configure.in: Strip out TARGET_DISTRO and
18842         SYSTEM_BACKEND_FILE variables.  Switch to Automake
18843         conditionals.
18844
18845         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
18846         (libnmbackend_la_SOURCES): Use Automake conditionals
18847         to add distro-specific files.
18848
18849         * initscript/Makefile.am (SUBDIRS): Update to
18850         use conditionals.
18851
18852 2004-11-12  Colin Walters  <walters@redhat.com>
18853
18854         Patches from j bootlab org
18855
18856         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
18857         Add interface_parser.[ch].
18858
18859         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
18860         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
18861
18862 2004-11-12  Colin Walters  <walters@redhat.com>
18863
18864         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
18865         call to nmi_dbus_is_running too, not necessary anymore.
18866         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
18867         pick up exit().
18868
18869 2004-11-11  Colin Walters  <walters@verbum.org>
18870
18871         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
18872         Delete.
18873         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
18874         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
18875         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
18876         This avoids a race condition that made it pretty easily
18877         possible to get two NetworkManagerInfo daemons running.
18878
18879 2004-11-11  Colin Walters  <walters@verbum.org>
18880         
18881         * src/NetworkManager.c (main): Use daemon(3).
18882
18883         * info-daemon/NetworkManagerInfo.c (main): Ditto.
18884
18885         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
18886
18887 2004-11-10 Dan Williams <dcbw@redhat.com>
18888
18889         Patches from j bootlab org
18890         * src/NetworkManagerDevice.c
18891                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
18892                         whether the card has a link or not, some cards are slow
18893                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
18894
18895         * info-daemon/NetworkManagerInfoPassphraseDialog.c
18896                 - Disable the "Login" button on the passphrase dialog until the user
18897                         enters a valid passphrase or key
18898
18899         Patches from Tom Parker <palfrey tevp net>
18900         * src/backends/NetworkManagerDebian.c
18901                 - Add static IP support to the debian backend
18902
18903         * src/backends/interface_parser.[ch]
18904                 - Parse debian interface config files
18905
18906 2004-11-08 Dan Williams <dcbw@redhat.com>
18907
18908         * src/NetworkManagerDevice.c
18909                 - Some random fprintf->syslog conversions
18910                 - (nm_device_wireless_network_exists): double-check for network
18911                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
18912
18913         * src/NetworkManagerWireless.[ch]
18914                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
18915                         so that the binary->ascii conversion works (if unsigned, the bitshift
18916                         will fill with zeros, which is what's required).  Also mask bitshift
18917                         result with 0xF for futher assurance.
18918
18919 2004-11-06 Dan Williams <dcbw@redhat.com>
18920
18921         * src/NetworkManagerUtils.c
18922                 - (nm_get_wireless_driver_support_level): default to
18923                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
18924                         flip this when changing from whitelist->blacklist of
18925                         wireless drivers
18926
18927 2004-11-05 Dan Williams <dcbw@redhat.com>
18928
18929         Patch from Robert Paskowitz:
18930         * src/backends/NetworkManagerGentoo.c
18931                 - Update static IP config code
18932
18933 2004-11-05 Dan Williams <dcbw@redhat.com>
18934
18935         * info-daemon/NetworkManagerInfoDbus.c
18936           src/NetworkManagerDbus.[ch]
18937           src/NetworkManagerDevice.c
18938                 - Keep track of the # of attempts to get the WEP key
18939                         from the user and pass that along to the info daemon
18940
18941 2004-11-05 Dan Williams <dcbw@redhat.com>
18942
18943         * src/NetworkManagerUtils.c
18944                 - Blacklist wireless cards rather than whitelisting them.
18945                 - Grab driver name from HAL rather than trying to find it
18946                         ourselves.
18947
18948 2004-11-03 Dan Williams <dcbw@redhat.com>
18949
18950         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
18951                 - Disable OK button until valid data is entered
18952                         for encryption stuff too
18953
18954         * panel-applet/NMWirelessApplet.c
18955                 - Report card strength for current AP if the card
18956                         doesn't report strength data for scanned access
18957                         points
18958
18959         * src/NetworkManagerDevice.c
18960                 - Smooth out cards reported quality, Atmel card was
18961                         intermittently reporting no quality data but soon
18962                         recovers
18963
18964         * src/NetworkManagerWireless.c
18965                 - Better quality data percentage calculation.  Atmel
18966                         cards (mine at least) seem to report the quality
18967                         in percentage format already, so honor that
18968
18969         Patch from <j@bootlab.org>
18970         * NetworkManager.h
18971           info-daemon/NetworkManagerInfoPassphraseDialog.c
18972           info-daemon/passphrase.glade
18973           panel-applet/NMWirelessAppletOtherNetworkDialog.c
18974           panel-applet/essid.glade
18975           src/NetworkManagerAP.c
18976           src/NetworkManagerDevice.c
18977           src/NetworkManagerWireless.[ch]
18978                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
18979
18980 2004-11-03 Dan Williams <dcbw@redhat.com>
18981
18982         * src/NetworkManagerDevice.[ch]
18983                 - (nm_device_set_enc_key): Add parameter to set Authentication
18984                         Mode (Open System, Shared Key, or None).  We're still using
18985                         Shared Key for now though.
18986
18987 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
18988
18989         * panel-applet/menu-info.c: change from bold text to light
18990         colored, may cause problems with some themes, i've tested a lot
18991         and they seem fine. 
18992
18993         * panel-applet/NMWirelessApplet.c: fix strength tooltip
18994
18995 2004-11-01  Colin Walters  <walters@verbum.org>
18996
18997         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
18998         (nm_wireless_128bit_key_from_passphrase): Add const.
18999
19000         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
19001         (nm_ap_set_enc_key_source): Add const.
19002         
19003 2004-11-01  Colin Walters  <walters@verbum.org>
19004
19005         * .cvsignore: Update.
19006
19007 2004-10-29 Dan Williams <dcbw@redhat.com>
19008
19009         * src/NetworkManagerDevice.c
19010                 - (nm_device_wireless_network_exists): Actually use the encryption
19011                         key we got from the applet when attempting to find a wireless network
19012                 - Don't bring devices down so much since on some cards it triggers
19013                         firmware hotplugs each time
19014
19015         * src/NetworkManagerDbus.c
19016                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
19017                         from the caller
19018
19019 2004-10-29 Dan Williams <dcbw@redhat.com>
19020
19021         * src/NetworkManager.c
19022                 - (nm_hal_device_property_modified): unlock a locked active
19023                         wireless device when a wired connection gets a link.
19024                         (Means you'll switch to wired whenever you plug in no
19025                         matter what).
19026
19027 2004-10-29 Dan Williams <dcbw@redhat.com>
19028
19029         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
19030                 - New files, implement the "Other wireless network" dialog
19031
19032         * panel-applet/NMWirelessApplet.c
19033                 - Move "other wireless network" dialog to separate file
19034
19035         * panel-applet/NMWirelessAppletDbus.[ch]
19036                 - Take key and key_type paramaters for the set_device function
19037
19038         * panel-applet/essid.glade
19039                 - Add UI bits for encryption settings
19040
19041         * src/NetworkManagerDbus.c
19042                 - Retrieve key and key_type params for "setActiveDevice" method call
19043                         and pass them on
19044                 - unref AP returned from nm_device_get_best_ap() when needed
19045
19046         * src/NetworkManagerDevice.c
19047                 - (nm_device_get_best_ap): ref the ap before returning it
19048                 - unref AP returned from nm_device_get_best_ap() when needed
19049                 - (nm_device_activate_wireless): add "ap" parameter so we don't
19050                         need to call nm_device_get_best_ap() here, it was pretty much
19051                         redundant anyway
19052                 - (AP_NEED_KEY): break second link check condition out into separate
19053                         function, and fix segfault when ap->enc_key_source was NULL
19054                 - (nm_device_find_and_use_essid): take key and key_type parameters and
19055                         pass them along to nm_device_wireless_network_exists().  If the
19056                         network does exist, set the passed-in key+key_type on the AP
19057
19058         * src/NetworkManagerPolicy.c
19059                 - unref AP returned from nm_device_get_best_ap() when needed
19060
19061 2004-10-28 Dan Williams <dcbw@redhat.com>
19062
19063         * src/NetworkManagerUtils.c
19064                 - (nm_spawn_process): Fix a potential dereference of NULL
19065
19066         Patches from Peter Jones:
19067
19068         * src/NetworkManagerDevice.c
19069                 - (nm_device_test_wireless_extensions): Better check for
19070                         wireless devices
19071
19072         * src/NetworkManagerUtils.c
19073                 - (nm_spawn_process): Pass in valid stdout and stderr so
19074                         executed programs don't randomly SIGPIPE and fail
19075                 - (nm_get_wired_driver_support_level): quash hal warning
19076                         when checking for USB ethernet device
19077
19078 2004-10-27 Dan Williams <dcbw@redhat.com>
19079
19080         * info-daemon/NetworkManagerInfo.c
19081           info-daemon/NetworkManagerInfoDbus.c
19082           info-daemon/NetworkManagerInfoPassphraseDialog.c
19083           panel-applet/NMWirelessApplet.c
19084                 - Properly escape gconf keys
19085
19086         * src/NetworkManager.c
19087                 - remove unused variables
19088
19089         * src/NetworkManagerAP.c
19090                 - (nm_ap_new_from_ap): Don't redundantly set new APs
19091                         refcount since it got set in nm_ap_new()
19092
19093         * src/NetworkManagerAPList.c
19094                 - (nm_ap_list_combine): Give up ownership of newly created
19095                         access points to the ap list, fixes memleak
19096
19097         * src/NetworkManagerDevice.c
19098                 - Remove cached_ap_list4 member since its not really needed
19099                 - (nm_device_wireless_network_exists): Try to get correct
19100                         encryption status of a found AP if its already in our
19101                         device list
19102                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
19103                         memory allocs/deallocs a bit clearer and shorter-lived
19104
19105 2004-10-26 Ray Strode <rstrode@redhat.com>
19106
19107         * panel-applet/NMWirelessApplet.c:
19108           (custom_essid_item_selected):  kill some compiler
19109         warnings 
19110
19111 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
19112
19113         * info-daemon/NetworkManagerInfoDbus.c
19114                 - (nmi_dbus_is_running): New function for determining if nmi is already running
19115                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
19116
19117 2004-10-23 Dan Williams <dcbw@redhat.com>
19118
19119         * info-daemon/NetworkManagerInfoDbus.c
19120                 - Trap the "DeviceActivationFailed" signal
19121
19122         * docs/NetworkManager DBUS API.txt
19123                 - Add "DeviceActivationFailed" signal
19124
19125         * panel-applet/NMWirelessAppletDbus.c
19126                 - Quash the "NetworkManager service not available" message
19127
19128         * src/NetworkManagerDbus.[ch]
19129                 - Add the "DeviceActivationFailed" signal
19130
19131         * src/NetworkManagerDevice.c
19132                 - Add support for activation_failed flag
19133                 - Fix deadlock where activation thread didn't clean itself up, making
19134                         main thread still believe it was alive forever (didn't reset activation
19135                         flags like activating, just_activated, etc when IP configuration
19136                         failed)
19137
19138         * src/NetworkManagerPolicy.c
19139                 - Implement logic for DeviceActivationFailed signal, and when activation fails
19140                         for wireless networks, try to fall back to some other access point
19141
19142 2004-10-23 Dan Williams <dcbw@redhat.com>
19143
19144         * panel-applet/NMWirelessApplet.[ch]
19145                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
19146                         to the applet object, so we can get tooltips
19147                 - Add tooltips (RH #136866)
19148
19149         * src/NetworkManagerDevice.c
19150                 - When trying to find a wireless network, try to connect with encryption
19151                         turned on first, so that we can more accurately detect whether or not
19152                         we need to use encryption for the actual association later on
19153
19154 2004-10-21 Dan Williams <dcbw@redhat.com>
19155
19156         * Add some support for telling NetworkManagerInfo to tell the user
19157                 that they are using a device that's not fully supported
19158
19159         * Fix some assertions in debug messages due to null access point args
19160
19161 2004-10-21 Dan Williams <dcbw@redhat.com>
19162
19163         * src/NetworkManagerDevice.c
19164                 - Don't try to activate/bring up/down unsupported
19165                         devices
19166
19167         * src/NetworkManagerUtils.c
19168                 - Fix case of PCI ID checks for driver support levels
19169
19170 2004-10-21 Dan Williams <dcbw@redhat.com>
19171
19172         * NetworkManager.h
19173                 - New file, now contains commonly used structures and bits
19174                         for the dbus API of NetworkManager
19175
19176         * Makefile.am
19177                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
19178
19179         * src/NetworkManager.h
19180                 - Rename -> src/NetworkManagerMain.c
19181
19182         * Various fixups all around to use NetworkManager.h and new
19183                 src/NetworkManagerMain.h, remove redundant bits that got
19184                 moved into NetworkManager.h
19185
19186         * src/NetworkManagerDevice.[ch]
19187           src/NetworkManagerUtils.[ch]
19188           src/NetworkManagerPolicy.c
19189           src/NetworkManagerDbus.c
19190                 - Whitelist wireless drivers, and blacklist some wired
19191                         drivers.  Also blacklist cipsec and ethernet-over-usb
19192                         devices at this time (RH #135722, RH #135648)
19193                 - Don't leak unsupported devices out over dbus, or allow
19194                         them to be set as the active device.  Skip over them
19195                         during automatic device picking
19196
19197         * test/nmclienttest.c
19198                 - Clean up the dbus code a lot
19199
19200 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
19201
19202         * configure.in: post release bump.
19203
19204 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
19205
19206         * configure.in:
19207         * NEWS: Released NetworkManager-0.3.1
19208
19209 2004-10-18 Dan Williams <dcbw@redhat.com>
19210
19211         Patches from Thom May:
19212         * test/nmtestdevices.c
19213                 - Include <string.h>
19214         * src/backends/NetworkManagerDebian.c:
19215                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19216                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19217                         Move to using g_strdup_printf rather than arbitrary buffers
19218                 - (nm_system_device_setup_static_ip4_config) Implement function.
19219                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19220
19221 2004-10-17 Dan Williams <dcbw@redhat.com>
19222
19223         * info-daemon/NetworkManagerInfoDbus.c
19224                 - Display name of network in the "network not found" dialog
19225
19226         * panel-applet/NMWirelessAppletDbus.c
19227                 - (nmwa_dbus_call_nm_method): new function replaces all other
19228                         nmwa_dbus_get_[string|string_array|int|boolean] methods
19229                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
19230                         consolidated into nmwa_dbus_get_object_name()
19231
19232 2004-10-15 Dan Williams <dcbw@redhat.com>
19233
19234         * src/NetworkManagerDbus.c
19235           info-daemon/NetworkManagerInfoDbus.c
19236                 - Display an error dialog when the user tries to use an
19237                         "Other wireless network" that's not found.
19238
19239 2004-10-15 Dan Williams <dcbw@redhat.com>
19240
19241         * panel-applet/NMWirelessApplet.[ch]
19242                 - Fix up corner cases in applet state, making it
19243                         look more responsive.  Change state to "connecting" when
19244                         the user is forcing a device too.
19245
19246 2004-10-15 Dan Williams <dcbw@redhat.com>
19247
19248         * src/NetworkManagerAPList.c
19249                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
19250
19251         * src/NetworkManagerDbus.c
19252                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
19253
19254         * src/NetworkManagerDevice.c
19255                 - Disown APs after the device's AP list takes ownership
19256
19257 2004-10-15 Dan Williams <dcbw@redhat.com>
19258
19259         * panel-applet/NMWirelessApplet.c
19260                 - Update our applet state from the GUI thread
19261
19262         * panel-applet/NMWirelessAppletDbus.c
19263                 - Greatly simplify the locking to make the GUI thread
19264                         smoother.  Update a private copy of the device list
19265                         and active device and only when done talking to
19266                         NetworkManager turn it over to the GUI thread.
19267
19268 2004-10-15 Dan Williams <dcbw@redhat.com>
19269
19270         * src/NetworkManagerAP.[ch]
19271                 - Add "artificial" get/set functions, set for APs that
19272                         aren't discovered as part of a scan but instead
19273                         discovered by force-setting the ESSID
19274
19275         * src/NetworkManagerDevice.[ch]
19276                 - (nm_device_wireless_network_exists): pass back whether
19277                         or not the discovered AP was encrypted.  Also, try
19278                         falling back to encrypted mode on the card if unencrypted
19279                         association doesn't work
19280                 - (nm_device_find_and_use_essid): If the network requested
19281                         did in fact exists, but it wasn't in our scan list, add
19282                         an "artificial" entry for it.  Some Cisco cards don't
19283                         see non-ESSID-broadcasting APs in their scan but can still
19284                         associate with them if you know the ESSID, this works around
19285                         that behavior
19286                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
19287                         to scan if the card is currently associated with that AP
19288
19289 2004-10-15 Dan Williams <dcbw@redhat.com>
19290
19291         ---- We have a website ----
19292         http://people.redhat.com/dcbw/NetworkManager
19293
19294         Patch from Robert Paskowitz:
19295         * src/NetworkManager.c
19296                 - (main): Make sure we are run as root
19297         * src/NetworkManagerDevice.c
19298                 - Fix type in ad-hoc setting function
19299
19300         Patch from Thom May:
19301         * src/backends/NetworkManagerDebian.c
19302                 - Make Debian backend compile again
19303
19304 2004-10-14 Dan Williams <dcbw@redhat.com>
19305
19306         * Tagged NetworkManager-0_3
19307
19308 2004-10-14 Dan Williams <dcbw@redhat.com>
19309
19310         Patch from Robert Paskowitz:
19311         * NEWS
19312           src/NetworkManagerDevice.[ch]
19313           src/backends/NetworkManagerDebian.c
19314           src/backends/NetworkManagerGentoo.c
19315           src/backends/NetworkManagerRedHat.c
19316           src/backends/NetworkManagerSlackware.c
19317                 - Add support for grabbing and using a broadcast address
19318                         from system config files
19319                 - Some Gentoo backend fixes for grabbing network config
19320                 - Fix LOG_WARN->LOG_WARNING
19321
19322 2004-10-14 Dan Williams <dcbw@redhat.com>
19323
19324         * NEWS: a few small fixes in the credits
19325
19326 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
19327
19328         * NEWS: prep for release.
19329
19330 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
19331
19332         * panel-applet/NMWirelessAppletDbus.c
19333         (nmwa_dbus_update_device_wireless_networks): remove warnings.
19334
19335 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
19336
19337         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
19338         applet->state == APPLET_STATE_NO_NM animation.
19339
19340         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
19341         set the text correctly.
19342
19343 2004-10-14 Dan Williams <dcbw@redhat.com>
19344
19345         * src/NetworkManager.c
19346                 - Only accept and manager 802.3 and 802.11 devices
19347
19348         * src/NetworkManagerDbus.[ch]
19349                 - (nm_dbus_nm_set_active_device): move most of the actual activation
19350                         logic into NetworkManagerDevice.c
19351                 - (nm_dbus_network_status_from_data): new function
19352                 - (nm_dbus_signal_network_status_change): new function, unused for now
19353                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
19354
19355         * src/NetworkManagerDevice.[ch]
19356                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
19357                         a random ESSID.
19358
19359 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
19360
19361         * info-daemon/NetworkManagerInfo.c 
19362                 - (main): Added session management
19363
19364 2004-10-14 Dan Williams <dcbw@redhat.com>
19365
19366         * panel-applet/NMWirelessAppletDbus.[ch]
19367                 - Expose network_device_[un]ref()
19368                 - Expose wireless_network_[un]ref()
19369                 - (wireless_network_new_with_essid): new function, create and return
19370                         a wireless network with a particular essid
19371
19372         * panel-applet/NMWirelessApplet.c
19373                 - Hook up the "other network" dialog to do something
19374
19375 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
19376
19377         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
19378         doesn't work yet, but it looks okay.
19379
19380         * panel-applet/icons/*png: Resize to 22x22 and install in the
19381         right place.
19382
19383 2004-10-13 Dan Williams <dcbw@redhat.com>
19384
19385         * panel-applet/NMWirelessApplet.c
19386                 - Add function to print out applet_state in a readable
19387                         manner
19388
19389         * src/NetworkManager.c
19390                 - (main): Don't segfault when nm_dbus_init() fails, we had
19391                         a left-over call to hal_shutdown() into which we passed NULL
19392
19393         * src/NetworkManagerAP.c
19394                 - (nm_ap_set_essid): Allow NULL essids
19395
19396         * src/NetworkManagerAPList.[ch]
19397                 - More use of nm_ap_list_[un]lock ()
19398                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
19399                         network/essid, just return nothing.  Also skip over NULL
19400                         essid access points in the list when searching
19401                 - (nm_ap_list_get_ap_by_address): new function
19402                 - (nm_ap_list_update_network): set the access point's key source to
19403                         NULL when the key returned from NetworkManagerInfo is NULL or
19404                         of 0 length
19405                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
19406                         copy timestamp over too
19407                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
19408                         find the correct ESSID for a blank-essid access point by searching
19409                         through another list and matching access point MAC addresses
19410                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
19411
19412         * src/NetworkManagerDbus.c
19413                 - (nm_dbus_nm_set_active_device): deal with random networks the user
19414                         may specify.  This is mainly for access points that don't
19415                         broadcast their essid.  So if the user tells us to associate with
19416                         some random ESSID that's not in our access point list, we find
19417                         out if the access point does in fact exist (by attempting association
19418                         and then matching that access point's MAC address with the essid the
19419                         user gave us) and then we switch to it.
19420                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
19421                         to the returned list of networks for the "getNetworks" method
19422
19423         * src/NetworkManagerDevice.[ch]
19424                 - Extra debugging info for link detection
19425                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
19426                         based on MAC address
19427                 - (nm_device_get_path_for_ap): ignore blank-essid access points
19428                 - (nm_device_wireless_network_exists): new function, find out whether
19429                         a random ESSID exists by attempting to associate with it
19430                 - (nm_device_do_normal_scan): allow blank-essid access points in our
19431                         device list as long as they have an AP MAC address we can use.
19432                         Also send WirelessNetwork[Dis]Appeared signals for non-active
19433                         devices too.  Lets the applet update more frequently.
19434
19435         * src/backends/NetworkManagerGentoo.c
19436                 - Patch from: Robert Paskowitz
19437                         - Update backend code for Gentoo
19438                         - Implement nm_system_device_update_config_info ()
19439
19440         * test/nmclienttest.c
19441                 - (set_network_device): new function, takes a command-line argument
19442                         and tells NetworkManager to use that wireless network
19443
19444 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
19445
19446         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
19447         if the notification icon crashes 5 times within 5 seconds of each respawn 
19448
19449 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
19450
19451         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
19452         g_print.
19453
19454 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
19455
19456         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
19457
19458         * panel-applet/NMWirelessApplet.c: (animation_timeout),
19459         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
19460         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
19461         Change the name of the icons.
19462
19463         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
19464         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
19465         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
19466         (nm_menu_wireless_expose_event): Really bad hack to get the style
19467         to draw in the right color.
19468
19469 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
19470
19471         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
19472         Notification if it crashes
19473
19474 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
19475
19476         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
19477         (nmwa_dbus_get_string): remove unused functions
19478
19479         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
19480         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
19481         remove unused functions
19482
19483         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
19484
19485 2004-10-12 Dan Williams <dcbw@redhat.com>
19486
19487         * panel-applet/NMWirelessAppletDbus.c
19488                 - New functions:
19489                         wireless_network_new
19490                         wireless_network_copy
19491                         network_device_new
19492                         network_device_copy
19493
19494         * src/NetworkManagerDevice.[ch]
19495                 - New functions:
19496                         nm_device_set_mode_managed
19497                         nm_device_set_mode_adhoc
19498                 - Use these functions where appropriate
19499                 - When creating a new wireless device, force the card
19500                         to managed/Infrastructure mode as soon as possible
19501
19502 2004-10-12 Dan Williams <dcbw@redhat.com>
19503
19504         * src/NetworkManagerDevice.c
19505                 - Force wireless cards into Infrastructure mode before we use them
19506
19507 2004-10-12 Dan Williams <dcbw@redhat.com>
19508
19509         * TODO
19510                 - Remove bit about static IP address support
19511
19512         * src/NetworkManagerUtils.c
19513                 - (nm_spawn_process): Add some error reporting
19514
19515         * src/NetworkManagerDevice.c
19516                 - (nm_device_activation_configure_ip): hook up to the static config
19517                         routines in the backends
19518
19519         * src/backends/NetworkManagerRedHat.c
19520                 - (nm_system_device_update_config_info): use shvar.c routines to
19521                         parse the config file iformation, not our own
19522                 - (nm_system_device_setup_static_ip4_config): new function, based
19523                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
19524                         with a static IP address and gateway
19525
19526         * src/backends/shvar.[ch]
19527                 - Parser (filched from initscripts package) for ifcfg-* files
19528
19529         * src/backends/NetworkManagerSystem.h
19530           src/backends/NetworkManagerGentoo.c
19531           src/backends/NetworkManagerDebian.c
19532           src/backends/NetworkManagerSlackware.c
19533                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
19534
19535 2004-10-11 Dan Williams <dcbw@redhat.com>
19536
19537         * TODO
19538                 - Remove bit about more robust AP diffing since I just implemented it
19539
19540 2004-10-11 Dan Williams <dcbw@redhat.com>
19541
19542         * src/NetworkManagerAP.c
19543                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
19544                         enough RAM to allocate new AP structures, but return NULL instead
19545
19546         * src/NetworkManagerAPList.[ch]
19547                 - (nm_ap_list_is_empty): new function
19548                 - (nm_ap_list_combine): new function, combine two access point lists
19549                 - (nm_ap_list_copy_keys): new function, copy keys from one list
19550                         into another
19551
19552         * src/NetworkManagerDevice.[ch]
19553                 - Rename some functions to be clearer:
19554                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
19555                         nm_device_just_activated     -> nm_device_is_just_activated
19556                         nm_device_activating         -> nm_device_is_activating
19557                         nm_device_now_scanning       -> nm_device_is_scanning
19558                 - Cache the last 4 scans so that the access point list is more stable.
19559                         We combine the lastest two scans and use that as the AP list,
19560                         and diff that combined list against the combination of the earliest
19561                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
19562
19563 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19564
19565         * info-daemon/NWManagerInfo.h
19566                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
19567
19568         * info-daemon/NWManagerInfoDbus.c
19569                 - (shutdown_callback): new function
19570                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
19571                         if NetworkManager goes away.  Kill the timeout
19572                         if NetworkManager restarts before the 30 seconds
19573                         are up.
19574                 - (nmi_dbus_service_init): 
19575                         - call gtk_main_quit if NetworkManager is not running
19576                         - add filters to monitor dbus service creations and
19577                                 deletions
19578         
19579 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19580
19581         * panel-applet/NMWirelessApplet.c
19582                 - (nmwa_update_state): Hide notification icon if we are only
19583                         showing one wired card and no wireless interfaces 
19584                         (Red Hat Bug #134895)
19585
19586         * panel-applet/NMWirelessAppletDbus.c
19587                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
19588
19589         * info-daemon/NWManagerInfo.c
19590                 - (main): Terminated the notification_icon_cmd array with a NULL
19591
19592 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
19593
19594         * configure.in (ALL_LINGUAS): Added de (German).
19595
19596 2004-10-08 Dan Williams <dcbw@redaht.com>
19597
19598         * src/NetworkManagerDevice.c
19599                 - Be a bit more robust about link checking, ie make sure that
19600                         the WEP key we were given actually has some data in it
19601
19602 2004-10-08 Dan Williams <dcbw@redhat.com>
19603
19604         * info-daemon/NetworkManagerInfo.c (main):
19605                 - Initialize GError object to NULL
19606
19607 2004-10-08 Dan Williams <dcbw@redhat.com>
19608
19609         * panel-applet/NMWirelessAppletDbus.c
19610                 - Die if NetworkManagerInfo dies, since it manages our lifetime
19611
19612 2004-10-08 Dan Williams <dcbw@redhat.com>
19613
19614         * info-daemon/NetworkManagerInfo.[ch]
19615           info-dameon/NetworkManagerInfoDbus.[ch]
19616           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
19617                 - Preserve original label text in the passphrase dialog so that
19618                         it actually gets updated with the new network name the next
19619                         time around.  Previously, we were overwriting it so you'd get
19620                         the wrong network name to enter a key for
19621                 - Add a "Key Type" combo to the passphrase dialog, user selects
19622                         encryption key type now, type is stored in GConf too
19623                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
19624
19625         * src/NetworkManagerAP.[ch]
19626                 - Remove all the encyption method magic.  It's now set by the user
19627                         and NetworkManager retrieves the type of encryption key from
19628                         NetworkManagerInfo
19629
19630         * src/NetworkManagerAPList.[ch]
19631           src/NetworkManagerDbus.[ch]
19632                 - Adjust to new way of setting encryption key and method
19633                 - Pull encryption method down from NMI along with key
19634
19635         * src/NetworkManagerDevice.[ch]
19636                 - Removed encryption method fallback magic as the method is now
19637                         determined by the user.  This greatly simplifies the connection
19638                         logic.
19639                 - More robust connection/link logic.  Besides removing the encryption
19640                         method fallback magic, check whether or not the card is receiving
19641                         invalidly encrypted packets, which usually indicates that we have
19642                         a bad WEP key set.
19643                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
19644
19645         * test/nminfotest.c
19646                 - Test out new "Key Type" stuff in the NMI passphrase dialog
19647
19648 2004-10-07 Dan Williams <dcbw@redhat.com>
19649
19650         * info-daemon/NetworkManagerInfo.conf
19651                 - Allow root user to run NMI too
19652
19653 2004-10-06 Dan Williams <dcbw@redhat.com>
19654
19655         * src/NetworkManagerDevice.[ch]
19656           src/NetworkManagerDbus.c
19657           doc/NetworkManager DBUS API.txt
19658                 - Add a new status tag "scanning", which is set when there
19659                         is no active network connection, but NetworkManager is
19660                         looking for an access point to associate with
19661
19662         * panel-applet/main.c
19663                 - Cast the applet appropriately for gtk_widget_show_all ()
19664
19665 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
19666
19667         * panel-applet/eggtrayicon.[ch]:
19668         * panel-applet/main.c: Add missing file
19669
19670 2004-10-04 Dan Williams <dcbw@redhat.com>
19671
19672         * src/NetworkManagerDevice.[ch]
19673                 - Add a slightly more robust method of determining if the WEP key
19674                         is correct or not, by checking the WEP-discarded packet count
19675                         on the card
19676
19677         * info-daemon/NetworkManagerInfo.c
19678                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
19679                         un-escape values we pull out rather than escaping them
19680
19681 2004-10-03  Marcel Telka  <marcel@telka.sk>
19682
19683         * configure.in (ALL_LINGUAS): Added sk.
19684
19685 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
19686
19687         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
19688         and feel.  We should be back to working, and have a good, clean
19689         look.
19690
19691 2004-09-30 Dan Williams <dcbw@redhat.com>
19692
19693         * info-daemon/NetworkManagerInfo.c
19694           info-daemon/NetworkManagerInfoDbus.c
19695           test/nminfotest.c
19696                 - Escape ESSIDs in gconf
19697
19698         * src/NetworkManagerDevice.c
19699                 - Fix pseudo-scanning to use netowrk list from info daemon
19700
19701 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
19702
19703         * configure.in: Add a temporary --enable-notification-icon.  This
19704         will prolly go away.
19705
19706         * info-daemon/Makefile.am:
19707         * info-daemon/NetworkManagerInfo.c:
19708         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
19709
19710         * panel-applet/Makefile.am:
19711         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
19712         * panel-applet/NMWirelessApplet.h:
19713
19714 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
19715
19716         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
19717         before 'select custom ESSID'.
19718
19719         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
19720         fully complete, but syncing in prep for merge.
19721
19722         * panel-applet/icons/*png: New images
19723
19724 2004-09-28 Dan Williams <dcbw@redhat.com>
19725
19726         * src/NetworkManager.c
19727           src/NetworkManagerDevice.c
19728           src/NetworkManagerPolicy.c
19729                 - Don't blow away an active wired connection on startup
19730
19731 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
19732
19733         Changes from J5
19734         
19735         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
19736
19737         * info-daemon/NetworkManagerInfoDbus.c: added service name to
19738         syslog output
19739
19740 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
19741
19742         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
19743         have a wireless card.
19744
19745 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
19746
19747         * panel-applet/NMWirelessApplet.c: move the custom essid item.
19748         Also, get the right device strings.
19749
19750 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
19751
19752         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
19753         the logic to make this right.
19754
19755         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
19756         devices so that wired networks are always first.
19757
19758 2004-09-22    <clarkbw@cvs.gnome.org>
19759
19760         * initscript/Debian/.cvsignore:
19761         * initscript/Slackware/.cvsignore:
19762         Added new cvsignores for Makefile, Makefile.in
19763         
19764         * test/.cvsignore:
19765         Added nmtestdevices
19766         
19767         * src/NetworkManagerDevice.c: 
19768         * src/NetworkManager.c: 
19769         Updated the wireless/wired HAL device strings from net.ethernet to
19770         net.80203 or net.80211 depending on wired or wireless respectively
19771         
19772         * examples/python/NetworkManager.py: 
19773         s/Quality/Strength/
19774
19775         * examples/python/systray/network_tray.py:
19776         Lots of little changes and fixes.  been rotting for a while so I
19777         figured I'd finally sync them all with CVS
19778
19779 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
19780
19781         * configure.in: Add graphics
19782
19783         * panel-applet/Makefile.am: Add graphics
19784
19785         * panel-applet/icons/*: Add graphics
19786
19787         * panel-applet/NMWirelessApplet.c: Use new menu times to display
19788         the icons fully lined up.
19789
19790         * panel-applet/menu-info.c: 
19791         * panel-applet/menu-info.h: Add another menu type.
19792
19793 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
19794
19795         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
19796
19797         * panel-applet/menu-item.[ch]: Wireless menu item.
19798
19799 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
19800
19801         * info-daemon/NetworkManagerInfo.conf
19802                 - Created a more robust security policy for the DBus service
19803                         - everything is denied by default
19804                         - root can own and send to the service
19805                         - users logged in at the console can send to the service
19806
19807 2004-09-13  Dan Williams <dcbw@redhat.com>
19808
19809         * src/NetworkManagerDevice.c
19810                 - (nm_device_get_essid): use iw_get_basic_config() rather than
19811                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
19812                         the latter
19813
19814 2004-09-13  Dan Williams <dcbw@redhat.com>
19815
19816         * TODO: fix typo
19817
19818         * docs/NetworkManager DBUS API.txt
19819                 - Update for new signal strength changes
19820
19821         * panel-applet/NMWirelessApplet.c
19822                 - Make panel icon show strength of the current connection
19823                 - Cleanups and memleak fixes
19824
19825         * panel-applet/NMWirelessApplet.h
19826                 - Add data members for signal strength on devices and networks
19827
19828         * panel-applet/NMWirelessAppletDbus.c
19829                 - Free more DBusErrors
19830                 - Update for new signal strength changes
19831                 - Make devices and networks more like real objects, use ref/unref methods
19832                 - Actually unlock the mutex when updating the active device
19833
19834         * src/NetworkManagerAP.c
19835                 - Change AP functions and data members from "quality"->"strength"
19836
19837         * src/NetworkManagerDbus.c
19838                 - Kill "getMaxQuality" and "getQuality" methods
19839                 - Add "getStrength" methods for Networks and Devices
19840
19841         * src/NetworkManagerDevice.[ch]
19842                 - Add accessors for device strength
19843                 - Add functions to update strength for a device.  Note that not all drivers
19844                         actually support signal strength for scanned access points (Atmel drivers
19845                         being one)
19846                 - Calculate signal strength for each AP during scan
19847
19848         * src/NetworkManagerWireless.[ch]
19849                 - Add function to return signal strength % from a device and a raw quality struct
19850
19851         * test/nmclienttest.c
19852                 - Update for new signal strength changes
19853
19854 2004-09-11  Dan Williams <dcbw@redhat.com>
19855
19856         * src/NetworkManager.c
19857                 - Fix race condition between initscripts and NM on card insertion
19858                         which could cause a card to keep an IP address and routes around
19859                         even when it was not the active device
19860
19861         * src/NetworkManagerDbus.c
19862                 - Fix compile errors, free more DBusErrors
19863
19864 2004-09-11  Dan Williams <dcbw@redhat.com>
19865
19866         * docs/NetworkManager DBUS API.txt
19867                 - Add an explanation of NM's API
19868
19869         * src/NetworkManagerDbus.c
19870                 - Free some more DBusErrors if needed
19871
19872 2004-09-11  Dan Williams <dcbw@redhat.com>
19873
19874         * panel-applet/NMWirelessApplet.c
19875           panel-applet/NMWirelessAppletDbus.c
19876                 - Start using NetworkDevice/WirelessNetwork structures in more places
19877                 - Update for unified device/network forcing in NetworkManager
19878
19879         * src/NetworkManager.c
19880                 - some code consolidation
19881
19882         * src/NetworkManagerDbus.c
19883                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
19884                         or two arguments:  the first is the NM ID of the device to switch to,
19885                         and the second (optional) argument is the ESSID of a wireless network
19886                         to use as well.
19887                 - Get rid of "setNetwork" method due to above change
19888
19889         * src/NetworkManagerDevice.c
19890                 - (nm_device_new): perform scan and update best AP on device creation
19891                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
19892                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
19893                         spin waiting for cancellation to finish before returning
19894
19895         * src/NetworkManagerPolicy.c
19896                 - Changes here clarify the situations in which a device switch occurs, and 
19897                         make sure to keep using a forced device and network if the user gives
19898                         us one
19899                 - Remove old unused code
19900
19901 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
19902
19903         * configure.in: Added Danish (da) to ALL_LINGUAS.
19904
19905 2004-09-09  Dan Williams <dcbw@redhat.com>
19906
19907         * panel-applet/NMWirelessAppletDbus.c
19908                 - Pull fresh devices and networks from NM when wireless networks
19909                         change.  Provides faster feedback of a forced wireless network
19910
19911         * src/NetworkManagerDbus.c
19912                 - Return error when "getMaxQuality" is called on a wired device
19913                 - Make best_ap freezing actually work again, and signal cancellation
19914                         of activation if there's already a device activation when the user
19915                         freezes the best_ap
19916
19917         * src/NetworkManagerDevice.c
19918                 - Don't clear out the best_ap for wireless devices when the link goes
19919                         down, that's done elsewhere
19920                 - Kill any dhcp daemons when cancelling device activation since they
19921                         may be stuck waiting for a DHCP address, and since we're cancelling
19922                         activation we don't care about that anymore
19923
19924         * src/NetworkManagerPolicy.c
19925                 - Make sure to unref the device we ref earlier (we refed it to make sure
19926                         it stuck around during device activation and such)
19927                 - If we were going to change the best device, but its activating currently
19928                         (and therefore the change didn't occur due to the check earlier)
19929                         we mark the state changed to we come back to it later when device
19930                         activation has canceled and its no longer activating
19931
19932         * src/backends/NetworkManagerRedHat.c
19933                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
19934
19935 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
19936
19937         * info-daemon/passphrase.glade: 
19938         set passphrase input to activates_default : True
19939
19940         * examples/python/systray/network_tray.py
19941         (network_tray.sort_networks):
19942
19943         Added support for having wireless always scanning
19944
19945 2004-09-09  Dan Williams <dcbw@redhat.com>
19946
19947         NOTE: this commit changes the behavior of wireless devices in
19948         NetworkManager.  They are now up all the time, scanning all
19949         the time.  Only the active device has an IP address and routing
19950         information set up however.  Also, NetworkManager will no longer
19951         opportunistically switch wireless networks when a better one
19952         comes in range, it will remain associated with one wireless network
19953         until that one drops out.
19954
19955         * panel-applet/NMWirelessApplet.c
19956           panel-applet/NMWirelessAppletDbus.c
19957                 - List all wireless cards and their respective networks
19958
19959         * src/NMLoadModules
19960                 - Use full path to /sbin/ip
19961
19962         * src/NetworkManager.c
19963                 - Keep wireless devices up all the time so they can scan
19964
19965         * src/NetworkManagerDbus.c
19966                 - On a WirelessNetworkUpdate signal from NMI, don't update
19967                         the "best" AP
19968
19969         * src/NetworkManagerDevice.c
19970                 - (nm_device_set_link_active): clear out the best ap for
19971                         wireless devices when the link is set to FALSE
19972                 - Scan on all wireless cards, all the time
19973                 - (nm_device_activation_worker): split out the wireless card
19974                         link-waiting code to a separate function
19975                 - Keep wireless cards up even if device activation fails
19976                 - Don't update the "best" ap as much
19977
19978         * src/NetworkManagerPolicy.c
19979                 - Don't update the best ap when checking if its frozen,
19980                         let link checking clear out a frozen best ap for us
19981
19982         * src/NetworkManagerWireless.c
19983                 - Scan on all wireless cards, all the time
19984
19985 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
19986
19987         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
19988
19989 2004-09-09  Ankit Patel <ankit@redhat.com>
19990
19991         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
19992
19993 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
19994
19995         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
19996
19997 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
19998
19999         * examples/python/NetworkManager.py: 
20000         added CONNECTED, CONNECTING, and DISCONNECTED states
20001         added methods to return number of devices of a single type
20002
20003         * examples/python/systray/network_tray.py: 
20004         did some tweaks to get the menu looking near what it is supposed
20005         to look like.  Also did a Airo card hack to make it show the
20006         correct AP quality
20007
20008 2004-09-08  Dan Williams <dcbw@redhat.com>
20009
20010         * panel-applet/no-networkmanager.png
20011           panel-applet/Makefile.am
20012           panel-applet/NMWirelessApplet.c
20013                 - Add a "NetworkManager not running" icon and use it
20014                 - Use new consolidated GConf keys rather than Preferred/Trusted
20015
20016         * TODO: update
20017
20018         * info-daemon/NetworkManagerInfo.c
20019           info-daemon/NetworkManagerInfoDbus.[ch]
20020           info-daemon/NetworkManagerInfoPassphraseDialog.c
20021                 - There are now no longer two separate lists of wireless networks,
20022                         but one list where each network is "trusted" or not trusted
20023                 - Add a "getNetworkTrusted" dbus method
20024                 - "WirelessNetworkUpdate" signal now sent rather than
20025                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
20026                 - Start freeing some dbus errors (not completed yet)
20027
20028         * info-daemon/passphrase.glade
20029                 - Remove the "don't show" hints for pager and taskbar
20030                 - Add a title since its going to be in the taskbar
20031
20032         * src/NetworkManager.[ch]
20033           src/NetworkManagerAPList.[ch]
20034                 - There are now no longer two separate lists of wireless networks,
20035                         but one list where each network is "trusted" or not trusted
20036
20037         * src/NetworkManagerAP.[ch]
20038                 - Add get/set "trusted" accessors and data bit
20039
20040         * src/NetworkManagerDbus.[ch]
20041                 - Add function to get "trusted" status of a network from NetworkManagerInfo
20042                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
20043
20044         * src/NetworkManagerDevice.[ch]
20045                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
20046                 - (nm_device_new): Get device config from backend when initializing devices
20047                 - (nm_device_activation_worker): Split out device configuration on
20048                         activation to deal with static/dynamic IP differences, and try encryption
20049                         fallbacks on a device if the encryption method for the best AP is not good
20050                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
20051                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
20052
20053         * src/NetworkManagerWireless.c
20054                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
20055
20056         * src/backends/NetworkManagerRedHat.c
20057           src/backends/NetworkManagerSystem.h
20058                 - (nm_system_device_update_config_info): Add function to get device configuration
20059                         from system data in ifcfg-* files
20060
20061         * src/backends/NetworkManagerDebian.c
20062           src/backends/NetworkManagerGentoo.c
20063           src/backends/NetworkManagerSlackware.c
20064                 - Add stub functions for getting device configuration
20065
20066 2004-09-07  Dan Williams <dcbw@redhat.com>
20067
20068         * src/backends/NetworkManagerRedhat.c
20069           src/backends/NetworkManagerSlackware.c
20070                 - Use full path to /sbin/ip everywhere
20071
20072 2004-09-07  Dan Williams <dcbw@redhat.com>
20073
20074         Patch from: Narayan Newton <narayan_newton@yahoo.com>
20075
20076         * configure.in
20077           initscript/Makefile.am
20078           initscript/Slackware/Makfile.am
20079           initscript/Slackware/rc.networkmanager
20080           src/Makefile.am
20081           src/backends/NetworkManagerSlackware.c
20082                 - Add Slackware support
20083
20084 2004-09-07  Dan Williams <dcbw@redhat.com>
20085
20086         Patches below from:
20087                 <j@bootlab.org>
20088                 Mark Roach <mrroach@okmaybe.com>
20089                 Thom May <thom@debian.org>
20090
20091         * configure.in
20092           initscript/Debian/NetworkManager
20093           initscript/Debian/Makefile.am
20094                 - Initscript for Debian
20095
20096         * src/backends/NetworkManagerDebian.c
20097                 - Add missing system init function to allow compilation
20098                         on Debian
20099
20100 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
20101
20102         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
20103
20104 2004-09-03  Akagic Amila <bono@linux.org.ba>
20105
20106         * configure.in: Added 'bs' to ALL_LINGUAS.
20107
20108 2004-09-02  Colin Walters  <walters@verbum.org>
20109
20110         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
20111         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
20112         g_strdup_printf instead of arbitrarily sized buffers.
20113
20114 2004-09-01  Colin Walters  <walters@verbum.org>
20115
20116         * NetworkManager.pc.in: New file.
20117
20118         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
20119
20120 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
20121         
20122         * configure.in: Punjabi(pa) is added to po/.
20123
20124 2004-08-31  Dan Williams <dcbw@redhat.com>
20125
20126         * Remove 'debug' extern global from all files since we now
20127                 use syslog()
20128
20129         * src/NetworkManager.[ch]
20130                 - Break out routine that get the net.interface property from HAL,
20131                         removing that logic from nm_create_device_and_add_to_list()
20132                 - (nm_create_device_and_add_to_list): make this a bit more general so
20133                         it doesn't do the talking to HAL.  Also add arguments to facilitate
20134                         the create of test devices.
20135                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
20136                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
20137                         which makes NetworkManager listen for dbus commands to create test
20138                         devices, which have no backing hardware.  Use when you're on a plane
20139                         for example, and/or forgot your wireless card at home.  Test devices
20140                         _cannot_ be created unless NM is started with --enable-test-devices.
20141
20142         * src/NetworkManagerDbus.[ch]
20143                 - New "getLinkActive" method for devices
20144                 - New "setLinkActive" method for devices (only works on test devices)
20145                 - New "createTestDevice" method on NetworkManager object to create a test
20146                         device of a specified type (ie wired, wireless).  UDI is created from
20147                         scratch, as is the interface name.  Only works when NM is started with
20148                         --enable-test-devices switch.
20149                 - New "removeTestDevice" method on NetworkManager object which removes a
20150                         test device.  Only works when NM is started with --enable-test-devices
20151
20152         * src/NetworkManagerDevice.[ch]
20153                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
20154                         whether a device is a test device or not, and what its link status is.
20155                 - Deal with test devices in most functions.  For those that work directly on hardware
20156                         special-case test devices.
20157                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
20158                         command-line.
20159                 - (nm_device_update_link_active): split out logic for wired and wireless device link
20160                         checking to separate functions to facilitate test device link checking.
20161                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
20162                         don't make a distinction between System Authentication and Encryption
20163                         (namely Cisco aironet), we use Open System auth when setting a WEP key
20164                         on the card.  We don't deal with Shared Key auth yet.
20165                 - (nm_device_activation_worker): split the activation cancel check logic out into
20166                         a separate routine nm_device_activation_cancel_if_needed()
20167                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
20168                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
20169                         a list of fake access points that they can "see"
20170                 - (nm_device_is_test_device): return whether or not a device is a test device
20171
20172         * src/NetworkManagerPolicy.c
20173                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
20174                         previously if you "locked"/forced NM to use a wireless device but then
20175                         selected a wireless network for NM to use, it would switch to a wired device.
20176                         So, if the active device is wireless and it has a "forced" best AP, use it
20177                         if the "forced" best AP is still valid
20178                 - (nm_state_modification_monitor): deal with NULL best devices, for example
20179                         there were no usable network devices, or the last one was removed
20180
20181         * src/backends/NetworkManager*.c
20182                 - Deal with test devices, mostly just return success for operations like getting
20183                         a DHCP address
20184
20185         * test/nmtestdevices.c
20186                 - Test tool to create/remove/link-switch test devices
20187
20188 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
20189
20190         * examples/python/NetworkManager.py: 
20191         added convience functions has_wired_device and has_wireless_device
20192
20193         * examples/python/systray/network_tray.py: 
20194         cleaned up a bunch of cruft, added support for listing wireless
20195         networks just like the real applet.  This is probably all I'm
20196         going to work on this applet from now on.
20197         TODO: add support for actually changing networks and devices
20198
20199         * examples/python/NetworkManager.py (NetworkManager.get_device): 
20200         changed "nm.networks" into a dict from a list so I can store all
20201         the cool information about networks in there
20202
20203         * examples/python/systray/network_tray.py: 
20204         Added nice message when you try to run without running make first
20205
20206         * examples/python/NetworkManager.py: 
20207         Bug fixes to the code so we get all the device information
20208         that we need in get_device()
20209         
20210         * examples/python/NMTester.py: 
20211         Fixed _print_device_list to print_device_list
20212
20213 2004-08-29  Seth Nickell  <seth@gnome.org>
20214
20215         * configure.in:
20216
20217         Actually properly setup the Debian backend in configure.
20218         
20219 2004-08-29  Colin Walters  <walters@verbum.org>
20220
20221         * test/nminfotest.c: Include string.h and stdlib.h.
20222         (get_network_string_property, get_networks_of_type): Return NULL.
20223
20224         * test/nmclienttest.c (get_device_name, get_active_device): Return
20225         NULL.
20226
20227         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
20228         use strlen, fgets always NULL-terminates the string.
20229
20230         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
20231         dbus_message_get_member): Remove /* in comment.
20232
20233         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
20234
20235         * src/NetworkManager.c (quit): Unused, delete.
20236         (nm_data_free): Cast arg to GFunc.
20237
20238         * panel-applet/NMWirelessAppletDbus.c: Need to include
20239         string.h, and dbus-glib-lowlevel.h (the latter is needed
20240         for dbus_connection_setup_with_g_main at present).
20241         (nmwa_dbus_update_wireless_network_list): Parenthesize
20242         assignment in conditional.
20243         (nmwa_dbus_worker): Return NULL.
20244
20245         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
20246         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
20247         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
20248         (nmwa_populate_menu): Return NULL on failure, instead of just
20249         return;
20250
20251         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
20252
20253         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
20254         variables.
20255
20256         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
20257         delete.
20258         
20259 2004-08-29  Colin Walters  <walters@verbum.org>
20260
20261         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
20262         a GTimeVal instead of time_t.  This is easier to work with,
20263         since time_t may be a long or double, we don't know.
20264
20265         * src/NetworkManagerDbus.h: Update prototype.
20266         
20267         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
20268         instead of time_t.
20269         (nm_ap_get_timestamp): Update to return GTimeVal.
20270         (nm_ap_set_timestamp): Update to take GTimeVal.
20271         
20272         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
20273         to handle GTimeVal.
20274
20275         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
20276         GTimeVal change.
20277         (nm_ap_list_print_members): Fix warnings in printf format.
20278
20279 2004-08-29  Colin Walters  <walters@verbum.org>
20280         
20281         * panel-applet/NMWirelessApplet.c: Include config.h.
20282
20283 2004-08-29  Colin Walters  <walters@verbum.org>
20284
20285         * configure.in: Generate config.h.
20286
20287         * configure.in: Dump dependency on OpenSSL; we can't
20288         use it since this package is GPL:
20289         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
20290         Instead, check for libgcrypt, use it if available,
20291         otherwise use included MD5 code.
20292
20293         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
20294         Suck in from gnome-keyring, munge a bit.
20295         
20296         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
20297         gnome-keyring-md5.h gnome-keyring-md5.c.
20298         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
20299
20300         * src/NetworkManagerWireless.c (nm_md5): New function, uses
20301         libgcrypt or included gnome-keyring md5 bits.
20302         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
20303
20304 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
20305
20306         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
20307
20308 2004-08-27  Bryan Clark  <bclark@redhat.com>
20309
20310         * examples/python/systray/Makefile: 
20311
20312         Updated the clean section
20313         
20314         * examples/python/systray/trayiconmodule.c: 
20315         * examples/python/systray/trayicon.override: 
20316         * examples/python/systray/network_tray.py: 
20317         * examples/python/systray/eggtrayicon.h: 
20318         * examples/python/systray/eggtrayicon.c: 
20319         * examples/python/systray/Makefile: 
20320         * examples/python/README: 
20321         * examples/python/NetworkManager.py: 
20322         * examples/python/NMTester.py: 
20323
20324         Initial commit of these python example files
20325
20326 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
20327
20328         * panel-applet/NMWirelessApplet.c
20329                 - Make current device bold
20330                 - Show more user-friendly device name if we got one from hal
20331
20332         * panel-applet/NMWirelessAppletDbus.c
20333                 - Grab "info.product" key from hal for network devices
20334                 - Cache the current active device
20335
20336 2004-08-27  Adam Weinberger  <adamw@gnome.org>
20337
20338         * configure.in: Added en_CA to ALL_LINGUAS.
20339
20340 2004-08-27  Christian Rose  <menthos@menthos.com>
20341
20342         * configure.in: Added "sv" to ALL_LINGUAS.
20343
20344 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20345
20346         * Tag NetworkManager-0.2
20347
20348 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
20349
20350         * initscripts/Makefile.am
20351         * configure.in: Make pass distcheck
20352
20353         * po/ChangeLog: added
20354
20355 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20356
20357         * panel-applet/NMWirelessApplet.c
20358                 - Remove debugging code
20359                 - Enable device switching from menus
20360
20361         * panel-applet/NMWirelessAppletDbus.[ch]
20362                 - Method for asking NM to switch devices
20363
20364         * src/NetworkManagerDevice.c
20365                 - Set dev->activating earlier, avoids race between
20366                         the dbus signal of "DeviceActivating" and setting
20367                         dev->activating (which is what NM's "status" method call
20368                         looks at)
20369
20370 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20371
20372         * panel-applet/NMWirelessApplet.[ch]
20373                 - Rework menu code to add devices to menu, and to show
20374                         signal strength for each access point.  Code cleanups
20375                         too.
20376
20377         * panel-applet/NMWirelessAppletDbus.c
20378                 - Grab network devices from NetworkManager too
20379                 - Grab quality information from NM for wireless networks
20380
20381         * src/NetworkManagerDbus.[ch]
20382                 - Add dbus methods for getting the HAL UDI from a device and
20383                         for getting its base quality, if its wireless
20384                 - Consolidate some functions (wireless network notifications,
20385                         device notifications)
20386                 - Add method for requesting NM to use a particular device
20387
20388         * src/NetworkManager.c
20389                 - Change for function consolidations from NetworkManagerDbus.c
20390                 - Implement active device locking and user-requested devices
20391                         (ie, tell NM to use a particular device instead of the one
20392                         it autochose)
20393
20394         * src/NetworkManagerDevice.c
20395                 - Add method for getting the base quality of a device, if its
20396                         wireless
20397                 - Grab device base quailty info from iwlib during scans
20398
20399         * src/NetworkManagerPolicy.c
20400                 - Use a user-requested device rather than the auto-chosen device
20401                         if we are told to
20402
20403 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
20404
20405         * Makefile.am: add po as a supdir
20406
20407         * autogen.sh: use gnome-autogen.sh
20408
20409         * initscript/Gentoo/.cvsignore:
20410         * initscript/RedHat/.cvsignore: Shut up cvs
20411
20412         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
20413
20414         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
20415         (nmwa_fill): Use gettext.
20416
20417         * configure.in: add gettext support
20418         * po/.cvsignore:
20419         * po/NetworkManager.pot:
20420         * po/POTFILES.in:
20421
20422 2004-08-26  Seth Nickell  <seth@gnome.org>
20423
20424         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
20425         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
20426         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
20427         (nmwa_dispose_menu_items), (nmwa_populate_menu),
20428         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
20429         * panel-applet/NMWirelessApplet.h:
20430
20431         Use a menu bar instead of a button for the main clickable
20432         thingy.
20433         
20434 2004-08-25  Dan Williams <dcbw@redhat.com>
20435
20436         * src/NetworkManagerDevice.c
20437                 - (nm_device_set_enc_key): always set device to "open" mode instead of
20438                         turning encryption off, because the Cisco driver doesn't associate
20439                         with WEP-enabled access points unless we are in "open"
20440
20441 2004-08-25  Dan Williams <dcbw@redhat.com>
20442
20443         * src/NetworkManagerWireless.c
20444                 - Don't try to defererence blank passphrases
20445
20446 2004-08-25  Dan Williams <dcbw@redhat.com>
20447
20448         * panel-applet/NMWirelessApplet.c
20449                 - Rebuild the menu whenever a user clicks
20450
20451 2004-08-25  Dan Williams <dcbw@redhat.com>
20452
20453         * panel-applet/NMWirelessApplet.c
20454                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
20455                         when NM isn't around or when its not connected
20456
20457         * src/NetworkManagerDevice.c
20458                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
20459                         canceled.
20460
20461 2004-08-25  Dan Williams <dcbw@redhat.com>
20462
20463         * panel-applet/NMWirelessAppletDbus.c
20464                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
20465                         for getting encryption, and don't stop on "val" once we've gotten it
20466                         from NetworkManager.  Short form:  encryption should now show up.
20467
20468 2004-08-25  Dan Williams <dcbw@redhat.com>
20469
20470         * panel-applet/NMWirelessApplet.c
20471                 - Set ESSID on a gconf trusted network too when force-setting the wireless
20472                         network to associate with
20473
20474 2004-08-25  Dan Williams <dcbw@redhat.com>
20475
20476         * panel-applet/*
20477                 - Rework the panel applet to do all DBUS communication in a separate
20478                         thread
20479
20480 2004-08-25  Dan Williams <dcbw@redhat.com>
20481
20482         * info-daemon/NetworkManagerInfo.[ch]
20483                 - Remove "get_next_priority" function
20484
20485         * info-daemon/NetworkManagerInfoDbus.[ch]
20486                 - Convert "priority" functions to "timestamp"
20487
20488 2004-08-25  Dan Williams <dcbw@redhat.com>
20489
20490         * src/NetworkManagerAP.[ch]
20491                 - Add a "enc_method_good" member and accessors to an Access Point
20492                         to signal when we've found the correct encryption method
20493                         for an access point
20494                 - Add a "timestamp" member and accessors, remove "priority" member
20495                         and accessors (use timestamps instead)
20496                 - Rename "wep_key"->"enc_key"
20497                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
20498                         for a specified encryption method using the access points
20499                         source encryption key/passphrase
20500
20501         * src/NetworkManagerAPList.c
20502                 - When updating a network with dbus, grab timestamp now instead of
20503                         priority
20504
20505         * src/NetworkManagerDBus.[ch]
20506                 - Add signal for "DeviceActivating"
20507                 - Switch priority->timestamp
20508
20509         * src/NetworkManagerDevice.c
20510                 - Change references of "wep_key" -> "enc_key" or "key"
20511                 - Signal DeviceActivating when starting activation
20512                 - When activating a wireless device, if the access point we are connecting
20513                         to is encrypted, and we have a source key, try to generate a mangled
20514                         key and use that (ie, generate real WEP key from a passphrase)
20515                 - Rework device activation to fallback to other encryption methods if
20516                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
20517                         first, then if that doesn't work fall back to direct hex key).
20518                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
20519                         priority.  We now prefer the latest access point used, rather than using
20520                         a priority scheme
20521                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
20522                         points we've just discovered, and merge in correct info from the global
20523                         access point lists
20524
20525 2004-08-25  Seth Nickell  <seth@gnome.org>
20526
20527         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
20528         Debian support.
20529         
20530         * src/Makefile.am:
20531         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
20532         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
20533         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
20534         (nm_system_delete_default_route),
20535         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
20536         (nm_system_load_device_modules):
20537
20538 2004-08-24  Dan Willemsen <dan@willemsen.us>
20539
20540         * src/NetworkManager.c
20541           src/backends/NetworkManagerGentoo.c
20542           src/backends/NetworkManagerRedHat.c
20543           src/backends/NetworkManagerSystem.h
20544                 - Implement preliminary Gentoo support, adding a
20545                         nm_system_init function to the backend specification
20546
20547         * configure.in
20548                 - Distribution auto-detection, lowercase any user-fed
20549                         distribution names
20550
20551         * initscript/.cvsignore
20552           initscript/Makefile.am
20553           initscript/RedHat/Makefile.am
20554           initscript/RedHat/NetworkManager
20555           initscript/Gentoo/Makefile.am
20556           initscript/Gentoo/NetworkManager
20557                 - Refactored initscript code separately for each
20558                         distribution
20559
20560 2004-08-23  Dan Williams <dcbw@redhat.com>
20561
20562         * configure.in
20563           src/Makefile.am
20564           src/NetworkManagerDevice.c
20565           src/NetworkManager.c
20566           src/NetworkManagerUtils.[ch]
20567           src/backends/NetworkManagerSystem.h
20568           src/backends/NetworkManagerRedHat.c
20569           src/backends/NetworkManagerGentoo.c
20570                 - Refactor system-specific code into separate backends for
20571                         each distribution
20572
20573 2004-08-23  Dan Willemsen <dan@willemsen.us>
20574
20575         * dispatcher-daemon/NetworkManagerDispatcher.c
20576           info-daemon/NetworkManagerInfo.[ch]
20577           info-daemon/NetworkManagerInfoDbus.c
20578           info-daemon/NetworkManagerInfoPassphraseDialog.c
20579           src/NetworkManager.c
20580           src/NetworkManagerAP.c
20581           src/NetworkManagerAPList.c
20582           src/NetworkManagerDbus.c
20583           src/NetworkManagerDevice.c
20584           src/NetworkManagerPolicy.c
20585           src/NetworkManagerUtils.[ch]
20586           src/NetworkManagerWireless.c
20587                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
20588
20589         * src/NetworkManager.c
20590                 - Fixed usage wording for --no-daemon
20591
20592 2004-08-23  Dan Williams <dcbw@redhat.com>
20593
20594         * panel-applet/NMWirelessApplet.c
20595                 - Update our state every second to get more responsive panel icon
20596                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
20597                         was causing our marching ants status blips to never move when
20598                         looking for a wireless network
20599
20600         * src/NetworkManagerDevice.c
20601                 - (nm_device_activation_begin): return if activation has already begun
20602                 - (nm_device_do_normal_scan): merge WEP key and priority from the
20603                         trusted/preferred network into the device's access point when the
20604                         scan list is processed
20605
20606 2004-08-23  Dan Williams <dcbw@redhat.com>
20607
20608         * initscript/NetworkManager
20609                 - Use NMLaunchHelper rather than sleeping
20610
20611         * initscript/NMLaunchHelper.c
20612           Makefile.am
20613                 - Add helper program that exits only when NM activates a device,
20614                         or 10 seconds have passed, whichever happens first.  This
20615                         stops the boot processes until we have a network connection,
20616                         which NM can't do because it daemonizes and brings the connection
20617                         up in the background.  Allows stuff like NFS to not die.
20618
20619 2004-08-20  Dan Williams <dcbw@redhat.com>
20620
20621         * info-daemon/NetworkManagerInfoPassphraseDialog.c
20622                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
20623                         for a network, set the essid as well since it may not exist yet
20624                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
20625                         since WEP keys/passphrases are long and prone to entry-error
20626
20627         * panel-applet/Makefile.am
20628           panel-applet/wired.png
20629                 - Add (pulled from system-config-network temporarily)
20630
20631         * panel-applet/NMWirelessApplet.[ch]
20632                 - Show wired picture when a wired connection is used
20633                 - Rename wireless icon enums, adding WIRELESS
20634
20635         * src/NetworkManagerDevice.c
20636                 - (nm_device_activate_wireless): unset encryption before bringing
20637                         down the card and setting the essid
20638                 - (nm_device_activatin_worker): request a key from the user if the
20639                         AP we are connecting to is encrypted but we don't have a key
20640                         for it yet
20641                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
20642                         strcmp() that prevented a user-entered key from actually getting
20643                         used
20644
20645 2004-08-16  Dan Williams <dcbw@redhat.com>
20646
20647         * initscript/NetworkManager
20648                 - Check for /sbin/ip
20649                 - Do sysctl magic that network service does
20650                 - sleep 4s after start to allow network time to come up [hack]
20651
20652         * src/Makefile.am
20653           src/NMLoadModules
20654                 - Load all network device kernel modules (hal doesn't know devices
20655                         are ethernet until the module is loaded, and therefore we don't know)
20656
20657         * src/NetworkManager.c
20658                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
20659                         network devices, and bring up the loopback device explicitly
20660
20661         * src/NetworkManagerUtils.[ch]
20662                 - (nm_enable_loopback): new function
20663
20664 2004-08-13  Dan Williams <dcbw@redhat.com>
20665
20666         * configure.in
20667           panel-applet/Makefile.am
20668                 - Fix up cleanfiles and server_DATA/server_in_files
20669
20670         * README
20671                 - Update with some comments on theory of operation
20672
20673         * CONTRIBUTING
20674           Makefile.am
20675                 - Add CONTRIBUTING
20676
20677 2004-08-12  Dan Williams <dcbw@redhat.com>
20678
20679         * info-daemon/passphrase.glade
20680                 - Set window title to " "
20681
20682         * panel-applet/Makefile.am
20683           panel-applet/keyring.png
20684                 - Deliver to correct place
20685
20686         * panel-applet/NMWirelessApplet.[ch]
20687                 - Add comments
20688                 - Remove applet->have_active_device as its no longer used
20689                 - (nmwa_load_theme): load keyring.png too
20690                 - (error_dialog): remove
20691                 - (show_warning_dialog): subsume functionality of error dialog too
20692                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
20693                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
20694                         the networks menu
20695                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
20696                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
20697                         and when we get broadcasts of changed wireless access points only, not when the
20698                         user clicks on the button to display the menu (too long of a wait)
20699                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
20700                         networks that are encrypted
20701                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
20702                         menu item with g_object_set_data()
20703
20704         * panel-applet/NMWirelessAppletDbus.[ch]
20705                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
20706                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
20707                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
20708                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
20709                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
20710                         activation/deactivation signals and rebuild the menu when they happen
20711
20712         * src/NetworkManager.c
20713                 - (main): use new nm_spawn_process() rather than system()
20714
20715         * src/NetworkManagerDbus.c
20716                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
20717                         instead.  Since we can now force best_aps to stick around, the AP structure to which
20718                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
20719                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
20720                         to freeze the best_ap.
20721
20722         * src/NetworkManagerDevice.[ch]
20723                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
20724                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
20725                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
20726                         ap list
20727
20728         * src/NetworkManagerUtils.[ch]
20729                 - (nm_spawn_process): add replacement for system() usage
20730
20731 2004-08-11  Dan Williams <dcbw@redhat.com>
20732
20733         * panel-applet/NMWirelessApplet.[ch]
20734                 - Fix up copyright and credits to include Bastien and Eskil,
20735                         who created the gnome-applets wireless applet, from whose
20736                         skeleton this one was created
20737                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
20738                         pixmap to draw is computed during nmwa_update_state()
20739                 - Applet now shows itself all the time due to panel packing issues
20740                         which caused the applet to previously never come back after hiding.
20741                         When a wired device is the active device, the applet shows "not connected"
20742
20743         * panel-applet/NMWirelessAppletDbus.[ch]
20744                 - Clean up error messages and show what function they are from
20745                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
20746                 - Add new device type getters, and a status getter
20747
20748         * src/NetworkManagerDbus.c
20749                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
20750                         network is actually in the device's ap list
20751                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
20752
20753         * src/NetworkManagerDevice.c
20754                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
20755                         card
20756
20757         * test/nmclienttest.c
20758                 - Report status of NetworkManager too
20759
20760 2004-08-11  Dan Williams <dcbw@redhat.com>
20761
20762         * info-daemon/NetworkManagerInfo.c:
20763                 - (main): clean up Seth's code style
20764
20765         * info-daemon/NetworkManagerInfoDbus.c:
20766                 - Use the more aptly-named path/service/interface constants from NetworkManager
20767                 - Don't return empty strings ("") as object paths ever, instead return errors
20768
20769         * panel-applet/NMWirelessApplet.c:
20770                 - Clean up Seth's code style
20771
20772         * src/NetworkManager.[ch]
20773                 - (nm_remove_device_from_list): remove anything having to do with pending_device
20774                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
20775
20776         * src/NetworkManagerAPList.[ch]
20777                 - Move Iter struct right above the iter functions to preserve opacity
20778                 - (nm_ap_list_remove_ap): implement
20779                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
20780                         remove AP if NetworkManagerInfo doesn't know anything about it
20781                 - (nm_ap_list_diff): user NMAPList iterators
20782                 - (nm_ap_list_print_members): implement debugging function
20783
20784         * src/NetworkManagerDbus.[ch]
20785                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
20786                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
20787                         and move the actual key setting stuff into NetworkManagerDevice.c
20788                 - (nm_dbus_get_network_priority): return -1 now on errors
20789                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
20790                         get lost, and force the active device to update its "best" ap when AP lists change
20791                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
20792                         method call due to pending_device member removal
20793
20794         * src/NetworkManagerDevice.[ch]
20795                 - Move NMDevice structure to the top
20796                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
20797                 - Remove Pending Action stuff from everywhere
20798                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
20799                         activation for us.  This thread blocks until all conditions for activation have
20800                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
20801                         then setup up the interface and runs dhclient.  We have to do this because there
20802                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
20803                         run our main loop and respond to dbus method calls or HAL device removals/inserts
20804                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
20805                         can tell nm_device_activation_worker() that we've got a key
20806                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
20807                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
20808                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
20809                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
20810
20811         * src/NetworkManagerPolicy.c
20812                 - Remove anything to do with pending_device
20813                 - Adjust device activation to deal with activation-in-worker-thread
20814
20815         * src/NetworkManagerUtils.c
20816                 - Clean up locking debugging a bit
20817
20818         * src/NetworkManagerWireless.[ch]
20819                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
20820                         was badly named and is better as a device function
20821
20822         * panel-applet/.cvsignore: add
20823
20824 2004-08-09  Seth Nickell  <seth@gnome.org>
20825
20826         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
20827         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
20828         (nmwa_new):
20829         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
20830
20831         Don't load the menus until clicked on (also removes a call outside
20832         normal code paths at first load).
20833
20834         Hide applet when NM is not present.
20835         
20836         Improve printf debugging stuff.
20837         
20838 2004-08-09  Dan Williams <dcbw@redhat.com>
20839
20840         * dispatcher-daemon/NetworkManagerDispatcher.c:
20841                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
20842                 - Use constants for NetworkManager interface, service, and path
20843
20844 2004-08-09  Dan Williams <dcbw@redhat.com>
20845
20846         * src/NetworkManagerDbus.c:
20847                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
20848                         instead return an error message
20849                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
20850                         on a wired device.  Also never return an empty object path, instead return an error message
20851
20852 2004-08-06  Seth Nickell  <seth@gnome.org>
20853
20854         * panel-applet/NMWirelessApplet.c: (nmwa_new):
20855
20856         Check the error code when getting a connection.
20857         
20858         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
20859
20860         Check if the NM service exists when initializing (rather than
20861         assuming it does not).
20862         
20863         * src/NetworkManagerDbus.c: (nm_dbus_init):
20864
20865         Don't acquire the well-known service name until we have
20866         registered object/path handlers and can actually receive
20867         calls.
20868         
20869 2004-08-06  Dan Williams <dcbw@redhat.com>
20870
20871         * panel-applet/*
20872                 - Add panel applet
20873
20874         * src/NetworkManagerPolicy.c
20875           src/NetworkManager.c
20876                 - Get access point lists from NetworkManagerInfo on-demand,
20877                         and look for ServiceCreate/ServiceDeleted signals to see when
20878                         we should query NMI for lists
20879         * src/NetworkManagerAPList.c
20880                 - Make sure to init the list's mutex
20881                 - Convert traversals of the list over to the list iter functions
20882
20883         * src/NetworkManagerDbus.[ch]
20884                 - Use more aptly-named path/service/interface constants
20885                 - Treat both active and pending devices the same for "getActiveDevice"
20886                 - Add a "status" method returning "connected", "connecting", or "disconnected"
20887
20888         * src/NetworkManagerDevice.c
20889                 - Honor "ignored" network list when picking best ap to use
20890
20891 2004-08-06  Seth Nickell  <seth@gnome.org>
20892
20893         * aclocal.m4:
20894
20895         Autogenerated, remove from CVS.
20896         
20897         * autogen.sh:
20898
20899         Don't hardcode automake version.
20900         
20901         * configure.in:
20902         * info-daemon/Makefile.am:
20903         * info-daemon/NetworkManagerInfo.c: (main):
20904
20905         Use GnomeProgram et al. for doing session management.
20906         Use popt stuff for argument parsing rather than doing
20907         it manugally.
20908         
20909 2004-08-05  Dan Williams <dcbw@redhat.com>
20910
20911         * test/nminfotest.c
20912                 - Update to new NMI dbus API, check different network types
20913
20914         * info-daemon/NetworkManagerInfoDbus.c
20915                 - Update to new NM dbus API, ie network type sent in query message
20916
20917 2004-08-05  Dan Williams <dcbw@redhat.com>
20918
20919         * An assload of changes
20920
20921 2004-08-02  Dan Williams <dcbw@redhat.com>
20922
20923         * TODO
20924                 - new task: proper logging support
20925
20926         * info-daemon/NetworkManagerInfo.c
20927                 - Correct spelling of "canceled"
20928                 - Correct casting of objects for g_signal_connect()
20929
20930         * info-daemon/NetworkManagerInfoDbus.c
20931                 - Add defines for NetworkManager namespace and object path, and use them
20932                 - Add filter function to trap new signals from NetworkManager:
20933                         WirelessNetworkAppeared, WirelessNetworkDisappeared
20934
20935         * info-daemon/passphrase.glade
20936                 - Change name of "ok" button to "Login to Network..."
20937                 - Mark invisible
20938
20939         * src/NetworkManager.c
20940                 - Code and debug message cleanups
20941                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
20942                 - (nm_add_initial_devices) Check returned string array of devices
20943                         and don't try to add devices if array is NULL
20944                 - (main) Initialize libhal a bit later, make code a bit clearer
20945
20946         * src/NetworkManagerAP.[ch]
20947                 - New accessor and data member "matched": used to speed up AP list
20948                         diffing
20949                 - New accessor and data member "enc_method": will be used during key
20950                         fallback to cache which passphrase->key conversion actually works
20951                         so we don't have to do it every time
20952
20953         * src/NetworkManagerAPList.[ch]
20954                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
20955                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
20956                         between them, and send WirelessNetworkAppeared/Disappeared signals over
20957                         dbus in response to those differences
20958
20959         * src/NetworkManagerDbus.[ch]
20960                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
20961                         make an object path for that access point (NOTE that we don't yet check to
20962                         make sure that access point is actually in the device's AP list yet)
20963                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
20964                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
20965                         New: signal appearance/disappearance of wireless networks
20966                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
20967                         key entry
20968
20969         * src/NetworkManagerDevice.[ch]
20970                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
20971                 - (nm_device_ap_list_get) New: return the AP list (static function)
20972                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
20973                         new one resulting from the scan with the old one
20974
20975         * src/NetworkManagerWireless.c
20976                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
20977
20978         * test/nminfotest.c
20979                 - #define object paths and namespaces and use the #defines rather than static strings
20980                 - Test out user-key functionality of NetworkManagerInfo too
20981
20982 2004-07-29  Dan Williams <dcbw@redhat.com>
20983
20984         * info-daemon/NetworkManagerInfoDbus.c
20985           src/NetworkManagerDbus.c
20986                 - Update to current DBus (ie don't use decomposed paths when registering
20987                         object paths/fallbacks)
20988
20989 2004-07-27  Dan Williams <dcbw@redhat.com>
20990
20991         * Remove various Makefile.in files
20992
20993         * TODO
20994                 - Add some more items
20995
20996         * configure.in
20997                 - Add checks for OpenSSL/md5 headers and libs
20998
20999         * src/Makefile.am
21000                 - Use OpenSSL CFLAGS
21001
21002         * src/NetworkManagerAP.[ch]
21003                 - Remove 'stamp' functions, replace with 'invalid' functions
21004                         to support user cancelling WEP key entry
21005
21006         * src/NetworkManagerDbus.c
21007                 - Remove 'stamp' return functions
21008                 - Treat returned user key as a passphrase and convert to a WEP key,
21009                         but don't actually use the WEP key yet.  We use the returned user
21010                         key as a hexadecimal WEP key until we can figure out a UI for
21011                         passphrase-vs-hex key
21012
21013         * src/NetworkManagerWireless.[ch]
21014                 - Add passphrase-to-128bit-key function
21015
21016 2004-07-27  Dan Williams <dcbw@redhat.com>
21017
21018         * TODO
21019                 - Add a couple of items
21020
21021 2004-07-27  Dan Williams <dcbw@redhat.com>
21022
21023         * info-daemon/NetworkManagerInfo.c
21024                 - Update allowed network's GConf key when user enters a WEP key explicitly
21025
21026         * info-daemon/NetworkManagerDbus.c
21027                 - Fix some comments
21028                 - nmi_dbus_get_allowed_networks(): kill warning
21029
21030 2004-07-27  Dan Williams <dcbw@redhat.com>
21031
21032         * initscript/Makefile.in
21033                 - Remove
21034
21035         * initscript/Makefile.am
21036                 - Add correct rules to install the init.d initscript
21037
21038         * info-daemon/NetworkManagerInfoDbus.c
21039                 - Remove debug fprintf
21040
21041         * src/NetworkManagerDbus.[ch]
21042                 - Remove debug fprintfs
21043                 - Add macros for NetworkManagerInfo object path/namespace
21044                 - Use said macros instead of constant strings
21045
21046 2004-07-27  Dan Williams <dcbw@redhat.com>
21047
21048         * initscript/.cvsignore
21049                 - Add
21050
21051         * info-daemon/Makefile.am
21052                 - Install .glade files and keyring.png
21053                 - Fix stupid omission of a \ that caused half the flags not to be
21054                         passed to gcc
21055
21056         * info-daemon/NetworkManagerInfo.c
21057                 - gtk_signal_connect->g_signal_connect
21058                 - Alert NetworkManagerInfo to new glade file location
21059
21060 2004-07-27  Dan Williams <dcbw@redhat.com>
21061
21062         * test/nmclienttest.c
21063           test/nminfotest.c
21064                 - Add missing <dbus/dbus.h> headers
21065                 - Add GPL message at top
21066
21067 2004-07-27  Dan Williams <dcbw@redhat.com>
21068
21069         * src/NetworkManagerAPList.[ch]
21070           src/Makefile.am
21071                 - Add.  Deal with allowed network list additions, deletions, and updates
21072
21073         * dispatcher-daemon/NetworkManagerDispatcher.c
21074                 - Add missing <dbus/dbus.h> header
21075
21076         * info-daemon/NetworkManagerInfo.[ch]
21077                 - Add missing <dbus/dbus.h> header
21078                 - Implement the GConf notify callback to signal NetworkManager of an allowed
21079                         network change
21080                 - Better error checking
21081
21082         * info-daemon/NetworkManagerInfoDbus.[ch]
21083                 - Add missing <dbus/dbus.h> header
21084                 - Convert to using dbus_message_append_args/dbus_message_get_args
21085                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
21086                         that an allowed network changed.  We don't want to signal on individual
21087                         keys _inside_ an allowed network really, just want NM to query the info
21088                         daemon for updated info on all keys.
21089                 - Better error checking
21090
21091         * src/NetworkManager.[ch]
21092                 - Add missing <dbus/dbus.h> header
21093                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
21094                 - Zero out NMData structure on free
21095                 - No longer use a thread for allowed_ap_list updating, instead its now done
21096                         through dbus queries against NetworkManagerInfo
21097                 - Populate allowed_ap_list initially before adding existing network devices
21098                         to the device list, so wireless devices can get their "best" AP
21099
21100         * src/NetworkManagerDbus.[ch]
21101                 - Convert to using dbus_message_append_args/dbus_message_get_args
21102                 - Better error checking
21103                 - Implement Allowed Network info functions to request allowed network
21104                         info from NetworkManagerInfo
21105                 - Implement the filter function to process signals from NetworkManagerInfo
21106                         about changing allowed networks
21107
21108         * src/NetworkManagerDevice.c
21109                 - Fix file descriptor leak in nm_device_update_ip4_address()
21110
21111 2004-07-27  Dan Williams <dcbw@redhat.com>
21112
21113         * .cvsignore
21114           src/.cvsignore
21115           test/.cvsignore
21116           dispatcher-daemon/.cvsignore
21117           info-daemon/.cvsignore
21118                 - Add .cvsignore files to reduce noise when diffing
21119
21120 2004-07-24  Dan Williams <dcbw@redhat.com>
21121
21122         * src/NetworkManager.[ch]
21123           src/NetworkManagerDbus.[ch]
21124           src/NetworkManagerDevice.[ch]
21125           src/NetworkManagerPolicy.c
21126           src/NetworkManagerWireless.[ch]
21127                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
21128                 - Pass the NMData application data structure through all calls
21129                         that need it so we can get rid of nm_get_global_data()
21130                 - Change deallocation of the allowed_ap_list GSList in preparation
21131                         for not completely clearing it every time we get an update,
21132                         but instead getting incremental updates via GConf/dbus
21133
21134 2004-07-22  Dan Williams <dcbw@redhat.com>
21135
21136         * configure.in
21137                 - Add checks for GConf libs & headers & flags
21138
21139         * info-daemon/Makefile.am
21140                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
21141
21142         * info-daemon/NetworkManagerInfo.[ch]
21143                 - Don't use gquarks for data storage, just use normal data storage
21144                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
21145
21146         * info-daemon/NetworkManagerDbus.[ch]
21147                 - Add method call for getting allowed networks
21148                 - Add method calls for getting an allowed network's essid, priority, and key
21149                 - Hook the method calls up to GConf
21150                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
21151                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
21152                 
21153         * src/NetworkManagerDbus.[ch]
21154                 - Switch for enumeration of networks to using essid instead
21155
21156         * test/Makefile.am
21157           test/nminfotest.c
21158                 - Add test program for NetworkManagerInfo
21159
21160 2004-07-19  Dan Williams <dcbw@redhat.com>
21161
21162         * src/NetworkManagerDbus.c
21163                 - Switch from indexed device paths to names.  Less code, more efficient.
21164                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
21165
21166 2004-07-19  Dan Williams <dcbw@redhat.com>
21167
21168         * dispatcher-daemon/NetworkManagerDispatcher.c
21169                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
21170
21171 2004-07-19  Dan Williams <dcbw@redhat.com>
21172
21173         * Makefile.am
21174                 - Add info-daemon directory
21175
21176         * configure.in
21177                 - Check for glade libs and headers
21178                 - Add info-daemon directory
21179
21180         * src/NetworkManagerAP.c
21181                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
21182                         copied over to the new AP.
21183
21184         * src/NetworkManagerDbus.c
21185           src/NetworkManagerDbus.h
21186                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
21187                 - Remove nm_dbus_signal_need_key_for_network()
21188                 - Add disabled code for asynchronous user wep key callbacks
21189                 - Add functions for getting, setting, and cancelling user key operations
21190                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
21191                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
21192
21193         * src/NetworkManagerDevice.c
21194           src/NetworkManagerDevice.h
21195                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
21196                         logic is in device activation now
21197                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
21198                         key is wrong) trigger get-user-key pending action
21199                 - Implement get-user-key pending action stuff, tie to dbus messages
21200                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
21201                 - Add nm_device_ap_list_get_ap_by_essid()
21202                 - Instead of copying "best" access points, ref them instead so that the key we set
21203                         sticks around
21204
21205         * src/NetworkManagerPolicy.c
21206                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
21207                 - Don't cancel pending actions on a device if its the same device as last iteration
21208                 - Only promote pending_device->active_device if activation was successfull
21209
21210         * src/Makefile.am
21211                 - Rename nmclienttest->nmtest
21212
21213         * info-daemon/Makefile.am
21214           info-daemon/NetworkManagerInfo.c
21215           info-daemon/NetworkManagerInfo.h
21216           info-daemon/NetworkManagerInfoDbus.c
21217           info-daemon/NetworkManagerInfoDbus.h
21218           info-daemon/passphrase.glade
21219           info-daemon/NetworkManagerInfo.conf
21220           info-daemon/keyring.png
21221                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21222                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21223                         lists to NetworkManager by proxying user's GConf
21224           
21225
21226 2004-07-15  Dan Williams <dcbw@redhat.com>
21227
21228         * src/Makefile.am
21229                 - Turn on warnings
21230
21231         * src/NetworkManager.c
21232                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
21233                         that doing the deactivation ourselves
21234                 - Cancel an pending actions on a device if its being removed
21235                 - Break up link state checking a bit, make non-active wireless cards
21236                         deactivated to save power
21237                 - Remove unused variables
21238
21239         * src/NetworkManager.h
21240                 - Add support for "pending" device
21241
21242         * src/NetworkManagerAP.h
21243           src/NetworkManagerAP.c
21244                 - Add support for determining whether and AP has encryption enabled or not
21245                 - AP address is now "struct ether_addr" rather than a string
21246
21247         * src/NetworkManagerDbus.h
21248           src/NetworkManagerDbus.c
21249                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
21250                 - Changes for AP address from struct ether_addr->string
21251
21252         * src/NetworkManagerDevice.h
21253           src/NetworkManagerDevice.c
21254                 - Remove unused variables, fix warnings
21255                 - Add support for Pending Actions (things that block a device from being "active"
21256                         until they are completed).
21257                 - First pending action:  Get a WEP key from the user
21258                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
21259                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
21260                 - Update wireless link checking to try to determine if the AP we are associated
21261                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
21262                         trigger the GetUserKey pending action on the device
21263                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
21264                         up in that case, otherwise we can't scan or link-check on it
21265                 - Add IP address change notifications at appropriate points (still needs some work)
21266                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
21267
21268         * src/NetworkManagerPolicy.h
21269           src/NetworkManagerPolicy.c
21270                 - Split out "best" access point determiniation into separate function
21271                 - Make device activation 2-stage:  first the device is pending, then
21272                         in the next iteration through it becomes "active" unless it has
21273                         pending actions
21274
21275         * src/NetworkManagerUtils.h
21276           src/NetworkManagerUtils.c
21277                 - Clean up unused variables and warnings
21278                 - Wrap our debug macros in {} to prevent possible confusion
21279
21280         * src/NetworkManagerWireless.c
21281                 - Forgot to return current best priority, which lead to last available AP always
21282                         being chosen no matter what its priority was.  Corrected.
21283
21284 2004-07-15  Dan Williams <dcbw@redhat.com>
21285
21286         * dispatcher-daemon/Makefile.am
21287                 - Turn on warnings
21288
21289         * dispatcher-daemon/NetworkManagerDispatcher.c
21290                 - Remove unused variables due to warnings
21291                 - Fix some comments
21292                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
21293
21294 2004-07-06  Dan Williams <dcbw@redhat.com>
21295
21296         * src/NetworkManager.c
21297                 - Add IPv4 address update for active device during link state check
21298                 - Don't allow wireless cards to be powered up when they are not the
21299                         active device
21300
21301         * src/NetworkManagerDbus.c
21302           src/NetworkManagerDbus.h
21303                 - Add DBUS IPv4 address change signal
21304                 - Add DBUS IPv4 address get method for devices
21305
21306         * src/NetworkManagerDevice.c
21307                 - Make setting the WEP key actually work
21308                 - Move IP address get/set/update stuff here, per-device
21309                 - Power down/bring down wireless device when deactivated
21310                 - For scanning wireless devices, if first scan returned ENODATA, try again
21311
21312         * src/NetworkManagerPolicy.c
21313                 - Only set the WEP key for an allowed access point if there is one.
21314                         We were setting it to be blank if one wasn't specified.
21315
21316         * src/NetworkManagerUtils.h
21317           src/NetworkManagerUtils.c
21318                 - Move the IP address stuff to NetworkManagerDevice.c
21319
21320         * dispatcher-daemon/NetworkManagerDispatcher.c
21321                 - Add device IPv4 address change notification stuff
21322
21323 2004-07-05  Dan Williams <dcbw@redhat.com>
21324
21325         * dispatcher-daemon/NetworkManagerDispatcher.c
21326                 - A bit more descriptive state message
21327                 - Don't segfault when reading directory
21328
21329         * src/NetworkManager.h
21330                 - Remove NMData desired_ap member, its now
21331                         per-device rather than global
21332
21333         * src/NetworkManager.c
21334                 - Remove references to desired_ap
21335                 - Move the allowed AP list refresh stuff into a thread
21336
21337         * src/NetworkManagerDevice.c
21338           src/NetworkManagerDevice.h
21339                 - Each wireless device now has a "best ap"
21340                 - Make device activate/deactivate functions per-device
21341                 - Make wireless scanning per-device
21342                 - Add IPv4 address discover functions, stub IPv6 ones
21343                 - Move ethernet address validation functions to NetworkManagerUtils.c
21344                 - Add wireless access point accessor function
21345                 - Get/Set functions for "best ap"
21346
21347         * src/NetworkManagerPolicy.c
21348                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
21349                 - Deal with per-device "best ap" rather than data->desired_apa
21350                 - Implement allowed access point worker thread
21351                 - Add nm_policy_essid_is_allowed() function
21352
21353         * src/NetworkManagerUtils.c
21354           src/NetworkManagerUtils.h
21355                 - Add nm_ethernet_address_is_valid() function
21356                 - Add IPv4/IPv6 address get functions
21357
21358         * src/NetworkManagerWireless.c
21359           src/NetworkManagerWireless.h
21360                 - Move scanning stuff into NetworkManagerDevice.c, per-device
21361
21362 2004-06-29  Dan Williams <dcbw@redhat.com>
21363
21364         * dispatcher-daemon/NetworkManagerDispatcher.c
21365                 - Implement script callout functionality
21366
21367 2004-06-24  Dan Williams <dcbw@redhat.com>
21368
21369         * NetworkManager.c
21370             - Spacing cleanups
21371             - Flush device routes and ip addresses when added to the device list
21372
21373         * NetworkManagerDbus.c
21374             - Spacing cleanups
21375             - Add missing returns in the two signal functions
21376         
21377         * NetworkManagerPolicy.c
21378             - Spacing and variable cleanups
21379
21380 2004-06-24  Dan Williams <dcbw@redhat.com>
21381
21382         * Makefile.am
21383           Makefile.in
21384           configure.in
21385           dispatcher-daemon/Makefile.am
21386           dispatcher-daemon/Makefile.in
21387           dispatcher-daemon/NetworkManagerDispatcher.c
21388             - Add a daemon that receives signals from NetworkManager
21389                         and will (eventually) call scripts in /etc/somewhere
21390                         when devices go up or down.
21391         
21392         * NetworkManager.c
21393             - Spacing cleanups
21394             - Flush device routes and ip addresses when added to the device list
21395
21396         * NetworkManagerDbus.c
21397             - Spacing cleanups
21398             - Add missing returns in the two signal functions
21399         
21400         * NetworkManagerPolicy.c
21401             - Spacing and variable cleanups
21402             - Rename nm_policy_switch_interface->nm_policy_switch_device
21403             - nm_policy_switch_device():
21404                                 Use kill (pid) instead of system ("kill <pid>")
21405             - nm_state_modification_monitor():
21406                                 Add wireless essid to output of debug statements
21407                                 Correct typo in device compare to switch or not (should be !=)
21408                                 Don't sleep after sending "no longer active" signal, was useless
21409
21410 2004-06-24  Dan Williams <dcbw@redhat.com>
21411
21412         * Initial import