2008-10-27 Dan Williams <dcbw@redhat.com>
[NetworkManager.git] / ChangeLog
1 2008-10-27  Dan Williams  <dcbw@redhat.com>
2
3         * libnm-util/libnm-util.ver
4           libnm-util/nm-setting-connection.c
5           libnm-util/nm-setting-connection.h
6                 - Add a 'read-only' property that indicates the connection cannot be
7                         modified
8
9         * system-settings/plugins/ifcfg-fedora/reader.c
10           system-settings/plugins/ifcfg-suse/parser.c
11           system-settings/plugins/ifupdown/parser.c
12                 - These plugins are read-only at the moment
13
14         * system-settings/plugins/keyfile/reader.c
15           system-settings/plugins/keyfile/writer.c
16                 - Read-only shouldn't get saved out to files or read in from them
17
18 2008-10-27  Tambet Ingo  <tambet@gmail.com>
19
20         * src/nm-device-ethernet.c (nm_device_ethernet_get_speed): Implement
21         correct speed reporting for fast devices (kernel >= 2.6.27).
22
23 2008-10-26  Dan Williams  <dcbw@redhat.com>
24
25         Attempt to compensate for modems that don't enable full AT parsing before
26         the PIN has been entered.
27
28         * src/nm-gsm-device.c
29                 - (init_modem): accept different init strings
30                 - (init_done): try different init strings on failure
31                 - (check_pin_done): on PIN success, do full modem init
32
33 2008-10-26  Dan Williams  <dcbw@redhat.com>
34
35         Patch from Tambet Ingo <tambet@gmail.com>
36
37         * libnm-util/libnm-util.ver
38           libnm-util/nm-setting-connection.c
39           libnm-util/nm-setting-connection.h
40                 - Make properties private and add accessor functions
41
42         * src/NetworkManagerPolicy.c
43           src/nm-cdma-device.c
44           src/nm-device-ethernet.c
45           src/nm-device-interface.c
46           src/nm-device-wifi.c
47           src/nm-gsm-device.c
48           src/nm-manager.c
49           src/ppp-manager/nm-ppp-manager.c
50           src/vpn-manager/nm-vpn-connection.c
51           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
52           system-settings/plugins/ifcfg-fedora/plugin.c
53           system-settings/plugins/ifcfg-fedora/reader.c
54           system-settings/plugins/ifcfg-suse/parser.c
55           system-settings/plugins/ifupdown/parser.c
56           system-settings/plugins/keyfile/nm-keyfile-connection.c
57           system-settings/plugins/keyfile/plugin.c
58           system-settings/plugins/keyfile/writer.c
59           system-settings/src/main.c
60                 - Use those accessors
61
62 2008-10-26  Dan Williams  <dcbw@redhat.com>
63
64         Patch from Tambet Ingo <tambet@gmail.com>
65
66         * libnm-util/libnm-util.ver
67           libnm-util/nm-setting-gsm.c
68           libnm-util/nm-setting-gsm.h
69                 - Make properties private and add accessor functions
70
71         * src/nm-gsm-device.c
72           src/nm-hso-gsm-device.c
73           src/ppp-manager/nm-ppp-manager.c
74                 - Use those accessors
75
76 2008-10-26  Dan Williams  <dcbw@redhat.com>
77
78         Patch from Tambet Ingo <tambet@gmail.com>
79
80         * libnm-util/libnm-util.ver
81           libnm-util/nm-setting-cdma.c
82           libnm-util/nm-setting-cdma.h
83                 - Make properties private and add accessor functions
84
85         * src/nm-cdma-device.c
86           src/ppp-manager/nm-ppp-manager.c
87                 - Use those accessors
88
89 2008-10-26  Dan Williams  <dcbw@redhat.com>
90
91         Patch from Tambet Ingo <tambet@gmail.com>
92
93         * libnm-util/libnm-util.ver
94           libnm-util/nm-setting-pppoe.c
95           libnm-util/nm-setting-pppoe.h
96                 - Make properties private and add accessor functions
97
98         * src/nm-device-ethernet.c
99           src/ppp-manager/nm-ppp-manager.c
100                 - Use those accessors
101
102 2008-10-26  Dan Williams  <dcbw@redhat.com>
103
104         Patch from Tambet Ingo <tambet@gmail.com>
105
106         * libnm-util/libnm-util.ver
107           libnm-util/nm-setting-wired.c
108           libnm-util/nm-setting-wired.h
109                 - Make properties private and add accessor functions
110
111         * src/nm-device-ethernet.c
112           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
113           system-settings/plugins/ifcfg-suse/parser.c
114           system-settings/src/main.c
115                 - Use those accessors
116
117 2008-10-26  Dan Williams  <dcbw@redhat.com>
118
119         Patch from Tambet Ingo <tambet@gmail.com>
120
121         * libnm-util/libnm-util.ver
122           libnm-util/nm-setting-serial.c
123           libnm-util/nm-setting-serial.h
124           src/nm-serial-device.c
125                 - Make properties private and use accessors instead
126
127 2008-10-26  Dan Williams  <dcbw@redhat.com>
128
129         * src/supplicant-manager/nm-supplicant-interface.c
130           src/supplicant-manager/nm-supplicant-interface.h
131           src/supplicant-manager/nm-supplicant-manager.c
132           src/supplicant-manager/nm-supplicant-manager.h
133                 - Add state-to-string conversion functions
134
135         * src/nm-device-wifi.c
136           src/nm-device-ethernet.c
137                 - Normalize state info logging and use strings instead of numbers
138
139 2008-10-26  Dan Williams  <dcbw@redhat.com>
140
141         * src/NetworkManagerPolicy.c
142                 - (update_routing_and_dns): ignore host routes when determining whether
143                         a VPN connection should own the default route (bgo #552594)
144
145 2008-10-24  Dan Williams  <dcbw@redhat.com>
146
147         * src/nm-gsm-device.c
148                 - (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young)
149
150 2008-10-23  Dan Williams  <dcbw@redhat.com>
151
152         * src/ppp-manager/nm-ppp-manager.c
153                 - (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always
154                         add really important stuff to the command line to ensure that NM
155                         overrides /etc/ppp/options (bgo #556781)
156
157 2008-10-22  Dan Williams  <dcbw@redhat.com>
158
159         * src/NetworkManagerSystem.c
160           src/nm-device.c
161                 - Use the device's IP interface where appropriate (Per Hallsmark)
162
163 2008-10-22  Dan Williams  <dcbw@redhat.com>
164
165         * src/nm-gsm-device.c
166                 - (schedule_automatic_registration_again): use a short timeout here
167                         instead of an idle handler to avoid using too much CPU polling for
168                         something we should be waiting a bit for anyway
169
170 2008-10-22  Dan Williams  <dcbw@redhat.com>
171
172         * include/NetworkManager.h
173           introspection/nm-device.xml
174                 - Add device state change reason for carrier changes
175
176         * src/nm-device-ethernet.c
177                 - (set_carrier): use the carrier change reason when changing device
178                         state in response to carrier changes
179
180 2008-10-21  Dan Williams  <dcbw@redhat.com>
181
182         * src/NetworkManagerPolicy.c
183                 - (update_etc_hosts): don't leak errors, and ensure that
184                         g_file_set_contents() gets a valid error placeholder (rh #461933)
185
186 2008-10-21  Dan Williams  <dcbw@redhat.com>
187
188         * src/nm-manager.c
189                 - (free_get_settings_info): don't use the DBusGProxy which could be
190                         disposed of by the time the function is called
191                 - (internal_new_connection_cb): save connection scope
192                 - (connection_get_settings_cb): don't replace a connection unless it's
193                         actually different from the existing one; fixes an issue where
194                         killing the settings service wouldn't deactivate an active connection
195                         provided by that settings service, because it was using a connection
196                         that had already been replaced in the system or user hash
197
198 2008-10-21  Dan Williams  <dcbw@redhat.com>
199
200         * src/NetworkManager.c
201                 - (main): keep the DHCP manager around since it's a singleton; fixes
202                         a use-after-free exposed by r4196 since the DHCP manager singleton
203                         variable isn't cleared when the DHCP manager object is finalized
204
205 2008-10-20  Dan Williams  <dcbw@redhat.com>
206
207         * libnm-util/nm-setting-wireless-security.c
208                 - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections
209
210 2008-10-20  Dan Williams  <dcbw@redhat.com>
211
212         * src/supplicant-manager/nm-supplicant-config.c
213                 - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config
214
215 2008-10-20  Dan Williams  <dcbw@redhat.com>
216
217         * src/dhcp-manager/nm-dhcp-manager.c
218                 - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
219                         manager object already refs it once
220                 - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
221                         also get cleaned up by nm_dhcp_device_destroy() to prevent
222                         double-frees
223
224 2008-10-20  Dan Williams  <dcbw@redhat.com>
225
226         * src/nm-manager.c
227                 - (initial_get_connections): use private dbus manager, don't keep
228                         ref-ing the singleton.  Fixes mismatched refcounts of the dbus
229                         manager object.
230
231 2008-10-18  Dan Williams  <dcbw@redhat.com>
232
233         * libnm-glib/nm-settings.c
234           libnm-glib/nm-settings.h
235                 - Rename the "get_secrets" virtual function "service_get_secrets" to
236                         clarify when it's used; NMExportedConnetion is a base-class for both
237                         the client and service side, which is sort of confusing, and
238                         get_secrets only makes sense on the service side.
239
240         * libnm-glib/nm-dbus-connection.c
241                 - (get_secrets): remove, unused, and clients need to do extra work to
242                         get secrets anyway since the call can block on the remote side
243
244         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
245           system-settings/plugins/keyfile/nm-keyfile-connection.c
246                 - Fix up for get_secrets -> service_get_secrets
247
248 2008-10-16  Dan Williams  <dcbw@redhat.com>
249
250         * src/nm-device-wifi.c
251                 - (constructor): correctly determine encryption capabilities
252
253 2008-10-15  Dan Williams  <dcbw@redhat.com>
254
255         * src/nm-device-wifi.c
256                 - (wireless_qual_to_percent): fix quality calculation in a fallback case
257                         (Johannes Berg)
258
259 2008-10-15  Dan Williams  <dcbw@redhat.com>
260
261         * src/NetworkManagerSystem.c
262                 - (ip4_dest_in_same_subnet): tighter checks on subnet matching,
263                         if the ip4_dest is in a smaller subnet contained within a subnet
264                         the machine is currently on, the destination is in the same subnet
265                 - (nm_system_device_set_ip4_route): move subnet checks to callers
266                 - (add_vpn_gateway_route): check if the VPN gateway is in the same
267                         subnet as the parent device, and if so, don't add the direct
268                         host route via the parent device's gateway (bgo #481620)
269                 - (nm_system_apply_ip4_config): check whether the route to be added
270                         is contained within a subnet the device is already on
271
272 2008-10-11  Dan Williams  <dcbw@redhat.com>
273
274         * include/NetworkManager.h
275           introspection/nm-device.xml
276           include/NetworkManagerVPN.h
277                 - Add a few more state reasons for the device deactivated state
278
279         * src/nm-device-interface.c
280           src/nm-device-interface.h
281                 - (nm_device_interface_deactivate): add a 'reason' argument
282
283         * src/nm-device.c
284           src/nm-device.h
285                 - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
286                 - (nm_device_state_changed): pass the state change reason to
287                         nm_device_take_down()
288                 - (nm_device_set_managed): take a 'reason' argument, and pass it along
289                         to the state change function
290
291         * src/nm-manager.c
292           src/nm-manager.h
293                 - (remove_one_device, handle_unmanaged_devices, sync_devices,
294                    impl_manager_sleep): pass a reason code to nm_device_set_managed()
295                 - (nm_manager_deactivate_connection): add a 'reason' argument and pass
296                         something reasonable along to VPN deactivation
297
298         * src/vpn-manager/nm-vpn-manager.c
299           src/vpn-manager/nm-vpn-manager.h
300                 - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
301                         pass that along to nm_vpn_connection_disconnect()
302
303 2008-10-11  Dan Williams  <dcbw@redhat.com>
304
305         * src/nm-device-wifi.c
306                 - (can_scan): remove old madwifi hack for not scanning while connected
307
308 2008-10-11  Dan Williams  <dcbw@redhat.com>
309
310         Add support for VPN subnet gateways (bgo #549196)
311
312         * include/NetworkManager.h
313                 - Add key for internal VPN subnet gateway
314
315         * src/vpn-manager/nm-vpn-connection.c
316                 - (ip_address_to_string): return a const from a static buffer so we
317                         don't leak a lot of strings
318                 - (print_vpn_config): print internal VPN gateway as well
319                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
320                         VPN service too
321                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
322
323         * src/NetworkManagerSystem.c
324           src/NetworkManagerSystem.h
325                 - (nm_system_device_replace_default_ip4_route): split into two, one for
326                         VPN connections and one for normal devices
327                 - (replace_default_ip4_route): break out route stuff into its own function
328                 - (nm_system_replace_default_ip4_route_vpn,
329                    nm_system_replace_default_ip4_route): simplify by having two cases,
330                         one for VPNs and one for normal devices
331
332         * src/NetworkManagerPolicy.c
333                 - (update_routing_and_dns): simplify, use split default route replacement
334                         functions
335
336 2008-10-10  Dan Williams  <dcbw@redhat.com>
337
338         Rework default route handling to consolidate decisions in the policy,
339         and to take active VPN connections into account when changing the default
340         route (bgo #545912)
341
342         * src/NetworkManager.c
343                 - (main): pass the vpn_manager to the policy so it knows about active
344                         VPN connections; clean up the named manager which wasn't done before
345
346         * src/NetworkManagerPolicy.c
347           src/NetworkManagerPolicy.h
348                 - (nm_policy_new): get a clue about the vpn_manager
349                 - (update_default_route): remove, fold into update_routing_and_dns()
350                 - (update_routing_and_dns): handle active VPN connections too; an
351                         active VPN connection becomes the default route if it does not have
352                         server-specified or user-specified custom routes.  Otherwise, the
353                         best active device gets the default route
354                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
355                    nm_policy_destroy): track VPN connection activation and deactivation
356                         and update the default route when appropriate
357
358         * src/NetworkManagerSystem.c
359           src/NetworkManagerSystem.h
360                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
361                         in the VPN connection itself
362                 - (nm_system_vpn_device_set_from_ip4_config,
363                    nm_system_device_set_from_ip4_config): merge together to make
364                         nm_system_apply_ip4_config()
365                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
366                         via the parent device
367                 - (nm_system_apply_ip4_config): simplify
368                 - (add_ip4_route_to_gateway): new function; add a direct route to the
369                         gateway if needed
370                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
371                         route stuff out into add_ip4_route_to_gateway() for clarity
372
373         * src/nm-device.c
374                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
375
376         * src/vpn-manager/nm-vpn-connection.c
377           src/vpn-manager/nm-vpn-connection.h
378                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
379                    nm_vpn_connection_get_parent_device): add
380                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
381                         device explicit
382                 - (connection_state_changed): update the named manager now that
383                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
384                         useful on errors
385
386         * src/vpn-manager/nm-vpn-manager.c
387           src/vpn-manager/nm-vpn-manager.h
388                 - Add a 'connection-activated' signal
389                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
390                         policy to find out about active VPN connections
391
392 2008-10-10  Tambet Ingo  <tambet@gmail.com>
393
394         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
395         a daemon to prevent NM logging spew on console on startup and shutdown (due
396         to dependency loop between NM and syslog).
397
398 2008-10-10  Alexander Sack  <asac@ubuntu.com>
399
400         Implement managed mode. We bind devices configured in /etc/network/interfaces
401         to their connections by updating wired/wireless setting with the
402         mac address of the device.
403
404         * system-settings/plugins/ifupdown/plugin.c
405                 - (get_net_address_for_udi): implement function to retrieve MAC
406                         address of udi from hal in GByteArray format
407                 - (bind_device_to_connection): bind mac address of device to
408                         wired/wireless system connection
409                 - (hal_device_added_cb): call bind_device_to_connection for
410                         system connections with a matching interface.name
411                 - (hal_device_added_cb): ensure that all code paths
412                         properly free the "iface" string.
413
414 2008-10-10  Alexander Sack  <asac@ubuntu.com>
415
416         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
417         mode of the ifupdown system config plugin.
418
419         * system-settings/plugins/ifupdown/plugin.c
420                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
421                         private unmanage_well_known state field accordingly
422
423 2008-10-10  Alexander Sack  <asac@ubuntu.com>
424
425         Implement unmanaged mode that will prevent all devices in the
426         well_known_udis set from being touched by NetworkManager
427
428         * system-settings/plugins/ifupdown/plugin.c
429                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
430                         unmanage_well_known field used to turn on/off unmanaged
431                         mode
432                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
433                         signal when well_known_udis get added/removed
434                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
435                         if we are in unmanaged mode
436
437 2008-10-10  Alexander Sack  <asac@ubuntu.com>
438
439         Add support to track network devices that have a configuration
440         with a matching interface.name in /etc/network/interfaces
441
442         * system-settings/plugins/ifupdown/plugin.c
443                 - (typedef struct SCPluginIfupdownPrivate): add hash table
444                         to track |well_known_udis|
445                 - (get_iface_for_udi): helper function to get interface.name
446                         for a udi
447                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
448                         that add and remove devices to and from the well_known_udis
449                         set depending on whether their |interface.name| matches
450                         any interface definition in /etc/network/interfaces
451                 - (SCPluginIfupdown_init): connect callbacks from above with
452                         hal_mgr and setup well_known_udis hashtable
453                 - (GObject__dispose): destroy well_known_udis hashtable
454                 - (hal_device_added_cb2): implement wrapper callback with GFunc
455                         signature. user_data is supposed to be a triple (hal_mgr,
456                         config and devtype)
457                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
458                         startup and call hal_device_added_cb2
459
460 2008-10-10  Alexander Sack  <asac@ubuntu.com>
461
462         Remove implementation for not used NMSystemConfigInterface callback functions
463         in ifupdown plugin
464
465         * system-settings/plugins/ifupdown/plugin.c
466                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
467                 - (SCPluginIfupdown_connection_added): removed
468
469 2008-10-08  Dan Williams  <dcbw@redhat.com>
470
471         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
472
473         * src/NetworkManagerUtils.c
474                 - (nm_utils_call_dispatcher): add a 'hostname' action
475
476         * src/NetworkManagerPolicy.c
477                 - (set_system_hostname): dispatch hostname changes
478
479         * callouts/nm-dispatcher-action.c
480                 - (nm_dispatcher_action): handle 'hostname' actions
481
482 2008-10-08  Dan Williams  <dcbw@redhat.com>
483
484         * src/NetworkManagerSystem.c
485                 - (find_route): ref the route so it doesn't get destroyed when the cache
486                         is cleared
487                 - (nm_system_device_set_priority): unref the route here after it's done
488                         being used
489
490 2008-10-08  Dan Williams  <dcbw@redhat.com>
491
492         * src/nm-serial-device.c
493                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
494
495 2008-10-08  Tambet Ingo  <tambet@gmail.com>
496
497         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
498         connection with new settings before saving it.
499
500 2008-10-06  Dan Williams  <dcbw@redhat.com>
501
502         * src/nm-ip4-config.c
503           src/nm-ip4-config.h
504                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
505
506         * src/nm-device-interface.c
507                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
508                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
509                         by using '/' for the object path
510
511         * src/nm-device.c
512                 - (src/nm-device.c): marshal missing/unexported ip4-config through
513                         dbus as '/' since dbus-glib can't handle NULL objects nor can
514                         dbus handle NULL object paths
515
516 2008-10-03  Alexander Sack  <asac@ubuntu.com>
517
518         Implement system hostname support for debian/ubuntu
519
520         * system-settings/plugins/ifupdown/plugin.c
521                 - (GObject__get_property): extend announced capabilities; add
522                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
523                 - (GObject__set_property,write_system_hostname): implement
524                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
525                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
526                    update_system_hostname, get_hostname):
527                         implement hostname property that watches and
528                         parses /etc/hostname
529
530 2008-10-03  Alexander Sack  <asac@ubuntu.com>
531
532         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
533           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
534           system-settings/plugins/ifcfg-fedora/Makefile.am
535           system-settings/src/nm-inotify-helper.c
536           system-settings/src/nm-inotify-helper.h
537           src/Makefile.am
538                 - Move ifcfg-fedora inotify helpers to the system settings service so
539                         they are available to all plugins
540
541 2008-10-03  Alexander Sack  <asac@ubuntu.com>
542
543         Implement support for wep-tx-keyidx in ifupdown system
544         config plugin.
545
546         * system-settings/plugins/ifupdown/parser.c
547                 - (update_wireless_security_setting_from_if_block): introduce
548                         free_type_mapping func table; rename a few local
549                         variables to improve readability; add wpa security mapping
550                         for wep-tx-keyidx property
551                 - (string_to_gpointerint): new function used for the auto_type_mapping
552                         of new wep-tx-keyidx property
553                 - (slist_free_all): free func used for mapped slist types
554
555 2008-10-03  Alexander Sack  <asac@ubuntu.com>
556
557         * system-settings/src/main.c:
558                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
559                         always used as the hash key; fixes a crash when removing wired
560                         devices
561
562 2008-10-02  Dan Williams  <dcbw@redhat.com>
563
564         * src/nm-gsm-device.c
565                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
566                         pass the required GSM secret along via user_data rather than keeping
567                         it around in the private data where it sometimes didn't get cleared
568                 - (real_get_ppp_name): implement using the GSM username
569
570 2008-10-02  Dan Williams  <dcbw@redhat.com>
571
572         * src/ppp-manager/nm-ppp-manager.c
573           src/ppp-manager/nm-ppp-manager.h
574                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
575                         the settings daemon for completely new ones
576                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
577                         local PPP peer name; allow PPP debuging by launching NM with
578                         the environment variable NM_PPP_DEBUG defined
579                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
580                         create_pppd_cmd_line()
581
582         * src/nm-serial-device.c
583           src/nm-serial-device.h
584                 - New 'get_ppp_name' function for subclasses to implement to return the
585                         local PPP peer name
586                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
587                         and pass that name to the PPP manager
588
589         * src/nm-device-ethernet.c
590                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
591                         the local peer name
592
593         * src/nm-cdma-device.c
594                 - (real_get_ppp_name): implement using the CDMA username
595
596 2008-10-02  Dan Williams  <dcbw@redhat.com>
597
598         Patch from Alexander Sack <asac ubuntu com>
599
600         * system-settings/plugins/ifupdown/parser.c
601                 - Implement more graceful ip4 config parsing for cases where
602                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
603                   by using default values
604
605 2008-10-02  Dan Williams  <dcbw@redhat.com>
606
607         * src/NetworkManagerPolicy.c
608                 - (device_state_changed): when marking a connection invalid, clear its
609                         secrets too so that fresh secrets get requested the next time
610
611 2008-10-01  Dan Williams  <dcbw@redhat.com>
612
613         * system-settings/src/dbus-settings.c
614                 - (nm_sysconfig_settings_init): cache system hostname on startup as
615                         a fallback if no plugin provides a hostname
616                 - (get_property): fall back to cached hostname if no plugin provides
617                         a hostname
618
619 2008-10-01  Dan Williams  <dcbw@redhat.com>
620
621         Fix setting value comparison issue that caused some settings to look the
622         same when they were really different (rh #464417)
623
624         * libnm-util/nm-param-spec-specialized.c
625                 - (type_is_fixed_size): return fundamental size of the fixed type too
626                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
627                         in the comparison so that the _entire_ fixed type collection gets
628                         compared rather than just the first 'len1' bytes
629
630 2008-09-30  Dan Williams  <dcbw@redhat.com>
631
632         * src/NetworkManagerPolicy.c
633                 - (lookup_thread_worker): don't store the idle handler ID becuase the
634                         idle handler could have already run and freed the LookupThread
635                         structure
636
637 2008-09-30  Tambet Ingo  <tambet@gmail.com>
638
639         * src/nm-device.c (nm_device_get_priority): Implement.
640         (nm_device_set_ip4_config): Send the device priority to system ip4 
641         config setter.
642
643         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
644         Add priority argument and if it's >= 0, set the priority of the network
645         route added automatically by netlink (or kernel?).
646         (nm_system_device_set_priority): Implement.
647
648         * src/NetworkManagerPolicy.c (get_best_device): Use 
649         nm_device_get_priority() instead of home-grown version. Revert the
650         meaning, best priority is the lowest one.
651
652 2008-09-29  Dan Williams  <dcbw@redhat.com>
653
654         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
655         when it returns EAGAIN (rh #362421)
656
657         * src/nm-device-wifi.c
658                 - (wireless_get_range): try GIWRANGE a few times until the card responds
659                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
660
661 2008-09-28  Dan Williams  <dcbw@redhat.com>
662
663         * src/nm-serial-device.c
664           src/nm-serial-device.h
665                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
666                         cleaned at the right times when subclasses close the serial port too
667                 - (nm_serial_device_send_command): use a default send delay; don't
668                         spin forever on EAGAIN
669                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
670                         remove, no longer used
671                 - (find_response): return the matched response if any
672                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
673                         while doing so
674                 - (wait_for_reply_done): pass the matched response to the callback
675                 - (wait_for_reply_got_data): save the matched response; simplify timeout
676                         handling
677                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
678                         const since they never get modified
679                 - (cleanup_device): split out common cleanup stuff to a new function
680                 - (real_deactivate_quickly, finalize): use cleanup_device()
681
682         * src/nm-gsm-device.c
683                 - (modem_get_reply): remove, unused
684                 - (set_apn): give the card a bit more time to respond
685                 - (manual_registration_again, schedule_manual_registration_again,
686                    manual_registration_response, manual_registration): handle manual
687                         registration timeouts better by retrying registration a few times
688                         because cards are a bit slow after CFUN=1
689                 - (automatic_registration_get_network, get_network_response): use
690                         modem_wait_for_reply() because it interacts better with the serial
691                         buffer and does more intelligent matching; need to wait for 'OK'
692                         rather than just matching terminators
693                 - (schedule_automatic_registration_again,
694                    automatic_registration_response, automatic_registration): retry
695                         registration a few times on timeout or "searching" because cards
696                         take a bit to find a network after being powered up with CFUN=1
697                 - (power_up_response, power_up, init_full_done, enter_pin,
698                    check_pin_done): power up the card with CFUN=1 before trying to
699                         register with the network
700                 - (init_modem_full, init_modem): use more standard 3G init strings
701
702         * src/nm-hso-gsm-device.c
703                 - (modem_get_reply): remove, unused
704                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
705                         modem_wait_for_reply() to match actual responses instead of single
706                         termination characters; it doesn't leave stuff in the serial buffer
707                         that might confuse later calls
708                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
709                         to ensure that the call is really disconnected and not leave extra
710                         stuff in the serial buffer
711
712         * src/nm-cdma-device.c
713                 - (power_up_response, power_up, init_done): try Sierra-style modem
714                         power up before attempting to connect
715
716 2008-09-27  Dan Williams  <dcbw@redhat.com>
717
718         * libnm-util/nm-setting-gsm.c
719                 - (verify): verify GSM network ID
720
721 2008-09-25  Dan Williams  <dcbw@redhat.com>
722
723         * libnm-util/nm-setting-gsm.c
724           libnm-util/nm-setting-gsm.h
725                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
726                         technology terms (bgo #551361)
727
728 2008-09-25  Dan Williams  <dcbw@redhat.com>
729
730         Fix bgo #549401 (inspired by patch from Alexander Sack)
731
732         * src/nm-device-ethernet.c
733                 - (finish_supplicant_task): clean up scheduled tasks and free memory
734                 - (remove_supplicant_interface_error_handler): remove the supplicant
735                         error idle callback too
736                 - (supplicant_interface_release): rename from supplicant_interface_clean
737                         to match nm-device-wifi.c; clean up supplicant interface-related
738                         state tasks when the supplicant interface is disposed of
739                 - (schedule_state_handler): add scheduled tasks to a list so they can
740                         be cleaned up later
741                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
742                    supplicant_iface_connection_state_cb_handler): use
743                         finish_supplicant_task() to clean up each completed task
744                 - (supplicant_iface_connection_error_cb_handler,
745                    supplicant_connection_timeout_cb): clear source id when the task is
746                         complete
747                 - (supplicant_iface_connection_error_cb): save scheduled task id for
748                         later cleanup
749                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
750                         tasks
751
752         * src/nm-device-wifi.c
753                 - (finish_supplicant_task): clean up scheduled tasks and free memory
754                 - (remove_supplicant_interface_error_handler): remove the supplicant
755                         error idle callback too
756                 - (supplicant_interface_release): clean up supplicant interface-related
757                         state tasks when the supplicant interface is disposed of
758                 - (schedule_state_handler): add scheduled tasks to a list so they can
759                         be cleaned up later
760                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
761                    supplicant_iface_connection_state_cb_handler): use
762                         finish_supplicant_task() to clean up each completed task
763                 - (supplicant_iface_connection_error_cb_handler): clear source id when
764                         the task is complete
765                 - (supplicant_iface_connection_error_cb): save scheduled task id for
766                         later cleanup
767                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
768
769 2008-09-24  Tambet Ingo  <tambet@gmail.com>
770
771         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
772         method and get/set hostname property.
773
774 2008-09-24  Tambet Ingo  <tambet@gmail.com>
775
776         * src/supplicant-manager/nm-supplicant-interface.c
777         (nm_supplicant_interface_disconnect): Don't increment the reference 
778         count when disconnecting. The problem is on shutdown, when the replies
779         to these commands do not arrive before NM exits, resulting on never
780         calling supplicant interface's dispose(), which removes the interface
781         from supplicant.
782
783 2008-09-24  Tambet Ingo  <tambet@gmail.com>
784
785         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
786         all the public function arguments.
787
788 2008-09-22  Tambet Ingo  <tambet@gmail.com>
789
790         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
791         "Failure" signal from VPN plugins, store the failure reason, and
792         use it when the state is changed to failure.
793
794         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
795         description.
796
797         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
798         reason to the end of the list to not break the API.
799         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
800         so it can be shared by plugins and daemon.
801
802 2008-09-18  Dan Williams  <dcbw@redhat.com>
803
804         Patch from Alexander Sack <asac@ubuntu.com>
805
806         * configure.in
807           system-settings/plugins/Makefile.am
808           system-settings/plugins/ifupdown/Makefile.am
809           system-settings/plugins/ifupdown/interface_parser.c
810           system-settings/plugins/ifupdown/interface_parser.h
811           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
812           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
813           system-settings/plugins/ifupdown/parser.c
814           system-settings/plugins/ifupdown/parser.h
815           system-settings/plugins/ifupdown/plugin.c
816           system-settings/plugins/ifupdown/plugin.h
817                 - Implement a Debian/Ubuntu legacy network configuration plugin
818                         (gnome.org #551941)
819
820 2008-09-18  Dan Williams  <dcbw@redhat.com>
821
822         Implement support for honoring configured and automatic hostnames, and for
823         setting the configured hostname.
824
825         * introspection/nm-ip4-config.xml
826           src/nm-ip4-config.c
827           src/nm-ip4-config.h
828           src/dhcp-manager/nm-dhcp-manager.c
829                 - Remove useless hostname property; it's not really part of the IPv4
830                         config
831
832         * introspection/nm-settings-system.xml
833           libnm-glib/nm-dbus-settings-system.c
834           libnm-glib/nm-dbus-settings-system.h
835                 - Add SetHostname() call to system settings D-Bus interface
836                 - Add Hostname property to system settings D-Bus interface
837                 - (nm_dbus_settings_system_save_hostname,
838                    nm_dbus_settings_system_get_hostname): implement
839
840         * src/nm-device.c
841           src/nm-device.h
842                 - (nm_device_get_dhcp4_config): implement
843
844         * src/nm-manager.c
845           src/nm-manager.h
846                 - Fetch and track system settings service hostname changes, and proxy
847                         the changes via a GObject property of the manager
848
849         * system-settings/src/nm-system-config-interface.c
850           system-settings/src/nm-system-config-interface.h
851                 - Replace nm_system_config_interface_supports_add() with a capabilities
852                         bitfield
853
854         * system-settings/src/nm-system-config-error.c
855           system-settings/src/nm-system-config-error.h
856                 - Add additional errors
857
858         * system-settings/src/dbus-settings.c
859           system-settings/src/dbus-settings.h
860                 - (get_property, nm_sysconfig_settings_class_init): add hostname
861                         property; first plugin returning a hostname wins
862                 - (impl_settings_add_connection): use plugin capabilities instead of
863                         nm_system_config_interface_supports_add()
864                 - (impl_settings_save_hostname): implement hostname saving
865
866         * src/NetworkManagerPolicy.c
867                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
868                    lookup_thread_die): implement an asynchronous hostname lookup thread
869                         which given an IPv4 address tries to look up the hostname for that
870                         address with reverse DNS
871                 - (get_best_device): split out best device code from
872                         update_routing_and_dns()
873                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
874                         to preserve the 127.0.0.1 reverse mapping that so many things require
875                 - (set_system_hostname): set a given hostname
876                 - (update_system_hostname): implement hostname policy; a configured
877                         hostname (from the system settings service) is used if available,
878                         otherwise an automatically determined hostname from DHCP, VPN, etc.
879                         If there was no automatically determined hostname, reverse DNS of
880                         the best device's IP address will be used, and as a last resort the
881                         hostname 'localhost.localdomain' is set.
882                 - (update_routing_and_dns): use get_best_device(); update the system
883                         hostname when the network config changes
884                 - (hostname_changed): update system hostname if the system settings
885                         service signals a hostname change
886                 - (nm_policy_new): list for system settings service hostname changes
887                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
888                         gets told to die
889
890         * system-settings/plugins/keyfile/plugin.c
891           system-settings/plugins/ifcfg-suse/plugin.c
892                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
893                         capabilities properties
894
895         * system-settings/plugins/ifcfg-fedora/shvar.c
896                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
897                         writes out /etc/sysconfig/network now
898
899         * system-settings/plugins/ifcfg-fedora/plugin.c
900                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
901                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
902                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
903                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
904                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
905                         hostname get/set and capabilities get
906
907 2008-09-18  Dan Williams  <dcbw@redhat.com>
908
909         * libnm-util/nm-setting-wireless.c
910                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
911                         group ciphers if the wireless-security setting explicitly specified
912                         them, effectively making the default be "all ciphers"  (idea from
913                         Alexander Sack)
914
915 2008-09-15  Dan Williams  <dcbw@redhat.com>
916
917         Patch from Alexander Sack <asac@ubuntu.com>
918
919         * src/named-manager/nm-named-manager.c
920                 - (dispatch_resolvconf): respect resolvconf exit code
921
922 2008-09-12  Tambet Ingo  <tambet@gmail.com>
923
924         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
925         again. Add some debugging.
926
927 2008-09-11  Dan Williams  <dcbw@redhat.com>
928
929         * system-settings/plugins/keyfile/plugin.c
930                 - (update_connection_settings): update connection manually, since
931                         nm_exported_connection_update() does authentication
932                 - (dir_changed): update_connection_settings() doesn't need to return
933                         an error
934
935 2008-09-09  Dan Williams  <dcbw@redhat.com>
936
937         * libnm-glib/nm-vpn-plugin-ui-interface.c
938           libnm-glib/nm-vpn-plugin-ui-interface.h
939           libnm-glib/libnm_glib_vpn.ver
940                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
941                         should clean up resources related to the connection (like keyring
942                         secrets)
943                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
944                         should save user-scope secrets (like to the keyring)
945
946 2008-09-08  Dan Williams  <dcbw@redhat.com>
947
948         Patch from Alexander Sack <asac@ubuntu.com>
949
950         * libnm-util/crypto_gnutls.c
951           libnm-util/crypto_nss.c
952                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
953
954         * libnm-util/nm-utils.c
955           libnm-util/nm-utils.h
956           libnm-util/libnm-util.ver
957                 - (nm_utils_init): initialize libnm-util
958                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
959
960         * libnm-util/nm-setting-8021x.c
961                 - (nm_setting_802_1x_class_init): init libnm-util when needed
962
963 2008-09-05  Dan Williams  <dcbw@redhat.com>
964
965         Patch from Roy Marples <roy@marples.name> and others
966
967         * configure.in
968           src/named-manager/nm-named-manager.c
969                 - Add support for resolvconf; use --with-resolvconf at configure time
970                         to enable it
971
972 2008-09-05  Dan Williams  <dcbw@redhat.com>
973
974         * libnm-util/crypto_nss.c
975           libnm-util/crypto_gnutls.c
976           libnm-util/crypto.h
977                 - (crypto_init): return error when init fails
978
979 2008-09-05  Dan Williams  <dcbw@redhat.com>
980
981         * libnm-glib/nm-device-wifi.c
982                 - (access_point_removed_proxy): clean up the active access point too
983                         just in case the active ap changed signal didn't come through yet
984                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
985
986 2008-09-05  Dan Williams  <dcbw@redhat.com>
987
988         * libnm-glib/nm-client.c
989                 - (constructor): get initial state after we know whether NM is running
990                         or not
991
992 2008-09-05  Dan Williams  <dcbw@redhat.com>
993
994         * libnm-glib/nm-ip4-config.c
995           libnm-glib/nm-dhcp4-config.c
996                 - (finalize): clean up the DBusGProxy
997
998 2008-09-04  Dan Williams  <dcbw@redhat.com>
999
1000         * src/nm-ip4-config.c
1001           src/nm-ip4-config.h
1002                 - (nm_ip4_config_new): don't export over D-Bus here
1003                 - (nm_ip4_config_export): new function; export the config over D-Bus
1004                 - (nm_ip4_config_is_exported): new function
1005
1006         * src/nm-device.c
1007                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
1008                         objects by balancing the IP4Config constructor; the device holds
1009                         a reference to the IP4Config already
1010                 - (nm_device_set_ip4_config): export the IP4Config when needed
1011
1012 2008-09-04  Dan Williams  <dcbw@redhat.com>
1013
1014         * src/supplicant-manager/nm-supplicant-settings-verify.c
1015                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
1016
1017 2008-09-04  Dan Williams  <dcbw@redhat.com>
1018
1019         * libnm-util/nm-setting-vpn.c
1020           libnm-util/nm-setting-vpn.h
1021                 - Split VPN secrets from VPN data so that settings services can actually
1022                         figure out that they are secrets and store them accordingly
1023
1024         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1025           system-settings/plugins/keyfile/reader.c
1026           system-settings/plugins/keyfile/reader.h
1027           system-settings/plugins/keyfile/writer.c
1028                 - Store VPN secrets separately from VPN data so that they can be fetched
1029                         on demand
1030                 - Implement the get_secrets() call so that (a) secrets don't leak out
1031                         to unprivileged callers, and (b) secrets can be sent to privileged
1032                         callers when needed
1033
1034         * vpn-daemons/vpnc/src/nm-vpnc-service.c
1035                 - Handle split VPN secrets
1036
1037 2008-08-27  Dan Williams  <dcbw@redhat.com>
1038
1039         * system-settings/plugins/ifcfg-fedora/reader.c
1040                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
1041
1042 2008-08-27  Dan Williams  <dcbw@redhat.com>
1043
1044         Ensure zombie children get cleaned up.  To get notifications when children
1045         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
1046         that requires calling waitpid() yourself if you've removed the child watch
1047         handler before the process has actually died, which NM needs to do in a few
1048         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
1049         cleans up after the child when required.  Should fix problems trying to
1050         activate mobile broadband connections after a previous failure.
1051
1052         * src/dhcp-manager/nm-dhcp-dhclient.c
1053           src/dhcp-manager/nm-dhcp-dhcpcd.c
1054                 - Use G_SPAWN_DO_NOT_REAP_CHILD
1055
1056         * src/dhcp-manager/nm-dhcp-manager.c
1057                 - (nm_dhcp_device_destroy): ensure child is cleaned up
1058                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
1059                         block on child quitting, since the non-blocking functionality was
1060                         never actually used
1061
1062         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1063                 - (dm_watch_cb): child is already reaped here
1064                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
1065
1066         * src/nm-device.c
1067                 - (aipd_cleanup): block until child is dead
1068
1069         * src/named-manager/nm-named-manager.c
1070                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
1071                         event bothering to watch the child
1072
1073         * src/ppp-manager/nm-ppp-manager.c
1074                 - (ppp_watch_cb): child is already reaped here
1075                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
1076
1077         * src/vpn-manager/nm-vpn-service.c
1078                 - (vpn_service_watch_cb): child is already reaped here
1079                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
1080                         status of the child is actually tracked
1081                 - (ensure_killed, finalize): block until child is dead
1082
1083 2008-08-26  Dan Williams  <dcbw@redhat.com>
1084
1085         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1086                 - (update): Update filename of the connection if the connection id
1087                         was changed
1088
1089         * system-settings/plugins/keyfile/plugin.c
1090                 - (dir_changed): first pass at handling connection renames correctly
1091
1092         * system-settings/plugins/keyfile/writer.c
1093           system-settings/plugins/keyfile/writer.h
1094                 - (write_connection): replace '/' with '*' when writing out the filename
1095                         from the connection id
1096
1097 2008-08-26  Dan Williams  <dcbw@redhat.com>
1098
1099         Add connection UUIDs, since connection names can be changed, and since
1100         old-style connection IDs could change over the life of the connection.  The
1101         UUID should be assigned at connection creation time, be stable for a given
1102         connection, and should be unique among all connections for a given settings
1103         service.
1104
1105         * configure.in
1106           libnm-util/Makefile.am
1107                 - Require libuuid
1108
1109         * introspection/nm-exported-connection.xml
1110                 - Remove "GetID" method
1111
1112         * libnm-glib/nm-dbus-connection.c
1113           libnm-glib/nm-settings.c
1114           libnm-glib/nm-settings.h
1115                 - Remove id-related stuff
1116
1117         * libnm-util/nm-utils.c
1118           libnm-util/nm-utils.h
1119           libnm-util/libnm-util.ver
1120                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
1121                         utility functions to generate UUIDs
1122
1123         * libnm-util/nm-setting-connection.c
1124           libnm-util/nm-setting-connection.h
1125                 - Add 'uuid' member to the connection setting
1126                 - (verify): require valid 'uuid' for a valid connection
1127
1128         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
1129           system-settings/plugins/ifcfg-fedora/reader.c
1130           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
1131           system-settings/plugins/ifcfg-suse/parser.c
1132           system-settings/plugins/keyfile/nm-keyfile-connection.c
1133           system-settings/src/main.c
1134                 - Remove id-related stuff
1135                 - Give connections UUIDs where needed
1136
1137 2008-08-25  Dan Williams  <dcbw@redhat.com>
1138
1139         * libnm-util/crypto_gnutls.c
1140           libnm-util/crypto_nss.c
1141                 - (crypto_init, crypto_deinit): refcount init/deinit
1142                 - (crypto_md5_hash): allow NULL salt
1143
1144 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
1145
1146         * libnm-glib/Makefile.am
1147           libnm-util/Makefile.am
1148           libnm-glib/libnm_glib.ver
1149           libnm-glib/libnm_glib_vpn.ver
1150           libnm-util/libnm-util.ver
1151                 - Use linker version scripts to control the list of exported 
1152                 symbols. List each exported symbol explicitely.
1153         * libnm-util/Makefile.am
1154                 - Fix compilation of the test-crypto binary. The crypto
1155                 functions are no longer part of the libnm-util API. Add 
1156                 crypto_*.c to test_crypto_SOURCES and link against the correct
1157                 crypto libraries.
1158
1159 2008-08-19  Dan Williams  <dcbw@redhat.com>
1160
1161         * configure.in
1162           test/Makefile.am
1163                 - Don't build test/test-common
1164                 - Remove unused stuff
1165
1166         * test/nm-set-fallback
1167           test/nmtestdevices.c
1168           test/test-common/.cvsignore
1169           test/test-common/Makefile.am
1170           test/test-common/test-common.c
1171           test/test-common/test-common.h
1172                 - delete
1173
1174 2008-08-18  Dan Williams  <dcbw@redhat.com>
1175
1176         * libnm-util/nm-utils.c
1177           libnm-util/nm-utils.h
1178                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
1179                         export anything that needs to be converted with this function
1180
1181         * src/dhcp-manager/nm-dhcp-manager.c
1182                 - (garray_to_string): convert a byte array to a UTF-8 string with
1183                         minimal validation; the DHCP client sends it in ASCII anyway
1184                 - (get_option, copy_option): use garray_to_string()
1185
1186 2008-08-18  Dan Williams  <dcbw@redhat.com>
1187
1188         * include/NetworkManager.h
1189           introspection/nm-device.xml
1190                 - Add a "missing firmware" device state reason
1191
1192         * src/NetworkManagerSystem.c
1193           src/NetworkManagerSystem.h
1194                 - (nm_system_device_set_up_down): add a no_firmware argument
1195                 - (nm_system_device_set_up_down_with_iface): if the result of setting
1196                         IFF_UP is ENOENT, that almost always means missing firmware
1197
1198         * src/backends/NetworkManagerGeneric.c
1199           src/nm-device-ethernet.c
1200           src/nm-device-private.h
1201           src/nm-device-wifi.c
1202           src/nm-device.c
1203           src/nm-device.h
1204           src/nm-hso-gsm-device.c
1205           src/vpn-manager/nm-vpn-connection.c
1206                 - Pass no_firmware along; check it where appropriate
1207
1208 2008-08-18  Dan Williams  <dcbw@redhat.com>
1209
1210         Patch from Robert Buchholz <rbu@gentoo.org>
1211
1212         * autogen.sh
1213           configure.in
1214                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
1215                         1003.1-1988, allowing for file names longer than 99 characters
1216
1217 2008-08-17  Dan Williams  <dcbw@redhat.com>
1218
1219         * include/NetworkManager.h
1220           introspection/nm-device.xml
1221           src/nm-gsm-device.c
1222                 - Finer-grained GSM registration failure error codes
1223
1224 2008-08-17  Dan Williams  <dcbw@redhat.com>
1225
1226         * callouts/Makefile.am
1227           src/Makefile.am
1228                 - Move dispatcher directory creation to callouts/Makefile.am
1229
1230         * system-settings/plugins/keyfile/Makefile.am
1231                 - Create keyfile connections directory in DESTDIR (bgo #546833)
1232
1233 2008-08-15  Dan Williams  <dcbw@redhat.com>
1234
1235         Do connection sharing in a cleaner manner; all required iptables rules
1236         are now stored in the activation request and pertain only to the device
1237         which is being shared to other computers. (rh #458625)
1238
1239         * src/nm-activation-request.c
1240           src/nm-activation-request.h
1241                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
1242                         the activation request which will get torn down automatically when
1243                         the activation request dies
1244                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
1245                         is started, and tear them down when sharing is stopped
1246
1247         * src/nm-device.c
1248                 - (start_sharing): start up sharing by doing the required iptables magic
1249                 - (share_init): poke the right bits of the kernel and load the right
1250                         modules for NAT
1251                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
1252                         connection if it's a 'shared' connection
1253
1254         * src/NetworkManagerPolicy.c
1255                 - Remove all sharing stuff; done in the device code itself
1256
1257 2008-08-15  Dan Williams  <dcbw@redhat.com>
1258
1259         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1260                 - (create_dm_cmd_line): send the right router address
1261
1262 2008-08-15  Dan Williams  <dcbw@redhat.com>
1263
1264         * src/ppp-manager/nm-ppp-manager.c
1265                 - (pppd_timed_out): ensure timeouts fail the connection
1266
1267 2008-08-14  Dan Williams  <dcbw@redhat.com>
1268
1269         * src/nm-properties-changed-signal.c
1270           src/nm-properties-changed-signal.h
1271                 - Add a property spec flag for "don't export this property" in
1272                         property changed signals
1273
1274         * src/nm-hso-gsm-device.c
1275           src/nm-gsm-device.c
1276           src/nm-cdma-device.c
1277                 - Don't export monitor interface or netdev interface properties
1278
1279 2008-08-14  Dan Williams  <dcbw@redhat.com>
1280
1281         * src/NetworkManagerPolicy.c
1282                 - (update_routing_and_dns): 'hso' devices can be default even if they
1283                         don't have a gateway
1284
1285 2008-08-14  Dan Williams  <dcbw@redhat.com>
1286
1287         * src/nm-device.c
1288                 - (nm_device_deactivate_quickly): tear down activation request after
1289                         calling device-specific deactivation
1290
1291         * src/nm-hso-gsm-device.c
1292                 - (real_deactivate_quickly): terminate connection when deactivating
1293
1294 2008-08-14  Dan Williams  <dcbw@redhat.com>
1295
1296         * src/nm-activation-request.h
1297                 - Add HSO secrets caller
1298
1299         * src/nm-gsm-device.c
1300           src/nm-gsm-device.h
1301                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1302                         something to the callback function
1303                 - (set_apn, set_apn_done): call class dial function, not a static one
1304                 - (nm_gsm_device_class_init): add a class 'dial' function
1305
1306         * src/nm-hal-manager.c
1307                 - (get_hso_netdev): find the hso-driven hardware's net device
1308                 - (modem_device_creator): recognize hso-driven hardware and create the
1309                         right type of device object for it
1310
1311         * src/Makefile.am
1312           src/nm-hso-gsm-device.c
1313           src/nm-hso-gsm-device.h
1314                 - Implement support for devices driven by the 'hso' driver as a subclass
1315                         of NMGsmDevice
1316
1317 2008-08-14  Dan Williams  <dcbw@redhat.com>
1318
1319         * src/NetworkManagerSystem.c
1320                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
1321                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
1322                         success if the operation really was successful
1323
1324 2008-08-14  Dan Williams  <dcbw@redhat.com>
1325
1326         * src/nm-netlink-monitor.c
1327           src/nm-netlink-monitor.h
1328           src/nm-device-ethernet.c
1329                 - (nm_netlink_monitor_request_status): return an error on failure
1330                 - (constructor): don't segfault on missing error
1331
1332 2008-08-13  Dan Williams  <dcbw@redhat.com>
1333
1334         * callouts/nm-dispatcher-action.c
1335                 - Add IP4 config info to script environment
1336
1337 2008-08-12  Dan Williams  <dcbw@redhat.com>
1338
1339         * src/nm-device.c
1340                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
1341                         that want to use DHCP hostnames should use dispatcher scripts
1342                         for that
1343
1344         * src/NetworkManagerSystem.h
1345           src/backends/NetworkManagerArch.c
1346           src/backends/NetworkManagerDebian.c
1347           src/backends/NetworkManagerFrugalware.c
1348           src/backends/NetworkManagerGeneric.c
1349           src/backends/NetworkManagerGeneric.h
1350           src/backends/NetworkManagerGentoo.c
1351           src/backends/NetworkManagerMandriva.c
1352           src/backends/NetworkManagerPaldo.c
1353           src/backends/NetworkManagerRedHat.c
1354           src/backends/NetworkManagerSlackware.c
1355           src/backends/NetworkManagerSuSE.c
1356                 - Remove nm_system_set_hostname(), no longer used
1357           
1358         * src/backends/Makefile.am
1359           src/backends/shvar.c
1360           src/backends/shvar.h
1361                 - Remove shvar.*; no longer used
1362
1363 2008-08-12  Dan Williams  <dcbw@redhat.com>
1364
1365         Revert most of the 'hostname' patch.  Too much stuff still breaks when
1366         hostname is updated at runtime.  Distros or users who want hostname updates
1367         can use dispatcher scripts to update the hostname if they need it.
1368
1369 2008-08-12  Dan Williams  <dcbw@redhat.com>
1370
1371         * introspection/nm-settings-system.xml
1372           system-settings/src/dbus-settings.c
1373           system-settings/src/dbus-settings.h
1374                 - Add a 'Hostname' property (rw) which represents the configured
1375                         hostname and domain of the system, if any
1376
1377         * system-settings/src/nm-system-config-error.c
1378           system-settings/src/nm-system-config-error.h
1379           system-settings/src/nm-system-config-interface.c
1380           system-settings/src/nm-system-config-interface.h
1381                 - Add a 'hostname' property to the plugin interface
1382                 - Add a method to send updated hostname to plugins to save in their
1383                         backing configuration store
1384
1385         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1386           system-settings/plugins/keyfile/plugin.c
1387           system-settings/plugins/keyfile/writer.c
1388           system-settings/plugins/keyfile/writer.h
1389           system-settings/plugins/ifcfg-suse/plugin.c
1390                 - Add minimal hostname support
1391
1392         * system-settings/plugins/ifcfg-fedora/plugin.c
1393                 - Add support for updating system hostname in /etc/sysconfig/network
1394
1395 2008-08-12  Dan Williams  <dcbw@redhat.com>
1396
1397         * system-settings/plugins/ifcfg-fedora/shvar.c
1398           system-settings/plugins/ifcfg-fedora/shvar.c
1399                 - Fix double-free caused by svSetValue() followed by svCloseFile()
1400
1401 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1402
1403         * Makefile.am: Fix distcheck.
1404
1405 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1406
1407         * libnm-glib/*.c. Document some more.
1408
1409 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1410
1411         Start documenting libnm-glib public API using gtk-doc.
1412
1413         * libnm-glib/nm-serial-device.c: 
1414         * libnm-glib/nm-object.c: 
1415         * libnm-glib/nm-gsm-device.c: 
1416         * libnm-glib/nm-device.c: 
1417         * libnm-glib/nm-device-wifi.c: 
1418         * libnm-glib/nm-device-ethernet.c: 
1419         * libnm-glib/nm-client.c: 
1420         * libnm-glib/nm-cdma-device.c: Document the public API.
1421
1422         * docs/libnm-glib/libnm-glib.types: Implement.
1423
1424         * docs/libnm-glib/Makefile.am: Implement.
1425
1426         * autogen.sh: 
1427         * configure.in: 
1428         * Makefile.am: Add gtk-doc support.
1429
1430 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1431
1432         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
1433
1434         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
1435         the composite result of all the IP4 configurations and call a distro
1436         specific update_resolv_conf().
1437         (update_resolv_conf): Implement one for directly writing to 
1438         /etc/resolv.conf and one for opensuse to call netconfig.
1439
1440 2008-08-11  Dan Williams  <dcbw@redhat.com>
1441
1442         * src/ppp-manager/nm-ppp-manager.c
1443                 - (impl_ppp_manager_need_secrets): pass interface as required
1444
1445 2008-08-11  Dan Williams  <dcbw@redhat.com>
1446
1447         Merge the vpn-properties setting with the vpn setting since it was pointless
1448         to keep both of them around.  Convert the vpn 'data' hash table to a hash
1449         of string:string (instead of string:variant) so that system settings plugins
1450         can have an easier time dealing with the arbitrary key/value pairs.
1451
1452 2008-08-11  Dan Williams  <dcbw@redhat.com>
1453
1454         * libnm-util/nm-utils.c
1455                 - (nm_utils_register_value_transformations): add value transform for
1456                         a hash table of string:string
1457
1458 2008-08-10  Dan Williams  <dcbw@redhat.com>
1459
1460         * libnm-glib/nm-vpn-plugin.c
1461                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
1462                         an idle handler so the Connect reply gets delivered before the
1463                         stop StateChanged signal
1464
1465 2008-08-10  Dan Williams  <dcbw@redhat.com>
1466
1467         * src/nm-ip4-config.c
1468                 - (get_property): use common ip4 address/route conversion functions
1469                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
1470                         copy the new route here, not take ownership
1471
1472 2008-08-08  Tambet Ingo  <tambet@gmail.com>
1473
1474         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
1475         Update the IP4 setting's method name.
1476
1477 2008-08-07  Dan Williams  <dcbw@redhat.com>
1478
1479         * introspection/nm-ip4-config.xml
1480           libnm-glib/libnm-glib-test.c
1481           libnm-glib/nm-ip4-config.c
1482           libnm-glib/nm-ip4-config.h
1483           src/NetworkManagerSystem.h
1484           src/backends/NetworkManagerArch.c
1485           src/backends/NetworkManagerDebian.c
1486           src/backends/NetworkManagerFrugalware.c
1487           src/backends/NetworkManagerGeneric.c
1488           src/backends/NetworkManagerGeneric.h
1489           src/backends/NetworkManagerGentoo.c
1490           src/backends/NetworkManagerMandriva.c
1491           src/backends/NetworkManagerPaldo.c
1492           src/backends/NetworkManagerRedHat.c
1493           src/backends/NetworkManagerSlackware.c
1494           src/backends/NetworkManagerSuSE.c
1495           src/dhcp-manager/nm-dhcp-manager.c
1496           src/nm-device.c
1497           src/nm-ip4-config.c
1498           src/nm-ip4-config.h
1499                 - Remove NIS logic; should be done from dispatcher scripts instead
1500
1501 2008-08-07  Dan Williams  <dcbw@redhat.com>
1502
1503         * src/dhcp-manager/nm-dhcp-manager.c
1504                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
1505                         mis-handling of DHCP responses that returned more than one router
1506                         (found by Grant Williamson)
1507
1508 2008-08-07  Dan Williams  <dcbw@redhat.com>
1509
1510         * callouts/nm-dispatcher-action.c
1511                 - (nm_dispatcher_action): grab device path and create the device; pass
1512                         the device's DHCP4 config to script caller
1513                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
1514                         scripts
1515
1516         * libnm-glib/nm-dhcp4-config.c
1517           libnm-glib/nm-dhcp4-config.h
1518                 - (nm_dhcp4_config_get_options): expose
1519                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
1520
1521 2008-08-07  Dan Williams  <dcbw@redhat.com>
1522
1523         * include/NetworkManager.h
1524                 - Add the DHCP4Config D-Bus interface
1525
1526         * libnm-glib/Makefile.am
1527           libnm-glib/nm-dhcp4-config.c
1528           libnm-glib/nm-dhcp4-config.h
1529                 - Handle DHCP4 config objects exported by NM over D-Bus
1530
1531         * libnm-glib/nm-device.c
1532           libnm-glib/nm-device.h
1533                 - Add a 'dhcp4-config' property
1534
1535         * libnm-glib/libnm-glib-test.c
1536                 - Print out DHCP4 config for devices
1537                 - Fix some crashes when no connections are active
1538
1539         * src/nm-device-interface.c
1540           src/nm-device.c
1541           src/nm-dhcp4-config.c
1542           src/nm-dhcp4-config.h
1543                 - Treat dhcp4-config object as an object path at the D-Bus interface so
1544                         that when it doesn't exist we can proxy it as "/" which dbus-glib
1545                         doesn't let us do when the property type is G_TYPE_OBJECT
1546
1547 2008-08-07  Dan Williams  <dcbw@redhat.com>
1548
1549         * src/NetworkManager.c
1550           src/NetworkManagerSystem.h
1551           src/backends/NetworkManagerArch.c
1552           src/backends/NetworkManagerDebian.c
1553           src/backends/NetworkManagerFrugalware.c
1554           src/backends/NetworkManagerGeneric.c
1555           src/backends/NetworkManagerGeneric.h
1556           src/backends/NetworkManagerGentoo.c
1557           src/backends/NetworkManagerMandriva.c
1558           src/backends/NetworkManagerPaldo.c
1559           src/backends/NetworkManagerRedHat.c
1560           src/backends/NetworkManagerSlackware.c
1561           src/backends/NetworkManagerSuSE.c
1562                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
1563
1564 2008-08-06  Dan Williams  <dcbw@redhat.com>
1565
1566         * libnm-glib/nm-ip4-config.c
1567           libnm-glib/nm-ip4-config.h
1568                 - Add 'routes' property
1569
1570         * libnm-util/nm-setting-vpn.c
1571           libnm-util/nm-setting-vpn.h
1572                 - Remove 'routes' property
1573
1574         * libnm-util/nm-setting-ip4-config.c
1575           libnm-util/nm-setting-ip4-config.h
1576                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
1577                 - Add 'ignore-auto-routes' property
1578                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
1579                         accomodate route metrics
1580                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
1581
1582         * libnm-util/nm-utils.c
1583           libnm-util/nm-utils.h
1584                 - Add helpers for marshalling IP4 routes
1585
1586         * src/NetworkManagerUtils.c
1587                 - (nm_utils_merge_ip4_config): handle property renames and new route
1588                         structure
1589
1590         * src/NetworkManagerSystem.c
1591                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
1592                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
1593
1594         * src/dhcp-manager/nm-dhcp-manager.c
1595                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
1596
1597         * system-settings/plugins/ifcfg-fedora/reader.c
1598           system-settings/plugins/ifcfg-fedora/writer.c
1599                 - Handle routes separately from addresses now that routes have a different
1600                         format
1601
1602         * introspection/nm-ip4-config.xml
1603           src/nm-ip4-config.c
1604           src/nm-ip4-config.h
1605                 - Rename internal routing functions
1606                 - 'static-routes' renamed to 'routes'
1607
1608 2008-08-04  Dan Williams  <dcbw@redhat.com>
1609
1610         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
1611
1612         * src/NetworkManager.c
1613           src/nm-manager.c
1614           src/nm-manager.h
1615                 - More explicitly make the NMManager a singleton
1616
1617 2008-08-04  Dan Williams  <dcbw@redhat.com>
1618
1619         * libnm-util/nm-connection.c
1620           libnm-util/nm-connection.h
1621                 - (nm_connection_verify): return error on missing 'connection' setting
1622                         (found by Sjoerd Simons)
1623
1624 2008-08-04  Dan Williams  <dcbw@redhat.com>
1625
1626         Handle multiple concurrent PPP connections.
1627
1628         * src/ppp-manager/nm-ppp-manager.c
1629           src/ppp-manager/nm-ppp-manager.h
1630                 - (constructor): only PPP Manager request bus name once; each
1631                         NMPPPManager object gets a unique object path
1632                 - (nm_ppp_manager_class_init, get_property, set_property,
1633                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
1634                         at construct time
1635                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
1636                         remove timeout until PPP manager gets an IP4 config
1637                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
1638                         the plugin can call back to this specific PPP manager instance
1639
1640         * src/nm-device-ethernet.c
1641           src/nm-serial-device.c
1642                 - Pass parent device in nm_ppp_manager_new()
1643
1644         * src/nm-gsm-device.c
1645           src/nm-cdma-device.c
1646                 - (device_state_changed): don't close serial device on NEED_AUTH
1647                         state changed, that's not a failure case like the rest are
1648
1649         * src/ppp-manager/nm-pppd-plugin.c
1650                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
1651                         binds one interface to any pppd process, thus the correct index
1652                         is always 0; send PHASE_DEAD on error to alert NM immediately of
1653                         problems; try harder to get a peer address in spite of pppd
1654                 - (plugin_init): use 'ipparam' as the object path back to our specific
1655                         PPP manager instance
1656
1657 2008-08-04  Dan Williams  <dcbw@redhat.com>
1658
1659         * src/ppp-manager/nm-ppp-manager.c
1660                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
1661                         since the GSM and CDMA settings now implement need_secrets, we can
1662                         rely on them to do the right thing.  Where secrets are not required,
1663                         just pass empty strings back to the pppd plugin.
1664                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
1665                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
1666                         on successful IP4 config receipt
1667
1668 2008-08-04  Dan Williams  <dcbw@redhat.com>
1669
1670         * libnm-util/nm-setting-cdma.c
1671           libnm-util/nm-setting-gsm.c
1672                 - (verify): validate username & password if they exist
1673                 - (need_secrets): if username given, require a password too
1674
1675 2008-08-04  Dan Williams  <dcbw@redhat.com>
1676
1677         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1678                 - (create_dm_cmd_line): really don't listen on lo, despite what the
1679                         manpage says about --listen-address without --interface
1680                         (bgo #546033)
1681
1682 2008-08-01  Dan Williams  <dcbw@redhat.com>
1683
1684         * libnm-glib/nm-device.c
1685                 - (proxy_get_string): util function for querying a HAL property
1686                 - (get_ancestor_device): split out from get_product_and_vendor()
1687                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
1688                         from PCI devices by querying subsys properties
1689                 - (nm_device_update_description): simplify
1690
1691 2008-08-01  Dan Williams  <dcbw@redhat.com>
1692
1693         * libnm-util/nm-setting-ip4-config.c
1694           libnm-util/nm-setting-ip4-config.h
1695                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
1696                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
1697                         settings, and they don't necessarily use DHCP.
1698
1699         * src/NetworkManagerPolicy.c
1700           src/nm-device.c
1701           system-settings/plugins/ifcfg-fedora/reader.c
1702           system-settings/plugins/ifcfg-suse/parser.c
1703                 - Fixup for method changes
1704
1705 2008-07-31  Dan Williams  <dcbw@redhat.com>
1706
1707         * src/nm-activation-request.c
1708           src/vpn-manager/nm-vpn-connection.c
1709                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
1710                         itself should be attached to the activation request or the VPN
1711                         connection, not the NMConnection object, since the call is not
1712                         expected to live as long as the NMConnection itself
1713
1714 2008-07-31  Dan Williams  <dcbw@redhat.com>
1715
1716         * src/nm-device-wifi.c
1717                 - (real_act_stage2_config): fix issue where association would continue
1718                         even though secrets were needed; 'goto out' was in wrong scope and
1719                         result of handle_auth_or_fail() should have been dumped directly to
1720                         'ret' to ensure that the association was postponed until secrets
1721                         are available
1722
1723 2008-07-31  Dan Williams  <dcbw@redhat.com>
1724
1725         * system-settings/plugins/ifcfg-fedora/plugin.c
1726           system-settings/plugins/ifcfg-fedora/reader.c
1727                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
1728                         valid NM connection
1729
1730 2008-07-29  Dan Williams  <dcbw@redhat.com>
1731
1732         * src/nm-gsm-device.c
1733                 - (automatic_registration_response, automatic_registration): recognize
1734                         denied registration and reorder responses
1735
1736 2008-07-29  Dan Williams  <dcbw@redhat.com>
1737
1738         * src/nm-serial-device.c
1739                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
1740                         time(2) is used for current time, which returns seconds, we shouldn't
1741                         be multiplying by 1000.
1742
1743 2008-07-28  Dan Williams  <dcbw@redhat.com>
1744
1745         Patch from Fabrice Bellet <fabrice@bellet.info>
1746
1747         * src/NetworkManagerSystem.c
1748                 - (route_in_same_subnet): mask addresses and compare them so that the
1749                         function actually does what it says it's going to do (rh #456685)
1750
1751 2008-07-27  Dan Williams  <dcbw@redhat.com>
1752
1753         * libnm-util/nm-setting-ip6-config.c
1754                 - (set_property): add missing break that caused routes to be overwritten
1755                         with addresses
1756
1757         * libnm-util/nm-setting-ip6-config.c
1758                 - (verify): validate routes and return GError everywhere on invalid setting
1759                 - (finalize): don't leak routes
1760                 - (set_property): add missing break that caused routes to be overwritten
1761                         with addresses
1762
1763 2008-07-27  Dan Williams  <dcbw@redhat.com>
1764
1765         * libnm-util/*
1766                 - Relicense to LGPLv2+
1767
1768 2008-07-27  Dan Williams  <dcbw@redhat.com>
1769
1770         * system-settings/plugins/ifcfg-fedora/reader.c
1771                 - (make_ip4_setting): fix parsing automatic configs
1772
1773 2008-07-27  Dan Williams  <dcbw@redhat.com>
1774
1775         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1776           src/nm-device.c
1777           src/ppp-manager/nm-ppp-manager.c
1778                 - Ensure child process gets reaped.  The child watch function may be
1779                         removed from the mainloop before the child gets killed, so we have
1780                         to make sure the child is reaped when it's told to die intentionally
1781
1782 2008-07-27  Dan Williams  <dcbw@redhat.com>
1783
1784         Patch from Roy Marples <roy@marples.name>
1785
1786         * src/dhcp-manager/nm-dhcp-dhcpcd.c
1787                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
1788
1789 2008-07-27  Dan Williams  <dcbw@redhat.com>
1790
1791         * src/nm-gsm-device.c
1792                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
1793                         Huawei devices turn echo back on after CPIN (rh #456770)
1794
1795 2008-07-24  Tambet Ingo  <tambet@gmail.com>
1796
1797         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
1798         format argument to g_set_error() call.
1799
1800         * src/backends/interface_parser.[ch]: Remove.
1801
1802         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
1803
1804 2008-07-21  Dan Williams  <dcbw@redhat.com>
1805
1806         * src/ppp-manager/nm-ppp-manager.c
1807                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
1808                         to prevent pppd from picking up some random local address from an
1809                         interface that doesn't have anything to do with the one we're
1810                         interested in (rh #455348)
1811
1812 2008-07-17  Dan Williams  <dcbw@redhat.com>
1813
1814         * libnm-util/nm-utils.c
1815                 - (string_to_utf8): general function for conversion to UTF-8 assisted
1816                         by locale
1817                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
1818                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
1819
1820 2008-07-17  Dan Williams  <dcbw@redhat.com>
1821
1822         * introspection/Makefile.am
1823           introspection/nm-device.xml
1824           introspection/nm-dhcp4-config.xml
1825                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
1826                         itself
1827         * src/nm-device-interface.c
1828           src/nm-device-interface.h
1829                 - Add the DHCP4Config property
1830
1831         * src/nm-device.c
1832                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
1833                         D-Bus clients when it changes
1834
1835         * src/nm-dhcp4-config.c
1836           src/nm-dhcp4-config.h
1837                 - Simple object to store DHCP4 options, export them over D-Bus, and
1838                         notify when they change
1839
1840         * src/dhcp-manager/nm-dhcp-manager.c
1841           src/dhcp-manager/nm-dhcp-manager.h
1842                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
1843                         filter server-returned DHCP options into an NMDHCP4Config object
1844
1845 2008-07-16  Dan Williams  <dcbw@redhat.com>
1846
1847         * introspection/nm-device.xml
1848                 - Add device state reasons
1849
1850 2008-07-16  Dan Williams  <dcbw@redhat.com>
1851
1852         Patch from Roy Marples <roy@marples.name>
1853
1854         * configure.in
1855                 - Add --with-dhcp-client option
1856
1857         * src/dhcp-manager/Makefile.am
1858                 - pass DHCP_CLIENT_PATH on compile line
1859
1860         * src/dhcp-manager/nm-dhcp-manager.c
1861           src/dhcp-manager/nm-dhcp-manager.h
1862                 - Genericize for both dhcpcd and dhclient
1863
1864         * src/dhcp-manager/nm-dhcp-dhclient.c
1865                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
1866
1867         * src/dhcp-manager/nm-dhcp-dhcpcd.c
1868                 - Implement support for dhcpcd too
1869
1870 2008-07-16  Tambet Ingo  <tambet@gmail.com>
1871
1872         * system-settings/src/nm-system-config-interface.c 
1873         (nm_system_config_interface_supports_add): Implement.
1874         (nm_system_config_interface_add_connection): Return a boolean to notify
1875         of errors.
1876
1877         * system-settings/src/nm-polkit-helpers.c: 
1878         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
1879         a separate file.
1880
1881         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
1882         Return an error when none of the plugins support add or if addition
1883         failed for some reason.
1884
1885         * system-settings/src/nm-system-config-error.h: 
1886         * system-settings/src/nm-system-config-error.c: New files, mostly moved
1887         here from nm-polkit-helpers.[ch].
1888
1889         * system-settings/src/Makefile.am: Build new files.
1890
1891         * system-settings/plugins/keyfile/reader.c 
1892         (read_array_of_array_of_uint): Make it more general so that it would
1893         work for routes as well.
1894
1895         * system-settings/plugins/keyfile/writer.c
1896         (write_array_of_array_of_uint): Ditto.
1897         Fix the netmask/prefix writing.
1898
1899         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
1900         boolean to notify errors.
1901
1902         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
1903         Return more specific error.
1904         (delete): Ditto.
1905
1906 2008-07-11  Dan Williams  <dcbw@redhat.com>
1907
1908         Modify the NMDevice::state-changed signal to include the previous state
1909         and reason. Enables the applet to provide more information why device
1910         activation failed.
1911
1912 2008-07-09  Dan Williams  <dcbw@redhat.com>
1913
1914         * callouts/Makefile.am
1915           callouts/nm-avahi-autoipd-action.c
1916           callouts/nm-avahi-autoipd.conf
1917                 - avahi-autoipd callout to send options back to NM
1918
1919         * src/autoip.c
1920           src/autoip.h
1921                 - remove
1922
1923         * src/nm-device.c
1924           src/nm-device-private.h
1925           src/nm-manager.c
1926                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
1927                         old custom stuff
1928
1929 2008-07-07  Dan Williams  <dcbw@redhat.com>
1930
1931         * system-settings/plugins/ifcfg-fedora/reader.c
1932                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
1933                         handle PREFIX too; clean up
1934
1935 2008-07-07  Dan Williams  <dcbw@redhat.com>
1936
1937         Convert to using IPv4 prefixes instead of netmasks.
1938
1939 2008-07-03  Dan Williams  <dcbw@redhat.com>
1940
1941         * libnm-util/nm-setting-ip4-config.c
1942           libnm-util/nm-setting-ip4-config.h
1943                 - Add properties for DHCP Client Identifier and DHCP Hostname
1944
1945         * src/dhcp-manager/nm-dhcp-manager.c
1946           src/dhcp-manager/nm-dhcp-manager.h
1947                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
1948                         setting as an argument to pass on to the dhclient config file
1949                         creation function
1950                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
1951                         DHCP is torn down
1952                 - (dhclient_run): punt config file handling to create_dhclient_config()
1953                 - (create_dhclient_config): create an interface-specific dhclient
1954                         config file since there may need to be interface-specific options
1955                         passed to dhclient
1956                 - (merge_dhclient_config): merge normal distro dhclient config file and
1957                         add options from the connection
1958                 - (nm_dhcp_device_new): generate the interface specific dhclient
1959                         config file path once
1960                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
1961                         dhclient config file path
1962
1963         * src/nm-device.c
1964                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
1965                         DHCP manager when starting DHCP
1966
1967 2008-07-02  Dan Williams  <dcbw@redhat.com>
1968
1969         * libnm-util/nm-setting-8021x.c
1970                 - (verify): allow forcing the PEAP label to 0
1971
1972 2008-07-02  Dan Williams  <dcbw@redhat.com>
1973
1974         * introspection/nm-active-connection.xml
1975           introspection/nm-vpn-connection.xml
1976           libnm-glib/nm-active-connection.c
1977           src/nm-activation-request.c
1978           src/nm-active-connection.h
1979           src/vpn-manager/nm-vpn-connection.c
1980                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
1981                         and libnm-glib API since sharing didn't get implemented that way
1982
1983 2008-07-02  Dan Williams  <dcbw@redhat.com>
1984
1985         * src/nm-device-wifi.c
1986                 - (can_scan): don't scan when a shared connection is activated since
1987                         that makes drivers mad (causing disconnects); also NM doesn't need
1988                         to hedge against disconnects by keeping up-to-date network topology
1989                         because the connection originates from the local machine, and thus
1990                         there should be no disconnects
1991
1992 2008-07-01  Dan Williams  <dcbw@redhat.com>
1993
1994         Fix mobile broadband username/password issues.  NM was never requesting
1995         mobile broadband secrets, nor was it passing back the username and password
1996         if it had them.
1997
1998         * marshallers/nm-marshal.list
1999                 - Add some new types for activation request objects
2000
2001         * src/nm-activation-request.c
2002           src/nm-activation-request.h
2003                 - (get_secrets_cb): pass the caller type in the signal
2004                 - (nm_act_request_request_connection_secrets): take a caller type, so
2005                         that GetSecrets() reply handlers know who asked for the secrets in
2006                         the first place; use secret hints too so the settings service can
2007                         figure out exactly what NM wants (ie, PIN or the PPP password)
2008
2009         * src/ppp-manager/nm-ppp-manager.c
2010           src/ppp-manager/nm-ppp-manager.h
2011                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
2012                         detect needed secrets when the secret could be blank, like GSM/CDMA
2013                         passwords.  So always ask for secrets, and send a hint as to what
2014                         secret we really want.
2015                 - (nm_ppp_manager_update_secrets): make function more generic by making
2016                         the device specific class figure out the username and password, and
2017                         accept an error argument to return back over D-Bus
2018
2019         * src/nm-device-wifi.c
2020                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2021                         nm_act_request_request_connection_secrets()
2022                 - (real_connection_secrets_updated): update for 'caller' changes
2023
2024         * src/nm-device.c
2025           src/nm-device.h
2026                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
2027                         for 'caller' changes
2028
2029         * src/nm-device-ethernet.c
2030                 - (real_connection_secrets_updated): update for 'caller' changes and
2031                         move logic for getting PPPoE username and password here before
2032                         calling nm_ppp_manager_update_secrets()
2033                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2034                         nm_act_request_request_connection_secrets()
2035
2036         * src/nm-cdma-device.c
2037                 - (real_connection_secrets_updated): pass username and password back
2038                         to the PPP manager when required
2039
2040         * src/nm-gsm-device.c
2041                 - (enter_pin): send the required secret name to the settings service
2042                 - (real_connection_secrets_updated): pass username and password back
2043                         to the PPP manager when required
2044
2045 2008-06-30  Dan Williams  <dcbw@redhat.com>
2046
2047         * src/nm-device-wifi.c
2048                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
2049
2050 2008-06-30  Dan Williams  <dcbw@redhat.com>
2051
2052         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
2053         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
2054         priv->supplicant.iface.  When either condition is false, the device should
2055         transition back to UNAVAILABLE because it cannot be used.
2056
2057         * src/nm-device-wifi.c
2058                 - (constructor): cleanup; connect to supplicant manager here since the
2059                         supplicant manager is always around
2060                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
2061                         ensure the supplicant manager is in the IDLE state
2062                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
2063                         cancel any pending scans too
2064                 - (real_bring_up): don't set up the supplicnat interface here, because
2065                         we need the supplicant interface at times when the device may not
2066                         be "up"
2067                 - (real_take_down): just remove the periodic source
2068                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
2069                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
2070                         do anything if there's no supplicant interface
2071                 - (cleanup_association_attempt): cleanup
2072                 - (supplicant_iface_state_cb_handler): request an immediate scan when
2073                         the interface enters the READY state; transition to UNAVAILABLE
2074                         state when the interface goes down because the device can't be used
2075                         without a supplicant interface
2076                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
2077                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
2078                         acquire the supplicant interface and transition to DISCONNECTED
2079                         if the radio isn't killed
2080                 - (nm_device_wifi_dispose): move most of device_cleanup() here
2081                 - (state_changed_cb): release any existing supplicant interface; if the
2082                         radio is enabled then try to acquire a new supplicant interface;
2083                         if the radio is enabled and a supplicant interface has been acquired,
2084                         we can transition to DISCONNECTED
2085                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
2086                         don't enable the radio, because HAL probably lied to us about the
2087                         killswitch being off.  If bringing the hardware up worked, then
2088                         try to grab a supplicant interface, and if that was successful,
2089                         transition to DISCONNECTED
2090
2091 2008-06-30  Dan Williams  <dcbw@redhat.com>
2092
2093         * src/supplicant-manager/nm-supplicant-interface.c
2094                 - (request_scan_results, nm_supplicant_interface_dispose,
2095                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
2096                         the id of the timeout, not a GSource
2097
2098 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2099
2100         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
2101         bunch of typoes introduced by "Patch from David Cantrell 
2102         <dcantrell@redhat.com> and me".
2103
2104 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2105
2106         * src/nm-serial-device.c: 
2107         * src/nm-gsm-device.c: 
2108         * src/nm-cdma-device.c: Move the pending call handling to a common location
2109         in serial device. Handle setting device state to failed in one place as well.
2110
2111 2008-06-29  Dan Williams <dcbw@redhat.com>
2112
2113         * src/nm-hal-manager.c
2114                 - Rework killswitch handling to query killswitch status immediately
2115                         when the first killswitch is added, so that rfkill state is
2116                         known as early as possible
2117                 - Also treat failure of GetPower() as rfkill when the dbus method
2118                         call times out (but not when the HAL callout returns an error)
2119
2120 2008-06-26  Dan Williams <dcbw@redhat.com>
2121
2122         Patch from David Cantrell <dcantrell@redhat.com> and me
2123
2124         * include/nm-dbus-glib-types.h
2125                 - Add IP6 address types
2126
2127         * libnm-util/Makefile.am
2128           libnm-util/nm-setting-ip6-config.c
2129           libnm-util/nm-setting-ip6-config.h
2130                 - Add IP6 settings object
2131
2132         * libnm-util/nm-connection.c
2133                 - (register_default_settings): register ip6 settings object
2134
2135         * libnm-util/nm-utils.c
2136           libnm-util/nm-utils.h
2137                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
2138                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
2139                         ip6 address conversion functions
2140         
2141 2008-06-26  Dan Williams <dcbw@redhat.com>
2142
2143         Patch from David Cantrell <dcantrell@redhat.com>
2144         
2145         * Use inet_ntop() and inet_pton() everwhere and check for errors
2146
2147 2008-06-26  Dan Williams <dcbw@redhat.com>
2148
2149         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
2150
2151 2008-06-26  Dan Williams <dcbw@redhat.com>
2152
2153         Patch from Adel Gadllah <adel.gadllah@gmail.com>
2154
2155         * src/nm-device-wifi.c
2156                 - (link_timeout_cb): don't ignore disconnects due to scanning
2157                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
2158                         a longer timeout when scanning; avoids case where supplicant can't
2159                         find the AP and just keeps scanning forever but isn't connected
2160
2161 2008-06-26  Dan Williams <dcbw@redhat.com>
2162
2163         Patch from Michael Biebl <biebl@debian.org>
2164
2165         * Clean up build system stuff
2166
2167 2008-06-23  Christian Persch  <chpe@gnome.org>
2168
2169         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
2170         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
2171         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
2172         (impl_get_object):
2173         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
2174         (impl_get_object):
2175         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
2176         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
2177         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
2178         (impl_get_object):
2179         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
2180         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
2181         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
2182         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
2183         * vpn-daemons/pptp/properties/vpnui_opt.c:
2184         (vpnui_opt_connect_signals):
2185         * vpn-daemons/pptp/properties/vpnui_opt.h:
2186         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
2187         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
2188         deprecated gtk type macros. Bug #539325.
2189
2190 2008-06-20  Dan Williams  <dcbw@redhat.com>
2191
2192         * libnm-glib/nm-vpn-plugin-ui-interface.c
2193           libnm-glib/nm-vpn-plugin-ui-interface.h
2194                 - 'validity-changed' -> 'changed' to work better with the connection
2195                         editor.  Plugin UI widgets should emit 'changed' whenever their
2196                         UI values change in a meaningful way.
2197                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
2198                         update_connection member now returns validity of the UI widget
2199
2200 2008-06-20  Tambet Ingo  <tambet@gmail.com>
2201
2202         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
2203
2204 2008-06-17  Dan Williams  <dcbw@redhat.com>
2205
2206         * libnm-glib/nm-vpn-plugin-ui-interface.c
2207           libnm-glib/nm-vpn-plugin-ui-interface.h
2208                 - Add "desc" property for longer descriptions of the VPN plugin
2209
2210 2008-06-16  Dan Williams  <dcbw@redhat.com>
2211
2212         * configure.in
2213           libnm-glib/libnm_glib_vpn.pc.in
2214                 - add a .pc file for libnm_glib_vpn
2215
2216         * libnm-glib/nm-vpn-plugin-ui-interface.c
2217           libnm-glib/nm-vpn-plugin-ui-interface.h
2218                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
2219                         rework it substantially
2220
2221 2008-06-12  Dan Williams  <dcbw@redhat.com>
2222
2223         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
2224         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
2225         returns a descriptive GError when verification fails.
2226
2227 2008-06-11  Dan Williams  <dcbw@redhat.com>
2228
2229         Patch from Tambet Ingo <tambet@gmail.com>
2230
2231         * libnm-util/nm-setting-gsm.c
2232                 - (verify): validate APN
2233
2234         * src/nm-gsm-device.c
2235                 - (manual_registration_done): start setting APN if needed
2236                 - (set_apn, set_apn_done): set the APN
2237                 - (do_dial): use the APN when dialing
2238
2239 2008-06-11  Dan Williams  <dcbw@redhat.com>
2240
2241         * src/NetworkManagerSystem.c
2242                 - (nm_system_device_set_ip4_route,
2243                    nm_system_device_replace_default_ip4_route): check for the right
2244                         return value from rtnl_route_add() to know when to add a gateway
2245                         route (from Tambet)
2246
2247 2008-06-11  Dan Williams  <dcbw@redhat.com>
2248
2249         * src/NetworkManagerPolicy.c
2250                 - do_ipt_cmd -> do_cmd
2251                 - (sharing_init): use do_cmd() instead of system()
2252
2253 2008-06-10  Dan Williams  <dcbw@redhat.com>
2254
2255         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
2256         and use "wifi" everwhere instead.
2257
2258 2008-06-10  Dan Williams  <dcbw@redhat.com>
2259
2260         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
2261
2262 2008-06-10  Dan Williams  <dcbw@redhat.com>
2263
2264         Patch from Tambet Ingo <tambet@gmail.com>
2265
2266         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
2267                 changes.
2268
2269         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
2270                 a signal to emit these changes over dbus.
2271
2272         * src/Makefile.am: Genereate nm-serial-device-glue.
2273
2274         * libnm-glib/nm-serial-device.[ch]: Implement.
2275
2276         * libnm-glib/nm-cdma-device.[ch]
2277           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
2278
2279         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
2280
2281         * introspection/nm-device-serial.xml: Implement.
2282
2283         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
2284
2285         * introspection/Makefile.am: Add nm-device-serial.xml.
2286
2287         * include/NetworkManager.h: Add a DBus interface for serial device.
2288
2289 2008-06-10  Dan Williams  <dcbw@redhat.com>
2290
2291         * configure.in
2292                 - Add TARGET_* define to config.h to distinguish distros
2293
2294         * src/dhcp-manager/nm-dhcp-manager.c
2295                 - (dhclient_run): use distro-specific path for dhclient config file
2296
2297 2008-06-09  Dan Williams  <dcbw@redhat.com>
2298
2299         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2300           src/dnsmasq-manager/nm-dnsmasq-manager.h
2301                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2302                         calculate the addresses passed to dnsmasq instead of hard-coding
2303                         them
2304
2305         * src/nm-device.c
2306                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2307                         IP addresses for shared connections to guard against shared
2308                         connection address collisions
2309                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2310                         error conditions
2311                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2312                         the dnsmasq manager
2313
2314 2008-06-09  Dan Williams  <dcbw@redhat.com>
2315
2316         * src/NetworkManagerPolicy.c
2317                 - (update_routing_and_dns): set the default connection _after_ unsetting
2318                         default on all non-default connections so that two connections can
2319                         never be default at the same time
2320                 - (device_state_changed): start and stop connection sharing when
2321                         needed
2322                 - (active_connection_default_changed): restart or stop sharing when
2323                         the default connection changes to keep shared connections always
2324                         NAT-ed through the default connection
2325                 - (check_sharing): handle activation/deactivation of shared connections
2326                 - (sharing_restart): atom-bomb approach to connection sharing until we
2327                         can use libnl; reinit all sharing when the default connection or
2328                         shared connections change
2329                 - (sharing_init, sharing_stop): evil functions that init and deinit
2330                         iptables
2331
2332 2008-06-09  Dan Williams  <dcbw@redhat.com>
2333
2334         * src/nm-activation-request.c
2335           src/nm-activation-request.h
2336                 - (nm_act_request_set_shared, nm_act_request_get_shared,
2337                    nm_act_request_get_device): new functions to facilitate connection
2338                         sharing
2339
2340 2008-06-09  Dan Williams  <dcbw@redhat.com>
2341
2342         * src/nm-device.c
2343                 - (clear_act_request): unset the 'default' property of the activation
2344                         request when clearing it to ensure the property changed signal gets
2345                         delivered and handled
2346
2347 2008-06-09  Dan Williams  <dcbw@redhat.com>
2348
2349         * libnm-glib/nm-device-802-11-wireless.c
2350                 - (access_point_removed_proxy): actually unref the AP after removing
2351                         it from the device's AP list.  Fixes refcounting bug for APs that
2352                         caused them to get mixed up in the applet's menu.
2353
2354 2008-06-09  Tambet Ingo  <tambet@gmail.com>
2355
2356         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
2357         (nm_dhcp_device_destroy): Destroy the device options hash table.
2358
2359 2008-06-06  Dan Williams <dcbw@redhat.com>
2360
2361         * system-settings/src/nm-polkit-helpers.c
2362                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
2363                         unref the context if the initialization fails; also avoid spew when
2364                         the error isn't set
2365
2366 2008-06-06  Dan Williams <dcbw@redhat.com>
2367
2368         Patch from Tambet Ingo  <tambet@gmail.com>
2369
2370         * src/NetworkManagerSystem.c
2371           src/NetworkManagerSystem.h
2372                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
2373                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
2374                 - (nm_system_device_set_ip4_route): clean up
2375                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
2376
2377         * src/nm-device.c
2378                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
2379
2380         * src/vpn-manager/nm-vpn-connection.c
2381                 - (ip_address_to_string): new function
2382                 - (print_vpn_config): use ip_address_to_string
2383                 - (merge_vpn_routes): add user-defined routes to the ip4 config
2384                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
2385
2386         * include/NetworkManagerVPN.h
2387                 - Add 'routes' key
2388
2389 2008-06-05  Dan Williams <dcbw@redhat.com>
2390
2391         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2392
2393         * test/nm-tool.c
2394                 - Show which device is the default device
2395
2396 2008-06-05  Tambet Ingo  <tambet@gmail.com>
2397
2398         Fix memory leaks.
2399
2400         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
2401         Free data returned from dbus method call.
2402
2403         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
2404         dbus_g_method_get_sender() returns a duplicated string, free it 
2405         when done.
2406         (check_polkit_privileges): Looks like policykit sometimes returns
2407         error and non-null return value, don't leak errors in that case.
2408
2409         * system-settings/src/main.c (find_plugin): Don't leak existing 
2410         plugin names.
2411         (load_stuff): Don't leak device list and list items.
2412         (have_connection_for_device): Don't leak connection list.
2413
2414         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
2415         Free the data received from g_keyfile_get_*.
2416
2417         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
2418         the key when the security object is updated.
2419
2420         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
2421         Free data returned from dbus method call.
2422         (iface_state_cb): Ditto.
2423         (add_network_cb): Ditto.
2424         (nm_supplicant_interface_add_cb): Don't make another copy of already
2425         duplicated object path.
2426         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
2427         when done.
2428
2429         * src/supplicant-manager/nm-supplicant-config.c 
2430         (ADD_STRING_LIST_VAL): Fix a memory leak.
2431
2432         * src/nm-manager.c (free_get_settings_info): Free the allocated
2433         memory slice.
2434         (list_connections_cb): Free data returned from dbus method call.
2435         (system_settings_get_unmanaged_devices_cb): Ditto.
2436
2437         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
2438
2439         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
2440         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
2441         * src/backends/shvar.c (svCloseFile): Free the duplicated content
2442         of the GList.
2443
2444         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
2445         arguments after the object is created.
2446
2447 2008-06-04  Dan Williams <dcbw@redhat.com>
2448
2449         * libnm-util/Makefile.am
2450                 - Don't distribute nm-param-spec-specialized.h
2451
2452 2008-06-02  Tambet Ingo  <tambet@gmail.com>
2453
2454         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
2455
2456         * src/nm-ip4-config.[ch]: Store the static routes as a list of
2457         NMIP4Address, update the getters and setters.
2458
2459         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2460         Use the updated NMIP4Config routes api.
2461
2462         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
2463         static routes as well.
2464
2465         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
2466         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
2467         routes api.
2468
2469 2008-05-30  Dan Williams <dcbw@redhat.com>
2470
2471         * src/named-manager/nm-named-manager.c
2472           src/named-manager/nm-named-manager.h
2473                 - Remove stale/obsolete bits for controlling bind over DBus
2474
2475 2008-05-29  Dan Williams <dcbw@redhat.com>
2476
2477         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2478           src/dnsmasq-manager/nm-dnsmasq-manager.h
2479                 - (nm_dnsmasq_manager_new): move iface argument here
2480                 - (constructor): remove, not needed
2481                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
2482                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
2483
2484         * src/nm-device.c
2485                 - (real_act_stage4_get_ip4_config,
2486                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
2487                         changes
2488
2489 2008-05-29  Dan Williams <dcbw@redhat.com>
2490
2491         * src/nm-device.c
2492                 - (dnsmasq_state_changed_cb): new function; fail the connection if
2493                         something happens to dnsmasq
2494                 - (nm_device_new_ip4_shared_config): new function; create a new
2495                         ip4-config for shared connections.  Shared connections always use a
2496                         fixed static IP address.
2497                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
2498                         autoip connections by actually using the returned ip4-config and
2499                         not leaking it
2500                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
2501                         connections
2502                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
2503                         if its active
2504
2505 2008-05-29  Dan Williams <dcbw@redhat.com>
2506
2507         * src/nm-device-802-11-wireless.c
2508                 - (real_get_best_auto_connection): auto-activate 'shared' method
2509                         connections too
2510
2511 2008-05-29  Dan Williams <dcbw@redhat.com>
2512
2513         * libnm-util/nm-setting-ip4-config.c
2514           libnm-util/nm-setting-ip4-config.h
2515                 - Add a 'shared' method to indicate that this connection should be
2516                         brought up with a DHCP and proxy DNS server to facilitate
2517                         connection sharing.
2518                 - (verify): 'shared' method doesn't allow DNS or searches either
2519
2520 2008-05-29  Dan Williams <dcbw@redhat.com>
2521
2522         * configure.in
2523           src/Makefile.am
2524           src/dnsmasq-manager/Makefile.am
2525           src/dnsmasq-manager/nm-dnsmasq-manager.c
2526           src/dnsmasq-manager/nm-dnsmasq-manager.h
2527                 - Add a dnsmasq daemon manager to facilitate connection sharing
2528
2529 2008-05-29  Dan Williams <dcbw@redhat.com>
2530
2531         * src/nm-device-private.h
2532                 - Remove unused prototypes and clean up
2533
2534         * src/nm-device.c
2535                 - Remove anything related to system_config_data, which is no longer used
2536                 - (nm_device_new_ip4_autoip_config): make static
2537
2538 2008-05-29  Tambet Ingo  <tambet@gmail.com>
2539
2540         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
2541         (file_changed): Fix a bug where suse system settings plugin didn't
2542         update the connections automatically when the files changed.
2543
2544 2008-05-28  Dan Williams  <dcbw@redhat.com>
2545
2546         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
2547
2548 2008-05-28  Dan Williams  <dcbw@redhat.com>
2549
2550         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2551
2552         * src/NetworkManagerSystem.c
2553                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
2554                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
2555                         was causing -EINVAL errors since the libnl code actually does flush
2556                         the routes on VPN interfaces now
2557
2558         * src/backends/NetworkManagerArch.c
2559           src/backends/NetworkManagerDebian.c
2560           src/backends/NetworkManagerFrugalware.c
2561           src/backends/NetworkManagerGeneric.c
2562           src/backends/NetworkManagerGentoo.c
2563           src/backends/NetworkManagerMandriva.c
2564           src/backends/NetworkManagerPaldo.c
2565           src/backends/NetworkManagerRedHat.c
2566           src/backends/NetworkManagerSlackware.c
2567           src/backends/NetworkManagerSuSE.c
2568                 - (nm_system_device_flush_ip4_routes,
2569                    nm_system_device_flush_ip4_routes_with_iface): remove
2570
2571 2008-05-28  Dan Williams  <dcbw@redhat.com>
2572
2573         * libnm-util/nm-setting-wireless.c
2574           libnm-util/nm-setting-wireless.h
2575                 - (set_property, get_property, nm_setting_wireless_class_init): add the
2576                         'adhoc-create' property, which when TRUE indicates that NM should
2577                         create this connection as an adhoc wifi network if it's not found
2578                         as an adhoc network during scanning.  Can be used to auto-create
2579                         adhoc networks when used in combination with autoconnect.
2580
2581 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2582
2583         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
2584
2585         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
2586         checked, it doesn't work on some devices.
2587
2588 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2589
2590         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
2591         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
2592
2593         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2594         Use inet_aton() everywhere to improve error detection.
2595         Don't fall back to 'dhcp_server_identifier' if the gateway is not
2596         provided.
2597
2598 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2599
2600         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
2601         Fix a typo.
2602
2603 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2604
2605         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
2606         reference counting issue.
2607
2608 2008-05-23  Dan Williams  <dcbw@redhat.com>
2609
2610         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2611
2612         * src/backends/NetworkManagerGeneric.c
2613                 - (nm_generic_enable_loopback): use libnl
2614
2615 2008-05-23  Dan Williams  <dcbw@redhat.com>
2616
2617         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2618
2619         * src/NetworkManagerSystem.h
2620           src/backends/NetworkManagerArch.c
2621           src/backends/NetworkManagerDebian.c
2622           src/backends/NetworkManagerFrugalware.c
2623           src/backends/NetworkManagerGentoo.c
2624           src/backends/NetworkManagerMandriva.c
2625           src/backends/NetworkManagerPaldo.c
2626           src/backends/NetworkManagerRedHat.c
2627           src/backends/NetworkManagerSlackware.c
2628           src/backends/NetworkManagerSuSE.c
2629                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
2630                    nm_system_flush_arp_cache): remove, unused
2631
2632         * src/backends/NetworkManagerGeneric.c
2633           src/backends/NetworkManagerGeneric.h
2634                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
2635                    nm_generic_flush_arp_cache): remove, unused
2636
2637 2008-05-23  Dan Williams  <dcbw@redhat.com>
2638
2639         * system-settings/plugins/ifcfg-fedora/reader.c
2640                 - (make_ip4_setting): honor PEERDNS setting
2641
2642 2008-05-23  Dan Williams  <dcbw@redhat.com>
2643
2644         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2645
2646         * src/NetworkManagerSystem.c
2647                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
2648                         libnl
2649
2650         * src/backends/NetworkManagerArch.c
2651           src/backends/NetworkManagerDebian.c
2652           src/backends/NetworkManagerFrugalware.c
2653           src/backends/NetworkManagerGentoo.c
2654           src/backends/NetworkManagerMandriva.c
2655           src/backends/NetworkManagerPaldo.c
2656           src/backends/NetworkManagerRedHat.c
2657           src/backends/NetworkManagerSlackware.c
2658           src/backends/NetworkManagerSuSE.c
2659                 - (nm_system_device_flush_ip4_addresses,
2660                    nm_system_device_flush_ip4_addresses_with_iface): remove
2661
2662         * src/backends/NetworkManagerGeneric.c
2663                 - (nm_generic_device_flush_ip4_addresses,
2664                    nm_generic_device_flush_ip4_addresses_with_iface): remove
2665
2666 2008-05-23  Dan Williams  <dcbw@redhat.com>
2667
2668         * src/supplicant-manager/nm-supplicant-settings-verify.c
2669                 - Switch 'bssid' from bytes to keyword type
2670                 - (validate_type_keyword): allow NULL keyword lists
2671
2672         * src/supplicant-manager/nm-supplicant-config.c
2673                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
2674                         a byte array to string form, which is what the supplicant expects
2675
2676 2008-05-23  Tambet Ingo  <tambet@gmail.com>
2677
2678         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
2679         information received from DHCP.
2680
2681         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
2682         to make it possible to ignore the DNS information (both servers and 
2683         searches) returned by DHCP server.
2684
2685         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
2686         name servers and searches if "ignore_dhcp_dns" is set.
2687
2688         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
2689         (nm_ip4_config_reset_searches): Implement.
2690
2691 2008-05-22  Dan Williams  <dcbw@redhat.com>
2692
2693         Remove anything mDNS related.  This is better done from a distro-specific
2694         dispatcher script.  Plus, any distro using avahi doesn't need to restart
2695         avahi, since avahi can handle interface changes just fine using netlink.
2696
2697         * configure.in
2698                 - Remove --with-mdns-provider
2699
2700         * src/NetworkManagerPolicy.c
2701                 - (global_state_changed): don't restart the mdns provider
2702
2703         * src/NetworkManagerSystem.h
2704           src/backends/NetworkManagerArch.c
2705           src/backends/NetworkManagerDebian.c
2706           src/backends/NetworkManagerFrugalware.c
2707           src/backends/NetworkManagerGentoo.c
2708           src/backends/NetworkManagerMandriva.c
2709           src/backends/NetworkManagerPaldo.c
2710           src/backends/NetworkManagerRedHat.c
2711           src/backends/NetworkManagerSlackware.c
2712           src/backends/NetworkManagerSuSE.c
2713                 - (nm_system_restart_mdns_responder): remove
2714
2715         * src/backends/NetworkManagerGeneric.c
2716           src/backends/NetworkManagerGeneric.h
2717                 - (nm_generic_restart_mdns_responder): remove
2718
2719 2008-05-22  Dan Williams  <dcbw@redhat.com>
2720
2721         * configure.in
2722                 - clean up crypto options; just use --with-crypto=nss or
2723                         --with-crypto=gnutls
2724
2725 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2726
2727         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
2728         anymore, do it right away.
2729
2730 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2731
2732         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
2733         serial device open when we're not connecting or connected.
2734
2735         * src/nm-cdma-device.c (device_state_changed): Ditto.
2736
2737 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2738
2739         Don't remove all devices on waking up, sync with HAL.
2740
2741         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
2742         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
2743         (hal_manager_hal_reappeared_cb): Just call sync_devices.
2744
2745 2008-05-21  Tambet Ingo  <tambet@gmail.com>
2746
2747         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
2748         If the default gateway is unreachable, add a route to gateway and try
2749         again.
2750
2751 2008-05-20  Dan Williams  <dcbw@redhat.com>
2752
2753         * system-settings/plugins/ifcfg-fedora/reader.c
2754                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
2755
2756 2008-05-19  Dan Williams  <dcbw@redhat.com>
2757
2758         * system-settings/plugins/ifcfg-fedora/reader.c
2759                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
2760                         if the ifcfg doesn't specify one (rh #446527)
2761
2762 2008-05-19  Dan Williams  <dcbw@redhat.com>
2763
2764         Make the system settings service exit when the bus goes away.  Since it's
2765         a bus-activated service, it's lifetime is limited to the bus that activated
2766         it (rh #444976).
2767
2768         * system-settings/src/Makefile.am
2769           system-settings/src/nm-system-config-hal-manager-private.h
2770                 - Remove nm-system-config-hal-manager-private.h
2771
2772         * system-settings/src/nm-system-config-hal-manager.c
2773                 - (nm_system_config_hal_manager_reinit_dbus,
2774                    nm_system_config_hal_manager_deinit_dbus): remove
2775
2776         * system-settings/src/main.c
2777                 - (dbus_reconnect): remove
2778                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
2779                 - (destroy_cb): just quit when the bus goes away
2780                 - (start_dbus_service, dbus_init): simplify
2781                 - (main): destroy the wired devices hash table after destroying
2782                         the HAL manager so we don't have to disconnect signals from the
2783                         HAL manager
2784
2785 2008-05-15  Tambet Ingo  <tambet@gmail.com>
2786
2787         Move crypto functions from nm-applet to libnm-util.
2788
2789         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
2790         (nm_setting_802_1x_set_client_cert)
2791         (nm_setting_802_1x_set_phase2_ca_cert)
2792         (nm_setting_802_1x_set_phase2_client_cert)
2793         (nm_setting_802_1x_set_private_key)
2794         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
2795         file (or private key and it's password), read the certificate data.
2796
2797         * libnm-util/crypto_nss.c: 
2798         * libnm-util/crypto_gnutls.c: 
2799         * libnm-util/crypto.[ch]: Move here from nm-applet.
2800
2801         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
2802
2803         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
2804         Imlement WPA-EAP configuration reading from sysconfig.
2805
2806 2008-05-16  Dan Williams  <dcbw@redhat.com>
2807
2808         * src/nm-device-802-11-wireless.c
2809                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
2810                         wireless
2811
2812 2008-05-14  Dan Williams  <dcbw@redhat.com>
2813
2814         Fix Linus' bug in rh #134886
2815
2816         * src/nm-device-802-3-ethernet.c
2817                 - (constructor): request initial carrier state
2818
2819         * src/nm-netlink-monitor.c
2820                 - (nm_netlink_monitor_request_status): schedule emission of carrier
2821                         signals after refilling the link cache.  Because the refill is a 
2822                         synchronous operation, the normal message hander won't get called
2823                         since libnl has already consumed the messages.
2824                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
2825
2826 2008-05-14  Dan Williams  <dcbw@redhat.com>
2827
2828         * src/NetworkManagerSystem.c
2829                 - (nm_system_device_is_up_with_iface): clean up
2830
2831 2008-05-13  Dan Williams  <dcbw@redhat.com>
2832
2833         Fix refcounting issues over sleep/wake when a VPN connection was active that
2834         caused NM to try registering an object path for a device upon wake that was
2835         the same as an already registered object path.
2836
2837         * src/nm-device.c
2838                 - (nm_device_take_down): properly handle cases where the device is
2839                         no longer active but was just active, and therefore must be
2840                         deactivated.  When a device moves to unmanaged mode, this function
2841                         previously would not deactivate the device, because the state was
2842                         already unmanaged by the time this function was called.
2843
2844         * src/vpn-manager/nm-vpn-connection.c
2845                 - (device_state_changed): properly handle multiple devices states in
2846                         which the device is now deactivated.  Code previously didn't handle
2847                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
2848                         UNMANAGED states.
2849
2850 2008-05-13  Dan Williams  <dcbw@redhat.com>
2851
2852         * src/nm-device-private.h
2853           src/nm-device.c
2854                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
2855
2856         * src/nm-device-802-11-wireless.c
2857                 - (nm_device_802_11_wireless_set_enabled): take devices up
2858                         and down as appropriate for the rfkill state
2859
2860 2008-05-13  Dan Williams  <dcbw@redhat.com>
2861
2862         * marshallers/nm-marshal.list
2863                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
2864
2865         * system-settings/plugins/ifcfg-fedora/Makefile.am
2866           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
2867           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
2868                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
2869                         events.  Solely for use watching ifcfg files to pick up changes
2870                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
2871
2872         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
2873                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
2874                         file contents change
2875                 - (finalize): clean up inotify watches
2876                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
2877                         and the connection ifcfg for changes on their hardlinks
2878                 - (files_changed_cb): proxy the changed signal back out to listeners
2879
2880         * system-settings/plugins/ifcfg-fedora/plugin.c
2881                 - (dir_changed): 
2882                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
2883                         changes
2884                 - (read_one_connection): connect to change signals on the new connection
2885                 - (dir_changed, connection_changed_handler,
2886                    handle_connection_remove_or_new): break out connection change
2887                         handling and connection new/remove handling so it can be used from
2888                         both the GFileMonitor callback and the NMIfcfgConnection changed
2889                         signals
2890
2891         * system-settings/plugins/ifcfg-fedora/reader.c
2892           system-settings/plugins/ifcfg-fedora/reader.h
2893                 - (connection_from_file): return the keyfile path the connection would use
2894
2895 2008-05-13  Tambet Ingo  <tambet@gmail.com>
2896
2897         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
2898         single PolKitContext which is shared by all. PolKitContext::unref leaks
2899         just about everything, including all open file descriptiors and results
2900         in 99% cpu usage when data arrives to any of the fds that don't belong
2901         to any context anymore.
2902
2903 2008-05-12  Dan Williams  <dcbw@redhat.com>
2904
2905         * gfilemonitor/glocaldirectorymonitor.c
2906           gfilemonitor/glocaldirectorymonitor.h
2907                 - (g_local_directory_monitor_constructor): actually subscribe to the
2908                         watch
2909                 - (_g_local_directory_monitor_new): ensure that inotify is started up
2910
2911         * gfilemonitor/glocalfilemonitor.c
2912           gfilemonitor/glocalfilemonitor.h
2913                 - (g_local_file_monitor_constructor): actually subscribe to the watch
2914                 - (_g_local_file_monitor_new): ensure that inotify is started up
2915
2916 2008-05-11  Dan Williams  <dcbw@redhat.com>
2917
2918         * configure.in
2919                 - record PolicyKit version
2920
2921         * system-settings/src/nm-polkit-helpers.c
2922                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
2923                         with PolicyKit <= 0.6
2924
2925 2008-05-11  Dan Williams  <dcbw@redhat.com>
2926
2927         Update Fedora system-settings plugin to support latest API and use
2928         GFileMonitor rather than home-rolled inotify code.
2929
2930         * system-settings/plugins/ifcfg-fedora/Makefile.am
2931           system-settings/plugins/ifcfg-fedora/common.h
2932           system-settings/plugins/ifcfg-fedora/plugin.c
2933                 - Update to latest system settings plugin API; use GIO instead of
2934                         custom inotify code; use NMIfcfgConnection objects instead of
2935                         ConnectionData structures tacked onto NMConnection objects
2936
2937         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
2938           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
2939                 - Implement an NMExportedConnection subclass mapping ifcfg files to
2940                         connections
2941
2942         * system-settings/plugins/ifcfg-fedora/reader.c
2943           system-settings/plugins/ifcfg-fedora/reader.h
2944                 - Move ifcfg parsing bits here from parser.c
2945
2946         * system-settings/plugins/ifcfg-fedora/parser.c
2947           system-settings/plugins/ifcfg-fedora/parser.h
2948                 - Remove; most code moved to reader.c
2949
2950 2008-05-11  Dan Williams  <dcbw@redhat.com>
2951
2952         * configure.in
2953           Makefile.am
2954           gfilemonitor/*
2955                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
2956                         implementation, so that the same change monitoring code can be used
2957                         on systems without glib-2.14 (like Fedora 8)
2958
2959         * system-settings/plugins/keyfile/Makefile.am
2960           system-settings/plugins/keyfile/plugin.c
2961           system-settings/plugins/ifcfg-suse/Makefile.am
2962           system-settings/plugins/ifcfg-suse/plugin.c
2963                 - Use private gfilemonitor code if GIO is not present
2964
2965 2008-05-09  Tambet Ingo  <tambet@gmail.com>
2966
2967         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
2968         NMExportedConnection's 'update' and 'delete' and return error with
2969         descriptive message.
2970
2971 2008-05-08  Dan Williams  <dcbw@redhat.com>
2972
2973         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2974
2975         * src/nm-gsm-device.c
2976           src/nm-cdma-device.c
2977                 - (real_get_best_auto_connection): implement; allow autoconnection
2978                         to GSM & CDMA devices
2979
2980 2008-05-08  Tambet Ingo  <tambet@gmail.com>
2981
2982         Use PolicyKit to authorize the system settings' AddConnection method
2983         and the system settings connections' Update and Delete methods.
2984         
2985         * libnm-glib/nm-settings.c (impl_exported_connection_update)
2986         (impl_exported_connection_delete, nm_exported_connection_update)
2987         (nm_exported_connection_delete): Return boolean and fill GError
2988         to notify the callers of the reasons why it might have failed.
2989
2990         * libnm-glib/nm-dbus-settings-system.c
2991         (nm_dbus_settings_system_add_connection): Return the error from dbus
2992         call so that the callers can see why it failed.
2993
2994         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
2995         signatures.
2996
2997         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
2998
2999         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
3000         abstract base class that checks PolicyKit permissions.
3001
3002         * system-settings/src/dbus-settings.c:
3003         (impl_settings_add_connection): Check the policy before carring out
3004         the request.
3005
3006         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
3007         Inherit from NMSysconfigConnection, check the policies before
3008         allowing updating or removing.
3009
3010         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
3011         Inherit from NMSysconfigConnection.
3012
3013         * introspection/nm-exported-connection.xml: Annotate "Update" and 
3014         "Delete" methods with async flag so that the implementations can get
3015         access to DBusGMethodInvocation.
3016
3017         * system-settings/src/dbus-settings.c 
3018         (settings_add_connection_check_privileges): Implement.
3019         (impl_settings_add_connection): Check the privileges before adding a new
3020         connection. Improve error reporting.
3021
3022         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
3023         async so that the implementation can access DBusGMethodInvocation.
3024
3025         * configure.in: Check for PolicyKit.
3026
3027         * policy/org.freedesktop.network-manager-settings.system.policy: 
3028         New file.
3029
3030         * policy/Makefile.am: Install the policy file.
3031
3032         * configure.in: Add 'policy' subdir.
3033
3034 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3035
3036         Rewrite the suse system settings plugin.
3037
3038         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
3039
3040         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
3041
3042         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
3043
3044         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
3045
3046         * system-settings/src/dbus-settings.c: Fix connection reference counting.
3047
3048         * system-settings/src/main.c (load_plugins): Improve error reporting.
3049
3050         * system-settings/src/sha1.[ch] Add.
3051
3052         * system-settings/src/Makefile.am: Add sha1[ch] to build.
3053
3054 2008-05-07  Dan Williams  <dcbw@redhat.com>
3055
3056         * system-settings/plugins/keyfile/reader.c
3057                 - (read_one_setting_value): handle IP address items separately
3058                 - (read_array_of_uint): read IPv4 DNS option as a string array
3059                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
3060                         array
3061
3062         * system-settings/plugins/keyfile/writer.c
3063                 - (write_setting_value): handle IP address items separately
3064                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
3065                         not an array of uint, so that it's user-editable
3066                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
3067                         arrays, so they are user-editable
3068
3069 2008-05-07  Dan Williams  <dcbw@redhat.com>
3070
3071         * system-settings/plugins/keyfile/Makefile.am
3072                 - Change location of the keyfile plugin settings to
3073                         /etc/NetworkManager/system-connections
3074
3075 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3076
3077         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
3078
3079         * system-settings/plugins/keyfile/plugin.c: Work with
3080         NMKeyfileConnections.
3081
3082         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
3083         Plugins are supposed to return NMExportedConnections now and handle the
3084         updated(), removed(), and GetSecrets().
3085         Store the internal list of connections in hash table to make it easier
3086         to find duplicates.
3087
3088 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3089
3090         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
3091         for multiple IP addresses.
3092
3093 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3094
3095         Patch from André Lemos.
3096
3097         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
3098         corruption.
3099
3100 2008-05-06  Dan Williams  <dcbw@redhat.com>
3101
3102         * src/dhcp-manager/nm-dhcp-manager.c
3103                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
3104                         NMIP4Config to support multiple IP addresses
3105
3106         * src/NetworkManagerUtils.c
3107                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
3108
3109         * src/nm-ip4-config.c
3110           src/nm-ip4-config.h
3111                 - Store a list of IPv4 address/netmask/gateway tuples
3112                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
3113                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
3114                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
3115                    nm_ip4_config_set_address): remove
3116                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
3117                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
3118                         new functions; handle multiple IPv4 addresses
3119
3120         * src/nm-device.c
3121           src/ppp-manager/nm-ppp-manager.c
3122           src/vpn-manager/nm-vpn-connection.c
3123           src/NetworkManagerPolicy.c
3124           test/nm-tool.c
3125           libnm-glib/libnm-glib-test.c
3126                 - update for changes to NMIP4Config for multiple IPv4 addresses
3127
3128         * src/NetworkManagerSystem.c
3129                 - (nm_system_device_set_ip4_route): don't add the route if any address
3130                         is on the same subnet as the destination
3131                 - (check_one_address): ignore the exact match, just match family and
3132                         interface index
3133                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
3134                         an interface
3135                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
3136                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
3137
3138         * introspection/nm-ip4-config.xml
3139                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
3140                 - Add 'addresses' property which is an array of (uuu) tuples of
3141                         address/netmask/gateway
3142
3143         * libnm-util/nm-setting-ip4-config.c
3144                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
3145
3146         * libnm-glib/nm-ip4-config.c
3147           libnm-glib/nm-ip4-config.h
3148                 - Handle D-Bus interface changes to support multiple IP addresses
3149
3150 2008-05-06  Dan Williams  <dcbw@redhat.com>
3151
3152         * libnm-util/nm-utils.c
3153           libnm-util/nm-utils.h
3154                 - (nm_utils_ip4_addresses_from_gvalue,
3155                    nm_utils_ip4_addresses_to_gvalue): new functions
3156
3157 2008-05-06  Tambet Ingo  <tambet@gmail.com>
3158
3159         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
3160         the returned connection paths.
3161
3162 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3163
3164         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
3165         "PropertiesChanged" signal signature.
3166
3167         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
3168         defined in nm-dbus-glib-types.h.
3169         Don't register the connection on dbus, we're a proxy class to 
3170         communicate with an already registered connection over dbus.
3171
3172 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3173
3174         Implement new subclasses of NMSettings and NMExportedConnection to make
3175         it easier for the applet to access and modify system settings.
3176
3177         * libnm-glib/nm-dbus-connection.[ch]:
3178         * libnm-glib/nm-dbus-settings.[ch]:
3179         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
3180
3181         * libnm-glib/Makefile.am: Add the new files to build, generate some more
3182         bindings and glue.
3183
3184         * include/NetworkManager.h: Define the system settings DBus interface.
3185
3186 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3187
3188         Implement additional C API for exported connections to make them identical
3189         with the DBus API. Change the (list_connections) virtual function to be
3190         more usable from C - instead of requiring implementers to return a GPtrArray
3191         of dbus paths, return a list of connections.
3192
3193         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
3194         (nm_settings_list_connections):
3195         (nm_exported_connection_new):
3196         (nm_exported_connection_update):
3197         (nm_exported_connection_delete): Implement.
3198
3199         (impl_settings_list_connections):
3200         (impl_exported_connection_update):
3201         (impl_exported_connection_delete): Use the new public functions to make 
3202         sure the C and dbus interfaces stay in sync.
3203
3204         * system-settings/src/dbus-settings.c (list_connections): Return a list of
3205         connections.
3206
3207 2008-05-02  Dan Williams  <dcbw@redhat.com>
3208
3209         * system-settings/plugins/ifcfg-fedora/plugin.c
3210                 - (dispose): use right unref call on the DBusGConnection
3211
3212 2008-05-02  Dan Williams  <dcbw@redhat.com>
3213
3214         * src/nm-serial-device.c
3215                 - (find_terminator): don't compare the whole line, just the size of the
3216                         terminator, since some modems put stuff after the terminator, like
3217                         "CONNECT 9600"
3218
3219 2008-05-01  Dan Williams  <dcbw@redhat.com>
3220
3221         Patch from Michael Biebl <biebl@debian.org>
3222
3223         * callouts/Makefile.am
3224           callouts/org.freedesktop.nm_dispatcher.service.in
3225           system-settings/src/Makefile.am
3226           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
3227                 - use the right install location for dbus-activated stuff
3228
3229 2008-04-30  Dan Williams  <dcbw@redhat.com>
3230
3231         * src/nm-gsm-device.c
3232                 - (enter_pin): fix setting name passed to applets when asking for a GSM
3233                         PIN or PUK
3234
3235 2008-04-30  Dan Williams  <dcbw@redhat.com>
3236
3237         * src/nm-manager.c
3238                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
3239
3240 2008-04-30  Dan Williams  <dcbw@redhat.com>
3241
3242         * src/nm-device-802-3-ethernet.c
3243           src/nm-device-802-11-wireless.c
3244                 - (real_is_up): return true instead of chaining up to unimplemented
3245                         parent method
3246
3247 2008-04-30  Dan Williams  <dcbw@redhat.com>
3248
3249         * src/NetworkManagerSystem.c
3250           src/NetworkManagerSystem.h
3251                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
3252                         functions to check device flags for IFF_UP
3253
3254         * src/nm-serial-device.c
3255                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
3256                         implement is_up
3257
3258         * src/nm-device-802-3-ethernet.c
3259           src/nm-device-802-11-wireless.c
3260                 - (real_hw_is_up): call nm_system_device_is_up()
3261
3262         * src/nm-device.c
3263                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
3264                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
3265                         does not implement
3266
3267 2008-04-29  Dan Williams  <dcbw@redhat.com>
3268
3269         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
3270
3271         * marshallers/nm-marshal.list
3272                 - Add marshaller
3273
3274         * src/NetworkManager.c
3275                 - (main): let the NMManager handle the NMHalManager
3276
3277         * src/nm-hal-manager.c
3278           src/nm-hal-manager.h
3279                 - convert to a GObject, and emit singals when stuff changes.  Let the
3280                         NMManager handle the signals, instead of the NMHalManager calling
3281                         into the NMManager.  
3282
3283         * src/nm-manager.c
3284           src/nm-manager.h
3285                 - (remove_one_device): consolidate device removals here
3286                 - (dispose): use remove_one_device()
3287                 - (nm_manager_get_device_by_udi): make static
3288                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
3289                         manager for devices at startup or wakeup time
3290                 - (nm_manager_new): create and monitor the HAL manager
3291                 - (hal_manager_udi_added_cb): new function; do what
3292                         nm_manager_add_device() used to do when signalled by the hal manager
3293                 - (hal_manager_udi_removed_cb): new function; do what
3294                         nm_manager_remove_device() used to do when signalled by the hal
3295                         manager
3296                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
3297                         hal manager
3298                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
3299                         in our device list that aren't known to HAL
3300                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
3301                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3302                         commits ago
3303                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3304                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3305                    nm_manager_wireless_hardware_enabled,
3306                    nm_manager_set_wireless_hardware_enabled): remove, unused
3307
3308 2008-04-28  Dan Williams  <dcbw@redhat.com>
3309
3310         Fix the device up/down ambiguities.  Up/down state used to be a
3311         conglomeration of hardware state (IFF_UP) and any device-specific things
3312         (supplicant, periodic timers, etc) that the device used to indicate
3313         readiness.  Unfortunately, if the hardware was already IFF_UP for some
3314         reason, then the device specific stuff wouldn't get run, and the device
3315         would be stuck.
3316
3317         * src/nm-device.c
3318           src/nm-device.h
3319                 - Create hw_is_up, hw_bring_up, and hw_take_down
3320                 - Rename bring_down -> take_down
3321                 - (real_hw_is_up): check interface flags for IFF_UP
3322                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
3323                 - (nm_device_is_up): make static; only used locally
3324                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
3325                         if the device is already up; if the device isn't up, bring it up
3326                 - (nm_device_hw_take_down): just take down hardware
3327                 - (nm_device_bring_up): bring up HW first, then device specific stuff
3328                 - (nm_device_take_down): always deactivate device when called; always
3329                         try to take hardware down too
3330                 - (nm_device_state_changed): take device down when entering unmanaged
3331                         state from a higher state
3332
3333         * src/nm-device-802-11-wireless.c
3334                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3335                         check IFF_UP really
3336                 - (real_take_down, supplicant_iface_state_cb_handler, 
3337                    supplicant_iface_connection_state_cb_handler,
3338                    supplicant_mgr_state_cb_handler): fix some messages
3339
3340         * src/nm-device-802-3-ethernet.c
3341                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3342                         check IFF_UP really
3343
3344 2008-04-28  Dan Williams  <dcbw@redhat.com>
3345
3346         * src/nm-manager.c
3347           src/nm-manager.h
3348                 - (nm_manager_error_get_type): add new error
3349                 - (nm_manager_remove_device): don't bother taking down the device here,
3350                         the state change from unmanaging the device will do it
3351                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
3352                         uses it; when going to sleep, just unmanage the device instead of
3353                         taking it down, because stuff will cleaned up correctly when the
3354                         device gets unmanaged
3355
3356 2008-04-28  Dan Williams  <dcbw@redhat.com>
3357
3358         * src/nm-hal-manager.c
3359                 - (add_initial_devices): convert to a GSourceFunc prototype
3360                 - (nm_manager_state_changed): when coming out of sleep, punt the
3361                         device re-addition to an idle handler to let D-Bus events go out
3362                         first, fixing a potential dbus-glib assert if the old device was
3363                         not yet disposed (due to references held while emitting the D-Bus
3364                         signals) but the new device was found, because the mainloop didn't
3365                         run between signal emission and add_initial_devices()
3366
3367 2008-04-27  Dan Williams  <dcbw@redhat.com>
3368
3369         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3370
3371         * initscript/paldo/NetworkManager.in
3372           initscript/SUSE/networkmanager.in
3373                 - Remove last bits of dhcdbd
3374
3375 2008-04-27  Dan Williams  <dcbw@redhat.com>
3376
3377         * src/nm-device-802-11-wireless.c
3378                 - (link_timeout_cb): don't ask for secrets when disconnected during
3379                         association/authentication phase, drivers are still just too crappy
3380
3381 2008-04-27  Dan Williams  <dcbw@redhat.com>
3382
3383         * Makefile.am
3384           configure.in
3385           dispatcher-daemon/Makefile.am
3386           dispatcher-daemon/NetworkManagerDispatcher.c
3387           initscript/Arch/Makefile.am
3388           initscript/Arch/networkmanager-dispatcher.in
3389           initscript/Gentoo/Makefile.am
3390           initscript/Gentoo/NetworkManagerDispatcher.in
3391           initscript/Mandriva/Makefile.am
3392           initscript/Mandriva/networkmanagerdispatcher.in
3393           initscript/RedHat/Makefile.am
3394           initscript/RedHat/NetworkManagerDispatcher.in
3395           initscript/SUSE/Makefile.am
3396           initscript/SUSE/networkmanager-dispatcher.in
3397           initscript/Slackware/Makefile.am
3398           initscript/Slackware/rc.networkmanager-dispatcher.in
3399           initscript/paldo/Makefile.am
3400           initscript/paldo/NetworkManagerDispatcher.in
3401           man/Makefile.am
3402           man/NetworkManagerDispatcher.8.in
3403                 - Remove the dispatcher daemon
3404
3405 2008-04-27  Dan Williams  <dcbw@redhat.com>
3406
3407         * callouts/Makefile.am
3408           callouts/nm-dispatcher-action.c
3409           callouts/nm-dispatcher-action.h
3410           callouts/nm-dispatcher.conf
3411           callouts/nm-dispatcher.xml
3412           callouts/org.freedesktop.nm_dispatcher.service
3413                 - Re-implement the dispatcher as a system-bus activated service that
3414                         NM calls on-demand, rather than an always running daemon
3415
3416         * src/Makefile.am
3417                 - Add callouts dir to includes to pick up dispatcher defines
3418
3419         * src/nm-device.c
3420                 - (nm_device_state_changed): call dispatcher on device activated/
3421                         deactivated
3422
3423         * src/vpn-manager/nm-vpn-connection.c
3424                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
3425                         go up and down
3426
3427         * src/NetworkManagerUtils.c
3428           src/NetworkManagerUtils.h
3429                 - (nm_utils_call_dispatcher): helper to call dispatcher
3430
3431 2008-04-27  Dan Williams  <dcbw@redhat.com>
3432
3433         * src/NetworkManagerUtils.c
3434           src/NetworkManagerUtils.h
3435                 - remove unneeded includes
3436                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
3437                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
3438                    nm_timeval_cmp, nm_timeval_add): remove, unused
3439                 - clean up formatting
3440                 - (nm_spawn_process): de-uglify
3441
3442         * src/nm-device-802-11-wireless.c
3443                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
3444
3445 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
3446
3447         * initscript/Gentoo/NetworkManager.in:
3448                 Fix for starting the daemon.
3449
3450 2008-04-25  Dan Williams  <dcbw@redhat.com>
3451
3452         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3453
3454         * src/NetworkManagerSystem.c
3455                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
3456
3457 2008-04-25  Dan Williams  <dcbw@redhat.com>
3458
3459         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3460
3461         * src/NetworkManagerSystem.c
3462                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
3463                         implementation of nm_system_device_replace_default_route()
3464
3465         * src/NetworkManagerPolicy.c
3466                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
3467
3468         * src/backends/NetworkManagerArch.c
3469           src/backends/NetworkManagerDebian.c
3470           src/backends/NetworkManagerFrugalware.c
3471           src/backends/NetworkManagerGeneric.c
3472           src/backends/NetworkManagerGeneric.h
3473           src/backends/NetworkManagerGentoo.c
3474           src/backends/NetworkManagerMandriva.c
3475           src/backends/NetworkManagerPaldo.c
3476           src/backends/NetworkManagerRedHat.c
3477           src/backends/NetworkManagerSlackware.c
3478           src/backends/NetworkManagerSuSE.c
3479                 - (nm_system_device_replace_default_route): remove
3480
3481 2008-04-25  Dan Williams  <dcbw@redhat.com>
3482
3483         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3484
3485         * src/NetworkManagerSystem.c
3486                 - (validate_ip4_route): remove; use nl_addr_parse() instead
3487                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
3488                         replace nm_system_device_add_route_via_device_with_iface() in the
3489                         backends
3490
3491         * src/backends/NetworkManagerArch.c
3492           src/backends/NetworkManagerDebian.c
3493           src/backends/NetworkManagerFrugalware.c
3494           src/backends/NetworkManagerGeneric.c
3495           src/backends/NetworkManagerGeneric.h
3496           src/backends/NetworkManagerGentoo.c
3497           src/backends/NetworkManagerMandriva.c
3498           src/backends/NetworkManagerPaldo.c
3499           src/backends/NetworkManagerRedHat.c
3500           src/backends/NetworkManagerSlackware.c
3501           src/backends/NetworkManagerSuSE.c
3502                 - Remove nm_system_device_add_route_via_device_with_iface()
3503
3504 2008-04-25  Dan Williams  <dcbw@redhat.com>
3505
3506         * system-settings/plugins/ifcfg-fedora/parser.c
3507                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
3508
3509 2008-04-24  Dan Williams  <dcbw@redhat.com>
3510
3511         * dispatcher-daemon/NetworkManagerDispatcher.c
3512                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
3513
3514 2008-04-24  Dan Williams  <dcbw@redhat.com>
3515
3516         * initscript/RedHat/NetworkManager.in
3517           initscript/RedHat/NetworkManagerDispatcher.in
3518                 - Be active at runlevel 2
3519                 - Adjust priorities earlier
3520
3521 2008-04-22  Dan Williams  <dcbw@redhat.com>
3522
3523         * src/NetworkManagerPolicy.c
3524                 - (update_routing_and_dns): when checking for a gateway, look at the
3525                         composite IP4 config, not the connection's ip4-config setting, which
3526                         doesn't include DHCP-returned information
3527
3528 2008-04-22  Tambet Ingo  <tambet@gmail.com>
3529
3530         Implement GKeyFile system settings plugin.
3531         Implement writing system settings (currently supported only by GKeyFile plugin).
3532
3533         * system-settings/src/main.c: 
3534         * system-settings/src/dbus-settings.c: Move the communication with plugins
3535         from main.c to dbus-settings.c. Makes it possible to talk to all registered
3536         plugins for adding/updating/removing connections.
3537
3538         * system-settings/src/nm-system-config-interface.c
3539         (nm_system_config_interface_add_connection): Implement
3540         (nm_system_config_interface_update_connection): Implement.
3541         (nm_system_config_interface_remove_connection): Implement.
3542
3543         * system-settings/plugins/keyfile/Makefile.am:
3544         * system-settings/plugins/keyfile/plugin.[ch]:
3545         * system-settings/plugins/keyfile/writer.[ch]:
3546         * system-settings/plugins/keyfile/reader.[ch]: Implement.
3547
3548         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
3549
3550         * configure.in: Generate GKeyFile Makefile.
3551
3552         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
3553         corruption, need to duplicate the returned string.
3554         (impl_exported_connection_update): Implement.
3555         (impl_exported_connection_delete): Implement.
3556
3557         * introspection/nm-settings-system.xml: Add "AddConnection" method.
3558
3559         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
3560
3561 2008-04-22  Dan Williams  <dcbw@redhat.com>
3562
3563         Patch from Charles R. Anderson (cra@wpi.edu)
3564
3565         * src/NetworkManagerPolicy.c
3566                 - (update_routing_and_dns): don't select devices without a gateway
3567                         as having the default route (rh #437338)
3568
3569 2008-04-21  Dan Williams  <dcbw@redhat.com>
3570
3571         * src/nm-activation-request.c
3572           src/nm-activation-request.h
3573                 - (dispose): ensure to disconnect from the device's state-changed signal
3574                         when appropriate so the signal doesn't get handled by an already
3575                         disposed NMActRequest
3576                 - (device_state_changed): update is_default here too just to make sure
3577                         default is only True when the child device is activated
3578                 - (nm_act_request_set_default): new function
3579
3580         * src/NetworkManagerPolicy.c
3581                 - (update_routing_and_dns): set 'default' on the active connection which
3582                         has the default route and DNS
3583
3584 2008-04-21  Dan Williams  <dcbw@redhat.com>
3585
3586         * src/NetworkManagerPolicy.c
3587                 - (device_state_changed): update routing and DNS when a device goes
3588                         into unmanaged or unavailable states too (like rfkill or carrier loss)
3589
3590 2008-04-21  Dan Williams  <dcbw@redhat.com>
3591
3592         * include/NetworkManager.h
3593                 - Add NMActiveConnectionState enum
3594
3595         * introspection/nm-active-connection.xml
3596           introspection/nm-vpn-connection.xml
3597                 - Add 'State' property for overall active connection state
3598                 - Add 'Default' property, when True means this active connection
3599                         has the default route
3600                 - Add PropertyChanged signals so changes actually go out over the bus
3601
3602         * src/nm-active-connection.h
3603                 - Add defines for State & Default properties
3604
3605         * src/nm-activation-request.c
3606                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
3607                         signal to determine active connection state
3608
3609         * src/vpn-manager/nm-vpn-connection.c
3610           src/vpn-manager/nm-vpn-connection.h
3611           src/vpn-manager/nm-vpn-manager.c
3612           src/vpn-manager/nm-vpn-service.c
3613                 - Rename old 'state' to 'vpn-state'
3614                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
3615                 - Add 'state' and 'default' properties, hook up to the vpn connection's
3616                         'vpn-state-changed' signal
3617
3618         * libnm-glib/nm-active-connection.c
3619           libnm-glib/nm-active-connection.h
3620                 - Add new 'state' and 'default' properties and accessors
3621
3622         * libnm-glib/nm-vpn-connection.c
3623           libnm-glib/nm-vpn-connection.h
3624                 - Rename old 'state' property to 'vpn-state'
3625                 - Add new 'state' and 'default' properties and accessors
3626
3627 2008-04-21  Dan Williams  <dcbw@redhat.com>
3628
3629         * src/nm-ip4-config.c
3630                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
3631                         not specified (rh #443474)
3632
3633 2008-04-20  Dan Williams  <dcbw@redhat.com>
3634
3635         * src/NetworkManagerUtils.c
3636           src/NetworkManagerUtils.h
3637                 - (nm_utils_merge_ip4_config): new function; merge settings from an
3638                         NMSettingIP4Config to an NMIP4Config object
3639
3640         * src/nm-device.c
3641                 - (merge_ip4_config): move to NetworkManagerUtils.c
3642
3643         * src/vpn-manager/nm-vpn-connection.c
3644                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
3645                         too
3646
3647 2008-04-18  Dan Williams  <dcbw@redhat.com>
3648
3649         * libnm-util/nm-setting-ppp.c
3650           libnm-util/nm-setting-ppp.h
3651                 - Add 'no-vj-comp' option for TCP header compression
3652                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
3653                         uint32
3654
3655 2008-04-18  Dan Williams  <dcbw@redhat.com>
3656
3657         * libnm-util/nm-setting-ppp.c
3658           libnm-util/nm-setting-ppp.h
3659           src/ppp-manager/nm-ppp-manager.c
3660                 - Add 'refuse-pap' and 'refuse-mschapv2' options
3661
3662 2008-04-18  Dan Williams  <dcbw@redhat.com>
3663
3664         * libnm-util/nm-setting-ppp.c
3665           libnm-util/nm-setting-ppp.h
3666           src/ppp-manager/nm-ppp-manager.c
3667                 - Remove the 'usepeerdns' option and always request DNS servers from
3668                         the PPP server; the connection chooses to use/override/ignore the
3669                         DNS servers returned from the PPP server
3670
3671 2008-04-18  Dan Williams  <dcbw@redhat.com>
3672
3673         * libnm-util/nm-setting-ppp.c
3674           libnm-util/nm-setting-ppp.h
3675           src/ppp-manager/nm-ppp-manager.c
3676                 - Remove the 'require-mppc' option, because pppd doesn't support it and
3677                         it seems to have been an erroneous addition to the PPTP plugin in
3678                         the first place (from which the ppp-manager is derived)
3679
3680 2008-04-17  Dan Williams  <dcbw@redhat.com>
3681
3682         * libnm-util/nm-setting-pppoe.c
3683                 - (verify): require a PPP setting too
3684
3685         * src/ppp-manager/nm-ppp-manager.c
3686                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
3687                         segfaulting
3688
3689 2008-04-17  Dan Williams  <dcbw@redhat.com>
3690
3691         * src/nm-device.c
3692                 - (nm_device_state_changed): do deactivation and and promotion to
3693                         unavailable here, so that the device gets cleaned up before the
3694                         manager runs and starts emitting signals; do the
3695                         FAILED->DISCONNECTED transition from an idle handler rather than
3696                         immediately to guard against recursion
3697                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
3698                         FAILED->DISCONNECTED handler if it's scheduled
3699
3700 2008-04-17  Dan Williams  <dcbw@redhat.com>
3701
3702         * src/nm-device-802-11-wireless.c
3703                 - (state_changed_cb): clear AP list when device transitions to
3704                         unavailable or unmanaged
3705                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
3706                         since this is already done in device_cleanup()
3707                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
3708                         isn't available or managed
3709                 - (device_cleanup): use remove_all_aps()
3710                 - (remove_all_aps): consolidate code removing all APs
3711
3712 2008-04-17  Dan Williams  <dcbw@redhat.com>
3713
3714         * src/nm-serial-device.c
3715           src/nm-serial-device.h
3716                 - (wait_for_reply_got_data): break input into lines, and search each
3717                         line for responses _and_ terminator strings; also make sure that
3718                         the read loop doesn't continue after the timeout is supposed to fire
3719                 - (nm_serial_device_wait_for_reply): take an array of terminators too
3720
3721         * src/nm-gsm-device.c
3722           src/nm-cdma-device.c
3723                 - Send terminators to nm_serial_device_wait_for_reply()
3724
3725 2008-04-16  Dan Williams  <dcbw@redhat.com>
3726
3727         Patch from 陈鑫 <znscnchen@gmail.com>
3728
3729         * src/ppp-manager/nm-pppd-plugin.c
3730                 - (get_credentials): return correct value for success; handle case where
3731                         pppd just does some checking but doesn't want a password
3732                 - (plugin_init): make CHAP work too
3733
3734 2008-04-16  Dan Williams  <dcbw@redhat.com>
3735
3736         Patch from 陈鑫 <znscnchen@gmail.com>
3737
3738         * src/ppp-manager/nm-ppp-manager.c
3739                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
3740
3741 2008-04-16  Dan Williams  <dcbw@redhat.com>
3742
3743         Patch from 陈鑫 <znscnchen@gmail.com>
3744
3745         * src/nm-device-802-3-ethernet.c
3746                 - (real_deactivate_quickly): clear the IP interface name on
3747                         deactivation, otherwise the wrong interface might get used later
3748                         for routing and IP management
3749
3750 2008-04-15  Dan Williams  <dcbw@redhat.com>
3751
3752         * libnm-glib/nm-device.c
3753                 - (get_product_and_vendor): handle serial devices correctly
3754                 - (nm_device_update_description): pass device to get_product_and_vendor()
3755
3756 2008-04-15  Dan Williams  <dcbw@redhat.com>
3757
3758         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3759
3760         * src/NetworkManagerSystem.h
3761           src/backends/NetworkManagerArch.c
3762           src/backends/NetworkManagerDebian.c
3763           src/backends/NetworkManagerFrugalware.c
3764           src/backends/NetworkManagerGeneric.c
3765           src/backends/NetworkManagerGeneric.h
3766           src/backends/NetworkManagerGentoo.c
3767           src/backends/NetworkManagerMandriva.c
3768           src/backends/NetworkManagerPaldo.c
3769           src/backends/NetworkManagerRedHat.c
3770           src/backends/NetworkManagerSlackware.c
3771           src/backends/NetworkManagerSuSE.c
3772           src/nm-device.c
3773                 - (nm_generic_device_add_ip6_link_address,
3774                    nm_system_device_add_ip6_link_address): remove
3775
3776 2008-04-15  Dan Williams  <dcbw@redhat.com>
3777
3778         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3779
3780         * src/backends/NetworkManagerArch.c
3781           src/backends/NetworkManagerDebian.c
3782           src/backends/NetworkManagerFrugalware.c
3783           src/backends/NetworkManagerGeneric.c
3784           src/backends/NetworkManagerGeneric.h
3785           src/backends/NetworkManagerGentoo.c
3786           src/backends/NetworkManagerMandriva.c
3787           src/backends/NetworkManagerPaldo.c
3788           src/backends/NetworkManagerRedHat.c
3789           src/backends/NetworkManagerSlackware.c
3790           src/backends/NetworkManagerSuSE.c
3791           src/NetworkManagerSystem.h
3792                 - flush_routes -> flush_ip4_routes
3793                 - flush_addresses -> flush_ip4_addresses
3794
3795         * src/NetworkManagerSystem.c
3796           src/nm-device.c
3797           src/vpn-manager/nm-vpn-connection.c
3798                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
3799
3800 2008-04-15  Dan Williams  <dcbw@redhat.com>
3801
3802         Remove exposure of wireless-tools mode types in the API.
3803
3804         * include/NetworkManager.h
3805                 - Define NM80211Mode enum
3806
3807         * introspection/generic-types.xml
3808                 - Describe NM_802_11_MODE enum
3809                 - Remove IW_MODE_* enum
3810
3811         * introspection/nm-access-point.xml
3812           libnm-glib/nm-access-point.c
3813           libnm-glib/nm-access-point.h
3814                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
3815
3816         * introspection/nm-device-802-11-wireless.xml
3817           libnm-glib/nm-device-802-11-wireless.c
3818           libnm-glib/nm-device-802-11-wireless.h
3819                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
3820
3821         * libnm-util/nm-setting-wireless.c
3822           src/NetworkManagerAP.c
3823           src/NetworkManagerAP.h
3824           src/nm-device-802-11-wireless.c
3825           src/nm-device-802-11-wireless.h
3826           test/nm-tool.c
3827                 - Use NM80211Mode not IW_MODE_*
3828
3829 2008-04-15  Dan Williams  <dcbw@redhat.com>
3830
3831         Enhance nm-online based on a patch from Bill Nottingham.
3832
3833         * test/nm-online.c
3834                 - Add a '-q' option
3835                 - Add help messages and option summary
3836                 - Add long-format options
3837                 - Add a '-x' option to exit if NM isn't running or isn't connecting
3838
3839 2008-04-15  Tambet Ingo  <tambet@gmail.com>
3840
3841         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
3842
3843         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
3844
3845 2008-04-15  Dan Williams  <dcbw@redhat.com>
3846
3847         * nm-setting-ip4-config.c
3848                 - (ip4_addresses_from_gvalue): handle NULL address array
3849
3850         * nm-setting-8021x.c
3851                 - (verify_tls, verify_ttls): warn on failed verification
3852
3853 2008-04-10  Dan Williams  <dcbw@redhat.com>
3854
3855         * src/nm-gsm-device.c
3856                 - (automatic_registration): accept "+CREG: 0,0"
3857                 - (automatic_registration_response): fail on "+CREG: 0,0"
3858
3859 2008-04-10  Tambet Ingo  <tambet@gmail.com>
3860
3861         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
3862
3863 2008-04-10  Tambet Ingo  <tambet@gmail.com>
3864
3865         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
3866         Make it compile again by commenting out broken code that at first didn't work and
3867         now didn't compile either.
3868
3869 2008-04-08  Dan Williams  <dcbw@redhat.com>
3870
3871         * libnm-glib/nm-object-cache.c
3872           libnm-glib/nm-settings.c
3873           src/dhcp-manager/nm-dhcp-manager.c
3874           system-settings/plugins/ifcfg-fedora/plugin.c
3875           system-settings/plugins/ifcfg-suse/plugin.c
3876           system-settings/src/nm-system-config-hal-manager.c
3877           libnm-util/nm-utils.c
3878                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
3879                         not threadsafe anyway
3880
3881 2008-04-08  Dan Williams  <dcbw@redhat.com>
3882
3883         * system-settings/src/main.c
3884                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
3885                         callbacks take a device type too
3886
3887 2008-04-08  Dan Williams  <dcbw@redhat.com>
3888
3889         The system settings service will now create a new default DHCP connection
3890         for wired devices that have no existing applicable connection.
3891
3892         * system-settings/src/nm-system-config-hal-manager.c
3893           system-settings/src/nm-system-config-hal-manager.h
3894                 - (nm_system_config_hal_manager_get_type_for_udi): new function
3895
3896         * system-settings/src/dbus-settings.c
3897           system-settings/src/dbus-settings.h
3898                 - (nm_sysconfig_settings_get_connections): new function
3899                 - (nm_sysconfig_settings_is_device_managed): new function
3900
3901         * system-settings/src/main.c
3902                 - (load_stuff): check for wired devices that need a default connection
3903                 - (get_details_for_udi): get interface and MAC address from HAL
3904                 - (add_default_dhcp_connection): add a default connection for a wired
3905                         device if needed
3906                 - (device_added_cb, device_removed_cb): do the right thing with
3907                         wired devices and their default connections on HAL device events
3908
3909 2008-04-07  Dan Williams  <dcbw@redhat.com>
3910
3911         * libnm-glib/nm-device.c
3912           libnm-glib/nm-device.h
3913                 - Proxy the 'managed' property
3914
3915 2008-04-07  Dan Williams  <dcbw@redhat.com>
3916
3917         * src/nm-gsm-device.c
3918           src/nm-cdma-device.c
3919                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
3920                         handler to transition to DISCONNECTED
3921
3922 2008-04-07  Dan Williams  <dcbw@redhat.com>
3923
3924         Patch from Bill Nottingham
3925
3926         * dispatcher-daemon/NetworkManagerDispatcher.c
3927                 - ignore backup/packaging crufy (rh #440143)
3928
3929 2008-04-07  Dan Williams  <dcbw@redhat.com>
3930
3931         * include/NetworkManager.h
3932                 - Remove the DOWN and CANCELLED device states
3933                 - Add UNMANAGED and UNAVAILABLE device states
3934                 - Document the device states
3935
3936         * introspection/nm-device.xml
3937           src/nm-device-interface.c
3938           src/nm-device-interface.h
3939                 - Add the 'managed' property
3940
3941         * test/nm-tool.c
3942                 - (detail_device): print out device state
3943
3944         * src/NetworkManagerSystem.h
3945           src/backends/NetworkManagerArch.c
3946           src/backends/NetworkManagerDebian.c
3947           src/backends/NetworkManagerFrugalware.c
3948           src/backends/NetworkManagerGentoo.c
3949           src/backends/NetworkManagerMandriva.c
3950           src/backends/NetworkManagerPaldo.c
3951           src/backends/NetworkManagerRedHat.c
3952           src/backends/NetworkManagerSlackware.c
3953           src/backends/NetworkManagerSuSE.c
3954                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
3955                    nm_system_device_free_system_config): remove; they were unused and
3956                         their functionality should be re-implemented in each distro's
3957                         system settings service plugin 
3958
3959         * src/nm-gsm-device.c
3960           src/nm-gsm-device.h
3961           src/nm-cdma-device.c
3962           src/nm-cdma-device.h
3963                 - (*_new): take the 'managed' argument
3964
3965         * src/nm-device.c
3966                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
3967                 - (nm_device_init): start in unmanaged state, not disconnected
3968                 - (constructor): don't start device until the system settings service
3969                         has had a chance to figure out if the device is managed or not
3970                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
3971                         don't set device state here, let callers handle that as appropriate
3972                 - (nm_device_dispose): don't touch the device if it's not managed
3973                 - (set_property, get_property, nm_device_class_init): implement the
3974                         'managed' property
3975                 - (nm_device_state_changed): bring the device up if its now managed,
3976                         and deactivate it if it used to be active
3977                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
3978                         with the managed state
3979
3980         * src/nm-hal-manager.c
3981                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
3982                         take initial managed state and pass it along to device constructors
3983                 - (create_device_and_add_to_list): get managed state and pass to
3984                         type creators
3985
3986         * src/nm-device-802-11-wireless.c
3987                 - (real_can_activate): fold in most of
3988                         nm_device_802_11_wireless_can_activate()
3989                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
3990                 - (link_timeout_cb): instead of deactivating, change device state and
3991                         let the device state handler to it
3992                 - (real_update_hw_address): clean up
3993                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
3994                         handler to transition to DISCONNECTED if the device isn't rfkilled
3995
3996         * src/nm-device-802-3-ethernet.c
3997                 - (set_carrier): move above callers and get rid of prototype
3998                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
3999                         idle handler to transition to DISCONNECTED if the device has a
4000                         carrier
4001                 - (real_update_hw_address): clean up
4002                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
4003                         deactivation directly as deactivation doesn't change state anymore
4004
4005         * src/NetworkManagerPolicy.c
4006                 - (schedule_activate_check): yay, remove wireless_enabled hack since
4007                         the NMManager and wireless devices work that out themselves now
4008                 - (device_state_changed): change to a switch and update for new device
4009                         states
4010                 - (device_carrier_changed): remove; device handles this now through
4011                         state changes
4012                 - (device_added): don't care about carrier any more; the initial
4013                         activation check will happen when the device transitions to
4014                         DISCONNECTED
4015
4016         * src/nm-manager.c
4017                 - (dispose): clear unmanaged devices
4018                 - (handle_unmanaged_devices): update unmanaged device list and toggle
4019                         the managed property on each device when needed
4020                 - (system_settings_properties_changed_cb): handle signals from the
4021                         system settings service
4022                 - (system_settings_get_unmanaged_devices_cb): handle callback from
4023                         getting the unmanaged device list method call
4024                 - (query_unmanaged_devices): ask the system settings service for its
4025                         list of unmanaged devices
4026                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
4027                         devices
4028                 - (manager_set_wireless_enabled): push rfkill state down to wireless
4029                         devices directly and let them handle the necessary state transitions
4030                 - (manager_device_state_changed): update for new device states
4031                 - (nm_manager_add_device): set initial rfkill state on wireless devices
4032                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
4033                 - (nm_manager_activate_connection): return error if the device is
4034                         unmanaged
4035                 - (nm_manager_sleep): handle new device states correctly; don't change
4036                         the state of unavailable/unmanaged devices
4037
4038         * libnm-glib/nm-device-802-11-wireless.c
4039                 - (state_changed_cb): update for new device states
4040
4041 2008-04-07  Dan Williams  <dcbw@redhat.com>
4042
4043         * marshallers/nm-marshal.list
4044                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
4045
4046 2008-04-07  Dan Williams  <dcbw@redhat.com>
4047
4048         * system-settings/src/main.c
4049                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
4050                         plugins to the dbus settings object
4051                 - (load_stuff): start the dbus service after grabbing unmanaged devices
4052                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
4053                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
4054                 - (main): switch default logging to syslog with a 'debug' option to
4055                         output to console; start up the HAL manager
4056
4057 2008-04-07  Dan Williams  <dcbw@redhat.com>
4058
4059         * introspection/nm-settings-system.xml
4060           introspection/Makefile.am
4061                 - Define the unmanaged devices interface for the system settings service
4062
4063         * system-settings/src/nm-system-config-hal-manager.c
4064           system-settings/src/nm-system-config-hal-manager.h
4065           system-settings/src/nm-system-config-hal-manager-private.h
4066           system-settings/src/Makefile.am
4067                 - Add a lightweight HAL manager object for tracking network devices for
4068                         the purpose of determining unmanaged devices and which devices need
4069                         the default DHCP connections
4070
4071         * system-settings/src/nm-system-config-interface.c
4072           system-settings/src/nm-system-config-interface.h
4073                 - (nm_system_config_interface_init): add the HAL manager as an argument
4074                 - (nm_system_config_interface_get_unmanaged_devices): implement
4075                 - Define 'unmanaged-devices-changed' signal
4076
4077         * system-settings/src/dbus-settings.c
4078           system-settings/src/dbus-settings.h
4079                 - Implement the unmanaged devices interface; some cleanups
4080
4081         * system-settings/plugins/ifcfg-suse/plugin.c
4082                 - Fixup for plugin interface changes
4083
4084         * system-settings/plugins/ifcfg-fedora/plugin.c
4085                 - (get_ether_device_udi): new function; find the device that has
4086                         a specified MAC address and return its UDI
4087                 - (get_udi_for_connection): new function; try to find the specific
4088                         device a connection is locked to, if any
4089                 - (device_added_cb, device_removed_cb): update unmanaged device list in
4090                         response to HAL events
4091                 - (get_unmanaged_devices): new function; return unmanaged device list
4092                 - (build_one_connection): set the connection's locked device, if any
4093                 - (write_auto_wired_connection): remove
4094                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
4095                 - (handle_connection_changed): alert listeners that the unmanaged device
4096                         list has changed
4097                 - (init): fixup for plugin interface changes, implement unmanaged devices
4098
4099         * system-settings/plugins/ifcfg-fedora/parser.c
4100           system-settings/plugins/ifcfg-fedora/parser.h
4101                 - (connection_data_free): clean up connection UDI
4102
4103 2008-04-07  Dan Williams  <dcbw@redhat.com>
4104
4105         * system-settings/plugins/ifcfg-fedora/parser.c
4106                 - (make_ip4_setting): fix parsing of DNS servers
4107
4108 2008-04-05  Dan Williams  <dcbw@redhat.com>
4109
4110         * Makefile.am
4111           configure.in
4112           marshallers/Makefile.am
4113           marshallers/nm-marshal-main.c
4114           marshallers/nm-marshal.list
4115                 - Consolidate marshallers
4116
4117         * libnm-glib/nm-marshal-main.c
4118           libnm-glib/nm-marshal.list
4119           src/marshallers/Makefile.am
4120           src/marshallers/nm-marshal-main.c
4121           src/marshallers/nm-marshal.list
4122                 - Remove
4123
4124         * libnm-glib/Makefile.am
4125           src/Makefile.am
4126           src/dhcp-manager/Makefile.am
4127           src/ppp-manager/Makefile.am
4128           src/supplicant-manager/Makefile.am
4129           src/vpn-manager/Makefile.am
4130                 - Use consolidated marshallers
4131
4132 2008-04-04  Dan Williams  <dcbw@redhat.com>
4133
4134         * src/nm-hal-manager.c
4135           src/nm-hal-manager.h
4136                 - (hal_init): don't look for hardware here
4137                 - (nm_hal_manager_start): new function; look for hardware here instead,
4138                         which can be done at a later time than hal_init()
4139
4140         * src/NetworkManager.c
4141                 - (main): start HAL manager after entering the main loop
4142
4143 2008-04-03  Dan Williams  <dcbw@redhat.com>
4144
4145         * libnm-glib/nm-settings.c
4146           libnm-glib/nm-settings.h
4147             - (nm_exported_connection_get_id): new function
4148                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
4149
4150 2008-04-02  Dan Williams  <dcbw@redhat.com>
4151
4152         * src/nm-device-interface.c
4153           src/nm-device-interface.h
4154           src/nm-device.c
4155           src/nm-device.h
4156                 - Rename check_connection_conflicts() to check_connection_compatible()
4157
4158         * src/nm-device-802-11-wireless.c
4159                 - (real_check_connection_conflicts): remove
4160                 - (real_check_connection_compatible): implement; match MAC address
4161
4162         * src/nm-device-802-3-ethernet.c
4163                 - (real_check_connection_conflicts): remove
4164                 - (real_check_connection_compatible): implement; match MAC address
4165                 - (real_get_best_auto_connection): correctly handle PPPoE cases
4166
4167         * src/nm-manager.c
4168                 - (check_connection_allowed): remove; unused until PolicyKit integration
4169                 - (internal_activate_device): check whether the connection is compatible
4170                         with the device before trying to activate it
4171
4172 2008-04-02  Dan Williams  <dcbw@redhat.com>
4173
4174         * system-settings/plugins/ifcfg-fedora/parser.c
4175                 - (read_mac_address): new function; read in MAC address and stuff it
4176                         into the connection
4177                 - (add_one_wep_key): remove debug spew
4178                 - (make_wireless_security_setting): validate the default TX key; don't
4179                         add the wireless-security setting if the connection doesn't need
4180                         security; don't leak the keys shvarFile on error cases
4181                 - (make_wireless_setting, make_wired_setting): populate device's MAC
4182                         address
4183
4184 2008-04-02  Dan Williams  <dcbw@redhat.com>
4185
4186         * libnm-util/nm-setting-connection.c
4187           libnm-util/nm-setting-connection.h
4188                 - (set_property, get_property, nm_setting_connection_class_init): remove
4189                         the 'lockdown' property; it's functionality will be replaced by
4190                         PolicyKit instead
4191
4192 2008-04-01  Dan Williams  <dcbw@redhat.com>
4193
4194         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
4195
4196         * configure.in
4197           initscript/Makefile.am
4198           initscript/Mandriva/Makefile.am
4199           initscript/Mandriva/networkmanager.in
4200           initscript/Mandriva/networkmanagerdispatcher.in
4201           src/backends/Makefile.am
4202           src/backends/NetworkManagerMandriva.c
4203           system-settings/plugins/Makefile.am
4204                 - Add Mandriva support
4205
4206 2008-03-31  Dan Williams  <dcbw@redhat.com>
4207
4208         * src/vpn-manager/nm-vpn-service.c
4209                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
4210                         errors can be passed back to the caller; also no longer scheduled
4211                         as an idle handler, but called directly; and bump up VPN service
4212                         spawn timeout, 2s is really short
4213                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
4214                         but call it directly so that errors are reported on return from
4215                         ActivateConnection() and don't get lost.  If scheduled as an idle
4216                         handler, clients don't have the time to query NM for the new VPN
4217                         connection's properties before the VPN connection is torn down again
4218                         if the service couldn't be launched, and therefore launch errors
4219                         get lost.
4220
4221 2008-03-31  Dan Williams  <dcbw@redhat.com>
4222
4223         * src/vpn-manager/nm-vpn-connection.c
4224                 - (device_state_changed): send correct state on device failure too
4225                 - (plugin_state_changed): failed state means unexpected disconnection,
4226                         thus if the service goes away while the VPN connection is activated
4227                         that's a failure too
4228
4229 2008-03-31  Dan Williams  <dcbw@redhat.com>
4230
4231         * src/vpn-manager/nm-vpn-manager.c
4232           src/vpn-manager/nm-vpn-manager.h
4233                 - Make VPNManager errors more available; add a service-start-failed error
4234
4235 2008-03-31  Dan Williams  <dcbw@redhat.com>
4236
4237         * libnm-glib/nm-client.c
4238           libnm-glib/nm-client.h
4239                 - (activate_cb): pass the new active connection to callback; fix
4240                         message when no callback is specified
4241
4242 2008-03-30  Dan Williams  <dcbw@redhat.com>
4243
4244         * libnm-util/nm-setting-wireless-security.c
4245                 - (need_secrets): only require key0 if the transmit key index is also
4246                         0
4247                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
4248
4249 2008-03-29  Dan Williams  <dcbw@redhat.com>
4250
4251         * libnm-util/nm-setting-8021x.c
4252           libnm-util/nm-setting-ip4-config.c
4253           libnm-util/nm-setting-vpn-properties.c
4254           libnm-util/nm-setting-vpn.c
4255           libnm-util/nm-setting-wireless-security.c
4256           libnm-util/nm-setting-wireless.c
4257           libnm-util/nm-utils.c
4258           src/dhcp-manager/nm-dhcp-manager.c
4259           src/nm-activation-request.c
4260           src/nm-ip4-config.c
4261           src/nm-manager.c
4262           src/nm-properties-changed-signal.c
4263           src/ppp-manager/nm-pppd-plugin.c
4264           src/supplicant-manager/nm-supplicant-interface.c
4265           src/vpn-manager/nm-vpn-connection.c
4266                 - consistently use nm-dbus-glib-types.h
4267
4268 2008-03-29  Dan Williams  <dcbw@redhat.com>
4269
4270         * src/vpn-manager/nm-vpn-connection.c
4271                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4272                         not string
4273
4274         * src/nm-activation-request.c
4275                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4276                         not string
4277
4278 2008-03-29  Dan Williams  <dcbw@redhat.com>
4279
4280         * libnm-glib/nm-device-802-11-wireless.c
4281                 - (access_point_added_proxy): create new APs if not found
4282
4283 2008-03-29  Dan Williams  <dcbw@redhat.com>
4284
4285         * libnm-glib/nm-client.c
4286                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
4287                         before freeing them
4288
4289 2008-03-29  Dan Williams  <dcbw@redhat.com>
4290
4291         * system-settings/plugins/ifcfg-fedora/parser.c
4292                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
4293                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
4294
4295 2008-03-29  Dan Williams  <dcbw@redhat.com>
4296
4297         * system-settings/plugins/ifcfg-fedora/parser.c
4298                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
4299
4300 2008-03-27  Dan Williams  <dcbw@redhat.com>
4301
4302         * nm-object.c
4303                 - (nm_object_queue_notify): don't notify multiple times for the same
4304                         property
4305
4306         * nm-object-private.h
4307                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4308                         if it has zero elements
4309
4310         * nm-ip4-config.c
4311                 - (finalize): use g_ptr_array_foreach() when freeing domains
4312                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
4313
4314         * nm-active-connection.c
4315                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
4316
4317         * nm-device-802-11-wireless.c
4318           nm-device-802-11-wireless.h
4319                 - (nm_device_802_11_wireless_get_access_points): return const; use
4320                         handle_ptr_array_return()
4321
4322         * nm-types.c
4323                 - (nm_object_array_demarshal): always create an array, even of length
4324                         zero, to distinguish between "NM returned no items" and "haven't
4325                         asked NM yet"
4326
4327         * nm-client.c
4328                 - (dispose): free active connections too
4329                 - (proxy_name_owner_changed): free active connections too when NM goes
4330                         away
4331                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
4332                 - (nm_client_get_active_connections): use handle_ptr_array_return()
4333
4334 2008-03-26  Dan Williams  <dcbw@redhat.com>
4335
4336         Rework VPN connection handling for a more consistent D-Bus API.  The
4337         VPNManager object has been removed, and active VPN connections are now the
4338         same as any other active connection.  The Manager object's ActivateConnection
4339         and DeactivateConnection methods are used to start and stop a VPN connection,
4340         and the VPNConnection objects are subclasses of the ActiveConnection objects.
4341         When activating a VPN connection, pass the path of the active connection
4342         to which the VPN connection is tied in the 'specific_object' argument.
4343
4344         Consequently, the libnm-glib API has been reworked to match this arrangement,
4345         with the VPNManager object removed, and the NMVPNConnection objects now
4346         being subclasses of NMActiveConnection.
4347
4348 2008-03-25  Dan Williams  <dcbw@redhat.com>
4349
4350         Patch from Björn Martensen <bjoern.martensen@gmail.com>
4351
4352         * initscript/Arch/networkmanager.in
4353           initscript/Arch/networkmanager-dispatcher.in
4354                 - Updates for Arch Linux (gnome.org #523701)
4355
4356 2008-03-25  Dan Williams  <dcbw@redhat.com>
4357
4358         * libnm-glib/nm-ip4-config.c
4359           libnm-glib/nm-active-connection.c
4360           libnm-glib/nm-access-point.c
4361                 - Use nm_object_queue_notify() instead of g_object_notify()
4362
4363         * libnm-glib/nm-device.c
4364                 - (demarshal_ip4_config): distinguish between successful but missing
4365                         ip4-config request, and unsuccessful and missing ip4-config request
4366                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
4367                         path
4368                 - Use nm_object_queue_notify() instead of g_object_notify()
4369
4370         * libnm-glib/nm-device-802-11-wireless.c
4371                 - (demarshal_active_ap): distinguish between successfull but missing
4372                         active-ap request, and unsuccessful and missing active-ap request
4373                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
4374                         code
4375                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
4376                         for the NMClient to notify the device that wireless is disabled,
4377                         and therefore to clear the AP list and active AP
4378                 - Use nm_object_queue_notify() instead of g_object_notify()
4379
4380         * libnm-glib/nm-client.c
4381                 - (poke_wireless_devices_with_rf_status): new function
4382                 - (update_wireless_status): notify wireless devices of the rfkill status
4383                         so they can clean up if needed
4384                 - Use nm_object_queue_notify() instead of g_object_notify()
4385
4386 2008-03-25  Dan Williams  <dcbw@redhat.com>
4387
4388         * libnm-glib/nm-object.c
4389           libnm-glib/nm-object-private.h
4390                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
4391                         signals to an idle handler
4392                 - (nm_object_get_property): add a timeout to the D-Bus method call
4393
4394 2008-03-25  Dan Williams  <dcbw@redhat.com>
4395
4396         * introspection/nm-device-cdma.xml
4397           introspection/nm-device-gsm.xml
4398           introspection/Makefile.am
4399           introspection/all.xml
4400                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
4401
4402         * src/nm-gsm-device.h
4403           src/nm-gsm-device.c
4404           src/nm-cdma-device.h
4405           src/nm-cdma-device.c
4406           src/Makefile.am
4407                 - Implement PropertiesChanged signals
4408
4409         * libnm-glib/nm-cdma-device.c
4410           libnm-glib/nm-cdma-device.c
4411                 - Attach to PropertiesChanged signals
4412
4413 2008-03-24  Dan Williams  <dcbw@redhat.com>
4414
4415         * libnm-glib/nm-client.c
4416                 - (client_device_added_proxy): add new devices to the internal device
4417                         list so they appear to clients
4418
4419 2008-03-24  Dan Williams  <dcbw@redhat.com>
4420
4421         Massive fixup of libnm-glib to:
4422         a) have all objects (with the exception of VPN) cache their properties and
4423                 update them asynchronously on PropertiesChanged signals from NM
4424         b) return internal const data for most attributes/properties instead of
4425                 allocated values that the caller must free
4426         c) cache wrapped objects such that a given D-Bus path will always map to the
4427                 same GObject returned by libnm-glib
4428         d) remove a few signals and move them to GObject property notifications
4429         e) match recent NM D-Bus API changes for activation/deactivation
4430         f) remove some private functions from libnm-glib headers
4431
4432 2008-03-20  Dan Williams  <dcbw@redhat.com>
4433
4434         * src/nm-manager.c
4435                 - (nm_manager_update_state, manager_device_state_changed,
4436                    nm_manager_activate_device, connection_added_default_handler,
4437                    impl_manager_activate_connection, impl_manager_deactivate_connection):
4438                         queue PropertyChanged singals when the active connections change
4439
4440 2008-03-20  Dan Williams  <dcbw@redhat.com>
4441
4442         * introspection/nm-manager.xml
4443           introspection/nm-manager-client.xml
4444                 - (ActivateConnection): return the object path of the active connection
4445                         on success
4446                 - (GetActiveConnections): remove
4447                 - (DeactivateConnection): new function; deactivate a currently active
4448                         connection
4449                 - Add an ActiveConnections property which returns an array of
4450                         active connection object paths
4451
4452         * introspection/nm-device.xml
4453                 - (Deactivate): remove
4454
4455         * introspection/all.xml
4456                 - Add ActiveConnection introspection
4457
4458         * introspection/nm-active-connection.xml
4459                 - Add the ActiveConnection object
4460
4461         * include/NetworkManager.h
4462                 - Add the Connection.Active D-Bus interface
4463
4464         * src/nm-device-interface.c
4465                 - (impl_device_deactivate): remove
4466
4467         * src/nm-activation-request.c
4468           src/nm-activation-request.c
4469           src/Makefile.am
4470                 - Implement the Connection.Active D-Bus interface
4471
4472         * src/nm-manager.c
4473                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
4474                 - (nm_manager_activate_device): return the active connection path
4475                 - (connection_added_default_handler, impl_manager_activate_connection):
4476                         return the active connection to the caller
4477                 - (add_one_connection_element, impl_manager_get_active_connections):
4478                         remove
4479                 - (impl_manager_deactivate_connection): new function; deactivate an
4480                         active connection
4481
4482         * libnm-glib/nm-device.c
4483           libnm-glib/nm-device.h
4484                 - Remove Deactivate() function
4485
4486 2008-03-19  Dan Williams  <dcbw@redhat.com>
4487
4488         * introspection/nm-manager.xml
4489           introspection/nm-manager-client.xml
4490                 - Rename the ActivateDevice method to ActivateConnection to better
4491                         reflect it's usage; it's arguments get reordered a bit too
4492                 - Convert GetActiveConnections method return from a struct to a dict
4493
4494         * include/NetworkManager.h
4495                 - Define the dict keys for return value of GetActiveConnections
4496
4497         * src/nm-manager.c
4498                 - impl_manager_activate_device -> impl_manager_activate_connection
4499                 - (add_one_connection_element): return a populated hash table, not
4500                         a structure
4501
4502         * libnm-glib/nm-client.c
4503           libnm-glib/nm-client.h
4504                 - nm_client_activate_device -> nm_client_activate_connection
4505                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
4506                 - (nm_client_get_active_connections): return a GSList of GHashTables,
4507                         instead of the custom structures.  Each element of the returned list
4508                         must be freed with nm_client_free_active_connections_element()
4509
4510 2008-03-18  Dan Williams  <dcbw@redhat.com>
4511
4512         * system-settings/plugins/ifcfg-fedora/parser.c
4513           system-settings/plugins/ifcfg-fedora/parser.h
4514           system-settings/plugins/ifcfg-fedora/plugin.c
4515                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
4516                         profiles.  DNS servers and searches must now be stored in the ifcfg
4517                         files themselves
4518
4519 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4520
4521         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
4522         print out username and password, it's supposed to be a secret.
4523
4524         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
4525         request and set the device state accordingly.
4526
4527 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4528
4529         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
4530
4531         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
4532
4533 2008-03-18  Dan Williams  <dcbw@redhat.com>
4534
4535         * src/vpn-manager/nm-vpn-connection.c
4536                 - (get_secrets_cb): handle new GetSecrets return format
4537
4538 2008-03-18  Dan Williams  <dcbw@redhat.com>
4539
4540         Adapt system settings service for split 802.1x.
4541
4542         * system-settings/src/nm-system-config-interface.h
4543                 - clarify return value of get_secrets()
4544
4545         * system-settings/src/dbus-settings.c
4546                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
4547                 - (check_for_secrets): check if there actually secrets returned by a
4548                         plugin
4549                 - (exported_connection_get_secrets): just return the plugin-returned
4550                         hash of settings' secrets if it looks valid
4551
4552         * system-settings/plugins/ifcfg-fedora/plugin.c
4553                 - (get_secrets): add split secrets with correct format to reply hash
4554
4555         * system-settings/plugins/ifcfg-fedora/parser.c
4556           system-settings/plugins/ifcfg-fedora/parser.h
4557                 - (copy_one_cdata_secret, connection_data_copy_secrets,
4558                    connection_data_free, connection_data_add): keep secrets for
4559                         different settings in different hashes
4560
4561 2008-03-17  Tambet Ingo  <tambet@gmail.com>
4562
4563         Clean up activating device deactivation.
4564
4565         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
4566         should be done whether the device activation gets cancelled or the device
4567         is just getting deactivated.
4568         (nm_device_activation_cancel): Remove.
4569         (nm_device_deactivate_quickly): Handle the case where device is activating.
4570
4571         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
4572         It does the exact same thing as real_deactivate_quickly().
4573
4574 2008-03-17  Dan Williams  <dcbw@redhat.com>
4575
4576         Split the 802.1x bits out of the wireless-security setting so they are
4577         generalized enough for wired 802.1x to use too.
4578
4579         * introspection/nm-exported-connection.xml
4580                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
4581                         of just a hash of the secrets for one setting
4582
4583         * libnm-util/nm-setting-wireless-security.c
4584           libnm-util/nm-setting-wireless-security.h
4585                 - Remove 802.1x-specific stuff
4586                 - Added leap-username and leap-password properties for old-school LEAP
4587
4588         * src/nm-device.c
4589           src/nm-device.h
4590                 - (connection_secrets_updated_cb): take a list of updated settings names,
4591                         not just one
4592
4593         * src/supplicant-manager/nm-supplicant-config.c
4594           src/supplicant-manager/nm-supplicant-config.h
4595                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
4596                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
4597                         to nm_supplicant_config_add_setting_8021x()
4598                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
4599                         the supplicant config
4600
4601         * src/nm-device-802-11-wireless.c
4602                 - (build_supplicant_config): pass in the 802.1x setting too, if any
4603                 - (real_connection_secrets_updated): take a list of updated settings
4604                         names, not just one
4605
4606         * src/nm-device-802-3-ethernet.c
4607           src/nm-cdma-device.c
4608           src/nm-gsm-device.c
4609                 - (real_connection_secrets_updated_cb): take a list of updated settings
4610                         names, not just one
4611
4612         * src/nm-activation-request.c
4613           src/nm-activation-request.h
4614                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
4615                         now passes a list of updated settings names, not just one
4616                 - (update_one_setting): new function; handle one updated setting
4617                 - (get_secrets_cb): handle multiple settings returned from the
4618                         settings service; have to be careful of ordering here as there are
4619                         some dependencies between settings (ex. wireless-security and 802.1x
4620                         in some cases)
4621
4622         * src/marshallers/nm-marshal.list
4623                 - new marshaller for connection-secrets-updated signal
4624
4625         * libnm-util/nm-setting-8021x.c
4626                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
4627                         methods
4628                 - (verify): a valid 'eap' property is now required
4629
4630         * libnm-util/nm-connection.c
4631                 - (register_default_settings): add priorities to settings; there are
4632                         some dependencies between settings, and during the need_secrets
4633                         calls this priority needs to be respected.  For example, only the
4634                         wireless-security setting knows whether or not the connection is
4635                         going to use 802.1x or now, so it must be asked for secrets before
4636                         any existing 802.1x setting is
4637                 - (nm_connection_lookup_setting_type): expose
4638
4639         * libnm-util/nm-setting-wireless.c
4640                 - (verify): should verify even if all_settings is NULL; otherwise won't
4641                         catch the case where there is missing security
4642
4643         * libnm-util/nm-setting-wireless-security.c
4644                 - Remove everything to do with 802.1x
4645                 - Add old-school LEAP specific properties for username and password
4646                 - (need_secrets): rework LEAP secrets checking
4647                 - (verify): rework for LEAP and 802.1x verification
4648
4649 2008-03-17  Dan Williams  <dcbw@redhat.com>
4650
4651         * src/NetworkManagerPolicy.c
4652                 - (auto_activate_device): always remove the current activation check
4653                         from the pending activation list, otherwise when the policy gets
4654                         destroyed on NM exit it will attempt to free the already freed
4655                         activation check
4656
4657 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4658
4659         * src/backends/NetworkManagerSlackware.c 
4660         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
4661
4662         * src/backends/NetworkManagerSuSE.c: Add missing includes.
4663
4664 2008-03-14  Dan Williams  <dcbw@redhat.com>
4665
4666         * src/nm-manager.c
4667                 - (nm_device_interface_get_iface): g_object_get() will return an
4668                         allocated value, so this function must not return const
4669                 - (nm_device_interface_activate): free returned iface
4670
4671 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4672
4673         * libnm-util/Makefile.am: Add new files to build.
4674
4675         * libnm-util/nm-connection.c: Register NMSetting8021x.
4676
4677         * libnm-util/nm-setting-8021x.c
4678         * libnm-util/nm-setting-8021x.h: Implement.
4679
4680 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4681
4682         * libnm-util/Makefile.am: Add new files to build.
4683
4684         * libnm-util/nm-connection.c: Register NMSetting8021x.
4685
4686         * libnm-util/nm-setting-8021x.c
4687         * libnm-util/nm-setting-8021x.h: Implement.
4688
4689 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4690
4691         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
4692         data.
4693
4694 2008-03-14  Dan Williams  <dcbw@redhat.com>
4695
4696         * include/wireless-helper.h
4697           include/Makefile.am
4698                 - One place for all the junk needed for #including wireless.h
4699
4700         * test/nm-tool.c
4701           src/NetworkManagerAP.c
4702           src/wpa.c
4703           src/Makefile.am
4704           libnm-util/nm-utils.c
4705           libnm-util/nm-setting-wireless.c
4706           libnm-glib/nm-device-802-11-wireless.c
4707           libnm-glib/nm-access-point.c
4708           libnm-glib/libnm-glib-test.c
4709                 - include wireless-helper.h, not iwlib.h
4710
4711         * configure.in
4712                 - Don't need libiw really, just need to check for wireless.h
4713
4714         * src/kernel-types.h
4715                 - Remove; used types moved into wpa.c
4716
4717         * src/nm-device-802-11-wireless.c
4718                 - (nm_device_802_11_wireless_update_signal_strength,
4719                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
4720                    nm_device_802_11_wireless_set_mode,
4721                    nm_device_802_11_wireless_get_frequency,
4722                    nm_device_802_11_wireless_get_ssid,
4723                    nm_device_802_11_wireless_set_ssid,
4724                    nm_device_802_11_wireless_get_bitrate,
4725                    nm_device_802_11_wireless_get_bssid,
4726                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
4727                         instead of iwlib functions
4728
4729 2008-03-14  Dan Williams  <dcbw@redhat.com>
4730
4731         * src/ppp-manager/nm-ppp-manager.c
4732                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
4733                         should only take the DBusGMethodInvocation argument, not user/pass
4734                         too.  With dbus-glib, async functions only take 2 C arguments since
4735                         the real dbus method arguments get passed back with
4736                         dbus_g_method_return()
4737
4738 2008-03-13  Tambet Ingo  <tambet@gmail.com>
4739
4740         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
4741         Adapt the changes of NMSettingIP4Config.
4742
4743 2008-03-13  Dan Williams  <dcbw@redhat.com>
4744
4745         * src/NetworkManagerUtils.c
4746           src/NetworkManagerUtils.h
4747                 - (nm_ether_ntop): replacement for iw_ether_ntop()
4748
4749         * src/NetworkManagerAP.c
4750           src/nm-device-802-11-wireless.c
4751           src/nm-device-802-3-ethernet.c
4752                 - s/iw_ether_ntop/nm_ether_ntop/g
4753
4754 2008-03-13  Dan Williams  <dcbw@redhat.com>
4755
4756         * src/NetworkManagerPolicy.c
4757                 - (update_routing_and_dns): never set the default route through an
4758                         IPv4LL addressed device
4759
4760 2008-03-13  Dan Williams  <dcbw@redhat.com>
4761
4762         * NetworkManagerUtils.c
4763           NetworkManagerUtils.h
4764                 - Remove NMSock stuff
4765                 - Remove the completion stuff
4766
4767         * nm-device.c
4768           nm-device.h
4769           NetworkManager.c
4770           NetworkManagerSystem.c
4771           autoip.c
4772           nm-device-802-11-wireless.c
4773           nm-device-802-3-ethernet.c
4774                 - Remove NMSock and completion stuff
4775                 - Remove nm_ioctl_info()
4776
4777 2008-03-12  Dan Williams  <dcbw@redhat.com>
4778
4779         * src/nm-device.c
4780                 - (merge_ip4_config): avoid duplicates
4781
4782 2008-03-12  Dan Williams  <dcbw@redhat.com>
4783
4784         * libnm-util/nm-setting-ip4-config.c
4785           libnm-util/nm-setting-ip4-config.h
4786                 - Remove 'manual' and 'autoip' properties
4787                 - Add 'method' property
4788                 - (verify): fix verification with 'method'
4789                 - (finalize): free 'method'
4790                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
4791                         up for 'method'
4792
4793         * src/nm-device.c
4794                 - (real_act_stage3_ip_config_start): check IP4Config method
4795                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
4796                         the future
4797                 - (merge_ip4_config): IP settings are valid with DHCP too
4798                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
4799                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
4800
4801         * src/nm-device-802-11-wireless.c
4802                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
4803                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
4804                         only on demand
4805
4806         * system-settings/plugins/ifcfg-fedora/parser.c
4807           system-settings/plugins/ifcfg-suse/parser.c
4808                 - (make_ip4_setting): fix up for 'method'
4809
4810 2008-03-12  Dan Williams  <dcbw@redhat.com>
4811
4812         * system-settings/plugins/ifcfg-fedora/parser.c
4813           system-settings/plugins/ifcfg-fedora/parser.h
4814                 - (get_ifcfg_name): ignore more file suffixes
4815                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
4816
4817 2008-03-12  Dan Williams  <dcbw@redhat.com>
4818
4819         * configure.in
4820                 - Bring in the bits of gnome-common we actually use (all 15 lines)
4821
4822 2008-03-12  Dan Williams  <dcbw@redhat.com>
4823
4824         * system-settings/plugins/ifcfg-fedora/plugin.c
4825                 - (write_auto_wired_connection): new function; write out an auto
4826                         wired connection file since the applet isn't doing it any more
4827                 - (reload_all_connections): write out the auto wired connection file
4828                         if there aren't any wired connections already
4829                 - (init): don't leak a GError
4830
4831 2008-03-12  Dan Williams  <dcbw@redhat.com>
4832
4833         * src/nm-device-interface.c
4834                 - (nm_device_interface_activate): print the ID of the connection
4835                         that's about to be activated
4836
4837 2008-03-12  Dan Williams  <dcbw@redhat.com>
4838
4839         Harmonize the 802.11 bitrate API
4840
4841         * introspection/nm-access-point.xml
4842                 - 'Rate' -> 'MaxBitrate'; clarify units
4843
4844         * introspection/nm-device-802-11-wireless.xml
4845                 - Clarify units of 'Bitrate'
4846
4847         * src/NetworkManagerAP.c
4848           src/NetworkManagerAP.h
4849                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
4850                         property to 'max-bitrate'
4851                 - (foreach_property_cb): convert rate to Kb/s
4852
4853         * src/nm-device-802-11-wireless.c
4854                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
4855
4856         * libnm-glib/nm-access-point.c
4857           libnm-glib/nm-access-point.h
4858                 - 'rate' -> 'max-bitrate'
4859
4860         * test/nm-tool.c
4861           libnm-glib/libnm-glib-test.c
4862                 - Fix up for these changes
4863
4864 2008-03-12  Dan Williams  <dcbw@redhat.com>
4865
4866         * src/nm-device.c
4867                 - (nm_device_set_ip4_config): don't send property notifications when
4868                         the ip4 config is set to NULL; it causes a PropertyChanged signal
4869                         which dbus-glib can't parse because the value is NULL, which isn't
4870                         a legal object path.  Setting the IP4 config to NULL is only
4871                         valid when deactivating a device anyway, so the device state change
4872                         will alert listeners that the ip4 config is invalid.
4873
4874 2008-03-12  Dan Williams  <dcbw@redhat.com>
4875
4876         * src/nm-properties-changed-signal.c
4877                 - (add_to_string): better handling of NULL objects
4878
4879 2008-03-12  Dan Williams  <dcbw@redhat.com>
4880
4881         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
4882         convert the libnm-glib NMDevice8023Ethernet to cached properties
4883
4884         * introspection/nm-device-802-3-ethernet.xml
4885                 - New 'Carrier' property
4886                 - New 'PropertiesChanged' signal
4887
4888         * introspection/nm-device.xml
4889                 - Remove 'Carrier' property
4890                 - Remove 'CarrierChanged' signal
4891
4892         * src/nm-device-interface.c
4893           src/nm-device-interface.h
4894                 - (nm_device_interface_init): remove 'carrier' property and
4895                         'carrier-changed' signal
4896
4897         * src/nm-device.c
4898           src/nm-device.h
4899                 - (nm_device_get_carrier, nm_device_set_carrier): remove
4900                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
4901                         the link here; wired device will handle that
4902                 - (handle_dhcp_lease_change): don't bother updating link here
4903                 - (get_property, nm_device_class_init): remove carrier property
4904
4905         * src/nm-device-802-11-wireless.c
4906                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
4907                         real_update_link(); wireless devices don't use carrier at all
4908                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
4909                    supplicant_iface_connection_state_cb_handler,
4910                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
4911
4912         * src/nm-device-802-3-ethernet.c
4913           src/nm-device-802-3-ethernet.h
4914                 - (nm_device_802_3_ethernet_carrier_on,
4915                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
4916                         instead of nm_device_set_carrier()
4917                 - (device_state_changed): update link from sysfs on activation;
4918                         replaces real_update_link()
4919                 - (real_update_link): remove, replaced by device_state_changed()
4920                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
4921                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
4922                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
4923                         new get_carrier function
4924                 - (get_property): add 'carrier' property
4925                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
4926                         hook into property-changed signal helper
4927
4928         * src/NetworkManagerPolicy.c
4929                 - (device_carrier_changed): will only ever be called with a wired device
4930                 - (device_added): only hook up to carrier-changed for wired devices
4931
4932         * libnm-glib/nm-device.c
4933           libnm-glib/nm-device.h
4934                 - (constructor, nm_device_class_init): remove carrier-changed signal
4935                 - (device_carrier_changed_proxy): remove; unused
4936                 - (nm_device_get_carrier): remove; carrier a property of wired devices
4937
4938         * libnm-glib/nm-device-802-3-ethernet.c
4939           libnm-glib/nm-device-802-3-ethernet.h
4940                 - Convert to cached properties like AP and Wireless objects
4941                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
4942                         instead of a 'char *', return value should not be freed
4943                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
4944                 - (constructor): hook into properties-changed helper
4945                 - (set_property, get_property): new functions
4946                 - (nm_device_802_3_ethernet_class_init): export GObject properties
4947
4948         * test/nm-tool.c
4949                 - (detail_device): strdup the wired hardware address too since it's
4950                         cached now
4951
4952         * libnm-glib/libnm-glib-test.c
4953                 - (dump_wired): strdup the wired hardware address too since it's
4954                         cached now
4955
4956 2008-03-12  Dan Williams  <dcbw@redhat.com>
4957
4958         * libnm-util/nm-setting-ip4-config.c
4959           libnm-util/nm-setting-ip4-config.h
4960                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
4961                         the 'autoip' property from the spec
4962
4963 2008-03-11  Dan Williams  <dcbw@redhat.com>
4964
4965         * src/backends/NetworkManagerGeneric.c
4966           src/backends/NetworkManagerGeneric.h
4967                 - (nm_generic_device_get_use_dhcp): remove
4968
4969 2008-03-11  Dan Williams  <dcbw@redhat.com>
4970
4971         * src/nm-device.c
4972                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
4973                         already in nm_device_set_ip4_config()
4974                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
4975                         due to a DHCP rebind fails
4976                 - (nm_device_set_ip4_config): send property notifications when the
4977                         ip4 config changes
4978                 - (get_property): only report IP4Config property during valid states
4979
4980         * src/NetworkManagerPolicy.c
4981                 - (update_routing_and_dns): ignore devices that don't have an ip4
4982                         config; add parameter 'force_update' to allow callers to specify
4983                         that changes should be made even if the default device doesn't change
4984                 - (device_ip4_config_changed): update DNS and routing when the device's
4985                         IP4Config changes, like for DHCP updates
4986                 - (device_added): listen for ip4-config property changes
4987
4988 2008-03-11  Dan Williams  <dcbw@redhat.com>
4989
4990         Fix address handling as a result of DHCP rebind/renew/reboot.
4991
4992         * src/NetworkManagerSystem.c
4993                 - (check_one_address): delete an address if it doesn't match a given
4994                         one for the same interface
4995                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
4996                         be smarter about flushing addresses (only flush ones that don't
4997                         match the one we're about to apply)
4998
4999         * src/backends/NetworkManagerDebian.c
5000           src/backends/NetworkManagerSuSE.c
5001           src/backends/NetworkManagerArch.c
5002           src/backends/NetworkManagerSlackware.c
5003           src/backends/NetworkManagerRedHat.c
5004           src/backends/NetworkManagerPaldo.c
5005           src/backends/NetworkManagerFrugalware.c
5006           src/backends/NetworkManagerGentoo.c
5007                 - (nm_system_delete_default_route): remove
5008
5009         * src/backends/NetworkManagerGeneric.c
5010           src/backends/NetworkManagerGeneric.h
5011                 - (nm_generic_enable_loopback): fix the loopback device label
5012                 - (nm_generic_delete_default_route): remove; no longer used
5013
5014 2008-03-11  Dan Williams  <dcbw@redhat.com>
5015
5016         * src/nm-device-interface.h
5017                 - Delimit property name words with '-', otherwise g_object_notify()
5018                         doesn't work the way we expect
5019
5020 2008-03-11  Tambet Ingo  <tambet@gmail.com>
5021
5022         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
5023
5024 2008-03-11  Dan Williams  <dcbw@redhat.com>
5025
5026         * src/NetworkManagerPolicy.c
5027                 - (update_routing_and_dns): don't change anything if the default device
5028                         hasn't changed; print something out when switching the default route
5029                         and DNS
5030
5031 2008-03-10  Tambet Ingo  <tambet@gmail.com>
5032
5033         Implement PPPoE.
5034
5035         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
5036         setting. Use "nic-$eth".
5037
5038         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
5039         the device is activating here to fix a race condition.
5040
5041         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
5042
5043         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
5044         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
5045         (nm_ppp_manager_start): Take activation request instead of connection, we might
5046         need it for asking secrets.
5047         (nm_ppp_manager_update_secrets): Implement.
5048
5049         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
5050         ppp manager start. It might be needed for asking secrets.
5051
5052         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
5053         (ppp_state_changed): Handle pppd daemon disappearing.
5054         (pppoe_stage2_config): Send activation request to ppp manager start.
5055
5056         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
5057
5058         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
5059         username and password.
5060         
5061 2008-03-10  Dan Williams  <dcbw@redhat.com>
5062
5063         * src/nm-device.c
5064                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
5065                         response to a DHCP lease change
5066                 - (dhcp_state_changed): handle DHCP lease changes while activated
5067                 - (nm_device_set_ip4_config): remove a previously set named config
5068                         when setting an ip4 config
5069
5070 2008-03-10  Dan Williams  <dcbw@redhat.com>
5071
5072         * src/nm-serial-device.c
5073                 - (nm_serial_device_send_command): report errno on error
5074                 - (get_reply_got_data): limit the size of the overall buffer
5075                 - (wait_for_reply_info_destroy): destroy result string
5076                 - (wait_for_reply_got_data): append received data to an overall buffer
5077                         until timeout, filled buffer, or error instead of keeping a per-call
5078                         buffer.  Some devices send data slowly enough that this function
5079                         gets called multiple times for the same command stream.
5080                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
5081                         wait_for_reply_got_data() here
5082
5083 2008-03-10  Dan Williams  <dcbw@redhat.com>
5084
5085         * src/nm-cdma-device.c
5086                 - (do_dial, init_modem): handle errors from
5087                         nm_serial_device_send_command_string()
5088
5089         * src/nm-gsm-device.c
5090                 - (do_dial, manual_registration, automatic_registration_get_network,
5091                    automatic_registration, enter_pin, check_pin, init_modem): handle
5092                         errors from nm_serial_device_send_command_string()
5093
5094 2008-03-10  Dan Williams  <dcbw@redhat.com>
5095
5096         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
5097
5098         * src/named-manager/nm-named-manager.c
5099                 - (compute_searches): prefer searches before domains
5100                 - (compute_domain): new function
5101                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
5102                 - (merge_one_ip4_config): if there are no searches in the source config,
5103                         merge domains of the source config into the target config
5104                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
5105
5106 2008-03-10  Dan Williams  <dcbw@redhat.com>
5107
5108         * src/nm-serial-device.c
5109                 - (get_reply_got_data): clean up indentation, shrink serial buffer
5110                 - (wait_for_reply_got_data): try to handle slower serial devices where
5111                         the reply is broken up into multiple reads by concatenating replies
5112                         together until either an error is received or the search string is
5113                         found
5114
5115 2008-03-10  Dan Williams  <dcbw@redhat.com>
5116
5117         * src/nm-device.c
5118                 - (nm_device_bring_down): deactivate the device if it's activating too,
5119                         not just if it's already activated.  This makes sure that everything
5120                         from an association attempt is cleaned up (like DHCP for example)
5121
5122 2008-03-10  Dan Williams  <dcbw@redhat.com>
5123
5124         * src/nm-serial-device.c
5125                 - (config_fd): report error from TCSETA
5126                 - (nm_serial_device_open): fail when config_fd() fails
5127
5128 2008-03-10  Dan Williams  <dcbw@redhat.com>
5129
5130         * src/nm-ip4-config.c
5131                 - (nm_ip4_config_init): allocate searches list
5132                 - (finalize): free searches list
5133
5134 2008-03-09  Dan Williams  <dcbw@redhat.com>
5135
5136         Patch from Bas Zoetekouw <bas@debian.org>
5137
5138         * src/dhcp-manager/nm-dhcp-manager.c
5139                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
5140
5141 2008-03-09  Dan Williams  <dcbw@redhat.com>
5142
5143         Patch from Bas Zoetekouw <bas@debian.org>
5144
5145         * src/nm-ip4-config.c
5146           src/nm-ip4-config.h
5147                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
5148                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
5149                         domains.  'searches' is the correct way to store multiple search
5150                         domains, whereas 'domains' is really just supposed to store one
5151                         domain.  Some sites abuse the DHCP 'domain-name' option to push
5152                         search domains to the client.
5153                 - (nm_ip4_config_add_domain): group with related functions (my patch)
5154
5155 2008-03-09  Dan Williams  <dcbw@redhat.com>
5156
5157         * src/dhcp-manager/nm-dhcp-manager.c
5158                 - (dhclient_run): send interface-specific config files to dhclient
5159
5160 2008-03-07  Dan Williams  <dcbw@redhat.com>
5161
5162         * system-settings/plugins/ifcfg-fedora/parser.c
5163                 - (is_wireless_device): new function; test a device for wireless
5164                         extensions
5165                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
5166                         test the device for wireless extensions to determine the type
5167
5168 2008-03-07  Dan Williams  <dcbw@redhat.com>
5169
5170         Change manager's StateChange signal to StateChanged for consistency.
5171
5172         * introspection/nm-manager.xml
5173                 - Add 'StateChanged' signal
5174                 - Move 'StateChange' down to the deprecated section
5175
5176         * src/nm-hal-manager.c
5177                 - (nm_hal_manager_new): connect to 'state-changed' instead
5178
5179         * src/NetworkManagerPolicy.c
5180                 - (nm_policy_new): connect to 'state-changed' instead
5181
5182         * src/nm-manager.c
5183           src/nm-manager.h
5184                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
5185                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
5186                         of 'state-change'
5187
5188         * libnm-glib/nm-client.c
5189           libnm-glib/nm-client.h
5190                 - (constructor, nm_client_class_init, client_state_changed_proxy):
5191                         track and proxy 'state-changed' instead of 'state-change'
5192
5193 2008-03-07  Dan Williams  <dcbw@redhat.com>
5194
5195         First pass of multiple active device support.  Expect bugs.
5196
5197         * src/nm-ip4-config.c
5198           src/nm-ip4-config.h
5199                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
5200                         there are better ways to do this in the named manager
5201
5202         * src/nm-device.c
5203           src/nm-device.h
5204                 - (nm_device_can_activate): return whether the device can activate a
5205                         connection right now; taking into account things like carrier state
5206                         and rfkill state
5207                 - (nm_device_get_best_auto_connection): renamed from
5208                         nm_device_get_best_connection
5209                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
5210                         device subclasses themselves, so that each device can override the
5211                         MTU from it's NMSetting subclass if needed
5212                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
5213                         in NetworkManagerSystem.c, not here
5214
5215         * src/named-manager/nm-named-manager.c
5216           src/named-manager/nm-named-manager.h
5217                 - (nm_named_manager_name_owner_changed,
5218                    nm_named_manager_dbus_connection_changed): fix for changes to
5219                         rewrite_resolv_conf()
5220                 - (compute_nameservers): don't need the NMNamedManager at all, remove
5221                         from parameter list
5222                 - (merge_one_ip4_config): new function; merge ip4 configs together
5223                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
5224                         ip4 configs; the VPN config takes precedence, then the best
5225                         device config, then the rest of the configs
5226                 - (get_domain_for_config): take the NMNamedManager as an argument
5227                         to check whether the config is the VPN config
5228                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
5229                         attribute from ip4 configs
5230                 - (add_all_ip4_configs_to_named): add all the configs in priority order
5231                 - (remove_ip4_config_from_named): fix for changes to
5232                         get_domain_for_config()
5233                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
5234                         based on its type; callers must pass in the type now
5235                 - (get_last_default_domain): remove, unused
5236                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
5237
5238         * src/nm-device-802-11-wireless.c
5239                 - (real_can_activate): new function
5240                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5241                 - (real_act_stage4_get_ip4_config): handle MTU override
5242
5243         * src/nm-device-802-3-ethernet.c
5244                 - (real_can_activate): new function
5245                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5246                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
5247
5248         * src/vpn-manager/nm-vpn-connection.c
5249                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
5250                         attribute on the ip4 config
5251
5252         * src/NetworkManagerPolicy.c
5253                 - (nm_policy_auto_get_best_device): remove
5254                 - (nm_policy_device_change_check): remove
5255                 - (update_default_route): new function; set the default route via
5256                         the specified device
5257                 - (get_device_priority): new function; return the priority number of
5258                         a device type WRT which one should have the default route.  Order is
5259                         (highest to lowest)  wired, wireless, GSM, CDMA.
5260                 - (update_routing_and_dns): new function; determine which device should
5261                         have the default route, then update the routing table and DNS
5262                 - (maybe_auto_activate_device): new function; if a device is now
5263                         available for activation, find out what connection it would like to
5264                         activate and do it
5265                 - (schedule_activate_check): new function; if a device can be activated
5266                         now, schedule the activation.  Each device may have only one
5267                         pending activation at a given time.
5268                 - (device_state_changed): if activation was canceled, try again,
5269                         possibly with another connection; if the device was activated,
5270                         update routing and DNS; if the device was deactivated, try again
5271                         with another connection
5272                 - (device_carrier_changed): if there is no carrier, deactivate the
5273                         device; otherwise schedule an activation check for the device
5274                 - (wireless_networks_changed): schedule an activation check for the
5275                         device
5276                 - (device_added): keep track of the signal handler IDs so they can
5277                         be removed when the device goes away
5278                 - (device_removed): remove any signal handlers that might be attached
5279                         to the device; update routing and DNS
5280                 - (schedule_activate_all): new function
5281                 - (connections_added, connection_added, connection_updated): when
5282                         connections change, schedule all devices for an activation check
5283                 - (connection_removed): when a device is deactivated because its
5284                         connection was removed, schedule another activation check for it
5285                 - (nm_policy_destroy): destroy pending activations and disconnect
5286                         all device signal handlers
5287
5288         * src/nm-manager.c
5289                 - (nm_manager_activate_device): if the device was already actived,
5290                         deactivate it
5291                 - (deactivate_old_device): remove
5292                 - (connection_added_default_handler, impl_manager_activate_device):
5293                         don't deactivate other devices when activating this one
5294
5295         * src/backends/NetworkManagerGentoo.c
5296           src/backends/NetworkManagerFrugalware.c
5297           src/backends/NetworkManagerPaldo.c
5298           src/backends/NetworkManagerRedHat.c
5299           src/backends/NetworkManagerSlackware.c
5300           src/backends/NetworkManagerArch.c
5301           src/backends/NetworkManagerSuSE.c
5302           src/backends/NetworkManagerDebian.c
5303                 - (nm_system_get_mtu): remove; MTU should be provided through the
5304                         distro's system settings service plugin instead
5305                 - (nm_system_device_add_default_route_via_device): remove
5306                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5307                 - (nm_system_device_replace_default_route): new function; call
5308                         generic implementation
5309
5310         * src/backends/NetworkManagerGeneric.c
5311           src/backends/NetworkManagerGeneric.h
5312                 - (nm_generic_device_add_default_route_via_device,
5313                    nm_generic_device_add_default_route_via_device_with_iface): remove
5314                 - (nm_generic_device_replace_default_route): replace the default route
5315                         with the given route via some gateway
5316
5317         * src/NetworkManagerSystem.c
5318           src/NetworkManagerSystem.h
5319                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
5320                         to routing and DNS; but set the MTU here
5321                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
5322                         ip_iface of the active device; use the standard MTU setting function
5323                 - (nm_system_set_mtu): remove
5324                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
5325
5326 2008-03-07  Tambet Ingo  <tambet@gmail.com>
5327
5328         Rework the interaction between ppp manager and pppd plugin. Register a well
5329         known DBUS service in manager and let the plugin call it's methods instead
5330         of listening plugin's signals.
5331
5332         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
5333         of emitting signals.
5334
5335         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
5336
5337         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
5338
5339         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
5340         nm_ppp_manager_start().
5341
5342         * introspection/nm-ppp-manager.xml: New file.
5343
5344         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
5345         the case correctly where driver is trying to send -1 for the speed, which gets
5346         casted to u16 and thus is always > 0.
5347
5348 2008-03-07  Dan Williams  <dcbw@redhat.com>
5349
5350         * src/nm-hal-manager.c
5351                 - (nm_get_device_driver_name): use net.originating_device first, fall
5352                         back to physical device.  HAL has deprecated physical_device.
5353
5354         * libnm-glib/nm-device.c
5355                 - (get_product_and_vendor): use net.originating_device first, fall
5356                         back to physical device.  HAL has deprecated physical_device.
5357                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
5358
5359 2008-03-07  Dan Williams  <dcbw@redhat.com>
5360
5361         * src/nm-netlink.c
5362                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
5363                         last commit; fix that
5364                 - (get_link_cache): print error string
5365
5366 2008-03-07  Dan Williams  <dcbw@redhat.com>
5367
5368         * src/nm-netlink.c
5369                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
5370                         don't need this hack any more (Benoit Boissinot)
5371
5372 2008-03-06  Dan Williams  <dcbw@redhat.com>
5373
5374         * autogen.sh
5375                 - Die gnome-common, die
5376
5377 2008-03-04  Dan Williams  <dcbw@redhat.com>
5378
5379         Patch from Michael Biebl <biebl@debian.org>
5380
5381         * NetworkManager.pc.in
5382                 - doesn't actually depend on dbus-1
5383
5384         * libnm-util/nm-utils.h
5385                 - remove unused #include <dbus/dbus.h>
5386
5387         * libnm-glib/libnm_glib.pc.in
5388                 - depends on glib and dbus-glib
5389
5390 2008-03-02  Dan Williams  <dcbw@redhat.com>
5391
5392         * src/NetworkManagerPolicy.c
5393                 - s/device_state_changed_idle_id/update_state_id/
5394
5395 2008-03-02  Dan Williams  <dcbw@redhat.com>
5396
5397         * src/nm-device.c
5398           src/nm-device.h
5399           src/nm-device-802-11-wireless.c
5400           src/nm-device-802-3-ethernet.c
5401           src/NetworkManagerPolicy.c
5402                 - s/link_active/carrier
5403                 - nm_device_set_active_link() -> nm_device_set_carrier()
5404                 - nm_device_has_active_link() -> nm_device_get_carrier()
5405
5406 2008-03-02  Dan Williams  <dcbw@redhat.com>
5407
5408         * system-settings/plugins/ifcfg-fedora/parser.c
5409                 - (make_wireless_setting): fail connection creation on missing SSID
5410
5411 2008-02-29  Dan Williams  <dcbw@redhat.com>
5412
5413         * src/NetworkManagerPolicy.c
5414                 - (nm_policy_device_change_check): ensure that a previously active
5415                         device with a system connection has a link before denying a switch
5416                         to a user connection
5417
5418 2008-02-29  Dan Williams  <dcbw@redhat.com>
5419
5420         * src/nm-device-802-11-wireless.c
5421                 - (link_timeout_cb): try again if scanning; deactivate the device when
5422                         activated if the link dies
5423                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
5424                         15 seconds
5425
5426 2008-02-29  Dan Williams  <dcbw@redhat.com>
5427
5428         * src/nm-device-802-11-wireless.c
5429           src/nm-device-802-11-wireless.h
5430                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
5431                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
5432                 - (device_cleanup): reset the scan interval lower when the device
5433                         deactivates
5434                 - (can_scan): base decision mostly off device state, not supplicant
5435                         interface state since the supplicant interface state isn't a
5436                         great indicator of whether the device is active or not
5437                 - (request_wireless_scan): clean up; schedule the next scan here
5438                 - (schedule_scan): only back the scan interval off if a new scan
5439                         actually gets scheduled; and make scan intervals tighter when the
5440                         device is disconnected
5441                 - (supplicant_iface_state_cb_handler): fold in the bits of
5442                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
5443                         interval to minimum
5444                 - (activation_success_handler): reset scan interval to something
5445                         reasonable 
5446
5447 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
5448
5449         reviewed by: Steev <steev@steev.net>
5450
5451         * configure.in:
5452         * src/backends/NetworkManagerGentoo.c:
5453         (nm_system_restart_mdns_responder):
5454                 Howl is no longer a supported mDNS provider
5455
5456 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5457
5458         Get rid of a bunch of unused distro specific functions.
5459
5460 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5461
5462         Implement suse plugin for system settings daemon.
5463
5464         * system-settings/plugins/ifcfg-suse/*: Implement.
5465
5466         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
5467         suse.
5468
5469         * configure.in: Check (without failing) for gio.
5470         Create ifcfg-suse plugin's Makefile.
5471
5472 2008-02-20  Dan Williams  <dcbw@redhat.com>
5473
5474         * libnm-util/nm-connection.c
5475           libnm-util/nm-connection.h
5476                 - (nm_connection_compare): accept compare flags and pass them to the
5477                         setting compare function
5478
5479         * libnm-util/nm-setting.c
5480           libnm-util/nm-setting.h
5481                 - (nm_setting_compare): accept compare flags; ignore properties that are
5482                         marked fuzzy
5483
5484         * libnm-util/nm-setting-connection.c
5485           libnm-util/nm-setting-wireless.c
5486           libnm-util/nm-setting-ppp.c
5487           libnm-util/nm-setting-wired.c
5488                 - Mark some setting properties as ignorable when doing a fuzzy compare
5489
5490         * src/nm-device.c
5491                 - (device_activation_precheck): use exact compare
5492
5493 2008-02-20  Dan Williams  <dcbw@redhat.com>
5494
5495         * src/NetworkManagerPolicy.c
5496                 - (nm_policy_device_change_check): get scope off the connection, not
5497                         using the manager helper
5498
5499         * src/nm-manager.c
5500           src/nm-manager.h
5501                 - (get_scope_for_proxy): rename from get_type_for_proxy()
5502                 - (connection_get_settings_cb): set scope and path on connection, not
5503                         using GObject data items
5504                 - (get_connection_for_proxy): don't need to return path, since that
5505                         can be gotten from the connection
5506                 - (get_connection_for_proxy): get path off the connection, not from
5507                         parameters
5508                 - (connection_removed_cb, connection_updated_cb): don't need to get
5509                         path from get_connection_for_proxy(); get scope off the connection
5510                         instead of using GObject data items
5511                 - (connection_added_default_handler, add_one_connection_element): use
5512                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
5513                 - (nm_manager_get_connection_dbus_path): remove
5514                 - (nm_manager_get_connection_scope): remove
5515
5516 2008-02-20  Dan Williams  <dcbw@redhat.com>
5517
5518         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
5519                 on confusing names
5520
5521         * Add 'path' and 'scope' properties to NMConnection since both NM and the
5522                 applet were having to hack this in anyway.  Remove the 'path' stuff from
5523                 NMExportedConnection
5524
5525         * Internally rename NMConnectionType -> NMConnectionScope
5526
5527         * Provide default implementations of the 'get_id' and 'get_settings' methods
5528                 of NMExportedConnection
5529
5530 2008-02-15  Dan Williams  <dcbw@redhat.com>
5531
5532         * src/nm-device-802-11-wireless.c
5533                 - (device_cleanup): release the AP list here too so that the AP list
5534                         doesn't survive across suspend/resume and up/down.  There is some
5535                         room for optimization, for example blow the list away when the card
5536                         brought back up, but only if the device has only been down for a
5537                         minute or more.
5538
5539 2008-02-15  Dan Williams  <dcbw@redhat.com>
5540
5541         * src/nm-hal-manager.c
5542                 - (modem_device_creator): recognize new HAL modem capabilities
5543
5544 2008-02-12  Dan Williams  <dcbw@redhat.com>
5545
5546         * system-settings/plugins/ifcfg-fedora/plugin.c
5547                 - (watch_path): handle IN_DELETE_SELF too
5548                 - (handle_connection_changed): notify when removing a connection
5549                 - (stuff_changed): don't warn on unknown inotify watches; handle the
5550                         case of a file moving out of the profile directory
5551
5552 2008-02-12  Dan Williams  <dcbw@redhat.com>
5553
5554         * system-settings/plugins/ifcfg-fedora/parser.c
5555                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
5556
5557 2008-02-12  Dan Williams  <dcbw@redhat.com>
5558
5559         * libnm-util/nm-utils.c
5560                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
5561                         just any empty array
5562
5563 2008-02-12  Dan Williams  <dcbw@redhat.com>
5564
5565         * system-settings/src/nm-system-config-interface.c
5566           system-settings/src/nm-system-config-interface.h
5567                 - (load_connections): get_connections() should now return an allocated
5568                         GSList that the system settings service will free
5569
5570         * system-settings/plugins/ifcfg-fedora/plugin.c
5571           system-settings/plugins/ifcfg-fedora/parser.h
5572           system-settings/plugins/ifcfg-fedora/parser.c
5573                 - Fix up inotify issues; handle keys-* files, handle new files appearing
5574                         in the profile directory, handle resolv.conf file changes
5575
5576 2008-02-10  Dan Williams  <dcbw@redhat.com>
5577
5578         * src/nm-device-802-3-ethernet.c
5579                 - (real_bring_up): save the supplicant interface state signal id
5580                 - (real_bring_down): disconnect from the supplicant interface state
5581                         signal
5582
5583 2008-02-07  Dan Williams  <dcbw@redhat.com>
5584
5585         * initscript/RedHat/NetworkManager.in
5586           initscript/RedHat/NetworkManagerDispatcher.in
5587                 - Add new-style LSB init headers
5588
5589 2008-02-07  Dan Williams  <dcbw@redhat.com>
5590
5591         * system-settings/src/dbus-settings.c
5592           system-settings/src/dbus-settings.h
5593                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
5594                         table of secrets
5595                 - (connection_settings_get_secrets): consolidate error returns into
5596                         one place; use the new get_secrets() plugin interface function to
5597                         get secrets from the plugin itself rather than using GObject data
5598                         magic
5599
5600         * system-settings/src/main.c
5601                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
5602                    load_connections): keep a private list of the plugin-returned
5603                         connections, don't use the plugin's GSList
5604
5605         * system-settings/plugins/ifcfg-fedora/plugin.c
5606                 - (watch_path): watch the path, not the filename (duh)
5607                 - (reload_all_connections): use the direct hash/equal functions; the
5608                         ones for int aren't appropriate here
5609                 - (get_secrets, system_config_interface_init): implement the
5610                         get_secrets() function
5611                 - (build_one_connection, find_connection_by_path): ifcfg file path is
5612                         now in the connection's ConnectionData instead of being a GObject
5613                         data property
5614                 - (handle_profile_item_changed): ifcfg file path is now in the
5615                         connection's ConnectionData instead of being a GObject data property;
5616                         be sure to copy secrets over from the new connection to the existing
5617                         connection when updating the connection's settings
5618                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
5619                         file descriptor
5620
5621         * system-settings/plugins/ifcfg-fedora/parser.c
5622           system-settings/plugins/ifcfg-fedora/parser.h
5623                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
5624                    connection_data_copy_secrets, connection_data_free,
5625                    connection_data_add): new functions; connection data manipulation
5626                 - (make_wireless_security_setting): stuff secrets into the
5627                         connection data, not as GObject data items; make sure to close
5628                         the keys ifcfg file
5629                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
5630                         connection data to the connection
5631
5632 2008-02-07  Dan Williams  <dcbw@redhat.com>
5633
5634         * system-settings/src/nm-system-config-interface.c
5635           system-settings/src/nm-system-config-interface.h
5636                 - Add a get_secrets() interface function to retrieve secrets for a
5637                         specific setting of a specific connection.  Document the interface
5638                         a bit more too.
5639
5640 2008-02-07  Dan Williams  <dcbw@redhat.com>
5641
5642         * src/nm-device-802-11-wireless.c
5643                 - (handle_auth_or_fail): new function; consolidate device activation
5644                         failure check after a certain number of failures getting secrets
5645                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
5646                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
5647                         the connection if secrets were requested more than a few times
5648                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
5649                         tries here; otherwise they are cleared before the IP configure
5650                         timeout, which happens with open system WEP when key is wrong
5651                 - (activation_success_handler): clear wireless secrets tries here too
5652
5653 2008-02-07  Dan Williams  <dcbw@redhat.com>
5654
5655         * src/NetworkManagerPolicy.c
5656                 - (connection_updated): clear invalid tag when connection gets updated
5657                         to allow that connection to be tried again
5658                 - (nm_policy_new): save signal ids so they can be disconnected when
5659                         the policy is destroyed
5660                 - (nm_policy_destroy): stop any in-progress state change idle handler,
5661                         and disconnect all signals from the manager object so that none
5662                         of the policy functions gets called after the policy is destroyed
5663
5664 2008-02-06  Dan Williams  <dcbw@redhat.com>
5665
5666         * src/nm-manager.c
5667                 - (finalize): remove devices a bit earlier; clean up system settings
5668                         poke
5669                 - (nm_manager_name_owner_changed): clean up system settings poke when
5670                         the service appears, and try to restart it if it fails
5671                 - (poke_system_settings_daemon_cb): try to get the system settings
5672                         service started through D-Bus service activation
5673                 - (initial_get_connections): start the system settings daemon if it's
5674                         not already running
5675
5676 2008-02-05  Dan Williams  <dcbw@redhat.com>
5677
5678         * src/supplicant-manager/nm-supplicant-config.c
5679                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
5680                         broadcast networks too
5681
5682 2008-02-04  Dan Williams  <dcbw@redhat.com>
5683
5684         * system-settings/plugins/ifcfg-fedora/parser.c
5685                 - (make_wireless_security_setting): fix spelling; unencrypted networks
5686                         need key_mgmt set too
5687                 - (parser_parse_file): validate ifcfg file name and don't try to parse
5688                         .bak files; ensure that an error is set whenever NULL gets returned
5689
5690 2008-02-04  Dan Williams  <dcbw@redhat.com>
5691
5692         * system-settings/src/Makefile.am
5693                 - Install D-Bus service activation file for the system settings
5694                         service
5695
5696         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
5697                 - D-Bus service activation file for system settings service
5698
5699 2008-02-04  Dan Williams  <dcbw@redhat.com>
5700
5701         * system-settings/src/main.c
5702                 - (parse_config_file): parse a config file
5703                 - (main): accept --config option and read plugins from config file
5704
5705 2008-02-04  Dan Williams  <dcbw@redhat.com>
5706
5707         * system-settings/plugins/ifcfg-fedora/plugin.c
5708                 - Change reported name to 'ifcfg-fedora'
5709                 - Use IFCFG_PLUGIN_NAME
5710
5711         * system-settings/plugins/ifcfg-fedora/plugin.c
5712                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
5713
5714 2008-02-04  Dan Williams  <dcbw@redhat.com>
5715
5716         * system-settings/plugins/ifcfg-fedora/parser.c
5717                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
5718                 - (make_connection_setting): use get_ifcfg_name()
5719                 - (make_wireless_security_setting): handle shadow key files
5720                 - (get_one_wep_key): treat empty string as NULL
5721
5722 2008-02-04  Dan Williams  <dcbw@redhat.com>
5723
5724         * src/supplicant-manager/nm-supplicant-manager.c
5725                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
5726                         glib automatically reschedule
5727                 - (nm_supplicant_manager_init): immediately try to start the supplicant
5728                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
5729                         the supplicant
5730
5731 2008-02-01  Dan Williams  <dcbw@redhat.com>
5732
5733         * src/NetworkManagerPolicy.c
5734                 - (device_state_changed): schedule a change check when a device gets
5735                         deactivated so something happens if you disconnect GSM/CDMA
5736
5737 2008-01-31  Dan Williams  <dcbw@redhat.com>
5738
5739         * src/nm-device-802-11-wireless.h
5740           src/nm-device-802-11-wireless.c
5741                 - (ap_list_get_ap_by_ssid, is_associated,
5742                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
5743                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
5744                 - (nm_device_802_11_wireless_get_activation_ap): collapse
5745                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
5746                         function
5747
5748 2008-01-30  Dan Williams  <dcbw@redhat.com>
5749
5750         * system-settings/plugins/ifcfg
5751         * system-settings/plugins/ifcfg-fedora
5752                 - Move the ifcfg plugin to ifcfg-fedora
5753
5754 2008-01-24  Dan Williams  <dcbw@redhat.com>
5755
5756         * libnm-glib/nm-device-802-11-wireless.c
5757                 - (get_access_point): move the "/" check here; check for invalid path
5758                         too
5759                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
5760                         to get_access_point()
5761                 - (access_point_added_proxy, access_point_removed_proxy): don't try
5762                         to send signals for non-existent access points
5763
5764 2008-01-24  Dan Williams  <dcbw@redhat.com>
5765
5766         * libnm-glib/nm-device-802-11-wireless.c
5767                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
5768
5769 2008-01-23  Dan Williams  <dcbw@redhat.com>
5770
5771         * libnm-glib/libnm_glib.c
5772                 - (libnm_glib_init): make thread joinable
5773                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
5774
5775 2008-01-23  Dan Williams  <dcbw@redhat.com>
5776
5777         * test/libnm_glib_test.c
5778                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
5779                 - (main): set up signal handlers; call libnm_glib_shutdown
5780
5781 2008-01-21  Dan Williams  <dcbw@redhat.com>
5782
5783         * include/NetworkManager.h
5784                 - Add CDMA mobile broadband card device type
5785
5786         * src/nm-hal-manager.c
5787                 - (modem_device_creator): handle both CDMA and GSM modems; the device
5788                         must now be tagged with 'cdma' or 'gsm' capability
5789
5790         * src/nm-cdma-device.c
5791           src/nm-cdma-device.h
5792           src/Makefile.am
5793                 - Add the CDMA mobile broadband card device class
5794
5795         * libnm-util/nm-connection.c
5796                 - (register_default_settings): add NMSettingCdma
5797
5798         * libnm-util/nm-setting-cdma.c
5799           libnm-util/nm-setting-cdma.h
5800           libnm-util/Makefile.am
5801                 - Add the CDMA mobile broadband card setting class
5802
5803         * libnm-glib/nm-cdma-device.c
5804           libnm-glib/nm-cdma-device.h
5805           libnm-glib/Makefile.am
5806                 - Add the CDMA mobile broadband card GLib proxy class
5807
5808         * libnm-glib/nm-client.c
5809                 - (get_device): handle CDMA devices too
5810
5811 2008-01-21  Dan Williams  <dcbw@redhat.com>
5812
5813         * src/ppp-manager/nm-ppp-manager.c
5814                 - (ip4_config_get): set peer address too
5815
5816         * src/ppp-manager/nm-pppd-plugin.c
5817                 - (nm_ip_up): try harder to get the peer's address
5818
5819         * src/NetworkManagerSystem.c
5820                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
5821                         address, use that too.  Otherwise, some PPP connections won't work.
5822
5823 2008-01-19  Dan Williams  <dcbw@redhat.com>
5824
5825         * src/NetworkManagerPolicy.c
5826                 - (nm_policy_device_change_check): system connections override user
5827                         connections; don't activate a user connection if there's a currently
5828                         active system connection, and new, better system connections always
5829                         interrupt user connections
5830
5831 2008-01-19  Dan Williams  <dcbw@redhat.com>
5832
5833         * src/nm-manager.h
5834                 - (nm_manager_get_connection_type): new function
5835
5836 2008-01-19  Dan Williams  <dcbw@redhat.com>
5837
5838         * src/nm-device-802-11-wireless.c
5839                 - (real_get_best_connection): collapse find_best_connection() into this
5840                         function
5841
5842 2008-01-19  Dan Williams  <dcbw@redhat.com>
5843
5844         * src/nm-device-802-3-ethernet.c
5845                 - (real_get_best_connection): collapse find_best_connection() into this
5846                         function
5847
5848 2008-01-18  Dan Williams  <dcbw@redhat.com>
5849
5850         * src/nm-device-802-3-ethernet.c
5851                 - (find_best_connection): check MAC address too
5852                 - (real_get_best_connection): let autoconnect=True connections activate
5853                         for devices that don't have carrier detection
5854
5855         * src/nm-device-802-11-wireless.c
5856                 - (find_best_connection): check MAC address too
5857
5858 2008-01-18  Dan Williams  <dcbw@redhat.com>
5859
5860         * system-settings/plugins/ifcfg/parser.c
5861                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
5862
5863 2008-01-17  Dan Williams  <dcbw@redhat.com>
5864
5865         * src/nm-device-802-3-ethernet.c
5866                 - (nm_device_802_3_ethernet_carrier_on,
5867                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
5868                         carrier events that might come in for devices that don't support
5869                         carrier detect
5870
5871 2008-01-17  Dan Williams  <dcbw@redhat.com>
5872
5873         * src/nm-device-interface.c
5874                 - (nm_device_interface_check_connection_conflicts): need to actually
5875                         get the interface, not cast to the object
5876
5877         * src/nm-device.c
5878                 - (nm_device_check_connection_conflicts): need to get the device class,
5879                         not cast the device to the device class
5880
5881 2008-01-17  Dan Williams  <dcbw@redhat.com>
5882
5883         * src/nm-device-802-11-wireless.c
5884                 - (real_check_connection_conflicts): ignore connections that aren't
5885                         wireless connections
5886
5887 2008-01-17  Dan Williams  <dcbw@redhat.com>
5888
5889         * src/NetworkManagerPolicy.c
5890                 - (nm_policy_device_change_check): clear change check idle here
5891                 - (device_change_check_done): remove
5892                 - (schedule_change_check): simplify
5893
5894 2008-01-17  Dan Williams  <dcbw@redhat.com>
5895
5896         * src/nm-manager.c
5897                 - (check_connection_allowed): take an NMDeviceInterface instead of
5898                         an NMDevice object as an argument
5899                 - (nm_manager_activate_device): pass an NMDeviceInterface to
5900                         check_connection_allowed()
5901
5902 2008-01-13  Dan Williams  <dcbw@redhat.com>
5903
5904         * libnm-glib/nm-device-802-11-wireless.c
5905                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
5906
5907 2008-01-12  Dan Williams  <dcbw@redhat.com>
5908
5909         * src/nm-device-802-11-wireless.c
5910                 - (activation_success_handler): if a match was found in the scan list
5911                         and that match is a hidden AP, update that AP's SSID
5912
5913 2008-01-11  Dan Williams  <dcbw@redhat.com>
5914
5915         * src/NetworkManagerAP.c
5916                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
5917
5918         * src/nm-device-802-11-wireless.c
5919                 - (get_active_ap): do two passes over the scan list if the caller
5920                         requests that hidden APs get matched too; during the second pass
5921                         when matching hidden APs, ignore the SSID since hidden APs in the
5922                         scan list don't have an SSID yet
5923                 - (periodic_update): move some checks to
5924                         nm_device_802_11_periodic_update() because not all callers need them
5925                 - (nm_device_802_11_periodic_update): move some checks here from
5926                         perodic_update()
5927                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
5928                         matching on incoming scan results, because the fake AP's flags
5929                         might be slightly different (yet still compatible) with the incoming
5930                         scan result's flags and they might actually be the same AP; update
5931                         the rate on merged APs too
5932                 - (activation_success_handler): update the frequency of the fake AP
5933                         on successful connection; match hidden APs too since if the
5934                         current AP is fake, there might already be a scan result in the
5935                         scan list for the desired AP, just without it's SSID filled in yet
5936
5937 2008-01-10  Dan Williams  <dcbw@redhat.com>
5938
5939         * src/NetworkManagerAP.c
5940                 - (foreach_property_cb): catch more hidden SSID formats
5941
5942 2008-01-10  Dan Williams  <dcbw@redhat.com>
5943
5944         Fix gnome.org #464215.  Requires the kernel patch titled
5945         "Introduce WEXT scan capabilities" but will handle the patch not being
5946         present, you'll just continue to have problems with hidden SSIDs when
5947         using mac80211-based drivers.
5948
5949         * src/supplicant-manager/nm-supplicant-config.h
5950           src/supplicant-manager/nm-supplicant-config.c
5951                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
5952                         whether the driver supports SSID scans or not.  If it does, and if
5953                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
5954
5955         * src/nm-device-802-11-wireless.c
5956                 - (constructor): check whether or not the driver supports SSID scans
5957                 - (build_supplicant_config): pass driver SSID scan capability when
5958                         building the wireless bits of the supplicant config
5959
5960 2008-01-09  Dan Williams  <dcbw@redhat.com>
5961
5962         * src/nm-device.c
5963           src/nm-device.h
5964                 - (device_activation_precheck, check_connection_complete): remove this
5965                         virtual function; incomplete connections should be invalid by
5966                         definition, complete-ness should be checked in the setting's
5967                         verify function
5968
5969         * src/nm-serial-device.c
5970           src/nm-gsm-device.c
5971                 - (real_check_connection_complete): remove
5972
5973         * libnm-util/nm-setting-serial.c
5974                 - (verify): new function; ensure there is a PPP setting too
5975
5976         * libnm-util/nm-setting-gsm.c
5977                 - (verify): ensure there is a serial setting too
5978
5979 2008-01-06  Dan Williams  <dcbw@redhat.com>
5980
5981         * src/dhcp-manager/nm-dhcp-manager.c
5982                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
5983                         (gnome.org #332953)
5984
5985 2008-01-04  Dan Williams  <dcbw@redhat.com>
5986
5987         * src/named-manager/nm-named-manager.c
5988                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
5989                         nameservers if the secondary config doesn't have any
5990                         (gnome.org #346833)
5991
5992 2008-01-02  Tambet Ingo  <tambet@gmail.com>
5993
5994         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
5995         with G_PARAM_CONSTRUCT so that they get the default values.
5996
5997         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
5998         the monitoring device and prints out the output for now. Or more precicely, doesn't
5999         do absolutely anything right now since the montoring device argument is never set.
6000
6001         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
6002         requires it's own knob to turn it on.
6003         (config_fd): Add NMSettingSerial to the arguments list.
6004         (nm_serial_device_open): Ditto.
6005         (get_reply_got_data): Ignore the terminators at the beginning of the output.
6006         (nm_serial_device_get_io_channel): Implement.
6007
6008         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
6009         a new reference every time (and forgetting to release it sometimes) is a pain and
6010         it's not like NMManager could work without dbus.
6011         (nm_manager_add_device): Register the added device on dbus here.
6012
6013         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
6014         device.
6015
6016         * src/nm-device.c (constructor): Don't export the device here, instead export
6017         it when it's added to the NMManager's device list.
6018
6019 2007-12-31  Dan Williams  <dcbw@redhat.com>
6020
6021         * src/nm-device-interface.c
6022           src/nm-device-interface.h
6023                 - (nm_device_interface_check_connection_conflicts): new function
6024
6025         * src/nm-device.c
6026           src/nm-device.h
6027                 - (nm_device_check_connection_conflicts): new function
6028                 - (device_activation_precheck): don't require subclasses to implement
6029                         check_connection_complete()
6030                 - check_connection() -> check_connection_complete()
6031
6032         * src/nm-device-802-11-wireless.c
6033                 - (real_check_connection): remove; unused
6034                 - (real_check_connection_conflicts): implement, handle lockdown for
6035                         system connections
6036
6037         * src/nm-device-802-3-ethernet.c
6038                 - (real_check_connection): remove; unused
6039
6040         * src/nm-manager.c
6041                 - (check_connection_allowed): new function
6042                 - (nm_manager_activate_device): ensure the connection being requested
6043                         is allowed to be activated
6044
6045         * src/nm-serial-device.c
6046           src/nm-gsm-device.c
6047                 - real_check_connection() -> real_check_connection_complete()
6048
6049 2007-12-27  Dan Williams  <dcbw@redhat.com>
6050
6051         * src/nm-device-interface.c
6052           src/nm-device-interface.h
6053                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
6054                         normalize and expand errors
6055                 - (nm_device_interface_init): register errors so they can be marshalled
6056                         through dbus-glib
6057                 - (nm_device_interface_activate): ensure that failure of activation
6058                         returns an error
6059
6060         * src/nm-device.c
6061           src/nm-device.h
6062                 - (device_activation_precheck): implementations of check_connection()
6063                         now take a GError and must fill it in if the check fails.  Return
6064                         more descriptive error if the requested connection is already
6065                         activating
6066                 - (nm_device_activate): actually try to return descriptive errors on
6067                         failures
6068
6069         * src/nm-device-802-11-wireless.c
6070           src/nm-device-802-3-ethernet.c
6071           src/nm-serial-device.c
6072           src/nm-gsm-device.c
6073                 - (real_check_connection): return more descriptive errors on failure
6074
6075         * src/NetworkManagerPolicy.c
6076                 - (nm_policy_device_change_check): print activation errors in the logs
6077
6078         * src/nm-manager.c
6079                 - (nm_manager_error_quark, nm_manager_error_get_type,
6080                    nm_manager_class_init): new errors
6081                 - (nm_manager_activate_device): handle errors
6082                 - (nm_manager_error_new): removed
6083                 - (wait_for_connection_expired, connection_added_default_handler,
6084                    impl_manager_activate_device): better error handling
6085
6086 2007-12-27  Dan Williams  <dcbw@redhat.com>
6087
6088         Fixes gnome.org #466954
6089
6090         * src/supplicant-manager/nm-supplicant-settings-verify.c
6091                 - Allow 'frequency' network property
6092
6093         * src/supplicant-manager/nm-supplicant-config.c
6094           src/supplicant-manager/nm-supplicant-config.h
6095                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
6096                         for callers to specify the frequency an Ad-Hoc network should operate
6097                         on.  Some drivers require this to successfully create an Ad-Hoc
6098                         network.
6099
6100         * src/nm-device-802-11-wireless.c
6101                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
6102                         guint32 value in MHz
6103                 - (constructor, nm_device_802_11_wireless_get_frequency): use
6104                         iw_freq_to_uint32()
6105                 - (find_supported_frequency): new function; find a free supported
6106                         frequency for a user-created Ad-Hoc network
6107                 - (build_supplicant_config): if no frequency was specified for a user-
6108                         created Ad-Hoc network, find a free one to use
6109                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
6110                         a specific object as user-created
6111
6112 2007-12-27  Dan Williams  <dcbw@redhat.com>
6113
6114         * libnm-util/nm-utils.c
6115           libnm-util/nm-utils.h
6116                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
6117                         for adhoc networks
6118
6119 2007-12-24  Dan Williams  <dcbw@redhat.com>
6120
6121         * libnm-util/nm-setting-wireless.c
6122                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
6123                         185, 187, 188, 192, and 196
6124
6125 2007-12-24  Dan Williams  <dcbw@redhat.com>
6126
6127         * src/nm-device-802-11-wireless.c
6128                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
6129                         a channel # instead of a frequency
6130
6131 2007-12-24  Dan Williams  <dcbw@redhat.com>
6132
6133         * src/NetworkManagerAP.c
6134           src/NetworkManagerAP.h
6135                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
6136                 - (freq_to_channel): handle split band tables
6137                 - (channel_to_freq): handle split band tables, take a band argument
6138
6139 2007-12-24  Dan Williams  <dcbw@redhat.com>
6140
6141         * libnm-util/nm-setting-connection.h
6142           libnm-util/nm-setting-connection.c
6143                 - Add 'lockdown' member
6144
6145 2007-12-22  Dan Williams  <dcbw@redhat.com>
6146
6147         * libnm-util/nm-setting-wireless.c
6148                 - (nm_setting_wireless_class_init): add missing 'rate' property
6149                         specification
6150
6151 2007-12-18  Dan Williams  <dcbw@redhat.com>
6152
6153         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
6154
6155         * src/nm-netlink-monitor.c
6156           src/nm-netlink-monitor.h
6157                 - Remove handrolled netlink, use libnl instead
6158
6159         * src/nm-device-802-3-ethernet.c
6160                 - (constructor, nm_device_802_3_ethernet_carrier_off,
6161                    nm_device_802_3_ethernet_carrier_on): use new names
6162
6163 2007-12-17  Dan Williams  <dcbw@redhat.com>
6164
6165         * configure.in
6166                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
6167                         and fixes memory leaks)
6168
6169         * src/nm-netlink.c
6170                 - (nm_netlink_get_default_handle): handle new versions of libnl that
6171                         automatically handle the netlink PID
6172
6173 2007-12-17  Dan Williams  <dcbw@redhat.com>
6174
6175         Patch from Michael Biebl <biebl@debian.org>
6176
6177         * configure.in
6178           src/ppp-manager/Makefile.am
6179                 - fix up install dir of pppd plugin
6180                 - clean up configure.in a bit
6181
6182 2007-12-12  Dan Williams  <dcbw@redhat.com>
6183
6184         * system-settings/src/nm-system-settings.conf
6185                 - Allow non-root clients (like the applet) to read settings
6186
6187 2007-12-10  Tambet Ingo  <tambet@gmail.com>
6188
6189         * Replace all occurences of 'UMTS' with 'GSM'.
6190
6191 2007-12-07  Dan Williams  <dcbw@redhat.com>
6192
6193         * src/nm-serial-device.c
6194                 - (real_is_up): serial devices are always "up"
6195
6196 2007-12-07  Dan Williams  <dcbw@redhat.com>
6197
6198         * src/nm-netlink.c
6199           src/NetworkManagerSystem.c
6200                 - (new_nl_handle): ensure that the same netlink pid is never chosen
6201                         twice (gnome.org #491047)
6202                 - Make more robust against allocation-related failures should they occur
6203
6204 2007-12-07  Dan Williams  <dcbw@redhat.com>
6205
6206         Noticed by Christian Persch <chpe@gnome.org>
6207
6208         Always chain up to parent object in dispose and finalize handlers.
6209                 (gnome.org #433112)
6210
6211 2007-12-07  Dan Williams  <dcbw@redhat.com>
6212
6213         * src/nm-device-802-11-wireless.c
6214                 - Wrap #include of linux/mii.h to fix redefined structures due to
6215                         incorrect kernel headers (gnome.org #350061)
6216
6217 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6218
6219         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
6220         before doing anything else.
6221         (init_modem): Move modem initialization here.
6222
6223         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
6224         (nm_serial_device_flash): Implement.
6225
6226         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
6227         changes signal is "StateChanged" and not "Status".
6228         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
6229
6230 2007-12-06  Dan Williams  <dcbw@redhat.com>
6231
6232         * src/supplicant-manager/nm-supplicant-config.c
6233                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
6234                         to only send some options when they make sense; also send phase2
6235                         option to the supplicant (possible fix for rh #399631)
6236
6237 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6238
6239         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
6240         arguments: This whole file shouldn't really know anything about NMDevices, it
6241         should deal only with device interfaces. Devices might have different ifaces for
6242         different stuff and this place shouldn't know anything about it.
6243
6244         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
6245         (global_state_changed): Implement. In the current NM it's not really important,
6246         but will be required in the case of multiple active devices. (Or even better,
6247         if stuff like that gets moved out from NM).
6248
6249         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
6250         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
6251         instead.
6252
6253         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
6254         devices like serial devices (ttyS0 and ppp0 for example).
6255         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
6256         set.
6257         (nm_device_set_ip_iface): Implement.
6258         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
6259         after setting ip4_config from here ...
6260         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
6261         than this function should call nm_system_device_set_from_ip4_config() because no
6262         other code has enough information on which arguments to use. So instead, other code
6263         could just set the new ip4 config using this function and everyone is happy.
6264
6265         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
6266         if we happen to get deactivated while something is pending.
6267         (automatic_registration): Handle the response that indicates pending network
6268         registration and wait until the pending registration is done.
6269         (real_deactivate_quickly): If there's a pending operation, cancel it.
6270
6271         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
6272         (real_deactivate_quickly): ... and remove it when it's down.
6273         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
6274         it if needed.
6275         (nm_serial_device_wait_for_reply): Ditto.
6276
6277 2007-12-05  Tambet Ingo  <tambet@gmail.com>
6278
6279         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
6280         (get_network_done): Remove newline, nm_info() does it already.
6281         (real_act_stage1_prepare): Turn the modem echo off.
6282
6283         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
6284         device, set the route to the device interface. This is a hack.
6285
6286         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
6287         return, no need for a new-line.
6288         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
6289         Change the device iface here (ugh).
6290         (real_act_stage4_get_ip4_config): Implement.
6291         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
6292         Restore the device iface.
6293
6294         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
6295         device is not wired or wireless (eg, automatically upped) device.
6296
6297         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
6298         it isn't.
6299         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
6300
6301         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6302         before calling it's is_device_fn().
6303
6304 2007-12-05  Dan Williams  <dcbw@redhat.com>
6305
6306         * libnm-util/nm-utils.c
6307                 - (nm_utils_register_value_transformations,
6308                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6309                         GHashTables of GValues too
6310
6311 2007-12-04  Dan Williams  <dcbw@redhat.com>
6312
6313         * initscript/RedHat/NetworkManager.in
6314                 - No longer start named; it's D-Bus interface is going away
6315
6316 2007-12-04  Dan Williams  <dcbw@redhat.com>
6317
6318         Patch from Michael Biebl <biebl@debian.org>
6319
6320         * system-settings/plugins/ifcfg/Makefile.am
6321           system-settings/src/main.c
6322           system-settings/src/Makefile.am
6323                 - Put system settings plugins in NM plugins dir
6324
6325         * src/ppp-manager/Makefile.am
6326           src/ppp-manager/nm-ppp-manager.c
6327                 - Move pppd plugin to NM plugins dir
6328
6329 2007-12-04  Dan Williams  <dcbw@redhat.com>
6330
6331         * libnm-util/nm-setting-vpn-properties.h
6332                 - Clarify usage of the 'data' member of the setting
6333
6334         * libnm-util/nm-setting-vpn-properties.c
6335                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
6336                 - (set_property): just remove all the settings; don't recreate the has
6337                 - (update_one_secret): don't need to create the hash table here since
6338                         it should always be present
6339
6340 2007-12-03  Tambet Ingo  <tambet@gmail.com>
6341
6342         Implement PIN and PUK requesting.
6343
6344         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
6345         (enter_pin): Handle PIN and PUK requests.
6346         (real_act_stage1_prepare): Clear the secret type.
6347         (real_connection_secrets_updated): Implement this class method to get
6348         notified when new secrets arrive.
6349         (nm_umts_device_class_init): Add private data back to the umts device class
6350         to store the required secret type.
6351
6352 2007-12-01  Dan Williams  <dcbw@redhat.com>
6353
6354         * system-settings/plugins/ifcfg/parser.c
6355                 - (parser_parse_file): don't try to verify NULL connections
6356
6357 2007-12-01  Dan Williams  <dcbw@redhat.com>
6358
6359         * system-settings/src/main.c
6360                 - (load_connections, add_connection_to_settings): actually export
6361                         plugin-provided connections over D-Bus so NM can get them
6362
6363 2007-12-01  Dan Williams  <dcbw@redhat.com>
6364
6365         * system-settings/plugins/ifcfg/parser.c
6366           system-settings/plugins/ifcfg/parser.h
6367           system-settings/plugins/ifcfg/plugin.c
6368                 - Hook up more inotify bits (untested)
6369
6370 2007-11-29  Dan Williams  <dcbw@redhat.com>
6371
6372         * system-settings/src/nm-system-config-interface.h
6373           system-settings/src/nm-system-config-interface.c
6374                 - (nm_system_config_interface_init,
6375                    nm_system_config_interface_get_connections): add
6376
6377         * system-settings/src/main.c
6378                 - (load_plugins, load_connections, main): use a GSList for plugins
6379                         to ensure priority ordering
6380
6381         * system-settings/plugins/ifcfg/parser.c
6382                 - (ifcfg_error_quark): move to plugin.c, and rename
6383
6384         * system-settings/plugins/ifcfg/plugin.h
6385           system-settings/plugins/ifcfg/plugin.c
6386                 - (ifcfg_plugin_error_quark): move here from parser.c
6387                 - rework connection loading and initialization
6388                 - Add preliminary inotify support for network profile config file
6389
6390 2007-11-28  Tambet Ingo  <tambet@gmail.com>
6391
6392         Merge the beginnings of the new GSM card support.
6393
6394         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
6395         ppp watch source before killing pppd - If this happens from g_object_unref()
6396         then the ppp manager is already destroyed by the time the watch callback runs.
6397
6398         * src/nm-hal-manager.c: Add a device_type_name string to the device
6399         creators, so that we can print a nice human readable string when a
6400         device is added.
6401
6402         * src/nm-umts-device.c (automatic_registration_get_network): Query
6403         for the activated network, not much is done with the result thought.
6404
6405         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
6406         (ppp_ip4_config): Change the device state to activated here for now.
6407         (real_check_connection): Make sure the connection includes ppp setting.
6408
6409         * libnm-glib/nm-client.c (get_device): Handle umts devices.
6410
6411         * libnm-glib/Makefile.am: Add the new files to build.
6412
6413         * libnm-glib/nm-umts-device.c: 
6414         * libnm-glib/nm-umts-device.h: Implement.
6415
6416 2007-11-26  Tambet Ingo  <tambet@gmail.com>
6417
6418         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
6419         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
6420
6421         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
6422         the timeout source - this function is only called when the timeout source has
6423         been removed.
6424         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
6425         to be big enough to contain the terminating zero element as well.
6426         The timeout argument is meant to be in seconds now.
6427         (real_deactivate_quickly): Implement.
6428
6429         * src/NetworkManager.conf: Allow root to own 
6430         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
6431
6432         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
6433         (not unsigned ints).
6434
6435         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
6436         small issue with parity bounds - capital letters have lower ascii codes
6437         than lower case letters.
6438
6439         * libnm-util/nm-connection.c (register_default_settings): Register serial
6440         and umts settings.
6441
6442 2007-11-22  Tambet Ingo  <tambet@gmail.com>
6443
6444         Remove the "index" property from devices as not all device types have this.
6445
6446         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
6447
6448         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
6449         (wired_device_creator): Get the device interface from hal to create the device.
6450         (wireless_device_creator): Ditto.
6451
6452         * src/nm-device.c (nm_device_init): Remove the index member.
6453         (constructor): Remove the checks for index property, make interface property
6454         a require constructor property.
6455         Use the HAL udi for DBus path for devices.
6456         (nm_device_get_index): Remove.
6457         (set_property): Remove index handling.
6458         (get_property): Ditto.
6459         (nm_device_get_dbus_path): Remove.
6460
6461         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
6462         property.
6463
6464         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
6465         Access the device index through it's interface.
6466         (nm_device_802_3_ethernet_link_deactivated): Ditto.
6467         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
6468         index argument. Add interface argument.
6469
6470         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
6471         the useless test_dev argument. Remove index argument. Add interface arugment.
6472
6473         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
6474         device index through interface.
6475         (nm_system_set_mtu): Ditto.
6476
6477         * introspection/nm-device.xml: Remove the "Index" property.
6478
6479 2007-11-21  Tambet Ingo  <tambet@gmail.com>
6480
6481         * src/nm-serial-device.c: 
6482         * src/nm-serial-device.c: 
6483         * src/nm-umts-device.c:
6484         * src/nm-umts-device.h: Implement.
6485
6486         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
6487         allocated by libhal.
6488         (modem_device_creator): Implement.
6489         (register_built_in_creators): Register the modem creator.
6490
6491         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
6492         Remove the unused test_dev argument.
6493
6494         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
6495
6496         * src/Makefile.am: Add new files to build.
6497         Link in ppp-manager.
6498
6499         * libnm-util/nm-setting-umts.c: 
6500         * libnm-util/nm-setting-umts.h: 
6501         * libnm-util/nm-setting-serial.c: 
6502         * libnm-util/nm-setting-serial.h: Implement.
6503
6504         * libnm-util/Makefile.am: Add new files to build.
6505
6506 2007-11-28  Dan Williams  <dcbw@redhat.com>
6507
6508         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
6509
6510         Support DHCP-provided static routes.
6511
6512         * src/nm-ip4-config.h
6513           src/nm-ip4-config.c
6514                 - Add get/set functions for static routes
6515
6516         * src/dhcp-manager/nm-dhcp-manager.c
6517                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
6518                         DHCP response
6519
6520         * src/NetworkManagerSystem.c
6521                 - (nm_system_device_set_from_ip4_config): set any static routes on the
6522                         interface when applying the IP4Config
6523
6524 2007-11-28  Dan Williams  <dcbw@redhat.com>
6525
6526         * src/nm-device-802-11-wireless.c
6527                 - (real_act_stage1_prepare): mark APs created for hidden networks
6528                         as non-broadcasting
6529
6530 2007-11-27  Dan Williams  <dcbw@redhat.com>
6531
6532         * system-settings/src/nm-system-config-interface.h
6533                 - Note how to store secrets on NMSetting objects
6534
6535         * system-settings/src/dbus-settings.c
6536                 - (connection_settings_get_secrets): implement
6537
6538 2007-11-27  Dan Williams  <dcbw@redhat.com>
6539
6540         * system-settings/plugins/ifcfg/Makefile.am
6541           system-settings/plugins/ifcfg/parser.c
6542           system-settings/plugins/ifcfg/parser.h
6543           system-settings/plugins/ifcfg/plugin.c
6544                 - Parse wireless connections too
6545
6546         * system-settings/src/dbus-settings.c
6547           system-settings/src/dbus-settings.h
6548           system-settings/src/main.c
6549                 - Handle connection update/removal if the plugin supports it
6550
6551 2007-11-27  Dan Williams  <dcbw@redhat.com>
6552
6553         * src/nm-dbus-manager.h
6554           src/nm-hal-manager.c
6555                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
6556                         do it for them
6557
6558         * src/Makefile.am
6559           src/NetworkManagerDbusUtils.c
6560           src/NetworkManagerDbusUtils.h
6561                 - Remove these two source files; they are unused
6562
6563 2007-11-27  Dan Williams  <dcbw@redhat.com>
6564
6565         * src/vpn-manager/nm-vpn-manager.c
6566                 - (impl_vpn_manager_connect): fix system settings check (found by
6567                         James M. Leddy)
6568
6569 2007-11-26  Dan Williams  <dcbw@redhat.com>
6570
6571         * Fix warnings so everything compiles with --enable-more-warnings
6572
6573 2007-11-25  Dan Williams  <dcbw@redhat.com>
6574
6575         * system-settings/*
6576                 - Rework structure and code to use GModule-loaded plugins and a plugin
6577                         interface that plugins export to the system settings service
6578
6579 2007-11-21  Dan Williams  <dcbw@redhat.com>
6580
6581         * system-settings/*
6582                 - Add Soren's system settings service.  Needs work for distros other
6583                         than Fedora; the backends from NM should mostly migrate to here
6584                         and be converted to GObjects
6585
6586 2007-11-21  Dan Williams  <dcbw@redhat.com>
6587
6588         * libnm-util/nm-setting-vpn-properties.c
6589                 - (set_property): must deep-copy the given settings hash, otherwise
6590                         double-free errors occur when the setting is disposed of
6591
6592 2007-11-21  Dan Williams  <dcbw@redhat.com>
6593
6594         * src/vpn-manager/nm-vpn-act-request.h
6595           src/vpn-manager/nm-vpn-act-request.c
6596                 - Remove; unused
6597
6598 2007-11-20  Dan Williams  <dcbw@redhat.com>
6599
6600         * libnm-util/nm-utils.c
6601                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
6602                    nm_utils_convert_ip4_addr_struct_array_to_string,
6603                    nm_utils_register_value_transformations): print out the readable
6604                         values of more types of properties of NMSettings subclasses
6605
6606 2007-11-20  Dan Williams  <dcbw@redhat.com>
6607
6608         * libnm-util/nm-setting-ip4-config.c
6609                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
6610                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
6611                         marshal GValueArrays inside collections, so switch to types that it
6612                         can actually marshal/demarshal
6613
6614 2007-11-16  Dan Williams  <dcbw@redhat.com>
6615
6616         * libnm-util/nm-setting-wireless-security.c
6617                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
6618                         minimal verification of EAP methods too
6619                 - (verify): verify phase1 eap methods too
6620
6621 2007-11-15  Dan Williams  <dcbw@redhat.com>
6622
6623         * libnm-glib/nm-device.h
6624           libnm-glib/nm-device.c
6625                 - (nm_device_get_product, nm_device_get_vendor): should be returning
6626                         const char *
6627
6628 2007-11-15  Dan Williams  <dcbw@redhat.com>
6629
6630         * libnm-glib/nm-device.c
6631                 - (get_product_and_vendor): don't try to free things that should be
6632                         freed
6633
6634 2007-11-15  Dan Williams  <dcbw@redhat.com>
6635
6636         * src/NetworkManagerUtils.c
6637                 - (nm_ethernet_address_is_valid): unbreak previous fix
6638
6639 2007-11-15  Dan Williams  <dcbw@redhat.com>
6640
6641         * src/supplicant-manager/nm-supplicant-config.c
6642                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
6643                         options
6644
6645 2007-11-15  Dan Williams  <dcbw@redhat.com>
6646
6647         * src/NetworkManagerUtils.c
6648                 - (nm_ethernet_address_is_valid): fix style, clarify
6649                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
6650
6651         * src/nm-device-802-11-wireless.c
6652                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
6653                 - (nm_device_802_11_wireless_get_ssid,
6654                    nm_device_802_11_wireless_get_bssid,
6655                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
6656                         before calling the ioctl; fixes valgrind-reported jump depends on
6657                         uninitialized value errors
6658
6659 2007-11-15  Dan Williams  <dcbw@redhat.com>
6660
6661         * libnm-util/nm-setting.c
6662                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
6663                         unecessary to serialize 'name'
6664
6665         * src/nm-activation-request.c
6666                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
6667                         the GetSecrets call
6668
6669 2007-11-15  Dan Williams  <dcbw@redhat.com>
6670
6671         * libnm-util/nm-setting-connection.h
6672           libnm-util/nm-setting-connection.c
6673                 - Rename the 'name' property to 'id', because it conflicted with the
6674                         NMSetting superclass' 'name' property.
6675
6676         * libnm-util/nm-setting.c
6677                 - (nm_setting_to_hash): serialize the 'name' property
6678                 - (one_property_cb): ignore 'name' on deserialization of a connection
6679
6680         * src/nm-device-802-11-wireless.c
6681           src/vpn-manager/nm-vpn-connection.c
6682           src/NetworkManagerPolicy.c
6683                 - Fix up for NMSettingConnection 'name'->'id' changes
6684
6685 2007-11-13  Dan Williams  <dcbw@redhat.com>
6686
6687         * libnm-glib/nm-device-802-11-wireless.h
6688           libnm-glib/nm-device-802-11-wireless.c
6689                 - (nm_device_802_11_wireless_get_hw_address): return should be const
6690
6691         * test/nm-tool.c
6692           libnm-glib/libnm-glib-test.c
6693                 - Fixes for above change
6694
6695 2007-11-12  Dan Williams  <dcbw@redhat.com>
6696
6697         * src/supplicant-manager/nm-supplicant-settings-verify.c
6698                 - Allow fragment_size option
6699
6700         * src/supplicant-manager/nm-supplicant-settings-verify.c
6701                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
6702                         EAP fragment size than the default to help some TLS connections
6703
6704 2007-11-12  Dan Williams  <dcbw@redhat.com>
6705
6706         Make certs actually work.  The private key is now a secret, and should be
6707         decrypted when requested by NM.  The private key and phase2 private key
6708         passwords are no longer interesting to NM because they should be used by
6709         the settings service to decrypt the private key itself before passing it
6710         to NM, and hence have been removed as fields.
6711
6712         * libnm-util/nm-setting-wireless-security.h
6713           libnm-util/nm-setting-wireless-security.c
6714                 - Remove private-key-passwd and phase2-private-key-passwd from
6715                         properties
6716                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
6717                    need_secrets): use property #defines instead strings to keep things
6718                         consistent
6719                 - (need_secrets_tls): if a client certificate is present but no
6720                         private key, request the private key
6721                 - (set_property, get_property, nm_setting_wireless_security_class_init):
6722                         remove private key password stuff, mark private keys as secret
6723
6724         * src/supplicant-manager/nm-supplicant-settings-verify.c
6725                 - Remove private_key_passwd and private_key2_passwd from opt_table
6726
6727 2007-11-09  Dan Williams  <dcbw@redhat.com>
6728
6729         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
6730         Since the vpn-properties are managed and known by the VPN daemons themselves,
6731         libnm-util doesn't know what's secret and what's in the setting's 'data'
6732         member.
6733
6734         * libnm-util/nm-setting.h
6735           libnm-util/nm-setting.c
6736                 - Add the ability for subclasses to override update_one_secret
6737
6738         * libnm-util/nm-setting-vpn-properties.c
6739                 - Override update_one_secret and just copy the values into the
6740                         internal table
6741
6742 2007-11-09  Dan Williams  <dcbw@redhat.com>
6743
6744         * libnm-glib/nm-settings.h
6745           libnm-glib/nm-settings.c
6746                 - (nm_settings_new_error): remove
6747                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
6748                         clients should use g_set_error() with NM_SETTINGS_ERROR
6749
6750 2007-11-09  Dan Williams  <dcbw@redhat.com>
6751
6752         * src/supplicant-manager/nm-supplicant-config.c
6753                 - (nm_supplicant_config_add_setting_wireless_security): private key
6754                         passwords are never sent to wpa_supplicant, because the supplicant
6755                         should never be reading random files from the disk.  Clients like
6756                         the applet are required to decrypt the private keys and send NM
6757                         the decrypted blobs.
6758
6759 2007-11-08  Dan Williams  <dcbw@redhat.com>
6760
6761         * libnm-util/nm-setting-wireless-security.h
6762           libnm-util/nm-setting-wireless-security.c
6763                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
6764                         members to 802-11-wireless-security structure.  This should be used
6765                         to indicate that the values in private-key and phase2-private-key
6766                         are already decrypted by the user agent, and that no
6767                         private-key-passwd or phase2-private-key-passwd should be expected.
6768                         It is not meant to be a stored configuration value, but meant to
6769                         be set when the conneciton is sent to NM over dbus.
6770
6771 2007-11-08  Dan Williams  <dcbw@redhat.com>
6772
6773         * libnm-util/nm-connection.h
6774           libnm-util/nm-connection.c
6775                 - (nm_connection_need_secrets): add argument to return hints
6776
6777         * src/nm-device-802-11-wireless.c
6778                 - (link_timeout_cb, supplicant_connection_timeout_cb,
6779                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
6780                         nm_connection_need_secrets() change
6781
6782 2007-11-07  Tambet Ingo  <tambet@gmail.com>
6783
6784         Rework NMSetting structures: Move each setting to it's own file.
6785         Convert to GObject. Remove home grown setting types and use GTypes.
6786         Use GObject property introspection for hash conversion, enumerating
6787         properties, etc.
6788
6789         * libnm-util/nm-setting-connection.[ch]
6790         * libnm-util/nm-setting-ip4-config.[ch]
6791         * libnm-util/nm-setting-ppp.[ch]
6792         * libnm-util/nm-setting-vpn.[ch]
6793         * libnm-util/nm-setting-vpn-properties.[ch]
6794         * libnm-util/nm-setting-wired.[ch]
6795         * libnm-util/nm-setting-wireless.[ch]
6796         * libnm-util/nm-setting-wireless-security.[ch]
6797
6798         New files, each containing a setting.
6799
6800         * libnm-util/nm-setting-template.[ch]: A template for creating new
6801         settings. To use it, just replace 'template' with the new setting
6802         name, and you're half-way done.
6803
6804         * libnm-util/nm-setting.c: Convert to GObject and use GObject
6805         introspection instead of internal types and tables.
6806
6807         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
6808
6809         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
6810         GValue types defined by dbus-glib for composed types like collections,
6811         structures and maps.
6812
6813         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
6814         a setting from connection takes the setting type now. Also, since
6815         the settings are in multiple files, include relevant settings.
6816
6817 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
6818
6819         * configure.in:
6820         * src/backends/NetworkManagerGentoo.c:
6821         (nm_system_restart_mdns_responder): Implement restarts for other mdns
6822         providers in Gentoo.
6823
6824 2007-10-31  Dan Williams  <dcbw@redhat.com>
6825
6826         * libnm-util/nm-connection.c
6827                 - (gvalue_to_string): handle UINT32 arrays
6828
6829 2007-10-31  Dan Williams  <dcbw@redhat.com>
6830
6831         * libnm-glib/nm-device.h
6832           libnm-glib/nm-device.c
6833                 - (nm_device_get_description): remove
6834                 - (nm_device_get_product, nm_device_get_vendor): add
6835                 - (nm_device_update_description): new function (private); walk HAL
6836                         devices to get product and vendor IDs for a specific device
6837
6838 2007-10-31  Dan Williams  <dcbw@redhat.com>
6839
6840         * src/nm-device-802-11-wireless.c
6841                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
6842
6843 2007-10-29  Dan Williams  <dcbw@redhat.com>
6844
6845         * src/nm-hal-manager.c
6846                 - (device_added, device_new_capability): ignore device additions while
6847                         asleep.  Fixes crash caused when NM goes to sleep, a network device
6848                         kernel module is unloaded and reloaded and recognized by NM again.
6849
6850 2007-10-26  Dan Williams  <dcbw@redhat.com>
6851
6852         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
6853
6854         * src/NetworkManagerAP.c
6855           src/NetworkManagerAP.h
6856           libnm-glib/nm-access-point.c
6857           libnm-glib/nm-access-point.h
6858                 - Make 'rate' property a guint32 to better match with WEXT and
6859                         wpa_supplicant and to allow representation of higher bitrates
6860
6861         * src/nm-device-802-11-wireless.c
6862           introspection/nm-device-802-11-wireless.xml
6863           libnm-glib/nm-device-802-11-wireless.c
6864           libnm-glib/nm-device-802-11-wireless.h
6865                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
6866
6867         * src/nm-device-802-3-ethernet.c
6868           src/nm-device-802-3-ethernet.h
6869           introspection/nm-device-802-3-ethernet.xml
6870           libnm-glib/nm-device-802-3-ethernet.c
6871           libnm-glib/nm-device-802-3-ethernet.h
6872                 - Make 'speed' property a guint32 to match other speed/rate types
6873                 - Make nm_device_802_3_ethernet_get_speed() static
6874
6875         * test/nm-tool.c
6876                 - Update for the changes above
6877
6878 2007-10-26  Dan Williams  <dcbw@redhat.com>
6879
6880         * src/named-manager/nm-named-manager.c
6881                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
6882                     not calling fclose() twice on some error conditions
6883
6884 2007-10-26  Dan Williams  <dcbw@redhat.com>
6885
6886         * src/nm-activation-request.c
6887                 - (dispose): clean up indentation; get the right DBusGProxy object to
6888                         cancel the GetSecrets pending call on.  Need to use the Secrets
6889                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
6890                         pending call doesn't get canceled, and pressing Cancel in the
6891                         applet's password dialog could cause get_secrets_cb() to be called
6892                         after the activation request has already been destroyed
6893
6894 2007-10-24  Dan Williams  <dcbw@redhat.com>
6895
6896         * src/supplicant-manager/nm-supplicant-config.c
6897                 - (nm_supplicant_config_add_blob): pass blob data and length for
6898                         verification
6899                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
6900
6901 2007-10-24  Dan Williams  <dcbw@redhat.com>
6902
6903         * src/supplicant-manager/nm-supplicant-settings-verify.c
6904                 - (opt_table): max length for certificates should be 65536
6905
6906 2007-10-24  Dan Williams  <dcbw@redhat.com>
6907
6908         * src/supplicant-manager/nm-supplicant-interface.c
6909                 - (blob_free): correctly free blob data after use
6910                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
6911
6912 2007-10-24  Dan Williams  <dcbw@redhat.com>
6913
6914         * libnm-util/nm-setting.c
6915                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
6916                         EAP method need secrets
6917
6918 2007-10-24  Dan Williams  <dcbw@redhat.com>
6919
6920         * src/backends/NetworkManagerRedHat.c
6921                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
6922
6923 2007-10-23  Dan Williams  <dcbw@redhat.com>
6924
6925         * libnm-util/nm-setting.c
6926           libnm-util/nm-setting.c
6927                 - (nm_setting_compare): implement
6928                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
6929                    compare_one_hash_gvalue): compare the contents of a setting
6930
6931         * libnm-util/nm-connection.c
6932                 - (nm_connection_compare): implement
6933
6934 2007-10-23  Dan Williams  <dcbw@redhat.com>
6935
6936         * src/nm-activation-request.c
6937                 - (get_secrets_cb): handle getting a setting back that is more than
6938                         just secrets (ie, user changed auth or EAP method or something)
6939
6940 2007-10-23  Dan Williams  <dcbw@redhat.com>
6941
6942         * libnm-util/nm-setting.c
6943           libnm-util/nm-setting.h
6944                 - (nm_setting_verify): new function; verify one setting
6945                 - (nm_settings_verify_all): rename from nm_settings_verify()
6946                 - (setting_connection_verify, setting_wireless_verify): allow NULL
6947                         all_settings
6948
6949         * libnm-util/nm-connection.c
6950                 - (nm_connection_replace_settings, nm_connection_verify,
6951                    nm_connection_new_from_hash): handle nm_settings_verify() rename
6952
6953 2007-10-23  Dan Williams  <dcbw@redhat.com>
6954
6955         * src/nm-device-802-11-wireless.c
6956                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
6957                         desired behavior
6958
6959 2007-10-23  Dan Williams  <dcbw@redhat.com>
6960
6961         * src/supplicant-manager/nm-supplicant-settings-verify.c
6962                 - eap_allowed, phase2_allowed: harmonize with allowed values from
6963                         nm-settings.c
6964
6965 2007-10-23  Dan Williams  <dcbw@redhat.com>
6966
6967         * src/nm-device-802-11-wireless.c
6968                 - (real_act_stage2_config): after the first association failure,
6969                         if the connection still needs secrets ask the user for them
6970                         explicitly.  After the fourth association failure due to bad
6971                         secrets, fail the connection entirely.  Handles the GetSecrets
6972                         loop that NM gets into when the provided secrets don't match up
6973                         with the connection details.
6974
6975 2007-10-23  Dan Williams  <dcbw@redhat.com>
6976
6977         * src/supplicant-manager/nm-supplicant-config.c
6978                 - (nm_supplicant_config_add_setting_wireless_security): only add
6979                         WPA-specific options when WPA is in use
6980
6981 2007-10-23  Dan Williams  <dcbw@redhat.com>
6982
6983         * src/supplicant-manager/nm-supplicant-config.c
6984                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
6985                         secret doesn't need to be unhexified
6986
6987 2007-10-23  Dan Williams  <dcbw@redhat.com>
6988
6989         * libnm-util/nm-setting.c
6990                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
6991                         before trying to do something with it
6992
6993 2007-10-23  Dan Williams  <dcbw@redhat.com>
6994
6995         * src/nm-device-802-11-wireless.c
6996                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
6997
6998 2007-10-23  Dan Williams  <dcbw@redhat.com>
6999
7000         * src/nm-device-802-11-wireless.c
7001                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
7002                         non-SSID-broadcasting APs
7003
7004 2007-10-23  Dan Williams  <dcbw@redhat.com>
7005
7006         * src/NetworkManagerAP.c
7007                 - (match_cipher, security_compatible): remove
7008                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
7009                         libnm-util instead
7010
7011 2007-10-23  Dan Williams  <dcbw@redhat.com>
7012
7013         * libnm-util/nm-utils.c
7014           libnm-util/nm-utils.h
7015                 - (nm_utils_ap_security_compatible): common function for checking
7016                         whether a specific AP is compatible with an NMConnection
7017
7018 2007-10-23  Dan Williams  <dcbw@redhat.com>
7019
7020         * libnm-util/nm-setting.c
7021                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
7022                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
7023                    need_secrets_password, setting_wireless_security_verify): fix
7024                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
7025                         secrets logic for each supported EAP method
7026
7027 2007-10-23  Dan Williams  <dcbw@redhat.com>
7028
7029         * src/supplicant-manager/nm-supplicant-config.c
7030                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
7031                         config option name, should be "private_key2_passwd"
7032
7033 2007-10-22  Tambet Ingo  <tambet@gmail.com>
7034
7035         Implement support for static IP addresses, additional/overridden DNS and
7036         DNS domain search lists.
7037
7038         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
7039         (ip4_addresses_to_gvalue): Implement.
7040         (convert_array_to_byte_array): Implement.
7041         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
7042         NM_S_TYPE_IP4_ADDRESSES.
7043         (nm_setting_hash): Ditto.
7044         (default_setting_clear_secrets): Add a default case for the switch: IP address
7045         shouldn't be secret, ever.
7046         (setting_ip4_config_verify): Update, requires addresses in case of manual
7047         configurations.
7048         (setting_ip4_config_destroy): Free stuff.
7049
7050         * src/nm-device.c (merge_ip4_config): Implement.
7051         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
7052
7053 2007-10-22  Dan Williams  <dcbw@redhat.com>
7054
7055         * libnm-util/nm-setting.c
7056                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
7057                         pairwise cipher options for Dynamic WEP
7058
7059 2007-10-21  Dan Williams  <dcbw@redhat.com>
7060
7061         * src/NetworkManagerAP.c
7062           src/NetworkManagerAP.h
7063                 - Rename 'articifical' -> 'fake' since that's what they are until
7064                         noticed in scans
7065                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
7066                         from the attributes in an NMConnection object
7067                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
7068                         WPA Enterprise
7069                 - (nm_ap_match_in_list): find a matching AP in a scan list
7070
7071         * src/nm-device-802-11-wireless.c
7072                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
7073                         AP when searching the scan list; match on frequency and mode too
7074                 - (nm_device_802_11_wireless_get_frequency): implement
7075                 - (merge_scanned_ap): replace duplicate matching logic with
7076                         nm_ap_match_in_list()
7077                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
7078                         the user is trying to connect to a hidden network that is not yet
7079                         known from the scan list
7080                 - (activation_success_handler): now that the card knows the AP's BSSID,
7081                         there may already be a scanned AP in the scan list that is what
7082                         we really wanted to connect to, but didn't know at the time.  Use
7083                         that instead of the 'fake' AP created at activation start and get
7084                         rid of the 'fake' AP 
7085                 - (cull_scan_list): don't remove fake APs
7086
7087 2007-10-21  Dan Williams  <dcbw@redhat.com>
7088
7089         * src/nm-activation-request.h
7090           src/nm-activation-request.c
7091                 - (nm_act_request_set_specific_object): new function; allow setting the
7092                         specific object if one isn't set yet
7093
7094 2007-10-20  Dan Williams  <dcbw@redhat.com>
7095
7096         * src/supplicant-manager/nm-supplicant-config.h
7097           src/supplicant-manager/nm-supplicant-config.c
7098                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
7099                         table to store blobs
7100                 - (nm_supplicant_config_add_blob): new function; add blob to internal
7101                         blob hash table
7102                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
7103                 - (nm_supplicant_config_add_setting_wireless_security): handle
7104                         options that use certificates (ie, blobs)
7105
7106         * src/nm-device-802-11-wireless.c
7107                 - (build_supplicant_config): pass a UID (just use the connection path)
7108                         to the supplicant config as now required
7109
7110         * src/supplicant-manager/nm-supplicant-interface.c
7111                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
7112                         there are any blobs to send to wpa_supplicant, send those first
7113                         before sending the network configuration
7114
7115 2007-10-19  Dan Williams  <dcbw@redhat.com>
7116
7117         Split the GetSecrets() call off to a separate D-Bus interface so that it
7118         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
7119         should be able to call GetSecrets().
7120
7121         * include/NetworkManager.h
7122                 - Define the connection secrets D-Bus interface
7123
7124         * src/vpn-manager/nm-vpn-connection.c
7125                 - (clear_need_auth): get the right proxy object for the connection
7126                         secrets interface
7127                 - (get_connection_secrets): use the connection secrets proxy; send
7128                         empty hints in get secrets request
7129
7130         * src/nm-activation-request.c
7131                 - (nm_act_request_request_connection_secrets): use the connection
7132                         secrets proxy; send empty hints in get secrets request
7133
7134         * src/nm-manager.c
7135           src/nm-manager.h
7136                 - (connection_get_settings_cb): set the connection secrets proxy on
7137                         the connection object too
7138                 - (internal_new_connection_cb): create the connection secrets proxy
7139
7140         * introspection/nm-settings-connection.xml
7141                 - Define Connection.Secrets interface and move GetSecrets there
7142                 - Add a 'hints' argument to GetSecrets
7143
7144         * libnm-glib/nm-settings.c
7145           libnm-glib/nm-settings.h
7146                 - (impl_connection_settings_get_secrets): add 'hints' argument
7147
7148 2007-10-19  Dan Williams  <dcbw@redhat.com>
7149
7150         * src/nm-device.c
7151                 - (constructor): add message about what path a device is exported as
7152                         to help in debugging rh #339011
7153
7154 2007-10-17  Dan Williams  <dcbw@redhat.com>
7155
7156         * libnm-util/nm-utils.h
7157           libnm-util/nm-utils.c
7158                 - (nm_utils_security_valid): common function to help find the intersection
7159                         of capabilities of devices and (optionally) access points
7160
7161 2007-10-17  Dan Williams  <dcbw@redhat.com>
7162
7163         * src/nm-device-802-11-wireless.c
7164                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
7165                         don't get erroneously cleared
7166
7167 2007-10-17  Dan Williams  <dcbw@redhat.com>
7168
7169         * src/nm-manager.h
7170           src/nm-manager.c
7171           src/nm-hal-manager.c
7172                 - (device_removed, finalize, nm_manager_remove_device,
7173                    nm_manager_sleep): add a 'deactivate' argument to 
7174                    nm_manager_remove_device() to fully deactivate devices when necessary
7175                    (ie, always except when waking up)
7176
7177 2007-10-16  Dan Williams  <dcbw@redhat.com>
7178
7179         * libnm-util/nm-setting.c
7180                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
7181                         also isn't valid phase2 autheap method
7182
7183 2007-10-16  Dan Williams  <dcbw@redhat.com>
7184
7185         * libnm-glib/nm-client.c
7186                 - (update_wireless_status): consolidate updates of wireless status
7187                 - (constructor): use update_wireless_status()
7188                 - (manager_running): set wireless status off when NM goes away; requery
7189                         the wireless status when NM comes back
7190
7191 2007-10-16  Dan Williams  <dcbw@redhat.com>
7192
7193         * libnm-glib/nm-client.c
7194                 - (nm_client_activate_device): actually use the fixed-up specific
7195                         object path
7196
7197 2007-10-16  Dan Williams  <dcbw@redhat.com>
7198
7199         * src/nm-hal-manager.c
7200                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
7201                         killswitch error messages once
7202
7203 2007-10-16  Dan Williams  <dcbw@redhat.com>
7204
7205         * src/nm-manager.c
7206                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
7207                         if it's disabled in hardware; don't touch network devices while
7208                         NM is asleep
7209
7210 2007-10-16  Dan Williams  <dcbw@redhat.com>
7211
7212         * libnm-util/nm-client.c
7213                 - (nm_client_activate_device): convert NULL specific_object to "/",
7214                         which is used in place of NULL
7215
7216         * src/nm-manager.c
7217                 - (impl_manager_activate_device): convert "/" specific_object back into
7218                         NULL
7219
7220 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7221
7222         Implement a generic NMSetting creator from setting name.
7223         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
7224         add a virtual function 'populate_fn'.
7225
7226         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
7227         (register_default_creators): Register setting creators instead of functions
7228         that create and then populate.
7229         (parse_one_setting): Use the common setting creator and then setting specific
7230         poplulation function.
7231
7232         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
7233         they all looked exactly the same.
7234         Add a 'populate_fn' virtual function to NMSetting.
7235         Use default virtual functions in case they are not overriden.
7236         (nm_setting_populate_from_hash): Implement.
7237
7238         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
7239         name, use a defined string.
7240         (real_act_stage4_get_ip4_config): Ditto.
7241
7242 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7243
7244         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
7245         HAL is int, not uint.
7246
7247 2007-10-15  Tambet Ingo  <tambet@gmail.com>
7248
7249         Implement killswitch polling through HAL.
7250
7251         * src/nm-manager.c: Add wireless hardware status property. Add 
7252         'properties-changed' signal for changes in wireless and wireless hardware
7253         state changes.
7254
7255         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
7256         and update NMManager's wireless hardware state when it has changed.
7257         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
7258         already does that.
7259
7260         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
7261         values of wireless state and wireless hardware state. Listen for the
7262         'properties-changed' signals, update the cached values and emit notify.
7263
7264         * include/NetworkManager.h: Fix a typo in a comment.
7265
7266 2007-10-14  Dan Williams  <dcbw@redhat.com>
7267
7268         * libnm-util/nm-setting.c
7269                 - (setting_wireless_security_need_secrets): handle LEAP secrets
7270
7271 2007-10-13  Dan Williams  <dcbw@redhat.com>
7272
7273         * libnm-util/nm-setting.h
7274           libnm-util/nm-setting.c
7275           src/supplicant-manager/nm-supplicant-config.c
7276                 - Make the 'proto' field of the 802-11-wireless-security field a
7277                         string list
7278
7279 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7280
7281         Rework the "properties-changed" signal listening implementation.
7282         Add a generic implementation to NMObject class that listens for
7283         the signal and calls property setters of the target NMObject.
7284
7285         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
7286
7287         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
7288         code to the end of file so that all the static functions are available
7289         without extra declarations.
7290         Remove the "properties-changed" signal handling and use the framework from
7291         NMObject.
7292         Implement property setters for properties that change with 
7293         "properties-changed" signal.
7294
7295         * libnm-glib/nm-access-point.c: Ditto.
7296
7297 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7298
7299         Rework the "properties-changed" signal implementation.
7300         In classes that need to use it, just emit "GObject::notify" and the new
7301         framework takes care of the rest to make the signal available on dbus.
7302         The framework queues the notifications and tries to send as many together
7303         in one signal as possible.
7304
7305         * src/nm-properties-changed-signal.c:
7306         * src/nm-properties-changed-signal.h: Implement.
7307
7308         * src/Makefile.am: Add new files to build.
7309
7310         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7311         signal.
7312
7313         * src/nm-device-802-11-wireless.c: Ditto.
7314
7315 2007-10-10  Dan Williams  <dcbw@redhat.com>
7316
7317         * src/nm-manager.c
7318                 - (wait_for_connection_expired): ensure info is valid
7319                 - (connection_added_default_handler): Should only remove pending
7320                         connection info when the manager has the connection that it's
7321                         waiting for.  Fixes segfault in wait_for_connection_info().  
7322
7323 2007-10-10  Dan Williams  <dcbw@redhat.com>
7324
7325         * libnm-util/nm-setting.c
7326           libnm-util/nm-setting.h
7327                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
7328                         can use if they choose.  Should be filled in by the settings service
7329                         on-the-fly with the currently logged in user's username
7330
7331 2007-10-10  Dan Williams  <dcbw@redhat.com>
7332
7333         * src/nm-device-802-11-wireless.c
7334                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
7335                         as such, because even if the manager fills in the SSID, NM still
7336                         has to indicate to wpa_supplicant that the AP isn't broadcasting
7337                         its SSID
7338
7339 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7340
7341         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
7342         code that used NM's own version of dbus signal handling and custom dictionary
7343         marshalling/unmarshalling. With this change, all that obsolete code can disappear
7344         and we get to maintain over 2000 lines less code.
7345
7346         * libnm-util/dbus-dict-helpers.c:
7347         * libnm-util/dbus-dict-helpers.h: Remove.
7348
7349         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
7350
7351         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
7352
7353         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
7354         handlers.
7355
7356         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
7357
7358         * configure.in: Remove test/libnm-util/Makefile creation.
7359
7360         * test/Makefile.am: Remove libnm-util from SUBDIRS.
7361
7362         * test/libnm-util/: Remove the whole directory.
7363
7364 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7365
7366         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
7367         device_state_changed_idle_id variable or it would contain some random value and the
7368         schedule_change_check calls would not do anything.
7369
7370 2007-10-09  Dan Williams  <dcbw@redhat.com>
7371
7372         * src/nm-device-802-11-wireless.c
7373                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
7374                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
7375                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
7376                         merging of non-SSID-broadcasting APs
7377
7378 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7379
7380         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
7381         "guint8 *" since it's usually used with GByteArray->data.
7382         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
7383
7384 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7385
7386         * src/NetworkManagerUtils.c
7387         (nm_utils_is_empty_ssid):
7388         (nm_utils_escape_ssid):
7389         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
7390         lot of places, so they belong to libnm-utils instead.
7391
7392         Now with 100% less compiler warnings:
7393
7394         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
7395         (nm_dbus_unescape_object_path): Ditto.
7396         (nm_utils_ssid_to_utf8): Ditto.
7397         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
7398         (nm_utils_escape_ssid): Ditto.
7399         (nm_utils_same_ssid): Ditto.
7400
7401         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
7402         (add_one_connection_element): Remove an unused variable.
7403         (impl_manager_get_active_connections): Ditto.
7404
7405         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
7406         variable.
7407
7408         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
7409         from the previous commit.
7410
7411         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
7412         (real_act_stage1_prepare): Ditto.
7413         (activation_success_handler): Ditto.
7414         (get_property): Ditto.
7415
7416         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
7417         variable.
7418
7419         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
7420         it's always set.
7421
7422         * src/supplicant-manager/nm-supplicant-config.c 
7423         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
7424         to expected "char *".
7425         (nm_supplicant_config_add_setting_wireless): Ditto.
7426         (nm_supplicant_config_remove_option): Remove, not used.
7427
7428         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
7429         not double.
7430         (test_wireless_enabled): Ifdef out unused function.
7431         (device_deactivate): Ditto.
7432         (device_state_changed): Ditto.
7433         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
7434         (nm_utils_escape_ssid): Ditto.
7435
7436         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
7437         (nm_utils_is_empty_ssid): Ditto.
7438
7439         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
7440         unused variable.
7441
7442         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
7443         (setting_vpn_properties_update_secrets): Ditto.
7444         (int_to_gvalue): Ifdef out for now, not used.
7445         (byte_to_gvalue): Ditto.
7446
7447         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
7448         Unused, remove.
7449
7450 2007-10-08  Tambet Ingo  <tambet@gmail.com>
7451
7452         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
7453         about dbus manager, not named manager.
7454         Make sure hal_manager and dbus_mgr are created before trying to unreference.
7455
7456         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
7457         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
7458         However, the same signal is emitted when we destroy it and there's 
7459         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
7460
7461         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
7462         releasing the DBusGConnection, since proxy needs a conneciton.
7463         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
7464
7465 2007-10-08  Dan Williams  <dcbw@redhat.com>
7466
7467         * src/NetworkManager.c
7468                 - (main): error on unknown command-line options
7469
7470 2007-10-08  Dan Williams  <dcbw@redhat.com>
7471
7472         Reimplement the invalid connection list.  Don't try to re-activate a
7473         connection that just failed or was canceled.
7474
7475         * src/nm-device.c
7476                 - (connection_secrets_failed_cb): fail device activation, don't just
7477                         deactivate the device.  Listeners have to know about the failure.
7478
7479         * src/NetworkManagerPolicy.c
7480                 - (nm_policy_auto_get_best_device): exclude invalid connections from
7481                         the connection list given to a device's get_best_connection()
7482                         method
7483                 - (device_state_changed): tag failed connections as invalid; clear the
7484                         tag from successful connections
7485
7486 2007-10-08  Dan Williams  <dcbw@redhat.com>
7487
7488         Fix problems with interrupted activation.  Previously, choosing an AP
7489         from the menu, then choosing another one before the first connection was
7490         successful wouldn't deactivate the device before starting the new connection
7491         on that same device.
7492
7493         * src/NetworkManagerPolicy.c
7494                 - (deactivate_old_device, device_state_changed, state_changed,
7495                    nm_policy_new): wrong place to deactivate old devices
7496
7497         * src/nm-manager.c
7498                 - (pending_connection_info_destroy, finalize,
7499                    wait_for_connection_expired): decouple destruction of the pending
7500                         connection info from the manager device
7501                 - (connection_added_default_handler): deactivate any active or
7502                         activating device before starting a new activation
7503                 - (impl_manager_activate_device): deactivate any active or activating
7504                         device before starting a new activation; be sure not to leak
7505                         pending connection info if a new activation request arrives but
7506                         there's already a pending one in-process
7507
7508 2007-10-08  Dan Williams  <dcbw@redhat.com>
7509
7510         * src/NetworkManagerAP.h
7511           src/NetworkManagerAP.c
7512                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
7513                         should handle default SSIDs and whether or not to autoconnect
7514                         to them
7515
7516 2007-10-08  Dan Williams  <dcbw@redhat.com>
7517
7518         * src/NetworkManagerPolicy.c
7519                 - (nm_policy_device_change_check): print out connection name where
7520                         possible
7521
7522 2007-10-08  Dan Williams  <dcbw@redhat.com>
7523
7524         * src/nm-device-802-11-wireless.c
7525           src/nm-device-802-11-wireless.h
7526                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
7527                         'hidden-ap-found' signal (for internal use only) that allows the
7528                         NMManager to fill in the AP's SSID if a connection has that AP's
7529                         BSSID in its seen-bssids list
7530
7531         * src/nm-manager.c
7532                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
7533                         wireless device's hidden-ap-found signal and fill in the APs SSID
7534                         if possible
7535
7536 2007-10-07  Dan Williams  <dcbw@redhat.com>
7537
7538         * src/nm-manager.c
7539           src/nm-manager.h
7540                 - Add a 'connections-added' signal to batch together updates of large
7541                         numbers of connections, like when reading from a settings service
7542                         the first time.  Otherwise, the policy would just activate the first
7543                         suitable connection it saw rather than waiting for the full list
7544                         to arrive.
7545                 - (nm_manager_class_init): register new signal
7546                 - (get_type_for_proxy, connection_get_settings_cb,
7547                    get_connection_for_proxy): centralize places where a proxy's setting
7548                         service is determined
7549                 - (free_get_settings_info): if the call being freed is the last call
7550                         in a pending call group, fire off the connections-added signal
7551                 - (internal_new_connection_cb): add call to a pending call group if
7552                         requested
7553                 - (list_connections_cb): always create a call group here, because this
7554                         call results in a batch of new connections
7555                 - (initial_get_connections): start getting system connections first
7556                 - (nm_manager_connections_destroy, emit_removed): actually emit the
7557                         removed signal when destroying connections
7558
7559         * src/NetworkManagerPolicy.c
7560                 - (nm_policy_new, connections_added): handle connections-added signal
7561                         from the manager
7562
7563 2007-10-06  Dan Williams  <dcbw@redhat.com>
7564
7565         * src/nm-device-802-11-wireless.c
7566                 - (constructor): fix leaked socket
7567
7568 2007-10-06  Dan Williams  <dcbw@redhat.com>
7569
7570         * src/NetworkManagerPolicy.c
7571                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
7572                         connection in the list returned by nm_manager_get_connections() is
7573                         reffed, but they weren't getting unreffed before returning
7574
7575 2007-10-06  Dan Williams  <dcbw@redhat.com>
7576
7577         * src/nm-manager.c
7578                 - (connections_to_slist): sort connections first on autoconnect, then
7579                         on timestamp
7580
7581 2007-10-06  Dan Williams  <dcbw@redhat.com>
7582
7583         * libnm-util/nm-connection.c
7584                 - (gvalue_to_string): handle UINT64
7585
7586 2007-10-06  Dan Williams  <dcbw@redhat.com>
7587
7588         * src/NetworkManagerPolicy.c
7589                 - (connection_updated, nm_policy_new): recheck state when a connection
7590                         gets updated
7591
7592 2007-10-06  Dan Williams  <dcbw@redhat.com>
7593
7594         * src/nm-manager.c
7595           src/nm-manager.h
7596                 - (nm_manager_get_connection_dbus_path): make static
7597                 - (nm_manager_update_connections): remove; unused
7598                 - Add a connection-updated signal
7599                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
7600                         handle connection object updates
7601
7602 2007-10-06  Dan Williams  <dcbw@redhat.com>
7603
7604         * src/NetworkManagerPolicy.c
7605                 - (connection_removed): deactivate removed connections
7606
7607 2007-10-06  Dan Williams  <dcbw@redhat.com>
7608
7609         * libnm-util/nm-connection.c
7610           libnm-util/nm-connection.h
7611                 - (nm_connection_replace_settings): new function
7612
7613 2007-10-06  Dan Williams  <dcbw@redhat.com>
7614
7615         * libnm-glib/nm-device-802-11-wireless.c
7616                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
7617                         on error when getting the active access point over D-Bus from NM
7618
7619 2007-10-05  Dan Williams  <dcbw@redhat.com>
7620
7621         * libnm-util/nm-setting.c
7622                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
7623                         to the NMSettingWireless table; it's now a string array not an array
7624                         of byte arrays
7625
7626 2007-10-05  Dan Williams  <dcbw@redhat.com>
7627
7628         * libnm-glib/nm-device-802-11-wireless.c
7629                 - Cache properties and update cached properties on D-Bus signals from NM
7630
7631 2007-10-05  Dan Williams  <dcbw@redhat.com>
7632
7633         * src/nm-device-802-11-wireless.c
7634                 - (set_current_ap): consolidate current_ap handling code into one place
7635                         to ensure that PropertiesChanged signals are emitted in all cases
7636                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
7637                    nm_device_802_11_wireless_dispose): use set_current_ap()
7638
7639 2007-10-05  Dan Williams  <dcbw@redhat.com>
7640
7641         * libnm-glib/nm-access-point.c
7642           libnm-glib/nm-access-point.h
7643                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
7644                         because the value is cached internally now.  Callers should not
7645                         free the internal value.
7646                 - Make signal name defines private
7647
7648         * test/nm-tool.c
7649           libnm-glib/libnm-glib-test.c
7650                 - Don't free value returned from nm_access_point_get_hw_address()
7651
7652 2007-10-04  Dan Williams  <dcbw@redhat.com>
7653
7654         * introspection/nm-device-802-11-wireless.xml
7655           src/nm-device-802-11-wireless.h
7656           src/nm-device-802-11-wireless.c
7657                 - Add a PropertiesChanged signal for wireless device
7658                 - Store currently associated access point
7659                 - (periodic_update): generalize; update rate here too and emit the
7660                         correct PropertiesChanged signal when stuff changes
7661                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
7662                    real_activation_cancel_handler): clear current_ap when device is
7663                         deactivated
7664                 - (link_to_specific_ap, get_ap_blacklisted,
7665                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
7666                         code
7667                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
7668                         outside this file
7669                 - (real_set_hw_address): emit property changed signal if the card's
7670                         MAC address changes
7671                 - (real_act_stage1_prepare): set the initial current_ap to the AP
7672                         the card is supposed to be connecting to
7673                 - (activation_success_handler): send out property updates on successful
7674                         activation
7675                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
7676                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
7677                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
7678                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
7679                         is now boxed; add PropertiesChanged signal
7680
7681 2007-10-04  Dan Williams  <dcbw@redhat.com>
7682
7683         * libnm-util/nm-connection.c
7684           libnm-util/nm-connection.h
7685                 - (nm_connection_verify): new function
7686
7687 2007-10-04  Dan Williams  <dcbw@redhat.com>
7688
7689         * libnm-util/nm-setting.c
7690                 - (nm_settings_verify): use #defines when possible rather than strings
7691                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
7692                 - (setting_vpn_verify): tighter validity check on 'service_type'
7693
7694 2007-10-04  Dan Williams  <dcbw@redhat.com>
7695
7696         * libnm-glib/nm-settings.c
7697                 - (nm_connection_settings_class_init): provide correct type for argument
7698                         to the Updated signal so that dbus-glib knows how to marshal it
7699
7700 2007-10-03  Dan Williams  <dcbw@redhat.com>
7701
7702         * src/nm-device-802-3-ethernet.c
7703                 - (real_get_best_connection): don't create automatic connections
7704                         internally; clients should provide a setting that applies to
7705                         the device with 'autoconnect: True'.  Problem was that these
7706                         internally auto-created connections don't have a proxy or service
7707                         name becuase they weren't created by a settings daemon, and therefore
7708                         clients have no idea what to do with them.
7709
7710 2007-10-03  Dan Williams  <dcbw@redhat.com>
7711
7712         * src/nm-device-802-11-wireless.c
7713           src/nm-device-802-11-wireless.h
7714           introspection/nm-device-802-11-wireless.xml
7715                 - GetActiveNetworks -> GetAccessPoints
7716                 - ActiveNetwork -> ActiveAccessPoint
7717                 - NetworkAdded -> AccessPointAdded
7718                 - NetowrkRemoved -> AccessPointRemoved
7719
7720         * libnm-glib/nm-device-802-11-wireless.c
7721           libnm-glib/nm-device-802-11-wireless.h
7722                 - network-added signal -> access-point-added
7723                 - network-removed signal -> access-point-removed
7724                 - nm_device_802_11_wireless_get_active_network() ->
7725                         nm_device_802_11_wireless_get_active_access_point()
7726                 - nm_device_802_11_wireless_get_network_by_path() ->
7727                         nm_device_802_11_wireless_get_access_point_by_path()
7728                 - nm_device_802_11_wireless_get_networks() ->
7729                         nm_device_802_11_wireless_get_access_points()
7730
7731         * libnm-glib/libnm-glib-test.c
7732           test/nm-tool.c
7733           src/NetworkManagerPolicy.c
7734                 - Fixups for Network -> AccessPoint
7735
7736 2007-10-03  Dan Williams  <dcbw@redhat.com>
7737
7738         Add a GetActiveConnections() method on the Manager object.
7739
7740         * src/nm-manager.c
7741           src/nm-manager.h
7742           introspection/nm-manager.xml
7743                 - (connection_get_settings_cb): keep connection type around too
7744                 - (impl_manager_get_active_connections, add_one_connection_element):
7745                         implement; returns all active connections and what devices they
7746                         apply to
7747
7748         * libnm-glib/nm-client.c
7749           libnm-glib/nm-client.h
7750           introspection/nm-manager-client.xml
7751                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
7752                         by the caller; free here to avoid memory leak
7753                 - (nm_client_get_active_connections): implement; return the list of
7754                         active connections
7755                 - (nm_client_free_active_connection_element): implement; free an element
7756                         of the GSList returned by nm_client_get_active_connections()
7757
7758 2007-10-03  Dan Williams  <dcbw@redhat.com>
7759
7760         * src/nm-device-802-11-wireless.c
7761                 - (nm_device_802_11_wireless_update_bssid): remove
7762                 - (get_active_ap): new function; find the AP in the scan list which
7763                         matches the current BSSID and SSID of the wireless device
7764                 - (nm_device_802_11_periodic_update): get current AP using
7765                         get_active_ap() and print AP roam messages
7766
7767 2007-10-01  Dan Williams  <dcbw@redhat.com>
7768
7769         * libnm-util/nm-setting.h
7770                 - Add a 'timestamp' option to NMSettingConnection
7771                 - Add a UINT64 type
7772
7773         * libnm-util/nm-setting.c
7774                 - (uint64_to_gvalue): new function
7775                 - (nm_setting_populate_from_hash, nm_setting_hash,
7776                    default_setting_clear_secrets): handle UINT64 type
7777                 - con_table: add 'timestamp' member
7778
7779 2007-10-01  Dan Williams  <dcbw@redhat.com>
7780
7781         * src/nm-manager.c
7782                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
7783                         value when the connection can be activated immediately
7784
7785 2007-10-01  Dan Williams  <dcbw@redhat.com>
7786
7787         * libnm-glib/nm-device.c
7788                 - (nm_device_class_init): actually tell glib about the carrier-changed
7789                         signal
7790
7791 2007-10-01  Dan Williams  <dcbw@redhat.com>
7792
7793         * configure.in
7794           src/marshallers/Makefile.am
7795           src/marshallers/nm-marshal.list
7796           src/marshallers/nm-marshal-main.c
7797                 - Consolidate glib marshallers into one place
7798
7799         * src/dhcp-manager/Makefile.am
7800           src/dhcp-manager/nm-dhcp-manager.c
7801           src/supplicant-manager/Makefile.am
7802           src/supplicant-manager/nm-supplicant-manager.c
7803           src/supplicant-manager/nm-supplicant-interface.c
7804           src/ppp-manager/Makefile.am
7805           src/ppp-manager/nm-ppp-manager.c
7806           src/vpn-manager/Makefile.am
7807           src/vpn-manager/nm-vpn-connection.c
7808           src/Makefile.am
7809                 - Use consolidated marshallers
7810
7811         * src/dhcp-manager/nm-dhcp-marshal.list
7812           src/dhcp-manager/nm-dhcp-marshal-main.c
7813           src/supplicant-manager/nm-supplicant-marshal-main.c
7814           src/supplicant-manager/nm-supplicant-marshal.list
7815           src/nm-marshal-main.c
7816           src/nm-marshal.list
7817           src/ppp-manager/nm-ppp-marshal-main.c
7818           src/ppp-manager/nm-ppp-marshal.list
7819           src/vpn-manager/nm-vpn-marshal-main.c
7820           src/vpn-manager/nm-vpn-marshal.list
7821                 - Remove
7822
7823 2007-10-01  Dan Williams  <dcbw@redhat.com>
7824
7825         * include/NetworkManagerVPN.h
7826                 - define VPN connection state change reason codes
7827
7828         * src/vpn-manager/Makefile.am
7829           src/vpn-manager/nm-vpn-marshal.list
7830           src/vpn-manager/nm-vpn-marshal-main.c
7831                 - Add marshallers for StateChanged signal
7832
7833         * introspection/nm-vpn-connection.xml
7834                 - New Banner property
7835                 - StateChanged signal now includes a 'reason' argument
7836
7837         * src/vpn-manager/nm-vpn-connection.c
7838           src/vpn-manager/nm-vpn-connection.h
7839                 - Add a "Banner" property that contains the returned VPN server login
7840                         banner (if any); valid only in the ACTIVATED state
7841                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
7842                         a 'reason' argument and emits that reason along with the
7843                         state-changed signal
7844                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
7845                 - (nm_vpn_connection_ip4_config_get): save banner for later
7846                 - (nm_vpn_connection_get_banner, get_property,
7847                    nm_vpn_connection_class_init): implement Banner property
7848
7849         * src/vpn-manager/nm-vpn-service.c
7850                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
7851                         connection list because elements may get added/removed from it
7852                         while iterating over the list
7853                 - (connection_state_changed): signal now includes the 'reason' argument
7854
7855         * libnm-glib/nm-vpn-connection.c
7856           libnm-glib/nm-vpn-connection.h
7857                 - (nm_vpn_connection_get_banner): new function
7858                 - (state_changed_proxy): handle reason argument
7859
7860 2007-09-28  Tambet Ingo  <tambet@gmail.com>
7861
7862         * src/nm-manager.c:
7863         * src/nm-manager.h:
7864         Implement device activation through NMManager.
7865         Implement "pending device activation" here - If the connection isn't found,
7866         we try to wait for up to 5 seconds for the connection to be provided.
7867         Add NMConnectionType argument to "connection-added" and "connection-removed"
7868         signals.
7869         (nm_manager_get): Remove. Finally.
7870
7871         * src/nm-activation-request.c: 
7872         * src/nm-activation-request.h: 
7873         Remove all the deferred activation code.
7874
7875         * src/nm-device.c: Remove all the deferred activation code. Once the device
7876         activation is started, it's started. Update the activation virtual function
7877         signature.
7878
7879         * src/nm-device-interface.c:
7880         * src/nm-device-interface.h:
7881         Device activation now takes only NMActRequest argument.
7882         Don't expose device activation directly on dbus, it's supposed to go through
7883         NMManager now.
7884
7885         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
7886         a bit more compact.
7887         Use the new device activation methods through NMManager.
7888
7889         * introspection/nm-manager-client.xml: 
7890         * introspection/nm-manager.xml: 
7891         * libnm-glib/nm-client.c:
7892         * libnm-glib/nm-client.h:
7893         Add device activation method.
7894         
7895         * libnm-glib/nm-device.c: 
7896         * libnm-glib/nm-device.h: 
7897         * introspection/nm-device.xml: 
7898         Remove device activation method. It's done through NMManager now.
7899
7900         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
7901         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
7902
7903 2007-09-28  Dan Williams  <dcbw@redhat.com>
7904
7905         * libnm-glib/nm-vpn-connection.c
7906                 - (nm_vpn_connection_get_state): try to update state if the current
7907                         state is UNKNOWN
7908
7909 2007-09-27  Dan Williams  <dcbw@redhat.com>
7910
7911         Patch from Bill Nottingham
7912
7913         * src/supplicant-manager/nm-supplicant-config.c
7914                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
7915                         data to the supplicant
7916
7917 2007-09-27  Dan Williams  <dcbw@redhat.com>
7918
7919         * src/NetworkManagerSystem.c
7920                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
7921                         and all address manipulation here should be happening on the
7922                         _VPN_ device, not the active device
7923
7924 2007-09-26  Dan Williams  <dcbw@redhat.com>
7925
7926         * src/nm-manager.c
7927           src/nm-manager.h
7928           src/nm-activation-request.c
7929           src/nm-activation-request.h
7930                 - Move the GetSecrets stuff out of the NMManager instance because it
7931                         doesn't really need to be there and complicates things
7932
7933         * src/nm-device.c
7934                 - (connection_secrets_failed_cb, device_activation_go): connect to the
7935                         connection-secrets-failed signal and deactivate the device if
7936                         the GetSecrets call fails
7937
7938         * src/nm-device-802-11-wireless.c
7939                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7940                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
7941                         secrets and give correct hints about whether new secrets should be
7942                         asked for by the client or not
7943
7944 2007-09-26  Dan Williams  <dcbw@redhat.com>
7945
7946         * src/vpn-manager/nm-vpn-connection.c
7947                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
7948                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
7949                         to the secrets-updated signal of the NMConnection since updating
7950                         the secrets is done within the scope of the NMVPNConnection object
7951                         already
7952                 - (get_connection_secrets): fix an uninialized variable usage error
7953
7954 2007-09-26  Dan Williams  <dcbw@redhat.com>
7955
7956         * libnm-util/nm-setting.c
7957                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
7958                         actually get updated when the user enters them
7959
7960 2007-09-26  Dan Williams  <dcbw@redhat.com>
7961
7962         * libnm-glib/nm-vpn-plugin.c
7963                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
7964
7965 2007-09-26  Dan Williams  <dcbw@redhat.com>
7966
7967         * include/NetworkManagerVPN.h
7968                 - Add a NEED_AUTH state
7969
7970         * src/vpn-manager/nm-vpn-connection.c
7971                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
7972                         the connection needs secrets, and if so, then ask the settings
7973                         service to fill in the secrets.  Then start the connection.
7974
7975 2007-09-26  Dan Williams  <dcbw@redhat.com>
7976
7977         * src/vpn-manager/nm-vpn-manager.c
7978                 - (new_vpn_error, impl_vpn_manager_connect): set errors
7979
7980 2007-09-26  Dan Williams  <dcbw@redhat.com>
7981
7982         * introspection/nm-vpn-plugin.xml
7983           libnm-glib/nm-vpn-plugin.c
7984           libnm-glib/nm-vpn-plugin.h
7985                 - (impl_vpn_plugin_need_secrets): implement a call that should return
7986                         the name of the NMSetting in an NMConnection that may require
7987                         secrets specific to that VPN plugin
7988
7989 2007-09-26  Dan Williams  <dcbw@redhat.com>
7990
7991         * src/nm-manager.c
7992           src/nm-manager.h
7993                 - (nm_manager_get_connection_secrets): make static, unused outside
7994                         the file
7995                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
7996
7997 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7998
7999         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
8000         method.
8001         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
8002         unreference the connection.
8003
8004         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
8005         passing properties hash and routes string list, pass NMConnection (in hashed form).
8006
8007         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
8008         as GSList, no need to copy stuff around anymore.
8009         (nm_vpn_connection_activate): Update the plugin activation method.
8010
8011         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
8012         routes argument to GSList.
8013
8014 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8015
8016         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
8017         state and try to get the secrets.
8018
8019         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
8020         connections from NMManager and let the device to choose the best from the list.
8021         Since the connection list is sorted by system ones first and user ones later,
8022         the devices still prefer system connections like they did before.
8023         (deactivate_old_device): Implement. When a device starts activation, we have a
8024         policy (for now at least) to deactivate any other device that might be either
8025         active or still activating.
8026
8027         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
8028         It's set on construction, there will be no other way to access it.
8029
8030         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
8031         device events and drive the device, not the other way around.
8032
8033         * src/nm-device-802-3-ethernet.c: Ditto.
8034
8035         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
8036         sent along, pass it on to virtual functions.
8037
8038         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
8039         for now, but should really be public instead of nm_device_get_iface() since iface
8040         is a property of the DeviceInterface, not Device.
8041         (impl_device_activate): Don't touch NMManager!
8042
8043 2007-09-26  Jürg Billeter  <j@bitron.ch>
8044
8045         * initscript/paldo/NetworkManager.in:
8046         * initscript/paldo/NetworkManagerDispatcher.in:
8047         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
8048         (nm_system_flush_loopback_routes): update paldo backend
8049
8050 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8051
8052         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
8053         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
8054         which means none of the devices get brought down properly, which in turn leaves
8055         DHCP client running.
8056
8057         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
8058         (supplicant_connection_timeout_cb): Ditto.
8059
8060 2007-09-25  Dan Williams  <dcbw@redhat.com>
8061
8062         * src/nm-device.c
8063                 - (device_activation_go): small hack to work around race when
8064                         activating deferred connections; should solve this in a better way
8065
8066 2007-09-25  Dan Williams  <dcbw@redhat.com>
8067
8068         * introspection/nm-device.xml
8069           libnm-glib/nm-device.c
8070           libnm-glib/nm-device.h
8071                 - Add 'Carrier' property to exported NMDevice objects
8072
8073         * src/nm-device-interface.h
8074           src/nm-device-interface.c
8075           src/nm-device.c
8076                 - Add a 'carrier' property to internal NMDevice objects
8077
8078 2007-09-25  Dan Williams  <dcbw@redhat.com>
8079
8080         * src/nm-device-802-11-wireless.c
8081                 - (ap_auth_enforced): also return the encryption status of the AP so
8082                         that callers can differentiate easily between unencrypted APs
8083                         and encrypted ones, in addition to whether the AP has an
8084                         authenticator
8085                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8086                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
8087                         previously would request secrets from unencrypted APs at times
8088
8089 2007-09-25  Dan Williams  <dcbw@redhat.com>
8090
8091         * src/nm-manager.c
8092                 - (nm_manager_update_state): new function; updates state and emits
8093                         appropriate signals ensuring a state-change signal for the same state
8094                         never gets emitted twice in a row.
8095                 - (manager_device_state_changed): handle more device state to get a
8096                         better picture of the overall NM state
8097
8098 2007-09-25  Dan Williams  <dcbw@redhat.com>
8099
8100         * libnm-glib/nm-settings.c
8101           libnm-glib/nm-settings.h
8102                 - (new_error -> nm_settings_new_error): make public so that subclasses
8103                         can use the same error domain.  Also pass a valid error code to
8104                         g_error_new_literal() so that libdbus doesn't assert when converting
8105                         the GError into a DBusError
8106                 - (impl_settings_list_connections, impl_connection_settings_get_id,
8107                    impl_connection_settings_get_settings,
8108                    impl_connection_settings_get_secrets): use new error creator
8109                         function
8110
8111 2007-09-25  Dan Williams  <dcbw@redhat.com>
8112
8113         * src/NetworkManager.c
8114                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
8115
8116 2007-09-25  Dan Williams  <dcbw@redhat.com>
8117
8118         * src/supplicant-manager/nm-supplicant-manager.c
8119                 - (poke_supplicant_cb, nm_supplicant_manager_init,
8120                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
8121                    nm_supplicant_manager_startup): when the supplicant isn't running,
8122                         try to start it periodically via system bus activation.  Fixes
8123                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
8124                         for the supplicant to come back
8125
8126 2007-09-25  Dan Williams  <dcbw@redhat.com>
8127
8128         Ensure that old activation requests are forgotten about; previously
8129         hitting Cancel in the password dialog would deactivate whatever device
8130         that password was requested for, even if that wasn't the currently
8131         activating connection.
8132
8133         * src/nm-manager.c
8134           src/nm-manager.h
8135                 - (nm_manager_get_connection_secrets): track the pending call
8136                         object so it can be canceled later if needed
8137                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
8138                         GetSecrets call for a particular connection
8139
8140         * src/nm-activation-request.c
8141                 - (dispose): cancel any outstanding GetSecrets calls on the
8142                         connection
8143
8144 2007-09-25  Dan Williams  <dcbw@redhat.com>
8145
8146         * src/NetworkManagerPolicy.c
8147                 - (nm_policy_device_change_check): handle devices that have a
8148                         deferred activation.  These devices are not really active _yet_,
8149                         but need to be treated as such here.  Don't interrupt them
8150                         automatically.
8151
8152         * src/nm-device-interface.c
8153                 - (impl_device_activate): handle devices that have a deferred activation
8154                         like activating or active devices.  When multiple active devices
8155                         get committed, the device shouldn't be deactivated until the
8156                         connection details are available to avoid DoS and such.  Currently,
8157                         any active, activating, or deferred activation device is deactivated
8158                         here before starting the new activation request.
8159
8160 2007-09-25  Dan Williams  <dcbw@redhat.com>
8161
8162         Properly re-query secrets from the settings daemon when stuff fails.
8163
8164         * src/nm-device-802-11-wireless.c
8165                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
8166                         between Shared Key and Open System auth modes
8167                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8168                    real_act_stage4_ip_config_timeout): clear existing secrets and
8169                         request new ones when something fails due to a suspected wrong key
8170                 - (real_act_stage2_config): fix for new request_new argument to
8171                         nm_manager_get_connection_secrets()
8172
8173         * src/nm-manager.c
8174           src/nm-manager.h
8175                 - (nm_manager_get_connection_secrets): return error status; pass
8176                         new request_new argument on to the settings daemon
8177
8178         * introspection/nm-settings-connection.xml
8179                 - New 'request_new' argument to the GetSecrets call that hints to the
8180                         settings daemon to ask the user for completely new secrets
8181
8182         * libnm-glib/nm-settings.c
8183           libnm-glib/nm-settings.h
8184                 - (impl_connection_settings_get_secrets): handle new 'request_new'
8185                         argument
8186
8187 2007-09-25  Dan Williams  <dcbw@redhat.com>
8188
8189         * libnm-util/nm-connection.c
8190           libnm-util/nm-connection.h
8191                 - (nm_connection_clear_secrets): new function; clear secrets out of
8192                         each NMSetting in an NMConnection
8193
8194         * libnm-util/nm-setting.h
8195           libnm-util/nm-setting.c
8196                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
8197                         secrets out of an NMSetting
8198                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
8199                    nm_setting_wired_new, nm_setting_wireless_new,
8200                    nm_setting_wireless_security_new, nm_setting_ppp_new,
8201                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
8202                         to default handler default_setting_clear_secrets()
8203
8204 2007-09-25  Dan Williams  <dcbw@redhat.com>
8205
8206         * src/nm-activation-request.c
8207           src/nm-activation-request.h
8208                 - (nm_act_request_is_deferred): new function
8209
8210 2007-09-24  Dan Williams  <dcbw@redhat.com>
8211
8212         * src/nm-device-802-11-wireless.c
8213                 - (activation_success_handler): update signal strength immediately
8214                         after activation
8215
8216 2007-09-24  Dan Williams  <dcbw@redhat.com>
8217
8218         * libnm-util/nm-setting.c
8219                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
8220
8221 2007-09-24  Dan Williams  <dcbw@redhat.com>
8222
8223         * src/NetworkManagerPolicy.c
8224                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
8225                         device by deactivating it because it doesn't have a "best connection".
8226                         Since autoconnect=False connections aren't automatically chosen,
8227                         NM would interrupt activation of such a connection because it
8228                         would never be "best" due to autoconnect=False.
8229
8230 2007-09-24  Dan Williams  <dcbw@redhat.com>
8231
8232         * src/nm-manager.c
8233                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
8234                         actually has some time to enter a key before the GetSecrets call
8235                         times out
8236
8237 2007-09-24  Dan Williams  <dcbw@redhat.com>
8238
8239         * introspection/nm-manager.xml
8240           src/nm-manager.c
8241                 - (impl_manager_legacy_state): fix 'state' method call return value
8242
8243 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
8244
8245         * test/Makefile.am: Install nm-tool
8246
8247 2007-09-24  Dan Williams  <dcbw@redhat.com>
8248
8249         Patch from Ross Burton <ross@burtonini.com>
8250
8251         * test/nm-tool.c
8252           callouts/nm-dhcp-client-action.c
8253           src/nm-netlink.c
8254           src/vpn-manager/nm-vpn-connection.c
8255           libnm-glib/libnm-glib-test.c
8256                 - warning fixes
8257
8258 2007-09-24  Dan Williams  <dcbw@redhat.com>
8259
8260         * libnm-util/nm-utils.h
8261           libnm-util/nm-utils.c
8262                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
8263                         remove, unused
8264
8265 2007-09-23  Dan Williams  <dcbw@redhat.com>
8266
8267         * vpn-daemons/vpnc/properties/nm-vpnc.c
8268                 - Update for new VPN properties API bits; instead of passing around
8269                         a lot of random things, everything goes into the NMConnection
8270                         object.
8271
8272 2007-09-23  Dan Williams  <dcbw@redhat.com>
8273
8274         * libnm-util/nm-setting.c
8275                 - Correctly dispose of settings objects if creating them from a hash
8276                         table fails
8277
8278 2007-09-23  Dan Williams  <dcbw@redhat.com>
8279
8280         * libnm-util/nm-setting.c
8281                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
8282                         the hash table in a standard manner.  Clients of libnm-util should
8283                         only call g_hash_table_remove_all(), never destroy the hash table
8284                         and recreate it.
8285
8286 2007-09-22  Dan Williams  <dcbw@redhat.com>
8287
8288         * src/nm-device-802-11-wireless.c
8289                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
8290                         real reason to do it so often, and reduces wakeups for clients.
8291
8292 2007-09-21  Dan Williams  <dcbw@redhat.com>
8293
8294         * src/nm-device-802-11-wireless.c
8295                 - (build_supplicant_config): wpa_supplicant requires the option
8296                         key_mgmt=NONE for unencrypted networks
8297                 - (real_act_stage2_config): clarify log message on activation
8298
8299 2007-09-21  Dan Williams  <dcbw@redhat.com>
8300
8301         * test/nm-supplicant-test.c
8302           test/Makefile.am
8303                 - Remove supplicant test binary; no longer applicable
8304
8305 2007-09-21  Dan Williams  <dcbw@redhat.com>
8306
8307         * src/supplicant-manager/nm-supplicant-manager.c
8308                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8309                         activate it on the system bus
8310
8311 2007-09-20  Dan Williams  <dcbw@redhat.com>
8312
8313         * initscript/RedHat/NetworkManager.in
8314                 - dhcdbd is no longer used, so don't try to start it from the initscripts
8315
8316 2007-09-20  Dan Williams  <dcbw@redhat.com>
8317
8318         * src/nm-device.c
8319                 - (nm_device_is_activating): work around a race between auto-activation
8320                         and the user activating the same device that is being auto-activated
8321
8322 2007-09-20  Dan Williams  <dcbw@redhat.com>
8323
8324         * src/nm-device-interface.c
8325                 - (impl_device_activate): until multiple active device support lands,
8326                         ensure only one device can be active at a time
8327
8328 2007-09-20  Dan Williams  <dcbw@redhat.com>
8329
8330         * src/supplicant-manager/nm-supplicant-config.c
8331           src/supplicant-manager/nm-supplicant-config.h
8332                 - (nm_supplicant_config_add_option): hide secrets from system logs
8333
8334 2007-09-20  Dan Williams  <dcbw@redhat.com>
8335
8336         * src/NetworkManagerPolicy.c
8337                 - (nm_policy_device_change_check): re-enable the wireless device change
8338                         checking code; insted of checking for SSIDs, check for the same
8339                         connection instead
8340
8341 2007-09-20  Dan Williams  <dcbw@redhat.com>
8342
8343         * src/nm-device-802-11-wireless.c
8344                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
8345                         composite link state when determining when to start the disconnection
8346                         timer; that link state is already based on the supplicant interface's
8347                         status which is exactly what's already being examined, plus the link
8348                         state is a conglomeration of various things that we don't want here
8349
8350 2007-09-20  Dan Williams  <dcbw@redhat.com>
8351
8352         * libnm-glib/nm-access-point.c
8353                 - (handle_property_changed): strength is a UCHAR
8354
8355 2007-09-20  Dan Williams  <dcbw@redhat.com>
8356
8357         * src/supplicant-manager/nm-supplicant-config.c
8358                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
8359                         string list keywords too since that's what wpa_supplicant wants
8360
8361 2007-09-20  Dan Williams  <dcbw@redhat.com>
8362
8363         * libnm-util/nm-setting.c
8364                 - (convert_strv_to_slist): dupe the values in the list because since
8365                         the list is a boxed value, it'll get destroyed when it's container
8366                         (like a hash table or whatever) gets destroyed
8367
8368 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8369
8370         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
8371         GSList.
8372
8373         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
8374
8375         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
8376         just use (g_object_set_data_full).
8377
8378         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
8379         that NMSettingVPN->routes is a GSList, convert it to char **.
8380         (nm_vpn_connection_ip4_config_get): Free routes when done.
8381         (nm_vpn_connection_activate): Ditto.
8382
8383         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
8384         (real_act_stage2_config): Use defined setting names.
8385
8386 2007-09-20  Dan Williams  <dcbw@redhat.com>
8387
8388         * src/nm-device-802-11-wireless.c
8389           src/nm-manager.c
8390           src/nm-manager.h
8391                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
8392                         so that the device can be deactivated if secrets are wrong
8393
8394 2007-09-20  Dan Williams  <dcbw@redhat.com>
8395
8396         * introspection/nm-settings-connection.xml
8397           libnm-glib/nm-settings.c
8398           libnm-glib/nm-settings.h
8399                 - Make GetSecrets asynchronous on the server side
8400
8401 2007-09-20  Dan Williams  <dcbw@redhat.com>
8402
8403         * src/nm-manager.h
8404           src/nm-device.c
8405                 - (nm_device_activate): actually check if a given connection
8406                         exists before assuming it doesn't
8407
8408 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8409
8410         * libnm-util/nm-connection.c (register_default_creators): Use defined
8411         setting names. Register NMSettingVPN and NMSettingVPNProperties.
8412
8413         * libnm-util/nm-setting.c: Define property name strings, use them.
8414         Implement NMSettingVPN and NMSettingVPNProperties settings.
8415         Implement NM_S_TYPE_GVALUE_HASH.
8416         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
8417         (setting_connection_verify): Rename 'devtype' property to 'type'.
8418
8419         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
8420         properties.
8421
8422         * src/vpn-manager/nm-vpn-service.c: Ditto.
8423
8424         * src/vpn-manager/nm-vpn-connection.c: Ditto.
8425
8426         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
8427         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
8428
8429         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
8430         names. NMSettingConnection->devtype got renamed to 'type'.
8431
8432         * src/nm-device-802-3-ethernet.c (find_best_connection):
8433         (real_get_best_connection): Ditto.
8434
8435         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
8436
8437         * libnm-glib/nm-vpn-manager.[ch]: Update.
8438
8439 2007-09-19  Dan Williams  <dcbw@redhat.com>
8440
8441         * src/NetworkManagerAP.c
8442           src/NetworkManagerAP.h
8443           introspection/nm-access-point.xml
8444                 - Change strength-changed signal into a properties-changed signal
8445                         for all properties, not just strength.  Export that signal over dbus
8446                         so listeners don't have to poll NM for changes.
8447                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
8448                         get exported over D-Bus, so break up the logic and let other bits
8449                         decided when to export the AP
8450                 - (nm_ap_new_from_ap): remove, unused
8451
8452         * src/nm-device-802-11-wireless.c
8453                 - (merge_scanned_ap): only export APs that are actually on the device
8454                         list, not every AP created internally
8455
8456         * libnm-glib/nm-access-point.c
8457           libnm-glib/nm-access-point.h
8458                 - Cache properties internally and only hit DBus when needed.  Get
8459                         property updates from NM signals
8460
8461 2007-09-16  Dan Williams  <dcbw@redhat.com>
8462
8463         * libnm-util/nm-connection.c
8464           libnm-util/nm-connection.h
8465                 - (nm_connection_for_each_setting_value): new function; iterate over
8466                         each setting's value and call a user-provided function with details
8467                         about that value
8468
8469         * libnm-util/nm-setting.c
8470           libnm-util/nm-setting.h
8471                 - (nm_setting_enumerate_values): new function; enumerate the values
8472                         of a specific NMSetting subclass for a user-provided function with
8473                         details about that value
8474                 - Change wep_tx_keyidx to a uint32
8475                 - Create settings value tables for each setting defining their type,
8476                         key name, offset into the NMSetting subclass' structure, and whether
8477                         they are required and/or a secret
8478                 - (nm_setting_populate_from_hash): generic function to populate an
8479                         NMSetting from a GHash table, make all settings use it
8480                 - (nm_setting_hash): generic function to derive a GHashTable from
8481                         an NMSetting object, make all settings use it
8482
8483 2007-09-14  Dan Williams  <dcbw@redhat.com>
8484
8485         Remove unused stuff in libnm-util
8486
8487         * configure.in
8488           libnm-util/Makefile.am
8489           libnm-util/cipher-private.h
8490           libnm-util/cipher-wep-ascii.c
8491           libnm-util/cipher-wep-ascii.h
8492           libnm-util/cipher-wep-hex.c
8493           libnm-util/cipher-wep-hex.h
8494           libnm-util/cipher-wep-passphrase.c
8495           libnm-util/cipher-wep-passphrase.h
8496           libnm-util/cipher-wpa-psk-hex.c
8497           libnm-util/cipher-wpa-psk-hex.h
8498           libnm-util/cipher-wpa-psk-passphrase.c
8499           libnm-util/cipher-wpa-psk-passphrase.h
8500           libnm-util/cipher.c
8501           libnm-util/cipher.h
8502           libnm-util/dbus-helpers.c
8503           libnm-util/dbus-helpers.h
8504           libnm-util/gnome-keyring-md5.c
8505           libnm-util/gnome-keyring-md5.h
8506           libnm-util/sha1.c
8507           libnm-util/sha1.h
8508           src/nm-device-802-11-wireless.c
8509           test/libnm-util/Makefile.am
8510           test/libnm-util/test-ciphers.c
8511           test/libnm-util/test-dbus-helpers.c
8512           test/libnm-util/test-inputs.h
8513                 - Removed
8514
8515 2007-09-14  Dan Williams  <dcbw@redhat.com>
8516
8517         * libnm-util/dbus-method-dispatcher.c
8518           libnm-util/dbus-method-dispatcher.h
8519                 - Remove, unused
8520
8521 2007-09-14  Dan Williams  <dcbw@redhat.com>
8522
8523         Implement deferred activation support in the device class.
8524
8525         * src/nm-device-interface.c
8526           src/nm-device-interface.h
8527                 - (nm_device_interface_activate): take more arguments to support
8528                         deferred activation; callers must pass one of (connection) OR
8529                         (service_name, connection_path)
8530                 - (impl_device_activate): connection validation is punted to the device
8531                         to be able to handle deferred activation.  Yes, this means errors
8532                         don't get returned from the Activate() dbus call, and yes, that
8533                         should be fixed somehow later.
8534
8535         * src/nm-device.c
8536           src/nm-device.h
8537                 - (clear_act_request): clear additional deferred activation stuff too
8538                 - (deferred_activation_timeout_cb): new function; clean up when
8539                         deferred activation times out.
8540                 - (deferred_activation_start_cb): new function; when the connection
8541                         finally becomes available, start device activation
8542                 - (nm_device_activate): attach to the right signals of the activation
8543                         request if we need to defer activation until the connection is valid
8544
8545         * src/NetworkManagerPolicy.c
8546                 - (nm_policy_device_change_check): update for additional arguments
8547                         required for nm_device_interface_activate().  Pass NULL for these
8548                         though because this function already knows exactly which
8549                         NMConnection to use
8550
8551 2007-09-14  Dan Williams  <dcbw@redhat.com>
8552
8553         Implement deferred activation handling in the NMActRequest class.  When a
8554         client wants to activate a device but must create the NMConnection details
8555         on the fly, there likely hasn't been enough time yet for NM to receive the
8556         new connection signal and grab all the connection details.  So the
8557         activation is deferred (and bounded by a timer) for a while, and if the
8558         connection appears within the window, it is activated.
8559
8560         * src/nm-activation-request.c
8561           src/nm-activation-request.h
8562                 - (nm_act_request_class_init): two new signals to support deferred
8563                         activation, to allow the listener to handle both timeout and success
8564                 - (nm_act_request_new_deferred): new function, starts the deferred
8565                         activation timeout handler and listens to the NMManager for
8566                         new-connection signals to notice when the connection comes in
8567
8568 2007-09-14  Dan Williams  <dcbw@redhat.com>
8569
8570         * src/nm-manager.h
8571           src/nm-manager.c
8572                 - (nm_manager_get_connection_service_name,
8573                    nm_manager_get_connection_dbus_path): get details about a connection
8574                         known internally by the NMManager
8575                 - (nm_manager_class_init): fix connection add/remove signal marshalers
8576                         because NMConnection is now a GObject subclass
8577                 - Use constant for the gobject data tag used on NMConnection objects for
8578                         storing the associated DBusGProxy
8579
8580 2007-09-14  Dan Williams  <dcbw@redhat.com>
8581
8582         * utils/Makefile.am
8583           utils/nm-utils.c
8584           utils/nm-utils.h
8585           src/supplicant-manager/Makefile.am
8586           src/dhcp-manager/Makefile.am
8587           src/backends/Makefile.am
8588           src/named-manager/Makefile.am
8589           src/ppp-manager/Makefile.am
8590           src/vpn-manager/Makefile.am
8591           test/libnm-util/Makefile.am
8592           test/test-common/Makefile.am
8593                 - Remove utils/; it was unused
8594
8595 2007-09-13  Dan Williams  <dcbw@redhat.com>
8596
8597         * libnm-glib/nm-vpn-manager.h
8598           libnm-glib/nm-vpn-manager.c
8599                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
8600
8601 2007-09-13  Dan Williams  <dcbw@redhat.com>
8602
8603         * src/nm-device-802-3-ethernet.c
8604                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
8605                         netlink monitor carrier signals on dispose, not bring down.  The
8606                         carrier signals should be handled over the entire lifetime of the
8607                         device anyway, not created/destroyed on up or down.
8608
8609 2007-09-13  Dan Williams  <dcbw@redhat.com>
8610
8611         * libnm-glib/nm-device.c
8612           libnm-glib/nm-device.h
8613                 - (nm_device_activate): take a connection object path rather than an
8614                         NMConnection because NMConnection isn't exported over D-Bus and
8615                         therefore it dbus-glib can't automatically get an object path from it
8616
8617 2007-09-13  Dan Williams  <dcbw@redhat.com>
8618
8619         * libnm-util/nm-setting.c
8620                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
8621
8622 2007-09-13  Tambet Ingo  <tambet@gmail.com>
8623
8624         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
8625
8626 2007-09-12  Tambet Ingo  <tambet@gmail.com>
8627
8628         * src/vpn-manager/nm-vpn-connection.[ch]: 
8629         * src/vpn-manager/nm-vpn-manager.[ch]:
8630         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
8631         dbus-glib, GObjects, signals etc.
8632
8633         * libnm-glib/nm-vpn-manager.[ch]: 
8634         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
8635         so much, rewrite these too.
8636
8637         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
8638         the new introspection files.
8639
8640         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
8641
8642         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
8643         the header with the same name from libnm-utils.
8644
8645         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
8646
8647         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
8648
8649         * introspection/nm-vpn-plugin.xml: Implement.
8650
8651         * introspection/nm-vpn-connection.xml: Implement.
8652
8653         * introspection/nm-vpn-manager.xml: Implement.
8654
8655         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
8656         the named manager argument, it can just as easily get it as the caller.
8657         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
8658
8659         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
8660
8661         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
8662
8663         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
8664         libnm-utils.
8665
8666         * libnm-util/nm-connection.c: Ditto.
8667
8668         * src/NetworkManagerMain.h: Remove, it's finally empty.
8669
8670         * configure.in: Remove utils/ from build.
8671
8672         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
8673         of hard-coded strings.
8674
8675         * utils/: Move it over to libnm-util.
8676
8677         * test/Makefile.am: Link against libnm-util now that util/ is gone.
8678
8679         * dispatcher-daemon/Makefile.am: Ditto.
8680
8681         * src/Makefile.am: Ditto.
8682
8683 2007-09-12  Dan Williams  <dcbw@redhat.com>
8684
8685         Wireless connections can be made with config data from the applet now.
8686         
8687         Yay.
8688
8689         * src/supplicant-manager/nm-supplicant-config.h
8690           src/supplicant-manager/nm-supplicant-config.c
8691                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
8692                 - (nm_supplicant_config_add_setting_wireless,
8693                    nm_supplicant_config_add_setting_wireless_security): new functions;
8694                         add key/value pairs from the settings objects to the supplicant
8695                         config
8696
8697         * src/nm-device-802-11-wireless.c
8698                 - (cull_scan_list): fix check to not prune currently associated AP
8699                 - (build_supplicant_config, real_act_stage2_config): call the functions
8700                         of the NMSupplicantConfig that parse settings objects rather than
8701                         doing it manually here
8702
8703 2007-09-12  Dan Williams  <dcbw@redhat.com>
8704
8705         * src/supplicant-manager/nm-supplicant-interface.c
8706           src/supplicant-manager/nm-supplicant-marshal.list
8707                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
8708                         "connection-error" signal arguments should be STRING not CHAR
8709
8710 2007-09-12  Dan Williams  <dcbw@redhat.com>
8711
8712         * src/NetworkManagerUtils.c
8713           src/NetworkManagerUtils.h
8714                 - (nm_utils_hexstr2bin): new function
8715
8716 2007-09-11  Dan Williams  <dcbw@redhat.com>
8717
8718         * src/nm-manager.c
8719                 - (connection_get_settings_cb): emit connection-added signal
8720                 - (connection_removed_cb): uncomment bits for system settings service,
8721                         send connection-removed when appropriate
8722                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
8723                         the stack by trying to g_object_set_data() on something that's
8724                         not a GObject; handle case where settings service returns
8725                         empty settings hash table
8726
8727 2007-09-11  Dan Williams  <dcbw@redhat.com>
8728
8729         * src/NetworkManagerPolicy.c
8730                 - (connection_added, connection_removed): trigger device change checks
8731                         on connection changes
8732
8733 2007-09-11  Dan Williams  <dcbw@redhat.com>
8734
8735         * src/nm-activation-request.c
8736                 - (connection_secrets_updated_cb): fix c&p error in signal emission
8737
8738 2007-09-11  Dan Williams  <dcbw@redhat.com>
8739
8740         * src/nm-device-802-11-wireless.c
8741                 - (real_connection_secrets_updated): fix erroneous check
8742
8743 2007-09-11  Dan Williams  <dcbw@redhat.com>
8744
8745         * introspection/nm-device.xml
8746           libnm-glib/nm-device.c
8747           libnm-glib/nm-device.c
8748                 - Fix Activate call argument borkage; Activate takes 3 arguments
8749
8750 2007-09-11  Dan Williams  <dcbw@redhat.com>
8751
8752         * libnm-glib/nm-access-point.c
8753           libnm-glib/nm-access-point.c
8754                 - (nm_access_point_get_frequency): now returns guint32 to match
8755                         property change on 2007-09-10
8756
8757 2007-09-11  Dan Williams  <dcbw@redhat.com>
8758
8759         * src/nm-device-802-11-wireless.c
8760                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
8761                         somewhere defines 'index' and I missed this one when I fixed the
8762                         shadow declaration errors earlier
8763
8764 2007-09-11  Dan Williams  <dcbw@redhat.com>
8765
8766         * libnm-util/nm-connection.c
8767                 - (nm_connection_update_secrets, need_secrets_check): move
8768                         802-11-wireless-security need_secrets checks to the setting object
8769                         itself, where it belongs
8770
8771         * libnm-util/nm-setting.c
8772           libnm-util/nm-setting.h
8773                 - (nm_setting_need_secrets): new function
8774                 - (setting_wireless_security_verify,
8775                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
8776                 - (setting_wireless_security_need_secrets): mostly copy code over
8777                         from nm-connection.c
8778
8779 2007-09-11  Dan Williams  <dcbw@redhat.com>
8780
8781         * libnm-util/nm-setting.c
8782           libnm-util/nm-setting.h
8783                 - (nm_setting_update_secrets): new function; add a virtual function that
8784                         subclasses can implement to update their secrets
8785                 - (setting_wireless_security_update_secrets): implement that function
8786                         for the 802-11-wireless-security subclass
8787
8788         * libnm-util/nm-connection.c
8789           libnm-util/nm-connection.h
8790                 - (nm_connection_update_secrets): update secrets for a Setting and
8791                         emit a signal on success
8792
8793         * src/nm-manager.c
8794           src/nm-manager.h
8795           src/nm-marshal.list
8796                 - (connection_get_settings_cb): enable system settings bits
8797                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
8798                         to request secrets from the settings dbus service and to
8799                         push those secrets to the NMConnection itself
8800
8801         * src/nm-activation-request.c
8802           src/nm-activation-request.h
8803                 - Attach to the 'secrets-updated' signal of the NMConnection that's
8804                         currently being activated, and proxy that signal to other listeners.
8805                         Goes through the activation request because the activation request
8806                         is the thing that manages the lifetime of the NMConnection that's
8807                         being activated.
8808
8809         * src/nm-device-802-11-wireless.c
8810                 - (real_connection_secrets_updated): implement the connection secrets
8811                         updated notification and restart activation when secrets are
8812                         received
8813                 - (real_act_stage2_config): request secrets from the settings dbus
8814                         service if secrets are needed
8815
8816         * src/nm-device.c
8817           src/nm-device.h
8818                 - (clear_act_request, nm_device_activation_cancel,
8819                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
8820                         where the activation request is cleared
8821                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
8822                         updated secrets signal of activation request and add a function
8823                         that subclasses can override to handle it easily
8824
8825 2007-09-11  Tambet Ingo  <tambet@gmail.com>
8826
8827         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
8828         removal of NetworkManagerAPList.
8829
8830 2007-09-10  Dan Williams  <dcbw@redhat.com>
8831
8832         * src/NetworkManagerAP.c
8833           src/NetworkManagerAP.h
8834           introspection/nm-access-point.xml
8835                 - Change 'freq' property to a guint32 instead of a double since we
8836                         weren't using the floating point bits anyway
8837
8838 2007-09-10  Dan Williams  <dcbw@redhat.com>
8839
8840         * NetworkManagerAP.c
8841           NetworkManagerAP.h
8842           NetworkManagerPolicy.c
8843           NetworkManagerSystem.c
8844           NetworkManagerUtils.c
8845           NetworkManagerUtils.h
8846           nm-device-802-11-wireless.c
8847           nm-device-802-3-ethernet.c
8848           nm-hal-manager.c
8849           nm-manager.c
8850           vpn-manager/nm-dbus-vpn.c
8851                 - Warning fixes; casts and removal of unused variables
8852
8853 2007-09-10  Dan Williams  <dcbw@redhat.com>
8854
8855         * include/NetworkManager.h
8856                 - Kill NMNetworkType; AP types don't matter any more
8857
8858         * src/NetworkManagerAPList.c
8859           src/NetworkManagerAPList.h
8860           src/Makefile.am
8861                 - Kill; NMAccessPointList has outlived it's usefulness
8862
8863         * src/NetworkManagerAP.c
8864           src/NetworkManagerAP.h
8865                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
8866                         functions; check if an NMConnection object is compatible with the
8867                         settings of this AP
8868                 - (freq_to_channel, channel_to_freq): utility functions for
8869                         channel <-> frequency conversion
8870
8871         * src/nm-device.c
8872           src/nm-device.h
8873                 - (nm_device_get_best_connection): pass the specific object around
8874                          (which might be the object path of a specific AP to connect to).
8875                          The get_best_connection() call should populate this on return
8876                          if needed (wireless does).
8877
8878         * src/nm-device-802-3-ethernet.c
8879                 - (real_get_best_connection): handle specific_object argument
8880
8881         * src/NetworkManager.c
8882           src/NetworkManagerMain.h
8883                 - Remove unused includes
8884
8885         * src/nm-device-802-11-wireless.c
8886           src/nm-device-802-11-wireless.h
8887                 - Convert the ap_list into a GSList from an NMAccessPointList
8888                 - No need for caching the 'activation_ap' since this is now determined
8889                         from the specific_object of the activation request, which is
8890                         populated from the get_best_connection() call or from a user request
8891                 - (nm_device_802_11_wireless_update_bssid): fix warning
8892                 - (get_wireless_capabilities): fix error message format arguments
8893                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
8894                 - (find_best_connection, real_get_best_connection): implement
8895                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
8896                         move here from NetworkManagerAPList
8897                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
8898                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
8899                         already verified earlier
8900                 - (real_act_stage2_config): use nm_connection_need_secrets()
8901
8902         * src/NetworkManagerPolicy.c
8903                 - (nm_policy_auto_get_best_device): handle specific objects
8904                 - (create_connection): remove; automatic connection creation functionality
8905                         is handled by the Connection objects
8906                 - (nm_policy_device_change_check): handle specific_object
8907
8908         * libnm-util/nm-connection.c
8909                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
8910
8911 2007-09-10  Dan Williams  <dcbw@redhat.com>
8912
8913         * src/nm-manager.c
8914                 - (query_connections): fix uninitialized variable problem that caused
8915                         segfault
8916                 - (nm_manager_add_device): take devices down on startup so that we can
8917                         be assured that nm_device_is_up() won't short-circuit the init
8918                         process.  Hack until the is_up check gets split into two pieces
8919                         that aren't behaviorally confusing.
8920
8921 2007-09-09  Dan Williams  <dcbw@redhat.com>
8922
8923         * introspection/nm-device.xml
8924                 - The 'Activate' method now takes 3 arguments, a service name for the
8925                 settings service (user or system), the object path of the connection
8926                 to activate, and the specific object to activate, if any
8927
8928         * src/nm-device-interface.c
8929                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
8930                 Add error bits
8931                 - (impl_device_activate): adapt to new Activate arguments; validate
8932                 the service name and get the Connection object from the NMManager
8933                 before starting to activate the device with the specified connection
8934
8935         * src/nm-device-802-3-ethernet.c
8936                 - (real_get_best_connection): find the best connection, or create a
8937                 default one if no existing connections can be used
8938
8939         * src/NetworkManagerPolicy.c
8940                 - (nm_policy_auto_get_best_device): Get the device's best connection
8941                 and only pick the device if it has one
8942                 - (nm_policy_device_change_check): disable wireless bits for now until
8943                 wireless get_best_connection() can be implemented (replacing "best_ap");
8944                 don't create a default connection here as the device subclass will do
8945                 that if needed
8946
8947         * src/nm-manager.h
8948           src/nm-manager.c
8949                 - (nm_manager_get): make NMManager a singleton and expose the getter
8950                 internally
8951                 - Rework internal NMManager connection handling to use the same
8952                 routines for both the system and user settings services.  Most calls
8953                 take a new NMConnectionType argument specifying either system or user
8954                 connections
8955                 - (nm_manager_get_connection_by_object_path): new function; get a
8956                 connection keyed on its object path
8957
8958         * src/NetworkManager.c
8959                 - (main): use nm_manager_get()
8960
8961 2007-09-09  Dan Williams  <dcbw@redhat.com>
8962
8963         * src/nm-device.h
8964           src/nm-device.c
8965                 - (nm_device_get_best_connection): new function; get best connection
8966                         for the device at that time
8967
8968 2007-09-09  Dan Williams  <dcbw@redhat.com>
8969
8970         * src/nm-device-interface.h
8971                 - Add NMDeviceInterfaceError with an UnknownConnection error
8972
8973 2007-09-09  Dan Williams  <dcbw@redhat.com>
8974
8975         Stupid mistake on my part; object path and interface for settings service
8976         and connection objects can be the same, only the service name must be
8977         different for the system and user settings services.
8978
8979         * include/NetworkManager.h
8980           src/nm-manager.c
8981           introspection/nm-settings-connection.xml
8982           introspection/nm-settings.xml
8983           libnm-glib/nm-settings.c
8984                 - (nm_connection_settings_init, query_user_connections,
8985                    new_connection_cb): Unify NetworkManagerSettings and Connection
8986                    interface name and object path
8987
8988 2007-09-06  Dan Williams  <dcbw@redhat.com>
8989
8990         * libnm-glib/nm-object.c
8991                 - (nm_object_get_string_property, nm_object_get_object_path_property,
8992                    nm_object_get_int_property, nm_object_get_uint_property,
8993                    nm_object_get_boolean_property, nm_object_get_byte_property,
8994                    nm_object_get_double_property, nm_object_get_byte_array_property):
8995                         clear GValues after copying their contents, fixes memory leaks
8996                         after every property access because dbus-glib copies the values
8997                         from the DBusMessage into the GValue already.
8998
8999 2007-09-06  Dan Williams  <dcbw@redhat.com>
9000
9001         * introspection/nm-access-point.xml
9002                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
9003                         them to be.  There's some magic property name parsing going on in
9004                         dbus-glib that breaks up property names based on studly-caps and
9005                         puts - between words.
9006
9007         * libnm-glib/nm-access-point.c
9008                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
9009                         Fix property names
9010
9011 2007-09-06  Dan Williams  <dcbw@redhat.com>
9012
9013         * src/nm-manager.c
9014                 - (nm_manager_user_connections_destroy): clear the user connections hash
9015                         table, don't destroy it
9016                 - (finalize): only destroy the hash table on NMManager finalization
9017
9018 2007-09-02  Dan Williams  <dcbw@redhat.com>
9019
9020         * include/NetworkManager.h
9021           libnm-glib/nm-settings.c
9022                 - defines for the user settings daemon D-Bus bits
9023
9024         * src/NetworkManager.c
9025                 - Remove stuff that referred to the old NetworkManagerInfo service
9026
9027         * src/vpn-manager/nm-dbus-vpn.h
9028                 - Move old NMI defines to the only place they are used still
9029
9030         * libnm-util/nm-connection.c
9031           libnm-util/nm-connection.h
9032           src/nm-activation-request.c
9033                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
9034
9035         * src/nm-manager.c
9036           src/nm-manager.h
9037                 - Get connections and their settings from the user settings daemon
9038                         at the appropriate times
9039
9040 2007-09-02  Dan Williams  <dcbw@redhat.com>
9041
9042         * libnm-util/nm-setting.c
9043                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
9044                 - (setting_wireless_hash): set the right value on the item
9045
9046 2007-09-02  Dan Williams  <dcbw@redhat.com>
9047
9048         * test/Makefile.am
9049           test/nminfotest.c
9050                 - Remove, no longer useful
9051
9052 2007-08-30  Dan Williams  <dcbw@redhat.com>
9053
9054         * src/Makefile.am
9055           src/NetworkManagerDbus.c
9056           src/NetworkManagerDbus.h
9057           src/vpn-manager/nm-dbus-vpn.c
9058                 - Remove, no longer necessary.  Move last bits to the only place its
9059                 used, in nm-dbus-vpn.c
9060
9061         * src/NetworkManagerAPList.c
9062           src/nm-device.c
9063           src/NetworkManager.c
9064           src/nm-device-802-11-wireless.c
9065           src/vpn-manager/nm-vpn-manager.c
9066           src/vpn-manager/nm-vpn-service.c
9067           src/NetworkManagerPolicy.c
9068           src/nm-manager.c
9069                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
9070                 that was message_is_error()
9071
9072 2007-08-30  Dan Williams  <dcbw@redhat.com>
9073
9074         * libnm-util/sha1.c
9075                 - Include config.h to get defines for endiannes (gnome.org #420216)
9076
9077 2007-08-30  Dan Williams  <dcbw@redhat.com>
9078
9079         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
9080
9081         * src/ppp-manager/Makefile.am
9082                 - use -fPIC (gnome.org #471825)
9083
9084 2007-08-29  Dan Williams  <dcbw@redhat.com>
9085
9086         * include/NetworkManager.h
9087                 - Keep NMConnection object path in sync
9088
9089         * libnm-glib/nm-settings.c
9090           libnm-glib/nm-settings.h
9091                 - Break D-Bus object registration out of the init function, because
9092                 every object that's exported over D-Bus needs to use the _same_
9093                 DBusConnection.  Otherwise, each object would get a different object
9094                 path tree and wouldn't be callable.
9095
9096 2007-08-29  Dan Williams  <dcbw@redhat.com>
9097
9098         * libnm-util/nm-setting.h
9099           libnm-util/nm-setting.c
9100           libnm-util/nm-connection.c
9101           src/NetworkManagerPolicy.c
9102                 - 'info' settings object should be 'connection' says the spec
9103                 at NetworkManagerConfigurationSpecification
9104
9105 2007-08-29  Dan Williams  <dcbw@redhat.com>
9106
9107         * libnm-glib/nm-settings.c
9108           libnm-glib/nm-settings.h
9109                 - make the dbus path a property of the object, and autogenerate it.
9110                 It can't be composed of the 'id' field becuase that's not available
9111                 yet during the GObject creation in nm_connection_settings_init()
9112
9113 2007-08-29  Dan Williams  <dcbw@redhat.com>
9114
9115         * introspection/nm-settings-connection.xml
9116           introspection/nm-settings.xml
9117                 - Service name -> NetworkManagerUserSettings because two services
9118                 can't share part of the same path.  I'm not really sure how we'll use
9119                 the same code with the system-settings daemon...
9120
9121 2007-08-28  Dan Williams  <dcbw@redhat.com>
9122
9123         * src/nm-device-interface.c
9124           src/nm-device-interface.h
9125                 - Kill one more bit of NMData
9126
9127 2007-08-28  Dan Williams  <dcbw@redhat.com>
9128
9129         * src/NetworkManagerSystem.h
9130           src/nm-device.c
9131           src/nm-device.h
9132           src/nm-hal-manager.c
9133           src/NetworkManager.c
9134           src/nm-device-802-11-wireless.c
9135           src/nm-hal-manager.h
9136           src/nm-device-802-3-ethernet.c
9137           src/vpn-manager/nm-vpn-service.h
9138           src/vpn-manager/nm-vpn-manager.c
9139           src/vpn-manager/nm-vpn-manager.h
9140           src/vpn-manager/nm-vpn-service.c
9141           src/nm-device-802-11-wireless.h
9142           src/NetworkManagerMain.h
9143           src/nm-device-802-3-ethernet.h
9144           src/backends/NetworkManagerGentoo.c
9145           src/backends/NetworkManagerPaldo.c
9146           src/backends/NetworkManagerFrugalware.c
9147           src/backends/NetworkManagerRedHat.c
9148           src/backends/NetworkManagerSlackware.c
9149           src/backends/NetworkManagerGeneric.c
9150           src/backends/NetworkManagerArch.c
9151           src/backends/NetworkManagerSuSE.c
9152           src/backends/NetworkManagerGeneric.h
9153           src/backends/NetworkManagerDebian.c
9154                 - Kill NMData
9155
9156 2007-08-28  Dan Williams  <dcbw@redhat.com>
9157
9158         * src/NetworkManagerMain.h
9159           src/nm-device-802-11-wireless.c
9160           src/NetworkManager.c
9161                 - Remove invalid AP list from NMData; need to rework this somewhat, but
9162                 for now we should set the 'invalid' property on individual APs, and when
9163                 we need to invalidate a whole ESS, set the 'invalid' on every member of
9164                 that ESS
9165
9166 2007-08-28  Dan Williams  <dcbw@redhat.com>
9167
9168         * src/NetworkManagerAP.c
9169           src/NetworkManagerAP.h
9170                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
9171                         'autoconnect' property instead
9172
9173         * src/NetworkManager.c
9174           src/NetworkManagerMain.h
9175           src/NetworkManagerPolicy.c
9176           src/NetworkManagerPolicy.h
9177                 - Remove the 'allowed_ap_list', which should be replaced by 
9178                         NMConnection/NMSettings instead, since _those_ are the allowed
9179                         things that NM can connect to
9180
9181         * src/nm-device-802-11-wireless.c
9182                 - Remove both allowed_ap_list usage and 'fallback' checking
9183
9184 2007-08-28  Dan Williams  <dcbw@redhat.com>
9185
9186         * src/nm-device.c
9187           src/named-manager/nm-named-manager.c
9188           src/named-manager/nm-named-manager.h
9189           src/NetworkManager.c
9190           src/vpn-manager/nm-vpn-manager.c
9191           src/NetworkManagerMain.h
9192           src/NetworkManagerSystem.c
9193                 - Remove the named-manager object from NMData structure in preparation
9194                 for NMData's timely death.  Make the NMNamedManager the singleton that
9195                 it really is
9196
9197 2007-08-28  Dan Williams  <dcbw@redhat.com>
9198
9199         Remove NMAPSecurity objects, they are replaced with flags on the APs for
9200         each AP's capabilities, and by NMConnection/NMSettings objects for user
9201         defined connections.
9202
9203         * include/NetworkManager.h
9204                 - Redefine 802.11 security properties.  There are now device capabilities
9205                         and AP flags and AP security flags.  It was way to unclear before.
9206
9207         * src/Makefile.am
9208           src/nm-ap-security-leap.h
9209           src/nm-ap-security-leap.c
9210           src/nm-ap-security-wpa-eap.c
9211           src/nm-ap-security-wpa-eap.h
9212           src/nm-ap-security-private.h
9213           src/nm-ap-security-wpa-psk.c
9214           src/nm-ap-security-wpa-psk.h
9215           src/nm-ap-security-wep.c
9216           src/nm-ap-security-wep.h
9217           src/nm-ap-security.c
9218           src/nm-ap-security.h
9219                 - Removed, to be replaced with NMConnection/NMSettings objects
9220
9221         * src/nm-dbus-nmi.c
9222           src/nm-dbus-nmi.h
9223                 - Removed, to be replaced by code that talks to the new info daemon
9224                         interface and gets NMConnection/NMSettings objects
9225
9226         * src/backends/NetworkManagerSuSE.c
9227                 - Remove usage of NMAPSecurity; should be replaced by a system-level
9228                         info-daemon that does the same thing but talks the new info-daemon
9229                         D-Bus interface
9230
9231         * src/NetworkManagerAP.h
9232           src/NetworkManagerAP.c
9233           src/NetworkManagerAPList.c
9234           libnm-glib/libnm-glib-test.c
9235                 - Remove usage of NMAPSecurity objects and adjust to new flags for
9236                         WPA/RSN
9237
9238         * libnm-glib/nm-access-point.c
9239           libnm-glib/nm-access-point.h
9240           introspection/nm-access-point.xml
9241           test/nm-tool.c
9242                 - Adjust to new flags for AP security
9243
9244         * utils/nm-utils.c
9245           utils/nm-utils.h
9246           src/vpn-manager/nm-dbus-vpn.c
9247                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
9248                         stuff which is the only place it's used
9249
9250         * src/nm-device-interface.c
9251           src/nm-device-interface.h
9252           introspection/nm-device.xml
9253           src/nm-activation-request.c
9254           src/nm-activation-request.h
9255           src/nm-device.c
9256                 - Add a new 'specific_object' argument that hints to NM what actual
9257                         AP or other device-specific thing the connection should apply to.
9258                         NMConnection objects can apply to more than one actual device/AP.
9259
9260         * libnm-util/nm-connection.c
9261         * libnm-util/nm-connection.h
9262                 - Add 'have_secrets" call stubs
9263
9264         * libnm-util/cipher.h
9265                 - Move NM_AUTH_TYPE_* defines here for now
9266
9267         * src/nm-device-802-11-wireless.c
9268                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
9269                         NMSettings objects
9270
9271         * src/NetworkManagerDbus.c
9272         * src/NetworkManagerPolicy.c
9273                 - Remove usage of update_allowed_networks, should be pushing data in
9274                         a different manner
9275
9276 2007-08-27  Tambet Ingo  <tambet@gmail.com>
9277
9278         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
9279         dbus-glib frees it when the call is done.
9280
9281 2007-08-26  Dan Williams  <dcbw@redhat.com>
9282
9283         * introspection/nm-device.xml
9284                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
9285
9286 2007-08-26  Dan Williams  <dcbw@redhat.com>
9287
9288         * src/nm-device-802-3-ethernet.c
9289                 - (constructor): move connection of interface-connected/disconnected
9290                         signals here from real_bring_up().  Should be listening to netlink
9291                         for carrier events no matter what the initial state of the device
9292                         is.
9293
9294 2007-08-26  Dan Williams  <dcbw@redhat.com>
9295
9296         * src/nm-netlink-monitor.c
9297                 - (nm_netlink_monitor_class_init): fix marshalling types for
9298                         interface-connected/interface-disconnected
9299                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
9300                         check
9301
9302 2007-08-26  Dan Williams  <dcbw@redhat.com>
9303
9304         Convert to using interface indexes as the primary method of identifying
9305         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9306         be renamed at any time.  Device object paths now refer to the device
9307         index rather than the name, and you can map those two manually if you like
9308         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9309         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9310         to use interface indexes rather than names.
9311
9312 2007-08-26  Dan Williams  <dcbw@redhat.com>
9313
9314         * src/nm-netlink-monitor.h
9315                 - Remove one last bit of wireless-event signal
9316
9317 2007-08-26  Dan Williams  <dcbw@redhat.com>
9318
9319         * src/nm-netlink-monitor.c
9320                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
9321                         don't need the 'wireless-event' signal anymore since that's all
9322                         handled by wpa_supplicant
9323
9324 2007-08-25  Dan Williams  <dcbw@redhat.com>
9325
9326         It's 2007. Remove support for drivers that don't support wireless scanning.
9327
9328         * test/nm-tool.c
9329           include/NetworkManager.h
9330           src/NetworkManagerUtils.c
9331           src/NetworkManagerPolicy.c
9332           src/nm-device-802-11-wireless.c
9333                 - Remove special handling for non-scanning devices and mark them
9334                         as unsupported/unhandled
9335
9336 2007-08-20  Dan Williams  <dcbw@redhat.com>
9337
9338         * src/nm-device-802-11-wireless.c
9339           src/nm-device-802-3-ethernet.c
9340                 - (real_is_up): move device-specific tests before generic IFF_UP test,
9341                         because when the card is pulled or the module removed, the device
9342                         is already !IFF_UP and then device-specific cleanup (removing
9343                         the supplicant interface, periodic checks, etc) never gets done
9344
9345 2007-08-20  Dan Williams  <dcbw@redhat.com>
9346
9347         * src/nm-manager.c
9348                 - (nm_manager_remove_device): bring device down before disconnecting
9349                         signal handlers, so that the 'state' signal will get broadcast when
9350                         the device enters the DOWN state
9351                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
9352                         of states that cause the NMManager to recheck its state
9353
9354 2007-08-20  Dan Williams  <dcbw@redhat.com>
9355
9356         * src/supplicant-manager/nm-supplicant-interface.c
9357                 - (interface_disconnect_done): don't try to dispose of the net proxy
9358                         when it may already have been disposed of
9359
9360 2007-08-20  Dan Williams  <dcbw@redhat.com>
9361
9362         * src/nm-device-802-11-wireless.c
9363                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
9364                         the SSID isn't available; this can happen when the card is pulled
9365                         or the module unloaded, during the post-removal deactivation
9366                         paths, when the ioctl returns ENODEV
9367
9368 2007-08-20  Dan Williams  <dcbw@redhat.com>
9369
9370         * src/nm-device-802-11-wireless.c
9371                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
9372                         frequency, and mode match.  Applets are now responsible for grouping
9373                         access points
9374
9375 2007-08-20  Dan Williams  <dcbw@redhat.com>
9376
9377         * src/NetworkManagerAP.c
9378         * src/NetworkManagerAP.h
9379                 - (nm_ap_print_self): new function
9380
9381         * src/NetworkManagerAPList.c
9382                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
9383                         to do it all here
9384         
9385 2007-08-17  Dan Williams  <dcbw@redhat.com>
9386
9387         * src/nm-device-802-3-ethernet.c
9388                 - (real_bring_down): don't try to dispose of stuff that might not
9389                         exist
9390
9391 2007-08-17  Dan Williams  <dcbw@redhat.com>
9392
9393         * src/NetworkManagerAP.c
9394                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
9395                         applet.  This ensures that the case between the seen-bssids and
9396                         the bssids reported by the driver match.
9397
9398 2007-08-17  Dan Williams  <dcbw@redhat.com>
9399
9400         * src/nm-device-802-11-wireless.c
9401                 - (device_cleanup): disconnect the interface in wpa_supplicant before
9402                         we dispose of the interface proxy in NM
9403
9404 2007-08-16  Dan Williams  <dcbw@redhat.com>
9405
9406         * libnm-glib/nm-client.c
9407                 - (nm_client_init): create VPN connections hash table with key free
9408                         function
9409                 - (proxy_vpn_connection_added): VPN connections hash table key should
9410                         be a duplicated value, not the same memory address as the VPN
9411                         connection name.  This is because the VPN connection name could
9412                         potentially be freed and set to something else during the lifetime
9413                         of the NMVPNConnection object.
9414
9415 2007-08-16  Tambet Ingo  <tambet@gmail.com>
9416
9417         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
9418         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
9419         with the file descriptors. Send a child setup function to change the pppd
9420         progress group.
9421
9422 2007-08-15  Dan Williams  <dcbw@redhat.com>
9423
9424         * src/supplicant-manager/nm-supplicant-interface.c
9425                 - (try_remove_iface): new function, ask wpa_supplicant to remove
9426                         an interface
9427                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
9428                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
9429                         happens on hotplug if wpa_supplicant doesn't tear down and readd
9430                         the interface internally
9431
9432 2007-08-15  Dan Williams  <dcbw@redhat.com>
9433
9434         * src/nm-device-802-11-wireless.c
9435                 - (real_bring_down): move most of this function into device_cleanup()
9436                         so that it can be called from elsewhere
9437                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
9438                         and stuff on dispose.  These would normally get cleaned up when
9439                         the device is marked down and deactivated, but when the device is
9440                         hot-unplugged, it's already down and real_down() never gets run
9441
9442 2007-08-15  Dan Williams  <dcbw@redhat.com>
9443
9444         * src/nm-dbus-nmi.c
9445                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
9446                         caused a reference leak on device for which NM requested a key
9447
9448 2007-08-15  Dan Williams  <dcbw@redhat.com>
9449
9450         * libnm-glib/nm-client.c
9451                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
9452
9453 2007-08-15  Tambet Ingo  <tambet@gmail.com>
9454
9455         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
9456         nothing is using it at the moment, but it'll be all useful and stuff later on.
9457
9458         * libnm-util/nm-setting.h: Define NMSettingPPP.
9459
9460         * libnm-util/nm-setting.c: Implement NMSettingPPP.
9461
9462         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
9463
9464         * src/Makefile.am: Add ppp-manager to SUBDIRS.
9465
9466         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
9467
9468         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
9469
9470 2007-08-14  Tambet Ingo  <tambet@gmail.com>
9471
9472         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
9473
9474         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
9475         an issue with dbus-glib bindings generator. The issue is, the generated C caller
9476         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
9477         name and different arguments and it won't compile anymore. To fix this, we now have
9478         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
9479         that is new API + compatibility API and used by the daemon. The other, 
9480         nm-manager-client.xml is only the new API without compatibility bits and is used
9481         by libnm-glib to make it compile.
9482
9483         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
9484
9485         * src/nm-manager.c (impl_manager_legacy_sleep)
9486         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
9487         interface functions for 0.6 branch.
9488
9489 2007-08-14  Dan Williams  <dcbw@redhat.com>
9490
9491         * src/NetworkManagerAP.c
9492                 - (nm_ap_new_from_properties): fix mistaken check of return value
9493                         from memcmp (should expect 0)
9494
9495 2007-08-14  Dan Williams  <dcbw@redhat.com>
9496
9497         (force-commit to fix wrong comment and partial commit of r2685; this
9498          commit actually applies to r2685)
9499
9500         * src/NetworkManagerUtils.c
9501                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
9502                         ignores trailing nulls in the SSID to work around mismatches in
9503                         expectations between WEXT and what the info-daemon passes back.  The
9504                         info-daemon would pass back the correct length, but due to the
9505                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
9506                         the device would always have an SSID + 1 depending on what versions
9507                         of wpa_supplicant, the kernel, and NM you have.  This was most often
9508                         visible by just quitting the applet and relaunching, which caused
9509                         NM to reassociated to the same network over again when reloading
9510                         the save networks.
9511
9512         * src/NetworkManagerPolicy.c
9513           src/NetworkManagerUtils.h
9514           src/nm-device-802-11-wireless.c
9515                 - Update for new parameter to nm_utils_same_ssid()
9516
9517 2007-08-14  Dan Williams  <dcbw@redhat.com>
9518
9519         * src/NetworkManagerAP.c
9520                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
9521                         I encountered a BSS that wasn't just hiding it's ESSID, it was
9522                         setting the BSSID to all 0s.  That confused the heck out of NM,
9523                         plus it's useless and probably out-of-spec.
9524
9525 2007-08-14  Dan Williams  <dcbw@redhat.com>
9526
9527         * callouts/Makefile.am
9528           src/dhcp-manager/nm-dhcp-manager.c
9529           src/dhcp-manager/nm-dhcp-manager.h
9530           src/dhcp-manager/Makefile.am
9531                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
9532
9533 2007-08-14  Dan Williams  <dcbw@redhat.com>
9534
9535         * src/dhcp-manager/nm-dhcp-manager.c
9536                 - (dhclient_run): don't pass -x to dhclient until we figure out if
9537                         it's really needed, get rid of unused xtra_args parameter
9538
9539 2007-08-14  Dan Williams  <dcbw@redhat.com>
9540
9541         * include/NetworkManagerVPN.h
9542           src/vpn-manager/nm-dbus-vpn.c
9543           src/vpn-manager/nm-dbus-vpn.h
9544           src/vpn-manager/nm-vpn-act-request.c
9545           src/vpn-manager/nm-vpn-act-request.h
9546           src/vpn-manager/nm-vpn-service.c
9547           src/vpn-manager/nm-vpn-service.h
9548           libnm-glib/nm-vpn-connection.c
9549           libnm-glib/nm-vpn-connection.h
9550           libnm-glib/nm-client.h
9551                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
9552                         NMVPNServiceState to clarify what they apply to
9553                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
9554                         NMVPNActStage -> NMVPNConnectionState for the same reason
9555
9556         * libnm-glib/nm-client.c
9557                 - Constant + type renames from above
9558                 - Properly handle NameOwnerChanged/manager_running signals
9559                         for NM service; only emit when state really changes
9560                 - Use hash tables correctly so that the key (which was previously owned
9561                         by the D-Bus message) now has the same lifetime as the value, since
9562                         the key is now taken from the the NMVPNConnection itself.  This
9563                         really fixes the double-VPN names in the applet
9564
9565 2007-08-13  Dan Williams  <dcbw@redhat.com>
9566
9567         Patch from Michael Biebl <biebl@debian.org>
9568
9569         * po/POTFILES.in
9570           po/POTFILES.skip
9571                 - Update for vpn-properties move
9572
9573 2007-08-13  Dan Williams  <dcbw@redhat.com>
9574
9575         * libnm-glib/nm-client.c
9576                 - Convert internal VPN connection tracking from a list to a hash table
9577                         to easily avoid duplicates
9578                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
9579                         must be freed by the caller, like nm_client_get_devices()
9580                 - (nm_client_remove_vpn_connection): don't let the removal signal
9581                         leak through for NMVPNConnection objects that aren't actually
9582                         tracked.
9583                 - (manager_running): throw away VPN connection list when NM goes away,
9584                         like with the device list
9585
9586 2007-08-13  Dan Williams  <dcbw@redhat.com>
9587
9588         * src/dhcp-manager/nm-dhcp-manager.c
9589                 - Stop any dhclient instance that might be already running for a
9590                         particular interface before starting an NM spawned dhclient.  Fixes
9591                         dhclient processes left over if NM crashes, stuff like that.
9592
9593 2007-08-13  Dan Williams  <dcbw@redhat.com>
9594
9595         * src/NetworkManagerAP.c
9596                 - (finalize): don't try to g_array_free (NULL, ...), which happened
9597                         when the AP wasn't broadcasting it's SSID
9598
9599 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
9600
9601         * include/NetworkManager.h: added DBus path for connection settings.
9602
9603         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
9604         nm_connection_settings_signal_updated,
9605         nm_connection_settings_signal_removed): new functions to wrap the
9606         objects' signals.
9607         (nm_connection_settings_init): register GObject with DBus.
9608         (nm_connection_settings_get_dbus_object_path): new function.
9609
9610         * libnm-glib/Makefile.am: added libnmutil to link flags.
9611
9612 2007-08-13  Tambet Ingo  <tambet@gmail.com>
9613
9614         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
9615
9616         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
9617         libnm_glib directory got merged with libnm-glib/.
9618
9619         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
9620
9621         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
9622         Rename the library from libnm-glib to libnm_glib to maintain the library API
9623         compatibility with 0.6 branch.
9624
9625         * Makefile.am: Remove gnome/ SUBDIR.
9626
9627         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
9628
9629         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
9630
9631         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
9632
9633         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
9634         anymore.
9635         Remove checks for wpa_supplicant binary, it's used over dbus.
9636         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
9637
9638         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
9639         Link the binaries with libnm_glib.la.
9640
9641 2007-08-12  Dan Williams  <dcbw@redhat.com>
9642
9643         * src/NetworkManagerPolicy.c
9644                 - (nm_policy_device_change_check): fix policy to deactivate old device
9645                         before activating new one, at least until the multiple active
9646                         device support lands
9647
9648 2007-08-12  Dan Williams  <dcbw@redhat.com>
9649
9650         * src/NetworkManagerPolicy.c
9651                 - (nm_policy_new): hook up to connection-added / connection-removed
9652                         signals instead of connections-changed
9653
9654 2007-08-12  Dan Williams  <dcbw@redhat.com>
9655
9656         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
9657         Robert Frank <rfrank@redhat.com>
9658
9659         * src/dhcp-manager/nm-dhcp-manager.c
9660           src/dhcp-manager/nm-dhcp-manager.c
9661           src/nm-device.c
9662                 - Spawn and communicate with dhclient directly, through means of a
9663                 custom dhclient callout script.  Process callout D-Bus signals
9664                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
9665                 sent via gobject signals rather than being driven by the dhcp manager
9666                 directly.
9667
9668 2007-08-12  Dan Williams  <dcbw@redhat.com>
9669
9670         * callouts/nm-dhcp-client-action.c
9671                 - (build_message): ignore non-DHCP-related environment variables
9672
9673 2007-08-12  Dan Williams  <dcbw@redhat.com>
9674
9675         * Makefile.am
9676           configure.in
9677           callouts/Makefile.am
9678           callouts/nm-dhcp-client-action.c
9679           callouts/nm-dhcp-client.conf
9680                 - Add dhclient-executed callout that takes the place of dhclient-script
9681                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
9682                 NM then listens for
9683
9684 2007-08-09  Tambet Ingo  <tambet@gmail.com>
9685
9686         [Based on patch by Helmut Schaa <hschaa@suse.de>]
9687
9688         * libnm-glib/nm-client.h:
9689         * libnm-glib/nm-object.h:
9690         * libnm-glib/nm-vpn-connection.h:
9691         * libnm-glib/nm-settings.h:
9692         * libnm-glib/nm-device.h:
9693         * libnm-glib/nm-ip4-config.h:
9694         * libnm-glib/nm-access-point.h:
9695         * libnm-glib/nm-device-802-3-ethernet.h:
9696         * libnm-util/nm-setting.h: 
9697         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
9698
9699         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
9700
9701         * libnm-glib/nm-access-point.c: Strength has type char.
9702
9703         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
9704         to fix build. GnomeDruid is deprecated in recent libgnomeui.
9705
9706         * introspection/nm-access-point.xml: Strength property is char, not int.
9707
9708         * src/NetworkManagerAP.c (set_property): Set strength from char.
9709         (get_property): Handle hidden APs (with empty SSID).
9710         Get strength value from char.
9711         (nm_ap_class_init): Strength property has char type.
9712
9713 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
9714
9715         * introspection/Makefile.am:
9716         * introspection/nm-settings.xml:
9717         * introspection/nm-settings-connection.xml: added Settings interfaces.
9718
9719         * libnm-glib/nm-settings.[ch]:
9720         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
9721         containing the DBus implementation.
9722
9723 2007-07-26  Dan Williams  <dcbw@redhat.com>
9724
9725         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
9726
9727         * src/NetworkManagerSystem.c
9728                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
9729                         same subnet (#437396)
9730
9731 2007-07-26  Dan Williams  <dcbw@redhat.com>
9732
9733         Patch from Kelemen Gábor <kelemeng@gnome.hu>
9734
9735         * gnome/vpn-properties/nm-vpn-properties.c
9736                 - Fix translatable strings (#445865)
9737
9738 2007-07-26  Dan Williams  <dcbw@redhat.com>
9739
9740         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
9741
9742         * configure.in
9743                 - Remove useless junk (#412530)
9744
9745 2007-07-10  Christopher Aillon  <caillon@redhat.com>
9746
9747         Patch from Robert Buchholz <rbu@gentoo.org>:
9748
9749         * configure.in:
9750         * Makefile.am:
9751         * introspection/Makefile.am:
9752         Make make distcheck work again.
9753
9754 2007-06-27  Dan Williams  <dcbw@redhat.com>
9755
9756         * Make SSIDs GByteArrays everywhere
9757         * Rename "essid" -> "ssid" everywhere that's appropriate
9758         * Refcount activation_ap member of the 802.11 wireless device class
9759
9760 2007-06-27  Tambet Ingo  <tambet@ximian.com>
9761
9762         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
9763
9764 2007-06-22  Tambet Ingo  <tambet@ximian.com>
9765
9766         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
9767         that we got a new AP when we just update existing AP properties.
9768
9769 2007-06-21  Tambet Ingo  <tambet@ximian.com>
9770
9771         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
9772
9773         * nm-utils.[ch]: Remove.
9774
9775         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
9776         objects for easy property access and dbus connection handling.
9777
9778         * libnm-glib/nm-client.c: Derive from NMObject.
9779
9780         * libnm-glib/nm-device.c: Ditto.
9781
9782         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
9783
9784         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
9785
9786         * libnm-glib/nm-ip4-config.c: Ditto.
9787
9788         * libnm-glib/nm-access-point.c: Ditto.
9789
9790         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
9791         comparision. Currently used by the device activation code to determine if the new
9792         activation is the same as the old one.
9793
9794         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
9795         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
9796         able to ask password for the AP.
9797
9798         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
9799         up if the device is already connected, tear down it's connection (if it isn't the
9800         same as new one) and start the activation.
9801
9802         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
9803
9804         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
9805         the issue where all APs are always listed as encrypted.
9806
9807         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
9808         their own registered paths.
9809
9810         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
9811         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
9812
9813 2007-06-13  Tambet Ingo  <tambet@ximian.com>
9814
9815         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
9816         (0 & 0 == 0, doh)
9817
9818         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
9819         because the handling code will cause the next state change and signal listeners
9820         get the signals in wrong order.
9821
9822         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
9823         correctly in case of pending activation.
9824
9825         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
9826         Convert the essid byte array to string correctly, including the terminating NULL.
9827
9828         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
9829         mode with correct types.
9830
9831         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
9832         constructed info to dbus call instead of the activation request.
9833
9834 2007-06-11  Christopher Aillon  <caillon@redhat.com>
9835
9836         Patch from Christian Persch <chpe@gnome.org>
9837
9838         * libnm-glib/Makefile.am:
9839         * dispatcher-daemon/Makefile.am:
9840         Use the correct variables, the correct paths, and correct ordering. (446315)
9841
9842 2007-06-11  Tambet Ingo  <tambet@ximian.com>
9843
9844         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
9845         argument. The activation request is easy to retrieve.
9846
9847         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
9848         just to be a convenient location for devices to store random stuff.
9849
9850 2007-06-11  Christopher Aillon  <caillon@redhat.com>
9851
9852         Patch from Alex Smith <alex@alex-smith.me.uk>
9853
9854         * src/backends/NetworkManagerFrugalware.c:
9855         Update the FrugalWare backend to fix a few segfaults. (#392642)
9856
9857 2007-06-08  Tambet Ingo  <tambet@ximian.com>
9858
9859         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
9860
9861         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
9862         setting.
9863         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
9864
9865 2007-06-06  Tambet Ingo  <tambet@ximian.com>
9866
9867         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
9868         automagically.
9869         Implement NMSettingIP4Config.
9870         Finish NMSettingWired by adding all known members.
9871         (setting_wired_verify): Implement.
9872         Finish NMSettingWireless by adding all known members.
9873         (setting_wireless_verify): Implement.
9874
9875         * libnm-util/nm-connection.c: Register "ipv4" setting.
9876         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
9877         dump function, we can introspect the GHashTable which is used for sending connections
9878         over dbus.
9879
9880         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
9881         Take GByteArray for essid, it's really not a string.
9882
9883         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
9884         Start DHCP request if setting is not passed or if it states that DHCP should be used.
9885         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
9886         means overriding the values we got from DHCP.
9887         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
9888         (nm_device_deactivate_quickly): Ditto.
9889
9890         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
9891         for debugging.
9892
9893 2007-05-07  Tambet Ingo  <tambet@ximian.com>
9894
9895         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
9896         NMConnection.
9897
9898         * libnm-glib/nm-device-802-11-wireless.c:
9899         (nm_device_802_3_ethernet_activate): Remove.
9900
9901         * libnm-glib/nm-device-802-3-ethernet.c
9902         (nm_device_802_3_ethernet_activate): Remove.
9903
9904         * libnm-glib/nm-device.c (nm_device_activate): Implement.
9905
9906         * src/nm-device-802-3-ethernet.c: Implement the new activation using
9907         NMConnection.
9908
9909         * src/nm-device-802-11-wireless.c: Store an activation AP once the
9910         activation has started.
9911         Implement the new activation using NMConnection.
9912
9913         * src/nm-activation-request.c: Store a generic connection object instead
9914         of a wireless-specific AP.
9915
9916         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
9917         on device type, create a device specific connection object suitable for
9918         device activation.
9919
9920         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
9921         specific check to validate the connection and on success start the
9922         activation.
9923
9924         * src/nm-device-interface.h: Add a activate virtual function to the
9925         interface definition.
9926
9927         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
9928         (impl_device_activate): Implement.
9929
9930         * introspection/nm-device.xml: Add a generic device activation interface
9931         that accepts an abstract NMConnection structure that has device-specific
9932         information in it.
9933
9934         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
9935         activation interface.
9936
9937         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
9938         activation interface.
9939
9940         * libnm-util/nm-connection.c: 
9941         * libnm-util/nm-connection.h: 
9942         * libnm-util/nm-setting.c:
9943         * libnm-util/nm-setting.h: Add.
9944
9945         * libnm-util/Makefile.am: Build the added files.
9946
9947         * src/nm-dbus-manager.c
9948         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
9949         DbusConnection argument from 'name-owner-changed' signal. The manager
9950         is already passed as a first argument to the signal and the connection
9951         is easy enough to get from it.
9952
9953         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
9954         Update the signature of the function.
9955
9956         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
9957         Ditto.
9958
9959         * src/NetworkManager.c: Ditto.
9960
9961         * src/named-manager/nm-named-manager.c
9962         (nm_named_manager_name_owner_changed): Ditto.
9963
9964         * src/supplicant-manager/nm-supplicant-manager.c
9965         (nm_supplicant_manager_name_owner_changed): Ditto.
9966
9967         * src/nm-hal-manager.c (name_owner_changed): Ditto.
9968
9969         * src/dhcp-manager/nm-dhcp-manager.c
9970         (nm_dhcp_manager_name_owner_changed): Ditto.
9971
9972         * src/nm-hal-manager.c: Add a list of device detectors and creators
9973         to make it easier to add new devices. Each device type has it's own
9974         entry in the table so adding new device types is only a matter of
9975         implementing a couple of functions, one for device detection and the
9976         other for device creation.
9977
9978 2007-04-25  Dan Williams  <dcbw@redhat.com>
9979
9980         * initscript/RedHat/NetworkManager.in: remove trailing backslash
9981                 (gnome.org #432401)
9982
9983 2007-03-30  Dan Williams  <dcbw@redhat.com>
9984
9985         * src/NetworkManagerSystem.c
9986                 - (nm_system_device_set_ip4_route): clean up and fix argument
9987                         to nm_dev_sock_open()
9988
9989 2007-03-28  Tambet Ingo  <tambet@ximian.com>
9990
9991         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
9992         data to correct types instead of always using string.
9993
9994         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
9995         _not_ have NM_802_11_CAP_PROTO_NONE.
9996         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
9997         is not set.
9998
9999 2007-03-27  Tambet Ingo  <tambet@ximian.com>
10000
10001         * libnm-glib/Makefile.am: Fix the build issue.
10002
10003 2007-03-26  Tambet Ingo  <tambet@ximian.com>
10004
10005         * libnm-glib/nm-vpn-connection.h: 
10006         * libnm-glib/nm-vpn-connection.c: Implement.
10007
10008         * libnm-glib/nm-client.c: Add VPN support.
10009
10010         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
10011         handler for VPN.
10012
10013         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
10014         on DBUS again.
10015
10016 2007-03-26  Dan Williams  <dcbw@redhat.com>
10017
10018         * src/NetworkManagerAPList.c
10019         * src/nm-device-802-11-wireless.c
10020         * src/NetworkManagerAP.c:
10021                 - Store last seen as glong instead of GTimeVal.
10022                 - Fix the upper bound of capabilities, it's a bitfield.
10023
10024 2007-03-16  Tambet Ingo  <tambet@ximian.com>
10025
10026         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
10027
10028         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
10029         "manager-running" signal that notifies the appearance/disappearance of NM.
10030         (nm_client_sleep): Implement.
10031
10032         * libnm-glib/nm-device.c:
10033         * libnm-glib/nm-device-802-11-wireless.c: 
10034         * libnm-glib/nm-device-802-3-ethernet.c: 
10035
10036         Don't inherit from DBusGProxy, add a proxy to private
10037         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
10038         for anything but their own dbus interface. DBusGProxy objects support only one
10039         interfaces and to work around this, NMDevice has spearate proxy for each dbus
10040         interface. The nice side effect of this change is that we do not create a new
10041         DBusGProxy object for each property access.
10042
10043 2007-03-15  Tambet Ingo  <tambet@ximian.com>
10044
10045         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
10046         with zeroes before passing them to functions - the functions never do that and
10047         reading the values back may produce wrong values.
10048         (real_bring_up): Store the signal handler id ...
10049         (real_bring_down): ... So that it can be removed here.
10050         Disconnect the supplicant interface here as well.
10051         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
10052         from the access point instead of old $device/Networks/$essid.
10053
10054         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
10055         device state is connected (instead of just having link/carrier).
10056
10057         * src/nm-activation-request.c: Don't store NMData in activation request, it's
10058         already easily accessible through the device.
10059
10060         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
10061         store it within the object.
10062         (nm_ap_get_dbus_path): Export it to public as well.
10063
10064         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
10065         of the singleton.
10066
10067 2007-03-12  Dan Williams  <dcbw@redhat.com>
10068
10069         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
10070         for non-carrier-detect capable devices, and useless for carrier-detect
10071         devices since we get notifications from netlink about carrier status anyway.
10072
10073         * src/nm-device-802-3-ethernet.c
10074                 - remove 'link_source_id' member from private data
10075                 - (probe_link): remove and collapse into real_update_link()
10076                 - (nm_device_802_3_periodic_update): remove
10077                 - (real_is_up): check for sup_iface rather than link_source_id
10078                 - (real_bring_up): return gboolean for success/fail; require that
10079                         sup_iface be valid for device bringup to succeed
10080                 - (real_bring_down): zero out link signal ids
10081
10082         * src/nm-device.c
10083                 - (nm_device_activate_stage2_device_config): fail activation if device
10084                         bringup fails
10085                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
10086                         fails
10087                 - (nm_device_bring_up): return success/fail
10088
10089         * src/nm-device.h
10090                 - bring_up now returns success/fail
10091
10092         * src/nm-device-802-11-wireless.c
10093                 - (real_bring_up): return success from bringup
10094
10095 2007-03-07  Dan Williams  <dcbw@redhat.com>
10096
10097         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
10098         * src/nm-ap-security-wpa-psk.c
10099                 - (real_write_supplicant_config): work with PSKs that may contain
10100                         zeros in the binary format rather than treating it as a string
10101
10102 2007-03-02  Tambet Ingo  <tambet@ximian.com>
10103
10104         * libnm-glib/nm-device-802-11-wireless.c
10105         (nm_device_802_11_wireless_get_capabilities): Implement.
10106
10107         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
10108
10109         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
10110
10111         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
10112         reply only if it's not NULL. Not sure why this started happening right now.
10113
10114         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
10115         code paths for when devices get removed on shutdown or when a device is just
10116         removed.
10117         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
10118         gets freed so any signal from a device (disconnected for instance) would invoke
10119         NMState update which would crash.
10120         (nm_manager_remove_device): Bring the device down when it gets removed.
10121
10122         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
10123         the unused dev_type.
10124
10125         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
10126         reference to the added device, NMManager will own it (if it wants).
10127
10128         * test/nm-tool.c: Rewrite using libnm-glib.
10129
10130         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
10131         We get signalled when it changes.
10132
10133         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
10134         when it changes.
10135
10136         * libnm-glib/nm-device.c: Cache the device state property.
10137
10138         * libnm-glib/nm-access-point.c: Cache the strength property.
10139
10140         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
10141         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
10142         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
10143         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
10144         the device is down, activating, or activated (in case of A/B/G cards).
10145         Remove some old dead ifdef'ed out code that used to configure wireless devices,
10146         it's all done through supplicant now.
10147
10148         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
10149         counting issues with pending calls which caused leaks and crashes when
10150         interface was removed (now that the interface actually gets removed).
10151
10152         * src/nm-call-store.c: Make a copy of data before running a foreach
10153         with user callback on it - The most common usage pattern is to cancel
10154         (and thus remove) all pending calls with foreach which would modify
10155         the hash table we're iterating over.
10156
10157         * src/nm-manager.c: When a device is added, make sure it is "up". When
10158         it's removed or disabled due to disabling wireless or networking, bring
10159         it down.
10160
10161         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
10162
10163         * src/nm-device-802-11-wireless.c: 
10164         * src/nm-device-802-3-ethernet.c: 
10165         * src/nm-device.c:
10166                 - Remove "init" virtual function, all gobjects have a place for that
10167                   already (constructor).
10168                 - Replace "start" virtual function with "bring_up", devices can be
10169                   brought up and down more than just on startup now.
10170                 - Add "is_up" virtual function.
10171                 - Implement one way to bring a device down instead of previous 4 different
10172                   ways, each of witch did something different.
10173
10174         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
10175         all it needs is the device interface.
10176
10177         Get rid of NMData.dev_list (3 members to go).
10178         Get rif of NMData in a lot of places.
10179
10180         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
10181
10182 2007-02-23  Dan Williams  <dcbw@redhat.com>
10183
10184         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
10185
10186         * src/NetworkManagerAP.c
10187                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
10188                         OR-ing rather than AND-ing
10189
10190 2007-02-20  Tambet Ingo  <tambet@ximian.com>
10191
10192         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
10193         "network-removed" signals.
10194
10195         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
10196
10197         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
10198         when receiving the signal from dbus.
10199
10200         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
10201         property.
10202
10203         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
10204         deactivation of the previously activated device working again.
10205
10206         * src/nm-activation-request.c: Remove NMActStage property and it's getter
10207         and setter.
10208
10209         * src/nm-device.c (nm_device_is_activated): Remove.
10210         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
10211
10212         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
10213         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
10214         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
10215         NM_DBUS_SIGNAL_STATE_CHANGE signal.
10216         Remove NMNetworkStatus and NMActStage enums.
10217
10218 2007-02-19  Tambet Ingo  <tambet@ximian.com>
10219
10220         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
10221         Handle device state changes and disconnect VPN if it's device deactivates.
10222
10223         * src/nm-dbus-nm.c: 
10224         * src/nm-dbus-nm.h: 
10225         * src/nm-dbus-device.c: 
10226         * src/nm-dbus-device.c: 
10227         * src/nm-dbus-net.c: 
10228         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
10229
10230         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
10231
10232         * src/nm-device.c (nm_device_get_by_udi):
10233         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
10234         implemented in the correct location (NMManager).
10235         Rip out all the test_device stuff.
10236
10237         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
10238         failure handlers, it's all done by NMDevice already.
10239
10240         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
10241         Remove the iochannel hack to route the unix signals to the main thread since
10242         we're not threaded anymore.
10243
10244         * src/NetworkManagerAP.c: Implement HWAddress property.
10245
10246         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
10247         automatically with dbus-glib.
10248
10249         * src/nm-netlink-monitor.c: 
10250         * src/nm-netlink-monitor.h:
10251                 - Move it low in the class hierarchy, don't reference any NM types.
10252                 - Remove private data from the header.
10253                 - Use type safe checks in public API methods.
10254                 - Make it a singleton so we don't have to pass the single reference around.
10255
10256 2007-02-16  Tambet Ingo  <tambet@ximian.com>
10257
10258         * introspection/nm-ip4-config.xml: Implement.
10259
10260         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
10261
10262         * libnm-glib/nm-ip4-config.c:
10263         * libnm-glib/nm-ip4-config.c: Implement.
10264
10265         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
10266         securities. APs reference security.
10267
10268         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
10269         be exported over DBUS.
10270
10271         * src/nm-device-802-3-ethernet.c: Ditto.
10272
10273         * src/NetworkManagerAP.c:
10274         * src/NetworkManagerAP.h:
10275                 - Convert to GObject, export over DBUS.
10276
10277         * src/nm-ip4-config.h:
10278         * src/nm-ip4-config.h:
10279                 - Convert to GObject, export over DBUS.
10280
10281 2007-02-12  Dan Williams  <dcbw@redhat.com>
10282
10283         Patch from Helmut Schaa <hschaa@suse.de>
10284
10285         * vpn-daemons/pptp/configure.in
10286           vpn-daemons/pptp/Makefile.am
10287           vpn-daemons/openvpn/configure.in
10288           vpn-daemons/openvpn/Makefile.am
10289           vpn-daemons/vpnc/configure.in
10290           vpn-daemons/vpnc/Makefile.am
10291                 - Add --without-gnome switch which disables building gnome bits
10292
10293 2007-02-12  Tambet Ingo  <tambet@ximian.com>
10294
10295         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
10296
10297         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
10298
10299         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
10300         'HwAddress'.
10301
10302         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10303
10304         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10305
10306         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10307
10308         * src/:
10309                 - Remove old low-level dbus interface implementations and replace them
10310                   with dbus-glib one.
10311
10312         * configure.in:
10313                 - Require dbus-glib >= 0.72.
10314                 - Plug in new sources to build.
10315
10316         * libnm-glib/:
10317                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
10318                   to make it more convenient to use from GObject based programs.
10319
10320         * introspection/:
10321                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
10322
10323 2007-02-09  Tambet Ingo  <tambet@ximian.com>
10324
10325         * src/nm-device-802-11-wireless.c:
10326                 - Add "network-added" and "network-removed" signals.
10327                 - Use gobject boilerplate macros to define the GObject.
10328                 - Implement wireless device activation.
10329                 - Remove activation_failure_handler and activation_success_handler
10330                   and instead listen on state-changed signals and run the same code
10331                   from there.
10332
10333         * src/nm-device.c:
10334                 - Implment NMDeviceInterface::deactivate.
10335                 - Remove activation_failure_handler and activation_success_handler
10336                   virtual methods. Each device which is interested in these events
10337                   can just listen on it's state changed signals.
10338
10339         * src/NetworkManagerPolicy.c:
10340                 - Move a bit more NMData usage to NMManager.
10341                 - Remove activation scheduling bits.
10342                 - Add listeners for wireless device's "network-added" and
10343                   "network-removed" signals.
10344                 - Listen device changed signals and deactivate currently activated
10345                   device when another device start activating (for now).
10346                 - Remove (nm_policy_schedule_device_change_check): There's never a need
10347                   for calling this, the policy code knows exactly when this should happen,
10348                   by listening on events from NMManager and NMDevices.
10349
10350         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
10351         Implement.
10352
10353         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
10354         method on the specific device instead of going to through policy code
10355         and determining the device type by passed in AP's existance.
10356
10357         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
10358         abstract NMDevice deactivation.
10359
10360 2007-02-08  Tambet Ingo  <tambet@ximian.com>
10361
10362         * src/NetworkManager.c:
10363                 - Set up all the shiny new managers.
10364
10365         * src/NetworkManagerPolicy.c:
10366                 - Add the beginnings of new NMPolicy code. Instead of requireing all
10367                   classes to call into policy code, make the policy code kind of like
10368                   a supervisor that monitors what's going on and drives the whole NM.
10369
10370         * src/nm-hal-manager.c: 
10371         * src/nm-hal-manager.h:
10372                 - Collect all libhal code scattered around NM to this one class.
10373                 - Listen libhal and NMManager events and add/remove devices to
10374                   NMManager.
10375
10376         * src/nm-manager.c:
10377         * src/nm-manager.h:
10378                 - Implment a replacement for NMData. NMData is now officially
10379                 deprecated.
10380
10381 2007-02-05  Tambet Ingo  <tambet@ximian.com>
10382
10383         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
10384         * src/supplicant-manager/nm-supplicant-interface.h
10385         * src/supplicant-manager/nm-supplicant-interface.c
10386         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
10387         argument to boolean from enum.
10388
10389         Make NMDevice abstract class, remove almost all references to it's
10390         subclasses (the last place gets removed with new policy manager). Add
10391         NMDeviceInterface (which NMDevice implements) so that when we have
10392         NMDevice exported over DBUS, there's a common NMDevice interface which
10393         all instances have, plus there's a device specific interface for each
10394         specific type.
10395         Remove functions (nm_device_is_802_3_ethernet) and
10396         (nm_device_is_802_11_wireless). There are already standard GObject macros
10397         for type safe checks.
10398         Use the updated supplican manager API.
10399
10400         * src/nm-device-interface.h: 
10401         * src/nm-device-interface.c: 
10402         * src/nm-call-store.h: 
10403         * src/nm-call-store.c: Implement.
10404
10405         * src/supplicant-manager/nm-supplicant-interface.c:
10406         * src/supplicant-manager/nm-supplicant-interface.h:
10407         * src/supplicant-manager/nm-supplicant-manager.c:
10408         * src/supplicant-manager/nm-supplicant-manager.h:
10409                 - Remove all private data type references from public header files.
10410                 - Remove all references to other NM classes, this class is just a
10411                   proxy between wpa_supplicant and NM so it doesn't have to know
10412                   any internals.
10413                 - Convert to dbus-glib bindings.
10414                 - Type safe checks for public methods' arguments.
10415                 - Store pending DBUS call ids to NMCallStore.
10416
10417         * src/supplicant-manager/nm-supplicant-config.c:
10418                 - Store config values in a GHashTable instead of GSList.
10419
10420         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
10421
10422         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
10423         singleton now.
10424
10425         * src/nm-device.c: Use the new DHCP manager API.
10426
10427         * src/nm-activation-request.c:
10428         * src/nm-activation-request.h:
10429                 - Remove all dhcp related properties and methods.
10430
10431         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
10432
10433         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
10434
10435         * src/dhcp-manager/nm-dhcp-manager.c:
10436         * src/dhcp-manager/nm-dhcp-manager.h:
10437                 - Convert it to GObject since we need to signal state changes.
10438                 - Remove all references to other NM classes, this class is one
10439                   of the lowest classes in our hierarchy.
10440                 - One less class to use NMActRequest.
10441                 - Make it singleton, one less user of NMData.
10442                 - Remove a couple of sleep() calls.
10443                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
10444                   One less class to use the NM's custom tailored signal handlig.
10445
10446         * Makefile.am: Generate marshallers, add them to build.
10447
10448 2007-02-02  Dan Williams  <dcbw@redhat.com>
10449
10450         * configure.in
10451           gnome/Makefile.am
10452           nm-applet.desktop
10453           Makefile.am
10454                 - Remove last bits referencing gnome applet
10455
10456 2007-02-02  Dan Williams  <dcbw@redhat.com>
10457
10458         * src/vpn-manager/nm-vpn-service.c
10459                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
10460                         and NBNS server addresses
10461
10462 2007-02-02  Tambet Ingo  <tambet@ximian.com>
10463
10464         * src/nm-dbus-manager.c:
10465         * src/nm-dbus-manager.h:
10466                 - Convert all internal DBUS code to use dbus-glib bindings.
10467                 - Remove GObject properties, we don't need them here.
10468                 - Don't explicitly set things to NULL after freeing, glib is
10469                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
10470                 - Make public API argument checks type safe.
10471                 - Remove unnecessary (and wrong) cast to GObject for the first
10472                   argument to g_signal_* calls - The first argument is a gpointer.
10473                 - Export DBusGConnection to other cool classes that (are going to)
10474                   use dbus-glib.
10475
10476 2007-01-26  Dan Williams  <dcbw@redhat.com>
10477
10478         * libnm-util/dbus-dict-helpers.c
10479           libnm-util/dbus-dict-helpers.h
10480                 - Coordinate style with wpa_supplicant version to minimize diff
10481                 - Add uint32 array support
10482                 - (nmu_dbus_dict_append_uint32_array): new function
10483                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
10484                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
10485                         version; allow adding string array elements individually
10486
10487         * test/libnm-util/test-dbus-dict-helpers.c
10488                 - Test uint32 arrays
10489
10490 2007-01-27  Jürg Billeter  <j@bitron.ch>
10491
10492         * src/backends/NetworkManagerPaldo.c
10493                 - (nm_system_update_dns): clear nscd hosts cache
10494
10495 2007-01-04  Dan Williams  <dcbw@redhat.com>
10496
10497         Threading removal related cleanups:
10498
10499         - Use the glib default main context.  Remove the device main context
10500                 member from NMDevice, and the main_context member from NMData.  Change
10501                 all the idle and timeout scheduler functions to use plain
10502                 g_idle_add() and g_timeout_add().
10503
10504         - As a side-effect of the first change, nm_dbus_manager_get() no longer
10505                 takes an argument; fix that up too.
10506
10507         - Remove all locking, which is useless since we no longer use threads.  For
10508                 example, nm_get_device_by_iface_locked() has been removed.  The global
10509                 device list lock, the AP List lock, and all static locks in
10510                 NetworkManagerPolicy.c have been removed.  The locking utility functions
10511                 in NetworkManagerUtils.c have also been removed.
10512
10513         - Other cleanups in spacing and code style
10514
10515 2007-01-01  Dan Williams  <dcbw@redhat.com>
10516
10517         Found by Bill Moss:
10518
10519         * src/supplicant-manager/nm-supplicant-interface.c
10520                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
10521                         the supplicant interface wasn't already disconnected.  Always
10522                         call removeNetwork and disconnect unless the supplicant interface
10523                         is in the DISCONNECTED or INACTIVE state.
10524
10525 2006-12-28  Dan Williams  <dcbw@redhat.com>
10526
10527         Use a single thread for everything.  With the move to wpa_supplicant
10528         and communication over D-Bus, there's no reason for multiple threads.
10529         Almost all of the blocking code has been removed, with one exception in
10530         the DHCP manager and a few in the VPN manager.  This commit removes the
10531         per-device worker thread and fixes activation cancellation in the absence
10532         of threads.  Further removal of thread-related code would be removing
10533         any locking code (like the device list lock) and simplification of logic
10534         around areas of code or data structures that are currently locked.
10535
10536         * autoip.c
10537           dhcp-manager/nm-dhcp-manager.c 
10538           nm-device-802-11-wireless.c
10539           nm-device-802-3-ethernet.c
10540           nm-device.c
10541           nm-device.h
10542                 - Remove usage of multiple threads
10543
10544 2006-12-19  Dan Williams  <dcbw@redhat.com>
10545
10546         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
10547         plus a few other patches from wpa_supplicant bugzilla.
10548
10549         * src/Makefile.am
10550           src/NetworkManagerPolicy.c
10551           src/NetworkManagerUtils.c
10552           src/NetworkManagerUtils.h
10553           src/nm-ap-security-leap.c
10554           src/nm-ap-security-wep.c
10555           src/nm-ap-security-wpa-eap.c
10556           src/nm-ap-security-wpa-psk.c
10557           src/nm-ap-security.c
10558           src/nm-ap-security.h
10559           src/nm-device-802-11-wireless.c
10560           src/nm-device-802-11-wireless.h
10561           src/supplicant-manager/nm-supplicant-config.c
10562           src/supplicant-manager/nm-supplicant-config.h
10563           src/supplicant-manager/nm-supplicant-interface.c
10564           src/supplicant-manager/nm-supplicant-interface.h
10565           src/supplicant-manager/nm-supplicant-marshal.list
10566           src/supplicant-manager/nm-supplicant-settings-verify.c
10567           src/supplicant-manager/nm-supplicant-settings-verify.h
10568                 - Move all connection management and association handling to
10569                         wpa_supplicant over dbus, rather than spawning a private copy
10570
10571 2006-12-19  Dan Williams  <dcbw@redhat.com>
10572
10573         * src/NetworkManagerPolicy.c
10574                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
10575                         better locking of the device change check handler ID.  Incorrect
10576                         locking was causing lost device change requests
10577
10578 2006-12-18  Dan Williams  <dcbw@redhat.com>
10579
10580         * libnm-util/dbus-dict-helpers.c
10581                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
10582                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
10583                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
10584
10585 2006-12-18  Dan Williams  <dcbw@redhat.com>
10586
10587         * gnome/libnm_glib/libnm_glib.c
10588                 - Change dbus_connection_close() -> dbus_connection_unref()
10589
10590 2006-12-11  Dan Williams  <dcbw@redhat.com>
10591
10592         * src/supplicant-manager/nm-supplicant-interface.c
10593                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
10594                         wpa_supplicant interface state
10595                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
10596                         state before transitioning to READY state
10597
10598 2006-12-04  Dan Williams  <dcbw@redhat.com>
10599
10600         * src/nm-device-802-11-wireless.c
10601                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
10602                         odd length of ESSID returned from ieee80211 stack-based drivers
10603
10604 2006-12-04  Dan Williams  <dcbw@redhat.com>
10605
10606         * src/nm-device-802-11-wireless.c
10607                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
10608                         IE handling blocks that cause mis-parsing of the IE
10609
10610 2006-12-04  Dan Williams  <dcbw@redhat.com>
10611
10612         * src/nm-device-802-11-wireless.c
10613                 - (init_supplicant_interface): new function; pull supplicant interface
10614                         setup code out into standalone function since it must be called from
10615                         two different places
10616                 - (real_init): sup_mgr is now in private object data; get and track
10617                         the supplicant manager object over the NMDevice subclass' lifetime
10618                         and register a signal handler for its state signals; only try to
10619                         initialize the supplicant interface if the supplicant manager is in
10620                         the IDLE state (and therefore is ready for requests)
10621                 - (request_wireless_scan): reschedule the scan request if (a) there is
10622                         no supplicant interface yet (meaning wpa_supplicant isn't running
10623                         or isn't ready yet), or (b) if the supplicant interface isn't ready
10624                         for requests yet
10625                 - (supplicant_iface_connection_state_cb): new function; stub for
10626                         handling supplicant interface connection state signals
10627                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
10628                         comes and goes
10629                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
10630                         supplicant manager object that's being tracked starting with this
10631                         commit
10632
10633 2006-12-04  Dan Williams  <dcbw@redhat.com>
10634
10635         * src/supplicant-manager/nm-supplicant-interface.c
10636                 - (nm_supplicant_interface_set_property): track signal handler ID
10637                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
10638
10639 2006-12-04  Dan Williams  <dcbw@redhat.com>
10640
10641         * src/supplicant-manager/nm-supplicant-interface.[ch]
10642                 - (nm_supplicant_interface_get_state): new function
10643
10644 2006-12-04  Dan Williams  <dcbw@redhat.com>
10645
10646         * src/supplicant-manager/nm-supplicant-interface.c
10647                 - (bssid_properties_cb): don't treat DBus errors as valid
10648                         scanned AP messages
10649
10650 2006-12-04  Dan Williams  <dcbw@redhat.com>
10651
10652         * src/supplicant-manager/nm-supplicant-interface.[ch]
10653                 - (nm_supplicant_interface_get_connection_state): new function
10654                 - define new supplicant connection states
10655                 - send a signal when the supplicant connection state changes
10656
10657 2006-12-03  Dan Williams  <dcbw@redhat.com>
10658
10659         * src/supplicant-manager/Makefile.am
10660           src/supplicant-manager/nm-supplicant-connection.h
10661           src/supplicant-manager/nm-supplicant-connection.c
10662           src/supplicant-manager/nm-supplicant-config.h
10663           src/supplicant-manager/nm-supplicant-config.c
10664           src/supplicant-manager/nm-supplicant-types.h
10665           src/supplicant-manager/nm-supplicant-interface.h
10666           src/supplicant-manager/nm-supplicant-interface.c
10667                 - Rename NMSupplicantConnection -> NMSupplicantConfig
10668
10669 2006-12-03  Dan Williams  <dcbw@redhat.com>
10670
10671         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
10672
10673         * po/POTFILES.in
10674           po/POTFILES.skip
10675                 - Move VPN-related translatables to .skip
10676
10677         * vpn-daemons/pptp/po/POTFILES.in
10678                 - Update with new translatables
10679
10680 2006-12-02  Dan Williams  <dcbw@redhat.com>
10681
10682         Patch from Christian Persch <chpe@gnome.org>
10683
10684         * gnome/applet/Makefile.am
10685           gnome/applet/applet-dbus-devices.c
10686           gnome/applet/applet-notifications.c
10687           gnome/applet/applet.c
10688           gnome/applet/applet.h
10689           gnome/applet/main.c
10690                 - Be a GtkStatusIcon on GTK+ >= 2.10
10691
10692 2006-12-02  Dan Williams  <dcbw@redhat.com>
10693
10694         * gnome/applet/applet.c
10695                 - (nma_update_info): fix two unecessary allocations
10696
10697 2006-12-02  Dan Williams  <dcbw@redhat.com>
10698
10699         Patch from Michael Biebl <biebl@teco.edu>
10700         * configure.in
10701           man/NetworkManager.1.in
10702           man/NetworkManagerDispatcher.1.in
10703           man/NetworkManager.8.in
10704           man/NetworkManagerDispatcher.8.in
10705                 - Add .SH NAME stanzas
10706                 - Move NM & NM Dispatcher manpages to section 8 (admin)
10707
10708 2006-12-02  Dan Williams  <dcbw@redhat.com>
10709
10710         Patch from Christian Persch <chpe@gnome.org>
10711
10712         * configure.in
10713                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
10714
10715 2006-11-29  Tambet Ingo  <tambet@ximian.com>
10716
10717         Patch by Timo Hoenig <thoenig@suse.de>:
10718         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
10719         DBUS-1.0.
10720
10721         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
10722         we can't use the one from the main source directory.
10723
10724 2006-11-27  Dan Williams  <dcbw@redhat.com>
10725
10726         Patch from Christian Persch <chpe@gnome.org>
10727
10728         * gnome/applet/applet-dbus-devices.c
10729                 - (hal_info_product_cb): fix memleak; free duped string.
10730                         Gnome.org #379908
10731
10732 2006-11-27  Dan Williams  <dcbw@redhat.com>
10733
10734         Patch from Christian Persch <chpe@gnome.org>
10735
10736         * gnome/applet/menu-items.c
10737                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
10738                         as gtk_progress_set_percentage is deprecated.  Should
10739                         work as far back as GTK+ 2.4.  Gnome.org #379780
10740
10741 2006-11-26  Dan Williams  <dcbw@redhat.com>
10742
10743         Scan using wpa_supplicant over DBus.
10744
10745         * src/nm-device-802-11-wireless.c
10746                 - remove wireless extensions netlink event handler bits
10747                         (wireless_event_helper, nm_device_802_11_wireless_event)
10748                 - remove wireless extensions scan event handler bits
10749                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
10750                         hex2byte, hex2num, request_and_convert_scan_results,
10751                         free_process_scan_cb_data, scan_results_timeout,
10752                         schedule_scan_results_timeout, cancel_scan_results_timeout)
10753                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
10754                         and request scans from the supplicant interface rather than directly
10755                 - Move functionality of convert_scan_results() to cull_scan_list() and
10756                         supplicant_iface_scanned_ap_cb()
10757                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
10758                         at the scan interval when the current scan has finished
10759                 - (supplicant_iface_state_cb): start scanning when the supplicant
10760                         interface enters the READY state, and stop scanning when it
10761                         enters the DOWN state
10762                 - (cull_scan_list): weed out old access points from the scan list
10763                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
10764                         point into an NMAccessPoint and merge it into the device's scan list
10765
10766         * src/supplicant-manager/nm-supplicant-interface.c
10767           src/supplicant-manager/nm-supplicant-interface.h
10768                 - Add a new signal "scan-result" which is issued when the supplicant
10769                         notifies NM that a scan has completed
10770                 - Add a new signal "scanned-ap" that notifies listeners of a new access
10771                         point found in the scan.  Called once for each access point that
10772                         the supplicant interface object receives from the supplicant as a
10773                         result of the "scanResults" method call
10774                 - (wpas_iface_query_scan_results): don't wait 4s before querying
10775                         for the initial scan results
10776                 - (scan_request_cb): new function; send listeners the result
10777                         (success, error) of a wireless scan request
10778                 - (nm_supplicant_interface_request_scan): new function; ask the
10779                         supplicant to perform an immediate wireless scan
10780
10781 2006-11-25  Dan Williams  <dcbw@redhat.com>
10782
10783         * src/supplicant-manager/Makefile.am
10784                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
10785                         add HAL cflags/includes and named-manager includes directory
10786
10787         * src/supplicant-manager/nm-supplicant-interface.h
10788                 - New state STARTING to handle transition from INIT to READY where
10789                         the addInterface pending call is still outstanding
10790
10791         * src/supplicant-manager/nm-supplicant-interface.c
10792                 - track pending calls differently since we may have more than one
10793                         going on at any given time
10794                 - request scan results from wpa_supplicant; but don't do it more often
10795                         than every 4 seconds.  Drivers that do background scanning
10796                         (like the 'ipw' drivers) send a continuous stream of scan completion
10797                         notifications, so we don't want to hammer the supplicant or dbus
10798                         with requests for all scan results every time we get a completion
10799                         notification.
10800
10801 2006-11-25  Dan Williams  <dcbw@redhat.com>
10802
10803         * src/supplicant-manager/nm-supplicant-types.h
10804                 - new file; move all supplicant manager object typedefs here for
10805                         #include sanity
10806
10807         * src/supplicant-manager/nm-supplicant-interface.c
10808           src/supplicant-manager/nm-supplicant-interface.h
10809                 - new file; an object that interfaces an NMDevice object to the
10810                         supplicant and handles signals from the supplicant.  This object
10811                         does all necessary DBus communication with wpa_supplicant.
10812
10813         * src/supplicant-manager/nm-supplicant-manager.c
10814           src/supplicant-manager/nm-supplicant-manager.h
10815                 - Actually do something.  Track the state of the wpa_supplicant service
10816                         and deal with its comings & goings.  Handle life events of
10817                         supplicant interfaces too.
10818                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
10819
10820         * src/supplicant-manager/nm-supplicant-connection.h
10821                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
10822
10823         * src/supplicant-manager/Makefile.am
10824                 - Add new files to build, and add libnm-util to includes
10825
10826         * src/nm-marshal.list
10827                 - New marshaler type: VOID:UINT,UINT
10828
10829         * src/nm-device-802-3-ethernet.c
10830                 - (real_init): grab a supplicant interface
10831                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
10832                 - (supplicant_iface_state_cb): new function, stub for handling
10833                         supplicant interface state changes
10834
10835         * src/nm-device-802-11-wireless.c
10836                 - (real_init): grab a supplicant interface
10837                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
10838                 - (supplicant_iface_state_cb): new function, stub for handling
10839                         supplicant interface state changes
10840
10841         * src/NetworkManager.c
10842                 - (main): create and keep the supplicant manager around for the lifetime
10843                         of NetworkManager
10844
10845         * src/Makefile.am
10846                 - Link to the supplicant manager sub-library and use the supplicant
10847                         manager includes
10848
10849 2006-11-25  Dan Williams  <dcbw@redhat.com>
10850
10851         Rework DBus manager signal handling to be more flexible.  Previously,
10852         only one signal handler could be registered for a particular interface.
10853         The DBus manager now reference counts DBus bus matches and allows multiple
10854         clients to register signal handlers for the same interface and sender.
10855
10856         * src/NetworkManager.c
10857                 - (main): track NMI signal handler ID and remove it when we quit
10858
10859         * src/NetworkManagerMain.h
10860                 - Keep track of NMI signal handler ID
10861
10862         * src/nm-dbus-manager.c
10863           src/nm-dbus-manager.h
10864                 - rework signal handling; each signal handler references one signal
10865                         match, but a signal match may be referenced by one or more
10866                         signal handlers.  Matches are refcounted and are destroyed when the
10867                         last signal handler that references the match is removed.  This is
10868                         necessary because two signal handlers may end up requiring the same
10869                         dbus bus match, so the match must live until the last signal handler
10870                         is destroyed (for example, with the wpa_supplicant network interface
10871                         dbus interface).
10872
10873         * src/dhcp-manager/nm-dhcp-manager.c
10874                 - (nm_dhcp_manager_new): track DHCP signal handler id
10875                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
10876
10877         * src/vpn-manager/nm-vpn-service.c
10878                 - (nm_vpn_service_add_watch): track VPN service signal handler id
10879                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
10880
10881 2006-11-25  Dan Williams  <dcbw@redhat.com>
10882
10883         Suggested by Helmut Schaa <hschaa@suse.de>
10884
10885         * src/vpn-daemons/nm-vpn-service.c
10886                 - (supplicant_child_setup): new function
10887                 - (supplicant_exec): make child process use a new process group id
10888
10889         * src/nm-device-802-11-wireless.c
10890                 - (nm_vpn_service_child_setup): new function
10891                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
10892                         process group id
10893
10894 2006-11-19  Dan Williams  <dcbw@redhat.com>
10895
10896         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
10897         * gnome/vpn-properties/nm-vpn-properties.c
10898                 - clean up after renamed VPN connection
10899
10900 2006-11-19  Dan Williams  <dcbw@redhat.com>
10901
10902         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
10903         * gnome/applet/applet-dbus-vpn.c
10904                 - (nma_dbus_vpn_properties_cb): sort VPN connections
10905
10906         * gnome/vpn-properties/nm-vpn-properties.c
10907                 - (init_app): sort VPN connections
10908
10909 2006-11-09  Dan Williams  <dcbw@redhat.com>
10910
10911         * src/NetworkManagerAPList.c
10912                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
10913                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
10914                 from the nm_ap_list_get_ap_by_address() call was incorrect and
10915                 broke hidden SSID matching.  Found by Bill Moss.
10916
10917 2006-10-25  Dan Williams  <dcbw@redhat.com>
10918
10919         * src/nm-dbus-nm.c
10920                 - (nm_dbus_nm_set_active_device): return an empty success message on
10921                         success, rather than falling through to the error case.
10922
10923 2006-10-25  Dan Williams  <dcbw@redhat.com>
10924
10925         * src/NetworkManagerUtils.c
10926                 - (nm_utils_supplicant_request_with_check): suppress messages for the
10927                         "SCAN" command
10928
10929 2006-10-24  Dan Williams  <dcbw@redhat.com>
10930
10931         Reduce the number of times the Gnome applet wakes up, especially when
10932         it's doing absolutely nothing and is hidden.  Initial patch by
10933         Chris Aillon.
10934
10935         * gnome/applet/applet-dbus.c
10936                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
10937                         kill the redraw timeout.  When NM starts up, start the redraw
10938                         timeout.  Also, if we get kicked off the bus for some reason,
10939                         start the reconnection timeout if one's not already running.
10940                 - (nma_dbus_init): better handling of error conditions, don't leak
10941                         a half-initialized dbus connection
10942                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
10943                         the applet's data, just call nm_dbus_init_helper()
10944                 - (nma_start_dbus_connection_watch): new function, starts a periodic
10945                         timeout that calls nma_dbus_connection_watcher()
10946                 - (nma_dbus_init_helper): if we get a successful connection, kill the
10947                         reconnection timeout, and don't start the reconnection timeout
10948                         unconditionally anymore
10949
10950         * gnome/applet/applet-dbus.h
10951                 - Expose nma_start_dbus_connection_watch()
10952
10953         * gnome/applet/applet.c
10954                 - (nma_update_state): no longer static, called from applet-dbus.c for
10955                         immediate UI updates on certain events
10956                 - (nma_set_running): new function; take over setting applet->running,
10957                         when not running (ie, NM is not active), don't activate the redraw
10958                         timeout because we're not showing the applet anyway.  When we are
10959                         running (ie, NM is active), and only when we're running, start the
10960                         redraw timeout.
10961                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
10962                         kill any reconnection timeout
10963                 - (nma_get_instance): move one-off dbus initialization code here since
10964                         nm_dbus_init_helper() gets called more than once, possibly by the
10965                         reconnection timeout function too.  And, when we start up, if we
10966                         can't get a connection to the bus, start the reconnection timeout.
10967                         But don't start the redraw timeout yet, only do that when we get
10968                         NM's state and find out if it's running or not.
10969
10970         * gnome/applet/applet.h
10971                 - Add the reconnection GSource ID
10972                 - Add prototypes for nma_set_running() and the no-longer-static
10973                         nma_update_state()
10974
10975 2006-10-24  Dan Williams  <dcbw@redhat.com>
10976
10977         * src/vpn-daemons/nm-dbus-vpnc.c
10978                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
10979                         pending call tracker
10980                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
10981                         pending call tracker; register one-vpn-connection update pending
10982                         call in pending call tracker
10983                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
10984                         update pending call in pending call tracker
10985                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
10986                         update pending call in pending call tracker; don't block waiting
10987                         for call to return
10988
10989 2006-10-19  Robert Love  <rml@novell.com>
10990
10991         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
10992           refresh the cache.
10993
10994 2006-10-14  Dan Williams  <dcbw@redhat.com>
10995
10996         * src/dhcp-manager/nm-dhcp-manager.c
10997                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
10998                 the dbus connection and the device object path rather than
10999                 constructing it inside both functions.  Saves a bit of memory
11000                 and clarifies a failure path.
11001                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
11002                 and allocate device path here rather than each of the two
11003                 functions above.
11004
11005 2006-10-13  Dan Williams  <dcbw@redhat.com>
11006
11007         * src/NetworkManager.c
11008                 - (nm_name_owner_changed_handler): handle NMI coming and going,
11009                 this somehow droppout in the refactor
11010
11011 2006-10-13  Dan Williams  <dcbw@redhat.com>
11012
11013         * Huge DBus refactor:
11014                 - Create a "DBus Manager" object which manages the connection and
11015                 sends signals on NameOwnerChanged and connection/disconnection events,
11016                 handles reconnection to the bus if NM gets kicked off, and abstracts
11017                 signal handling
11018                 - Remove DBusConnection members from places where they are no
11019                 longer needed due to the refactor, like the dbus-connection
11020                 property of the named manager, and from NMData
11021                 - Reformats a bunch of the code to gnome style
11022                 (8-space tabs, braces on same line as statement, 80-col width).
11023                 Consider it open season to reformat any bits to gnome style.
11024                 style that aren't already.
11025
11026 2006-10-13  Dan Williams  <dcbw@redhat.com>
11027
11028         * src/supplicant-manager/Makefile.am
11029                 - Add new files
11030
11031         * src/supplicant-manager/nm-supplicant-manager.[ch]:
11032                 - Make it a minimal GObject
11033
11034         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
11035                 - Verify settings destined for wpa_supplicant
11036
11037         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
11038                 - Minimal GObject to track wpa_supplicant controlled device
11039                 connections
11040
11041 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
11042
11043         * gnome/applet/applet.c: (nma_update_info),
11044         (nma_act_stage_to_pixbuf), (nma_update_state):
11045         Mark missing strings for translation. Fixes bug #343306.
11046
11047 2006-10-01  Dan Williams  <dcbw@redhat.com>
11048
11049         * src/vpn-manager/nm-vpn-manager.c
11050                 - (nm_vpn_manager_load_services): split and clean up
11051                 for readability and correctness.  Restrict VPN service
11052                 files to ending in ".name", as was meant from the
11053                 beginning (but not coded in).  Better error reporting.
11054
11055 2006-10-01  Dan Williams  <dcbw@redhat.com>
11056
11057         * utils/nm-utils.h
11058                 - Clean up formatting of debug/info/warning log messages
11059
11060 2006-09-27  Robert Love  <rml@novell.com>
11061
11062         Patch by Tambet Ingo <tambet@ximian.com>:
11063         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
11064           actually work.
11065
11066 2006-09-07  Dan Williams <dcbw@redhat.com>
11067
11068         * test/Makefile.am
11069           test/libnm-util/Makefile.am
11070           test/nm-supplicant-test.c
11071                 - Add test program emulating the way NM drives wpa_supplicant
11072                 to help debug supplicant issues
11073
11074 2006-08-24  Dan Williams <dcbw@redhat.com>
11075
11076         * configure.in
11077           src/Makefile.am
11078           src/supplicant-manager/Makefile.am
11079           src/supplicant-manager/nm-supplicant-manager.c
11080           src/supplicant-manager/nm-supplicant-manager.h
11081                 - Add skeleton bits of the wpa_supplicant manager
11082
11083 2006-08-24  Dan Williams <dcbw@redhat.com>
11084
11085         Patch from Ed Catmur:
11086         * src/NetworkManagerUtils.c
11087                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
11088                 if netmask is 0 (Gnome #352634)
11089
11090 2006-08-17  Robert Love  <rml@novell.com>
11091
11092         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
11093           package is now DBUS-enabled and listens for the NM signals.
11094
11095 2006-08-14  Dan Williams  <dcbw@redhat.com>
11096
11097         * Patch from Christian Persch <chpe gnome org>
11098         * configure.in
11099           po/LINGUAS
11100           vpn-daemons/openvpn/po/LINGUAS
11101           vpn-daemons/openvpn/configure.in
11102           vpn-daemons/pptp/po/LINGUAS
11103           vpn-daemons/pptp/configure.in
11104           vpn-daemons/vpnc/po/LINGUAS
11105           vpn-daemons/vpnc/configure.in
11106                 - Convert to LINGUAS method so translators don't have to modify
11107                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
11108                 0.35 or higher
11109
11110 2006-08-14  Dan Williams  <dcbw@redhat.com>
11111
11112         Patch from Alex Smith <alex.extreme2@gmail.com>
11113         * configure.in
11114           src/backends/Makefile.am
11115           src/backends/NetworkManagerFrugalware.c
11116                 - Add support for Frugalware
11117
11118 2006-08-13  Dan Williams  <dcbw@redhat.com>
11119
11120         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11121         * src/nm-device-802-11-wireless.c
11122                 - (supplicant_exec): spawn wpa_supplicant without debug spew
11123                 Gnome #346875
11124
11125 2006-08-13  Dan Williams  <dcbw@redhat.com>
11126
11127         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11128         * src/nm-ap-security.c
11129           src/nm-ap-security.h
11130                 - Add authentication_required bits for subclasses to specify whether
11131                 or not real authentication is required for connections, i.e. whether
11132                 the AP rejects us when an encryption key is wrong or not.
11133
11134         * src/nm-ap-security-wep.c
11135           src/nm-ap-security-wpa-eap.c
11136           src/nm-ap-security-wpa-psk.c
11137           src/nm-ap-security-leap.c
11138                 - Implement authentication_required appropriately for each method
11139
11140         * src/nm-device-802-11-wireless.c
11141                 - Be smarter about when to request a key; for example, using a wrong key
11142                 in WEP shared key mode previously just timed out and did not request
11143                 a new key
11144
11145 2006-08-13  Dan Williams  <dcbw@redhat.com>
11146
11147         * gnome/libnm_glib/libnm_glib.c
11148                 - dbus_connection_disconnect() -> dbus_connection_close() for
11149                 dbus >= 0.90
11150
11151 2006-08-07  Dan Williams  <dcbw@redhat.com>
11152
11153         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11154         * src/NetworkManagerSystem.c
11155                 - Respect specified MTU.  Gnome #344967
11156
11157 2006-08-07  Dan Williams  <dcbw@redhat.com>
11158
11159         * src/vpn-manager/nm-vpn-service.c
11160                 - Simplify print_vpn_config() arguments
11161
11162         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11163         * src/vpn-manager/Makefile.am
11164           src/vpn-manager/nm-vpn-service.c
11165                 - Add new API for passing VPN config options as a dict. Gnome #344967
11166
11167 2006-08-06  Dan Williams  <dcbw@redhat.com>
11168
11169         * gnome/applet/applet-dbus-devices.c
11170           gnome/applet/applet-dbus-vpn.c
11171           gnome/applet/applet-dbus.c
11172           gnome/applet/applet-dbus.h
11173           src/nm-dbus-nmi.c
11174           utils/nm-utils.c
11175           utils/nm-utils.h
11176                 - Make pending call tracking code generic,
11177                 so we can use it in NM as well as the applet
11178
11179 2006-08-06  Dan Williams  <dcbw@redhat.com>
11180
11181         * src/nm-activation-request.c
11182                 - Refcount pending call objects
11183
11184 2006-08-06  Dan Williams  <dcbw@redhat.com>
11185
11186         Patch from Christan Chiesa <christanc@gmail.com>
11187         * configure.in
11188                 - Tell sha1.c to use bigendian mode on PPC
11189
11190 2006-08-04  Robert Love  <rml@novell.com>
11191
11192         Glib Memory Slices!
11193         * configure.in: Require glib 2.10 or later.
11194         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
11195           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
11196           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
11197           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
11198           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
11199           Memory Slices are the greatest thing since bread slices.
11200         * src/NetworkManagerAP.c: Also, fix memory leak.
11201
11202 2006-08-01  Robert Love  <rml@novell.com>
11203
11204         * gnome/applet/main.c: Shutdown all VPN connections on logout.
11205
11206 2006-07-31  Robert Love  <rml@novell.com>
11207
11208         * src/backends/interface_parser.c: Declarations must begin the block.
11209
11210 2006-07-24  Dan Williams  <dcbw@redhat.com>
11211
11212         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11213         * src/backends/Makefile.am
11214           src/backends/NetworkManagerArch.c
11215           src/backends/NetworkManagerDebian.c
11216           src/backends/NetworkManagerGeneric.c
11217           src/backends/NetworkManagerGeneric.h
11218           src/backends/NetworkManagerGentoo.c
11219           src/backends/NetworkManagerPaldo.c
11220           src/backends/NetworkManagerRedHat.c
11221           src/backends/NetworkManagerSlackware.c
11222           src/backends/NetworkManagerSuSE.c
11223                 - Genericize common backend functions
11224
11225 2006-07-18  Robert Love  <rml@novell.com>
11226
11227         * configure.in: Add "--with-notify" option to allow disabling of
11228           libnotify support.
11229
11230 2006-07-13  Dan Williams  <dcbw@redhat.com>
11231
11232         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
11233         * gnome/applet/applet.glade
11234           gnome/applet/Makefile.am
11235           gnome/applet/nm-gconf-wso.c
11236           gnome/applet/nm-gconf-wso-leap.c
11237           gnome/applet/nm-gconf-wso-leap.h
11238           gnome/applet/wireless-security-manager.c
11239           gnome/applet/wso-leap.c
11240           gnome/applet/wso-leap.h
11241           include/NetworkManager.h
11242           libnm-util/dbus-helpers.c
11243           libnm-util/dbus-helpers.h
11244           src/Makefile.am
11245           src/NetworkManagerAP.c
11246           src/nm-ap-security.c
11247           src/nm-ap-security-leap.c
11248           src/nm-ap-security-leap.h
11249                 - Add LEAP authentication support
11250
11251 2006-07-13  Dan Williams  <dcbw@redhat.com>
11252
11253         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11254         * configure.in
11255           src/backends/NetworkManagerArch.c
11256           src/backends/NetworkManagerDebian.c
11257           src/backends/NetworkManagerGentoo.c
11258           src/backends/NetworkManagerPaldo.c
11259           src/backends/NetworkManagerRedHat.c
11260           src/backends/NetworkManagerSlackware.c
11261           src/backends/NetworkManagerSuSE.c
11262                 - Convert hardcoding of 'ip' path to configure-time
11263                         detected one
11264
11265 2006-07-12  Leonid Kanter <leon@asplinux.ru>
11266
11267         * configure.in: added ru to ALL_LINGUAS
11268
11269 2006-07-10  Dan Williams  <dcbw@redhat.com>
11270
11271         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11272         * src/nm-device.c
11273                 - (real_act_stage3_ip_config_start): don't infinite loop when
11274                         dhcdbd isn't running (Gnome #346845)
11275
11276 2006-07-09  Dan Williams  <dcbw@redhat.com>
11277
11278         * gnome/applet/applet.c
11279                 - (nma_destroy): don't pass NULL to notify_notification_close
11280                         (RH #197917)
11281
11282 2006-07-09  Dan Williams  <dcbw@redhat.com>
11283
11284         * gnome/applet/applet.c
11285                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
11286
11287 2006-07-04  Tor Krill  <tor@krill.nu>
11288
11289         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11290         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
11291         (nm_system_restart_mdns_responder), (ArchReadConfig),
11292         (nm_system_device_get_system_config):
11293                 - Explicitly check for DHCP configuration
11294                 - Check if daemons are running before starting them
11295
11296 2006-06-25  Dan Williams  <dcbw@redhat.com>
11297
11298         * libnm-util/dbus-dict-helpers.[ch]
11299           test/libnm-util/test-dbus-dict-helpers.c
11300                 - Add string array support
11301
11302 2006-06-24  Dan Williams  <dcbw@redhat.com>
11303
11304         * src/dhcp-manager/nm-dhcp-manager.c
11305                 - (nm_dhcp_manager_process_signal): clean up spacing
11306
11307 2006-06-21  Dan Williams  <dcbw@redhat.com>
11308
11309         * src/nm-dbus-device.c
11310                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11311                         through dbus
11312
11313 2006-06-21  Raivis Dejus  <orvils@gmail.com>
11314
11315         * configure.in: Added 'lv' to ALL_LINGUAS
11316
11317 2006-06-19  Dan Williams  <dcbw@redhat.com>
11318
11319         * src/NetworkManagerAP.c
11320                 - Clarify usage of user_created
11321
11322         * src/nm-ap-security-wep.c
11323           src/nm-ap-security-wpa-eap.c
11324           src/nm-ap-security-wpa-psk.c
11325           src/nm-ap-security.c
11326           src/nm-ap-security.h
11327                 - s/user_created/adhoc, because we really do mean adhoc
11328
11329         Patch from Bernard Blackham <bernard@blackham.com.au>
11330         * src/nm-device-802-11-wireless.c         
11331                 - (supplicant_send_network_config): instead of user_created,
11332                         use adhoc, and do AP_SCAN 2 for adhoc networks
11333
11334 2006-06-18  Robert Love  <rml@novell.com>
11335
11336         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
11337           we have a value to set.  Gconf generates a warning if `val' is NULL.
11338         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
11339           unless we actually received a valid private key file passphrase or
11340           password.  Otherwise, we don't know to later ask the applet to pull
11341           the key from the keyring.
11342
11343 2006-06-17  Dan Williams  <dcbw@redhat.com>
11344
11345         * libnm-util/dbus-dict-helpers.[ch]
11346           test/libnm-util/test-dbus-dict-helpers.c
11347                 - Fixes for zero-length byte arrays
11348                 - Replace return values of 0 with FALSE for clarity
11349                 - Test zero-length byte arrays
11350
11351 2006-06-17  Dan Williams  <dcbw@redhat.com>
11352
11353         * libnm-util/dbus-dict-helpers.[ch]
11354           test/libnm-util/test-dbus-dict-helpers.c
11355                 - Add helpers for byte arrays
11356                 - Rework bits of the testcase
11357
11358 2006-06-16  Dan Williams  <dcbw@redhat.com>
11359
11360         * libnm-util/Makefile.am
11361         * libnm-util/dbus-dict-helpers.[ch]
11362                 - Add some helpers to take the pain out of using dict types in
11363                         dbus.
11364
11365         * test/libnm-util/Makefile.am
11366         * test/libnm-util/test-dbus-dict-helpers.c
11367                 - Test cases for the dict helper functions
11368
11369 2006-06-15  Robert Love  <rml@novell.com>
11370
11371         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
11372           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
11373           if there is no key to pass.
11374         * libnm-util/dbus-helpers.c: Given the above, we can trust always
11375           receiving a non-NULL key.
11376
11377 2006-06-14  Robert Love  <rml@novell.com>
11378
11379         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
11380           copy the strings.
11381
11382
11383 2006-06-14  Dan Williams  <dcbw@redhat.com>
11384
11385         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
11386         * src/nm-device-802-11-wireless.c
11387                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
11388                         or ones where the driver is unknown
11389                 - (supplicant_exec): don't wait for supplicant startup here
11390                 - (supplicant_interface_init): finer grained polling for supplicant
11391                         startup
11392
11393 2006-06-13  Robert Love  <rml@novell.com>
11394
11395         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
11396           if it is currently set to TRUE.  Otherwise, we will reset the value
11397           when we connect normally.
11398         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
11399           the old BSSID is valid, too.  The recently added ESSID check may not be
11400           sufficient (we can remove it?).  What we really want to catch is the
11401           case of going from all-zeros to the BSSID of some other network, which
11402           happens on failure.
11403
11404 2006-06-09  Dan Williams  <dcbw@redhat.com>
11405
11406         * src/NetworkManagerSystem.[ch]
11407                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
11408                         it was unused and pointless
11409                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
11410                         fix for set_up_down_with_iface change
11411
11412         * src/vpn-manager/nm-vpn-connection.c
11413                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
11414
11415         * src/backends/NetworkManagerPaldo.c
11416           src/backends/NetworkManagerRedHat.c
11417           src/backends/NetworkManagerSuSE.c
11418           src/backends/NetworkManagerArch.c
11419           src/backends/NetworkManagerDebian.c
11420           src/backends/NetworkManagerGentoo.c
11421                 - (nm_system_enable_loopback): use set_up_down_with_iface where
11422                         appropriate
11423                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
11424                         where appropriate
11425
11426 2006-06-09  Dan Williams  <dcbw@redhat.com>
11427
11428         Patch from Peter Jones:
11429         * src/nm-device-802-11-wireless.c
11430                 - (nm_device_802_11_wireless_update_bssid): make sure that the
11431                         SSID hasn't changed from what we expect before automatically
11432                         updating the saved BSSID from a new AP
11433
11434 2006-06-08  Robert Love  <rml@novell.com>
11435
11436         Add 'fallback' support.  NetworkManager will attempt to brute-force
11437         connect to networks marked as fallback if there are no better wireless
11438         connections available.  This is useful as a method of last resort, to
11439         work around driver problems, and for use with hidden networks.
11440         * gnome/applet/applet-dbus-devices.c,
11441           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
11442         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
11443           pass it on via DBUS.
11444         * gnome/applet/applet.c: No fallback by default.
11445         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
11446           Update other-network-dialog to add UI checkbox toggling fallback.
11447         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
11448           propery from AP object.  Add "fallback" property to AP object.
11449         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
11450         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
11451         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
11452           separate function.  Add get_best_fallback_ap() for returning an AP
11453           on which to attempt fallback.
11454         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
11455         * test/nm-set-fallback: New file.  Sets a given network as fallback.
11456
11457 2006-06-07  Robert Love  <rml@novell.com>
11458
11459         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
11460           checked that the return type was GCONF_VALUE_STRING, not the correct
11461           GCONF_VALUE_BOOL, and thus it never worked.
11462         * src/NetworkManagerAPList.c: Before concluding that two networks are
11463           identical based on their BSSID, make sure that the BSSID in question
11464           is actually valid.  Specifically, an empty or all zero BSSID does not
11465           cut it.
11466         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
11467           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
11468           similar invariant clean up.
11469
11470 2006-06-02  Robert Love  <rml@novell.com>
11471
11472         * gnome/applet/applet.c: Update copyright years.  Add Novell.
11473
11474 2006-05-28  Dan Williams  <dcbw@redhat.com>
11475
11476         * gnome/applet/applet.glade
11477           gnome/vpn-properties/nm-vpn-properties.glade
11478                 - Set window icons on dialogs  (Gnome.org #333420)
11479
11480 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
11481
11482         * gnome/vpn-properties/nm-vpn-properties.glade:
11483         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
11484         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
11485         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
11486                 - Make the VPN properties pages prettier and more HIG
11487                   compliant. Gnome Bug #336913.
11488
11489 2006-05-28  Dan Williams  <dcbw@redhat.com>
11490
11491         Patch from Christian Persch <chpe@gnome.org>
11492         * gnome/vpn-properties/nm-vpn-properties.c
11493         * gnome/vpn-properties/nm-vpn-properties.glade
11494                 - HIG-ification love  (Gnome.org #336846)
11495
11496 2006-05-28  Dan Williams  <dcbw@redhat.com>
11497
11498         Patch from Christian Persch <chpe@gnome.org>
11499         * configure.in
11500           gnome/vpn-properties/nm-vpn-properties.c
11501                 - (main): Fix option parsing.  Gnome.org #336847
11502
11503 2006-05-28  Dan Williams  <dcbw@redhat.com>
11504
11505         * gnome/vpn-properties/nm-vpn-properties.c
11506                 - (find_vpn_ui_by_service_name): protect against NULL service names
11507                 - (update_edit_del_sensitivity): protect against NULL service names
11508                         Gnome.org #341306
11509
11510 2006-05-28  Dan Williams  <dcbw@redhat.com>
11511
11512         Patch from Chris Fuller <crf@grandecom.net>:
11513         * src/nm-device-802-11-wireless.c
11514                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
11515                         don't dispose of wireless-specific stuff unless it is actually
11516                         initialized.  Gnome.org #341263
11517
11518 2006-05-28  Dan Williams  <dcbw@redhat.com>
11519
11520         * src/NetworkManagerPolicy.c
11521                 - (nm_policy_device_change_check): don't switch devices if the "best"
11522                         AP is essentially the same as the current activation request, but
11523                         the current activation request isn't done activating yet.  Fixes
11524                         multiple requests for keyring password on startup for Gnome applet.
11525                         Gnome.org #341297
11526
11527 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
11528
11529         * src/NetworkManager.c: use GOptions instead of getopt
11530         * configure.in: bump glib required version to >= 2.6 for GOption
11531           support
11532
11533 2006-05-25  Robert Love  <rml@novell.com>
11534
11535         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
11536           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
11537           instead of dumping ifdef's throughout the code.
11538         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
11539           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
11540           use nm_ioctl_info() in lieu.
11541
11542 2006-05-25  Robert Love  <rml@novell.com>
11543
11544         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
11545         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
11546           not using gcrypt.  Otherwise, we get a linker error.
11547
11548 2006-05-25  Robert Love  <rml@novell.com>
11549
11550         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
11551         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
11552           configure flag to disable building of the GNOME-based applet.
11553
11554 2006-05-25  Robert Love  <rml@novell.com>
11555
11556         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
11557           parameter from link, because it shadows a global variable with some
11558           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
11559           should never have exported to the entire system a common four letter
11560           word.  But we here at NetworkManager are team players.  Fixes
11561           GNOME bug #336532.
11562
11563 2006-05-25  Arangel Angov <ufo@linux.net.mk>
11564
11565         * configure.in: Added mk.po, Macedonian translation.
11566
11567 2006-05-24  Robert Love  <rml@novell.com>
11568
11569         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
11570           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
11571           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
11572
11573 2006-05-24  Robert Love  <rml@novell.com>
11574
11575         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
11576           libnm-util/Makefile.am, src/Makefile.am,
11577           vpn-daemons/openvpn/auth-dialog/Makefile.am,
11578           vpn-daemons/openvpn/properties/Makefile.am,
11579           vpn-daemons/pptp/auth-dialog/Makefile.am,
11580           vpn-daemons/pptp/properties/Makefile.am,
11581           vpn-daemons/vpnc/auth-dialog/Makefile.am,
11582           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
11583           user passed for --datadir, if anything, when setting the GNOME locale
11584           directory.  It should be a function of the specified datadir and not
11585           the prefix.
11586
11587 2006-05-24  Robert Love  <rml@novell.com>
11588
11589         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
11590           src/NetworkManager.c: Take care to call bindtextdomain with the
11591           location of msgid files.
11592         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
11593           files.
11594
11595 2006-05-22  Robert Love  <rml@novell.com>
11596
11597         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
11598           stage4_timeout on failure unless the wireless network is Ad-Hoc.
11599           99% of the time there is a real problem with wireless, and a
11600           seemingly successful connection via Zeroconf just confuses the user.
11601           And that 1% of the time the network is probably Ad-Hoc, anyhow.
11602
11603 2006-05-22  Robert Love  <rml@novell.com>
11604
11605         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
11606           autofs on interface up if NIS is configured.  On interface down, do
11607           nothing.
11608
11609 2006-05-22  Robert Love  <rml@novell.com>
11610
11611         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
11612           to avoid calling g_object_unref() on stale pointers on error in
11613           nma_icons_free().  This happens because we short-circuit loaded the
11614           icons on the first failure but then free all icons.  Normally we have
11615           no issue because the icons were zero'ed out malloc, but we have stale
11616           pointer data after nma_icon_theme_changed().
11617         * gnome/applet/main.c: Return error code if nma_new() failed.
11618
11619 2060-05-21  Dan Williams  <dcbw@redhat.com>
11620
11621         * initscript/NetworkManager.in
11622                 - Ensure both dhcdbd and named are started before NM
11623
11624 2006-05-21  Dan Williams  <dcbw@redhat.com>
11625
11626         * configure.in
11627                 - Bump version to 0.7 to signify we are in 0.7 development
11628
11629 2006-05-21  Dan Williams  <dcbw@redhat.com>
11630
11631         Patch from Adam Schreiber <sadam@clemson.edu>
11632         * gnome/vpn-properties/nm-vpn-properties.c
11633                 - (main): correct Gnome program name  (gnome.org #342498)
11634
11635 2006-05-21  Dan Williams  <dcbw@redhat.com>
11636
11637         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
11638
11639         * src/NetworkManagerDbus.[ch]
11640                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
11641                         clarify that function's argument should be an escaped dbus object
11642                         path, and look for path segment end before returning a match
11643         * src/nm-dbus-nm.c:
11644                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
11645
11646 2006-05-17  Robert Love  <rml@novell.com>
11647
11648         Functionality to differentiate Ad-Hoc networks from infrastructure
11649         networks in the applet, by displaying a special icon:
11650         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
11651         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
11652         * gnome/applet/menu-items.c: Set a special icon in the scan list for
11653           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
11654           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
11655           networks, encrypted or not.
11656         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
11657           accessor functions to get and set the mode of a given network,
11658           wireless_network_get_mode() and wireless_network_set_mode().
11659
11660 2006-05-17  Robert Love  <rml@novell.com>
11661
11662         Functionality to automatically add BSSIDs to the allowed-MAC list as
11663         one roams from access point to access point on a given network:
11664         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
11665           helper function to compare two ether_addr structures and return TRUE
11666           if they contain the same MAC address.
11667         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
11668           prototype.
11669         * src/nm-device-802-11-wireless.c: New function to update the BSSID
11670           stored with the current AP.  If the BSSID has indeed changed, we
11671           send it out to the applet, allowing the allowed-MAC list to grow
11672           automatically in response to roaming.
11673
11674 2006-05-16  Robert Love  <rml@novell.com>
11675
11676         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
11677           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
11678
11679 2006-05-13  Dan Williams  <dcbw@redhat.com>
11680
11681         * src/nm-device-802-3-ethernet.c
11682                 - (real_get_generic_capabilities): Don't ignore devices that can't do
11683                         carrier detect (Debian bug #366373)
11684
11685 2006-05-11  Dan Williams  <dcbw@redhat.com>
11686
11687         Patch from Michael Biebl <biebl@teco.edu>
11688         * src/backends/NetworkManagerDebian.c
11689                 - Debian backend fixups
11690
11691 2006-05-10  Robert Love  <rml@novell.com>
11692
11693         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
11694
11695 2006-05-09  Robert Love  <rml@novell.com>
11696
11697         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
11698           private certificate passphrase, if any, in the GNOME Keyring.
11699         * libnm-utils/dbus-helpers.c: Update.
11700
11701 2006-05-05  Dan Williams  <dcbw@redhat.com>
11702
11703         * src/nm-device-802-11-wireless.c
11704                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
11705                         nm_device_802_11_wireless_disable_encryption() since that's all
11706                         we use it for anymore; we don't ever set WEP keys ourselves.
11707                 - (real_deactivate_quickly): reset SSID and encryption keys
11708                 - (real_deactivate): move SSID and encryption key reset to
11709                         real_deactivate_quickly(), which gets run before us anyway
11710
11711 2006-05-05  Robert Love  <rml@novell.com>
11712
11713         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
11714           root has a wacky default of its own (or, more common, a user has a
11715           bad umask and uses su/sudo to restart NetworkManager).  Anything
11716           other than 0022 does not do what we want with, for example,
11717           resolv.conf.  This problem is amplified by our judicious use of
11718           fopen(), which uses mode 0666 -- implying that the only way to get
11719           the permissions we want is with a umask of 0022.
11720
11721 2006-05-05  Dan Williams  <dcbw@redhat.com>
11722
11723         * gnome/libnm_glib/libnm_glib.c
11724                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
11725                         to reconnect; instead wait a bit more with each reconnect attempt
11726                         up to a max of one minute.
11727
11728 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
11729
11730         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
11731           the WirelessNetwork structure using the proper function instead of
11732           just casting it directly to (const char *) (gnome.org #336991)
11733
11734 2006-05-03  Robert Love  <rml@novell.com>
11735
11736         * src/backends/NetworkManagerSuSE.c: Respect the variable
11737           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
11738           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
11739           to dynamically update /etc/resolv.conf.
11740
11741 2006-05-02  Peter Jones  <pjones@redhat.com>
11742
11743         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
11744
11745 2006-05-02  Robert Love  <rml@novell.com>
11746
11747         Patch by Timo Hoenig;
11748         * tests/nm-online.c: Print pretty status indicator as timeout winds
11749           down.  Also fix possible race between DBUS startup and failure
11750           return.
11751
11752 2006-05-01  Robert Love  <rml@novell.com>
11753
11754         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
11755           empty, too.
11756
11757 2006-04-27  Jeremy Katz  <katzj@redhat.com>
11758
11759         * src/nm-device.c (discover_device_type): Actually use the hal
11760         device type instead of ioctl poking
11761
11762 2006-04-26  Robert Love  <rml@novell.com>
11763
11764         * tests/nm-online.c: New file.  Simple utility that returns exit status
11765           noting whether the connection is offline or online.  If offline on
11766           start, it waits 30 seconds (or a command-line given value) for an
11767           online signal.  If it times out, it again returns offline.  This is
11768           useful for scripts that want to wait for network connections.
11769
11770 2006-04-25  Robert Love  <rml@novell.com>
11771
11772         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
11773           key mode (the authentication algorithm), e.g. open or shared, when we
11774           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
11775           only shared was broken.  If the user specified a shared key, set it
11776           explicitly, otherwise let wpa_supplicant go with the default.
11777
11778 2006-04-24  Dan Williams  <dcbw@redhat.com>
11779
11780         * src/nm-device-802-11-wireless.c
11781                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
11782
11783 2006-04-24  Dan Williams  <dcbw@redhat.com>
11784
11785         Commit the async scanning patch
11786
11787         * src/nm-device-802-11-wireless.c
11788                 - get rid of scan_mutex
11789                 - (wireless_event_helper): act on wireless scan events
11790                 - (real_start): schedule a pending scan
11791                 - (link_to_specific_ap): fake the link to the AP during a scan
11792                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
11793                         strength during scans
11794                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
11795                         nm_device_set_bitrate): unused with new scanning code, disable
11796                 - (nm_device_wireless_schedule_scan): removed
11797                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
11798                 - (request_and_convert_scan_results): new function; retrieve scan
11799                         results from the driver and schedule the processing function
11800                 - (scan_results_timeout): timeout triggered when card doesn't send
11801                         a scan results wireless event during a certain interval
11802                 - (schedule_scan_results_timeout): new function; schedule the scan
11803                         results timeout
11804                 - (cancel_scan_results_timeout): new function; cancel the scan
11805                         results timeout
11806                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
11807                         to do the scanning.  Otherwise, just request a scan but don't
11808                         grab results here; instead schedule a timeout for scan results and
11809                         let netlink notify us of scan completion events
11810                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
11811                 - (cancel_pending_scan): new function; cancel a pending wireless scan
11812                 - (supplicant_status_cb): ignore disconnect events while scanning
11813                 - (supplicant_exec): wait a bit longer for the supplicant to start up
11814                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
11815                         timeouts
11816                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
11817
11818 2006-04-24  Dan Williams  <dcbw@redhat.com>
11819
11820         * gnome/applet/applet-dbus.c
11821                 - Disable the pending call debug stuff, seems under control now
11822
11823 2006-04-20  Robert Love  <rml@novell.com>
11824
11825         Fix bug where hidden ESSID's would not show up in the applet, even
11826         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
11827         because nm_policy_device_list_update_from_allowed_list() would merge
11828         the data, putting a name to the hidden networks, but never notify NMI
11829         of the changes.  Simple fix is to invoke the function
11830         nm_dbus_signal_wireless_network_change() if we make a mapping.
11831         * src/NetworkManagerAPList.c: Call the function
11832           nm_dbus_signal_wireless_network_change() if we made a successful
11833           BSSID to ESSID mapping, notifying the applet of the "new" network.
11834         * src/NetworkManagerAPList.h: Update the prototypes for both
11835           nm_ap_list_copy_essids_by_address() and
11836           nm_ap_list_copy_one_essid_by_address().
11837
11838 2006-04-20  Robert Love  <rml@novell.com>
11839
11840         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
11841           not set.  Just return zero.
11842
11843 2006-04-20  Robert Love  <rml@novell.com>
11844
11845         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
11846           only one copy of nm-vpn-properties is running at a time via the 'ol
11847           X selection trick.  This prevents the user from opening two "VPN
11848           Connections" windows from within the applet, which leads to mass
11849           hysteria.
11850         * clipboard.c: New file, implementing simple X selection logic.
11851         * clipboard.h: New file.
11852         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
11853
11854 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
11855
11856         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
11857         * configure.in
11858           initscript/Gentoo/Makefile.am
11859           initscript/Gentoo/NetworkManagerDispatcher.in
11860                 - New script
11861         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
11862           Gentopia
11863
11864 2006-04-16  Dan Williams  <dcbw@redhat.com>
11865
11866         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
11867         * configure.in
11868           initscript/Slackware/Makefile.am
11869           initscript/Slackware/rc.networkmanager-dispatcher.in
11870           initscript/Slackware/rc.networkmanager.in
11871                 - Update slackware initscripts
11872
11873 2006-04-10  Robert Love  <rml@novell.com>
11874
11875         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
11876           the "delete_event" signal on the druid's parent window and handle it
11877           our way, lest using the WM to close the druid results in a series of
11878           bloody and ultimately lethal errors.
11879
11880 2006-04-10  Robert Love  <rml@novell.com>
11881
11882         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
11883           'Back' too or else the 'Forward' option is initially disabled despite
11884           valid input.
11885
11886 2006-04-06  Robert Love  <rml@novell.com>
11887
11888         Fix bad but simple bug where an active modem connection did not update
11889         NM's connection state, breaking any app that did online/offline:
11890         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
11891           represented whether a dial up connection is active, or not.
11892         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
11893           to modem activation and deactivation.
11894         * src/NetworkManagerDbus.c: When asked our state, do not return
11895           disconnected if the modem is active.
11896
11897 2006-04-04  Robert Love  <rml@novell.com>
11898
11899         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
11900           applet.  It just confuses the crap out of people and does not make a
11901           lot of sense, as the daemon still runs.
11902
11903 2006-04-02  Tor Krill  <tor@krill.nu>
11904
11905         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
11906           in start of service.
11907         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
11908           get Archlinux backend up to date.
11909
11910 2006-03-29  Robert Love  <rml@novell.com>
11911
11912         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
11913         to add support for per-route MSS and improve support for per-interface
11914         MTU:
11915         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
11916           optionally take an MSS parameter and set it for the given route.
11917           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
11918           NMIP4Config's stored MSS, if any.
11919         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
11920           the interface's MTU and the route's MSS, respectively.  Add functions
11921           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
11922           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
11923           MSS.
11924         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
11925           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
11926           nm_ip4_config_set_mss.
11927         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
11928           VPN daemon.
11929         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
11930           Change the retval of nm_system_get_mtu to guint32.
11931         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
11932           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
11933           servers can specify MTU's, we should set it here if the MTU was not
11934           provided.
11935
11936 2006-03-27  Jürg Billeter  <j@bitron.ch>
11937
11938         * configure.in:
11939         * initscript/Makefile.am:
11940         * initscript/paldo/Makefile.am:
11941         * initscript/paldo/NetworkManager.in:
11942         * initscript/paldo/NetworkManagerDispatcher.in:
11943         * src/backends/Makefile.am:
11944         * src/backends/NetworkManagerPaldo.c:
11945                 - Add paldo support
11946
11947 2006-03-27  Dan Williams  <dcbw@redhat.com>
11948
11949         Patch from Christian Persch <chpe@gnome.org>
11950         * gnome/applet/applet.glade
11951                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
11952
11953 2006-03-27  Dan Williams  <dcbw@redhat.com>
11954
11955         Patch from Diffe <diffie@blazebox.homeip.net>
11956         * src/backends/NetworkManagerSlackware.c
11957                 - Don't restart howl, since it's been replaced by Avahi
11958                         in most distributions
11959
11960 2006-03-27  Dan Williams  <dcbw@redhat.com>
11961
11962         Patch from Tor Krill <bugzilla@krill.nu>
11963         * configure.in
11964           initscript/Makefile.am
11965           src/backends/Makefile.am
11966           src/backends/NetworkManagerArch.c
11967           initscript/Arch/Makefile.am
11968           initscript/Arch/networkmanager-dispatcher.in
11969           initscript/Arch/networkmanager.in
11970                 - Add Arch Linux support, fixes gnome.org #335147
11971
11972 2006-03-27  Dan Williams  <dcbw@redhat.com>
11973
11974         Patch from Diffe <diffie@blazebox.homeip.net>
11975      * initscript/Slackware/rc.networkmanager
11976         - update, fixed gnome.org #333368
11977
11978 2006-03-27  Robert Love  <rml@novell.com>
11979
11980         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
11981           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
11982
11983 2006-03-27  Robert Love  <rml@novell.com>
11984
11985         Patch by Jürg Billeter <j@bitron.ch>:
11986         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
11987           systems.
11988         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
11989           as we prefer glibc over kernel headers, if possible.
11990
11991 2006-03-27  Robert Love  <rml@novell.com>
11992
11993         Patch by Jon Escombe <list@dresco.co.uk>:
11994         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
11995         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
11996           fail, don't bail out.  We don't expect all of the various WPA-EAP
11997           values to be present.
11998         * src/nm-ap-security.c: We need to match all capabilities for each
11999           encryption type, not any one of them.
12000
12001 2006-03-27  Robert Love  <rml@novell.com>
12002
12003         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
12004           restart, not reload, ypbind.  Unfortunately there is no superior
12005           solution.
12006
12007 2006-03-24  Christopher Aillon  <caillon@redhat.com>
12008
12009         * gnome/applet/applet-notifications.c:
12010         When displaying a notification, make sure to get rid of the
12011         previous notification so as to not have competing bubbles,
12012         and stop leaking the old one.
12013
12014         * gnome/applet/applet.c:
12015         * gnome/applet/applet.h:
12016         Add a new 'notification' member to the applet, and zero it out
12017         and free it appropriately.
12018
12019 2006-03-23  Robert Love  <rml@novell.com>
12020
12021         Patch by j <j@bootlab.org>:
12022         * gnome/applet/applet.glade: Don't set the invisible_char property,
12023           which simply overrides the GTK default.  By and by, this behavior
12024           ought to be fixed in Glade.
12025
12026 2006-03-22  Robert Love  <rml@novell.com>
12027
12028         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
12029
12030 2006-03-22  Robert Love  <rml@novell.com>
12031
12032         Bug fix by Timo Hoenig <thoenig@suse.de>:
12033         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
12034           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
12035           and the applet going AWOL.
12036
12037 2006-03-22  Robert Love  <rml@novell.com>
12038
12039         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
12040           preprocessor define and use it instead of open-coded the DHCP
12041           timeout, which is currently 25 seconds, everywhere.
12042
12043 2006-03-22  Robert Love  <rml@novell.com>
12044
12045         Implement "Dynamic WEP", which is basically WPA authentication and WEP
12046         key exchange via WPA, ostensibly providing good security without
12047         requiring hardware that supports full WPA.  Also, add UI elements to
12048         allow the user to select the pairwise & group cipher for WPA Enterprise
12049         networks, too:
12050         * gnome/applet/applet.glade: Update glade file.
12051         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
12052           key type, too, to and from gconf.
12053         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
12054           wso_wpa_create_key_type_model(), noting whether we are handling PSK
12055           or EAP configuration, and in the latter case add in "Dynamic WEP" if
12056           the capabilities match.
12057         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
12058           prototype.
12059         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
12060           serialize from UI to DBUS.
12061         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
12062           one element.
12063         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
12064           nmu_security_serialize_wpa_eap_with_cipher(), and
12065           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
12066           serialize/deserialize the key type via DBUS as the new third DBUS
12067           parameter.
12068         * libnm-util/dbus-helpers.h: Update prototypes.
12069         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
12070           too.  If the key type is WEP104, do Dynamic WEP, which means
12071           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
12072           pairwise and group ciphers (fixes a FIXME).
12073
12074 2006-03-21  Robert Love  <rml@novell.com>
12075
12076         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
12077           nm_system_get_mtu(), which returns a user-provided or system-mandated
12078           MTU value for a given device, if any, or zero if no such value
12079           exists.  Add nm_system_set_mtu() to set the MTU for a given device
12080           if we have a provided value.
12081         * src/nm-device.c: Set the MTU of devices.
12082         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
12083         * src/backends/NetworkManagerDebian.c,
12084           src/backends/NetworkManagerGentoo.c,
12085           src/backends/NetworkManagerRedHat.c,
12086           src/backends/NetworkManagerSlackware.c: Implement stub functions.
12087
12088 2006-03-21  Robert Love  <rml@novell.com>
12089
12090         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
12091           configuration file.
12092
12093 2006-03-17  Robert Love  <rml@novell.com>
12094
12095         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
12096           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
12097           it, in case it is not running in the first place.  We just want its
12098           configuration reloaded.  Also, do not "rcypbind stop" on device down.
12099
12100 2006-03-15  Robert Love  <rml@novell.com>
12101
12102         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
12103           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
12104           label "WEP 40/128-bit" is inconsistent because the physical key size
12105           is 40 or 104-bits, to which a 24-bit initialisation vector is
12106           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
12107           to read "40/104" or "64/128".  I do not care much which, but most
12108           users think of "silver" and "gold" encryption as 64 and 128-bits, so
12109           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
12110           WEP passphrase support only handles 128-bit keys, and any future
12111           64-bit passphrase support will require a new option (no way to auto-
12112           detect the target key size), explicitly label our passphrase support
12113           "WEP 128-bit Passphrase".
12114
12115 2006-03-15  Robert Love  <rml@novell.com>
12116
12117         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
12118           the system init scripts (or some other mechanism) starting it (or a
12119           compatible DBUS service) before NetworkManager runs.  This means that
12120           distributions might need to update their init scripts.  This fixes
12121           possible races and is quite a bit cleaner.
12122         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
12123           starting the NetworkManager daemon.
12124
12125
12126 2006-03-14  Robert Love  <rml@novell.com>
12127
12128         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
12129           before adding anything.
12130
12131 2006-03-13  Robert Love  <rml@novell.com>
12132
12133         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
12134           widgets, too, if they exist, in case the user hit the back button.
12135           Fixes a bug where the details page contains the widgets of multiple
12136           VPN modules (Novell bug #157048).
12137
12138 2006-03-13  Robert Love  <rml@novell.com>
12139
12140         Patch by Timo Hoenig <thoenig@suse.de>:
12141         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
12142           daemon survive DBUS restarts, too.
12143
12144 2006-03-10  Robert Love  <rml@novell.com>
12145
12146         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
12147           passphrase or key.
12148         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12149           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
12150           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
12151           in response to "toggled" signal on new toggle.
12152
12153 2006-03-10  Robert Love  <rml@novell.com>
12154
12155         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
12156           serialization if strings are NULL, lest DBUS get angry.
12157
12158 2006-03-10  Robert Love  <rml@novell.com>
12159
12160         * src/nm-ap-security-wpa-eap.c: Don't log the password.
12161
12162 2006-03-09  Robert Love  <rml@novell.com>
12163
12164         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
12165           configurations.
12166
12167 2006-03-09  Dan Williams  <dcbw@redhat.com>
12168
12169         Track pending call requests in the applet, and report how many are
12170         outstanding, and how long each completed one takes.
12171         
12172         * gnome/applet/applet-dbus-devices.c
12173           gnome/applet/applet-dbus-vpn.c
12174                 - Track pending calls
12175
12176         * gnome/applet/applet-dbus.[ch]
12177                 - Remove some unused enums
12178                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
12179                         new functions to track dbus pending calls and spit out some
12180                         statistics about them
12181
12182 2006-03-09  Robert Love  <rml@novell.com>
12183
12184         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
12185           nm_ap_set_timestamp() take the second and micro-second parameters as
12186           direct arguments, which avoids both a dynamic memory allocation and a
12187           structure-to-structure copy!  Add a new interface, the aptly named
12188           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
12189           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
12190           the return from nm_ap_get_timestamp().  New users should use the new
12191           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
12192           the extreme benefit to performance.
12193         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
12194           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
12195
12196 2006-03-08  Robert Love  <rml@novell.com>
12197
12198         * gnome/applet/applet.glade: Hide the password entry text with
12199           asterisks.
12200
12201 2006-03-08  Robert Love  <rml@novell.com>
12202
12203         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
12204           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
12205           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
12206           a second argument, NMData.
12207         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
12208         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
12209           config files as trusted.
12210
12211 2006-03-06  Robert Love  <rml@novell.com>
12212
12213         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
12214         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
12215           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
12216           Rivera, detect if the applet was auto-started.  If so, ask the user
12217           if he or she would like to stop automatically running the applet on
12218           login.  If so, disable autostart.
12219
12220 2006-03-06  Robert Love  <rml@novell.com>
12221
12222         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
12223           directory in CFLAGS so developers can actually use NetworkManager.h.
12224
12225 2006-03-06  Robert Love  <rml@novell.com>
12226
12227         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
12228           open-coded integer constants.  Add state_to_string() to map a given
12229           state to a textual description, and provide that when notifying of
12230           state change.
12231         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
12232           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
12233           this header directly, but it is currently not installed on most
12234           systems.
12235
12236 2006-03-05  Dan Williams  <dcbw@redhat.com>
12237
12238         Process netlink messages in device subclasses rather than in
12239         NetworkManager.c.  Also add support for recognizing Wireless Events.
12240         
12241         * configure.in
12242                 - Find GLIB_GENMARSHAL
12243
12244         * src/Makefile.am
12245                 - Since we're marshalling custom types for wireless event signals,
12246                         we get to create our own marshallers using GLIB_GENMARSHAL
12247
12248         * src/NetworkManager.c
12249                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
12250                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
12251                         cut down somewhat.  We no longer process signals here.
12252                 - (nm_data_new): create the netlink monitor here, and remove a
12253                         useless call to nm_policy_schedule_device_change_check()
12254                 - (nm_data_free): get rid of the netlink monitor here
12255                 - (nm_device_link_activated, nm_device_link_deactivated): removed
12256                 - (main): don't create the netlink monitor here, let nm_data_new
12257                         do that.  Call nm_policy_schedule_device_change_check() right
12258                         before we jump to the mainloop to figure out which device
12259                         to use first
12260
12261         * src/NetworkManagerSystem.[ch]
12262                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
12263                         convert back and forth from interface names to interface
12264                         indexes
12265
12266         * src/nm-device-802-11-wireless.c
12267                 - (real_init): connect to wireless-event signals from the netlink
12268                         monitor object
12269                 - (nm_device_802_11_wireless_event): new function, schedule handler
12270                         for wireless event signals from the netlink monitor object.  We
12271                         want the handler to run in the device's context
12272                 - (wireless_event_helper): handle wireless-event signals from netlink
12273                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
12274                         signal handler
12275
12276         * src/nm-device-802-11-wireless.h
12277                 - remove unused prototype for nm_device_802_11_wireless_new
12278
12279         * src/nm-device-802-3-ethernet.c
12280                 - (real_init): new function; set up signal handlers for link events
12281                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
12282                         handler for netlink link activated events on device's main loop
12283                 - (link_activated_helper): when we get a link activated event, set
12284                         the device's link to be active
12285                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
12286                         handler for netlink link deactivated events on device's main loop
12287                 - (link_deactivated_helper): when we get a link deactivated event, set
12288                         the device's link to be inactive
12289                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
12290                         dispose
12291
12292         * src/nm-device-802-3-ethernet.h
12293                 - remove unused prototype for nm_device_802_3_ethernet_new
12294
12295         * src/nm-device.[ch]
12296                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
12297                         but locks the device list
12298                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
12299
12300         * src/nm-netlink-monitor.[ch]
12301                 - (nm_netlink_monitor_class_install_signals): New signal
12302                         "wireless-event"
12303                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12304                         at the device list
12305                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12306
12307         * src/nm-marshal-main.c
12308                 - Include generated nm-marshal.c and nm-marshal.h
12309
12310         * src/nm-marshal.list
12311                 - List of custom marshal functions
12312
12313 2006-03-05  Dan Williams  <dcbw@redhat.com>
12314
12315         * gnome/applet/applet-notifications.h
12316                 - Protect prototype of nma_send_event_notification() because it
12317                         includes libnotify-specific types
12318                 - Include libnotify/libnotify.h too, since we technically need it
12319
12320         * gnome/applet/applet.c
12321                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
12322                 - (nma_show_vpn_login_banner_dialog): add some error checking
12323
12324 2006-03-04  Dan Williams  <dcbw@redhat.com>
12325
12326         Clean up activation cancellation.  Should be a lot faster now.  Observed
12327         an issue with wireless devices between stage 2 and 3 of activation, where
12328         activation would be cancelled, but the device thread wouldn't notice until
12329         the supplicant association timed out.  Reorganize activation such that
12330         a cancellation handler gets immediately scheduled in the device's thread,
12331         and devices have a chance to perform any custom cleanup too.
12332
12333         * src/nm-device.[ch]
12334                 - (activation_cancel_handler): new device-type-specific function
12335                         for cleaning up device-type-specific stuff on cancellation
12336                 - (cancel_activation): removed
12337                 - (nm_device_activation_cancel): subsume functionality of
12338                         real_cancel_activation, but instead of doing anything, punt
12339                         operation to a handler that's run in device-thread context
12340                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
12341                         a warning message
12342                 - (activation_handle_cancel_helper): cancellation handler run in
12343                         device-thread context, calls device-type-specific cancelation,
12344                         then tears down the activation request
12345                 - (real_activation_cancel_handler): generic cancellation handler,
12346                         deals with cancelling any in-process DHCP request
12347                 - (nm_device_activate_stage1_device_prepare,
12348                    nm_device_activate_stage2_device_config,
12349                    nm_device_activate_stage3_ip_config_start,
12350                    nm_device_activate_stage4_ip_config_get,
12351                    nm_device_activate_stage4_ip_config_timeout,
12352                    nm_device_activate_stage5_ip_commit): don't call
12353                         nm_device_schedule_activation_handle_cancel() any more, since
12354                         cancellation will have been already scheduled for us by
12355                         nm_device_activation_cancel().  Just exit the function and
12356                         assume that the cancel handler will be called next.
12357
12358         * src/nm-device-802-3-ethernet.c
12359                 - (real_act_stage2_config): remove; didn't do anything anyway
12360
12361         * src/nm-device-802-11-wireless.c
12362                 - (supplicant_status_cb): ensure we don't do anything if the activation
12363                         got cancelled
12364                 - (real_activation_cancel_handler): implement; cancel user key request
12365                         on activation cancellation
12366
12367 2006-03-04  Dan Williams  <dcbw@redhat.com>
12368
12369         * src/nm-device-802-11-wireless.c
12370                 - (supplicant_send_network_config): assume that drivers that don't
12371                         support WPA pretty much suck, and can't handle NM scanning
12372                         along with wpa_supplicant.
12373
12374 2006-03-03  Robert Love  <rml@novell.com>
12375
12376         * configure.in: Bump version to 0.6.0.
12377         * NEWS: Update.
12378
12379 2006-03-03  Robert Love  <rml@novell.com>
12380
12381         * configure.in: Require DBUS 0.60 or later.
12382
12383 2006-03-03  Dan Williams  <dcbw@redhat.com>
12384
12385         Fix a crash if an "Other wireless network" was chosen, failed, then
12386         chosen again from the applet's menu.  If the other network wasn't
12387         noticed in a scan, it wouldn't have any capabilities, but would still
12388         be listed because the user forced the network.  To fix this, we set
12389         sensible capabilities on the forced network, which will get overwritten
12390         with the correct ones if the network shows up later in a scan.
12391         
12392         * src/nm-ap-security.h
12393                 - Add a new "get_default_capabilities_func" member to the
12394                         NMAPSecurity class
12395
12396         * src/nm-ap-security.c
12397                 - (nm_ap_security_get_default_capabilities): new function
12398
12399         * src/nm-ap-security.c
12400           src/nm-ap-security-wep.c
12401           src/nm-ap-security-wpa-psk.c
12402           src/nm-ap-security-wpa-eap.c
12403                 - Implement get_default_capabilities_func() for all, which
12404                         uses the information contained in a specific NMAPSecurity
12405                         object to determine default AP capabilites necessary
12406                         to support that object
12407
12408         As a secondary measure, we now prune artificial access points that fail
12409         to be activated right away.  The thing failed, and we have no scan data for
12410         it, so it's pretty much useless since security information is only saved
12411         in the applets when a connection is successful.
12412
12413         * src/NetworkManagerAPList.c
12414                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
12415                         not artificial.  If we see it, it's no longer a figment of the
12416                         user's imagination :)
12417
12418         * src/NetworkManagerPolicy.c
12419                 - (nm_policy_activation_failed): send along the failed AP if we
12420                         have it
12421
12422         * src/nm-device-802-11-wireless.c
12423                 - (real_activation_failure_handler): remove artificial APs from
12424                         the device list, because activation failed
12425
12426 2006-03-02  Robert Love  <rml@novell.com>
12427
12428         Add support for retrieving both the per-device speed and the
12429         per-network maximum supported rate.  Then change the getProperties
12430         DBUS API for both networks and devices to report this informaiton.
12431         Finally, display the information via both nm-applet and nm-tool:
12432         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
12433           and set it.
12434         * gnome/applet/applet.c: Display the device's speed in the 'Connection
12435           Information' dialog.
12436         * gnome/applet/applet.glade: Update the UI to show per-device speed.
12437         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
12438           network_device_get_speed() and network_device_set_speed() for
12439           retrieving and setting, respectively, a network device's current
12440           speed.
12441         * src/nm-dbus-device.c: Send the device's speed on getProperties.
12442         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
12443           in the function nm_device_802_11_wireless_get_bitrate() -- it does
12444           not matter (yet) what the units are, because we only feed it its own
12445           output.  Implement SIOCGIRATE and set the per-network maximum
12446           supported rate during scanning.
12447         * src/nm-device-802-11-wireless.h: Export the function
12448           nm_device_802_11_wireless_get_bitrate().
12449         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
12450           function nm_device_802_3_ethernet_get_speed() for returning an
12451           802.3's current speed, in Mb/s.
12452         * test/nm-tool.c: Display the per-device current speed, if available,
12453           and the per-network maximum rate.
12454
12455 2006-03-02  Dan Williams  <dcbw@redhat.com>
12456
12457         * src/nm-device-802-11-wireless.c
12458                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
12459                         card when it gets initialized.  Since devices don't get added to
12460                         the scan list until they are initialized, this function wasn't
12461                         setting the intitial scan interval correctly, and was leaving
12462                         it at 0.  This caused cards to get many scan requests in a short
12463                         amount of time when they were initialized
12464
12465 2006-03-02  Robert Love  <rml@novell.com>
12466
12467         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
12468           active device.  But do not do what we used to do and override the
12469           state, which caused the dreaded icon race of '05.
12470
12471 2006-03-02  Robert Love  <rml@novell.com>
12472
12473         Commit Dan's update of my previous commit:
12474         * src/nm-device-802-11-wireless.c: Always set the mode, because the
12475           set_mode() function itself does the check.  But do only set the
12476           frequency if in Ad-Hoc mode.
12477
12478 2006-03-02  Robert Love  <rml@novell.com>
12479
12480         Patch by Brian Magnuson <magnuson@rcn.com>:
12481         * src/nm-device-802-11-wireless.c: During scanning, only set the
12482           wireless mode to infrastructure if it is not currently in
12483           infrastructure mode.  For some driver, setting the mode is a costly
12484           operation, apparently.
12485
12486 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
12487
12488         * Makefile.am: use the correct dir for autostart mechanism.
12489
12490 2006-02-28  Dan Williams  <dcbw@redhat.com>
12491
12492         Patch from Brian Magnuson <magnuson@rcn.com>
12493         * gnome/applet/applet.c
12494                 - (nma_show_vpn_failure_dialog): fix errors left over from
12495                         libnotify support changes
12496
12497 2006-02-28  Dan Williams  <dcbw@redhat.com>
12498
12499         * src/vpn-manager/nm-vpn-act-request.[ch]
12500                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
12501                         just one value
12502                 - (nm_vpn_act_request_is_failed): new function; return whether or
12503                         not the vpn activation request has failed
12504
12505         * src/vpn-manager/nm-vpn-manager.c 
12506                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
12507                         daemon to kill the connection when the activation request fails.
12508                         Fixes issue where NM would get confused if the VPN activation
12509                         request timed out, and would not allow further VPN connections
12510                         on that service.
12511
12512 2006-02-28  Dan Williams  <dcbw@redhat.com>
12513
12514         * gnome/applet/applet.c
12515                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
12516                         overlapping connection requests, disable all VPN menu items
12517                         but the active VPN connection
12518
12519 2006-02-28  Dan Williams  <dcbw@redhat.com>
12520
12521         * src/vpn-manager/nm-vpn-connection.c
12522                 - (nm_vpn_connection_set_parent_device): fix C&P error which
12523                         called g_object_unref() on the connection's parent device
12524                         when it should have been ref-ed instead.  Fixes crash with
12525                         repeated vpn connect requests
12526
12527 2006-02-28  Christopher Aillon  <caillon@redhat.com>
12528
12529         * gnome/applet/applet.glade:
12530         Mark a few strings non-translatable, since they shouldn't be.
12531
12532 2006-02-28  Dan Williams  <dcbw@redhat.com>
12533
12534         * src/vpn-manager/nm-vpn-service.c
12535                 - (nm_vpn_service_start_connection): if the vpn service daemon is
12536                         already running, don't blindly ask it to connect, but wait until
12537                         it's in the STOPPED state first.  Fixes an assertion when user
12538                         starts a second vpn connection without stopping the first.
12539                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
12540                         dbus service exists before continuing with the connection
12541                         process, and reduce latency while waiting for it to become
12542                         available
12543                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
12544                         waiting for the vpn service daemon to become available
12545                 - General log message cleanups; show progress via "Stage x of 4"
12546                         rather than not telling anyone how many stages there are
12547
12548 2006-02-28  Robert Love  <rml@novell.com>
12549
12550         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
12551         * src/backends/NetworkManagerSuSE.c: Implement the interface
12552           nm_system_should_modify_resolv_conf() for SUSE.
12553         * src/backends/NetworkManagerDebian.c,
12554           src/backends/NetworkManagerGentoo.c,
12555           src/backends/NetworkManagerRedHat.c,
12556           src/backends/NetworkManagerSlackware.c: Add stub.
12557         * src/named-manager/Makefile.am: Grab includes from src.
12558         * src/named-manager/nm-named-manager.c: Allow backends to disable the
12559           automatic updating of resolv.conf.  This is useful for testing,
12560           broken static configurations, and administrator lock-down.
12561
12562 2006-02-28  Dan Williams  <dcbw@redhat.com>
12563
12564         * src/nm-device-802-11-wireless.c
12565                 - Move all the wpa_supplicant-related management stuff into its
12566                         own struct, just for oranization's sake
12567                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
12568                         to a GIOChannel/GSource
12569                 - (supplicant_log_stdout): new function; grab output from the
12570                         wpa_supplicant stdout pipe and write it to our logs.
12571
12572 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12573
12574         * src/nm-device-802-11-wireless.c:
12575         Err, fix thinko in my previous commit.
12576
12577 2006-02-28  Robert Love  <rml@novell.com>
12578
12579         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
12580
12581 2006-02-28  Robert Love  <rml@novell.com>
12582
12583         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
12584           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
12585           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
12586           deserializers are responsible for freeing the returned DBUS strings.
12587
12588 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12589
12590         * src/nm-device-802-11-wireless.c:
12591         The scan list is being pruned prematurely.  We should prune after
12592         the device has gone MIA for three scans, not one.  Split out the
12593         interval to realtime seconds function to better serve this.
12594
12595 2006-02-27  Robert Love  <rml@novell.com>
12596
12597         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
12598           Open the pid file O_TRUNC, so if it already exists we truncate it to
12599           zero length.  Also, be more verbose about warnings generated during
12600           writing out the pid file.  Finally, always write out the pid file if
12601           in daemon mode.  Use "--pid-file" to override the default.
12602
12603 2006-02-27  Robert Love  <rml@novell.com>
12604
12605         Patch by R. Vinay <rvinay@novell.com>:
12606         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
12607           'last_attempt_success' when removing a VPN connection, too.  (Fixes
12608           Novell bug #153628).
12609           
12610 2006-02-27  Robert Love  <rml@novell.com>
12611
12612         * gnome/applet/applet.glade: Set "activates_default" on passphrase
12613           entry so user can hit <ENTER> after entering passphrase (Novell bug
12614           #153738).
12615
12616 2006-02-27  Dan Williams  <dcbw@redhat.com>
12617
12618         * gnome/applet/*
12619                 - Mass search/replace of:
12620                         nmwa -> nma
12621                         NMWirelessApplet -> NMApplet
12622                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
12623                    (it ain't just for wireless anymore, ma!)
12624                 - Fix duplicate function name printing when using nm_warning
12625                 - wireless-applet.glade -> applet.glade
12626
12627 2006-02-27  Dan Williams  <dcbw@redhat.com>
12628
12629         * dispatcher-daemon/NetworkManagerDispatcher.c
12630                 - Accept --pid-file with a path to a pidfile, write it out on
12631                         startup, and delete it on shutdown
12632
12633         * src/NetworkManager.c
12634                 - Accept --pid-file with a path to a pidfile, write it out on
12635                         startup, and delete it on shutdown
12636                 - Move nm_print_usage() lower
12637
12638         * initscripts/RedHat/NetworkManager.in
12639                 - Use new --pid-file option
12640                 - Fix service stopping to wait a bit for NM to quit
12641
12642         * initscripts/RedHat/NetworkManagerDispatcher.in
12643                 - Use new --pid-file option
12644
12645 2006-02-26  Dan Williams  <dcbw@redhat.com>
12646
12647         * src/Makefile.am
12648                 - make and install nm-crash-logger
12649
12650         * src/nm-logging.[ch]
12651                 - New files; consolidate logging and crash handling
12652
12653         * src/nm-crash-logger.c
12654           src/gdb-cmd
12655                 - Standalong crashlogger for NM, grab a backtrace
12656                         using GDB
12657
12658         * src/NetworkManager.[ch]
12659                 - Remove signal handling and put it into nm-logging.c
12660
12661 2006-02-26  Dan Williams  <dcbw@redhat.com>
12662
12663         * configure.in
12664           gnome/applet/Makefile.am
12665                 - Conditionalize all the notify stuff
12666
12667         Merge most of Chris Aillon's notification patch:
12668         
12669         * gnome/applet/applet-notifications.[ch]
12670                 - New files; show a notification
12671         
12672         * gnome/applet/applet-dbus-devices.[ch]
12673                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
12674                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
12675                         new functions, do the right thing when a device change occurs
12676
12677         * gnome/applet/applet-dbus.c
12678                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
12679                         signals, so we can handle them specially
12680
12681         * gnome/applet/applet.[ch]
12682                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
12683                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
12684                 - (nmwa_notify_state): remove
12685                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
12686                         notification work is now done when the appropriate dbus signals
12687                         are received.
12688                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
12689                         defer execution of the notification/dialog stuff.  That was an
12690                         artifact of the previous multi-threaded nature of the applet
12691                         and is now pointless.
12692                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
12693                         no longer needed.  Function folded into applet-notifications.c
12694
12695         * src/NetworkManagerPolicy.c
12696                 - (nm_policy_activation_finish): send the AP along with the device
12697                         status change signal, if the connection is wireless.  Should
12698                         fix the race where applet would show a connection to "unknown"
12699
12700 2006-02-25  Robert Love  <rml@novell.com>
12701
12702         Add WPA Enterprise support:
12703         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
12704           nm-gconf-wso-wpa-eap.h.
12705         * gnome/applet/nm-gconf-wso-wpa-eap.c,
12706           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
12707           serialization and deserialization.
12708         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
12709           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
12710           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
12711         * gnome/applet/wireless-applet.glade: Add UI for configurating security
12712           settings related to WPA Enterprise.
12713         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
12714           instantiate WPA Enterprise wireless-security-option.
12715         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
12716           Implement WPA Enterprise wireless-security-option object.
12717         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
12718           defines.  Cleanup.
12719         * libnm-util/cipher-wpa-psk-hex.c,
12720           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
12721         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
12722           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
12723           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
12724           including the cipher to DBUS method, and
12725           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
12726           to output.
12727         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
12728           nm-ap-security-wpa-eap.h
12729         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
12730           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
12731         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
12732           files.  Implement NMAPSecurityWPA_EAP object.
12733         * src/nm-ap-security-wpa-psk.c: Cleanup.
12734         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
12735           an NMAPSecurityWPA_EAP object via the method
12736           nm_ap_security_wpa_eap_new_deserialize().
12737         * src/nm-dbus-nm.c: Cleanup.
12738         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
12739           WPA Enterprise support.
12740
12741 2006-02-24  Robert Love  <rml@novell.com>
12742
12743         Patch from Timo Hoenig <thoenig@suse.de>:
12744         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
12745
12746 2006-02-24  Robert Love  <rml@novell.com>
12747
12748         Patch from Dan Winship <danw@novell.com>:
12749         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
12750           area to transparent.
12751
12752 2006-02-21  Dan Williams  <dcbw@redhat.com>
12753
12754         * gnome/applet/applet.[ch]
12755           gnome/applet/applet-dbus.c
12756                 - Implement notification support for VPN messages too
12757
12758 2006-02-21  Dan Williams  <dcbw@redhat.com>
12759
12760         * gnome/applet/applet-dbus-info.c
12761                 - Clean up warning messages to not double-print the function
12762
12763 2006-02-21  Dan Williams  <dcbw@redhat.com>
12764
12765         * gnome/applet/applet-compat.c
12766                 - (convert_one_entry): accept entries without a key_type and
12767                         convert them to unencrypted networks
12768
12769 2006-02-21  Dan Williams  <dcbw@redhat.com>
12770
12771         * gnome/libnm_glib/libnm_glib.c
12772                 - Use __func__ everywhere we can
12773                 - Code cleanups
12774                 - Use dbus pending calls rather than blocking
12775                 - Reduce busywaits for our thread to start and stop
12776                         (gnome.org #330562)
12777                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
12778                         stomp on others using the default shared dbus connection.
12779                         Fixes #rh177546# and gnome.org #326572
12780
12781 2006-02-21  Dan Williams  <dcbw@redhat.com>
12782
12783         Patch from Rodney Dawes <dobey@novell.com>
12784         * configure.in
12785           gnome/applet/Makefile.am
12786           gnome/applet/applet.c
12787                 - Add libnotify support if '--enable-notify=yes' is passed
12788                   at configure time
12789
12790 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
12791
12792         * configure.in (ALL_LINGUAS): ko added. (Korean)
12793
12794 2006-02-15  Robert Love  <rml@novell.com>
12795
12796         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
12797           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
12798           and WPA_SUPPLICANT_CONTROL_SOCKET.
12799         
12800 2006-02-15  Robert Love  <rml@novell.com>
12801
12802         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
12803           information about what connection stage we are at, provide the total
12804           number of stages, e.g. "Stage 2 of 5", so users know how far along
12805           they are if they experience problems.
12806
12807 2006-02-15  Robert Love  <rml@novell.com>
12808
12809         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
12810           define to $sysconfdir.
12811         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
12812           editing dialog, vpn_edit_widget, which fixes a bug where editing one
12813           type of VPN and then editing another results in a mangled dialog
12814           box containing the widgets from both VPNs (fixes Novell #150854).
12815           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
12816
12817 2006-02-14  Robert Love  <rml@novell.com>
12818
12819         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
12820           syslog's file descriptor.
12821
12822 2006-02-14  Robert Love  <rml@novell.com>
12823
12824         Fix bug around since the change to "deal with APs changing settings on
12825         us," checked in on the fifth of February in the year of the dog, 
12826         wherein connecting to non-broadcast encrypted networks always fails
12827         because nm_ap_get_encrypted() always returns FALSE, even when the user
12828         provided a key, because the newly-created fake AP does not have any
12829         capabilities set, which is a sypmtom of security settings not matching
12830         capabilities (Novell bug #150784):
12831         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
12832           nm_ap_add_capabilities_from_security(), which sets the given AP's
12833           capabilities off the given security settings.  Also improve our
12834           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
12835           NM_AUTH_CIPHER_AUTO.
12836         * src/nm-device-802-11-wireless.c: Call the function
12837           nm_ap_add_capabilities_from_security() to ensure that capabilities
12838           match newly updated security settings.
12839
12840 2006-02-14  Robert Love  <rml@novell.com>
12841
12842         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
12843           error as a string, not an integer, if possible; do not print the
12844           function name twice; always give the interface, if possible; misc.
12845           cleanup.
12846
12847 2006-02-12  Dan Williams  <dcbw@redhat.com>
12848
12849         Patch from Tom Parker <palfrey@tevp.net>
12850         * src/NetworkManagerSystem.h
12851                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
12852                         no longer used
12853
12854         * src/backends/NetworkManagerDebian.c
12855                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
12856                         unused variables
12857
12858 2006-02-12  Dan Williams  <dcbw@redhat.com>
12859
12860         * vpn-daemons/openvpn/intltool-extract.in
12861           vpn-daemons/openvpn/intltool-merge.in
12862           vpn-daemons/openvpn/intltool-update.in
12863           vpn-daemons/pptp/intltool-extract.in
12864           vpn-daemons/pptp/intltool-merge.in
12865           vpn-daemons/pptp/intltool-update.in
12866                 - Remove from CVS, they should get created by intltoolize,
12867                         shouldn't they?
12868
12869 2006-02-12  Dan Williams  <dcbw@redhat.com>
12870
12871         * vpn-daemons/pptp/src/pppd/patchlevel.h
12872         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
12873                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
12874                         Makefile-defined VERSION
12875
12876 2006-02-09  Dan Williams  <dcbw@redhat.com>
12877
12878         Patch from: Vinay A R <rvinay@novell.com>
12879         * src/vpn-manager/nm-vpn-act-request.[ch]
12880                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
12881                         IPSec VPNs require them for std gateway.
12882                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
12883                         and 'user_routes_count'
12884                 - (nm_vpn_act_request_get_user_routes): new function; gets user
12885                         defined routes  from NMVPNActRequest object, returns the string
12886                         array of routes.
12887
12888         * src/vpn-manager/nm-vpn-manager.[ch]
12889                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
12890                         for 'user_routes' and 'user_routes_count'
12891         
12892         * src/vpn-manager/nm-dbus-vpn.c
12893                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
12894                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
12895         
12896         * src/vpn-manager/nm-vpn-service.c
12897                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
12898                         the vpn daemon
12899
12900         Modifications by Dan:
12901         * src/vpn-manager/nm-vpn-service.c
12902                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
12903                         arrays into dbus
12904
12905         * vpn-daemons/vpnc/src/nm-vpnc-service.c
12906         * vpn-daemons/pptp/src/nm-pptp-service.c
12907         * vpn-daemons/openvpn/src/nm-openvpn-service.c
12908                 - Grab user routes from dbus message
12909                 - Free all string arrays we got from dbus
12910
12911 2006-02-07  Robert Love  <rml@novell.com>
12912
12913         Patch by Stefan Seyfried <seife@suse.de>:
12914         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
12915
12916 2006-02-06  Robert Love  <rml@novell.com>
12917
12918         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
12919
12920 2006-02-06  Robert Love  <rml@novell.com>
12921
12922         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
12923           test ">=" is never false.  If no newline is found, we loop forever.
12924           We can just check for ">" because the following if() will see the
12925           zero-th argument if the while() gets that far.
12926
12927 2006-02-05  Dan Williams  <dcbw@redhat.com>
12928
12929         Refine handling of non-broadcast networks.
12930
12931         * src/NetworkManagerAPList.c
12932                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
12933                         property from scanned AP to the AP from the device list
12934
12935         * src/nm-device-802-11-wireless.c
12936                 - (supplicant_send_network_config): use ap_scan=1 for all networks
12937                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
12938                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
12939                         networks since those don't have APs.
12940                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
12941                         AP as non-SSID-broadcasting
12942                 - (process_scan_results): don't handle non-SSID-broadcasting here
12943
12944 2006-02-05  Dan Williams  <dcbw@redhat.com>
12945
12946         * src/nm-device-802-11-wireless.c
12947                 - (get_supplicant_timeout): new function; return
12948                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
12949                         14 channels.  These are likely a/b/g cards, like Atheros, and
12950                         slow as hell to scan.
12951                 - (supplicant_timeout_cb, supplicant_monitor_start): use
12952                         get_supplicant_timeout()
12953
12954 2006-02-05  Dan Williams  <dcbw@redhat.com>
12955
12956         * src/dhcp-manager/nm-dhcp-manager.c
12957                 - Loose a commit race with Robert; make sure size check
12958                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
12959
12960 2006-02-05  Robert Love  <rml@novell.com>
12961
12962         Patch by Christoph Brill <chrisbrill@gmx.net>:
12963         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
12964           with DHCP_SERVICE_NAME.
12965
12966 2006-02-05  Dan Williams  <dcbw@redhat.com>
12967
12968         Remove anything having to do with device_setup_func from the
12969         AP security objects, since it's no longer used.
12970
12971         * src/nm-ap-security.h
12972                 - Kill device_setup_func and nm_ap_security_device_setup()
12973
12974         * src/nm-ap-security-wep.c
12975           src/nm-ap-security-wpa-psk.c
12976                 - (real_device_setup): remove
12977
12978         * src/nm-ap-security.c
12979                 - (real_device_setup): remove
12980                 - (nm_ap_security_device_setup): remove
12981
12982         * src/nm-device-802-11-wireless.[ch]
12983                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
12984                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
12985                         and done by wpa_supplicant now anyway
12986
12987 2006-02-05  Dan Williams  <dcbw@redhat.com>
12988
12989         * src/nm-device-802-11-wireless.c
12990                 - (ap_need_key, real_act_stage2_config): deal with APs changing
12991                         settings on us.  Previously NM would loop asking for the
12992                         key but getting the same one back.  Now, if the NMI-supplied
12993                         cipher doesn't overlap with the scanned AP capabilities,
12994                         we request a completely new key from the user.
12995
12996 2006-02-05  Dan Williams  <dcbw@redhat.com>
12997
12998         * src/NetworkManagerUtils.c
12999                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
13000                         Handle newline killing better
13001
13002 2006-02-05  Dan Williams  <dcbw@redhat.com>
13003
13004         * gnome/applet/nm-gconf-wso.c
13005                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
13006                         of unencrypted access point security info.
13007
13008 2006-02-03  Robert Love  <rml@novell.com>
13009
13010         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
13011           user's encryption key, so we print the err_msg_cmd not the command,
13012           if available.  So long as SUPPLICANT_DEBUG is default, this makes
13013           sense.
13014
13015 2006-02-03  Christopher Aillon  <caillon@redhat.com>
13016
13017         * initscript/RedHat/NetworkManagerDispatcher.in:
13018         * initscript/RedHat/NetworkManager.in: modify the pidfile location
13019         Patch from Dan Walsh <dwalsh@redhat.com>
13020
13021 2006-02-03  Robert Love  <rml@novell.com>
13022
13023         * dispatcher-daemon/NetworkManagerDispatcher.c,
13024           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
13025           but use the sysconfdir.
13026
13027 2006-02-03  Robert Love  <rml@novell.com>
13028
13029         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
13030           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
13031           'char *'.
13032         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
13033           nm_ip4_config_get_hostname() and
13034           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
13035         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
13036           leak g_strdup() result.
13037
13038 2006-02-03  Robert Love  <rml@novell.com>
13039
13040         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
13041           broadcast == TRUE.  Also, copy broadcast and artificial properties
13042           from source network to destination in nm_ap_copy().
13043         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
13044           since we now default new networks to non-hidden.
13045
13046 2006-02-03  Dan Williams  <dcbw@redhat.com>
13047
13048         * gnome/applet/main.c
13049                 - (main): change the NEVER->ALWAYS so we start at the
13050                         beginning of the session, if being session-managed
13051
13052 2006-02-03  Dan Williams  <dcbw@redhat.com>
13053
13054         * gnome/applet/main.c
13055                 - (main): in a variation on Robert's patch, change
13056                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
13057                         he wants.
13058
13059 2006-02-02  Robert Love  <rml@novell.com>
13060
13061         * src/Makefile.am: If we aren't going to create the run directory at,
13062           uh, run-time, create it during install.  Then users just doing
13063           'make install' are cool, too.  While we are here, create the
13064           dispatcher.d directory, too.
13065         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
13066           the exact run directory.
13067         * Makefile.am: Install nm-applet.desktop.
13068
13069 2006-02-02  Robert Love  <rml@novell.com>
13070
13071         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
13072           structure, which denotes whether or not the AP is hidden.  This is a
13073           superset of 'artificial' -- we need 'broadcast' because a hidden AP
13074           can show up in the scan list.  Add nm_ap_get_broadcast() and
13075           nm_ap_set_broadcast() accessor interfaces.
13076         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
13077           nm_ap_set_broadcast().
13078         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
13079           "getProperties" method, which denotes whether or not the given
13080           network is hidden.
13081         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
13082           an artificial network.  Set broadcast to TRUE when scanning returns
13083           an ESSID and FALSE when not.
13084         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
13085           from "getProperties" method on a network.  Possible TODO is to
13086           somehow display this.
13087         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
13088
13089 2006-02-02  Dan Williams  <dcbw@redhat.com>
13090
13091         * src/nm-device-802-11-wireless.c
13092                 - (supplicant_interface_init): don't try to create
13093                         /var/run/NetworkManager, since that should be done by
13094                         the distro package.  Causes problems for stuff like SELinux
13095
13096 2006-02-02  Robert Love  <rml@novell.com>
13097
13098         Patch by Sureshkumar T <tsureshkumar@novell.com>:
13099         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
13100           Check for and handle empty string for iface.
13101
13102 2006-02-01  Robert Love  <rml@novell.com>
13103
13104         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
13105           manpage.
13106
13107 2006-01-31  Dan Williams  <dcbw@redhat.com>
13108
13109         * nm-applet.desktop
13110                 - Add --sm-disable to Exec arguments, presuming that when
13111                         using autostart, we don't want session management
13112
13113 2006-01-31  Robert Love  <rml@novell.com>
13114
13115         * src/NetworkManagerAP.c: Add two new manufacturer default network
13116           names: linksys-a and linksys-g.  These are found (at least) on the
13117           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
13118           own ESSID.
13119
13120 2006-01-31  Robert Love  <rml@novell.com>
13121
13122         * src/NetworkManagerAP.c: Optimize the function
13123           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
13124           machine code.  This is the first in a series of code tweaks aiming to
13125           generate better machine code and make NetworkManager all the better.
13126           Just kidding.  Who has time to go through the assembly generated for
13127           every function?  I certainly don't.  I have a wife, a kid, a job,
13128           a mortgage, a mistress.  But this function was so bad, I was called
13129           to arms.  Like the book.
13130
13131 2006-01-31  Robert Love  <rml@novell.com>
13132
13133         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
13134           AP is not broadcasting, to scan with probe request frames.  Required
13135           for non-broadcast networks.
13136
13137 2006-01-31  Robert Love  <rml@novell.com>
13138
13139         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
13140           preprocessor define (still 20s).  Fix message text in nm_info()
13141           s/too too/took too/.
13142
13143 2006-01-30  Dan Williams  <dcbw@redhat.com>
13144
13145         * src/nm-device-802-11-wireless.c
13146                 - (supplicant_monitor_start): increase connect/auth timeout to
13147                         20 seconds from 10 seconds
13148
13149 2006-01-30  Dan Williams  <dcbw@redhat.com>
13150
13151         * src/Makefile.am
13152                 - Define LOCALSTATEDIR
13153
13154         * src/nm-device-802-11-wireless.c
13155                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
13156                         socket where we want it to
13157
13158         * src/wpa_ctrl.[ch]
13159                 - (wpa_ctrl_open): accept location to put local control socket
13160
13161 2006-01-30  Robert Love  <rml@novell.com>
13162
13163         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
13164           get_ip4_string() for "domain_name".
13165
13166 2006-01-30  Robert Love  <rml@novell.com>
13167
13168         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13169           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
13170           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
13171           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
13172           support for "Automatic" pairwise and group cipher configuration by
13173           letting wpa_supplicant handle the details.  Add UI elements, new
13174           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
13175           charm.  Note this does more than add a nice feature, it fixes a bug.
13176           Apparently, some people have AP's where the pairwise cipher does not
13177           match the group cipher.  Insane, but true.
13178
13179 2006-01-30  Dan Williams  <dcbw@redhat.com>
13180
13181         * gnome/applet/applet-dbus-devices.c
13182                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
13183                         functions, grab device driver name from NetworkManager
13184                 - (nmwa_dbus_device_properties_cb): call functions to get driver
13185
13186         * gnome/applet/applet.c
13187                 - (nmwa_update_info): show driver name in Connection Information
13188                         dialog
13189
13190         * gnome/applet/nm-device.[ch]
13191                 - (network_device_get_driver, network_device_set_driver): add
13192                         accessors for driver name
13193
13194         * gnome/applet/wireless-applet.glade
13195                 - Add line for driver name to Connection Information dialog
13196
13197         * src/nm-dbus-device.c
13198                 - (nm_dbus_device_get_driver): new function to return driver name
13199                 - (nm_dbus_device_methods): hook up driver name function to dbus
13200
13201         * test/nm-tool.c
13202                 - (get_driver_name): new function
13203                 - (detail_device): grab and show driver name
13204
13205 2006-01-30  Robert Love  <rml@novell.com>
13206
13207         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
13208           does not parse the markup if it is not part of the format.
13209
13210 2006-01-30  Robert Love  <rml@novell.com>
13211
13212         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
13213           FALSE, we have no security options for this dialog, so we throw up
13214           an error dialog instead of a broken passphrase dialog.  Fixes
13215           Novell #138404.
13216         * gnome/applet/wireless-security-manager.c,
13217           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
13218           does not add any security options, not even NONE, print a warning
13219           and return FALSE.  This let's functions constructing a dialog bail
13220           out if the device's capabilities and the network's requirements have
13221           zero overlap.
13222
13223 2006-01-27  Robert Love  <rml@novell.com>
13224
13225         * configure.in: Require wpa_supplicant.  Detect location of binary and
13226           use it.  Override with "--with-wpa_supplicant=foo".
13227         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
13228           path to wpa_supplicant but use the auto-detected or user-provided
13229           value from configure.
13230
13231 2006-01-27  Robert Love  <rml@novell.com>
13232
13233         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
13234           but the DHCP server did not return a hostname, try to look up our
13235           name via DNS and set the system hostname to that.
13236
13237 2006-01-27  Dan Williams  <dcbw@redhat.com>
13238
13239         * src/backends/NetworkManagerRedHat.c
13240                 - Add NM_CONTROLLED system network script support for RH/Fedora
13241
13242 2006-01-27  Dan Williams  <dcbw@redhat.com>
13243
13244         * src/backends/NetworkManagerGentoo.c
13245                 - (nm_system_device_get_disabled): add missing function.
13246                         Gnome BZ #328780
13247
13248 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
13249
13250         * configure.in: Added vi in ALL_LINGUAS line.
13251         
13252 2006-01-26  Robert Love  <rml@novell.com>
13253
13254         * src/Makefile.am, src/kernel-types.h: Now that two different source
13255           files are feeling the crack-addled leakage of kernel types such as
13256           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
13257           types in user-space -- define a header and include it as needed.
13258         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
13259         * src/nm-device-802-3-ethernet.h: Remove defines.
13260         * src/wpa.c: Remove defines and include kernel-types.h.
13261
13262 2006-01-26  Robert Love  <rml@novell.com>
13263
13264         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
13265           work.
13266
13267 2006-01-26  Robert Love  <rml@novell.com>
13268
13269         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
13270         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
13271           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
13272           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
13273           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13274           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
13275           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
13276           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
13277           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
13278           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
13279           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
13280           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
13281           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
13282           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
13283           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
13284           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
13285           Kill unused variables, labels, and static functions.  Don't pass
13286           string literals as the format string for printf-like functions.
13287
13288 2006-01-25  Dan Williams  <dcbw@redhat.com>
13289
13290         * gnome/applet/wireless-applet.glade
13291                 - Remove WPA2 Checkbox
13292
13293         * gnome/applet/wireless-security-manager.c
13294                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
13295                         This means the Wireless Security menu now has two WPA options,
13296                         one for "WPA Personal" and one for "WPA2 Personal"
13297
13298         * gnome/applet/wso-wpa-psk.[ch]
13299                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
13300                         'wpa2' argument to determine WPA version to use
13301                 - (append_dbus_params_func): pass stored WPA version to cipher
13302                         rather than using the (removed) checkbox
13303
13304 2006-01-24  Robert Love  <rml@novell.com>
13305
13306         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13307           before we g_strdup(), not the ultimate string.
13308
13309 2006-01-23  Dan Williams  <dcbw@redhat.com>
13310
13311         * src/NetworkManagerAP.[ch]
13312                 - (nm_ap_new_from_ap): copy original essid too
13313                 - (nm_ap_unref): free original essid
13314                 - (nm_ap_get_orig_essid): new function
13315                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
13316                         but keep original essid around too
13317
13318         * src/nm-device-802-11-wireless.c
13319                 - (supplicant_send_network_config): send wpa_supplicant the
13320                         _original_ essid, and not as a string, but in hex.  Should
13321                         allow us to connect to more APs that use wierd character
13322                         encodings for their essids
13323
13324         * utils/nm-utils.[ch]
13325                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
13326                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
13327                         use the current locale as a hint for what encoding the essid
13328                         might be in.  Obviously not 100% accurate, but the idea here is
13329                         that if a user's locale is ex. ja_JP, they are more likely than
13330                         not to be in Japan, where access points will likely be in some
13331                         Japanese encoding.
13332
13333 2006-01-23  Dan Williams  <dcbw@redhat.com>
13334
13335         * libnm-util/cipher-private.h
13336           libnm-util/cipher.c
13337           libnm-util/cipher.h
13338                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
13339
13340 2006-01-23  Robert Love  <rml@novell.com>
13341
13342         Patch by Timo Hoenig <thoenig@suse.de>:
13343         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
13344           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
13345           by DHCP and pass it to the backends, allowing distribution-specific
13346           behavior with respect to the DHCP-supplied hostname (if nothing else,
13347           some distributions might not want to set the hostname).
13348         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
13349           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
13350           Also update our NIS behavior.
13351         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
13352           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
13353           Add stub functions.
13354
13355 2006-01-23  Robert Love  <rml@novell.com>
13356
13357         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
13358           gnome-session does autostart.  TODO: We need to install this to
13359           $prefix/share/autostart/.
13360
13361 2006-01-22  Dan Williams  <dcbw@redhat.com>
13362
13363         * src/NetworkManagerAP.[ch]
13364           src/nm-dbus-nmi.c
13365           src/nm-device-802-11-wireless.c         
13366                 - Make nm_ap_get_essid return "const char *"
13367
13368 2006-01-22  Dan Williams  <dcbw@redhat.com>
13369
13370         * src/NetworkManagerAP.[ch]
13371                 - (nm_ap_get_matched, nm_ap_set_matched): remove
13372
13373         * src/NetworkManagerAPList.[ch]
13374                 - (nm_ap_list_diff): removed
13375                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
13376                         deal with access points changing essids on us
13377
13378         * src/nm-device-802-11-wireless.c
13379                 - (add_new_ap_to_device_list): move AP dbus signal logic to
13380                         src/NetworkManagerAPList.c
13381                 - (real_can_interrupt_activation): new function; allow interruption
13382                         of device activation if we are waiting for a network key
13383
13384         * src/NetworkManagerPolicy.c
13385                 - (nm_policy_device_change_check): allow interruption of currently
13386                         activating devices if the device allows it.  Previous behavior
13387                         would refuse to activate a just-plugged wired device if a
13388                         wireless device was waiting for a key.
13389
13390         * src/nm-device.[ch]
13391                 - (nm_device_can_interrupt_activation): new function; ask devices
13392                         whether their activation can be interrupted
13393
13394 2006-01-20  Robert Love  <rml@novell.com>
13395
13396         * Makefile.am, configure.in: Add new man subdirectory.
13397         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
13398           man/Makefile.am: Add man pages for NetworkManager and its
13399           crime-solving bumbling buddy, NetworkManagerDispatcher.
13400         * man/.cvsignore: Add.
13401         * initscript/Debian/NetworkManager,
13402           initscript/Gentoo/NetworkManager.in,
13403           initscript/RedHat/NetworkManager.in,
13404           initscript/RedHat/NetworkManagerDispatcher.in,
13405           initscript/SUSE/networkmanager-dispatcher.in,
13406           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
13407
13408 2006-01-20  Robert Love  <rml@novell.com>
13409
13410         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
13411           instead of queuing.  This prevents the running of multiple NM
13412           daemons concurrently, which does not work whatsoever and results in
13413           neither daemon working correctly.  Also, we don't handle queuing and
13414           name-owner-changes, anyhow.
13415
13416 2006-01-20  Robert Love  <rml@novell.com>
13417
13418         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
13419         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
13420           to sbin, not bin.
13421
13422 2006-01-19  Robert Love  <rml@novell.com>
13423
13424         * configure.in: Require hal 0.5.0 or later.
13425
13426 2006-01-18  Robert Love  <rml@novell.com>
13427
13428         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
13429           Allow backends to flag a device (in whatever distro-dependent way
13430           they so desire) as disabled.  NM will ignore any such device.
13431         * src/backends/NetworkManagerDebian.c,
13432           src/backends/NetworkManagerRedHat.c,
13433           src/backends/NetworkManagerSlackware.c: Add stub function
13434           nm_system_device_get_disabled() that always returns FALSE (enabled).
13435         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
13436           SUSE-specific configuration structure.  Fill it in from the
13437           NM_CONTROLLED variable in the system networking scripts.  If this var
13438           exists and is "no", we ignore the device.
13439
13440 2006-01-17  Robert Love  <rml@novell.com>
13441
13442         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
13443           identical for NM.  For a full discussion, see the thread at
13444           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
13445
13446 2006-01-17  Dan Williams  <dcbw@redhat.com>
13447
13448         * src/nm-device.c
13449                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
13450                         function.  Fixes crash when wired DHCP fails.
13451
13452 2006-01-16  Robert Love  <rml@novell.com>
13453
13454         * src/Makefile.am: Don't install NMLoadModules
13455         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
13456           from src/ to test/ as no one uses it anymore.  Note that I would be
13457           fine with removing it altogether.
13458
13459 2006-01-16  Robert Love  <rml@novell.com>
13460
13461         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
13462           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13463           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
13464           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
13465           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
13466           src/nm-netlink-monitor.c: Don't miss any initializers on structure
13467           declarations, ever.
13468         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
13469           NM_STATE_DISCONNECTED is zero).
13470
13471 2006-01-16  Robert Love  <rml@novell.com>
13472
13473         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
13474           uninitialized parameter and buffer overflow.  Novell #143496.
13475
13476 2006-01-16  Dan Williams  <dcbw@redhat.com>
13477
13478         Apply the PtP Address bits of a patch from Tim Niemueller
13479
13480         * src/nm-ip4-config.[ch]
13481                 - Add ip4_ptp_address member to object
13482                 - (nm_ip4_config_copy): copy ptp address too
13483                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
13484                         new functions
13485                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
13486                         rather than local tunnel ip address
13487
13488         * src/vpn-manager/nm-vpn-service.c
13489                 - (print_vpn_config): update for PtP address
13490                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
13491                         DBusMessageIters in preparation for getting routes from the VPN
13492                         service daemons too
13493
13494         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
13495                 - (send_config_info): update for PtP address, clean up code
13496                 - (main): update for PtP address, clean up code, fix typo
13497
13498         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13499                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
13500
13501         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13502                 - (pptp_ip_up): update for PtP address
13503
13504         * vpn-daemons/pptp/src/nm-pptp-service.c
13505                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
13506
13507         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13508                 - (print_vpn_config): update for PtP address
13509                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
13510
13511 2006-01-16  Dan Williams  <dcbw@redhat.com>
13512
13513         * gnome/applet/applet.c
13514                 - (nmwa_add_networks_helper): don't indicate an active network
13515                         if NM is disconnected or asleep
13516
13517 2006-01-16  Dan Williams  <dcbw@redhat.com>
13518
13519         * src/NetworkManagerPolicy.c
13520                 - (nm_policy_device_change_check): switch devices if we lose the link
13521                         on an ethernet device. 
13522
13523 2006-01-16  Dan Williams  <dcbw@redhat.com>
13524
13525         * gnome/applet/wso-wpa-psk-hex.[ch]
13526                 - Renamed -> wso-wpa-psk.[ch]
13527
13528         * gnome/applet/wso-wpa-psk.[ch]
13529                 - New files
13530
13531         * gnome/applet/wso-wpa-psk-passphrase.[ch]
13532                 - Removed, rolled into wso-wpa-psk.[ch]
13533
13534         * gnome/applet/Makefile.am
13535                 - Updated for above changes
13536
13537         * gnome/applet/wireless-applet.glade
13538                 - Consolidate WPA-PSK options into one notebook
13539                         widget, and make dialogs invisible by default
13540                         to fix screen oddities
13541
13542         * gnome/applet/wireless-security-manager.c
13543                 - (wsm_set_capabilities): create the new wpa-psk widget rather
13544                         than both the old hex & passphrase ones
13545
13546 2006-01-16  Dan Williams  <dcbw@redhat.com>
13547
13548         * gnome/applet/other-network-dialog.c
13549                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
13550
13551 2006-01-16  Dan Williams  <dcbw@redhat.com>
13552
13553         * gnome/applet/applet.c
13554                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
13555                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
13556                         prevention to realize window before trying to get server
13557                         time
13558
13559         * gnome/applet/other-network-dialog.c
13560                 - (nmwa_other_network_dialog_run): fix up focus-stealing
13561                         prevention to realize window before trying to get server
13562                         time
13563
13564         * gnome/applet/passphrase-dialog.c
13565                 - (nmi_passphrase_dialog_new): fix up focus-stealing
13566                         prevention to realize window before trying to get server
13567                         time
13568
13569 2006-01-16  Robert Love  <rml@novell.com>
13570
13571         Patch from Timo Hoenig  <thoenig@suse.de:
13572         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
13573           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
13574           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
13575           libnm-util/dbus-helpers.h: add checks whether headers are used
13576           within a C++ build.
13577
13578 2006-01-16  Dan Williams  <dcbw@redhat.com>
13579
13580         * gnome/applet/wireless-security-option.c
13581                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
13582
13583 2006-01-16  Dan Williams  <dcbw@redhat.com>
13584
13585         * libnm-util/cipher-wpa-psk-passphrase.c
13586                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
13587                         be 8 - 63 characters inclusive
13588
13589 2006-01-16  Dan Williams  <dcbw@redhat.com>
13590
13591         * src/nm-dbus-nm.c
13592                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
13593
13594 2006-01-13  Robert Love  <rml@novell.com>
13595
13596         Patch by T Sureshkumar <tsureshkuman@novell.com>:
13597         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
13598           modules that do not use an interface.
13599
13600 2006-01-13  Dan Williams  <dcbw@redhat.com>
13601
13602         * src/nm-device.c
13603           src/nm-device.h
13604                 - Allow subclasses to implement deactivate_quickly()
13605                 - (nm_device_deactivate_quickly): call subclass
13606                         deactivate_quickly() methods
13607                 - (nm_device_set_active_link): small cleanups, and don't
13608                         deactivate the device right away because we risk a deadlock
13609                         when called from device thread, waiting for the device
13610                         thread to cancel activation
13611
13612         * src/nm-device-802-11-wireless.c
13613                 - (real_deactivate_quickly): new function
13614                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
13615                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
13616                         so that we kill the supplicant when we sleep too
13617                 - (supplicant_interface_init): work around naive naming attempts of
13618                         wpa_ctrl when naming sockets
13619
13620 2006-01-13  Dan Williams  <dcbw@redhat.com>
13621
13622         * src/nm-device-802-11-wireless.c
13623                 - (supplicant_cleanup): delete old device control sockets too
13624                 - (supplicant_get_device_socket_path): new function to consolidate
13625                         locations that need a path to a device's control socket
13626
13627 2006-01-12  Robert Love  <rml@novell.com>
13628
13629         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
13630           description so that the description is unique for each
13631           pair (device,provider).  Fixes Novell #142773.
13632
13633 2006-01-12  Dan Williams  <dcbw@redhat.com>
13634
13635         * src/nm-device-802-11-wireless.c
13636                 - (supplicant_exec): ensure GError is correctly initialized
13637                         Reported by Diego González (gnome.org #326708)
13638
13639 2006-01-11  Robert Love  <rml@novell.com>
13640
13641         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
13642           define if_mii(), open code the same results, and do so without any
13643           type punning.
13644
13645 2006-01-11  Robert Love  <rml@novell.com>
13646
13647         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
13648           that wso_foo_new() returned non-NULL.  Instead, only append the new
13649           wso to wsm->options if the wso is non-NULL.  The crux is that we
13650           assume that the relevant key types are implied by WEP and WPA as
13651           appropriate.  To be sure, they should be, but we should not expect
13652           drivers to not be oozing piles of wolf fecal matter.
13653
13654 2006-01-11  Robert Love  <rml@novell.com>
13655
13656         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
13657         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
13658           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
13659           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
13660           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
13661           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
13662           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
13663         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
13664           comparing values within DBL_EPSILON.  Also fix shadowed variable
13665           usage.
13666
13667 2006-01-11  Dan Williams  <dcbw@redhat.com>
13668
13669         Add options for WPA2 and WPA1+CCMP (AES).
13670
13671         * gnome/applet/wireless-applet.glade
13672                 - Add UI bits for WPA+CCMP
13673
13674         * gnome/applet/other-network-dialog.c
13675                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
13676                         and don't allow creation of WPA2 Ad-Hoc networks since
13677                         wpa_supplicant doesn't support them
13678
13679         * gnome/applet/wireless-security-manager.c
13680                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
13681                         on to the specific wireless security option being created
13682
13683         * gnome/applet/wireless-security-option.[ch]
13684                 - (wso_wpa_create_key_type_model): new utility function to create
13685                         the model required for WPA Key Type combo box
13686
13687         * gnome/applet/wso-private.h
13688           gnome/applet/wireless-security-option.h
13689                 - Move private function prototypes into wso-private.h
13690
13691         * gnome/applet/wso-wpa-psk-hex.[ch]
13692           gnome/applet/wso-wpa-psk-passphrase.[ch]
13693                 - (append_dbus_params_func): get WPA version from checkbox and pass
13694                         it to the dbus serialization helper
13695                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
13696                         key type combo changes
13697                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
13698                         model and options
13699
13700         * libnm-util/cipher-wpa-psk-hex.c
13701           libnm-util/cipher-wpa-psk-passphrase.c
13702                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
13703                         new function; allow the cipher to be changed after object creation
13704
13705         * src/nm-ap-security-wpa-psk.c
13706                 - (set_description): Do WPA2 descriptions too
13707
13708         * src/nm-ap-security.c
13709                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
13710
13711 2006-01-11  Robert Love  <rml@novell.com>
13712
13713         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
13714           is defined in <linux/mii.h> to return the mii_ioctl_data structure
13715           from the ifreq structure in lieu of an open coded solution.  Removes
13716           a life-threatening type-punning.
13717         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
13718           types, ever, whatsoever, baby.
13719
13720 2006-01-11  Robert Love  <rml@novell.com>
13721
13722         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
13723           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
13724           assignments to applet->nm_state into a new nmwa_set_state() function
13725           for both cleanliness and to help debugging.
13726
13727 2006-01-10  Robert Love  <rml@novell.com>
13728
13729         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
13730           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
13731           seconds, exclusive.  That is, we want to sleep x seconds such that
13732           1 < x < 2.
13733
13734 2006-01-10  Robert Love  <rml@novell.com>
13735
13736         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
13737           the attr fields according to the example in the email available at
13738           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
13739           Conversely, we do have to free 'name', so we do so, fixing a leak.
13740
13741 2006-01-10  Robert Love  <rml@novell.com>
13742
13743         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
13744           sure that we close the socket!
13745
13746 2006-01-10  Robert Love  <rml@novell.com>
13747
13748         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
13749           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
13750           src/nm-device.c: Fix a FIXME!  Reimplement the function
13751           nm_device_update_hw_address() in device subclass variants,
13752           nm_device_802_3_ethernet_set_address() and
13753           nm_device_802_11_wireless_set_address(), hook them up, and use them.
13754           This fixes the existing bug where MAC addresses are all zeros.
13755
13756 2006-01-10  Robert Love  <rml@novell.com>
13757
13758         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
13759           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
13760           option to give users ability to globally disconnect and put NM to
13761           sleep.  This is useful as a 'lockdown mode' for flying, security, and
13762           clean disconnect.
13763
13764 2006-01-09  Robert Love  <rml@novell.com>
13765
13766         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
13767           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
13768           User-space does not supply these types, so we have to define them
13769           ourselves.  The relevant kernel maintainer refused to accept a patch
13770           switching these headers to the proper C99 types.
13771
13772 2006-01-09  Dan Williams  <dcbw@redhat.com>
13773
13774         Apply Robert's 'tray icon redo' patch with fixes
13775         * gnome/applet/applet.c
13776           gnome/applet/applet.h
13777                 - Instead of using a menu bar + menu item, simulate menu
13778                         behavior using a popup menu.  Highlight the area around
13779                         the icon more like a menu too, by playing with the
13780                         applet's size requisition
13781
13782 2006-01-09  Timo Hoenig   <thoenig@suse.de>
13783         * libnm-util/dbus-helpers.c
13784           libnm-util/dbus-helpers.h
13785                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
13786                         to 'exception_namespace' (:namespace is a keyword in
13787                         C++)
13788
13789 2006-01-09  Dan Williams  <dcbw@redhat.com>
13790
13791         * src/NetworkManagerPolicy.c
13792                 - (nm_policy_device_change_check): don't autoswitch away from
13793                         Ad-Hoc networks, since there's really no concept of
13794                         "link"
13795
13796         * src/nm-dbus-nm.c
13797                 - (nm_dbus_nm_create_wireless_network): mark created networks
13798                         as Ad-Hoc networks
13799
13800         * src/nm-device-802-11-wireless.c
13801                 - (real_activation_success_handler): add user-created Ad-Hoc
13802                         networks to the device's scan list
13803
13804 2006-01-08  Dan Williams  <dcbw@redhat.com>
13805
13806         We now require a patch for wpa_supplicant to support Ad-Hoc
13807         networks:
13808           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
13809
13810         * src/nm-device-802-11-wireless.c
13811                 - (supplicant_send_network_config): turn off wpa_supplicant's
13812                         scanning.  Fixes Ad-Hoc networks.
13813
13814 2006-01-08  Dan Williams  <dcbw@redhat.com>
13815
13816         * src/nm-ap-security.c
13817           src/nm-ap-security.h
13818                 - Add a user_created argument to the write_supplicant_config
13819                         functions
13820
13821         * src/nm-ap-security-wep.c
13822           src/nm-ap-security-wpa-psk.c
13823           src/nm-device-802-11-wireless.c
13824                 - Make Ad-Hoc mode somewhat work, at least write the
13825                         correct options to wpa_supplicant
13826
13827 2006-01-08  Dan Williams  <dcbw@redhat.com>
13828
13829         * src/nm-device-802-11-wireless.c
13830                 - Remove unused code from the old device activation path
13831
13832 2006-01-08  Dan Williams  <dcbw@redhat.com>
13833
13834         * libnm-util/dbus-helpers.c
13835                 - (nmu_security_serialize_wpa_psk): pass a blank key through
13836                         dbus when key == NULL
13837
13838 2006-01-08  Dan Williams  <dcbw@redhat.com>
13839
13840         * gnome/applet/nm-gconf-wso-wpa-psk.c
13841                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
13842                         correct arguments to nmu_security_deserialize_wpa_psk()
13843
13844         * src/nm-ap-security-wpa-psk.c
13845                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
13846                         arguments to nmu_security_deserialize_wpa_psk()
13847
13848 2006-01-08  Dan Williams  <dcbw@redhat.com>
13849
13850         * gnome/applet/wso-wpa-psk-hex.c
13851           gnome/applet/wso-wpa-psk-passphrase.c
13852                 - Hook up the append_dbus_params_func() function
13853
13854 2006-01-08  Dan Williams  <dcbw@redhat.com>
13855
13856         * src/nm-device-802-11-wireless.c
13857                 - (get_wireless_capabilities): correctly detect driver WPA
13858                         capabilities
13859
13860 2006-01-08  Dan Williams  <dcbw@redhat.com>
13861
13862         * gnome/applet/Makefile.am
13863           gnome/applet/wso-wpa-psk-hex.c
13864           gnome/applet/wso-wpa-psk-hex.h
13865                 - New files, implement WPA-PSK Hex key input
13866
13867         * gnome/applet/wireless-applet.glade
13868                 - Change existing wpa-psk stuff to wpa-psk-hex
13869                 - Add new widgets for wpa-psk-passphrase
13870
13871         * gnome/applet/wireless-security-manager.c
13872                 - (wsm_set_capabilities): enable WPA options
13873
13874         * gnome/applet/wso-wpa-psk-passphrase.c
13875                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
13876                         for WPA-PSK passphrase
13877
13878 2006-01-08  Dan Williams  <dcbw@redhat.com>
13879
13880         * include/NetworkManager.h
13881                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
13882                         applet/info-daemons
13883
13884         * gnome/applet/passphrase-dialog.c
13885                 - Use the constant.  Fixes a bug where the arguments to
13886                         dbus_message_new_error() were incorrect
13887
13888         * src/nm-dbus-nmi.c
13889                 - Use the constant
13890
13891 2006-01-07  Dan Williams  <dcbw@redhat.com>
13892
13893         * src/nm-device-802-11-wireless.c
13894                 - Add a link timeout so we allow the supplicant time to
13895                         reassociate if it can, before we deactivate the card
13896                 - Fix up link status and link updating so things work better
13897
13898 2006-01-07  Dan Williams  <dcbw@redhat.com>
13899
13900         * src/nm-device-802-11-wireless.c
13901                 - Switch over to using wpa_supplicant
13902                 - Add a timeout of 10s for association of the supplicant
13903                 - Start the monitor callback of the supplicant
13904
13905 2006-01-07  Dan Williams  <dcbw@redhat.com>
13906
13907         * src/NetworkManagerUtils.c
13908                 - (nm_utils_supplicant_request,
13909                   nm_utils_supplicant_request_with_check):
13910                         pass correct buffer length to wpa_ctrl_request()
13911
13912 2006-01-07  Dan Williams  <dcbw@redhat.com>
13913
13914         * src/nm-device-private.h
13915           src/nm-device.c
13916                 - (nm_device_activate_schedule_stage3_ip_config_start): make
13917                         this function available to subclasses
13918
13919 2006-01-06  Robert Love  <rml@novell.com>
13920
13921         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
13922           user plugging in a network cable signals their preference for to
13923           switch, unless the user explicitly selected a wireless network and
13924           therefore signaled their preference for said wireless network over
13925           wired.  In other words, do exactly what makes sense.
13926
13927 2006-01-06  Robert Love  <rml@novell.com>
13928
13929         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
13930           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
13931           src/NetworkManagerWireless.h: Remove, no longer used and they keep
13932           showing up in my greps.
13933
13934 2006-01-06  Robert Love  <rml@novell.com>
13935
13936         * gnome/applet/applet-dbus-devices.c,
13937           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
13938           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
13939           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
13940           New Network' both failed in the non-encrypted case because we were
13941           not appending the security options to the DBUS message.  And
13942           'Connect to Other' was also failing in the encrypted case because
13943           we were not incrementing to the next DBUS parameter.  All fixed.
13944           Thanks to dcdw for some debugging help.
13945
13946 2006-01-06  Robert Love  <rml@novell.com>
13947
13948         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
13949           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
13950           hangup code and add per-device hangup.  Tie last commit into the
13951           GNOME applet.  TODO:  Save, understand, and respond to the state of
13952           each dialup device.
13953
13954 2006-01-06  Robert Love  <rml@novell.com>
13955
13956         Patch by Timo Hoenig <thoenig@suse.de>:
13957         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
13958           hangup specific dialup devices.
13959         * src/backends/NetworkManagerDebian.c,
13960           src/backends/NetworkManagerGentoo.c,
13961           src/backends/NetworkManagerRedHat.c,
13962           src/backends/NetworkManagerSlackware.c: Add stub backend.
13963         * src/backends/NetworkManagerRedHat.c,
13964           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
13965           hangup specific dialup devices.
13966
13967 2006-01-04  Robert Love  <rml@novell.com>
13968
13969         * gnome/applet/applet-dbus-devices.c,
13970           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
13971           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
13972           connections.
13973
13974 2006-01-04  Dan Williams  <dcbw@redhat.com>
13975
13976         First dump of wpa_supplicant-related code.  It's not hooked up to
13977         anything yet though.  Thanks to Kay Sievers for
13978         wpa_supplicant_wrapper.c, which formed the basis for this work,
13979         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
13980
13981         * src/Makefile.am
13982           src/wpa_ctrl.[ch]
13983                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
13984
13985         * src/NetworkManagerUtils.[ch]
13986                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
13987                         Add convenience functions for talking to wpa_supplicant
13988
13989         * src/nm-ap-security.[ch]
13990           src/nm-ap-security-wep.c
13991           src/nm-ap-security-wpa-psk.[ch]
13992                 - Update and implement real_write_supplicant_config functions
13993                         in all security types
13994                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
13995                         nm-ap-security-wpa-psk.c
13996
13997         * src/nm-device-802-11-wireless.c
13998                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
13999                    wpa_supplicant_start, wpa_supplicant_interface_init,
14000                    wpa_supplicant_send_network_config): add functions to talk to
14001                         wpa_supplicant and write network config to it
14002
14003 2006-01-04  Robert Love  <rml@novell.com>
14004
14005         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
14006           values so that distribution-backends can differentiate between the
14007           various types (modem, ISDN, et cetera) of dialup device that they
14008           support.
14009         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
14010           needed.
14011
14012 2006-01-03  Dan Williams  <dcbw@redhat.com>
14013
14014         * src/NetworkManagerPolicy.c
14015           src/nm-device.[ch]
14016           src/nm-device-802-11-wireless.c
14017                 - Move wireless-specific activation failure and success code
14018                         into wireless device class
14019
14020 2006-01-03  Robert Love  <rml@novell.com>
14021
14022         Patch by Preggna S:
14023         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
14024           IPsec does not require that a VPN client be bound to an interface,
14025           due to the use of the in-kernel IPSec bits.  So make the tunnel
14026           device optional.
14027
14028 2006-01-03  Dan Williams  <dcbw@redhat.com>
14029
14030         * src/NetworkManagerAP.c
14031                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
14032                         the WPA IE specifies that WEP is supported
14033
14034         * src/nm-device-802-11-wireless.c
14035                 - (process_scan_results): don't mark an AP as supporting WEP
14036                         if there's already other encryption capability info
14037
14038 2006-01-03  Dan Williams  <dcbw@redhat.com>
14039
14040         * src/dhcp-manager/nm-dhcp-manager.c
14041                 - Recognize activation cancellation when waiting for DHCP
14042                         configuration from dhcdbd
14043                 - Ignore non-dhcdbd messages
14044
14045         * src/nm-device.c
14046                 - (real_act_stage3_ip_config_start): return to correct behavior
14047                         of letting the dhcp-manager notify us of failure or
14048                         success rather than incorrectly doing that ourselves
14049                 - (nm_device_activate_stage4_ip_config_get): deal with
14050                         activation cancellation a bit earlier
14051
14052 2006-01-03  Dan Williams  <dcbw@redhat.com>
14053
14054         * src/nm-device-802-11-wireless.c
14055           src/nm-device.[ch]
14056                 - Add hooks to subclasses for stage3_ip_config_start and
14057                         stage4_ip_config_timeout
14058
14059         * src/nm-device-802-3-ethernet.c
14060                 - (real_get_generic_capabilities): make devices NM-supported
14061                         by default
14062
14063 2006-01-03  Robert Love  <rml@novell.com>
14064
14065         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
14066           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
14067           latter cannot differentiate between error and the address -1; misc.
14068           clean up.
14069
14070 2006-01-03  Dan Williams  <dcbw@redhat.com>
14071
14072         * src/NetworkManager.c
14073                 - Move link-checking/probing into the device subclasses
14074                         themselves
14075
14076         * src/nm-device.[ch]
14077           src/nm-device-802-11-wireless.c
14078           src/nm-device-802-3-ethernet.c
14079                 - Do periodic link checking in device subclasses rather
14080                         than being triggered from NetworkManager.c
14081                 - discover_wireless_capabilities -> get_wireless_capabilities
14082                 - discover_generic_capabilities -> get_generic_capabilities
14083                 - Device subclass activation routines now return a value of type
14084                         NMActStageReturn to indicate what step to perform next
14085                 - Devices now override stage4_get_ip4_config if they choose
14086
14087 2006-01-01  Dan Williams  <dcbw@redhat.com>
14088
14089         * src/nm-device-802-11-wireless.c
14090                 - (real_init): don't chain up to parent init because we don't
14091                         need to do that anymore
14092
14093         * src/nm-device.c
14094                 - (discover_device_type): fix arguments to ioctl() to correctly
14095                         pass interface name
14096                 - (nm_device_new): consolidate generic device initialization into
14097                         nm_device_new()
14098                 - (real_init): remove, consolidated to nm_device_new()
14099                 - (nm_device_deactivate, real_deactivate): consolidate
14100
14101 2006-01-01  Dan Williams  <dcbw@redhat.com>
14102
14103         * src/nm-activation-request.c
14104                 - Change dhcp_state member of the NMActRequest structure
14105                         from guint8 to guint32
14106
14107         * src/dhcp-manager/nm-dhcp-manager.[ch]
14108                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
14109                         than guint8 to match the dbus argument.  Turns out we were
14110                         overwriting memory since we were passing in only a guint8
14111
14112 2005-12-31  Dan Williams  <dcbw@redhat.com>
14113
14114         * refactor NMDevice into a GObject-based framework with separate
14115                 objects for wired and wireless.  The following files are no
14116                 longer used but should stick around for a bit so we don't
14117                 loose code through the cracks:
14118                         NetworkManagerDevice.c
14119                         NetworkManagerDevice.h
14120                         NetworkManagerWireless.c
14121                         NetworkManagerWireless.h
14122
14123         The intent here is to allow each device type to manage its own
14124         connection & activation life-cycle, ie to allow wireless devices
14125         to interface with wpa_supplicant, etc.  There's a fair bit of
14126         encapsulation breakage right now that should gradually get pulled
14127         back into each device, along with things like periodic property
14128         updates and link probing.
14129
14130 2005-12-29  Dan Williams  <dcbw@redhat.com>
14131
14132         * include/NetworkManager.h
14133                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
14134                         between networks that don't have any encryption at all
14135
14136 2005-12-29  Dan Williams  <dcbw@redhat.com>
14137
14138         * test/test-common.c
14139           test/test-common.h
14140           test/Makefile.am
14141                 - Move to a test-common subdirectory
14142
14143         * test/libnm-util/test-ciphers.c
14144                 - Move test data to test-inputs.h
14145                 - Test WPA ciphers too
14146
14147         * test/libnm-util/test-dbus-helpers.c
14148                 - Test serialization/deserialization of ciphers
14149
14150 2005-12-29  Dan Williams  <dcbw@redhat.com>
14151
14152         * gnome/applet/applet-dbus-devices.c
14153                 - Replace 'enc' parameter with 'capabilities' for wireless networks
14154                         in dbus calls to NM
14155                 - Set capabilities on WirelessNetwork objects
14156                 - Receive and save type-specific device capabilities too
14157
14158         * gnome/applet/applet-dbus-info.c
14159           gnome/applet/applet-dbus.c
14160                 - Passphrase dialog no longer a singleton; new instance gets created
14161                         on each request.  Updates to deal with that.
14162
14163         * gnome/applet/applet.c
14164                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
14165                         than single 'encrypted' flag
14166                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
14167                         menu items
14168                 - Passphrase dialog updates per above
14169
14170         * gnome/applet/menu-items.c
14171                 - (network_menu_item_update): use AP capabilities to determine
14172                         encryption
14173
14174         * gnome/applet/nm-device.[ch]
14175                 - Add accessors for type-specific device capabilities
14176
14177         * gnome/applet/other-network-dialog.c
14178                 - Rework to respect device capabilities.  i.e., if the device doesn't
14179                         support WPA, remove that option from the security dropdown
14180
14181         * gnome/applet/passphrase-dialog.c
14182                 - Massive rework so that a new instance is created each time
14183                         it's used, to support wireless network capabilities
14184
14185         * gnome/applet/wireless-network.[ch]
14186                 - Add accessors and members for wireless network capabilities
14187
14188         * gnome/applet/wireless-security-manager.[ch]
14189                 - (wsm_set_capabilities): called after creation to set which
14190                         security options get shown to the user
14191
14192 2005-12-29  Dan Williams  <dcbw@redhat.com>
14193
14194         * libnm-util/cipher-wpa-psk-passphrase.c
14195                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
14196                         like other ciphers
14197
14198 2005-12-23  Dan Williams  <dcbw@redhat.com>
14199
14200         * gnome/applet/applet-dbus-info.c
14201                 - (nmi_dbus_get_key_for_network): if there's no entry in
14202                         GConf for a network, assume we want a new key
14203                 - (nmi_save_network_info): serialize wireless security info
14204                         into GConf so its saved
14205
14206         * src/nm-dbus-nm.c
14207                 - Fix warning as we may not be passed security info when
14208                         connecting to a wireless network
14209
14210 2005-12-23  Dan Williams  <dcbw@redhat.com>
14211
14212         * gnome/applet/applet-compat.c
14213                 - Fix bugs in GConf entry conversion
14214
14215         * gnome/applet/applet-dbus-info.c
14216                 - (nmi_dbus_get_network_properties): handle case of the BSSID
14217                         list being zero-length
14218
14219         * libnm-util/cipher-*
14220           libnm-util/dbus-helpers.c
14221                 - All ciphers must now return hashed keys as UTF-8 valid
14222                         hexadecimal strings, ie "8f3dae4023".  They are pushed
14223                         through dbus as strings too.
14224                 - Consolidate various functions that do bin->hex and hex->bin
14225                         conversion into cipher.c
14226
14227         * src/nm-ap-security-wep.c
14228           src/nm-ap-security-wpa-psk.c
14229                 - Handle NULL keys since we may not know keys right away
14230
14231         * src/nm-dbus-nmi.c
14232                 - (nm_dbus_get_network_data_cb): actually advance to the start
14233                         of the wireless security info before we try to deserialize it
14234
14235         * libnm-util/test-ciphers.c
14236                 - Update cipher tests for the change to UTF-8 hexadecimal strings
14237
14238 2005-12-22  Dan Williams  <dcbw@redhat.com>
14239
14240         * gnome/applet/applet-compat.[ch]
14241                 - Convert old-format GConf and keyring entries
14242                         when the applet starts up.
14243
14244         * gnome/applet/applet.c
14245                 - (nmwa_get_instance): Call the conversion function
14246                         on startup before dbus is initialized
14247
14248 2005-12-22  Dan Williams  <dcbw@redhat.com>
14249
14250         * gnome/applet/applet-dbus-info.c
14251                 - Remove nmi_dbus_create_error_message() in favor of
14252                         nmu_create_dbus_error_message()
14253                 - (nmi_dbus_get_network_properties): Error message cleanups
14254                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
14255                         gconf key rather than 'addresses', since they really are BSSIDs
14256                 - (nmi_dbus_get_network_properties): Dispose of the security
14257                         object when we're done with it
14258
14259 2005-12-21  Dan Williams  <dcbw@redhat.com>
14260
14261         * Consolidate the info-daemon's "updateNetworkInfo" and
14262                 "addNetworkAddress" calls into just "updateNetworkInfo"
14263
14264 2005-12-21  Dan Williams  <dcbw@redhat.com>
14265
14266         * Make connection after key retrieval work again
14267
14268 2005-12-21  Dan Williams  <dcbw@redhat.com>
14269
14270         * gnome/applet/nm-gconf-wso*
14271                 - Make the serialize functions return gboolean
14272                         rather than int
14273
14274         * gnome/applet/nm-gconf-wso.c
14275                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
14276                         parent class handling so we don't segfault
14277
14278         * src/NetworkManagerAP.[ch]
14279                 - (nm_ap_get_capabilities): new function, return capabilities
14280                         now that something can use them
14281                 - (nm_ap_set_encrypted): assume that an access point supports
14282                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
14283                         we even tell whether it just supports WEP40?
14284
14285         * src/NetworkManagerDevice.c
14286                 - (ap_need_key): resurrect and update for the New World Order
14287                 - (nm_device_wireless_get_activation_ap): if we're not given
14288                         security info to use, create some based on access point
14289                         capabilities
14290
14291         * src/nm-ap-security-wep.c
14292                 - (nm_ap_security_wep_new_from_ap): create a new object
14293                         based on a certain access point's capabilities
14294
14295         * src/nm-ap-security.c
14296                 - (nm_ap_security_new_from_ap): delegate creation of a new
14297                         object based on access point capabilities to a subclass
14298                 - (nm_ap_security_copy_properties): don't segfault if we
14299                         don't have a key yet
14300
14301         * src/nm-dbus-nm.c
14302                 - (nm_dbus_nm_set_active_device): provide more informative
14303                         output when errors occur.  Also construct security info
14304                         for a given access point if we weren't given any
14305
14306 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14307
14308         * configure.in: Added Lithuanian to ALL_LINGUAS.
14309
14310 2005-12-21  Dan Williams  <dcbw@redhat.com>
14311
14312         * test/libnm-util
14313                 - Add some testcases for WEP ciphers
14314
14315 2005-12-17  Dan Williams  <dcbw@redhat.com>
14316
14317         * Fix bugs
14318
14319 2005-12-17  Dan Williams  <dcbw@redhat.com>
14320
14321         * include/NetworkManager.h
14322                 - Finally kill NMEncKeyType
14323
14324         * gnome/applet/applet-dbus-info.c
14325                 - (nmi_save_network_info): convert to NMGConfWSO
14326
14327         * gnome/applet/nm-gconf-wso-*.c
14328                 - Implement gconf serialization functions
14329
14330         * src/NetworkManagerPolicy.c
14331                 - (nm_policy_activation_finish): fix up meaning of
14332                         automatic/user_requested
14333
14334 2005-12-17  Dan Williams  <dcbw@redhat.com>
14335
14336         * gnome/applet/*
14337                 - More applet cleanups
14338                 - Use the dbus-method-dispatcher
14339
14340         * libnm-util/dbus-method-dispatcher.[ch]
14341                 - Generalize the implementation from NM in
14342                         NetworkManagerUtils.c
14343
14344 2005-12-16  Dan Williams  <dcbw@redhat.com>
14345
14346         * gnome/applet/*
14347                 - Fix up the passphrase dialog to use all the
14348                         WirelessSecurityOption stuff (untested)
14349
14350 2005-12-16  Dan Williams  <dcbw@redhat.com>
14351
14352         * Move nm_gconf_get_*_helper() functions to separate files,
14353                 gconf-helpers.c & gconf-helpers.h
14354
14355         * New NMGConfWSO objects for managing the gconf side of things.
14356                 Eventually these should be merged with the
14357                 WirelessSecurityOption objects and a common base (that can
14358                 serialize/deserialize from dbus & gconf) should be
14359                 refactored out, but for now they are separate.
14360
14361 2005-12-16  Robert Love  <rml@novell.com>
14362
14363         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
14364           binaries unless they exist (nm_spawn_process() emits a warning if
14365           asked to spawn a non-existant process).
14366
14367 2005-12-16  Dan Williams  <dcbw@redhat.com>
14368
14369         * gnome/applet/applet-dbus-info.c
14370                 - Clean up lots of gconf-related code
14371
14372 2005-12-16  Robert Love  <rml@novell.com>
14373
14374         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
14375
14376 2005-12-16  Dan Williams  <dcbw@redhat.com>
14377
14378         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
14379
14380         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
14381                 bits still to be done)
14382
14383 2005-12-16  Dan Williams  <dcbw@redhat.com>
14384
14385         * Finally move info-daemon related stuff out of
14386                 NetworkManagerDbus.c to nm-dbus-nmi.c
14387
14388 2005-12-16  Dan Williams  <dcbw@redhat.com>
14389
14390         * Kill auth_method for access points, since that's now done
14391                 by NMAPSecurity objects
14392
14393         * Add a copy-constructor of sorts to NMAPSecurity
14394                 (how do you do this properly in glib???)
14395
14396 2005-12-15  Dan Williams  <dcbw@redhat.com>
14397
14398         * Exorcise encryption key hashing on APs
14399         * Use libnm-util's serialization/deserialization in both the
14400                 applet and NM
14401         * Random other stuff
14402
14403 2005-12-15  Robert Love  <rml@novell.com>
14404
14405         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
14406           is being added to the icon naming spec, so let's use that (Tango CVS
14407           has the icon).  Because it is new, however, we fall back to the
14408           current "gnome-lockscreen" if the new icon is not around, thus
14409           behavior is the same.
14410         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
14411           factory junk.
14412
14413 2005-12-15  Robert Love  <rml@novell.com>
14414
14415         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
14416           well, help to give.  Couple other misc. bits.
14417
14418 2005-12-15  Dan Williams  <dcbw@redhat.com>
14419
14420         * libnm-util/dbus-helpers.[ch]
14421                 - Make this the one-stop-shop for serializing/deserializing
14422                         AP & connection security settings over dbus.  Both NM
14423                         and applets should use this to ensure consistent dbus
14424                         API going forwared.
14425
14426 2005-12-15  Robert Love  <rml@novell.com>
14427
14428         Patch by Timo Hoenig  <thoenig@suse.de>:
14429         * src/NetworkManagerDbus.c
14430                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
14431                         if HAL jumps off the system bus.  Otherwise libdbus
14432                         (dbus_connection_dispatch) will try to run the filter
14433                         function of our libhal context which is already freed.
14434
14435 2005-12-15  Alexander Shopov  <ash@contact.bg>
14436
14437         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
14438
14439 2005-12-14  Dan Williams  <dcbw@redhat.com>
14440
14441         * include/NetworkManager.h
14442           src/NetworkManagerWireless.c
14443                 - Rearrange 802.11 wireless-specific capabilities again
14444
14445         * src/Makefile.am
14446                 - Forgot to add wpa.c/wpa.h to the makefiles
14447
14448         * src/NetworkManagerAP.[ch]
14449                 - Implement access point capabilities and parse the
14450                         WPA/RSN IEs into the capability bitfield
14451                 - Switch the "encrypted" attribute to utilize the bitfield
14452                         and capabilities rather than being independent
14453
14454         * src/NetworkManagerDevice.c
14455                 - (nm_device_wireless_get_activation_ap): break it horribly
14456                         until we can push NMAPSecurity objects into access point
14457                         objects and through the activation chain
14458                 - Stuff WPA & RSN IEs into AP capabilities
14459
14460         * src/nm-dbus-nm.c
14461                 - Take a shot at actually making setActiveDevice work
14462
14463         * src/wpa.[ch]
14464                 - Make the API a bit saner
14465
14466 2005-12-14  Dan Williams  <dcbw@redhat.com>
14467
14468         * include/NetworkManager.h
14469                 - Add 802.11-specific capability for 802.1x key
14470                         management
14471
14472         * src/wpa.[ch]
14473                 - Pull in WPA IE and RSN IE parsing code from
14474                         wpa_supplicant so we can determine access point
14475                         capabilities
14476                 - Move WPA-related constants here from NetworkManagerAP.h
14477                         and NetworkManagerDevice.c
14478
14479         * src/NetworkManagerDevice.c
14480           src/NetworkManagerAP.[ch]
14481                 - Use WPA-related constants from wpa.h
14482
14483 2005-12-14  Dan Williams  <dcbw@redhat.com>
14484
14485         * include/NetworkManager.h
14486                 - Update and split 802.11 wireless-specific capabilities from
14487                         generic device capabilities
14488
14489         * src/NetworkManagerDevice.c
14490           src/NetworkManagerDevicePrivate.h
14491                 - (nm_device_wireless_discover_capabilities): Move 802.11
14492                         wireless-specific capability checks to
14493                         NetworkManagerWireless.c
14494                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
14495                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
14496
14497         * src/NetworkManagerWireless.[ch]
14498                 - (nm_802_11_wireless_discover_capabilities): Check extended
14499                         802.11 wireless-specific capabilities of the driver
14500
14501 2005-12-14  Robert Love  <rml@novell.com>
14502
14503         Patch from Stefan Scheler <sscheler@suse.de>:
14504         * src/NetworkManagerDevice.c: call backend code to activate and
14505           deactivate NIS.
14506         * src/NetworkManagerSystem.h: add new NIS interfaces.
14507         * src/backends/NetworkManagerDebian.c,
14508           src/backends/NetworkManagerGentoo.c,
14509           src/backends/NetworkManagerRedHat.c,
14510           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
14511           support.
14512         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
14513
14514 2005-12-14  Dan Williams  <dcbw@redhat.com>
14515
14516         * src/nm-ap-security*.[ch]
14517                 - Add AP security abstractions to NetworkManager
14518
14519         * src/nm-dbus-device.c
14520                 - Begin to parse new format dbus messages from the applet
14521                         and construct an AP security object from the message
14522
14523         * libnm-util/dbus-helpers.c
14524                 - Use message iters so we can append the key as a fixed
14525                         array of bytes, which actually works rather than
14526                         using dbus_message_append_args() as we were before
14527
14528 2005-12-14  Dan Williams  <dcbw@redhat.com>
14529
14530         * src/NetworkManagerDbus.c
14531           gnome/applet/applet-dbus.c
14532                 - Fix up dbus service replacement options.  The applet
14533                         should allow replacement, NM itself should not.
14534
14535 2005-12-13  Robert Love  <rml@novell.com>
14536
14537         * src/named-manager/nm-named-manager.c: Revert earlier commit.
14538           Instead, fail silently if config is NULL by not asserting and not
14539           returning FALSE.  Also, make sure we always fclose() the file.
14540
14541 2005-12-13  Robert Love  <rml@novell.com>
14542
14543         Patch by Stefan Scheler <sscheler@suse.de>:
14544         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
14545            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
14546            via DHCP.  Still need the backends to commit the NIS domain name and
14547            and servers to yp.conf as needed.
14548
14549 2005-12-13  Robert Love  <rml@novell.com>
14550
14551         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
14552           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
14553
14554 2005-12-13  Robert Love  <rml@novell.com>
14555
14556         * src/named-manager/nm-named-manager.c: Don't unref the config until
14557           after we call rewrite_resolv_conf(), because get_last_default_domain()
14558           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
14559           `config != NULL' failed" assertion failures and "Could not commit DNS
14560           changes" warnings.
14561
14562 2005-12-12  Dan Williams  <dcbw@redhat.com>
14563
14564         * libnm-util/dbus-helpers.[ch]
14565           libnm-util/Makefile.am
14566                 - new helper calls to consolidate locations where
14567                         NM's setDevice method is called
14568
14569         * gnome/applet/applet-dbus-devices.c
14570           gnome/applet/wireless-security-option.c
14571           gnome/applet/wso-*
14572                 - Implement dbus message param append function for
14573                         all wireless security options
14574
14575 2005-12-12  Robert Love  <rml@novell.com>
14576
14577         * libnm-util/cipher-wep-passphrase.c,
14578           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
14579           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
14580           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
14581           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
14582           When handling keys, we don't care what the sign is.  The compiler
14583           guarantees us that we get our 8-bits, which is all we care about.
14584         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
14585
14586 2005-12-12  Dan Williams  <dcbw@redhat.com>
14587
14588         * gnome/applet/applet-dbus-devices.[ch]
14589           gnome/applet/applet.c
14590           gnome/applet/other-network-dialog.c
14591           gnome/applet/wireless-security-manager.[ch]
14592           gnome/applet/wireless-security-option.[ch]
14593           gnome/applet/wso-*
14594                 - Push the wireless security options further into the applet
14595
14596 2005-12-12  Robert Love  <rml@novell.com>
14597
14598         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
14599           return any name servers.  That is perfectly valid.  (Novell #134369).
14600
14601 2005-12-11  Dan Williams  <dcbw@redhat.com>
14602
14603         * gnome/applet/wso-*
14604           gnome/applet/wireless-security-option.*
14605           gnome/applet/Makefile.am
14606                 - split each security option out so we can eventually
14607                         have each one build up their own dbus message
14608                         arguments to send to NM
14609
14610 2005-12-11  Dan Williams  <dcbw@redhat.com>
14611
14612         * Make validation of the key work correctly
14613
14614 2005-12-11  Dan Williams  <dcbw@redhat.com>
14615
14616         * Hook more bits of the Other Network Dialog up to the
14617                 wireless security manager stuff, and restructure
14618                 bits of the dialog so there's less code.
14619
14620 2005-12-10  Dan Williams  <dcbw@redhat.com>
14621
14622         * gnome/applet/Makefile.am
14623                 - Add libnm-util to includes
14624                 - Add libnm-util to link list
14625                 - Add wireless-security-common.* to compile list
14626
14627         * gnome/applet/other-network-dialog.c
14628                 - Convert to using the WirelessSecurityManager code and
14629                         widgets
14630
14631         * gnome/applet/passphrase-dialog.c
14632                 - Comment out references to stuff in the glade file that
14633                         cause runtime errors until it can be fixed up
14634                         to use the WirelessSecurityManager code
14635
14636         * gnome/applet/wireless-applet.glade
14637                 - Rename some widgets
14638                 - Add widgets for the WirelessSecurityManager code
14639                 - Remove passphrase-related stuff since that's now
14640                         handled by the WirelessSecurityManager code
14641
14642 2005-12-10  Dan Williams  <dcbw@redhat.com>
14643
14644         * gnome/applet/applet-dbus-devices.c
14645                 - Print out error message details for dbus pending call callbacks
14646                 - Move nmwa_dbus_update_devices() up
14647
14648         * gnome/applet/applet-dbus-vpn.c
14649                 - Print out error message details for dbus pending call callbacks
14650
14651 2005-12-10  Dan Williams  <dcbw@redhat.com>
14652
14653         * libnm-util/*
14654                 - More fixups
14655                 - Remove cipher-manager.* because we don't need it
14656                 - Forgot to add gnome-keyring-md5 files to compile list
14657
14658 2005-12-09  Dan Williams  <dcbw@redhat.com>
14659
14660         * libnm-util/*
14661           configure.in
14662           Makefile.am
14663                 - Add a utility library for clients of NetworkManager.  It's
14664                         only targetted at applets for the moment, and contains
14665                         a generalized 802.11 cipher framework for different
14666                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
14667
14668 2005-12-09  Robert Love  <rml@novell.com>
14669
14670         * src/NetworkManagerDevice.c: handle error better in
14671           nm_device_set_mode().
14672
14673 2005-12-08  Robert Love  <rml@novell.com>
14674
14675         * include/NetworkManager.h: add WPA capabilities constants
14676         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
14677           or WPA2 and add the capabilities bits as appropriate.
14678
14679 2005-12-08  Robert Love  <rml@novell.com>
14680
14681         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
14682           NetworkManagerDispatcher.
14683         * configure.in, initscript/SUSE/.cvsignore,
14684           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
14685           initscript.
14686
14687 2005-12-08  Robert Love  <rml@novell.com>
14688
14689         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
14690
14691 2005-12-08  Robert Love  <rml@novell.com>
14692
14693         * src/NetworkManagerDevice.c: We want to fall back on and default to
14694           IW_MODE_AUTO, not -1, which is more in line with our previous
14695           behavior.  Otherwise, we try to set the wireless mode to -1 in
14696           nm_device_set_mode().
14697
14698 2005-12-07  Robert Love  <rml@novell.com>
14699
14700         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
14701           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
14702           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14703           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14704           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
14705           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
14706           zero.
14707
14708 2005-12-07  Robert Love  <rml@novell.com>
14709
14710         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
14711           supplied IP is invalid, fall back to DHCP.
14712
14713 2005-12-07  Dan Williams  <dcbw@redhat.com>
14714
14715         * Convert NETWORK_MODE_* constants to IW_MODE_*
14716         * Make all the get_mode/set_mode functions take and return 'int'
14717         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
14718
14719 2005-12-07  Robert Love  <rml@novell.com>
14720
14721         * src/NetworkManagerDevice.c: strncpy() buffer check.
14722         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
14723
14724 2005-12-06  Dan Williams  <dcbw@redhat.com>
14725
14726         * gnome/applet/applet-dbus.c
14727                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
14728
14729         * gnome/applet/applet-dbus-vpn.c
14730                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
14731                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
14732                         to TRUE here if stage was ACTIVATED
14733
14734 2005-12-06  Dan Williams  <dcbw@redhat.com>
14735
14736         * Change nm_device_is_* functions to better names:
14737                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
14738                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
14739
14740 2005-12-06  Dan Williams  <dcbw@redhat.com>
14741
14742         * Change naming of NMDeviceType to something more sensible:
14743                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
14744                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
14745                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
14746
14747 2005-12-06  Dan Williams  <dcbw@redhat.com>
14748
14749         * Move NetworkManager.h -> include/NetworkManager.h
14750         * Split out VPN stuff into include/NetworkManagerVPN.h
14751         * Fix up makefiles to include new location
14752         * Fix up sources to include NetworkManagerVPN.h
14753
14754 2005-12-06  Dan Williams  <dcbw@redhat.com>
14755
14756         Various changes in the applet to move VPN connection "state" -> "stage",
14757         which it actually is.  I'd like to change the signal as well when we
14758         break compat in the near future.
14759
14760 2005-12-06  Dan Williams  <dcbw@redhat.com>
14761
14762         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
14763         * initscript/Slackware/rc.networkmanager
14764                 - Cosmetic fix
14765
14766         * src/backends/NetworkManagerSlackware.c
14767                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
14768                         interfaces
14769
14770 2005-12-05  Robert Love  <rml@novell.com>
14771
14772         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
14773           to free, particularly here as it just barfs.
14774
14775 2005-12-05  Dan Williams  <dcbw@redhat.com>
14776
14777         * gnome/applet/applet-dbus.c
14778                 - Work with dbus 0.6 too
14779
14780 2005-12-03  Dan Williams  <dcbw@redhat.com>
14781
14782         * src/NetworkManagerUtils.[ch]
14783           src/nm-ip4-config.c
14784                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
14785                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
14786
14787 2005-12-01  Robert Love  <rml@novell.com>
14788
14789         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
14790           need a NULL for the '...' parameter, too, to fill the so-called
14791           sentinel.
14792
14793 2005-12-01  Robert Love  <rml@novell.com>
14794
14795         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
14796           interface is already gone, so don't call rtnl_link_change() to down
14797           it (which will segfault, anyhow).
14798
14799 2005-11-22  Robert Love  <rml@novell.com>
14800
14801         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
14802           gateway is not set, just print a little note.  Configurations without
14803           gateways are valid.
14804
14805 2005-11-22  Robert Love  <rml@novell.com>
14806
14807         * README: update
14808
14809 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
14810
14811         * configure.in: Added Finnish translation to ALL_LINGUAS
14812
14813 2005-11-14  Robert Love  <rml@novell.com>
14814
14815         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
14816           Niemueller <tim@niemueller.de>.
14817
14818 2005-11-08  Dan Williams  <dcbw@redhat.com>
14819
14820         Patch from Bill Moss <bmoss@clemson.edu>
14821         * src/NetworkManagerDevice.c
14822                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
14823                         of nm_policy_schedule_activation_finish() to prevent a
14824                         race condition that causes the link to be dropped
14825
14826 2005-11-08  Dan Williams  <dcbw@redhat.com>
14827
14828         Patch from Bill Moss <bmoss@clemson.edu>
14829         * src/NetworkManagerAPList.c
14830           src/NetworkManagerDevice.c
14831           src/NetworkManagerDbus.c
14832                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
14833                         we get more readable ether/mac addresses
14834
14835 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14836
14837         * gnome/applet/main.c: Don't set the restart command.  This fixes
14838         the issue where the restart command was getting copies of all its
14839         arguments for each time the applet was restarted.
14840
14841 2005-11-02  Robert Love  <rml@novell.com>
14842
14843         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
14844           if the widget state differs from our saved state.  This ensures we
14845           do not enter an endless loop of death and destruction.  Also, this
14846           guarantees us that we enforce the widget state.
14847
14848 2005-11-02  Robert Love  <rml@novell.com>
14849
14850         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
14851         * gnome/applet/applet-dbus-devices.c: invoke the new function
14852           nmwa_enable_wireless_set_active() to ensure that the state of the
14853           'Enable Wireless' checkbox matches the daemon's state.  This is a
14854           concern because the daemon remembers the state.
14855
14856 2005-11-02  Robert Love  <rml@novell.com>
14857
14858         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
14859           Enabled", as checkboxes should be actions/commands not positive
14860           statements, otherwise they are confusing in the unselected case.  See
14861           examples in GNOME HIG, Chapter 6.
14862
14863 2005-11-02  Robert Love  <rml@novell.com>
14864
14865         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
14866           show a list of wireless networks or the wireless devices or the
14867           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
14868           a bad bug: If wireless is disabled and the user picks a wireless
14869           network, NM will switch to the network, only to immediately switch
14870           back, as wireless is disabled.  This also reassures people that NM
14871           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
14872
14873 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14874
14875         * gnome/applet/applet.c:
14876         * gnome/applet/applet.h:
14877         Partial backout of Dan's timeout animation patch.
14878         Timeout IDs cannot legally be 0, so revert the code in place to handle
14879         a timeout ID of 0 to denote the timeout isn't running.
14880
14881 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14882
14883         * src/NetworkManagerPolicy.c:
14884         (nm_policy_device_change_check) Clarify wireless switch nm_info text
14885
14886 2005-10-28  Robert Love  <rml@novell.com>
14887
14888         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
14889           "Import Saved Configuration..." to make it clear that importing is
14890           not the next step, but an option.  As an aside, a nice TODO would be
14891           to move Importing out of the vpn-specific dialog and into the main
14892           property editor, as Importing goes with Adding, but that will require
14893           some rearchitecting of the VPN stuff I suspect.
14894
14895 2005-10-27  Dan Williams  <dcbw@redhat.com>
14896
14897         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
14898         we should replace most of the distro-specific backend code
14899         with libnl stuff.
14900
14901         Get it here:  http://people.suug.ch/~tgr/libnl/
14902
14903         * configure.in
14904           src/Makefile.am
14905                 - Add checks for libnl pkgconfig file
14906                 - Use LIBNL_LIBS & LIBNL_CFLAGS
14907
14908         * src/NetworkManagerSystem.c
14909           src/nm-ip4-config.[ch]
14910                 - Use libnl rather than ioctl() for most things
14911                 - Remove unused functions
14912
14913 2005-10-27  Robert Love  <rml@novell.com>
14914
14915         * src/backends/NetworkManagerSuSE.c: fix warning message text
14916
14917 2005-10-27  Christopher Aillon  <caillon@redhat.com>
14918
14919         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
14920
14921 2005-10-27  Christopher Aillon  <caillon@redhat.com>
14922
14923         * gnome/applet/applet.c: The applet's about dialog can advertise our 
14924         project page <http://www.gnome.org/projects/NetworkManager/>
14925
14926 2005-10-26  Christopher Aillon  <caillon@redhat.com>
14927
14928         * gnome/applet.c: Also use translator credits if we don't have
14929         the new GtkAboutDialog (older versions of GTK+)
14930
14931 2005-10-26  Robert Love  <rml@novell.com>
14932
14933         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
14934           failure; correct usage text for "--no-daemon"
14935
14936 2005-10-25  Dan Williams  <dcbw@redhat.com>
14937
14938         * src/NetworkManagerDevice.c
14939                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
14940                         no scan results
14941                 - (free_process_scan_cb_data): unref the device when freeing results
14942                 - (nm_device_wireless_process_scan_results): free scan results a bit later
14943                         so we don't unref the device underneath ourselves
14944
14945 2005-10-25  Dan Williams  <dcbw@redhat.com>
14946
14947         * Back out 2005-10-24 commit from Tor Krill.  Patch
14948                 causes nameservers never to be removed from named.
14949
14950 2005-10-24  Dan Williams  <dcbw@redhat.com>
14951
14952         Clean up wireless scanning and wireless link probing.
14953
14954         * src/NetworkManagerDevice.c
14955                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
14956                         just see if there's an activation request on the device, and check the
14957                         current link against the activation request access point's ESSID.
14958                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
14959                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
14960                         don't call process_scan_results() on zero-length data
14961                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
14962                         15 seconds (from 10)
14963
14964 2005-10-24  Dan Williams  <dcbw@redhat.com>
14965
14966         Cleanup some applet stuff:
14967
14968         - Animation timeouts.  If NM died while the applet was animating,
14969                 the applet would not hide itself.  This is now fixed.
14970
14971         - Remove some dead code
14972
14973         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
14974                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
14975
14976         - Track animation timeout using a gboolean rather than the timeout's
14977                 ID, since timeout IDs can legally be 0.
14978
14979 2005-10-24  Dan Williams  <dcbw@redhat.com>
14980
14981         * src/backends/interface_parser.c
14982                 - Add void to function declarations that need it
14983                         to match patch from Engin AYDOGAN
14984
14985         * src/backends/interface_parser.h
14986                 - Remove unused prototype for ifparser_interfaces()
14987
14988         Patch from Engin AYDOGAN <engin@bzzzt.biz>
14989         * src/backends/interface_parser.h:
14990                 - Compile fixes for gcc 4.0.2 (add void)
14991
14992 2005-10-24  Dan Williams  <dcbw@redhat.com>
14993
14994         Patch from Tor Krill <tor@krill.nu>
14995         * src/named-manager/nm-named-manager.c
14996                 - Write more than just the first nameserver to /etc/resolv.conf
14997                 - Write out valid /etc/resolv.conf on exit
14998
14999 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15000
15001         * gnome/applet/applet-dbus-vpn.c:
15002         Get rid of spurious newlines in debug console output
15003
15004 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15005
15006         * src/backends/NetworkManagerGentoo.c:
15007         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
15008
15009 2005-10-20  Robert Love  <rml@novell.com>
15010
15011         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
15012           direct comparison of floating point values, which is never correct.
15013           Also some misc. cleanup.
15014
15015 2005-10-19  Robert Love  <rml@novell.com>
15016
15017         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
15018
15019 2005-10-19  Robert Love  <rml@novell.com>
15020
15021         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
15022           sensitivity of the buttons.  Specificaly, do the right thing if
15023           there are no entries.
15024
15025 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15026
15027         * configure.in: Update check for adequate wireless-tools
15028         with an AC_TRY_COMPILE for the new symbols we use.
15029
15030 2005-10-19  Dan Williams  <dcbw@redhat.com>
15031
15032         * src/NetworkManagerDevice.c
15033                 - (process_scan_results): don't drop the last (or only)
15034                         access point we see
15035
15036 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15037
15038         * src/backends/NetworkManagerSlackware.c:
15039         Patch from Nico <lordllucifer@gmail.com>
15040                 - Update the Slackware backend.
15041
15042 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15043
15044         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
15045         if we've got GLib 2.8.0
15046
15047 2005-10-18  Robert Love  <rml@novell.com>
15048
15049         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
15050           function nm_schedule_state_change_signal_broadcast() when we
15051           deactivate a device, too.
15052
15053 2005-10-18  Robert Love  <rml@novell.com>
15054
15055         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
15056           be used uninitialized.
15057
15058 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15059
15060         * test/libnm_glib_test.c: Test unregistering, too.
15061
15062 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15063
15064         * configure.in: Bump to 0.5.0
15065
15066 2005-10-17  Dan Williams  <dcbw@redhat.com>
15067
15068         * NetworkManager.h
15069                 - Remove WPA-related constants so they aren't part of the
15070                         upcoming release.
15071
15072 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15073
15074         * gnome/applet/applet.c:
15075         * gnome/applet/applet.h:
15076         Desensitize the 'Connection Information' menu item when there is
15077         no active connection.
15078
15079 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15080
15081         * gnome/libnm_glib/libnm_glib.c:
15082         Make libnm_glib_unregister_callback () actually unregister the callback
15083
15084 2005-10-17  Robert Love  <rml@novell.com>
15085
15086         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
15087           two seconds -- tries is updated every 1/10 of a second, not every
15088           second..
15089
15090 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15091
15092         * gnome/applet/applet-dbus-info.c:
15093         Let D-BUS know that we haven't handled a message when we haven't.
15094
15095 2005-10-17  Robert Love  <rml@novell.com>
15096
15097         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
15098           in order to remain 64-bit clean.
15099
15100 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15101
15102         * gnome/applet/applet-dbus-info.c:
15103         Find network encryption keys asynchronously
15104
15105 2005-10-17  Robert Love  <rml@novell.com>
15106
15107         * src/backends/NetworkManagerDebian.c,
15108           src/backends/NetworkManagerRedHat,
15109           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
15110           comment delimiter.
15111
15112 2005-10-17  Robert Love  <rml@novell.com>
15113
15114         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
15115           "/etc"
15116
15117 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15118
15119         * src/NetworkManagerDevice.c: (process_scan_results)
15120         Fix logic that checks to see whether we have an ESSID.
15121
15122 2005-10-15  Dan Williams  <dcbw@redhat.com>
15123
15124         Move scanning code into NetworkManager rather than use iwlib's
15125         iw_scan() function, so that we can figure out AP capabilities.
15126
15127         * NetworkManager.h
15128                 - Add AP capability bits
15129
15130         * src/NetworkManagerAP.[ch]
15131                 - Add capability field to NMAccessPoint structure
15132                 - Add WPA & RSN Information Element fields and accessor
15133                         functions to NMAccessPoint
15134
15135         * src/NetworkManagerDevice.c
15136                 - Remove usage of iw_scan
15137                 - Add scanning code to NetworkManager rather than use
15138                         iw_scan() from iwlib
15139
15140         * src/NetworkManagerUtils.[ch]
15141                 - (nm_dispose_scan_results): remove, unused
15142
15143 2005-10-14  Christopher Aillon  <caillon@redhat.com>
15144
15145         * gnome/libnm_glib/libnm_glib.c:
15146         * gnome/libnm_glib/libnm_glib.h:
15147         Use guint instead of gint for callback IDs.
15148
15149 2005-10-12  Christopher Aillon  <caillon@redhat.com>
15150
15151         * gnome/applet/applet.c:
15152         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
15153         every 1000ms.  It will unconditionally call nmwa_update_state which
15154         kills the existing animation timeout and registers a new one with a
15155         callback to draw a new frame every 100ms.  There are 11 connecting
15156         icon frames, so the last 2 frames kept getting dropped.  Only reset
15157         the animation timeout if we aren't animating.
15158
15159 2005-10-11  Dan Williams  <dcbw@redhat.com>
15160
15161         * gnome/applet/applet-dbus-devices.c
15162                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
15163                         We want to grab the product & vendor from net.physical_dev
15164                         rather than info.parent.
15165
15166 2005-10-11  Dan Williams  <dcbw@redhat.com>
15167
15168         * src/NetworkManagerDevice.c
15169                 - Use the driver's WE version for scanning rather than
15170                         the WE version NM was compiled with.  Fixes random
15171                         crashes in iw_scan () in iwlib.
15172
15173 2005-10-10  Dan Williams  <dcbw@redhat.com>
15174
15175         * Remove nm_system_load_device_modules() from backend files
15176                 and from NetworkManager.c
15177
15178 2005-10-10  Dan Williams  <dcbw@redhat.com>
15179
15180         * src/NetworkManagerPolicy.c
15181                 - Fix some bugs introduced by the capabilities patch
15182
15183 2005-10-10  Dan Williams  <dcbw@redhat.com>
15184
15185         * gnome/applet/applet-dbus-info.c
15186                 - (nmi_dbus_get_network_key): hide the menu when putting up
15187                         the keyring dialog.  (not sure if the code is right...)
15188
15189 2005-10-09  Dan Williams  <dcbw@redhat.com>
15190
15191         Patch from Bill Moss <bmoss@clemson.edu>
15192         * src/NetworkManagerDevice.c
15193                 - (nm_device_set_user_key_for_network): don't try to set auth
15194                         mode on the AP from the allowed list if it's NULL
15195
15196 2005-10-09  Dan Williams  <dcbw@redhat.com>
15197
15198         * Replace the "driver support level" stuff with capabilities.  The
15199                 capability field is a bitfield that is more flexible than the
15200                 old driver support level thing.  It's mostly so we can easily
15201                 figure out what supports WPA and what doesn't, but should be
15202                 quite useful later.
15203
15204 2005-10-09  Dan Williams  <dcbw@redhat.com>
15205
15206         * test/nmtest.c
15207                 - Removed
15208
15209         * test/nm-tool.c
15210           test/Makefile.am
15211                 - Added new "nm-tool" tool that gives quite a bit more
15212                         information
15213
15214 2005-10-07  Robert Love  <rml@novell.com>
15215
15216         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
15217           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
15218           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
15219           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
15220           appropriate
15221
15222 2005-10-07  Robert Love  <rml@novell.com>
15223
15224         * configure.in: Change our compile flags for the betterment of mankind.
15225           Add "-Wstrict-prototypes" because we comply anyhow and missing a
15226           prototype is very bad on 64-bit platforms as types default to int but
15227           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
15228           "-Wmissing-declarations" to warn if we define an exported function
15229           but fail to put it in a header.
15230
15231 2005-10-07  Robert Love  <rml@novell.com>
15232
15233         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
15234           by the name nm_update_device_wireless_timeouts() and once tried,
15235           without success, to steal my pet turtle.
15236
15237 2005-10-07  Robert Love  <rml@novell.com>
15238
15239         * Cleanup prototypes: put some functions in header files and mark
15240           others as 'static' -- feel free to invert
15241         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
15242           nm_vpn_manager_vpn_connection_list_copy()
15243         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
15244           nm_vpn_service_get_dbus_connection()
15245         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
15246           nm_vpn_manager_vpn_connection_list_copy()
15247         * src/vpn-manager/nm-vpn-service.c: make
15248           nm_vpn_service_act_request_failed() and
15249           nm_vpn_service_stage2_daemon_wait() static
15250         * src/vpn-manager/nm-vpn-service.h: add prototype for
15251           nm_vpn_service_get_dbus_connection()
15252
15253 2005-10-06  Christopher Aillon  <caillon@redhat.com>
15254
15255         * gnome/applet/applet.c:
15256         * gnome/applet/applet.h:
15257         * gnome/applet/icons/Makefile.am:
15258         Convey information about the current connection stage in the
15259         icons themselves instead of creating a separate progress bar.
15260
15261 2005-10-04  Robert Love  <rml@novell.com>
15262
15263         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
15264           convert an ether_addr structure's MAC into a string, because the
15265           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
15266           versus 07:3B:04, while the former will not.
15267
15268 2005-10-04  Robert Love  <rml@novell.com>
15269
15270         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15271           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15272           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15273           default route in the 'Connection Information' dialog, send primary
15274           and secondary name servers in in "getProperties" DBUS method, add
15275           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
15276           secondary domain name servers are crucial pieces of information
15277           that a user might need in debugging a network problem.
15278
15279 2005-10-04  Robert Love  <rml@novell.com>
15280
15281         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15282           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15283           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15284           default route in the 'Connection Information' dialog, send default
15285           route in "getProperties" DBUS method, add network_device_set_route(),
15286           and network_device_get_route().  The Gateway is a crucial piece of
15287           connection-related information that a user might need in debugging a
15288           network problem.
15289
15290 2005-10-03  Robert Love  <rml@novell.com>
15291
15292         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
15293           NULL.
15294
15295 2005-10-02  Dan Williams  <dcbw@redhat.com>
15296
15297         * Shorten time taken to sleep by fastpathing bits of device deactivation
15298                 necessary for sleep.
15299
15300         * Fix issue where deactivating a device might deactivate the active
15301                 VPN connection, even if the VPN was not using the device.
15302
15303 2005-10-02  Dan Williams  <dcbw@redhat.com>
15304
15305         * gnome/applet/applet.c
15306                 - Adjust signal strength -> icon mapping values slightly
15307                         (so that 51% signal doesn't show a 75% icon) by adding
15308                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15309                         shows 50% icon, etc.
15310
15311 2005-09-29  Robert Love  <rml@novell.com>
15312
15313         * src/NetworkManager.c: removed unused variable.
15314
15315 2005-09-28  Dan Williams  <dcbw@redhat.com>
15316
15317         Support for named + DBus, using Red Hat DBus patches for named.  You
15318         can find those patches here, with "dbus" in the patch's filename:
15319
15320                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
15321
15322         Don't forget the named dbus service file either.
15323
15324         Instead of writing a config file and spawing a named process, NM will
15325         use an already-running dbus-enabled named if it finds one.  NM will
15326         update named's forwarder configuration on the fly using dbus.
15327
15328         If there is no dbus-enabled named running, NM will automatically fall
15329         back to writing the most-recent DNS server information to /etc/resolv.conf
15330         and calling nm_system_update_dns() to kick the system's resolver.
15331
15332         Accordingly, all named-related configure-time options have been removed.
15333
15334 2005-09-26  Robert Love  <rml@novell.com>
15335
15336         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
15337           ISDN support!
15338         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
15339           bug in error path if "ASKPASSWORD" is "no".
15340
15341 2005-09-26  Robert Love  <rml@novell.com>
15342
15343         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
15344           comment in /etc/resolv.conf -- ';' is not.
15345
15346 2005-09-19  Dan Williams  <dcbw@redhat.com>
15347
15348         * src/backends/NetworkManagerRedHat.c:
15349         * src/backends/NetworkManagerDebian.c:
15350         * src/backends/NetworkManagerSlackware.c:
15351         * src/backends/NetworkManagerGentoo.c:
15352         * src/backends/NetworkManagerSUSE.c:
15353         Fix invocations of "/sbin/ip address" to use short form instead
15354
15355 2005-09-19  Christopher Aillon  <caillon@redhat.com>
15356
15357         * src/nm-dbus-device.c: Don't assert when getting
15358         addresses of a not yet connected interface.
15359
15360         * gnome/applet/applet.c: Free icons if loading fails.
15361         Use translator-credits so translators can make themselves known.
15362
15363 2005-09-15  Christopher Aillon  <caillon@redhat.com>
15364
15365         * src/NetworkManagerAP.c:
15366         * src/NetworkManagerAP.h:
15367         * src/NetworkManagerDevice.c:
15368         Set a blacklist for certain common manufacturer default ESSIDs:
15369         APs with these ESSIDs are extremely likely to be completely
15370         different networks: connecting to one should not make NM
15371         auto-connect to every other AP with the same default ESSID.
15372
15373 2005-09-12  Christopher Aillon  <caillon@redhat.com>
15374
15375         * gnome/applet/wireless-applet.glade:
15376         The passphrase entry should also activate the default
15377
15378         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
15379
15380         * gnome/applet/applet-dbus-devices.c:
15381         * gnome/applet/applet.c:
15382         * gnome/applet/nm-device.c:
15383         * gnome/applet/nm-device.h:
15384         * src/NetworkManagerUtils.c:
15385         * src/NetworkManagerUtils.h:
15386         * src/nm-dbus-device.c:
15387         I've got a fever, and the only cure for it is less ioctl.
15388         Make NM push IP data rather than make the applet open a socket
15389         to the device.
15390
15391 2005-09-10  Christopher Aillon  <caillon@redhat.com>
15392
15393         * gnome/applet/applet.c:
15394         * gnome/applet/applet-dbus-devices.c:
15395         * gnome/applet/applet-dbus-info.c:
15396         * gnome/applet/passphrase-dialog.c:
15397         * gnome/libnm_glib/libnm_glib.c:
15398         * gnome/vpn-properties/nm-vpn-properties.c:
15399         * src/autoip.c:
15400         * src/backends/NetworkManagerRedHat.c:
15401         * src/named-manager/nm-named-manager.c:
15402         * src/NetworkManagerAPList.c:
15403         * src/NetworkManager.c:
15404         * src/NetworkManagerDbus.c:
15405         * src/NetworkManagerDevice.c:
15406         * src/NetworkManagerPolicy.c:
15407         * src/NetworkManagerSystem.c:
15408         * src/nm-dbus-device.c:
15409         * src/nm-dbus-nm.c:
15410         * src/vpn-manager/nm-vpn-manager.c:
15411         * src/vpn-manager/nm-vpn-service.c:
15412         * test/libnm_glib_test.c:
15413         * test/nminfotest.c:
15414         * test/nmtestdevices.c:
15415         Fix a bunch of 'unused variable' compiler warnings
15416
15417         * NetworkManager.h:
15418         * gnome/applet/applet-dbus-info.c:
15419         * gnome/applet/applet-dbus-info.h:
15420         * gnome/applet/applet.c:
15421         * gnome/applet/applet.h:
15422         * src/NetworkManager.c:
15423         * src/NetworkManagerDbus.c:
15424         * src/NetworkManagerDbus.h:
15425         * src/NetworkManagerDevice.c:
15426         * src/NetworkManagerDevice.h:
15427         * src/NetworkManagerMain.h:
15428         * src/NetworkManagerWireless.c:
15429         * src/NetworkManagerWireless.h:
15430         * src/nm-dbus-nm.c:
15431         Make NetworkManager be smart about how frequently to scan
15432         based on its current state.  Remove the UI for choosing when
15433         to scan.  Scanning still may disabled completely by the user
15434         via the "Wireless Enabled" menu item.
15435
15436 2005-09-09  Christopher Aillon  <caillon@redhat.com>
15437
15438         * gnome/applet/applet.c:
15439         Also overlay the vpn connecting icons onto the wired icon,
15440         when appropriate.
15441
15442         * gnome/vpn-properties/nm-vpn-properties.glade:
15443         Clean up a few strings to use better grammar and proper casing.
15444
15445 2005-09-08  Christopher Aillon  <caillon@redhat.com>
15446
15447         * gnome/applet/vpn-connection.c:
15448         * gnome/applet/vpn-connection.h:
15449         Add nmwa_vpn_connection_is_activating ()
15450
15451         * gnome/applet/applet.c:
15452         * gnome/applet/applet.h:
15453         * gnome/applet/icons/nm-vpn-connecting*.png:
15454         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
15455         the user know something's happening between clicking the VPN item and it
15456         actually being connected.
15457
15458 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15459
15460         * gnome/applet/applet-dbus-info.c: need to free attributes in the
15461         failure case as well.
15462
15463 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
15464
15465         * gnome/panel/eggtrayicon.[ch]:
15466         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
15467
15468 2005-09-07  Dan Williams  <dcbw@redhat.com>
15469
15470         Patch from Bill Moss <bmoss@clemson.edu>
15471         * src/applet-dbus.c
15472                 - (nmwa_dbus_filter): strip whitespace from beginning
15473                         and end of VPN login banner
15474
15475 2005-09-07  Dan Williams  <dcbw@redhat.com>
15476
15477         * The great VPN Manager rewrite of 2005
15478
15479 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15480
15481         * gnome/applet/menu-items.c:
15482         * gnome/applet/nm-device.c:
15483         * gnome/applet/wireless-network.c:
15484         * gnome/libnm_glib/libnm_glib.c:
15485         * src/NetworkManagerDbusUtils.c:
15486         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
15487         g_malloc0 doesn't return NULL
15488
15489 2005-09-06  Dan Williams  <dcbw@redhat.com>
15490
15491         Patch from Tomislav Vujec <tvujec@redhat.com>
15492         * src/NetworkManagerDevice.c
15493                 - (nm_get_device_by_udi): don't return a device when we
15494                         actually didn't find what we were looking for
15495
15496 2005-09-06  Christopher Aillon  <caillon@redhat.com>
15497
15498         * gnome/applet/applet-dbus-devices.c:
15499         * gnome/applet/applet-dbus-devices.h:
15500         * gnome/applet/applet-dbus.c:
15501         * src/NetworkManagerDbus.c:
15502         * src/NetworkManagerDbus.h:
15503         * src/NetworkManagerDevice.c:
15504         * src/nm-dbus-device.c:
15505         Make NM push updates about active device strength when it changes,
15506         rather than having the applet poll every 2s.
15507
15508 2005-09-05  Christopher Aillon  <caillon@redhat.com>
15509
15510         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
15511         network_device_set_strength
15512
15513 2005-09-04  Dan Williams  <dcbw@redhat.com>
15514
15515         Patch from Bill Nottingham <notting@redhat.com>
15516         * src/NetworkManagerDevice.c
15517                 - (nm_device_activation_cancel): reset the quit_activation flag
15518
15519 2005-09-04  Dan Williams  <dcbw@redhat.com>
15520
15521         * src/nm-activation-request.c
15522                 - (nm_act_request_unref): actually free the structure,
15523                         which we didn't seem to be doing before
15524
15525 2005-09-04  Dan Williams  <dcbw@redhat.com>
15526
15527         Patch from John Palmieri <johnp@redhat.com>
15528         * gnome/applet/applet-dbus-devices.c
15529                 - Fix up unreffing of DBusMessage objects
15530
15531 2005-09-04  Dan Williams  <dcbw@redhat.com>
15532
15533         Patch from John Palmieri <johnp@redhat.com>
15534         * gnome/applet/nm-device.c
15535                 - (nm_device_unref): clear network_device's memory _before_ freeing it
15536
15537 2005-09-02  Christopher Aillon  <caillon@redhat.com>
15538
15539         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
15540
15541 2005-09-02  Bill Nottingham  <notting@redhat.com>
15542
15543         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
15544
15545 2005-09-01  Dan Williams  <dcbw@redhat.com>
15546
15547         * src/NetworkManager.c
15548                 - (nm_remove_device_from_list): rename to nm_remove_device
15549                 - (nm_hal_device_removed): call nm_remove_device()
15550
15551         * src/NetworkManagerDevice.c
15552                 - Change the NMWirelessScanCB member 'reschedule' which
15553                         wasn't used to 'force' to indicate that we need to
15554                         force a scan when adding a device
15555
15556         * src/nm-dbus-nm.c
15557                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
15558                         from the device list
15559                 - (nm_dbus_nm_wake): Re-add all devices to the device list
15560
15561 2005-09-01  Robert Love  <rml@novell.com>
15562
15563         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
15564           and the check "!iface" in the error case is probably never true.
15565
15566 2005-09-01  Dan Williams  <dcbw@redhat.com>
15567
15568         Patch from Bill Nottingham <notting@redhat.com>
15569         * src/backends/NetworkManagerRedHat.c
15570                 - Add initial dialup support to Red Hat/Fedora backend
15571
15572 2005-09-01  Dan Williams  <dcbw@redhat.com>
15573
15574         * gnome/applet/applet-dbus-devices.c
15575                 - Sort both wireless networks and devices again, which got
15576                         broken when removing threading
15577
15578 2005-09-01  Christopher Aillon  <caillon@redhat.com>
15579
15580         * gnome/applet/applet.c:
15581         Only show the "Stop/Start All Wireless Devices" menuitem
15582         if we actually have wireless devices.
15583
15584         * gnome/applet/applet-dbus-info.c:
15585         * gnome/applet/applet.c:
15586         * gnome/applet/other-network-dialog.c:
15587         * gnome/applet/vpn-password-dialog.c:
15588         Drop the gtk_dialog_run () calls in favor of connecting to
15589         "response" signals, needed now that the applet is not threaded.
15590
15591 2005-08-31  Dan Williams  <dcbw@redhat.com>
15592
15593         Patch from Bill Moss <bmoss@clemson.edu>
15594         * src/NetworkManagerDevice.c
15595                 - (nm_device_wireless_scan): fix scan timeout values
15596
15597 2005-08-30  Dan Williams  <dcbw@redhat.com>
15598
15599         * gnome/applet/wireless-applet.glade
15600                 - HIG-ify the Other Wireless Networks dialog a bit more
15601                 - Fix some potential segfaults in the info dialog
15602
15603 2005-08-30  Dan Williams  <dcbw@redhat.com>
15604
15605         * gnome/applet/applet-dbus-devices.c
15606                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
15607
15608 2005-08-30  Dan Williams  <dcbw@redhat.com>
15609
15610         * gnome/applet/applet-dbus.[ch]
15611                 - Remove all the nmwa_dbus_call_method_xxxx functions since
15612                         they weren't being used anyway
15613
15614 2005-08-30  Bastien Nocera  <hadess@hadess.net>
15615
15616         * test/nmtestdevices.c: (print_usage), (main):
15617         Check the number of arguments, and fix a typo
15618
15619 2005-08-29  Dan Williams  <dcbw@redhat.com>
15620
15621         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
15622         * gnome/applet/applet.c
15623                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
15624
15625 2005-08-29  Dan Williams  <dcbw@redhat.com>
15626
15627         * gnome/applet/*
15628                 - Don't use threads any more.  Anything that blocks
15629                         (like gtk_dialog_run()) will  have to get fixed up which
15630                         should happen quickly.  We really only had threads to make
15631                         the animation smooth, and when everything got converted over
15632                         to DBus Pending Calls, the need for threads kind of went away
15633
15634 2005-08-29  Christopher Aillon  <caillon@redhat.com>
15635
15636         * gnome/applet/applet.c: Draw VPN connections as radio items
15637         since we don't yet support multiple VPNs.
15638         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
15639         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
15640
15641 2005-08-29  Dan Williams  <dcbw@redhat.com>
15642
15643         Patch from j@bootlab.org
15644         - Make --without-named work
15645         - Make --with-dhcdbd work correctly
15646
15647 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
15648
15649         * configure.in: Added "ca" to ALL_LINGUAS.
15650
15651 2005-08-26  Christopher Aillon  <caillon@redhat.com>
15652
15653         * Fix up VPN state handling between the applet and NetworkManager,
15654                 so that the applet doesn't show a VPN as connected when one
15655                 really is not
15656                         - The applet no longer has a pointer to the active VPN's
15657                                 name, but tracks each VPNs state individually
15658                         - NM no longer has a "getActiveVPNConnection" method
15659                         - NM no longer broadcasts the "VPNConnectionChange" signal
15660                         - NM now broadcasts a "VPNConnectionStateChange" signal
15661                                 whenever the state of a VPN changes
15662
15663 2005-08-26  Dan Williams <dcbw@redhat.com>
15664
15665         * gnome/applet/applet-dbus-devices.c
15666           gnome/applet/applet-dbus-vpn.c
15667                 - Remove calls to dbus_pending_call_ref() because we already
15668                         "own" the pending call
15669                 - Remove calls to dbus_pending_call_get_completed() because
15670                         when we are in the callback, the pending call is completed
15671                         by definition
15672
15673 2005-08-22  Dan Williams <dcbw@redhat.com>
15674
15675         Patch by Bill Moss <bmoss@clemson.edu>
15676         * src/dhcp-manager/nm-dhcp-manager.c
15677                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
15678                         some time to send out a RELEASE if they like
15679
15680 2005-08-22  Dan Williams <dcbw@redhat.com>
15681
15682         Noticed by Bill Moss <bmoss@clemson.edu>
15683         * src/NetworkManagerDbus.c
15684                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
15685                         instead of just cancelling its activation
15686
15687         * src/NetworkManagerDevice.c
15688                 - (nm_device_deactivate): some small cleanups
15689                 - (nm_device_set_user_key_for_network): deactivate the device
15690                         instead of just cancelling its activation
15691
15692 2005-08-22  Dan Williams <dcbw@redhat.com>
15693
15694         Noticed by Bill Moss <bmoss@clemson.edu>
15695         * src/NetworkManagerDevice.c
15696                 - (nm_device_wireless_scan): fix scan timeout, we were
15697                         waiting way too long for scans to complete
15698
15699 2005-08-22  Dan Williams <dcbw@redhat.com>
15700
15701         Patch from j@bootlab.org:
15702         * src/backends/NetworkManagerDebian.c
15703                 - Make the Debian backend work for static IP again
15704
15705 2005-08-20  Christopher Aillon  <caillon@redhat.com>
15706
15707         * gnome/applet/other-network-dialog.c:
15708         The "Create New Network" and "Connect to Other Network"
15709         dialogs share alot of code, but shouldn't share a window
15710         title.  Give them different ones.
15711
15712         * gnome/applet/wireless-applet.glade:
15713         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
15714         Some more minor UI tweaks.
15715
15716 2005-08-19  Christopher Aillon  <caillon@redhat.com>
15717
15718         * gnome/applet/other-network-dialog.c:
15719         * gnome/applet/wireless-applet.glade:
15720         Also need mnemonic widgets, and underline enabled.
15721
15722 2005-08-19  Dan Williams <dcbw@redhat.com>
15723
15724         * vpn-daemons/vpnc/nm-vpnc-service.c
15725                 - (vpnc_watch_cb): remove no-longer-relevant comment
15726                 - (write_config_option): new function, helper to write
15727                         config options to vpnc's stdin
15728                 - (nm_vpnc_config_write): use the new helper, make the
15729                         code shorter
15730
15731 2005-08-19  Christopher Aillon <caillon@redhat.com>
15732
15733         * gnome/applet/passphrase-dialog.c:
15734         * gnome/applet/wireless-applet.glade:
15735         Make the passphrase dialog response based, and treat
15736         responses other than OK (such as Esc, [X]) as a cancel.
15737
15738 2005-08-18  Christopher Aillon <caillon@redhat.com>
15739
15740         * initscript/Gentoo/NetworkManager:
15741         * initscript/RedHat/NetworkManager:
15742         * initscript/RedHat/NetworkManagerDispatcher:
15743         * initscript/SUSE/networkmanager:
15744         CVS remove these in place of .in replacements
15745
15746         * configure.in:
15747         * initscript/Gentoo/NetworkManager.in:
15748         * initscript/RedHat/NetworkManager.in:
15749         * initscript/RedHat/NetworkManagerDispatcher.in:
15750         * initscript/SUSE/networkmanager.in:
15751         These scripts now are generated so they work still when
15752         NM is built using a bindir other than /usr/bin
15753
15754 2005-08-18  Dan Williams <dcbw@redhat.com>
15755
15756         * gnome/applet/main.c
15757                 - Revert previous change for --no-session since
15758                         --sm-disable does the same thing
15759
15760 2005-08-18  Dan Williams <dcbw@redhat.com>
15761
15762         * gnome/applet/applet-dbus-info.c
15763                 - (nmi_dbus_create_error_message): new function
15764                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
15765                         functions.  Also don't check for both device _and_ network before
15766                         asking for a user's key, because we may not have gotten all our
15767                         networks back from NM quite yet (due to the dbus pending calls
15768                         coming in later).  Fixes a hang in NM/nm-applet.
15769
15770         * src/NetworkManagerDbus.c
15771                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
15772                         slightly more sane manner, even though we are still broken for
15773                         certain other error conditions.
15774                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
15775                         to the info-daemon too
15776
15777         * src/NetworkManagerDevice.c
15778                 - Fix some debug messages to be info messages instead
15779
15780 2005-08-18  Dan Williams <dcbw@redhat.com>
15781
15782         * gnome/applet/main.c
15783                 - Add new "--no-session" parameter that disables applet
15784                         session management, ie for testing
15785
15786 2005-08-18  Christopher Aillon <caillon@redhat.com>
15787
15788         * gnome/applet/other-network-dialog.c:
15789         * gnome/applet/wireless-applet.glade: More mnemonics
15790
15791 2005-08-17  Robert Love  <rml@novell.com>
15792
15793         * initscript/SUSE/networkmanager: update
15794
15795 2005-08-17  Dan Williams  <dcbw@redhat.com>
15796
15797         * Tag NM_0_4_1_RELEASE
15798
15799 2005-08-17  Christopher Aillon  <caillon@redhat.com>
15800
15801         * gnome/applet/applet.c: More translatable string cleanup
15802
15803
15804 2005-08-17  Dan Williams  <dcbw@redhat.com>
15805
15806         * gnome/applet/applet-dbus-info.c
15807                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
15808                         from the dbus message, which tells us to unconditionally
15809                         ask the user for a new key.  Otherwise, we pull the key from
15810                         the keyring and return it.  If we fail to get the key from the
15811                         keyring, we ask the user for a new key.
15812                 - (nmi_dbus_get_network_key): new function to grab the key for
15813                         an essid from the keyring.
15814                 - (nmi_dbus_get_network_properties): don't access the keyring here.
15815                         Also, don't return any key in the dbus message.
15816
15817         * src/NetworkManagerDbus.[ch]
15818                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
15819                         indicate that we unconditionally want a new key.  This function
15820                         is now also used to get keys from the info-daemon which are
15821                         pre-stored, not just for asking the user for a new key.  The
15822                         "new_key" parameter indicates whether or not we wish to ask the
15823                         user for a new key.
15824                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
15825                         info-daemon in the return message, so use NULL instead.  The
15826                         key will be filled in at connect time by calling
15827                         nm_dbus_get_user_key_for_network()
15828
15829         * src/NetworkManagerDevice.c
15830                 - (nm_device_wireless_configure): update for "new_key" param to
15831                         nm_dbus_get_user_key_for_network().  We initially set new_key
15832                         to FALSE to see if we have a stored key in the info-daemon, but
15833                         if the connection is unsuccessful at this stage we request a
15834                         new one
15835
15836 2005-08-17  Dan Williams  <dcbw@redhat.com>
15837
15838         * gnome/applet/icons/nm-no-connection.png
15839           gnome/applet/icons/nm-device-wired.png
15840                 - Use Diana's new RJ45 connector icons
15841
15842 2005-08-17  Dan Williams  <dcbw@redhat.com>
15843
15844         * src/NetworkManagerPolicy.c
15845                 - (nm_policy_device_change_check): clarify switching rules if
15846                         both new and old devices are valid; mainly, don't switch
15847                         away from user-requested wireless connection back to a wired
15848                         one
15849
15850 2005-08-17  Dan Williams  <dcbw@redhat.com>
15851
15852         * gnome/applet/Makefile.am
15853                 - Relocate the applet to /usr/bin since it is no longer
15854                         executed by anything, but directly by the user
15855
15856 2005-08-17  Dan Williams  <dcbw@redhat.com>
15857
15858         Patch from Bill Moss <bmoss@clemson.edu>
15859
15860         * gnome/applet/applet-dbus-info.[ch]
15861                 - (nmi_save_network_info): save timestamp for network if it
15862                         was a change requested by the user
15863                 - (nmi_dbus_update_network_info): get user_requested from dbus
15864                         message and pass to nmi_save_network_info()
15865
15866         * gnome/applet/applet.c
15867                 - (nmwa_update_network_timestamp): remove
15868                 - (nmwa_menu_item_activate): don't set timestamp on networks
15869                         here, only after a successful connect in nmi_save_network_info()
15870
15871         * src/NetworkManagerDbus.[ch]
15872                 - (nm_dbus_update_network_info): pass user_requested into the 
15873                         dbus message
15874
15875         * src/NetworkManagerPolicy.c
15876                 - (nm_policy_activation_finish): pass user_requested to
15877                         nm_dbus_update_network_info()
15878
15879 2005-08-16  Robert Love  <rml@novell.com>
15880
15881         * gnome/applet/applet.c: Better "Dial Up" menu item.
15882
15883 2005-08-16  Robert Love  <rml@novell.com>
15884
15885         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
15886           "Connection Information" menu item.
15887
15888 2005-08-16  Dan Williams  <dcbw@redhat.com>
15889
15890         Patch from j@bootlab.org
15891         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
15892
15893         * configure.in: allow specifying the path to dhcdbd
15894
15895 2005-08-16  Robert Love  <rml@novell.com>
15896
15897         Patch from j@bootlab.org
15898         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
15899           src/backends/interface_parser.h: Debian dialup support.
15900
15901 2005-08-16  Christopher Aillon  <caillon@redhat.com>
15902
15903         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
15904         * gnome/applet/applet.c: Add some mnemonics for VPNC
15905
15906         * vpn-daemons/.cvsignore: fix this up a little bit
15907
15908 2005-08-16  Robert Love  <rml@novell.com>
15909
15910         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
15911           support.
15912
15913 2005-08-16  Christopher Aillon  <caillon@redhat.com>
15914
15915         * gnome/applet/applet.c: Split markup out of translatable strings
15916         and clean up logic a little bit.  (fixes #309012)
15917
15918 2005-08-15  Christopher Aillon  <caillon@redhat.com>
15919
15920         * gnome/vpn-properties/nm-vpn-properties.c:
15921         * gnome/vpn-properties/nm-vpn-ui-interface.h:
15922         * vpn-daemons/vpnc/properties/nm-vpnc.c:
15923         Makeshift fix to remove newlines from translatable strings.
15924         Note that we now return an allocated string, so callers of
15925         get_confirmation_details () must now call g_free () on the
15926         result. (fixes #309033).
15927
15928 2005-08-12  Robert Love  <rml@novell.com>
15929
15930         * gnome/applet/applet-dbus.c: remove newlines from translatable
15931           strings--not needed here anyway. (fix b.g.o #309011)
15932         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
15933
15934 2005-08-11  Robert Love  <rml@novell.com>
15935
15936         * gnome/applet/applet.c: mark string as translatable.
15937
15938 2005-08-11  Robert Love  <rml@novell.com>
15939
15940         * initscript/SUSE/networkmanager: update.
15941
15942 2005-08-11  Dan Williams  <dcbw@redhat.com>
15943
15944         * src/nm-dhcp-manager.c
15945                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
15946                         an gateway returned from DHCP, try to use the address of the DHCP
15947                         server as the gateway instead.  Found by Ralf Ertzinger.
15948
15949 2005-08-10  Robert Love  <rml@novell.com>
15950
15951         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
15952           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
15953
15954 2005-08-10  Dan Williams  <dcbw@redhat.com>
15955
15956         Patch from Bill Moss <bmoss@clemson.edu>
15957         * Consolidate writes of access point information updates to the info daemon
15958                 so that we only do it when the connection to the access point was
15959                 successful.  Also consolidates updates to GConf in the Gnome applet.
15960
15961         * src/nm-netlink-monitor.c
15962                 - Silence compile warning when calling g_object_new()
15963
15964 2005-08-08  Dan Williams  <dcbw@redhat.com>
15965
15966         Patch from Steev <steev@steev.net>:
15967         * src/backends/NetworkManagerGentoo.c
15968                 - Stub new dialup backend functions
15969
15970 2005-08-08  Dan Williams  <dcbw@redhat.com>
15971
15972         Patch from Colin Slater:
15973         * src/backends/NetworkManagerGentoo.c
15974                 - (nm_system_update_dns): Fix exit status check for restarting
15975                         nscd
15976
15977 2005-08-05  Robert Love  <rml@novell.com>
15978
15979         * NetworkManager.h,
15980           gnome/applet/applet-dbus-devices.c,
15981           gnome/applet/applet-dbus-devices.h,
15982           gnome/applet/applet-dbus.c,
15983           gnome/applet/applet.c,
15984           gnome/applet/applet.h,
15985           src/NetworkManager.c,
15986           src/NetworkManagerMain.h,
15987           src/NetworkManagerSystem.h,
15988           src/backends/NetworkManagerRedHat.c,
15989           src/backends/NetworkManagerSuSE.c,
15990           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
15991
15992 2005-08-05  Robert Love  <rml@novell.com>
15993
15994         * gnome/applet/other-network-dialog.c: default the adhoc network to the
15995           machine's hostname to make adhoc creation idiot-proof.
15996
15997 2005-08-04  Robert Love  <rml@novell.com>
15998
15999         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
16000           freed.
16001
16002 2005-08-04  Dan Williams  <dcbw@redhat.com>
16003
16004         * gnome/applet/applet-dbus-info.c
16005           gnome/applet/applet-dbus-info.h
16006                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
16007                         to store key, key type, and auth method rather than just auth method
16008                 - (nmi_dbus_update_network_info): new function
16009                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
16010
16011         * gnome/applet/passphrase-dialog.c
16012                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
16013                         of saving the info ourselves
16014
16015         * gnome/libnm_glib/libnm_glib.c
16016                 - Remove the stupid version check for dbus
16017
16018         * src/NetworkManagerAP.c
16019           src/NetworkManagerAP.h
16020                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
16021
16022         * src/NetworkManagerDbus.c
16023           src/NetworkManagerDbus.h
16024                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
16025                         more than just the auth method
16026
16027         * src/NetworkManagerDevice.c
16028                 - Update network info at the appropriate times
16029
16030 2005-07-29  Ray Strode  <rstrode@redhat.com>
16031
16032         * src/NetworkManager.c (nm_info_handler): don't use input as format
16033         string (Spotted by Ian Jackson).
16034
16035 2005-07-27  Dan Williams  <dcbw@redhat.com>
16036
16037         * src/nm-dbus-nm.c
16038           src/nm-dbus-net.c
16039                 - Random cleanups of spacing
16040
16041         * gnome/applet/applet.h
16042           gnome/applet/other-network-dialog.c
16043           gnome/applet/passphrase-dialog.c
16044                 - Conslidate usage of NMWAEncryptionKeyTypes enum
16045
16046         Patch from Bill Moss:
16047                 - Make Other Wireless Networks work again with encryption keys
16048
16049 2005-07-26  Dan Williams  <dcbw@redhat.com>
16050
16051         Patch from Steev <steev@steev.net>:
16052         * src/backends/NetworkManagerGentoo.c
16053           src/backends/Makefile.am
16054                 - Fix up Gentoo backend
16055
16056 2005-07-26  Robert Love  <rml@novell.com>
16057
16058         * src/backends/NetworkManagerSuSE.c: misc. cleanup
16059
16060 2005-07-25  Robert Love  <rml@novell.com>
16061
16062         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
16063           in the same group as the wireless networks, since they are all
16064           mutually exclusive.
16065
16066 2005-07-24  Ray Strode  <rstrode@redhat.com>
16067
16068         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
16069         remove unneeded NULL arg from g_object_new().  Any
16070         warnings caused by not having the extra NULL are just a
16071         result of a bug in glib 2.7.0 - 2.7.2.
16072
16073 2005-07-22  Robert Love  <rml@novell.com>
16074
16075         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
16076
16077 2005-07-22  Robert Love  <rml@novell.com>
16078
16079         * src/nm-netlink-monitor.c: g_object_new() needs at least three
16080           parameters (gcc 4.0.2 warning fix).
16081
16082 2005-07-18  Robert Love  <rml@novell.com>
16083
16084         Suggested by Aaron Bockover (abockover@novell.com)
16085         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
16086           s/Ascii/ASCII
16087         * gnome/applet/passphrase-dialog.c: ditto
16088         * gnome/applet/wireless-applet.glade: ditto
16089
16090 2005-07-13  Dan Williams  <dcbw@redhat.com>
16091
16092         Patch from Ray Strode <halfline@gmail.com>
16093         * vpn-daemons/vpnc/nm-vpnc-service.c
16094                 - Don't let vpnc daemonize, fixes some races with PID file reading
16095
16096 2005-07-13  Dan Williams  <dcbw@redhat.com>
16097
16098         Patch from Ray Strode <halfline@gmail.com>
16099         * Random cleanups for strict CFLAGS
16100
16101 2005-07-07  Dan Williams  <dcbw@redhat.com>
16102
16103         Patch from Derek Atkins <warlord@MIT.EDU>
16104         * src/nm-dbus-net.c:
16105                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
16106
16107 2005-07-07  Dan Williams  <dcbw@redhat.com>
16108
16109         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
16110         * src/backends/NetworkManagerGentoo.c
16111                 - Gentoo backend Static IP nameserver fixes
16112                 - General Gentoo backend goodness
16113
16114 2005-07-07  Dan Williams  <dcbw@redhat.com>
16115
16116         Patch from Bastien Nocera:
16117         * gnome/applet/applet.c
16118                 - Fix up error reporting when icons or glade files are missing
16119
16120 2005-07-07  Robert Love  <rml@novell.com>
16121
16122         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
16123           are not any VPN connections above it.
16124
16125 2005-07-07  Robert Love  <rml@novell.com>
16126
16127         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
16128
16129 2005-07-05  Robert Love  <rml@novell.com>
16130
16131         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
16132           zero.
16133
16134 2005-07-05  Robert Love  <rml@novell.com>
16135
16136         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
16137           on wired or unencrypted wireless.
16138
16139 2005-07-01  Robert Love  <rml@novell.com>
16140
16141         * src/NetworkManagerSystem.c: Print the error via strerror().
16142
16143 2005-06-30  Robert Love  <rml@novell.com>
16144
16145         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
16146           then exit if the glade file is not found.  currently the application
16147           just hangs.
16148
16149 2005-06-30  Robert Love  <rml@novell.com>
16150
16151         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
16152           explicitly up all interfaces on wake from sleep.
16153
16154 2005-06-30  Robert Love  <rml@novell.com>
16155
16156         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
16157           with information about the currently active connection.
16158         * gnome/applet/applet.h: (ditto)
16159         * gnome/applet/wireless-applet.glade: (ditto), new file
16160
16161 2005-06-30  Robert Love  <rml@novell.com>
16162
16163         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
16164         * src/nm-dbus-nm.c: print when we sleep and wake up.
16165         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
16166         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
16167           in /sbin unless D-BUS is, folks).
16168         * README: update to reflect nm-applet replacing NetworkManagerInfo.
16169
16170 2005-06-27  Robert Love  <rml@novell.com>
16171
16172         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
16173           case.
16174
16175 2005-06-27  Robert Love  <rml@novell.com>
16176
16177         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
16178           items radios.
16179
16180 2005-06-26  Robert Love  <rml@novell.com>
16181
16182         * src/NetworkManagerDevice.c: be specific about which device in
16183           nm_info() message.
16184
16185 2005-06-23  Adam Weinberger  <adamw@gnome.org>
16186
16187         * src/nm-netlink-monitor.c: correct spelling error.
16188
16189 2005-06-23  Robert Love  <rml@novell.com>
16190
16191         * gnome/applet/applet-dbus-info.c: gnome keyring support!
16192         * gnome/applet/passphrase-dialog.c: more of that keyring!
16193
16194 2005-06-23  Robert Love  <rml@novell.com>
16195
16196         * configure.in: remove extraneous GNOMEKEYRING directives.
16197         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
16198         * gnome/applet/applet.c: nmwa_icons_init: make style local.
16199         * gnome/applet/passphrase-dialog.c: whitespace.
16200
16201 2005-06-23  Robert Love  <rml@novell.com>
16202
16203         * src/NetworkManagerDevice.c: division in assignment was flipped.
16204
16205 2005-06-23  David Zeuthen  <david@fubar.dk>
16206
16207         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
16208         signal to the child to indicate that we got what we wanted when we
16209         see two new-lines right after each other.
16210         (nmwa_vpn_request_password): Pass a structure with several members
16211         instead of just the passwords
16212
16213 2005-06-23  Dan Williams <dcbw@redhat.com>
16214
16215         * src/NetworkManager.c
16216           src/NetworkManagerMain.h
16217                 - (nm_get_hal_ctx): new function, move Hal initialization code here
16218                 - (nm_hal_init): new function, init libhal context then add devices
16219                 - (nm_hal_deinit): new function, clean up libhal context
16220                 - (nm_data_free): Move Hal cleanup here
16221                 - (main): check whether Hal is running, and if so, get a list of
16222                         network devices from it
16223
16224         * src/NetworkManagerDbus.c
16225                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
16226                         and when it appears, get a list of network devices from it.  If
16227                         Hal goes away, clean up the libhal context
16228
16229 2005-06-22  Robert Love  <rml@novell.com>
16230
16231         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
16232           permissions of scripts before executing.
16233
16234 2005-06-21  Robert Love  <rml@novell.com>
16235
16236         * initscript/SUSE/networkmanager: update.
16237         * src/backends/NetworkManagerSuSE.c: cleanup.
16238
16239 2005-06-21  Robert Love <rml@novell.com>
16240
16241         * gnome/applet/applet.c: use menu mnemonics.
16242         * gnome/applet/menu-items.c: (ditto)
16243
16244 2005-06-21  Robert Love  <rml@novell.com>
16245
16246         * applet/applet-dbus-devices.c: mark non-static functions static.
16247         * applet/applet-dbus-vpn.c: (ditto)
16248         * applet/applet.c: (ditto)
16249         * applet/nm-device.h: (ditto)
16250         * applet/other-network-dialog.c: (ditto)
16251         * applet/passphrase-dialog.c: (ditto)
16252         * NetworkManager.c: (ditto)
16253         * NetworkManagerDbus.c: (ditto)
16254         * NetworkManagerDevice.c: (ditto)
16255         * NetworkManagerPolicy.c: (ditto)
16256         * NetworkManagerUtils.c: (ditto)
16257         * NetworkManagerWireless.c: (ditto)
16258         * NetworkManagerWireless.h: (ditto)
16259         * nm-netlink-monitor.c: (ditto)
16260         * applet/applet-dbus-info.c: (ditto), add FIXME's.
16261         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
16262         * autoip.c: include autoip.h.
16263         * autoip.h: new file.  define get_autoip().
16264         * nm-netlink-monitor.h: define nm_netlink_close_connection().
16265         * NetworkManagerDbus.h: remove duplicate definitions.
16266
16267 2005-06-20  Robert Love  <rml@novell.com>
16268
16269         * Makefile.am: Add missing intltool-foo.in generated files to
16270           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
16271           with the start of stuff to cleanup on 'distclea'.
16272         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
16273           stuff right and 'distcheck' works.
16274         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
16275           we keep it, we need to add all of examples/* to EXTRA_DIST and do
16276           Makefile.am for each.  And systray/Makefile needs to be redone.
16277
16278 2005-06-19  Dan Williams <dcbw@redhat.com>
16279
16280         * src/NetworkManagerDevice.c
16281         - (nm_device_wireless_process_scan_results): scan every 20s when
16282           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
16283
16284 2005-06-19  Dan Williams <dcbw@redhat.com>
16285
16286         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
16287
16288 2005-06-18  Ray Strode <rstrode@redhat.com>
16289
16290         * src/nm-netlink-monitor.c 
16291         (nm_netlink_monitor_event_handler): check for the presence
16292         of either error condition not both. 
16293         
16294         (nm_netlink_monitor_error_handler): emit error signal if
16295         error occurs.
16296
16297         (nm_netlink_monitor_event_handler),
16298         (nm_netlink_monitor_error_handler),
16299         (nm_netlink_monitor_disconnect_handler): if an 
16300         assertion fails disconnect the event handler to prevent 
16301         infinite loops.
16302
16303         * src/nm-netlink-monitor.h: add new error condition
16304         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16305
16306 2005-06-18  Ray Strode <rstrode@redhat.com>
16307
16308         * src/nm-netlink-monitor.c 
16309         (nm_netlink_monitor_event_handler): remove bogus < 0
16310         check on unsigned value and return early if the kernel
16311         didn't send any bytes.
16312
16313 2005-06-17  Robert Love  <rml@novell.com>
16314
16315         * initscript/SUSE/networkmanager: Change the Provides and default
16316         run levels
16317
16318 2005-06-16  Dan Williams <dcbw@redhat.com>
16319
16320         Patch from Robert Love:
16321         * gnome/applet/applet.c
16322                 - Beautify some applet menu item names
16323
16324 2005-06-17  David Zeuthen  <davidz@redhat.com>
16325
16326         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
16327         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
16328         Also add new methods can_export, import_file and export.
16329
16330         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
16331         to the main UI
16332
16333         * gnome/vpn-properties/nm-vpn-properties.c:
16334         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
16335         nm-vpn-ui-interface.h.
16336         (update_edit_del_sensitivity): Also update "Export" sensitivity
16337         (add_vpn_connection): Also add new SVC_NAME column
16338         (import_settings): New function
16339         (retrieve_data_from_selected_connection): New function
16340         (edit_cb): Use retrieve_data_from_selected_connection to simplify
16341         this function
16342         (export_cb): New function
16343         (init_app): Also setup the "export" widget
16344         (main): Support the --import-service and --import-file commandline
16345         arguments
16346
16347         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
16348         D-BUS 0.34
16349
16350 2005-06-16  Dan Williams <dcbw@redhat.com>
16351
16352         Patch from Robert Love:
16353         * gnome/applet/menu-items.c
16354                 - (network_menu_item_new): pass -1 as wireless network
16355                         menu items height size request rather than ascent / 2
16356
16357 2005-06-16  Dan Williams <dcbw@redhat.com>
16358
16359         * Clean up wording in Wireless Scan Methods menu items and constants
16360
16361 2005-06-16  Robert Love  <rml@novell.com>
16362
16363         * po/POTFILES.in
16364                 - remove gtkcell* files
16365
16366 2005-06-15  Dan Williams <dcbw@redhat.com>
16367
16368         Patch from Robert Love: make the applet stetic
16369
16370         * gnome/applet/Makefile.am
16371                 - Don't compile the gtkcellview and gtkcellrendererprogress files
16372
16373         * gnome/applet/gtkcellview.h
16374           gnome/applet/gtkcellview.c
16375           gnome/applet/gtkcellrendererprogress.h
16376           gnome/applet/gtkcellrendererprogress.c
16377                 - Removed
16378
16379         * gnome/applet/menu-items.c
16380                 - Progress bars are 5:1 size ratio
16381                 - Use GTK progress bars rather than internal ones
16382
16383 2005-06-15  Dan Williams <dcbw@redhat.com>
16384
16385         Patch from Robert Love:
16386         * initscript/SUSE/networkmanager
16387                 - Fix typo
16388
16389 2005-06-15  Dan Williams <dcbw@redhat.com>
16390
16391         * src/backends/NetworkManagerSuSE.c
16392           src/backends/NetworkManagerRedHat.c
16393           src/backends/NetworkManagerDebian.c
16394                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
16395
16396 2005-06-15  Dan Williams <dcbw@redhat.com>
16397
16398         * src/backends/NetworkManagerDebian.c
16399                 - Add nm_system_device_get_use_dhcp() to debian backend
16400
16401         Patch from Kay Sievers:
16402         * src/backends/NetworkManagerSuSE.c
16403                 - Update debian backend for static IP nameservers
16404
16405         * src/NetworkManagerDevice.c
16406                 - Actually set the device to use static IP or DHCP rather
16407                         than always DHCP
16408
16409 2005-06-15  Dan Williams <dcbw@redhat.com>
16410
16411         Patch from Thom May:
16412         * src/backends/NetworkManagerDebian.c
16413                 - Update debian backend for static IP nameservers
16414
16415 2005-06-15  Dan Williams <dcbw@redhat.com>
16416
16417         Patches from Robert Love:
16418         * gnome/applet/wireless-applet.glade
16419                 - Tighten up wording
16420
16421         * src/NetworkManagerDevice.c
16422                 - Remove misplaced ';'
16423
16424         * configure.in
16425           initscript/Makefile.am
16426           initscript/SUSE/Makefile.am
16427           initscript/SUSE/networkmanager
16428                 - Add SUSE initscript
16429
16430 2005-06-12  David Zeuthen  <davidz@redhat.com>
16431
16432         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
16433
16434         * gnome/vpn-properties/nm-vpn-properties.glade: New file
16435
16436         * gnome/vpn-properties/nm-vpn-properties.c: New file
16437
16438         * gnome/vpn-properties/Makefile.am: New file
16439
16440         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
16441         array of passwords
16442
16443         * src/vpn-manager/nm-vpn-manager.c
16444         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
16445         instead of just a single one
16446
16447         * src/vpn-manager/nm-dbus-vpn.c:
16448         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
16449         here
16450         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
16451
16452         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
16453         Change the interface here to give a list of passwords. Also, don't
16454         require username, but do require service
16455
16456         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
16457         the binary for the auth-dialog and use that instead of putting up a
16458         dialog asking for a single password
16459
16460         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
16461         however do remember the service
16462
16463         * gnome/applet/main.c (main): Setup i18n
16464
16465         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
16466         connection to '%s'" to the tooltip if we are connected using VPN
16467         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
16468         key to determine whether we the auth-dialog needs to
16469         reprompt. Also cope with the fact that the auth-dialog now returns
16470         an array of passwords.
16471         (nmwa_menu_configure_vpn_item_activate): New handler for
16472         "Configure VPN..." menu item
16473         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
16474         (is_vpn_available): New function to determine if we got any
16475         NM-compatible VPN software installed
16476         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
16477         items only if we have NM-compatible VPN software installed
16478         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
16479         logic for detecting when VPN connections are removed
16480
16481         * gnome/applet/applet-dbus.h: Removed the prototypes for 
16482         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
16483         since these are defined elsewhere
16484
16485         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
16486         function used to keep track of whether the last attempt succeded
16487         (nmwa_dbus_filter): Update last_attempt according to whether the
16488         VPN connection could be established or not
16489
16490         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
16491         Change prototype to take an array of passwords, not just a single
16492         password
16493
16494         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
16495         update service, not user
16496         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
16497         dbus_active_vpn_name is not NULL before using it
16498         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
16499         string array instead of assuming a single password
16500
16501         * gnome/applet/applet-dbus-info.c:
16502         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
16503         user name; don't read from gconf
16504
16505         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
16506         VPN_NAME_FILES_DIR
16507
16508         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
16509
16510         * configure.in: Add checks for gmodule-2.0.
16511         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
16512         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
16513         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
16514         for details
16515
16516         * vpn-daemons/Makefile.am: Removed
16517
16518         * vpn-daemons/README: New file to describe extensions points for VPN
16519         software
16520
16521 2005-06-10  Dan Williams <dcbw@redhat.com>
16522
16523         * src/backends/NetworkManagerRedHat.c
16524                 - (get_current_profile_name): new function, grab current network profile name from
16525                         /etc/sysconfig/network
16526                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
16527                         update an IP4 Config structure's settings from it
16528                 - (nm_system_device_get_system_config): if we're using static IP on this device,
16529                         get DNS info from current network profile
16530
16531 2005-06-09  Dan Williams <dcbw@redhat.com>
16532
16533         Patch from Robert Love:
16534         * src/NetworkManagerDevice.c
16535           src/NetworkManagerUtils.c
16536                 - 64-bit build fixes
16537
16538 2005-06-09  Dan Williams <dcbw@redhat.com>
16539
16540         Patch from Kay Sievers and Robert Love:
16541         * configure.in
16542           src/backends/Makefile.am
16543           src/backends/NetworkManagerSuSE.c
16544                 - Add SuSE support
16545
16546 2005-06-09  Dan Williams <dcbw@redhat.com>
16547
16548         * NetworkManager.h
16549                 - Add NMWirelessScanMethod enum for scan methods
16550
16551         * gnome/applet/applet-dbus-devices.c
16552                 - (nmwa_dbus_update_scanning_enabled_cb): remove
16553                 - (nmwa_dbus_update_scanning_enabled): remove
16554                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
16555                         since it got removed
16556                 - (nmwa_dbus_enable_scanning): remove
16557
16558         * gnome/applet/applet-dbus-info.c
16559                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
16560                         update the wireless scanning method from NMI
16561                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
16562                         method value to NetworkManager
16563                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
16564
16565         * gnome/applet/applet-dbus-info.h
16566                 - Add prototype for nmi_dbus_signal_update_scan_method
16567
16568         * gnome/applet/applet.c
16569                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
16570                         Wireless Scanning menu based on current wireless scan method
16571                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
16572                         signal for Wireless Scanning menu items, tell NetworkManager the new method
16573                         and update our menu items to make sure the right one is checked
16574                 - (nmwa_set_scanning_enabled_cb): remove
16575                 - (nmwa_context_menu_update): remove references to pause_scanning_item
16576                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
16577                         Scanning menu item
16578                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
16579                         from GConf
16580                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
16581                         so we get notified of preference values too
16582                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
16583
16584         * gnome/applet/applet.h
16585                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
16586                 - Add wireless scan method member to applet data
16587                 - Remove pause_scanning_item, add Wireless Scanning submenu
16588
16589         * src/NetworkManager.c
16590                 - (nm_data_new): default to NM_SCAN_METHOD_ON
16591                 - (main): grab scanning method from NMI if we can
16592
16593         * src/NetworkManagerDbus.c
16594                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
16595                         nm_dbus_update_wireless_scan_method()
16596                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
16597                         from NMI
16598                 - (nm_dbus_nmi_is_running): redundant function, removed
16599                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
16600                         when NMI comes back
16601
16602         * src/NetworkManagerDevice.c
16603                 - (nm_device_is_activated): return TRUE if the device is activated
16604                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
16605                         and we are activated
16606
16607         * src/nm-dbus-nm.c
16608                 - (nm_dbus_nm_set_scanning_enabled): removed
16609                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
16610                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
16611
16612 2005-06-09  Dan Williams <dcbw@redhat.com>
16613
16614         * NetworkManager.h
16615           src/vpn-manager/nm-vpn-service.c
16616                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
16617
16618 2005-05-27  Dan Williams <dcbw@redhat.com>
16619
16620         * vpn-daemons/vpnc/nm-vpnc-service.c
16621                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
16622                         Should fix the bug where the VPN connection terminates the first time.
16623
16624 2005-05-20  Dan Williams <dcbw@redhat.com>
16625
16626         * NetworkManager.h
16627                 - Differentiate VPN config signals between bad VPN config options
16628                         and bad IP config
16629
16630         * gnome/applet/applet-dbus-info.h
16631                 - Add prototypes for wireless network and vpn connection update functions
16632
16633         * gnome/applet/applet-dbus.c
16634                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
16635
16636         * gnome/applet/applet.c
16637                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
16638                         error signals
16639                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
16640                         propogation to NetworkManager
16641                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
16642                         notify propogation to NetworkManager
16643
16644         * src/NetworkManagerDbus.c
16645                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
16646                         are updating so a network can be removed from it if necessary
16647
16648         * src/vpn-manager/nm-vpn-manager.c
16649                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
16650
16651         * vpn-daemons/vpnc/nm-vpnc-service.c
16652                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
16653                 - (nm_vpnc_dbus_signal_launch_failed): remove
16654                 - (nm_vpnc_dbus_signal_connect_failed): remove
16655                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
16656                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
16657                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
16658                         for new generalized error signal function, remove config file stuff
16659                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
16660                         we can write configuration options to it
16661                 - (nm_vpnc_config_file_generate): removed
16662                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
16663                 - (nm_vpnc_config_options_validate): validate the config options we receive
16664                         from NetworkManager to block potential exploits
16665                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
16666                         starting vpnc
16667                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
16668                         to NetworkManager
16669
16670 2005-05-16  Dan Williams  <dcbw@redhat.com>
16671
16672         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
16673                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
16674                         is not "connect"
16675
16676 2005-05-16  Dan Williams  <dcbw@redhat.com>
16677
16678         Patch from Tomislav Vujec <tvujec@redhat.com>
16679         * gnome/applet/applet-dbus-info.c
16680                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
16681                         GConf and pass them to NetworkManager.  New key is 'routes' under
16682                         the VPN connection, and should be a string list
16683
16684         * src/NetworkManagerSystem.c
16685                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
16686                         set them on the device when we set the rest of the VPN config.  Ensure
16687                         they are in the correct format since they are passed directly to the
16688                         command line.
16689
16690         * src/backends/NetworkManagerRedHat.c
16691           src/backends/NetworkManagerDebian.c
16692                 - (nm_system_device_add_route_via_device_with_iface): new function
16693
16694         * src/vpn-manager/nm-dbus-vpn.c
16695                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
16696
16697         * src/vpn-manager/nm-vpn-manager.c
16698                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
16699                         them into the IP4 config functions
16700
16701 2005-05-15  Dan Williams  <dcbw@redhat.com>
16702
16703         From Filip Miletic:
16704         * po/sr.po
16705           po/sr@Latn.po
16706           configure.in
16707                 - Serbian translation added
16708
16709 2005-05-15  Dan Williams  <dcbw@redhat.com>
16710
16711         * dispatcher-daemon/NetworkManagerDispatcher.c
16712                 - (main): sync arguments with NetworkManager and the applet, now use
16713                         "--no-daemon" rather than "daemon=no"
16714                 - (nmd_print_usage): Fix script path in usage message
16715
16716 2005-05-15  Dan Williams  <dcbw@redhat.com>
16717
16718         * src/NetworkManagerDevice.[ch]
16719           src/NetworkManagerPolicy.c
16720           src/NetworkManager.c
16721           src/nm-dbus-nm.c
16722                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
16723                         longer send the DeviceNoLongerActive signal unconditionally, but only
16724                         when the device is actually active.
16725
16726         * dispatcher-daemon/NetworkManagerDispatcher.c
16727                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
16728                         and simplify the logic
16729                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
16730                         we free it later on
16731
16732         * initscript/RedHat/Makefile.am
16733           initscript/RedHat/NetworkManagerDispatcher
16734                 - Add initscript for NetworkManagerDispatcher
16735
16736
16737         Patch from Bill Moss:
16738         * dispatcher-daemon/NetworkManagerDispatcher.c
16739                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
16740
16741         * src/NetworkManagerDbus.c
16742                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
16743                         and DeviceNowActive gets signaled, then the device has a new IP address
16744                         anyway.  There's no need for a separate signal.
16745
16746         * src/NetworkManagerDevice.c
16747                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
16748
16749         * src/NetworkManagerPolicy.c
16750                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
16751                         activates successfully.  This kind of went missing when I reworked the
16752                         activation code.
16753
16754 2005-05-15  Dan Williams  <dcbw@redhat.com>
16755
16756         * configure.in
16757                 - Check for dhcdbd and error if its not found
16758
16759         * src/dhcp-manager/Makefile.am
16760           src/dhcp-manager/nm-dhcp-manager.c
16761                 - Use path to dhcdbd that configure found
16762
16763 2005-05-14  Dan Williams  <dcbw@redhat.com>
16764
16765         * gnome/applet/nm-device.c
16766                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
16767                         sort wireless networks alphabetically
16768
16769         * gnome/applet/applet-dbus-devices.c
16770                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
16771                         before copying them over to the GUI
16772
16773 2005-05-14  Dan Williams  <dcbw@redhat.com>
16774
16775         * src/NetworkManager.c
16776                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
16777                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
16778                         the device list, as does nm_get_active_device() which is called from
16779                         nm_vpn_manager_deactivate_vpn_connection().
16780
16781 2005-05-14  Dan Williams  <dcbw@redhat.com>
16782
16783         * NetworkManager.h
16784                 - Add signals for VPN Launch and Connect failures
16785
16786         * gnome/applet/applet-dbus.c
16787                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
16788
16789         * gnome/applet/applet.c
16790                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
16791                         function to handle all VPN failure messages
16792                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
16793                         function to hanlde all VPN failure  messages
16794                 - (show_warning_dialog): work around focus-stealing prevention
16795
16796         * gnome/applet/other-network-dialog.c
16797           gnome/applet/passphrase-dialog.c
16798                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
16799                         problem where it never enabled for ASCII Key and Hex Key types
16800
16801         * gnome/applet/wireless-applet.glade
16802                 - Add window title to Other Wireless Network Dialog
16803
16804         * src/vpn-manager/nm-dbus-vpn.c
16805                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
16806                         function to handle all VPN failure messages
16807
16808         * src/vpn-manager/nm-vpn-manager.c
16809                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
16810
16811         * vpn-daemons/vpnc/nm-vpnc-service.c
16812                 - (nm_vpnc_dbus_signal_launch_failed): new function
16813                 - (nm_vpnc_dbus_signal_connect_failed): new function
16814                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
16815                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
16816                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
16817                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
16818
16819 2005-05-11  Dan Williams  <dcbw@redhat.com>
16820
16821         * vpn-daemons/vpnc/nm-vpnc-service.c
16822                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
16823                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
16824                         file exists before trying to write it out.
16825
16826 2005-05-10  Dan Williams  <dcbw@redhat.com>
16827
16828     * gnome/applet/applet-dbus-device.c
16829         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
16830             prevented just entering ESSID and leaving key and key type up to
16831             NetworkManager (which should have them already cached)
16832
16833 2005-05-08  Dan Williams  <dcbw@redhat.com>
16834
16835         * src/NetworkManagerPolicy.c
16836                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
16837                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
16838                         fix a situation where NM is told to terminate and the device stops activation,
16839                         but the main thread isn't aware of that because it would never have run
16840                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
16841                         had already quit.
16842
16843         * src/NetworkManagerDevice.c
16844                 - (nm_device_probe_wired_link_state): cosmetic fixes
16845                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
16846                         we've failed to activate or been canceled.
16847                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
16848
16849 2005-05-08  Dan Williams  <dcbw@redhat.com>
16850
16851         * src/NetworkManagerWireless.c
16852                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
16853                         value of WEXT quality structures, and add a debug message when we cannot
16854                         determine any quality % at all
16855
16856 2005-05-08  Dan Williams  <dcbw@redhat.com>
16857
16858         * src/dhcp-manager/nm-dhcp-manager.c
16859                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
16860                         it goes down.
16861
16862 2005-05-06  Dan Williams  <dcbw@redhat.com>
16863
16864         * gnome/applet/applet-dbus-device.c
16865           gnome/applet/applet-dbus-info.c
16866           gnome/applet/applet-dbus.c
16867           gnome/applet/applet.c
16868           gnome/applet/applet.h
16869                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
16870
16871         * gnome/applet/applet-dbus.c
16872                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
16873                         so we notice when wired device's carriers come back on.  Should
16874                         fix issue with wired devices being grayed out even if the cable
16875                         is in, for devices that support carrier detection.
16876
16877         * gnome/applet/applet.c
16878                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
16879                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
16880                         tooltip message
16881                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
16882                         Fix situation where applet wouldn't respond to menu selections
16883
16884         * src/NetworkManager.c
16885           src/NetworkManagerDevice.c
16886           src/NetworkManagerDbus.c
16887           src/NetworkManagerDbus.h
16888                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
16889
16890         * src/NetworkManagerDbus.c
16891                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
16892                         Remove, no longer used or relevant
16893                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
16894                 - (nm_dbus_schedule_device_status_change_signal): add
16895
16896         * src/NetworkManagerDevice.c
16897                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
16898                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
16899                         ie don't deactivate them unless explicitly told to by the user.  Also send
16900                         CARRIER_OFF / CARRIER_ON signals when link changes
16901                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
16902                         Don't print error message when device is no longer around
16903                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
16904                         not just during activation
16905
16906         * src/NetworkManagerPolicy.c
16907                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
16908                         auto-device-selection.
16909                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
16910
16911         * src/NetworkManagerSystem.c
16912                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
16913                         is no longer present (Bill Moss)
16914
16915         * src/backends/shvar.c
16916                 - (svOpenFile): Open read-only to make SELinux happy
16917
16918         * src/backends/NetworkManagerRedHat.c
16919                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
16920                         the path to the ifcfg-* files
16921
16922 2005-05-05  Dan Williams  <dcbw@redhat.com>
16923
16924         * Expose activation stages to NetworkManager clients, like the applet
16925         * Add Diana's progress icons to the applet, cued off NM activation stage
16926         * Use more descriptive tooltips, cued off NM activation stage
16927
16928 2005-05-05  Ray Strode  <rstrode@redhat.com>
16929
16930         * src/nm-netlink-monitor.c:
16931                 - Use clear_event_source instead of g_nullify_pointer() again.
16932
16933 2005-05-05  Dan Williams  <dcbw@redhat.com>
16934
16935         * gnome/applet/main.c
16936                 - Fix session management so the applet is actually managed now
16937
16938         * gnome/applet/passphrase-dialog.c
16939                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
16940
16941 2005-05-05  Dan Williams  <dcbw@redhat.com>
16942
16943         Patch from Bill Moss:
16944         * gnome/libnm_glib/libnm_glib.c
16945                 - Fix for dbus-0.33
16946
16947 2005-05-05  Dan Williams  <dcbw@redhat.com>
16948
16949         Suggestion from Bill Moss:
16950         * src/NetworkManagerSystem.c
16951                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
16952
16953
16954         * src/NetworkManager.c
16955                 - (nm_data_free): move destruction of the various managers after
16956                         release of device list, because deactivating and freeing a device
16957                         requires at least the named manager
16958                 - (nm_poll_and_update_wireless_link_state):
16959                   (nm_device_link_activated):
16960                   (nm_device_link_deactivated):
16961                         don't grab the device list lock when actually updating device
16962                         link status or strength, since nm_device_set_link_active()
16963                         needs to call nm_get_active_device(), which also locks the device list.
16964
16965         * src/NetworkManagerDevice.c
16966                 - (nm_device_set_link_active): if a device's link switches from off->on,
16967                         and it's wired, and the active device is wireless (or there is no
16968                         active device), activate the new device whose link just came on
16969                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
16970                         my only calling the link to the current ap "failed" when more than 2
16971                         consecutive link checks have failed
16972
16973 2005-05-04  Dan Williams  <dcbw@redhat.com>
16974
16975         * src/NetworkManagerDevice.c
16976                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
16977                         but let link_to_specific_ap() do the locking where it needs
16978
16979         Patch from Bill Moss:
16980         * src/NetworkManagerSystem.c
16981                 - Set MTU of VPN devices to 1412
16982
16983 2005-05-04  Dan Williams  <dcbw@redhat.com>
16984
16985         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
16986
16987         * Fix some holes in device activation and retaining the currently connected
16988                 access point
16989
16990 2005-05-03  Dan Williams  <dcbw@redhat.com>
16991
16992         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
16993           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
16994           means you need dhcdbd, which you can get here (get the latest one):
16995
16996                 http://people.redhat.com/jvdias/dhcdbd/
16997
16998           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
16999           interface as dhcdbd.
17000
17001         * Rewrite device activation to facilitate the new DHCP infrastructure and
17002           future improvements.  Its now "activation request" based, ie there is a single
17003           activation request composed of the device, access point, and other info which
17004           follows the entire activation process.  There are 5 stages of the activation
17005           process which correspond to:
17006
17007                 1) Device preparation
17008                 2) Device configuration (bring it up, set ESSID/Key/etc)
17009                 3) IP Config Start (fire off DHCP if we're using it)
17010                 4) IP Config Get (grab config from DHCP or static config files)
17011                 5) IP Config Commit (set device's IP address, DNS, etc)
17012
17013           Note that there is no longer a "scanning" step, since the access point must
17014           be known _before_ activation starts.  If the access point drops out or does
17015           not exist for some reason, the entire activation process fails and must be
17016           restarted for a different access point or device.
17017
17018         Patch from Bill Moss:
17019         * gnome/applet/applet.c
17020                 - Fix type of vpn_failure dialog -> vpn_banner dialog
17021
17022 2005-04-27  Dan Williams  <dcbw@redhat.com>
17023
17024         * gnome/applet/applet-dbus-vpn.c
17025           gnome/applet/applet.c
17026           gnome/applet/applet.h
17027                 - Fix up active VPN handling so that we reliably know when a VPN
17028                         connection has been deactivated
17029
17030         * src/vpn-manager/nm-vpn-manager.c
17031                 - Remove duplicate VPNConnectionChange signal
17032
17033 2005-04-27  Dan Williams  <dcbw@redhat.com>
17034
17035         Patch from Peter Jones:
17036         * Remove usage of varargs to fix crashes on PPC (RH #154336)
17037
17038         Patch from Bill Moss:
17039         * src/NetworkManagerSystem.c
17040                 - Fix checking of return value from ioctl()
17041
17042 2005-04-27  Dan Williams  <dcbw@redhat.com>
17043
17044         * Fix choosing of wireless networks and "Other wireless network..." from the applet
17045         * Warn and exit if icons cannot be found
17046
17047 2005-04-27  Dan Williams  <dcbw@redhat.com>
17048
17049         Patch from Tom Parker:
17050         * Update debian backend
17051
17052 2005-04-27  Dan Williams  <dcbw@redhat.com>
17053
17054         * Merge the applet and the info-daemon, and move the converged
17055                 applet under gnome/applet
17056         * Move libnm_glib to gnome/libnm_glib
17057         * Convert most dbus calls between the applet, info-daemon, and NM
17058                 into async calls
17059         * Fix a few things valgrind noticed
17060         * Make NM broadcast state more reliably
17061
17062 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
17063
17064         * configure.in: Added ne in ALL_LINGUAS
17065
17066 2005-04-15  Dan Williams  <dcbw@redhat.com>
17067
17068         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
17069                 code for dbus 0.2x versions
17070
17071 2005-04-15  Dan Williams  <dcbw@redhat.com>
17072
17073         Patches from Tom Parker:
17074         - Fix memleaks
17075         - Join with worker thread rather than polling for its exit
17076
17077         Patch from Bill Moss:
17078         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
17079
17080 2005-04-15  Dan Williams  <dcbw@redhat.com>
17081
17082         - Fixes to pass 'make distcheck'
17083
17084 2005-04-15  Dan Williams  <dcbw@redhat.com>
17085
17086         Initial VPN Support
17087                 - supports 'vpnc'
17088                 - reworks device IP configuration, backend files have changed and will need
17089                         to be updated for all distributions.  I will try to do what I can for
17090                         them, but I cannot test them.
17091
17092         - Move named directory to src/named-manager
17093         - Make backends directory self-contained
17094
17095 2005-04-06  Dan Williams  <dcbw@redhat.com>
17096
17097         Add debug code for socket/file descriptor leaks.  We register every socket
17098         that we open (except for stuff in dhcpcd/) for tracking, and print out the
17099         list of sockets that we forgot to close on shutdown.  This also consolidates
17100         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
17101
17102 2005-04-06  Dan Williams  <dcbw@redhat.com>
17103
17104         * dhcpcd/dhcpcd.c
17105                 - (dhcp_interface_free): fix a file descriptor leak that may have
17106                         caused network drivers to not unload due to refcounts > 0
17107
17108 2005-04-04  Dan Williams  <dcbw@redhat.com>
17109
17110         * panel-applet/NMWirelessAppletDbus.c
17111                 - (nmwa_dbus_call_nm_method): remove some commented code
17112
17113         * src/NetworkManagerAPList.[ch]
17114                 - (nm_ap_list_remove_ap_by_essid): new function
17115
17116         * src/NetworkManagerDevice.c
17117                 - (nm_device_wireless_force_use): remove access points from the ignore list
17118                         when the user forces them
17119
17120         * src/nm-dbus-device.c
17121                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
17122
17123 2005-04-04  Dan Williams  <dcbw@redhat.com>
17124
17125         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
17126
17127 2005-04-04  Dan Williams  <dcbw@redhat.com>
17128
17129         * src/NetworkManagerDevice.c:
17130                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
17131                         of only erroring after the second consecutive scan times out.  Also
17132                         don't exit when the card requires more time than we can give it, just
17133                         log the event and continue.
17134
17135 2005-04-01  Steve Murphy  <murf@e-tools.com>
17136
17137         * configure.in: Added "rw" to ALL_LINGUAS.
17138
17139 2005-04-01  Dan Williams <dcbw@redhat.com>
17140
17141         Perform scans during device activation, if needed.  Both activation 
17142         and scans run in the same GMainContext.  Therefore, if an access point
17143         is not found by the time the device starts activation, it will not
17144         be available until after activation.  We now try to scan during
17145         activation (in nm_wa_test) every 15s so that all available access
17146         points are more likely to be found and available for the activation
17147         procedure.
17148
17149         Also change nm_wireless_link_state_handle() to only update the "best"
17150         AP if we are not forcing a device and if we are not about to change
17151         state.  This attempts to work around a race when forcing a device,
17152         where the forced AP would get cleared out too soon by the link state
17153         checking timeout in the main thread, and the activation attempt with
17154         that AP would fail.
17155
17156 2005-04-01  Dan Williams <dcbw@redhat.com>
17157
17158         * po/POTFILES.in
17159                 - Update with new translatables
17160
17161 2005-03-31  Dan Williams <dcbw@redhat.com>
17162
17163         * panel-applet/NMWirelessAppletDbus.c
17164                 - Fix device names now that hal has changed device parenting for
17165                         network devices.
17166
17167 2005-03-31  Dan Williams <dcbw@redhat.com>
17168
17169         Tighten up handling of wireless devices that don't support wireless
17170         scanning (ie, Orinoco).  Due to restructuring of code, these devices
17171         hadn't been doing pseudo-scanning for a while either and would just
17172         spin waiting for an access point.  They are now manual devices where
17173         the user must choose the access point from the menu every time.  All
17174         "allowed" access points are listed in the applet's menu regardless
17175         of whether or not they can be seen by the card, since it can't scan
17176         anyway.
17177
17178         * src/NetworkManager.c
17179                 - (nm_wireless_link_state_handle): new function, but only update
17180                         the "best" ap for non-scanning devices when its not activating,
17181                         and when no device is being forced on the card
17182                 - (nm_link_state_monitor): split wireless link state handling out
17183                         into separate function
17184
17185         * src/NetworkManagerDevice.c
17186                 - (nm_device_copy_allowed_to_dev_list): new function
17187                 - (nm_device_new): populate non-scanning cards' AP lists with
17188                         access points from the "allowed" list
17189                 - (nm_device_new): don't start a scanning timeout for devices that
17190                         can't scan
17191                 - (nm_device_activation_schedule_finish): new parameter, should be
17192                         the AP that failed to be connected to, pass it on to the
17193                         activation finish function in NetworkManagerPolicy.c
17194                 - (nm_device_activate_wireless): don't ever try to get a new AP
17195                         for non-scanning devices, just fail.  The user must choose
17196                         a new access point manually.
17197                 - (nm_device_activate): grab the AP that failed connection and
17198                         pass it on
17199                 - (nm_device_update_best_ap): Clear the best AP if we don't have
17200                         a link to it, user must manually choose a new one
17201                 - (nm_device_do_pseudo_scan): remove function
17202                 - (nm_device_wireless_process_scan_results): remove bits for non-
17203                         scanning cards since they never get here
17204                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
17205                         and fake the scan list for test devices a bit earlier
17206
17207         * src/NetworkManagerPolicy.c
17208                 - (nm_policy_activation_finish): use the failed_ap that we get
17209                         passed rather than getting the best_ap from the card, which
17210                         may have changed since we were scheduled
17211                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
17212                         update their scan list directly from the allowed list when
17213                         we get updates to the allowed list from NetworkManagerInfo
17214
17215         * src/NetworkManagerPolicy.h
17216                 - New member for failed access point in NMActivationResult
17217
17218   -------------------------------------
17219
17220         Driver Notification patch: notifies the user when their driver
17221                 sucks.  Gives them the option to ignore further insertions
17222                 of the card that has the sucky driver.
17223
17224         * NetworkManager.h
17225                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
17226                         enum and replace it with NO_CARRIER_DETECT and
17227                         NO_WIRELESS_SCAN
17228
17229         * panel-applet/NMWirelessApplet.[ch]
17230                 - Merge essid.glade -> wireless-applet.glade
17231                 - Implement the "Your driver sucks" notification dialog
17232
17233         * panel-applet/NMWirelessAppletDbus.c
17234                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
17235                 - Grab hardware address for each device from NM too
17236                 - Check whether the driver for each device sucks or not whenever
17237                         a new device is noticed
17238
17239         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17240                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
17241
17242         * src/NetworkManager.c
17243                 - Fix a double-unref on device removal
17244
17245         * src/NetworkManagerUtils.c
17246                 - Set appropriate driver support level on a device that doesn't
17247                         support scanning or carrier detection
17248
17249         * src/nm-dbus-device.c
17250                 - New "getHWAddress" dbus method on devices
17251                 - getSupportsCarrierDetect -> getDriverSupportLevel
17252
17253 2005-03-31  Dan Williams <dcbw@redhat.com>
17254
17255         * src/NetworkManagerDevice.c
17256                 - (nm_device_wireless_scan): Fix leak of scan results in some
17257                         instances
17258
17259 2005-03-29  Dan Williams <dcbw@redhat.com>
17260
17261         * src/NetworkManager.c
17262                 - (nm_poll_and_update_wireless_link_state): make code less indented
17263
17264         Patch from Bill Moss:
17265         * src/NetworkManager.c
17266                 - (nm_device_update_link_state): Update signal strength on wireless
17267                         devices every time we update link state too.
17268
17269 2005-03-29  Dan Williams <dcbw@redhat.com>
17270
17271         * src/NetworkManagerDevice.c
17272                 - (nm_device_set_essid): Work around Orinoco cards which need
17273                         extra time after setting the ESSID
17274
17275 2005-03-29  Dan Williams <dcbw@redhat.com>
17276
17277         * src/NetworkManagerDevice.c
17278                 - Merge one more bit of Peter Jones' completion patch
17279
17280 2005-03-29  Dan Williams <dcbw@redhat.com>
17281
17282         * src/NetworkManagerDevice.c
17283                 - (nm_device_force_use): Fix possible segfault
17284
17285 2005-03-29  Dan Williams <dcbw@redhat.com>
17286
17287         * src/NetworkManagerDevice.c
17288                 - Use iw_get_ext() where we should rather than iw_set_ext()
17289
17290 2005-03-29  Dan Williams <dcbw@redhat.com>
17291
17292         * src/NetworkManagerDevice.c
17293                 - (nm_device_set_up_down): remove check for unsupported devices
17294                         that caused NM to not bring devices up when they were
17295                         added to the device list.
17296
17297 2005-03-28  Dan Williams <dcbw@redhat.com>
17298
17299         * src/NetworkManagerDevice.c
17300                 - (mdio_read): Fix two bugs that caused all devices to fail
17301                         the MII carrier detection support checks
17302
17303 2005-03-26  Dan Williams <dcbw@redhat.com>
17304
17305         * src/NetworkManagerDevice.c
17306                 - (nm_device_wireless_scan): Remove duplicated scanning code
17307
17308 2005-03-25  Dan Williams <dcbw@redhat.com>
17309
17310         * panel-applet/NMWirelessApplet.c
17311                 - (nmwa_about_cb): Add some more contributors
17312                 - (nmwa_update_state): show the applet when there's no connection
17313                 - Enable the "Stop/Resume all wireless devices" option in the
17314                         context menu
17315                 - New "no connection" icon
17316
17317         * src/NetworkManager.c
17318                 - (nm_poll_and_update_wireless_link_state): don't do anything if
17319                         wireless is disabled or we're asleep
17320
17321         * src/NetworkManagerDHCP.c
17322                 - Remove trailing "\n" on debug messages
17323
17324         * src/NetworkManagerDbus.c
17325                 - (nm_dbus_network_status_from_data): new state "asleep"
17326
17327         * src/NetworkManagerDevice.c
17328                 - Merge most of Peter Jones' "completion" patch that greatly reduces
17329                         latency and wait times for most operations
17330                 - (nm_device_wireless_scan): Don't scan when asleep
17331
17332         * src/NetworkManagerPolicy.c
17333                 - (nm_policy_get_best_device): return no device when asleep
17334                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
17335                         for all wireless devices on update, not just active device
17336
17337         * src/NetworkManagerUtils.c
17338                 - Merge Peter Jones' "completion" patch
17339
17340         * src/nm-dbus-nm.c
17341                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
17342                         we're told to disable them
17343                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
17344
17345         * utils/nm-utils.h
17346                 - New variants of the warn/info/error/debug print functions that can take
17347                         variables rather than static strings
17348
17349 2005-03-24  Dan Williams <dcbw@redhat.com>
17350
17351         * src/NetworkManagerUtils.c
17352                 - (nm_get_device_driver_name): driver names are now on the parents of
17353                         "Network Interface" objects, so look for them there
17354
17355 2005-03-24  Dan Williams <dcbw@redhat.com>
17356
17357         * test/nmtest.c
17358                 - Escape some forgotten object paths before we shove them through dbus
17359
17360 2005-03-24  Dan Williams <dcbw@redhat.com>
17361
17362         * dhcpcd/dhcpcd.[ch]
17363           src/NetworkManagerDHCP.c
17364                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
17365                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
17366
17367         * src/NetworkManagerDbus.c
17368                 - spacing cleanups
17369
17370         * src/nm-dbus-dhcp.c
17371                 - Make the API suck less.  There is now only 1 type of each function,
17372                         ie only "getInteger" and no longer also "getIntegerv".  All types
17373                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
17374                         that will never have more than 1 element.  This should simplify
17375                         things greatly.
17376
17377         * test/nm-dhcp-opt-test.c
17378                 - Make the tool not segfault
17379                 - adapt to new DHCP Options API
17380
17381 2005-03-22  Dan Williams <dcbw@redhat.com>
17382
17383         * src/NetworkManager.c
17384                 - (nm_wired_link_deactivated): actually ignore netlink events from
17385                         wireless devices.
17386
17387 2005-03-22  Dan Williams <dcbw@redhat.com>
17388
17389         * src/NetworkManager.c
17390                 - (nm_wired_link_activated): actually ignore netlink events from
17391                         wireless devices.
17392
17393 2005-03-17  Dan Williams <dcbw@redhat.com>
17394
17395         Patch from Tom Parker:
17396         * src/nm-netlink-monitor.c
17397                 - Include unistd.h
17398         * info-daemon/NetworkManagerInfoDbus.c
17399                 - (nmi_dbus_update_network_auth_method): free GConf values
17400
17401         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
17402         * src/NetworkManagerDevice.c
17403                 - (nm_device_set_wireless_config): wait for successful
17404                         association longer for some cards (Atheros a/b/g)
17405
17406 2005-03-15  Ray Strode  <rstrode@redhat.com>
17407
17408         * src/NetworkManager.c:
17409         (sigterm_pipe_handler):
17410         remove bogus FIXME
17411
17412 2005-03-15  Ray Strode  <rstrode@redhat.com>
17413
17414         * src/NetworkManagerDbus.c:
17415         Fix some sign weirdness that gcc4 doesn't like,
17416         and add a header file so PPC can hopefully find
17417         SIGTRAP
17418
17419 2005-03-14  Ray Strode  <rstrode@redhat.com>
17420         
17421         Fourth (probably working) cut at porting to
17422         dbus 0.30 api and new hal. This cut adds
17423         some new logging macros to make debugging
17424         easier.
17425
17426         * dispatcher-daemon/NetworkManagerDispatcher.c:
17427         * info-daemon/NetworkmanagerInfo.c:
17428         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
17429         * info-daemon/NetworkManagerInfoVPN.c:
17430         * src/NetworkManager.c:
17431         * src/NetworkManagerAP.c:
17432         * src/NetworkManagerAPList.c:
17433         * src/NetworkManagerDHCP.c:
17434         * src/NetworkManagerDbus.c:
17435         * src/NetworkManagerDevice.c:
17436         * src/NetworkManagerPolicy.c:
17437         * src/NetworkManagerSystem.c:
17438         * src/NetworkManagerUtils.c:
17439         * src/NetworkManagerWireless.c:
17440         * src/autoip.c:
17441         * src/nm-dbus-nm.c:
17442         * src/backends/NetworkManagerDebian.c:
17443         * src/backends/NetworkManagerGentoo.c:
17444         * src/backends/NetworkManagerRedHat.c:
17445         * src/backends/NetworkManagerSlackware.c:
17446         use new logging macros.
17447
17448         * dispatcher-daemon/NetworkManagerDispatcher.c:
17449         (nmd_dbus_filter): s/dbus_free/g_free/
17450
17451         * info-daemon/Makefile.am: link in utils library.
17452         * info-daemon/NetworkmanagerInfo.c: use new logging 
17453         macros.
17454         (nmi_dbus_get_network): don't assume enumerations
17455         are 32-bit.
17456         (nmi_dbus_nmi_message_handler): don't free what 
17457         doesn't belong to us.
17458
17459         * libnm_glib/libnm_glib.c:
17460         (libnm_glib_get_nm_status): 
17461         (libnm_glib_init): don't free what doesn't
17462         belong to us.
17463         (libnm_glib_dbus): strdup result, so it doesn't get
17464         lost when message is unref'd.
17465
17466         * panel-applet/NMWirelessAppletDbus.c:
17467         (nmwa_dbus_update_devices): s/dbus_free/g_free/
17468
17469         * src/NetworkManager.c:
17470         (nm_monitor_wired_link_state): request initial status 
17471         dump of all cards when we start up, instead of relying
17472         on /sys/.../carrier.
17473         (nm_info_handler), (nm_set_up_log_handlers): 
17474         log handlers to specify what syslog priorites 
17475         the logging macros default to.
17476
17477         * src/NetworkManagerAPList.c: 
17478         (nm_ap_list_populate_from_nmi):
17479         s/dbus_free_string_array/g_strfreev/
17480
17481         * src/NetworkManagerDbus.c:
17482         (nm_dbus_get_network_object):
17483         validate d-bus message argument types.
17484         Advance message iterator after reading argument,
17485         prepend instead of append to GSList.
17486
17487         * src/NetworkManagerDevice.c:
17488         (nm_device_probe_wired_link_status):
17489         remove redundant /sys in /sys path. remove wrong
17490         contents == NULL means has carrier assumption.
17491
17492         * src/nm-netlink-monitor.c 
17493         (nm_netlink_monitor_request_status): implement
17494         function to ask kernel to dump interface link
17495         status over netlink socket.
17496
17497         * test/*.c: s/dbus_free/g_free/
17498
17499         * utils/nm-utils.h:
17500         (nm_print_backtrace): new macro to print backtrace.
17501         (nm_get_timestamp): new macro to get sub-second precise
17502         unix timestamp.
17503         (nm_info), (nm_debug), (nm_warning), (nm_error):
17504         new logging functions. nm_info just prints,
17505         nm_debug includes timestamp and function,
17506         nm_warning includes function, nm_error includes
17507         backtrace and sigtrap.
17508
17509 2005-03-11  Ray Strode  <rstrode@redhat.com>
17510
17511         Third (unfinished, partially working) cut at porting to 
17512         dbus 0.30 api and new hal.
17513
17514         * info-daemon/NetworkManagerInfoDbus.c:
17515                 don't free null arrays.
17516
17517         * panel-applet/NMWirelessAppletDbus.c: 
17518         * src/nm-dbus-device.c:
17519         * src/nm-dbus-net.c: 
17520         * src/NetworkManagerDbus.c: more 
17521         STRING -> OBJECT_PATH fun
17522         * src/NetworkManagerDevice.c:
17523         * src/NetworkManagerDevice.h:
17524         (rename nm_device_get_link_active): rename to 
17525         nm_device_has_active_link
17526         (nm_device_wireless_link_active): rename to
17527         nm_device_probe_wireless_link_state
17528         (nm_device_wired_link_active): rename to
17529         nm_device_probe_wired_link_state.  Rewrite to
17530         use carrier file since hal doesn't maintain
17531         link state anymore.
17532         (nm_device_update_link_active): rename to
17533         nm_device_update_link_state
17534         * src/NetworkManagerPolicy.c 
17535           (nm_policy_activation_finish): check for NULL
17536           MAC address.
17537
17538         * src/Makefile.am:
17539         * src/NetworkManagerMain.h: 
17540         * src/NetworkManager.c:
17541         * src/nm-netlink-monitor.c:
17542         * src/nm-netlink-monitor.h: New class to support
17543         monitoring wired ethernet link status, since HAL
17544         doesn't export that information anymore.
17545
17546 2005-03-09  Ray Strode  <rstrode@redhat.com>
17547
17548         Second (unfinished, unworking) cut at porting to 
17549         dbus 0.30 api.
17550
17551         * dispatcher-daemon/NetworkManagerDispatcher.c:
17552         * info-daemon/NetworkManagerInfoDbus.c:
17553         * panel-applet/NMWirelessAppletDbus.c:
17554         * src/NetworkManagerDbusUtils.c:
17555         * src/NetworkManagerDbusUtils.h:
17556         * src/nm-dbus-device.c:
17557         * src/nm-dbus-nm.c:
17558         * test/nmtest.c: support dbus "object path" type
17559
17560         * configure.in: 
17561         * Makefile.am:
17562         * info-daemon/Makefile.am:
17563         * libnm_glib/Makefile.am:
17564         * panel-applet/Makefile.am:
17565         * dispatcher-daemon/Makefile.am
17566         * src/Makefile.am:
17567         * test/Makefile.am:
17568         * utils/Makefile.am: 
17569         * utils/nm-utils.c: 
17570         * utils/nm-utils.h: new utils static lib
17571
17572 2005-03-07  Ray Strode  <rstrode@redhat.com>
17573
17574         * info-daemon/NetworkManagerInfoDbus.c:
17575         * libnm_glib/libnm_glib.c:
17576         * panel-applet/NMWirelessAppletDbus.c:
17577         * src/NetworkManager.c:
17578         * src/NetworkManagerDbus.c:
17579         * src/NetworkManagerDevice.c:
17580         * src/NetworkManagerUtils.c:
17581         * src/nm-dbus-device.c:
17582         * src/nm-dbus-dhcp.c:
17583         * src/nm-dbus-net.c:
17584         * src/nm-dbus-nm.c:
17585         * test/nminfotest.c:
17586         First (unfinished, unworking) cut at porting to dbus 0.30 api.
17587
17588 2005-03-04  Dan Williams  <dcbw@redhat.com>
17589
17590         * configure.in
17591                 - Mark HEAD as 0.4
17592
17593 2005-03-04  Dan Williams  <dcbw@redhat.com>
17594
17595         Patch from Peter Jones:
17596         - Make stuff work with gcc 4.0
17597
17598 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
17599
17600         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
17601
17602 2005-02-27  Jim Huang  <jserv@kaffe.org>
17603
17604         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
17605
17606 2005-02-27  Dan Williams  <dcbw@redhat.com>
17607
17608         Patch from Bill Moss:
17609         * panel-applet/NMWirelessAppletDbus.c
17610                 - Make sure strength for current access point is up-to-date when we
17611                         update the gui data model
17612
17613 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
17614
17615         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
17616
17617 2005-02-27  Dan Williams  <dcbw@redhat.com>
17618
17619         * src/backends/NetworkManagerRedHat.c
17620                 - (nm_system_init): Kill any dhclient processes lying around as well
17621                         as stopping 'nifd' if its already been started.  NetworkManager
17622                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
17623
17624 2005-02-27  Dan Williams  <dcbw@redhat.com>
17625
17626         * panel-applet/NMWirelessApplet.c
17627                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
17628                         dbus data model, not the GUI data model twice.
17629
17630 2005-02-27  Dan Williams  <dcbw@redhat.com>
17631
17632         * panel-applet/NMWirelessApplet.[ch]
17633           panel-applet/NMWirelessAppletDbus.[ch]
17634                 - Move to incremental network updates.  Instead of blowing away our list
17635                         of devices every time we get a signal from NetworkManager, we now
17636                         incrementally add/remove networks when NetworkManager notifies us that
17637                         a new network has appeared or disappered.  Strength updates now happen
17638                         on-the-fly for each access point as well.  There are now two copies of
17639                         data from NetworkManager: one for the dbus side, and one for the gui side.
17640                         When the dbus side data is modified, it is copied over to the gui side
17641                         so we don't have to hold the data_mutex for long periods of time (and
17642                         therefore block animation of the applet's icon).
17643                 - Clean up some memleaks too
17644
17645         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17646                 - Minor code beautification
17647
17648         * src/NetworkManagerAPList.c
17649                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
17650                         completely new and whether or not an existing one's strength was updated.
17651                         Try to fix multiple access points and signal strength by using the highest
17652                         signal strength in each scan for any given ESSID.
17653
17654         * src/NetworkManagerDbus.[ch]
17655                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
17656                         wireless networks; now we have only WirelessNetworkUpdate which includes
17657                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
17658                 - Kill usage of DbusMessageIter
17659
17660         * src/NetworkManagerDevice.c
17661                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
17662                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
17663                         AP rather than all-at-once.  Also don't ever remove the AP a card is
17664                         currently associated with from the network list.
17665                 - Update for new signals during scan, send out Appeared, Disappeared, or
17666                         StrengthChanged when necessary.
17667
17668 2005-02-25  Dan Williams  <dcbw@redhat.com>
17669
17670         * README
17671                 - Line break the README
17672
17673 2005-02-25  Dan Williams  <dcbw@redhat.com>
17674
17675         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17676                 - Remove usage of gtk_window_set_default_size()
17677
17678         * panel-applet/essid.glade
17679                 - Stick default size here
17680                 - Add in random crap that current glade wants to add in now
17681
17682 2005-02-25  Dan Williams  <dcbw@redhat.com>
17683
17684         * src/backends/NetworkManagerRedHat.c
17685                 - For non-caching-nameserver/non-named case, ensure that nscd is running
17686                         and that we actually tell nscd to reload the hosts cache when it changes
17687
17688 2005-02-25  Dan Williams  <dcbw@redhat.com>
17689
17690         * info-daemon/NetworkManagerInfoDbus.c
17691                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
17692
17693         * test/nminfotest.c
17694                 - Whack usage of DbusMessageIter
17695                 - Clean up DbusError and DbusMessage handling and freeing
17696                 - Remove unused unregister handler
17697
17698         * test/nmtest.c
17699                 - Whack usage of DbusMessageIter
17700
17701         * test/nmtestdevices.c
17702                 - Whack usage of DbusMessageIter
17703
17704 2005-02-25  Dan Williams  <dcbw@redhat.com>
17705
17706         * NetworkManager.h
17707                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
17708                         signal
17709
17710 2005-02-25  Dan Williams  <dcbw@redhat.com>
17711
17712         * named/nm-named-manager.c
17713                 - Ensure that pid and watch variables for child named process get cleared out
17714                         when the child goes away.
17715
17716 2005-02-22  Dan Williams  <dcbw@redhat.com>
17717
17718         * src/NetworkManagerPolicy.c
17719                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
17720                         and NULL out data->active_device so that we have to choose another one.
17721                         This may make NetworkManager keep attempting to connect to a wired network
17722                         if it fails, but if it keeps failing the wired network has more problems than
17723                         just NetworkManager.
17724
17725         * src/backends/NetworkManagerRedHat.c
17726                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
17727                         is already running
17728
17729         * named/nm-named-manager.c
17730                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
17731                         named so that the distro can flush whatever name service caching
17732                         daemon it uses
17733
17734 2005-02-21  Dan Williams  <dcbw@redhat.com>
17735
17736         * src/NetworkManagerDHCP.[ch]
17737                 - (nm_device_dhcp_remove_timeouts): new function
17738
17739         * src/NetworkManagerDevice.c
17740                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
17741                         remove the DHCP timeouts.
17742
17743 2005-02-21  Dan Williams  <dcbw@redhat.com>
17744
17745         * panel-applet/NMWirelessApplet.[ch]
17746           panel-applet/menu-info.[ch]
17747                 - Give the panel applet some major love: menu items are no longer
17748                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
17749                         This allows the applet to actually reflect theme changes correctly,
17750                         since themeing of subclassed items in GTK _sucks_.
17751
17752 2005-02-18  Dan Williams  <dcbw@redhat.com>
17753
17754         * libnm_glib/libnm_glib.[ch]
17755           test/libnm_glib_test.c
17756                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
17757                         and its data, and doesn't have to free the callback data anymore
17758
17759 2005-02-18  Dan Williams  <dcbw@redhat.com>
17760
17761         * panel-applet/NMWirelessApplet.c
17762                 - Revert 2005-02-18 William Jon McCann fix for standard
17763                         copyright string until it passes 'make distcheck'.
17764                         With standard copyright string, xgettext complains
17765                         about "Non-ASCII string at ...".
17766
17767 2005-02-18  Dan Williams  <dcbw@redhat.com>
17768
17769         * panel-applet/essid.glade
17770           panel-applet/NMWirelessAppletOtherNetworksDialog.c
17771                 - Correct spelling of "adaptor"->"adapter"
17772
17773 2005-02-18  William Jon McCann  <mccann@jhu.edu>
17774
17775         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
17776         (nmwa_about_cb): Use standard copyright string.  Update comment
17777         text to reflect that it is a notification area applet.  Remove
17778         leading newline in authors list.
17779         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
17780         instead of on parent menu item activation.  Fixes #167550.
17781
17782 2005-02-18  William Jon McCann  <mccann@jhu.edu>
17783
17784         * panel-applet/essid.glade: Capitalize items as per HIG.
17785           Fixes #167632
17786
17787 2005-02-16  William Jon McCann  <mccann@jhu.edu>
17788
17789         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
17790         files for GTK 2.4 or lower, since now public in GTK 2.6.
17791
17792         * panel-applet/essid.glade: Don't specify window size.
17793         
17794 2005-02-17  Dan Williams  <dcbw@redhat.com>
17795
17796         Caught by Bill Moss:
17797         * dhcpcd/client.c
17798                 - Time remaining for DHCP transaction calculation was incorrectly
17799                         inside a #ifdef DEBUG
17800
17801 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
17802
17803         * configure.in: Added fr (French) to ALL_LINGUAS.
17804
17805 2005-02-14  Dan Williams  <dcbw@redhat.com>
17806
17807         * src/NetworkManagerDHCP.c
17808                 - (set_domain_searches): Fix free of invalid pointer
17809
17810 2005-02-14  Dan Williams  <dcbw@redhat.com>
17811
17812         Patch from Peter Jones:
17813         * dhcpcd/client.c
17814                 - Ensure we return RET_DHCP_CEASED everywhere we should
17815         * dhcpcd/udpipgen.c
17816                 - Use faster TOS for IP packets
17817                 - Don't set ip_id since we're UDP
17818
17819         Patch from Tomislav Vujec:
17820         * src/nm-dbus-dhcp.c
17821           test/nm-dhcp-opt-test.c
17822                 - Clean up warnings to enable cvs tree compilation.
17823
17824 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
17825
17826         * configure.in
17827           po/hr.po
17828                 - Add the Croatian locale.
17829
17830 2005-02-14  Colin Walters  <walters@verbum.org>
17831
17832         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
17833         list of domains to search.
17834         
17835         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
17836
17837 2005-02-13  Dan Williams  <dcbw@redhat.com>
17838
17839         * dhcpcd/client.c
17840                 - Debug output cleanups of DHCP option printing and parsing.
17841
17842 2005-02-13  Dan Williams  <dcbw@redhat.com>
17843
17844         Patch from Dan Reed:  DHCP options D-BUS API
17845                 Exposes the DHCP options that a device receives to clients over D-BUS.
17846
17847         * configure.in
17848                 - A few cleanups
17849
17850         * dhcpcd/client.h
17851                 - Correct names, option length, and types for DHCP options
17852
17853         * dhcpcd/dhcpcd.[ch]
17854                 - Clarify function names that access DHCP options & data
17855
17856         * src/NetworkManagerDHCP.c
17857                 - Use new DHCP data access functions
17858
17859         * src/NetworkManagerDbus.c
17860                 - Message handler for DHCP functions
17861
17862         * src/nm-dbus-dhcp.[ch] (new)
17863                 - DHCP dbus methods
17864
17865         * test/nm-dhcp-opt-test.c
17866                 - Test DHCP D-BUS API and return all present DHCP options
17867
17868 2005-02-12  Dan Williams  <dcbw@redhat.com>
17869
17870         * test/Makefile.am
17871           test/nmclienttest.c
17872           test/nmtest.c
17873                 - Move nmclienttest.c -> nmtest.c
17874
17875 2005-02-12  Dan Williams  <dcbw@redhat.com>
17876
17877         * dhcpcd/buildmsg.c
17878                 - Pad DHCP packets until they are at least 300 bytes in size.
17879
17880 2005-02-11  Dan Williams  <dcbw@redhat.com>
17881
17882         * dhcpcd/client.c
17883                 - (dhcp_init): only print out client ID and class ID if they are specified
17884
17885         * src/NetworkManagerDbus.[ch]
17886           src/nm-dbus-nm.[ch]
17887           src/nm-dbus-device.[ch]
17888           src/nm-dbus-net.[ch]
17889                 - Move NM, Device, and Net functions to separate files and use the
17890                         dbus method list stuff in NetworkManagerDbusUtils.c to do
17891                         method dispatching
17892
17893         * src/NetworkManagerDbusUtils.c
17894                 - Add new validate_method called before each dispatch (if present)
17895                         that can validate the method call
17896
17897         * src/NetworkManagerWireless.c
17898                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
17899                         levels never to be evaluated
17900
17901         Patch from j@bootlab.org
17902         * src/NetworkManagerDevice.c
17903                 - Add typedef for "u64"
17904
17905         * src/backends/NetworkManagerDebian.c
17906                 - Copy in Dave Woodhouse's fixes for IPv6
17907
17908 2005-02-11  Dan Williams  <dcbw@redhat.com>
17909
17910         Patch from Dave Woodhouse for IPv6:
17911         * src/NetworkManagerUtils.c
17912                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
17913                         and multicast addresses
17914
17915         * src/NetworkManagerDevice.c
17916                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
17917                         after bringing up a card.
17918
17919 2005-02-10  Dan Williams  <dcbw@redhat.com>
17920
17921         Patch from Dave Woodhouse:
17922         * src/NetworkManagerSystem.h
17923           src/backends/NetworkManagerDebian.c
17924           src/backends/NetworkManagerGentoo.c
17925           src/backends/NetworkManagerSlackware.c
17926                 - New nm_system_device_add_ip6_link_address() function to add link-local
17927                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
17928
17929         * src/backends/NetworkManagerRedHat.c
17930                 - (nm_system_device_add_ip6_link_address): implement
17931                 - (nm_system_device_flush_addresses): revert to previous behavior of
17932                         flushing all addresses
17933
17934 2005-02-10  Dan Williams  <dcbw@redhat.com>
17935
17936         Patch from Tom Parker:
17937         * src/NetworkManagerDevice.c
17938                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
17939                         mii.h headers are broken, and instead use our own typedefs
17940
17941 2005-02-10  Dan Williams  <dcbw@redhat.com>
17942
17943         * dhcpcd/buildmsg.c
17944                 - (fill_host_and_class_id): only fill in client and class IDs if
17945                         they are set by callers.
17946
17947         * dhcpcd/client.c
17948                 - (class_id_setup): don't autogenerate a class ID, only use one
17949                         we're given, if any.
17950                 - (client_id_setup): don't autogenerate a client ID, only use one
17951                         we're given, if any.
17952
17953         * dhcpcd/dhcpcd.c
17954                 - (dhcp_interface_init): ensure that client options are correctly
17955                         NULL terminated
17956
17957         * src/NetworkManagerDHCP.c
17958                 - (nm_device_dhcp_request): pass hostname to dhcp library
17959
17960 2005-02-10  Dan Williams  <dcbw@redhat.com>
17961
17962         * dhcpcd/client.c
17963                 - #rh147661# Don't send kernel version in DHCP requests
17964
17965         * src/NetworkManagerSystem.h
17966           src/backends/NetworkManagerDebian.c
17967           src/backends/NetworkManagerGentoo.c
17968           src/backends/NetworkManagerRedHat.c
17969           src/backends/NetworkManagerSlackware.c
17970                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
17971                         functions, they are no longer used anyway
17972
17973         * src/backends/NetworkManagerRedHat.c
17974                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
17975                         addresses in an attempt to keep IPv6 local-scope addresses around
17976
17977 2005-02-10  Dan Williams  <dcbw@redhat.com>
17978
17979         * src/NetworkManager.c
17980                 - (nm_create_device_and_add_to_list): change the add message slightly
17981
17982         * src/NetworkManagerUtils.c
17983                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
17984                         Return driver name to calling function
17985                 - (nm_get_driver_support_level): print out the driver a device is using
17986                         during the support check
17987
17988         Patch from Dave Woodhouse:
17989         * dhcpcd/udpipgen.c
17990                 - (in_cksum): copy last byte of odd-sized packets into a
17991                         'u_short' rather than a 'u_char', should fix wrong checksums
17992                         on big-endian platforms
17993
17994 2005-02-09  Dan Williams  <dcbw@redhat.com>
17995
17996         * Clean up usage of GSList objects and looping through their members
17997         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
17998                 now.
17999         * Fix problem where even if scanning was turned off, card would still
18000                 cycle through frequencies.
18001
18002 2005-02-08  Dan Williams  <dcbw@redhat.com>
18003
18004         * panel-applet/NMWirelessApplet.c
18005                 - Fix for gtk 2.4
18006
18007 2005-02-08  Dan Williams  <dcbw@redhat.com>
18008
18009         Patch from Bill Moss
18010         * panel-applet/NMWirelessApplet.c
18011                 - Restore correct ESSID in tooltips
18012
18013 2005-02-07  Dan Williams  <dcbw@redhat.com>
18014
18015         * panel-applet/NMWirelessApplet.[ch]
18016                 - Add a context menu that contains:
18017                         Pause/Resume Wireless Scanning
18018                         Stop/Start All Wireless Devices
18019                         About...
18020                 - Grab active device strength off active device,
18021                         not its network
18022
18023         * panel-applet/NMWirelessAppletDbus.[ch]
18024                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
18025                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
18026                 - Update active device strength every 2 seconds, not every 1 second
18027
18028         * panel-applet/menu-info.c
18029                 - Only disable wired devices in the menu when they support carrier detection,
18030                         and don't currently have a link.  Non-carrier-detect devices will always
18031                         remain choosable
18032
18033         * src/Makefile.am
18034           src/NetworkManagerDbusUtils.[ch]
18035                 - Add new new dbus utils sources
18036
18037         * src/NetworkManager.c
18038                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
18039                         with the boolean parameter
18040                 - Set scanning_enabled & wireless_enabled to TRUE
18041
18042         * src/NetworkManagerDbus.c
18043                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
18044                 - Implement scanning & wireless enable/disable calls
18045                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
18046
18047         * src/NetworkManagerDevice.c
18048                 - New link detection stuff again...
18049                         o  Create device's mainloop earlier (but don't run it earlier)
18050                         o  Hook up new carrier-detect support stuff
18051                         o  Add in the ethtool & mii support detection code
18052                 - Don't scan if scanning is disabled
18053
18054         * src/NetworkManagerPolicy.c
18055                 - Never automatically choose a device that doesn't support carrier detection
18056                 - Don't automatically choose a wireless device if wireless is disabled
18057
18058 2005-02-07  Dan Williams  <dcbw@redhat.com>
18059
18060         * libnm_glib/libnm_glib.c
18061                 - Small cleanup in element list iteration
18062
18063 2005-02-07  Dan Williams  <dcbw@redhat.com>
18064
18065         * src/NetworkManagerWireless.c
18066                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
18067                         to be in line with the WEXT quality specification
18068
18069 2005-02-02  Dan Williams  <dcbw@redhat.com>
18070
18071         Patch from Nathan Fredrickson <nathan@silverorange.com>
18072         * Fix up compile for deprecation of libgnomeui
18073                 - Switch to <glib/gi18n.h> from <libintl.h>
18074                 - Remove <libgnomeui/libgnomeui.h> includes
18075                 - Use gtk_window_set_default_icon_from_file() rather than
18076                         gnome_window_set_default_icon_from_file()
18077
18078         * named/nm-named-manager.c
18079                 - (generate_named_conf): Fix return-nothing in non-void
18080                         function
18081
18082 2005-02-02  Dan Williams  <dcbw@redhat.com>
18083
18084         * Clean up unused variables and the like
18085
18086 2005-02-02  Dan Williams  <dcbw@redhat.com>
18087
18088         * src/NetworkManagerAPList.c
18089                 - (nm_ap_list_merge_scanned_ap): merge strength too
18090
18091         * src/NetworkManagerUtils.c
18092                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
18093                         of locking issues by printing out prettier information than g_mutex_lock
18094                 - Print out names of mutexes registered with nm_register_mutex_desc()
18095                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
18096                         us to seemingly block here for too long
18097
18098         * src/NetworkManager.c
18099           src/NetworkManagerAPList.c
18100           src/NetworkManagerDevice.c
18101                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
18102                         so we get better debug information printed
18103
18104         * src/NetworkManagerDbus.c
18105                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
18106                         since it sometimes has locking side effects
18107                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
18108                         from 10s
18109                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
18110                         we don't need a switch.  This gets called often enough that we can't block
18111                         until the scan mutex is acquired, because we'll block on device activation
18112                         and a few other things, which hangs main thread for too long.
18113
18114         * src/NetworkManagerPolicy.c
18115                 - (nm_policy_auto_get_best_device): reduce the possiblity that
18116                         nm_device_need_ap_switch() will be called               
18117
18118 2005-02-02  Dan Williams  <dcbw@redhat.com>
18119
18120         * panel-applet/NMWirelessApplet.c
18121                 - Display name of wireless network we are connecting to or connected to
18122                         in the tooltip of the applet
18123
18124 2005-02-02  Dan Williams  <dcbw@redhat.com>
18125
18126         * src/NetworkManagerDHCP.c
18127                 - Hopefully fix double-default-route problem by cleaning up the default
18128                         route added by DHCP code right before the DHCP transaction begins
18129
18130 2005-02-02  Dan Williams  <dcbw@redhat.com>
18131
18132         * named/nm-named-manager.c
18133                 - Write out valid resolv.conf when we exit
18134
18135 2005-02-01  Dan Williams  <dcbw@redhat.com>
18136
18137         Patch from Colin Walters:
18138         * named/nm-named-manager.c
18139                 - Make multi-domain search options work
18140
18141 2005-01-31  Dan Williams  <dcbw@redhat.com>
18142
18143         * info-daemon/NetworkManagerInfoDbus.c
18144                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
18145
18146         * src/NetworkManagerDevice.c
18147                 - (nm_device_new): Don't store the entire range struct, use only what we need
18148                         (which is currently avg_quality, max_quality, and frequencies).  Also
18149                         zero device structure when we've free'd it to maybe expose errors down
18150                         the line.
18151                 - (nm_device_update_signal_strength): grab the scan mutex before getting
18152                         quality data from the card since quality will be useless during a scan.
18153                         Call updated wireless qual-to-percent function with values stored in
18154                         nm_device_new() earlier.
18155                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
18156                         nm_device_get_bad_crypt_packets())
18157                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
18158                         nm_device_new()
18159                 - (get_initial_auth_method): always use the Auth method that's in the allowed
18160                         list if available.  Problem was this: when the WEP key is wrong, NM will
18161                         try OS then SK modes, and then get stuck in SK mode after that.  This
18162                         should reset it.
18163                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
18164                         function
18165
18166         * src/NetworkManagerWireless.c
18167                 - (nm_wireless_qual_to_percent): try to make this function actually work and
18168                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
18169                         if that's all present, otherwise fall back to signal-to-noise ratios.
18170
18171 2005-01-29  Dan Williams  <dcbw@redhat.com>
18172
18173         * initscript/RedHat/NetworkManager
18174                 - Don't spit out sysctl stuff to console
18175
18176         * libnm_glib/libnm_glib.c
18177                 - (libnm_glib_init): call dbus_g_thread_init()
18178
18179         * panel-applet/NMWirelessAppletDbus.c
18180                 - (nmwa_dbus_worker): call dbus_g_thread_init()
18181
18182         * src/NetworkManager.c
18183                 - (main): call dbus_g_thread_init()
18184
18185         * src/NetworkManagerAPList.c
18186                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
18187                         so we can actually see what's there in a normal syslog
18188
18189         * src/NetworkManagerDevice.c
18190                 - (nm_device_activate_wireless): print out the "waiting for access point"
18191                         message only once, then say what access point we actually got after
18192                         the wait.
18193                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
18194                         function, wait until the scan is done.  Scans may change the ESSID of
18195                         the card, making this function think we need to switch access points
18196                 - (nm_device_wireless_process_scan_results): for artificial access points
18197                         don't check against the card's ESSID, but the best_ap's ESSID.  This
18198                         prevents collisions with the scanning code, which may change the card's
18199                         ESSID and cause the access point to get dropped from the device's AP
18200                         list.  Also increase the keep-around time to 2m from 60s since the max
18201                         scan interval could be 60s in some cases.
18202
18203         * src/NetworkManagerPolicy.c
18204                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
18205                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
18206                         the new properties and ESSIDs to the device's AP list.  Fixes some races
18207                         between NM and NMI.
18208
18209 2005-01-27  Dan Williams  <dcbw@redhat.com>
18210
18211         * info-daemon/NetworkManagerInfoDbus.c
18212                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
18213                         GConf, make a minimal entry for it (essid & timestamp)
18214
18215         * src/NetworkManagerAPList.c
18216                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
18217                         NetworkManagerInfo isn't running
18218
18219         * src/NetworkManagerDbus.[ch]
18220                 - (nm_dbus_nmi_is_running): new function
18221
18222         * src/NetworkManagerDevice.c
18223                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
18224                         address to garbage.
18225
18226         * src/NetworkManagerPolicy.c
18227                 - (nm_policy_activation_finish): On successful activation, make sure
18228                         the "best" AP has a MAC address, and don't tell NMI to add the
18229                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
18230                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
18231                         access point after refreshing our allowed list if it doesn't already
18232                         have a "best" access point.
18233
18234 2005-01-25  Dan Williams  <dcbw@redhat.com>
18235
18236         * panel-applet/NMWirelessAppletDbus.c
18237                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
18238                         so we check for NM_DBUS_SERVICE rather than not for it
18239
18240         * libnm_glib/libnm_glib.c
18241                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
18242                         ServiceOwnerChanged signal
18243
18244 2005-01-25  Dan Williams  <dcbw@redhat.com>
18245
18246         * configure.in
18247                 - Check DBUS version in configure, and set the C macros
18248                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
18249
18250         * info-daemon/NetworkManagerInfoDbus.c
18251                 - Remove #if 0-d section of code that quit NMI if NM went away.
18252
18253         * panel-applet/NMWirelessAppletDbus.c
18254                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18255
18256         * src/NetworkManager.c
18257           src/NetworkManagerMain.h
18258           src/NetworkManagerDbus.c
18259                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18260                 - Make updating of our Allowed Wireless Network lists from NMI
18261                         an idle function in the main thread now, with a high priority.
18262
18263 2005-01-24  Dan Williams  <dcbw@redhat.com>
18264
18265         * panel-applet/gtkcellview.[ch]
18266           panel-applet/menu-info.c
18267                 - Fix GTK version checks to be <= rather than <
18268
18269         * test/Makefile.am
18270                 - Include the libtool archive of libnm_glib rather than
18271                         trying to pull in the .so
18272
18273 2005-01-24  Dan Williams  <dcbw@redhat.com>
18274
18275         * src/NetworkManagerDevice.c
18276           src/NetworkManagerDevicePrivate.h
18277                 - Block nm_device_new() until our device's worker thread has had a
18278                         chance to start up.  Fixes a race between main thread and worker
18279                         thread starting that caused activation requests to get lost.
18280
18281 2005-01-24  Dan Williams  <dcbw@redhat.com>
18282
18283         * initscript/RedHat/NetworkManager
18284                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18285                         to add the NM startup script at priority 50, which was
18286                         way too early
18287
18288 2005-01-24  Colin Walters  <walters@redhat.com>
18289
18290         * named/named.conf: Use any port for query source instead of
18291         restricting to port 53.
18292
18293 2005-01-24  Dan Williams  <dcbw@redhat.com>
18294
18295         * initscript/RedHat/NetworkManager
18296                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18297                         to add the NM startup script at priority 50, which was
18298                         way too early
18299
18300 2005-01-24  Dan Williams  <dcbw@redhat.com>
18301
18302         Patch from Tom Parker <palfrey@tevp.net>
18303         * Fix up compile warnings & errors in the wireless applet
18304
18305 2005-01-24  Dan Williams  <dcbw@redhat.com>
18306
18307         * panel-applet/NMWirelessApplet.c
18308                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18309
18310 2005-01-24  Dan Williams  <dcbw@redhat.com>
18311
18312         * panel-applet/gtkcellview.[ch]
18313                 - Only compile these files for GTK 2.4 or lower, since 
18314                         GtkCellView is now public in GTK 2.6.  Fixes crasher
18315                         when choosing "Other Wireless Networks" from the panel
18316                         applet menu
18317
18318 2005-01-21  Dan Williams  <dcbw@redhat.com>
18319
18320         * src/NetworkManager.c
18321                 - Daemonize earlier so that glib doesn't get confused (?)
18322
18323 2005-01-21  Dan Williams  <dcbw@redhat.com>
18324
18325         * panel-applet/NMWirelessApplet.[ch]
18326           panel-applet/NMWirelessAppletDbus.c
18327           panel-applet/menu-info.c
18328           src/NetworkManagerDevice.c
18329                 - Disable wired devices in the menu when they have no link.
18330
18331 2005-01-21  Dan Williams  <dcbw@redhat.com>
18332
18333         * Cache last-known-good wireless authentication method in
18334                 NetworkManagerInfo, and use that method first during
18335                 wireless device activation.  Should speed up devices that
18336                 need Shared Key authentication method since Open System is
18337                 now the default.
18338
18339         * Remove the hack to not do full activation on wired connections
18340                 that are active when we launch, it causes too many problems
18341                 with name resolution and was a hack in the first place.
18342
18343         * Re-work wireless device activation again somewhat to have a
18344                 clearer chain of events and to use last-known-good
18345                 authentication method of the access point.  Also provide
18346                 better status throughout activation to ensure the applet
18347                 can tell the user exactly what's going on.
18348
18349         * Remove the "find wireless network" code and now simply attempt
18350                 to activate with that access point.  This reduces the delay
18351                 between selecting "Other wireless Network" and actually
18352                 connecting to that network.
18353
18354         * Correctly stop the device's worker thread when its removed.
18355
18356 2005-01-21  Dan Williams  <dcbw@redhat.com>
18357
18358         * dhcpcd/client.c
18359                 - Clean up some of the debug messages
18360
18361 2005-01-21  Dan Williams  <dcbw@redhat.com>
18362
18363         * Add new icons, more frames of animation
18364         * Remove some hacks to get the panel applet to display correct
18365                 status, an NM update will soon follow that will fix the
18366                 real issue.
18367
18368 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
18369
18370         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
18371         the first include for working i18n. Also, don't include it in .h files
18372         * panel-applet/NMWirelessApplet.h: Same
18373         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
18374         * panel-applet/menu-info.c: Same
18375
18376 2005-01-18  Dan Williams <dcbw@redhat.com>
18377
18378         * dhcpcd/client.c
18379                 - Remove some debug messages
18380                 - Wrap others in #ifdef DEBUG/#endif
18381
18382         * src/NetworkManager.c
18383                 - Remove some debug messages
18384                 - Clarify some debug messages
18385                 - Remove code related to old single-thread wireless scanning
18386
18387         * src/NetworkManagerAP.[ch]
18388                 - New AP property "last_seen" to track how recently an AP was
18389                         found in a scan
18390                 - Start using 'const' more in function arguments
18391
18392         * src/NetworkManagerAPList.[ch]
18393                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
18394                         of an AP found in an AP list from a source AP, or if not found
18395                         in the list add the source AP
18396                 - (nm_ap_list_combine): remove, no longer needed
18397
18398         * src/NetworkManagerDevice.c
18399                 - Each device now has a "worker" thread from start to end of its life.
18400                         Scanning for wireless devices now happens in that thread,
18401                         not in a single "wireless scanning thread" for all devices as
18402                         previously.  Activation consists of adding an idle handler to the
18403                         thread's main loop/context, which gets run at the next available
18404                         opportunity.
18405                 - Wireless scanning is also simplified, there is now only one list of
18406                         access points per wireless device, and APs older than 60s are
18407                         removed from the list.  Previously, we kept results for the last
18408                         3 scans and merged whole lists, which was complicated.
18409                 - Cleaned up activation debug messages.
18410                 - Wireless activation and access-point search routines now use Open System
18411                         authentication before trying Shared Key.
18412                 - Removed some code in nm_device_update_best_ap() that could cause cards
18413                         to loose their link to the access point.
18414                 - Scanning now uses a backoff algorithm, where the inverval becomes
18415                         progressively longer between scans when the list of scanned access
18416                         points doesn't change.  A change will revert to the shortest scan
18417                         interval (20s).
18418
18419         * src/NetworkManagerWireless.[ch]
18420                 - Remove code related to old single-thread wireless scanning
18421
18422 2005-01-18  Colin Walters  <walters@redhat.com>
18423
18424         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
18425         of older nameservers.
18426
18427 2005-01-18  Colin Walters  <walters@redhat.com>
18428
18429         * named/nm-named-manager.c (generate_named_conf): Many fixes
18430         to config file generation.
18431         (safer_kill): Remove, was too much trouble for little gain.
18432         (nm_named_manager_start): Run named as NM_NAMED_USER.
18433
18434         * configure.in: Add option --with-named-user.
18435
18436 2005-01-14  Colin Walters  <walters@redhat.com>
18437
18438         Patch from ed@catmur.co.uk (Ed Catmur)
18439
18440         * named/nm-named-manager.c: Add "context" property.
18441         Use it to add child watch source in specific GMainContext.
18442
18443         * src/NetworkManager.c (nm_data_new): Initialize
18444         named with correct main context.  Start named only
18445         after forking.
18446
18447 2005-01-14  Colin Walters  <walters@redhat.com>
18448
18449         * named/nm-named-manager.c (generate_named_conf): Write config
18450         and pid files into NM_NAMED_DATA_DIR; this allows things to
18451         work better with FC3 named SELinux policy.  Also fix up silly
18452         format error.
18453
18454         * configure.in: Add --with-named-dir option.
18455
18456 2005-01-14  Colin Walters  <walters@redhat.com>
18457
18458         * configure.in: Make named support require passing --with-named.
18459
18460         * named/nm-named-manager.c: Support writing resolv.conf directly
18461         without running named.
18462
18463 2005-01-13  Dan Williams <dcbw@redhat.com>
18464
18465         * named/nm-named-manager.c
18466                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
18467
18468         * src/NetworkManagerDevice.c
18469                 - Rework wireless link detection code to be more reliable
18470
18471 2005-01-12  Dan Williams <dcbw@redhat.com>
18472
18473         * initscripts/RedHat/NetworkManager
18474                 - Change initial level to "-" rather than "345" so that
18475                         we don't activate ourselves by default on install
18476
18477 2005-01-12  Dan Williams <dcbw@redhat.com>
18478
18479         * libnm_glib/
18480                 - Client library for applications using glib
18481
18482         * configure.in
18483           various Makefiles
18484                 - Split NM_CFLAGS and NM_LIBS into separate variables
18485                         like DBUS_*, HAL_* and GLIB_*
18486
18487         * src/NetworkManager.c
18488           src/NetworkManagerMain.h
18489                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
18490                         broadcast a status changed signal over DBUS from the main thread.
18491                         Still unused anywhere for the moment.
18492
18493         Patch from j@bootlab.org
18494         * panel_applet/NMWirelessAppletDbus.c
18495           src/NetworkManagerDbus.c
18496                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
18497                         for the "getMode" method call
18498
18499 2005-01-10  Dan Williams <dcbw@redhat.com>
18500
18501         * src/NetworkManagerDevice.c
18502                 - Minor fixups & corrections to "auto" frequency mode, make it
18503                         less chatty with syslog
18504
18505 2005-01-10  Dan Williams <dcbw@redhat.com>
18506
18507         * src/NetworkManagerDevice.c
18508                 - Implement "auto" frequency/channel support, since cards like Atheros
18509                         can't use other frequencies at all when you've told it to use a
18510                         specific one, even for scanning.
18511                 - Grab the scan mutex around places where we can't tolerate wireless
18512                         settings changing underneath us, like nm_device_wireless_network_exists()
18513                         and nm_device_activate_wireless()
18514
18515         * src/NetworkManagerWireless.c
18516                 - Back scan interval off to 20s instead of 14s
18517
18518 2005-01-09  Dan Williams <dcbw@redhat.com>
18519
18520         * src/NetworkManagerDevice.c
18521                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
18522                         already set.  Stops some drivers like Atmel from continually
18523                         reloading the firmware, which they do upon every configuration
18524                         change.
18525
18526 2005-01-09  Dan Williams <dcbw@redhat.com>
18527
18528         * dhcpcd/client.c
18529                 - Use correct timeout value
18530
18531         * info-daemon/NetworkManagerInfoDbus.c
18532           src/NetworkManagerDbus.c
18533                 - Consolidate communication between NM and NMI by doing only 1 dbus
18534                         method call to get Wireless Network info from NMI instead of 6
18535
18536         * src/NetworkManager.c
18537                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
18538                         when we didn't have an AP to use, we'd wait for one forever without
18539                         quitting
18540
18541         * src/NetworkManagerDevice.c
18542                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
18543                         activation, dhcp might not have started yet but we don't quit activation
18544                         before starting it, so the quit signal gets lost
18545
18546 2005-01-07  Dan Williams <dcbw@redhat.com>
18547
18548         * dhcpcd/client.c
18549                 - Rework the DHCP client code to be much less chatty when
18550                         it receives non-DHCP UDP packets during the DHCP run
18551                         (reported by and preliminary patches from Bill Moss)
18552
18553         * Move wireless scanning to a separate thread.  This thread forwards the
18554                 results to the main thread when done where they are integrated into
18555                 the device's access point lists.  This keeps the main thread (which
18556                 does all the DBUS communication) from being blocked for long periods
18557                 of time by wireless scanning.
18558
18559         * Make state modification an idle routine in the main loop, and trigger
18560                 state changes rather than polling for them.
18561
18562         * src/backends/NetworkManagerGentoo.c
18563                 - Fix up invalid C90 code (reported by Christoph Ruessler)
18564
18565         * src/NetworkManagerDevice.c
18566                 - Revert IPv6 patch for wired devices from 2004-12-22 for
18567                         router advertisements, causing problems and infinite loop
18568                         during "best" device determination due to link going up/down
18569                         (reported by Bill Moss)
18570
18571         Apply patch from Peter Jones
18572         * src/NetworkManagerDevice.c
18573                 - Shortcut for link-checking for ipw2x00 cards
18574                 - Split out association check into separate routine
18575
18576 2004-01-05  Colin Walters  <walters@redhat.com>
18577
18578         * named/named.conf: Add PID_FILE.
18579
18580         * named/nm-named-manager.c: Always generate a pid
18581         file, since older BIND versions don't support
18582         "pid-file none".
18583
18584 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
18585
18586         * configure.in (ALL_LINGUAS): Added ja (Japanese).
18587
18588 2004-12-22  Dan Williams <dcbw@redhat.com>
18589
18590         * src/NetworkManagerDevice.c
18591                 - Silently fail when setting bitrate doesn't work
18592
18593
18594         Patches from j@bootlab.org:
18595         * src/backends/NetworkManagerDebian
18596                 - Update backend to match functionality in RedHat backend
18597         * src/NetworkManagerDevice.c
18598                 - Take down then bring up wired devices after connection so
18599                 they send out ipv6 router advertisements
18600
18601 2004-12-21  Colin Walters  <walters@verbum.org>
18602
18603         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
18604         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
18605
18606 2004-12-21  Colin Walters  <walters@redhat.com>
18607
18608         * configure.in: Correct named detection.
18609
18610 2004-12-21  Colin Walters  <walters@redhat.com>
18611
18612         * src/NetworkManager.c (nm_data_new): Initialize named.
18613         Also, set up a signal handler for SIGINT/SIGTERM, and exit
18614         the mainloop when these signals are received.
18615         (nm_data_free): Unref named.
18616         (sigterm_handler, sigterm_pipe_handler): New functions for
18617         exiting mainloop.
18618         
18619         * src/NetworkManagerMain.h (NMData): Add signal handling and
18620         nameserver bits.
18621
18622         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
18623         unref.
18624
18625         * src/NetworkManagerDHCP.c (set_nameservers): New function;
18626         set nameservers from DHCP response data.
18627         (set_domain_search): Set domain search from DHCP response.
18628         (nm_device_dhcp_configure): Invoke them.
18629
18630         * src/NetworkManagerSystem.c
18631         (nm_system_device_update_resolv_conf): Delete.  Deleting
18632         code is totally sweet.
18633
18634         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
18635
18636         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
18637         implements an object which controls a nameserver.  Currently
18638         uses bind 9.
18639
18640         * configure.in: Check for named.
18641
18642         * Makefile.am (SUBDIRS): Add named dir.
18643
18644         * named/named.conf: New template config file.
18645
18646 2004-12-20  Colin Walters  <walters@redhat.com>
18647
18648         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
18649         instead of '='.
18650
18651 2004-12-17  Dan Williams  <dcbw@redhat.com>
18652
18653         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
18654                 link-local addresses instead of doing DHCP.
18655
18656         * In the panel applet, there's a new "Create new Wireless Network..." item
18657
18658         * The panel applet also sticks around now even if NetworkManager dies, but
18659                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
18660                 a bug, I'll fix that later.
18661
18662         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
18663                 lookups after a switch rather than actually doing them.
18664
18665         * Clean up some of those warnings in nm_ap_list_* functions
18666
18667         * Delay between scans changed to 15s instead of 10s
18668
18669 2004-12-15  Dan Williams  <dcbw@redhat.com>
18670
18671         Patch from Tom Parker
18672         * Add autoip/Link Local Addressing support when we fail to get a DHCP
18673                 address
18674
18675         * Longer pause after setting ESSID on cards that support a larger number
18676                 of channels to give the card time to find the right channel
18677
18678         * Add system hook to restart mDNSResponder (or whatever the local implementation
18679                 of Multicast DNS is) when we activate interfaces
18680
18681 2004-12-15  Dan Williams  <dcbw@redhat.com>
18682
18683         * Rework the DHCP code again to revert to sending full ethernet frames
18684                 rather then relying on the kernel to do the right thing with our
18685                 packets.
18686
18687 2004-12-06  Dan Williams  <dcbw@redhat.com>
18688
18689         * dhcpcd/client.c
18690                 - Fix some minor errors in dhcp_handle_transaction() that caused
18691                         unexpected early timeouts of DHCP transactions
18692
18693         * dhcpcd/client.h
18694                 - DHCP retransmit time from 4s -> 5s
18695
18696 2004-12-05  Dan Williams  <dcbw@redhat.com>
18697
18698         * Major rework of the DHCP code, taking some cues from pump.  We don't
18699                 write raw Ethernet packets anymore, which simplifies the code quite
18700                 a bit.  The new code should be more robust, not hang in recvfrom()
18701                 as much, and generally work better.  This also means that we need
18702                 to force HAL/dbus to use a created GMainContext rather than the
18703                 default context, since having the DHCP renew/rebind thread using
18704                 its own GMainContext seemed to give dbus a fit.  There is also more
18705                 debugging information printed from the DHCP loop to help with future
18706                 problems.
18707
18708         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
18709                 assume that the default gateway should be the DHCP server.
18710
18711         Patch from Matthew Schick <matt oss-institute org>
18712         * src/backends/NetworkManagerGentoo.c
18713                 - Fix compilation error due to missing "ip4_broadcast"
18714
18715 2004-12-03  Dan Williams  <dcbw@redhat.com>
18716
18717         * initscript/Makefile.am
18718         * initscript/Debian/NetworkManager
18719         * initscript/Gentoo/NetworkManager
18720         * initscript/RedHat/NetworkManager
18721         * initscript/NMLaunchHelper.c
18722                 - Remove NMLaunchHelper, if you need to wait until the network
18723                         comes up, use the dead code from CVS.
18724
18725 2004-12-01  Colin Walters  <walters@redhat.com>
18726         
18727         * configure.in: Suck in gcc warnings code from Rhythmbox,
18728         but use fewer default flags, and in particular add -Wno-unused,
18729         since the codebase has a lot of unused variables.
18730
18731         * test/nmtestdevices.c (create_device): 
18732         * test/nminfotest.c (get_network_string_property) 
18733         (get_networks_of_type): 
18734         * test/nmclienttest.c (main): 
18735         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
18736         * initscript/NMLaunchHelper.c (get_nm_status): 
18737         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
18738         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
18739         Fix declarations after statements.
18740
18741 2004-12-01  Colin Walters  <walters@redhat.com>
18742
18743         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
18744         (nmi_dbus_get_vpn_userpass): New method.
18745         (nmi_dbus_nmi_message_handler): Invoke it.
18746
18747         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
18748
18749         * info-daemon/NetworkManagerInfoVPN.h,
18750         info-daemon/NetworkManagerInfoVPN.c: New files; responds
18751         to requests for VPN passwords.
18752
18753         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
18754
18755 2004-12-01  Colin Walters  <walters@redhat.com>
18756
18757         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
18758         includes.
18759
18760 2004-12-01  Colin Walters  <walters@redhat.com>
18761
18762         * panel-applet/NMWirelessAppletDbus.c
18763         (nmwa_dbus_update_active_device_strength): Fix missing
18764         return value.
18765
18766 2004-12-01  Colin Walters  <walters@redhat.com>
18767
18768         * panel-applet/NMWirelessApplet.c: Add missing include.
18769
18770 2004-12-01  Colin Walters  <walters@redhat.com>
18771
18772         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
18773         Remove useless CLAMP (); the value is unsigned, and the case tests
18774         qual->qual < 100, so the value must always be between 0 and 100.
18775
18776 2004-12-01  Colin Walters  <walters@redhat.com>
18777
18778         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
18779
18780 2004-11-22  Colin Walters  <walters@verbum.org>
18781
18782         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
18783         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
18784         which is essentially a noop since nscd caches hosts on disk too.
18785         
18786 2004-11-22  Colin Walters  <walters@redhat.com>
18787
18788         * src/Makefile.am (NetworkManager_SOURCES): Add
18789         NetworkManagerDevicePrivate.h.
18790
18791 2004-11-22  Dan Williams <dcbw@redhat.com>
18792
18793         * src/NetworkManagerDevicePrivate.h
18794                 - Split out the NMDevice struct to a different file so that stuff like
18795                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
18796
18797         * dhcpcd/client.c
18798                 - fprintf->syslog
18799                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
18800                         need to cancel the dhcp request during the send and recv
18801
18802         * dhcpcd/client.h
18803                 - Move the DHCP option enum to dhcpcd.h
18804
18805         * src/NetworkManagerDHCP.c
18806                 - Split out the actual IP/netmask/etc setting code
18807                 - New Renew/Rebind functions
18808                 - New timer setup function for renew/rebind operations
18809
18810         * src/NetworkManagerDevice.c
18811                 - For device activation, if we are using DHCP then keep the activation thread
18812                         alive until device deactivation.  We need to renew/rebind the DHCP address
18813                         after the T1 (renew) and T2 (rebind) times have expired.
18814                 - Increase some timeouts after bringing wireless cards up/down
18815
18816 2004-11-17  Dan Williams <dcbw@redhat.com>
18817
18818         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
18819                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
18820                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
18821                 show known access points that don't broadcast their ESSID in the menus without
18822                 any user intervention whatsoever.
18823
18824         * info-daemon/NetworkManagerInfoDbus.c
18825                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
18826                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
18827
18828         * src/NetworkManagerAP.[ch]
18829                 - Add a "user_addresses" data member to the NMAccessPoint structure
18830                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
18831                         the user_addresses data member
18832
18833         * src/NetworkManagerAPList.c
18834                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
18835                         the AP's reported address
18836                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
18837
18838         * src/NetworkManagerDHCP.c
18839                 - Increase DHCP timeout from 25s -> 30s
18840
18841         * src/NetworkManagerDbus.[ch]
18842                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
18843                         user addresses
18844
18845         * src/NetworkManagerDevice.c
18846                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
18847                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
18848                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
18849                         So, we take the card down to clear it out.
18850                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
18851                         too, since that's where the user_addresses are
18852
18853         * src/NetworkManagerPolicy.c
18854                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
18855                         that wireless networks' user_addresses list upon successful activation
18856
18857 2004-11-16  Dan Williams <dcbw@redhat.com>
18858
18859         * src/NetworkManagerDevice.[ch]
18860                 - (nm_device_clear_activation_fail): new function
18861
18862         * src/NetworkManagerPolicy.c
18863                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
18864                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
18865
18866 2004-11-16  Dan Williams <dcbw@redhat.com>
18867
18868         * src/NetworkManagerDevice.c
18869                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
18870                         leak the structure, better updating of now_scanning status
18871                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
18872
18873 2004-11-15  Dan Williams <dcbw@redhat.com>
18874
18875         Major rework of link detection code.  We now use DHCP
18876         as part of the link detection which proves to be much more robust,
18877         and also supports Open System authentication for wireless networks.
18878
18879         We no longer use external DHCP client programs.  Instead, we use 
18880         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
18881         which was written by:
18882                 Yoichi Hariguchi <yoichi@fore.com>
18883                 Sergei Viznyuk <sv@phystech.com>
18884                 http://www.phystech.com/download/
18885         It resides in the "dhcpcd" directory and was refactored into a general
18886         purpose DHCP client library by me.
18887
18888         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
18889         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
18890
18891 2004-11-15  Dan Williams <dcbw@redhat.com>
18892
18893         Patch from Tom Parker <palfrey@tevp.net>:
18894
18895         * src/NetworkManagerDevice.c
18896                 - Less output to console when no access
18897                         points are found during a scan
18898
18899 2004-11-15  Dan Williams <dcbw@redhat.com>
18900
18901         Patch from Tom Parker <palfrey@tevp.net>:
18902
18903         * src/backends/interface_parser.c
18904                 - Use g_strdup ()
18905                 - Check for inp == NULL
18906                 - use syslog ()
18907
18908 2004-11-13  Colin Walters  <walters@redhat.com>
18909
18910         Patch from Tom Parker <palfrey@tevp.net>:
18911
18912         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
18913         
18914         * src/backends/NetworkManagerRedHat.c: Switch to
18915         including shvar.h instead of shvar.c.
18916
18917         * src/backends/NetworkManagerDebian.c: Don't include
18918         interface_parser.c in source file.
18919
18920         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
18921         and interface_parser.[ch].
18922         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
18923         Include shvar.c and shvar.h here.
18924         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
18925         interface_parser.c and interface_parser.h here.
18926
18927 2004-11-12  Colin Walters  <walters@redhat.com>
18928
18929         * configure.in: Strip out TARGET_DISTRO and
18930         SYSTEM_BACKEND_FILE variables.  Switch to Automake
18931         conditionals.
18932
18933         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
18934         (libnmbackend_la_SOURCES): Use Automake conditionals
18935         to add distro-specific files.
18936
18937         * initscript/Makefile.am (SUBDIRS): Update to
18938         use conditionals.
18939
18940 2004-11-12  Colin Walters  <walters@redhat.com>
18941
18942         Patches from j bootlab org
18943
18944         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
18945         Add interface_parser.[ch].
18946
18947         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
18948         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
18949
18950 2004-11-12  Colin Walters  <walters@redhat.com>
18951
18952         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
18953         call to nmi_dbus_is_running too, not necessary anymore.
18954         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
18955         pick up exit().
18956
18957 2004-11-11  Colin Walters  <walters@verbum.org>
18958
18959         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
18960         Delete.
18961         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
18962         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
18963         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
18964         This avoids a race condition that made it pretty easily
18965         possible to get two NetworkManagerInfo daemons running.
18966
18967 2004-11-11  Colin Walters  <walters@verbum.org>
18968         
18969         * src/NetworkManager.c (main): Use daemon(3).
18970
18971         * info-daemon/NetworkManagerInfo.c (main): Ditto.
18972
18973         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
18974
18975 2004-11-10 Dan Williams <dcbw@redhat.com>
18976
18977         Patches from j bootlab org
18978         * src/NetworkManagerDevice.c
18979                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
18980                         whether the card has a link or not, some cards are slow
18981                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
18982
18983         * info-daemon/NetworkManagerInfoPassphraseDialog.c
18984                 - Disable the "Login" button on the passphrase dialog until the user
18985                         enters a valid passphrase or key
18986
18987         Patches from Tom Parker <palfrey tevp net>
18988         * src/backends/NetworkManagerDebian.c
18989                 - Add static IP support to the debian backend
18990
18991         * src/backends/interface_parser.[ch]
18992                 - Parse debian interface config files
18993
18994 2004-11-08 Dan Williams <dcbw@redhat.com>
18995
18996         * src/NetworkManagerDevice.c
18997                 - Some random fprintf->syslog conversions
18998                 - (nm_device_wireless_network_exists): double-check for network
18999                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
19000
19001         * src/NetworkManagerWireless.[ch]
19002                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
19003                         so that the binary->ascii conversion works (if unsigned, the bitshift
19004                         will fill with zeros, which is what's required).  Also mask bitshift
19005                         result with 0xF for futher assurance.
19006
19007 2004-11-06 Dan Williams <dcbw@redhat.com>
19008
19009         * src/NetworkManagerUtils.c
19010                 - (nm_get_wireless_driver_support_level): default to
19011                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
19012                         flip this when changing from whitelist->blacklist of
19013                         wireless drivers
19014
19015 2004-11-05 Dan Williams <dcbw@redhat.com>
19016
19017         Patch from Robert Paskowitz:
19018         * src/backends/NetworkManagerGentoo.c
19019                 - Update static IP config code
19020
19021 2004-11-05 Dan Williams <dcbw@redhat.com>
19022
19023         * info-daemon/NetworkManagerInfoDbus.c
19024           src/NetworkManagerDbus.[ch]
19025           src/NetworkManagerDevice.c
19026                 - Keep track of the # of attempts to get the WEP key
19027                         from the user and pass that along to the info daemon
19028
19029 2004-11-05 Dan Williams <dcbw@redhat.com>
19030
19031         * src/NetworkManagerUtils.c
19032                 - Blacklist wireless cards rather than whitelisting them.
19033                 - Grab driver name from HAL rather than trying to find it
19034                         ourselves.
19035
19036 2004-11-03 Dan Williams <dcbw@redhat.com>
19037
19038         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
19039                 - Disable OK button until valid data is entered
19040                         for encryption stuff too
19041
19042         * panel-applet/NMWirelessApplet.c
19043                 - Report card strength for current AP if the card
19044                         doesn't report strength data for scanned access
19045                         points
19046
19047         * src/NetworkManagerDevice.c
19048                 - Smooth out cards reported quality, Atmel card was
19049                         intermittently reporting no quality data but soon
19050                         recovers
19051
19052         * src/NetworkManagerWireless.c
19053                 - Better quality data percentage calculation.  Atmel
19054                         cards (mine at least) seem to report the quality
19055                         in percentage format already, so honor that
19056
19057         Patch from <j@bootlab.org>
19058         * NetworkManager.h
19059           info-daemon/NetworkManagerInfoPassphraseDialog.c
19060           info-daemon/passphrase.glade
19061           panel-applet/NMWirelessAppletOtherNetworkDialog.c
19062           panel-applet/essid.glade
19063           src/NetworkManagerAP.c
19064           src/NetworkManagerDevice.c
19065           src/NetworkManagerWireless.[ch]
19066                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
19067
19068 2004-11-03 Dan Williams <dcbw@redhat.com>
19069
19070         * src/NetworkManagerDevice.[ch]
19071                 - (nm_device_set_enc_key): Add parameter to set Authentication
19072                         Mode (Open System, Shared Key, or None).  We're still using
19073                         Shared Key for now though.
19074
19075 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
19076
19077         * panel-applet/menu-info.c: change from bold text to light
19078         colored, may cause problems with some themes, i've tested a lot
19079         and they seem fine. 
19080
19081         * panel-applet/NMWirelessApplet.c: fix strength tooltip
19082
19083 2004-11-01  Colin Walters  <walters@verbum.org>
19084
19085         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
19086         (nm_wireless_128bit_key_from_passphrase): Add const.
19087
19088         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
19089         (nm_ap_set_enc_key_source): Add const.
19090         
19091 2004-11-01  Colin Walters  <walters@verbum.org>
19092
19093         * .cvsignore: Update.
19094
19095 2004-10-29 Dan Williams <dcbw@redhat.com>
19096
19097         * src/NetworkManagerDevice.c
19098                 - (nm_device_wireless_network_exists): Actually use the encryption
19099                         key we got from the applet when attempting to find a wireless network
19100                 - Don't bring devices down so much since on some cards it triggers
19101                         firmware hotplugs each time
19102
19103         * src/NetworkManagerDbus.c
19104                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
19105                         from the caller
19106
19107 2004-10-29 Dan Williams <dcbw@redhat.com>
19108
19109         * src/NetworkManager.c
19110                 - (nm_hal_device_property_modified): unlock a locked active
19111                         wireless device when a wired connection gets a link.
19112                         (Means you'll switch to wired whenever you plug in no
19113                         matter what).
19114
19115 2004-10-29 Dan Williams <dcbw@redhat.com>
19116
19117         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
19118                 - New files, implement the "Other wireless network" dialog
19119
19120         * panel-applet/NMWirelessApplet.c
19121                 - Move "other wireless network" dialog to separate file
19122
19123         * panel-applet/NMWirelessAppletDbus.[ch]
19124                 - Take key and key_type paramaters for the set_device function
19125
19126         * panel-applet/essid.glade
19127                 - Add UI bits for encryption settings
19128
19129         * src/NetworkManagerDbus.c
19130                 - Retrieve key and key_type params for "setActiveDevice" method call
19131                         and pass them on
19132                 - unref AP returned from nm_device_get_best_ap() when needed
19133
19134         * src/NetworkManagerDevice.c
19135                 - (nm_device_get_best_ap): ref the ap before returning it
19136                 - unref AP returned from nm_device_get_best_ap() when needed
19137                 - (nm_device_activate_wireless): add "ap" parameter so we don't
19138                         need to call nm_device_get_best_ap() here, it was pretty much
19139                         redundant anyway
19140                 - (AP_NEED_KEY): break second link check condition out into separate
19141                         function, and fix segfault when ap->enc_key_source was NULL
19142                 - (nm_device_find_and_use_essid): take key and key_type parameters and
19143                         pass them along to nm_device_wireless_network_exists().  If the
19144                         network does exist, set the passed-in key+key_type on the AP
19145
19146         * src/NetworkManagerPolicy.c
19147                 - unref AP returned from nm_device_get_best_ap() when needed
19148
19149 2004-10-28 Dan Williams <dcbw@redhat.com>
19150
19151         * src/NetworkManagerUtils.c
19152                 - (nm_spawn_process): Fix a potential dereference of NULL
19153
19154         Patches from Peter Jones:
19155
19156         * src/NetworkManagerDevice.c
19157                 - (nm_device_test_wireless_extensions): Better check for
19158                         wireless devices
19159
19160         * src/NetworkManagerUtils.c
19161                 - (nm_spawn_process): Pass in valid stdout and stderr so
19162                         executed programs don't randomly SIGPIPE and fail
19163                 - (nm_get_wired_driver_support_level): quash hal warning
19164                         when checking for USB ethernet device
19165
19166 2004-10-27 Dan Williams <dcbw@redhat.com>
19167
19168         * info-daemon/NetworkManagerInfo.c
19169           info-daemon/NetworkManagerInfoDbus.c
19170           info-daemon/NetworkManagerInfoPassphraseDialog.c
19171           panel-applet/NMWirelessApplet.c
19172                 - Properly escape gconf keys
19173
19174         * src/NetworkManager.c
19175                 - remove unused variables
19176
19177         * src/NetworkManagerAP.c
19178                 - (nm_ap_new_from_ap): Don't redundantly set new APs
19179                         refcount since it got set in nm_ap_new()
19180
19181         * src/NetworkManagerAPList.c
19182                 - (nm_ap_list_combine): Give up ownership of newly created
19183                         access points to the ap list, fixes memleak
19184
19185         * src/NetworkManagerDevice.c
19186                 - Remove cached_ap_list4 member since its not really needed
19187                 - (nm_device_wireless_network_exists): Try to get correct
19188                         encryption status of a found AP if its already in our
19189                         device list
19190                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
19191                         memory allocs/deallocs a bit clearer and shorter-lived
19192
19193 2004-10-26 Ray Strode <rstrode@redhat.com>
19194
19195         * panel-applet/NMWirelessApplet.c:
19196           (custom_essid_item_selected):  kill some compiler
19197         warnings 
19198
19199 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
19200
19201         * info-daemon/NetworkManagerInfoDbus.c
19202                 - (nmi_dbus_is_running): New function for determining if nmi is already running
19203                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
19204
19205 2004-10-23 Dan Williams <dcbw@redhat.com>
19206
19207         * info-daemon/NetworkManagerInfoDbus.c
19208                 - Trap the "DeviceActivationFailed" signal
19209
19210         * docs/NetworkManager DBUS API.txt
19211                 - Add "DeviceActivationFailed" signal
19212
19213         * panel-applet/NMWirelessAppletDbus.c
19214                 - Quash the "NetworkManager service not available" message
19215
19216         * src/NetworkManagerDbus.[ch]
19217                 - Add the "DeviceActivationFailed" signal
19218
19219         * src/NetworkManagerDevice.c
19220                 - Add support for activation_failed flag
19221                 - Fix deadlock where activation thread didn't clean itself up, making
19222                         main thread still believe it was alive forever (didn't reset activation
19223                         flags like activating, just_activated, etc when IP configuration
19224                         failed)
19225
19226         * src/NetworkManagerPolicy.c
19227                 - Implement logic for DeviceActivationFailed signal, and when activation fails
19228                         for wireless networks, try to fall back to some other access point
19229
19230 2004-10-23 Dan Williams <dcbw@redhat.com>
19231
19232         * panel-applet/NMWirelessApplet.[ch]
19233                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
19234                         to the applet object, so we can get tooltips
19235                 - Add tooltips (RH #136866)
19236
19237         * src/NetworkManagerDevice.c
19238                 - When trying to find a wireless network, try to connect with encryption
19239                         turned on first, so that we can more accurately detect whether or not
19240                         we need to use encryption for the actual association later on
19241
19242 2004-10-21 Dan Williams <dcbw@redhat.com>
19243
19244         * Add some support for telling NetworkManagerInfo to tell the user
19245                 that they are using a device that's not fully supported
19246
19247         * Fix some assertions in debug messages due to null access point args
19248
19249 2004-10-21 Dan Williams <dcbw@redhat.com>
19250
19251         * src/NetworkManagerDevice.c
19252                 - Don't try to activate/bring up/down unsupported
19253                         devices
19254
19255         * src/NetworkManagerUtils.c
19256                 - Fix case of PCI ID checks for driver support levels
19257
19258 2004-10-21 Dan Williams <dcbw@redhat.com>
19259
19260         * NetworkManager.h
19261                 - New file, now contains commonly used structures and bits
19262                         for the dbus API of NetworkManager
19263
19264         * Makefile.am
19265                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
19266
19267         * src/NetworkManager.h
19268                 - Rename -> src/NetworkManagerMain.c
19269
19270         * Various fixups all around to use NetworkManager.h and new
19271                 src/NetworkManagerMain.h, remove redundant bits that got
19272                 moved into NetworkManager.h
19273
19274         * src/NetworkManagerDevice.[ch]
19275           src/NetworkManagerUtils.[ch]
19276           src/NetworkManagerPolicy.c
19277           src/NetworkManagerDbus.c
19278                 - Whitelist wireless drivers, and blacklist some wired
19279                         drivers.  Also blacklist cipsec and ethernet-over-usb
19280                         devices at this time (RH #135722, RH #135648)
19281                 - Don't leak unsupported devices out over dbus, or allow
19282                         them to be set as the active device.  Skip over them
19283                         during automatic device picking
19284
19285         * test/nmclienttest.c
19286                 - Clean up the dbus code a lot
19287
19288 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
19289
19290         * configure.in: post release bump.
19291
19292 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
19293
19294         * configure.in:
19295         * NEWS: Released NetworkManager-0.3.1
19296
19297 2004-10-18 Dan Williams <dcbw@redhat.com>
19298
19299         Patches from Thom May:
19300         * test/nmtestdevices.c
19301                 - Include <string.h>
19302         * src/backends/NetworkManagerDebian.c:
19303                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19304                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19305                         Move to using g_strdup_printf rather than arbitrary buffers
19306                 - (nm_system_device_setup_static_ip4_config) Implement function.
19307                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19308
19309 2004-10-17 Dan Williams <dcbw@redhat.com>
19310
19311         * info-daemon/NetworkManagerInfoDbus.c
19312                 - Display name of network in the "network not found" dialog
19313
19314         * panel-applet/NMWirelessAppletDbus.c
19315                 - (nmwa_dbus_call_nm_method): new function replaces all other
19316                         nmwa_dbus_get_[string|string_array|int|boolean] methods
19317                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
19318                         consolidated into nmwa_dbus_get_object_name()
19319
19320 2004-10-15 Dan Williams <dcbw@redhat.com>
19321
19322         * src/NetworkManagerDbus.c
19323           info-daemon/NetworkManagerInfoDbus.c
19324                 - Display an error dialog when the user tries to use an
19325                         "Other wireless network" that's not found.
19326
19327 2004-10-15 Dan Williams <dcbw@redhat.com>
19328
19329         * panel-applet/NMWirelessApplet.[ch]
19330                 - Fix up corner cases in applet state, making it
19331                         look more responsive.  Change state to "connecting" when
19332                         the user is forcing a device too.
19333
19334 2004-10-15 Dan Williams <dcbw@redhat.com>
19335
19336         * src/NetworkManagerAPList.c
19337                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
19338
19339         * src/NetworkManagerDbus.c
19340                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
19341
19342         * src/NetworkManagerDevice.c
19343                 - Disown APs after the device's AP list takes ownership
19344
19345 2004-10-15 Dan Williams <dcbw@redhat.com>
19346
19347         * panel-applet/NMWirelessApplet.c
19348                 - Update our applet state from the GUI thread
19349
19350         * panel-applet/NMWirelessAppletDbus.c
19351                 - Greatly simplify the locking to make the GUI thread
19352                         smoother.  Update a private copy of the device list
19353                         and active device and only when done talking to
19354                         NetworkManager turn it over to the GUI thread.
19355
19356 2004-10-15 Dan Williams <dcbw@redhat.com>
19357
19358         * src/NetworkManagerAP.[ch]
19359                 - Add "artificial" get/set functions, set for APs that
19360                         aren't discovered as part of a scan but instead
19361                         discovered by force-setting the ESSID
19362
19363         * src/NetworkManagerDevice.[ch]
19364                 - (nm_device_wireless_network_exists): pass back whether
19365                         or not the discovered AP was encrypted.  Also, try
19366                         falling back to encrypted mode on the card if unencrypted
19367                         association doesn't work
19368                 - (nm_device_find_and_use_essid): If the network requested
19369                         did in fact exists, but it wasn't in our scan list, add
19370                         an "artificial" entry for it.  Some Cisco cards don't
19371                         see non-ESSID-broadcasting APs in their scan but can still
19372                         associate with them if you know the ESSID, this works around
19373                         that behavior
19374                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
19375                         to scan if the card is currently associated with that AP
19376
19377 2004-10-15 Dan Williams <dcbw@redhat.com>
19378
19379         ---- We have a website ----
19380         http://people.redhat.com/dcbw/NetworkManager
19381
19382         Patch from Robert Paskowitz:
19383         * src/NetworkManager.c
19384                 - (main): Make sure we are run as root
19385         * src/NetworkManagerDevice.c
19386                 - Fix type in ad-hoc setting function
19387
19388         Patch from Thom May:
19389         * src/backends/NetworkManagerDebian.c
19390                 - Make Debian backend compile again
19391
19392 2004-10-14 Dan Williams <dcbw@redhat.com>
19393
19394         * Tagged NetworkManager-0_3
19395
19396 2004-10-14 Dan Williams <dcbw@redhat.com>
19397
19398         Patch from Robert Paskowitz:
19399         * NEWS
19400           src/NetworkManagerDevice.[ch]
19401           src/backends/NetworkManagerDebian.c
19402           src/backends/NetworkManagerGentoo.c
19403           src/backends/NetworkManagerRedHat.c
19404           src/backends/NetworkManagerSlackware.c
19405                 - Add support for grabbing and using a broadcast address
19406                         from system config files
19407                 - Some Gentoo backend fixes for grabbing network config
19408                 - Fix LOG_WARN->LOG_WARNING
19409
19410 2004-10-14 Dan Williams <dcbw@redhat.com>
19411
19412         * NEWS: a few small fixes in the credits
19413
19414 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
19415
19416         * NEWS: prep for release.
19417
19418 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
19419
19420         * panel-applet/NMWirelessAppletDbus.c
19421         (nmwa_dbus_update_device_wireless_networks): remove warnings.
19422
19423 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
19424
19425         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
19426         applet->state == APPLET_STATE_NO_NM animation.
19427
19428         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
19429         set the text correctly.
19430
19431 2004-10-14 Dan Williams <dcbw@redhat.com>
19432
19433         * src/NetworkManager.c
19434                 - Only accept and manager 802.3 and 802.11 devices
19435
19436         * src/NetworkManagerDbus.[ch]
19437                 - (nm_dbus_nm_set_active_device): move most of the actual activation
19438                         logic into NetworkManagerDevice.c
19439                 - (nm_dbus_network_status_from_data): new function
19440                 - (nm_dbus_signal_network_status_change): new function, unused for now
19441                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
19442
19443         * src/NetworkManagerDevice.[ch]
19444                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
19445                         a random ESSID.
19446
19447 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
19448
19449         * info-daemon/NetworkManagerInfo.c 
19450                 - (main): Added session management
19451
19452 2004-10-14 Dan Williams <dcbw@redhat.com>
19453
19454         * panel-applet/NMWirelessAppletDbus.[ch]
19455                 - Expose network_device_[un]ref()
19456                 - Expose wireless_network_[un]ref()
19457                 - (wireless_network_new_with_essid): new function, create and return
19458                         a wireless network with a particular essid
19459
19460         * panel-applet/NMWirelessApplet.c
19461                 - Hook up the "other network" dialog to do something
19462
19463 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
19464
19465         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
19466         doesn't work yet, but it looks okay.
19467
19468         * panel-applet/icons/*png: Resize to 22x22 and install in the
19469         right place.
19470
19471 2004-10-13 Dan Williams <dcbw@redhat.com>
19472
19473         * panel-applet/NMWirelessApplet.c
19474                 - Add function to print out applet_state in a readable
19475                         manner
19476
19477         * src/NetworkManager.c
19478                 - (main): Don't segfault when nm_dbus_init() fails, we had
19479                         a left-over call to hal_shutdown() into which we passed NULL
19480
19481         * src/NetworkManagerAP.c
19482                 - (nm_ap_set_essid): Allow NULL essids
19483
19484         * src/NetworkManagerAPList.[ch]
19485                 - More use of nm_ap_list_[un]lock ()
19486                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
19487                         network/essid, just return nothing.  Also skip over NULL
19488                         essid access points in the list when searching
19489                 - (nm_ap_list_get_ap_by_address): new function
19490                 - (nm_ap_list_update_network): set the access point's key source to
19491                         NULL when the key returned from NetworkManagerInfo is NULL or
19492                         of 0 length
19493                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
19494                         copy timestamp over too
19495                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
19496                         find the correct ESSID for a blank-essid access point by searching
19497                         through another list and matching access point MAC addresses
19498                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
19499
19500         * src/NetworkManagerDbus.c
19501                 - (nm_dbus_nm_set_active_device): deal with random networks the user
19502                         may specify.  This is mainly for access points that don't
19503                         broadcast their essid.  So if the user tells us to associate with
19504                         some random ESSID that's not in our access point list, we find
19505                         out if the access point does in fact exist (by attempting association
19506                         and then matching that access point's MAC address with the essid the
19507                         user gave us) and then we switch to it.
19508                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
19509                         to the returned list of networks for the "getNetworks" method
19510
19511         * src/NetworkManagerDevice.[ch]
19512                 - Extra debugging info for link detection
19513                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
19514                         based on MAC address
19515                 - (nm_device_get_path_for_ap): ignore blank-essid access points
19516                 - (nm_device_wireless_network_exists): new function, find out whether
19517                         a random ESSID exists by attempting to associate with it
19518                 - (nm_device_do_normal_scan): allow blank-essid access points in our
19519                         device list as long as they have an AP MAC address we can use.
19520                         Also send WirelessNetwork[Dis]Appeared signals for non-active
19521                         devices too.  Lets the applet update more frequently.
19522
19523         * src/backends/NetworkManagerGentoo.c
19524                 - Patch from: Robert Paskowitz
19525                         - Update backend code for Gentoo
19526                         - Implement nm_system_device_update_config_info ()
19527
19528         * test/nmclienttest.c
19529                 - (set_network_device): new function, takes a command-line argument
19530                         and tells NetworkManager to use that wireless network
19531
19532 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
19533
19534         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
19535         if the notification icon crashes 5 times within 5 seconds of each respawn 
19536
19537 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
19538
19539         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
19540         g_print.
19541
19542 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
19543
19544         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
19545
19546         * panel-applet/NMWirelessApplet.c: (animation_timeout),
19547         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
19548         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
19549         Change the name of the icons.
19550
19551         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
19552         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
19553         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
19554         (nm_menu_wireless_expose_event): Really bad hack to get the style
19555         to draw in the right color.
19556
19557 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
19558
19559         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
19560         Notification if it crashes
19561
19562 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
19563
19564         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
19565         (nmwa_dbus_get_string): remove unused functions
19566
19567         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
19568         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
19569         remove unused functions
19570
19571         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
19572
19573 2004-10-12 Dan Williams <dcbw@redhat.com>
19574
19575         * panel-applet/NMWirelessAppletDbus.c
19576                 - New functions:
19577                         wireless_network_new
19578                         wireless_network_copy
19579                         network_device_new
19580                         network_device_copy
19581
19582         * src/NetworkManagerDevice.[ch]
19583                 - New functions:
19584                         nm_device_set_mode_managed
19585                         nm_device_set_mode_adhoc
19586                 - Use these functions where appropriate
19587                 - When creating a new wireless device, force the card
19588                         to managed/Infrastructure mode as soon as possible
19589
19590 2004-10-12 Dan Williams <dcbw@redhat.com>
19591
19592         * src/NetworkManagerDevice.c
19593                 - Force wireless cards into Infrastructure mode before we use them
19594
19595 2004-10-12 Dan Williams <dcbw@redhat.com>
19596
19597         * TODO
19598                 - Remove bit about static IP address support
19599
19600         * src/NetworkManagerUtils.c
19601                 - (nm_spawn_process): Add some error reporting
19602
19603         * src/NetworkManagerDevice.c
19604                 - (nm_device_activation_configure_ip): hook up to the static config
19605                         routines in the backends
19606
19607         * src/backends/NetworkManagerRedHat.c
19608                 - (nm_system_device_update_config_info): use shvar.c routines to
19609                         parse the config file iformation, not our own
19610                 - (nm_system_device_setup_static_ip4_config): new function, based
19611                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
19612                         with a static IP address and gateway
19613
19614         * src/backends/shvar.[ch]
19615                 - Parser (filched from initscripts package) for ifcfg-* files
19616
19617         * src/backends/NetworkManagerSystem.h
19618           src/backends/NetworkManagerGentoo.c
19619           src/backends/NetworkManagerDebian.c
19620           src/backends/NetworkManagerSlackware.c
19621                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
19622
19623 2004-10-11 Dan Williams <dcbw@redhat.com>
19624
19625         * TODO
19626                 - Remove bit about more robust AP diffing since I just implemented it
19627
19628 2004-10-11 Dan Williams <dcbw@redhat.com>
19629
19630         * src/NetworkManagerAP.c
19631                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
19632                         enough RAM to allocate new AP structures, but return NULL instead
19633
19634         * src/NetworkManagerAPList.[ch]
19635                 - (nm_ap_list_is_empty): new function
19636                 - (nm_ap_list_combine): new function, combine two access point lists
19637                 - (nm_ap_list_copy_keys): new function, copy keys from one list
19638                         into another
19639
19640         * src/NetworkManagerDevice.[ch]
19641                 - Rename some functions to be clearer:
19642                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
19643                         nm_device_just_activated     -> nm_device_is_just_activated
19644                         nm_device_activating         -> nm_device_is_activating
19645                         nm_device_now_scanning       -> nm_device_is_scanning
19646                 - Cache the last 4 scans so that the access point list is more stable.
19647                         We combine the lastest two scans and use that as the AP list,
19648                         and diff that combined list against the combination of the earliest
19649                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
19650
19651 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19652
19653         * info-daemon/NWManagerInfo.h
19654                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
19655
19656         * info-daemon/NWManagerInfoDbus.c
19657                 - (shutdown_callback): new function
19658                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
19659                         if NetworkManager goes away.  Kill the timeout
19660                         if NetworkManager restarts before the 30 seconds
19661                         are up.
19662                 - (nmi_dbus_service_init): 
19663                         - call gtk_main_quit if NetworkManager is not running
19664                         - add filters to monitor dbus service creations and
19665                                 deletions
19666         
19667 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19668
19669         * panel-applet/NMWirelessApplet.c
19670                 - (nmwa_update_state): Hide notification icon if we are only
19671                         showing one wired card and no wireless interfaces 
19672                         (Red Hat Bug #134895)
19673
19674         * panel-applet/NMWirelessAppletDbus.c
19675                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
19676
19677         * info-daemon/NWManagerInfo.c
19678                 - (main): Terminated the notification_icon_cmd array with a NULL
19679
19680 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
19681
19682         * configure.in (ALL_LINGUAS): Added de (German).
19683
19684 2004-10-08 Dan Williams <dcbw@redaht.com>
19685
19686         * src/NetworkManagerDevice.c
19687                 - Be a bit more robust about link checking, ie make sure that
19688                         the WEP key we were given actually has some data in it
19689
19690 2004-10-08 Dan Williams <dcbw@redhat.com>
19691
19692         * info-daemon/NetworkManagerInfo.c (main):
19693                 - Initialize GError object to NULL
19694
19695 2004-10-08 Dan Williams <dcbw@redhat.com>
19696
19697         * panel-applet/NMWirelessAppletDbus.c
19698                 - Die if NetworkManagerInfo dies, since it manages our lifetime
19699
19700 2004-10-08 Dan Williams <dcbw@redhat.com>
19701
19702         * info-daemon/NetworkManagerInfo.[ch]
19703           info-dameon/NetworkManagerInfoDbus.[ch]
19704           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
19705                 - Preserve original label text in the passphrase dialog so that
19706                         it actually gets updated with the new network name the next
19707                         time around.  Previously, we were overwriting it so you'd get
19708                         the wrong network name to enter a key for
19709                 - Add a "Key Type" combo to the passphrase dialog, user selects
19710                         encryption key type now, type is stored in GConf too
19711                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
19712
19713         * src/NetworkManagerAP.[ch]
19714                 - Remove all the encyption method magic.  It's now set by the user
19715                         and NetworkManager retrieves the type of encryption key from
19716                         NetworkManagerInfo
19717
19718         * src/NetworkManagerAPList.[ch]
19719           src/NetworkManagerDbus.[ch]
19720                 - Adjust to new way of setting encryption key and method
19721                 - Pull encryption method down from NMI along with key
19722
19723         * src/NetworkManagerDevice.[ch]
19724                 - Removed encryption method fallback magic as the method is now
19725                         determined by the user.  This greatly simplifies the connection
19726                         logic.
19727                 - More robust connection/link logic.  Besides removing the encryption
19728                         method fallback magic, check whether or not the card is receiving
19729                         invalidly encrypted packets, which usually indicates that we have
19730                         a bad WEP key set.
19731                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
19732
19733         * test/nminfotest.c
19734                 - Test out new "Key Type" stuff in the NMI passphrase dialog
19735
19736 2004-10-07 Dan Williams <dcbw@redhat.com>
19737
19738         * info-daemon/NetworkManagerInfo.conf
19739                 - Allow root user to run NMI too
19740
19741 2004-10-06 Dan Williams <dcbw@redhat.com>
19742
19743         * src/NetworkManagerDevice.[ch]
19744           src/NetworkManagerDbus.c
19745           doc/NetworkManager DBUS API.txt
19746                 - Add a new status tag "scanning", which is set when there
19747                         is no active network connection, but NetworkManager is
19748                         looking for an access point to associate with
19749
19750         * panel-applet/main.c
19751                 - Cast the applet appropriately for gtk_widget_show_all ()
19752
19753 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
19754
19755         * panel-applet/eggtrayicon.[ch]:
19756         * panel-applet/main.c: Add missing file
19757
19758 2004-10-04 Dan Williams <dcbw@redhat.com>
19759
19760         * src/NetworkManagerDevice.[ch]
19761                 - Add a slightly more robust method of determining if the WEP key
19762                         is correct or not, by checking the WEP-discarded packet count
19763                         on the card
19764
19765         * info-daemon/NetworkManagerInfo.c
19766                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
19767                         un-escape values we pull out rather than escaping them
19768
19769 2004-10-03  Marcel Telka  <marcel@telka.sk>
19770
19771         * configure.in (ALL_LINGUAS): Added sk.
19772
19773 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
19774
19775         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
19776         and feel.  We should be back to working, and have a good, clean
19777         look.
19778
19779 2004-09-30 Dan Williams <dcbw@redhat.com>
19780
19781         * info-daemon/NetworkManagerInfo.c
19782           info-daemon/NetworkManagerInfoDbus.c
19783           test/nminfotest.c
19784                 - Escape ESSIDs in gconf
19785
19786         * src/NetworkManagerDevice.c
19787                 - Fix pseudo-scanning to use netowrk list from info daemon
19788
19789 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
19790
19791         * configure.in: Add a temporary --enable-notification-icon.  This
19792         will prolly go away.
19793
19794         * info-daemon/Makefile.am:
19795         * info-daemon/NetworkManagerInfo.c:
19796         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
19797
19798         * panel-applet/Makefile.am:
19799         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
19800         * panel-applet/NMWirelessApplet.h:
19801
19802 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
19803
19804         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
19805         before 'select custom ESSID'.
19806
19807         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
19808         fully complete, but syncing in prep for merge.
19809
19810         * panel-applet/icons/*png: New images
19811
19812 2004-09-28 Dan Williams <dcbw@redhat.com>
19813
19814         * src/NetworkManager.c
19815           src/NetworkManagerDevice.c
19816           src/NetworkManagerPolicy.c
19817                 - Don't blow away an active wired connection on startup
19818
19819 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
19820
19821         Changes from J5
19822         
19823         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
19824
19825         * info-daemon/NetworkManagerInfoDbus.c: added service name to
19826         syslog output
19827
19828 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
19829
19830         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
19831         have a wireless card.
19832
19833 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
19834
19835         * panel-applet/NMWirelessApplet.c: move the custom essid item.
19836         Also, get the right device strings.
19837
19838 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
19839
19840         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
19841         the logic to make this right.
19842
19843         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
19844         devices so that wired networks are always first.
19845
19846 2004-09-22    <clarkbw@cvs.gnome.org>
19847
19848         * initscript/Debian/.cvsignore:
19849         * initscript/Slackware/.cvsignore:
19850         Added new cvsignores for Makefile, Makefile.in
19851         
19852         * test/.cvsignore:
19853         Added nmtestdevices
19854         
19855         * src/NetworkManagerDevice.c: 
19856         * src/NetworkManager.c: 
19857         Updated the wireless/wired HAL device strings from net.ethernet to
19858         net.80203 or net.80211 depending on wired or wireless respectively
19859         
19860         * examples/python/NetworkManager.py: 
19861         s/Quality/Strength/
19862
19863         * examples/python/systray/network_tray.py:
19864         Lots of little changes and fixes.  been rotting for a while so I
19865         figured I'd finally sync them all with CVS
19866
19867 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
19868
19869         * configure.in: Add graphics
19870
19871         * panel-applet/Makefile.am: Add graphics
19872
19873         * panel-applet/icons/*: Add graphics
19874
19875         * panel-applet/NMWirelessApplet.c: Use new menu times to display
19876         the icons fully lined up.
19877
19878         * panel-applet/menu-info.c: 
19879         * panel-applet/menu-info.h: Add another menu type.
19880
19881 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
19882
19883         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
19884
19885         * panel-applet/menu-item.[ch]: Wireless menu item.
19886
19887 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
19888
19889         * info-daemon/NetworkManagerInfo.conf
19890                 - Created a more robust security policy for the DBus service
19891                         - everything is denied by default
19892                         - root can own and send to the service
19893                         - users logged in at the console can send to the service
19894
19895 2004-09-13  Dan Williams <dcbw@redhat.com>
19896
19897         * src/NetworkManagerDevice.c
19898                 - (nm_device_get_essid): use iw_get_basic_config() rather than
19899                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
19900                         the latter
19901
19902 2004-09-13  Dan Williams <dcbw@redhat.com>
19903
19904         * TODO: fix typo
19905
19906         * docs/NetworkManager DBUS API.txt
19907                 - Update for new signal strength changes
19908
19909         * panel-applet/NMWirelessApplet.c
19910                 - Make panel icon show strength of the current connection
19911                 - Cleanups and memleak fixes
19912
19913         * panel-applet/NMWirelessApplet.h
19914                 - Add data members for signal strength on devices and networks
19915
19916         * panel-applet/NMWirelessAppletDbus.c
19917                 - Free more DBusErrors
19918                 - Update for new signal strength changes
19919                 - Make devices and networks more like real objects, use ref/unref methods
19920                 - Actually unlock the mutex when updating the active device
19921
19922         * src/NetworkManagerAP.c
19923                 - Change AP functions and data members from "quality"->"strength"
19924
19925         * src/NetworkManagerDbus.c
19926                 - Kill "getMaxQuality" and "getQuality" methods
19927                 - Add "getStrength" methods for Networks and Devices
19928
19929         * src/NetworkManagerDevice.[ch]
19930                 - Add accessors for device strength
19931                 - Add functions to update strength for a device.  Note that not all drivers
19932                         actually support signal strength for scanned access points (Atmel drivers
19933                         being one)
19934                 - Calculate signal strength for each AP during scan
19935
19936         * src/NetworkManagerWireless.[ch]
19937                 - Add function to return signal strength % from a device and a raw quality struct
19938
19939         * test/nmclienttest.c
19940                 - Update for new signal strength changes
19941
19942 2004-09-11  Dan Williams <dcbw@redhat.com>
19943
19944         * src/NetworkManager.c
19945                 - Fix race condition between initscripts and NM on card insertion
19946                         which could cause a card to keep an IP address and routes around
19947                         even when it was not the active device
19948
19949         * src/NetworkManagerDbus.c
19950                 - Fix compile errors, free more DBusErrors
19951
19952 2004-09-11  Dan Williams <dcbw@redhat.com>
19953
19954         * docs/NetworkManager DBUS API.txt
19955                 - Add an explanation of NM's API
19956
19957         * src/NetworkManagerDbus.c
19958                 - Free some more DBusErrors if needed
19959
19960 2004-09-11  Dan Williams <dcbw@redhat.com>
19961
19962         * panel-applet/NMWirelessApplet.c
19963           panel-applet/NMWirelessAppletDbus.c
19964                 - Start using NetworkDevice/WirelessNetwork structures in more places
19965                 - Update for unified device/network forcing in NetworkManager
19966
19967         * src/NetworkManager.c
19968                 - some code consolidation
19969
19970         * src/NetworkManagerDbus.c
19971                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
19972                         or two arguments:  the first is the NM ID of the device to switch to,
19973                         and the second (optional) argument is the ESSID of a wireless network
19974                         to use as well.
19975                 - Get rid of "setNetwork" method due to above change
19976
19977         * src/NetworkManagerDevice.c
19978                 - (nm_device_new): perform scan and update best AP on device creation
19979                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
19980                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
19981                         spin waiting for cancellation to finish before returning
19982
19983         * src/NetworkManagerPolicy.c
19984                 - Changes here clarify the situations in which a device switch occurs, and 
19985                         make sure to keep using a forced device and network if the user gives
19986                         us one
19987                 - Remove old unused code
19988
19989 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
19990
19991         * configure.in: Added Danish (da) to ALL_LINGUAS.
19992
19993 2004-09-09  Dan Williams <dcbw@redhat.com>
19994
19995         * panel-applet/NMWirelessAppletDbus.c
19996                 - Pull fresh devices and networks from NM when wireless networks
19997                         change.  Provides faster feedback of a forced wireless network
19998
19999         * src/NetworkManagerDbus.c
20000                 - Return error when "getMaxQuality" is called on a wired device
20001                 - Make best_ap freezing actually work again, and signal cancellation
20002                         of activation if there's already a device activation when the user
20003                         freezes the best_ap
20004
20005         * src/NetworkManagerDevice.c
20006                 - Don't clear out the best_ap for wireless devices when the link goes
20007                         down, that's done elsewhere
20008                 - Kill any dhcp daemons when cancelling device activation since they
20009                         may be stuck waiting for a DHCP address, and since we're cancelling
20010                         activation we don't care about that anymore
20011
20012         * src/NetworkManagerPolicy.c
20013                 - Make sure to unref the device we ref earlier (we refed it to make sure
20014                         it stuck around during device activation and such)
20015                 - If we were going to change the best device, but its activating currently
20016                         (and therefore the change didn't occur due to the check earlier)
20017                         we mark the state changed to we come back to it later when device
20018                         activation has canceled and its no longer activating
20019
20020         * src/backends/NetworkManagerRedHat.c
20021                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
20022
20023 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
20024
20025         * info-daemon/passphrase.glade: 
20026         set passphrase input to activates_default : True
20027
20028         * examples/python/systray/network_tray.py
20029         (network_tray.sort_networks):
20030
20031         Added support for having wireless always scanning
20032
20033 2004-09-09  Dan Williams <dcbw@redhat.com>
20034
20035         NOTE: this commit changes the behavior of wireless devices in
20036         NetworkManager.  They are now up all the time, scanning all
20037         the time.  Only the active device has an IP address and routing
20038         information set up however.  Also, NetworkManager will no longer
20039         opportunistically switch wireless networks when a better one
20040         comes in range, it will remain associated with one wireless network
20041         until that one drops out.
20042
20043         * panel-applet/NMWirelessApplet.c
20044           panel-applet/NMWirelessAppletDbus.c
20045                 - List all wireless cards and their respective networks
20046
20047         * src/NMLoadModules
20048                 - Use full path to /sbin/ip
20049
20050         * src/NetworkManager.c
20051                 - Keep wireless devices up all the time so they can scan
20052
20053         * src/NetworkManagerDbus.c
20054                 - On a WirelessNetworkUpdate signal from NMI, don't update
20055                         the "best" AP
20056
20057         * src/NetworkManagerDevice.c
20058                 - (nm_device_set_link_active): clear out the best ap for
20059                         wireless devices when the link is set to FALSE
20060                 - Scan on all wireless cards, all the time
20061                 - (nm_device_activation_worker): split out the wireless card
20062                         link-waiting code to a separate function
20063                 - Keep wireless cards up even if device activation fails
20064                 - Don't update the "best" ap as much
20065
20066         * src/NetworkManagerPolicy.c
20067                 - Don't update the best ap when checking if its frozen,
20068                         let link checking clear out a frozen best ap for us
20069
20070         * src/NetworkManagerWireless.c
20071                 - Scan on all wireless cards, all the time
20072
20073 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
20074
20075         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
20076
20077 2004-09-09  Ankit Patel <ankit@redhat.com>
20078
20079         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
20080
20081 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
20082
20083         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
20084
20085 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
20086
20087         * examples/python/NetworkManager.py: 
20088         added CONNECTED, CONNECTING, and DISCONNECTED states
20089         added methods to return number of devices of a single type
20090
20091         * examples/python/systray/network_tray.py: 
20092         did some tweaks to get the menu looking near what it is supposed
20093         to look like.  Also did a Airo card hack to make it show the
20094         correct AP quality
20095
20096 2004-09-08  Dan Williams <dcbw@redhat.com>
20097
20098         * panel-applet/no-networkmanager.png
20099           panel-applet/Makefile.am
20100           panel-applet/NMWirelessApplet.c
20101                 - Add a "NetworkManager not running" icon and use it
20102                 - Use new consolidated GConf keys rather than Preferred/Trusted
20103
20104         * TODO: update
20105
20106         * info-daemon/NetworkManagerInfo.c
20107           info-daemon/NetworkManagerInfoDbus.[ch]
20108           info-daemon/NetworkManagerInfoPassphraseDialog.c
20109                 - There are now no longer two separate lists of wireless networks,
20110                         but one list where each network is "trusted" or not trusted
20111                 - Add a "getNetworkTrusted" dbus method
20112                 - "WirelessNetworkUpdate" signal now sent rather than
20113                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
20114                 - Start freeing some dbus errors (not completed yet)
20115
20116         * info-daemon/passphrase.glade
20117                 - Remove the "don't show" hints for pager and taskbar
20118                 - Add a title since its going to be in the taskbar
20119
20120         * src/NetworkManager.[ch]
20121           src/NetworkManagerAPList.[ch]
20122                 - There are now no longer two separate lists of wireless networks,
20123                         but one list where each network is "trusted" or not trusted
20124
20125         * src/NetworkManagerAP.[ch]
20126                 - Add get/set "trusted" accessors and data bit
20127
20128         * src/NetworkManagerDbus.[ch]
20129                 - Add function to get "trusted" status of a network from NetworkManagerInfo
20130                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
20131
20132         * src/NetworkManagerDevice.[ch]
20133                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
20134                 - (nm_device_new): Get device config from backend when initializing devices
20135                 - (nm_device_activation_worker): Split out device configuration on
20136                         activation to deal with static/dynamic IP differences, and try encryption
20137                         fallbacks on a device if the encryption method for the best AP is not good
20138                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
20139                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
20140
20141         * src/NetworkManagerWireless.c
20142                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
20143
20144         * src/backends/NetworkManagerRedHat.c
20145           src/backends/NetworkManagerSystem.h
20146                 - (nm_system_device_update_config_info): Add function to get device configuration
20147                         from system data in ifcfg-* files
20148
20149         * src/backends/NetworkManagerDebian.c
20150           src/backends/NetworkManagerGentoo.c
20151           src/backends/NetworkManagerSlackware.c
20152                 - Add stub functions for getting device configuration
20153
20154 2004-09-07  Dan Williams <dcbw@redhat.com>
20155
20156         * src/backends/NetworkManagerRedhat.c
20157           src/backends/NetworkManagerSlackware.c
20158                 - Use full path to /sbin/ip everywhere
20159
20160 2004-09-07  Dan Williams <dcbw@redhat.com>
20161
20162         Patch from: Narayan Newton <narayan_newton@yahoo.com>
20163
20164         * configure.in
20165           initscript/Makefile.am
20166           initscript/Slackware/Makfile.am
20167           initscript/Slackware/rc.networkmanager
20168           src/Makefile.am
20169           src/backends/NetworkManagerSlackware.c
20170                 - Add Slackware support
20171
20172 2004-09-07  Dan Williams <dcbw@redhat.com>
20173
20174         Patches below from:
20175                 <j@bootlab.org>
20176                 Mark Roach <mrroach@okmaybe.com>
20177                 Thom May <thom@debian.org>
20178
20179         * configure.in
20180           initscript/Debian/NetworkManager
20181           initscript/Debian/Makefile.am
20182                 - Initscript for Debian
20183
20184         * src/backends/NetworkManagerDebian.c
20185                 - Add missing system init function to allow compilation
20186                         on Debian
20187
20188 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
20189
20190         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
20191
20192 2004-09-03  Akagic Amila <bono@linux.org.ba>
20193
20194         * configure.in: Added 'bs' to ALL_LINGUAS.
20195
20196 2004-09-02  Colin Walters  <walters@verbum.org>
20197
20198         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
20199         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
20200         g_strdup_printf instead of arbitrarily sized buffers.
20201
20202 2004-09-01  Colin Walters  <walters@verbum.org>
20203
20204         * NetworkManager.pc.in: New file.
20205
20206         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
20207
20208 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
20209         
20210         * configure.in: Punjabi(pa) is added to po/.
20211
20212 2004-08-31  Dan Williams <dcbw@redhat.com>
20213
20214         * Remove 'debug' extern global from all files since we now
20215                 use syslog()
20216
20217         * src/NetworkManager.[ch]
20218                 - Break out routine that get the net.interface property from HAL,
20219                         removing that logic from nm_create_device_and_add_to_list()
20220                 - (nm_create_device_and_add_to_list): make this a bit more general so
20221                         it doesn't do the talking to HAL.  Also add arguments to facilitate
20222                         the create of test devices.
20223                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
20224                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
20225                         which makes NetworkManager listen for dbus commands to create test
20226                         devices, which have no backing hardware.  Use when you're on a plane
20227                         for example, and/or forgot your wireless card at home.  Test devices
20228                         _cannot_ be created unless NM is started with --enable-test-devices.
20229
20230         * src/NetworkManagerDbus.[ch]
20231                 - New "getLinkActive" method for devices
20232                 - New "setLinkActive" method for devices (only works on test devices)
20233                 - New "createTestDevice" method on NetworkManager object to create a test
20234                         device of a specified type (ie wired, wireless).  UDI is created from
20235                         scratch, as is the interface name.  Only works when NM is started with
20236                         --enable-test-devices switch.
20237                 - New "removeTestDevice" method on NetworkManager object which removes a
20238                         test device.  Only works when NM is started with --enable-test-devices
20239
20240         * src/NetworkManagerDevice.[ch]
20241                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
20242                         whether a device is a test device or not, and what its link status is.
20243                 - Deal with test devices in most functions.  For those that work directly on hardware
20244                         special-case test devices.
20245                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
20246                         command-line.
20247                 - (nm_device_update_link_active): split out logic for wired and wireless device link
20248                         checking to separate functions to facilitate test device link checking.
20249                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
20250                         don't make a distinction between System Authentication and Encryption
20251                         (namely Cisco aironet), we use Open System auth when setting a WEP key
20252                         on the card.  We don't deal with Shared Key auth yet.
20253                 - (nm_device_activation_worker): split the activation cancel check logic out into
20254                         a separate routine nm_device_activation_cancel_if_needed()
20255                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
20256                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
20257                         a list of fake access points that they can "see"
20258                 - (nm_device_is_test_device): return whether or not a device is a test device
20259
20260         * src/NetworkManagerPolicy.c
20261                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
20262                         previously if you "locked"/forced NM to use a wireless device but then
20263                         selected a wireless network for NM to use, it would switch to a wired device.
20264                         So, if the active device is wireless and it has a "forced" best AP, use it
20265                         if the "forced" best AP is still valid
20266                 - (nm_state_modification_monitor): deal with NULL best devices, for example
20267                         there were no usable network devices, or the last one was removed
20268
20269         * src/backends/NetworkManager*.c
20270                 - Deal with test devices, mostly just return success for operations like getting
20271                         a DHCP address
20272
20273         * test/nmtestdevices.c
20274                 - Test tool to create/remove/link-switch test devices
20275
20276 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
20277
20278         * examples/python/NetworkManager.py: 
20279         added convience functions has_wired_device and has_wireless_device
20280
20281         * examples/python/systray/network_tray.py: 
20282         cleaned up a bunch of cruft, added support for listing wireless
20283         networks just like the real applet.  This is probably all I'm
20284         going to work on this applet from now on.
20285         TODO: add support for actually changing networks and devices
20286
20287         * examples/python/NetworkManager.py (NetworkManager.get_device): 
20288         changed "nm.networks" into a dict from a list so I can store all
20289         the cool information about networks in there
20290
20291         * examples/python/systray/network_tray.py: 
20292         Added nice message when you try to run without running make first
20293
20294         * examples/python/NetworkManager.py: 
20295         Bug fixes to the code so we get all the device information
20296         that we need in get_device()
20297         
20298         * examples/python/NMTester.py: 
20299         Fixed _print_device_list to print_device_list
20300
20301 2004-08-29  Seth Nickell  <seth@gnome.org>
20302
20303         * configure.in:
20304
20305         Actually properly setup the Debian backend in configure.
20306         
20307 2004-08-29  Colin Walters  <walters@verbum.org>
20308
20309         * test/nminfotest.c: Include string.h and stdlib.h.
20310         (get_network_string_property, get_networks_of_type): Return NULL.
20311
20312         * test/nmclienttest.c (get_device_name, get_active_device): Return
20313         NULL.
20314
20315         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
20316         use strlen, fgets always NULL-terminates the string.
20317
20318         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
20319         dbus_message_get_member): Remove /* in comment.
20320
20321         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
20322
20323         * src/NetworkManager.c (quit): Unused, delete.
20324         (nm_data_free): Cast arg to GFunc.
20325
20326         * panel-applet/NMWirelessAppletDbus.c: Need to include
20327         string.h, and dbus-glib-lowlevel.h (the latter is needed
20328         for dbus_connection_setup_with_g_main at present).
20329         (nmwa_dbus_update_wireless_network_list): Parenthesize
20330         assignment in conditional.
20331         (nmwa_dbus_worker): Return NULL.
20332
20333         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
20334         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
20335         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
20336         (nmwa_populate_menu): Return NULL on failure, instead of just
20337         return;
20338
20339         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
20340
20341         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
20342         variables.
20343
20344         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
20345         delete.
20346         
20347 2004-08-29  Colin Walters  <walters@verbum.org>
20348
20349         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
20350         a GTimeVal instead of time_t.  This is easier to work with,
20351         since time_t may be a long or double, we don't know.
20352
20353         * src/NetworkManagerDbus.h: Update prototype.
20354         
20355         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
20356         instead of time_t.
20357         (nm_ap_get_timestamp): Update to return GTimeVal.
20358         (nm_ap_set_timestamp): Update to take GTimeVal.
20359         
20360         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
20361         to handle GTimeVal.
20362
20363         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
20364         GTimeVal change.
20365         (nm_ap_list_print_members): Fix warnings in printf format.
20366
20367 2004-08-29  Colin Walters  <walters@verbum.org>
20368         
20369         * panel-applet/NMWirelessApplet.c: Include config.h.
20370
20371 2004-08-29  Colin Walters  <walters@verbum.org>
20372
20373         * configure.in: Generate config.h.
20374
20375         * configure.in: Dump dependency on OpenSSL; we can't
20376         use it since this package is GPL:
20377         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
20378         Instead, check for libgcrypt, use it if available,
20379         otherwise use included MD5 code.
20380
20381         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
20382         Suck in from gnome-keyring, munge a bit.
20383         
20384         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
20385         gnome-keyring-md5.h gnome-keyring-md5.c.
20386         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
20387
20388         * src/NetworkManagerWireless.c (nm_md5): New function, uses
20389         libgcrypt or included gnome-keyring md5 bits.
20390         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
20391
20392 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
20393
20394         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
20395
20396 2004-08-27  Bryan Clark  <bclark@redhat.com>
20397
20398         * examples/python/systray/Makefile: 
20399
20400         Updated the clean section
20401         
20402         * examples/python/systray/trayiconmodule.c: 
20403         * examples/python/systray/trayicon.override: 
20404         * examples/python/systray/network_tray.py: 
20405         * examples/python/systray/eggtrayicon.h: 
20406         * examples/python/systray/eggtrayicon.c: 
20407         * examples/python/systray/Makefile: 
20408         * examples/python/README: 
20409         * examples/python/NetworkManager.py: 
20410         * examples/python/NMTester.py: 
20411
20412         Initial commit of these python example files
20413
20414 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
20415
20416         * panel-applet/NMWirelessApplet.c
20417                 - Make current device bold
20418                 - Show more user-friendly device name if we got one from hal
20419
20420         * panel-applet/NMWirelessAppletDbus.c
20421                 - Grab "info.product" key from hal for network devices
20422                 - Cache the current active device
20423
20424 2004-08-27  Adam Weinberger  <adamw@gnome.org>
20425
20426         * configure.in: Added en_CA to ALL_LINGUAS.
20427
20428 2004-08-27  Christian Rose  <menthos@menthos.com>
20429
20430         * configure.in: Added "sv" to ALL_LINGUAS.
20431
20432 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20433
20434         * Tag NetworkManager-0.2
20435
20436 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
20437
20438         * initscripts/Makefile.am
20439         * configure.in: Make pass distcheck
20440
20441         * po/ChangeLog: added
20442
20443 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20444
20445         * panel-applet/NMWirelessApplet.c
20446                 - Remove debugging code
20447                 - Enable device switching from menus
20448
20449         * panel-applet/NMWirelessAppletDbus.[ch]
20450                 - Method for asking NM to switch devices
20451
20452         * src/NetworkManagerDevice.c
20453                 - Set dev->activating earlier, avoids race between
20454                         the dbus signal of "DeviceActivating" and setting
20455                         dev->activating (which is what NM's "status" method call
20456                         looks at)
20457
20458 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20459
20460         * panel-applet/NMWirelessApplet.[ch]
20461                 - Rework menu code to add devices to menu, and to show
20462                         signal strength for each access point.  Code cleanups
20463                         too.
20464
20465         * panel-applet/NMWirelessAppletDbus.c
20466                 - Grab network devices from NetworkManager too
20467                 - Grab quality information from NM for wireless networks
20468
20469         * src/NetworkManagerDbus.[ch]
20470                 - Add dbus methods for getting the HAL UDI from a device and
20471                         for getting its base quality, if its wireless
20472                 - Consolidate some functions (wireless network notifications,
20473                         device notifications)
20474                 - Add method for requesting NM to use a particular device
20475
20476         * src/NetworkManager.c
20477                 - Change for function consolidations from NetworkManagerDbus.c
20478                 - Implement active device locking and user-requested devices
20479                         (ie, tell NM to use a particular device instead of the one
20480                         it autochose)
20481
20482         * src/NetworkManagerDevice.c
20483                 - Add method for getting the base quality of a device, if its
20484                         wireless
20485                 - Grab device base quailty info from iwlib during scans
20486
20487         * src/NetworkManagerPolicy.c
20488                 - Use a user-requested device rather than the auto-chosen device
20489                         if we are told to
20490
20491 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
20492
20493         * Makefile.am: add po as a supdir
20494
20495         * autogen.sh: use gnome-autogen.sh
20496
20497         * initscript/Gentoo/.cvsignore:
20498         * initscript/RedHat/.cvsignore: Shut up cvs
20499
20500         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
20501
20502         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
20503         (nmwa_fill): Use gettext.
20504
20505         * configure.in: add gettext support
20506         * po/.cvsignore:
20507         * po/NetworkManager.pot:
20508         * po/POTFILES.in:
20509
20510 2004-08-26  Seth Nickell  <seth@gnome.org>
20511
20512         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
20513         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
20514         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
20515         (nmwa_dispose_menu_items), (nmwa_populate_menu),
20516         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
20517         * panel-applet/NMWirelessApplet.h:
20518
20519         Use a menu bar instead of a button for the main clickable
20520         thingy.
20521         
20522 2004-08-25  Dan Williams <dcbw@redhat.com>
20523
20524         * src/NetworkManagerDevice.c
20525                 - (nm_device_set_enc_key): always set device to "open" mode instead of
20526                         turning encryption off, because the Cisco driver doesn't associate
20527                         with WEP-enabled access points unless we are in "open"
20528
20529 2004-08-25  Dan Williams <dcbw@redhat.com>
20530
20531         * src/NetworkManagerWireless.c
20532                 - Don't try to defererence blank passphrases
20533
20534 2004-08-25  Dan Williams <dcbw@redhat.com>
20535
20536         * panel-applet/NMWirelessApplet.c
20537                 - Rebuild the menu whenever a user clicks
20538
20539 2004-08-25  Dan Williams <dcbw@redhat.com>
20540
20541         * panel-applet/NMWirelessApplet.c
20542                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
20543                         when NM isn't around or when its not connected
20544
20545         * src/NetworkManagerDevice.c
20546                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
20547                         canceled.
20548
20549 2004-08-25  Dan Williams <dcbw@redhat.com>
20550
20551         * panel-applet/NMWirelessAppletDbus.c
20552                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
20553                         for getting encryption, and don't stop on "val" once we've gotten it
20554                         from NetworkManager.  Short form:  encryption should now show up.
20555
20556 2004-08-25  Dan Williams <dcbw@redhat.com>
20557
20558         * panel-applet/NMWirelessApplet.c
20559                 - Set ESSID on a gconf trusted network too when force-setting the wireless
20560                         network to associate with
20561
20562 2004-08-25  Dan Williams <dcbw@redhat.com>
20563
20564         * panel-applet/*
20565                 - Rework the panel applet to do all DBUS communication in a separate
20566                         thread
20567
20568 2004-08-25  Dan Williams <dcbw@redhat.com>
20569
20570         * info-daemon/NetworkManagerInfo.[ch]
20571                 - Remove "get_next_priority" function
20572
20573         * info-daemon/NetworkManagerInfoDbus.[ch]
20574                 - Convert "priority" functions to "timestamp"
20575
20576 2004-08-25  Dan Williams <dcbw@redhat.com>
20577
20578         * src/NetworkManagerAP.[ch]
20579                 - Add a "enc_method_good" member and accessors to an Access Point
20580                         to signal when we've found the correct encryption method
20581                         for an access point
20582                 - Add a "timestamp" member and accessors, remove "priority" member
20583                         and accessors (use timestamps instead)
20584                 - Rename "wep_key"->"enc_key"
20585                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
20586                         for a specified encryption method using the access points
20587                         source encryption key/passphrase
20588
20589         * src/NetworkManagerAPList.c
20590                 - When updating a network with dbus, grab timestamp now instead of
20591                         priority
20592
20593         * src/NetworkManagerDBus.[ch]
20594                 - Add signal for "DeviceActivating"
20595                 - Switch priority->timestamp
20596
20597         * src/NetworkManagerDevice.c
20598                 - Change references of "wep_key" -> "enc_key" or "key"
20599                 - Signal DeviceActivating when starting activation
20600                 - When activating a wireless device, if the access point we are connecting
20601                         to is encrypted, and we have a source key, try to generate a mangled
20602                         key and use that (ie, generate real WEP key from a passphrase)
20603                 - Rework device activation to fallback to other encryption methods if
20604                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
20605                         first, then if that doesn't work fall back to direct hex key).
20606                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
20607                         priority.  We now prefer the latest access point used, rather than using
20608                         a priority scheme
20609                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
20610                         points we've just discovered, and merge in correct info from the global
20611                         access point lists
20612
20613 2004-08-25  Seth Nickell  <seth@gnome.org>
20614
20615         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
20616         Debian support.
20617         
20618         * src/Makefile.am:
20619         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
20620         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
20621         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
20622         (nm_system_delete_default_route),
20623         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
20624         (nm_system_load_device_modules):
20625
20626 2004-08-24  Dan Willemsen <dan@willemsen.us>
20627
20628         * src/NetworkManager.c
20629           src/backends/NetworkManagerGentoo.c
20630           src/backends/NetworkManagerRedHat.c
20631           src/backends/NetworkManagerSystem.h
20632                 - Implement preliminary Gentoo support, adding a
20633                         nm_system_init function to the backend specification
20634
20635         * configure.in
20636                 - Distribution auto-detection, lowercase any user-fed
20637                         distribution names
20638
20639         * initscript/.cvsignore
20640           initscript/Makefile.am
20641           initscript/RedHat/Makefile.am
20642           initscript/RedHat/NetworkManager
20643           initscript/Gentoo/Makefile.am
20644           initscript/Gentoo/NetworkManager
20645                 - Refactored initscript code separately for each
20646                         distribution
20647
20648 2004-08-23  Dan Williams <dcbw@redhat.com>
20649
20650         * configure.in
20651           src/Makefile.am
20652           src/NetworkManagerDevice.c
20653           src/NetworkManager.c
20654           src/NetworkManagerUtils.[ch]
20655           src/backends/NetworkManagerSystem.h
20656           src/backends/NetworkManagerRedHat.c
20657           src/backends/NetworkManagerGentoo.c
20658                 - Refactor system-specific code into separate backends for
20659                         each distribution
20660
20661 2004-08-23  Dan Willemsen <dan@willemsen.us>
20662
20663         * dispatcher-daemon/NetworkManagerDispatcher.c
20664           info-daemon/NetworkManagerInfo.[ch]
20665           info-daemon/NetworkManagerInfoDbus.c
20666           info-daemon/NetworkManagerInfoPassphraseDialog.c
20667           src/NetworkManager.c
20668           src/NetworkManagerAP.c
20669           src/NetworkManagerAPList.c
20670           src/NetworkManagerDbus.c
20671           src/NetworkManagerDevice.c
20672           src/NetworkManagerPolicy.c
20673           src/NetworkManagerUtils.[ch]
20674           src/NetworkManagerWireless.c
20675                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
20676
20677         * src/NetworkManager.c
20678                 - Fixed usage wording for --no-daemon
20679
20680 2004-08-23  Dan Williams <dcbw@redhat.com>
20681
20682         * panel-applet/NMWirelessApplet.c
20683                 - Update our state every second to get more responsive panel icon
20684                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
20685                         was causing our marching ants status blips to never move when
20686                         looking for a wireless network
20687
20688         * src/NetworkManagerDevice.c
20689                 - (nm_device_activation_begin): return if activation has already begun
20690                 - (nm_device_do_normal_scan): merge WEP key and priority from the
20691                         trusted/preferred network into the device's access point when the
20692                         scan list is processed
20693
20694 2004-08-23  Dan Williams <dcbw@redhat.com>
20695
20696         * initscript/NetworkManager
20697                 - Use NMLaunchHelper rather than sleeping
20698
20699         * initscript/NMLaunchHelper.c
20700           Makefile.am
20701                 - Add helper program that exits only when NM activates a device,
20702                         or 10 seconds have passed, whichever happens first.  This
20703                         stops the boot processes until we have a network connection,
20704                         which NM can't do because it daemonizes and brings the connection
20705                         up in the background.  Allows stuff like NFS to not die.
20706
20707 2004-08-20  Dan Williams <dcbw@redhat.com>
20708
20709         * info-daemon/NetworkManagerInfoPassphraseDialog.c
20710                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
20711                         for a network, set the essid as well since it may not exist yet
20712                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
20713                         since WEP keys/passphrases are long and prone to entry-error
20714
20715         * panel-applet/Makefile.am
20716           panel-applet/wired.png
20717                 - Add (pulled from system-config-network temporarily)
20718
20719         * panel-applet/NMWirelessApplet.[ch]
20720                 - Show wired picture when a wired connection is used
20721                 - Rename wireless icon enums, adding WIRELESS
20722
20723         * src/NetworkManagerDevice.c
20724                 - (nm_device_activate_wireless): unset encryption before bringing
20725                         down the card and setting the essid
20726                 - (nm_device_activatin_worker): request a key from the user if the
20727                         AP we are connecting to is encrypted but we don't have a key
20728                         for it yet
20729                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
20730                         strcmp() that prevented a user-entered key from actually getting
20731                         used
20732
20733 2004-08-16  Dan Williams <dcbw@redhat.com>
20734
20735         * initscript/NetworkManager
20736                 - Check for /sbin/ip
20737                 - Do sysctl magic that network service does
20738                 - sleep 4s after start to allow network time to come up [hack]
20739
20740         * src/Makefile.am
20741           src/NMLoadModules
20742                 - Load all network device kernel modules (hal doesn't know devices
20743                         are ethernet until the module is loaded, and therefore we don't know)
20744
20745         * src/NetworkManager.c
20746                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
20747                         network devices, and bring up the loopback device explicitly
20748
20749         * src/NetworkManagerUtils.[ch]
20750                 - (nm_enable_loopback): new function
20751
20752 2004-08-13  Dan Williams <dcbw@redhat.com>
20753
20754         * configure.in
20755           panel-applet/Makefile.am
20756                 - Fix up cleanfiles and server_DATA/server_in_files
20757
20758         * README
20759                 - Update with some comments on theory of operation
20760
20761         * CONTRIBUTING
20762           Makefile.am
20763                 - Add CONTRIBUTING
20764
20765 2004-08-12  Dan Williams <dcbw@redhat.com>
20766
20767         * info-daemon/passphrase.glade
20768                 - Set window title to " "
20769
20770         * panel-applet/Makefile.am
20771           panel-applet/keyring.png
20772                 - Deliver to correct place
20773
20774         * panel-applet/NMWirelessApplet.[ch]
20775                 - Add comments
20776                 - Remove applet->have_active_device as its no longer used
20777                 - (nmwa_load_theme): load keyring.png too
20778                 - (error_dialog): remove
20779                 - (show_warning_dialog): subsume functionality of error dialog too
20780                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
20781                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
20782                         the networks menu
20783                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
20784                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
20785                         and when we get broadcasts of changed wireless access points only, not when the
20786                         user clicks on the button to display the menu (too long of a wait)
20787                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
20788                         networks that are encrypted
20789                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
20790                         menu item with g_object_set_data()
20791
20792         * panel-applet/NMWirelessAppletDbus.[ch]
20793                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
20794                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
20795                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
20796                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
20797                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
20798                         activation/deactivation signals and rebuild the menu when they happen
20799
20800         * src/NetworkManager.c
20801                 - (main): use new nm_spawn_process() rather than system()
20802
20803         * src/NetworkManagerDbus.c
20804                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
20805                         instead.  Since we can now force best_aps to stick around, the AP structure to which
20806                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
20807                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
20808                         to freeze the best_ap.
20809
20810         * src/NetworkManagerDevice.[ch]
20811                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
20812                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
20813                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
20814                         ap list
20815
20816         * src/NetworkManagerUtils.[ch]
20817                 - (nm_spawn_process): add replacement for system() usage
20818
20819 2004-08-11  Dan Williams <dcbw@redhat.com>
20820
20821         * panel-applet/NMWirelessApplet.[ch]
20822                 - Fix up copyright and credits to include Bastien and Eskil,
20823                         who created the gnome-applets wireless applet, from whose
20824                         skeleton this one was created
20825                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
20826                         pixmap to draw is computed during nmwa_update_state()
20827                 - Applet now shows itself all the time due to panel packing issues
20828                         which caused the applet to previously never come back after hiding.
20829                         When a wired device is the active device, the applet shows "not connected"
20830
20831         * panel-applet/NMWirelessAppletDbus.[ch]
20832                 - Clean up error messages and show what function they are from
20833                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
20834                 - Add new device type getters, and a status getter
20835
20836         * src/NetworkManagerDbus.c
20837                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
20838                         network is actually in the device's ap list
20839                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
20840
20841         * src/NetworkManagerDevice.c
20842                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
20843                         card
20844
20845         * test/nmclienttest.c
20846                 - Report status of NetworkManager too
20847
20848 2004-08-11  Dan Williams <dcbw@redhat.com>
20849
20850         * info-daemon/NetworkManagerInfo.c:
20851                 - (main): clean up Seth's code style
20852
20853         * info-daemon/NetworkManagerInfoDbus.c:
20854                 - Use the more aptly-named path/service/interface constants from NetworkManager
20855                 - Don't return empty strings ("") as object paths ever, instead return errors
20856
20857         * panel-applet/NMWirelessApplet.c:
20858                 - Clean up Seth's code style
20859
20860         * src/NetworkManager.[ch]
20861                 - (nm_remove_device_from_list): remove anything having to do with pending_device
20862                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
20863
20864         * src/NetworkManagerAPList.[ch]
20865                 - Move Iter struct right above the iter functions to preserve opacity
20866                 - (nm_ap_list_remove_ap): implement
20867                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
20868                         remove AP if NetworkManagerInfo doesn't know anything about it
20869                 - (nm_ap_list_diff): user NMAPList iterators
20870                 - (nm_ap_list_print_members): implement debugging function
20871
20872         * src/NetworkManagerDbus.[ch]
20873                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
20874                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
20875                         and move the actual key setting stuff into NetworkManagerDevice.c
20876                 - (nm_dbus_get_network_priority): return -1 now on errors
20877                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
20878                         get lost, and force the active device to update its "best" ap when AP lists change
20879                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
20880                         method call due to pending_device member removal
20881
20882         * src/NetworkManagerDevice.[ch]
20883                 - Move NMDevice structure to the top
20884                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
20885                 - Remove Pending Action stuff from everywhere
20886                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
20887                         activation for us.  This thread blocks until all conditions for activation have
20888                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
20889                         then setup up the interface and runs dhclient.  We have to do this because there
20890                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
20891                         run our main loop and respond to dbus method calls or HAL device removals/inserts
20892                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
20893                         can tell nm_device_activation_worker() that we've got a key
20894                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
20895                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
20896                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
20897                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
20898
20899         * src/NetworkManagerPolicy.c
20900                 - Remove anything to do with pending_device
20901                 - Adjust device activation to deal with activation-in-worker-thread
20902
20903         * src/NetworkManagerUtils.c
20904                 - Clean up locking debugging a bit
20905
20906         * src/NetworkManagerWireless.[ch]
20907                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
20908                         was badly named and is better as a device function
20909
20910         * panel-applet/.cvsignore: add
20911
20912 2004-08-09  Seth Nickell  <seth@gnome.org>
20913
20914         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
20915         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
20916         (nmwa_new):
20917         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
20918
20919         Don't load the menus until clicked on (also removes a call outside
20920         normal code paths at first load).
20921
20922         Hide applet when NM is not present.
20923         
20924         Improve printf debugging stuff.
20925         
20926 2004-08-09  Dan Williams <dcbw@redhat.com>
20927
20928         * dispatcher-daemon/NetworkManagerDispatcher.c:
20929                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
20930                 - Use constants for NetworkManager interface, service, and path
20931
20932 2004-08-09  Dan Williams <dcbw@redhat.com>
20933
20934         * src/NetworkManagerDbus.c:
20935                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
20936                         instead return an error message
20937                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
20938                         on a wired device.  Also never return an empty object path, instead return an error message
20939
20940 2004-08-06  Seth Nickell  <seth@gnome.org>
20941
20942         * panel-applet/NMWirelessApplet.c: (nmwa_new):
20943
20944         Check the error code when getting a connection.
20945         
20946         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
20947
20948         Check if the NM service exists when initializing (rather than
20949         assuming it does not).
20950         
20951         * src/NetworkManagerDbus.c: (nm_dbus_init):
20952
20953         Don't acquire the well-known service name until we have
20954         registered object/path handlers and can actually receive
20955         calls.
20956         
20957 2004-08-06  Dan Williams <dcbw@redhat.com>
20958
20959         * panel-applet/*
20960                 - Add panel applet
20961
20962         * src/NetworkManagerPolicy.c
20963           src/NetworkManager.c
20964                 - Get access point lists from NetworkManagerInfo on-demand,
20965                         and look for ServiceCreate/ServiceDeleted signals to see when
20966                         we should query NMI for lists
20967         * src/NetworkManagerAPList.c
20968                 - Make sure to init the list's mutex
20969                 - Convert traversals of the list over to the list iter functions
20970
20971         * src/NetworkManagerDbus.[ch]
20972                 - Use more aptly-named path/service/interface constants
20973                 - Treat both active and pending devices the same for "getActiveDevice"
20974                 - Add a "status" method returning "connected", "connecting", or "disconnected"
20975
20976         * src/NetworkManagerDevice.c
20977                 - Honor "ignored" network list when picking best ap to use
20978
20979 2004-08-06  Seth Nickell  <seth@gnome.org>
20980
20981         * aclocal.m4:
20982
20983         Autogenerated, remove from CVS.
20984         
20985         * autogen.sh:
20986
20987         Don't hardcode automake version.
20988         
20989         * configure.in:
20990         * info-daemon/Makefile.am:
20991         * info-daemon/NetworkManagerInfo.c: (main):
20992
20993         Use GnomeProgram et al. for doing session management.
20994         Use popt stuff for argument parsing rather than doing
20995         it manugally.
20996         
20997 2004-08-05  Dan Williams <dcbw@redhat.com>
20998
20999         * test/nminfotest.c
21000                 - Update to new NMI dbus API, check different network types
21001
21002         * info-daemon/NetworkManagerInfoDbus.c
21003                 - Update to new NM dbus API, ie network type sent in query message
21004
21005 2004-08-05  Dan Williams <dcbw@redhat.com>
21006
21007         * An assload of changes
21008
21009 2004-08-02  Dan Williams <dcbw@redhat.com>
21010
21011         * TODO
21012                 - new task: proper logging support
21013
21014         * info-daemon/NetworkManagerInfo.c
21015                 - Correct spelling of "canceled"
21016                 - Correct casting of objects for g_signal_connect()
21017
21018         * info-daemon/NetworkManagerInfoDbus.c
21019                 - Add defines for NetworkManager namespace and object path, and use them
21020                 - Add filter function to trap new signals from NetworkManager:
21021                         WirelessNetworkAppeared, WirelessNetworkDisappeared
21022
21023         * info-daemon/passphrase.glade
21024                 - Change name of "ok" button to "Login to Network..."
21025                 - Mark invisible
21026
21027         * src/NetworkManager.c
21028                 - Code and debug message cleanups
21029                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
21030                 - (nm_add_initial_devices) Check returned string array of devices
21031                         and don't try to add devices if array is NULL
21032                 - (main) Initialize libhal a bit later, make code a bit clearer
21033
21034         * src/NetworkManagerAP.[ch]
21035                 - New accessor and data member "matched": used to speed up AP list
21036                         diffing
21037                 - New accessor and data member "enc_method": will be used during key
21038                         fallback to cache which passphrase->key conversion actually works
21039                         so we don't have to do it every time
21040
21041         * src/NetworkManagerAPList.[ch]
21042                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
21043                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
21044                         between them, and send WirelessNetworkAppeared/Disappeared signals over
21045                         dbus in response to those differences
21046
21047         * src/NetworkManagerDbus.[ch]
21048                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
21049                         make an object path for that access point (NOTE that we don't yet check to
21050                         make sure that access point is actually in the device's AP list yet)
21051                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
21052                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
21053                         New: signal appearance/disappearance of wireless networks
21054                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
21055                         key entry
21056
21057         * src/NetworkManagerDevice.[ch]
21058                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
21059                 - (nm_device_ap_list_get) New: return the AP list (static function)
21060                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
21061                         new one resulting from the scan with the old one
21062
21063         * src/NetworkManagerWireless.c
21064                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
21065
21066         * test/nminfotest.c
21067                 - #define object paths and namespaces and use the #defines rather than static strings
21068                 - Test out user-key functionality of NetworkManagerInfo too
21069
21070 2004-07-29  Dan Williams <dcbw@redhat.com>
21071
21072         * info-daemon/NetworkManagerInfoDbus.c
21073           src/NetworkManagerDbus.c
21074                 - Update to current DBus (ie don't use decomposed paths when registering
21075                         object paths/fallbacks)
21076
21077 2004-07-27  Dan Williams <dcbw@redhat.com>
21078
21079         * Remove various Makefile.in files
21080
21081         * TODO
21082                 - Add some more items
21083
21084         * configure.in
21085                 - Add checks for OpenSSL/md5 headers and libs
21086
21087         * src/Makefile.am
21088                 - Use OpenSSL CFLAGS
21089
21090         * src/NetworkManagerAP.[ch]
21091                 - Remove 'stamp' functions, replace with 'invalid' functions
21092                         to support user cancelling WEP key entry
21093
21094         * src/NetworkManagerDbus.c
21095                 - Remove 'stamp' return functions
21096                 - Treat returned user key as a passphrase and convert to a WEP key,
21097                         but don't actually use the WEP key yet.  We use the returned user
21098                         key as a hexadecimal WEP key until we can figure out a UI for
21099                         passphrase-vs-hex key
21100
21101         * src/NetworkManagerWireless.[ch]
21102                 - Add passphrase-to-128bit-key function
21103
21104 2004-07-27  Dan Williams <dcbw@redhat.com>
21105
21106         * TODO
21107                 - Add a couple of items
21108
21109 2004-07-27  Dan Williams <dcbw@redhat.com>
21110
21111         * info-daemon/NetworkManagerInfo.c
21112                 - Update allowed network's GConf key when user enters a WEP key explicitly
21113
21114         * info-daemon/NetworkManagerDbus.c
21115                 - Fix some comments
21116                 - nmi_dbus_get_allowed_networks(): kill warning
21117
21118 2004-07-27  Dan Williams <dcbw@redhat.com>
21119
21120         * initscript/Makefile.in
21121                 - Remove
21122
21123         * initscript/Makefile.am
21124                 - Add correct rules to install the init.d initscript
21125
21126         * info-daemon/NetworkManagerInfoDbus.c
21127                 - Remove debug fprintf
21128
21129         * src/NetworkManagerDbus.[ch]
21130                 - Remove debug fprintfs
21131                 - Add macros for NetworkManagerInfo object path/namespace
21132                 - Use said macros instead of constant strings
21133
21134 2004-07-27  Dan Williams <dcbw@redhat.com>
21135
21136         * initscript/.cvsignore
21137                 - Add
21138
21139         * info-daemon/Makefile.am
21140                 - Install .glade files and keyring.png
21141                 - Fix stupid omission of a \ that caused half the flags not to be
21142                         passed to gcc
21143
21144         * info-daemon/NetworkManagerInfo.c
21145                 - gtk_signal_connect->g_signal_connect
21146                 - Alert NetworkManagerInfo to new glade file location
21147
21148 2004-07-27  Dan Williams <dcbw@redhat.com>
21149
21150         * test/nmclienttest.c
21151           test/nminfotest.c
21152                 - Add missing <dbus/dbus.h> headers
21153                 - Add GPL message at top
21154
21155 2004-07-27  Dan Williams <dcbw@redhat.com>
21156
21157         * src/NetworkManagerAPList.[ch]
21158           src/Makefile.am
21159                 - Add.  Deal with allowed network list additions, deletions, and updates
21160
21161         * dispatcher-daemon/NetworkManagerDispatcher.c
21162                 - Add missing <dbus/dbus.h> header
21163
21164         * info-daemon/NetworkManagerInfo.[ch]
21165                 - Add missing <dbus/dbus.h> header
21166                 - Implement the GConf notify callback to signal NetworkManager of an allowed
21167                         network change
21168                 - Better error checking
21169
21170         * info-daemon/NetworkManagerInfoDbus.[ch]
21171                 - Add missing <dbus/dbus.h> header
21172                 - Convert to using dbus_message_append_args/dbus_message_get_args
21173                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
21174                         that an allowed network changed.  We don't want to signal on individual
21175                         keys _inside_ an allowed network really, just want NM to query the info
21176                         daemon for updated info on all keys.
21177                 - Better error checking
21178
21179         * src/NetworkManager.[ch]
21180                 - Add missing <dbus/dbus.h> header
21181                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
21182                 - Zero out NMData structure on free
21183                 - No longer use a thread for allowed_ap_list updating, instead its now done
21184                         through dbus queries against NetworkManagerInfo
21185                 - Populate allowed_ap_list initially before adding existing network devices
21186                         to the device list, so wireless devices can get their "best" AP
21187
21188         * src/NetworkManagerDbus.[ch]
21189                 - Convert to using dbus_message_append_args/dbus_message_get_args
21190                 - Better error checking
21191                 - Implement Allowed Network info functions to request allowed network
21192                         info from NetworkManagerInfo
21193                 - Implement the filter function to process signals from NetworkManagerInfo
21194                         about changing allowed networks
21195
21196         * src/NetworkManagerDevice.c
21197                 - Fix file descriptor leak in nm_device_update_ip4_address()
21198
21199 2004-07-27  Dan Williams <dcbw@redhat.com>
21200
21201         * .cvsignore
21202           src/.cvsignore
21203           test/.cvsignore
21204           dispatcher-daemon/.cvsignore
21205           info-daemon/.cvsignore
21206                 - Add .cvsignore files to reduce noise when diffing
21207
21208 2004-07-24  Dan Williams <dcbw@redhat.com>
21209
21210         * src/NetworkManager.[ch]
21211           src/NetworkManagerDbus.[ch]
21212           src/NetworkManagerDevice.[ch]
21213           src/NetworkManagerPolicy.c
21214           src/NetworkManagerWireless.[ch]
21215                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
21216                 - Pass the NMData application data structure through all calls
21217                         that need it so we can get rid of nm_get_global_data()
21218                 - Change deallocation of the allowed_ap_list GSList in preparation
21219                         for not completely clearing it every time we get an update,
21220                         but instead getting incremental updates via GConf/dbus
21221
21222 2004-07-22  Dan Williams <dcbw@redhat.com>
21223
21224         * configure.in
21225                 - Add checks for GConf libs & headers & flags
21226
21227         * info-daemon/Makefile.am
21228                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
21229
21230         * info-daemon/NetworkManagerInfo.[ch]
21231                 - Don't use gquarks for data storage, just use normal data storage
21232                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
21233
21234         * info-daemon/NetworkManagerDbus.[ch]
21235                 - Add method call for getting allowed networks
21236                 - Add method calls for getting an allowed network's essid, priority, and key
21237                 - Hook the method calls up to GConf
21238                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
21239                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
21240                 
21241         * src/NetworkManagerDbus.[ch]
21242                 - Switch for enumeration of networks to using essid instead
21243
21244         * test/Makefile.am
21245           test/nminfotest.c
21246                 - Add test program for NetworkManagerInfo
21247
21248 2004-07-19  Dan Williams <dcbw@redhat.com>
21249
21250         * src/NetworkManagerDbus.c
21251                 - Switch from indexed device paths to names.  Less code, more efficient.
21252                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
21253
21254 2004-07-19  Dan Williams <dcbw@redhat.com>
21255
21256         * dispatcher-daemon/NetworkManagerDispatcher.c
21257                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
21258
21259 2004-07-19  Dan Williams <dcbw@redhat.com>
21260
21261         * Makefile.am
21262                 - Add info-daemon directory
21263
21264         * configure.in
21265                 - Check for glade libs and headers
21266                 - Add info-daemon directory
21267
21268         * src/NetworkManagerAP.c
21269                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
21270                         copied over to the new AP.
21271
21272         * src/NetworkManagerDbus.c
21273           src/NetworkManagerDbus.h
21274                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
21275                 - Remove nm_dbus_signal_need_key_for_network()
21276                 - Add disabled code for asynchronous user wep key callbacks
21277                 - Add functions for getting, setting, and cancelling user key operations
21278                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
21279                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
21280
21281         * src/NetworkManagerDevice.c
21282           src/NetworkManagerDevice.h
21283                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
21284                         logic is in device activation now
21285                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
21286                         key is wrong) trigger get-user-key pending action
21287                 - Implement get-user-key pending action stuff, tie to dbus messages
21288                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
21289                 - Add nm_device_ap_list_get_ap_by_essid()
21290                 - Instead of copying "best" access points, ref them instead so that the key we set
21291                         sticks around
21292
21293         * src/NetworkManagerPolicy.c
21294                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
21295                 - Don't cancel pending actions on a device if its the same device as last iteration
21296                 - Only promote pending_device->active_device if activation was successfull
21297
21298         * src/Makefile.am
21299                 - Rename nmclienttest->nmtest
21300
21301         * info-daemon/Makefile.am
21302           info-daemon/NetworkManagerInfo.c
21303           info-daemon/NetworkManagerInfo.h
21304           info-daemon/NetworkManagerInfoDbus.c
21305           info-daemon/NetworkManagerInfoDbus.h
21306           info-daemon/passphrase.glade
21307           info-daemon/NetworkManagerInfo.conf
21308           info-daemon/keyring.png
21309                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21310                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21311                         lists to NetworkManager by proxying user's GConf
21312           
21313
21314 2004-07-15  Dan Williams <dcbw@redhat.com>
21315
21316         * src/Makefile.am
21317                 - Turn on warnings
21318
21319         * src/NetworkManager.c
21320                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
21321                         that doing the deactivation ourselves
21322                 - Cancel an pending actions on a device if its being removed
21323                 - Break up link state checking a bit, make non-active wireless cards
21324                         deactivated to save power
21325                 - Remove unused variables
21326
21327         * src/NetworkManager.h
21328                 - Add support for "pending" device
21329
21330         * src/NetworkManagerAP.h
21331           src/NetworkManagerAP.c
21332                 - Add support for determining whether and AP has encryption enabled or not
21333                 - AP address is now "struct ether_addr" rather than a string
21334
21335         * src/NetworkManagerDbus.h
21336           src/NetworkManagerDbus.c
21337                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
21338                 - Changes for AP address from struct ether_addr->string
21339
21340         * src/NetworkManagerDevice.h
21341           src/NetworkManagerDevice.c
21342                 - Remove unused variables, fix warnings
21343                 - Add support for Pending Actions (things that block a device from being "active"
21344                         until they are completed).
21345                 - First pending action:  Get a WEP key from the user
21346                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
21347                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
21348                 - Update wireless link checking to try to determine if the AP we are associated
21349                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
21350                         trigger the GetUserKey pending action on the device
21351                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
21352                         up in that case, otherwise we can't scan or link-check on it
21353                 - Add IP address change notifications at appropriate points (still needs some work)
21354                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
21355
21356         * src/NetworkManagerPolicy.h
21357           src/NetworkManagerPolicy.c
21358                 - Split out "best" access point determiniation into separate function
21359                 - Make device activation 2-stage:  first the device is pending, then
21360                         in the next iteration through it becomes "active" unless it has
21361                         pending actions
21362
21363         * src/NetworkManagerUtils.h
21364           src/NetworkManagerUtils.c
21365                 - Clean up unused variables and warnings
21366                 - Wrap our debug macros in {} to prevent possible confusion
21367
21368         * src/NetworkManagerWireless.c
21369                 - Forgot to return current best priority, which lead to last available AP always
21370                         being chosen no matter what its priority was.  Corrected.
21371
21372 2004-07-15  Dan Williams <dcbw@redhat.com>
21373
21374         * dispatcher-daemon/Makefile.am
21375                 - Turn on warnings
21376
21377         * dispatcher-daemon/NetworkManagerDispatcher.c
21378                 - Remove unused variables due to warnings
21379                 - Fix some comments
21380                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
21381
21382 2004-07-06  Dan Williams <dcbw@redhat.com>
21383
21384         * src/NetworkManager.c
21385                 - Add IPv4 address update for active device during link state check
21386                 - Don't allow wireless cards to be powered up when they are not the
21387                         active device
21388
21389         * src/NetworkManagerDbus.c
21390           src/NetworkManagerDbus.h
21391                 - Add DBUS IPv4 address change signal
21392                 - Add DBUS IPv4 address get method for devices
21393
21394         * src/NetworkManagerDevice.c
21395                 - Make setting the WEP key actually work
21396                 - Move IP address get/set/update stuff here, per-device
21397                 - Power down/bring down wireless device when deactivated
21398                 - For scanning wireless devices, if first scan returned ENODATA, try again
21399
21400         * src/NetworkManagerPolicy.c
21401                 - Only set the WEP key for an allowed access point if there is one.
21402                         We were setting it to be blank if one wasn't specified.
21403
21404         * src/NetworkManagerUtils.h
21405           src/NetworkManagerUtils.c
21406                 - Move the IP address stuff to NetworkManagerDevice.c
21407
21408         * dispatcher-daemon/NetworkManagerDispatcher.c
21409                 - Add device IPv4 address change notification stuff
21410
21411 2004-07-05  Dan Williams <dcbw@redhat.com>
21412
21413         * dispatcher-daemon/NetworkManagerDispatcher.c
21414                 - A bit more descriptive state message
21415                 - Don't segfault when reading directory
21416
21417         * src/NetworkManager.h
21418                 - Remove NMData desired_ap member, its now
21419                         per-device rather than global
21420
21421         * src/NetworkManager.c
21422                 - Remove references to desired_ap
21423                 - Move the allowed AP list refresh stuff into a thread
21424
21425         * src/NetworkManagerDevice.c
21426           src/NetworkManagerDevice.h
21427                 - Each wireless device now has a "best ap"
21428                 - Make device activate/deactivate functions per-device
21429                 - Make wireless scanning per-device
21430                 - Add IPv4 address discover functions, stub IPv6 ones
21431                 - Move ethernet address validation functions to NetworkManagerUtils.c
21432                 - Add wireless access point accessor function
21433                 - Get/Set functions for "best ap"
21434
21435         * src/NetworkManagerPolicy.c
21436                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
21437                 - Deal with per-device "best ap" rather than data->desired_apa
21438                 - Implement allowed access point worker thread
21439                 - Add nm_policy_essid_is_allowed() function
21440
21441         * src/NetworkManagerUtils.c
21442           src/NetworkManagerUtils.h
21443                 - Add nm_ethernet_address_is_valid() function
21444                 - Add IPv4/IPv6 address get functions
21445
21446         * src/NetworkManagerWireless.c
21447           src/NetworkManagerWireless.h
21448                 - Move scanning stuff into NetworkManagerDevice.c, per-device
21449
21450 2004-06-29  Dan Williams <dcbw@redhat.com>
21451
21452         * dispatcher-daemon/NetworkManagerDispatcher.c
21453                 - Implement script callout functionality
21454
21455 2004-06-24  Dan Williams <dcbw@redhat.com>
21456
21457         * NetworkManager.c
21458             - Spacing cleanups
21459             - Flush device routes and ip addresses when added to the device list
21460
21461         * NetworkManagerDbus.c
21462             - Spacing cleanups
21463             - Add missing returns in the two signal functions
21464         
21465         * NetworkManagerPolicy.c
21466             - Spacing and variable cleanups
21467
21468 2004-06-24  Dan Williams <dcbw@redhat.com>
21469
21470         * Makefile.am
21471           Makefile.in
21472           configure.in
21473           dispatcher-daemon/Makefile.am
21474           dispatcher-daemon/Makefile.in
21475           dispatcher-daemon/NetworkManagerDispatcher.c
21476             - Add a daemon that receives signals from NetworkManager
21477                         and will (eventually) call scripts in /etc/somewhere
21478                         when devices go up or down.
21479         
21480         * NetworkManager.c
21481             - Spacing cleanups
21482             - Flush device routes and ip addresses when added to the device list
21483
21484         * NetworkManagerDbus.c
21485             - Spacing cleanups
21486             - Add missing returns in the two signal functions
21487         
21488         * NetworkManagerPolicy.c
21489             - Spacing and variable cleanups
21490             - Rename nm_policy_switch_interface->nm_policy_switch_device
21491             - nm_policy_switch_device():
21492                                 Use kill (pid) instead of system ("kill <pid>")
21493             - nm_state_modification_monitor():
21494                                 Add wireless essid to output of debug statements
21495                                 Correct typo in device compare to switch or not (should be !=)
21496                                 Don't sleep after sending "no longer active" signal, was useless
21497
21498 2004-06-24  Dan Williams <dcbw@redhat.com>
21499
21500         * Initial import