2008-10-26 Dan Williams <dcbw@redhat.com>
[NetworkManager.git] / ChangeLog
1 2008-10-26  Dan Williams  <dcbw@redhat.com>
2
3         Patch from Tambet Ingo <tambet@gmail.com>
4
5         * libnm-util/libnm-util.ver
6           libnm-util/nm-setting-serial.c
7           libnm-util/nm-setting-serial.h
8           src/nm-serial-device.c
9                 - Make properties private and use accessors instead
10
11 2008-10-26  Dan Williams  <dcbw@redhat.com>
12
13         * src/supplicant-manager/nm-supplicant-interface.c
14           src/supplicant-manager/nm-supplicant-interface.h
15           src/supplicant-manager/nm-supplicant-manager.c
16           src/supplicant-manager/nm-supplicant-manager.h
17                 - Add state-to-string conversion functions
18
19         * src/nm-device-wifi.c
20           src/nm-device-ethernet.c
21                 - Normalize state info logging and use strings instead of numbers
22
23 2008-10-26  Dan Williams  <dcbw@redhat.com>
24
25         * src/NetworkManagerPolicy.c
26                 - (update_routing_and_dns): ignore host routes when determining whether
27                         a VPN connection should own the default route (bgo #552594)
28
29 2008-10-24  Dan Williams  <dcbw@redhat.com>
30
31         * src/nm-gsm-device.c
32                 - (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young)
33
34 2008-10-23  Dan Williams  <dcbw@redhat.com>
35
36         * src/ppp-manager/nm-ppp-manager.c
37                 - (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always
38                         add really important stuff to the command line to ensure that NM
39                         overrides /etc/ppp/options (bgo #556781)
40
41 2008-10-22  Dan Williams  <dcbw@redhat.com>
42
43         * src/NetworkManagerSystem.c
44           src/nm-device.c
45                 - Use the device's IP interface where appropriate (Per Hallsmark)
46
47 2008-10-22  Dan Williams  <dcbw@redhat.com>
48
49         * src/nm-gsm-device.c
50                 - (schedule_automatic_registration_again): use a short timeout here
51                         instead of an idle handler to avoid using too much CPU polling for
52                         something we should be waiting a bit for anyway
53
54 2008-10-22  Dan Williams  <dcbw@redhat.com>
55
56         * include/NetworkManager.h
57           introspection/nm-device.xml
58                 - Add device state change reason for carrier changes
59
60         * src/nm-device-ethernet.c
61                 - (set_carrier): use the carrier change reason when changing device
62                         state in response to carrier changes
63
64 2008-10-21  Dan Williams  <dcbw@redhat.com>
65
66         * src/NetworkManagerPolicy.c
67                 - (update_etc_hosts): don't leak errors, and ensure that
68                         g_file_set_contents() gets a valid error placeholder (rh #461933)
69
70 2008-10-21  Dan Williams  <dcbw@redhat.com>
71
72         * src/nm-manager.c
73                 - (free_get_settings_info): don't use the DBusGProxy which could be
74                         disposed of by the time the function is called
75                 - (internal_new_connection_cb): save connection scope
76                 - (connection_get_settings_cb): don't replace a connection unless it's
77                         actually different from the existing one; fixes an issue where
78                         killing the settings service wouldn't deactivate an active connection
79                         provided by that settings service, because it was using a connection
80                         that had already been replaced in the system or user hash
81
82 2008-10-21  Dan Williams  <dcbw@redhat.com>
83
84         * src/NetworkManager.c
85                 - (main): keep the DHCP manager around since it's a singleton; fixes
86                         a use-after-free exposed by r4196 since the DHCP manager singleton
87                         variable isn't cleared when the DHCP manager object is finalized
88
89 2008-10-20  Dan Williams  <dcbw@redhat.com>
90
91         * libnm-util/nm-setting-wireless-security.c
92                 - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections
93
94 2008-10-20  Dan Williams  <dcbw@redhat.com>
95
96         * src/supplicant-manager/nm-supplicant-config.c
97                 - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config
98
99 2008-10-20  Dan Williams  <dcbw@redhat.com>
100
101         * src/dhcp-manager/nm-dhcp-manager.c
102                 - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
103                         manager object already refs it once
104                 - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
105                         also get cleaned up by nm_dhcp_device_destroy() to prevent
106                         double-frees
107
108 2008-10-20  Dan Williams  <dcbw@redhat.com>
109
110         * src/nm-manager.c
111                 - (initial_get_connections): use private dbus manager, don't keep
112                         ref-ing the singleton.  Fixes mismatched refcounts of the dbus
113                         manager object.
114
115 2008-10-18  Dan Williams  <dcbw@redhat.com>
116
117         * libnm-glib/nm-settings.c
118           libnm-glib/nm-settings.h
119                 - Rename the "get_secrets" virtual function "service_get_secrets" to
120                         clarify when it's used; NMExportedConnetion is a base-class for both
121                         the client and service side, which is sort of confusing, and
122                         get_secrets only makes sense on the service side.
123
124         * libnm-glib/nm-dbus-connection.c
125                 - (get_secrets): remove, unused, and clients need to do extra work to
126                         get secrets anyway since the call can block on the remote side
127
128         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
129           system-settings/plugins/keyfile/nm-keyfile-connection.c
130                 - Fix up for get_secrets -> service_get_secrets
131
132 2008-10-16  Dan Williams  <dcbw@redhat.com>
133
134         * src/nm-device-wifi.c
135                 - (constructor): correctly determine encryption capabilities
136
137 2008-10-15  Dan Williams  <dcbw@redhat.com>
138
139         * src/nm-device-wifi.c
140                 - (wireless_qual_to_percent): fix quality calculation in a fallback case
141                         (Johannes Berg)
142
143 2008-10-15  Dan Williams  <dcbw@redhat.com>
144
145         * src/NetworkManagerSystem.c
146                 - (ip4_dest_in_same_subnet): tighter checks on subnet matching,
147                         if the ip4_dest is in a smaller subnet contained within a subnet
148                         the machine is currently on, the destination is in the same subnet
149                 - (nm_system_device_set_ip4_route): move subnet checks to callers
150                 - (add_vpn_gateway_route): check if the VPN gateway is in the same
151                         subnet as the parent device, and if so, don't add the direct
152                         host route via the parent device's gateway (bgo #481620)
153                 - (nm_system_apply_ip4_config): check whether the route to be added
154                         is contained within a subnet the device is already on
155
156 2008-10-11  Dan Williams  <dcbw@redhat.com>
157
158         * include/NetworkManager.h
159           introspection/nm-device.xml
160           include/NetworkManagerVPN.h
161                 - Add a few more state reasons for the device deactivated state
162
163         * src/nm-device-interface.c
164           src/nm-device-interface.h
165                 - (nm_device_interface_deactivate): add a 'reason' argument
166
167         * src/nm-device.c
168           src/nm-device.h
169                 - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
170                 - (nm_device_state_changed): pass the state change reason to
171                         nm_device_take_down()
172                 - (nm_device_set_managed): take a 'reason' argument, and pass it along
173                         to the state change function
174
175         * src/nm-manager.c
176           src/nm-manager.h
177                 - (remove_one_device, handle_unmanaged_devices, sync_devices,
178                    impl_manager_sleep): pass a reason code to nm_device_set_managed()
179                 - (nm_manager_deactivate_connection): add a 'reason' argument and pass
180                         something reasonable along to VPN deactivation
181
182         * src/vpn-manager/nm-vpn-manager.c
183           src/vpn-manager/nm-vpn-manager.h
184                 - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
185                         pass that along to nm_vpn_connection_disconnect()
186
187 2008-10-11  Dan Williams  <dcbw@redhat.com>
188
189         * src/nm-device-wifi.c
190                 - (can_scan): remove old madwifi hack for not scanning while connected
191
192 2008-10-11  Dan Williams  <dcbw@redhat.com>
193
194         Add support for VPN subnet gateways (bgo #549196)
195
196         * include/NetworkManager.h
197                 - Add key for internal VPN subnet gateway
198
199         * src/vpn-manager/nm-vpn-connection.c
200                 - (ip_address_to_string): return a const from a static buffer so we
201                         don't leak a lot of strings
202                 - (print_vpn_config): print internal VPN gateway as well
203                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
204                         VPN service too
205                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
206
207         * src/NetworkManagerSystem.c
208           src/NetworkManagerSystem.h
209                 - (nm_system_device_replace_default_ip4_route): split into two, one for
210                         VPN connections and one for normal devices
211                 - (replace_default_ip4_route): break out route stuff into its own function
212                 - (nm_system_replace_default_ip4_route_vpn,
213                    nm_system_replace_default_ip4_route): simplify by having two cases,
214                         one for VPNs and one for normal devices
215
216         * src/NetworkManagerPolicy.c
217                 - (update_routing_and_dns): simplify, use split default route replacement
218                         functions
219
220 2008-10-10  Dan Williams  <dcbw@redhat.com>
221
222         Rework default route handling to consolidate decisions in the policy,
223         and to take active VPN connections into account when changing the default
224         route (bgo #545912)
225
226         * src/NetworkManager.c
227                 - (main): pass the vpn_manager to the policy so it knows about active
228                         VPN connections; clean up the named manager which wasn't done before
229
230         * src/NetworkManagerPolicy.c
231           src/NetworkManagerPolicy.h
232                 - (nm_policy_new): get a clue about the vpn_manager
233                 - (update_default_route): remove, fold into update_routing_and_dns()
234                 - (update_routing_and_dns): handle active VPN connections too; an
235                         active VPN connection becomes the default route if it does not have
236                         server-specified or user-specified custom routes.  Otherwise, the
237                         best active device gets the default route
238                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
239                    nm_policy_destroy): track VPN connection activation and deactivation
240                         and update the default route when appropriate
241
242         * src/NetworkManagerSystem.c
243           src/NetworkManagerSystem.h
244                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
245                         in the VPN connection itself
246                 - (nm_system_vpn_device_set_from_ip4_config,
247                    nm_system_device_set_from_ip4_config): merge together to make
248                         nm_system_apply_ip4_config()
249                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
250                         via the parent device
251                 - (nm_system_apply_ip4_config): simplify
252                 - (add_ip4_route_to_gateway): new function; add a direct route to the
253                         gateway if needed
254                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
255                         route stuff out into add_ip4_route_to_gateway() for clarity
256
257         * src/nm-device.c
258                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
259
260         * src/vpn-manager/nm-vpn-connection.c
261           src/vpn-manager/nm-vpn-connection.h
262                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
263                    nm_vpn_connection_get_parent_device): add
264                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
265                         device explicit
266                 - (connection_state_changed): update the named manager now that
267                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
268                         useful on errors
269
270         * src/vpn-manager/nm-vpn-manager.c
271           src/vpn-manager/nm-vpn-manager.h
272                 - Add a 'connection-activated' signal
273                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
274                         policy to find out about active VPN connections
275
276 2008-10-10  Tambet Ingo  <tambet@gmail.com>
277
278         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
279         a daemon to prevent NM logging spew on console on startup and shutdown (due
280         to dependency loop between NM and syslog).
281
282 2008-10-10  Alexander Sack  <asac@ubuntu.com>
283
284         Implement managed mode. We bind devices configured in /etc/network/interfaces
285         to their connections by updating wired/wireless setting with the
286         mac address of the device.
287
288         * system-settings/plugins/ifupdown/plugin.c
289                 - (get_net_address_for_udi): implement function to retrieve MAC
290                         address of udi from hal in GByteArray format
291                 - (bind_device_to_connection): bind mac address of device to
292                         wired/wireless system connection
293                 - (hal_device_added_cb): call bind_device_to_connection for
294                         system connections with a matching interface.name
295                 - (hal_device_added_cb): ensure that all code paths
296                         properly free the "iface" string.
297
298 2008-10-10  Alexander Sack  <asac@ubuntu.com>
299
300         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
301         mode of the ifupdown system config plugin.
302
303         * system-settings/plugins/ifupdown/plugin.c
304                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
305                         private unmanage_well_known state field accordingly
306
307 2008-10-10  Alexander Sack  <asac@ubuntu.com>
308
309         Implement unmanaged mode that will prevent all devices in the
310         well_known_udis set from being touched by NetworkManager
311
312         * system-settings/plugins/ifupdown/plugin.c
313                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
314                         unmanage_well_known field used to turn on/off unmanaged
315                         mode
316                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
317                         signal when well_known_udis get added/removed
318                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
319                         if we are in unmanaged mode
320
321 2008-10-10  Alexander Sack  <asac@ubuntu.com>
322
323         Add support to track network devices that have a configuration
324         with a matching interface.name in /etc/network/interfaces
325
326         * system-settings/plugins/ifupdown/plugin.c
327                 - (typedef struct SCPluginIfupdownPrivate): add hash table
328                         to track |well_known_udis|
329                 - (get_iface_for_udi): helper function to get interface.name
330                         for a udi
331                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
332                         that add and remove devices to and from the well_known_udis
333                         set depending on whether their |interface.name| matches
334                         any interface definition in /etc/network/interfaces
335                 - (SCPluginIfupdown_init): connect callbacks from above with
336                         hal_mgr and setup well_known_udis hashtable
337                 - (GObject__dispose): destroy well_known_udis hashtable
338                 - (hal_device_added_cb2): implement wrapper callback with GFunc
339                         signature. user_data is supposed to be a triple (hal_mgr,
340                         config and devtype)
341                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
342                         startup and call hal_device_added_cb2
343
344 2008-10-10  Alexander Sack  <asac@ubuntu.com>
345
346         Remove implementation for not used NMSystemConfigInterface callback functions
347         in ifupdown plugin
348
349         * system-settings/plugins/ifupdown/plugin.c
350                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
351                 - (SCPluginIfupdown_connection_added): removed
352
353 2008-10-08  Dan Williams  <dcbw@redhat.com>
354
355         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
356
357         * src/NetworkManagerUtils.c
358                 - (nm_utils_call_dispatcher): add a 'hostname' action
359
360         * src/NetworkManagerPolicy.c
361                 - (set_system_hostname): dispatch hostname changes
362
363         * callouts/nm-dispatcher-action.c
364                 - (nm_dispatcher_action): handle 'hostname' actions
365
366 2008-10-08  Dan Williams  <dcbw@redhat.com>
367
368         * src/NetworkManagerSystem.c
369                 - (find_route): ref the route so it doesn't get destroyed when the cache
370                         is cleared
371                 - (nm_system_device_set_priority): unref the route here after it's done
372                         being used
373
374 2008-10-08  Dan Williams  <dcbw@redhat.com>
375
376         * src/nm-serial-device.c
377                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
378
379 2008-10-08  Tambet Ingo  <tambet@gmail.com>
380
381         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
382         connection with new settings before saving it.
383
384 2008-10-06  Dan Williams  <dcbw@redhat.com>
385
386         * src/nm-ip4-config.c
387           src/nm-ip4-config.h
388                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
389
390         * src/nm-device-interface.c
391                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
392                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
393                         by using '/' for the object path
394
395         * src/nm-device.c
396                 - (src/nm-device.c): marshal missing/unexported ip4-config through
397                         dbus as '/' since dbus-glib can't handle NULL objects nor can
398                         dbus handle NULL object paths
399
400 2008-10-03  Alexander Sack  <asac@ubuntu.com>
401
402         Implement system hostname support for debian/ubuntu
403
404         * system-settings/plugins/ifupdown/plugin.c
405                 - (GObject__get_property): extend announced capabilities; add
406                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
407                 - (GObject__set_property,write_system_hostname): implement
408                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
409                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
410                    update_system_hostname, get_hostname):
411                         implement hostname property that watches and
412                         parses /etc/hostname
413
414 2008-10-03  Alexander Sack  <asac@ubuntu.com>
415
416         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
417           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
418           system-settings/plugins/ifcfg-fedora/Makefile.am
419           system-settings/src/nm-inotify-helper.c
420           system-settings/src/nm-inotify-helper.h
421           src/Makefile.am
422                 - Move ifcfg-fedora inotify helpers to the system settings service so
423                         they are available to all plugins
424
425 2008-10-03  Alexander Sack  <asac@ubuntu.com>
426
427         Implement support for wep-tx-keyidx in ifupdown system
428         config plugin.
429
430         * system-settings/plugins/ifupdown/parser.c
431                 - (update_wireless_security_setting_from_if_block): introduce
432                         free_type_mapping func table; rename a few local
433                         variables to improve readability; add wpa security mapping
434                         for wep-tx-keyidx property
435                 - (string_to_gpointerint): new function used for the auto_type_mapping
436                         of new wep-tx-keyidx property
437                 - (slist_free_all): free func used for mapped slist types
438
439 2008-10-03  Alexander Sack  <asac@ubuntu.com>
440
441         * system-settings/src/main.c:
442                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
443                         always used as the hash key; fixes a crash when removing wired
444                         devices
445
446 2008-10-02  Dan Williams  <dcbw@redhat.com>
447
448         * src/nm-gsm-device.c
449                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
450                         pass the required GSM secret along via user_data rather than keeping
451                         it around in the private data where it sometimes didn't get cleared
452                 - (real_get_ppp_name): implement using the GSM username
453
454 2008-10-02  Dan Williams  <dcbw@redhat.com>
455
456         * src/ppp-manager/nm-ppp-manager.c
457           src/ppp-manager/nm-ppp-manager.h
458                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
459                         the settings daemon for completely new ones
460                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
461                         local PPP peer name; allow PPP debuging by launching NM with
462                         the environment variable NM_PPP_DEBUG defined
463                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
464                         create_pppd_cmd_line()
465
466         * src/nm-serial-device.c
467           src/nm-serial-device.h
468                 - New 'get_ppp_name' function for subclasses to implement to return the
469                         local PPP peer name
470                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
471                         and pass that name to the PPP manager
472
473         * src/nm-device-ethernet.c
474                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
475                         the local peer name
476
477         * src/nm-cdma-device.c
478                 - (real_get_ppp_name): implement using the CDMA username
479
480 2008-10-02  Dan Williams  <dcbw@redhat.com>
481
482         Patch from Alexander Sack <asac ubuntu com>
483
484         * system-settings/plugins/ifupdown/parser.c
485                 - Implement more graceful ip4 config parsing for cases where
486                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
487                   by using default values
488
489 2008-10-02  Dan Williams  <dcbw@redhat.com>
490
491         * src/NetworkManagerPolicy.c
492                 - (device_state_changed): when marking a connection invalid, clear its
493                         secrets too so that fresh secrets get requested the next time
494
495 2008-10-01  Dan Williams  <dcbw@redhat.com>
496
497         * system-settings/src/dbus-settings.c
498                 - (nm_sysconfig_settings_init): cache system hostname on startup as
499                         a fallback if no plugin provides a hostname
500                 - (get_property): fall back to cached hostname if no plugin provides
501                         a hostname
502
503 2008-10-01  Dan Williams  <dcbw@redhat.com>
504
505         Fix setting value comparison issue that caused some settings to look the
506         same when they were really different (rh #464417)
507
508         * libnm-util/nm-param-spec-specialized.c
509                 - (type_is_fixed_size): return fundamental size of the fixed type too
510                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
511                         in the comparison so that the _entire_ fixed type collection gets
512                         compared rather than just the first 'len1' bytes
513
514 2008-09-30  Dan Williams  <dcbw@redhat.com>
515
516         * src/NetworkManagerPolicy.c
517                 - (lookup_thread_worker): don't store the idle handler ID becuase the
518                         idle handler could have already run and freed the LookupThread
519                         structure
520
521 2008-09-30  Tambet Ingo  <tambet@gmail.com>
522
523         * src/nm-device.c (nm_device_get_priority): Implement.
524         (nm_device_set_ip4_config): Send the device priority to system ip4 
525         config setter.
526
527         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
528         Add priority argument and if it's >= 0, set the priority of the network
529         route added automatically by netlink (or kernel?).
530         (nm_system_device_set_priority): Implement.
531
532         * src/NetworkManagerPolicy.c (get_best_device): Use 
533         nm_device_get_priority() instead of home-grown version. Revert the
534         meaning, best priority is the lowest one.
535
536 2008-09-29  Dan Williams  <dcbw@redhat.com>
537
538         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
539         when it returns EAGAIN (rh #362421)
540
541         * src/nm-device-wifi.c
542                 - (wireless_get_range): try GIWRANGE a few times until the card responds
543                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
544
545 2008-09-28  Dan Williams  <dcbw@redhat.com>
546
547         * src/nm-serial-device.c
548           src/nm-serial-device.h
549                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
550                         cleaned at the right times when subclasses close the serial port too
551                 - (nm_serial_device_send_command): use a default send delay; don't
552                         spin forever on EAGAIN
553                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
554                         remove, no longer used
555                 - (find_response): return the matched response if any
556                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
557                         while doing so
558                 - (wait_for_reply_done): pass the matched response to the callback
559                 - (wait_for_reply_got_data): save the matched response; simplify timeout
560                         handling
561                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
562                         const since they never get modified
563                 - (cleanup_device): split out common cleanup stuff to a new function
564                 - (real_deactivate_quickly, finalize): use cleanup_device()
565
566         * src/nm-gsm-device.c
567                 - (modem_get_reply): remove, unused
568                 - (set_apn): give the card a bit more time to respond
569                 - (manual_registration_again, schedule_manual_registration_again,
570                    manual_registration_response, manual_registration): handle manual
571                         registration timeouts better by retrying registration a few times
572                         because cards are a bit slow after CFUN=1
573                 - (automatic_registration_get_network, get_network_response): use
574                         modem_wait_for_reply() because it interacts better with the serial
575                         buffer and does more intelligent matching; need to wait for 'OK'
576                         rather than just matching terminators
577                 - (schedule_automatic_registration_again,
578                    automatic_registration_response, automatic_registration): retry
579                         registration a few times on timeout or "searching" because cards
580                         take a bit to find a network after being powered up with CFUN=1
581                 - (power_up_response, power_up, init_full_done, enter_pin,
582                    check_pin_done): power up the card with CFUN=1 before trying to
583                         register with the network
584                 - (init_modem_full, init_modem): use more standard 3G init strings
585
586         * src/nm-hso-gsm-device.c
587                 - (modem_get_reply): remove, unused
588                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
589                         modem_wait_for_reply() to match actual responses instead of single
590                         termination characters; it doesn't leave stuff in the serial buffer
591                         that might confuse later calls
592                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
593                         to ensure that the call is really disconnected and not leave extra
594                         stuff in the serial buffer
595
596         * src/nm-cdma-device.c
597                 - (power_up_response, power_up, init_done): try Sierra-style modem
598                         power up before attempting to connect
599
600 2008-09-27  Dan Williams  <dcbw@redhat.com>
601
602         * libnm-util/nm-setting-gsm.c
603                 - (verify): verify GSM network ID
604
605 2008-09-25  Dan Williams  <dcbw@redhat.com>
606
607         * libnm-util/nm-setting-gsm.c
608           libnm-util/nm-setting-gsm.h
609                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
610                         technology terms (bgo #551361)
611
612 2008-09-25  Dan Williams  <dcbw@redhat.com>
613
614         Fix bgo #549401 (inspired by patch from Alexander Sack)
615
616         * src/nm-device-ethernet.c
617                 - (finish_supplicant_task): clean up scheduled tasks and free memory
618                 - (remove_supplicant_interface_error_handler): remove the supplicant
619                         error idle callback too
620                 - (supplicant_interface_release): rename from supplicant_interface_clean
621                         to match nm-device-wifi.c; clean up supplicant interface-related
622                         state tasks when the supplicant interface is disposed of
623                 - (schedule_state_handler): add scheduled tasks to a list so they can
624                         be cleaned up later
625                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
626                    supplicant_iface_connection_state_cb_handler): use
627                         finish_supplicant_task() to clean up each completed task
628                 - (supplicant_iface_connection_error_cb_handler,
629                    supplicant_connection_timeout_cb): clear source id when the task is
630                         complete
631                 - (supplicant_iface_connection_error_cb): save scheduled task id for
632                         later cleanup
633                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
634                         tasks
635
636         * src/nm-device-wifi.c
637                 - (finish_supplicant_task): clean up scheduled tasks and free memory
638                 - (remove_supplicant_interface_error_handler): remove the supplicant
639                         error idle callback too
640                 - (supplicant_interface_release): clean up supplicant interface-related
641                         state tasks when the supplicant interface is disposed of
642                 - (schedule_state_handler): add scheduled tasks to a list so they can
643                         be cleaned up later
644                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
645                    supplicant_iface_connection_state_cb_handler): use
646                         finish_supplicant_task() to clean up each completed task
647                 - (supplicant_iface_connection_error_cb_handler): clear source id when
648                         the task is complete
649                 - (supplicant_iface_connection_error_cb): save scheduled task id for
650                         later cleanup
651                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
652
653 2008-09-24  Tambet Ingo  <tambet@gmail.com>
654
655         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
656         method and get/set hostname property.
657
658 2008-09-24  Tambet Ingo  <tambet@gmail.com>
659
660         * src/supplicant-manager/nm-supplicant-interface.c
661         (nm_supplicant_interface_disconnect): Don't increment the reference 
662         count when disconnecting. The problem is on shutdown, when the replies
663         to these commands do not arrive before NM exits, resulting on never
664         calling supplicant interface's dispose(), which removes the interface
665         from supplicant.
666
667 2008-09-24  Tambet Ingo  <tambet@gmail.com>
668
669         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
670         all the public function arguments.
671
672 2008-09-22  Tambet Ingo  <tambet@gmail.com>
673
674         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
675         "Failure" signal from VPN plugins, store the failure reason, and
676         use it when the state is changed to failure.
677
678         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
679         description.
680
681         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
682         reason to the end of the list to not break the API.
683         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
684         so it can be shared by plugins and daemon.
685
686 2008-09-18  Dan Williams  <dcbw@redhat.com>
687
688         Patch from Alexander Sack <asac@ubuntu.com>
689
690         * configure.in
691           system-settings/plugins/Makefile.am
692           system-settings/plugins/ifupdown/Makefile.am
693           system-settings/plugins/ifupdown/interface_parser.c
694           system-settings/plugins/ifupdown/interface_parser.h
695           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
696           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
697           system-settings/plugins/ifupdown/parser.c
698           system-settings/plugins/ifupdown/parser.h
699           system-settings/plugins/ifupdown/plugin.c
700           system-settings/plugins/ifupdown/plugin.h
701                 - Implement a Debian/Ubuntu legacy network configuration plugin
702                         (gnome.org #551941)
703
704 2008-09-18  Dan Williams  <dcbw@redhat.com>
705
706         Implement support for honoring configured and automatic hostnames, and for
707         setting the configured hostname.
708
709         * introspection/nm-ip4-config.xml
710           src/nm-ip4-config.c
711           src/nm-ip4-config.h
712           src/dhcp-manager/nm-dhcp-manager.c
713                 - Remove useless hostname property; it's not really part of the IPv4
714                         config
715
716         * introspection/nm-settings-system.xml
717           libnm-glib/nm-dbus-settings-system.c
718           libnm-glib/nm-dbus-settings-system.h
719                 - Add SetHostname() call to system settings D-Bus interface
720                 - Add Hostname property to system settings D-Bus interface
721                 - (nm_dbus_settings_system_save_hostname,
722                    nm_dbus_settings_system_get_hostname): implement
723
724         * src/nm-device.c
725           src/nm-device.h
726                 - (nm_device_get_dhcp4_config): implement
727
728         * src/nm-manager.c
729           src/nm-manager.h
730                 - Fetch and track system settings service hostname changes, and proxy
731                         the changes via a GObject property of the manager
732
733         * system-settings/src/nm-system-config-interface.c
734           system-settings/src/nm-system-config-interface.h
735                 - Replace nm_system_config_interface_supports_add() with a capabilities
736                         bitfield
737
738         * system-settings/src/nm-system-config-error.c
739           system-settings/src/nm-system-config-error.h
740                 - Add additional errors
741
742         * system-settings/src/dbus-settings.c
743           system-settings/src/dbus-settings.h
744                 - (get_property, nm_sysconfig_settings_class_init): add hostname
745                         property; first plugin returning a hostname wins
746                 - (impl_settings_add_connection): use plugin capabilities instead of
747                         nm_system_config_interface_supports_add()
748                 - (impl_settings_save_hostname): implement hostname saving
749
750         * src/NetworkManagerPolicy.c
751                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
752                    lookup_thread_die): implement an asynchronous hostname lookup thread
753                         which given an IPv4 address tries to look up the hostname for that
754                         address with reverse DNS
755                 - (get_best_device): split out best device code from
756                         update_routing_and_dns()
757                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
758                         to preserve the 127.0.0.1 reverse mapping that so many things require
759                 - (set_system_hostname): set a given hostname
760                 - (update_system_hostname): implement hostname policy; a configured
761                         hostname (from the system settings service) is used if available,
762                         otherwise an automatically determined hostname from DHCP, VPN, etc.
763                         If there was no automatically determined hostname, reverse DNS of
764                         the best device's IP address will be used, and as a last resort the
765                         hostname 'localhost.localdomain' is set.
766                 - (update_routing_and_dns): use get_best_device(); update the system
767                         hostname when the network config changes
768                 - (hostname_changed): update system hostname if the system settings
769                         service signals a hostname change
770                 - (nm_policy_new): list for system settings service hostname changes
771                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
772                         gets told to die
773
774         * system-settings/plugins/keyfile/plugin.c
775           system-settings/plugins/ifcfg-suse/plugin.c
776                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
777                         capabilities properties
778
779         * system-settings/plugins/ifcfg-fedora/shvar.c
780                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
781                         writes out /etc/sysconfig/network now
782
783         * system-settings/plugins/ifcfg-fedora/plugin.c
784                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
785                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
786                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
787                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
788                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
789                         hostname get/set and capabilities get
790
791 2008-09-18  Dan Williams  <dcbw@redhat.com>
792
793         * libnm-util/nm-setting-wireless.c
794                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
795                         group ciphers if the wireless-security setting explicitly specified
796                         them, effectively making the default be "all ciphers"  (idea from
797                         Alexander Sack)
798
799 2008-09-15  Dan Williams  <dcbw@redhat.com>
800
801         Patch from Alexander Sack <asac@ubuntu.com>
802
803         * src/named-manager/nm-named-manager.c
804                 - (dispatch_resolvconf): respect resolvconf exit code
805
806 2008-09-12  Tambet Ingo  <tambet@gmail.com>
807
808         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
809         again. Add some debugging.
810
811 2008-09-11  Dan Williams  <dcbw@redhat.com>
812
813         * system-settings/plugins/keyfile/plugin.c
814                 - (update_connection_settings): update connection manually, since
815                         nm_exported_connection_update() does authentication
816                 - (dir_changed): update_connection_settings() doesn't need to return
817                         an error
818
819 2008-09-09  Dan Williams  <dcbw@redhat.com>
820
821         * libnm-glib/nm-vpn-plugin-ui-interface.c
822           libnm-glib/nm-vpn-plugin-ui-interface.h
823           libnm-glib/libnm_glib_vpn.ver
824                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
825                         should clean up resources related to the connection (like keyring
826                         secrets)
827                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
828                         should save user-scope secrets (like to the keyring)
829
830 2008-09-08  Dan Williams  <dcbw@redhat.com>
831
832         Patch from Alexander Sack <asac@ubuntu.com>
833
834         * libnm-util/crypto_gnutls.c
835           libnm-util/crypto_nss.c
836                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
837
838         * libnm-util/nm-utils.c
839           libnm-util/nm-utils.h
840           libnm-util/libnm-util.ver
841                 - (nm_utils_init): initialize libnm-util
842                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
843
844         * libnm-util/nm-setting-8021x.c
845                 - (nm_setting_802_1x_class_init): init libnm-util when needed
846
847 2008-09-05  Dan Williams  <dcbw@redhat.com>
848
849         Patch from Roy Marples <roy@marples.name> and others
850
851         * configure.in
852           src/named-manager/nm-named-manager.c
853                 - Add support for resolvconf; use --with-resolvconf at configure time
854                         to enable it
855
856 2008-09-05  Dan Williams  <dcbw@redhat.com>
857
858         * libnm-util/crypto_nss.c
859           libnm-util/crypto_gnutls.c
860           libnm-util/crypto.h
861                 - (crypto_init): return error when init fails
862
863 2008-09-05  Dan Williams  <dcbw@redhat.com>
864
865         * libnm-glib/nm-device-wifi.c
866                 - (access_point_removed_proxy): clean up the active access point too
867                         just in case the active ap changed signal didn't come through yet
868                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
869
870 2008-09-05  Dan Williams  <dcbw@redhat.com>
871
872         * libnm-glib/nm-client.c
873                 - (constructor): get initial state after we know whether NM is running
874                         or not
875
876 2008-09-05  Dan Williams  <dcbw@redhat.com>
877
878         * libnm-glib/nm-ip4-config.c
879           libnm-glib/nm-dhcp4-config.c
880                 - (finalize): clean up the DBusGProxy
881
882 2008-09-04  Dan Williams  <dcbw@redhat.com>
883
884         * src/nm-ip4-config.c
885           src/nm-ip4-config.h
886                 - (nm_ip4_config_new): don't export over D-Bus here
887                 - (nm_ip4_config_export): new function; export the config over D-Bus
888                 - (nm_ip4_config_is_exported): new function
889
890         * src/nm-device.c
891                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
892                         objects by balancing the IP4Config constructor; the device holds
893                         a reference to the IP4Config already
894                 - (nm_device_set_ip4_config): export the IP4Config when needed
895
896 2008-09-04  Dan Williams  <dcbw@redhat.com>
897
898         * src/supplicant-manager/nm-supplicant-settings-verify.c
899                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
900
901 2008-09-04  Dan Williams  <dcbw@redhat.com>
902
903         * libnm-util/nm-setting-vpn.c
904           libnm-util/nm-setting-vpn.h
905                 - Split VPN secrets from VPN data so that settings services can actually
906                         figure out that they are secrets and store them accordingly
907
908         * system-settings/plugins/keyfile/nm-keyfile-connection.c
909           system-settings/plugins/keyfile/reader.c
910           system-settings/plugins/keyfile/reader.h
911           system-settings/plugins/keyfile/writer.c
912                 - Store VPN secrets separately from VPN data so that they can be fetched
913                         on demand
914                 - Implement the get_secrets() call so that (a) secrets don't leak out
915                         to unprivileged callers, and (b) secrets can be sent to privileged
916                         callers when needed
917
918         * vpn-daemons/vpnc/src/nm-vpnc-service.c
919                 - Handle split VPN secrets
920
921 2008-08-27  Dan Williams  <dcbw@redhat.com>
922
923         * system-settings/plugins/ifcfg-fedora/reader.c
924                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
925
926 2008-08-27  Dan Williams  <dcbw@redhat.com>
927
928         Ensure zombie children get cleaned up.  To get notifications when children
929         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
930         that requires calling waitpid() yourself if you've removed the child watch
931         handler before the process has actually died, which NM needs to do in a few
932         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
933         cleans up after the child when required.  Should fix problems trying to
934         activate mobile broadband connections after a previous failure.
935
936         * src/dhcp-manager/nm-dhcp-dhclient.c
937           src/dhcp-manager/nm-dhcp-dhcpcd.c
938                 - Use G_SPAWN_DO_NOT_REAP_CHILD
939
940         * src/dhcp-manager/nm-dhcp-manager.c
941                 - (nm_dhcp_device_destroy): ensure child is cleaned up
942                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
943                         block on child quitting, since the non-blocking functionality was
944                         never actually used
945
946         * src/dnsmasq-manager/nm-dnsmasq-manager.c
947                 - (dm_watch_cb): child is already reaped here
948                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
949
950         * src/nm-device.c
951                 - (aipd_cleanup): block until child is dead
952
953         * src/named-manager/nm-named-manager.c
954                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
955                         event bothering to watch the child
956
957         * src/ppp-manager/nm-ppp-manager.c
958                 - (ppp_watch_cb): child is already reaped here
959                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
960
961         * src/vpn-manager/nm-vpn-service.c
962                 - (vpn_service_watch_cb): child is already reaped here
963                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
964                         status of the child is actually tracked
965                 - (ensure_killed, finalize): block until child is dead
966
967 2008-08-26  Dan Williams  <dcbw@redhat.com>
968
969         * system-settings/plugins/keyfile/nm-keyfile-connection.c
970                 - (update): Update filename of the connection if the connection id
971                         was changed
972
973         * system-settings/plugins/keyfile/plugin.c
974                 - (dir_changed): first pass at handling connection renames correctly
975
976         * system-settings/plugins/keyfile/writer.c
977           system-settings/plugins/keyfile/writer.h
978                 - (write_connection): replace '/' with '*' when writing out the filename
979                         from the connection id
980
981 2008-08-26  Dan Williams  <dcbw@redhat.com>
982
983         Add connection UUIDs, since connection names can be changed, and since
984         old-style connection IDs could change over the life of the connection.  The
985         UUID should be assigned at connection creation time, be stable for a given
986         connection, and should be unique among all connections for a given settings
987         service.
988
989         * configure.in
990           libnm-util/Makefile.am
991                 - Require libuuid
992
993         * introspection/nm-exported-connection.xml
994                 - Remove "GetID" method
995
996         * libnm-glib/nm-dbus-connection.c
997           libnm-glib/nm-settings.c
998           libnm-glib/nm-settings.h
999                 - Remove id-related stuff
1000
1001         * libnm-util/nm-utils.c
1002           libnm-util/nm-utils.h
1003           libnm-util/libnm-util.ver
1004                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
1005                         utility functions to generate UUIDs
1006
1007         * libnm-util/nm-setting-connection.c
1008           libnm-util/nm-setting-connection.h
1009                 - Add 'uuid' member to the connection setting
1010                 - (verify): require valid 'uuid' for a valid connection
1011
1012         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
1013           system-settings/plugins/ifcfg-fedora/reader.c
1014           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
1015           system-settings/plugins/ifcfg-suse/parser.c
1016           system-settings/plugins/keyfile/nm-keyfile-connection.c
1017           system-settings/src/main.c
1018                 - Remove id-related stuff
1019                 - Give connections UUIDs where needed
1020
1021 2008-08-25  Dan Williams  <dcbw@redhat.com>
1022
1023         * libnm-util/crypto_gnutls.c
1024           libnm-util/crypto_nss.c
1025                 - (crypto_init, crypto_deinit): refcount init/deinit
1026                 - (crypto_md5_hash): allow NULL salt
1027
1028 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
1029
1030         * libnm-glib/Makefile.am
1031           libnm-util/Makefile.am
1032           libnm-glib/libnm_glib.ver
1033           libnm-glib/libnm_glib_vpn.ver
1034           libnm-util/libnm-util.ver
1035                 - Use linker version scripts to control the list of exported 
1036                 symbols. List each exported symbol explicitely.
1037         * libnm-util/Makefile.am
1038                 - Fix compilation of the test-crypto binary. The crypto
1039                 functions are no longer part of the libnm-util API. Add 
1040                 crypto_*.c to test_crypto_SOURCES and link against the correct
1041                 crypto libraries.
1042
1043 2008-08-19  Dan Williams  <dcbw@redhat.com>
1044
1045         * configure.in
1046           test/Makefile.am
1047                 - Don't build test/test-common
1048                 - Remove unused stuff
1049
1050         * test/nm-set-fallback
1051           test/nmtestdevices.c
1052           test/test-common/.cvsignore
1053           test/test-common/Makefile.am
1054           test/test-common/test-common.c
1055           test/test-common/test-common.h
1056                 - delete
1057
1058 2008-08-18  Dan Williams  <dcbw@redhat.com>
1059
1060         * libnm-util/nm-utils.c
1061           libnm-util/nm-utils.h
1062                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
1063                         export anything that needs to be converted with this function
1064
1065         * src/dhcp-manager/nm-dhcp-manager.c
1066                 - (garray_to_string): convert a byte array to a UTF-8 string with
1067                         minimal validation; the DHCP client sends it in ASCII anyway
1068                 - (get_option, copy_option): use garray_to_string()
1069
1070 2008-08-18  Dan Williams  <dcbw@redhat.com>
1071
1072         * include/NetworkManager.h
1073           introspection/nm-device.xml
1074                 - Add a "missing firmware" device state reason
1075
1076         * src/NetworkManagerSystem.c
1077           src/NetworkManagerSystem.h
1078                 - (nm_system_device_set_up_down): add a no_firmware argument
1079                 - (nm_system_device_set_up_down_with_iface): if the result of setting
1080                         IFF_UP is ENOENT, that almost always means missing firmware
1081
1082         * src/backends/NetworkManagerGeneric.c
1083           src/nm-device-ethernet.c
1084           src/nm-device-private.h
1085           src/nm-device-wifi.c
1086           src/nm-device.c
1087           src/nm-device.h
1088           src/nm-hso-gsm-device.c
1089           src/vpn-manager/nm-vpn-connection.c
1090                 - Pass no_firmware along; check it where appropriate
1091
1092 2008-08-18  Dan Williams  <dcbw@redhat.com>
1093
1094         Patch from Robert Buchholz <rbu@gentoo.org>
1095
1096         * autogen.sh
1097           configure.in
1098                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
1099                         1003.1-1988, allowing for file names longer than 99 characters
1100
1101 2008-08-17  Dan Williams  <dcbw@redhat.com>
1102
1103         * include/NetworkManager.h
1104           introspection/nm-device.xml
1105           src/nm-gsm-device.c
1106                 - Finer-grained GSM registration failure error codes
1107
1108 2008-08-17  Dan Williams  <dcbw@redhat.com>
1109
1110         * callouts/Makefile.am
1111           src/Makefile.am
1112                 - Move dispatcher directory creation to callouts/Makefile.am
1113
1114         * system-settings/plugins/keyfile/Makefile.am
1115                 - Create keyfile connections directory in DESTDIR (bgo #546833)
1116
1117 2008-08-15  Dan Williams  <dcbw@redhat.com>
1118
1119         Do connection sharing in a cleaner manner; all required iptables rules
1120         are now stored in the activation request and pertain only to the device
1121         which is being shared to other computers. (rh #458625)
1122
1123         * src/nm-activation-request.c
1124           src/nm-activation-request.h
1125                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
1126                         the activation request which will get torn down automatically when
1127                         the activation request dies
1128                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
1129                         is started, and tear them down when sharing is stopped
1130
1131         * src/nm-device.c
1132                 - (start_sharing): start up sharing by doing the required iptables magic
1133                 - (share_init): poke the right bits of the kernel and load the right
1134                         modules for NAT
1135                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
1136                         connection if it's a 'shared' connection
1137
1138         * src/NetworkManagerPolicy.c
1139                 - Remove all sharing stuff; done in the device code itself
1140
1141 2008-08-15  Dan Williams  <dcbw@redhat.com>
1142
1143         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1144                 - (create_dm_cmd_line): send the right router address
1145
1146 2008-08-15  Dan Williams  <dcbw@redhat.com>
1147
1148         * src/ppp-manager/nm-ppp-manager.c
1149                 - (pppd_timed_out): ensure timeouts fail the connection
1150
1151 2008-08-14  Dan Williams  <dcbw@redhat.com>
1152
1153         * src/nm-properties-changed-signal.c
1154           src/nm-properties-changed-signal.h
1155                 - Add a property spec flag for "don't export this property" in
1156                         property changed signals
1157
1158         * src/nm-hso-gsm-device.c
1159           src/nm-gsm-device.c
1160           src/nm-cdma-device.c
1161                 - Don't export monitor interface or netdev interface properties
1162
1163 2008-08-14  Dan Williams  <dcbw@redhat.com>
1164
1165         * src/NetworkManagerPolicy.c
1166                 - (update_routing_and_dns): 'hso' devices can be default even if they
1167                         don't have a gateway
1168
1169 2008-08-14  Dan Williams  <dcbw@redhat.com>
1170
1171         * src/nm-device.c
1172                 - (nm_device_deactivate_quickly): tear down activation request after
1173                         calling device-specific deactivation
1174
1175         * src/nm-hso-gsm-device.c
1176                 - (real_deactivate_quickly): terminate connection when deactivating
1177
1178 2008-08-14  Dan Williams  <dcbw@redhat.com>
1179
1180         * src/nm-activation-request.h
1181                 - Add HSO secrets caller
1182
1183         * src/nm-gsm-device.c
1184           src/nm-gsm-device.h
1185                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1186                         something to the callback function
1187                 - (set_apn, set_apn_done): call class dial function, not a static one
1188                 - (nm_gsm_device_class_init): add a class 'dial' function
1189
1190         * src/nm-hal-manager.c
1191                 - (get_hso_netdev): find the hso-driven hardware's net device
1192                 - (modem_device_creator): recognize hso-driven hardware and create the
1193                         right type of device object for it
1194
1195         * src/Makefile.am
1196           src/nm-hso-gsm-device.c
1197           src/nm-hso-gsm-device.h
1198                 - Implement support for devices driven by the 'hso' driver as a subclass
1199                         of NMGsmDevice
1200
1201 2008-08-14  Dan Williams  <dcbw@redhat.com>
1202
1203         * src/NetworkManagerSystem.c
1204                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
1205                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
1206                         success if the operation really was successful
1207
1208 2008-08-14  Dan Williams  <dcbw@redhat.com>
1209
1210         * src/nm-netlink-monitor.c
1211           src/nm-netlink-monitor.h
1212           src/nm-device-ethernet.c
1213                 - (nm_netlink_monitor_request_status): return an error on failure
1214                 - (constructor): don't segfault on missing error
1215
1216 2008-08-13  Dan Williams  <dcbw@redhat.com>
1217
1218         * callouts/nm-dispatcher-action.c
1219                 - Add IP4 config info to script environment
1220
1221 2008-08-12  Dan Williams  <dcbw@redhat.com>
1222
1223         * src/nm-device.c
1224                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
1225                         that want to use DHCP hostnames should use dispatcher scripts
1226                         for that
1227
1228         * src/NetworkManagerSystem.h
1229           src/backends/NetworkManagerArch.c
1230           src/backends/NetworkManagerDebian.c
1231           src/backends/NetworkManagerFrugalware.c
1232           src/backends/NetworkManagerGeneric.c
1233           src/backends/NetworkManagerGeneric.h
1234           src/backends/NetworkManagerGentoo.c
1235           src/backends/NetworkManagerMandriva.c
1236           src/backends/NetworkManagerPaldo.c
1237           src/backends/NetworkManagerRedHat.c
1238           src/backends/NetworkManagerSlackware.c
1239           src/backends/NetworkManagerSuSE.c
1240                 - Remove nm_system_set_hostname(), no longer used
1241           
1242         * src/backends/Makefile.am
1243           src/backends/shvar.c
1244           src/backends/shvar.h
1245                 - Remove shvar.*; no longer used
1246
1247 2008-08-12  Dan Williams  <dcbw@redhat.com>
1248
1249         Revert most of the 'hostname' patch.  Too much stuff still breaks when
1250         hostname is updated at runtime.  Distros or users who want hostname updates
1251         can use dispatcher scripts to update the hostname if they need it.
1252
1253 2008-08-12  Dan Williams  <dcbw@redhat.com>
1254
1255         * introspection/nm-settings-system.xml
1256           system-settings/src/dbus-settings.c
1257           system-settings/src/dbus-settings.h
1258                 - Add a 'Hostname' property (rw) which represents the configured
1259                         hostname and domain of the system, if any
1260
1261         * system-settings/src/nm-system-config-error.c
1262           system-settings/src/nm-system-config-error.h
1263           system-settings/src/nm-system-config-interface.c
1264           system-settings/src/nm-system-config-interface.h
1265                 - Add a 'hostname' property to the plugin interface
1266                 - Add a method to send updated hostname to plugins to save in their
1267                         backing configuration store
1268
1269         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1270           system-settings/plugins/keyfile/plugin.c
1271           system-settings/plugins/keyfile/writer.c
1272           system-settings/plugins/keyfile/writer.h
1273           system-settings/plugins/ifcfg-suse/plugin.c
1274                 - Add minimal hostname support
1275
1276         * system-settings/plugins/ifcfg-fedora/plugin.c
1277                 - Add support for updating system hostname in /etc/sysconfig/network
1278
1279 2008-08-12  Dan Williams  <dcbw@redhat.com>
1280
1281         * system-settings/plugins/ifcfg-fedora/shvar.c
1282           system-settings/plugins/ifcfg-fedora/shvar.c
1283                 - Fix double-free caused by svSetValue() followed by svCloseFile()
1284
1285 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1286
1287         * Makefile.am: Fix distcheck.
1288
1289 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1290
1291         * libnm-glib/*.c. Document some more.
1292
1293 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1294
1295         Start documenting libnm-glib public API using gtk-doc.
1296
1297         * libnm-glib/nm-serial-device.c: 
1298         * libnm-glib/nm-object.c: 
1299         * libnm-glib/nm-gsm-device.c: 
1300         * libnm-glib/nm-device.c: 
1301         * libnm-glib/nm-device-wifi.c: 
1302         * libnm-glib/nm-device-ethernet.c: 
1303         * libnm-glib/nm-client.c: 
1304         * libnm-glib/nm-cdma-device.c: Document the public API.
1305
1306         * docs/libnm-glib/libnm-glib.types: Implement.
1307
1308         * docs/libnm-glib/Makefile.am: Implement.
1309
1310         * autogen.sh: 
1311         * configure.in: 
1312         * Makefile.am: Add gtk-doc support.
1313
1314 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1315
1316         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
1317
1318         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
1319         the composite result of all the IP4 configurations and call a distro
1320         specific update_resolv_conf().
1321         (update_resolv_conf): Implement one for directly writing to 
1322         /etc/resolv.conf and one for opensuse to call netconfig.
1323
1324 2008-08-11  Dan Williams  <dcbw@redhat.com>
1325
1326         * src/ppp-manager/nm-ppp-manager.c
1327                 - (impl_ppp_manager_need_secrets): pass interface as required
1328
1329 2008-08-11  Dan Williams  <dcbw@redhat.com>
1330
1331         Merge the vpn-properties setting with the vpn setting since it was pointless
1332         to keep both of them around.  Convert the vpn 'data' hash table to a hash
1333         of string:string (instead of string:variant) so that system settings plugins
1334         can have an easier time dealing with the arbitrary key/value pairs.
1335
1336 2008-08-11  Dan Williams  <dcbw@redhat.com>
1337
1338         * libnm-util/nm-utils.c
1339                 - (nm_utils_register_value_transformations): add value transform for
1340                         a hash table of string:string
1341
1342 2008-08-10  Dan Williams  <dcbw@redhat.com>
1343
1344         * libnm-glib/nm-vpn-plugin.c
1345                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
1346                         an idle handler so the Connect reply gets delivered before the
1347                         stop StateChanged signal
1348
1349 2008-08-10  Dan Williams  <dcbw@redhat.com>
1350
1351         * src/nm-ip4-config.c
1352                 - (get_property): use common ip4 address/route conversion functions
1353                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
1354                         copy the new route here, not take ownership
1355
1356 2008-08-08  Tambet Ingo  <tambet@gmail.com>
1357
1358         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
1359         Update the IP4 setting's method name.
1360
1361 2008-08-07  Dan Williams  <dcbw@redhat.com>
1362
1363         * introspection/nm-ip4-config.xml
1364           libnm-glib/libnm-glib-test.c
1365           libnm-glib/nm-ip4-config.c
1366           libnm-glib/nm-ip4-config.h
1367           src/NetworkManagerSystem.h
1368           src/backends/NetworkManagerArch.c
1369           src/backends/NetworkManagerDebian.c
1370           src/backends/NetworkManagerFrugalware.c
1371           src/backends/NetworkManagerGeneric.c
1372           src/backends/NetworkManagerGeneric.h
1373           src/backends/NetworkManagerGentoo.c
1374           src/backends/NetworkManagerMandriva.c
1375           src/backends/NetworkManagerPaldo.c
1376           src/backends/NetworkManagerRedHat.c
1377           src/backends/NetworkManagerSlackware.c
1378           src/backends/NetworkManagerSuSE.c
1379           src/dhcp-manager/nm-dhcp-manager.c
1380           src/nm-device.c
1381           src/nm-ip4-config.c
1382           src/nm-ip4-config.h
1383                 - Remove NIS logic; should be done from dispatcher scripts instead
1384
1385 2008-08-07  Dan Williams  <dcbw@redhat.com>
1386
1387         * src/dhcp-manager/nm-dhcp-manager.c
1388                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
1389                         mis-handling of DHCP responses that returned more than one router
1390                         (found by Grant Williamson)
1391
1392 2008-08-07  Dan Williams  <dcbw@redhat.com>
1393
1394         * callouts/nm-dispatcher-action.c
1395                 - (nm_dispatcher_action): grab device path and create the device; pass
1396                         the device's DHCP4 config to script caller
1397                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
1398                         scripts
1399
1400         * libnm-glib/nm-dhcp4-config.c
1401           libnm-glib/nm-dhcp4-config.h
1402                 - (nm_dhcp4_config_get_options): expose
1403                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
1404
1405 2008-08-07  Dan Williams  <dcbw@redhat.com>
1406
1407         * include/NetworkManager.h
1408                 - Add the DHCP4Config D-Bus interface
1409
1410         * libnm-glib/Makefile.am
1411           libnm-glib/nm-dhcp4-config.c
1412           libnm-glib/nm-dhcp4-config.h
1413                 - Handle DHCP4 config objects exported by NM over D-Bus
1414
1415         * libnm-glib/nm-device.c
1416           libnm-glib/nm-device.h
1417                 - Add a 'dhcp4-config' property
1418
1419         * libnm-glib/libnm-glib-test.c
1420                 - Print out DHCP4 config for devices
1421                 - Fix some crashes when no connections are active
1422
1423         * src/nm-device-interface.c
1424           src/nm-device.c
1425           src/nm-dhcp4-config.c
1426           src/nm-dhcp4-config.h
1427                 - Treat dhcp4-config object as an object path at the D-Bus interface so
1428                         that when it doesn't exist we can proxy it as "/" which dbus-glib
1429                         doesn't let us do when the property type is G_TYPE_OBJECT
1430
1431 2008-08-07  Dan Williams  <dcbw@redhat.com>
1432
1433         * src/NetworkManager.c
1434           src/NetworkManagerSystem.h
1435           src/backends/NetworkManagerArch.c
1436           src/backends/NetworkManagerDebian.c
1437           src/backends/NetworkManagerFrugalware.c
1438           src/backends/NetworkManagerGeneric.c
1439           src/backends/NetworkManagerGeneric.h
1440           src/backends/NetworkManagerGentoo.c
1441           src/backends/NetworkManagerMandriva.c
1442           src/backends/NetworkManagerPaldo.c
1443           src/backends/NetworkManagerRedHat.c
1444           src/backends/NetworkManagerSlackware.c
1445           src/backends/NetworkManagerSuSE.c
1446                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
1447
1448 2008-08-06  Dan Williams  <dcbw@redhat.com>
1449
1450         * libnm-glib/nm-ip4-config.c
1451           libnm-glib/nm-ip4-config.h
1452                 - Add 'routes' property
1453
1454         * libnm-util/nm-setting-vpn.c
1455           libnm-util/nm-setting-vpn.h
1456                 - Remove 'routes' property
1457
1458         * libnm-util/nm-setting-ip4-config.c
1459           libnm-util/nm-setting-ip4-config.h
1460                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
1461                 - Add 'ignore-auto-routes' property
1462                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
1463                         accomodate route metrics
1464                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
1465
1466         * libnm-util/nm-utils.c
1467           libnm-util/nm-utils.h
1468                 - Add helpers for marshalling IP4 routes
1469
1470         * src/NetworkManagerUtils.c
1471                 - (nm_utils_merge_ip4_config): handle property renames and new route
1472                         structure
1473
1474         * src/NetworkManagerSystem.c
1475                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
1476                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
1477
1478         * src/dhcp-manager/nm-dhcp-manager.c
1479                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
1480
1481         * system-settings/plugins/ifcfg-fedora/reader.c
1482           system-settings/plugins/ifcfg-fedora/writer.c
1483                 - Handle routes separately from addresses now that routes have a different
1484                         format
1485
1486         * introspection/nm-ip4-config.xml
1487           src/nm-ip4-config.c
1488           src/nm-ip4-config.h
1489                 - Rename internal routing functions
1490                 - 'static-routes' renamed to 'routes'
1491
1492 2008-08-04  Dan Williams  <dcbw@redhat.com>
1493
1494         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
1495
1496         * src/NetworkManager.c
1497           src/nm-manager.c
1498           src/nm-manager.h
1499                 - More explicitly make the NMManager a singleton
1500
1501 2008-08-04  Dan Williams  <dcbw@redhat.com>
1502
1503         * libnm-util/nm-connection.c
1504           libnm-util/nm-connection.h
1505                 - (nm_connection_verify): return error on missing 'connection' setting
1506                         (found by Sjoerd Simons)
1507
1508 2008-08-04  Dan Williams  <dcbw@redhat.com>
1509
1510         Handle multiple concurrent PPP connections.
1511
1512         * src/ppp-manager/nm-ppp-manager.c
1513           src/ppp-manager/nm-ppp-manager.h
1514                 - (constructor): only PPP Manager request bus name once; each
1515                         NMPPPManager object gets a unique object path
1516                 - (nm_ppp_manager_class_init, get_property, set_property,
1517                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
1518                         at construct time
1519                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
1520                         remove timeout until PPP manager gets an IP4 config
1521                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
1522                         the plugin can call back to this specific PPP manager instance
1523
1524         * src/nm-device-ethernet.c
1525           src/nm-serial-device.c
1526                 - Pass parent device in nm_ppp_manager_new()
1527
1528         * src/nm-gsm-device.c
1529           src/nm-cdma-device.c
1530                 - (device_state_changed): don't close serial device on NEED_AUTH
1531                         state changed, that's not a failure case like the rest are
1532
1533         * src/ppp-manager/nm-pppd-plugin.c
1534                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
1535                         binds one interface to any pppd process, thus the correct index
1536                         is always 0; send PHASE_DEAD on error to alert NM immediately of
1537                         problems; try harder to get a peer address in spite of pppd
1538                 - (plugin_init): use 'ipparam' as the object path back to our specific
1539                         PPP manager instance
1540
1541 2008-08-04  Dan Williams  <dcbw@redhat.com>
1542
1543         * src/ppp-manager/nm-ppp-manager.c
1544                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
1545                         since the GSM and CDMA settings now implement need_secrets, we can
1546                         rely on them to do the right thing.  Where secrets are not required,
1547                         just pass empty strings back to the pppd plugin.
1548                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
1549                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
1550                         on successful IP4 config receipt
1551
1552 2008-08-04  Dan Williams  <dcbw@redhat.com>
1553
1554         * libnm-util/nm-setting-cdma.c
1555           libnm-util/nm-setting-gsm.c
1556                 - (verify): validate username & password if they exist
1557                 - (need_secrets): if username given, require a password too
1558
1559 2008-08-04  Dan Williams  <dcbw@redhat.com>
1560
1561         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1562                 - (create_dm_cmd_line): really don't listen on lo, despite what the
1563                         manpage says about --listen-address without --interface
1564                         (bgo #546033)
1565
1566 2008-08-01  Dan Williams  <dcbw@redhat.com>
1567
1568         * libnm-glib/nm-device.c
1569                 - (proxy_get_string): util function for querying a HAL property
1570                 - (get_ancestor_device): split out from get_product_and_vendor()
1571                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
1572                         from PCI devices by querying subsys properties
1573                 - (nm_device_update_description): simplify
1574
1575 2008-08-01  Dan Williams  <dcbw@redhat.com>
1576
1577         * libnm-util/nm-setting-ip4-config.c
1578           libnm-util/nm-setting-ip4-config.h
1579                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
1580                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
1581                         settings, and they don't necessarily use DHCP.
1582
1583         * src/NetworkManagerPolicy.c
1584           src/nm-device.c
1585           system-settings/plugins/ifcfg-fedora/reader.c
1586           system-settings/plugins/ifcfg-suse/parser.c
1587                 - Fixup for method changes
1588
1589 2008-07-31  Dan Williams  <dcbw@redhat.com>
1590
1591         * src/nm-activation-request.c
1592           src/vpn-manager/nm-vpn-connection.c
1593                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
1594                         itself should be attached to the activation request or the VPN
1595                         connection, not the NMConnection object, since the call is not
1596                         expected to live as long as the NMConnection itself
1597
1598 2008-07-31  Dan Williams  <dcbw@redhat.com>
1599
1600         * src/nm-device-wifi.c
1601                 - (real_act_stage2_config): fix issue where association would continue
1602                         even though secrets were needed; 'goto out' was in wrong scope and
1603                         result of handle_auth_or_fail() should have been dumped directly to
1604                         'ret' to ensure that the association was postponed until secrets
1605                         are available
1606
1607 2008-07-31  Dan Williams  <dcbw@redhat.com>
1608
1609         * system-settings/plugins/ifcfg-fedora/plugin.c
1610           system-settings/plugins/ifcfg-fedora/reader.c
1611                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
1612                         valid NM connection
1613
1614 2008-07-29  Dan Williams  <dcbw@redhat.com>
1615
1616         * src/nm-gsm-device.c
1617                 - (automatic_registration_response, automatic_registration): recognize
1618                         denied registration and reorder responses
1619
1620 2008-07-29  Dan Williams  <dcbw@redhat.com>
1621
1622         * src/nm-serial-device.c
1623                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
1624                         time(2) is used for current time, which returns seconds, we shouldn't
1625                         be multiplying by 1000.
1626
1627 2008-07-28  Dan Williams  <dcbw@redhat.com>
1628
1629         Patch from Fabrice Bellet <fabrice@bellet.info>
1630
1631         * src/NetworkManagerSystem.c
1632                 - (route_in_same_subnet): mask addresses and compare them so that the
1633                         function actually does what it says it's going to do (rh #456685)
1634
1635 2008-07-27  Dan Williams  <dcbw@redhat.com>
1636
1637         * libnm-util/nm-setting-ip6-config.c
1638                 - (set_property): add missing break that caused routes to be overwritten
1639                         with addresses
1640
1641         * libnm-util/nm-setting-ip6-config.c
1642                 - (verify): validate routes and return GError everywhere on invalid setting
1643                 - (finalize): don't leak routes
1644                 - (set_property): add missing break that caused routes to be overwritten
1645                         with addresses
1646
1647 2008-07-27  Dan Williams  <dcbw@redhat.com>
1648
1649         * libnm-util/*
1650                 - Relicense to LGPLv2+
1651
1652 2008-07-27  Dan Williams  <dcbw@redhat.com>
1653
1654         * system-settings/plugins/ifcfg-fedora/reader.c
1655                 - (make_ip4_setting): fix parsing automatic configs
1656
1657 2008-07-27  Dan Williams  <dcbw@redhat.com>
1658
1659         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1660           src/nm-device.c
1661           src/ppp-manager/nm-ppp-manager.c
1662                 - Ensure child process gets reaped.  The child watch function may be
1663                         removed from the mainloop before the child gets killed, so we have
1664                         to make sure the child is reaped when it's told to die intentionally
1665
1666 2008-07-27  Dan Williams  <dcbw@redhat.com>
1667
1668         Patch from Roy Marples <roy@marples.name>
1669
1670         * src/dhcp-manager/nm-dhcp-dhcpcd.c
1671                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
1672
1673 2008-07-27  Dan Williams  <dcbw@redhat.com>
1674
1675         * src/nm-gsm-device.c
1676                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
1677                         Huawei devices turn echo back on after CPIN (rh #456770)
1678
1679 2008-07-24  Tambet Ingo  <tambet@gmail.com>
1680
1681         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
1682         format argument to g_set_error() call.
1683
1684         * src/backends/interface_parser.[ch]: Remove.
1685
1686         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
1687
1688 2008-07-21  Dan Williams  <dcbw@redhat.com>
1689
1690         * src/ppp-manager/nm-ppp-manager.c
1691                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
1692                         to prevent pppd from picking up some random local address from an
1693                         interface that doesn't have anything to do with the one we're
1694                         interested in (rh #455348)
1695
1696 2008-07-17  Dan Williams  <dcbw@redhat.com>
1697
1698         * libnm-util/nm-utils.c
1699                 - (string_to_utf8): general function for conversion to UTF-8 assisted
1700                         by locale
1701                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
1702                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
1703
1704 2008-07-17  Dan Williams  <dcbw@redhat.com>
1705
1706         * introspection/Makefile.am
1707           introspection/nm-device.xml
1708           introspection/nm-dhcp4-config.xml
1709                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
1710                         itself
1711         * src/nm-device-interface.c
1712           src/nm-device-interface.h
1713                 - Add the DHCP4Config property
1714
1715         * src/nm-device.c
1716                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
1717                         D-Bus clients when it changes
1718
1719         * src/nm-dhcp4-config.c
1720           src/nm-dhcp4-config.h
1721                 - Simple object to store DHCP4 options, export them over D-Bus, and
1722                         notify when they change
1723
1724         * src/dhcp-manager/nm-dhcp-manager.c
1725           src/dhcp-manager/nm-dhcp-manager.h
1726                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
1727                         filter server-returned DHCP options into an NMDHCP4Config object
1728
1729 2008-07-16  Dan Williams  <dcbw@redhat.com>
1730
1731         * introspection/nm-device.xml
1732                 - Add device state reasons
1733
1734 2008-07-16  Dan Williams  <dcbw@redhat.com>
1735
1736         Patch from Roy Marples <roy@marples.name>
1737
1738         * configure.in
1739                 - Add --with-dhcp-client option
1740
1741         * src/dhcp-manager/Makefile.am
1742                 - pass DHCP_CLIENT_PATH on compile line
1743
1744         * src/dhcp-manager/nm-dhcp-manager.c
1745           src/dhcp-manager/nm-dhcp-manager.h
1746                 - Genericize for both dhcpcd and dhclient
1747
1748         * src/dhcp-manager/nm-dhcp-dhclient.c
1749                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
1750
1751         * src/dhcp-manager/nm-dhcp-dhcpcd.c
1752                 - Implement support for dhcpcd too
1753
1754 2008-07-16  Tambet Ingo  <tambet@gmail.com>
1755
1756         * system-settings/src/nm-system-config-interface.c 
1757         (nm_system_config_interface_supports_add): Implement.
1758         (nm_system_config_interface_add_connection): Return a boolean to notify
1759         of errors.
1760
1761         * system-settings/src/nm-polkit-helpers.c: 
1762         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
1763         a separate file.
1764
1765         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
1766         Return an error when none of the plugins support add or if addition
1767         failed for some reason.
1768
1769         * system-settings/src/nm-system-config-error.h: 
1770         * system-settings/src/nm-system-config-error.c: New files, mostly moved
1771         here from nm-polkit-helpers.[ch].
1772
1773         * system-settings/src/Makefile.am: Build new files.
1774
1775         * system-settings/plugins/keyfile/reader.c 
1776         (read_array_of_array_of_uint): Make it more general so that it would
1777         work for routes as well.
1778
1779         * system-settings/plugins/keyfile/writer.c
1780         (write_array_of_array_of_uint): Ditto.
1781         Fix the netmask/prefix writing.
1782
1783         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
1784         boolean to notify errors.
1785
1786         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
1787         Return more specific error.
1788         (delete): Ditto.
1789
1790 2008-07-11  Dan Williams  <dcbw@redhat.com>
1791
1792         Modify the NMDevice::state-changed signal to include the previous state
1793         and reason. Enables the applet to provide more information why device
1794         activation failed.
1795
1796 2008-07-09  Dan Williams  <dcbw@redhat.com>
1797
1798         * callouts/Makefile.am
1799           callouts/nm-avahi-autoipd-action.c
1800           callouts/nm-avahi-autoipd.conf
1801                 - avahi-autoipd callout to send options back to NM
1802
1803         * src/autoip.c
1804           src/autoip.h
1805                 - remove
1806
1807         * src/nm-device.c
1808           src/nm-device-private.h
1809           src/nm-manager.c
1810                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
1811                         old custom stuff
1812
1813 2008-07-07  Dan Williams  <dcbw@redhat.com>
1814
1815         * system-settings/plugins/ifcfg-fedora/reader.c
1816                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
1817                         handle PREFIX too; clean up
1818
1819 2008-07-07  Dan Williams  <dcbw@redhat.com>
1820
1821         Convert to using IPv4 prefixes instead of netmasks.
1822
1823 2008-07-03  Dan Williams  <dcbw@redhat.com>
1824
1825         * libnm-util/nm-setting-ip4-config.c
1826           libnm-util/nm-setting-ip4-config.h
1827                 - Add properties for DHCP Client Identifier and DHCP Hostname
1828
1829         * src/dhcp-manager/nm-dhcp-manager.c
1830           src/dhcp-manager/nm-dhcp-manager.h
1831                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
1832                         setting as an argument to pass on to the dhclient config file
1833                         creation function
1834                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
1835                         DHCP is torn down
1836                 - (dhclient_run): punt config file handling to create_dhclient_config()
1837                 - (create_dhclient_config): create an interface-specific dhclient
1838                         config file since there may need to be interface-specific options
1839                         passed to dhclient
1840                 - (merge_dhclient_config): merge normal distro dhclient config file and
1841                         add options from the connection
1842                 - (nm_dhcp_device_new): generate the interface specific dhclient
1843                         config file path once
1844                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
1845                         dhclient config file path
1846
1847         * src/nm-device.c
1848                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
1849                         DHCP manager when starting DHCP
1850
1851 2008-07-02  Dan Williams  <dcbw@redhat.com>
1852
1853         * libnm-util/nm-setting-8021x.c
1854                 - (verify): allow forcing the PEAP label to 0
1855
1856 2008-07-02  Dan Williams  <dcbw@redhat.com>
1857
1858         * introspection/nm-active-connection.xml
1859           introspection/nm-vpn-connection.xml
1860           libnm-glib/nm-active-connection.c
1861           src/nm-activation-request.c
1862           src/nm-active-connection.h
1863           src/vpn-manager/nm-vpn-connection.c
1864                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
1865                         and libnm-glib API since sharing didn't get implemented that way
1866
1867 2008-07-02  Dan Williams  <dcbw@redhat.com>
1868
1869         * src/nm-device-wifi.c
1870                 - (can_scan): don't scan when a shared connection is activated since
1871                         that makes drivers mad (causing disconnects); also NM doesn't need
1872                         to hedge against disconnects by keeping up-to-date network topology
1873                         because the connection originates from the local machine, and thus
1874                         there should be no disconnects
1875
1876 2008-07-01  Dan Williams  <dcbw@redhat.com>
1877
1878         Fix mobile broadband username/password issues.  NM was never requesting
1879         mobile broadband secrets, nor was it passing back the username and password
1880         if it had them.
1881
1882         * marshallers/nm-marshal.list
1883                 - Add some new types for activation request objects
1884
1885         * src/nm-activation-request.c
1886           src/nm-activation-request.h
1887                 - (get_secrets_cb): pass the caller type in the signal
1888                 - (nm_act_request_request_connection_secrets): take a caller type, so
1889                         that GetSecrets() reply handlers know who asked for the secrets in
1890                         the first place; use secret hints too so the settings service can
1891                         figure out exactly what NM wants (ie, PIN or the PPP password)
1892
1893         * src/ppp-manager/nm-ppp-manager.c
1894           src/ppp-manager/nm-ppp-manager.h
1895                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
1896                         detect needed secrets when the secret could be blank, like GSM/CDMA
1897                         passwords.  So always ask for secrets, and send a hint as to what
1898                         secret we really want.
1899                 - (nm_ppp_manager_update_secrets): make function more generic by making
1900                         the device specific class figure out the username and password, and
1901                         accept an error argument to return back over D-Bus
1902
1903         * src/nm-device-wifi.c
1904                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
1905                         nm_act_request_request_connection_secrets()
1906                 - (real_connection_secrets_updated): update for 'caller' changes
1907
1908         * src/nm-device.c
1909           src/nm-device.h
1910                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
1911                         for 'caller' changes
1912
1913         * src/nm-device-ethernet.c
1914                 - (real_connection_secrets_updated): update for 'caller' changes and
1915                         move logic for getting PPPoE username and password here before
1916                         calling nm_ppp_manager_update_secrets()
1917                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
1918                         nm_act_request_request_connection_secrets()
1919
1920         * src/nm-cdma-device.c
1921                 - (real_connection_secrets_updated): pass username and password back
1922                         to the PPP manager when required
1923
1924         * src/nm-gsm-device.c
1925                 - (enter_pin): send the required secret name to the settings service
1926                 - (real_connection_secrets_updated): pass username and password back
1927                         to the PPP manager when required
1928
1929 2008-06-30  Dan Williams  <dcbw@redhat.com>
1930
1931         * src/nm-device-wifi.c
1932                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
1933
1934 2008-06-30  Dan Williams  <dcbw@redhat.com>
1935
1936         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
1937         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
1938         priv->supplicant.iface.  When either condition is false, the device should
1939         transition back to UNAVAILABLE because it cannot be used.
1940
1941         * src/nm-device-wifi.c
1942                 - (constructor): cleanup; connect to supplicant manager here since the
1943                         supplicant manager is always around
1944                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
1945                         ensure the supplicant manager is in the IDLE state
1946                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
1947                         cancel any pending scans too
1948                 - (real_bring_up): don't set up the supplicnat interface here, because
1949                         we need the supplicant interface at times when the device may not
1950                         be "up"
1951                 - (real_take_down): just remove the periodic source
1952                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
1953                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
1954                         do anything if there's no supplicant interface
1955                 - (cleanup_association_attempt): cleanup
1956                 - (supplicant_iface_state_cb_handler): request an immediate scan when
1957                         the interface enters the READY state; transition to UNAVAILABLE
1958                         state when the interface goes down because the device can't be used
1959                         without a supplicant interface
1960                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
1961                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
1962                         acquire the supplicant interface and transition to DISCONNECTED
1963                         if the radio isn't killed
1964                 - (nm_device_wifi_dispose): move most of device_cleanup() here
1965                 - (state_changed_cb): release any existing supplicant interface; if the
1966                         radio is enabled then try to acquire a new supplicant interface;
1967                         if the radio is enabled and a supplicant interface has been acquired,
1968                         we can transition to DISCONNECTED
1969                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
1970                         don't enable the radio, because HAL probably lied to us about the
1971                         killswitch being off.  If bringing the hardware up worked, then
1972                         try to grab a supplicant interface, and if that was successful,
1973                         transition to DISCONNECTED
1974
1975 2008-06-30  Dan Williams  <dcbw@redhat.com>
1976
1977         * src/supplicant-manager/nm-supplicant-interface.c
1978                 - (request_scan_results, nm_supplicant_interface_dispose,
1979                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
1980                         the id of the timeout, not a GSource
1981
1982 2008-06-30  Tambet Ingo  <tambet@gmail.com>
1983
1984         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
1985         bunch of typoes introduced by "Patch from David Cantrell 
1986         <dcantrell@redhat.com> and me".
1987
1988 2008-06-30  Tambet Ingo  <tambet@gmail.com>
1989
1990         * src/nm-serial-device.c: 
1991         * src/nm-gsm-device.c: 
1992         * src/nm-cdma-device.c: Move the pending call handling to a common location
1993         in serial device. Handle setting device state to failed in one place as well.
1994
1995 2008-06-29  Dan Williams <dcbw@redhat.com>
1996
1997         * src/nm-hal-manager.c
1998                 - Rework killswitch handling to query killswitch status immediately
1999                         when the first killswitch is added, so that rfkill state is
2000                         known as early as possible
2001                 - Also treat failure of GetPower() as rfkill when the dbus method
2002                         call times out (but not when the HAL callout returns an error)
2003
2004 2008-06-26  Dan Williams <dcbw@redhat.com>
2005
2006         Patch from David Cantrell <dcantrell@redhat.com> and me
2007
2008         * include/nm-dbus-glib-types.h
2009                 - Add IP6 address types
2010
2011         * libnm-util/Makefile.am
2012           libnm-util/nm-setting-ip6-config.c
2013           libnm-util/nm-setting-ip6-config.h
2014                 - Add IP6 settings object
2015
2016         * libnm-util/nm-connection.c
2017                 - (register_default_settings): register ip6 settings object
2018
2019         * libnm-util/nm-utils.c
2020           libnm-util/nm-utils.h
2021                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
2022                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
2023                         ip6 address conversion functions
2024         
2025 2008-06-26  Dan Williams <dcbw@redhat.com>
2026
2027         Patch from David Cantrell <dcantrell@redhat.com>
2028         
2029         * Use inet_ntop() and inet_pton() everwhere and check for errors
2030
2031 2008-06-26  Dan Williams <dcbw@redhat.com>
2032
2033         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
2034
2035 2008-06-26  Dan Williams <dcbw@redhat.com>
2036
2037         Patch from Adel Gadllah <adel.gadllah@gmail.com>
2038
2039         * src/nm-device-wifi.c
2040                 - (link_timeout_cb): don't ignore disconnects due to scanning
2041                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
2042                         a longer timeout when scanning; avoids case where supplicant can't
2043                         find the AP and just keeps scanning forever but isn't connected
2044
2045 2008-06-26  Dan Williams <dcbw@redhat.com>
2046
2047         Patch from Michael Biebl <biebl@debian.org>
2048
2049         * Clean up build system stuff
2050
2051 2008-06-23  Christian Persch  <chpe@gnome.org>
2052
2053         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
2054         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
2055         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
2056         (impl_get_object):
2057         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
2058         (impl_get_object):
2059         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
2060         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
2061         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
2062         (impl_get_object):
2063         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
2064         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
2065         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
2066         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
2067         * vpn-daemons/pptp/properties/vpnui_opt.c:
2068         (vpnui_opt_connect_signals):
2069         * vpn-daemons/pptp/properties/vpnui_opt.h:
2070         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
2071         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
2072         deprecated gtk type macros. Bug #539325.
2073
2074 2008-06-20  Dan Williams  <dcbw@redhat.com>
2075
2076         * libnm-glib/nm-vpn-plugin-ui-interface.c
2077           libnm-glib/nm-vpn-plugin-ui-interface.h
2078                 - 'validity-changed' -> 'changed' to work better with the connection
2079                         editor.  Plugin UI widgets should emit 'changed' whenever their
2080                         UI values change in a meaningful way.
2081                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
2082                         update_connection member now returns validity of the UI widget
2083
2084 2008-06-20  Tambet Ingo  <tambet@gmail.com>
2085
2086         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
2087
2088 2008-06-17  Dan Williams  <dcbw@redhat.com>
2089
2090         * libnm-glib/nm-vpn-plugin-ui-interface.c
2091           libnm-glib/nm-vpn-plugin-ui-interface.h
2092                 - Add "desc" property for longer descriptions of the VPN plugin
2093
2094 2008-06-16  Dan Williams  <dcbw@redhat.com>
2095
2096         * configure.in
2097           libnm-glib/libnm_glib_vpn.pc.in
2098                 - add a .pc file for libnm_glib_vpn
2099
2100         * libnm-glib/nm-vpn-plugin-ui-interface.c
2101           libnm-glib/nm-vpn-plugin-ui-interface.h
2102                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
2103                         rework it substantially
2104
2105 2008-06-12  Dan Williams  <dcbw@redhat.com>
2106
2107         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
2108         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
2109         returns a descriptive GError when verification fails.
2110
2111 2008-06-11  Dan Williams  <dcbw@redhat.com>
2112
2113         Patch from Tambet Ingo <tambet@gmail.com>
2114
2115         * libnm-util/nm-setting-gsm.c
2116                 - (verify): validate APN
2117
2118         * src/nm-gsm-device.c
2119                 - (manual_registration_done): start setting APN if needed
2120                 - (set_apn, set_apn_done): set the APN
2121                 - (do_dial): use the APN when dialing
2122
2123 2008-06-11  Dan Williams  <dcbw@redhat.com>
2124
2125         * src/NetworkManagerSystem.c
2126                 - (nm_system_device_set_ip4_route,
2127                    nm_system_device_replace_default_ip4_route): check for the right
2128                         return value from rtnl_route_add() to know when to add a gateway
2129                         route (from Tambet)
2130
2131 2008-06-11  Dan Williams  <dcbw@redhat.com>
2132
2133         * src/NetworkManagerPolicy.c
2134                 - do_ipt_cmd -> do_cmd
2135                 - (sharing_init): use do_cmd() instead of system()
2136
2137 2008-06-10  Dan Williams  <dcbw@redhat.com>
2138
2139         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
2140         and use "wifi" everwhere instead.
2141
2142 2008-06-10  Dan Williams  <dcbw@redhat.com>
2143
2144         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
2145
2146 2008-06-10  Dan Williams  <dcbw@redhat.com>
2147
2148         Patch from Tambet Ingo <tambet@gmail.com>
2149
2150         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
2151                 changes.
2152
2153         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
2154                 a signal to emit these changes over dbus.
2155
2156         * src/Makefile.am: Genereate nm-serial-device-glue.
2157
2158         * libnm-glib/nm-serial-device.[ch]: Implement.
2159
2160         * libnm-glib/nm-cdma-device.[ch]
2161           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
2162
2163         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
2164
2165         * introspection/nm-device-serial.xml: Implement.
2166
2167         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
2168
2169         * introspection/Makefile.am: Add nm-device-serial.xml.
2170
2171         * include/NetworkManager.h: Add a DBus interface for serial device.
2172
2173 2008-06-10  Dan Williams  <dcbw@redhat.com>
2174
2175         * configure.in
2176                 - Add TARGET_* define to config.h to distinguish distros
2177
2178         * src/dhcp-manager/nm-dhcp-manager.c
2179                 - (dhclient_run): use distro-specific path for dhclient config file
2180
2181 2008-06-09  Dan Williams  <dcbw@redhat.com>
2182
2183         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2184           src/dnsmasq-manager/nm-dnsmasq-manager.h
2185                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2186                         calculate the addresses passed to dnsmasq instead of hard-coding
2187                         them
2188
2189         * src/nm-device.c
2190                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2191                         IP addresses for shared connections to guard against shared
2192                         connection address collisions
2193                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2194                         error conditions
2195                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2196                         the dnsmasq manager
2197
2198 2008-06-09  Dan Williams  <dcbw@redhat.com>
2199
2200         * src/NetworkManagerPolicy.c
2201                 - (update_routing_and_dns): set the default connection _after_ unsetting
2202                         default on all non-default connections so that two connections can
2203                         never be default at the same time
2204                 - (device_state_changed): start and stop connection sharing when
2205                         needed
2206                 - (active_connection_default_changed): restart or stop sharing when
2207                         the default connection changes to keep shared connections always
2208                         NAT-ed through the default connection
2209                 - (check_sharing): handle activation/deactivation of shared connections
2210                 - (sharing_restart): atom-bomb approach to connection sharing until we
2211                         can use libnl; reinit all sharing when the default connection or
2212                         shared connections change
2213                 - (sharing_init, sharing_stop): evil functions that init and deinit
2214                         iptables
2215
2216 2008-06-09  Dan Williams  <dcbw@redhat.com>
2217
2218         * src/nm-activation-request.c
2219           src/nm-activation-request.h
2220                 - (nm_act_request_set_shared, nm_act_request_get_shared,
2221                    nm_act_request_get_device): new functions to facilitate connection
2222                         sharing
2223
2224 2008-06-09  Dan Williams  <dcbw@redhat.com>
2225
2226         * src/nm-device.c
2227                 - (clear_act_request): unset the 'default' property of the activation
2228                         request when clearing it to ensure the property changed signal gets
2229                         delivered and handled
2230
2231 2008-06-09  Dan Williams  <dcbw@redhat.com>
2232
2233         * libnm-glib/nm-device-802-11-wireless.c
2234                 - (access_point_removed_proxy): actually unref the AP after removing
2235                         it from the device's AP list.  Fixes refcounting bug for APs that
2236                         caused them to get mixed up in the applet's menu.
2237
2238 2008-06-09  Tambet Ingo  <tambet@gmail.com>
2239
2240         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
2241         (nm_dhcp_device_destroy): Destroy the device options hash table.
2242
2243 2008-06-06  Dan Williams <dcbw@redhat.com>
2244
2245         * system-settings/src/nm-polkit-helpers.c
2246                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
2247                         unref the context if the initialization fails; also avoid spew when
2248                         the error isn't set
2249
2250 2008-06-06  Dan Williams <dcbw@redhat.com>
2251
2252         Patch from Tambet Ingo  <tambet@gmail.com>
2253
2254         * src/NetworkManagerSystem.c
2255           src/NetworkManagerSystem.h
2256                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
2257                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
2258                 - (nm_system_device_set_ip4_route): clean up
2259                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
2260
2261         * src/nm-device.c
2262                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
2263
2264         * src/vpn-manager/nm-vpn-connection.c
2265                 - (ip_address_to_string): new function
2266                 - (print_vpn_config): use ip_address_to_string
2267                 - (merge_vpn_routes): add user-defined routes to the ip4 config
2268                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
2269
2270         * include/NetworkManagerVPN.h
2271                 - Add 'routes' key
2272
2273 2008-06-05  Dan Williams <dcbw@redhat.com>
2274
2275         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2276
2277         * test/nm-tool.c
2278                 - Show which device is the default device
2279
2280 2008-06-05  Tambet Ingo  <tambet@gmail.com>
2281
2282         Fix memory leaks.
2283
2284         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
2285         Free data returned from dbus method call.
2286
2287         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
2288         dbus_g_method_get_sender() returns a duplicated string, free it 
2289         when done.
2290         (check_polkit_privileges): Looks like policykit sometimes returns
2291         error and non-null return value, don't leak errors in that case.
2292
2293         * system-settings/src/main.c (find_plugin): Don't leak existing 
2294         plugin names.
2295         (load_stuff): Don't leak device list and list items.
2296         (have_connection_for_device): Don't leak connection list.
2297
2298         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
2299         Free the data received from g_keyfile_get_*.
2300
2301         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
2302         the key when the security object is updated.
2303
2304         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
2305         Free data returned from dbus method call.
2306         (iface_state_cb): Ditto.
2307         (add_network_cb): Ditto.
2308         (nm_supplicant_interface_add_cb): Don't make another copy of already
2309         duplicated object path.
2310         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
2311         when done.
2312
2313         * src/supplicant-manager/nm-supplicant-config.c 
2314         (ADD_STRING_LIST_VAL): Fix a memory leak.
2315
2316         * src/nm-manager.c (free_get_settings_info): Free the allocated
2317         memory slice.
2318         (list_connections_cb): Free data returned from dbus method call.
2319         (system_settings_get_unmanaged_devices_cb): Ditto.
2320
2321         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
2322
2323         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
2324         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
2325         * src/backends/shvar.c (svCloseFile): Free the duplicated content
2326         of the GList.
2327
2328         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
2329         arguments after the object is created.
2330
2331 2008-06-04  Dan Williams <dcbw@redhat.com>
2332
2333         * libnm-util/Makefile.am
2334                 - Don't distribute nm-param-spec-specialized.h
2335
2336 2008-06-02  Tambet Ingo  <tambet@gmail.com>
2337
2338         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
2339
2340         * src/nm-ip4-config.[ch]: Store the static routes as a list of
2341         NMIP4Address, update the getters and setters.
2342
2343         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2344         Use the updated NMIP4Config routes api.
2345
2346         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
2347         static routes as well.
2348
2349         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
2350         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
2351         routes api.
2352
2353 2008-05-30  Dan Williams <dcbw@redhat.com>
2354
2355         * src/named-manager/nm-named-manager.c
2356           src/named-manager/nm-named-manager.h
2357                 - Remove stale/obsolete bits for controlling bind over DBus
2358
2359 2008-05-29  Dan Williams <dcbw@redhat.com>
2360
2361         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2362           src/dnsmasq-manager/nm-dnsmasq-manager.h
2363                 - (nm_dnsmasq_manager_new): move iface argument here
2364                 - (constructor): remove, not needed
2365                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
2366                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
2367
2368         * src/nm-device.c
2369                 - (real_act_stage4_get_ip4_config,
2370                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
2371                         changes
2372
2373 2008-05-29  Dan Williams <dcbw@redhat.com>
2374
2375         * src/nm-device.c
2376                 - (dnsmasq_state_changed_cb): new function; fail the connection if
2377                         something happens to dnsmasq
2378                 - (nm_device_new_ip4_shared_config): new function; create a new
2379                         ip4-config for shared connections.  Shared connections always use a
2380                         fixed static IP address.
2381                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
2382                         autoip connections by actually using the returned ip4-config and
2383                         not leaking it
2384                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
2385                         connections
2386                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
2387                         if its active
2388
2389 2008-05-29  Dan Williams <dcbw@redhat.com>
2390
2391         * src/nm-device-802-11-wireless.c
2392                 - (real_get_best_auto_connection): auto-activate 'shared' method
2393                         connections too
2394
2395 2008-05-29  Dan Williams <dcbw@redhat.com>
2396
2397         * libnm-util/nm-setting-ip4-config.c
2398           libnm-util/nm-setting-ip4-config.h
2399                 - Add a 'shared' method to indicate that this connection should be
2400                         brought up with a DHCP and proxy DNS server to facilitate
2401                         connection sharing.
2402                 - (verify): 'shared' method doesn't allow DNS or searches either
2403
2404 2008-05-29  Dan Williams <dcbw@redhat.com>
2405
2406         * configure.in
2407           src/Makefile.am
2408           src/dnsmasq-manager/Makefile.am
2409           src/dnsmasq-manager/nm-dnsmasq-manager.c
2410           src/dnsmasq-manager/nm-dnsmasq-manager.h
2411                 - Add a dnsmasq daemon manager to facilitate connection sharing
2412
2413 2008-05-29  Dan Williams <dcbw@redhat.com>
2414
2415         * src/nm-device-private.h
2416                 - Remove unused prototypes and clean up
2417
2418         * src/nm-device.c
2419                 - Remove anything related to system_config_data, which is no longer used
2420                 - (nm_device_new_ip4_autoip_config): make static
2421
2422 2008-05-29  Tambet Ingo  <tambet@gmail.com>
2423
2424         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
2425         (file_changed): Fix a bug where suse system settings plugin didn't
2426         update the connections automatically when the files changed.
2427
2428 2008-05-28  Dan Williams  <dcbw@redhat.com>
2429
2430         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
2431
2432 2008-05-28  Dan Williams  <dcbw@redhat.com>
2433
2434         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2435
2436         * src/NetworkManagerSystem.c
2437                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
2438                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
2439                         was causing -EINVAL errors since the libnl code actually does flush
2440                         the routes on VPN interfaces now
2441
2442         * src/backends/NetworkManagerArch.c
2443           src/backends/NetworkManagerDebian.c
2444           src/backends/NetworkManagerFrugalware.c
2445           src/backends/NetworkManagerGeneric.c
2446           src/backends/NetworkManagerGentoo.c
2447           src/backends/NetworkManagerMandriva.c
2448           src/backends/NetworkManagerPaldo.c
2449           src/backends/NetworkManagerRedHat.c
2450           src/backends/NetworkManagerSlackware.c
2451           src/backends/NetworkManagerSuSE.c
2452                 - (nm_system_device_flush_ip4_routes,
2453                    nm_system_device_flush_ip4_routes_with_iface): remove
2454
2455 2008-05-28  Dan Williams  <dcbw@redhat.com>
2456
2457         * libnm-util/nm-setting-wireless.c
2458           libnm-util/nm-setting-wireless.h
2459                 - (set_property, get_property, nm_setting_wireless_class_init): add the
2460                         'adhoc-create' property, which when TRUE indicates that NM should
2461                         create this connection as an adhoc wifi network if it's not found
2462                         as an adhoc network during scanning.  Can be used to auto-create
2463                         adhoc networks when used in combination with autoconnect.
2464
2465 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2466
2467         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
2468
2469         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
2470         checked, it doesn't work on some devices.
2471
2472 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2473
2474         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
2475         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
2476
2477         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2478         Use inet_aton() everywhere to improve error detection.
2479         Don't fall back to 'dhcp_server_identifier' if the gateway is not
2480         provided.
2481
2482 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2483
2484         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
2485         Fix a typo.
2486
2487 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2488
2489         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
2490         reference counting issue.
2491
2492 2008-05-23  Dan Williams  <dcbw@redhat.com>
2493
2494         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2495
2496         * src/backends/NetworkManagerGeneric.c
2497                 - (nm_generic_enable_loopback): use libnl
2498
2499 2008-05-23  Dan Williams  <dcbw@redhat.com>
2500
2501         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2502
2503         * src/NetworkManagerSystem.h
2504           src/backends/NetworkManagerArch.c
2505           src/backends/NetworkManagerDebian.c
2506           src/backends/NetworkManagerFrugalware.c
2507           src/backends/NetworkManagerGentoo.c
2508           src/backends/NetworkManagerMandriva.c
2509           src/backends/NetworkManagerPaldo.c
2510           src/backends/NetworkManagerRedHat.c
2511           src/backends/NetworkManagerSlackware.c
2512           src/backends/NetworkManagerSuSE.c
2513                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
2514                    nm_system_flush_arp_cache): remove, unused
2515
2516         * src/backends/NetworkManagerGeneric.c
2517           src/backends/NetworkManagerGeneric.h
2518                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
2519                    nm_generic_flush_arp_cache): remove, unused
2520
2521 2008-05-23  Dan Williams  <dcbw@redhat.com>
2522
2523         * system-settings/plugins/ifcfg-fedora/reader.c
2524                 - (make_ip4_setting): honor PEERDNS setting
2525
2526 2008-05-23  Dan Williams  <dcbw@redhat.com>
2527
2528         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2529
2530         * src/NetworkManagerSystem.c
2531                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
2532                         libnl
2533
2534         * src/backends/NetworkManagerArch.c
2535           src/backends/NetworkManagerDebian.c
2536           src/backends/NetworkManagerFrugalware.c
2537           src/backends/NetworkManagerGentoo.c
2538           src/backends/NetworkManagerMandriva.c
2539           src/backends/NetworkManagerPaldo.c
2540           src/backends/NetworkManagerRedHat.c
2541           src/backends/NetworkManagerSlackware.c
2542           src/backends/NetworkManagerSuSE.c
2543                 - (nm_system_device_flush_ip4_addresses,
2544                    nm_system_device_flush_ip4_addresses_with_iface): remove
2545
2546         * src/backends/NetworkManagerGeneric.c
2547                 - (nm_generic_device_flush_ip4_addresses,
2548                    nm_generic_device_flush_ip4_addresses_with_iface): remove
2549
2550 2008-05-23  Dan Williams  <dcbw@redhat.com>
2551
2552         * src/supplicant-manager/nm-supplicant-settings-verify.c
2553                 - Switch 'bssid' from bytes to keyword type
2554                 - (validate_type_keyword): allow NULL keyword lists
2555
2556         * src/supplicant-manager/nm-supplicant-config.c
2557                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
2558                         a byte array to string form, which is what the supplicant expects
2559
2560 2008-05-23  Tambet Ingo  <tambet@gmail.com>
2561
2562         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
2563         information received from DHCP.
2564
2565         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
2566         to make it possible to ignore the DNS information (both servers and 
2567         searches) returned by DHCP server.
2568
2569         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
2570         name servers and searches if "ignore_dhcp_dns" is set.
2571
2572         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
2573         (nm_ip4_config_reset_searches): Implement.
2574
2575 2008-05-22  Dan Williams  <dcbw@redhat.com>
2576
2577         Remove anything mDNS related.  This is better done from a distro-specific
2578         dispatcher script.  Plus, any distro using avahi doesn't need to restart
2579         avahi, since avahi can handle interface changes just fine using netlink.
2580
2581         * configure.in
2582                 - Remove --with-mdns-provider
2583
2584         * src/NetworkManagerPolicy.c
2585                 - (global_state_changed): don't restart the mdns provider
2586
2587         * src/NetworkManagerSystem.h
2588           src/backends/NetworkManagerArch.c
2589           src/backends/NetworkManagerDebian.c
2590           src/backends/NetworkManagerFrugalware.c
2591           src/backends/NetworkManagerGentoo.c
2592           src/backends/NetworkManagerMandriva.c
2593           src/backends/NetworkManagerPaldo.c
2594           src/backends/NetworkManagerRedHat.c
2595           src/backends/NetworkManagerSlackware.c
2596           src/backends/NetworkManagerSuSE.c
2597                 - (nm_system_restart_mdns_responder): remove
2598
2599         * src/backends/NetworkManagerGeneric.c
2600           src/backends/NetworkManagerGeneric.h
2601                 - (nm_generic_restart_mdns_responder): remove
2602
2603 2008-05-22  Dan Williams  <dcbw@redhat.com>
2604
2605         * configure.in
2606                 - clean up crypto options; just use --with-crypto=nss or
2607                         --with-crypto=gnutls
2608
2609 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2610
2611         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
2612         anymore, do it right away.
2613
2614 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2615
2616         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
2617         serial device open when we're not connecting or connected.
2618
2619         * src/nm-cdma-device.c (device_state_changed): Ditto.
2620
2621 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2622
2623         Don't remove all devices on waking up, sync with HAL.
2624
2625         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
2626         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
2627         (hal_manager_hal_reappeared_cb): Just call sync_devices.
2628
2629 2008-05-21  Tambet Ingo  <tambet@gmail.com>
2630
2631         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
2632         If the default gateway is unreachable, add a route to gateway and try
2633         again.
2634
2635 2008-05-20  Dan Williams  <dcbw@redhat.com>
2636
2637         * system-settings/plugins/ifcfg-fedora/reader.c
2638                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
2639
2640 2008-05-19  Dan Williams  <dcbw@redhat.com>
2641
2642         * system-settings/plugins/ifcfg-fedora/reader.c
2643                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
2644                         if the ifcfg doesn't specify one (rh #446527)
2645
2646 2008-05-19  Dan Williams  <dcbw@redhat.com>
2647
2648         Make the system settings service exit when the bus goes away.  Since it's
2649         a bus-activated service, it's lifetime is limited to the bus that activated
2650         it (rh #444976).
2651
2652         * system-settings/src/Makefile.am
2653           system-settings/src/nm-system-config-hal-manager-private.h
2654                 - Remove nm-system-config-hal-manager-private.h
2655
2656         * system-settings/src/nm-system-config-hal-manager.c
2657                 - (nm_system_config_hal_manager_reinit_dbus,
2658                    nm_system_config_hal_manager_deinit_dbus): remove
2659
2660         * system-settings/src/main.c
2661                 - (dbus_reconnect): remove
2662                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
2663                 - (destroy_cb): just quit when the bus goes away
2664                 - (start_dbus_service, dbus_init): simplify
2665                 - (main): destroy the wired devices hash table after destroying
2666                         the HAL manager so we don't have to disconnect signals from the
2667                         HAL manager
2668
2669 2008-05-15  Tambet Ingo  <tambet@gmail.com>
2670
2671         Move crypto functions from nm-applet to libnm-util.
2672
2673         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
2674         (nm_setting_802_1x_set_client_cert)
2675         (nm_setting_802_1x_set_phase2_ca_cert)
2676         (nm_setting_802_1x_set_phase2_client_cert)
2677         (nm_setting_802_1x_set_private_key)
2678         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
2679         file (or private key and it's password), read the certificate data.
2680
2681         * libnm-util/crypto_nss.c: 
2682         * libnm-util/crypto_gnutls.c: 
2683         * libnm-util/crypto.[ch]: Move here from nm-applet.
2684
2685         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
2686
2687         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
2688         Imlement WPA-EAP configuration reading from sysconfig.
2689
2690 2008-05-16  Dan Williams  <dcbw@redhat.com>
2691
2692         * src/nm-device-802-11-wireless.c
2693                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
2694                         wireless
2695
2696 2008-05-14  Dan Williams  <dcbw@redhat.com>
2697
2698         Fix Linus' bug in rh #134886
2699
2700         * src/nm-device-802-3-ethernet.c
2701                 - (constructor): request initial carrier state
2702
2703         * src/nm-netlink-monitor.c
2704                 - (nm_netlink_monitor_request_status): schedule emission of carrier
2705                         signals after refilling the link cache.  Because the refill is a 
2706                         synchronous operation, the normal message hander won't get called
2707                         since libnl has already consumed the messages.
2708                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
2709
2710 2008-05-14  Dan Williams  <dcbw@redhat.com>
2711
2712         * src/NetworkManagerSystem.c
2713                 - (nm_system_device_is_up_with_iface): clean up
2714
2715 2008-05-13  Dan Williams  <dcbw@redhat.com>
2716
2717         Fix refcounting issues over sleep/wake when a VPN connection was active that
2718         caused NM to try registering an object path for a device upon wake that was
2719         the same as an already registered object path.
2720
2721         * src/nm-device.c
2722                 - (nm_device_take_down): properly handle cases where the device is
2723                         no longer active but was just active, and therefore must be
2724                         deactivated.  When a device moves to unmanaged mode, this function
2725                         previously would not deactivate the device, because the state was
2726                         already unmanaged by the time this function was called.
2727
2728         * src/vpn-manager/nm-vpn-connection.c
2729                 - (device_state_changed): properly handle multiple devices states in
2730                         which the device is now deactivated.  Code previously didn't handle
2731                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
2732                         UNMANAGED states.
2733
2734 2008-05-13  Dan Williams  <dcbw@redhat.com>
2735
2736         * src/nm-device-private.h
2737           src/nm-device.c
2738                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
2739
2740         * src/nm-device-802-11-wireless.c
2741                 - (nm_device_802_11_wireless_set_enabled): take devices up
2742                         and down as appropriate for the rfkill state
2743
2744 2008-05-13  Dan Williams  <dcbw@redhat.com>
2745
2746         * marshallers/nm-marshal.list
2747                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
2748
2749         * system-settings/plugins/ifcfg-fedora/Makefile.am
2750           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
2751           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
2752                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
2753                         events.  Solely for use watching ifcfg files to pick up changes
2754                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
2755
2756         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
2757                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
2758                         file contents change
2759                 - (finalize): clean up inotify watches
2760                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
2761                         and the connection ifcfg for changes on their hardlinks
2762                 - (files_changed_cb): proxy the changed signal back out to listeners
2763
2764         * system-settings/plugins/ifcfg-fedora/plugin.c
2765                 - (dir_changed): 
2766                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
2767                         changes
2768                 - (read_one_connection): connect to change signals on the new connection
2769                 - (dir_changed, connection_changed_handler,
2770                    handle_connection_remove_or_new): break out connection change
2771                         handling and connection new/remove handling so it can be used from
2772                         both the GFileMonitor callback and the NMIfcfgConnection changed
2773                         signals
2774
2775         * system-settings/plugins/ifcfg-fedora/reader.c
2776           system-settings/plugins/ifcfg-fedora/reader.h
2777                 - (connection_from_file): return the keyfile path the connection would use
2778
2779 2008-05-13  Tambet Ingo  <tambet@gmail.com>
2780
2781         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
2782         single PolKitContext which is shared by all. PolKitContext::unref leaks
2783         just about everything, including all open file descriptiors and results
2784         in 99% cpu usage when data arrives to any of the fds that don't belong
2785         to any context anymore.
2786
2787 2008-05-12  Dan Williams  <dcbw@redhat.com>
2788
2789         * gfilemonitor/glocaldirectorymonitor.c
2790           gfilemonitor/glocaldirectorymonitor.h
2791                 - (g_local_directory_monitor_constructor): actually subscribe to the
2792                         watch
2793                 - (_g_local_directory_monitor_new): ensure that inotify is started up
2794
2795         * gfilemonitor/glocalfilemonitor.c
2796           gfilemonitor/glocalfilemonitor.h
2797                 - (g_local_file_monitor_constructor): actually subscribe to the watch
2798                 - (_g_local_file_monitor_new): ensure that inotify is started up
2799
2800 2008-05-11  Dan Williams  <dcbw@redhat.com>
2801
2802         * configure.in
2803                 - record PolicyKit version
2804
2805         * system-settings/src/nm-polkit-helpers.c
2806                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
2807                         with PolicyKit <= 0.6
2808
2809 2008-05-11  Dan Williams  <dcbw@redhat.com>
2810
2811         Update Fedora system-settings plugin to support latest API and use
2812         GFileMonitor rather than home-rolled inotify code.
2813
2814         * system-settings/plugins/ifcfg-fedora/Makefile.am
2815           system-settings/plugins/ifcfg-fedora/common.h
2816           system-settings/plugins/ifcfg-fedora/plugin.c
2817                 - Update to latest system settings plugin API; use GIO instead of
2818                         custom inotify code; use NMIfcfgConnection objects instead of
2819                         ConnectionData structures tacked onto NMConnection objects
2820
2821         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
2822           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
2823                 - Implement an NMExportedConnection subclass mapping ifcfg files to
2824                         connections
2825
2826         * system-settings/plugins/ifcfg-fedora/reader.c
2827           system-settings/plugins/ifcfg-fedora/reader.h
2828                 - Move ifcfg parsing bits here from parser.c
2829
2830         * system-settings/plugins/ifcfg-fedora/parser.c
2831           system-settings/plugins/ifcfg-fedora/parser.h
2832                 - Remove; most code moved to reader.c
2833
2834 2008-05-11  Dan Williams  <dcbw@redhat.com>
2835
2836         * configure.in
2837           Makefile.am
2838           gfilemonitor/*
2839                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
2840                         implementation, so that the same change monitoring code can be used
2841                         on systems without glib-2.14 (like Fedora 8)
2842
2843         * system-settings/plugins/keyfile/Makefile.am
2844           system-settings/plugins/keyfile/plugin.c
2845           system-settings/plugins/ifcfg-suse/Makefile.am
2846           system-settings/plugins/ifcfg-suse/plugin.c
2847                 - Use private gfilemonitor code if GIO is not present
2848
2849 2008-05-09  Tambet Ingo  <tambet@gmail.com>
2850
2851         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
2852         NMExportedConnection's 'update' and 'delete' and return error with
2853         descriptive message.
2854
2855 2008-05-08  Dan Williams  <dcbw@redhat.com>
2856
2857         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2858
2859         * src/nm-gsm-device.c
2860           src/nm-cdma-device.c
2861                 - (real_get_best_auto_connection): implement; allow autoconnection
2862                         to GSM & CDMA devices
2863
2864 2008-05-08  Tambet Ingo  <tambet@gmail.com>
2865
2866         Use PolicyKit to authorize the system settings' AddConnection method
2867         and the system settings connections' Update and Delete methods.
2868         
2869         * libnm-glib/nm-settings.c (impl_exported_connection_update)
2870         (impl_exported_connection_delete, nm_exported_connection_update)
2871         (nm_exported_connection_delete): Return boolean and fill GError
2872         to notify the callers of the reasons why it might have failed.
2873
2874         * libnm-glib/nm-dbus-settings-system.c
2875         (nm_dbus_settings_system_add_connection): Return the error from dbus
2876         call so that the callers can see why it failed.
2877
2878         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
2879         signatures.
2880
2881         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
2882
2883         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
2884         abstract base class that checks PolicyKit permissions.
2885
2886         * system-settings/src/dbus-settings.c:
2887         (impl_settings_add_connection): Check the policy before carring out
2888         the request.
2889
2890         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
2891         Inherit from NMSysconfigConnection, check the policies before
2892         allowing updating or removing.
2893
2894         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
2895         Inherit from NMSysconfigConnection.
2896
2897         * introspection/nm-exported-connection.xml: Annotate "Update" and 
2898         "Delete" methods with async flag so that the implementations can get
2899         access to DBusGMethodInvocation.
2900
2901         * system-settings/src/dbus-settings.c 
2902         (settings_add_connection_check_privileges): Implement.
2903         (impl_settings_add_connection): Check the privileges before adding a new
2904         connection. Improve error reporting.
2905
2906         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
2907         async so that the implementation can access DBusGMethodInvocation.
2908
2909         * configure.in: Check for PolicyKit.
2910
2911         * policy/org.freedesktop.network-manager-settings.system.policy: 
2912         New file.
2913
2914         * policy/Makefile.am: Install the policy file.
2915
2916         * configure.in: Add 'policy' subdir.
2917
2918 2008-05-08  Tambet Ingo  <tambet@gmail.com>
2919
2920         Rewrite the suse system settings plugin.
2921
2922         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
2923
2924         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
2925
2926         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
2927
2928         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
2929
2930         * system-settings/src/dbus-settings.c: Fix connection reference counting.
2931
2932         * system-settings/src/main.c (load_plugins): Improve error reporting.
2933
2934         * system-settings/src/sha1.[ch] Add.
2935
2936         * system-settings/src/Makefile.am: Add sha1[ch] to build.
2937
2938 2008-05-07  Dan Williams  <dcbw@redhat.com>
2939
2940         * system-settings/plugins/keyfile/reader.c
2941                 - (read_one_setting_value): handle IP address items separately
2942                 - (read_array_of_uint): read IPv4 DNS option as a string array
2943                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
2944                         array
2945
2946         * system-settings/plugins/keyfile/writer.c
2947                 - (write_setting_value): handle IP address items separately
2948                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
2949                         not an array of uint, so that it's user-editable
2950                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
2951                         arrays, so they are user-editable
2952
2953 2008-05-07  Dan Williams  <dcbw@redhat.com>
2954
2955         * system-settings/plugins/keyfile/Makefile.am
2956                 - Change location of the keyfile plugin settings to
2957                         /etc/NetworkManager/system-connections
2958
2959 2008-05-05  Tambet Ingo  <tambet@gmail.com>
2960
2961         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
2962
2963         * system-settings/plugins/keyfile/plugin.c: Work with
2964         NMKeyfileConnections.
2965
2966         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
2967         Plugins are supposed to return NMExportedConnections now and handle the
2968         updated(), removed(), and GetSecrets().
2969         Store the internal list of connections in hash table to make it easier
2970         to find duplicates.
2971
2972 2008-05-07  Tambet Ingo  <tambet@gmail.com>
2973
2974         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
2975         for multiple IP addresses.
2976
2977 2008-05-07  Tambet Ingo  <tambet@gmail.com>
2978
2979         Patch from André Lemos.
2980
2981         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
2982         corruption.
2983
2984 2008-05-06  Dan Williams  <dcbw@redhat.com>
2985
2986         * src/dhcp-manager/nm-dhcp-manager.c
2987                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
2988                         NMIP4Config to support multiple IP addresses
2989
2990         * src/NetworkManagerUtils.c
2991                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
2992
2993         * src/nm-ip4-config.c
2994           src/nm-ip4-config.h
2995                 - Store a list of IPv4 address/netmask/gateway tuples
2996                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
2997                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
2998                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
2999                    nm_ip4_config_set_address): remove
3000                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
3001                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
3002                         new functions; handle multiple IPv4 addresses
3003
3004         * src/nm-device.c
3005           src/ppp-manager/nm-ppp-manager.c
3006           src/vpn-manager/nm-vpn-connection.c
3007           src/NetworkManagerPolicy.c
3008           test/nm-tool.c
3009           libnm-glib/libnm-glib-test.c
3010                 - update for changes to NMIP4Config for multiple IPv4 addresses
3011
3012         * src/NetworkManagerSystem.c
3013                 - (nm_system_device_set_ip4_route): don't add the route if any address
3014                         is on the same subnet as the destination
3015                 - (check_one_address): ignore the exact match, just match family and
3016                         interface index
3017                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
3018                         an interface
3019                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
3020                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
3021
3022         * introspection/nm-ip4-config.xml
3023                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
3024                 - Add 'addresses' property which is an array of (uuu) tuples of
3025                         address/netmask/gateway
3026
3027         * libnm-util/nm-setting-ip4-config.c
3028                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
3029
3030         * libnm-glib/nm-ip4-config.c
3031           libnm-glib/nm-ip4-config.h
3032                 - Handle D-Bus interface changes to support multiple IP addresses
3033
3034 2008-05-06  Dan Williams  <dcbw@redhat.com>
3035
3036         * libnm-util/nm-utils.c
3037           libnm-util/nm-utils.h
3038                 - (nm_utils_ip4_addresses_from_gvalue,
3039                    nm_utils_ip4_addresses_to_gvalue): new functions
3040
3041 2008-05-06  Tambet Ingo  <tambet@gmail.com>
3042
3043         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
3044         the returned connection paths.
3045
3046 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3047
3048         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
3049         "PropertiesChanged" signal signature.
3050
3051         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
3052         defined in nm-dbus-glib-types.h.
3053         Don't register the connection on dbus, we're a proxy class to 
3054         communicate with an already registered connection over dbus.
3055
3056 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3057
3058         Implement new subclasses of NMSettings and NMExportedConnection to make
3059         it easier for the applet to access and modify system settings.
3060
3061         * libnm-glib/nm-dbus-connection.[ch]:
3062         * libnm-glib/nm-dbus-settings.[ch]:
3063         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
3064
3065         * libnm-glib/Makefile.am: Add the new files to build, generate some more
3066         bindings and glue.
3067
3068         * include/NetworkManager.h: Define the system settings DBus interface.
3069
3070 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3071
3072         Implement additional C API for exported connections to make them identical
3073         with the DBus API. Change the (list_connections) virtual function to be
3074         more usable from C - instead of requiring implementers to return a GPtrArray
3075         of dbus paths, return a list of connections.
3076
3077         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
3078         (nm_settings_list_connections):
3079         (nm_exported_connection_new):
3080         (nm_exported_connection_update):
3081         (nm_exported_connection_delete): Implement.
3082
3083         (impl_settings_list_connections):
3084         (impl_exported_connection_update):
3085         (impl_exported_connection_delete): Use the new public functions to make 
3086         sure the C and dbus interfaces stay in sync.
3087
3088         * system-settings/src/dbus-settings.c (list_connections): Return a list of
3089         connections.
3090
3091 2008-05-02  Dan Williams  <dcbw@redhat.com>
3092
3093         * system-settings/plugins/ifcfg-fedora/plugin.c
3094                 - (dispose): use right unref call on the DBusGConnection
3095
3096 2008-05-02  Dan Williams  <dcbw@redhat.com>
3097
3098         * src/nm-serial-device.c
3099                 - (find_terminator): don't compare the whole line, just the size of the
3100                         terminator, since some modems put stuff after the terminator, like
3101                         "CONNECT 9600"
3102
3103 2008-05-01  Dan Williams  <dcbw@redhat.com>
3104
3105         Patch from Michael Biebl <biebl@debian.org>
3106
3107         * callouts/Makefile.am
3108           callouts/org.freedesktop.nm_dispatcher.service.in
3109           system-settings/src/Makefile.am
3110           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
3111                 - use the right install location for dbus-activated stuff
3112
3113 2008-04-30  Dan Williams  <dcbw@redhat.com>
3114
3115         * src/nm-gsm-device.c
3116                 - (enter_pin): fix setting name passed to applets when asking for a GSM
3117                         PIN or PUK
3118
3119 2008-04-30  Dan Williams  <dcbw@redhat.com>
3120
3121         * src/nm-manager.c
3122                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
3123
3124 2008-04-30  Dan Williams  <dcbw@redhat.com>
3125
3126         * src/nm-device-802-3-ethernet.c
3127           src/nm-device-802-11-wireless.c
3128                 - (real_is_up): return true instead of chaining up to unimplemented
3129                         parent method
3130
3131 2008-04-30  Dan Williams  <dcbw@redhat.com>
3132
3133         * src/NetworkManagerSystem.c
3134           src/NetworkManagerSystem.h
3135                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
3136                         functions to check device flags for IFF_UP
3137
3138         * src/nm-serial-device.c
3139                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
3140                         implement is_up
3141
3142         * src/nm-device-802-3-ethernet.c
3143           src/nm-device-802-11-wireless.c
3144                 - (real_hw_is_up): call nm_system_device_is_up()
3145
3146         * src/nm-device.c
3147                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
3148                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
3149                         does not implement
3150
3151 2008-04-29  Dan Williams  <dcbw@redhat.com>
3152
3153         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
3154
3155         * marshallers/nm-marshal.list
3156                 - Add marshaller
3157
3158         * src/NetworkManager.c
3159                 - (main): let the NMManager handle the NMHalManager
3160
3161         * src/nm-hal-manager.c
3162           src/nm-hal-manager.h
3163                 - convert to a GObject, and emit singals when stuff changes.  Let the
3164                         NMManager handle the signals, instead of the NMHalManager calling
3165                         into the NMManager.  
3166
3167         * src/nm-manager.c
3168           src/nm-manager.h
3169                 - (remove_one_device): consolidate device removals here
3170                 - (dispose): use remove_one_device()
3171                 - (nm_manager_get_device_by_udi): make static
3172                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
3173                         manager for devices at startup or wakeup time
3174                 - (nm_manager_new): create and monitor the HAL manager
3175                 - (hal_manager_udi_added_cb): new function; do what
3176                         nm_manager_add_device() used to do when signalled by the hal manager
3177                 - (hal_manager_udi_removed_cb): new function; do what
3178                         nm_manager_remove_device() used to do when signalled by the hal
3179                         manager
3180                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
3181                         hal manager
3182                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
3183                         in our device list that aren't known to HAL
3184                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
3185                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3186                         commits ago
3187                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3188                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3189                    nm_manager_wireless_hardware_enabled,
3190                    nm_manager_set_wireless_hardware_enabled): remove, unused
3191
3192 2008-04-28  Dan Williams  <dcbw@redhat.com>
3193
3194         Fix the device up/down ambiguities.  Up/down state used to be a
3195         conglomeration of hardware state (IFF_UP) and any device-specific things
3196         (supplicant, periodic timers, etc) that the device used to indicate
3197         readiness.  Unfortunately, if the hardware was already IFF_UP for some
3198         reason, then the device specific stuff wouldn't get run, and the device
3199         would be stuck.
3200
3201         * src/nm-device.c
3202           src/nm-device.h
3203                 - Create hw_is_up, hw_bring_up, and hw_take_down
3204                 - Rename bring_down -> take_down
3205                 - (real_hw_is_up): check interface flags for IFF_UP
3206                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
3207                 - (nm_device_is_up): make static; only used locally
3208                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
3209                         if the device is already up; if the device isn't up, bring it up
3210                 - (nm_device_hw_take_down): just take down hardware
3211                 - (nm_device_bring_up): bring up HW first, then device specific stuff
3212                 - (nm_device_take_down): always deactivate device when called; always
3213                         try to take hardware down too
3214                 - (nm_device_state_changed): take device down when entering unmanaged
3215                         state from a higher state
3216
3217         * src/nm-device-802-11-wireless.c
3218                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3219                         check IFF_UP really
3220                 - (real_take_down, supplicant_iface_state_cb_handler, 
3221                    supplicant_iface_connection_state_cb_handler,
3222                    supplicant_mgr_state_cb_handler): fix some messages
3223
3224         * src/nm-device-802-3-ethernet.c
3225                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3226                         check IFF_UP really
3227
3228 2008-04-28  Dan Williams  <dcbw@redhat.com>
3229
3230         * src/nm-manager.c
3231           src/nm-manager.h
3232                 - (nm_manager_error_get_type): add new error
3233                 - (nm_manager_remove_device): don't bother taking down the device here,
3234                         the state change from unmanaging the device will do it
3235                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
3236                         uses it; when going to sleep, just unmanage the device instead of
3237                         taking it down, because stuff will cleaned up correctly when the
3238                         device gets unmanaged
3239
3240 2008-04-28  Dan Williams  <dcbw@redhat.com>
3241
3242         * src/nm-hal-manager.c
3243                 - (add_initial_devices): convert to a GSourceFunc prototype
3244                 - (nm_manager_state_changed): when coming out of sleep, punt the
3245                         device re-addition to an idle handler to let D-Bus events go out
3246                         first, fixing a potential dbus-glib assert if the old device was
3247                         not yet disposed (due to references held while emitting the D-Bus
3248                         signals) but the new device was found, because the mainloop didn't
3249                         run between signal emission and add_initial_devices()
3250
3251 2008-04-27  Dan Williams  <dcbw@redhat.com>
3252
3253         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3254
3255         * initscript/paldo/NetworkManager.in
3256           initscript/SUSE/networkmanager.in
3257                 - Remove last bits of dhcdbd
3258
3259 2008-04-27  Dan Williams  <dcbw@redhat.com>
3260
3261         * src/nm-device-802-11-wireless.c
3262                 - (link_timeout_cb): don't ask for secrets when disconnected during
3263                         association/authentication phase, drivers are still just too crappy
3264
3265 2008-04-27  Dan Williams  <dcbw@redhat.com>
3266
3267         * Makefile.am
3268           configure.in
3269           dispatcher-daemon/Makefile.am
3270           dispatcher-daemon/NetworkManagerDispatcher.c
3271           initscript/Arch/Makefile.am
3272           initscript/Arch/networkmanager-dispatcher.in
3273           initscript/Gentoo/Makefile.am
3274           initscript/Gentoo/NetworkManagerDispatcher.in
3275           initscript/Mandriva/Makefile.am
3276           initscript/Mandriva/networkmanagerdispatcher.in
3277           initscript/RedHat/Makefile.am
3278           initscript/RedHat/NetworkManagerDispatcher.in
3279           initscript/SUSE/Makefile.am
3280           initscript/SUSE/networkmanager-dispatcher.in
3281           initscript/Slackware/Makefile.am
3282           initscript/Slackware/rc.networkmanager-dispatcher.in
3283           initscript/paldo/Makefile.am
3284           initscript/paldo/NetworkManagerDispatcher.in
3285           man/Makefile.am
3286           man/NetworkManagerDispatcher.8.in
3287                 - Remove the dispatcher daemon
3288
3289 2008-04-27  Dan Williams  <dcbw@redhat.com>
3290
3291         * callouts/Makefile.am
3292           callouts/nm-dispatcher-action.c
3293           callouts/nm-dispatcher-action.h
3294           callouts/nm-dispatcher.conf
3295           callouts/nm-dispatcher.xml
3296           callouts/org.freedesktop.nm_dispatcher.service
3297                 - Re-implement the dispatcher as a system-bus activated service that
3298                         NM calls on-demand, rather than an always running daemon
3299
3300         * src/Makefile.am
3301                 - Add callouts dir to includes to pick up dispatcher defines
3302
3303         * src/nm-device.c
3304                 - (nm_device_state_changed): call dispatcher on device activated/
3305                         deactivated
3306
3307         * src/vpn-manager/nm-vpn-connection.c
3308                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
3309                         go up and down
3310
3311         * src/NetworkManagerUtils.c
3312           src/NetworkManagerUtils.h
3313                 - (nm_utils_call_dispatcher): helper to call dispatcher
3314
3315 2008-04-27  Dan Williams  <dcbw@redhat.com>
3316
3317         * src/NetworkManagerUtils.c
3318           src/NetworkManagerUtils.h
3319                 - remove unneeded includes
3320                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
3321                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
3322                    nm_timeval_cmp, nm_timeval_add): remove, unused
3323                 - clean up formatting
3324                 - (nm_spawn_process): de-uglify
3325
3326         * src/nm-device-802-11-wireless.c
3327                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
3328
3329 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
3330
3331         * initscript/Gentoo/NetworkManager.in:
3332                 Fix for starting the daemon.
3333
3334 2008-04-25  Dan Williams  <dcbw@redhat.com>
3335
3336         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3337
3338         * src/NetworkManagerSystem.c
3339                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
3340
3341 2008-04-25  Dan Williams  <dcbw@redhat.com>
3342
3343         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3344
3345         * src/NetworkManagerSystem.c
3346                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
3347                         implementation of nm_system_device_replace_default_route()
3348
3349         * src/NetworkManagerPolicy.c
3350                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
3351
3352         * src/backends/NetworkManagerArch.c
3353           src/backends/NetworkManagerDebian.c
3354           src/backends/NetworkManagerFrugalware.c
3355           src/backends/NetworkManagerGeneric.c
3356           src/backends/NetworkManagerGeneric.h
3357           src/backends/NetworkManagerGentoo.c
3358           src/backends/NetworkManagerMandriva.c
3359           src/backends/NetworkManagerPaldo.c
3360           src/backends/NetworkManagerRedHat.c
3361           src/backends/NetworkManagerSlackware.c
3362           src/backends/NetworkManagerSuSE.c
3363                 - (nm_system_device_replace_default_route): remove
3364
3365 2008-04-25  Dan Williams  <dcbw@redhat.com>
3366
3367         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3368
3369         * src/NetworkManagerSystem.c
3370                 - (validate_ip4_route): remove; use nl_addr_parse() instead
3371                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
3372                         replace nm_system_device_add_route_via_device_with_iface() in the
3373                         backends
3374
3375         * src/backends/NetworkManagerArch.c
3376           src/backends/NetworkManagerDebian.c
3377           src/backends/NetworkManagerFrugalware.c
3378           src/backends/NetworkManagerGeneric.c
3379           src/backends/NetworkManagerGeneric.h
3380           src/backends/NetworkManagerGentoo.c
3381           src/backends/NetworkManagerMandriva.c
3382           src/backends/NetworkManagerPaldo.c
3383           src/backends/NetworkManagerRedHat.c
3384           src/backends/NetworkManagerSlackware.c
3385           src/backends/NetworkManagerSuSE.c
3386                 - Remove nm_system_device_add_route_via_device_with_iface()
3387
3388 2008-04-25  Dan Williams  <dcbw@redhat.com>
3389
3390         * system-settings/plugins/ifcfg-fedora/parser.c
3391                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
3392
3393 2008-04-24  Dan Williams  <dcbw@redhat.com>
3394
3395         * dispatcher-daemon/NetworkManagerDispatcher.c
3396                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
3397
3398 2008-04-24  Dan Williams  <dcbw@redhat.com>
3399
3400         * initscript/RedHat/NetworkManager.in
3401           initscript/RedHat/NetworkManagerDispatcher.in
3402                 - Be active at runlevel 2
3403                 - Adjust priorities earlier
3404
3405 2008-04-22  Dan Williams  <dcbw@redhat.com>
3406
3407         * src/NetworkManagerPolicy.c
3408                 - (update_routing_and_dns): when checking for a gateway, look at the
3409                         composite IP4 config, not the connection's ip4-config setting, which
3410                         doesn't include DHCP-returned information
3411
3412 2008-04-22  Tambet Ingo  <tambet@gmail.com>
3413
3414         Implement GKeyFile system settings plugin.
3415         Implement writing system settings (currently supported only by GKeyFile plugin).
3416
3417         * system-settings/src/main.c: 
3418         * system-settings/src/dbus-settings.c: Move the communication with plugins
3419         from main.c to dbus-settings.c. Makes it possible to talk to all registered
3420         plugins for adding/updating/removing connections.
3421
3422         * system-settings/src/nm-system-config-interface.c
3423         (nm_system_config_interface_add_connection): Implement
3424         (nm_system_config_interface_update_connection): Implement.
3425         (nm_system_config_interface_remove_connection): Implement.
3426
3427         * system-settings/plugins/keyfile/Makefile.am:
3428         * system-settings/plugins/keyfile/plugin.[ch]:
3429         * system-settings/plugins/keyfile/writer.[ch]:
3430         * system-settings/plugins/keyfile/reader.[ch]: Implement.
3431
3432         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
3433
3434         * configure.in: Generate GKeyFile Makefile.
3435
3436         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
3437         corruption, need to duplicate the returned string.
3438         (impl_exported_connection_update): Implement.
3439         (impl_exported_connection_delete): Implement.
3440
3441         * introspection/nm-settings-system.xml: Add "AddConnection" method.
3442
3443         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
3444
3445 2008-04-22  Dan Williams  <dcbw@redhat.com>
3446
3447         Patch from Charles R. Anderson (cra@wpi.edu)
3448
3449         * src/NetworkManagerPolicy.c
3450                 - (update_routing_and_dns): don't select devices without a gateway
3451                         as having the default route (rh #437338)
3452
3453 2008-04-21  Dan Williams  <dcbw@redhat.com>
3454
3455         * src/nm-activation-request.c
3456           src/nm-activation-request.h
3457                 - (dispose): ensure to disconnect from the device's state-changed signal
3458                         when appropriate so the signal doesn't get handled by an already
3459                         disposed NMActRequest
3460                 - (device_state_changed): update is_default here too just to make sure
3461                         default is only True when the child device is activated
3462                 - (nm_act_request_set_default): new function
3463
3464         * src/NetworkManagerPolicy.c
3465                 - (update_routing_and_dns): set 'default' on the active connection which
3466                         has the default route and DNS
3467
3468 2008-04-21  Dan Williams  <dcbw@redhat.com>
3469
3470         * src/NetworkManagerPolicy.c
3471                 - (device_state_changed): update routing and DNS when a device goes
3472                         into unmanaged or unavailable states too (like rfkill or carrier loss)
3473
3474 2008-04-21  Dan Williams  <dcbw@redhat.com>
3475
3476         * include/NetworkManager.h
3477                 - Add NMActiveConnectionState enum
3478
3479         * introspection/nm-active-connection.xml
3480           introspection/nm-vpn-connection.xml
3481                 - Add 'State' property for overall active connection state
3482                 - Add 'Default' property, when True means this active connection
3483                         has the default route
3484                 - Add PropertyChanged signals so changes actually go out over the bus
3485
3486         * src/nm-active-connection.h
3487                 - Add defines for State & Default properties
3488
3489         * src/nm-activation-request.c
3490                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
3491                         signal to determine active connection state
3492
3493         * src/vpn-manager/nm-vpn-connection.c
3494           src/vpn-manager/nm-vpn-connection.h
3495           src/vpn-manager/nm-vpn-manager.c
3496           src/vpn-manager/nm-vpn-service.c
3497                 - Rename old 'state' to 'vpn-state'
3498                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
3499                 - Add 'state' and 'default' properties, hook up to the vpn connection's
3500                         'vpn-state-changed' signal
3501
3502         * libnm-glib/nm-active-connection.c
3503           libnm-glib/nm-active-connection.h
3504                 - Add new 'state' and 'default' properties and accessors
3505
3506         * libnm-glib/nm-vpn-connection.c
3507           libnm-glib/nm-vpn-connection.h
3508                 - Rename old 'state' property to 'vpn-state'
3509                 - Add new 'state' and 'default' properties and accessors
3510
3511 2008-04-21  Dan Williams  <dcbw@redhat.com>
3512
3513         * src/nm-ip4-config.c
3514                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
3515                         not specified (rh #443474)
3516
3517 2008-04-20  Dan Williams  <dcbw@redhat.com>
3518
3519         * src/NetworkManagerUtils.c
3520           src/NetworkManagerUtils.h
3521                 - (nm_utils_merge_ip4_config): new function; merge settings from an
3522                         NMSettingIP4Config to an NMIP4Config object
3523
3524         * src/nm-device.c
3525                 - (merge_ip4_config): move to NetworkManagerUtils.c
3526
3527         * src/vpn-manager/nm-vpn-connection.c
3528                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
3529                         too
3530
3531 2008-04-18  Dan Williams  <dcbw@redhat.com>
3532
3533         * libnm-util/nm-setting-ppp.c
3534           libnm-util/nm-setting-ppp.h
3535                 - Add 'no-vj-comp' option for TCP header compression
3536                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
3537                         uint32
3538
3539 2008-04-18  Dan Williams  <dcbw@redhat.com>
3540
3541         * libnm-util/nm-setting-ppp.c
3542           libnm-util/nm-setting-ppp.h
3543           src/ppp-manager/nm-ppp-manager.c
3544                 - Add 'refuse-pap' and 'refuse-mschapv2' options
3545
3546 2008-04-18  Dan Williams  <dcbw@redhat.com>
3547
3548         * libnm-util/nm-setting-ppp.c
3549           libnm-util/nm-setting-ppp.h
3550           src/ppp-manager/nm-ppp-manager.c
3551                 - Remove the 'usepeerdns' option and always request DNS servers from
3552                         the PPP server; the connection chooses to use/override/ignore the
3553                         DNS servers returned from the PPP server
3554
3555 2008-04-18  Dan Williams  <dcbw@redhat.com>
3556
3557         * libnm-util/nm-setting-ppp.c
3558           libnm-util/nm-setting-ppp.h
3559           src/ppp-manager/nm-ppp-manager.c
3560                 - Remove the 'require-mppc' option, because pppd doesn't support it and
3561                         it seems to have been an erroneous addition to the PPTP plugin in
3562                         the first place (from which the ppp-manager is derived)
3563
3564 2008-04-17  Dan Williams  <dcbw@redhat.com>
3565
3566         * libnm-util/nm-setting-pppoe.c
3567                 - (verify): require a PPP setting too
3568
3569         * src/ppp-manager/nm-ppp-manager.c
3570                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
3571                         segfaulting
3572
3573 2008-04-17  Dan Williams  <dcbw@redhat.com>
3574
3575         * src/nm-device.c
3576                 - (nm_device_state_changed): do deactivation and and promotion to
3577                         unavailable here, so that the device gets cleaned up before the
3578                         manager runs and starts emitting signals; do the
3579                         FAILED->DISCONNECTED transition from an idle handler rather than
3580                         immediately to guard against recursion
3581                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
3582                         FAILED->DISCONNECTED handler if it's scheduled
3583
3584 2008-04-17  Dan Williams  <dcbw@redhat.com>
3585
3586         * src/nm-device-802-11-wireless.c
3587                 - (state_changed_cb): clear AP list when device transitions to
3588                         unavailable or unmanaged
3589                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
3590                         since this is already done in device_cleanup()
3591                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
3592                         isn't available or managed
3593                 - (device_cleanup): use remove_all_aps()
3594                 - (remove_all_aps): consolidate code removing all APs
3595
3596 2008-04-17  Dan Williams  <dcbw@redhat.com>
3597
3598         * src/nm-serial-device.c
3599           src/nm-serial-device.h
3600                 - (wait_for_reply_got_data): break input into lines, and search each
3601                         line for responses _and_ terminator strings; also make sure that
3602                         the read loop doesn't continue after the timeout is supposed to fire
3603                 - (nm_serial_device_wait_for_reply): take an array of terminators too
3604
3605         * src/nm-gsm-device.c
3606           src/nm-cdma-device.c
3607                 - Send terminators to nm_serial_device_wait_for_reply()
3608
3609 2008-04-16  Dan Williams  <dcbw@redhat.com>
3610
3611         Patch from 陈鑫 <znscnchen@gmail.com>
3612
3613         * src/ppp-manager/nm-pppd-plugin.c
3614                 - (get_credentials): return correct value for success; handle case where
3615                         pppd just does some checking but doesn't want a password
3616                 - (plugin_init): make CHAP work too
3617
3618 2008-04-16  Dan Williams  <dcbw@redhat.com>
3619
3620         Patch from 陈鑫 <znscnchen@gmail.com>
3621
3622         * src/ppp-manager/nm-ppp-manager.c
3623                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
3624
3625 2008-04-16  Dan Williams  <dcbw@redhat.com>
3626
3627         Patch from 陈鑫 <znscnchen@gmail.com>
3628
3629         * src/nm-device-802-3-ethernet.c
3630                 - (real_deactivate_quickly): clear the IP interface name on
3631                         deactivation, otherwise the wrong interface might get used later
3632                         for routing and IP management
3633
3634 2008-04-15  Dan Williams  <dcbw@redhat.com>
3635
3636         * libnm-glib/nm-device.c
3637                 - (get_product_and_vendor): handle serial devices correctly
3638                 - (nm_device_update_description): pass device to get_product_and_vendor()
3639
3640 2008-04-15  Dan Williams  <dcbw@redhat.com>
3641
3642         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3643
3644         * src/NetworkManagerSystem.h
3645           src/backends/NetworkManagerArch.c
3646           src/backends/NetworkManagerDebian.c
3647           src/backends/NetworkManagerFrugalware.c
3648           src/backends/NetworkManagerGeneric.c
3649           src/backends/NetworkManagerGeneric.h
3650           src/backends/NetworkManagerGentoo.c
3651           src/backends/NetworkManagerMandriva.c
3652           src/backends/NetworkManagerPaldo.c
3653           src/backends/NetworkManagerRedHat.c
3654           src/backends/NetworkManagerSlackware.c
3655           src/backends/NetworkManagerSuSE.c
3656           src/nm-device.c
3657                 - (nm_generic_device_add_ip6_link_address,
3658                    nm_system_device_add_ip6_link_address): remove
3659
3660 2008-04-15  Dan Williams  <dcbw@redhat.com>
3661
3662         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3663
3664         * src/backends/NetworkManagerArch.c
3665           src/backends/NetworkManagerDebian.c
3666           src/backends/NetworkManagerFrugalware.c
3667           src/backends/NetworkManagerGeneric.c
3668           src/backends/NetworkManagerGeneric.h
3669           src/backends/NetworkManagerGentoo.c
3670           src/backends/NetworkManagerMandriva.c
3671           src/backends/NetworkManagerPaldo.c
3672           src/backends/NetworkManagerRedHat.c
3673           src/backends/NetworkManagerSlackware.c
3674           src/backends/NetworkManagerSuSE.c
3675           src/NetworkManagerSystem.h
3676                 - flush_routes -> flush_ip4_routes
3677                 - flush_addresses -> flush_ip4_addresses
3678
3679         * src/NetworkManagerSystem.c
3680           src/nm-device.c
3681           src/vpn-manager/nm-vpn-connection.c
3682                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
3683
3684 2008-04-15  Dan Williams  <dcbw@redhat.com>
3685
3686         Remove exposure of wireless-tools mode types in the API.
3687
3688         * include/NetworkManager.h
3689                 - Define NM80211Mode enum
3690
3691         * introspection/generic-types.xml
3692                 - Describe NM_802_11_MODE enum
3693                 - Remove IW_MODE_* enum
3694
3695         * introspection/nm-access-point.xml
3696           libnm-glib/nm-access-point.c
3697           libnm-glib/nm-access-point.h
3698                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
3699
3700         * introspection/nm-device-802-11-wireless.xml
3701           libnm-glib/nm-device-802-11-wireless.c
3702           libnm-glib/nm-device-802-11-wireless.h
3703                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
3704
3705         * libnm-util/nm-setting-wireless.c
3706           src/NetworkManagerAP.c
3707           src/NetworkManagerAP.h
3708           src/nm-device-802-11-wireless.c
3709           src/nm-device-802-11-wireless.h
3710           test/nm-tool.c
3711                 - Use NM80211Mode not IW_MODE_*
3712
3713 2008-04-15  Dan Williams  <dcbw@redhat.com>
3714
3715         Enhance nm-online based on a patch from Bill Nottingham.
3716
3717         * test/nm-online.c
3718                 - Add a '-q' option
3719                 - Add help messages and option summary
3720                 - Add long-format options
3721                 - Add a '-x' option to exit if NM isn't running or isn't connecting
3722
3723 2008-04-15  Tambet Ingo  <tambet@gmail.com>
3724
3725         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
3726
3727         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
3728
3729 2008-04-15  Dan Williams  <dcbw@redhat.com>
3730
3731         * nm-setting-ip4-config.c
3732                 - (ip4_addresses_from_gvalue): handle NULL address array
3733
3734         * nm-setting-8021x.c
3735                 - (verify_tls, verify_ttls): warn on failed verification
3736
3737 2008-04-10  Dan Williams  <dcbw@redhat.com>
3738
3739         * src/nm-gsm-device.c
3740                 - (automatic_registration): accept "+CREG: 0,0"
3741                 - (automatic_registration_response): fail on "+CREG: 0,0"
3742
3743 2008-04-10  Tambet Ingo  <tambet@gmail.com>
3744
3745         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
3746
3747 2008-04-10  Tambet Ingo  <tambet@gmail.com>
3748
3749         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
3750         Make it compile again by commenting out broken code that at first didn't work and
3751         now didn't compile either.
3752
3753 2008-04-08  Dan Williams  <dcbw@redhat.com>
3754
3755         * libnm-glib/nm-object-cache.c
3756           libnm-glib/nm-settings.c
3757           src/dhcp-manager/nm-dhcp-manager.c
3758           system-settings/plugins/ifcfg-fedora/plugin.c
3759           system-settings/plugins/ifcfg-suse/plugin.c
3760           system-settings/src/nm-system-config-hal-manager.c
3761           libnm-util/nm-utils.c
3762                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
3763                         not threadsafe anyway
3764
3765 2008-04-08  Dan Williams  <dcbw@redhat.com>
3766
3767         * system-settings/src/main.c
3768                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
3769                         callbacks take a device type too
3770
3771 2008-04-08  Dan Williams  <dcbw@redhat.com>
3772
3773         The system settings service will now create a new default DHCP connection
3774         for wired devices that have no existing applicable connection.
3775
3776         * system-settings/src/nm-system-config-hal-manager.c
3777           system-settings/src/nm-system-config-hal-manager.h
3778                 - (nm_system_config_hal_manager_get_type_for_udi): new function
3779
3780         * system-settings/src/dbus-settings.c
3781           system-settings/src/dbus-settings.h
3782                 - (nm_sysconfig_settings_get_connections): new function
3783                 - (nm_sysconfig_settings_is_device_managed): new function
3784
3785         * system-settings/src/main.c
3786                 - (load_stuff): check for wired devices that need a default connection
3787                 - (get_details_for_udi): get interface and MAC address from HAL
3788                 - (add_default_dhcp_connection): add a default connection for a wired
3789                         device if needed
3790                 - (device_added_cb, device_removed_cb): do the right thing with
3791                         wired devices and their default connections on HAL device events
3792
3793 2008-04-07  Dan Williams  <dcbw@redhat.com>
3794
3795         * libnm-glib/nm-device.c
3796           libnm-glib/nm-device.h
3797                 - Proxy the 'managed' property
3798
3799 2008-04-07  Dan Williams  <dcbw@redhat.com>
3800
3801         * src/nm-gsm-device.c
3802           src/nm-cdma-device.c
3803                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
3804                         handler to transition to DISCONNECTED
3805
3806 2008-04-07  Dan Williams  <dcbw@redhat.com>
3807
3808         Patch from Bill Nottingham
3809
3810         * dispatcher-daemon/NetworkManagerDispatcher.c
3811                 - ignore backup/packaging crufy (rh #440143)
3812
3813 2008-04-07  Dan Williams  <dcbw@redhat.com>
3814
3815         * include/NetworkManager.h
3816                 - Remove the DOWN and CANCELLED device states
3817                 - Add UNMANAGED and UNAVAILABLE device states
3818                 - Document the device states
3819
3820         * introspection/nm-device.xml
3821           src/nm-device-interface.c
3822           src/nm-device-interface.h
3823                 - Add the 'managed' property
3824
3825         * test/nm-tool.c
3826                 - (detail_device): print out device state
3827
3828         * src/NetworkManagerSystem.h
3829           src/backends/NetworkManagerArch.c
3830           src/backends/NetworkManagerDebian.c
3831           src/backends/NetworkManagerFrugalware.c
3832           src/backends/NetworkManagerGentoo.c
3833           src/backends/NetworkManagerMandriva.c
3834           src/backends/NetworkManagerPaldo.c
3835           src/backends/NetworkManagerRedHat.c
3836           src/backends/NetworkManagerSlackware.c
3837           src/backends/NetworkManagerSuSE.c
3838                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
3839                    nm_system_device_free_system_config): remove; they were unused and
3840                         their functionality should be re-implemented in each distro's
3841                         system settings service plugin 
3842
3843         * src/nm-gsm-device.c
3844           src/nm-gsm-device.h
3845           src/nm-cdma-device.c
3846           src/nm-cdma-device.h
3847                 - (*_new): take the 'managed' argument
3848
3849         * src/nm-device.c
3850                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
3851                 - (nm_device_init): start in unmanaged state, not disconnected
3852                 - (constructor): don't start device until the system settings service
3853                         has had a chance to figure out if the device is managed or not
3854                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
3855                         don't set device state here, let callers handle that as appropriate
3856                 - (nm_device_dispose): don't touch the device if it's not managed
3857                 - (set_property, get_property, nm_device_class_init): implement the
3858                         'managed' property
3859                 - (nm_device_state_changed): bring the device up if its now managed,
3860                         and deactivate it if it used to be active
3861                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
3862                         with the managed state
3863
3864         * src/nm-hal-manager.c
3865                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
3866                         take initial managed state and pass it along to device constructors
3867                 - (create_device_and_add_to_list): get managed state and pass to
3868                         type creators
3869
3870         * src/nm-device-802-11-wireless.c
3871                 - (real_can_activate): fold in most of
3872                         nm_device_802_11_wireless_can_activate()
3873                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
3874                 - (link_timeout_cb): instead of deactivating, change device state and
3875                         let the device state handler to it
3876                 - (real_update_hw_address): clean up
3877                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
3878                         handler to transition to DISCONNECTED if the device isn't rfkilled
3879
3880         * src/nm-device-802-3-ethernet.c
3881                 - (set_carrier): move above callers and get rid of prototype
3882                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
3883                         idle handler to transition to DISCONNECTED if the device has a
3884                         carrier
3885                 - (real_update_hw_address): clean up
3886                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
3887                         deactivation directly as deactivation doesn't change state anymore
3888
3889         * src/NetworkManagerPolicy.c
3890                 - (schedule_activate_check): yay, remove wireless_enabled hack since
3891                         the NMManager and wireless devices work that out themselves now
3892                 - (device_state_changed): change to a switch and update for new device
3893                         states
3894                 - (device_carrier_changed): remove; device handles this now through
3895                         state changes
3896                 - (device_added): don't care about carrier any more; the initial
3897                         activation check will happen when the device transitions to
3898                         DISCONNECTED
3899
3900         * src/nm-manager.c
3901                 - (dispose): clear unmanaged devices
3902                 - (handle_unmanaged_devices): update unmanaged device list and toggle
3903                         the managed property on each device when needed
3904                 - (system_settings_properties_changed_cb): handle signals from the
3905                         system settings service
3906                 - (system_settings_get_unmanaged_devices_cb): handle callback from
3907                         getting the unmanaged device list method call
3908                 - (query_unmanaged_devices): ask the system settings service for its
3909                         list of unmanaged devices
3910                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
3911                         devices
3912                 - (manager_set_wireless_enabled): push rfkill state down to wireless
3913                         devices directly and let them handle the necessary state transitions
3914                 - (manager_device_state_changed): update for new device states
3915                 - (nm_manager_add_device): set initial rfkill state on wireless devices
3916                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
3917                 - (nm_manager_activate_connection): return error if the device is
3918                         unmanaged
3919                 - (nm_manager_sleep): handle new device states correctly; don't change
3920                         the state of unavailable/unmanaged devices
3921
3922         * libnm-glib/nm-device-802-11-wireless.c
3923                 - (state_changed_cb): update for new device states
3924
3925 2008-04-07  Dan Williams  <dcbw@redhat.com>
3926
3927         * marshallers/nm-marshal.list
3928                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
3929
3930 2008-04-07  Dan Williams  <dcbw@redhat.com>
3931
3932         * system-settings/src/main.c
3933                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
3934                         plugins to the dbus settings object
3935                 - (load_stuff): start the dbus service after grabbing unmanaged devices
3936                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
3937                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
3938                 - (main): switch default logging to syslog with a 'debug' option to
3939                         output to console; start up the HAL manager
3940
3941 2008-04-07  Dan Williams  <dcbw@redhat.com>
3942
3943         * introspection/nm-settings-system.xml
3944           introspection/Makefile.am
3945                 - Define the unmanaged devices interface for the system settings service
3946
3947         * system-settings/src/nm-system-config-hal-manager.c
3948           system-settings/src/nm-system-config-hal-manager.h
3949           system-settings/src/nm-system-config-hal-manager-private.h
3950           system-settings/src/Makefile.am
3951                 - Add a lightweight HAL manager object for tracking network devices for
3952                         the purpose of determining unmanaged devices and which devices need
3953                         the default DHCP connections
3954
3955         * system-settings/src/nm-system-config-interface.c
3956           system-settings/src/nm-system-config-interface.h
3957                 - (nm_system_config_interface_init): add the HAL manager as an argument
3958                 - (nm_system_config_interface_get_unmanaged_devices): implement
3959                 - Define 'unmanaged-devices-changed' signal
3960
3961         * system-settings/src/dbus-settings.c
3962           system-settings/src/dbus-settings.h
3963                 - Implement the unmanaged devices interface; some cleanups
3964
3965         * system-settings/plugins/ifcfg-suse/plugin.c
3966                 - Fixup for plugin interface changes
3967
3968         * system-settings/plugins/ifcfg-fedora/plugin.c
3969                 - (get_ether_device_udi): new function; find the device that has
3970                         a specified MAC address and return its UDI
3971                 - (get_udi_for_connection): new function; try to find the specific
3972                         device a connection is locked to, if any
3973                 - (device_added_cb, device_removed_cb): update unmanaged device list in
3974                         response to HAL events
3975                 - (get_unmanaged_devices): new function; return unmanaged device list
3976                 - (build_one_connection): set the connection's locked device, if any
3977                 - (write_auto_wired_connection): remove
3978                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
3979                 - (handle_connection_changed): alert listeners that the unmanaged device
3980                         list has changed
3981                 - (init): fixup for plugin interface changes, implement unmanaged devices
3982
3983         * system-settings/plugins/ifcfg-fedora/parser.c
3984           system-settings/plugins/ifcfg-fedora/parser.h
3985                 - (connection_data_free): clean up connection UDI
3986
3987 2008-04-07  Dan Williams  <dcbw@redhat.com>
3988
3989         * system-settings/plugins/ifcfg-fedora/parser.c
3990                 - (make_ip4_setting): fix parsing of DNS servers
3991
3992 2008-04-05  Dan Williams  <dcbw@redhat.com>
3993
3994         * Makefile.am
3995           configure.in
3996           marshallers/Makefile.am
3997           marshallers/nm-marshal-main.c
3998           marshallers/nm-marshal.list
3999                 - Consolidate marshallers
4000
4001         * libnm-glib/nm-marshal-main.c
4002           libnm-glib/nm-marshal.list
4003           src/marshallers/Makefile.am
4004           src/marshallers/nm-marshal-main.c
4005           src/marshallers/nm-marshal.list
4006                 - Remove
4007
4008         * libnm-glib/Makefile.am
4009           src/Makefile.am
4010           src/dhcp-manager/Makefile.am
4011           src/ppp-manager/Makefile.am
4012           src/supplicant-manager/Makefile.am
4013           src/vpn-manager/Makefile.am
4014                 - Use consolidated marshallers
4015
4016 2008-04-04  Dan Williams  <dcbw@redhat.com>
4017
4018         * src/nm-hal-manager.c
4019           src/nm-hal-manager.h
4020                 - (hal_init): don't look for hardware here
4021                 - (nm_hal_manager_start): new function; look for hardware here instead,
4022                         which can be done at a later time than hal_init()
4023
4024         * src/NetworkManager.c
4025                 - (main): start HAL manager after entering the main loop
4026
4027 2008-04-03  Dan Williams  <dcbw@redhat.com>
4028
4029         * libnm-glib/nm-settings.c
4030           libnm-glib/nm-settings.h
4031             - (nm_exported_connection_get_id): new function
4032                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
4033
4034 2008-04-02  Dan Williams  <dcbw@redhat.com>
4035
4036         * src/nm-device-interface.c
4037           src/nm-device-interface.h
4038           src/nm-device.c
4039           src/nm-device.h
4040                 - Rename check_connection_conflicts() to check_connection_compatible()
4041
4042         * src/nm-device-802-11-wireless.c
4043                 - (real_check_connection_conflicts): remove
4044                 - (real_check_connection_compatible): implement; match MAC address
4045
4046         * src/nm-device-802-3-ethernet.c
4047                 - (real_check_connection_conflicts): remove
4048                 - (real_check_connection_compatible): implement; match MAC address
4049                 - (real_get_best_auto_connection): correctly handle PPPoE cases
4050
4051         * src/nm-manager.c
4052                 - (check_connection_allowed): remove; unused until PolicyKit integration
4053                 - (internal_activate_device): check whether the connection is compatible
4054                         with the device before trying to activate it
4055
4056 2008-04-02  Dan Williams  <dcbw@redhat.com>
4057
4058         * system-settings/plugins/ifcfg-fedora/parser.c
4059                 - (read_mac_address): new function; read in MAC address and stuff it
4060                         into the connection
4061                 - (add_one_wep_key): remove debug spew
4062                 - (make_wireless_security_setting): validate the default TX key; don't
4063                         add the wireless-security setting if the connection doesn't need
4064                         security; don't leak the keys shvarFile on error cases
4065                 - (make_wireless_setting, make_wired_setting): populate device's MAC
4066                         address
4067
4068 2008-04-02  Dan Williams  <dcbw@redhat.com>
4069
4070         * libnm-util/nm-setting-connection.c
4071           libnm-util/nm-setting-connection.h
4072                 - (set_property, get_property, nm_setting_connection_class_init): remove
4073                         the 'lockdown' property; it's functionality will be replaced by
4074                         PolicyKit instead
4075
4076 2008-04-01  Dan Williams  <dcbw@redhat.com>
4077
4078         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
4079
4080         * configure.in
4081           initscript/Makefile.am
4082           initscript/Mandriva/Makefile.am
4083           initscript/Mandriva/networkmanager.in
4084           initscript/Mandriva/networkmanagerdispatcher.in
4085           src/backends/Makefile.am
4086           src/backends/NetworkManagerMandriva.c
4087           system-settings/plugins/Makefile.am
4088                 - Add Mandriva support
4089
4090 2008-03-31  Dan Williams  <dcbw@redhat.com>
4091
4092         * src/vpn-manager/nm-vpn-service.c
4093                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
4094                         errors can be passed back to the caller; also no longer scheduled
4095                         as an idle handler, but called directly; and bump up VPN service
4096                         spawn timeout, 2s is really short
4097                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
4098                         but call it directly so that errors are reported on return from
4099                         ActivateConnection() and don't get lost.  If scheduled as an idle
4100                         handler, clients don't have the time to query NM for the new VPN
4101                         connection's properties before the VPN connection is torn down again
4102                         if the service couldn't be launched, and therefore launch errors
4103                         get lost.
4104
4105 2008-03-31  Dan Williams  <dcbw@redhat.com>
4106
4107         * src/vpn-manager/nm-vpn-connection.c
4108                 - (device_state_changed): send correct state on device failure too
4109                 - (plugin_state_changed): failed state means unexpected disconnection,
4110                         thus if the service goes away while the VPN connection is activated
4111                         that's a failure too
4112
4113 2008-03-31  Dan Williams  <dcbw@redhat.com>
4114
4115         * src/vpn-manager/nm-vpn-manager.c
4116           src/vpn-manager/nm-vpn-manager.h
4117                 - Make VPNManager errors more available; add a service-start-failed error
4118
4119 2008-03-31  Dan Williams  <dcbw@redhat.com>
4120
4121         * libnm-glib/nm-client.c
4122           libnm-glib/nm-client.h
4123                 - (activate_cb): pass the new active connection to callback; fix
4124                         message when no callback is specified
4125
4126 2008-03-30  Dan Williams  <dcbw@redhat.com>
4127
4128         * libnm-util/nm-setting-wireless-security.c
4129                 - (need_secrets): only require key0 if the transmit key index is also
4130                         0
4131                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
4132
4133 2008-03-29  Dan Williams  <dcbw@redhat.com>
4134
4135         * libnm-util/nm-setting-8021x.c
4136           libnm-util/nm-setting-ip4-config.c
4137           libnm-util/nm-setting-vpn-properties.c
4138           libnm-util/nm-setting-vpn.c
4139           libnm-util/nm-setting-wireless-security.c
4140           libnm-util/nm-setting-wireless.c
4141           libnm-util/nm-utils.c
4142           src/dhcp-manager/nm-dhcp-manager.c
4143           src/nm-activation-request.c
4144           src/nm-ip4-config.c
4145           src/nm-manager.c
4146           src/nm-properties-changed-signal.c
4147           src/ppp-manager/nm-pppd-plugin.c
4148           src/supplicant-manager/nm-supplicant-interface.c
4149           src/vpn-manager/nm-vpn-connection.c
4150                 - consistently use nm-dbus-glib-types.h
4151
4152 2008-03-29  Dan Williams  <dcbw@redhat.com>
4153
4154         * src/vpn-manager/nm-vpn-connection.c
4155                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4156                         not string
4157
4158         * src/nm-activation-request.c
4159                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4160                         not string
4161
4162 2008-03-29  Dan Williams  <dcbw@redhat.com>
4163
4164         * libnm-glib/nm-device-802-11-wireless.c
4165                 - (access_point_added_proxy): create new APs if not found
4166
4167 2008-03-29  Dan Williams  <dcbw@redhat.com>
4168
4169         * libnm-glib/nm-client.c
4170                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
4171                         before freeing them
4172
4173 2008-03-29  Dan Williams  <dcbw@redhat.com>
4174
4175         * system-settings/plugins/ifcfg-fedora/parser.c
4176                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
4177                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
4178
4179 2008-03-29  Dan Williams  <dcbw@redhat.com>
4180
4181         * system-settings/plugins/ifcfg-fedora/parser.c
4182                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
4183
4184 2008-03-27  Dan Williams  <dcbw@redhat.com>
4185
4186         * nm-object.c
4187                 - (nm_object_queue_notify): don't notify multiple times for the same
4188                         property
4189
4190         * nm-object-private.h
4191                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4192                         if it has zero elements
4193
4194         * nm-ip4-config.c
4195                 - (finalize): use g_ptr_array_foreach() when freeing domains
4196                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
4197
4198         * nm-active-connection.c
4199                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
4200
4201         * nm-device-802-11-wireless.c
4202           nm-device-802-11-wireless.h
4203                 - (nm_device_802_11_wireless_get_access_points): return const; use
4204                         handle_ptr_array_return()
4205
4206         * nm-types.c
4207                 - (nm_object_array_demarshal): always create an array, even of length
4208                         zero, to distinguish between "NM returned no items" and "haven't
4209                         asked NM yet"
4210
4211         * nm-client.c
4212                 - (dispose): free active connections too
4213                 - (proxy_name_owner_changed): free active connections too when NM goes
4214                         away
4215                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
4216                 - (nm_client_get_active_connections): use handle_ptr_array_return()
4217
4218 2008-03-26  Dan Williams  <dcbw@redhat.com>
4219
4220         Rework VPN connection handling for a more consistent D-Bus API.  The
4221         VPNManager object has been removed, and active VPN connections are now the
4222         same as any other active connection.  The Manager object's ActivateConnection
4223         and DeactivateConnection methods are used to start and stop a VPN connection,
4224         and the VPNConnection objects are subclasses of the ActiveConnection objects.
4225         When activating a VPN connection, pass the path of the active connection
4226         to which the VPN connection is tied in the 'specific_object' argument.
4227
4228         Consequently, the libnm-glib API has been reworked to match this arrangement,
4229         with the VPNManager object removed, and the NMVPNConnection objects now
4230         being subclasses of NMActiveConnection.
4231
4232 2008-03-25  Dan Williams  <dcbw@redhat.com>
4233
4234         Patch from Björn Martensen <bjoern.martensen@gmail.com>
4235
4236         * initscript/Arch/networkmanager.in
4237           initscript/Arch/networkmanager-dispatcher.in
4238                 - Updates for Arch Linux (gnome.org #523701)
4239
4240 2008-03-25  Dan Williams  <dcbw@redhat.com>
4241
4242         * libnm-glib/nm-ip4-config.c
4243           libnm-glib/nm-active-connection.c
4244           libnm-glib/nm-access-point.c
4245                 - Use nm_object_queue_notify() instead of g_object_notify()
4246
4247         * libnm-glib/nm-device.c
4248                 - (demarshal_ip4_config): distinguish between successful but missing
4249                         ip4-config request, and unsuccessful and missing ip4-config request
4250                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
4251                         path
4252                 - Use nm_object_queue_notify() instead of g_object_notify()
4253
4254         * libnm-glib/nm-device-802-11-wireless.c
4255                 - (demarshal_active_ap): distinguish between successfull but missing
4256                         active-ap request, and unsuccessful and missing active-ap request
4257                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
4258                         code
4259                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
4260                         for the NMClient to notify the device that wireless is disabled,
4261                         and therefore to clear the AP list and active AP
4262                 - Use nm_object_queue_notify() instead of g_object_notify()
4263
4264         * libnm-glib/nm-client.c
4265                 - (poke_wireless_devices_with_rf_status): new function
4266                 - (update_wireless_status): notify wireless devices of the rfkill status
4267                         so they can clean up if needed
4268                 - Use nm_object_queue_notify() instead of g_object_notify()
4269
4270 2008-03-25  Dan Williams  <dcbw@redhat.com>
4271
4272         * libnm-glib/nm-object.c
4273           libnm-glib/nm-object-private.h
4274                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
4275                         signals to an idle handler
4276                 - (nm_object_get_property): add a timeout to the D-Bus method call
4277
4278 2008-03-25  Dan Williams  <dcbw@redhat.com>
4279
4280         * introspection/nm-device-cdma.xml
4281           introspection/nm-device-gsm.xml
4282           introspection/Makefile.am
4283           introspection/all.xml
4284                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
4285
4286         * src/nm-gsm-device.h
4287           src/nm-gsm-device.c
4288           src/nm-cdma-device.h
4289           src/nm-cdma-device.c
4290           src/Makefile.am
4291                 - Implement PropertiesChanged signals
4292
4293         * libnm-glib/nm-cdma-device.c
4294           libnm-glib/nm-cdma-device.c
4295                 - Attach to PropertiesChanged signals
4296
4297 2008-03-24  Dan Williams  <dcbw@redhat.com>
4298
4299         * libnm-glib/nm-client.c
4300                 - (client_device_added_proxy): add new devices to the internal device
4301                         list so they appear to clients
4302
4303 2008-03-24  Dan Williams  <dcbw@redhat.com>
4304
4305         Massive fixup of libnm-glib to:
4306         a) have all objects (with the exception of VPN) cache their properties and
4307                 update them asynchronously on PropertiesChanged signals from NM
4308         b) return internal const data for most attributes/properties instead of
4309                 allocated values that the caller must free
4310         c) cache wrapped objects such that a given D-Bus path will always map to the
4311                 same GObject returned by libnm-glib
4312         d) remove a few signals and move them to GObject property notifications
4313         e) match recent NM D-Bus API changes for activation/deactivation
4314         f) remove some private functions from libnm-glib headers
4315
4316 2008-03-20  Dan Williams  <dcbw@redhat.com>
4317
4318         * src/nm-manager.c
4319                 - (nm_manager_update_state, manager_device_state_changed,
4320                    nm_manager_activate_device, connection_added_default_handler,
4321                    impl_manager_activate_connection, impl_manager_deactivate_connection):
4322                         queue PropertyChanged singals when the active connections change
4323
4324 2008-03-20  Dan Williams  <dcbw@redhat.com>
4325
4326         * introspection/nm-manager.xml
4327           introspection/nm-manager-client.xml
4328                 - (ActivateConnection): return the object path of the active connection
4329                         on success
4330                 - (GetActiveConnections): remove
4331                 - (DeactivateConnection): new function; deactivate a currently active
4332                         connection
4333                 - Add an ActiveConnections property which returns an array of
4334                         active connection object paths
4335
4336         * introspection/nm-device.xml
4337                 - (Deactivate): remove
4338
4339         * introspection/all.xml
4340                 - Add ActiveConnection introspection
4341
4342         * introspection/nm-active-connection.xml
4343                 - Add the ActiveConnection object
4344
4345         * include/NetworkManager.h
4346                 - Add the Connection.Active D-Bus interface
4347
4348         * src/nm-device-interface.c
4349                 - (impl_device_deactivate): remove
4350
4351         * src/nm-activation-request.c
4352           src/nm-activation-request.c
4353           src/Makefile.am
4354                 - Implement the Connection.Active D-Bus interface
4355
4356         * src/nm-manager.c
4357                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
4358                 - (nm_manager_activate_device): return the active connection path
4359                 - (connection_added_default_handler, impl_manager_activate_connection):
4360                         return the active connection to the caller
4361                 - (add_one_connection_element, impl_manager_get_active_connections):
4362                         remove
4363                 - (impl_manager_deactivate_connection): new function; deactivate an
4364                         active connection
4365
4366         * libnm-glib/nm-device.c
4367           libnm-glib/nm-device.h
4368                 - Remove Deactivate() function
4369
4370 2008-03-19  Dan Williams  <dcbw@redhat.com>
4371
4372         * introspection/nm-manager.xml
4373           introspection/nm-manager-client.xml
4374                 - Rename the ActivateDevice method to ActivateConnection to better
4375                         reflect it's usage; it's arguments get reordered a bit too
4376                 - Convert GetActiveConnections method return from a struct to a dict
4377
4378         * include/NetworkManager.h
4379                 - Define the dict keys for return value of GetActiveConnections
4380
4381         * src/nm-manager.c
4382                 - impl_manager_activate_device -> impl_manager_activate_connection
4383                 - (add_one_connection_element): return a populated hash table, not
4384                         a structure
4385
4386         * libnm-glib/nm-client.c
4387           libnm-glib/nm-client.h
4388                 - nm_client_activate_device -> nm_client_activate_connection
4389                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
4390                 - (nm_client_get_active_connections): return a GSList of GHashTables,
4391                         instead of the custom structures.  Each element of the returned list
4392                         must be freed with nm_client_free_active_connections_element()
4393
4394 2008-03-18  Dan Williams  <dcbw@redhat.com>
4395
4396         * system-settings/plugins/ifcfg-fedora/parser.c
4397           system-settings/plugins/ifcfg-fedora/parser.h
4398           system-settings/plugins/ifcfg-fedora/plugin.c
4399                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
4400                         profiles.  DNS servers and searches must now be stored in the ifcfg
4401                         files themselves
4402
4403 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4404
4405         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
4406         print out username and password, it's supposed to be a secret.
4407
4408         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
4409         request and set the device state accordingly.
4410
4411 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4412
4413         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
4414
4415         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
4416
4417 2008-03-18  Dan Williams  <dcbw@redhat.com>
4418
4419         * src/vpn-manager/nm-vpn-connection.c
4420                 - (get_secrets_cb): handle new GetSecrets return format
4421
4422 2008-03-18  Dan Williams  <dcbw@redhat.com>
4423
4424         Adapt system settings service for split 802.1x.
4425
4426         * system-settings/src/nm-system-config-interface.h
4427                 - clarify return value of get_secrets()
4428
4429         * system-settings/src/dbus-settings.c
4430                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
4431                 - (check_for_secrets): check if there actually secrets returned by a
4432                         plugin
4433                 - (exported_connection_get_secrets): just return the plugin-returned
4434                         hash of settings' secrets if it looks valid
4435
4436         * system-settings/plugins/ifcfg-fedora/plugin.c
4437                 - (get_secrets): add split secrets with correct format to reply hash
4438
4439         * system-settings/plugins/ifcfg-fedora/parser.c
4440           system-settings/plugins/ifcfg-fedora/parser.h
4441                 - (copy_one_cdata_secret, connection_data_copy_secrets,
4442                    connection_data_free, connection_data_add): keep secrets for
4443                         different settings in different hashes
4444
4445 2008-03-17  Tambet Ingo  <tambet@gmail.com>
4446
4447         Clean up activating device deactivation.
4448
4449         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
4450         should be done whether the device activation gets cancelled or the device
4451         is just getting deactivated.
4452         (nm_device_activation_cancel): Remove.
4453         (nm_device_deactivate_quickly): Handle the case where device is activating.
4454
4455         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
4456         It does the exact same thing as real_deactivate_quickly().
4457
4458 2008-03-17  Dan Williams  <dcbw@redhat.com>
4459
4460         Split the 802.1x bits out of the wireless-security setting so they are
4461         generalized enough for wired 802.1x to use too.
4462
4463         * introspection/nm-exported-connection.xml
4464                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
4465                         of just a hash of the secrets for one setting
4466
4467         * libnm-util/nm-setting-wireless-security.c
4468           libnm-util/nm-setting-wireless-security.h
4469                 - Remove 802.1x-specific stuff
4470                 - Added leap-username and leap-password properties for old-school LEAP
4471
4472         * src/nm-device.c
4473           src/nm-device.h
4474                 - (connection_secrets_updated_cb): take a list of updated settings names,
4475                         not just one
4476
4477         * src/supplicant-manager/nm-supplicant-config.c
4478           src/supplicant-manager/nm-supplicant-config.h
4479                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
4480                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
4481                         to nm_supplicant_config_add_setting_8021x()
4482                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
4483                         the supplicant config
4484
4485         * src/nm-device-802-11-wireless.c
4486                 - (build_supplicant_config): pass in the 802.1x setting too, if any
4487                 - (real_connection_secrets_updated): take a list of updated settings
4488                         names, not just one
4489
4490         * src/nm-device-802-3-ethernet.c
4491           src/nm-cdma-device.c
4492           src/nm-gsm-device.c
4493                 - (real_connection_secrets_updated_cb): take a list of updated settings
4494                         names, not just one
4495
4496         * src/nm-activation-request.c
4497           src/nm-activation-request.h
4498                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
4499                         now passes a list of updated settings names, not just one
4500                 - (update_one_setting): new function; handle one updated setting
4501                 - (get_secrets_cb): handle multiple settings returned from the
4502                         settings service; have to be careful of ordering here as there are
4503                         some dependencies between settings (ex. wireless-security and 802.1x
4504                         in some cases)
4505
4506         * src/marshallers/nm-marshal.list
4507                 - new marshaller for connection-secrets-updated signal
4508
4509         * libnm-util/nm-setting-8021x.c
4510                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
4511                         methods
4512                 - (verify): a valid 'eap' property is now required
4513
4514         * libnm-util/nm-connection.c
4515                 - (register_default_settings): add priorities to settings; there are
4516                         some dependencies between settings, and during the need_secrets
4517                         calls this priority needs to be respected.  For example, only the
4518                         wireless-security setting knows whether or not the connection is
4519                         going to use 802.1x or now, so it must be asked for secrets before
4520                         any existing 802.1x setting is
4521                 - (nm_connection_lookup_setting_type): expose
4522
4523         * libnm-util/nm-setting-wireless.c
4524                 - (verify): should verify even if all_settings is NULL; otherwise won't
4525                         catch the case where there is missing security
4526
4527         * libnm-util/nm-setting-wireless-security.c
4528                 - Remove everything to do with 802.1x
4529                 - Add old-school LEAP specific properties for username and password
4530                 - (need_secrets): rework LEAP secrets checking
4531                 - (verify): rework for LEAP and 802.1x verification
4532
4533 2008-03-17  Dan Williams  <dcbw@redhat.com>
4534
4535         * src/NetworkManagerPolicy.c
4536                 - (auto_activate_device): always remove the current activation check
4537                         from the pending activation list, otherwise when the policy gets
4538                         destroyed on NM exit it will attempt to free the already freed
4539                         activation check
4540
4541 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4542
4543         * src/backends/NetworkManagerSlackware.c 
4544         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
4545
4546         * src/backends/NetworkManagerSuSE.c: Add missing includes.
4547
4548 2008-03-14  Dan Williams  <dcbw@redhat.com>
4549
4550         * src/nm-manager.c
4551                 - (nm_device_interface_get_iface): g_object_get() will return an
4552                         allocated value, so this function must not return const
4553                 - (nm_device_interface_activate): free returned iface
4554
4555 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4556
4557         * libnm-util/Makefile.am: Add new files to build.
4558
4559         * libnm-util/nm-connection.c: Register NMSetting8021x.
4560
4561         * libnm-util/nm-setting-8021x.c
4562         * libnm-util/nm-setting-8021x.h: Implement.
4563
4564 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4565
4566         * libnm-util/Makefile.am: Add new files to build.
4567
4568         * libnm-util/nm-connection.c: Register NMSetting8021x.
4569
4570         * libnm-util/nm-setting-8021x.c
4571         * libnm-util/nm-setting-8021x.h: Implement.
4572
4573 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4574
4575         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
4576         data.
4577
4578 2008-03-14  Dan Williams  <dcbw@redhat.com>
4579
4580         * include/wireless-helper.h
4581           include/Makefile.am
4582                 - One place for all the junk needed for #including wireless.h
4583
4584         * test/nm-tool.c
4585           src/NetworkManagerAP.c
4586           src/wpa.c
4587           src/Makefile.am
4588           libnm-util/nm-utils.c
4589           libnm-util/nm-setting-wireless.c
4590           libnm-glib/nm-device-802-11-wireless.c
4591           libnm-glib/nm-access-point.c
4592           libnm-glib/libnm-glib-test.c
4593                 - include wireless-helper.h, not iwlib.h
4594
4595         * configure.in
4596                 - Don't need libiw really, just need to check for wireless.h
4597
4598         * src/kernel-types.h
4599                 - Remove; used types moved into wpa.c
4600
4601         * src/nm-device-802-11-wireless.c
4602                 - (nm_device_802_11_wireless_update_signal_strength,
4603                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
4604                    nm_device_802_11_wireless_set_mode,
4605                    nm_device_802_11_wireless_get_frequency,
4606                    nm_device_802_11_wireless_get_ssid,
4607                    nm_device_802_11_wireless_set_ssid,
4608                    nm_device_802_11_wireless_get_bitrate,
4609                    nm_device_802_11_wireless_get_bssid,
4610                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
4611                         instead of iwlib functions
4612
4613 2008-03-14  Dan Williams  <dcbw@redhat.com>
4614
4615         * src/ppp-manager/nm-ppp-manager.c
4616                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
4617                         should only take the DBusGMethodInvocation argument, not user/pass
4618                         too.  With dbus-glib, async functions only take 2 C arguments since
4619                         the real dbus method arguments get passed back with
4620                         dbus_g_method_return()
4621
4622 2008-03-13  Tambet Ingo  <tambet@gmail.com>
4623
4624         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
4625         Adapt the changes of NMSettingIP4Config.
4626
4627 2008-03-13  Dan Williams  <dcbw@redhat.com>
4628
4629         * src/NetworkManagerUtils.c
4630           src/NetworkManagerUtils.h
4631                 - (nm_ether_ntop): replacement for iw_ether_ntop()
4632
4633         * src/NetworkManagerAP.c
4634           src/nm-device-802-11-wireless.c
4635           src/nm-device-802-3-ethernet.c
4636                 - s/iw_ether_ntop/nm_ether_ntop/g
4637
4638 2008-03-13  Dan Williams  <dcbw@redhat.com>
4639
4640         * src/NetworkManagerPolicy.c
4641                 - (update_routing_and_dns): never set the default route through an
4642                         IPv4LL addressed device
4643
4644 2008-03-13  Dan Williams  <dcbw@redhat.com>
4645
4646         * NetworkManagerUtils.c
4647           NetworkManagerUtils.h
4648                 - Remove NMSock stuff
4649                 - Remove the completion stuff
4650
4651         * nm-device.c
4652           nm-device.h
4653           NetworkManager.c
4654           NetworkManagerSystem.c
4655           autoip.c
4656           nm-device-802-11-wireless.c
4657           nm-device-802-3-ethernet.c
4658                 - Remove NMSock and completion stuff
4659                 - Remove nm_ioctl_info()
4660
4661 2008-03-12  Dan Williams  <dcbw@redhat.com>
4662
4663         * src/nm-device.c
4664                 - (merge_ip4_config): avoid duplicates
4665
4666 2008-03-12  Dan Williams  <dcbw@redhat.com>
4667
4668         * libnm-util/nm-setting-ip4-config.c
4669           libnm-util/nm-setting-ip4-config.h
4670                 - Remove 'manual' and 'autoip' properties
4671                 - Add 'method' property
4672                 - (verify): fix verification with 'method'
4673                 - (finalize): free 'method'
4674                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
4675                         up for 'method'
4676
4677         * src/nm-device.c
4678                 - (real_act_stage3_ip_config_start): check IP4Config method
4679                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
4680                         the future
4681                 - (merge_ip4_config): IP settings are valid with DHCP too
4682                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
4683                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
4684
4685         * src/nm-device-802-11-wireless.c
4686                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
4687                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
4688                         only on demand
4689
4690         * system-settings/plugins/ifcfg-fedora/parser.c
4691           system-settings/plugins/ifcfg-suse/parser.c
4692                 - (make_ip4_setting): fix up for 'method'
4693
4694 2008-03-12  Dan Williams  <dcbw@redhat.com>
4695
4696         * system-settings/plugins/ifcfg-fedora/parser.c
4697           system-settings/plugins/ifcfg-fedora/parser.h
4698                 - (get_ifcfg_name): ignore more file suffixes
4699                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
4700
4701 2008-03-12  Dan Williams  <dcbw@redhat.com>
4702
4703         * configure.in
4704                 - Bring in the bits of gnome-common we actually use (all 15 lines)
4705
4706 2008-03-12  Dan Williams  <dcbw@redhat.com>
4707
4708         * system-settings/plugins/ifcfg-fedora/plugin.c
4709                 - (write_auto_wired_connection): new function; write out an auto
4710                         wired connection file since the applet isn't doing it any more
4711                 - (reload_all_connections): write out the auto wired connection file
4712                         if there aren't any wired connections already
4713                 - (init): don't leak a GError
4714
4715 2008-03-12  Dan Williams  <dcbw@redhat.com>
4716
4717         * src/nm-device-interface.c
4718                 - (nm_device_interface_activate): print the ID of the connection
4719                         that's about to be activated
4720
4721 2008-03-12  Dan Williams  <dcbw@redhat.com>
4722
4723         Harmonize the 802.11 bitrate API
4724
4725         * introspection/nm-access-point.xml
4726                 - 'Rate' -> 'MaxBitrate'; clarify units
4727
4728         * introspection/nm-device-802-11-wireless.xml
4729                 - Clarify units of 'Bitrate'
4730
4731         * src/NetworkManagerAP.c
4732           src/NetworkManagerAP.h
4733                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
4734                         property to 'max-bitrate'
4735                 - (foreach_property_cb): convert rate to Kb/s
4736
4737         * src/nm-device-802-11-wireless.c
4738                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
4739
4740         * libnm-glib/nm-access-point.c
4741           libnm-glib/nm-access-point.h
4742                 - 'rate' -> 'max-bitrate'
4743
4744         * test/nm-tool.c
4745           libnm-glib/libnm-glib-test.c
4746                 - Fix up for these changes
4747
4748 2008-03-12  Dan Williams  <dcbw@redhat.com>
4749
4750         * src/nm-device.c
4751                 - (nm_device_set_ip4_config): don't send property notifications when
4752                         the ip4 config is set to NULL; it causes a PropertyChanged signal
4753                         which dbus-glib can't parse because the value is NULL, which isn't
4754                         a legal object path.  Setting the IP4 config to NULL is only
4755                         valid when deactivating a device anyway, so the device state change
4756                         will alert listeners that the ip4 config is invalid.
4757
4758 2008-03-12  Dan Williams  <dcbw@redhat.com>
4759
4760         * src/nm-properties-changed-signal.c
4761                 - (add_to_string): better handling of NULL objects
4762
4763 2008-03-12  Dan Williams  <dcbw@redhat.com>
4764
4765         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
4766         convert the libnm-glib NMDevice8023Ethernet to cached properties
4767
4768         * introspection/nm-device-802-3-ethernet.xml
4769                 - New 'Carrier' property
4770                 - New 'PropertiesChanged' signal
4771
4772         * introspection/nm-device.xml
4773                 - Remove 'Carrier' property
4774                 - Remove 'CarrierChanged' signal
4775
4776         * src/nm-device-interface.c
4777           src/nm-device-interface.h
4778                 - (nm_device_interface_init): remove 'carrier' property and
4779                         'carrier-changed' signal
4780
4781         * src/nm-device.c
4782           src/nm-device.h
4783                 - (nm_device_get_carrier, nm_device_set_carrier): remove
4784                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
4785                         the link here; wired device will handle that
4786                 - (handle_dhcp_lease_change): don't bother updating link here
4787                 - (get_property, nm_device_class_init): remove carrier property
4788
4789         * src/nm-device-802-11-wireless.c
4790                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
4791                         real_update_link(); wireless devices don't use carrier at all
4792                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
4793                    supplicant_iface_connection_state_cb_handler,
4794                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
4795
4796         * src/nm-device-802-3-ethernet.c
4797           src/nm-device-802-3-ethernet.h
4798                 - (nm_device_802_3_ethernet_carrier_on,
4799                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
4800                         instead of nm_device_set_carrier()
4801                 - (device_state_changed): update link from sysfs on activation;
4802                         replaces real_update_link()
4803                 - (real_update_link): remove, replaced by device_state_changed()
4804                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
4805                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
4806                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
4807                         new get_carrier function
4808                 - (get_property): add 'carrier' property
4809                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
4810                         hook into property-changed signal helper
4811
4812         * src/NetworkManagerPolicy.c
4813                 - (device_carrier_changed): will only ever be called with a wired device
4814                 - (device_added): only hook up to carrier-changed for wired devices
4815
4816         * libnm-glib/nm-device.c
4817           libnm-glib/nm-device.h
4818                 - (constructor, nm_device_class_init): remove carrier-changed signal
4819                 - (device_carrier_changed_proxy): remove; unused
4820                 - (nm_device_get_carrier): remove; carrier a property of wired devices
4821
4822         * libnm-glib/nm-device-802-3-ethernet.c
4823           libnm-glib/nm-device-802-3-ethernet.h
4824                 - Convert to cached properties like AP and Wireless objects
4825                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
4826                         instead of a 'char *', return value should not be freed
4827                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
4828                 - (constructor): hook into properties-changed helper
4829                 - (set_property, get_property): new functions
4830                 - (nm_device_802_3_ethernet_class_init): export GObject properties
4831
4832         * test/nm-tool.c
4833                 - (detail_device): strdup the wired hardware address too since it's
4834                         cached now
4835
4836         * libnm-glib/libnm-glib-test.c
4837                 - (dump_wired): strdup the wired hardware address too since it's
4838                         cached now
4839
4840 2008-03-12  Dan Williams  <dcbw@redhat.com>
4841
4842         * libnm-util/nm-setting-ip4-config.c
4843           libnm-util/nm-setting-ip4-config.h
4844                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
4845                         the 'autoip' property from the spec
4846
4847 2008-03-11  Dan Williams  <dcbw@redhat.com>
4848
4849         * src/backends/NetworkManagerGeneric.c
4850           src/backends/NetworkManagerGeneric.h
4851                 - (nm_generic_device_get_use_dhcp): remove
4852
4853 2008-03-11  Dan Williams  <dcbw@redhat.com>
4854
4855         * src/nm-device.c
4856                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
4857                         already in nm_device_set_ip4_config()
4858                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
4859                         due to a DHCP rebind fails
4860                 - (nm_device_set_ip4_config): send property notifications when the
4861                         ip4 config changes
4862                 - (get_property): only report IP4Config property during valid states
4863
4864         * src/NetworkManagerPolicy.c
4865                 - (update_routing_and_dns): ignore devices that don't have an ip4
4866                         config; add parameter 'force_update' to allow callers to specify
4867                         that changes should be made even if the default device doesn't change
4868                 - (device_ip4_config_changed): update DNS and routing when the device's
4869                         IP4Config changes, like for DHCP updates
4870                 - (device_added): listen for ip4-config property changes
4871
4872 2008-03-11  Dan Williams  <dcbw@redhat.com>
4873
4874         Fix address handling as a result of DHCP rebind/renew/reboot.
4875
4876         * src/NetworkManagerSystem.c
4877                 - (check_one_address): delete an address if it doesn't match a given
4878                         one for the same interface
4879                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
4880                         be smarter about flushing addresses (only flush ones that don't
4881                         match the one we're about to apply)
4882
4883         * src/backends/NetworkManagerDebian.c
4884           src/backends/NetworkManagerSuSE.c
4885           src/backends/NetworkManagerArch.c
4886           src/backends/NetworkManagerSlackware.c
4887           src/backends/NetworkManagerRedHat.c
4888           src/backends/NetworkManagerPaldo.c
4889           src/backends/NetworkManagerFrugalware.c
4890           src/backends/NetworkManagerGentoo.c
4891                 - (nm_system_delete_default_route): remove
4892
4893         * src/backends/NetworkManagerGeneric.c
4894           src/backends/NetworkManagerGeneric.h
4895                 - (nm_generic_enable_loopback): fix the loopback device label
4896                 - (nm_generic_delete_default_route): remove; no longer used
4897
4898 2008-03-11  Dan Williams  <dcbw@redhat.com>
4899
4900         * src/nm-device-interface.h
4901                 - Delimit property name words with '-', otherwise g_object_notify()
4902                         doesn't work the way we expect
4903
4904 2008-03-11  Tambet Ingo  <tambet@gmail.com>
4905
4906         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
4907
4908 2008-03-11  Dan Williams  <dcbw@redhat.com>
4909
4910         * src/NetworkManagerPolicy.c
4911                 - (update_routing_and_dns): don't change anything if the default device
4912                         hasn't changed; print something out when switching the default route
4913                         and DNS
4914
4915 2008-03-10  Tambet Ingo  <tambet@gmail.com>
4916
4917         Implement PPPoE.
4918
4919         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
4920         setting. Use "nic-$eth".
4921
4922         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
4923         the device is activating here to fix a race condition.
4924
4925         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
4926
4927         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
4928         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
4929         (nm_ppp_manager_start): Take activation request instead of connection, we might
4930         need it for asking secrets.
4931         (nm_ppp_manager_update_secrets): Implement.
4932
4933         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
4934         ppp manager start. It might be needed for asking secrets.
4935
4936         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
4937         (ppp_state_changed): Handle pppd daemon disappearing.
4938         (pppoe_stage2_config): Send activation request to ppp manager start.
4939
4940         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
4941
4942         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
4943         username and password.
4944         
4945 2008-03-10  Dan Williams  <dcbw@redhat.com>
4946
4947         * src/nm-device.c
4948                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
4949                         response to a DHCP lease change
4950                 - (dhcp_state_changed): handle DHCP lease changes while activated
4951                 - (nm_device_set_ip4_config): remove a previously set named config
4952                         when setting an ip4 config
4953
4954 2008-03-10  Dan Williams  <dcbw@redhat.com>
4955
4956         * src/nm-serial-device.c
4957                 - (nm_serial_device_send_command): report errno on error
4958                 - (get_reply_got_data): limit the size of the overall buffer
4959                 - (wait_for_reply_info_destroy): destroy result string
4960                 - (wait_for_reply_got_data): append received data to an overall buffer
4961                         until timeout, filled buffer, or error instead of keeping a per-call
4962                         buffer.  Some devices send data slowly enough that this function
4963                         gets called multiple times for the same command stream.
4964                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
4965                         wait_for_reply_got_data() here
4966
4967 2008-03-10  Dan Williams  <dcbw@redhat.com>
4968
4969         * src/nm-cdma-device.c
4970                 - (do_dial, init_modem): handle errors from
4971                         nm_serial_device_send_command_string()
4972
4973         * src/nm-gsm-device.c
4974                 - (do_dial, manual_registration, automatic_registration_get_network,
4975                    automatic_registration, enter_pin, check_pin, init_modem): handle
4976                         errors from nm_serial_device_send_command_string()
4977
4978 2008-03-10  Dan Williams  <dcbw@redhat.com>
4979
4980         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
4981
4982         * src/named-manager/nm-named-manager.c
4983                 - (compute_searches): prefer searches before domains
4984                 - (compute_domain): new function
4985                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
4986                 - (merge_one_ip4_config): if there are no searches in the source config,
4987                         merge domains of the source config into the target config
4988                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
4989
4990 2008-03-10  Dan Williams  <dcbw@redhat.com>
4991
4992         * src/nm-serial-device.c
4993                 - (get_reply_got_data): clean up indentation, shrink serial buffer
4994                 - (wait_for_reply_got_data): try to handle slower serial devices where
4995                         the reply is broken up into multiple reads by concatenating replies
4996                         together until either an error is received or the search string is
4997                         found
4998
4999 2008-03-10  Dan Williams  <dcbw@redhat.com>
5000
5001         * src/nm-device.c
5002                 - (nm_device_bring_down): deactivate the device if it's activating too,
5003                         not just if it's already activated.  This makes sure that everything
5004                         from an association attempt is cleaned up (like DHCP for example)
5005
5006 2008-03-10  Dan Williams  <dcbw@redhat.com>
5007
5008         * src/nm-serial-device.c
5009                 - (config_fd): report error from TCSETA
5010                 - (nm_serial_device_open): fail when config_fd() fails
5011
5012 2008-03-10  Dan Williams  <dcbw@redhat.com>
5013
5014         * src/nm-ip4-config.c
5015                 - (nm_ip4_config_init): allocate searches list
5016                 - (finalize): free searches list
5017
5018 2008-03-09  Dan Williams  <dcbw@redhat.com>
5019
5020         Patch from Bas Zoetekouw <bas@debian.org>
5021
5022         * src/dhcp-manager/nm-dhcp-manager.c
5023                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
5024
5025 2008-03-09  Dan Williams  <dcbw@redhat.com>
5026
5027         Patch from Bas Zoetekouw <bas@debian.org>
5028
5029         * src/nm-ip4-config.c
5030           src/nm-ip4-config.h
5031                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
5032                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
5033                         domains.  'searches' is the correct way to store multiple search
5034                         domains, whereas 'domains' is really just supposed to store one
5035                         domain.  Some sites abuse the DHCP 'domain-name' option to push
5036                         search domains to the client.
5037                 - (nm_ip4_config_add_domain): group with related functions (my patch)
5038
5039 2008-03-09  Dan Williams  <dcbw@redhat.com>
5040
5041         * src/dhcp-manager/nm-dhcp-manager.c
5042                 - (dhclient_run): send interface-specific config files to dhclient
5043
5044 2008-03-07  Dan Williams  <dcbw@redhat.com>
5045
5046         * system-settings/plugins/ifcfg-fedora/parser.c
5047                 - (is_wireless_device): new function; test a device for wireless
5048                         extensions
5049                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
5050                         test the device for wireless extensions to determine the type
5051
5052 2008-03-07  Dan Williams  <dcbw@redhat.com>
5053
5054         Change manager's StateChange signal to StateChanged for consistency.
5055
5056         * introspection/nm-manager.xml
5057                 - Add 'StateChanged' signal
5058                 - Move 'StateChange' down to the deprecated section
5059
5060         * src/nm-hal-manager.c
5061                 - (nm_hal_manager_new): connect to 'state-changed' instead
5062
5063         * src/NetworkManagerPolicy.c
5064                 - (nm_policy_new): connect to 'state-changed' instead
5065
5066         * src/nm-manager.c
5067           src/nm-manager.h
5068                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
5069                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
5070                         of 'state-change'
5071
5072         * libnm-glib/nm-client.c
5073           libnm-glib/nm-client.h
5074                 - (constructor, nm_client_class_init, client_state_changed_proxy):
5075                         track and proxy 'state-changed' instead of 'state-change'
5076
5077 2008-03-07  Dan Williams  <dcbw@redhat.com>
5078
5079         First pass of multiple active device support.  Expect bugs.
5080
5081         * src/nm-ip4-config.c
5082           src/nm-ip4-config.h
5083                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
5084                         there are better ways to do this in the named manager
5085
5086         * src/nm-device.c
5087           src/nm-device.h
5088                 - (nm_device_can_activate): return whether the device can activate a
5089                         connection right now; taking into account things like carrier state
5090                         and rfkill state
5091                 - (nm_device_get_best_auto_connection): renamed from
5092                         nm_device_get_best_connection
5093                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
5094                         device subclasses themselves, so that each device can override the
5095                         MTU from it's NMSetting subclass if needed
5096                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
5097                         in NetworkManagerSystem.c, not here
5098
5099         * src/named-manager/nm-named-manager.c
5100           src/named-manager/nm-named-manager.h
5101                 - (nm_named_manager_name_owner_changed,
5102                    nm_named_manager_dbus_connection_changed): fix for changes to
5103                         rewrite_resolv_conf()
5104                 - (compute_nameservers): don't need the NMNamedManager at all, remove
5105                         from parameter list
5106                 - (merge_one_ip4_config): new function; merge ip4 configs together
5107                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
5108                         ip4 configs; the VPN config takes precedence, then the best
5109                         device config, then the rest of the configs
5110                 - (get_domain_for_config): take the NMNamedManager as an argument
5111                         to check whether the config is the VPN config
5112                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
5113                         attribute from ip4 configs
5114                 - (add_all_ip4_configs_to_named): add all the configs in priority order
5115                 - (remove_ip4_config_from_named): fix for changes to
5116                         get_domain_for_config()
5117                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
5118                         based on its type; callers must pass in the type now
5119                 - (get_last_default_domain): remove, unused
5120                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
5121
5122         * src/nm-device-802-11-wireless.c
5123                 - (real_can_activate): new function
5124                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5125                 - (real_act_stage4_get_ip4_config): handle MTU override
5126
5127         * src/nm-device-802-3-ethernet.c
5128                 - (real_can_activate): new function
5129                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5130                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
5131
5132         * src/vpn-manager/nm-vpn-connection.c
5133                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
5134                         attribute on the ip4 config
5135
5136         * src/NetworkManagerPolicy.c
5137                 - (nm_policy_auto_get_best_device): remove
5138                 - (nm_policy_device_change_check): remove
5139                 - (update_default_route): new function; set the default route via
5140                         the specified device
5141                 - (get_device_priority): new function; return the priority number of
5142                         a device type WRT which one should have the default route.  Order is
5143                         (highest to lowest)  wired, wireless, GSM, CDMA.
5144                 - (update_routing_and_dns): new function; determine which device should
5145                         have the default route, then update the routing table and DNS
5146                 - (maybe_auto_activate_device): new function; if a device is now
5147                         available for activation, find out what connection it would like to
5148                         activate and do it
5149                 - (schedule_activate_check): new function; if a device can be activated
5150                         now, schedule the activation.  Each device may have only one
5151                         pending activation at a given time.
5152                 - (device_state_changed): if activation was canceled, try again,
5153                         possibly with another connection; if the device was activated,
5154                         update routing and DNS; if the device was deactivated, try again
5155                         with another connection
5156                 - (device_carrier_changed): if there is no carrier, deactivate the
5157                         device; otherwise schedule an activation check for the device
5158                 - (wireless_networks_changed): schedule an activation check for the
5159                         device
5160                 - (device_added): keep track of the signal handler IDs so they can
5161                         be removed when the device goes away
5162                 - (device_removed): remove any signal handlers that might be attached
5163                         to the device; update routing and DNS
5164                 - (schedule_activate_all): new function
5165                 - (connections_added, connection_added, connection_updated): when
5166                         connections change, schedule all devices for an activation check
5167                 - (connection_removed): when a device is deactivated because its
5168                         connection was removed, schedule another activation check for it
5169                 - (nm_policy_destroy): destroy pending activations and disconnect
5170                         all device signal handlers
5171
5172         * src/nm-manager.c
5173                 - (nm_manager_activate_device): if the device was already actived,
5174                         deactivate it
5175                 - (deactivate_old_device): remove
5176                 - (connection_added_default_handler, impl_manager_activate_device):
5177                         don't deactivate other devices when activating this one
5178
5179         * src/backends/NetworkManagerGentoo.c
5180           src/backends/NetworkManagerFrugalware.c
5181           src/backends/NetworkManagerPaldo.c
5182           src/backends/NetworkManagerRedHat.c
5183           src/backends/NetworkManagerSlackware.c
5184           src/backends/NetworkManagerArch.c
5185           src/backends/NetworkManagerSuSE.c
5186           src/backends/NetworkManagerDebian.c
5187                 - (nm_system_get_mtu): remove; MTU should be provided through the
5188                         distro's system settings service plugin instead
5189                 - (nm_system_device_add_default_route_via_device): remove
5190                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5191                 - (nm_system_device_replace_default_route): new function; call
5192                         generic implementation
5193
5194         * src/backends/NetworkManagerGeneric.c
5195           src/backends/NetworkManagerGeneric.h
5196                 - (nm_generic_device_add_default_route_via_device,
5197                    nm_generic_device_add_default_route_via_device_with_iface): remove
5198                 - (nm_generic_device_replace_default_route): replace the default route
5199                         with the given route via some gateway
5200
5201         * src/NetworkManagerSystem.c
5202           src/NetworkManagerSystem.h
5203                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
5204                         to routing and DNS; but set the MTU here
5205                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
5206                         ip_iface of the active device; use the standard MTU setting function
5207                 - (nm_system_set_mtu): remove
5208                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
5209
5210 2008-03-07  Tambet Ingo  <tambet@gmail.com>
5211
5212         Rework the interaction between ppp manager and pppd plugin. Register a well
5213         known DBUS service in manager and let the plugin call it's methods instead
5214         of listening plugin's signals.
5215
5216         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
5217         of emitting signals.
5218
5219         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
5220
5221         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
5222
5223         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
5224         nm_ppp_manager_start().
5225
5226         * introspection/nm-ppp-manager.xml: New file.
5227
5228         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
5229         the case correctly where driver is trying to send -1 for the speed, which gets
5230         casted to u16 and thus is always > 0.
5231
5232 2008-03-07  Dan Williams  <dcbw@redhat.com>
5233
5234         * src/nm-hal-manager.c
5235                 - (nm_get_device_driver_name): use net.originating_device first, fall
5236                         back to physical device.  HAL has deprecated physical_device.
5237
5238         * libnm-glib/nm-device.c
5239                 - (get_product_and_vendor): use net.originating_device first, fall
5240                         back to physical device.  HAL has deprecated physical_device.
5241                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
5242
5243 2008-03-07  Dan Williams  <dcbw@redhat.com>
5244
5245         * src/nm-netlink.c
5246                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
5247                         last commit; fix that
5248                 - (get_link_cache): print error string
5249
5250 2008-03-07  Dan Williams  <dcbw@redhat.com>
5251
5252         * src/nm-netlink.c
5253                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
5254                         don't need this hack any more (Benoit Boissinot)
5255
5256 2008-03-06  Dan Williams  <dcbw@redhat.com>
5257
5258         * autogen.sh
5259                 - Die gnome-common, die
5260
5261 2008-03-04  Dan Williams  <dcbw@redhat.com>
5262
5263         Patch from Michael Biebl <biebl@debian.org>
5264
5265         * NetworkManager.pc.in
5266                 - doesn't actually depend on dbus-1
5267
5268         * libnm-util/nm-utils.h
5269                 - remove unused #include <dbus/dbus.h>
5270
5271         * libnm-glib/libnm_glib.pc.in
5272                 - depends on glib and dbus-glib
5273
5274 2008-03-02  Dan Williams  <dcbw@redhat.com>
5275
5276         * src/NetworkManagerPolicy.c
5277                 - s/device_state_changed_idle_id/update_state_id/
5278
5279 2008-03-02  Dan Williams  <dcbw@redhat.com>
5280
5281         * src/nm-device.c
5282           src/nm-device.h
5283           src/nm-device-802-11-wireless.c
5284           src/nm-device-802-3-ethernet.c
5285           src/NetworkManagerPolicy.c
5286                 - s/link_active/carrier
5287                 - nm_device_set_active_link() -> nm_device_set_carrier()
5288                 - nm_device_has_active_link() -> nm_device_get_carrier()
5289
5290 2008-03-02  Dan Williams  <dcbw@redhat.com>
5291
5292         * system-settings/plugins/ifcfg-fedora/parser.c
5293                 - (make_wireless_setting): fail connection creation on missing SSID
5294
5295 2008-02-29  Dan Williams  <dcbw@redhat.com>
5296
5297         * src/NetworkManagerPolicy.c
5298                 - (nm_policy_device_change_check): ensure that a previously active
5299                         device with a system connection has a link before denying a switch
5300                         to a user connection
5301
5302 2008-02-29  Dan Williams  <dcbw@redhat.com>
5303
5304         * src/nm-device-802-11-wireless.c
5305                 - (link_timeout_cb): try again if scanning; deactivate the device when
5306                         activated if the link dies
5307                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
5308                         15 seconds
5309
5310 2008-02-29  Dan Williams  <dcbw@redhat.com>
5311
5312         * src/nm-device-802-11-wireless.c
5313           src/nm-device-802-11-wireless.h
5314                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
5315                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
5316                 - (device_cleanup): reset the scan interval lower when the device
5317                         deactivates
5318                 - (can_scan): base decision mostly off device state, not supplicant
5319                         interface state since the supplicant interface state isn't a
5320                         great indicator of whether the device is active or not
5321                 - (request_wireless_scan): clean up; schedule the next scan here
5322                 - (schedule_scan): only back the scan interval off if a new scan
5323                         actually gets scheduled; and make scan intervals tighter when the
5324                         device is disconnected
5325                 - (supplicant_iface_state_cb_handler): fold in the bits of
5326                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
5327                         interval to minimum
5328                 - (activation_success_handler): reset scan interval to something
5329                         reasonable 
5330
5331 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
5332
5333         reviewed by: Steev <steev@steev.net>
5334
5335         * configure.in:
5336         * src/backends/NetworkManagerGentoo.c:
5337         (nm_system_restart_mdns_responder):
5338                 Howl is no longer a supported mDNS provider
5339
5340 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5341
5342         Get rid of a bunch of unused distro specific functions.
5343
5344 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5345
5346         Implement suse plugin for system settings daemon.
5347
5348         * system-settings/plugins/ifcfg-suse/*: Implement.
5349
5350         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
5351         suse.
5352
5353         * configure.in: Check (without failing) for gio.
5354         Create ifcfg-suse plugin's Makefile.
5355
5356 2008-02-20  Dan Williams  <dcbw@redhat.com>
5357
5358         * libnm-util/nm-connection.c
5359           libnm-util/nm-connection.h
5360                 - (nm_connection_compare): accept compare flags and pass them to the
5361                         setting compare function
5362
5363         * libnm-util/nm-setting.c
5364           libnm-util/nm-setting.h
5365                 - (nm_setting_compare): accept compare flags; ignore properties that are
5366                         marked fuzzy
5367
5368         * libnm-util/nm-setting-connection.c
5369           libnm-util/nm-setting-wireless.c
5370           libnm-util/nm-setting-ppp.c
5371           libnm-util/nm-setting-wired.c
5372                 - Mark some setting properties as ignorable when doing a fuzzy compare
5373
5374         * src/nm-device.c
5375                 - (device_activation_precheck): use exact compare
5376
5377 2008-02-20  Dan Williams  <dcbw@redhat.com>
5378
5379         * src/NetworkManagerPolicy.c
5380                 - (nm_policy_device_change_check): get scope off the connection, not
5381                         using the manager helper
5382
5383         * src/nm-manager.c
5384           src/nm-manager.h
5385                 - (get_scope_for_proxy): rename from get_type_for_proxy()
5386                 - (connection_get_settings_cb): set scope and path on connection, not
5387                         using GObject data items
5388                 - (get_connection_for_proxy): don't need to return path, since that
5389                         can be gotten from the connection
5390                 - (get_connection_for_proxy): get path off the connection, not from
5391                         parameters
5392                 - (connection_removed_cb, connection_updated_cb): don't need to get
5393                         path from get_connection_for_proxy(); get scope off the connection
5394                         instead of using GObject data items
5395                 - (connection_added_default_handler, add_one_connection_element): use
5396                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
5397                 - (nm_manager_get_connection_dbus_path): remove
5398                 - (nm_manager_get_connection_scope): remove
5399
5400 2008-02-20  Dan Williams  <dcbw@redhat.com>
5401
5402         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
5403                 on confusing names
5404
5405         * Add 'path' and 'scope' properties to NMConnection since both NM and the
5406                 applet were having to hack this in anyway.  Remove the 'path' stuff from
5407                 NMExportedConnection
5408
5409         * Internally rename NMConnectionType -> NMConnectionScope
5410
5411         * Provide default implementations of the 'get_id' and 'get_settings' methods
5412                 of NMExportedConnection
5413
5414 2008-02-15  Dan Williams  <dcbw@redhat.com>
5415
5416         * src/nm-device-802-11-wireless.c
5417                 - (device_cleanup): release the AP list here too so that the AP list
5418                         doesn't survive across suspend/resume and up/down.  There is some
5419                         room for optimization, for example blow the list away when the card
5420                         brought back up, but only if the device has only been down for a
5421                         minute or more.
5422
5423 2008-02-15  Dan Williams  <dcbw@redhat.com>
5424
5425         * src/nm-hal-manager.c
5426                 - (modem_device_creator): recognize new HAL modem capabilities
5427
5428 2008-02-12  Dan Williams  <dcbw@redhat.com>
5429
5430         * system-settings/plugins/ifcfg-fedora/plugin.c
5431                 - (watch_path): handle IN_DELETE_SELF too
5432                 - (handle_connection_changed): notify when removing a connection
5433                 - (stuff_changed): don't warn on unknown inotify watches; handle the
5434                         case of a file moving out of the profile directory
5435
5436 2008-02-12  Dan Williams  <dcbw@redhat.com>
5437
5438         * system-settings/plugins/ifcfg-fedora/parser.c
5439                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
5440
5441 2008-02-12  Dan Williams  <dcbw@redhat.com>
5442
5443         * libnm-util/nm-utils.c
5444                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
5445                         just any empty array
5446
5447 2008-02-12  Dan Williams  <dcbw@redhat.com>
5448
5449         * system-settings/src/nm-system-config-interface.c
5450           system-settings/src/nm-system-config-interface.h
5451                 - (load_connections): get_connections() should now return an allocated
5452                         GSList that the system settings service will free
5453
5454         * system-settings/plugins/ifcfg-fedora/plugin.c
5455           system-settings/plugins/ifcfg-fedora/parser.h
5456           system-settings/plugins/ifcfg-fedora/parser.c
5457                 - Fix up inotify issues; handle keys-* files, handle new files appearing
5458                         in the profile directory, handle resolv.conf file changes
5459
5460 2008-02-10  Dan Williams  <dcbw@redhat.com>
5461
5462         * src/nm-device-802-3-ethernet.c
5463                 - (real_bring_up): save the supplicant interface state signal id
5464                 - (real_bring_down): disconnect from the supplicant interface state
5465                         signal
5466
5467 2008-02-07  Dan Williams  <dcbw@redhat.com>
5468
5469         * initscript/RedHat/NetworkManager.in
5470           initscript/RedHat/NetworkManagerDispatcher.in
5471                 - Add new-style LSB init headers
5472
5473 2008-02-07  Dan Williams  <dcbw@redhat.com>
5474
5475         * system-settings/src/dbus-settings.c
5476           system-settings/src/dbus-settings.h
5477                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
5478                         table of secrets
5479                 - (connection_settings_get_secrets): consolidate error returns into
5480                         one place; use the new get_secrets() plugin interface function to
5481                         get secrets from the plugin itself rather than using GObject data
5482                         magic
5483
5484         * system-settings/src/main.c
5485                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
5486                    load_connections): keep a private list of the plugin-returned
5487                         connections, don't use the plugin's GSList
5488
5489         * system-settings/plugins/ifcfg-fedora/plugin.c
5490                 - (watch_path): watch the path, not the filename (duh)
5491                 - (reload_all_connections): use the direct hash/equal functions; the
5492                         ones for int aren't appropriate here
5493                 - (get_secrets, system_config_interface_init): implement the
5494                         get_secrets() function
5495                 - (build_one_connection, find_connection_by_path): ifcfg file path is
5496                         now in the connection's ConnectionData instead of being a GObject
5497                         data property
5498                 - (handle_profile_item_changed): ifcfg file path is now in the
5499                         connection's ConnectionData instead of being a GObject data property;
5500                         be sure to copy secrets over from the new connection to the existing
5501                         connection when updating the connection's settings
5502                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
5503                         file descriptor
5504
5505         * system-settings/plugins/ifcfg-fedora/parser.c
5506           system-settings/plugins/ifcfg-fedora/parser.h
5507                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
5508                    connection_data_copy_secrets, connection_data_free,
5509                    connection_data_add): new functions; connection data manipulation
5510                 - (make_wireless_security_setting): stuff secrets into the
5511                         connection data, not as GObject data items; make sure to close
5512                         the keys ifcfg file
5513                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
5514                         connection data to the connection
5515
5516 2008-02-07  Dan Williams  <dcbw@redhat.com>
5517
5518         * system-settings/src/nm-system-config-interface.c
5519           system-settings/src/nm-system-config-interface.h
5520                 - Add a get_secrets() interface function to retrieve secrets for a
5521                         specific setting of a specific connection.  Document the interface
5522                         a bit more too.
5523
5524 2008-02-07  Dan Williams  <dcbw@redhat.com>
5525
5526         * src/nm-device-802-11-wireless.c
5527                 - (handle_auth_or_fail): new function; consolidate device activation
5528                         failure check after a certain number of failures getting secrets
5529                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
5530                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
5531                         the connection if secrets were requested more than a few times
5532                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
5533                         tries here; otherwise they are cleared before the IP configure
5534                         timeout, which happens with open system WEP when key is wrong
5535                 - (activation_success_handler): clear wireless secrets tries here too
5536
5537 2008-02-07  Dan Williams  <dcbw@redhat.com>
5538
5539         * src/NetworkManagerPolicy.c
5540                 - (connection_updated): clear invalid tag when connection gets updated
5541                         to allow that connection to be tried again
5542                 - (nm_policy_new): save signal ids so they can be disconnected when
5543                         the policy is destroyed
5544                 - (nm_policy_destroy): stop any in-progress state change idle handler,
5545                         and disconnect all signals from the manager object so that none
5546                         of the policy functions gets called after the policy is destroyed
5547
5548 2008-02-06  Dan Williams  <dcbw@redhat.com>
5549
5550         * src/nm-manager.c
5551                 - (finalize): remove devices a bit earlier; clean up system settings
5552                         poke
5553                 - (nm_manager_name_owner_changed): clean up system settings poke when
5554                         the service appears, and try to restart it if it fails
5555                 - (poke_system_settings_daemon_cb): try to get the system settings
5556                         service started through D-Bus service activation
5557                 - (initial_get_connections): start the system settings daemon if it's
5558                         not already running
5559
5560 2008-02-05  Dan Williams  <dcbw@redhat.com>
5561
5562         * src/supplicant-manager/nm-supplicant-config.c
5563                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
5564                         broadcast networks too
5565
5566 2008-02-04  Dan Williams  <dcbw@redhat.com>
5567
5568         * system-settings/plugins/ifcfg-fedora/parser.c
5569                 - (make_wireless_security_setting): fix spelling; unencrypted networks
5570                         need key_mgmt set too
5571                 - (parser_parse_file): validate ifcfg file name and don't try to parse
5572                         .bak files; ensure that an error is set whenever NULL gets returned
5573
5574 2008-02-04  Dan Williams  <dcbw@redhat.com>
5575
5576         * system-settings/src/Makefile.am
5577                 - Install D-Bus service activation file for the system settings
5578                         service
5579
5580         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
5581                 - D-Bus service activation file for system settings service
5582
5583 2008-02-04  Dan Williams  <dcbw@redhat.com>
5584
5585         * system-settings/src/main.c
5586                 - (parse_config_file): parse a config file
5587                 - (main): accept --config option and read plugins from config file
5588
5589 2008-02-04  Dan Williams  <dcbw@redhat.com>
5590
5591         * system-settings/plugins/ifcfg-fedora/plugin.c
5592                 - Change reported name to 'ifcfg-fedora'
5593                 - Use IFCFG_PLUGIN_NAME
5594
5595         * system-settings/plugins/ifcfg-fedora/plugin.c
5596                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
5597
5598 2008-02-04  Dan Williams  <dcbw@redhat.com>
5599
5600         * system-settings/plugins/ifcfg-fedora/parser.c
5601                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
5602                 - (make_connection_setting): use get_ifcfg_name()
5603                 - (make_wireless_security_setting): handle shadow key files
5604                 - (get_one_wep_key): treat empty string as NULL
5605
5606 2008-02-04  Dan Williams  <dcbw@redhat.com>
5607
5608         * src/supplicant-manager/nm-supplicant-manager.c
5609                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
5610                         glib automatically reschedule
5611                 - (nm_supplicant_manager_init): immediately try to start the supplicant
5612                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
5613                         the supplicant
5614
5615 2008-02-01  Dan Williams  <dcbw@redhat.com>
5616
5617         * src/NetworkManagerPolicy.c
5618                 - (device_state_changed): schedule a change check when a device gets
5619                         deactivated so something happens if you disconnect GSM/CDMA
5620
5621 2008-01-31  Dan Williams  <dcbw@redhat.com>
5622
5623         * src/nm-device-802-11-wireless.h
5624           src/nm-device-802-11-wireless.c
5625                 - (ap_list_get_ap_by_ssid, is_associated,
5626                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
5627                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
5628                 - (nm_device_802_11_wireless_get_activation_ap): collapse
5629                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
5630                         function
5631
5632 2008-01-30  Dan Williams  <dcbw@redhat.com>
5633
5634         * system-settings/plugins/ifcfg
5635         * system-settings/plugins/ifcfg-fedora
5636                 - Move the ifcfg plugin to ifcfg-fedora
5637
5638 2008-01-24  Dan Williams  <dcbw@redhat.com>
5639
5640         * libnm-glib/nm-device-802-11-wireless.c
5641                 - (get_access_point): move the "/" check here; check for invalid path
5642                         too
5643                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
5644                         to get_access_point()
5645                 - (access_point_added_proxy, access_point_removed_proxy): don't try
5646                         to send signals for non-existent access points
5647
5648 2008-01-24  Dan Williams  <dcbw@redhat.com>
5649
5650         * libnm-glib/nm-device-802-11-wireless.c
5651                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
5652
5653 2008-01-23  Dan Williams  <dcbw@redhat.com>
5654
5655         * libnm-glib/libnm_glib.c
5656                 - (libnm_glib_init): make thread joinable
5657                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
5658
5659 2008-01-23  Dan Williams  <dcbw@redhat.com>
5660
5661         * test/libnm_glib_test.c
5662                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
5663                 - (main): set up signal handlers; call libnm_glib_shutdown
5664
5665 2008-01-21  Dan Williams  <dcbw@redhat.com>
5666
5667         * include/NetworkManager.h
5668                 - Add CDMA mobile broadband card device type
5669
5670         * src/nm-hal-manager.c
5671                 - (modem_device_creator): handle both CDMA and GSM modems; the device
5672                         must now be tagged with 'cdma' or 'gsm' capability
5673
5674         * src/nm-cdma-device.c
5675           src/nm-cdma-device.h
5676           src/Makefile.am
5677                 - Add the CDMA mobile broadband card device class
5678
5679         * libnm-util/nm-connection.c
5680                 - (register_default_settings): add NMSettingCdma
5681
5682         * libnm-util/nm-setting-cdma.c
5683           libnm-util/nm-setting-cdma.h
5684           libnm-util/Makefile.am
5685                 - Add the CDMA mobile broadband card setting class
5686
5687         * libnm-glib/nm-cdma-device.c
5688           libnm-glib/nm-cdma-device.h
5689           libnm-glib/Makefile.am
5690                 - Add the CDMA mobile broadband card GLib proxy class
5691
5692         * libnm-glib/nm-client.c
5693                 - (get_device): handle CDMA devices too
5694
5695 2008-01-21  Dan Williams  <dcbw@redhat.com>
5696
5697         * src/ppp-manager/nm-ppp-manager.c
5698                 - (ip4_config_get): set peer address too
5699
5700         * src/ppp-manager/nm-pppd-plugin.c
5701                 - (nm_ip_up): try harder to get the peer's address
5702
5703         * src/NetworkManagerSystem.c
5704                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
5705                         address, use that too.  Otherwise, some PPP connections won't work.
5706
5707 2008-01-19  Dan Williams  <dcbw@redhat.com>
5708
5709         * src/NetworkManagerPolicy.c
5710                 - (nm_policy_device_change_check): system connections override user
5711                         connections; don't activate a user connection if there's a currently
5712                         active system connection, and new, better system connections always
5713                         interrupt user connections
5714
5715 2008-01-19  Dan Williams  <dcbw@redhat.com>
5716
5717         * src/nm-manager.h
5718                 - (nm_manager_get_connection_type): new function
5719
5720 2008-01-19  Dan Williams  <dcbw@redhat.com>
5721
5722         * src/nm-device-802-11-wireless.c
5723                 - (real_get_best_connection): collapse find_best_connection() into this
5724                         function
5725
5726 2008-01-19  Dan Williams  <dcbw@redhat.com>
5727
5728         * src/nm-device-802-3-ethernet.c
5729                 - (real_get_best_connection): collapse find_best_connection() into this
5730                         function
5731
5732 2008-01-18  Dan Williams  <dcbw@redhat.com>
5733
5734         * src/nm-device-802-3-ethernet.c
5735                 - (find_best_connection): check MAC address too
5736                 - (real_get_best_connection): let autoconnect=True connections activate
5737                         for devices that don't have carrier detection
5738
5739         * src/nm-device-802-11-wireless.c
5740                 - (find_best_connection): check MAC address too
5741
5742 2008-01-18  Dan Williams  <dcbw@redhat.com>
5743
5744         * system-settings/plugins/ifcfg/parser.c
5745                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
5746
5747 2008-01-17  Dan Williams  <dcbw@redhat.com>
5748
5749         * src/nm-device-802-3-ethernet.c
5750                 - (nm_device_802_3_ethernet_carrier_on,
5751                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
5752                         carrier events that might come in for devices that don't support
5753                         carrier detect
5754
5755 2008-01-17  Dan Williams  <dcbw@redhat.com>
5756
5757         * src/nm-device-interface.c
5758                 - (nm_device_interface_check_connection_conflicts): need to actually
5759                         get the interface, not cast to the object
5760
5761         * src/nm-device.c
5762                 - (nm_device_check_connection_conflicts): need to get the device class,
5763                         not cast the device to the device class
5764
5765 2008-01-17  Dan Williams  <dcbw@redhat.com>
5766
5767         * src/nm-device-802-11-wireless.c
5768                 - (real_check_connection_conflicts): ignore connections that aren't
5769                         wireless connections
5770
5771 2008-01-17  Dan Williams  <dcbw@redhat.com>
5772
5773         * src/NetworkManagerPolicy.c
5774                 - (nm_policy_device_change_check): clear change check idle here
5775                 - (device_change_check_done): remove
5776                 - (schedule_change_check): simplify
5777
5778 2008-01-17  Dan Williams  <dcbw@redhat.com>
5779
5780         * src/nm-manager.c
5781                 - (check_connection_allowed): take an NMDeviceInterface instead of
5782                         an NMDevice object as an argument
5783                 - (nm_manager_activate_device): pass an NMDeviceInterface to
5784                         check_connection_allowed()
5785
5786 2008-01-13  Dan Williams  <dcbw@redhat.com>
5787
5788         * libnm-glib/nm-device-802-11-wireless.c
5789                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
5790
5791 2008-01-12  Dan Williams  <dcbw@redhat.com>
5792
5793         * src/nm-device-802-11-wireless.c
5794                 - (activation_success_handler): if a match was found in the scan list
5795                         and that match is a hidden AP, update that AP's SSID
5796
5797 2008-01-11  Dan Williams  <dcbw@redhat.com>
5798
5799         * src/NetworkManagerAP.c
5800                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
5801
5802         * src/nm-device-802-11-wireless.c
5803                 - (get_active_ap): do two passes over the scan list if the caller
5804                         requests that hidden APs get matched too; during the second pass
5805                         when matching hidden APs, ignore the SSID since hidden APs in the
5806                         scan list don't have an SSID yet
5807                 - (periodic_update): move some checks to
5808                         nm_device_802_11_periodic_update() because not all callers need them
5809                 - (nm_device_802_11_periodic_update): move some checks here from
5810                         perodic_update()
5811                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
5812                         matching on incoming scan results, because the fake AP's flags
5813                         might be slightly different (yet still compatible) with the incoming
5814                         scan result's flags and they might actually be the same AP; update
5815                         the rate on merged APs too
5816                 - (activation_success_handler): update the frequency of the fake AP
5817                         on successful connection; match hidden APs too since if the
5818                         current AP is fake, there might already be a scan result in the
5819                         scan list for the desired AP, just without it's SSID filled in yet
5820
5821 2008-01-10  Dan Williams  <dcbw@redhat.com>
5822
5823         * src/NetworkManagerAP.c
5824                 - (foreach_property_cb): catch more hidden SSID formats
5825
5826 2008-01-10  Dan Williams  <dcbw@redhat.com>
5827
5828         Fix gnome.org #464215.  Requires the kernel patch titled
5829         "Introduce WEXT scan capabilities" but will handle the patch not being
5830         present, you'll just continue to have problems with hidden SSIDs when
5831         using mac80211-based drivers.
5832
5833         * src/supplicant-manager/nm-supplicant-config.h
5834           src/supplicant-manager/nm-supplicant-config.c
5835                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
5836                         whether the driver supports SSID scans or not.  If it does, and if
5837                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
5838
5839         * src/nm-device-802-11-wireless.c
5840                 - (constructor): check whether or not the driver supports SSID scans
5841                 - (build_supplicant_config): pass driver SSID scan capability when
5842                         building the wireless bits of the supplicant config
5843
5844 2008-01-09  Dan Williams  <dcbw@redhat.com>
5845
5846         * src/nm-device.c
5847           src/nm-device.h
5848                 - (device_activation_precheck, check_connection_complete): remove this
5849                         virtual function; incomplete connections should be invalid by
5850                         definition, complete-ness should be checked in the setting's
5851                         verify function
5852
5853         * src/nm-serial-device.c
5854           src/nm-gsm-device.c
5855                 - (real_check_connection_complete): remove
5856
5857         * libnm-util/nm-setting-serial.c
5858                 - (verify): new function; ensure there is a PPP setting too
5859
5860         * libnm-util/nm-setting-gsm.c
5861                 - (verify): ensure there is a serial setting too
5862
5863 2008-01-06  Dan Williams  <dcbw@redhat.com>
5864
5865         * src/dhcp-manager/nm-dhcp-manager.c
5866                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
5867                         (gnome.org #332953)
5868
5869 2008-01-04  Dan Williams  <dcbw@redhat.com>
5870
5871         * src/named-manager/nm-named-manager.c
5872                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
5873                         nameservers if the secondary config doesn't have any
5874                         (gnome.org #346833)
5875
5876 2008-01-02  Tambet Ingo  <tambet@gmail.com>
5877
5878         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
5879         with G_PARAM_CONSTRUCT so that they get the default values.
5880
5881         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
5882         the monitoring device and prints out the output for now. Or more precicely, doesn't
5883         do absolutely anything right now since the montoring device argument is never set.
5884
5885         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
5886         requires it's own knob to turn it on.
5887         (config_fd): Add NMSettingSerial to the arguments list.
5888         (nm_serial_device_open): Ditto.
5889         (get_reply_got_data): Ignore the terminators at the beginning of the output.
5890         (nm_serial_device_get_io_channel): Implement.
5891
5892         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
5893         a new reference every time (and forgetting to release it sometimes) is a pain and
5894         it's not like NMManager could work without dbus.
5895         (nm_manager_add_device): Register the added device on dbus here.
5896
5897         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
5898         device.
5899
5900         * src/nm-device.c (constructor): Don't export the device here, instead export
5901         it when it's added to the NMManager's device list.
5902
5903 2007-12-31  Dan Williams  <dcbw@redhat.com>
5904
5905         * src/nm-device-interface.c
5906           src/nm-device-interface.h
5907                 - (nm_device_interface_check_connection_conflicts): new function
5908
5909         * src/nm-device.c
5910           src/nm-device.h
5911                 - (nm_device_check_connection_conflicts): new function
5912                 - (device_activation_precheck): don't require subclasses to implement
5913                         check_connection_complete()
5914                 - check_connection() -> check_connection_complete()
5915
5916         * src/nm-device-802-11-wireless.c
5917                 - (real_check_connection): remove; unused
5918                 - (real_check_connection_conflicts): implement, handle lockdown for
5919                         system connections
5920
5921         * src/nm-device-802-3-ethernet.c
5922                 - (real_check_connection): remove; unused
5923
5924         * src/nm-manager.c
5925                 - (check_connection_allowed): new function
5926                 - (nm_manager_activate_device): ensure the connection being requested
5927                         is allowed to be activated
5928
5929         * src/nm-serial-device.c
5930           src/nm-gsm-device.c
5931                 - real_check_connection() -> real_check_connection_complete()
5932
5933 2007-12-27  Dan Williams  <dcbw@redhat.com>
5934
5935         * src/nm-device-interface.c
5936           src/nm-device-interface.h
5937                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
5938                         normalize and expand errors
5939                 - (nm_device_interface_init): register errors so they can be marshalled
5940                         through dbus-glib
5941                 - (nm_device_interface_activate): ensure that failure of activation
5942                         returns an error
5943
5944         * src/nm-device.c
5945           src/nm-device.h
5946                 - (device_activation_precheck): implementations of check_connection()
5947                         now take a GError and must fill it in if the check fails.  Return
5948                         more descriptive error if the requested connection is already
5949                         activating
5950                 - (nm_device_activate): actually try to return descriptive errors on
5951                         failures
5952
5953         * src/nm-device-802-11-wireless.c
5954           src/nm-device-802-3-ethernet.c
5955           src/nm-serial-device.c
5956           src/nm-gsm-device.c
5957                 - (real_check_connection): return more descriptive errors on failure
5958
5959         * src/NetworkManagerPolicy.c
5960                 - (nm_policy_device_change_check): print activation errors in the logs
5961
5962         * src/nm-manager.c
5963                 - (nm_manager_error_quark, nm_manager_error_get_type,
5964                    nm_manager_class_init): new errors
5965                 - (nm_manager_activate_device): handle errors
5966                 - (nm_manager_error_new): removed
5967                 - (wait_for_connection_expired, connection_added_default_handler,
5968                    impl_manager_activate_device): better error handling
5969
5970 2007-12-27  Dan Williams  <dcbw@redhat.com>
5971
5972         Fixes gnome.org #466954
5973
5974         * src/supplicant-manager/nm-supplicant-settings-verify.c
5975                 - Allow 'frequency' network property
5976
5977         * src/supplicant-manager/nm-supplicant-config.c
5978           src/supplicant-manager/nm-supplicant-config.h
5979                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
5980                         for callers to specify the frequency an Ad-Hoc network should operate
5981                         on.  Some drivers require this to successfully create an Ad-Hoc
5982                         network.
5983
5984         * src/nm-device-802-11-wireless.c
5985                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
5986                         guint32 value in MHz
5987                 - (constructor, nm_device_802_11_wireless_get_frequency): use
5988                         iw_freq_to_uint32()
5989                 - (find_supported_frequency): new function; find a free supported
5990                         frequency for a user-created Ad-Hoc network
5991                 - (build_supplicant_config): if no frequency was specified for a user-
5992                         created Ad-Hoc network, find a free one to use
5993                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
5994                         a specific object as user-created
5995
5996 2007-12-27  Dan Williams  <dcbw@redhat.com>
5997
5998         * libnm-util/nm-utils.c
5999           libnm-util/nm-utils.h
6000                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
6001                         for adhoc networks
6002
6003 2007-12-24  Dan Williams  <dcbw@redhat.com>
6004
6005         * libnm-util/nm-setting-wireless.c
6006                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
6007                         185, 187, 188, 192, and 196
6008
6009 2007-12-24  Dan Williams  <dcbw@redhat.com>
6010
6011         * src/nm-device-802-11-wireless.c
6012                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
6013                         a channel # instead of a frequency
6014
6015 2007-12-24  Dan Williams  <dcbw@redhat.com>
6016
6017         * src/NetworkManagerAP.c
6018           src/NetworkManagerAP.h
6019                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
6020                 - (freq_to_channel): handle split band tables
6021                 - (channel_to_freq): handle split band tables, take a band argument
6022
6023 2007-12-24  Dan Williams  <dcbw@redhat.com>
6024
6025         * libnm-util/nm-setting-connection.h
6026           libnm-util/nm-setting-connection.c
6027                 - Add 'lockdown' member
6028
6029 2007-12-22  Dan Williams  <dcbw@redhat.com>
6030
6031         * libnm-util/nm-setting-wireless.c
6032                 - (nm_setting_wireless_class_init): add missing 'rate' property
6033                         specification
6034
6035 2007-12-18  Dan Williams  <dcbw@redhat.com>
6036
6037         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
6038
6039         * src/nm-netlink-monitor.c
6040           src/nm-netlink-monitor.h
6041                 - Remove handrolled netlink, use libnl instead
6042
6043         * src/nm-device-802-3-ethernet.c
6044                 - (constructor, nm_device_802_3_ethernet_carrier_off,
6045                    nm_device_802_3_ethernet_carrier_on): use new names
6046
6047 2007-12-17  Dan Williams  <dcbw@redhat.com>
6048
6049         * configure.in
6050                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
6051                         and fixes memory leaks)
6052
6053         * src/nm-netlink.c
6054                 - (nm_netlink_get_default_handle): handle new versions of libnl that
6055                         automatically handle the netlink PID
6056
6057 2007-12-17  Dan Williams  <dcbw@redhat.com>
6058
6059         Patch from Michael Biebl <biebl@debian.org>
6060
6061         * configure.in
6062           src/ppp-manager/Makefile.am
6063                 - fix up install dir of pppd plugin
6064                 - clean up configure.in a bit
6065
6066 2007-12-12  Dan Williams  <dcbw@redhat.com>
6067
6068         * system-settings/src/nm-system-settings.conf
6069                 - Allow non-root clients (like the applet) to read settings
6070
6071 2007-12-10  Tambet Ingo  <tambet@gmail.com>
6072
6073         * Replace all occurences of 'UMTS' with 'GSM'.
6074
6075 2007-12-07  Dan Williams  <dcbw@redhat.com>
6076
6077         * src/nm-serial-device.c
6078                 - (real_is_up): serial devices are always "up"
6079
6080 2007-12-07  Dan Williams  <dcbw@redhat.com>
6081
6082         * src/nm-netlink.c
6083           src/NetworkManagerSystem.c
6084                 - (new_nl_handle): ensure that the same netlink pid is never chosen
6085                         twice (gnome.org #491047)
6086                 - Make more robust against allocation-related failures should they occur
6087
6088 2007-12-07  Dan Williams  <dcbw@redhat.com>
6089
6090         Noticed by Christian Persch <chpe@gnome.org>
6091
6092         Always chain up to parent object in dispose and finalize handlers.
6093                 (gnome.org #433112)
6094
6095 2007-12-07  Dan Williams  <dcbw@redhat.com>
6096
6097         * src/nm-device-802-11-wireless.c
6098                 - Wrap #include of linux/mii.h to fix redefined structures due to
6099                         incorrect kernel headers (gnome.org #350061)
6100
6101 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6102
6103         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
6104         before doing anything else.
6105         (init_modem): Move modem initialization here.
6106
6107         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
6108         (nm_serial_device_flash): Implement.
6109
6110         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
6111         changes signal is "StateChanged" and not "Status".
6112         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
6113
6114 2007-12-06  Dan Williams  <dcbw@redhat.com>
6115
6116         * src/supplicant-manager/nm-supplicant-config.c
6117                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
6118                         to only send some options when they make sense; also send phase2
6119                         option to the supplicant (possible fix for rh #399631)
6120
6121 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6122
6123         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
6124         arguments: This whole file shouldn't really know anything about NMDevices, it
6125         should deal only with device interfaces. Devices might have different ifaces for
6126         different stuff and this place shouldn't know anything about it.
6127
6128         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
6129         (global_state_changed): Implement. In the current NM it's not really important,
6130         but will be required in the case of multiple active devices. (Or even better,
6131         if stuff like that gets moved out from NM).
6132
6133         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
6134         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
6135         instead.
6136
6137         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
6138         devices like serial devices (ttyS0 and ppp0 for example).
6139         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
6140         set.
6141         (nm_device_set_ip_iface): Implement.
6142         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
6143         after setting ip4_config from here ...
6144         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
6145         than this function should call nm_system_device_set_from_ip4_config() because no
6146         other code has enough information on which arguments to use. So instead, other code
6147         could just set the new ip4 config using this function and everyone is happy.
6148
6149         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
6150         if we happen to get deactivated while something is pending.
6151         (automatic_registration): Handle the response that indicates pending network
6152         registration and wait until the pending registration is done.
6153         (real_deactivate_quickly): If there's a pending operation, cancel it.
6154
6155         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
6156         (real_deactivate_quickly): ... and remove it when it's down.
6157         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
6158         it if needed.
6159         (nm_serial_device_wait_for_reply): Ditto.
6160
6161 2007-12-05  Tambet Ingo  <tambet@gmail.com>
6162
6163         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
6164         (get_network_done): Remove newline, nm_info() does it already.
6165         (real_act_stage1_prepare): Turn the modem echo off.
6166
6167         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
6168         device, set the route to the device interface. This is a hack.
6169
6170         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
6171         return, no need for a new-line.
6172         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
6173         Change the device iface here (ugh).
6174         (real_act_stage4_get_ip4_config): Implement.
6175         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
6176         Restore the device iface.
6177
6178         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
6179         device is not wired or wireless (eg, automatically upped) device.
6180
6181         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
6182         it isn't.
6183         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
6184
6185         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6186         before calling it's is_device_fn().
6187
6188 2007-12-05  Dan Williams  <dcbw@redhat.com>
6189
6190         * libnm-util/nm-utils.c
6191                 - (nm_utils_register_value_transformations,
6192                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6193                         GHashTables of GValues too
6194
6195 2007-12-04  Dan Williams  <dcbw@redhat.com>
6196
6197         * initscript/RedHat/NetworkManager.in
6198                 - No longer start named; it's D-Bus interface is going away
6199
6200 2007-12-04  Dan Williams  <dcbw@redhat.com>
6201
6202         Patch from Michael Biebl <biebl@debian.org>
6203
6204         * system-settings/plugins/ifcfg/Makefile.am
6205           system-settings/src/main.c
6206           system-settings/src/Makefile.am
6207                 - Put system settings plugins in NM plugins dir
6208
6209         * src/ppp-manager/Makefile.am
6210           src/ppp-manager/nm-ppp-manager.c
6211                 - Move pppd plugin to NM plugins dir
6212
6213 2007-12-04  Dan Williams  <dcbw@redhat.com>
6214
6215         * libnm-util/nm-setting-vpn-properties.h
6216                 - Clarify usage of the 'data' member of the setting
6217
6218         * libnm-util/nm-setting-vpn-properties.c
6219                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
6220                 - (set_property): just remove all the settings; don't recreate the has
6221                 - (update_one_secret): don't need to create the hash table here since
6222                         it should always be present
6223
6224 2007-12-03  Tambet Ingo  <tambet@gmail.com>
6225
6226         Implement PIN and PUK requesting.
6227
6228         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
6229         (enter_pin): Handle PIN and PUK requests.
6230         (real_act_stage1_prepare): Clear the secret type.
6231         (real_connection_secrets_updated): Implement this class method to get
6232         notified when new secrets arrive.
6233         (nm_umts_device_class_init): Add private data back to the umts device class
6234         to store the required secret type.
6235
6236 2007-12-01  Dan Williams  <dcbw@redhat.com>
6237
6238         * system-settings/plugins/ifcfg/parser.c
6239                 - (parser_parse_file): don't try to verify NULL connections
6240
6241 2007-12-01  Dan Williams  <dcbw@redhat.com>
6242
6243         * system-settings/src/main.c
6244                 - (load_connections, add_connection_to_settings): actually export
6245                         plugin-provided connections over D-Bus so NM can get them
6246
6247 2007-12-01  Dan Williams  <dcbw@redhat.com>
6248
6249         * system-settings/plugins/ifcfg/parser.c
6250           system-settings/plugins/ifcfg/parser.h
6251           system-settings/plugins/ifcfg/plugin.c
6252                 - Hook up more inotify bits (untested)
6253
6254 2007-11-29  Dan Williams  <dcbw@redhat.com>
6255
6256         * system-settings/src/nm-system-config-interface.h
6257           system-settings/src/nm-system-config-interface.c
6258                 - (nm_system_config_interface_init,
6259                    nm_system_config_interface_get_connections): add
6260
6261         * system-settings/src/main.c
6262                 - (load_plugins, load_connections, main): use a GSList for plugins
6263                         to ensure priority ordering
6264
6265         * system-settings/plugins/ifcfg/parser.c
6266                 - (ifcfg_error_quark): move to plugin.c, and rename
6267
6268         * system-settings/plugins/ifcfg/plugin.h
6269           system-settings/plugins/ifcfg/plugin.c
6270                 - (ifcfg_plugin_error_quark): move here from parser.c
6271                 - rework connection loading and initialization
6272                 - Add preliminary inotify support for network profile config file
6273
6274 2007-11-28  Tambet Ingo  <tambet@gmail.com>
6275
6276         Merge the beginnings of the new GSM card support.
6277
6278         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
6279         ppp watch source before killing pppd - If this happens from g_object_unref()
6280         then the ppp manager is already destroyed by the time the watch callback runs.
6281
6282         * src/nm-hal-manager.c: Add a device_type_name string to the device
6283         creators, so that we can print a nice human readable string when a
6284         device is added.
6285
6286         * src/nm-umts-device.c (automatic_registration_get_network): Query
6287         for the activated network, not much is done with the result thought.
6288
6289         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
6290         (ppp_ip4_config): Change the device state to activated here for now.
6291         (real_check_connection): Make sure the connection includes ppp setting.
6292
6293         * libnm-glib/nm-client.c (get_device): Handle umts devices.
6294
6295         * libnm-glib/Makefile.am: Add the new files to build.
6296
6297         * libnm-glib/nm-umts-device.c: 
6298         * libnm-glib/nm-umts-device.h: Implement.
6299
6300 2007-11-26  Tambet Ingo  <tambet@gmail.com>
6301
6302         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
6303         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
6304
6305         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
6306         the timeout source - this function is only called when the timeout source has
6307         been removed.
6308         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
6309         to be big enough to contain the terminating zero element as well.
6310         The timeout argument is meant to be in seconds now.
6311         (real_deactivate_quickly): Implement.
6312
6313         * src/NetworkManager.conf: Allow root to own 
6314         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
6315
6316         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
6317         (not unsigned ints).
6318
6319         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
6320         small issue with parity bounds - capital letters have lower ascii codes
6321         than lower case letters.
6322
6323         * libnm-util/nm-connection.c (register_default_settings): Register serial
6324         and umts settings.
6325
6326 2007-11-22  Tambet Ingo  <tambet@gmail.com>
6327
6328         Remove the "index" property from devices as not all device types have this.
6329
6330         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
6331
6332         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
6333         (wired_device_creator): Get the device interface from hal to create the device.
6334         (wireless_device_creator): Ditto.
6335
6336         * src/nm-device.c (nm_device_init): Remove the index member.
6337         (constructor): Remove the checks for index property, make interface property
6338         a require constructor property.
6339         Use the HAL udi for DBus path for devices.
6340         (nm_device_get_index): Remove.
6341         (set_property): Remove index handling.
6342         (get_property): Ditto.
6343         (nm_device_get_dbus_path): Remove.
6344
6345         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
6346         property.
6347
6348         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
6349         Access the device index through it's interface.
6350         (nm_device_802_3_ethernet_link_deactivated): Ditto.
6351         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
6352         index argument. Add interface argument.
6353
6354         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
6355         the useless test_dev argument. Remove index argument. Add interface arugment.
6356
6357         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
6358         device index through interface.
6359         (nm_system_set_mtu): Ditto.
6360
6361         * introspection/nm-device.xml: Remove the "Index" property.
6362
6363 2007-11-21  Tambet Ingo  <tambet@gmail.com>
6364
6365         * src/nm-serial-device.c: 
6366         * src/nm-serial-device.c: 
6367         * src/nm-umts-device.c:
6368         * src/nm-umts-device.h: Implement.
6369
6370         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
6371         allocated by libhal.
6372         (modem_device_creator): Implement.
6373         (register_built_in_creators): Register the modem creator.
6374
6375         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
6376         Remove the unused test_dev argument.
6377
6378         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
6379
6380         * src/Makefile.am: Add new files to build.
6381         Link in ppp-manager.
6382
6383         * libnm-util/nm-setting-umts.c: 
6384         * libnm-util/nm-setting-umts.h: 
6385         * libnm-util/nm-setting-serial.c: 
6386         * libnm-util/nm-setting-serial.h: Implement.
6387
6388         * libnm-util/Makefile.am: Add new files to build.
6389
6390 2007-11-28  Dan Williams  <dcbw@redhat.com>
6391
6392         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
6393
6394         Support DHCP-provided static routes.
6395
6396         * src/nm-ip4-config.h
6397           src/nm-ip4-config.c
6398                 - Add get/set functions for static routes
6399
6400         * src/dhcp-manager/nm-dhcp-manager.c
6401                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
6402                         DHCP response
6403
6404         * src/NetworkManagerSystem.c
6405                 - (nm_system_device_set_from_ip4_config): set any static routes on the
6406                         interface when applying the IP4Config
6407
6408 2007-11-28  Dan Williams  <dcbw@redhat.com>
6409
6410         * src/nm-device-802-11-wireless.c
6411                 - (real_act_stage1_prepare): mark APs created for hidden networks
6412                         as non-broadcasting
6413
6414 2007-11-27  Dan Williams  <dcbw@redhat.com>
6415
6416         * system-settings/src/nm-system-config-interface.h
6417                 - Note how to store secrets on NMSetting objects
6418
6419         * system-settings/src/dbus-settings.c
6420                 - (connection_settings_get_secrets): implement
6421
6422 2007-11-27  Dan Williams  <dcbw@redhat.com>
6423
6424         * system-settings/plugins/ifcfg/Makefile.am
6425           system-settings/plugins/ifcfg/parser.c
6426           system-settings/plugins/ifcfg/parser.h
6427           system-settings/plugins/ifcfg/plugin.c
6428                 - Parse wireless connections too
6429
6430         * system-settings/src/dbus-settings.c
6431           system-settings/src/dbus-settings.h
6432           system-settings/src/main.c
6433                 - Handle connection update/removal if the plugin supports it
6434
6435 2007-11-27  Dan Williams  <dcbw@redhat.com>
6436
6437         * src/nm-dbus-manager.h
6438           src/nm-hal-manager.c
6439                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
6440                         do it for them
6441
6442         * src/Makefile.am
6443           src/NetworkManagerDbusUtils.c
6444           src/NetworkManagerDbusUtils.h
6445                 - Remove these two source files; they are unused
6446
6447 2007-11-27  Dan Williams  <dcbw@redhat.com>
6448
6449         * src/vpn-manager/nm-vpn-manager.c
6450                 - (impl_vpn_manager_connect): fix system settings check (found by
6451                         James M. Leddy)
6452
6453 2007-11-26  Dan Williams  <dcbw@redhat.com>
6454
6455         * Fix warnings so everything compiles with --enable-more-warnings
6456
6457 2007-11-25  Dan Williams  <dcbw@redhat.com>
6458
6459         * system-settings/*
6460                 - Rework structure and code to use GModule-loaded plugins and a plugin
6461                         interface that plugins export to the system settings service
6462
6463 2007-11-21  Dan Williams  <dcbw@redhat.com>
6464
6465         * system-settings/*
6466                 - Add Soren's system settings service.  Needs work for distros other
6467                         than Fedora; the backends from NM should mostly migrate to here
6468                         and be converted to GObjects
6469
6470 2007-11-21  Dan Williams  <dcbw@redhat.com>
6471
6472         * libnm-util/nm-setting-vpn-properties.c
6473                 - (set_property): must deep-copy the given settings hash, otherwise
6474                         double-free errors occur when the setting is disposed of
6475
6476 2007-11-21  Dan Williams  <dcbw@redhat.com>
6477
6478         * src/vpn-manager/nm-vpn-act-request.h
6479           src/vpn-manager/nm-vpn-act-request.c
6480                 - Remove; unused
6481
6482 2007-11-20  Dan Williams  <dcbw@redhat.com>
6483
6484         * libnm-util/nm-utils.c
6485                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
6486                    nm_utils_convert_ip4_addr_struct_array_to_string,
6487                    nm_utils_register_value_transformations): print out the readable
6488                         values of more types of properties of NMSettings subclasses
6489
6490 2007-11-20  Dan Williams  <dcbw@redhat.com>
6491
6492         * libnm-util/nm-setting-ip4-config.c
6493                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
6494                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
6495                         marshal GValueArrays inside collections, so switch to types that it
6496                         can actually marshal/demarshal
6497
6498 2007-11-16  Dan Williams  <dcbw@redhat.com>
6499
6500         * libnm-util/nm-setting-wireless-security.c
6501                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
6502                         minimal verification of EAP methods too
6503                 - (verify): verify phase1 eap methods too
6504
6505 2007-11-15  Dan Williams  <dcbw@redhat.com>
6506
6507         * libnm-glib/nm-device.h
6508           libnm-glib/nm-device.c
6509                 - (nm_device_get_product, nm_device_get_vendor): should be returning
6510                         const char *
6511
6512 2007-11-15  Dan Williams  <dcbw@redhat.com>
6513
6514         * libnm-glib/nm-device.c
6515                 - (get_product_and_vendor): don't try to free things that should be
6516                         freed
6517
6518 2007-11-15  Dan Williams  <dcbw@redhat.com>
6519
6520         * src/NetworkManagerUtils.c
6521                 - (nm_ethernet_address_is_valid): unbreak previous fix
6522
6523 2007-11-15  Dan Williams  <dcbw@redhat.com>
6524
6525         * src/supplicant-manager/nm-supplicant-config.c
6526                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
6527                         options
6528
6529 2007-11-15  Dan Williams  <dcbw@redhat.com>
6530
6531         * src/NetworkManagerUtils.c
6532                 - (nm_ethernet_address_is_valid): fix style, clarify
6533                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
6534
6535         * src/nm-device-802-11-wireless.c
6536                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
6537                 - (nm_device_802_11_wireless_get_ssid,
6538                    nm_device_802_11_wireless_get_bssid,
6539                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
6540                         before calling the ioctl; fixes valgrind-reported jump depends on
6541                         uninitialized value errors
6542
6543 2007-11-15  Dan Williams  <dcbw@redhat.com>
6544
6545         * libnm-util/nm-setting.c
6546                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
6547                         unecessary to serialize 'name'
6548
6549         * src/nm-activation-request.c
6550                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
6551                         the GetSecrets call
6552
6553 2007-11-15  Dan Williams  <dcbw@redhat.com>
6554
6555         * libnm-util/nm-setting-connection.h
6556           libnm-util/nm-setting-connection.c
6557                 - Rename the 'name' property to 'id', because it conflicted with the
6558                         NMSetting superclass' 'name' property.
6559
6560         * libnm-util/nm-setting.c
6561                 - (nm_setting_to_hash): serialize the 'name' property
6562                 - (one_property_cb): ignore 'name' on deserialization of a connection
6563
6564         * src/nm-device-802-11-wireless.c
6565           src/vpn-manager/nm-vpn-connection.c
6566           src/NetworkManagerPolicy.c
6567                 - Fix up for NMSettingConnection 'name'->'id' changes
6568
6569 2007-11-13  Dan Williams  <dcbw@redhat.com>
6570
6571         * libnm-glib/nm-device-802-11-wireless.h
6572           libnm-glib/nm-device-802-11-wireless.c
6573                 - (nm_device_802_11_wireless_get_hw_address): return should be const
6574
6575         * test/nm-tool.c
6576           libnm-glib/libnm-glib-test.c
6577                 - Fixes for above change
6578
6579 2007-11-12  Dan Williams  <dcbw@redhat.com>
6580
6581         * src/supplicant-manager/nm-supplicant-settings-verify.c
6582                 - Allow fragment_size option
6583
6584         * src/supplicant-manager/nm-supplicant-settings-verify.c
6585                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
6586                         EAP fragment size than the default to help some TLS connections
6587
6588 2007-11-12  Dan Williams  <dcbw@redhat.com>
6589
6590         Make certs actually work.  The private key is now a secret, and should be
6591         decrypted when requested by NM.  The private key and phase2 private key
6592         passwords are no longer interesting to NM because they should be used by
6593         the settings service to decrypt the private key itself before passing it
6594         to NM, and hence have been removed as fields.
6595
6596         * libnm-util/nm-setting-wireless-security.h
6597           libnm-util/nm-setting-wireless-security.c
6598                 - Remove private-key-passwd and phase2-private-key-passwd from
6599                         properties
6600                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
6601                    need_secrets): use property #defines instead strings to keep things
6602                         consistent
6603                 - (need_secrets_tls): if a client certificate is present but no
6604                         private key, request the private key
6605                 - (set_property, get_property, nm_setting_wireless_security_class_init):
6606                         remove private key password stuff, mark private keys as secret
6607
6608         * src/supplicant-manager/nm-supplicant-settings-verify.c
6609                 - Remove private_key_passwd and private_key2_passwd from opt_table
6610
6611 2007-11-09  Dan Williams  <dcbw@redhat.com>
6612
6613         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
6614         Since the vpn-properties are managed and known by the VPN daemons themselves,
6615         libnm-util doesn't know what's secret and what's in the setting's 'data'
6616         member.
6617
6618         * libnm-util/nm-setting.h
6619           libnm-util/nm-setting.c
6620                 - Add the ability for subclasses to override update_one_secret
6621
6622         * libnm-util/nm-setting-vpn-properties.c
6623                 - Override update_one_secret and just copy the values into the
6624                         internal table
6625
6626 2007-11-09  Dan Williams  <dcbw@redhat.com>
6627
6628         * libnm-glib/nm-settings.h
6629           libnm-glib/nm-settings.c
6630                 - (nm_settings_new_error): remove
6631                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
6632                         clients should use g_set_error() with NM_SETTINGS_ERROR
6633
6634 2007-11-09  Dan Williams  <dcbw@redhat.com>
6635
6636         * src/supplicant-manager/nm-supplicant-config.c
6637                 - (nm_supplicant_config_add_setting_wireless_security): private key
6638                         passwords are never sent to wpa_supplicant, because the supplicant
6639                         should never be reading random files from the disk.  Clients like
6640                         the applet are required to decrypt the private keys and send NM
6641                         the decrypted blobs.
6642
6643 2007-11-08  Dan Williams  <dcbw@redhat.com>
6644
6645         * libnm-util/nm-setting-wireless-security.h
6646           libnm-util/nm-setting-wireless-security.c
6647                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
6648                         members to 802-11-wireless-security structure.  This should be used
6649                         to indicate that the values in private-key and phase2-private-key
6650                         are already decrypted by the user agent, and that no
6651                         private-key-passwd or phase2-private-key-passwd should be expected.
6652                         It is not meant to be a stored configuration value, but meant to
6653                         be set when the conneciton is sent to NM over dbus.
6654
6655 2007-11-08  Dan Williams  <dcbw@redhat.com>
6656
6657         * libnm-util/nm-connection.h
6658           libnm-util/nm-connection.c
6659                 - (nm_connection_need_secrets): add argument to return hints
6660
6661         * src/nm-device-802-11-wireless.c
6662                 - (link_timeout_cb, supplicant_connection_timeout_cb,
6663                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
6664                         nm_connection_need_secrets() change
6665
6666 2007-11-07  Tambet Ingo  <tambet@gmail.com>
6667
6668         Rework NMSetting structures: Move each setting to it's own file.
6669         Convert to GObject. Remove home grown setting types and use GTypes.
6670         Use GObject property introspection for hash conversion, enumerating
6671         properties, etc.
6672
6673         * libnm-util/nm-setting-connection.[ch]
6674         * libnm-util/nm-setting-ip4-config.[ch]
6675         * libnm-util/nm-setting-ppp.[ch]
6676         * libnm-util/nm-setting-vpn.[ch]
6677         * libnm-util/nm-setting-vpn-properties.[ch]
6678         * libnm-util/nm-setting-wired.[ch]
6679         * libnm-util/nm-setting-wireless.[ch]
6680         * libnm-util/nm-setting-wireless-security.[ch]
6681
6682         New files, each containing a setting.
6683
6684         * libnm-util/nm-setting-template.[ch]: A template for creating new
6685         settings. To use it, just replace 'template' with the new setting
6686         name, and you're half-way done.
6687
6688         * libnm-util/nm-setting.c: Convert to GObject and use GObject
6689         introspection instead of internal types and tables.
6690
6691         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
6692
6693         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
6694         GValue types defined by dbus-glib for composed types like collections,
6695         structures and maps.
6696
6697         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
6698         a setting from connection takes the setting type now. Also, since
6699         the settings are in multiple files, include relevant settings.
6700
6701 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
6702
6703         * configure.in:
6704         * src/backends/NetworkManagerGentoo.c:
6705         (nm_system_restart_mdns_responder): Implement restarts for other mdns
6706         providers in Gentoo.
6707
6708 2007-10-31  Dan Williams  <dcbw@redhat.com>
6709
6710         * libnm-util/nm-connection.c
6711                 - (gvalue_to_string): handle UINT32 arrays
6712
6713 2007-10-31  Dan Williams  <dcbw@redhat.com>
6714
6715         * libnm-glib/nm-device.h
6716           libnm-glib/nm-device.c
6717                 - (nm_device_get_description): remove
6718                 - (nm_device_get_product, nm_device_get_vendor): add
6719                 - (nm_device_update_description): new function (private); walk HAL
6720                         devices to get product and vendor IDs for a specific device
6721
6722 2007-10-31  Dan Williams  <dcbw@redhat.com>
6723
6724         * src/nm-device-802-11-wireless.c
6725                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
6726
6727 2007-10-29  Dan Williams  <dcbw@redhat.com>
6728
6729         * src/nm-hal-manager.c
6730                 - (device_added, device_new_capability): ignore device additions while
6731                         asleep.  Fixes crash caused when NM goes to sleep, a network device
6732                         kernel module is unloaded and reloaded and recognized by NM again.
6733
6734 2007-10-26  Dan Williams  <dcbw@redhat.com>
6735
6736         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
6737
6738         * src/NetworkManagerAP.c
6739           src/NetworkManagerAP.h
6740           libnm-glib/nm-access-point.c
6741           libnm-glib/nm-access-point.h
6742                 - Make 'rate' property a guint32 to better match with WEXT and
6743                         wpa_supplicant and to allow representation of higher bitrates
6744
6745         * src/nm-device-802-11-wireless.c
6746           introspection/nm-device-802-11-wireless.xml
6747           libnm-glib/nm-device-802-11-wireless.c
6748           libnm-glib/nm-device-802-11-wireless.h
6749                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
6750
6751         * src/nm-device-802-3-ethernet.c
6752           src/nm-device-802-3-ethernet.h
6753           introspection/nm-device-802-3-ethernet.xml
6754           libnm-glib/nm-device-802-3-ethernet.c
6755           libnm-glib/nm-device-802-3-ethernet.h
6756                 - Make 'speed' property a guint32 to match other speed/rate types
6757                 - Make nm_device_802_3_ethernet_get_speed() static
6758
6759         * test/nm-tool.c
6760                 - Update for the changes above
6761
6762 2007-10-26  Dan Williams  <dcbw@redhat.com>
6763
6764         * src/named-manager/nm-named-manager.c
6765                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
6766                     not calling fclose() twice on some error conditions
6767
6768 2007-10-26  Dan Williams  <dcbw@redhat.com>
6769
6770         * src/nm-activation-request.c
6771                 - (dispose): clean up indentation; get the right DBusGProxy object to
6772                         cancel the GetSecrets pending call on.  Need to use the Secrets
6773                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
6774                         pending call doesn't get canceled, and pressing Cancel in the
6775                         applet's password dialog could cause get_secrets_cb() to be called
6776                         after the activation request has already been destroyed
6777
6778 2007-10-24  Dan Williams  <dcbw@redhat.com>
6779
6780         * src/supplicant-manager/nm-supplicant-config.c
6781                 - (nm_supplicant_config_add_blob): pass blob data and length for
6782                         verification
6783                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
6784
6785 2007-10-24  Dan Williams  <dcbw@redhat.com>
6786
6787         * src/supplicant-manager/nm-supplicant-settings-verify.c
6788                 - (opt_table): max length for certificates should be 65536
6789
6790 2007-10-24  Dan Williams  <dcbw@redhat.com>
6791
6792         * src/supplicant-manager/nm-supplicant-interface.c
6793                 - (blob_free): correctly free blob data after use
6794                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
6795
6796 2007-10-24  Dan Williams  <dcbw@redhat.com>
6797
6798         * libnm-util/nm-setting.c
6799                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
6800                         EAP method need secrets
6801
6802 2007-10-24  Dan Williams  <dcbw@redhat.com>
6803
6804         * src/backends/NetworkManagerRedHat.c
6805                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
6806
6807 2007-10-23  Dan Williams  <dcbw@redhat.com>
6808
6809         * libnm-util/nm-setting.c
6810           libnm-util/nm-setting.c
6811                 - (nm_setting_compare): implement
6812                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
6813                    compare_one_hash_gvalue): compare the contents of a setting
6814
6815         * libnm-util/nm-connection.c
6816                 - (nm_connection_compare): implement
6817
6818 2007-10-23  Dan Williams  <dcbw@redhat.com>
6819
6820         * src/nm-activation-request.c
6821                 - (get_secrets_cb): handle getting a setting back that is more than
6822                         just secrets (ie, user changed auth or EAP method or something)
6823
6824 2007-10-23  Dan Williams  <dcbw@redhat.com>
6825
6826         * libnm-util/nm-setting.c
6827           libnm-util/nm-setting.h
6828                 - (nm_setting_verify): new function; verify one setting
6829                 - (nm_settings_verify_all): rename from nm_settings_verify()
6830                 - (setting_connection_verify, setting_wireless_verify): allow NULL
6831                         all_settings
6832
6833         * libnm-util/nm-connection.c
6834                 - (nm_connection_replace_settings, nm_connection_verify,
6835                    nm_connection_new_from_hash): handle nm_settings_verify() rename
6836
6837 2007-10-23  Dan Williams  <dcbw@redhat.com>
6838
6839         * src/nm-device-802-11-wireless.c
6840                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
6841                         desired behavior
6842
6843 2007-10-23  Dan Williams  <dcbw@redhat.com>
6844
6845         * src/supplicant-manager/nm-supplicant-settings-verify.c
6846                 - eap_allowed, phase2_allowed: harmonize with allowed values from
6847                         nm-settings.c
6848
6849 2007-10-23  Dan Williams  <dcbw@redhat.com>
6850
6851         * src/nm-device-802-11-wireless.c
6852                 - (real_act_stage2_config): after the first association failure,
6853                         if the connection still needs secrets ask the user for them
6854                         explicitly.  After the fourth association failure due to bad
6855                         secrets, fail the connection entirely.  Handles the GetSecrets
6856                         loop that NM gets into when the provided secrets don't match up
6857                         with the connection details.
6858
6859 2007-10-23  Dan Williams  <dcbw@redhat.com>
6860
6861         * src/supplicant-manager/nm-supplicant-config.c
6862                 - (nm_supplicant_config_add_setting_wireless_security): only add
6863                         WPA-specific options when WPA is in use
6864
6865 2007-10-23  Dan Williams  <dcbw@redhat.com>
6866
6867         * src/supplicant-manager/nm-supplicant-config.c
6868                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
6869                         secret doesn't need to be unhexified
6870
6871 2007-10-23  Dan Williams  <dcbw@redhat.com>
6872
6873         * libnm-util/nm-setting.c
6874                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
6875                         before trying to do something with it
6876
6877 2007-10-23  Dan Williams  <dcbw@redhat.com>
6878
6879         * src/nm-device-802-11-wireless.c
6880                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
6881
6882 2007-10-23  Dan Williams  <dcbw@redhat.com>
6883
6884         * src/nm-device-802-11-wireless.c
6885                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
6886                         non-SSID-broadcasting APs
6887
6888 2007-10-23  Dan Williams  <dcbw@redhat.com>
6889
6890         * src/NetworkManagerAP.c
6891                 - (match_cipher, security_compatible): remove
6892                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
6893                         libnm-util instead
6894
6895 2007-10-23  Dan Williams  <dcbw@redhat.com>
6896
6897         * libnm-util/nm-utils.c
6898           libnm-util/nm-utils.h
6899                 - (nm_utils_ap_security_compatible): common function for checking
6900                         whether a specific AP is compatible with an NMConnection
6901
6902 2007-10-23  Dan Williams  <dcbw@redhat.com>
6903
6904         * libnm-util/nm-setting.c
6905                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
6906                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
6907                    need_secrets_password, setting_wireless_security_verify): fix
6908                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
6909                         secrets logic for each supported EAP method
6910
6911 2007-10-23  Dan Williams  <dcbw@redhat.com>
6912
6913         * src/supplicant-manager/nm-supplicant-config.c
6914                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
6915                         config option name, should be "private_key2_passwd"
6916
6917 2007-10-22  Tambet Ingo  <tambet@gmail.com>
6918
6919         Implement support for static IP addresses, additional/overridden DNS and
6920         DNS domain search lists.
6921
6922         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
6923         (ip4_addresses_to_gvalue): Implement.
6924         (convert_array_to_byte_array): Implement.
6925         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
6926         NM_S_TYPE_IP4_ADDRESSES.
6927         (nm_setting_hash): Ditto.
6928         (default_setting_clear_secrets): Add a default case for the switch: IP address
6929         shouldn't be secret, ever.
6930         (setting_ip4_config_verify): Update, requires addresses in case of manual
6931         configurations.
6932         (setting_ip4_config_destroy): Free stuff.
6933
6934         * src/nm-device.c (merge_ip4_config): Implement.
6935         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
6936
6937 2007-10-22  Dan Williams  <dcbw@redhat.com>
6938
6939         * libnm-util/nm-setting.c
6940                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
6941                         pairwise cipher options for Dynamic WEP
6942
6943 2007-10-21  Dan Williams  <dcbw@redhat.com>
6944
6945         * src/NetworkManagerAP.c
6946           src/NetworkManagerAP.h
6947                 - Rename 'articifical' -> 'fake' since that's what they are until
6948                         noticed in scans
6949                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
6950                         from the attributes in an NMConnection object
6951                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
6952                         WPA Enterprise
6953                 - (nm_ap_match_in_list): find a matching AP in a scan list
6954
6955         * src/nm-device-802-11-wireless.c
6956                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
6957                         AP when searching the scan list; match on frequency and mode too
6958                 - (nm_device_802_11_wireless_get_frequency): implement
6959                 - (merge_scanned_ap): replace duplicate matching logic with
6960                         nm_ap_match_in_list()
6961                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
6962                         the user is trying to connect to a hidden network that is not yet
6963                         known from the scan list
6964                 - (activation_success_handler): now that the card knows the AP's BSSID,
6965                         there may already be a scanned AP in the scan list that is what
6966                         we really wanted to connect to, but didn't know at the time.  Use
6967                         that instead of the 'fake' AP created at activation start and get
6968                         rid of the 'fake' AP 
6969                 - (cull_scan_list): don't remove fake APs
6970
6971 2007-10-21  Dan Williams  <dcbw@redhat.com>
6972
6973         * src/nm-activation-request.h
6974           src/nm-activation-request.c
6975                 - (nm_act_request_set_specific_object): new function; allow setting the
6976                         specific object if one isn't set yet
6977
6978 2007-10-20  Dan Williams  <dcbw@redhat.com>
6979
6980         * src/supplicant-manager/nm-supplicant-config.h
6981           src/supplicant-manager/nm-supplicant-config.c
6982                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
6983                         table to store blobs
6984                 - (nm_supplicant_config_add_blob): new function; add blob to internal
6985                         blob hash table
6986                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
6987                 - (nm_supplicant_config_add_setting_wireless_security): handle
6988                         options that use certificates (ie, blobs)
6989
6990         * src/nm-device-802-11-wireless.c
6991                 - (build_supplicant_config): pass a UID (just use the connection path)
6992                         to the supplicant config as now required
6993
6994         * src/supplicant-manager/nm-supplicant-interface.c
6995                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
6996                         there are any blobs to send to wpa_supplicant, send those first
6997                         before sending the network configuration
6998
6999 2007-10-19  Dan Williams  <dcbw@redhat.com>
7000
7001         Split the GetSecrets() call off to a separate D-Bus interface so that it
7002         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
7003         should be able to call GetSecrets().
7004
7005         * include/NetworkManager.h
7006                 - Define the connection secrets D-Bus interface
7007
7008         * src/vpn-manager/nm-vpn-connection.c
7009                 - (clear_need_auth): get the right proxy object for the connection
7010                         secrets interface
7011                 - (get_connection_secrets): use the connection secrets proxy; send
7012                         empty hints in get secrets request
7013
7014         * src/nm-activation-request.c
7015                 - (nm_act_request_request_connection_secrets): use the connection
7016                         secrets proxy; send empty hints in get secrets request
7017
7018         * src/nm-manager.c
7019           src/nm-manager.h
7020                 - (connection_get_settings_cb): set the connection secrets proxy on
7021                         the connection object too
7022                 - (internal_new_connection_cb): create the connection secrets proxy
7023
7024         * introspection/nm-settings-connection.xml
7025                 - Define Connection.Secrets interface and move GetSecrets there
7026                 - Add a 'hints' argument to GetSecrets
7027
7028         * libnm-glib/nm-settings.c
7029           libnm-glib/nm-settings.h
7030                 - (impl_connection_settings_get_secrets): add 'hints' argument
7031
7032 2007-10-19  Dan Williams  <dcbw@redhat.com>
7033
7034         * src/nm-device.c
7035                 - (constructor): add message about what path a device is exported as
7036                         to help in debugging rh #339011
7037
7038 2007-10-17  Dan Williams  <dcbw@redhat.com>
7039
7040         * libnm-util/nm-utils.h
7041           libnm-util/nm-utils.c
7042                 - (nm_utils_security_valid): common function to help find the intersection
7043                         of capabilities of devices and (optionally) access points
7044
7045 2007-10-17  Dan Williams  <dcbw@redhat.com>
7046
7047         * src/nm-device-802-11-wireless.c
7048                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
7049                         don't get erroneously cleared
7050
7051 2007-10-17  Dan Williams  <dcbw@redhat.com>
7052
7053         * src/nm-manager.h
7054           src/nm-manager.c
7055           src/nm-hal-manager.c
7056                 - (device_removed, finalize, nm_manager_remove_device,
7057                    nm_manager_sleep): add a 'deactivate' argument to 
7058                    nm_manager_remove_device() to fully deactivate devices when necessary
7059                    (ie, always except when waking up)
7060
7061 2007-10-16  Dan Williams  <dcbw@redhat.com>
7062
7063         * libnm-util/nm-setting.c
7064                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
7065                         also isn't valid phase2 autheap method
7066
7067 2007-10-16  Dan Williams  <dcbw@redhat.com>
7068
7069         * libnm-glib/nm-client.c
7070                 - (update_wireless_status): consolidate updates of wireless status
7071                 - (constructor): use update_wireless_status()
7072                 - (manager_running): set wireless status off when NM goes away; requery
7073                         the wireless status when NM comes back
7074
7075 2007-10-16  Dan Williams  <dcbw@redhat.com>
7076
7077         * libnm-glib/nm-client.c
7078                 - (nm_client_activate_device): actually use the fixed-up specific
7079                         object path
7080
7081 2007-10-16  Dan Williams  <dcbw@redhat.com>
7082
7083         * src/nm-hal-manager.c
7084                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
7085                         killswitch error messages once
7086
7087 2007-10-16  Dan Williams  <dcbw@redhat.com>
7088
7089         * src/nm-manager.c
7090                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
7091                         if it's disabled in hardware; don't touch network devices while
7092                         NM is asleep
7093
7094 2007-10-16  Dan Williams  <dcbw@redhat.com>
7095
7096         * libnm-util/nm-client.c
7097                 - (nm_client_activate_device): convert NULL specific_object to "/",
7098                         which is used in place of NULL
7099
7100         * src/nm-manager.c
7101                 - (impl_manager_activate_device): convert "/" specific_object back into
7102                         NULL
7103
7104 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7105
7106         Implement a generic NMSetting creator from setting name.
7107         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
7108         add a virtual function 'populate_fn'.
7109
7110         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
7111         (register_default_creators): Register setting creators instead of functions
7112         that create and then populate.
7113         (parse_one_setting): Use the common setting creator and then setting specific
7114         poplulation function.
7115
7116         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
7117         they all looked exactly the same.
7118         Add a 'populate_fn' virtual function to NMSetting.
7119         Use default virtual functions in case they are not overriden.
7120         (nm_setting_populate_from_hash): Implement.
7121
7122         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
7123         name, use a defined string.
7124         (real_act_stage4_get_ip4_config): Ditto.
7125
7126 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7127
7128         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
7129         HAL is int, not uint.
7130
7131 2007-10-15  Tambet Ingo  <tambet@gmail.com>
7132
7133         Implement killswitch polling through HAL.
7134
7135         * src/nm-manager.c: Add wireless hardware status property. Add 
7136         'properties-changed' signal for changes in wireless and wireless hardware
7137         state changes.
7138
7139         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
7140         and update NMManager's wireless hardware state when it has changed.
7141         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
7142         already does that.
7143
7144         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
7145         values of wireless state and wireless hardware state. Listen for the
7146         'properties-changed' signals, update the cached values and emit notify.
7147
7148         * include/NetworkManager.h: Fix a typo in a comment.
7149
7150 2007-10-14  Dan Williams  <dcbw@redhat.com>
7151
7152         * libnm-util/nm-setting.c
7153                 - (setting_wireless_security_need_secrets): handle LEAP secrets
7154
7155 2007-10-13  Dan Williams  <dcbw@redhat.com>
7156
7157         * libnm-util/nm-setting.h
7158           libnm-util/nm-setting.c
7159           src/supplicant-manager/nm-supplicant-config.c
7160                 - Make the 'proto' field of the 802-11-wireless-security field a
7161                         string list
7162
7163 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7164
7165         Rework the "properties-changed" signal listening implementation.
7166         Add a generic implementation to NMObject class that listens for
7167         the signal and calls property setters of the target NMObject.
7168
7169         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
7170
7171         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
7172         code to the end of file so that all the static functions are available
7173         without extra declarations.
7174         Remove the "properties-changed" signal handling and use the framework from
7175         NMObject.
7176         Implement property setters for properties that change with 
7177         "properties-changed" signal.
7178
7179         * libnm-glib/nm-access-point.c: Ditto.
7180
7181 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7182
7183         Rework the "properties-changed" signal implementation.
7184         In classes that need to use it, just emit "GObject::notify" and the new
7185         framework takes care of the rest to make the signal available on dbus.
7186         The framework queues the notifications and tries to send as many together
7187         in one signal as possible.
7188
7189         * src/nm-properties-changed-signal.c:
7190         * src/nm-properties-changed-signal.h: Implement.
7191
7192         * src/Makefile.am: Add new files to build.
7193
7194         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7195         signal.
7196
7197         * src/nm-device-802-11-wireless.c: Ditto.
7198
7199 2007-10-10  Dan Williams  <dcbw@redhat.com>
7200
7201         * src/nm-manager.c
7202                 - (wait_for_connection_expired): ensure info is valid
7203                 - (connection_added_default_handler): Should only remove pending
7204                         connection info when the manager has the connection that it's
7205                         waiting for.  Fixes segfault in wait_for_connection_info().  
7206
7207 2007-10-10  Dan Williams  <dcbw@redhat.com>
7208
7209         * libnm-util/nm-setting.c
7210           libnm-util/nm-setting.h
7211                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
7212                         can use if they choose.  Should be filled in by the settings service
7213                         on-the-fly with the currently logged in user's username
7214
7215 2007-10-10  Dan Williams  <dcbw@redhat.com>
7216
7217         * src/nm-device-802-11-wireless.c
7218                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
7219                         as such, because even if the manager fills in the SSID, NM still
7220                         has to indicate to wpa_supplicant that the AP isn't broadcasting
7221                         its SSID
7222
7223 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7224
7225         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
7226         code that used NM's own version of dbus signal handling and custom dictionary
7227         marshalling/unmarshalling. With this change, all that obsolete code can disappear
7228         and we get to maintain over 2000 lines less code.
7229
7230         * libnm-util/dbus-dict-helpers.c:
7231         * libnm-util/dbus-dict-helpers.h: Remove.
7232
7233         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
7234
7235         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
7236
7237         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
7238         handlers.
7239
7240         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
7241
7242         * configure.in: Remove test/libnm-util/Makefile creation.
7243
7244         * test/Makefile.am: Remove libnm-util from SUBDIRS.
7245
7246         * test/libnm-util/: Remove the whole directory.
7247
7248 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7249
7250         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
7251         device_state_changed_idle_id variable or it would contain some random value and the
7252         schedule_change_check calls would not do anything.
7253
7254 2007-10-09  Dan Williams  <dcbw@redhat.com>
7255
7256         * src/nm-device-802-11-wireless.c
7257                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
7258                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
7259                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
7260                         merging of non-SSID-broadcasting APs
7261
7262 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7263
7264         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
7265         "guint8 *" since it's usually used with GByteArray->data.
7266         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
7267
7268 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7269
7270         * src/NetworkManagerUtils.c
7271         (nm_utils_is_empty_ssid):
7272         (nm_utils_escape_ssid):
7273         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
7274         lot of places, so they belong to libnm-utils instead.
7275
7276         Now with 100% less compiler warnings:
7277
7278         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
7279         (nm_dbus_unescape_object_path): Ditto.
7280         (nm_utils_ssid_to_utf8): Ditto.
7281         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
7282         (nm_utils_escape_ssid): Ditto.
7283         (nm_utils_same_ssid): Ditto.
7284
7285         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
7286         (add_one_connection_element): Remove an unused variable.
7287         (impl_manager_get_active_connections): Ditto.
7288
7289         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
7290         variable.
7291
7292         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
7293         from the previous commit.
7294
7295         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
7296         (real_act_stage1_prepare): Ditto.
7297         (activation_success_handler): Ditto.
7298         (get_property): Ditto.
7299
7300         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
7301         variable.
7302
7303         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
7304         it's always set.
7305
7306         * src/supplicant-manager/nm-supplicant-config.c 
7307         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
7308         to expected "char *".
7309         (nm_supplicant_config_add_setting_wireless): Ditto.
7310         (nm_supplicant_config_remove_option): Remove, not used.
7311
7312         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
7313         not double.
7314         (test_wireless_enabled): Ifdef out unused function.
7315         (device_deactivate): Ditto.
7316         (device_state_changed): Ditto.
7317         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
7318         (nm_utils_escape_ssid): Ditto.
7319
7320         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
7321         (nm_utils_is_empty_ssid): Ditto.
7322
7323         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
7324         unused variable.
7325
7326         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
7327         (setting_vpn_properties_update_secrets): Ditto.
7328         (int_to_gvalue): Ifdef out for now, not used.
7329         (byte_to_gvalue): Ditto.
7330
7331         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
7332         Unused, remove.
7333
7334 2007-10-08  Tambet Ingo  <tambet@gmail.com>
7335
7336         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
7337         about dbus manager, not named manager.
7338         Make sure hal_manager and dbus_mgr are created before trying to unreference.
7339
7340         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
7341         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
7342         However, the same signal is emitted when we destroy it and there's 
7343         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
7344
7345         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
7346         releasing the DBusGConnection, since proxy needs a conneciton.
7347         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
7348
7349 2007-10-08  Dan Williams  <dcbw@redhat.com>
7350
7351         * src/NetworkManager.c
7352                 - (main): error on unknown command-line options
7353
7354 2007-10-08  Dan Williams  <dcbw@redhat.com>
7355
7356         Reimplement the invalid connection list.  Don't try to re-activate a
7357         connection that just failed or was canceled.
7358
7359         * src/nm-device.c
7360                 - (connection_secrets_failed_cb): fail device activation, don't just
7361                         deactivate the device.  Listeners have to know about the failure.
7362
7363         * src/NetworkManagerPolicy.c
7364                 - (nm_policy_auto_get_best_device): exclude invalid connections from
7365                         the connection list given to a device's get_best_connection()
7366                         method
7367                 - (device_state_changed): tag failed connections as invalid; clear the
7368                         tag from successful connections
7369
7370 2007-10-08  Dan Williams  <dcbw@redhat.com>
7371
7372         Fix problems with interrupted activation.  Previously, choosing an AP
7373         from the menu, then choosing another one before the first connection was
7374         successful wouldn't deactivate the device before starting the new connection
7375         on that same device.
7376
7377         * src/NetworkManagerPolicy.c
7378                 - (deactivate_old_device, device_state_changed, state_changed,
7379                    nm_policy_new): wrong place to deactivate old devices
7380
7381         * src/nm-manager.c
7382                 - (pending_connection_info_destroy, finalize,
7383                    wait_for_connection_expired): decouple destruction of the pending
7384                         connection info from the manager device
7385                 - (connection_added_default_handler): deactivate any active or
7386                         activating device before starting a new activation
7387                 - (impl_manager_activate_device): deactivate any active or activating
7388                         device before starting a new activation; be sure not to leak
7389                         pending connection info if a new activation request arrives but
7390                         there's already a pending one in-process
7391
7392 2007-10-08  Dan Williams  <dcbw@redhat.com>
7393
7394         * src/NetworkManagerAP.h
7395           src/NetworkManagerAP.c
7396                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
7397                         should handle default SSIDs and whether or not to autoconnect
7398                         to them
7399
7400 2007-10-08  Dan Williams  <dcbw@redhat.com>
7401
7402         * src/NetworkManagerPolicy.c
7403                 - (nm_policy_device_change_check): print out connection name where
7404                         possible
7405
7406 2007-10-08  Dan Williams  <dcbw@redhat.com>
7407
7408         * src/nm-device-802-11-wireless.c
7409           src/nm-device-802-11-wireless.h
7410                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
7411                         'hidden-ap-found' signal (for internal use only) that allows the
7412                         NMManager to fill in the AP's SSID if a connection has that AP's
7413                         BSSID in its seen-bssids list
7414
7415         * src/nm-manager.c
7416                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
7417                         wireless device's hidden-ap-found signal and fill in the APs SSID
7418                         if possible
7419
7420 2007-10-07  Dan Williams  <dcbw@redhat.com>
7421
7422         * src/nm-manager.c
7423           src/nm-manager.h
7424                 - Add a 'connections-added' signal to batch together updates of large
7425                         numbers of connections, like when reading from a settings service
7426                         the first time.  Otherwise, the policy would just activate the first
7427                         suitable connection it saw rather than waiting for the full list
7428                         to arrive.
7429                 - (nm_manager_class_init): register new signal
7430                 - (get_type_for_proxy, connection_get_settings_cb,
7431                    get_connection_for_proxy): centralize places where a proxy's setting
7432                         service is determined
7433                 - (free_get_settings_info): if the call being freed is the last call
7434                         in a pending call group, fire off the connections-added signal
7435                 - (internal_new_connection_cb): add call to a pending call group if
7436                         requested
7437                 - (list_connections_cb): always create a call group here, because this
7438                         call results in a batch of new connections
7439                 - (initial_get_connections): start getting system connections first
7440                 - (nm_manager_connections_destroy, emit_removed): actually emit the
7441                         removed signal when destroying connections
7442
7443         * src/NetworkManagerPolicy.c
7444                 - (nm_policy_new, connections_added): handle connections-added signal
7445                         from the manager
7446
7447 2007-10-06  Dan Williams  <dcbw@redhat.com>
7448
7449         * src/nm-device-802-11-wireless.c
7450                 - (constructor): fix leaked socket
7451
7452 2007-10-06  Dan Williams  <dcbw@redhat.com>
7453
7454         * src/NetworkManagerPolicy.c
7455                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
7456                         connection in the list returned by nm_manager_get_connections() is
7457                         reffed, but they weren't getting unreffed before returning
7458
7459 2007-10-06  Dan Williams  <dcbw@redhat.com>
7460
7461         * src/nm-manager.c
7462                 - (connections_to_slist): sort connections first on autoconnect, then
7463                         on timestamp
7464
7465 2007-10-06  Dan Williams  <dcbw@redhat.com>
7466
7467         * libnm-util/nm-connection.c
7468                 - (gvalue_to_string): handle UINT64
7469
7470 2007-10-06  Dan Williams  <dcbw@redhat.com>
7471
7472         * src/NetworkManagerPolicy.c
7473                 - (connection_updated, nm_policy_new): recheck state when a connection
7474                         gets updated
7475
7476 2007-10-06  Dan Williams  <dcbw@redhat.com>
7477
7478         * src/nm-manager.c
7479           src/nm-manager.h
7480                 - (nm_manager_get_connection_dbus_path): make static
7481                 - (nm_manager_update_connections): remove; unused
7482                 - Add a connection-updated signal
7483                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
7484                         handle connection object updates
7485
7486 2007-10-06  Dan Williams  <dcbw@redhat.com>
7487
7488         * src/NetworkManagerPolicy.c
7489                 - (connection_removed): deactivate removed connections
7490
7491 2007-10-06  Dan Williams  <dcbw@redhat.com>
7492
7493         * libnm-util/nm-connection.c
7494           libnm-util/nm-connection.h
7495                 - (nm_connection_replace_settings): new function
7496
7497 2007-10-06  Dan Williams  <dcbw@redhat.com>
7498
7499         * libnm-glib/nm-device-802-11-wireless.c
7500                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
7501                         on error when getting the active access point over D-Bus from NM
7502
7503 2007-10-05  Dan Williams  <dcbw@redhat.com>
7504
7505         * libnm-util/nm-setting.c
7506                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
7507                         to the NMSettingWireless table; it's now a string array not an array
7508                         of byte arrays
7509
7510 2007-10-05  Dan Williams  <dcbw@redhat.com>
7511
7512         * libnm-glib/nm-device-802-11-wireless.c
7513                 - Cache properties and update cached properties on D-Bus signals from NM
7514
7515 2007-10-05  Dan Williams  <dcbw@redhat.com>
7516
7517         * src/nm-device-802-11-wireless.c
7518                 - (set_current_ap): consolidate current_ap handling code into one place
7519                         to ensure that PropertiesChanged signals are emitted in all cases
7520                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
7521                    nm_device_802_11_wireless_dispose): use set_current_ap()
7522
7523 2007-10-05  Dan Williams  <dcbw@redhat.com>
7524
7525         * libnm-glib/nm-access-point.c
7526           libnm-glib/nm-access-point.h
7527                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
7528                         because the value is cached internally now.  Callers should not
7529                         free the internal value.
7530                 - Make signal name defines private
7531
7532         * test/nm-tool.c
7533           libnm-glib/libnm-glib-test.c
7534                 - Don't free value returned from nm_access_point_get_hw_address()
7535
7536 2007-10-04  Dan Williams  <dcbw@redhat.com>
7537
7538         * introspection/nm-device-802-11-wireless.xml
7539           src/nm-device-802-11-wireless.h
7540           src/nm-device-802-11-wireless.c
7541                 - Add a PropertiesChanged signal for wireless device
7542                 - Store currently associated access point
7543                 - (periodic_update): generalize; update rate here too and emit the
7544                         correct PropertiesChanged signal when stuff changes
7545                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
7546                    real_activation_cancel_handler): clear current_ap when device is
7547                         deactivated
7548                 - (link_to_specific_ap, get_ap_blacklisted,
7549                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
7550                         code
7551                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
7552                         outside this file
7553                 - (real_set_hw_address): emit property changed signal if the card's
7554                         MAC address changes
7555                 - (real_act_stage1_prepare): set the initial current_ap to the AP
7556                         the card is supposed to be connecting to
7557                 - (activation_success_handler): send out property updates on successful
7558                         activation
7559                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
7560                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
7561                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
7562                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
7563                         is now boxed; add PropertiesChanged signal
7564
7565 2007-10-04  Dan Williams  <dcbw@redhat.com>
7566
7567         * libnm-util/nm-connection.c
7568           libnm-util/nm-connection.h
7569                 - (nm_connection_verify): new function
7570
7571 2007-10-04  Dan Williams  <dcbw@redhat.com>
7572
7573         * libnm-util/nm-setting.c
7574                 - (nm_settings_verify): use #defines when possible rather than strings
7575                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
7576                 - (setting_vpn_verify): tighter validity check on 'service_type'
7577
7578 2007-10-04  Dan Williams  <dcbw@redhat.com>
7579
7580         * libnm-glib/nm-settings.c
7581                 - (nm_connection_settings_class_init): provide correct type for argument
7582                         to the Updated signal so that dbus-glib knows how to marshal it
7583
7584 2007-10-03  Dan Williams  <dcbw@redhat.com>
7585
7586         * src/nm-device-802-3-ethernet.c
7587                 - (real_get_best_connection): don't create automatic connections
7588                         internally; clients should provide a setting that applies to
7589                         the device with 'autoconnect: True'.  Problem was that these
7590                         internally auto-created connections don't have a proxy or service
7591                         name becuase they weren't created by a settings daemon, and therefore
7592                         clients have no idea what to do with them.
7593
7594 2007-10-03  Dan Williams  <dcbw@redhat.com>
7595
7596         * src/nm-device-802-11-wireless.c
7597           src/nm-device-802-11-wireless.h
7598           introspection/nm-device-802-11-wireless.xml
7599                 - GetActiveNetworks -> GetAccessPoints
7600                 - ActiveNetwork -> ActiveAccessPoint
7601                 - NetworkAdded -> AccessPointAdded
7602                 - NetowrkRemoved -> AccessPointRemoved
7603
7604         * libnm-glib/nm-device-802-11-wireless.c
7605           libnm-glib/nm-device-802-11-wireless.h
7606                 - network-added signal -> access-point-added
7607                 - network-removed signal -> access-point-removed
7608                 - nm_device_802_11_wireless_get_active_network() ->
7609                         nm_device_802_11_wireless_get_active_access_point()
7610                 - nm_device_802_11_wireless_get_network_by_path() ->
7611                         nm_device_802_11_wireless_get_access_point_by_path()
7612                 - nm_device_802_11_wireless_get_networks() ->
7613                         nm_device_802_11_wireless_get_access_points()
7614
7615         * libnm-glib/libnm-glib-test.c
7616           test/nm-tool.c
7617           src/NetworkManagerPolicy.c
7618                 - Fixups for Network -> AccessPoint
7619
7620 2007-10-03  Dan Williams  <dcbw@redhat.com>
7621
7622         Add a GetActiveConnections() method on the Manager object.
7623
7624         * src/nm-manager.c
7625           src/nm-manager.h
7626           introspection/nm-manager.xml
7627                 - (connection_get_settings_cb): keep connection type around too
7628                 - (impl_manager_get_active_connections, add_one_connection_element):
7629                         implement; returns all active connections and what devices they
7630                         apply to
7631
7632         * libnm-glib/nm-client.c
7633           libnm-glib/nm-client.h
7634           introspection/nm-manager-client.xml
7635                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
7636                         by the caller; free here to avoid memory leak
7637                 - (nm_client_get_active_connections): implement; return the list of
7638                         active connections
7639                 - (nm_client_free_active_connection_element): implement; free an element
7640                         of the GSList returned by nm_client_get_active_connections()
7641
7642 2007-10-03  Dan Williams  <dcbw@redhat.com>
7643
7644         * src/nm-device-802-11-wireless.c
7645                 - (nm_device_802_11_wireless_update_bssid): remove
7646                 - (get_active_ap): new function; find the AP in the scan list which
7647                         matches the current BSSID and SSID of the wireless device
7648                 - (nm_device_802_11_periodic_update): get current AP using
7649                         get_active_ap() and print AP roam messages
7650
7651 2007-10-01  Dan Williams  <dcbw@redhat.com>
7652
7653         * libnm-util/nm-setting.h
7654                 - Add a 'timestamp' option to NMSettingConnection
7655                 - Add a UINT64 type
7656
7657         * libnm-util/nm-setting.c
7658                 - (uint64_to_gvalue): new function
7659                 - (nm_setting_populate_from_hash, nm_setting_hash,
7660                    default_setting_clear_secrets): handle UINT64 type
7661                 - con_table: add 'timestamp' member
7662
7663 2007-10-01  Dan Williams  <dcbw@redhat.com>
7664
7665         * src/nm-manager.c
7666                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
7667                         value when the connection can be activated immediately
7668
7669 2007-10-01  Dan Williams  <dcbw@redhat.com>
7670
7671         * libnm-glib/nm-device.c
7672                 - (nm_device_class_init): actually tell glib about the carrier-changed
7673                         signal
7674
7675 2007-10-01  Dan Williams  <dcbw@redhat.com>
7676
7677         * configure.in
7678           src/marshallers/Makefile.am
7679           src/marshallers/nm-marshal.list
7680           src/marshallers/nm-marshal-main.c
7681                 - Consolidate glib marshallers into one place
7682
7683         * src/dhcp-manager/Makefile.am
7684           src/dhcp-manager/nm-dhcp-manager.c
7685           src/supplicant-manager/Makefile.am
7686           src/supplicant-manager/nm-supplicant-manager.c
7687           src/supplicant-manager/nm-supplicant-interface.c
7688           src/ppp-manager/Makefile.am
7689           src/ppp-manager/nm-ppp-manager.c
7690           src/vpn-manager/Makefile.am
7691           src/vpn-manager/nm-vpn-connection.c
7692           src/Makefile.am
7693                 - Use consolidated marshallers
7694
7695         * src/dhcp-manager/nm-dhcp-marshal.list
7696           src/dhcp-manager/nm-dhcp-marshal-main.c
7697           src/supplicant-manager/nm-supplicant-marshal-main.c
7698           src/supplicant-manager/nm-supplicant-marshal.list
7699           src/nm-marshal-main.c
7700           src/nm-marshal.list
7701           src/ppp-manager/nm-ppp-marshal-main.c
7702           src/ppp-manager/nm-ppp-marshal.list
7703           src/vpn-manager/nm-vpn-marshal-main.c
7704           src/vpn-manager/nm-vpn-marshal.list
7705                 - Remove
7706
7707 2007-10-01  Dan Williams  <dcbw@redhat.com>
7708
7709         * include/NetworkManagerVPN.h
7710                 - define VPN connection state change reason codes
7711
7712         * src/vpn-manager/Makefile.am
7713           src/vpn-manager/nm-vpn-marshal.list
7714           src/vpn-manager/nm-vpn-marshal-main.c
7715                 - Add marshallers for StateChanged signal
7716
7717         * introspection/nm-vpn-connection.xml
7718                 - New Banner property
7719                 - StateChanged signal now includes a 'reason' argument
7720
7721         * src/vpn-manager/nm-vpn-connection.c
7722           src/vpn-manager/nm-vpn-connection.h
7723                 - Add a "Banner" property that contains the returned VPN server login
7724                         banner (if any); valid only in the ACTIVATED state
7725                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
7726                         a 'reason' argument and emits that reason along with the
7727                         state-changed signal
7728                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
7729                 - (nm_vpn_connection_ip4_config_get): save banner for later
7730                 - (nm_vpn_connection_get_banner, get_property,
7731                    nm_vpn_connection_class_init): implement Banner property
7732
7733         * src/vpn-manager/nm-vpn-service.c
7734                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
7735                         connection list because elements may get added/removed from it
7736                         while iterating over the list
7737                 - (connection_state_changed): signal now includes the 'reason' argument
7738
7739         * libnm-glib/nm-vpn-connection.c
7740           libnm-glib/nm-vpn-connection.h
7741                 - (nm_vpn_connection_get_banner): new function
7742                 - (state_changed_proxy): handle reason argument
7743
7744 2007-09-28  Tambet Ingo  <tambet@gmail.com>
7745
7746         * src/nm-manager.c:
7747         * src/nm-manager.h:
7748         Implement device activation through NMManager.
7749         Implement "pending device activation" here - If the connection isn't found,
7750         we try to wait for up to 5 seconds for the connection to be provided.
7751         Add NMConnectionType argument to "connection-added" and "connection-removed"
7752         signals.
7753         (nm_manager_get): Remove. Finally.
7754
7755         * src/nm-activation-request.c: 
7756         * src/nm-activation-request.h: 
7757         Remove all the deferred activation code.
7758
7759         * src/nm-device.c: Remove all the deferred activation code. Once the device
7760         activation is started, it's started. Update the activation virtual function
7761         signature.
7762
7763         * src/nm-device-interface.c:
7764         * src/nm-device-interface.h:
7765         Device activation now takes only NMActRequest argument.
7766         Don't expose device activation directly on dbus, it's supposed to go through
7767         NMManager now.
7768
7769         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
7770         a bit more compact.
7771         Use the new device activation methods through NMManager.
7772
7773         * introspection/nm-manager-client.xml: 
7774         * introspection/nm-manager.xml: 
7775         * libnm-glib/nm-client.c:
7776         * libnm-glib/nm-client.h:
7777         Add device activation method.
7778         
7779         * libnm-glib/nm-device.c: 
7780         * libnm-glib/nm-device.h: 
7781         * introspection/nm-device.xml: 
7782         Remove device activation method. It's done through NMManager now.
7783
7784         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
7785         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
7786
7787 2007-09-28  Dan Williams  <dcbw@redhat.com>
7788
7789         * libnm-glib/nm-vpn-connection.c
7790                 - (nm_vpn_connection_get_state): try to update state if the current
7791                         state is UNKNOWN
7792
7793 2007-09-27  Dan Williams  <dcbw@redhat.com>
7794
7795         Patch from Bill Nottingham
7796
7797         * src/supplicant-manager/nm-supplicant-config.c
7798                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
7799                         data to the supplicant
7800
7801 2007-09-27  Dan Williams  <dcbw@redhat.com>
7802
7803         * src/NetworkManagerSystem.c
7804                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
7805                         and all address manipulation here should be happening on the
7806                         _VPN_ device, not the active device
7807
7808 2007-09-26  Dan Williams  <dcbw@redhat.com>
7809
7810         * src/nm-manager.c
7811           src/nm-manager.h
7812           src/nm-activation-request.c
7813           src/nm-activation-request.h
7814                 - Move the GetSecrets stuff out of the NMManager instance because it
7815                         doesn't really need to be there and complicates things
7816
7817         * src/nm-device.c
7818                 - (connection_secrets_failed_cb, device_activation_go): connect to the
7819                         connection-secrets-failed signal and deactivate the device if
7820                         the GetSecrets call fails
7821
7822         * src/nm-device-802-11-wireless.c
7823                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7824                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
7825                         secrets and give correct hints about whether new secrets should be
7826                         asked for by the client or not
7827
7828 2007-09-26  Dan Williams  <dcbw@redhat.com>
7829
7830         * src/vpn-manager/nm-vpn-connection.c
7831                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
7832                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
7833                         to the secrets-updated signal of the NMConnection since updating
7834                         the secrets is done within the scope of the NMVPNConnection object
7835                         already
7836                 - (get_connection_secrets): fix an uninialized variable usage error
7837
7838 2007-09-26  Dan Williams  <dcbw@redhat.com>
7839
7840         * libnm-util/nm-setting.c
7841                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
7842                         actually get updated when the user enters them
7843
7844 2007-09-26  Dan Williams  <dcbw@redhat.com>
7845
7846         * libnm-glib/nm-vpn-plugin.c
7847                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
7848
7849 2007-09-26  Dan Williams  <dcbw@redhat.com>
7850
7851         * include/NetworkManagerVPN.h
7852                 - Add a NEED_AUTH state
7853
7854         * src/vpn-manager/nm-vpn-connection.c
7855                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
7856                         the connection needs secrets, and if so, then ask the settings
7857                         service to fill in the secrets.  Then start the connection.
7858
7859 2007-09-26  Dan Williams  <dcbw@redhat.com>
7860
7861         * src/vpn-manager/nm-vpn-manager.c
7862                 - (new_vpn_error, impl_vpn_manager_connect): set errors
7863
7864 2007-09-26  Dan Williams  <dcbw@redhat.com>
7865
7866         * introspection/nm-vpn-plugin.xml
7867           libnm-glib/nm-vpn-plugin.c
7868           libnm-glib/nm-vpn-plugin.h
7869                 - (impl_vpn_plugin_need_secrets): implement a call that should return
7870                         the name of the NMSetting in an NMConnection that may require
7871                         secrets specific to that VPN plugin
7872
7873 2007-09-26  Dan Williams  <dcbw@redhat.com>
7874
7875         * src/nm-manager.c
7876           src/nm-manager.h
7877                 - (nm_manager_get_connection_secrets): make static, unused outside
7878                         the file
7879                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
7880
7881 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7882
7883         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
7884         method.
7885         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
7886         unreference the connection.
7887
7888         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
7889         passing properties hash and routes string list, pass NMConnection (in hashed form).
7890
7891         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
7892         as GSList, no need to copy stuff around anymore.
7893         (nm_vpn_connection_activate): Update the plugin activation method.
7894
7895         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
7896         routes argument to GSList.
7897
7898 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7899
7900         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
7901         state and try to get the secrets.
7902
7903         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
7904         connections from NMManager and let the device to choose the best from the list.
7905         Since the connection list is sorted by system ones first and user ones later,
7906         the devices still prefer system connections like they did before.
7907         (deactivate_old_device): Implement. When a device starts activation, we have a
7908         policy (for now at least) to deactivate any other device that might be either
7909         active or still activating.
7910
7911         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
7912         It's set on construction, there will be no other way to access it.
7913
7914         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
7915         device events and drive the device, not the other way around.
7916
7917         * src/nm-device-802-3-ethernet.c: Ditto.
7918
7919         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
7920         sent along, pass it on to virtual functions.
7921
7922         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
7923         for now, but should really be public instead of nm_device_get_iface() since iface
7924         is a property of the DeviceInterface, not Device.
7925         (impl_device_activate): Don't touch NMManager!
7926
7927 2007-09-26  Jürg Billeter  <j@bitron.ch>
7928
7929         * initscript/paldo/NetworkManager.in:
7930         * initscript/paldo/NetworkManagerDispatcher.in:
7931         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
7932         (nm_system_flush_loopback_routes): update paldo backend
7933
7934 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7935
7936         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
7937         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
7938         which means none of the devices get brought down properly, which in turn leaves
7939         DHCP client running.
7940
7941         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
7942         (supplicant_connection_timeout_cb): Ditto.
7943
7944 2007-09-25  Dan Williams  <dcbw@redhat.com>
7945
7946         * src/nm-device.c
7947                 - (device_activation_go): small hack to work around race when
7948                         activating deferred connections; should solve this in a better way
7949
7950 2007-09-25  Dan Williams  <dcbw@redhat.com>
7951
7952         * introspection/nm-device.xml
7953           libnm-glib/nm-device.c
7954           libnm-glib/nm-device.h
7955                 - Add 'Carrier' property to exported NMDevice objects
7956
7957         * src/nm-device-interface.h
7958           src/nm-device-interface.c
7959           src/nm-device.c
7960                 - Add a 'carrier' property to internal NMDevice objects
7961
7962 2007-09-25  Dan Williams  <dcbw@redhat.com>
7963
7964         * src/nm-device-802-11-wireless.c
7965                 - (ap_auth_enforced): also return the encryption status of the AP so
7966                         that callers can differentiate easily between unencrypted APs
7967                         and encrypted ones, in addition to whether the AP has an
7968                         authenticator
7969                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7970                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
7971                         previously would request secrets from unencrypted APs at times
7972
7973 2007-09-25  Dan Williams  <dcbw@redhat.com>
7974
7975         * src/nm-manager.c
7976                 - (nm_manager_update_state): new function; updates state and emits
7977                         appropriate signals ensuring a state-change signal for the same state
7978                         never gets emitted twice in a row.
7979                 - (manager_device_state_changed): handle more device state to get a
7980                         better picture of the overall NM state
7981
7982 2007-09-25  Dan Williams  <dcbw@redhat.com>
7983
7984         * libnm-glib/nm-settings.c
7985           libnm-glib/nm-settings.h
7986                 - (new_error -> nm_settings_new_error): make public so that subclasses
7987                         can use the same error domain.  Also pass a valid error code to
7988                         g_error_new_literal() so that libdbus doesn't assert when converting
7989                         the GError into a DBusError
7990                 - (impl_settings_list_connections, impl_connection_settings_get_id,
7991                    impl_connection_settings_get_settings,
7992                    impl_connection_settings_get_secrets): use new error creator
7993                         function
7994
7995 2007-09-25  Dan Williams  <dcbw@redhat.com>
7996
7997         * src/NetworkManager.c
7998                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
7999
8000 2007-09-25  Dan Williams  <dcbw@redhat.com>
8001
8002         * src/supplicant-manager/nm-supplicant-manager.c
8003                 - (poke_supplicant_cb, nm_supplicant_manager_init,
8004                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
8005                    nm_supplicant_manager_startup): when the supplicant isn't running,
8006                         try to start it periodically via system bus activation.  Fixes
8007                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
8008                         for the supplicant to come back
8009
8010 2007-09-25  Dan Williams  <dcbw@redhat.com>
8011
8012         Ensure that old activation requests are forgotten about; previously
8013         hitting Cancel in the password dialog would deactivate whatever device
8014         that password was requested for, even if that wasn't the currently
8015         activating connection.
8016
8017         * src/nm-manager.c
8018           src/nm-manager.h
8019                 - (nm_manager_get_connection_secrets): track the pending call
8020                         object so it can be canceled later if needed
8021                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
8022                         GetSecrets call for a particular connection
8023
8024         * src/nm-activation-request.c
8025                 - (dispose): cancel any outstanding GetSecrets calls on the
8026                         connection
8027
8028 2007-09-25  Dan Williams  <dcbw@redhat.com>
8029
8030         * src/NetworkManagerPolicy.c
8031                 - (nm_policy_device_change_check): handle devices that have a
8032                         deferred activation.  These devices are not really active _yet_,
8033                         but need to be treated as such here.  Don't interrupt them
8034                         automatically.
8035
8036         * src/nm-device-interface.c
8037                 - (impl_device_activate): handle devices that have a deferred activation
8038                         like activating or active devices.  When multiple active devices
8039                         get committed, the device shouldn't be deactivated until the
8040                         connection details are available to avoid DoS and such.  Currently,
8041                         any active, activating, or deferred activation device is deactivated
8042                         here before starting the new activation request.
8043
8044 2007-09-25  Dan Williams  <dcbw@redhat.com>
8045
8046         Properly re-query secrets from the settings daemon when stuff fails.
8047
8048         * src/nm-device-802-11-wireless.c
8049                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
8050                         between Shared Key and Open System auth modes
8051                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8052                    real_act_stage4_ip_config_timeout): clear existing secrets and
8053                         request new ones when something fails due to a suspected wrong key
8054                 - (real_act_stage2_config): fix for new request_new argument to
8055                         nm_manager_get_connection_secrets()
8056
8057         * src/nm-manager.c
8058           src/nm-manager.h
8059                 - (nm_manager_get_connection_secrets): return error status; pass
8060                         new request_new argument on to the settings daemon
8061
8062         * introspection/nm-settings-connection.xml
8063                 - New 'request_new' argument to the GetSecrets call that hints to the
8064                         settings daemon to ask the user for completely new secrets
8065
8066         * libnm-glib/nm-settings.c
8067           libnm-glib/nm-settings.h
8068                 - (impl_connection_settings_get_secrets): handle new 'request_new'
8069                         argument
8070
8071 2007-09-25  Dan Williams  <dcbw@redhat.com>
8072
8073         * libnm-util/nm-connection.c
8074           libnm-util/nm-connection.h
8075                 - (nm_connection_clear_secrets): new function; clear secrets out of
8076                         each NMSetting in an NMConnection
8077
8078         * libnm-util/nm-setting.h
8079           libnm-util/nm-setting.c
8080                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
8081                         secrets out of an NMSetting
8082                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
8083                    nm_setting_wired_new, nm_setting_wireless_new,
8084                    nm_setting_wireless_security_new, nm_setting_ppp_new,
8085                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
8086                         to default handler default_setting_clear_secrets()
8087
8088 2007-09-25  Dan Williams  <dcbw@redhat.com>
8089
8090         * src/nm-activation-request.c
8091           src/nm-activation-request.h
8092                 - (nm_act_request_is_deferred): new function
8093
8094 2007-09-24  Dan Williams  <dcbw@redhat.com>
8095
8096         * src/nm-device-802-11-wireless.c
8097                 - (activation_success_handler): update signal strength immediately
8098                         after activation
8099
8100 2007-09-24  Dan Williams  <dcbw@redhat.com>
8101
8102         * libnm-util/nm-setting.c
8103                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
8104
8105 2007-09-24  Dan Williams  <dcbw@redhat.com>
8106
8107         * src/NetworkManagerPolicy.c
8108                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
8109                         device by deactivating it because it doesn't have a "best connection".
8110                         Since autoconnect=False connections aren't automatically chosen,
8111                         NM would interrupt activation of such a connection because it
8112                         would never be "best" due to autoconnect=False.
8113
8114 2007-09-24  Dan Williams  <dcbw@redhat.com>
8115
8116         * src/nm-manager.c
8117                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
8118                         actually has some time to enter a key before the GetSecrets call
8119                         times out
8120
8121 2007-09-24  Dan Williams  <dcbw@redhat.com>
8122
8123         * introspection/nm-manager.xml
8124           src/nm-manager.c
8125                 - (impl_manager_legacy_state): fix 'state' method call return value
8126
8127 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
8128
8129         * test/Makefile.am: Install nm-tool
8130
8131 2007-09-24  Dan Williams  <dcbw@redhat.com>
8132
8133         Patch from Ross Burton <ross@burtonini.com>
8134
8135         * test/nm-tool.c
8136           callouts/nm-dhcp-client-action.c
8137           src/nm-netlink.c
8138           src/vpn-manager/nm-vpn-connection.c
8139           libnm-glib/libnm-glib-test.c
8140                 - warning fixes
8141
8142 2007-09-24  Dan Williams  <dcbw@redhat.com>
8143
8144         * libnm-util/nm-utils.h
8145           libnm-util/nm-utils.c
8146                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
8147                         remove, unused
8148
8149 2007-09-23  Dan Williams  <dcbw@redhat.com>
8150
8151         * vpn-daemons/vpnc/properties/nm-vpnc.c
8152                 - Update for new VPN properties API bits; instead of passing around
8153                         a lot of random things, everything goes into the NMConnection
8154                         object.
8155
8156 2007-09-23  Dan Williams  <dcbw@redhat.com>
8157
8158         * libnm-util/nm-setting.c
8159                 - Correctly dispose of settings objects if creating them from a hash
8160                         table fails
8161
8162 2007-09-23  Dan Williams  <dcbw@redhat.com>
8163
8164         * libnm-util/nm-setting.c
8165                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
8166                         the hash table in a standard manner.  Clients of libnm-util should
8167                         only call g_hash_table_remove_all(), never destroy the hash table
8168                         and recreate it.
8169
8170 2007-09-22  Dan Williams  <dcbw@redhat.com>
8171
8172         * src/nm-device-802-11-wireless.c
8173                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
8174                         real reason to do it so often, and reduces wakeups for clients.
8175
8176 2007-09-21  Dan Williams  <dcbw@redhat.com>
8177
8178         * src/nm-device-802-11-wireless.c
8179                 - (build_supplicant_config): wpa_supplicant requires the option
8180                         key_mgmt=NONE for unencrypted networks
8181                 - (real_act_stage2_config): clarify log message on activation
8182
8183 2007-09-21  Dan Williams  <dcbw@redhat.com>
8184
8185         * test/nm-supplicant-test.c
8186           test/Makefile.am
8187                 - Remove supplicant test binary; no longer applicable
8188
8189 2007-09-21  Dan Williams  <dcbw@redhat.com>
8190
8191         * src/supplicant-manager/nm-supplicant-manager.c
8192                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8193                         activate it on the system bus
8194
8195 2007-09-20  Dan Williams  <dcbw@redhat.com>
8196
8197         * initscript/RedHat/NetworkManager.in
8198                 - dhcdbd is no longer used, so don't try to start it from the initscripts
8199
8200 2007-09-20  Dan Williams  <dcbw@redhat.com>
8201
8202         * src/nm-device.c
8203                 - (nm_device_is_activating): work around a race between auto-activation
8204                         and the user activating the same device that is being auto-activated
8205
8206 2007-09-20  Dan Williams  <dcbw@redhat.com>
8207
8208         * src/nm-device-interface.c
8209                 - (impl_device_activate): until multiple active device support lands,
8210                         ensure only one device can be active at a time
8211
8212 2007-09-20  Dan Williams  <dcbw@redhat.com>
8213
8214         * src/supplicant-manager/nm-supplicant-config.c
8215           src/supplicant-manager/nm-supplicant-config.h
8216                 - (nm_supplicant_config_add_option): hide secrets from system logs
8217
8218 2007-09-20  Dan Williams  <dcbw@redhat.com>
8219
8220         * src/NetworkManagerPolicy.c
8221                 - (nm_policy_device_change_check): re-enable the wireless device change
8222                         checking code; insted of checking for SSIDs, check for the same
8223                         connection instead
8224
8225 2007-09-20  Dan Williams  <dcbw@redhat.com>
8226
8227         * src/nm-device-802-11-wireless.c
8228                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
8229                         composite link state when determining when to start the disconnection
8230                         timer; that link state is already based on the supplicant interface's
8231                         status which is exactly what's already being examined, plus the link
8232                         state is a conglomeration of various things that we don't want here
8233
8234 2007-09-20  Dan Williams  <dcbw@redhat.com>
8235
8236         * libnm-glib/nm-access-point.c
8237                 - (handle_property_changed): strength is a UCHAR
8238
8239 2007-09-20  Dan Williams  <dcbw@redhat.com>
8240
8241         * src/supplicant-manager/nm-supplicant-config.c
8242                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
8243                         string list keywords too since that's what wpa_supplicant wants
8244
8245 2007-09-20  Dan Williams  <dcbw@redhat.com>
8246
8247         * libnm-util/nm-setting.c
8248                 - (convert_strv_to_slist): dupe the values in the list because since
8249                         the list is a boxed value, it'll get destroyed when it's container
8250                         (like a hash table or whatever) gets destroyed
8251
8252 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8253
8254         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
8255         GSList.
8256
8257         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
8258
8259         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
8260         just use (g_object_set_data_full).
8261
8262         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
8263         that NMSettingVPN->routes is a GSList, convert it to char **.
8264         (nm_vpn_connection_ip4_config_get): Free routes when done.
8265         (nm_vpn_connection_activate): Ditto.
8266
8267         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
8268         (real_act_stage2_config): Use defined setting names.
8269
8270 2007-09-20  Dan Williams  <dcbw@redhat.com>
8271
8272         * src/nm-device-802-11-wireless.c
8273           src/nm-manager.c
8274           src/nm-manager.h
8275                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
8276                         so that the device can be deactivated if secrets are wrong
8277
8278 2007-09-20  Dan Williams  <dcbw@redhat.com>
8279
8280         * introspection/nm-settings-connection.xml
8281           libnm-glib/nm-settings.c
8282           libnm-glib/nm-settings.h
8283                 - Make GetSecrets asynchronous on the server side
8284
8285 2007-09-20  Dan Williams  <dcbw@redhat.com>
8286
8287         * src/nm-manager.h
8288           src/nm-device.c
8289                 - (nm_device_activate): actually check if a given connection
8290                         exists before assuming it doesn't
8291
8292 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8293
8294         * libnm-util/nm-connection.c (register_default_creators): Use defined
8295         setting names. Register NMSettingVPN and NMSettingVPNProperties.
8296
8297         * libnm-util/nm-setting.c: Define property name strings, use them.
8298         Implement NMSettingVPN and NMSettingVPNProperties settings.
8299         Implement NM_S_TYPE_GVALUE_HASH.
8300         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
8301         (setting_connection_verify): Rename 'devtype' property to 'type'.
8302
8303         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
8304         properties.
8305
8306         * src/vpn-manager/nm-vpn-service.c: Ditto.
8307
8308         * src/vpn-manager/nm-vpn-connection.c: Ditto.
8309
8310         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
8311         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
8312
8313         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
8314         names. NMSettingConnection->devtype got renamed to 'type'.
8315
8316         * src/nm-device-802-3-ethernet.c (find_best_connection):
8317         (real_get_best_connection): Ditto.
8318
8319         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
8320
8321         * libnm-glib/nm-vpn-manager.[ch]: Update.
8322
8323 2007-09-19  Dan Williams  <dcbw@redhat.com>
8324
8325         * src/NetworkManagerAP.c
8326           src/NetworkManagerAP.h
8327           introspection/nm-access-point.xml
8328                 - Change strength-changed signal into a properties-changed signal
8329                         for all properties, not just strength.  Export that signal over dbus
8330                         so listeners don't have to poll NM for changes.
8331                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
8332                         get exported over D-Bus, so break up the logic and let other bits
8333                         decided when to export the AP
8334                 - (nm_ap_new_from_ap): remove, unused
8335
8336         * src/nm-device-802-11-wireless.c
8337                 - (merge_scanned_ap): only export APs that are actually on the device
8338                         list, not every AP created internally
8339
8340         * libnm-glib/nm-access-point.c
8341           libnm-glib/nm-access-point.h
8342                 - Cache properties internally and only hit DBus when needed.  Get
8343                         property updates from NM signals
8344
8345 2007-09-16  Dan Williams  <dcbw@redhat.com>
8346
8347         * libnm-util/nm-connection.c
8348           libnm-util/nm-connection.h
8349                 - (nm_connection_for_each_setting_value): new function; iterate over
8350                         each setting's value and call a user-provided function with details
8351                         about that value
8352
8353         * libnm-util/nm-setting.c
8354           libnm-util/nm-setting.h
8355                 - (nm_setting_enumerate_values): new function; enumerate the values
8356                         of a specific NMSetting subclass for a user-provided function with
8357                         details about that value
8358                 - Change wep_tx_keyidx to a uint32
8359                 - Create settings value tables for each setting defining their type,
8360                         key name, offset into the NMSetting subclass' structure, and whether
8361                         they are required and/or a secret
8362                 - (nm_setting_populate_from_hash): generic function to populate an
8363                         NMSetting from a GHash table, make all settings use it
8364                 - (nm_setting_hash): generic function to derive a GHashTable from
8365                         an NMSetting object, make all settings use it
8366
8367 2007-09-14  Dan Williams  <dcbw@redhat.com>
8368
8369         Remove unused stuff in libnm-util
8370
8371         * configure.in
8372           libnm-util/Makefile.am
8373           libnm-util/cipher-private.h
8374           libnm-util/cipher-wep-ascii.c
8375           libnm-util/cipher-wep-ascii.h
8376           libnm-util/cipher-wep-hex.c
8377           libnm-util/cipher-wep-hex.h
8378           libnm-util/cipher-wep-passphrase.c
8379           libnm-util/cipher-wep-passphrase.h
8380           libnm-util/cipher-wpa-psk-hex.c
8381           libnm-util/cipher-wpa-psk-hex.h
8382           libnm-util/cipher-wpa-psk-passphrase.c
8383           libnm-util/cipher-wpa-psk-passphrase.h
8384           libnm-util/cipher.c
8385           libnm-util/cipher.h
8386           libnm-util/dbus-helpers.c
8387           libnm-util/dbus-helpers.h
8388           libnm-util/gnome-keyring-md5.c
8389           libnm-util/gnome-keyring-md5.h
8390           libnm-util/sha1.c
8391           libnm-util/sha1.h
8392           src/nm-device-802-11-wireless.c
8393           test/libnm-util/Makefile.am
8394           test/libnm-util/test-ciphers.c
8395           test/libnm-util/test-dbus-helpers.c
8396           test/libnm-util/test-inputs.h
8397                 - Removed
8398
8399 2007-09-14  Dan Williams  <dcbw@redhat.com>
8400
8401         * libnm-util/dbus-method-dispatcher.c
8402           libnm-util/dbus-method-dispatcher.h
8403                 - Remove, unused
8404
8405 2007-09-14  Dan Williams  <dcbw@redhat.com>
8406
8407         Implement deferred activation support in the device class.
8408
8409         * src/nm-device-interface.c
8410           src/nm-device-interface.h
8411                 - (nm_device_interface_activate): take more arguments to support
8412                         deferred activation; callers must pass one of (connection) OR
8413                         (service_name, connection_path)
8414                 - (impl_device_activate): connection validation is punted to the device
8415                         to be able to handle deferred activation.  Yes, this means errors
8416                         don't get returned from the Activate() dbus call, and yes, that
8417                         should be fixed somehow later.
8418
8419         * src/nm-device.c
8420           src/nm-device.h
8421                 - (clear_act_request): clear additional deferred activation stuff too
8422                 - (deferred_activation_timeout_cb): new function; clean up when
8423                         deferred activation times out.
8424                 - (deferred_activation_start_cb): new function; when the connection
8425                         finally becomes available, start device activation
8426                 - (nm_device_activate): attach to the right signals of the activation
8427                         request if we need to defer activation until the connection is valid
8428
8429         * src/NetworkManagerPolicy.c
8430                 - (nm_policy_device_change_check): update for additional arguments
8431                         required for nm_device_interface_activate().  Pass NULL for these
8432                         though because this function already knows exactly which
8433                         NMConnection to use
8434
8435 2007-09-14  Dan Williams  <dcbw@redhat.com>
8436
8437         Implement deferred activation handling in the NMActRequest class.  When a
8438         client wants to activate a device but must create the NMConnection details
8439         on the fly, there likely hasn't been enough time yet for NM to receive the
8440         new connection signal and grab all the connection details.  So the
8441         activation is deferred (and bounded by a timer) for a while, and if the
8442         connection appears within the window, it is activated.
8443
8444         * src/nm-activation-request.c
8445           src/nm-activation-request.h
8446                 - (nm_act_request_class_init): two new signals to support deferred
8447                         activation, to allow the listener to handle both timeout and success
8448                 - (nm_act_request_new_deferred): new function, starts the deferred
8449                         activation timeout handler and listens to the NMManager for
8450                         new-connection signals to notice when the connection comes in
8451
8452 2007-09-14  Dan Williams  <dcbw@redhat.com>
8453
8454         * src/nm-manager.h
8455           src/nm-manager.c
8456                 - (nm_manager_get_connection_service_name,
8457                    nm_manager_get_connection_dbus_path): get details about a connection
8458                         known internally by the NMManager
8459                 - (nm_manager_class_init): fix connection add/remove signal marshalers
8460                         because NMConnection is now a GObject subclass
8461                 - Use constant for the gobject data tag used on NMConnection objects for
8462                         storing the associated DBusGProxy
8463
8464 2007-09-14  Dan Williams  <dcbw@redhat.com>
8465
8466         * utils/Makefile.am
8467           utils/nm-utils.c
8468           utils/nm-utils.h
8469           src/supplicant-manager/Makefile.am
8470           src/dhcp-manager/Makefile.am
8471           src/backends/Makefile.am
8472           src/named-manager/Makefile.am
8473           src/ppp-manager/Makefile.am
8474           src/vpn-manager/Makefile.am
8475           test/libnm-util/Makefile.am
8476           test/test-common/Makefile.am
8477                 - Remove utils/; it was unused
8478
8479 2007-09-13  Dan Williams  <dcbw@redhat.com>
8480
8481         * libnm-glib/nm-vpn-manager.h
8482           libnm-glib/nm-vpn-manager.c
8483                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
8484
8485 2007-09-13  Dan Williams  <dcbw@redhat.com>
8486
8487         * src/nm-device-802-3-ethernet.c
8488                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
8489                         netlink monitor carrier signals on dispose, not bring down.  The
8490                         carrier signals should be handled over the entire lifetime of the
8491                         device anyway, not created/destroyed on up or down.
8492
8493 2007-09-13  Dan Williams  <dcbw@redhat.com>
8494
8495         * libnm-glib/nm-device.c
8496           libnm-glib/nm-device.h
8497                 - (nm_device_activate): take a connection object path rather than an
8498                         NMConnection because NMConnection isn't exported over D-Bus and
8499                         therefore it dbus-glib can't automatically get an object path from it
8500
8501 2007-09-13  Dan Williams  <dcbw@redhat.com>
8502
8503         * libnm-util/nm-setting.c
8504                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
8505
8506 2007-09-13  Tambet Ingo  <tambet@gmail.com>
8507
8508         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
8509
8510 2007-09-12  Tambet Ingo  <tambet@gmail.com>
8511
8512         * src/vpn-manager/nm-vpn-connection.[ch]: 
8513         * src/vpn-manager/nm-vpn-manager.[ch]:
8514         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
8515         dbus-glib, GObjects, signals etc.
8516
8517         * libnm-glib/nm-vpn-manager.[ch]: 
8518         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
8519         so much, rewrite these too.
8520
8521         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
8522         the new introspection files.
8523
8524         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
8525
8526         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
8527         the header with the same name from libnm-utils.
8528
8529         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
8530
8531         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
8532
8533         * introspection/nm-vpn-plugin.xml: Implement.
8534
8535         * introspection/nm-vpn-connection.xml: Implement.
8536
8537         * introspection/nm-vpn-manager.xml: Implement.
8538
8539         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
8540         the named manager argument, it can just as easily get it as the caller.
8541         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
8542
8543         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
8544
8545         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
8546
8547         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
8548         libnm-utils.
8549
8550         * libnm-util/nm-connection.c: Ditto.
8551
8552         * src/NetworkManagerMain.h: Remove, it's finally empty.
8553
8554         * configure.in: Remove utils/ from build.
8555
8556         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
8557         of hard-coded strings.
8558
8559         * utils/: Move it over to libnm-util.
8560
8561         * test/Makefile.am: Link against libnm-util now that util/ is gone.
8562
8563         * dispatcher-daemon/Makefile.am: Ditto.
8564
8565         * src/Makefile.am: Ditto.
8566
8567 2007-09-12  Dan Williams  <dcbw@redhat.com>
8568
8569         Wireless connections can be made with config data from the applet now.
8570         
8571         Yay.
8572
8573         * src/supplicant-manager/nm-supplicant-config.h
8574           src/supplicant-manager/nm-supplicant-config.c
8575                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
8576                 - (nm_supplicant_config_add_setting_wireless,
8577                    nm_supplicant_config_add_setting_wireless_security): new functions;
8578                         add key/value pairs from the settings objects to the supplicant
8579                         config
8580
8581         * src/nm-device-802-11-wireless.c
8582                 - (cull_scan_list): fix check to not prune currently associated AP
8583                 - (build_supplicant_config, real_act_stage2_config): call the functions
8584                         of the NMSupplicantConfig that parse settings objects rather than
8585                         doing it manually here
8586
8587 2007-09-12  Dan Williams  <dcbw@redhat.com>
8588
8589         * src/supplicant-manager/nm-supplicant-interface.c
8590           src/supplicant-manager/nm-supplicant-marshal.list
8591                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
8592                         "connection-error" signal arguments should be STRING not CHAR
8593
8594 2007-09-12  Dan Williams  <dcbw@redhat.com>
8595
8596         * src/NetworkManagerUtils.c
8597           src/NetworkManagerUtils.h
8598                 - (nm_utils_hexstr2bin): new function
8599
8600 2007-09-11  Dan Williams  <dcbw@redhat.com>
8601
8602         * src/nm-manager.c
8603                 - (connection_get_settings_cb): emit connection-added signal
8604                 - (connection_removed_cb): uncomment bits for system settings service,
8605                         send connection-removed when appropriate
8606                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
8607                         the stack by trying to g_object_set_data() on something that's
8608                         not a GObject; handle case where settings service returns
8609                         empty settings hash table
8610
8611 2007-09-11  Dan Williams  <dcbw@redhat.com>
8612
8613         * src/NetworkManagerPolicy.c
8614                 - (connection_added, connection_removed): trigger device change checks
8615                         on connection changes
8616
8617 2007-09-11  Dan Williams  <dcbw@redhat.com>
8618
8619         * src/nm-activation-request.c
8620                 - (connection_secrets_updated_cb): fix c&p error in signal emission
8621
8622 2007-09-11  Dan Williams  <dcbw@redhat.com>
8623
8624         * src/nm-device-802-11-wireless.c
8625                 - (real_connection_secrets_updated): fix erroneous check
8626
8627 2007-09-11  Dan Williams  <dcbw@redhat.com>
8628
8629         * introspection/nm-device.xml
8630           libnm-glib/nm-device.c
8631           libnm-glib/nm-device.c
8632                 - Fix Activate call argument borkage; Activate takes 3 arguments
8633
8634 2007-09-11  Dan Williams  <dcbw@redhat.com>
8635
8636         * libnm-glib/nm-access-point.c
8637           libnm-glib/nm-access-point.c
8638                 - (nm_access_point_get_frequency): now returns guint32 to match
8639                         property change on 2007-09-10
8640
8641 2007-09-11  Dan Williams  <dcbw@redhat.com>
8642
8643         * src/nm-device-802-11-wireless.c
8644                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
8645                         somewhere defines 'index' and I missed this one when I fixed the
8646                         shadow declaration errors earlier
8647
8648 2007-09-11  Dan Williams  <dcbw@redhat.com>
8649
8650         * libnm-util/nm-connection.c
8651                 - (nm_connection_update_secrets, need_secrets_check): move
8652                         802-11-wireless-security need_secrets checks to the setting object
8653                         itself, where it belongs
8654
8655         * libnm-util/nm-setting.c
8656           libnm-util/nm-setting.h
8657                 - (nm_setting_need_secrets): new function
8658                 - (setting_wireless_security_verify,
8659                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
8660                 - (setting_wireless_security_need_secrets): mostly copy code over
8661                         from nm-connection.c
8662
8663 2007-09-11  Dan Williams  <dcbw@redhat.com>
8664
8665         * libnm-util/nm-setting.c
8666           libnm-util/nm-setting.h
8667                 - (nm_setting_update_secrets): new function; add a virtual function that
8668                         subclasses can implement to update their secrets
8669                 - (setting_wireless_security_update_secrets): implement that function
8670                         for the 802-11-wireless-security subclass
8671
8672         * libnm-util/nm-connection.c
8673           libnm-util/nm-connection.h
8674                 - (nm_connection_update_secrets): update secrets for a Setting and
8675                         emit a signal on success
8676
8677         * src/nm-manager.c
8678           src/nm-manager.h
8679           src/nm-marshal.list
8680                 - (connection_get_settings_cb): enable system settings bits
8681                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
8682                         to request secrets from the settings dbus service and to
8683                         push those secrets to the NMConnection itself
8684
8685         * src/nm-activation-request.c
8686           src/nm-activation-request.h
8687                 - Attach to the 'secrets-updated' signal of the NMConnection that's
8688                         currently being activated, and proxy that signal to other listeners.
8689                         Goes through the activation request because the activation request
8690                         is the thing that manages the lifetime of the NMConnection that's
8691                         being activated.
8692
8693         * src/nm-device-802-11-wireless.c
8694                 - (real_connection_secrets_updated): implement the connection secrets
8695                         updated notification and restart activation when secrets are
8696                         received
8697                 - (real_act_stage2_config): request secrets from the settings dbus
8698                         service if secrets are needed
8699
8700         * src/nm-device.c
8701           src/nm-device.h
8702                 - (clear_act_request, nm_device_activation_cancel,
8703                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
8704                         where the activation request is cleared
8705                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
8706                         updated secrets signal of activation request and add a function
8707                         that subclasses can override to handle it easily
8708
8709 2007-09-11  Tambet Ingo  <tambet@gmail.com>
8710
8711         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
8712         removal of NetworkManagerAPList.
8713
8714 2007-09-10  Dan Williams  <dcbw@redhat.com>
8715
8716         * src/NetworkManagerAP.c
8717           src/NetworkManagerAP.h
8718           introspection/nm-access-point.xml
8719                 - Change 'freq' property to a guint32 instead of a double since we
8720                         weren't using the floating point bits anyway
8721
8722 2007-09-10  Dan Williams  <dcbw@redhat.com>
8723
8724         * NetworkManagerAP.c
8725           NetworkManagerAP.h
8726           NetworkManagerPolicy.c
8727           NetworkManagerSystem.c
8728           NetworkManagerUtils.c
8729           NetworkManagerUtils.h
8730           nm-device-802-11-wireless.c
8731           nm-device-802-3-ethernet.c
8732           nm-hal-manager.c
8733           nm-manager.c
8734           vpn-manager/nm-dbus-vpn.c
8735                 - Warning fixes; casts and removal of unused variables
8736
8737 2007-09-10  Dan Williams  <dcbw@redhat.com>
8738
8739         * include/NetworkManager.h
8740                 - Kill NMNetworkType; AP types don't matter any more
8741
8742         * src/NetworkManagerAPList.c
8743           src/NetworkManagerAPList.h
8744           src/Makefile.am
8745                 - Kill; NMAccessPointList has outlived it's usefulness
8746
8747         * src/NetworkManagerAP.c
8748           src/NetworkManagerAP.h
8749                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
8750                         functions; check if an NMConnection object is compatible with the
8751                         settings of this AP
8752                 - (freq_to_channel, channel_to_freq): utility functions for
8753                         channel <-> frequency conversion
8754
8755         * src/nm-device.c
8756           src/nm-device.h
8757                 - (nm_device_get_best_connection): pass the specific object around
8758                          (which might be the object path of a specific AP to connect to).
8759                          The get_best_connection() call should populate this on return
8760                          if needed (wireless does).
8761
8762         * src/nm-device-802-3-ethernet.c
8763                 - (real_get_best_connection): handle specific_object argument
8764
8765         * src/NetworkManager.c
8766           src/NetworkManagerMain.h
8767                 - Remove unused includes
8768
8769         * src/nm-device-802-11-wireless.c
8770           src/nm-device-802-11-wireless.h
8771                 - Convert the ap_list into a GSList from an NMAccessPointList
8772                 - No need for caching the 'activation_ap' since this is now determined
8773                         from the specific_object of the activation request, which is
8774                         populated from the get_best_connection() call or from a user request
8775                 - (nm_device_802_11_wireless_update_bssid): fix warning
8776                 - (get_wireless_capabilities): fix error message format arguments
8777                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
8778                 - (find_best_connection, real_get_best_connection): implement
8779                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
8780                         move here from NetworkManagerAPList
8781                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
8782                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
8783                         already verified earlier
8784                 - (real_act_stage2_config): use nm_connection_need_secrets()
8785
8786         * src/NetworkManagerPolicy.c
8787                 - (nm_policy_auto_get_best_device): handle specific objects
8788                 - (create_connection): remove; automatic connection creation functionality
8789                         is handled by the Connection objects
8790                 - (nm_policy_device_change_check): handle specific_object
8791
8792         * libnm-util/nm-connection.c
8793                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
8794
8795 2007-09-10  Dan Williams  <dcbw@redhat.com>
8796
8797         * src/nm-manager.c
8798                 - (query_connections): fix uninitialized variable problem that caused
8799                         segfault
8800                 - (nm_manager_add_device): take devices down on startup so that we can
8801                         be assured that nm_device_is_up() won't short-circuit the init
8802                         process.  Hack until the is_up check gets split into two pieces
8803                         that aren't behaviorally confusing.
8804
8805 2007-09-09  Dan Williams  <dcbw@redhat.com>
8806
8807         * introspection/nm-device.xml
8808                 - The 'Activate' method now takes 3 arguments, a service name for the
8809                 settings service (user or system), the object path of the connection
8810                 to activate, and the specific object to activate, if any
8811
8812         * src/nm-device-interface.c
8813                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
8814                 Add error bits
8815                 - (impl_device_activate): adapt to new Activate arguments; validate
8816                 the service name and get the Connection object from the NMManager
8817                 before starting to activate the device with the specified connection
8818
8819         * src/nm-device-802-3-ethernet.c
8820                 - (real_get_best_connection): find the best connection, or create a
8821                 default one if no existing connections can be used
8822
8823         * src/NetworkManagerPolicy.c
8824                 - (nm_policy_auto_get_best_device): Get the device's best connection
8825                 and only pick the device if it has one
8826                 - (nm_policy_device_change_check): disable wireless bits for now until
8827                 wireless get_best_connection() can be implemented (replacing "best_ap");
8828                 don't create a default connection here as the device subclass will do
8829                 that if needed
8830
8831         * src/nm-manager.h
8832           src/nm-manager.c
8833                 - (nm_manager_get): make NMManager a singleton and expose the getter
8834                 internally
8835                 - Rework internal NMManager connection handling to use the same
8836                 routines for both the system and user settings services.  Most calls
8837                 take a new NMConnectionType argument specifying either system or user
8838                 connections
8839                 - (nm_manager_get_connection_by_object_path): new function; get a
8840                 connection keyed on its object path
8841
8842         * src/NetworkManager.c
8843                 - (main): use nm_manager_get()
8844
8845 2007-09-09  Dan Williams  <dcbw@redhat.com>
8846
8847         * src/nm-device.h
8848           src/nm-device.c
8849                 - (nm_device_get_best_connection): new function; get best connection
8850                         for the device at that time
8851
8852 2007-09-09  Dan Williams  <dcbw@redhat.com>
8853
8854         * src/nm-device-interface.h
8855                 - Add NMDeviceInterfaceError with an UnknownConnection error
8856
8857 2007-09-09  Dan Williams  <dcbw@redhat.com>
8858
8859         Stupid mistake on my part; object path and interface for settings service
8860         and connection objects can be the same, only the service name must be
8861         different for the system and user settings services.
8862
8863         * include/NetworkManager.h
8864           src/nm-manager.c
8865           introspection/nm-settings-connection.xml
8866           introspection/nm-settings.xml
8867           libnm-glib/nm-settings.c
8868                 - (nm_connection_settings_init, query_user_connections,
8869                    new_connection_cb): Unify NetworkManagerSettings and Connection
8870                    interface name and object path
8871
8872 2007-09-06  Dan Williams  <dcbw@redhat.com>
8873
8874         * libnm-glib/nm-object.c
8875                 - (nm_object_get_string_property, nm_object_get_object_path_property,
8876                    nm_object_get_int_property, nm_object_get_uint_property,
8877                    nm_object_get_boolean_property, nm_object_get_byte_property,
8878                    nm_object_get_double_property, nm_object_get_byte_array_property):
8879                         clear GValues after copying their contents, fixes memory leaks
8880                         after every property access because dbus-glib copies the values
8881                         from the DBusMessage into the GValue already.
8882
8883 2007-09-06  Dan Williams  <dcbw@redhat.com>
8884
8885         * introspection/nm-access-point.xml
8886                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
8887                         them to be.  There's some magic property name parsing going on in
8888                         dbus-glib that breaks up property names based on studly-caps and
8889                         puts - between words.
8890
8891         * libnm-glib/nm-access-point.c
8892                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
8893                         Fix property names
8894
8895 2007-09-06  Dan Williams  <dcbw@redhat.com>
8896
8897         * src/nm-manager.c
8898                 - (nm_manager_user_connections_destroy): clear the user connections hash
8899                         table, don't destroy it
8900                 - (finalize): only destroy the hash table on NMManager finalization
8901
8902 2007-09-02  Dan Williams  <dcbw@redhat.com>
8903
8904         * include/NetworkManager.h
8905           libnm-glib/nm-settings.c
8906                 - defines for the user settings daemon D-Bus bits
8907
8908         * src/NetworkManager.c
8909                 - Remove stuff that referred to the old NetworkManagerInfo service
8910
8911         * src/vpn-manager/nm-dbus-vpn.h
8912                 - Move old NMI defines to the only place they are used still
8913
8914         * libnm-util/nm-connection.c
8915           libnm-util/nm-connection.h
8916           src/nm-activation-request.c
8917                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
8918
8919         * src/nm-manager.c
8920           src/nm-manager.h
8921                 - Get connections and their settings from the user settings daemon
8922                         at the appropriate times
8923
8924 2007-09-02  Dan Williams  <dcbw@redhat.com>
8925
8926         * libnm-util/nm-setting.c
8927                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
8928                 - (setting_wireless_hash): set the right value on the item
8929
8930 2007-09-02  Dan Williams  <dcbw@redhat.com>
8931
8932         * test/Makefile.am
8933           test/nminfotest.c
8934                 - Remove, no longer useful
8935
8936 2007-08-30  Dan Williams  <dcbw@redhat.com>
8937
8938         * src/Makefile.am
8939           src/NetworkManagerDbus.c
8940           src/NetworkManagerDbus.h
8941           src/vpn-manager/nm-dbus-vpn.c
8942                 - Remove, no longer necessary.  Move last bits to the only place its
8943                 used, in nm-dbus-vpn.c
8944
8945         * src/NetworkManagerAPList.c
8946           src/nm-device.c
8947           src/NetworkManager.c
8948           src/nm-device-802-11-wireless.c
8949           src/vpn-manager/nm-vpn-manager.c
8950           src/vpn-manager/nm-vpn-service.c
8951           src/NetworkManagerPolicy.c
8952           src/nm-manager.c
8953                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
8954                 that was message_is_error()
8955
8956 2007-08-30  Dan Williams  <dcbw@redhat.com>
8957
8958         * libnm-util/sha1.c
8959                 - Include config.h to get defines for endiannes (gnome.org #420216)
8960
8961 2007-08-30  Dan Williams  <dcbw@redhat.com>
8962
8963         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
8964
8965         * src/ppp-manager/Makefile.am
8966                 - use -fPIC (gnome.org #471825)
8967
8968 2007-08-29  Dan Williams  <dcbw@redhat.com>
8969
8970         * include/NetworkManager.h
8971                 - Keep NMConnection object path in sync
8972
8973         * libnm-glib/nm-settings.c
8974           libnm-glib/nm-settings.h
8975                 - Break D-Bus object registration out of the init function, because
8976                 every object that's exported over D-Bus needs to use the _same_
8977                 DBusConnection.  Otherwise, each object would get a different object
8978                 path tree and wouldn't be callable.
8979
8980 2007-08-29  Dan Williams  <dcbw@redhat.com>
8981
8982         * libnm-util/nm-setting.h
8983           libnm-util/nm-setting.c
8984           libnm-util/nm-connection.c
8985           src/NetworkManagerPolicy.c
8986                 - 'info' settings object should be 'connection' says the spec
8987                 at NetworkManagerConfigurationSpecification
8988
8989 2007-08-29  Dan Williams  <dcbw@redhat.com>
8990
8991         * libnm-glib/nm-settings.c
8992           libnm-glib/nm-settings.h
8993                 - make the dbus path a property of the object, and autogenerate it.
8994                 It can't be composed of the 'id' field becuase that's not available
8995                 yet during the GObject creation in nm_connection_settings_init()
8996
8997 2007-08-29  Dan Williams  <dcbw@redhat.com>
8998
8999         * introspection/nm-settings-connection.xml
9000           introspection/nm-settings.xml
9001                 - Service name -> NetworkManagerUserSettings because two services
9002                 can't share part of the same path.  I'm not really sure how we'll use
9003                 the same code with the system-settings daemon...
9004
9005 2007-08-28  Dan Williams  <dcbw@redhat.com>
9006
9007         * src/nm-device-interface.c
9008           src/nm-device-interface.h
9009                 - Kill one more bit of NMData
9010
9011 2007-08-28  Dan Williams  <dcbw@redhat.com>
9012
9013         * src/NetworkManagerSystem.h
9014           src/nm-device.c
9015           src/nm-device.h
9016           src/nm-hal-manager.c
9017           src/NetworkManager.c
9018           src/nm-device-802-11-wireless.c
9019           src/nm-hal-manager.h
9020           src/nm-device-802-3-ethernet.c
9021           src/vpn-manager/nm-vpn-service.h
9022           src/vpn-manager/nm-vpn-manager.c
9023           src/vpn-manager/nm-vpn-manager.h
9024           src/vpn-manager/nm-vpn-service.c
9025           src/nm-device-802-11-wireless.h
9026           src/NetworkManagerMain.h
9027           src/nm-device-802-3-ethernet.h
9028           src/backends/NetworkManagerGentoo.c
9029           src/backends/NetworkManagerPaldo.c
9030           src/backends/NetworkManagerFrugalware.c
9031           src/backends/NetworkManagerRedHat.c
9032           src/backends/NetworkManagerSlackware.c
9033           src/backends/NetworkManagerGeneric.c
9034           src/backends/NetworkManagerArch.c
9035           src/backends/NetworkManagerSuSE.c
9036           src/backends/NetworkManagerGeneric.h
9037           src/backends/NetworkManagerDebian.c
9038                 - Kill NMData
9039
9040 2007-08-28  Dan Williams  <dcbw@redhat.com>
9041
9042         * src/NetworkManagerMain.h
9043           src/nm-device-802-11-wireless.c
9044           src/NetworkManager.c
9045                 - Remove invalid AP list from NMData; need to rework this somewhat, but
9046                 for now we should set the 'invalid' property on individual APs, and when
9047                 we need to invalidate a whole ESS, set the 'invalid' on every member of
9048                 that ESS
9049
9050 2007-08-28  Dan Williams  <dcbw@redhat.com>
9051
9052         * src/NetworkManagerAP.c
9053           src/NetworkManagerAP.h
9054                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
9055                         'autoconnect' property instead
9056
9057         * src/NetworkManager.c
9058           src/NetworkManagerMain.h
9059           src/NetworkManagerPolicy.c
9060           src/NetworkManagerPolicy.h
9061                 - Remove the 'allowed_ap_list', which should be replaced by 
9062                         NMConnection/NMSettings instead, since _those_ are the allowed
9063                         things that NM can connect to
9064
9065         * src/nm-device-802-11-wireless.c
9066                 - Remove both allowed_ap_list usage and 'fallback' checking
9067
9068 2007-08-28  Dan Williams  <dcbw@redhat.com>
9069
9070         * src/nm-device.c
9071           src/named-manager/nm-named-manager.c
9072           src/named-manager/nm-named-manager.h
9073           src/NetworkManager.c
9074           src/vpn-manager/nm-vpn-manager.c
9075           src/NetworkManagerMain.h
9076           src/NetworkManagerSystem.c
9077                 - Remove the named-manager object from NMData structure in preparation
9078                 for NMData's timely death.  Make the NMNamedManager the singleton that
9079                 it really is
9080
9081 2007-08-28  Dan Williams  <dcbw@redhat.com>
9082
9083         Remove NMAPSecurity objects, they are replaced with flags on the APs for
9084         each AP's capabilities, and by NMConnection/NMSettings objects for user
9085         defined connections.
9086
9087         * include/NetworkManager.h
9088                 - Redefine 802.11 security properties.  There are now device capabilities
9089                         and AP flags and AP security flags.  It was way to unclear before.
9090
9091         * src/Makefile.am
9092           src/nm-ap-security-leap.h
9093           src/nm-ap-security-leap.c
9094           src/nm-ap-security-wpa-eap.c
9095           src/nm-ap-security-wpa-eap.h
9096           src/nm-ap-security-private.h
9097           src/nm-ap-security-wpa-psk.c
9098           src/nm-ap-security-wpa-psk.h
9099           src/nm-ap-security-wep.c
9100           src/nm-ap-security-wep.h
9101           src/nm-ap-security.c
9102           src/nm-ap-security.h
9103                 - Removed, to be replaced with NMConnection/NMSettings objects
9104
9105         * src/nm-dbus-nmi.c
9106           src/nm-dbus-nmi.h
9107                 - Removed, to be replaced by code that talks to the new info daemon
9108                         interface and gets NMConnection/NMSettings objects
9109
9110         * src/backends/NetworkManagerSuSE.c
9111                 - Remove usage of NMAPSecurity; should be replaced by a system-level
9112                         info-daemon that does the same thing but talks the new info-daemon
9113                         D-Bus interface
9114
9115         * src/NetworkManagerAP.h
9116           src/NetworkManagerAP.c
9117           src/NetworkManagerAPList.c
9118           libnm-glib/libnm-glib-test.c
9119                 - Remove usage of NMAPSecurity objects and adjust to new flags for
9120                         WPA/RSN
9121
9122         * libnm-glib/nm-access-point.c
9123           libnm-glib/nm-access-point.h
9124           introspection/nm-access-point.xml
9125           test/nm-tool.c
9126                 - Adjust to new flags for AP security
9127
9128         * utils/nm-utils.c
9129           utils/nm-utils.h
9130           src/vpn-manager/nm-dbus-vpn.c
9131                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
9132                         stuff which is the only place it's used
9133
9134         * src/nm-device-interface.c
9135           src/nm-device-interface.h
9136           introspection/nm-device.xml
9137           src/nm-activation-request.c
9138           src/nm-activation-request.h
9139           src/nm-device.c
9140                 - Add a new 'specific_object' argument that hints to NM what actual
9141                         AP or other device-specific thing the connection should apply to.
9142                         NMConnection objects can apply to more than one actual device/AP.
9143
9144         * libnm-util/nm-connection.c
9145         * libnm-util/nm-connection.h
9146                 - Add 'have_secrets" call stubs
9147
9148         * libnm-util/cipher.h
9149                 - Move NM_AUTH_TYPE_* defines here for now
9150
9151         * src/nm-device-802-11-wireless.c
9152                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
9153                         NMSettings objects
9154
9155         * src/NetworkManagerDbus.c
9156         * src/NetworkManagerPolicy.c
9157                 - Remove usage of update_allowed_networks, should be pushing data in
9158                         a different manner
9159
9160 2007-08-27  Tambet Ingo  <tambet@gmail.com>
9161
9162         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
9163         dbus-glib frees it when the call is done.
9164
9165 2007-08-26  Dan Williams  <dcbw@redhat.com>
9166
9167         * introspection/nm-device.xml
9168                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
9169
9170 2007-08-26  Dan Williams  <dcbw@redhat.com>
9171
9172         * src/nm-device-802-3-ethernet.c
9173                 - (constructor): move connection of interface-connected/disconnected
9174                         signals here from real_bring_up().  Should be listening to netlink
9175                         for carrier events no matter what the initial state of the device
9176                         is.
9177
9178 2007-08-26  Dan Williams  <dcbw@redhat.com>
9179
9180         * src/nm-netlink-monitor.c
9181                 - (nm_netlink_monitor_class_init): fix marshalling types for
9182                         interface-connected/interface-disconnected
9183                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
9184                         check
9185
9186 2007-08-26  Dan Williams  <dcbw@redhat.com>
9187
9188         Convert to using interface indexes as the primary method of identifying
9189         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9190         be renamed at any time.  Device object paths now refer to the device
9191         index rather than the name, and you can map those two manually if you like
9192         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9193         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9194         to use interface indexes rather than names.
9195
9196 2007-08-26  Dan Williams  <dcbw@redhat.com>
9197
9198         * src/nm-netlink-monitor.h
9199                 - Remove one last bit of wireless-event signal
9200
9201 2007-08-26  Dan Williams  <dcbw@redhat.com>
9202
9203         * src/nm-netlink-monitor.c
9204                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
9205                         don't need the 'wireless-event' signal anymore since that's all
9206                         handled by wpa_supplicant
9207
9208 2007-08-25  Dan Williams  <dcbw@redhat.com>
9209
9210         It's 2007. Remove support for drivers that don't support wireless scanning.
9211
9212         * test/nm-tool.c
9213           include/NetworkManager.h
9214           src/NetworkManagerUtils.c
9215           src/NetworkManagerPolicy.c
9216           src/nm-device-802-11-wireless.c
9217                 - Remove special handling for non-scanning devices and mark them
9218                         as unsupported/unhandled
9219
9220 2007-08-20  Dan Williams  <dcbw@redhat.com>
9221
9222         * src/nm-device-802-11-wireless.c
9223           src/nm-device-802-3-ethernet.c
9224                 - (real_is_up): move device-specific tests before generic IFF_UP test,
9225                         because when the card is pulled or the module removed, the device
9226                         is already !IFF_UP and then device-specific cleanup (removing
9227                         the supplicant interface, periodic checks, etc) never gets done
9228
9229 2007-08-20  Dan Williams  <dcbw@redhat.com>
9230
9231         * src/nm-manager.c
9232                 - (nm_manager_remove_device): bring device down before disconnecting
9233                         signal handlers, so that the 'state' signal will get broadcast when
9234                         the device enters the DOWN state
9235                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
9236                         of states that cause the NMManager to recheck its state
9237
9238 2007-08-20  Dan Williams  <dcbw@redhat.com>
9239
9240         * src/supplicant-manager/nm-supplicant-interface.c
9241                 - (interface_disconnect_done): don't try to dispose of the net proxy
9242                         when it may already have been disposed of
9243
9244 2007-08-20  Dan Williams  <dcbw@redhat.com>
9245
9246         * src/nm-device-802-11-wireless.c
9247                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
9248                         the SSID isn't available; this can happen when the card is pulled
9249                         or the module unloaded, during the post-removal deactivation
9250                         paths, when the ioctl returns ENODEV
9251
9252 2007-08-20  Dan Williams  <dcbw@redhat.com>
9253
9254         * src/nm-device-802-11-wireless.c
9255                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
9256                         frequency, and mode match.  Applets are now responsible for grouping
9257                         access points
9258
9259 2007-08-20  Dan Williams  <dcbw@redhat.com>
9260
9261         * src/NetworkManagerAP.c
9262         * src/NetworkManagerAP.h
9263                 - (nm_ap_print_self): new function
9264
9265         * src/NetworkManagerAPList.c
9266                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
9267                         to do it all here
9268         
9269 2007-08-17  Dan Williams  <dcbw@redhat.com>
9270
9271         * src/nm-device-802-3-ethernet.c
9272                 - (real_bring_down): don't try to dispose of stuff that might not
9273                         exist
9274
9275 2007-08-17  Dan Williams  <dcbw@redhat.com>
9276
9277         * src/NetworkManagerAP.c
9278                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
9279                         applet.  This ensures that the case between the seen-bssids and
9280                         the bssids reported by the driver match.
9281
9282 2007-08-17  Dan Williams  <dcbw@redhat.com>
9283
9284         * src/nm-device-802-11-wireless.c
9285                 - (device_cleanup): disconnect the interface in wpa_supplicant before
9286                         we dispose of the interface proxy in NM
9287
9288 2007-08-16  Dan Williams  <dcbw@redhat.com>
9289
9290         * libnm-glib/nm-client.c
9291                 - (nm_client_init): create VPN connections hash table with key free
9292                         function
9293                 - (proxy_vpn_connection_added): VPN connections hash table key should
9294                         be a duplicated value, not the same memory address as the VPN
9295                         connection name.  This is because the VPN connection name could
9296                         potentially be freed and set to something else during the lifetime
9297                         of the NMVPNConnection object.
9298
9299 2007-08-16  Tambet Ingo  <tambet@gmail.com>
9300
9301         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
9302         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
9303         with the file descriptors. Send a child setup function to change the pppd
9304         progress group.
9305
9306 2007-08-15  Dan Williams  <dcbw@redhat.com>
9307
9308         * src/supplicant-manager/nm-supplicant-interface.c
9309                 - (try_remove_iface): new function, ask wpa_supplicant to remove
9310                         an interface
9311                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
9312                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
9313                         happens on hotplug if wpa_supplicant doesn't tear down and readd
9314                         the interface internally
9315
9316 2007-08-15  Dan Williams  <dcbw@redhat.com>
9317
9318         * src/nm-device-802-11-wireless.c
9319                 - (real_bring_down): move most of this function into device_cleanup()
9320                         so that it can be called from elsewhere
9321                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
9322                         and stuff on dispose.  These would normally get cleaned up when
9323                         the device is marked down and deactivated, but when the device is
9324                         hot-unplugged, it's already down and real_down() never gets run
9325
9326 2007-08-15  Dan Williams  <dcbw@redhat.com>
9327
9328         * src/nm-dbus-nmi.c
9329                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
9330                         caused a reference leak on device for which NM requested a key
9331
9332 2007-08-15  Dan Williams  <dcbw@redhat.com>
9333
9334         * libnm-glib/nm-client.c
9335                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
9336
9337 2007-08-15  Tambet Ingo  <tambet@gmail.com>
9338
9339         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
9340         nothing is using it at the moment, but it'll be all useful and stuff later on.
9341
9342         * libnm-util/nm-setting.h: Define NMSettingPPP.
9343
9344         * libnm-util/nm-setting.c: Implement NMSettingPPP.
9345
9346         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
9347
9348         * src/Makefile.am: Add ppp-manager to SUBDIRS.
9349
9350         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
9351
9352         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
9353
9354 2007-08-14  Tambet Ingo  <tambet@gmail.com>
9355
9356         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
9357
9358         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
9359         an issue with dbus-glib bindings generator. The issue is, the generated C caller
9360         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
9361         name and different arguments and it won't compile anymore. To fix this, we now have
9362         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
9363         that is new API + compatibility API and used by the daemon. The other, 
9364         nm-manager-client.xml is only the new API without compatibility bits and is used
9365         by libnm-glib to make it compile.
9366
9367         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
9368
9369         * src/nm-manager.c (impl_manager_legacy_sleep)
9370         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
9371         interface functions for 0.6 branch.
9372
9373 2007-08-14  Dan Williams  <dcbw@redhat.com>
9374
9375         * src/NetworkManagerAP.c
9376                 - (nm_ap_new_from_properties): fix mistaken check of return value
9377                         from memcmp (should expect 0)
9378
9379 2007-08-14  Dan Williams  <dcbw@redhat.com>
9380
9381         (force-commit to fix wrong comment and partial commit of r2685; this
9382          commit actually applies to r2685)
9383
9384         * src/NetworkManagerUtils.c
9385                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
9386                         ignores trailing nulls in the SSID to work around mismatches in
9387                         expectations between WEXT and what the info-daemon passes back.  The
9388                         info-daemon would pass back the correct length, but due to the
9389                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
9390                         the device would always have an SSID + 1 depending on what versions
9391                         of wpa_supplicant, the kernel, and NM you have.  This was most often
9392                         visible by just quitting the applet and relaunching, which caused
9393                         NM to reassociated to the same network over again when reloading
9394                         the save networks.
9395
9396         * src/NetworkManagerPolicy.c
9397           src/NetworkManagerUtils.h
9398           src/nm-device-802-11-wireless.c
9399                 - Update for new parameter to nm_utils_same_ssid()
9400
9401 2007-08-14  Dan Williams  <dcbw@redhat.com>
9402
9403         * src/NetworkManagerAP.c
9404                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
9405                         I encountered a BSS that wasn't just hiding it's ESSID, it was
9406                         setting the BSSID to all 0s.  That confused the heck out of NM,
9407                         plus it's useless and probably out-of-spec.
9408
9409 2007-08-14  Dan Williams  <dcbw@redhat.com>
9410
9411         * callouts/Makefile.am
9412           src/dhcp-manager/nm-dhcp-manager.c
9413           src/dhcp-manager/nm-dhcp-manager.h
9414           src/dhcp-manager/Makefile.am
9415                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
9416
9417 2007-08-14  Dan Williams  <dcbw@redhat.com>
9418
9419         * src/dhcp-manager/nm-dhcp-manager.c
9420                 - (dhclient_run): don't pass -x to dhclient until we figure out if
9421                         it's really needed, get rid of unused xtra_args parameter
9422
9423 2007-08-14  Dan Williams  <dcbw@redhat.com>
9424
9425         * include/NetworkManagerVPN.h
9426           src/vpn-manager/nm-dbus-vpn.c
9427           src/vpn-manager/nm-dbus-vpn.h
9428           src/vpn-manager/nm-vpn-act-request.c
9429           src/vpn-manager/nm-vpn-act-request.h
9430           src/vpn-manager/nm-vpn-service.c
9431           src/vpn-manager/nm-vpn-service.h
9432           libnm-glib/nm-vpn-connection.c
9433           libnm-glib/nm-vpn-connection.h
9434           libnm-glib/nm-client.h
9435                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
9436                         NMVPNServiceState to clarify what they apply to
9437                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
9438                         NMVPNActStage -> NMVPNConnectionState for the same reason
9439
9440         * libnm-glib/nm-client.c
9441                 - Constant + type renames from above
9442                 - Properly handle NameOwnerChanged/manager_running signals
9443                         for NM service; only emit when state really changes
9444                 - Use hash tables correctly so that the key (which was previously owned
9445                         by the D-Bus message) now has the same lifetime as the value, since
9446                         the key is now taken from the the NMVPNConnection itself.  This
9447                         really fixes the double-VPN names in the applet
9448
9449 2007-08-13  Dan Williams  <dcbw@redhat.com>
9450
9451         Patch from Michael Biebl <biebl@debian.org>
9452
9453         * po/POTFILES.in
9454           po/POTFILES.skip
9455                 - Update for vpn-properties move
9456
9457 2007-08-13  Dan Williams  <dcbw@redhat.com>
9458
9459         * libnm-glib/nm-client.c
9460                 - Convert internal VPN connection tracking from a list to a hash table
9461                         to easily avoid duplicates
9462                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
9463                         must be freed by the caller, like nm_client_get_devices()
9464                 - (nm_client_remove_vpn_connection): don't let the removal signal
9465                         leak through for NMVPNConnection objects that aren't actually
9466                         tracked.
9467                 - (manager_running): throw away VPN connection list when NM goes away,
9468                         like with the device list
9469
9470 2007-08-13  Dan Williams  <dcbw@redhat.com>
9471
9472         * src/dhcp-manager/nm-dhcp-manager.c
9473                 - Stop any dhclient instance that might be already running for a
9474                         particular interface before starting an NM spawned dhclient.  Fixes
9475                         dhclient processes left over if NM crashes, stuff like that.
9476
9477 2007-08-13  Dan Williams  <dcbw@redhat.com>
9478
9479         * src/NetworkManagerAP.c
9480                 - (finalize): don't try to g_array_free (NULL, ...), which happened
9481                         when the AP wasn't broadcasting it's SSID
9482
9483 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
9484
9485         * include/NetworkManager.h: added DBus path for connection settings.
9486
9487         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
9488         nm_connection_settings_signal_updated,
9489         nm_connection_settings_signal_removed): new functions to wrap the
9490         objects' signals.
9491         (nm_connection_settings_init): register GObject with DBus.
9492         (nm_connection_settings_get_dbus_object_path): new function.
9493
9494         * libnm-glib/Makefile.am: added libnmutil to link flags.
9495
9496 2007-08-13  Tambet Ingo  <tambet@gmail.com>
9497
9498         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
9499
9500         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
9501         libnm_glib directory got merged with libnm-glib/.
9502
9503         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
9504
9505         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
9506         Rename the library from libnm-glib to libnm_glib to maintain the library API
9507         compatibility with 0.6 branch.
9508
9509         * Makefile.am: Remove gnome/ SUBDIR.
9510
9511         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
9512
9513         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
9514
9515         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
9516
9517         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
9518         anymore.
9519         Remove checks for wpa_supplicant binary, it's used over dbus.
9520         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
9521
9522         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
9523         Link the binaries with libnm_glib.la.
9524
9525 2007-08-12  Dan Williams  <dcbw@redhat.com>
9526
9527         * src/NetworkManagerPolicy.c
9528                 - (nm_policy_device_change_check): fix policy to deactivate old device
9529                         before activating new one, at least until the multiple active
9530                         device support lands
9531
9532 2007-08-12  Dan Williams  <dcbw@redhat.com>
9533
9534         * src/NetworkManagerPolicy.c
9535                 - (nm_policy_new): hook up to connection-added / connection-removed
9536                         signals instead of connections-changed
9537
9538 2007-08-12  Dan Williams  <dcbw@redhat.com>
9539
9540         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
9541         Robert Frank <rfrank@redhat.com>
9542
9543         * src/dhcp-manager/nm-dhcp-manager.c
9544           src/dhcp-manager/nm-dhcp-manager.c
9545           src/nm-device.c
9546                 - Spawn and communicate with dhclient directly, through means of a
9547                 custom dhclient callout script.  Process callout D-Bus signals
9548                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
9549                 sent via gobject signals rather than being driven by the dhcp manager
9550                 directly.
9551
9552 2007-08-12  Dan Williams  <dcbw@redhat.com>
9553
9554         * callouts/nm-dhcp-client-action.c
9555                 - (build_message): ignore non-DHCP-related environment variables
9556
9557 2007-08-12  Dan Williams  <dcbw@redhat.com>
9558
9559         * Makefile.am
9560           configure.in
9561           callouts/Makefile.am
9562           callouts/nm-dhcp-client-action.c
9563           callouts/nm-dhcp-client.conf
9564                 - Add dhclient-executed callout that takes the place of dhclient-script
9565                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
9566                 NM then listens for
9567
9568 2007-08-09  Tambet Ingo  <tambet@gmail.com>
9569
9570         [Based on patch by Helmut Schaa <hschaa@suse.de>]
9571
9572         * libnm-glib/nm-client.h:
9573         * libnm-glib/nm-object.h:
9574         * libnm-glib/nm-vpn-connection.h:
9575         * libnm-glib/nm-settings.h:
9576         * libnm-glib/nm-device.h:
9577         * libnm-glib/nm-ip4-config.h:
9578         * libnm-glib/nm-access-point.h:
9579         * libnm-glib/nm-device-802-3-ethernet.h:
9580         * libnm-util/nm-setting.h: 
9581         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
9582
9583         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
9584
9585         * libnm-glib/nm-access-point.c: Strength has type char.
9586
9587         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
9588         to fix build. GnomeDruid is deprecated in recent libgnomeui.
9589
9590         * introspection/nm-access-point.xml: Strength property is char, not int.
9591
9592         * src/NetworkManagerAP.c (set_property): Set strength from char.
9593         (get_property): Handle hidden APs (with empty SSID).
9594         Get strength value from char.
9595         (nm_ap_class_init): Strength property has char type.
9596
9597 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
9598
9599         * introspection/Makefile.am:
9600         * introspection/nm-settings.xml:
9601         * introspection/nm-settings-connection.xml: added Settings interfaces.
9602
9603         * libnm-glib/nm-settings.[ch]:
9604         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
9605         containing the DBus implementation.
9606
9607 2007-07-26  Dan Williams  <dcbw@redhat.com>
9608
9609         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
9610
9611         * src/NetworkManagerSystem.c
9612                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
9613                         same subnet (#437396)
9614
9615 2007-07-26  Dan Williams  <dcbw@redhat.com>
9616
9617         Patch from Kelemen Gábor <kelemeng@gnome.hu>
9618
9619         * gnome/vpn-properties/nm-vpn-properties.c
9620                 - Fix translatable strings (#445865)
9621
9622 2007-07-26  Dan Williams  <dcbw@redhat.com>
9623
9624         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
9625
9626         * configure.in
9627                 - Remove useless junk (#412530)
9628
9629 2007-07-10  Christopher Aillon  <caillon@redhat.com>
9630
9631         Patch from Robert Buchholz <rbu@gentoo.org>:
9632
9633         * configure.in:
9634         * Makefile.am:
9635         * introspection/Makefile.am:
9636         Make make distcheck work again.
9637
9638 2007-06-27  Dan Williams  <dcbw@redhat.com>
9639
9640         * Make SSIDs GByteArrays everywhere
9641         * Rename "essid" -> "ssid" everywhere that's appropriate
9642         * Refcount activation_ap member of the 802.11 wireless device class
9643
9644 2007-06-27  Tambet Ingo  <tambet@ximian.com>
9645
9646         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
9647
9648 2007-06-22  Tambet Ingo  <tambet@ximian.com>
9649
9650         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
9651         that we got a new AP when we just update existing AP properties.
9652
9653 2007-06-21  Tambet Ingo  <tambet@ximian.com>
9654
9655         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
9656
9657         * nm-utils.[ch]: Remove.
9658
9659         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
9660         objects for easy property access and dbus connection handling.
9661
9662         * libnm-glib/nm-client.c: Derive from NMObject.
9663
9664         * libnm-glib/nm-device.c: Ditto.
9665
9666         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
9667
9668         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
9669
9670         * libnm-glib/nm-ip4-config.c: Ditto.
9671
9672         * libnm-glib/nm-access-point.c: Ditto.
9673
9674         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
9675         comparision. Currently used by the device activation code to determine if the new
9676         activation is the same as the old one.
9677
9678         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
9679         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
9680         able to ask password for the AP.
9681
9682         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
9683         up if the device is already connected, tear down it's connection (if it isn't the
9684         same as new one) and start the activation.
9685
9686         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
9687
9688         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
9689         the issue where all APs are always listed as encrypted.
9690
9691         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
9692         their own registered paths.
9693
9694         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
9695         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
9696
9697 2007-06-13  Tambet Ingo  <tambet@ximian.com>
9698
9699         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
9700         (0 & 0 == 0, doh)
9701
9702         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
9703         because the handling code will cause the next state change and signal listeners
9704         get the signals in wrong order.
9705
9706         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
9707         correctly in case of pending activation.
9708
9709         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
9710         Convert the essid byte array to string correctly, including the terminating NULL.
9711
9712         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
9713         mode with correct types.
9714
9715         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
9716         constructed info to dbus call instead of the activation request.
9717
9718 2007-06-11  Christopher Aillon  <caillon@redhat.com>
9719
9720         Patch from Christian Persch <chpe@gnome.org>
9721
9722         * libnm-glib/Makefile.am:
9723         * dispatcher-daemon/Makefile.am:
9724         Use the correct variables, the correct paths, and correct ordering. (446315)
9725
9726 2007-06-11  Tambet Ingo  <tambet@ximian.com>
9727
9728         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
9729         argument. The activation request is easy to retrieve.
9730
9731         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
9732         just to be a convenient location for devices to store random stuff.
9733
9734 2007-06-11  Christopher Aillon  <caillon@redhat.com>
9735
9736         Patch from Alex Smith <alex@alex-smith.me.uk>
9737
9738         * src/backends/NetworkManagerFrugalware.c:
9739         Update the FrugalWare backend to fix a few segfaults. (#392642)
9740
9741 2007-06-08  Tambet Ingo  <tambet@ximian.com>
9742
9743         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
9744
9745         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
9746         setting.
9747         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
9748
9749 2007-06-06  Tambet Ingo  <tambet@ximian.com>
9750
9751         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
9752         automagically.
9753         Implement NMSettingIP4Config.
9754         Finish NMSettingWired by adding all known members.
9755         (setting_wired_verify): Implement.
9756         Finish NMSettingWireless by adding all known members.
9757         (setting_wireless_verify): Implement.
9758
9759         * libnm-util/nm-connection.c: Register "ipv4" setting.
9760         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
9761         dump function, we can introspect the GHashTable which is used for sending connections
9762         over dbus.
9763
9764         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
9765         Take GByteArray for essid, it's really not a string.
9766
9767         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
9768         Start DHCP request if setting is not passed or if it states that DHCP should be used.
9769         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
9770         means overriding the values we got from DHCP.
9771         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
9772         (nm_device_deactivate_quickly): Ditto.
9773
9774         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
9775         for debugging.
9776
9777 2007-05-07  Tambet Ingo  <tambet@ximian.com>
9778
9779         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
9780         NMConnection.
9781
9782         * libnm-glib/nm-device-802-11-wireless.c:
9783         (nm_device_802_3_ethernet_activate): Remove.
9784
9785         * libnm-glib/nm-device-802-3-ethernet.c
9786         (nm_device_802_3_ethernet_activate): Remove.
9787
9788         * libnm-glib/nm-device.c (nm_device_activate): Implement.
9789
9790         * src/nm-device-802-3-ethernet.c: Implement the new activation using
9791         NMConnection.
9792
9793         * src/nm-device-802-11-wireless.c: Store an activation AP once the
9794         activation has started.
9795         Implement the new activation using NMConnection.
9796
9797         * src/nm-activation-request.c: Store a generic connection object instead
9798         of a wireless-specific AP.
9799
9800         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
9801         on device type, create a device specific connection object suitable for
9802         device activation.
9803
9804         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
9805         specific check to validate the connection and on success start the
9806         activation.
9807
9808         * src/nm-device-interface.h: Add a activate virtual function to the
9809         interface definition.
9810
9811         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
9812         (impl_device_activate): Implement.
9813
9814         * introspection/nm-device.xml: Add a generic device activation interface
9815         that accepts an abstract NMConnection structure that has device-specific
9816         information in it.
9817
9818         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
9819         activation interface.
9820
9821         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
9822         activation interface.
9823
9824         * libnm-util/nm-connection.c: 
9825         * libnm-util/nm-connection.h: 
9826         * libnm-util/nm-setting.c:
9827         * libnm-util/nm-setting.h: Add.
9828
9829         * libnm-util/Makefile.am: Build the added files.
9830
9831         * src/nm-dbus-manager.c
9832         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
9833         DbusConnection argument from 'name-owner-changed' signal. The manager
9834         is already passed as a first argument to the signal and the connection
9835         is easy enough to get from it.
9836
9837         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
9838         Update the signature of the function.
9839
9840         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
9841         Ditto.
9842
9843         * src/NetworkManager.c: Ditto.
9844
9845         * src/named-manager/nm-named-manager.c
9846         (nm_named_manager_name_owner_changed): Ditto.
9847
9848         * src/supplicant-manager/nm-supplicant-manager.c
9849         (nm_supplicant_manager_name_owner_changed): Ditto.
9850
9851         * src/nm-hal-manager.c (name_owner_changed): Ditto.
9852
9853         * src/dhcp-manager/nm-dhcp-manager.c
9854         (nm_dhcp_manager_name_owner_changed): Ditto.
9855
9856         * src/nm-hal-manager.c: Add a list of device detectors and creators
9857         to make it easier to add new devices. Each device type has it's own
9858         entry in the table so adding new device types is only a matter of
9859         implementing a couple of functions, one for device detection and the
9860         other for device creation.
9861
9862 2007-04-25  Dan Williams  <dcbw@redhat.com>
9863
9864         * initscript/RedHat/NetworkManager.in: remove trailing backslash
9865                 (gnome.org #432401)
9866
9867 2007-03-30  Dan Williams  <dcbw@redhat.com>
9868
9869         * src/NetworkManagerSystem.c
9870                 - (nm_system_device_set_ip4_route): clean up and fix argument
9871                         to nm_dev_sock_open()
9872
9873 2007-03-28  Tambet Ingo  <tambet@ximian.com>
9874
9875         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
9876         data to correct types instead of always using string.
9877
9878         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
9879         _not_ have NM_802_11_CAP_PROTO_NONE.
9880         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
9881         is not set.
9882
9883 2007-03-27  Tambet Ingo  <tambet@ximian.com>
9884
9885         * libnm-glib/Makefile.am: Fix the build issue.
9886
9887 2007-03-26  Tambet Ingo  <tambet@ximian.com>
9888
9889         * libnm-glib/nm-vpn-connection.h: 
9890         * libnm-glib/nm-vpn-connection.c: Implement.
9891
9892         * libnm-glib/nm-client.c: Add VPN support.
9893
9894         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
9895         handler for VPN.
9896
9897         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
9898         on DBUS again.
9899
9900 2007-03-26  Dan Williams  <dcbw@redhat.com>
9901
9902         * src/NetworkManagerAPList.c
9903         * src/nm-device-802-11-wireless.c
9904         * src/NetworkManagerAP.c:
9905                 - Store last seen as glong instead of GTimeVal.
9906                 - Fix the upper bound of capabilities, it's a bitfield.
9907
9908 2007-03-16  Tambet Ingo  <tambet@ximian.com>
9909
9910         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
9911
9912         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
9913         "manager-running" signal that notifies the appearance/disappearance of NM.
9914         (nm_client_sleep): Implement.
9915
9916         * libnm-glib/nm-device.c:
9917         * libnm-glib/nm-device-802-11-wireless.c: 
9918         * libnm-glib/nm-device-802-3-ethernet.c: 
9919
9920         Don't inherit from DBusGProxy, add a proxy to private
9921         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
9922         for anything but their own dbus interface. DBusGProxy objects support only one
9923         interfaces and to work around this, NMDevice has spearate proxy for each dbus
9924         interface. The nice side effect of this change is that we do not create a new
9925         DBusGProxy object for each property access.
9926
9927 2007-03-15  Tambet Ingo  <tambet@ximian.com>
9928
9929         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
9930         with zeroes before passing them to functions - the functions never do that and
9931         reading the values back may produce wrong values.
9932         (real_bring_up): Store the signal handler id ...
9933         (real_bring_down): ... So that it can be removed here.
9934         Disconnect the supplicant interface here as well.
9935         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
9936         from the access point instead of old $device/Networks/$essid.
9937
9938         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
9939         device state is connected (instead of just having link/carrier).
9940
9941         * src/nm-activation-request.c: Don't store NMData in activation request, it's
9942         already easily accessible through the device.
9943
9944         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
9945         store it within the object.
9946         (nm_ap_get_dbus_path): Export it to public as well.
9947
9948         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
9949         of the singleton.
9950
9951 2007-03-12  Dan Williams  <dcbw@redhat.com>
9952
9953         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
9954         for non-carrier-detect capable devices, and useless for carrier-detect
9955         devices since we get notifications from netlink about carrier status anyway.
9956
9957         * src/nm-device-802-3-ethernet.c
9958                 - remove 'link_source_id' member from private data
9959                 - (probe_link): remove and collapse into real_update_link()
9960                 - (nm_device_802_3_periodic_update): remove
9961                 - (real_is_up): check for sup_iface rather than link_source_id
9962                 - (real_bring_up): return gboolean for success/fail; require that
9963                         sup_iface be valid for device bringup to succeed
9964                 - (real_bring_down): zero out link signal ids
9965
9966         * src/nm-device.c
9967                 - (nm_device_activate_stage2_device_config): fail activation if device
9968                         bringup fails
9969                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
9970                         fails
9971                 - (nm_device_bring_up): return success/fail
9972
9973         * src/nm-device.h
9974                 - bring_up now returns success/fail
9975
9976         * src/nm-device-802-11-wireless.c
9977                 - (real_bring_up): return success from bringup
9978
9979 2007-03-07  Dan Williams  <dcbw@redhat.com>
9980
9981         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
9982         * src/nm-ap-security-wpa-psk.c
9983                 - (real_write_supplicant_config): work with PSKs that may contain
9984                         zeros in the binary format rather than treating it as a string
9985
9986 2007-03-02  Tambet Ingo  <tambet@ximian.com>
9987
9988         * libnm-glib/nm-device-802-11-wireless.c
9989         (nm_device_802_11_wireless_get_capabilities): Implement.
9990
9991         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
9992
9993         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
9994
9995         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
9996         reply only if it's not NULL. Not sure why this started happening right now.
9997
9998         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
9999         code paths for when devices get removed on shutdown or when a device is just
10000         removed.
10001         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
10002         gets freed so any signal from a device (disconnected for instance) would invoke
10003         NMState update which would crash.
10004         (nm_manager_remove_device): Bring the device down when it gets removed.
10005
10006         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
10007         the unused dev_type.
10008
10009         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
10010         reference to the added device, NMManager will own it (if it wants).
10011
10012         * test/nm-tool.c: Rewrite using libnm-glib.
10013
10014         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
10015         We get signalled when it changes.
10016
10017         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
10018         when it changes.
10019
10020         * libnm-glib/nm-device.c: Cache the device state property.
10021
10022         * libnm-glib/nm-access-point.c: Cache the strength property.
10023
10024         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
10025         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
10026         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
10027         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
10028         the device is down, activating, or activated (in case of A/B/G cards).
10029         Remove some old dead ifdef'ed out code that used to configure wireless devices,
10030         it's all done through supplicant now.
10031
10032         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
10033         counting issues with pending calls which caused leaks and crashes when
10034         interface was removed (now that the interface actually gets removed).
10035
10036         * src/nm-call-store.c: Make a copy of data before running a foreach
10037         with user callback on it - The most common usage pattern is to cancel
10038         (and thus remove) all pending calls with foreach which would modify
10039         the hash table we're iterating over.
10040
10041         * src/nm-manager.c: When a device is added, make sure it is "up". When
10042         it's removed or disabled due to disabling wireless or networking, bring
10043         it down.
10044
10045         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
10046
10047         * src/nm-device-802-11-wireless.c: 
10048         * src/nm-device-802-3-ethernet.c: 
10049         * src/nm-device.c:
10050                 - Remove "init" virtual function, all gobjects have a place for that
10051                   already (constructor).
10052                 - Replace "start" virtual function with "bring_up", devices can be
10053                   brought up and down more than just on startup now.
10054                 - Add "is_up" virtual function.
10055                 - Implement one way to bring a device down instead of previous 4 different
10056                   ways, each of witch did something different.
10057
10058         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
10059         all it needs is the device interface.
10060
10061         Get rid of NMData.dev_list (3 members to go).
10062         Get rif of NMData in a lot of places.
10063
10064         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
10065
10066 2007-02-23  Dan Williams  <dcbw@redhat.com>
10067
10068         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
10069
10070         * src/NetworkManagerAP.c
10071                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
10072                         OR-ing rather than AND-ing
10073
10074 2007-02-20  Tambet Ingo  <tambet@ximian.com>
10075
10076         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
10077         "network-removed" signals.
10078
10079         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
10080
10081         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
10082         when receiving the signal from dbus.
10083
10084         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
10085         property.
10086
10087         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
10088         deactivation of the previously activated device working again.
10089
10090         * src/nm-activation-request.c: Remove NMActStage property and it's getter
10091         and setter.
10092
10093         * src/nm-device.c (nm_device_is_activated): Remove.
10094         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
10095
10096         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
10097         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
10098         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
10099         NM_DBUS_SIGNAL_STATE_CHANGE signal.
10100         Remove NMNetworkStatus and NMActStage enums.
10101
10102 2007-02-19  Tambet Ingo  <tambet@ximian.com>
10103
10104         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
10105         Handle device state changes and disconnect VPN if it's device deactivates.
10106
10107         * src/nm-dbus-nm.c: 
10108         * src/nm-dbus-nm.h: 
10109         * src/nm-dbus-device.c: 
10110         * src/nm-dbus-device.c: 
10111         * src/nm-dbus-net.c: 
10112         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
10113
10114         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
10115
10116         * src/nm-device.c (nm_device_get_by_udi):
10117         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
10118         implemented in the correct location (NMManager).
10119         Rip out all the test_device stuff.
10120
10121         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
10122         failure handlers, it's all done by NMDevice already.
10123
10124         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
10125         Remove the iochannel hack to route the unix signals to the main thread since
10126         we're not threaded anymore.
10127
10128         * src/NetworkManagerAP.c: Implement HWAddress property.
10129
10130         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
10131         automatically with dbus-glib.
10132
10133         * src/nm-netlink-monitor.c: 
10134         * src/nm-netlink-monitor.h:
10135                 - Move it low in the class hierarchy, don't reference any NM types.
10136                 - Remove private data from the header.
10137                 - Use type safe checks in public API methods.
10138                 - Make it a singleton so we don't have to pass the single reference around.
10139
10140 2007-02-16  Tambet Ingo  <tambet@ximian.com>
10141
10142         * introspection/nm-ip4-config.xml: Implement.
10143
10144         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
10145
10146         * libnm-glib/nm-ip4-config.c:
10147         * libnm-glib/nm-ip4-config.c: Implement.
10148
10149         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
10150         securities. APs reference security.
10151
10152         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
10153         be exported over DBUS.
10154
10155         * src/nm-device-802-3-ethernet.c: Ditto.
10156
10157         * src/NetworkManagerAP.c:
10158         * src/NetworkManagerAP.h:
10159                 - Convert to GObject, export over DBUS.
10160
10161         * src/nm-ip4-config.h:
10162         * src/nm-ip4-config.h:
10163                 - Convert to GObject, export over DBUS.
10164
10165 2007-02-12  Dan Williams  <dcbw@redhat.com>
10166
10167         Patch from Helmut Schaa <hschaa@suse.de>
10168
10169         * vpn-daemons/pptp/configure.in
10170           vpn-daemons/pptp/Makefile.am
10171           vpn-daemons/openvpn/configure.in
10172           vpn-daemons/openvpn/Makefile.am
10173           vpn-daemons/vpnc/configure.in
10174           vpn-daemons/vpnc/Makefile.am
10175                 - Add --without-gnome switch which disables building gnome bits
10176
10177 2007-02-12  Tambet Ingo  <tambet@ximian.com>
10178
10179         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
10180
10181         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
10182
10183         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
10184         'HwAddress'.
10185
10186         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10187
10188         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10189
10190         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10191
10192         * src/:
10193                 - Remove old low-level dbus interface implementations and replace them
10194                   with dbus-glib one.
10195
10196         * configure.in:
10197                 - Require dbus-glib >= 0.72.
10198                 - Plug in new sources to build.
10199
10200         * libnm-glib/:
10201                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
10202                   to make it more convenient to use from GObject based programs.
10203
10204         * introspection/:
10205                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
10206
10207 2007-02-09  Tambet Ingo  <tambet@ximian.com>
10208
10209         * src/nm-device-802-11-wireless.c:
10210                 - Add "network-added" and "network-removed" signals.
10211                 - Use gobject boilerplate macros to define the GObject.
10212                 - Implement wireless device activation.
10213                 - Remove activation_failure_handler and activation_success_handler
10214                   and instead listen on state-changed signals and run the same code
10215                   from there.
10216
10217         * src/nm-device.c:
10218                 - Implment NMDeviceInterface::deactivate.
10219                 - Remove activation_failure_handler and activation_success_handler
10220                   virtual methods. Each device which is interested in these events
10221                   can just listen on it's state changed signals.
10222
10223         * src/NetworkManagerPolicy.c:
10224                 - Move a bit more NMData usage to NMManager.
10225                 - Remove activation scheduling bits.
10226                 - Add listeners for wireless device's "network-added" and
10227                   "network-removed" signals.
10228                 - Listen device changed signals and deactivate currently activated
10229                   device when another device start activating (for now).
10230                 - Remove (nm_policy_schedule_device_change_check): There's never a need
10231                   for calling this, the policy code knows exactly when this should happen,
10232                   by listening on events from NMManager and NMDevices.
10233
10234         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
10235         Implement.
10236
10237         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
10238         method on the specific device instead of going to through policy code
10239         and determining the device type by passed in AP's existance.
10240
10241         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
10242         abstract NMDevice deactivation.
10243
10244 2007-02-08  Tambet Ingo  <tambet@ximian.com>
10245
10246         * src/NetworkManager.c:
10247                 - Set up all the shiny new managers.
10248
10249         * src/NetworkManagerPolicy.c:
10250                 - Add the beginnings of new NMPolicy code. Instead of requireing all
10251                   classes to call into policy code, make the policy code kind of like
10252                   a supervisor that monitors what's going on and drives the whole NM.
10253
10254         * src/nm-hal-manager.c: 
10255         * src/nm-hal-manager.h:
10256                 - Collect all libhal code scattered around NM to this one class.
10257                 - Listen libhal and NMManager events and add/remove devices to
10258                   NMManager.
10259
10260         * src/nm-manager.c:
10261         * src/nm-manager.h:
10262                 - Implment a replacement for NMData. NMData is now officially
10263                 deprecated.
10264
10265 2007-02-05  Tambet Ingo  <tambet@ximian.com>
10266
10267         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
10268         * src/supplicant-manager/nm-supplicant-interface.h
10269         * src/supplicant-manager/nm-supplicant-interface.c
10270         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
10271         argument to boolean from enum.
10272
10273         Make NMDevice abstract class, remove almost all references to it's
10274         subclasses (the last place gets removed with new policy manager). Add
10275         NMDeviceInterface (which NMDevice implements) so that when we have
10276         NMDevice exported over DBUS, there's a common NMDevice interface which
10277         all instances have, plus there's a device specific interface for each
10278         specific type.
10279         Remove functions (nm_device_is_802_3_ethernet) and
10280         (nm_device_is_802_11_wireless). There are already standard GObject macros
10281         for type safe checks.
10282         Use the updated supplican manager API.
10283
10284         * src/nm-device-interface.h: 
10285         * src/nm-device-interface.c: 
10286         * src/nm-call-store.h: 
10287         * src/nm-call-store.c: Implement.
10288
10289         * src/supplicant-manager/nm-supplicant-interface.c:
10290         * src/supplicant-manager/nm-supplicant-interface.h:
10291         * src/supplicant-manager/nm-supplicant-manager.c:
10292         * src/supplicant-manager/nm-supplicant-manager.h:
10293                 - Remove all private data type references from public header files.
10294                 - Remove all references to other NM classes, this class is just a
10295                   proxy between wpa_supplicant and NM so it doesn't have to know
10296                   any internals.
10297                 - Convert to dbus-glib bindings.
10298                 - Type safe checks for public methods' arguments.
10299                 - Store pending DBUS call ids to NMCallStore.
10300
10301         * src/supplicant-manager/nm-supplicant-config.c:
10302                 - Store config values in a GHashTable instead of GSList.
10303
10304         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
10305
10306         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
10307         singleton now.
10308
10309         * src/nm-device.c: Use the new DHCP manager API.
10310
10311         * src/nm-activation-request.c:
10312         * src/nm-activation-request.h:
10313                 - Remove all dhcp related properties and methods.
10314
10315         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
10316
10317         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
10318
10319         * src/dhcp-manager/nm-dhcp-manager.c:
10320         * src/dhcp-manager/nm-dhcp-manager.h:
10321                 - Convert it to GObject since we need to signal state changes.
10322                 - Remove all references to other NM classes, this class is one
10323                   of the lowest classes in our hierarchy.
10324                 - One less class to use NMActRequest.
10325                 - Make it singleton, one less user of NMData.
10326                 - Remove a couple of sleep() calls.
10327                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
10328                   One less class to use the NM's custom tailored signal handlig.
10329
10330         * Makefile.am: Generate marshallers, add them to build.
10331
10332 2007-02-02  Dan Williams  <dcbw@redhat.com>
10333
10334         * configure.in
10335           gnome/Makefile.am
10336           nm-applet.desktop
10337           Makefile.am
10338                 - Remove last bits referencing gnome applet
10339
10340 2007-02-02  Dan Williams  <dcbw@redhat.com>
10341
10342         * src/vpn-manager/nm-vpn-service.c
10343                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
10344                         and NBNS server addresses
10345
10346 2007-02-02  Tambet Ingo  <tambet@ximian.com>
10347
10348         * src/nm-dbus-manager.c:
10349         * src/nm-dbus-manager.h:
10350                 - Convert all internal DBUS code to use dbus-glib bindings.
10351                 - Remove GObject properties, we don't need them here.
10352                 - Don't explicitly set things to NULL after freeing, glib is
10353                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
10354                 - Make public API argument checks type safe.
10355                 - Remove unnecessary (and wrong) cast to GObject for the first
10356                   argument to g_signal_* calls - The first argument is a gpointer.
10357                 - Export DBusGConnection to other cool classes that (are going to)
10358                   use dbus-glib.
10359
10360 2007-01-26  Dan Williams  <dcbw@redhat.com>
10361
10362         * libnm-util/dbus-dict-helpers.c
10363           libnm-util/dbus-dict-helpers.h
10364                 - Coordinate style with wpa_supplicant version to minimize diff
10365                 - Add uint32 array support
10366                 - (nmu_dbus_dict_append_uint32_array): new function
10367                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
10368                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
10369                         version; allow adding string array elements individually
10370
10371         * test/libnm-util/test-dbus-dict-helpers.c
10372                 - Test uint32 arrays
10373
10374 2007-01-27  Jürg Billeter  <j@bitron.ch>
10375
10376         * src/backends/NetworkManagerPaldo.c
10377                 - (nm_system_update_dns): clear nscd hosts cache
10378
10379 2007-01-04  Dan Williams  <dcbw@redhat.com>
10380
10381         Threading removal related cleanups:
10382
10383         - Use the glib default main context.  Remove the device main context
10384                 member from NMDevice, and the main_context member from NMData.  Change
10385                 all the idle and timeout scheduler functions to use plain
10386                 g_idle_add() and g_timeout_add().
10387
10388         - As a side-effect of the first change, nm_dbus_manager_get() no longer
10389                 takes an argument; fix that up too.
10390
10391         - Remove all locking, which is useless since we no longer use threads.  For
10392                 example, nm_get_device_by_iface_locked() has been removed.  The global
10393                 device list lock, the AP List lock, and all static locks in
10394                 NetworkManagerPolicy.c have been removed.  The locking utility functions
10395                 in NetworkManagerUtils.c have also been removed.
10396
10397         - Other cleanups in spacing and code style
10398
10399 2007-01-01  Dan Williams  <dcbw@redhat.com>
10400
10401         Found by Bill Moss:
10402
10403         * src/supplicant-manager/nm-supplicant-interface.c
10404                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
10405                         the supplicant interface wasn't already disconnected.  Always
10406                         call removeNetwork and disconnect unless the supplicant interface
10407                         is in the DISCONNECTED or INACTIVE state.
10408
10409 2006-12-28  Dan Williams  <dcbw@redhat.com>
10410
10411         Use a single thread for everything.  With the move to wpa_supplicant
10412         and communication over D-Bus, there's no reason for multiple threads.
10413         Almost all of the blocking code has been removed, with one exception in
10414         the DHCP manager and a few in the VPN manager.  This commit removes the
10415         per-device worker thread and fixes activation cancellation in the absence
10416         of threads.  Further removal of thread-related code would be removing
10417         any locking code (like the device list lock) and simplification of logic
10418         around areas of code or data structures that are currently locked.
10419
10420         * autoip.c
10421           dhcp-manager/nm-dhcp-manager.c 
10422           nm-device-802-11-wireless.c
10423           nm-device-802-3-ethernet.c
10424           nm-device.c
10425           nm-device.h
10426                 - Remove usage of multiple threads
10427
10428 2006-12-19  Dan Williams  <dcbw@redhat.com>
10429
10430         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
10431         plus a few other patches from wpa_supplicant bugzilla.
10432
10433         * src/Makefile.am
10434           src/NetworkManagerPolicy.c
10435           src/NetworkManagerUtils.c
10436           src/NetworkManagerUtils.h
10437           src/nm-ap-security-leap.c
10438           src/nm-ap-security-wep.c
10439           src/nm-ap-security-wpa-eap.c
10440           src/nm-ap-security-wpa-psk.c
10441           src/nm-ap-security.c
10442           src/nm-ap-security.h
10443           src/nm-device-802-11-wireless.c
10444           src/nm-device-802-11-wireless.h
10445           src/supplicant-manager/nm-supplicant-config.c
10446           src/supplicant-manager/nm-supplicant-config.h
10447           src/supplicant-manager/nm-supplicant-interface.c
10448           src/supplicant-manager/nm-supplicant-interface.h
10449           src/supplicant-manager/nm-supplicant-marshal.list
10450           src/supplicant-manager/nm-supplicant-settings-verify.c
10451           src/supplicant-manager/nm-supplicant-settings-verify.h
10452                 - Move all connection management and association handling to
10453                         wpa_supplicant over dbus, rather than spawning a private copy
10454
10455 2006-12-19  Dan Williams  <dcbw@redhat.com>
10456
10457         * src/NetworkManagerPolicy.c
10458                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
10459                         better locking of the device change check handler ID.  Incorrect
10460                         locking was causing lost device change requests
10461
10462 2006-12-18  Dan Williams  <dcbw@redhat.com>
10463
10464         * libnm-util/dbus-dict-helpers.c
10465                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
10466                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
10467                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
10468
10469 2006-12-18  Dan Williams  <dcbw@redhat.com>
10470
10471         * gnome/libnm_glib/libnm_glib.c
10472                 - Change dbus_connection_close() -> dbus_connection_unref()
10473
10474 2006-12-11  Dan Williams  <dcbw@redhat.com>
10475
10476         * src/supplicant-manager/nm-supplicant-interface.c
10477                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
10478                         wpa_supplicant interface state
10479                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
10480                         state before transitioning to READY state
10481
10482 2006-12-04  Dan Williams  <dcbw@redhat.com>
10483
10484         * src/nm-device-802-11-wireless.c
10485                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
10486                         odd length of ESSID returned from ieee80211 stack-based drivers
10487
10488 2006-12-04  Dan Williams  <dcbw@redhat.com>
10489
10490         * src/nm-device-802-11-wireless.c
10491                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
10492                         IE handling blocks that cause mis-parsing of the IE
10493
10494 2006-12-04  Dan Williams  <dcbw@redhat.com>
10495
10496         * src/nm-device-802-11-wireless.c
10497                 - (init_supplicant_interface): new function; pull supplicant interface
10498                         setup code out into standalone function since it must be called from
10499                         two different places
10500                 - (real_init): sup_mgr is now in private object data; get and track
10501                         the supplicant manager object over the NMDevice subclass' lifetime
10502                         and register a signal handler for its state signals; only try to
10503                         initialize the supplicant interface if the supplicant manager is in
10504                         the IDLE state (and therefore is ready for requests)
10505                 - (request_wireless_scan): reschedule the scan request if (a) there is
10506                         no supplicant interface yet (meaning wpa_supplicant isn't running
10507                         or isn't ready yet), or (b) if the supplicant interface isn't ready
10508                         for requests yet
10509                 - (supplicant_iface_connection_state_cb): new function; stub for
10510                         handling supplicant interface connection state signals
10511                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
10512                         comes and goes
10513                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
10514                         supplicant manager object that's being tracked starting with this
10515                         commit
10516
10517 2006-12-04  Dan Williams  <dcbw@redhat.com>
10518
10519         * src/supplicant-manager/nm-supplicant-interface.c
10520                 - (nm_supplicant_interface_set_property): track signal handler ID
10521                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
10522
10523 2006-12-04  Dan Williams  <dcbw@redhat.com>
10524
10525         * src/supplicant-manager/nm-supplicant-interface.[ch]
10526                 - (nm_supplicant_interface_get_state): new function
10527
10528 2006-12-04  Dan Williams  <dcbw@redhat.com>
10529
10530         * src/supplicant-manager/nm-supplicant-interface.c
10531                 - (bssid_properties_cb): don't treat DBus errors as valid
10532                         scanned AP messages
10533
10534 2006-12-04  Dan Williams  <dcbw@redhat.com>
10535
10536         * src/supplicant-manager/nm-supplicant-interface.[ch]
10537                 - (nm_supplicant_interface_get_connection_state): new function
10538                 - define new supplicant connection states
10539                 - send a signal when the supplicant connection state changes
10540
10541 2006-12-03  Dan Williams  <dcbw@redhat.com>
10542
10543         * src/supplicant-manager/Makefile.am
10544           src/supplicant-manager/nm-supplicant-connection.h
10545           src/supplicant-manager/nm-supplicant-connection.c
10546           src/supplicant-manager/nm-supplicant-config.h
10547           src/supplicant-manager/nm-supplicant-config.c
10548           src/supplicant-manager/nm-supplicant-types.h
10549           src/supplicant-manager/nm-supplicant-interface.h
10550           src/supplicant-manager/nm-supplicant-interface.c
10551                 - Rename NMSupplicantConnection -> NMSupplicantConfig
10552
10553 2006-12-03  Dan Williams  <dcbw@redhat.com>
10554
10555         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
10556
10557         * po/POTFILES.in
10558           po/POTFILES.skip
10559                 - Move VPN-related translatables to .skip
10560
10561         * vpn-daemons/pptp/po/POTFILES.in
10562                 - Update with new translatables
10563
10564 2006-12-02  Dan Williams  <dcbw@redhat.com>
10565
10566         Patch from Christian Persch <chpe@gnome.org>
10567
10568         * gnome/applet/Makefile.am
10569           gnome/applet/applet-dbus-devices.c
10570           gnome/applet/applet-notifications.c
10571           gnome/applet/applet.c
10572           gnome/applet/applet.h
10573           gnome/applet/main.c
10574                 - Be a GtkStatusIcon on GTK+ >= 2.10
10575
10576 2006-12-02  Dan Williams  <dcbw@redhat.com>
10577
10578         * gnome/applet/applet.c
10579                 - (nma_update_info): fix two unecessary allocations
10580
10581 2006-12-02  Dan Williams  <dcbw@redhat.com>
10582
10583         Patch from Michael Biebl <biebl@teco.edu>
10584         * configure.in
10585           man/NetworkManager.1.in
10586           man/NetworkManagerDispatcher.1.in
10587           man/NetworkManager.8.in
10588           man/NetworkManagerDispatcher.8.in
10589                 - Add .SH NAME stanzas
10590                 - Move NM & NM Dispatcher manpages to section 8 (admin)
10591
10592 2006-12-02  Dan Williams  <dcbw@redhat.com>
10593
10594         Patch from Christian Persch <chpe@gnome.org>
10595
10596         * configure.in
10597                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
10598
10599 2006-11-29  Tambet Ingo  <tambet@ximian.com>
10600
10601         Patch by Timo Hoenig <thoenig@suse.de>:
10602         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
10603         DBUS-1.0.
10604
10605         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
10606         we can't use the one from the main source directory.
10607
10608 2006-11-27  Dan Williams  <dcbw@redhat.com>
10609
10610         Patch from Christian Persch <chpe@gnome.org>
10611
10612         * gnome/applet/applet-dbus-devices.c
10613                 - (hal_info_product_cb): fix memleak; free duped string.
10614                         Gnome.org #379908
10615
10616 2006-11-27  Dan Williams  <dcbw@redhat.com>
10617
10618         Patch from Christian Persch <chpe@gnome.org>
10619
10620         * gnome/applet/menu-items.c
10621                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
10622                         as gtk_progress_set_percentage is deprecated.  Should
10623                         work as far back as GTK+ 2.4.  Gnome.org #379780
10624
10625 2006-11-26  Dan Williams  <dcbw@redhat.com>
10626
10627         Scan using wpa_supplicant over DBus.
10628
10629         * src/nm-device-802-11-wireless.c
10630                 - remove wireless extensions netlink event handler bits
10631                         (wireless_event_helper, nm_device_802_11_wireless_event)
10632                 - remove wireless extensions scan event handler bits
10633                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
10634                         hex2byte, hex2num, request_and_convert_scan_results,
10635                         free_process_scan_cb_data, scan_results_timeout,
10636                         schedule_scan_results_timeout, cancel_scan_results_timeout)
10637                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
10638                         and request scans from the supplicant interface rather than directly
10639                 - Move functionality of convert_scan_results() to cull_scan_list() and
10640                         supplicant_iface_scanned_ap_cb()
10641                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
10642                         at the scan interval when the current scan has finished
10643                 - (supplicant_iface_state_cb): start scanning when the supplicant
10644                         interface enters the READY state, and stop scanning when it
10645                         enters the DOWN state
10646                 - (cull_scan_list): weed out old access points from the scan list
10647                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
10648                         point into an NMAccessPoint and merge it into the device's scan list
10649
10650         * src/supplicant-manager/nm-supplicant-interface.c
10651           src/supplicant-manager/nm-supplicant-interface.h
10652                 - Add a new signal "scan-result" which is issued when the supplicant
10653                         notifies NM that a scan has completed
10654                 - Add a new signal "scanned-ap" that notifies listeners of a new access
10655                         point found in the scan.  Called once for each access point that
10656                         the supplicant interface object receives from the supplicant as a
10657                         result of the "scanResults" method call
10658                 - (wpas_iface_query_scan_results): don't wait 4s before querying
10659                         for the initial scan results
10660                 - (scan_request_cb): new function; send listeners the result
10661                         (success, error) of a wireless scan request
10662                 - (nm_supplicant_interface_request_scan): new function; ask the
10663                         supplicant to perform an immediate wireless scan
10664
10665 2006-11-25  Dan Williams  <dcbw@redhat.com>
10666
10667         * src/supplicant-manager/Makefile.am
10668                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
10669                         add HAL cflags/includes and named-manager includes directory
10670
10671         * src/supplicant-manager/nm-supplicant-interface.h
10672                 - New state STARTING to handle transition from INIT to READY where
10673                         the addInterface pending call is still outstanding
10674
10675         * src/supplicant-manager/nm-supplicant-interface.c
10676                 - track pending calls differently since we may have more than one
10677                         going on at any given time
10678                 - request scan results from wpa_supplicant; but don't do it more often
10679                         than every 4 seconds.  Drivers that do background scanning
10680                         (like the 'ipw' drivers) send a continuous stream of scan completion
10681                         notifications, so we don't want to hammer the supplicant or dbus
10682                         with requests for all scan results every time we get a completion
10683                         notification.
10684
10685 2006-11-25  Dan Williams  <dcbw@redhat.com>
10686
10687         * src/supplicant-manager/nm-supplicant-types.h
10688                 - new file; move all supplicant manager object typedefs here for
10689                         #include sanity
10690
10691         * src/supplicant-manager/nm-supplicant-interface.c
10692           src/supplicant-manager/nm-supplicant-interface.h
10693                 - new file; an object that interfaces an NMDevice object to the
10694                         supplicant and handles signals from the supplicant.  This object
10695                         does all necessary DBus communication with wpa_supplicant.
10696
10697         * src/supplicant-manager/nm-supplicant-manager.c
10698           src/supplicant-manager/nm-supplicant-manager.h
10699                 - Actually do something.  Track the state of the wpa_supplicant service
10700                         and deal with its comings & goings.  Handle life events of
10701                         supplicant interfaces too.
10702                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
10703
10704         * src/supplicant-manager/nm-supplicant-connection.h
10705                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
10706
10707         * src/supplicant-manager/Makefile.am
10708                 - Add new files to build, and add libnm-util to includes
10709
10710         * src/nm-marshal.list
10711                 - New marshaler type: VOID:UINT,UINT
10712
10713         * src/nm-device-802-3-ethernet.c
10714                 - (real_init): grab a supplicant interface
10715                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
10716                 - (supplicant_iface_state_cb): new function, stub for handling
10717                         supplicant interface state changes
10718
10719         * src/nm-device-802-11-wireless.c
10720                 - (real_init): grab a supplicant interface
10721                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
10722                 - (supplicant_iface_state_cb): new function, stub for handling
10723                         supplicant interface state changes
10724
10725         * src/NetworkManager.c
10726                 - (main): create and keep the supplicant manager around for the lifetime
10727                         of NetworkManager
10728
10729         * src/Makefile.am
10730                 - Link to the supplicant manager sub-library and use the supplicant
10731                         manager includes
10732
10733 2006-11-25  Dan Williams  <dcbw@redhat.com>
10734
10735         Rework DBus manager signal handling to be more flexible.  Previously,
10736         only one signal handler could be registered for a particular interface.
10737         The DBus manager now reference counts DBus bus matches and allows multiple
10738         clients to register signal handlers for the same interface and sender.
10739
10740         * src/NetworkManager.c
10741                 - (main): track NMI signal handler ID and remove it when we quit
10742
10743         * src/NetworkManagerMain.h
10744                 - Keep track of NMI signal handler ID
10745
10746         * src/nm-dbus-manager.c
10747           src/nm-dbus-manager.h
10748                 - rework signal handling; each signal handler references one signal
10749                         match, but a signal match may be referenced by one or more
10750                         signal handlers.  Matches are refcounted and are destroyed when the
10751                         last signal handler that references the match is removed.  This is
10752                         necessary because two signal handlers may end up requiring the same
10753                         dbus bus match, so the match must live until the last signal handler
10754                         is destroyed (for example, with the wpa_supplicant network interface
10755                         dbus interface).
10756
10757         * src/dhcp-manager/nm-dhcp-manager.c
10758                 - (nm_dhcp_manager_new): track DHCP signal handler id
10759                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
10760
10761         * src/vpn-manager/nm-vpn-service.c
10762                 - (nm_vpn_service_add_watch): track VPN service signal handler id
10763                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
10764
10765 2006-11-25  Dan Williams  <dcbw@redhat.com>
10766
10767         Suggested by Helmut Schaa <hschaa@suse.de>
10768
10769         * src/vpn-daemons/nm-vpn-service.c
10770                 - (supplicant_child_setup): new function
10771                 - (supplicant_exec): make child process use a new process group id
10772
10773         * src/nm-device-802-11-wireless.c
10774                 - (nm_vpn_service_child_setup): new function
10775                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
10776                         process group id
10777
10778 2006-11-19  Dan Williams  <dcbw@redhat.com>
10779
10780         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
10781         * gnome/vpn-properties/nm-vpn-properties.c
10782                 - clean up after renamed VPN connection
10783
10784 2006-11-19  Dan Williams  <dcbw@redhat.com>
10785
10786         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
10787         * gnome/applet/applet-dbus-vpn.c
10788                 - (nma_dbus_vpn_properties_cb): sort VPN connections
10789
10790         * gnome/vpn-properties/nm-vpn-properties.c
10791                 - (init_app): sort VPN connections
10792
10793 2006-11-09  Dan Williams  <dcbw@redhat.com>
10794
10795         * src/NetworkManagerAPList.c
10796                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
10797                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
10798                 from the nm_ap_list_get_ap_by_address() call was incorrect and
10799                 broke hidden SSID matching.  Found by Bill Moss.
10800
10801 2006-10-25  Dan Williams  <dcbw@redhat.com>
10802
10803         * src/nm-dbus-nm.c
10804                 - (nm_dbus_nm_set_active_device): return an empty success message on
10805                         success, rather than falling through to the error case.
10806
10807 2006-10-25  Dan Williams  <dcbw@redhat.com>
10808
10809         * src/NetworkManagerUtils.c
10810                 - (nm_utils_supplicant_request_with_check): suppress messages for the
10811                         "SCAN" command
10812
10813 2006-10-24  Dan Williams  <dcbw@redhat.com>
10814
10815         Reduce the number of times the Gnome applet wakes up, especially when
10816         it's doing absolutely nothing and is hidden.  Initial patch by
10817         Chris Aillon.
10818
10819         * gnome/applet/applet-dbus.c
10820                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
10821                         kill the redraw timeout.  When NM starts up, start the redraw
10822                         timeout.  Also, if we get kicked off the bus for some reason,
10823                         start the reconnection timeout if one's not already running.
10824                 - (nma_dbus_init): better handling of error conditions, don't leak
10825                         a half-initialized dbus connection
10826                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
10827                         the applet's data, just call nm_dbus_init_helper()
10828                 - (nma_start_dbus_connection_watch): new function, starts a periodic
10829                         timeout that calls nma_dbus_connection_watcher()
10830                 - (nma_dbus_init_helper): if we get a successful connection, kill the
10831                         reconnection timeout, and don't start the reconnection timeout
10832                         unconditionally anymore
10833
10834         * gnome/applet/applet-dbus.h
10835                 - Expose nma_start_dbus_connection_watch()
10836
10837         * gnome/applet/applet.c
10838                 - (nma_update_state): no longer static, called from applet-dbus.c for
10839                         immediate UI updates on certain events
10840                 - (nma_set_running): new function; take over setting applet->running,
10841                         when not running (ie, NM is not active), don't activate the redraw
10842                         timeout because we're not showing the applet anyway.  When we are
10843                         running (ie, NM is active), and only when we're running, start the
10844                         redraw timeout.
10845                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
10846                         kill any reconnection timeout
10847                 - (nma_get_instance): move one-off dbus initialization code here since
10848                         nm_dbus_init_helper() gets called more than once, possibly by the
10849                         reconnection timeout function too.  And, when we start up, if we
10850                         can't get a connection to the bus, start the reconnection timeout.
10851                         But don't start the redraw timeout yet, only do that when we get
10852                         NM's state and find out if it's running or not.
10853
10854         * gnome/applet/applet.h
10855                 - Add the reconnection GSource ID
10856                 - Add prototypes for nma_set_running() and the no-longer-static
10857                         nma_update_state()
10858
10859 2006-10-24  Dan Williams  <dcbw@redhat.com>
10860
10861         * src/vpn-daemons/nm-dbus-vpnc.c
10862                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
10863                         pending call tracker
10864                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
10865                         pending call tracker; register one-vpn-connection update pending
10866                         call in pending call tracker
10867                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
10868                         update pending call in pending call tracker
10869                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
10870                         update pending call in pending call tracker; don't block waiting
10871                         for call to return
10872
10873 2006-10-19  Robert Love  <rml@novell.com>
10874
10875         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
10876           refresh the cache.
10877
10878 2006-10-14  Dan Williams  <dcbw@redhat.com>
10879
10880         * src/dhcp-manager/nm-dhcp-manager.c
10881                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
10882                 the dbus connection and the device object path rather than
10883                 constructing it inside both functions.  Saves a bit of memory
10884                 and clarifies a failure path.
10885                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
10886                 and allocate device path here rather than each of the two
10887                 functions above.
10888
10889 2006-10-13  Dan Williams  <dcbw@redhat.com>
10890
10891         * src/NetworkManager.c
10892                 - (nm_name_owner_changed_handler): handle NMI coming and going,
10893                 this somehow droppout in the refactor
10894
10895 2006-10-13  Dan Williams  <dcbw@redhat.com>
10896
10897         * Huge DBus refactor:
10898                 - Create a "DBus Manager" object which manages the connection and
10899                 sends signals on NameOwnerChanged and connection/disconnection events,
10900                 handles reconnection to the bus if NM gets kicked off, and abstracts
10901                 signal handling
10902                 - Remove DBusConnection members from places where they are no
10903                 longer needed due to the refactor, like the dbus-connection
10904                 property of the named manager, and from NMData
10905                 - Reformats a bunch of the code to gnome style
10906                 (8-space tabs, braces on same line as statement, 80-col width).
10907                 Consider it open season to reformat any bits to gnome style.
10908                 style that aren't already.
10909
10910 2006-10-13  Dan Williams  <dcbw@redhat.com>
10911
10912         * src/supplicant-manager/Makefile.am
10913                 - Add new files
10914
10915         * src/supplicant-manager/nm-supplicant-manager.[ch]:
10916                 - Make it a minimal GObject
10917
10918         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
10919                 - Verify settings destined for wpa_supplicant
10920
10921         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
10922                 - Minimal GObject to track wpa_supplicant controlled device
10923                 connections
10924
10925 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
10926
10927         * gnome/applet/applet.c: (nma_update_info),
10928         (nma_act_stage_to_pixbuf), (nma_update_state):
10929         Mark missing strings for translation. Fixes bug #343306.
10930
10931 2006-10-01  Dan Williams  <dcbw@redhat.com>
10932
10933         * src/vpn-manager/nm-vpn-manager.c
10934                 - (nm_vpn_manager_load_services): split and clean up
10935                 for readability and correctness.  Restrict VPN service
10936                 files to ending in ".name", as was meant from the
10937                 beginning (but not coded in).  Better error reporting.
10938
10939 2006-10-01  Dan Williams  <dcbw@redhat.com>
10940
10941         * utils/nm-utils.h
10942                 - Clean up formatting of debug/info/warning log messages
10943
10944 2006-09-27  Robert Love  <rml@novell.com>
10945
10946         Patch by Tambet Ingo <tambet@ximian.com>:
10947         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
10948           actually work.
10949
10950 2006-09-07  Dan Williams <dcbw@redhat.com>
10951
10952         * test/Makefile.am
10953           test/libnm-util/Makefile.am
10954           test/nm-supplicant-test.c
10955                 - Add test program emulating the way NM drives wpa_supplicant
10956                 to help debug supplicant issues
10957
10958 2006-08-24  Dan Williams <dcbw@redhat.com>
10959
10960         * configure.in
10961           src/Makefile.am
10962           src/supplicant-manager/Makefile.am
10963           src/supplicant-manager/nm-supplicant-manager.c
10964           src/supplicant-manager/nm-supplicant-manager.h
10965                 - Add skeleton bits of the wpa_supplicant manager
10966
10967 2006-08-24  Dan Williams <dcbw@redhat.com>
10968
10969         Patch from Ed Catmur:
10970         * src/NetworkManagerUtils.c
10971                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
10972                 if netmask is 0 (Gnome #352634)
10973
10974 2006-08-17  Robert Love  <rml@novell.com>
10975
10976         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
10977           package is now DBUS-enabled and listens for the NM signals.
10978
10979 2006-08-14  Dan Williams  <dcbw@redhat.com>
10980
10981         * Patch from Christian Persch <chpe gnome org>
10982         * configure.in
10983           po/LINGUAS
10984           vpn-daemons/openvpn/po/LINGUAS
10985           vpn-daemons/openvpn/configure.in
10986           vpn-daemons/pptp/po/LINGUAS
10987           vpn-daemons/pptp/configure.in
10988           vpn-daemons/vpnc/po/LINGUAS
10989           vpn-daemons/vpnc/configure.in
10990                 - Convert to LINGUAS method so translators don't have to modify
10991                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
10992                 0.35 or higher
10993
10994 2006-08-14  Dan Williams  <dcbw@redhat.com>
10995
10996         Patch from Alex Smith <alex.extreme2@gmail.com>
10997         * configure.in
10998           src/backends/Makefile.am
10999           src/backends/NetworkManagerFrugalware.c
11000                 - Add support for Frugalware
11001
11002 2006-08-13  Dan Williams  <dcbw@redhat.com>
11003
11004         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11005         * src/nm-device-802-11-wireless.c
11006                 - (supplicant_exec): spawn wpa_supplicant without debug spew
11007                 Gnome #346875
11008
11009 2006-08-13  Dan Williams  <dcbw@redhat.com>
11010
11011         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11012         * src/nm-ap-security.c
11013           src/nm-ap-security.h
11014                 - Add authentication_required bits for subclasses to specify whether
11015                 or not real authentication is required for connections, i.e. whether
11016                 the AP rejects us when an encryption key is wrong or not.
11017
11018         * src/nm-ap-security-wep.c
11019           src/nm-ap-security-wpa-eap.c
11020           src/nm-ap-security-wpa-psk.c
11021           src/nm-ap-security-leap.c
11022                 - Implement authentication_required appropriately for each method
11023
11024         * src/nm-device-802-11-wireless.c
11025                 - Be smarter about when to request a key; for example, using a wrong key
11026                 in WEP shared key mode previously just timed out and did not request
11027                 a new key
11028
11029 2006-08-13  Dan Williams  <dcbw@redhat.com>
11030
11031         * gnome/libnm_glib/libnm_glib.c
11032                 - dbus_connection_disconnect() -> dbus_connection_close() for
11033                 dbus >= 0.90
11034
11035 2006-08-07  Dan Williams  <dcbw@redhat.com>
11036
11037         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11038         * src/NetworkManagerSystem.c
11039                 - Respect specified MTU.  Gnome #344967
11040
11041 2006-08-07  Dan Williams  <dcbw@redhat.com>
11042
11043         * src/vpn-manager/nm-vpn-service.c
11044                 - Simplify print_vpn_config() arguments
11045
11046         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11047         * src/vpn-manager/Makefile.am
11048           src/vpn-manager/nm-vpn-service.c
11049                 - Add new API for passing VPN config options as a dict. Gnome #344967
11050
11051 2006-08-06  Dan Williams  <dcbw@redhat.com>
11052
11053         * gnome/applet/applet-dbus-devices.c
11054           gnome/applet/applet-dbus-vpn.c
11055           gnome/applet/applet-dbus.c
11056           gnome/applet/applet-dbus.h
11057           src/nm-dbus-nmi.c
11058           utils/nm-utils.c
11059           utils/nm-utils.h
11060                 - Make pending call tracking code generic,
11061                 so we can use it in NM as well as the applet
11062
11063 2006-08-06  Dan Williams  <dcbw@redhat.com>
11064
11065         * src/nm-activation-request.c
11066                 - Refcount pending call objects
11067
11068 2006-08-06  Dan Williams  <dcbw@redhat.com>
11069
11070         Patch from Christan Chiesa <christanc@gmail.com>
11071         * configure.in
11072                 - Tell sha1.c to use bigendian mode on PPC
11073
11074 2006-08-04  Robert Love  <rml@novell.com>
11075
11076         Glib Memory Slices!
11077         * configure.in: Require glib 2.10 or later.
11078         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
11079           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
11080           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
11081           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
11082           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
11083           Memory Slices are the greatest thing since bread slices.
11084         * src/NetworkManagerAP.c: Also, fix memory leak.
11085
11086 2006-08-01  Robert Love  <rml@novell.com>
11087
11088         * gnome/applet/main.c: Shutdown all VPN connections on logout.
11089
11090 2006-07-31  Robert Love  <rml@novell.com>
11091
11092         * src/backends/interface_parser.c: Declarations must begin the block.
11093
11094 2006-07-24  Dan Williams  <dcbw@redhat.com>
11095
11096         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11097         * src/backends/Makefile.am
11098           src/backends/NetworkManagerArch.c
11099           src/backends/NetworkManagerDebian.c
11100           src/backends/NetworkManagerGeneric.c
11101           src/backends/NetworkManagerGeneric.h
11102           src/backends/NetworkManagerGentoo.c
11103           src/backends/NetworkManagerPaldo.c
11104           src/backends/NetworkManagerRedHat.c
11105           src/backends/NetworkManagerSlackware.c
11106           src/backends/NetworkManagerSuSE.c
11107                 - Genericize common backend functions
11108
11109 2006-07-18  Robert Love  <rml@novell.com>
11110
11111         * configure.in: Add "--with-notify" option to allow disabling of
11112           libnotify support.
11113
11114 2006-07-13  Dan Williams  <dcbw@redhat.com>
11115
11116         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
11117         * gnome/applet/applet.glade
11118           gnome/applet/Makefile.am
11119           gnome/applet/nm-gconf-wso.c
11120           gnome/applet/nm-gconf-wso-leap.c
11121           gnome/applet/nm-gconf-wso-leap.h
11122           gnome/applet/wireless-security-manager.c
11123           gnome/applet/wso-leap.c
11124           gnome/applet/wso-leap.h
11125           include/NetworkManager.h
11126           libnm-util/dbus-helpers.c
11127           libnm-util/dbus-helpers.h
11128           src/Makefile.am
11129           src/NetworkManagerAP.c
11130           src/nm-ap-security.c
11131           src/nm-ap-security-leap.c
11132           src/nm-ap-security-leap.h
11133                 - Add LEAP authentication support
11134
11135 2006-07-13  Dan Williams  <dcbw@redhat.com>
11136
11137         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11138         * configure.in
11139           src/backends/NetworkManagerArch.c
11140           src/backends/NetworkManagerDebian.c
11141           src/backends/NetworkManagerGentoo.c
11142           src/backends/NetworkManagerPaldo.c
11143           src/backends/NetworkManagerRedHat.c
11144           src/backends/NetworkManagerSlackware.c
11145           src/backends/NetworkManagerSuSE.c
11146                 - Convert hardcoding of 'ip' path to configure-time
11147                         detected one
11148
11149 2006-07-12  Leonid Kanter <leon@asplinux.ru>
11150
11151         * configure.in: added ru to ALL_LINGUAS
11152
11153 2006-07-10  Dan Williams  <dcbw@redhat.com>
11154
11155         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11156         * src/nm-device.c
11157                 - (real_act_stage3_ip_config_start): don't infinite loop when
11158                         dhcdbd isn't running (Gnome #346845)
11159
11160 2006-07-09  Dan Williams  <dcbw@redhat.com>
11161
11162         * gnome/applet/applet.c
11163                 - (nma_destroy): don't pass NULL to notify_notification_close
11164                         (RH #197917)
11165
11166 2006-07-09  Dan Williams  <dcbw@redhat.com>
11167
11168         * gnome/applet/applet.c
11169                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
11170
11171 2006-07-04  Tor Krill  <tor@krill.nu>
11172
11173         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11174         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
11175         (nm_system_restart_mdns_responder), (ArchReadConfig),
11176         (nm_system_device_get_system_config):
11177                 - Explicitly check for DHCP configuration
11178                 - Check if daemons are running before starting them
11179
11180 2006-06-25  Dan Williams  <dcbw@redhat.com>
11181
11182         * libnm-util/dbus-dict-helpers.[ch]
11183           test/libnm-util/test-dbus-dict-helpers.c
11184                 - Add string array support
11185
11186 2006-06-24  Dan Williams  <dcbw@redhat.com>
11187
11188         * src/dhcp-manager/nm-dhcp-manager.c
11189                 - (nm_dhcp_manager_process_signal): clean up spacing
11190
11191 2006-06-21  Dan Williams  <dcbw@redhat.com>
11192
11193         * src/nm-dbus-device.c
11194                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11195                         through dbus
11196
11197 2006-06-21  Raivis Dejus  <orvils@gmail.com>
11198
11199         * configure.in: Added 'lv' to ALL_LINGUAS
11200
11201 2006-06-19  Dan Williams  <dcbw@redhat.com>
11202
11203         * src/NetworkManagerAP.c
11204                 - Clarify usage of user_created
11205
11206         * src/nm-ap-security-wep.c
11207           src/nm-ap-security-wpa-eap.c
11208           src/nm-ap-security-wpa-psk.c
11209           src/nm-ap-security.c
11210           src/nm-ap-security.h
11211                 - s/user_created/adhoc, because we really do mean adhoc
11212
11213         Patch from Bernard Blackham <bernard@blackham.com.au>
11214         * src/nm-device-802-11-wireless.c         
11215                 - (supplicant_send_network_config): instead of user_created,
11216                         use adhoc, and do AP_SCAN 2 for adhoc networks
11217
11218 2006-06-18  Robert Love  <rml@novell.com>
11219
11220         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
11221           we have a value to set.  Gconf generates a warning if `val' is NULL.
11222         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
11223           unless we actually received a valid private key file passphrase or
11224           password.  Otherwise, we don't know to later ask the applet to pull
11225           the key from the keyring.
11226
11227 2006-06-17  Dan Williams  <dcbw@redhat.com>
11228
11229         * libnm-util/dbus-dict-helpers.[ch]
11230           test/libnm-util/test-dbus-dict-helpers.c
11231                 - Fixes for zero-length byte arrays
11232                 - Replace return values of 0 with FALSE for clarity
11233                 - Test zero-length byte arrays
11234
11235 2006-06-17  Dan Williams  <dcbw@redhat.com>
11236
11237         * libnm-util/dbus-dict-helpers.[ch]
11238           test/libnm-util/test-dbus-dict-helpers.c
11239                 - Add helpers for byte arrays
11240                 - Rework bits of the testcase
11241
11242 2006-06-16  Dan Williams  <dcbw@redhat.com>
11243
11244         * libnm-util/Makefile.am
11245         * libnm-util/dbus-dict-helpers.[ch]
11246                 - Add some helpers to take the pain out of using dict types in
11247                         dbus.
11248
11249         * test/libnm-util/Makefile.am
11250         * test/libnm-util/test-dbus-dict-helpers.c
11251                 - Test cases for the dict helper functions
11252
11253 2006-06-15  Robert Love  <rml@novell.com>
11254
11255         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
11256           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
11257           if there is no key to pass.
11258         * libnm-util/dbus-helpers.c: Given the above, we can trust always
11259           receiving a non-NULL key.
11260
11261 2006-06-14  Robert Love  <rml@novell.com>
11262
11263         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
11264           copy the strings.
11265
11266
11267 2006-06-14  Dan Williams  <dcbw@redhat.com>
11268
11269         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
11270         * src/nm-device-802-11-wireless.c
11271                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
11272                         or ones where the driver is unknown
11273                 - (supplicant_exec): don't wait for supplicant startup here
11274                 - (supplicant_interface_init): finer grained polling for supplicant
11275                         startup
11276
11277 2006-06-13  Robert Love  <rml@novell.com>
11278
11279         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
11280           if it is currently set to TRUE.  Otherwise, we will reset the value
11281           when we connect normally.
11282         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
11283           the old BSSID is valid, too.  The recently added ESSID check may not be
11284           sufficient (we can remove it?).  What we really want to catch is the
11285           case of going from all-zeros to the BSSID of some other network, which
11286           happens on failure.
11287
11288 2006-06-09  Dan Williams  <dcbw@redhat.com>
11289
11290         * src/NetworkManagerSystem.[ch]
11291                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
11292                         it was unused and pointless
11293                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
11294                         fix for set_up_down_with_iface change
11295
11296         * src/vpn-manager/nm-vpn-connection.c
11297                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
11298
11299         * src/backends/NetworkManagerPaldo.c
11300           src/backends/NetworkManagerRedHat.c
11301           src/backends/NetworkManagerSuSE.c
11302           src/backends/NetworkManagerArch.c
11303           src/backends/NetworkManagerDebian.c
11304           src/backends/NetworkManagerGentoo.c
11305                 - (nm_system_enable_loopback): use set_up_down_with_iface where
11306                         appropriate
11307                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
11308                         where appropriate
11309
11310 2006-06-09  Dan Williams  <dcbw@redhat.com>
11311
11312         Patch from Peter Jones:
11313         * src/nm-device-802-11-wireless.c
11314                 - (nm_device_802_11_wireless_update_bssid): make sure that the
11315                         SSID hasn't changed from what we expect before automatically
11316                         updating the saved BSSID from a new AP
11317
11318 2006-06-08  Robert Love  <rml@novell.com>
11319
11320         Add 'fallback' support.  NetworkManager will attempt to brute-force
11321         connect to networks marked as fallback if there are no better wireless
11322         connections available.  This is useful as a method of last resort, to
11323         work around driver problems, and for use with hidden networks.
11324         * gnome/applet/applet-dbus-devices.c,
11325           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
11326         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
11327           pass it on via DBUS.
11328         * gnome/applet/applet.c: No fallback by default.
11329         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
11330           Update other-network-dialog to add UI checkbox toggling fallback.
11331         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
11332           propery from AP object.  Add "fallback" property to AP object.
11333         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
11334         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
11335         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
11336           separate function.  Add get_best_fallback_ap() for returning an AP
11337           on which to attempt fallback.
11338         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
11339         * test/nm-set-fallback: New file.  Sets a given network as fallback.
11340
11341 2006-06-07  Robert Love  <rml@novell.com>
11342
11343         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
11344           checked that the return type was GCONF_VALUE_STRING, not the correct
11345           GCONF_VALUE_BOOL, and thus it never worked.
11346         * src/NetworkManagerAPList.c: Before concluding that two networks are
11347           identical based on their BSSID, make sure that the BSSID in question
11348           is actually valid.  Specifically, an empty or all zero BSSID does not
11349           cut it.
11350         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
11351           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
11352           similar invariant clean up.
11353
11354 2006-06-02  Robert Love  <rml@novell.com>
11355
11356         * gnome/applet/applet.c: Update copyright years.  Add Novell.
11357
11358 2006-05-28  Dan Williams  <dcbw@redhat.com>
11359
11360         * gnome/applet/applet.glade
11361           gnome/vpn-properties/nm-vpn-properties.glade
11362                 - Set window icons on dialogs  (Gnome.org #333420)
11363
11364 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
11365
11366         * gnome/vpn-properties/nm-vpn-properties.glade:
11367         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
11368         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
11369         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
11370                 - Make the VPN properties pages prettier and more HIG
11371                   compliant. Gnome Bug #336913.
11372
11373 2006-05-28  Dan Williams  <dcbw@redhat.com>
11374
11375         Patch from Christian Persch <chpe@gnome.org>
11376         * gnome/vpn-properties/nm-vpn-properties.c
11377         * gnome/vpn-properties/nm-vpn-properties.glade
11378                 - HIG-ification love  (Gnome.org #336846)
11379
11380 2006-05-28  Dan Williams  <dcbw@redhat.com>
11381
11382         Patch from Christian Persch <chpe@gnome.org>
11383         * configure.in
11384           gnome/vpn-properties/nm-vpn-properties.c
11385                 - (main): Fix option parsing.  Gnome.org #336847
11386
11387 2006-05-28  Dan Williams  <dcbw@redhat.com>
11388
11389         * gnome/vpn-properties/nm-vpn-properties.c
11390                 - (find_vpn_ui_by_service_name): protect against NULL service names
11391                 - (update_edit_del_sensitivity): protect against NULL service names
11392                         Gnome.org #341306
11393
11394 2006-05-28  Dan Williams  <dcbw@redhat.com>
11395
11396         Patch from Chris Fuller <crf@grandecom.net>:
11397         * src/nm-device-802-11-wireless.c
11398                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
11399                         don't dispose of wireless-specific stuff unless it is actually
11400                         initialized.  Gnome.org #341263
11401
11402 2006-05-28  Dan Williams  <dcbw@redhat.com>
11403
11404         * src/NetworkManagerPolicy.c
11405                 - (nm_policy_device_change_check): don't switch devices if the "best"
11406                         AP is essentially the same as the current activation request, but
11407                         the current activation request isn't done activating yet.  Fixes
11408                         multiple requests for keyring password on startup for Gnome applet.
11409                         Gnome.org #341297
11410
11411 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
11412
11413         * src/NetworkManager.c: use GOptions instead of getopt
11414         * configure.in: bump glib required version to >= 2.6 for GOption
11415           support
11416
11417 2006-05-25  Robert Love  <rml@novell.com>
11418
11419         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
11420           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
11421           instead of dumping ifdef's throughout the code.
11422         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
11423           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
11424           use nm_ioctl_info() in lieu.
11425
11426 2006-05-25  Robert Love  <rml@novell.com>
11427
11428         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
11429         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
11430           not using gcrypt.  Otherwise, we get a linker error.
11431
11432 2006-05-25  Robert Love  <rml@novell.com>
11433
11434         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
11435         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
11436           configure flag to disable building of the GNOME-based applet.
11437
11438 2006-05-25  Robert Love  <rml@novell.com>
11439
11440         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
11441           parameter from link, because it shadows a global variable with some
11442           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
11443           should never have exported to the entire system a common four letter
11444           word.  But we here at NetworkManager are team players.  Fixes
11445           GNOME bug #336532.
11446
11447 2006-05-25  Arangel Angov <ufo@linux.net.mk>
11448
11449         * configure.in: Added mk.po, Macedonian translation.
11450
11451 2006-05-24  Robert Love  <rml@novell.com>
11452
11453         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
11454           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
11455           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
11456
11457 2006-05-24  Robert Love  <rml@novell.com>
11458
11459         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
11460           libnm-util/Makefile.am, src/Makefile.am,
11461           vpn-daemons/openvpn/auth-dialog/Makefile.am,
11462           vpn-daemons/openvpn/properties/Makefile.am,
11463           vpn-daemons/pptp/auth-dialog/Makefile.am,
11464           vpn-daemons/pptp/properties/Makefile.am,
11465           vpn-daemons/vpnc/auth-dialog/Makefile.am,
11466           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
11467           user passed for --datadir, if anything, when setting the GNOME locale
11468           directory.  It should be a function of the specified datadir and not
11469           the prefix.
11470
11471 2006-05-24  Robert Love  <rml@novell.com>
11472
11473         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
11474           src/NetworkManager.c: Take care to call bindtextdomain with the
11475           location of msgid files.
11476         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
11477           files.
11478
11479 2006-05-22  Robert Love  <rml@novell.com>
11480
11481         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
11482           stage4_timeout on failure unless the wireless network is Ad-Hoc.
11483           99% of the time there is a real problem with wireless, and a
11484           seemingly successful connection via Zeroconf just confuses the user.
11485           And that 1% of the time the network is probably Ad-Hoc, anyhow.
11486
11487 2006-05-22  Robert Love  <rml@novell.com>
11488
11489         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
11490           autofs on interface up if NIS is configured.  On interface down, do
11491           nothing.
11492
11493 2006-05-22  Robert Love  <rml@novell.com>
11494
11495         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
11496           to avoid calling g_object_unref() on stale pointers on error in
11497           nma_icons_free().  This happens because we short-circuit loaded the
11498           icons on the first failure but then free all icons.  Normally we have
11499           no issue because the icons were zero'ed out malloc, but we have stale
11500           pointer data after nma_icon_theme_changed().
11501         * gnome/applet/main.c: Return error code if nma_new() failed.
11502
11503 2060-05-21  Dan Williams  <dcbw@redhat.com>
11504
11505         * initscript/NetworkManager.in
11506                 - Ensure both dhcdbd and named are started before NM
11507
11508 2006-05-21  Dan Williams  <dcbw@redhat.com>
11509
11510         * configure.in
11511                 - Bump version to 0.7 to signify we are in 0.7 development
11512
11513 2006-05-21  Dan Williams  <dcbw@redhat.com>
11514
11515         Patch from Adam Schreiber <sadam@clemson.edu>
11516         * gnome/vpn-properties/nm-vpn-properties.c
11517                 - (main): correct Gnome program name  (gnome.org #342498)
11518
11519 2006-05-21  Dan Williams  <dcbw@redhat.com>
11520
11521         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
11522
11523         * src/NetworkManagerDbus.[ch]
11524                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
11525                         clarify that function's argument should be an escaped dbus object
11526                         path, and look for path segment end before returning a match
11527         * src/nm-dbus-nm.c:
11528                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
11529
11530 2006-05-17  Robert Love  <rml@novell.com>
11531
11532         Functionality to differentiate Ad-Hoc networks from infrastructure
11533         networks in the applet, by displaying a special icon:
11534         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
11535         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
11536         * gnome/applet/menu-items.c: Set a special icon in the scan list for
11537           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
11538           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
11539           networks, encrypted or not.
11540         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
11541           accessor functions to get and set the mode of a given network,
11542           wireless_network_get_mode() and wireless_network_set_mode().
11543
11544 2006-05-17  Robert Love  <rml@novell.com>
11545
11546         Functionality to automatically add BSSIDs to the allowed-MAC list as
11547         one roams from access point to access point on a given network:
11548         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
11549           helper function to compare two ether_addr structures and return TRUE
11550           if they contain the same MAC address.
11551         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
11552           prototype.
11553         * src/nm-device-802-11-wireless.c: New function to update the BSSID
11554           stored with the current AP.  If the BSSID has indeed changed, we
11555           send it out to the applet, allowing the allowed-MAC list to grow
11556           automatically in response to roaming.
11557
11558 2006-05-16  Robert Love  <rml@novell.com>
11559
11560         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
11561           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
11562
11563 2006-05-13  Dan Williams  <dcbw@redhat.com>
11564
11565         * src/nm-device-802-3-ethernet.c
11566                 - (real_get_generic_capabilities): Don't ignore devices that can't do
11567                         carrier detect (Debian bug #366373)
11568
11569 2006-05-11  Dan Williams  <dcbw@redhat.com>
11570
11571         Patch from Michael Biebl <biebl@teco.edu>
11572         * src/backends/NetworkManagerDebian.c
11573                 - Debian backend fixups
11574
11575 2006-05-10  Robert Love  <rml@novell.com>
11576
11577         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
11578
11579 2006-05-09  Robert Love  <rml@novell.com>
11580
11581         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
11582           private certificate passphrase, if any, in the GNOME Keyring.
11583         * libnm-utils/dbus-helpers.c: Update.
11584
11585 2006-05-05  Dan Williams  <dcbw@redhat.com>
11586
11587         * src/nm-device-802-11-wireless.c
11588                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
11589                         nm_device_802_11_wireless_disable_encryption() since that's all
11590                         we use it for anymore; we don't ever set WEP keys ourselves.
11591                 - (real_deactivate_quickly): reset SSID and encryption keys
11592                 - (real_deactivate): move SSID and encryption key reset to
11593                         real_deactivate_quickly(), which gets run before us anyway
11594
11595 2006-05-05  Robert Love  <rml@novell.com>
11596
11597         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
11598           root has a wacky default of its own (or, more common, a user has a
11599           bad umask and uses su/sudo to restart NetworkManager).  Anything
11600           other than 0022 does not do what we want with, for example,
11601           resolv.conf.  This problem is amplified by our judicious use of
11602           fopen(), which uses mode 0666 -- implying that the only way to get
11603           the permissions we want is with a umask of 0022.
11604
11605 2006-05-05  Dan Williams  <dcbw@redhat.com>
11606
11607         * gnome/libnm_glib/libnm_glib.c
11608                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
11609                         to reconnect; instead wait a bit more with each reconnect attempt
11610                         up to a max of one minute.
11611
11612 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
11613
11614         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
11615           the WirelessNetwork structure using the proper function instead of
11616           just casting it directly to (const char *) (gnome.org #336991)
11617
11618 2006-05-03  Robert Love  <rml@novell.com>
11619
11620         * src/backends/NetworkManagerSuSE.c: Respect the variable
11621           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
11622           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
11623           to dynamically update /etc/resolv.conf.
11624
11625 2006-05-02  Peter Jones  <pjones@redhat.com>
11626
11627         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
11628
11629 2006-05-02  Robert Love  <rml@novell.com>
11630
11631         Patch by Timo Hoenig;
11632         * tests/nm-online.c: Print pretty status indicator as timeout winds
11633           down.  Also fix possible race between DBUS startup and failure
11634           return.
11635
11636 2006-05-01  Robert Love  <rml@novell.com>
11637
11638         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
11639           empty, too.
11640
11641 2006-04-27  Jeremy Katz  <katzj@redhat.com>
11642
11643         * src/nm-device.c (discover_device_type): Actually use the hal
11644         device type instead of ioctl poking
11645
11646 2006-04-26  Robert Love  <rml@novell.com>
11647
11648         * tests/nm-online.c: New file.  Simple utility that returns exit status
11649           noting whether the connection is offline or online.  If offline on
11650           start, it waits 30 seconds (or a command-line given value) for an
11651           online signal.  If it times out, it again returns offline.  This is
11652           useful for scripts that want to wait for network connections.
11653
11654 2006-04-25  Robert Love  <rml@novell.com>
11655
11656         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
11657           key mode (the authentication algorithm), e.g. open or shared, when we
11658           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
11659           only shared was broken.  If the user specified a shared key, set it
11660           explicitly, otherwise let wpa_supplicant go with the default.
11661
11662 2006-04-24  Dan Williams  <dcbw@redhat.com>
11663
11664         * src/nm-device-802-11-wireless.c
11665                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
11666
11667 2006-04-24  Dan Williams  <dcbw@redhat.com>
11668
11669         Commit the async scanning patch
11670
11671         * src/nm-device-802-11-wireless.c
11672                 - get rid of scan_mutex
11673                 - (wireless_event_helper): act on wireless scan events
11674                 - (real_start): schedule a pending scan
11675                 - (link_to_specific_ap): fake the link to the AP during a scan
11676                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
11677                         strength during scans
11678                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
11679                         nm_device_set_bitrate): unused with new scanning code, disable
11680                 - (nm_device_wireless_schedule_scan): removed
11681                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
11682                 - (request_and_convert_scan_results): new function; retrieve scan
11683                         results from the driver and schedule the processing function
11684                 - (scan_results_timeout): timeout triggered when card doesn't send
11685                         a scan results wireless event during a certain interval
11686                 - (schedule_scan_results_timeout): new function; schedule the scan
11687                         results timeout
11688                 - (cancel_scan_results_timeout): new function; cancel the scan
11689                         results timeout
11690                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
11691                         to do the scanning.  Otherwise, just request a scan but don't
11692                         grab results here; instead schedule a timeout for scan results and
11693                         let netlink notify us of scan completion events
11694                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
11695                 - (cancel_pending_scan): new function; cancel a pending wireless scan
11696                 - (supplicant_status_cb): ignore disconnect events while scanning
11697                 - (supplicant_exec): wait a bit longer for the supplicant to start up
11698                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
11699                         timeouts
11700                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
11701
11702 2006-04-24  Dan Williams  <dcbw@redhat.com>
11703
11704         * gnome/applet/applet-dbus.c
11705                 - Disable the pending call debug stuff, seems under control now
11706
11707 2006-04-20  Robert Love  <rml@novell.com>
11708
11709         Fix bug where hidden ESSID's would not show up in the applet, even
11710         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
11711         because nm_policy_device_list_update_from_allowed_list() would merge
11712         the data, putting a name to the hidden networks, but never notify NMI
11713         of the changes.  Simple fix is to invoke the function
11714         nm_dbus_signal_wireless_network_change() if we make a mapping.
11715         * src/NetworkManagerAPList.c: Call the function
11716           nm_dbus_signal_wireless_network_change() if we made a successful
11717           BSSID to ESSID mapping, notifying the applet of the "new" network.
11718         * src/NetworkManagerAPList.h: Update the prototypes for both
11719           nm_ap_list_copy_essids_by_address() and
11720           nm_ap_list_copy_one_essid_by_address().
11721
11722 2006-04-20  Robert Love  <rml@novell.com>
11723
11724         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
11725           not set.  Just return zero.
11726
11727 2006-04-20  Robert Love  <rml@novell.com>
11728
11729         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
11730           only one copy of nm-vpn-properties is running at a time via the 'ol
11731           X selection trick.  This prevents the user from opening two "VPN
11732           Connections" windows from within the applet, which leads to mass
11733           hysteria.
11734         * clipboard.c: New file, implementing simple X selection logic.
11735         * clipboard.h: New file.
11736         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
11737
11738 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
11739
11740         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
11741         * configure.in
11742           initscript/Gentoo/Makefile.am
11743           initscript/Gentoo/NetworkManagerDispatcher.in
11744                 - New script
11745         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
11746           Gentopia
11747
11748 2006-04-16  Dan Williams  <dcbw@redhat.com>
11749
11750         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
11751         * configure.in
11752           initscript/Slackware/Makefile.am
11753           initscript/Slackware/rc.networkmanager-dispatcher.in
11754           initscript/Slackware/rc.networkmanager.in
11755                 - Update slackware initscripts
11756
11757 2006-04-10  Robert Love  <rml@novell.com>
11758
11759         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
11760           the "delete_event" signal on the druid's parent window and handle it
11761           our way, lest using the WM to close the druid results in a series of
11762           bloody and ultimately lethal errors.
11763
11764 2006-04-10  Robert Love  <rml@novell.com>
11765
11766         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
11767           'Back' too or else the 'Forward' option is initially disabled despite
11768           valid input.
11769
11770 2006-04-06  Robert Love  <rml@novell.com>
11771
11772         Fix bad but simple bug where an active modem connection did not update
11773         NM's connection state, breaking any app that did online/offline:
11774         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
11775           represented whether a dial up connection is active, or not.
11776         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
11777           to modem activation and deactivation.
11778         * src/NetworkManagerDbus.c: When asked our state, do not return
11779           disconnected if the modem is active.
11780
11781 2006-04-04  Robert Love  <rml@novell.com>
11782
11783         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
11784           applet.  It just confuses the crap out of people and does not make a
11785           lot of sense, as the daemon still runs.
11786
11787 2006-04-02  Tor Krill  <tor@krill.nu>
11788
11789         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
11790           in start of service.
11791         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
11792           get Archlinux backend up to date.
11793
11794 2006-03-29  Robert Love  <rml@novell.com>
11795
11796         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
11797         to add support for per-route MSS and improve support for per-interface
11798         MTU:
11799         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
11800           optionally take an MSS parameter and set it for the given route.
11801           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
11802           NMIP4Config's stored MSS, if any.
11803         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
11804           the interface's MTU and the route's MSS, respectively.  Add functions
11805           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
11806           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
11807           MSS.
11808         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
11809           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
11810           nm_ip4_config_set_mss.
11811         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
11812           VPN daemon.
11813         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
11814           Change the retval of nm_system_get_mtu to guint32.
11815         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
11816           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
11817           servers can specify MTU's, we should set it here if the MTU was not
11818           provided.
11819
11820 2006-03-27  Jürg Billeter  <j@bitron.ch>
11821
11822         * configure.in:
11823         * initscript/Makefile.am:
11824         * initscript/paldo/Makefile.am:
11825         * initscript/paldo/NetworkManager.in:
11826         * initscript/paldo/NetworkManagerDispatcher.in:
11827         * src/backends/Makefile.am:
11828         * src/backends/NetworkManagerPaldo.c:
11829                 - Add paldo support
11830
11831 2006-03-27  Dan Williams  <dcbw@redhat.com>
11832
11833         Patch from Christian Persch <chpe@gnome.org>
11834         * gnome/applet/applet.glade
11835                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
11836
11837 2006-03-27  Dan Williams  <dcbw@redhat.com>
11838
11839         Patch from Diffe <diffie@blazebox.homeip.net>
11840         * src/backends/NetworkManagerSlackware.c
11841                 - Don't restart howl, since it's been replaced by Avahi
11842                         in most distributions
11843
11844 2006-03-27  Dan Williams  <dcbw@redhat.com>
11845
11846         Patch from Tor Krill <bugzilla@krill.nu>
11847         * configure.in
11848           initscript/Makefile.am
11849           src/backends/Makefile.am
11850           src/backends/NetworkManagerArch.c
11851           initscript/Arch/Makefile.am
11852           initscript/Arch/networkmanager-dispatcher.in
11853           initscript/Arch/networkmanager.in
11854                 - Add Arch Linux support, fixes gnome.org #335147
11855
11856 2006-03-27  Dan Williams  <dcbw@redhat.com>
11857
11858         Patch from Diffe <diffie@blazebox.homeip.net>
11859      * initscript/Slackware/rc.networkmanager
11860         - update, fixed gnome.org #333368
11861
11862 2006-03-27  Robert Love  <rml@novell.com>
11863
11864         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
11865           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
11866
11867 2006-03-27  Robert Love  <rml@novell.com>
11868
11869         Patch by Jürg Billeter <j@bitron.ch>:
11870         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
11871           systems.
11872         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
11873           as we prefer glibc over kernel headers, if possible.
11874
11875 2006-03-27  Robert Love  <rml@novell.com>
11876
11877         Patch by Jon Escombe <list@dresco.co.uk>:
11878         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
11879         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
11880           fail, don't bail out.  We don't expect all of the various WPA-EAP
11881           values to be present.
11882         * src/nm-ap-security.c: We need to match all capabilities for each
11883           encryption type, not any one of them.
11884
11885 2006-03-27  Robert Love  <rml@novell.com>
11886
11887         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
11888           restart, not reload, ypbind.  Unfortunately there is no superior
11889           solution.
11890
11891 2006-03-24  Christopher Aillon  <caillon@redhat.com>
11892
11893         * gnome/applet/applet-notifications.c:
11894         When displaying a notification, make sure to get rid of the
11895         previous notification so as to not have competing bubbles,
11896         and stop leaking the old one.
11897
11898         * gnome/applet/applet.c:
11899         * gnome/applet/applet.h:
11900         Add a new 'notification' member to the applet, and zero it out
11901         and free it appropriately.
11902
11903 2006-03-23  Robert Love  <rml@novell.com>
11904
11905         Patch by j <j@bootlab.org>:
11906         * gnome/applet/applet.glade: Don't set the invisible_char property,
11907           which simply overrides the GTK default.  By and by, this behavior
11908           ought to be fixed in Glade.
11909
11910 2006-03-22  Robert Love  <rml@novell.com>
11911
11912         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
11913
11914 2006-03-22  Robert Love  <rml@novell.com>
11915
11916         Bug fix by Timo Hoenig <thoenig@suse.de>:
11917         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
11918           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
11919           and the applet going AWOL.
11920
11921 2006-03-22  Robert Love  <rml@novell.com>
11922
11923         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
11924           preprocessor define and use it instead of open-coded the DHCP
11925           timeout, which is currently 25 seconds, everywhere.
11926
11927 2006-03-22  Robert Love  <rml@novell.com>
11928
11929         Implement "Dynamic WEP", which is basically WPA authentication and WEP
11930         key exchange via WPA, ostensibly providing good security without
11931         requiring hardware that supports full WPA.  Also, add UI elements to
11932         allow the user to select the pairwise & group cipher for WPA Enterprise
11933         networks, too:
11934         * gnome/applet/applet.glade: Update glade file.
11935         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
11936           key type, too, to and from gconf.
11937         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
11938           wso_wpa_create_key_type_model(), noting whether we are handling PSK
11939           or EAP configuration, and in the latter case add in "Dynamic WEP" if
11940           the capabilities match.
11941         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
11942           prototype.
11943         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
11944           serialize from UI to DBUS.
11945         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
11946           one element.
11947         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
11948           nmu_security_serialize_wpa_eap_with_cipher(), and
11949           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
11950           serialize/deserialize the key type via DBUS as the new third DBUS
11951           parameter.
11952         * libnm-util/dbus-helpers.h: Update prototypes.
11953         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
11954           too.  If the key type is WEP104, do Dynamic WEP, which means
11955           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
11956           pairwise and group ciphers (fixes a FIXME).
11957
11958 2006-03-21  Robert Love  <rml@novell.com>
11959
11960         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
11961           nm_system_get_mtu(), which returns a user-provided or system-mandated
11962           MTU value for a given device, if any, or zero if no such value
11963           exists.  Add nm_system_set_mtu() to set the MTU for a given device
11964           if we have a provided value.
11965         * src/nm-device.c: Set the MTU of devices.
11966         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
11967         * src/backends/NetworkManagerDebian.c,
11968           src/backends/NetworkManagerGentoo.c,
11969           src/backends/NetworkManagerRedHat.c,
11970           src/backends/NetworkManagerSlackware.c: Implement stub functions.
11971
11972 2006-03-21  Robert Love  <rml@novell.com>
11973
11974         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
11975           configuration file.
11976
11977 2006-03-17  Robert Love  <rml@novell.com>
11978
11979         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
11980           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
11981           it, in case it is not running in the first place.  We just want its
11982           configuration reloaded.  Also, do not "rcypbind stop" on device down.
11983
11984 2006-03-15  Robert Love  <rml@novell.com>
11985
11986         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
11987           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
11988           label "WEP 40/128-bit" is inconsistent because the physical key size
11989           is 40 or 104-bits, to which a 24-bit initialisation vector is
11990           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
11991           to read "40/104" or "64/128".  I do not care much which, but most
11992           users think of "silver" and "gold" encryption as 64 and 128-bits, so
11993           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
11994           WEP passphrase support only handles 128-bit keys, and any future
11995           64-bit passphrase support will require a new option (no way to auto-
11996           detect the target key size), explicitly label our passphrase support
11997           "WEP 128-bit Passphrase".
11998
11999 2006-03-15  Robert Love  <rml@novell.com>
12000
12001         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
12002           the system init scripts (or some other mechanism) starting it (or a
12003           compatible DBUS service) before NetworkManager runs.  This means that
12004           distributions might need to update their init scripts.  This fixes
12005           possible races and is quite a bit cleaner.
12006         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
12007           starting the NetworkManager daemon.
12008
12009
12010 2006-03-14  Robert Love  <rml@novell.com>
12011
12012         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
12013           before adding anything.
12014
12015 2006-03-13  Robert Love  <rml@novell.com>
12016
12017         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
12018           widgets, too, if they exist, in case the user hit the back button.
12019           Fixes a bug where the details page contains the widgets of multiple
12020           VPN modules (Novell bug #157048).
12021
12022 2006-03-13  Robert Love  <rml@novell.com>
12023
12024         Patch by Timo Hoenig <thoenig@suse.de>:
12025         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
12026           daemon survive DBUS restarts, too.
12027
12028 2006-03-10  Robert Love  <rml@novell.com>
12029
12030         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
12031           passphrase or key.
12032         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12033           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
12034           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
12035           in response to "toggled" signal on new toggle.
12036
12037 2006-03-10  Robert Love  <rml@novell.com>
12038
12039         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
12040           serialization if strings are NULL, lest DBUS get angry.
12041
12042 2006-03-10  Robert Love  <rml@novell.com>
12043
12044         * src/nm-ap-security-wpa-eap.c: Don't log the password.
12045
12046 2006-03-09  Robert Love  <rml@novell.com>
12047
12048         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
12049           configurations.
12050
12051 2006-03-09  Dan Williams  <dcbw@redhat.com>
12052
12053         Track pending call requests in the applet, and report how many are
12054         outstanding, and how long each completed one takes.
12055         
12056         * gnome/applet/applet-dbus-devices.c
12057           gnome/applet/applet-dbus-vpn.c
12058                 - Track pending calls
12059
12060         * gnome/applet/applet-dbus.[ch]
12061                 - Remove some unused enums
12062                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
12063                         new functions to track dbus pending calls and spit out some
12064                         statistics about them
12065
12066 2006-03-09  Robert Love  <rml@novell.com>
12067
12068         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
12069           nm_ap_set_timestamp() take the second and micro-second parameters as
12070           direct arguments, which avoids both a dynamic memory allocation and a
12071           structure-to-structure copy!  Add a new interface, the aptly named
12072           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
12073           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
12074           the return from nm_ap_get_timestamp().  New users should use the new
12075           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
12076           the extreme benefit to performance.
12077         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
12078           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
12079
12080 2006-03-08  Robert Love  <rml@novell.com>
12081
12082         * gnome/applet/applet.glade: Hide the password entry text with
12083           asterisks.
12084
12085 2006-03-08  Robert Love  <rml@novell.com>
12086
12087         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
12088           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
12089           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
12090           a second argument, NMData.
12091         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
12092         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
12093           config files as trusted.
12094
12095 2006-03-06  Robert Love  <rml@novell.com>
12096
12097         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
12098         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
12099           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
12100           Rivera, detect if the applet was auto-started.  If so, ask the user
12101           if he or she would like to stop automatically running the applet on
12102           login.  If so, disable autostart.
12103
12104 2006-03-06  Robert Love  <rml@novell.com>
12105
12106         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
12107           directory in CFLAGS so developers can actually use NetworkManager.h.
12108
12109 2006-03-06  Robert Love  <rml@novell.com>
12110
12111         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
12112           open-coded integer constants.  Add state_to_string() to map a given
12113           state to a textual description, and provide that when notifying of
12114           state change.
12115         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
12116           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
12117           this header directly, but it is currently not installed on most
12118           systems.
12119
12120 2006-03-05  Dan Williams  <dcbw@redhat.com>
12121
12122         Process netlink messages in device subclasses rather than in
12123         NetworkManager.c.  Also add support for recognizing Wireless Events.
12124         
12125         * configure.in
12126                 - Find GLIB_GENMARSHAL
12127
12128         * src/Makefile.am
12129                 - Since we're marshalling custom types for wireless event signals,
12130                         we get to create our own marshallers using GLIB_GENMARSHAL
12131
12132         * src/NetworkManager.c
12133                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
12134                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
12135                         cut down somewhat.  We no longer process signals here.
12136                 - (nm_data_new): create the netlink monitor here, and remove a
12137                         useless call to nm_policy_schedule_device_change_check()
12138                 - (nm_data_free): get rid of the netlink monitor here
12139                 - (nm_device_link_activated, nm_device_link_deactivated): removed
12140                 - (main): don't create the netlink monitor here, let nm_data_new
12141                         do that.  Call nm_policy_schedule_device_change_check() right
12142                         before we jump to the mainloop to figure out which device
12143                         to use first
12144
12145         * src/NetworkManagerSystem.[ch]
12146                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
12147                         convert back and forth from interface names to interface
12148                         indexes
12149
12150         * src/nm-device-802-11-wireless.c
12151                 - (real_init): connect to wireless-event signals from the netlink
12152                         monitor object
12153                 - (nm_device_802_11_wireless_event): new function, schedule handler
12154                         for wireless event signals from the netlink monitor object.  We
12155                         want the handler to run in the device's context
12156                 - (wireless_event_helper): handle wireless-event signals from netlink
12157                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
12158                         signal handler
12159
12160         * src/nm-device-802-11-wireless.h
12161                 - remove unused prototype for nm_device_802_11_wireless_new
12162
12163         * src/nm-device-802-3-ethernet.c
12164                 - (real_init): new function; set up signal handlers for link events
12165                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
12166                         handler for netlink link activated events on device's main loop
12167                 - (link_activated_helper): when we get a link activated event, set
12168                         the device's link to be active
12169                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
12170                         handler for netlink link deactivated events on device's main loop
12171                 - (link_deactivated_helper): when we get a link deactivated event, set
12172                         the device's link to be inactive
12173                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
12174                         dispose
12175
12176         * src/nm-device-802-3-ethernet.h
12177                 - remove unused prototype for nm_device_802_3_ethernet_new
12178
12179         * src/nm-device.[ch]
12180                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
12181                         but locks the device list
12182                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
12183
12184         * src/nm-netlink-monitor.[ch]
12185                 - (nm_netlink_monitor_class_install_signals): New signal
12186                         "wireless-event"
12187                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12188                         at the device list
12189                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12190
12191         * src/nm-marshal-main.c
12192                 - Include generated nm-marshal.c and nm-marshal.h
12193
12194         * src/nm-marshal.list
12195                 - List of custom marshal functions
12196
12197 2006-03-05  Dan Williams  <dcbw@redhat.com>
12198
12199         * gnome/applet/applet-notifications.h
12200                 - Protect prototype of nma_send_event_notification() because it
12201                         includes libnotify-specific types
12202                 - Include libnotify/libnotify.h too, since we technically need it
12203
12204         * gnome/applet/applet.c
12205                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
12206                 - (nma_show_vpn_login_banner_dialog): add some error checking
12207
12208 2006-03-04  Dan Williams  <dcbw@redhat.com>
12209
12210         Clean up activation cancellation.  Should be a lot faster now.  Observed
12211         an issue with wireless devices between stage 2 and 3 of activation, where
12212         activation would be cancelled, but the device thread wouldn't notice until
12213         the supplicant association timed out.  Reorganize activation such that
12214         a cancellation handler gets immediately scheduled in the device's thread,
12215         and devices have a chance to perform any custom cleanup too.
12216
12217         * src/nm-device.[ch]
12218                 - (activation_cancel_handler): new device-type-specific function
12219                         for cleaning up device-type-specific stuff on cancellation
12220                 - (cancel_activation): removed
12221                 - (nm_device_activation_cancel): subsume functionality of
12222                         real_cancel_activation, but instead of doing anything, punt
12223                         operation to a handler that's run in device-thread context
12224                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
12225                         a warning message
12226                 - (activation_handle_cancel_helper): cancellation handler run in
12227                         device-thread context, calls device-type-specific cancelation,
12228                         then tears down the activation request
12229                 - (real_activation_cancel_handler): generic cancellation handler,
12230                         deals with cancelling any in-process DHCP request
12231                 - (nm_device_activate_stage1_device_prepare,
12232                    nm_device_activate_stage2_device_config,
12233                    nm_device_activate_stage3_ip_config_start,
12234                    nm_device_activate_stage4_ip_config_get,
12235                    nm_device_activate_stage4_ip_config_timeout,
12236                    nm_device_activate_stage5_ip_commit): don't call
12237                         nm_device_schedule_activation_handle_cancel() any more, since
12238                         cancellation will have been already scheduled for us by
12239                         nm_device_activation_cancel().  Just exit the function and
12240                         assume that the cancel handler will be called next.
12241
12242         * src/nm-device-802-3-ethernet.c
12243                 - (real_act_stage2_config): remove; didn't do anything anyway
12244
12245         * src/nm-device-802-11-wireless.c
12246                 - (supplicant_status_cb): ensure we don't do anything if the activation
12247                         got cancelled
12248                 - (real_activation_cancel_handler): implement; cancel user key request
12249                         on activation cancellation
12250
12251 2006-03-04  Dan Williams  <dcbw@redhat.com>
12252
12253         * src/nm-device-802-11-wireless.c
12254                 - (supplicant_send_network_config): assume that drivers that don't
12255                         support WPA pretty much suck, and can't handle NM scanning
12256                         along with wpa_supplicant.
12257
12258 2006-03-03  Robert Love  <rml@novell.com>
12259
12260         * configure.in: Bump version to 0.6.0.
12261         * NEWS: Update.
12262
12263 2006-03-03  Robert Love  <rml@novell.com>
12264
12265         * configure.in: Require DBUS 0.60 or later.
12266
12267 2006-03-03  Dan Williams  <dcbw@redhat.com>
12268
12269         Fix a crash if an "Other wireless network" was chosen, failed, then
12270         chosen again from the applet's menu.  If the other network wasn't
12271         noticed in a scan, it wouldn't have any capabilities, but would still
12272         be listed because the user forced the network.  To fix this, we set
12273         sensible capabilities on the forced network, which will get overwritten
12274         with the correct ones if the network shows up later in a scan.
12275         
12276         * src/nm-ap-security.h
12277                 - Add a new "get_default_capabilities_func" member to the
12278                         NMAPSecurity class
12279
12280         * src/nm-ap-security.c
12281                 - (nm_ap_security_get_default_capabilities): new function
12282
12283         * src/nm-ap-security.c
12284           src/nm-ap-security-wep.c
12285           src/nm-ap-security-wpa-psk.c
12286           src/nm-ap-security-wpa-eap.c
12287                 - Implement get_default_capabilities_func() for all, which
12288                         uses the information contained in a specific NMAPSecurity
12289                         object to determine default AP capabilites necessary
12290                         to support that object
12291
12292         As a secondary measure, we now prune artificial access points that fail
12293         to be activated right away.  The thing failed, and we have no scan data for
12294         it, so it's pretty much useless since security information is only saved
12295         in the applets when a connection is successful.
12296
12297         * src/NetworkManagerAPList.c
12298                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
12299                         not artificial.  If we see it, it's no longer a figment of the
12300                         user's imagination :)
12301
12302         * src/NetworkManagerPolicy.c
12303                 - (nm_policy_activation_failed): send along the failed AP if we
12304                         have it
12305
12306         * src/nm-device-802-11-wireless.c
12307                 - (real_activation_failure_handler): remove artificial APs from
12308                         the device list, because activation failed
12309
12310 2006-03-02  Robert Love  <rml@novell.com>
12311
12312         Add support for retrieving both the per-device speed and the
12313         per-network maximum supported rate.  Then change the getProperties
12314         DBUS API for both networks and devices to report this informaiton.
12315         Finally, display the information via both nm-applet and nm-tool:
12316         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
12317           and set it.
12318         * gnome/applet/applet.c: Display the device's speed in the 'Connection
12319           Information' dialog.
12320         * gnome/applet/applet.glade: Update the UI to show per-device speed.
12321         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
12322           network_device_get_speed() and network_device_set_speed() for
12323           retrieving and setting, respectively, a network device's current
12324           speed.
12325         * src/nm-dbus-device.c: Send the device's speed on getProperties.
12326         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
12327           in the function nm_device_802_11_wireless_get_bitrate() -- it does
12328           not matter (yet) what the units are, because we only feed it its own
12329           output.  Implement SIOCGIRATE and set the per-network maximum
12330           supported rate during scanning.
12331         * src/nm-device-802-11-wireless.h: Export the function
12332           nm_device_802_11_wireless_get_bitrate().
12333         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
12334           function nm_device_802_3_ethernet_get_speed() for returning an
12335           802.3's current speed, in Mb/s.
12336         * test/nm-tool.c: Display the per-device current speed, if available,
12337           and the per-network maximum rate.
12338
12339 2006-03-02  Dan Williams  <dcbw@redhat.com>
12340
12341         * src/nm-device-802-11-wireless.c
12342                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
12343                         card when it gets initialized.  Since devices don't get added to
12344                         the scan list until they are initialized, this function wasn't
12345                         setting the intitial scan interval correctly, and was leaving
12346                         it at 0.  This caused cards to get many scan requests in a short
12347                         amount of time when they were initialized
12348
12349 2006-03-02  Robert Love  <rml@novell.com>
12350
12351         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
12352           active device.  But do not do what we used to do and override the
12353           state, which caused the dreaded icon race of '05.
12354
12355 2006-03-02  Robert Love  <rml@novell.com>
12356
12357         Commit Dan's update of my previous commit:
12358         * src/nm-device-802-11-wireless.c: Always set the mode, because the
12359           set_mode() function itself does the check.  But do only set the
12360           frequency if in Ad-Hoc mode.
12361
12362 2006-03-02  Robert Love  <rml@novell.com>
12363
12364         Patch by Brian Magnuson <magnuson@rcn.com>:
12365         * src/nm-device-802-11-wireless.c: During scanning, only set the
12366           wireless mode to infrastructure if it is not currently in
12367           infrastructure mode.  For some driver, setting the mode is a costly
12368           operation, apparently.
12369
12370 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
12371
12372         * Makefile.am: use the correct dir for autostart mechanism.
12373
12374 2006-02-28  Dan Williams  <dcbw@redhat.com>
12375
12376         Patch from Brian Magnuson <magnuson@rcn.com>
12377         * gnome/applet/applet.c
12378                 - (nma_show_vpn_failure_dialog): fix errors left over from
12379                         libnotify support changes
12380
12381 2006-02-28  Dan Williams  <dcbw@redhat.com>
12382
12383         * src/vpn-manager/nm-vpn-act-request.[ch]
12384                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
12385                         just one value
12386                 - (nm_vpn_act_request_is_failed): new function; return whether or
12387                         not the vpn activation request has failed
12388
12389         * src/vpn-manager/nm-vpn-manager.c 
12390                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
12391                         daemon to kill the connection when the activation request fails.
12392                         Fixes issue where NM would get confused if the VPN activation
12393                         request timed out, and would not allow further VPN connections
12394                         on that service.
12395
12396 2006-02-28  Dan Williams  <dcbw@redhat.com>
12397
12398         * gnome/applet/applet.c
12399                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
12400                         overlapping connection requests, disable all VPN menu items
12401                         but the active VPN connection
12402
12403 2006-02-28  Dan Williams  <dcbw@redhat.com>
12404
12405         * src/vpn-manager/nm-vpn-connection.c
12406                 - (nm_vpn_connection_set_parent_device): fix C&P error which
12407                         called g_object_unref() on the connection's parent device
12408                         when it should have been ref-ed instead.  Fixes crash with
12409                         repeated vpn connect requests
12410
12411 2006-02-28  Christopher Aillon  <caillon@redhat.com>
12412
12413         * gnome/applet/applet.glade:
12414         Mark a few strings non-translatable, since they shouldn't be.
12415
12416 2006-02-28  Dan Williams  <dcbw@redhat.com>
12417
12418         * src/vpn-manager/nm-vpn-service.c
12419                 - (nm_vpn_service_start_connection): if the vpn service daemon is
12420                         already running, don't blindly ask it to connect, but wait until
12421                         it's in the STOPPED state first.  Fixes an assertion when user
12422                         starts a second vpn connection without stopping the first.
12423                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
12424                         dbus service exists before continuing with the connection
12425                         process, and reduce latency while waiting for it to become
12426                         available
12427                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
12428                         waiting for the vpn service daemon to become available
12429                 - General log message cleanups; show progress via "Stage x of 4"
12430                         rather than not telling anyone how many stages there are
12431
12432 2006-02-28  Robert Love  <rml@novell.com>
12433
12434         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
12435         * src/backends/NetworkManagerSuSE.c: Implement the interface
12436           nm_system_should_modify_resolv_conf() for SUSE.
12437         * src/backends/NetworkManagerDebian.c,
12438           src/backends/NetworkManagerGentoo.c,
12439           src/backends/NetworkManagerRedHat.c,
12440           src/backends/NetworkManagerSlackware.c: Add stub.
12441         * src/named-manager/Makefile.am: Grab includes from src.
12442         * src/named-manager/nm-named-manager.c: Allow backends to disable the
12443           automatic updating of resolv.conf.  This is useful for testing,
12444           broken static configurations, and administrator lock-down.
12445
12446 2006-02-28  Dan Williams  <dcbw@redhat.com>
12447
12448         * src/nm-device-802-11-wireless.c
12449                 - Move all the wpa_supplicant-related management stuff into its
12450                         own struct, just for oranization's sake
12451                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
12452                         to a GIOChannel/GSource
12453                 - (supplicant_log_stdout): new function; grab output from the
12454                         wpa_supplicant stdout pipe and write it to our logs.
12455
12456 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12457
12458         * src/nm-device-802-11-wireless.c:
12459         Err, fix thinko in my previous commit.
12460
12461 2006-02-28  Robert Love  <rml@novell.com>
12462
12463         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
12464
12465 2006-02-28  Robert Love  <rml@novell.com>
12466
12467         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
12468           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
12469           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
12470           deserializers are responsible for freeing the returned DBUS strings.
12471
12472 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12473
12474         * src/nm-device-802-11-wireless.c:
12475         The scan list is being pruned prematurely.  We should prune after
12476         the device has gone MIA for three scans, not one.  Split out the
12477         interval to realtime seconds function to better serve this.
12478
12479 2006-02-27  Robert Love  <rml@novell.com>
12480
12481         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
12482           Open the pid file O_TRUNC, so if it already exists we truncate it to
12483           zero length.  Also, be more verbose about warnings generated during
12484           writing out the pid file.  Finally, always write out the pid file if
12485           in daemon mode.  Use "--pid-file" to override the default.
12486
12487 2006-02-27  Robert Love  <rml@novell.com>
12488
12489         Patch by R. Vinay <rvinay@novell.com>:
12490         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
12491           'last_attempt_success' when removing a VPN connection, too.  (Fixes
12492           Novell bug #153628).
12493           
12494 2006-02-27  Robert Love  <rml@novell.com>
12495
12496         * gnome/applet/applet.glade: Set "activates_default" on passphrase
12497           entry so user can hit <ENTER> after entering passphrase (Novell bug
12498           #153738).
12499
12500 2006-02-27  Dan Williams  <dcbw@redhat.com>
12501
12502         * gnome/applet/*
12503                 - Mass search/replace of:
12504                         nmwa -> nma
12505                         NMWirelessApplet -> NMApplet
12506                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
12507                    (it ain't just for wireless anymore, ma!)
12508                 - Fix duplicate function name printing when using nm_warning
12509                 - wireless-applet.glade -> applet.glade
12510
12511 2006-02-27  Dan Williams  <dcbw@redhat.com>
12512
12513         * dispatcher-daemon/NetworkManagerDispatcher.c
12514                 - Accept --pid-file with a path to a pidfile, write it out on
12515                         startup, and delete it on shutdown
12516
12517         * src/NetworkManager.c
12518                 - Accept --pid-file with a path to a pidfile, write it out on
12519                         startup, and delete it on shutdown
12520                 - Move nm_print_usage() lower
12521
12522         * initscripts/RedHat/NetworkManager.in
12523                 - Use new --pid-file option
12524                 - Fix service stopping to wait a bit for NM to quit
12525
12526         * initscripts/RedHat/NetworkManagerDispatcher.in
12527                 - Use new --pid-file option
12528
12529 2006-02-26  Dan Williams  <dcbw@redhat.com>
12530
12531         * src/Makefile.am
12532                 - make and install nm-crash-logger
12533
12534         * src/nm-logging.[ch]
12535                 - New files; consolidate logging and crash handling
12536
12537         * src/nm-crash-logger.c
12538           src/gdb-cmd
12539                 - Standalong crashlogger for NM, grab a backtrace
12540                         using GDB
12541
12542         * src/NetworkManager.[ch]
12543                 - Remove signal handling and put it into nm-logging.c
12544
12545 2006-02-26  Dan Williams  <dcbw@redhat.com>
12546
12547         * configure.in
12548           gnome/applet/Makefile.am
12549                 - Conditionalize all the notify stuff
12550
12551         Merge most of Chris Aillon's notification patch:
12552         
12553         * gnome/applet/applet-notifications.[ch]
12554                 - New files; show a notification
12555         
12556         * gnome/applet/applet-dbus-devices.[ch]
12557                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
12558                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
12559                         new functions, do the right thing when a device change occurs
12560
12561         * gnome/applet/applet-dbus.c
12562                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
12563                         signals, so we can handle them specially
12564
12565         * gnome/applet/applet.[ch]
12566                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
12567                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
12568                 - (nmwa_notify_state): remove
12569                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
12570                         notification work is now done when the appropriate dbus signals
12571                         are received.
12572                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
12573                         defer execution of the notification/dialog stuff.  That was an
12574                         artifact of the previous multi-threaded nature of the applet
12575                         and is now pointless.
12576                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
12577                         no longer needed.  Function folded into applet-notifications.c
12578
12579         * src/NetworkManagerPolicy.c
12580                 - (nm_policy_activation_finish): send the AP along with the device
12581                         status change signal, if the connection is wireless.  Should
12582                         fix the race where applet would show a connection to "unknown"
12583
12584 2006-02-25  Robert Love  <rml@novell.com>
12585
12586         Add WPA Enterprise support:
12587         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
12588           nm-gconf-wso-wpa-eap.h.
12589         * gnome/applet/nm-gconf-wso-wpa-eap.c,
12590           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
12591           serialization and deserialization.
12592         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
12593           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
12594           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
12595         * gnome/applet/wireless-applet.glade: Add UI for configurating security
12596           settings related to WPA Enterprise.
12597         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
12598           instantiate WPA Enterprise wireless-security-option.
12599         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
12600           Implement WPA Enterprise wireless-security-option object.
12601         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
12602           defines.  Cleanup.
12603         * libnm-util/cipher-wpa-psk-hex.c,
12604           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
12605         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
12606           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
12607           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
12608           including the cipher to DBUS method, and
12609           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
12610           to output.
12611         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
12612           nm-ap-security-wpa-eap.h
12613         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
12614           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
12615         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
12616           files.  Implement NMAPSecurityWPA_EAP object.
12617         * src/nm-ap-security-wpa-psk.c: Cleanup.
12618         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
12619           an NMAPSecurityWPA_EAP object via the method
12620           nm_ap_security_wpa_eap_new_deserialize().
12621         * src/nm-dbus-nm.c: Cleanup.
12622         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
12623           WPA Enterprise support.
12624
12625 2006-02-24  Robert Love  <rml@novell.com>
12626
12627         Patch from Timo Hoenig <thoenig@suse.de>:
12628         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
12629
12630 2006-02-24  Robert Love  <rml@novell.com>
12631
12632         Patch from Dan Winship <danw@novell.com>:
12633         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
12634           area to transparent.
12635
12636 2006-02-21  Dan Williams  <dcbw@redhat.com>
12637
12638         * gnome/applet/applet.[ch]
12639           gnome/applet/applet-dbus.c
12640                 - Implement notification support for VPN messages too
12641
12642 2006-02-21  Dan Williams  <dcbw@redhat.com>
12643
12644         * gnome/applet/applet-dbus-info.c
12645                 - Clean up warning messages to not double-print the function
12646
12647 2006-02-21  Dan Williams  <dcbw@redhat.com>
12648
12649         * gnome/applet/applet-compat.c
12650                 - (convert_one_entry): accept entries without a key_type and
12651                         convert them to unencrypted networks
12652
12653 2006-02-21  Dan Williams  <dcbw@redhat.com>
12654
12655         * gnome/libnm_glib/libnm_glib.c
12656                 - Use __func__ everywhere we can
12657                 - Code cleanups
12658                 - Use dbus pending calls rather than blocking
12659                 - Reduce busywaits for our thread to start and stop
12660                         (gnome.org #330562)
12661                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
12662                         stomp on others using the default shared dbus connection.
12663                         Fixes #rh177546# and gnome.org #326572
12664
12665 2006-02-21  Dan Williams  <dcbw@redhat.com>
12666
12667         Patch from Rodney Dawes <dobey@novell.com>
12668         * configure.in
12669           gnome/applet/Makefile.am
12670           gnome/applet/applet.c
12671                 - Add libnotify support if '--enable-notify=yes' is passed
12672                   at configure time
12673
12674 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
12675
12676         * configure.in (ALL_LINGUAS): ko added. (Korean)
12677
12678 2006-02-15  Robert Love  <rml@novell.com>
12679
12680         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
12681           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
12682           and WPA_SUPPLICANT_CONTROL_SOCKET.
12683         
12684 2006-02-15  Robert Love  <rml@novell.com>
12685
12686         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
12687           information about what connection stage we are at, provide the total
12688           number of stages, e.g. "Stage 2 of 5", so users know how far along
12689           they are if they experience problems.
12690
12691 2006-02-15  Robert Love  <rml@novell.com>
12692
12693         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
12694           define to $sysconfdir.
12695         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
12696           editing dialog, vpn_edit_widget, which fixes a bug where editing one
12697           type of VPN and then editing another results in a mangled dialog
12698           box containing the widgets from both VPNs (fixes Novell #150854).
12699           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
12700
12701 2006-02-14  Robert Love  <rml@novell.com>
12702
12703         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
12704           syslog's file descriptor.
12705
12706 2006-02-14  Robert Love  <rml@novell.com>
12707
12708         Fix bug around since the change to "deal with APs changing settings on
12709         us," checked in on the fifth of February in the year of the dog, 
12710         wherein connecting to non-broadcast encrypted networks always fails
12711         because nm_ap_get_encrypted() always returns FALSE, even when the user
12712         provided a key, because the newly-created fake AP does not have any
12713         capabilities set, which is a sypmtom of security settings not matching
12714         capabilities (Novell bug #150784):
12715         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
12716           nm_ap_add_capabilities_from_security(), which sets the given AP's
12717           capabilities off the given security settings.  Also improve our
12718           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
12719           NM_AUTH_CIPHER_AUTO.
12720         * src/nm-device-802-11-wireless.c: Call the function
12721           nm_ap_add_capabilities_from_security() to ensure that capabilities
12722           match newly updated security settings.
12723
12724 2006-02-14  Robert Love  <rml@novell.com>
12725
12726         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
12727           error as a string, not an integer, if possible; do not print the
12728           function name twice; always give the interface, if possible; misc.
12729           cleanup.
12730
12731 2006-02-12  Dan Williams  <dcbw@redhat.com>
12732
12733         Patch from Tom Parker <palfrey@tevp.net>
12734         * src/NetworkManagerSystem.h
12735                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
12736                         no longer used
12737
12738         * src/backends/NetworkManagerDebian.c
12739                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
12740                         unused variables
12741
12742 2006-02-12  Dan Williams  <dcbw@redhat.com>
12743
12744         * vpn-daemons/openvpn/intltool-extract.in
12745           vpn-daemons/openvpn/intltool-merge.in
12746           vpn-daemons/openvpn/intltool-update.in
12747           vpn-daemons/pptp/intltool-extract.in
12748           vpn-daemons/pptp/intltool-merge.in
12749           vpn-daemons/pptp/intltool-update.in
12750                 - Remove from CVS, they should get created by intltoolize,
12751                         shouldn't they?
12752
12753 2006-02-12  Dan Williams  <dcbw@redhat.com>
12754
12755         * vpn-daemons/pptp/src/pppd/patchlevel.h
12756         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
12757                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
12758                         Makefile-defined VERSION
12759
12760 2006-02-09  Dan Williams  <dcbw@redhat.com>
12761
12762         Patch from: Vinay A R <rvinay@novell.com>
12763         * src/vpn-manager/nm-vpn-act-request.[ch]
12764                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
12765                         IPSec VPNs require them for std gateway.
12766                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
12767                         and 'user_routes_count'
12768                 - (nm_vpn_act_request_get_user_routes): new function; gets user
12769                         defined routes  from NMVPNActRequest object, returns the string
12770                         array of routes.
12771
12772         * src/vpn-manager/nm-vpn-manager.[ch]
12773                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
12774                         for 'user_routes' and 'user_routes_count'
12775         
12776         * src/vpn-manager/nm-dbus-vpn.c
12777                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
12778                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
12779         
12780         * src/vpn-manager/nm-vpn-service.c
12781                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
12782                         the vpn daemon
12783
12784         Modifications by Dan:
12785         * src/vpn-manager/nm-vpn-service.c
12786                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
12787                         arrays into dbus
12788
12789         * vpn-daemons/vpnc/src/nm-vpnc-service.c
12790         * vpn-daemons/pptp/src/nm-pptp-service.c
12791         * vpn-daemons/openvpn/src/nm-openvpn-service.c
12792                 - Grab user routes from dbus message
12793                 - Free all string arrays we got from dbus
12794
12795 2006-02-07  Robert Love  <rml@novell.com>
12796
12797         Patch by Stefan Seyfried <seife@suse.de>:
12798         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
12799
12800 2006-02-06  Robert Love  <rml@novell.com>
12801
12802         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
12803
12804 2006-02-06  Robert Love  <rml@novell.com>
12805
12806         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
12807           test ">=" is never false.  If no newline is found, we loop forever.
12808           We can just check for ">" because the following if() will see the
12809           zero-th argument if the while() gets that far.
12810
12811 2006-02-05  Dan Williams  <dcbw@redhat.com>
12812
12813         Refine handling of non-broadcast networks.
12814
12815         * src/NetworkManagerAPList.c
12816                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
12817                         property from scanned AP to the AP from the device list
12818
12819         * src/nm-device-802-11-wireless.c
12820                 - (supplicant_send_network_config): use ap_scan=1 for all networks
12821                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
12822                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
12823                         networks since those don't have APs.
12824                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
12825                         AP as non-SSID-broadcasting
12826                 - (process_scan_results): don't handle non-SSID-broadcasting here
12827
12828 2006-02-05  Dan Williams  <dcbw@redhat.com>
12829
12830         * src/nm-device-802-11-wireless.c
12831                 - (get_supplicant_timeout): new function; return
12832                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
12833                         14 channels.  These are likely a/b/g cards, like Atheros, and
12834                         slow as hell to scan.
12835                 - (supplicant_timeout_cb, supplicant_monitor_start): use
12836                         get_supplicant_timeout()
12837
12838 2006-02-05  Dan Williams  <dcbw@redhat.com>
12839
12840         * src/dhcp-manager/nm-dhcp-manager.c
12841                 - Loose a commit race with Robert; make sure size check
12842                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
12843
12844 2006-02-05  Robert Love  <rml@novell.com>
12845
12846         Patch by Christoph Brill <chrisbrill@gmx.net>:
12847         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
12848           with DHCP_SERVICE_NAME.
12849
12850 2006-02-05  Dan Williams  <dcbw@redhat.com>
12851
12852         Remove anything having to do with device_setup_func from the
12853         AP security objects, since it's no longer used.
12854
12855         * src/nm-ap-security.h
12856                 - Kill device_setup_func and nm_ap_security_device_setup()
12857
12858         * src/nm-ap-security-wep.c
12859           src/nm-ap-security-wpa-psk.c
12860                 - (real_device_setup): remove
12861
12862         * src/nm-ap-security.c
12863                 - (real_device_setup): remove
12864                 - (nm_ap_security_device_setup): remove
12865
12866         * src/nm-device-802-11-wireless.[ch]
12867                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
12868                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
12869                         and done by wpa_supplicant now anyway
12870
12871 2006-02-05  Dan Williams  <dcbw@redhat.com>
12872
12873         * src/nm-device-802-11-wireless.c
12874                 - (ap_need_key, real_act_stage2_config): deal with APs changing
12875                         settings on us.  Previously NM would loop asking for the
12876                         key but getting the same one back.  Now, if the NMI-supplied
12877                         cipher doesn't overlap with the scanned AP capabilities,
12878                         we request a completely new key from the user.
12879
12880 2006-02-05  Dan Williams  <dcbw@redhat.com>
12881
12882         * src/NetworkManagerUtils.c
12883                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
12884                         Handle newline killing better
12885
12886 2006-02-05  Dan Williams  <dcbw@redhat.com>
12887
12888         * gnome/applet/nm-gconf-wso.c
12889                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
12890                         of unencrypted access point security info.
12891
12892 2006-02-03  Robert Love  <rml@novell.com>
12893
12894         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
12895           user's encryption key, so we print the err_msg_cmd not the command,
12896           if available.  So long as SUPPLICANT_DEBUG is default, this makes
12897           sense.
12898
12899 2006-02-03  Christopher Aillon  <caillon@redhat.com>
12900
12901         * initscript/RedHat/NetworkManagerDispatcher.in:
12902         * initscript/RedHat/NetworkManager.in: modify the pidfile location
12903         Patch from Dan Walsh <dwalsh@redhat.com>
12904
12905 2006-02-03  Robert Love  <rml@novell.com>
12906
12907         * dispatcher-daemon/NetworkManagerDispatcher.c,
12908           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
12909           but use the sysconfdir.
12910
12911 2006-02-03  Robert Love  <rml@novell.com>
12912
12913         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
12914           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
12915           'char *'.
12916         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
12917           nm_ip4_config_get_hostname() and
12918           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
12919         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
12920           leak g_strdup() result.
12921
12922 2006-02-03  Robert Love  <rml@novell.com>
12923
12924         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
12925           broadcast == TRUE.  Also, copy broadcast and artificial properties
12926           from source network to destination in nm_ap_copy().
12927         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
12928           since we now default new networks to non-hidden.
12929
12930 2006-02-03  Dan Williams  <dcbw@redhat.com>
12931
12932         * gnome/applet/main.c
12933                 - (main): change the NEVER->ALWAYS so we start at the
12934                         beginning of the session, if being session-managed
12935
12936 2006-02-03  Dan Williams  <dcbw@redhat.com>
12937
12938         * gnome/applet/main.c
12939                 - (main): in a variation on Robert's patch, change
12940                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
12941                         he wants.
12942
12943 2006-02-02  Robert Love  <rml@novell.com>
12944
12945         * src/Makefile.am: If we aren't going to create the run directory at,
12946           uh, run-time, create it during install.  Then users just doing
12947           'make install' are cool, too.  While we are here, create the
12948           dispatcher.d directory, too.
12949         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
12950           the exact run directory.
12951         * Makefile.am: Install nm-applet.desktop.
12952
12953 2006-02-02  Robert Love  <rml@novell.com>
12954
12955         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
12956           structure, which denotes whether or not the AP is hidden.  This is a
12957           superset of 'artificial' -- we need 'broadcast' because a hidden AP
12958           can show up in the scan list.  Add nm_ap_get_broadcast() and
12959           nm_ap_set_broadcast() accessor interfaces.
12960         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
12961           nm_ap_set_broadcast().
12962         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
12963           "getProperties" method, which denotes whether or not the given
12964           network is hidden.
12965         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
12966           an artificial network.  Set broadcast to TRUE when scanning returns
12967           an ESSID and FALSE when not.
12968         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
12969           from "getProperties" method on a network.  Possible TODO is to
12970           somehow display this.
12971         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
12972
12973 2006-02-02  Dan Williams  <dcbw@redhat.com>
12974
12975         * src/nm-device-802-11-wireless.c
12976                 - (supplicant_interface_init): don't try to create
12977                         /var/run/NetworkManager, since that should be done by
12978                         the distro package.  Causes problems for stuff like SELinux
12979
12980 2006-02-02  Robert Love  <rml@novell.com>
12981
12982         Patch by Sureshkumar T <tsureshkumar@novell.com>:
12983         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
12984           Check for and handle empty string for iface.
12985
12986 2006-02-01  Robert Love  <rml@novell.com>
12987
12988         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
12989           manpage.
12990
12991 2006-01-31  Dan Williams  <dcbw@redhat.com>
12992
12993         * nm-applet.desktop
12994                 - Add --sm-disable to Exec arguments, presuming that when
12995                         using autostart, we don't want session management
12996
12997 2006-01-31  Robert Love  <rml@novell.com>
12998
12999         * src/NetworkManagerAP.c: Add two new manufacturer default network
13000           names: linksys-a and linksys-g.  These are found (at least) on the
13001           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
13002           own ESSID.
13003
13004 2006-01-31  Robert Love  <rml@novell.com>
13005
13006         * src/NetworkManagerAP.c: Optimize the function
13007           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
13008           machine code.  This is the first in a series of code tweaks aiming to
13009           generate better machine code and make NetworkManager all the better.
13010           Just kidding.  Who has time to go through the assembly generated for
13011           every function?  I certainly don't.  I have a wife, a kid, a job,
13012           a mortgage, a mistress.  But this function was so bad, I was called
13013           to arms.  Like the book.
13014
13015 2006-01-31  Robert Love  <rml@novell.com>
13016
13017         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
13018           AP is not broadcasting, to scan with probe request frames.  Required
13019           for non-broadcast networks.
13020
13021 2006-01-31  Robert Love  <rml@novell.com>
13022
13023         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
13024           preprocessor define (still 20s).  Fix message text in nm_info()
13025           s/too too/took too/.
13026
13027 2006-01-30  Dan Williams  <dcbw@redhat.com>
13028
13029         * src/nm-device-802-11-wireless.c
13030                 - (supplicant_monitor_start): increase connect/auth timeout to
13031                         20 seconds from 10 seconds
13032
13033 2006-01-30  Dan Williams  <dcbw@redhat.com>
13034
13035         * src/Makefile.am
13036                 - Define LOCALSTATEDIR
13037
13038         * src/nm-device-802-11-wireless.c
13039                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
13040                         socket where we want it to
13041
13042         * src/wpa_ctrl.[ch]
13043                 - (wpa_ctrl_open): accept location to put local control socket
13044
13045 2006-01-30  Robert Love  <rml@novell.com>
13046
13047         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
13048           get_ip4_string() for "domain_name".
13049
13050 2006-01-30  Robert Love  <rml@novell.com>
13051
13052         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13053           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
13054           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
13055           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
13056           support for "Automatic" pairwise and group cipher configuration by
13057           letting wpa_supplicant handle the details.  Add UI elements, new
13058           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
13059           charm.  Note this does more than add a nice feature, it fixes a bug.
13060           Apparently, some people have AP's where the pairwise cipher does not
13061           match the group cipher.  Insane, but true.
13062
13063 2006-01-30  Dan Williams  <dcbw@redhat.com>
13064
13065         * gnome/applet/applet-dbus-devices.c
13066                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
13067                         functions, grab device driver name from NetworkManager
13068                 - (nmwa_dbus_device_properties_cb): call functions to get driver
13069
13070         * gnome/applet/applet.c
13071                 - (nmwa_update_info): show driver name in Connection Information
13072                         dialog
13073
13074         * gnome/applet/nm-device.[ch]
13075                 - (network_device_get_driver, network_device_set_driver): add
13076                         accessors for driver name
13077
13078         * gnome/applet/wireless-applet.glade
13079                 - Add line for driver name to Connection Information dialog
13080
13081         * src/nm-dbus-device.c
13082                 - (nm_dbus_device_get_driver): new function to return driver name
13083                 - (nm_dbus_device_methods): hook up driver name function to dbus
13084
13085         * test/nm-tool.c
13086                 - (get_driver_name): new function
13087                 - (detail_device): grab and show driver name
13088
13089 2006-01-30  Robert Love  <rml@novell.com>
13090
13091         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
13092           does not parse the markup if it is not part of the format.
13093
13094 2006-01-30  Robert Love  <rml@novell.com>
13095
13096         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
13097           FALSE, we have no security options for this dialog, so we throw up
13098           an error dialog instead of a broken passphrase dialog.  Fixes
13099           Novell #138404.
13100         * gnome/applet/wireless-security-manager.c,
13101           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
13102           does not add any security options, not even NONE, print a warning
13103           and return FALSE.  This let's functions constructing a dialog bail
13104           out if the device's capabilities and the network's requirements have
13105           zero overlap.
13106
13107 2006-01-27  Robert Love  <rml@novell.com>
13108
13109         * configure.in: Require wpa_supplicant.  Detect location of binary and
13110           use it.  Override with "--with-wpa_supplicant=foo".
13111         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
13112           path to wpa_supplicant but use the auto-detected or user-provided
13113           value from configure.
13114
13115 2006-01-27  Robert Love  <rml@novell.com>
13116
13117         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
13118           but the DHCP server did not return a hostname, try to look up our
13119           name via DNS and set the system hostname to that.
13120
13121 2006-01-27  Dan Williams  <dcbw@redhat.com>
13122
13123         * src/backends/NetworkManagerRedHat.c
13124                 - Add NM_CONTROLLED system network script support for RH/Fedora
13125
13126 2006-01-27  Dan Williams  <dcbw@redhat.com>
13127
13128         * src/backends/NetworkManagerGentoo.c
13129                 - (nm_system_device_get_disabled): add missing function.
13130                         Gnome BZ #328780
13131
13132 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
13133
13134         * configure.in: Added vi in ALL_LINGUAS line.
13135         
13136 2006-01-26  Robert Love  <rml@novell.com>
13137
13138         * src/Makefile.am, src/kernel-types.h: Now that two different source
13139           files are feeling the crack-addled leakage of kernel types such as
13140           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
13141           types in user-space -- define a header and include it as needed.
13142         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
13143         * src/nm-device-802-3-ethernet.h: Remove defines.
13144         * src/wpa.c: Remove defines and include kernel-types.h.
13145
13146 2006-01-26  Robert Love  <rml@novell.com>
13147
13148         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
13149           work.
13150
13151 2006-01-26  Robert Love  <rml@novell.com>
13152
13153         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
13154         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
13155           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
13156           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
13157           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13158           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
13159           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
13160           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
13161           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
13162           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
13163           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
13164           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
13165           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
13166           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
13167           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
13168           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
13169           Kill unused variables, labels, and static functions.  Don't pass
13170           string literals as the format string for printf-like functions.
13171
13172 2006-01-25  Dan Williams  <dcbw@redhat.com>
13173
13174         * gnome/applet/wireless-applet.glade
13175                 - Remove WPA2 Checkbox
13176
13177         * gnome/applet/wireless-security-manager.c
13178                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
13179                         This means the Wireless Security menu now has two WPA options,
13180                         one for "WPA Personal" and one for "WPA2 Personal"
13181
13182         * gnome/applet/wso-wpa-psk.[ch]
13183                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
13184                         'wpa2' argument to determine WPA version to use
13185                 - (append_dbus_params_func): pass stored WPA version to cipher
13186                         rather than using the (removed) checkbox
13187
13188 2006-01-24  Robert Love  <rml@novell.com>
13189
13190         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13191           before we g_strdup(), not the ultimate string.
13192
13193 2006-01-23  Dan Williams  <dcbw@redhat.com>
13194
13195         * src/NetworkManagerAP.[ch]
13196                 - (nm_ap_new_from_ap): copy original essid too
13197                 - (nm_ap_unref): free original essid
13198                 - (nm_ap_get_orig_essid): new function
13199                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
13200                         but keep original essid around too
13201
13202         * src/nm-device-802-11-wireless.c
13203                 - (supplicant_send_network_config): send wpa_supplicant the
13204                         _original_ essid, and not as a string, but in hex.  Should
13205                         allow us to connect to more APs that use wierd character
13206                         encodings for their essids
13207
13208         * utils/nm-utils.[ch]
13209                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
13210                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
13211                         use the current locale as a hint for what encoding the essid
13212                         might be in.  Obviously not 100% accurate, but the idea here is
13213                         that if a user's locale is ex. ja_JP, they are more likely than
13214                         not to be in Japan, where access points will likely be in some
13215                         Japanese encoding.
13216
13217 2006-01-23  Dan Williams  <dcbw@redhat.com>
13218
13219         * libnm-util/cipher-private.h
13220           libnm-util/cipher.c
13221           libnm-util/cipher.h
13222                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
13223
13224 2006-01-23  Robert Love  <rml@novell.com>
13225
13226         Patch by Timo Hoenig <thoenig@suse.de>:
13227         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
13228           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
13229           by DHCP and pass it to the backends, allowing distribution-specific
13230           behavior with respect to the DHCP-supplied hostname (if nothing else,
13231           some distributions might not want to set the hostname).
13232         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
13233           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
13234           Also update our NIS behavior.
13235         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
13236           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
13237           Add stub functions.
13238
13239 2006-01-23  Robert Love  <rml@novell.com>
13240
13241         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
13242           gnome-session does autostart.  TODO: We need to install this to
13243           $prefix/share/autostart/.
13244
13245 2006-01-22  Dan Williams  <dcbw@redhat.com>
13246
13247         * src/NetworkManagerAP.[ch]
13248           src/nm-dbus-nmi.c
13249           src/nm-device-802-11-wireless.c         
13250                 - Make nm_ap_get_essid return "const char *"
13251
13252 2006-01-22  Dan Williams  <dcbw@redhat.com>
13253
13254         * src/NetworkManagerAP.[ch]
13255                 - (nm_ap_get_matched, nm_ap_set_matched): remove
13256
13257         * src/NetworkManagerAPList.[ch]
13258                 - (nm_ap_list_diff): removed
13259                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
13260                         deal with access points changing essids on us
13261
13262         * src/nm-device-802-11-wireless.c
13263                 - (add_new_ap_to_device_list): move AP dbus signal logic to
13264                         src/NetworkManagerAPList.c
13265                 - (real_can_interrupt_activation): new function; allow interruption
13266                         of device activation if we are waiting for a network key
13267
13268         * src/NetworkManagerPolicy.c
13269                 - (nm_policy_device_change_check): allow interruption of currently
13270                         activating devices if the device allows it.  Previous behavior
13271                         would refuse to activate a just-plugged wired device if a
13272                         wireless device was waiting for a key.
13273
13274         * src/nm-device.[ch]
13275                 - (nm_device_can_interrupt_activation): new function; ask devices
13276                         whether their activation can be interrupted
13277
13278 2006-01-20  Robert Love  <rml@novell.com>
13279
13280         * Makefile.am, configure.in: Add new man subdirectory.
13281         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
13282           man/Makefile.am: Add man pages for NetworkManager and its
13283           crime-solving bumbling buddy, NetworkManagerDispatcher.
13284         * man/.cvsignore: Add.
13285         * initscript/Debian/NetworkManager,
13286           initscript/Gentoo/NetworkManager.in,
13287           initscript/RedHat/NetworkManager.in,
13288           initscript/RedHat/NetworkManagerDispatcher.in,
13289           initscript/SUSE/networkmanager-dispatcher.in,
13290           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
13291
13292 2006-01-20  Robert Love  <rml@novell.com>
13293
13294         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
13295           instead of queuing.  This prevents the running of multiple NM
13296           daemons concurrently, which does not work whatsoever and results in
13297           neither daemon working correctly.  Also, we don't handle queuing and
13298           name-owner-changes, anyhow.
13299
13300 2006-01-20  Robert Love  <rml@novell.com>
13301
13302         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
13303         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
13304           to sbin, not bin.
13305
13306 2006-01-19  Robert Love  <rml@novell.com>
13307
13308         * configure.in: Require hal 0.5.0 or later.
13309
13310 2006-01-18  Robert Love  <rml@novell.com>
13311
13312         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
13313           Allow backends to flag a device (in whatever distro-dependent way
13314           they so desire) as disabled.  NM will ignore any such device.
13315         * src/backends/NetworkManagerDebian.c,
13316           src/backends/NetworkManagerRedHat.c,
13317           src/backends/NetworkManagerSlackware.c: Add stub function
13318           nm_system_device_get_disabled() that always returns FALSE (enabled).
13319         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
13320           SUSE-specific configuration structure.  Fill it in from the
13321           NM_CONTROLLED variable in the system networking scripts.  If this var
13322           exists and is "no", we ignore the device.
13323
13324 2006-01-17  Robert Love  <rml@novell.com>
13325
13326         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
13327           identical for NM.  For a full discussion, see the thread at
13328           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
13329
13330 2006-01-17  Dan Williams  <dcbw@redhat.com>
13331
13332         * src/nm-device.c
13333                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
13334                         function.  Fixes crash when wired DHCP fails.
13335
13336 2006-01-16  Robert Love  <rml@novell.com>
13337
13338         * src/Makefile.am: Don't install NMLoadModules
13339         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
13340           from src/ to test/ as no one uses it anymore.  Note that I would be
13341           fine with removing it altogether.
13342
13343 2006-01-16  Robert Love  <rml@novell.com>
13344
13345         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
13346           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13347           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
13348           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
13349           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
13350           src/nm-netlink-monitor.c: Don't miss any initializers on structure
13351           declarations, ever.
13352         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
13353           NM_STATE_DISCONNECTED is zero).
13354
13355 2006-01-16  Robert Love  <rml@novell.com>
13356
13357         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
13358           uninitialized parameter and buffer overflow.  Novell #143496.
13359
13360 2006-01-16  Dan Williams  <dcbw@redhat.com>
13361
13362         Apply the PtP Address bits of a patch from Tim Niemueller
13363
13364         * src/nm-ip4-config.[ch]
13365                 - Add ip4_ptp_address member to object
13366                 - (nm_ip4_config_copy): copy ptp address too
13367                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
13368                         new functions
13369                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
13370                         rather than local tunnel ip address
13371
13372         * src/vpn-manager/nm-vpn-service.c
13373                 - (print_vpn_config): update for PtP address
13374                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
13375                         DBusMessageIters in preparation for getting routes from the VPN
13376                         service daemons too
13377
13378         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
13379                 - (send_config_info): update for PtP address, clean up code
13380                 - (main): update for PtP address, clean up code, fix typo
13381
13382         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13383                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
13384
13385         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13386                 - (pptp_ip_up): update for PtP address
13387
13388         * vpn-daemons/pptp/src/nm-pptp-service.c
13389                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
13390
13391         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13392                 - (print_vpn_config): update for PtP address
13393                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
13394
13395 2006-01-16  Dan Williams  <dcbw@redhat.com>
13396
13397         * gnome/applet/applet.c
13398                 - (nmwa_add_networks_helper): don't indicate an active network
13399                         if NM is disconnected or asleep
13400
13401 2006-01-16  Dan Williams  <dcbw@redhat.com>
13402
13403         * src/NetworkManagerPolicy.c
13404                 - (nm_policy_device_change_check): switch devices if we lose the link
13405                         on an ethernet device. 
13406
13407 2006-01-16  Dan Williams  <dcbw@redhat.com>
13408
13409         * gnome/applet/wso-wpa-psk-hex.[ch]
13410                 - Renamed -> wso-wpa-psk.[ch]
13411
13412         * gnome/applet/wso-wpa-psk.[ch]
13413                 - New files
13414
13415         * gnome/applet/wso-wpa-psk-passphrase.[ch]
13416                 - Removed, rolled into wso-wpa-psk.[ch]
13417
13418         * gnome/applet/Makefile.am
13419                 - Updated for above changes
13420
13421         * gnome/applet/wireless-applet.glade
13422                 - Consolidate WPA-PSK options into one notebook
13423                         widget, and make dialogs invisible by default
13424                         to fix screen oddities
13425
13426         * gnome/applet/wireless-security-manager.c
13427                 - (wsm_set_capabilities): create the new wpa-psk widget rather
13428                         than both the old hex & passphrase ones
13429
13430 2006-01-16  Dan Williams  <dcbw@redhat.com>
13431
13432         * gnome/applet/other-network-dialog.c
13433                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
13434
13435 2006-01-16  Dan Williams  <dcbw@redhat.com>
13436
13437         * gnome/applet/applet.c
13438                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
13439                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
13440                         prevention to realize window before trying to get server
13441                         time
13442
13443         * gnome/applet/other-network-dialog.c
13444                 - (nmwa_other_network_dialog_run): fix up focus-stealing
13445                         prevention to realize window before trying to get server
13446                         time
13447
13448         * gnome/applet/passphrase-dialog.c
13449                 - (nmi_passphrase_dialog_new): fix up focus-stealing
13450                         prevention to realize window before trying to get server
13451                         time
13452
13453 2006-01-16  Robert Love  <rml@novell.com>
13454
13455         Patch from Timo Hoenig  <thoenig@suse.de:
13456         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
13457           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
13458           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
13459           libnm-util/dbus-helpers.h: add checks whether headers are used
13460           within a C++ build.
13461
13462 2006-01-16  Dan Williams  <dcbw@redhat.com>
13463
13464         * gnome/applet/wireless-security-option.c
13465                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
13466
13467 2006-01-16  Dan Williams  <dcbw@redhat.com>
13468
13469         * libnm-util/cipher-wpa-psk-passphrase.c
13470                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
13471                         be 8 - 63 characters inclusive
13472
13473 2006-01-16  Dan Williams  <dcbw@redhat.com>
13474
13475         * src/nm-dbus-nm.c
13476                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
13477
13478 2006-01-13  Robert Love  <rml@novell.com>
13479
13480         Patch by T Sureshkumar <tsureshkuman@novell.com>:
13481         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
13482           modules that do not use an interface.
13483
13484 2006-01-13  Dan Williams  <dcbw@redhat.com>
13485
13486         * src/nm-device.c
13487           src/nm-device.h
13488                 - Allow subclasses to implement deactivate_quickly()
13489                 - (nm_device_deactivate_quickly): call subclass
13490                         deactivate_quickly() methods
13491                 - (nm_device_set_active_link): small cleanups, and don't
13492                         deactivate the device right away because we risk a deadlock
13493                         when called from device thread, waiting for the device
13494                         thread to cancel activation
13495
13496         * src/nm-device-802-11-wireless.c
13497                 - (real_deactivate_quickly): new function
13498                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
13499                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
13500                         so that we kill the supplicant when we sleep too
13501                 - (supplicant_interface_init): work around naive naming attempts of
13502                         wpa_ctrl when naming sockets
13503
13504 2006-01-13  Dan Williams  <dcbw@redhat.com>
13505
13506         * src/nm-device-802-11-wireless.c
13507                 - (supplicant_cleanup): delete old device control sockets too
13508                 - (supplicant_get_device_socket_path): new function to consolidate
13509                         locations that need a path to a device's control socket
13510
13511 2006-01-12  Robert Love  <rml@novell.com>
13512
13513         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
13514           description so that the description is unique for each
13515           pair (device,provider).  Fixes Novell #142773.
13516
13517 2006-01-12  Dan Williams  <dcbw@redhat.com>
13518
13519         * src/nm-device-802-11-wireless.c
13520                 - (supplicant_exec): ensure GError is correctly initialized
13521                         Reported by Diego González (gnome.org #326708)
13522
13523 2006-01-11  Robert Love  <rml@novell.com>
13524
13525         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
13526           define if_mii(), open code the same results, and do so without any
13527           type punning.
13528
13529 2006-01-11  Robert Love  <rml@novell.com>
13530
13531         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
13532           that wso_foo_new() returned non-NULL.  Instead, only append the new
13533           wso to wsm->options if the wso is non-NULL.  The crux is that we
13534           assume that the relevant key types are implied by WEP and WPA as
13535           appropriate.  To be sure, they should be, but we should not expect
13536           drivers to not be oozing piles of wolf fecal matter.
13537
13538 2006-01-11  Robert Love  <rml@novell.com>
13539
13540         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
13541         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
13542           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
13543           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
13544           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
13545           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
13546           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
13547         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
13548           comparing values within DBL_EPSILON.  Also fix shadowed variable
13549           usage.
13550
13551 2006-01-11  Dan Williams  <dcbw@redhat.com>
13552
13553         Add options for WPA2 and WPA1+CCMP (AES).
13554
13555         * gnome/applet/wireless-applet.glade
13556                 - Add UI bits for WPA+CCMP
13557
13558         * gnome/applet/other-network-dialog.c
13559                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
13560                         and don't allow creation of WPA2 Ad-Hoc networks since
13561                         wpa_supplicant doesn't support them
13562
13563         * gnome/applet/wireless-security-manager.c
13564                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
13565                         on to the specific wireless security option being created
13566
13567         * gnome/applet/wireless-security-option.[ch]
13568                 - (wso_wpa_create_key_type_model): new utility function to create
13569                         the model required for WPA Key Type combo box
13570
13571         * gnome/applet/wso-private.h
13572           gnome/applet/wireless-security-option.h
13573                 - Move private function prototypes into wso-private.h
13574
13575         * gnome/applet/wso-wpa-psk-hex.[ch]
13576           gnome/applet/wso-wpa-psk-passphrase.[ch]
13577                 - (append_dbus_params_func): get WPA version from checkbox and pass
13578                         it to the dbus serialization helper
13579                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
13580                         key type combo changes
13581                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
13582                         model and options
13583
13584         * libnm-util/cipher-wpa-psk-hex.c
13585           libnm-util/cipher-wpa-psk-passphrase.c
13586                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
13587                         new function; allow the cipher to be changed after object creation
13588
13589         * src/nm-ap-security-wpa-psk.c
13590                 - (set_description): Do WPA2 descriptions too
13591
13592         * src/nm-ap-security.c
13593                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
13594
13595 2006-01-11  Robert Love  <rml@novell.com>
13596
13597         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
13598           is defined in <linux/mii.h> to return the mii_ioctl_data structure
13599           from the ifreq structure in lieu of an open coded solution.  Removes
13600           a life-threatening type-punning.
13601         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
13602           types, ever, whatsoever, baby.
13603
13604 2006-01-11  Robert Love  <rml@novell.com>
13605
13606         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
13607           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
13608           assignments to applet->nm_state into a new nmwa_set_state() function
13609           for both cleanliness and to help debugging.
13610
13611 2006-01-10  Robert Love  <rml@novell.com>
13612
13613         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
13614           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
13615           seconds, exclusive.  That is, we want to sleep x seconds such that
13616           1 < x < 2.
13617
13618 2006-01-10  Robert Love  <rml@novell.com>
13619
13620         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
13621           the attr fields according to the example in the email available at
13622           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
13623           Conversely, we do have to free 'name', so we do so, fixing a leak.
13624
13625 2006-01-10  Robert Love  <rml@novell.com>
13626
13627         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
13628           sure that we close the socket!
13629
13630 2006-01-10  Robert Love  <rml@novell.com>
13631
13632         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
13633           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
13634           src/nm-device.c: Fix a FIXME!  Reimplement the function
13635           nm_device_update_hw_address() in device subclass variants,
13636           nm_device_802_3_ethernet_set_address() and
13637           nm_device_802_11_wireless_set_address(), hook them up, and use them.
13638           This fixes the existing bug where MAC addresses are all zeros.
13639
13640 2006-01-10  Robert Love  <rml@novell.com>
13641
13642         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
13643           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
13644           option to give users ability to globally disconnect and put NM to
13645           sleep.  This is useful as a 'lockdown mode' for flying, security, and
13646           clean disconnect.
13647
13648 2006-01-09  Robert Love  <rml@novell.com>
13649
13650         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
13651           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
13652           User-space does not supply these types, so we have to define them
13653           ourselves.  The relevant kernel maintainer refused to accept a patch
13654           switching these headers to the proper C99 types.
13655
13656 2006-01-09  Dan Williams  <dcbw@redhat.com>
13657
13658         Apply Robert's 'tray icon redo' patch with fixes
13659         * gnome/applet/applet.c
13660           gnome/applet/applet.h
13661                 - Instead of using a menu bar + menu item, simulate menu
13662                         behavior using a popup menu.  Highlight the area around
13663                         the icon more like a menu too, by playing with the
13664                         applet's size requisition
13665
13666 2006-01-09  Timo Hoenig   <thoenig@suse.de>
13667         * libnm-util/dbus-helpers.c
13668           libnm-util/dbus-helpers.h
13669                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
13670                         to 'exception_namespace' (:namespace is a keyword in
13671                         C++)
13672
13673 2006-01-09  Dan Williams  <dcbw@redhat.com>
13674
13675         * src/NetworkManagerPolicy.c
13676                 - (nm_policy_device_change_check): don't autoswitch away from
13677                         Ad-Hoc networks, since there's really no concept of
13678                         "link"
13679
13680         * src/nm-dbus-nm.c
13681                 - (nm_dbus_nm_create_wireless_network): mark created networks
13682                         as Ad-Hoc networks
13683
13684         * src/nm-device-802-11-wireless.c
13685                 - (real_activation_success_handler): add user-created Ad-Hoc
13686                         networks to the device's scan list
13687
13688 2006-01-08  Dan Williams  <dcbw@redhat.com>
13689
13690         We now require a patch for wpa_supplicant to support Ad-Hoc
13691         networks:
13692           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
13693
13694         * src/nm-device-802-11-wireless.c
13695                 - (supplicant_send_network_config): turn off wpa_supplicant's
13696                         scanning.  Fixes Ad-Hoc networks.
13697
13698 2006-01-08  Dan Williams  <dcbw@redhat.com>
13699
13700         * src/nm-ap-security.c
13701           src/nm-ap-security.h
13702                 - Add a user_created argument to the write_supplicant_config
13703                         functions
13704
13705         * src/nm-ap-security-wep.c
13706           src/nm-ap-security-wpa-psk.c
13707           src/nm-device-802-11-wireless.c
13708                 - Make Ad-Hoc mode somewhat work, at least write the
13709                         correct options to wpa_supplicant
13710
13711 2006-01-08  Dan Williams  <dcbw@redhat.com>
13712
13713         * src/nm-device-802-11-wireless.c
13714                 - Remove unused code from the old device activation path
13715
13716 2006-01-08  Dan Williams  <dcbw@redhat.com>
13717
13718         * libnm-util/dbus-helpers.c
13719                 - (nmu_security_serialize_wpa_psk): pass a blank key through
13720                         dbus when key == NULL
13721
13722 2006-01-08  Dan Williams  <dcbw@redhat.com>
13723
13724         * gnome/applet/nm-gconf-wso-wpa-psk.c
13725                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
13726                         correct arguments to nmu_security_deserialize_wpa_psk()
13727
13728         * src/nm-ap-security-wpa-psk.c
13729                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
13730                         arguments to nmu_security_deserialize_wpa_psk()
13731
13732 2006-01-08  Dan Williams  <dcbw@redhat.com>
13733
13734         * gnome/applet/wso-wpa-psk-hex.c
13735           gnome/applet/wso-wpa-psk-passphrase.c
13736                 - Hook up the append_dbus_params_func() function
13737
13738 2006-01-08  Dan Williams  <dcbw@redhat.com>
13739
13740         * src/nm-device-802-11-wireless.c
13741                 - (get_wireless_capabilities): correctly detect driver WPA
13742                         capabilities
13743
13744 2006-01-08  Dan Williams  <dcbw@redhat.com>
13745
13746         * gnome/applet/Makefile.am
13747           gnome/applet/wso-wpa-psk-hex.c
13748           gnome/applet/wso-wpa-psk-hex.h
13749                 - New files, implement WPA-PSK Hex key input
13750
13751         * gnome/applet/wireless-applet.glade
13752                 - Change existing wpa-psk stuff to wpa-psk-hex
13753                 - Add new widgets for wpa-psk-passphrase
13754
13755         * gnome/applet/wireless-security-manager.c
13756                 - (wsm_set_capabilities): enable WPA options
13757
13758         * gnome/applet/wso-wpa-psk-passphrase.c
13759                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
13760                         for WPA-PSK passphrase
13761
13762 2006-01-08  Dan Williams  <dcbw@redhat.com>
13763
13764         * include/NetworkManager.h
13765                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
13766                         applet/info-daemons
13767
13768         * gnome/applet/passphrase-dialog.c
13769                 - Use the constant.  Fixes a bug where the arguments to
13770                         dbus_message_new_error() were incorrect
13771
13772         * src/nm-dbus-nmi.c
13773                 - Use the constant
13774
13775 2006-01-07  Dan Williams  <dcbw@redhat.com>
13776
13777         * src/nm-device-802-11-wireless.c
13778                 - Add a link timeout so we allow the supplicant time to
13779                         reassociate if it can, before we deactivate the card
13780                 - Fix up link status and link updating so things work better
13781
13782 2006-01-07  Dan Williams  <dcbw@redhat.com>
13783
13784         * src/nm-device-802-11-wireless.c
13785                 - Switch over to using wpa_supplicant
13786                 - Add a timeout of 10s for association of the supplicant
13787                 - Start the monitor callback of the supplicant
13788
13789 2006-01-07  Dan Williams  <dcbw@redhat.com>
13790
13791         * src/NetworkManagerUtils.c
13792                 - (nm_utils_supplicant_request,
13793                   nm_utils_supplicant_request_with_check):
13794                         pass correct buffer length to wpa_ctrl_request()
13795
13796 2006-01-07  Dan Williams  <dcbw@redhat.com>
13797
13798         * src/nm-device-private.h
13799           src/nm-device.c
13800                 - (nm_device_activate_schedule_stage3_ip_config_start): make
13801                         this function available to subclasses
13802
13803 2006-01-06  Robert Love  <rml@novell.com>
13804
13805         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
13806           user plugging in a network cable signals their preference for to
13807           switch, unless the user explicitly selected a wireless network and
13808           therefore signaled their preference for said wireless network over
13809           wired.  In other words, do exactly what makes sense.
13810
13811 2006-01-06  Robert Love  <rml@novell.com>
13812
13813         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
13814           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
13815           src/NetworkManagerWireless.h: Remove, no longer used and they keep
13816           showing up in my greps.
13817
13818 2006-01-06  Robert Love  <rml@novell.com>
13819
13820         * gnome/applet/applet-dbus-devices.c,
13821           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
13822           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
13823           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
13824           New Network' both failed in the non-encrypted case because we were
13825           not appending the security options to the DBUS message.  And
13826           'Connect to Other' was also failing in the encrypted case because
13827           we were not incrementing to the next DBUS parameter.  All fixed.
13828           Thanks to dcdw for some debugging help.
13829
13830 2006-01-06  Robert Love  <rml@novell.com>
13831
13832         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
13833           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
13834           hangup code and add per-device hangup.  Tie last commit into the
13835           GNOME applet.  TODO:  Save, understand, and respond to the state of
13836           each dialup device.
13837
13838 2006-01-06  Robert Love  <rml@novell.com>
13839
13840         Patch by Timo Hoenig <thoenig@suse.de>:
13841         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
13842           hangup specific dialup devices.
13843         * src/backends/NetworkManagerDebian.c,
13844           src/backends/NetworkManagerGentoo.c,
13845           src/backends/NetworkManagerRedHat.c,
13846           src/backends/NetworkManagerSlackware.c: Add stub backend.
13847         * src/backends/NetworkManagerRedHat.c,
13848           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
13849           hangup specific dialup devices.
13850
13851 2006-01-04  Robert Love  <rml@novell.com>
13852
13853         * gnome/applet/applet-dbus-devices.c,
13854           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
13855           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
13856           connections.
13857
13858 2006-01-04  Dan Williams  <dcbw@redhat.com>
13859
13860         First dump of wpa_supplicant-related code.  It's not hooked up to
13861         anything yet though.  Thanks to Kay Sievers for
13862         wpa_supplicant_wrapper.c, which formed the basis for this work,
13863         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
13864
13865         * src/Makefile.am
13866           src/wpa_ctrl.[ch]
13867                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
13868
13869         * src/NetworkManagerUtils.[ch]
13870                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
13871                         Add convenience functions for talking to wpa_supplicant
13872
13873         * src/nm-ap-security.[ch]
13874           src/nm-ap-security-wep.c
13875           src/nm-ap-security-wpa-psk.[ch]
13876                 - Update and implement real_write_supplicant_config functions
13877                         in all security types
13878                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
13879                         nm-ap-security-wpa-psk.c
13880
13881         * src/nm-device-802-11-wireless.c
13882                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
13883                    wpa_supplicant_start, wpa_supplicant_interface_init,
13884                    wpa_supplicant_send_network_config): add functions to talk to
13885                         wpa_supplicant and write network config to it
13886
13887 2006-01-04  Robert Love  <rml@novell.com>
13888
13889         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
13890           values so that distribution-backends can differentiate between the
13891           various types (modem, ISDN, et cetera) of dialup device that they
13892           support.
13893         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
13894           needed.
13895
13896 2006-01-03  Dan Williams  <dcbw@redhat.com>
13897
13898         * src/NetworkManagerPolicy.c
13899           src/nm-device.[ch]
13900           src/nm-device-802-11-wireless.c
13901                 - Move wireless-specific activation failure and success code
13902                         into wireless device class
13903
13904 2006-01-03  Robert Love  <rml@novell.com>
13905
13906         Patch by Preggna S:
13907         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
13908           IPsec does not require that a VPN client be bound to an interface,
13909           due to the use of the in-kernel IPSec bits.  So make the tunnel
13910           device optional.
13911
13912 2006-01-03  Dan Williams  <dcbw@redhat.com>
13913
13914         * src/NetworkManagerAP.c
13915                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
13916                         the WPA IE specifies that WEP is supported
13917
13918         * src/nm-device-802-11-wireless.c
13919                 - (process_scan_results): don't mark an AP as supporting WEP
13920                         if there's already other encryption capability info
13921
13922 2006-01-03  Dan Williams  <dcbw@redhat.com>
13923
13924         * src/dhcp-manager/nm-dhcp-manager.c
13925                 - Recognize activation cancellation when waiting for DHCP
13926                         configuration from dhcdbd
13927                 - Ignore non-dhcdbd messages
13928
13929         * src/nm-device.c
13930                 - (real_act_stage3_ip_config_start): return to correct behavior
13931                         of letting the dhcp-manager notify us of failure or
13932                         success rather than incorrectly doing that ourselves
13933                 - (nm_device_activate_stage4_ip_config_get): deal with
13934                         activation cancellation a bit earlier
13935
13936 2006-01-03  Dan Williams  <dcbw@redhat.com>
13937
13938         * src/nm-device-802-11-wireless.c
13939           src/nm-device.[ch]
13940                 - Add hooks to subclasses for stage3_ip_config_start and
13941                         stage4_ip_config_timeout
13942
13943         * src/nm-device-802-3-ethernet.c
13944                 - (real_get_generic_capabilities): make devices NM-supported
13945                         by default
13946
13947 2006-01-03  Robert Love  <rml@novell.com>
13948
13949         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
13950           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
13951           latter cannot differentiate between error and the address -1; misc.
13952           clean up.
13953
13954 2006-01-03  Dan Williams  <dcbw@redhat.com>
13955
13956         * src/NetworkManager.c
13957                 - Move link-checking/probing into the device subclasses
13958                         themselves
13959
13960         * src/nm-device.[ch]
13961           src/nm-device-802-11-wireless.c
13962           src/nm-device-802-3-ethernet.c
13963                 - Do periodic link checking in device subclasses rather
13964                         than being triggered from NetworkManager.c
13965                 - discover_wireless_capabilities -> get_wireless_capabilities
13966                 - discover_generic_capabilities -> get_generic_capabilities
13967                 - Device subclass activation routines now return a value of type
13968                         NMActStageReturn to indicate what step to perform next
13969                 - Devices now override stage4_get_ip4_config if they choose
13970
13971 2006-01-01  Dan Williams  <dcbw@redhat.com>
13972
13973         * src/nm-device-802-11-wireless.c
13974                 - (real_init): don't chain up to parent init because we don't
13975                         need to do that anymore
13976
13977         * src/nm-device.c
13978                 - (discover_device_type): fix arguments to ioctl() to correctly
13979                         pass interface name
13980                 - (nm_device_new): consolidate generic device initialization into
13981                         nm_device_new()
13982                 - (real_init): remove, consolidated to nm_device_new()
13983                 - (nm_device_deactivate, real_deactivate): consolidate
13984
13985 2006-01-01  Dan Williams  <dcbw@redhat.com>
13986
13987         * src/nm-activation-request.c
13988                 - Change dhcp_state member of the NMActRequest structure
13989                         from guint8 to guint32
13990
13991         * src/dhcp-manager/nm-dhcp-manager.[ch]
13992                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
13993                         than guint8 to match the dbus argument.  Turns out we were
13994                         overwriting memory since we were passing in only a guint8
13995
13996 2005-12-31  Dan Williams  <dcbw@redhat.com>
13997
13998         * refactor NMDevice into a GObject-based framework with separate
13999                 objects for wired and wireless.  The following files are no
14000                 longer used but should stick around for a bit so we don't
14001                 loose code through the cracks:
14002                         NetworkManagerDevice.c
14003                         NetworkManagerDevice.h
14004                         NetworkManagerWireless.c
14005                         NetworkManagerWireless.h
14006
14007         The intent here is to allow each device type to manage its own
14008         connection & activation life-cycle, ie to allow wireless devices
14009         to interface with wpa_supplicant, etc.  There's a fair bit of
14010         encapsulation breakage right now that should gradually get pulled
14011         back into each device, along with things like periodic property
14012         updates and link probing.
14013
14014 2005-12-29  Dan Williams  <dcbw@redhat.com>
14015
14016         * include/NetworkManager.h
14017                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
14018                         between networks that don't have any encryption at all
14019
14020 2005-12-29  Dan Williams  <dcbw@redhat.com>
14021
14022         * test/test-common.c
14023           test/test-common.h
14024           test/Makefile.am
14025                 - Move to a test-common subdirectory
14026
14027         * test/libnm-util/test-ciphers.c
14028                 - Move test data to test-inputs.h
14029                 - Test WPA ciphers too
14030
14031         * test/libnm-util/test-dbus-helpers.c
14032                 - Test serialization/deserialization of ciphers
14033
14034 2005-12-29  Dan Williams  <dcbw@redhat.com>
14035
14036         * gnome/applet/applet-dbus-devices.c
14037                 - Replace 'enc' parameter with 'capabilities' for wireless networks
14038                         in dbus calls to NM
14039                 - Set capabilities on WirelessNetwork objects
14040                 - Receive and save type-specific device capabilities too
14041
14042         * gnome/applet/applet-dbus-info.c
14043           gnome/applet/applet-dbus.c
14044                 - Passphrase dialog no longer a singleton; new instance gets created
14045                         on each request.  Updates to deal with that.
14046
14047         * gnome/applet/applet.c
14048                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
14049                         than single 'encrypted' flag
14050                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
14051                         menu items
14052                 - Passphrase dialog updates per above
14053
14054         * gnome/applet/menu-items.c
14055                 - (network_menu_item_update): use AP capabilities to determine
14056                         encryption
14057
14058         * gnome/applet/nm-device.[ch]
14059                 - Add accessors for type-specific device capabilities
14060
14061         * gnome/applet/other-network-dialog.c
14062                 - Rework to respect device capabilities.  i.e., if the device doesn't
14063                         support WPA, remove that option from the security dropdown
14064
14065         * gnome/applet/passphrase-dialog.c
14066                 - Massive rework so that a new instance is created each time
14067                         it's used, to support wireless network capabilities
14068
14069         * gnome/applet/wireless-network.[ch]
14070                 - Add accessors and members for wireless network capabilities
14071
14072         * gnome/applet/wireless-security-manager.[ch]
14073                 - (wsm_set_capabilities): called after creation to set which
14074                         security options get shown to the user
14075
14076 2005-12-29  Dan Williams  <dcbw@redhat.com>
14077
14078         * libnm-util/cipher-wpa-psk-passphrase.c
14079                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
14080                         like other ciphers
14081
14082 2005-12-23  Dan Williams  <dcbw@redhat.com>
14083
14084         * gnome/applet/applet-dbus-info.c
14085                 - (nmi_dbus_get_key_for_network): if there's no entry in
14086                         GConf for a network, assume we want a new key
14087                 - (nmi_save_network_info): serialize wireless security info
14088                         into GConf so its saved
14089
14090         * src/nm-dbus-nm.c
14091                 - Fix warning as we may not be passed security info when
14092                         connecting to a wireless network
14093
14094 2005-12-23  Dan Williams  <dcbw@redhat.com>
14095
14096         * gnome/applet/applet-compat.c
14097                 - Fix bugs in GConf entry conversion
14098
14099         * gnome/applet/applet-dbus-info.c
14100                 - (nmi_dbus_get_network_properties): handle case of the BSSID
14101                         list being zero-length
14102
14103         * libnm-util/cipher-*
14104           libnm-util/dbus-helpers.c
14105                 - All ciphers must now return hashed keys as UTF-8 valid
14106                         hexadecimal strings, ie "8f3dae4023".  They are pushed
14107                         through dbus as strings too.
14108                 - Consolidate various functions that do bin->hex and hex->bin
14109                         conversion into cipher.c
14110
14111         * src/nm-ap-security-wep.c
14112           src/nm-ap-security-wpa-psk.c
14113                 - Handle NULL keys since we may not know keys right away
14114
14115         * src/nm-dbus-nmi.c
14116                 - (nm_dbus_get_network_data_cb): actually advance to the start
14117                         of the wireless security info before we try to deserialize it
14118
14119         * libnm-util/test-ciphers.c
14120                 - Update cipher tests for the change to UTF-8 hexadecimal strings
14121
14122 2005-12-22  Dan Williams  <dcbw@redhat.com>
14123
14124         * gnome/applet/applet-compat.[ch]
14125                 - Convert old-format GConf and keyring entries
14126                         when the applet starts up.
14127
14128         * gnome/applet/applet.c
14129                 - (nmwa_get_instance): Call the conversion function
14130                         on startup before dbus is initialized
14131
14132 2005-12-22  Dan Williams  <dcbw@redhat.com>
14133
14134         * gnome/applet/applet-dbus-info.c
14135                 - Remove nmi_dbus_create_error_message() in favor of
14136                         nmu_create_dbus_error_message()
14137                 - (nmi_dbus_get_network_properties): Error message cleanups
14138                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
14139                         gconf key rather than 'addresses', since they really are BSSIDs
14140                 - (nmi_dbus_get_network_properties): Dispose of the security
14141                         object when we're done with it
14142
14143 2005-12-21  Dan Williams  <dcbw@redhat.com>
14144
14145         * Consolidate the info-daemon's "updateNetworkInfo" and
14146                 "addNetworkAddress" calls into just "updateNetworkInfo"
14147
14148 2005-12-21  Dan Williams  <dcbw@redhat.com>
14149
14150         * Make connection after key retrieval work again
14151
14152 2005-12-21  Dan Williams  <dcbw@redhat.com>
14153
14154         * gnome/applet/nm-gconf-wso*
14155                 - Make the serialize functions return gboolean
14156                         rather than int
14157
14158         * gnome/applet/nm-gconf-wso.c
14159                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
14160                         parent class handling so we don't segfault
14161
14162         * src/NetworkManagerAP.[ch]
14163                 - (nm_ap_get_capabilities): new function, return capabilities
14164                         now that something can use them
14165                 - (nm_ap_set_encrypted): assume that an access point supports
14166                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
14167                         we even tell whether it just supports WEP40?
14168
14169         * src/NetworkManagerDevice.c
14170                 - (ap_need_key): resurrect and update for the New World Order
14171                 - (nm_device_wireless_get_activation_ap): if we're not given
14172                         security info to use, create some based on access point
14173                         capabilities
14174
14175         * src/nm-ap-security-wep.c
14176                 - (nm_ap_security_wep_new_from_ap): create a new object
14177                         based on a certain access point's capabilities
14178
14179         * src/nm-ap-security.c
14180                 - (nm_ap_security_new_from_ap): delegate creation of a new
14181                         object based on access point capabilities to a subclass
14182                 - (nm_ap_security_copy_properties): don't segfault if we
14183                         don't have a key yet
14184
14185         * src/nm-dbus-nm.c
14186                 - (nm_dbus_nm_set_active_device): provide more informative
14187                         output when errors occur.  Also construct security info
14188                         for a given access point if we weren't given any
14189
14190 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14191
14192         * configure.in: Added Lithuanian to ALL_LINGUAS.
14193
14194 2005-12-21  Dan Williams  <dcbw@redhat.com>
14195
14196         * test/libnm-util
14197                 - Add some testcases for WEP ciphers
14198
14199 2005-12-17  Dan Williams  <dcbw@redhat.com>
14200
14201         * Fix bugs
14202
14203 2005-12-17  Dan Williams  <dcbw@redhat.com>
14204
14205         * include/NetworkManager.h
14206                 - Finally kill NMEncKeyType
14207
14208         * gnome/applet/applet-dbus-info.c
14209                 - (nmi_save_network_info): convert to NMGConfWSO
14210
14211         * gnome/applet/nm-gconf-wso-*.c
14212                 - Implement gconf serialization functions
14213
14214         * src/NetworkManagerPolicy.c
14215                 - (nm_policy_activation_finish): fix up meaning of
14216                         automatic/user_requested
14217
14218 2005-12-17  Dan Williams  <dcbw@redhat.com>
14219
14220         * gnome/applet/*
14221                 - More applet cleanups
14222                 - Use the dbus-method-dispatcher
14223
14224         * libnm-util/dbus-method-dispatcher.[ch]
14225                 - Generalize the implementation from NM in
14226                         NetworkManagerUtils.c
14227
14228 2005-12-16  Dan Williams  <dcbw@redhat.com>
14229
14230         * gnome/applet/*
14231                 - Fix up the passphrase dialog to use all the
14232                         WirelessSecurityOption stuff (untested)
14233
14234 2005-12-16  Dan Williams  <dcbw@redhat.com>
14235
14236         * Move nm_gconf_get_*_helper() functions to separate files,
14237                 gconf-helpers.c & gconf-helpers.h
14238
14239         * New NMGConfWSO objects for managing the gconf side of things.
14240                 Eventually these should be merged with the
14241                 WirelessSecurityOption objects and a common base (that can
14242                 serialize/deserialize from dbus & gconf) should be
14243                 refactored out, but for now they are separate.
14244
14245 2005-12-16  Robert Love  <rml@novell.com>
14246
14247         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
14248           binaries unless they exist (nm_spawn_process() emits a warning if
14249           asked to spawn a non-existant process).
14250
14251 2005-12-16  Dan Williams  <dcbw@redhat.com>
14252
14253         * gnome/applet/applet-dbus-info.c
14254                 - Clean up lots of gconf-related code
14255
14256 2005-12-16  Robert Love  <rml@novell.com>
14257
14258         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
14259
14260 2005-12-16  Dan Williams  <dcbw@redhat.com>
14261
14262         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
14263
14264         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
14265                 bits still to be done)
14266
14267 2005-12-16  Dan Williams  <dcbw@redhat.com>
14268
14269         * Finally move info-daemon related stuff out of
14270                 NetworkManagerDbus.c to nm-dbus-nmi.c
14271
14272 2005-12-16  Dan Williams  <dcbw@redhat.com>
14273
14274         * Kill auth_method for access points, since that's now done
14275                 by NMAPSecurity objects
14276
14277         * Add a copy-constructor of sorts to NMAPSecurity
14278                 (how do you do this properly in glib???)
14279
14280 2005-12-15  Dan Williams  <dcbw@redhat.com>
14281
14282         * Exorcise encryption key hashing on APs
14283         * Use libnm-util's serialization/deserialization in both the
14284                 applet and NM
14285         * Random other stuff
14286
14287 2005-12-15  Robert Love  <rml@novell.com>
14288
14289         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
14290           is being added to the icon naming spec, so let's use that (Tango CVS
14291           has the icon).  Because it is new, however, we fall back to the
14292           current "gnome-lockscreen" if the new icon is not around, thus
14293           behavior is the same.
14294         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
14295           factory junk.
14296
14297 2005-12-15  Robert Love  <rml@novell.com>
14298
14299         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
14300           well, help to give.  Couple other misc. bits.
14301
14302 2005-12-15  Dan Williams  <dcbw@redhat.com>
14303
14304         * libnm-util/dbus-helpers.[ch]
14305                 - Make this the one-stop-shop for serializing/deserializing
14306                         AP & connection security settings over dbus.  Both NM
14307                         and applets should use this to ensure consistent dbus
14308                         API going forwared.
14309
14310 2005-12-15  Robert Love  <rml@novell.com>
14311
14312         Patch by Timo Hoenig  <thoenig@suse.de>:
14313         * src/NetworkManagerDbus.c
14314                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
14315                         if HAL jumps off the system bus.  Otherwise libdbus
14316                         (dbus_connection_dispatch) will try to run the filter
14317                         function of our libhal context which is already freed.
14318
14319 2005-12-15  Alexander Shopov  <ash@contact.bg>
14320
14321         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
14322
14323 2005-12-14  Dan Williams  <dcbw@redhat.com>
14324
14325         * include/NetworkManager.h
14326           src/NetworkManagerWireless.c
14327                 - Rearrange 802.11 wireless-specific capabilities again
14328
14329         * src/Makefile.am
14330                 - Forgot to add wpa.c/wpa.h to the makefiles
14331
14332         * src/NetworkManagerAP.[ch]
14333                 - Implement access point capabilities and parse the
14334                         WPA/RSN IEs into the capability bitfield
14335                 - Switch the "encrypted" attribute to utilize the bitfield
14336                         and capabilities rather than being independent
14337
14338         * src/NetworkManagerDevice.c
14339                 - (nm_device_wireless_get_activation_ap): break it horribly
14340                         until we can push NMAPSecurity objects into access point
14341                         objects and through the activation chain
14342                 - Stuff WPA & RSN IEs into AP capabilities
14343
14344         * src/nm-dbus-nm.c
14345                 - Take a shot at actually making setActiveDevice work
14346
14347         * src/wpa.[ch]
14348                 - Make the API a bit saner
14349
14350 2005-12-14  Dan Williams  <dcbw@redhat.com>
14351
14352         * include/NetworkManager.h
14353                 - Add 802.11-specific capability for 802.1x key
14354                         management
14355
14356         * src/wpa.[ch]
14357                 - Pull in WPA IE and RSN IE parsing code from
14358                         wpa_supplicant so we can determine access point
14359                         capabilities
14360                 - Move WPA-related constants here from NetworkManagerAP.h
14361                         and NetworkManagerDevice.c
14362
14363         * src/NetworkManagerDevice.c
14364           src/NetworkManagerAP.[ch]
14365                 - Use WPA-related constants from wpa.h
14366
14367 2005-12-14  Dan Williams  <dcbw@redhat.com>
14368
14369         * include/NetworkManager.h
14370                 - Update and split 802.11 wireless-specific capabilities from
14371                         generic device capabilities
14372
14373         * src/NetworkManagerDevice.c
14374           src/NetworkManagerDevicePrivate.h
14375                 - (nm_device_wireless_discover_capabilities): Move 802.11
14376                         wireless-specific capability checks to
14377                         NetworkManagerWireless.c
14378                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
14379                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
14380
14381         * src/NetworkManagerWireless.[ch]
14382                 - (nm_802_11_wireless_discover_capabilities): Check extended
14383                         802.11 wireless-specific capabilities of the driver
14384
14385 2005-12-14  Robert Love  <rml@novell.com>
14386
14387         Patch from Stefan Scheler <sscheler@suse.de>:
14388         * src/NetworkManagerDevice.c: call backend code to activate and
14389           deactivate NIS.
14390         * src/NetworkManagerSystem.h: add new NIS interfaces.
14391         * src/backends/NetworkManagerDebian.c,
14392           src/backends/NetworkManagerGentoo.c,
14393           src/backends/NetworkManagerRedHat.c,
14394           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
14395           support.
14396         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
14397
14398 2005-12-14  Dan Williams  <dcbw@redhat.com>
14399
14400         * src/nm-ap-security*.[ch]
14401                 - Add AP security abstractions to NetworkManager
14402
14403         * src/nm-dbus-device.c
14404                 - Begin to parse new format dbus messages from the applet
14405                         and construct an AP security object from the message
14406
14407         * libnm-util/dbus-helpers.c
14408                 - Use message iters so we can append the key as a fixed
14409                         array of bytes, which actually works rather than
14410                         using dbus_message_append_args() as we were before
14411
14412 2005-12-14  Dan Williams  <dcbw@redhat.com>
14413
14414         * src/NetworkManagerDbus.c
14415           gnome/applet/applet-dbus.c
14416                 - Fix up dbus service replacement options.  The applet
14417                         should allow replacement, NM itself should not.
14418
14419 2005-12-13  Robert Love  <rml@novell.com>
14420
14421         * src/named-manager/nm-named-manager.c: Revert earlier commit.
14422           Instead, fail silently if config is NULL by not asserting and not
14423           returning FALSE.  Also, make sure we always fclose() the file.
14424
14425 2005-12-13  Robert Love  <rml@novell.com>
14426
14427         Patch by Stefan Scheler <sscheler@suse.de>:
14428         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
14429            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
14430            via DHCP.  Still need the backends to commit the NIS domain name and
14431            and servers to yp.conf as needed.
14432
14433 2005-12-13  Robert Love  <rml@novell.com>
14434
14435         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
14436           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
14437
14438 2005-12-13  Robert Love  <rml@novell.com>
14439
14440         * src/named-manager/nm-named-manager.c: Don't unref the config until
14441           after we call rewrite_resolv_conf(), because get_last_default_domain()
14442           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
14443           `config != NULL' failed" assertion failures and "Could not commit DNS
14444           changes" warnings.
14445
14446 2005-12-12  Dan Williams  <dcbw@redhat.com>
14447
14448         * libnm-util/dbus-helpers.[ch]
14449           libnm-util/Makefile.am
14450                 - new helper calls to consolidate locations where
14451                         NM's setDevice method is called
14452
14453         * gnome/applet/applet-dbus-devices.c
14454           gnome/applet/wireless-security-option.c
14455           gnome/applet/wso-*
14456                 - Implement dbus message param append function for
14457                         all wireless security options
14458
14459 2005-12-12  Robert Love  <rml@novell.com>
14460
14461         * libnm-util/cipher-wep-passphrase.c,
14462           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
14463           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
14464           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
14465           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
14466           When handling keys, we don't care what the sign is.  The compiler
14467           guarantees us that we get our 8-bits, which is all we care about.
14468         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
14469
14470 2005-12-12  Dan Williams  <dcbw@redhat.com>
14471
14472         * gnome/applet/applet-dbus-devices.[ch]
14473           gnome/applet/applet.c
14474           gnome/applet/other-network-dialog.c
14475           gnome/applet/wireless-security-manager.[ch]
14476           gnome/applet/wireless-security-option.[ch]
14477           gnome/applet/wso-*
14478                 - Push the wireless security options further into the applet
14479
14480 2005-12-12  Robert Love  <rml@novell.com>
14481
14482         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
14483           return any name servers.  That is perfectly valid.  (Novell #134369).
14484
14485 2005-12-11  Dan Williams  <dcbw@redhat.com>
14486
14487         * gnome/applet/wso-*
14488           gnome/applet/wireless-security-option.*
14489           gnome/applet/Makefile.am
14490                 - split each security option out so we can eventually
14491                         have each one build up their own dbus message
14492                         arguments to send to NM
14493
14494 2005-12-11  Dan Williams  <dcbw@redhat.com>
14495
14496         * Make validation of the key work correctly
14497
14498 2005-12-11  Dan Williams  <dcbw@redhat.com>
14499
14500         * Hook more bits of the Other Network Dialog up to the
14501                 wireless security manager stuff, and restructure
14502                 bits of the dialog so there's less code.
14503
14504 2005-12-10  Dan Williams  <dcbw@redhat.com>
14505
14506         * gnome/applet/Makefile.am
14507                 - Add libnm-util to includes
14508                 - Add libnm-util to link list
14509                 - Add wireless-security-common.* to compile list
14510
14511         * gnome/applet/other-network-dialog.c
14512                 - Convert to using the WirelessSecurityManager code and
14513                         widgets
14514
14515         * gnome/applet/passphrase-dialog.c
14516                 - Comment out references to stuff in the glade file that
14517                         cause runtime errors until it can be fixed up
14518                         to use the WirelessSecurityManager code
14519
14520         * gnome/applet/wireless-applet.glade
14521                 - Rename some widgets
14522                 - Add widgets for the WirelessSecurityManager code
14523                 - Remove passphrase-related stuff since that's now
14524                         handled by the WirelessSecurityManager code
14525
14526 2005-12-10  Dan Williams  <dcbw@redhat.com>
14527
14528         * gnome/applet/applet-dbus-devices.c
14529                 - Print out error message details for dbus pending call callbacks
14530                 - Move nmwa_dbus_update_devices() up
14531
14532         * gnome/applet/applet-dbus-vpn.c
14533                 - Print out error message details for dbus pending call callbacks
14534
14535 2005-12-10  Dan Williams  <dcbw@redhat.com>
14536
14537         * libnm-util/*
14538                 - More fixups
14539                 - Remove cipher-manager.* because we don't need it
14540                 - Forgot to add gnome-keyring-md5 files to compile list
14541
14542 2005-12-09  Dan Williams  <dcbw@redhat.com>
14543
14544         * libnm-util/*
14545           configure.in
14546           Makefile.am
14547                 - Add a utility library for clients of NetworkManager.  It's
14548                         only targetted at applets for the moment, and contains
14549                         a generalized 802.11 cipher framework for different
14550                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
14551
14552 2005-12-09  Robert Love  <rml@novell.com>
14553
14554         * src/NetworkManagerDevice.c: handle error better in
14555           nm_device_set_mode().
14556
14557 2005-12-08  Robert Love  <rml@novell.com>
14558
14559         * include/NetworkManager.h: add WPA capabilities constants
14560         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
14561           or WPA2 and add the capabilities bits as appropriate.
14562
14563 2005-12-08  Robert Love  <rml@novell.com>
14564
14565         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
14566           NetworkManagerDispatcher.
14567         * configure.in, initscript/SUSE/.cvsignore,
14568           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
14569           initscript.
14570
14571 2005-12-08  Robert Love  <rml@novell.com>
14572
14573         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
14574
14575 2005-12-08  Robert Love  <rml@novell.com>
14576
14577         * src/NetworkManagerDevice.c: We want to fall back on and default to
14578           IW_MODE_AUTO, not -1, which is more in line with our previous
14579           behavior.  Otherwise, we try to set the wireless mode to -1 in
14580           nm_device_set_mode().
14581
14582 2005-12-07  Robert Love  <rml@novell.com>
14583
14584         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
14585           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
14586           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14587           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14588           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
14589           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
14590           zero.
14591
14592 2005-12-07  Robert Love  <rml@novell.com>
14593
14594         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
14595           supplied IP is invalid, fall back to DHCP.
14596
14597 2005-12-07  Dan Williams  <dcbw@redhat.com>
14598
14599         * Convert NETWORK_MODE_* constants to IW_MODE_*
14600         * Make all the get_mode/set_mode functions take and return 'int'
14601         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
14602
14603 2005-12-07  Robert Love  <rml@novell.com>
14604
14605         * src/NetworkManagerDevice.c: strncpy() buffer check.
14606         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
14607
14608 2005-12-06  Dan Williams  <dcbw@redhat.com>
14609
14610         * gnome/applet/applet-dbus.c
14611                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
14612
14613         * gnome/applet/applet-dbus-vpn.c
14614                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
14615                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
14616                         to TRUE here if stage was ACTIVATED
14617
14618 2005-12-06  Dan Williams  <dcbw@redhat.com>
14619
14620         * Change nm_device_is_* functions to better names:
14621                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
14622                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
14623
14624 2005-12-06  Dan Williams  <dcbw@redhat.com>
14625
14626         * Change naming of NMDeviceType to something more sensible:
14627                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
14628                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
14629                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
14630
14631 2005-12-06  Dan Williams  <dcbw@redhat.com>
14632
14633         * Move NetworkManager.h -> include/NetworkManager.h
14634         * Split out VPN stuff into include/NetworkManagerVPN.h
14635         * Fix up makefiles to include new location
14636         * Fix up sources to include NetworkManagerVPN.h
14637
14638 2005-12-06  Dan Williams  <dcbw@redhat.com>
14639
14640         Various changes in the applet to move VPN connection "state" -> "stage",
14641         which it actually is.  I'd like to change the signal as well when we
14642         break compat in the near future.
14643
14644 2005-12-06  Dan Williams  <dcbw@redhat.com>
14645
14646         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
14647         * initscript/Slackware/rc.networkmanager
14648                 - Cosmetic fix
14649
14650         * src/backends/NetworkManagerSlackware.c
14651                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
14652                         interfaces
14653
14654 2005-12-05  Robert Love  <rml@novell.com>
14655
14656         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
14657           to free, particularly here as it just barfs.
14658
14659 2005-12-05  Dan Williams  <dcbw@redhat.com>
14660
14661         * gnome/applet/applet-dbus.c
14662                 - Work with dbus 0.6 too
14663
14664 2005-12-03  Dan Williams  <dcbw@redhat.com>
14665
14666         * src/NetworkManagerUtils.[ch]
14667           src/nm-ip4-config.c
14668                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
14669                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
14670
14671 2005-12-01  Robert Love  <rml@novell.com>
14672
14673         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
14674           need a NULL for the '...' parameter, too, to fill the so-called
14675           sentinel.
14676
14677 2005-12-01  Robert Love  <rml@novell.com>
14678
14679         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
14680           interface is already gone, so don't call rtnl_link_change() to down
14681           it (which will segfault, anyhow).
14682
14683 2005-11-22  Robert Love  <rml@novell.com>
14684
14685         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
14686           gateway is not set, just print a little note.  Configurations without
14687           gateways are valid.
14688
14689 2005-11-22  Robert Love  <rml@novell.com>
14690
14691         * README: update
14692
14693 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
14694
14695         * configure.in: Added Finnish translation to ALL_LINGUAS
14696
14697 2005-11-14  Robert Love  <rml@novell.com>
14698
14699         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
14700           Niemueller <tim@niemueller.de>.
14701
14702 2005-11-08  Dan Williams  <dcbw@redhat.com>
14703
14704         Patch from Bill Moss <bmoss@clemson.edu>
14705         * src/NetworkManagerDevice.c
14706                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
14707                         of nm_policy_schedule_activation_finish() to prevent a
14708                         race condition that causes the link to be dropped
14709
14710 2005-11-08  Dan Williams  <dcbw@redhat.com>
14711
14712         Patch from Bill Moss <bmoss@clemson.edu>
14713         * src/NetworkManagerAPList.c
14714           src/NetworkManagerDevice.c
14715           src/NetworkManagerDbus.c
14716                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
14717                         we get more readable ether/mac addresses
14718
14719 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14720
14721         * gnome/applet/main.c: Don't set the restart command.  This fixes
14722         the issue where the restart command was getting copies of all its
14723         arguments for each time the applet was restarted.
14724
14725 2005-11-02  Robert Love  <rml@novell.com>
14726
14727         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
14728           if the widget state differs from our saved state.  This ensures we
14729           do not enter an endless loop of death and destruction.  Also, this
14730           guarantees us that we enforce the widget state.
14731
14732 2005-11-02  Robert Love  <rml@novell.com>
14733
14734         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
14735         * gnome/applet/applet-dbus-devices.c: invoke the new function
14736           nmwa_enable_wireless_set_active() to ensure that the state of the
14737           'Enable Wireless' checkbox matches the daemon's state.  This is a
14738           concern because the daemon remembers the state.
14739
14740 2005-11-02  Robert Love  <rml@novell.com>
14741
14742         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
14743           Enabled", as checkboxes should be actions/commands not positive
14744           statements, otherwise they are confusing in the unselected case.  See
14745           examples in GNOME HIG, Chapter 6.
14746
14747 2005-11-02  Robert Love  <rml@novell.com>
14748
14749         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
14750           show a list of wireless networks or the wireless devices or the
14751           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
14752           a bad bug: If wireless is disabled and the user picks a wireless
14753           network, NM will switch to the network, only to immediately switch
14754           back, as wireless is disabled.  This also reassures people that NM
14755           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
14756
14757 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14758
14759         * gnome/applet/applet.c:
14760         * gnome/applet/applet.h:
14761         Partial backout of Dan's timeout animation patch.
14762         Timeout IDs cannot legally be 0, so revert the code in place to handle
14763         a timeout ID of 0 to denote the timeout isn't running.
14764
14765 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14766
14767         * src/NetworkManagerPolicy.c:
14768         (nm_policy_device_change_check) Clarify wireless switch nm_info text
14769
14770 2005-10-28  Robert Love  <rml@novell.com>
14771
14772         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
14773           "Import Saved Configuration..." to make it clear that importing is
14774           not the next step, but an option.  As an aside, a nice TODO would be
14775           to move Importing out of the vpn-specific dialog and into the main
14776           property editor, as Importing goes with Adding, but that will require
14777           some rearchitecting of the VPN stuff I suspect.
14778
14779 2005-10-27  Dan Williams  <dcbw@redhat.com>
14780
14781         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
14782         we should replace most of the distro-specific backend code
14783         with libnl stuff.
14784
14785         Get it here:  http://people.suug.ch/~tgr/libnl/
14786
14787         * configure.in
14788           src/Makefile.am
14789                 - Add checks for libnl pkgconfig file
14790                 - Use LIBNL_LIBS & LIBNL_CFLAGS
14791
14792         * src/NetworkManagerSystem.c
14793           src/nm-ip4-config.[ch]
14794                 - Use libnl rather than ioctl() for most things
14795                 - Remove unused functions
14796
14797 2005-10-27  Robert Love  <rml@novell.com>
14798
14799         * src/backends/NetworkManagerSuSE.c: fix warning message text
14800
14801 2005-10-27  Christopher Aillon  <caillon@redhat.com>
14802
14803         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
14804
14805 2005-10-27  Christopher Aillon  <caillon@redhat.com>
14806
14807         * gnome/applet/applet.c: The applet's about dialog can advertise our 
14808         project page <http://www.gnome.org/projects/NetworkManager/>
14809
14810 2005-10-26  Christopher Aillon  <caillon@redhat.com>
14811
14812         * gnome/applet.c: Also use translator credits if we don't have
14813         the new GtkAboutDialog (older versions of GTK+)
14814
14815 2005-10-26  Robert Love  <rml@novell.com>
14816
14817         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
14818           failure; correct usage text for "--no-daemon"
14819
14820 2005-10-25  Dan Williams  <dcbw@redhat.com>
14821
14822         * src/NetworkManagerDevice.c
14823                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
14824                         no scan results
14825                 - (free_process_scan_cb_data): unref the device when freeing results
14826                 - (nm_device_wireless_process_scan_results): free scan results a bit later
14827                         so we don't unref the device underneath ourselves
14828
14829 2005-10-25  Dan Williams  <dcbw@redhat.com>
14830
14831         * Back out 2005-10-24 commit from Tor Krill.  Patch
14832                 causes nameservers never to be removed from named.
14833
14834 2005-10-24  Dan Williams  <dcbw@redhat.com>
14835
14836         Clean up wireless scanning and wireless link probing.
14837
14838         * src/NetworkManagerDevice.c
14839                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
14840                         just see if there's an activation request on the device, and check the
14841                         current link against the activation request access point's ESSID.
14842                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
14843                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
14844                         don't call process_scan_results() on zero-length data
14845                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
14846                         15 seconds (from 10)
14847
14848 2005-10-24  Dan Williams  <dcbw@redhat.com>
14849
14850         Cleanup some applet stuff:
14851
14852         - Animation timeouts.  If NM died while the applet was animating,
14853                 the applet would not hide itself.  This is now fixed.
14854
14855         - Remove some dead code
14856
14857         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
14858                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
14859
14860         - Track animation timeout using a gboolean rather than the timeout's
14861                 ID, since timeout IDs can legally be 0.
14862
14863 2005-10-24  Dan Williams  <dcbw@redhat.com>
14864
14865         * src/backends/interface_parser.c
14866                 - Add void to function declarations that need it
14867                         to match patch from Engin AYDOGAN
14868
14869         * src/backends/interface_parser.h
14870                 - Remove unused prototype for ifparser_interfaces()
14871
14872         Patch from Engin AYDOGAN <engin@bzzzt.biz>
14873         * src/backends/interface_parser.h:
14874                 - Compile fixes for gcc 4.0.2 (add void)
14875
14876 2005-10-24  Dan Williams  <dcbw@redhat.com>
14877
14878         Patch from Tor Krill <tor@krill.nu>
14879         * src/named-manager/nm-named-manager.c
14880                 - Write more than just the first nameserver to /etc/resolv.conf
14881                 - Write out valid /etc/resolv.conf on exit
14882
14883 2005-10-21  Christopher Aillon  <caillon@redhat.com>
14884
14885         * gnome/applet/applet-dbus-vpn.c:
14886         Get rid of spurious newlines in debug console output
14887
14888 2005-10-21  Christopher Aillon  <caillon@redhat.com>
14889
14890         * src/backends/NetworkManagerGentoo.c:
14891         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
14892
14893 2005-10-20  Robert Love  <rml@novell.com>
14894
14895         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
14896           direct comparison of floating point values, which is never correct.
14897           Also some misc. cleanup.
14898
14899 2005-10-19  Robert Love  <rml@novell.com>
14900
14901         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
14902
14903 2005-10-19  Robert Love  <rml@novell.com>
14904
14905         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
14906           sensitivity of the buttons.  Specificaly, do the right thing if
14907           there are no entries.
14908
14909 2005-10-19  Christopher Aillon  <caillon@redhat.com>
14910
14911         * configure.in: Update check for adequate wireless-tools
14912         with an AC_TRY_COMPILE for the new symbols we use.
14913
14914 2005-10-19  Dan Williams  <dcbw@redhat.com>
14915
14916         * src/NetworkManagerDevice.c
14917                 - (process_scan_results): don't drop the last (or only)
14918                         access point we see
14919
14920 2005-10-19  Christopher Aillon  <caillon@redhat.com>
14921
14922         * src/backends/NetworkManagerSlackware.c:
14923         Patch from Nico <lordllucifer@gmail.com>
14924                 - Update the Slackware backend.
14925
14926 2005-10-18  Christopher Aillon  <caillon@redhat.com>
14927
14928         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
14929         if we've got GLib 2.8.0
14930
14931 2005-10-18  Robert Love  <rml@novell.com>
14932
14933         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
14934           function nm_schedule_state_change_signal_broadcast() when we
14935           deactivate a device, too.
14936
14937 2005-10-18  Robert Love  <rml@novell.com>
14938
14939         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
14940           be used uninitialized.
14941
14942 2005-10-18  Christopher Aillon  <caillon@redhat.com>
14943
14944         * test/libnm_glib_test.c: Test unregistering, too.
14945
14946 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14947
14948         * configure.in: Bump to 0.5.0
14949
14950 2005-10-17  Dan Williams  <dcbw@redhat.com>
14951
14952         * NetworkManager.h
14953                 - Remove WPA-related constants so they aren't part of the
14954                         upcoming release.
14955
14956 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14957
14958         * gnome/applet/applet.c:
14959         * gnome/applet/applet.h:
14960         Desensitize the 'Connection Information' menu item when there is
14961         no active connection.
14962
14963 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14964
14965         * gnome/libnm_glib/libnm_glib.c:
14966         Make libnm_glib_unregister_callback () actually unregister the callback
14967
14968 2005-10-17  Robert Love  <rml@novell.com>
14969
14970         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
14971           two seconds -- tries is updated every 1/10 of a second, not every
14972           second..
14973
14974 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14975
14976         * gnome/applet/applet-dbus-info.c:
14977         Let D-BUS know that we haven't handled a message when we haven't.
14978
14979 2005-10-17  Robert Love  <rml@novell.com>
14980
14981         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
14982           in order to remain 64-bit clean.
14983
14984 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14985
14986         * gnome/applet/applet-dbus-info.c:
14987         Find network encryption keys asynchronously
14988
14989 2005-10-17  Robert Love  <rml@novell.com>
14990
14991         * src/backends/NetworkManagerDebian.c,
14992           src/backends/NetworkManagerRedHat,
14993           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
14994           comment delimiter.
14995
14996 2005-10-17  Robert Love  <rml@novell.com>
14997
14998         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
14999           "/etc"
15000
15001 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15002
15003         * src/NetworkManagerDevice.c: (process_scan_results)
15004         Fix logic that checks to see whether we have an ESSID.
15005
15006 2005-10-15  Dan Williams  <dcbw@redhat.com>
15007
15008         Move scanning code into NetworkManager rather than use iwlib's
15009         iw_scan() function, so that we can figure out AP capabilities.
15010
15011         * NetworkManager.h
15012                 - Add AP capability bits
15013
15014         * src/NetworkManagerAP.[ch]
15015                 - Add capability field to NMAccessPoint structure
15016                 - Add WPA & RSN Information Element fields and accessor
15017                         functions to NMAccessPoint
15018
15019         * src/NetworkManagerDevice.c
15020                 - Remove usage of iw_scan
15021                 - Add scanning code to NetworkManager rather than use
15022                         iw_scan() from iwlib
15023
15024         * src/NetworkManagerUtils.[ch]
15025                 - (nm_dispose_scan_results): remove, unused
15026
15027 2005-10-14  Christopher Aillon  <caillon@redhat.com>
15028
15029         * gnome/libnm_glib/libnm_glib.c:
15030         * gnome/libnm_glib/libnm_glib.h:
15031         Use guint instead of gint for callback IDs.
15032
15033 2005-10-12  Christopher Aillon  <caillon@redhat.com>
15034
15035         * gnome/applet/applet.c:
15036         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
15037         every 1000ms.  It will unconditionally call nmwa_update_state which
15038         kills the existing animation timeout and registers a new one with a
15039         callback to draw a new frame every 100ms.  There are 11 connecting
15040         icon frames, so the last 2 frames kept getting dropped.  Only reset
15041         the animation timeout if we aren't animating.
15042
15043 2005-10-11  Dan Williams  <dcbw@redhat.com>
15044
15045         * gnome/applet/applet-dbus-devices.c
15046                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
15047                         We want to grab the product & vendor from net.physical_dev
15048                         rather than info.parent.
15049
15050 2005-10-11  Dan Williams  <dcbw@redhat.com>
15051
15052         * src/NetworkManagerDevice.c
15053                 - Use the driver's WE version for scanning rather than
15054                         the WE version NM was compiled with.  Fixes random
15055                         crashes in iw_scan () in iwlib.
15056
15057 2005-10-10  Dan Williams  <dcbw@redhat.com>
15058
15059         * Remove nm_system_load_device_modules() from backend files
15060                 and from NetworkManager.c
15061
15062 2005-10-10  Dan Williams  <dcbw@redhat.com>
15063
15064         * src/NetworkManagerPolicy.c
15065                 - Fix some bugs introduced by the capabilities patch
15066
15067 2005-10-10  Dan Williams  <dcbw@redhat.com>
15068
15069         * gnome/applet/applet-dbus-info.c
15070                 - (nmi_dbus_get_network_key): hide the menu when putting up
15071                         the keyring dialog.  (not sure if the code is right...)
15072
15073 2005-10-09  Dan Williams  <dcbw@redhat.com>
15074
15075         Patch from Bill Moss <bmoss@clemson.edu>
15076         * src/NetworkManagerDevice.c
15077                 - (nm_device_set_user_key_for_network): don't try to set auth
15078                         mode on the AP from the allowed list if it's NULL
15079
15080 2005-10-09  Dan Williams  <dcbw@redhat.com>
15081
15082         * Replace the "driver support level" stuff with capabilities.  The
15083                 capability field is a bitfield that is more flexible than the
15084                 old driver support level thing.  It's mostly so we can easily
15085                 figure out what supports WPA and what doesn't, but should be
15086                 quite useful later.
15087
15088 2005-10-09  Dan Williams  <dcbw@redhat.com>
15089
15090         * test/nmtest.c
15091                 - Removed
15092
15093         * test/nm-tool.c
15094           test/Makefile.am
15095                 - Added new "nm-tool" tool that gives quite a bit more
15096                         information
15097
15098 2005-10-07  Robert Love  <rml@novell.com>
15099
15100         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
15101           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
15102           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
15103           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
15104           appropriate
15105
15106 2005-10-07  Robert Love  <rml@novell.com>
15107
15108         * configure.in: Change our compile flags for the betterment of mankind.
15109           Add "-Wstrict-prototypes" because we comply anyhow and missing a
15110           prototype is very bad on 64-bit platforms as types default to int but
15111           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
15112           "-Wmissing-declarations" to warn if we define an exported function
15113           but fail to put it in a header.
15114
15115 2005-10-07  Robert Love  <rml@novell.com>
15116
15117         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
15118           by the name nm_update_device_wireless_timeouts() and once tried,
15119           without success, to steal my pet turtle.
15120
15121 2005-10-07  Robert Love  <rml@novell.com>
15122
15123         * Cleanup prototypes: put some functions in header files and mark
15124           others as 'static' -- feel free to invert
15125         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
15126           nm_vpn_manager_vpn_connection_list_copy()
15127         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
15128           nm_vpn_service_get_dbus_connection()
15129         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
15130           nm_vpn_manager_vpn_connection_list_copy()
15131         * src/vpn-manager/nm-vpn-service.c: make
15132           nm_vpn_service_act_request_failed() and
15133           nm_vpn_service_stage2_daemon_wait() static
15134         * src/vpn-manager/nm-vpn-service.h: add prototype for
15135           nm_vpn_service_get_dbus_connection()
15136
15137 2005-10-06  Christopher Aillon  <caillon@redhat.com>
15138
15139         * gnome/applet/applet.c:
15140         * gnome/applet/applet.h:
15141         * gnome/applet/icons/Makefile.am:
15142         Convey information about the current connection stage in the
15143         icons themselves instead of creating a separate progress bar.
15144
15145 2005-10-04  Robert Love  <rml@novell.com>
15146
15147         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
15148           convert an ether_addr structure's MAC into a string, because the
15149           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
15150           versus 07:3B:04, while the former will not.
15151
15152 2005-10-04  Robert Love  <rml@novell.com>
15153
15154         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15155           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15156           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15157           default route in the 'Connection Information' dialog, send primary
15158           and secondary name servers in in "getProperties" DBUS method, add
15159           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
15160           secondary domain name servers are crucial pieces of information
15161           that a user might need in debugging a network problem.
15162
15163 2005-10-04  Robert Love  <rml@novell.com>
15164
15165         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15166           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15167           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15168           default route in the 'Connection Information' dialog, send default
15169           route in "getProperties" DBUS method, add network_device_set_route(),
15170           and network_device_get_route().  The Gateway is a crucial piece of
15171           connection-related information that a user might need in debugging a
15172           network problem.
15173
15174 2005-10-03  Robert Love  <rml@novell.com>
15175
15176         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
15177           NULL.
15178
15179 2005-10-02  Dan Williams  <dcbw@redhat.com>
15180
15181         * Shorten time taken to sleep by fastpathing bits of device deactivation
15182                 necessary for sleep.
15183
15184         * Fix issue where deactivating a device might deactivate the active
15185                 VPN connection, even if the VPN was not using the device.
15186
15187 2005-10-02  Dan Williams  <dcbw@redhat.com>
15188
15189         * gnome/applet/applet.c
15190                 - Adjust signal strength -> icon mapping values slightly
15191                         (so that 51% signal doesn't show a 75% icon) by adding
15192                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15193                         shows 50% icon, etc.
15194
15195 2005-09-29  Robert Love  <rml@novell.com>
15196
15197         * src/NetworkManager.c: removed unused variable.
15198
15199 2005-09-28  Dan Williams  <dcbw@redhat.com>
15200
15201         Support for named + DBus, using Red Hat DBus patches for named.  You
15202         can find those patches here, with "dbus" in the patch's filename:
15203
15204                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
15205
15206         Don't forget the named dbus service file either.
15207
15208         Instead of writing a config file and spawing a named process, NM will
15209         use an already-running dbus-enabled named if it finds one.  NM will
15210         update named's forwarder configuration on the fly using dbus.
15211
15212         If there is no dbus-enabled named running, NM will automatically fall
15213         back to writing the most-recent DNS server information to /etc/resolv.conf
15214         and calling nm_system_update_dns() to kick the system's resolver.
15215
15216         Accordingly, all named-related configure-time options have been removed.
15217
15218 2005-09-26  Robert Love  <rml@novell.com>
15219
15220         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
15221           ISDN support!
15222         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
15223           bug in error path if "ASKPASSWORD" is "no".
15224
15225 2005-09-26  Robert Love  <rml@novell.com>
15226
15227         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
15228           comment in /etc/resolv.conf -- ';' is not.
15229
15230 2005-09-19  Dan Williams  <dcbw@redhat.com>
15231
15232         * src/backends/NetworkManagerRedHat.c:
15233         * src/backends/NetworkManagerDebian.c:
15234         * src/backends/NetworkManagerSlackware.c:
15235         * src/backends/NetworkManagerGentoo.c:
15236         * src/backends/NetworkManagerSUSE.c:
15237         Fix invocations of "/sbin/ip address" to use short form instead
15238
15239 2005-09-19  Christopher Aillon  <caillon@redhat.com>
15240
15241         * src/nm-dbus-device.c: Don't assert when getting
15242         addresses of a not yet connected interface.
15243
15244         * gnome/applet/applet.c: Free icons if loading fails.
15245         Use translator-credits so translators can make themselves known.
15246
15247 2005-09-15  Christopher Aillon  <caillon@redhat.com>
15248
15249         * src/NetworkManagerAP.c:
15250         * src/NetworkManagerAP.h:
15251         * src/NetworkManagerDevice.c:
15252         Set a blacklist for certain common manufacturer default ESSIDs:
15253         APs with these ESSIDs are extremely likely to be completely
15254         different networks: connecting to one should not make NM
15255         auto-connect to every other AP with the same default ESSID.
15256
15257 2005-09-12  Christopher Aillon  <caillon@redhat.com>
15258
15259         * gnome/applet/wireless-applet.glade:
15260         The passphrase entry should also activate the default
15261
15262         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
15263
15264         * gnome/applet/applet-dbus-devices.c:
15265         * gnome/applet/applet.c:
15266         * gnome/applet/nm-device.c:
15267         * gnome/applet/nm-device.h:
15268         * src/NetworkManagerUtils.c:
15269         * src/NetworkManagerUtils.h:
15270         * src/nm-dbus-device.c:
15271         I've got a fever, and the only cure for it is less ioctl.
15272         Make NM push IP data rather than make the applet open a socket
15273         to the device.
15274
15275 2005-09-10  Christopher Aillon  <caillon@redhat.com>
15276
15277         * gnome/applet/applet.c:
15278         * gnome/applet/applet-dbus-devices.c:
15279         * gnome/applet/applet-dbus-info.c:
15280         * gnome/applet/passphrase-dialog.c:
15281         * gnome/libnm_glib/libnm_glib.c:
15282         * gnome/vpn-properties/nm-vpn-properties.c:
15283         * src/autoip.c:
15284         * src/backends/NetworkManagerRedHat.c:
15285         * src/named-manager/nm-named-manager.c:
15286         * src/NetworkManagerAPList.c:
15287         * src/NetworkManager.c:
15288         * src/NetworkManagerDbus.c:
15289         * src/NetworkManagerDevice.c:
15290         * src/NetworkManagerPolicy.c:
15291         * src/NetworkManagerSystem.c:
15292         * src/nm-dbus-device.c:
15293         * src/nm-dbus-nm.c:
15294         * src/vpn-manager/nm-vpn-manager.c:
15295         * src/vpn-manager/nm-vpn-service.c:
15296         * test/libnm_glib_test.c:
15297         * test/nminfotest.c:
15298         * test/nmtestdevices.c:
15299         Fix a bunch of 'unused variable' compiler warnings
15300
15301         * NetworkManager.h:
15302         * gnome/applet/applet-dbus-info.c:
15303         * gnome/applet/applet-dbus-info.h:
15304         * gnome/applet/applet.c:
15305         * gnome/applet/applet.h:
15306         * src/NetworkManager.c:
15307         * src/NetworkManagerDbus.c:
15308         * src/NetworkManagerDbus.h:
15309         * src/NetworkManagerDevice.c:
15310         * src/NetworkManagerDevice.h:
15311         * src/NetworkManagerMain.h:
15312         * src/NetworkManagerWireless.c:
15313         * src/NetworkManagerWireless.h:
15314         * src/nm-dbus-nm.c:
15315         Make NetworkManager be smart about how frequently to scan
15316         based on its current state.  Remove the UI for choosing when
15317         to scan.  Scanning still may disabled completely by the user
15318         via the "Wireless Enabled" menu item.
15319
15320 2005-09-09  Christopher Aillon  <caillon@redhat.com>
15321
15322         * gnome/applet/applet.c:
15323         Also overlay the vpn connecting icons onto the wired icon,
15324         when appropriate.
15325
15326         * gnome/vpn-properties/nm-vpn-properties.glade:
15327         Clean up a few strings to use better grammar and proper casing.
15328
15329 2005-09-08  Christopher Aillon  <caillon@redhat.com>
15330
15331         * gnome/applet/vpn-connection.c:
15332         * gnome/applet/vpn-connection.h:
15333         Add nmwa_vpn_connection_is_activating ()
15334
15335         * gnome/applet/applet.c:
15336         * gnome/applet/applet.h:
15337         * gnome/applet/icons/nm-vpn-connecting*.png:
15338         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
15339         the user know something's happening between clicking the VPN item and it
15340         actually being connected.
15341
15342 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15343
15344         * gnome/applet/applet-dbus-info.c: need to free attributes in the
15345         failure case as well.
15346
15347 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
15348
15349         * gnome/panel/eggtrayicon.[ch]:
15350         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
15351
15352 2005-09-07  Dan Williams  <dcbw@redhat.com>
15353
15354         Patch from Bill Moss <bmoss@clemson.edu>
15355         * src/applet-dbus.c
15356                 - (nmwa_dbus_filter): strip whitespace from beginning
15357                         and end of VPN login banner
15358
15359 2005-09-07  Dan Williams  <dcbw@redhat.com>
15360
15361         * The great VPN Manager rewrite of 2005
15362
15363 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15364
15365         * gnome/applet/menu-items.c:
15366         * gnome/applet/nm-device.c:
15367         * gnome/applet/wireless-network.c:
15368         * gnome/libnm_glib/libnm_glib.c:
15369         * src/NetworkManagerDbusUtils.c:
15370         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
15371         g_malloc0 doesn't return NULL
15372
15373 2005-09-06  Dan Williams  <dcbw@redhat.com>
15374
15375         Patch from Tomislav Vujec <tvujec@redhat.com>
15376         * src/NetworkManagerDevice.c
15377                 - (nm_get_device_by_udi): don't return a device when we
15378                         actually didn't find what we were looking for
15379
15380 2005-09-06  Christopher Aillon  <caillon@redhat.com>
15381
15382         * gnome/applet/applet-dbus-devices.c:
15383         * gnome/applet/applet-dbus-devices.h:
15384         * gnome/applet/applet-dbus.c:
15385         * src/NetworkManagerDbus.c:
15386         * src/NetworkManagerDbus.h:
15387         * src/NetworkManagerDevice.c:
15388         * src/nm-dbus-device.c:
15389         Make NM push updates about active device strength when it changes,
15390         rather than having the applet poll every 2s.
15391
15392 2005-09-05  Christopher Aillon  <caillon@redhat.com>
15393
15394         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
15395         network_device_set_strength
15396
15397 2005-09-04  Dan Williams  <dcbw@redhat.com>
15398
15399         Patch from Bill Nottingham <notting@redhat.com>
15400         * src/NetworkManagerDevice.c
15401                 - (nm_device_activation_cancel): reset the quit_activation flag
15402
15403 2005-09-04  Dan Williams  <dcbw@redhat.com>
15404
15405         * src/nm-activation-request.c
15406                 - (nm_act_request_unref): actually free the structure,
15407                         which we didn't seem to be doing before
15408
15409 2005-09-04  Dan Williams  <dcbw@redhat.com>
15410
15411         Patch from John Palmieri <johnp@redhat.com>
15412         * gnome/applet/applet-dbus-devices.c
15413                 - Fix up unreffing of DBusMessage objects
15414
15415 2005-09-04  Dan Williams  <dcbw@redhat.com>
15416
15417         Patch from John Palmieri <johnp@redhat.com>
15418         * gnome/applet/nm-device.c
15419                 - (nm_device_unref): clear network_device's memory _before_ freeing it
15420
15421 2005-09-02  Christopher Aillon  <caillon@redhat.com>
15422
15423         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
15424
15425 2005-09-02  Bill Nottingham  <notting@redhat.com>
15426
15427         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
15428
15429 2005-09-01  Dan Williams  <dcbw@redhat.com>
15430
15431         * src/NetworkManager.c
15432                 - (nm_remove_device_from_list): rename to nm_remove_device
15433                 - (nm_hal_device_removed): call nm_remove_device()
15434
15435         * src/NetworkManagerDevice.c
15436                 - Change the NMWirelessScanCB member 'reschedule' which
15437                         wasn't used to 'force' to indicate that we need to
15438                         force a scan when adding a device
15439
15440         * src/nm-dbus-nm.c
15441                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
15442                         from the device list
15443                 - (nm_dbus_nm_wake): Re-add all devices to the device list
15444
15445 2005-09-01  Robert Love  <rml@novell.com>
15446
15447         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
15448           and the check "!iface" in the error case is probably never true.
15449
15450 2005-09-01  Dan Williams  <dcbw@redhat.com>
15451
15452         Patch from Bill Nottingham <notting@redhat.com>
15453         * src/backends/NetworkManagerRedHat.c
15454                 - Add initial dialup support to Red Hat/Fedora backend
15455
15456 2005-09-01  Dan Williams  <dcbw@redhat.com>
15457
15458         * gnome/applet/applet-dbus-devices.c
15459                 - Sort both wireless networks and devices again, which got
15460                         broken when removing threading
15461
15462 2005-09-01  Christopher Aillon  <caillon@redhat.com>
15463
15464         * gnome/applet/applet.c:
15465         Only show the "Stop/Start All Wireless Devices" menuitem
15466         if we actually have wireless devices.
15467
15468         * gnome/applet/applet-dbus-info.c:
15469         * gnome/applet/applet.c:
15470         * gnome/applet/other-network-dialog.c:
15471         * gnome/applet/vpn-password-dialog.c:
15472         Drop the gtk_dialog_run () calls in favor of connecting to
15473         "response" signals, needed now that the applet is not threaded.
15474
15475 2005-08-31  Dan Williams  <dcbw@redhat.com>
15476
15477         Patch from Bill Moss <bmoss@clemson.edu>
15478         * src/NetworkManagerDevice.c
15479                 - (nm_device_wireless_scan): fix scan timeout values
15480
15481 2005-08-30  Dan Williams  <dcbw@redhat.com>
15482
15483         * gnome/applet/wireless-applet.glade
15484                 - HIG-ify the Other Wireless Networks dialog a bit more
15485                 - Fix some potential segfaults in the info dialog
15486
15487 2005-08-30  Dan Williams  <dcbw@redhat.com>
15488
15489         * gnome/applet/applet-dbus-devices.c
15490                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
15491
15492 2005-08-30  Dan Williams  <dcbw@redhat.com>
15493
15494         * gnome/applet/applet-dbus.[ch]
15495                 - Remove all the nmwa_dbus_call_method_xxxx functions since
15496                         they weren't being used anyway
15497
15498 2005-08-30  Bastien Nocera  <hadess@hadess.net>
15499
15500         * test/nmtestdevices.c: (print_usage), (main):
15501         Check the number of arguments, and fix a typo
15502
15503 2005-08-29  Dan Williams  <dcbw@redhat.com>
15504
15505         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
15506         * gnome/applet/applet.c
15507                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
15508
15509 2005-08-29  Dan Williams  <dcbw@redhat.com>
15510
15511         * gnome/applet/*
15512                 - Don't use threads any more.  Anything that blocks
15513                         (like gtk_dialog_run()) will  have to get fixed up which
15514                         should happen quickly.  We really only had threads to make
15515                         the animation smooth, and when everything got converted over
15516                         to DBus Pending Calls, the need for threads kind of went away
15517
15518 2005-08-29  Christopher Aillon  <caillon@redhat.com>
15519
15520         * gnome/applet/applet.c: Draw VPN connections as radio items
15521         since we don't yet support multiple VPNs.
15522         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
15523         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
15524
15525 2005-08-29  Dan Williams  <dcbw@redhat.com>
15526
15527         Patch from j@bootlab.org
15528         - Make --without-named work
15529         - Make --with-dhcdbd work correctly
15530
15531 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
15532
15533         * configure.in: Added "ca" to ALL_LINGUAS.
15534
15535 2005-08-26  Christopher Aillon  <caillon@redhat.com>
15536
15537         * Fix up VPN state handling between the applet and NetworkManager,
15538                 so that the applet doesn't show a VPN as connected when one
15539                 really is not
15540                         - The applet no longer has a pointer to the active VPN's
15541                                 name, but tracks each VPNs state individually
15542                         - NM no longer has a "getActiveVPNConnection" method
15543                         - NM no longer broadcasts the "VPNConnectionChange" signal
15544                         - NM now broadcasts a "VPNConnectionStateChange" signal
15545                                 whenever the state of a VPN changes
15546
15547 2005-08-26  Dan Williams <dcbw@redhat.com>
15548
15549         * gnome/applet/applet-dbus-devices.c
15550           gnome/applet/applet-dbus-vpn.c
15551                 - Remove calls to dbus_pending_call_ref() because we already
15552                         "own" the pending call
15553                 - Remove calls to dbus_pending_call_get_completed() because
15554                         when we are in the callback, the pending call is completed
15555                         by definition
15556
15557 2005-08-22  Dan Williams <dcbw@redhat.com>
15558
15559         Patch by Bill Moss <bmoss@clemson.edu>
15560         * src/dhcp-manager/nm-dhcp-manager.c
15561                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
15562                         some time to send out a RELEASE if they like
15563
15564 2005-08-22  Dan Williams <dcbw@redhat.com>
15565
15566         Noticed by Bill Moss <bmoss@clemson.edu>
15567         * src/NetworkManagerDbus.c
15568                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
15569                         instead of just cancelling its activation
15570
15571         * src/NetworkManagerDevice.c
15572                 - (nm_device_deactivate): some small cleanups
15573                 - (nm_device_set_user_key_for_network): deactivate the device
15574                         instead of just cancelling its activation
15575
15576 2005-08-22  Dan Williams <dcbw@redhat.com>
15577
15578         Noticed by Bill Moss <bmoss@clemson.edu>
15579         * src/NetworkManagerDevice.c
15580                 - (nm_device_wireless_scan): fix scan timeout, we were
15581                         waiting way too long for scans to complete
15582
15583 2005-08-22  Dan Williams <dcbw@redhat.com>
15584
15585         Patch from j@bootlab.org:
15586         * src/backends/NetworkManagerDebian.c
15587                 - Make the Debian backend work for static IP again
15588
15589 2005-08-20  Christopher Aillon  <caillon@redhat.com>
15590
15591         * gnome/applet/other-network-dialog.c:
15592         The "Create New Network" and "Connect to Other Network"
15593         dialogs share alot of code, but shouldn't share a window
15594         title.  Give them different ones.
15595
15596         * gnome/applet/wireless-applet.glade:
15597         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
15598         Some more minor UI tweaks.
15599
15600 2005-08-19  Christopher Aillon  <caillon@redhat.com>
15601
15602         * gnome/applet/other-network-dialog.c:
15603         * gnome/applet/wireless-applet.glade:
15604         Also need mnemonic widgets, and underline enabled.
15605
15606 2005-08-19  Dan Williams <dcbw@redhat.com>
15607
15608         * vpn-daemons/vpnc/nm-vpnc-service.c
15609                 - (vpnc_watch_cb): remove no-longer-relevant comment
15610                 - (write_config_option): new function, helper to write
15611                         config options to vpnc's stdin
15612                 - (nm_vpnc_config_write): use the new helper, make the
15613                         code shorter
15614
15615 2005-08-19  Christopher Aillon <caillon@redhat.com>
15616
15617         * gnome/applet/passphrase-dialog.c:
15618         * gnome/applet/wireless-applet.glade:
15619         Make the passphrase dialog response based, and treat
15620         responses other than OK (such as Esc, [X]) as a cancel.
15621
15622 2005-08-18  Christopher Aillon <caillon@redhat.com>
15623
15624         * initscript/Gentoo/NetworkManager:
15625         * initscript/RedHat/NetworkManager:
15626         * initscript/RedHat/NetworkManagerDispatcher:
15627         * initscript/SUSE/networkmanager:
15628         CVS remove these in place of .in replacements
15629
15630         * configure.in:
15631         * initscript/Gentoo/NetworkManager.in:
15632         * initscript/RedHat/NetworkManager.in:
15633         * initscript/RedHat/NetworkManagerDispatcher.in:
15634         * initscript/SUSE/networkmanager.in:
15635         These scripts now are generated so they work still when
15636         NM is built using a bindir other than /usr/bin
15637
15638 2005-08-18  Dan Williams <dcbw@redhat.com>
15639
15640         * gnome/applet/main.c
15641                 - Revert previous change for --no-session since
15642                         --sm-disable does the same thing
15643
15644 2005-08-18  Dan Williams <dcbw@redhat.com>
15645
15646         * gnome/applet/applet-dbus-info.c
15647                 - (nmi_dbus_create_error_message): new function
15648                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
15649                         functions.  Also don't check for both device _and_ network before
15650                         asking for a user's key, because we may not have gotten all our
15651                         networks back from NM quite yet (due to the dbus pending calls
15652                         coming in later).  Fixes a hang in NM/nm-applet.
15653
15654         * src/NetworkManagerDbus.c
15655                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
15656                         slightly more sane manner, even though we are still broken for
15657                         certain other error conditions.
15658                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
15659                         to the info-daemon too
15660
15661         * src/NetworkManagerDevice.c
15662                 - Fix some debug messages to be info messages instead
15663
15664 2005-08-18  Dan Williams <dcbw@redhat.com>
15665
15666         * gnome/applet/main.c
15667                 - Add new "--no-session" parameter that disables applet
15668                         session management, ie for testing
15669
15670 2005-08-18  Christopher Aillon <caillon@redhat.com>
15671
15672         * gnome/applet/other-network-dialog.c:
15673         * gnome/applet/wireless-applet.glade: More mnemonics
15674
15675 2005-08-17  Robert Love  <rml@novell.com>
15676
15677         * initscript/SUSE/networkmanager: update
15678
15679 2005-08-17  Dan Williams  <dcbw@redhat.com>
15680
15681         * Tag NM_0_4_1_RELEASE
15682
15683 2005-08-17  Christopher Aillon  <caillon@redhat.com>
15684
15685         * gnome/applet/applet.c: More translatable string cleanup
15686
15687
15688 2005-08-17  Dan Williams  <dcbw@redhat.com>
15689
15690         * gnome/applet/applet-dbus-info.c
15691                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
15692                         from the dbus message, which tells us to unconditionally
15693                         ask the user for a new key.  Otherwise, we pull the key from
15694                         the keyring and return it.  If we fail to get the key from the
15695                         keyring, we ask the user for a new key.
15696                 - (nmi_dbus_get_network_key): new function to grab the key for
15697                         an essid from the keyring.
15698                 - (nmi_dbus_get_network_properties): don't access the keyring here.
15699                         Also, don't return any key in the dbus message.
15700
15701         * src/NetworkManagerDbus.[ch]
15702                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
15703                         indicate that we unconditionally want a new key.  This function
15704                         is now also used to get keys from the info-daemon which are
15705                         pre-stored, not just for asking the user for a new key.  The
15706                         "new_key" parameter indicates whether or not we wish to ask the
15707                         user for a new key.
15708                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
15709                         info-daemon in the return message, so use NULL instead.  The
15710                         key will be filled in at connect time by calling
15711                         nm_dbus_get_user_key_for_network()
15712
15713         * src/NetworkManagerDevice.c
15714                 - (nm_device_wireless_configure): update for "new_key" param to
15715                         nm_dbus_get_user_key_for_network().  We initially set new_key
15716                         to FALSE to see if we have a stored key in the info-daemon, but
15717                         if the connection is unsuccessful at this stage we request a
15718                         new one
15719
15720 2005-08-17  Dan Williams  <dcbw@redhat.com>
15721
15722         * gnome/applet/icons/nm-no-connection.png
15723           gnome/applet/icons/nm-device-wired.png
15724                 - Use Diana's new RJ45 connector icons
15725
15726 2005-08-17  Dan Williams  <dcbw@redhat.com>
15727
15728         * src/NetworkManagerPolicy.c
15729                 - (nm_policy_device_change_check): clarify switching rules if
15730                         both new and old devices are valid; mainly, don't switch
15731                         away from user-requested wireless connection back to a wired
15732                         one
15733
15734 2005-08-17  Dan Williams  <dcbw@redhat.com>
15735
15736         * gnome/applet/Makefile.am
15737                 - Relocate the applet to /usr/bin since it is no longer
15738                         executed by anything, but directly by the user
15739
15740 2005-08-17  Dan Williams  <dcbw@redhat.com>
15741
15742         Patch from Bill Moss <bmoss@clemson.edu>
15743
15744         * gnome/applet/applet-dbus-info.[ch]
15745                 - (nmi_save_network_info): save timestamp for network if it
15746                         was a change requested by the user
15747                 - (nmi_dbus_update_network_info): get user_requested from dbus
15748                         message and pass to nmi_save_network_info()
15749
15750         * gnome/applet/applet.c
15751                 - (nmwa_update_network_timestamp): remove
15752                 - (nmwa_menu_item_activate): don't set timestamp on networks
15753                         here, only after a successful connect in nmi_save_network_info()
15754
15755         * src/NetworkManagerDbus.[ch]
15756                 - (nm_dbus_update_network_info): pass user_requested into the 
15757                         dbus message
15758
15759         * src/NetworkManagerPolicy.c
15760                 - (nm_policy_activation_finish): pass user_requested to
15761                         nm_dbus_update_network_info()
15762
15763 2005-08-16  Robert Love  <rml@novell.com>
15764
15765         * gnome/applet/applet.c: Better "Dial Up" menu item.
15766
15767 2005-08-16  Robert Love  <rml@novell.com>
15768
15769         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
15770           "Connection Information" menu item.
15771
15772 2005-08-16  Dan Williams  <dcbw@redhat.com>
15773
15774         Patch from j@bootlab.org
15775         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
15776
15777         * configure.in: allow specifying the path to dhcdbd
15778
15779 2005-08-16  Robert Love  <rml@novell.com>
15780
15781         Patch from j@bootlab.org
15782         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
15783           src/backends/interface_parser.h: Debian dialup support.
15784
15785 2005-08-16  Christopher Aillon  <caillon@redhat.com>
15786
15787         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
15788         * gnome/applet/applet.c: Add some mnemonics for VPNC
15789
15790         * vpn-daemons/.cvsignore: fix this up a little bit
15791
15792 2005-08-16  Robert Love  <rml@novell.com>
15793
15794         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
15795           support.
15796
15797 2005-08-16  Christopher Aillon  <caillon@redhat.com>
15798
15799         * gnome/applet/applet.c: Split markup out of translatable strings
15800         and clean up logic a little bit.  (fixes #309012)
15801
15802 2005-08-15  Christopher Aillon  <caillon@redhat.com>
15803
15804         * gnome/vpn-properties/nm-vpn-properties.c:
15805         * gnome/vpn-properties/nm-vpn-ui-interface.h:
15806         * vpn-daemons/vpnc/properties/nm-vpnc.c:
15807         Makeshift fix to remove newlines from translatable strings.
15808         Note that we now return an allocated string, so callers of
15809         get_confirmation_details () must now call g_free () on the
15810         result. (fixes #309033).
15811
15812 2005-08-12  Robert Love  <rml@novell.com>
15813
15814         * gnome/applet/applet-dbus.c: remove newlines from translatable
15815           strings--not needed here anyway. (fix b.g.o #309011)
15816         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
15817
15818 2005-08-11  Robert Love  <rml@novell.com>
15819
15820         * gnome/applet/applet.c: mark string as translatable.
15821
15822 2005-08-11  Robert Love  <rml@novell.com>
15823
15824         * initscript/SUSE/networkmanager: update.
15825
15826 2005-08-11  Dan Williams  <dcbw@redhat.com>
15827
15828         * src/nm-dhcp-manager.c
15829                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
15830                         an gateway returned from DHCP, try to use the address of the DHCP
15831                         server as the gateway instead.  Found by Ralf Ertzinger.
15832
15833 2005-08-10  Robert Love  <rml@novell.com>
15834
15835         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
15836           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
15837
15838 2005-08-10  Dan Williams  <dcbw@redhat.com>
15839
15840         Patch from Bill Moss <bmoss@clemson.edu>
15841         * Consolidate writes of access point information updates to the info daemon
15842                 so that we only do it when the connection to the access point was
15843                 successful.  Also consolidates updates to GConf in the Gnome applet.
15844
15845         * src/nm-netlink-monitor.c
15846                 - Silence compile warning when calling g_object_new()
15847
15848 2005-08-08  Dan Williams  <dcbw@redhat.com>
15849
15850         Patch from Steev <steev@steev.net>:
15851         * src/backends/NetworkManagerGentoo.c
15852                 - Stub new dialup backend functions
15853
15854 2005-08-08  Dan Williams  <dcbw@redhat.com>
15855
15856         Patch from Colin Slater:
15857         * src/backends/NetworkManagerGentoo.c
15858                 - (nm_system_update_dns): Fix exit status check for restarting
15859                         nscd
15860
15861 2005-08-05  Robert Love  <rml@novell.com>
15862
15863         * NetworkManager.h,
15864           gnome/applet/applet-dbus-devices.c,
15865           gnome/applet/applet-dbus-devices.h,
15866           gnome/applet/applet-dbus.c,
15867           gnome/applet/applet.c,
15868           gnome/applet/applet.h,
15869           src/NetworkManager.c,
15870           src/NetworkManagerMain.h,
15871           src/NetworkManagerSystem.h,
15872           src/backends/NetworkManagerRedHat.c,
15873           src/backends/NetworkManagerSuSE.c,
15874           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
15875
15876 2005-08-05  Robert Love  <rml@novell.com>
15877
15878         * gnome/applet/other-network-dialog.c: default the adhoc network to the
15879           machine's hostname to make adhoc creation idiot-proof.
15880
15881 2005-08-04  Robert Love  <rml@novell.com>
15882
15883         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
15884           freed.
15885
15886 2005-08-04  Dan Williams  <dcbw@redhat.com>
15887
15888         * gnome/applet/applet-dbus-info.c
15889           gnome/applet/applet-dbus-info.h
15890                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
15891                         to store key, key type, and auth method rather than just auth method
15892                 - (nmi_dbus_update_network_info): new function
15893                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
15894
15895         * gnome/applet/passphrase-dialog.c
15896                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
15897                         of saving the info ourselves
15898
15899         * gnome/libnm_glib/libnm_glib.c
15900                 - Remove the stupid version check for dbus
15901
15902         * src/NetworkManagerAP.c
15903           src/NetworkManagerAP.h
15904                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
15905
15906         * src/NetworkManagerDbus.c
15907           src/NetworkManagerDbus.h
15908                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
15909                         more than just the auth method
15910
15911         * src/NetworkManagerDevice.c
15912                 - Update network info at the appropriate times
15913
15914 2005-07-29  Ray Strode  <rstrode@redhat.com>
15915
15916         * src/NetworkManager.c (nm_info_handler): don't use input as format
15917         string (Spotted by Ian Jackson).
15918
15919 2005-07-27  Dan Williams  <dcbw@redhat.com>
15920
15921         * src/nm-dbus-nm.c
15922           src/nm-dbus-net.c
15923                 - Random cleanups of spacing
15924
15925         * gnome/applet/applet.h
15926           gnome/applet/other-network-dialog.c
15927           gnome/applet/passphrase-dialog.c
15928                 - Conslidate usage of NMWAEncryptionKeyTypes enum
15929
15930         Patch from Bill Moss:
15931                 - Make Other Wireless Networks work again with encryption keys
15932
15933 2005-07-26  Dan Williams  <dcbw@redhat.com>
15934
15935         Patch from Steev <steev@steev.net>:
15936         * src/backends/NetworkManagerGentoo.c
15937           src/backends/Makefile.am
15938                 - Fix up Gentoo backend
15939
15940 2005-07-26  Robert Love  <rml@novell.com>
15941
15942         * src/backends/NetworkManagerSuSE.c: misc. cleanup
15943
15944 2005-07-25  Robert Love  <rml@novell.com>
15945
15946         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
15947           in the same group as the wireless networks, since they are all
15948           mutually exclusive.
15949
15950 2005-07-24  Ray Strode  <rstrode@redhat.com>
15951
15952         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
15953         remove unneeded NULL arg from g_object_new().  Any
15954         warnings caused by not having the extra NULL are just a
15955         result of a bug in glib 2.7.0 - 2.7.2.
15956
15957 2005-07-22  Robert Love  <rml@novell.com>
15958
15959         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
15960
15961 2005-07-22  Robert Love  <rml@novell.com>
15962
15963         * src/nm-netlink-monitor.c: g_object_new() needs at least three
15964           parameters (gcc 4.0.2 warning fix).
15965
15966 2005-07-18  Robert Love  <rml@novell.com>
15967
15968         Suggested by Aaron Bockover (abockover@novell.com)
15969         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
15970           s/Ascii/ASCII
15971         * gnome/applet/passphrase-dialog.c: ditto
15972         * gnome/applet/wireless-applet.glade: ditto
15973
15974 2005-07-13  Dan Williams  <dcbw@redhat.com>
15975
15976         Patch from Ray Strode <halfline@gmail.com>
15977         * vpn-daemons/vpnc/nm-vpnc-service.c
15978                 - Don't let vpnc daemonize, fixes some races with PID file reading
15979
15980 2005-07-13  Dan Williams  <dcbw@redhat.com>
15981
15982         Patch from Ray Strode <halfline@gmail.com>
15983         * Random cleanups for strict CFLAGS
15984
15985 2005-07-07  Dan Williams  <dcbw@redhat.com>
15986
15987         Patch from Derek Atkins <warlord@MIT.EDU>
15988         * src/nm-dbus-net.c:
15989                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
15990
15991 2005-07-07  Dan Williams  <dcbw@redhat.com>
15992
15993         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
15994         * src/backends/NetworkManagerGentoo.c
15995                 - Gentoo backend Static IP nameserver fixes
15996                 - General Gentoo backend goodness
15997
15998 2005-07-07  Dan Williams  <dcbw@redhat.com>
15999
16000         Patch from Bastien Nocera:
16001         * gnome/applet/applet.c
16002                 - Fix up error reporting when icons or glade files are missing
16003
16004 2005-07-07  Robert Love  <rml@novell.com>
16005
16006         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
16007           are not any VPN connections above it.
16008
16009 2005-07-07  Robert Love  <rml@novell.com>
16010
16011         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
16012
16013 2005-07-05  Robert Love  <rml@novell.com>
16014
16015         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
16016           zero.
16017
16018 2005-07-05  Robert Love  <rml@novell.com>
16019
16020         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
16021           on wired or unencrypted wireless.
16022
16023 2005-07-01  Robert Love  <rml@novell.com>
16024
16025         * src/NetworkManagerSystem.c: Print the error via strerror().
16026
16027 2005-06-30  Robert Love  <rml@novell.com>
16028
16029         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
16030           then exit if the glade file is not found.  currently the application
16031           just hangs.
16032
16033 2005-06-30  Robert Love  <rml@novell.com>
16034
16035         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
16036           explicitly up all interfaces on wake from sleep.
16037
16038 2005-06-30  Robert Love  <rml@novell.com>
16039
16040         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
16041           with information about the currently active connection.
16042         * gnome/applet/applet.h: (ditto)
16043         * gnome/applet/wireless-applet.glade: (ditto), new file
16044
16045 2005-06-30  Robert Love  <rml@novell.com>
16046
16047         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
16048         * src/nm-dbus-nm.c: print when we sleep and wake up.
16049         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
16050         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
16051           in /sbin unless D-BUS is, folks).
16052         * README: update to reflect nm-applet replacing NetworkManagerInfo.
16053
16054 2005-06-27  Robert Love  <rml@novell.com>
16055
16056         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
16057           case.
16058
16059 2005-06-27  Robert Love  <rml@novell.com>
16060
16061         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
16062           items radios.
16063
16064 2005-06-26  Robert Love  <rml@novell.com>
16065
16066         * src/NetworkManagerDevice.c: be specific about which device in
16067           nm_info() message.
16068
16069 2005-06-23  Adam Weinberger  <adamw@gnome.org>
16070
16071         * src/nm-netlink-monitor.c: correct spelling error.
16072
16073 2005-06-23  Robert Love  <rml@novell.com>
16074
16075         * gnome/applet/applet-dbus-info.c: gnome keyring support!
16076         * gnome/applet/passphrase-dialog.c: more of that keyring!
16077
16078 2005-06-23  Robert Love  <rml@novell.com>
16079
16080         * configure.in: remove extraneous GNOMEKEYRING directives.
16081         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
16082         * gnome/applet/applet.c: nmwa_icons_init: make style local.
16083         * gnome/applet/passphrase-dialog.c: whitespace.
16084
16085 2005-06-23  Robert Love  <rml@novell.com>
16086
16087         * src/NetworkManagerDevice.c: division in assignment was flipped.
16088
16089 2005-06-23  David Zeuthen  <david@fubar.dk>
16090
16091         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
16092         signal to the child to indicate that we got what we wanted when we
16093         see two new-lines right after each other.
16094         (nmwa_vpn_request_password): Pass a structure with several members
16095         instead of just the passwords
16096
16097 2005-06-23  Dan Williams <dcbw@redhat.com>
16098
16099         * src/NetworkManager.c
16100           src/NetworkManagerMain.h
16101                 - (nm_get_hal_ctx): new function, move Hal initialization code here
16102                 - (nm_hal_init): new function, init libhal context then add devices
16103                 - (nm_hal_deinit): new function, clean up libhal context
16104                 - (nm_data_free): Move Hal cleanup here
16105                 - (main): check whether Hal is running, and if so, get a list of
16106                         network devices from it
16107
16108         * src/NetworkManagerDbus.c
16109                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
16110                         and when it appears, get a list of network devices from it.  If
16111                         Hal goes away, clean up the libhal context
16112
16113 2005-06-22  Robert Love  <rml@novell.com>
16114
16115         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
16116           permissions of scripts before executing.
16117
16118 2005-06-21  Robert Love  <rml@novell.com>
16119
16120         * initscript/SUSE/networkmanager: update.
16121         * src/backends/NetworkManagerSuSE.c: cleanup.
16122
16123 2005-06-21  Robert Love <rml@novell.com>
16124
16125         * gnome/applet/applet.c: use menu mnemonics.
16126         * gnome/applet/menu-items.c: (ditto)
16127
16128 2005-06-21  Robert Love  <rml@novell.com>
16129
16130         * applet/applet-dbus-devices.c: mark non-static functions static.
16131         * applet/applet-dbus-vpn.c: (ditto)
16132         * applet/applet.c: (ditto)
16133         * applet/nm-device.h: (ditto)
16134         * applet/other-network-dialog.c: (ditto)
16135         * applet/passphrase-dialog.c: (ditto)
16136         * NetworkManager.c: (ditto)
16137         * NetworkManagerDbus.c: (ditto)
16138         * NetworkManagerDevice.c: (ditto)
16139         * NetworkManagerPolicy.c: (ditto)
16140         * NetworkManagerUtils.c: (ditto)
16141         * NetworkManagerWireless.c: (ditto)
16142         * NetworkManagerWireless.h: (ditto)
16143         * nm-netlink-monitor.c: (ditto)
16144         * applet/applet-dbus-info.c: (ditto), add FIXME's.
16145         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
16146         * autoip.c: include autoip.h.
16147         * autoip.h: new file.  define get_autoip().
16148         * nm-netlink-monitor.h: define nm_netlink_close_connection().
16149         * NetworkManagerDbus.h: remove duplicate definitions.
16150
16151 2005-06-20  Robert Love  <rml@novell.com>
16152
16153         * Makefile.am: Add missing intltool-foo.in generated files to
16154           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
16155           with the start of stuff to cleanup on 'distclea'.
16156         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
16157           stuff right and 'distcheck' works.
16158         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
16159           we keep it, we need to add all of examples/* to EXTRA_DIST and do
16160           Makefile.am for each.  And systray/Makefile needs to be redone.
16161
16162 2005-06-19  Dan Williams <dcbw@redhat.com>
16163
16164         * src/NetworkManagerDevice.c
16165         - (nm_device_wireless_process_scan_results): scan every 20s when
16166           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
16167
16168 2005-06-19  Dan Williams <dcbw@redhat.com>
16169
16170         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
16171
16172 2005-06-18  Ray Strode <rstrode@redhat.com>
16173
16174         * src/nm-netlink-monitor.c 
16175         (nm_netlink_monitor_event_handler): check for the presence
16176         of either error condition not both. 
16177         
16178         (nm_netlink_monitor_error_handler): emit error signal if
16179         error occurs.
16180
16181         (nm_netlink_monitor_event_handler),
16182         (nm_netlink_monitor_error_handler),
16183         (nm_netlink_monitor_disconnect_handler): if an 
16184         assertion fails disconnect the event handler to prevent 
16185         infinite loops.
16186
16187         * src/nm-netlink-monitor.h: add new error condition
16188         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16189
16190 2005-06-18  Ray Strode <rstrode@redhat.com>
16191
16192         * src/nm-netlink-monitor.c 
16193         (nm_netlink_monitor_event_handler): remove bogus < 0
16194         check on unsigned value and return early if the kernel
16195         didn't send any bytes.
16196
16197 2005-06-17  Robert Love  <rml@novell.com>
16198
16199         * initscript/SUSE/networkmanager: Change the Provides and default
16200         run levels
16201
16202 2005-06-16  Dan Williams <dcbw@redhat.com>
16203
16204         Patch from Robert Love:
16205         * gnome/applet/applet.c
16206                 - Beautify some applet menu item names
16207
16208 2005-06-17  David Zeuthen  <davidz@redhat.com>
16209
16210         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
16211         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
16212         Also add new methods can_export, import_file and export.
16213
16214         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
16215         to the main UI
16216
16217         * gnome/vpn-properties/nm-vpn-properties.c:
16218         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
16219         nm-vpn-ui-interface.h.
16220         (update_edit_del_sensitivity): Also update "Export" sensitivity
16221         (add_vpn_connection): Also add new SVC_NAME column
16222         (import_settings): New function
16223         (retrieve_data_from_selected_connection): New function
16224         (edit_cb): Use retrieve_data_from_selected_connection to simplify
16225         this function
16226         (export_cb): New function
16227         (init_app): Also setup the "export" widget
16228         (main): Support the --import-service and --import-file commandline
16229         arguments
16230
16231         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
16232         D-BUS 0.34
16233
16234 2005-06-16  Dan Williams <dcbw@redhat.com>
16235
16236         Patch from Robert Love:
16237         * gnome/applet/menu-items.c
16238                 - (network_menu_item_new): pass -1 as wireless network
16239                         menu items height size request rather than ascent / 2
16240
16241 2005-06-16  Dan Williams <dcbw@redhat.com>
16242
16243         * Clean up wording in Wireless Scan Methods menu items and constants
16244
16245 2005-06-16  Robert Love  <rml@novell.com>
16246
16247         * po/POTFILES.in
16248                 - remove gtkcell* files
16249
16250 2005-06-15  Dan Williams <dcbw@redhat.com>
16251
16252         Patch from Robert Love: make the applet stetic
16253
16254         * gnome/applet/Makefile.am
16255                 - Don't compile the gtkcellview and gtkcellrendererprogress files
16256
16257         * gnome/applet/gtkcellview.h
16258           gnome/applet/gtkcellview.c
16259           gnome/applet/gtkcellrendererprogress.h
16260           gnome/applet/gtkcellrendererprogress.c
16261                 - Removed
16262
16263         * gnome/applet/menu-items.c
16264                 - Progress bars are 5:1 size ratio
16265                 - Use GTK progress bars rather than internal ones
16266
16267 2005-06-15  Dan Williams <dcbw@redhat.com>
16268
16269         Patch from Robert Love:
16270         * initscript/SUSE/networkmanager
16271                 - Fix typo
16272
16273 2005-06-15  Dan Williams <dcbw@redhat.com>
16274
16275         * src/backends/NetworkManagerSuSE.c
16276           src/backends/NetworkManagerRedHat.c
16277           src/backends/NetworkManagerDebian.c
16278                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
16279
16280 2005-06-15  Dan Williams <dcbw@redhat.com>
16281
16282         * src/backends/NetworkManagerDebian.c
16283                 - Add nm_system_device_get_use_dhcp() to debian backend
16284
16285         Patch from Kay Sievers:
16286         * src/backends/NetworkManagerSuSE.c
16287                 - Update debian backend for static IP nameservers
16288
16289         * src/NetworkManagerDevice.c
16290                 - Actually set the device to use static IP or DHCP rather
16291                         than always DHCP
16292
16293 2005-06-15  Dan Williams <dcbw@redhat.com>
16294
16295         Patch from Thom May:
16296         * src/backends/NetworkManagerDebian.c
16297                 - Update debian backend for static IP nameservers
16298
16299 2005-06-15  Dan Williams <dcbw@redhat.com>
16300
16301         Patches from Robert Love:
16302         * gnome/applet/wireless-applet.glade
16303                 - Tighten up wording
16304
16305         * src/NetworkManagerDevice.c
16306                 - Remove misplaced ';'
16307
16308         * configure.in
16309           initscript/Makefile.am
16310           initscript/SUSE/Makefile.am
16311           initscript/SUSE/networkmanager
16312                 - Add SUSE initscript
16313
16314 2005-06-12  David Zeuthen  <davidz@redhat.com>
16315
16316         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
16317
16318         * gnome/vpn-properties/nm-vpn-properties.glade: New file
16319
16320         * gnome/vpn-properties/nm-vpn-properties.c: New file
16321
16322         * gnome/vpn-properties/Makefile.am: New file
16323
16324         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
16325         array of passwords
16326
16327         * src/vpn-manager/nm-vpn-manager.c
16328         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
16329         instead of just a single one
16330
16331         * src/vpn-manager/nm-dbus-vpn.c:
16332         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
16333         here
16334         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
16335
16336         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
16337         Change the interface here to give a list of passwords. Also, don't
16338         require username, but do require service
16339
16340         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
16341         the binary for the auth-dialog and use that instead of putting up a
16342         dialog asking for a single password
16343
16344         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
16345         however do remember the service
16346
16347         * gnome/applet/main.c (main): Setup i18n
16348
16349         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
16350         connection to '%s'" to the tooltip if we are connected using VPN
16351         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
16352         key to determine whether we the auth-dialog needs to
16353         reprompt. Also cope with the fact that the auth-dialog now returns
16354         an array of passwords.
16355         (nmwa_menu_configure_vpn_item_activate): New handler for
16356         "Configure VPN..." menu item
16357         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
16358         (is_vpn_available): New function to determine if we got any
16359         NM-compatible VPN software installed
16360         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
16361         items only if we have NM-compatible VPN software installed
16362         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
16363         logic for detecting when VPN connections are removed
16364
16365         * gnome/applet/applet-dbus.h: Removed the prototypes for 
16366         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
16367         since these are defined elsewhere
16368
16369         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
16370         function used to keep track of whether the last attempt succeded
16371         (nmwa_dbus_filter): Update last_attempt according to whether the
16372         VPN connection could be established or not
16373
16374         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
16375         Change prototype to take an array of passwords, not just a single
16376         password
16377
16378         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
16379         update service, not user
16380         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
16381         dbus_active_vpn_name is not NULL before using it
16382         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
16383         string array instead of assuming a single password
16384
16385         * gnome/applet/applet-dbus-info.c:
16386         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
16387         user name; don't read from gconf
16388
16389         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
16390         VPN_NAME_FILES_DIR
16391
16392         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
16393
16394         * configure.in: Add checks for gmodule-2.0.
16395         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
16396         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
16397         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
16398         for details
16399
16400         * vpn-daemons/Makefile.am: Removed
16401
16402         * vpn-daemons/README: New file to describe extensions points for VPN
16403         software
16404
16405 2005-06-10  Dan Williams <dcbw@redhat.com>
16406
16407         * src/backends/NetworkManagerRedHat.c
16408                 - (get_current_profile_name): new function, grab current network profile name from
16409                         /etc/sysconfig/network
16410                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
16411                         update an IP4 Config structure's settings from it
16412                 - (nm_system_device_get_system_config): if we're using static IP on this device,
16413                         get DNS info from current network profile
16414
16415 2005-06-09  Dan Williams <dcbw@redhat.com>
16416
16417         Patch from Robert Love:
16418         * src/NetworkManagerDevice.c
16419           src/NetworkManagerUtils.c
16420                 - 64-bit build fixes
16421
16422 2005-06-09  Dan Williams <dcbw@redhat.com>
16423
16424         Patch from Kay Sievers and Robert Love:
16425         * configure.in
16426           src/backends/Makefile.am
16427           src/backends/NetworkManagerSuSE.c
16428                 - Add SuSE support
16429
16430 2005-06-09  Dan Williams <dcbw@redhat.com>
16431
16432         * NetworkManager.h
16433                 - Add NMWirelessScanMethod enum for scan methods
16434
16435         * gnome/applet/applet-dbus-devices.c
16436                 - (nmwa_dbus_update_scanning_enabled_cb): remove
16437                 - (nmwa_dbus_update_scanning_enabled): remove
16438                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
16439                         since it got removed
16440                 - (nmwa_dbus_enable_scanning): remove
16441
16442         * gnome/applet/applet-dbus-info.c
16443                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
16444                         update the wireless scanning method from NMI
16445                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
16446                         method value to NetworkManager
16447                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
16448
16449         * gnome/applet/applet-dbus-info.h
16450                 - Add prototype for nmi_dbus_signal_update_scan_method
16451
16452         * gnome/applet/applet.c
16453                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
16454                         Wireless Scanning menu based on current wireless scan method
16455                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
16456                         signal for Wireless Scanning menu items, tell NetworkManager the new method
16457                         and update our menu items to make sure the right one is checked
16458                 - (nmwa_set_scanning_enabled_cb): remove
16459                 - (nmwa_context_menu_update): remove references to pause_scanning_item
16460                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
16461                         Scanning menu item
16462                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
16463                         from GConf
16464                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
16465                         so we get notified of preference values too
16466                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
16467
16468         * gnome/applet/applet.h
16469                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
16470                 - Add wireless scan method member to applet data
16471                 - Remove pause_scanning_item, add Wireless Scanning submenu
16472
16473         * src/NetworkManager.c
16474                 - (nm_data_new): default to NM_SCAN_METHOD_ON
16475                 - (main): grab scanning method from NMI if we can
16476
16477         * src/NetworkManagerDbus.c
16478                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
16479                         nm_dbus_update_wireless_scan_method()
16480                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
16481                         from NMI
16482                 - (nm_dbus_nmi_is_running): redundant function, removed
16483                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
16484                         when NMI comes back
16485
16486         * src/NetworkManagerDevice.c
16487                 - (nm_device_is_activated): return TRUE if the device is activated
16488                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
16489                         and we are activated
16490
16491         * src/nm-dbus-nm.c
16492                 - (nm_dbus_nm_set_scanning_enabled): removed
16493                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
16494                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
16495
16496 2005-06-09  Dan Williams <dcbw@redhat.com>
16497
16498         * NetworkManager.h
16499           src/vpn-manager/nm-vpn-service.c
16500                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
16501
16502 2005-05-27  Dan Williams <dcbw@redhat.com>
16503
16504         * vpn-daemons/vpnc/nm-vpnc-service.c
16505                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
16506                         Should fix the bug where the VPN connection terminates the first time.
16507
16508 2005-05-20  Dan Williams <dcbw@redhat.com>
16509
16510         * NetworkManager.h
16511                 - Differentiate VPN config signals between bad VPN config options
16512                         and bad IP config
16513
16514         * gnome/applet/applet-dbus-info.h
16515                 - Add prototypes for wireless network and vpn connection update functions
16516
16517         * gnome/applet/applet-dbus.c
16518                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
16519
16520         * gnome/applet/applet.c
16521                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
16522                         error signals
16523                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
16524                         propogation to NetworkManager
16525                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
16526                         notify propogation to NetworkManager
16527
16528         * src/NetworkManagerDbus.c
16529                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
16530                         are updating so a network can be removed from it if necessary
16531
16532         * src/vpn-manager/nm-vpn-manager.c
16533                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
16534
16535         * vpn-daemons/vpnc/nm-vpnc-service.c
16536                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
16537                 - (nm_vpnc_dbus_signal_launch_failed): remove
16538                 - (nm_vpnc_dbus_signal_connect_failed): remove
16539                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
16540                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
16541                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
16542                         for new generalized error signal function, remove config file stuff
16543                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
16544                         we can write configuration options to it
16545                 - (nm_vpnc_config_file_generate): removed
16546                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
16547                 - (nm_vpnc_config_options_validate): validate the config options we receive
16548                         from NetworkManager to block potential exploits
16549                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
16550                         starting vpnc
16551                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
16552                         to NetworkManager
16553
16554 2005-05-16  Dan Williams  <dcbw@redhat.com>
16555
16556         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
16557                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
16558                         is not "connect"
16559
16560 2005-05-16  Dan Williams  <dcbw@redhat.com>
16561
16562         Patch from Tomislav Vujec <tvujec@redhat.com>
16563         * gnome/applet/applet-dbus-info.c
16564                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
16565                         GConf and pass them to NetworkManager.  New key is 'routes' under
16566                         the VPN connection, and should be a string list
16567
16568         * src/NetworkManagerSystem.c
16569                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
16570                         set them on the device when we set the rest of the VPN config.  Ensure
16571                         they are in the correct format since they are passed directly to the
16572                         command line.
16573
16574         * src/backends/NetworkManagerRedHat.c
16575           src/backends/NetworkManagerDebian.c
16576                 - (nm_system_device_add_route_via_device_with_iface): new function
16577
16578         * src/vpn-manager/nm-dbus-vpn.c
16579                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
16580
16581         * src/vpn-manager/nm-vpn-manager.c
16582                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
16583                         them into the IP4 config functions
16584
16585 2005-05-15  Dan Williams  <dcbw@redhat.com>
16586
16587         From Filip Miletic:
16588         * po/sr.po
16589           po/sr@Latn.po
16590           configure.in
16591                 - Serbian translation added
16592
16593 2005-05-15  Dan Williams  <dcbw@redhat.com>
16594
16595         * dispatcher-daemon/NetworkManagerDispatcher.c
16596                 - (main): sync arguments with NetworkManager and the applet, now use
16597                         "--no-daemon" rather than "daemon=no"
16598                 - (nmd_print_usage): Fix script path in usage message
16599
16600 2005-05-15  Dan Williams  <dcbw@redhat.com>
16601
16602         * src/NetworkManagerDevice.[ch]
16603           src/NetworkManagerPolicy.c
16604           src/NetworkManager.c
16605           src/nm-dbus-nm.c
16606                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
16607                         longer send the DeviceNoLongerActive signal unconditionally, but only
16608                         when the device is actually active.
16609
16610         * dispatcher-daemon/NetworkManagerDispatcher.c
16611                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
16612                         and simplify the logic
16613                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
16614                         we free it later on
16615
16616         * initscript/RedHat/Makefile.am
16617           initscript/RedHat/NetworkManagerDispatcher
16618                 - Add initscript for NetworkManagerDispatcher
16619
16620
16621         Patch from Bill Moss:
16622         * dispatcher-daemon/NetworkManagerDispatcher.c
16623                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
16624
16625         * src/NetworkManagerDbus.c
16626                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
16627                         and DeviceNowActive gets signaled, then the device has a new IP address
16628                         anyway.  There's no need for a separate signal.
16629
16630         * src/NetworkManagerDevice.c
16631                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
16632
16633         * src/NetworkManagerPolicy.c
16634                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
16635                         activates successfully.  This kind of went missing when I reworked the
16636                         activation code.
16637
16638 2005-05-15  Dan Williams  <dcbw@redhat.com>
16639
16640         * configure.in
16641                 - Check for dhcdbd and error if its not found
16642
16643         * src/dhcp-manager/Makefile.am
16644           src/dhcp-manager/nm-dhcp-manager.c
16645                 - Use path to dhcdbd that configure found
16646
16647 2005-05-14  Dan Williams  <dcbw@redhat.com>
16648
16649         * gnome/applet/nm-device.c
16650                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
16651                         sort wireless networks alphabetically
16652
16653         * gnome/applet/applet-dbus-devices.c
16654                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
16655                         before copying them over to the GUI
16656
16657 2005-05-14  Dan Williams  <dcbw@redhat.com>
16658
16659         * src/NetworkManager.c
16660                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
16661                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
16662                         the device list, as does nm_get_active_device() which is called from
16663                         nm_vpn_manager_deactivate_vpn_connection().
16664
16665 2005-05-14  Dan Williams  <dcbw@redhat.com>
16666
16667         * NetworkManager.h
16668                 - Add signals for VPN Launch and Connect failures
16669
16670         * gnome/applet/applet-dbus.c
16671                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
16672
16673         * gnome/applet/applet.c
16674                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
16675                         function to handle all VPN failure messages
16676                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
16677                         function to hanlde all VPN failure  messages
16678                 - (show_warning_dialog): work around focus-stealing prevention
16679
16680         * gnome/applet/other-network-dialog.c
16681           gnome/applet/passphrase-dialog.c
16682                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
16683                         problem where it never enabled for ASCII Key and Hex Key types
16684
16685         * gnome/applet/wireless-applet.glade
16686                 - Add window title to Other Wireless Network Dialog
16687
16688         * src/vpn-manager/nm-dbus-vpn.c
16689                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
16690                         function to handle all VPN failure messages
16691
16692         * src/vpn-manager/nm-vpn-manager.c
16693                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
16694
16695         * vpn-daemons/vpnc/nm-vpnc-service.c
16696                 - (nm_vpnc_dbus_signal_launch_failed): new function
16697                 - (nm_vpnc_dbus_signal_connect_failed): new function
16698                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
16699                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
16700                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
16701                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
16702
16703 2005-05-11  Dan Williams  <dcbw@redhat.com>
16704
16705         * vpn-daemons/vpnc/nm-vpnc-service.c
16706                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
16707                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
16708                         file exists before trying to write it out.
16709
16710 2005-05-10  Dan Williams  <dcbw@redhat.com>
16711
16712     * gnome/applet/applet-dbus-device.c
16713         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
16714             prevented just entering ESSID and leaving key and key type up to
16715             NetworkManager (which should have them already cached)
16716
16717 2005-05-08  Dan Williams  <dcbw@redhat.com>
16718
16719         * src/NetworkManagerPolicy.c
16720                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
16721                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
16722                         fix a situation where NM is told to terminate and the device stops activation,
16723                         but the main thread isn't aware of that because it would never have run
16724                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
16725                         had already quit.
16726
16727         * src/NetworkManagerDevice.c
16728                 - (nm_device_probe_wired_link_state): cosmetic fixes
16729                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
16730                         we've failed to activate or been canceled.
16731                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
16732
16733 2005-05-08  Dan Williams  <dcbw@redhat.com>
16734
16735         * src/NetworkManagerWireless.c
16736                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
16737                         value of WEXT quality structures, and add a debug message when we cannot
16738                         determine any quality % at all
16739
16740 2005-05-08  Dan Williams  <dcbw@redhat.com>
16741
16742         * src/dhcp-manager/nm-dhcp-manager.c
16743                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
16744                         it goes down.
16745
16746 2005-05-06  Dan Williams  <dcbw@redhat.com>
16747
16748         * gnome/applet/applet-dbus-device.c
16749           gnome/applet/applet-dbus-info.c
16750           gnome/applet/applet-dbus.c
16751           gnome/applet/applet.c
16752           gnome/applet/applet.h
16753                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
16754
16755         * gnome/applet/applet-dbus.c
16756                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
16757                         so we notice when wired device's carriers come back on.  Should
16758                         fix issue with wired devices being grayed out even if the cable
16759                         is in, for devices that support carrier detection.
16760
16761         * gnome/applet/applet.c
16762                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
16763                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
16764                         tooltip message
16765                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
16766                         Fix situation where applet wouldn't respond to menu selections
16767
16768         * src/NetworkManager.c
16769           src/NetworkManagerDevice.c
16770           src/NetworkManagerDbus.c
16771           src/NetworkManagerDbus.h
16772                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
16773
16774         * src/NetworkManagerDbus.c
16775                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
16776                         Remove, no longer used or relevant
16777                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
16778                 - (nm_dbus_schedule_device_status_change_signal): add
16779
16780         * src/NetworkManagerDevice.c
16781                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
16782                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
16783                         ie don't deactivate them unless explicitly told to by the user.  Also send
16784                         CARRIER_OFF / CARRIER_ON signals when link changes
16785                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
16786                         Don't print error message when device is no longer around
16787                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
16788                         not just during activation
16789
16790         * src/NetworkManagerPolicy.c
16791                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
16792                         auto-device-selection.
16793                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
16794
16795         * src/NetworkManagerSystem.c
16796                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
16797                         is no longer present (Bill Moss)
16798
16799         * src/backends/shvar.c
16800                 - (svOpenFile): Open read-only to make SELinux happy
16801
16802         * src/backends/NetworkManagerRedHat.c
16803                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
16804                         the path to the ifcfg-* files
16805
16806 2005-05-05  Dan Williams  <dcbw@redhat.com>
16807
16808         * Expose activation stages to NetworkManager clients, like the applet
16809         * Add Diana's progress icons to the applet, cued off NM activation stage
16810         * Use more descriptive tooltips, cued off NM activation stage
16811
16812 2005-05-05  Ray Strode  <rstrode@redhat.com>
16813
16814         * src/nm-netlink-monitor.c:
16815                 - Use clear_event_source instead of g_nullify_pointer() again.
16816
16817 2005-05-05  Dan Williams  <dcbw@redhat.com>
16818
16819         * gnome/applet/main.c
16820                 - Fix session management so the applet is actually managed now
16821
16822         * gnome/applet/passphrase-dialog.c
16823                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
16824
16825 2005-05-05  Dan Williams  <dcbw@redhat.com>
16826
16827         Patch from Bill Moss:
16828         * gnome/libnm_glib/libnm_glib.c
16829                 - Fix for dbus-0.33
16830
16831 2005-05-05  Dan Williams  <dcbw@redhat.com>
16832
16833         Suggestion from Bill Moss:
16834         * src/NetworkManagerSystem.c
16835                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
16836
16837
16838         * src/NetworkManager.c
16839                 - (nm_data_free): move destruction of the various managers after
16840                         release of device list, because deactivating and freeing a device
16841                         requires at least the named manager
16842                 - (nm_poll_and_update_wireless_link_state):
16843                   (nm_device_link_activated):
16844                   (nm_device_link_deactivated):
16845                         don't grab the device list lock when actually updating device
16846                         link status or strength, since nm_device_set_link_active()
16847                         needs to call nm_get_active_device(), which also locks the device list.
16848
16849         * src/NetworkManagerDevice.c
16850                 - (nm_device_set_link_active): if a device's link switches from off->on,
16851                         and it's wired, and the active device is wireless (or there is no
16852                         active device), activate the new device whose link just came on
16853                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
16854                         my only calling the link to the current ap "failed" when more than 2
16855                         consecutive link checks have failed
16856
16857 2005-05-04  Dan Williams  <dcbw@redhat.com>
16858
16859         * src/NetworkManagerDevice.c
16860                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
16861                         but let link_to_specific_ap() do the locking where it needs
16862
16863         Patch from Bill Moss:
16864         * src/NetworkManagerSystem.c
16865                 - Set MTU of VPN devices to 1412
16866
16867 2005-05-04  Dan Williams  <dcbw@redhat.com>
16868
16869         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
16870
16871         * Fix some holes in device activation and retaining the currently connected
16872                 access point
16873
16874 2005-05-03  Dan Williams  <dcbw@redhat.com>
16875
16876         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
16877           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
16878           means you need dhcdbd, which you can get here (get the latest one):
16879
16880                 http://people.redhat.com/jvdias/dhcdbd/
16881
16882           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
16883           interface as dhcdbd.
16884
16885         * Rewrite device activation to facilitate the new DHCP infrastructure and
16886           future improvements.  Its now "activation request" based, ie there is a single
16887           activation request composed of the device, access point, and other info which
16888           follows the entire activation process.  There are 5 stages of the activation
16889           process which correspond to:
16890
16891                 1) Device preparation
16892                 2) Device configuration (bring it up, set ESSID/Key/etc)
16893                 3) IP Config Start (fire off DHCP if we're using it)
16894                 4) IP Config Get (grab config from DHCP or static config files)
16895                 5) IP Config Commit (set device's IP address, DNS, etc)
16896
16897           Note that there is no longer a "scanning" step, since the access point must
16898           be known _before_ activation starts.  If the access point drops out or does
16899           not exist for some reason, the entire activation process fails and must be
16900           restarted for a different access point or device.
16901
16902         Patch from Bill Moss:
16903         * gnome/applet/applet.c
16904                 - Fix type of vpn_failure dialog -> vpn_banner dialog
16905
16906 2005-04-27  Dan Williams  <dcbw@redhat.com>
16907
16908         * gnome/applet/applet-dbus-vpn.c
16909           gnome/applet/applet.c
16910           gnome/applet/applet.h
16911                 - Fix up active VPN handling so that we reliably know when a VPN
16912                         connection has been deactivated
16913
16914         * src/vpn-manager/nm-vpn-manager.c
16915                 - Remove duplicate VPNConnectionChange signal
16916
16917 2005-04-27  Dan Williams  <dcbw@redhat.com>
16918
16919         Patch from Peter Jones:
16920         * Remove usage of varargs to fix crashes on PPC (RH #154336)
16921
16922         Patch from Bill Moss:
16923         * src/NetworkManagerSystem.c
16924                 - Fix checking of return value from ioctl()
16925
16926 2005-04-27  Dan Williams  <dcbw@redhat.com>
16927
16928         * Fix choosing of wireless networks and "Other wireless network..." from the applet
16929         * Warn and exit if icons cannot be found
16930
16931 2005-04-27  Dan Williams  <dcbw@redhat.com>
16932
16933         Patch from Tom Parker:
16934         * Update debian backend
16935
16936 2005-04-27  Dan Williams  <dcbw@redhat.com>
16937
16938         * Merge the applet and the info-daemon, and move the converged
16939                 applet under gnome/applet
16940         * Move libnm_glib to gnome/libnm_glib
16941         * Convert most dbus calls between the applet, info-daemon, and NM
16942                 into async calls
16943         * Fix a few things valgrind noticed
16944         * Make NM broadcast state more reliably
16945
16946 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
16947
16948         * configure.in: Added ne in ALL_LINGUAS
16949
16950 2005-04-15  Dan Williams  <dcbw@redhat.com>
16951
16952         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
16953                 code for dbus 0.2x versions
16954
16955 2005-04-15  Dan Williams  <dcbw@redhat.com>
16956
16957         Patches from Tom Parker:
16958         - Fix memleaks
16959         - Join with worker thread rather than polling for its exit
16960
16961         Patch from Bill Moss:
16962         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
16963
16964 2005-04-15  Dan Williams  <dcbw@redhat.com>
16965
16966         - Fixes to pass 'make distcheck'
16967
16968 2005-04-15  Dan Williams  <dcbw@redhat.com>
16969
16970         Initial VPN Support
16971                 - supports 'vpnc'
16972                 - reworks device IP configuration, backend files have changed and will need
16973                         to be updated for all distributions.  I will try to do what I can for
16974                         them, but I cannot test them.
16975
16976         - Move named directory to src/named-manager
16977         - Make backends directory self-contained
16978
16979 2005-04-06  Dan Williams  <dcbw@redhat.com>
16980
16981         Add debug code for socket/file descriptor leaks.  We register every socket
16982         that we open (except for stuff in dhcpcd/) for tracking, and print out the
16983         list of sockets that we forgot to close on shutdown.  This also consolidates
16984         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
16985
16986 2005-04-06  Dan Williams  <dcbw@redhat.com>
16987
16988         * dhcpcd/dhcpcd.c
16989                 - (dhcp_interface_free): fix a file descriptor leak that may have
16990                         caused network drivers to not unload due to refcounts > 0
16991
16992 2005-04-04  Dan Williams  <dcbw@redhat.com>
16993
16994         * panel-applet/NMWirelessAppletDbus.c
16995                 - (nmwa_dbus_call_nm_method): remove some commented code
16996
16997         * src/NetworkManagerAPList.[ch]
16998                 - (nm_ap_list_remove_ap_by_essid): new function
16999
17000         * src/NetworkManagerDevice.c
17001                 - (nm_device_wireless_force_use): remove access points from the ignore list
17002                         when the user forces them
17003
17004         * src/nm-dbus-device.c
17005                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
17006
17007 2005-04-04  Dan Williams  <dcbw@redhat.com>
17008
17009         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
17010
17011 2005-04-04  Dan Williams  <dcbw@redhat.com>
17012
17013         * src/NetworkManagerDevice.c:
17014                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
17015                         of only erroring after the second consecutive scan times out.  Also
17016                         don't exit when the card requires more time than we can give it, just
17017                         log the event and continue.
17018
17019 2005-04-01  Steve Murphy  <murf@e-tools.com>
17020
17021         * configure.in: Added "rw" to ALL_LINGUAS.
17022
17023 2005-04-01  Dan Williams <dcbw@redhat.com>
17024
17025         Perform scans during device activation, if needed.  Both activation 
17026         and scans run in the same GMainContext.  Therefore, if an access point
17027         is not found by the time the device starts activation, it will not
17028         be available until after activation.  We now try to scan during
17029         activation (in nm_wa_test) every 15s so that all available access
17030         points are more likely to be found and available for the activation
17031         procedure.
17032
17033         Also change nm_wireless_link_state_handle() to only update the "best"
17034         AP if we are not forcing a device and if we are not about to change
17035         state.  This attempts to work around a race when forcing a device,
17036         where the forced AP would get cleared out too soon by the link state
17037         checking timeout in the main thread, and the activation attempt with
17038         that AP would fail.
17039
17040 2005-04-01  Dan Williams <dcbw@redhat.com>
17041
17042         * po/POTFILES.in
17043                 - Update with new translatables
17044
17045 2005-03-31  Dan Williams <dcbw@redhat.com>
17046
17047         * panel-applet/NMWirelessAppletDbus.c
17048                 - Fix device names now that hal has changed device parenting for
17049                         network devices.
17050
17051 2005-03-31  Dan Williams <dcbw@redhat.com>
17052
17053         Tighten up handling of wireless devices that don't support wireless
17054         scanning (ie, Orinoco).  Due to restructuring of code, these devices
17055         hadn't been doing pseudo-scanning for a while either and would just
17056         spin waiting for an access point.  They are now manual devices where
17057         the user must choose the access point from the menu every time.  All
17058         "allowed" access points are listed in the applet's menu regardless
17059         of whether or not they can be seen by the card, since it can't scan
17060         anyway.
17061
17062         * src/NetworkManager.c
17063                 - (nm_wireless_link_state_handle): new function, but only update
17064                         the "best" ap for non-scanning devices when its not activating,
17065                         and when no device is being forced on the card
17066                 - (nm_link_state_monitor): split wireless link state handling out
17067                         into separate function
17068
17069         * src/NetworkManagerDevice.c
17070                 - (nm_device_copy_allowed_to_dev_list): new function
17071                 - (nm_device_new): populate non-scanning cards' AP lists with
17072                         access points from the "allowed" list
17073                 - (nm_device_new): don't start a scanning timeout for devices that
17074                         can't scan
17075                 - (nm_device_activation_schedule_finish): new parameter, should be
17076                         the AP that failed to be connected to, pass it on to the
17077                         activation finish function in NetworkManagerPolicy.c
17078                 - (nm_device_activate_wireless): don't ever try to get a new AP
17079                         for non-scanning devices, just fail.  The user must choose
17080                         a new access point manually.
17081                 - (nm_device_activate): grab the AP that failed connection and
17082                         pass it on
17083                 - (nm_device_update_best_ap): Clear the best AP if we don't have
17084                         a link to it, user must manually choose a new one
17085                 - (nm_device_do_pseudo_scan): remove function
17086                 - (nm_device_wireless_process_scan_results): remove bits for non-
17087                         scanning cards since they never get here
17088                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
17089                         and fake the scan list for test devices a bit earlier
17090
17091         * src/NetworkManagerPolicy.c
17092                 - (nm_policy_activation_finish): use the failed_ap that we get
17093                         passed rather than getting the best_ap from the card, which
17094                         may have changed since we were scheduled
17095                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
17096                         update their scan list directly from the allowed list when
17097                         we get updates to the allowed list from NetworkManagerInfo
17098
17099         * src/NetworkManagerPolicy.h
17100                 - New member for failed access point in NMActivationResult
17101
17102   -------------------------------------
17103
17104         Driver Notification patch: notifies the user when their driver
17105                 sucks.  Gives them the option to ignore further insertions
17106                 of the card that has the sucky driver.
17107
17108         * NetworkManager.h
17109                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
17110                         enum and replace it with NO_CARRIER_DETECT and
17111                         NO_WIRELESS_SCAN
17112
17113         * panel-applet/NMWirelessApplet.[ch]
17114                 - Merge essid.glade -> wireless-applet.glade
17115                 - Implement the "Your driver sucks" notification dialog
17116
17117         * panel-applet/NMWirelessAppletDbus.c
17118                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
17119                 - Grab hardware address for each device from NM too
17120                 - Check whether the driver for each device sucks or not whenever
17121                         a new device is noticed
17122
17123         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17124                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
17125
17126         * src/NetworkManager.c
17127                 - Fix a double-unref on device removal
17128
17129         * src/NetworkManagerUtils.c
17130                 - Set appropriate driver support level on a device that doesn't
17131                         support scanning or carrier detection
17132
17133         * src/nm-dbus-device.c
17134                 - New "getHWAddress" dbus method on devices
17135                 - getSupportsCarrierDetect -> getDriverSupportLevel
17136
17137 2005-03-31  Dan Williams <dcbw@redhat.com>
17138
17139         * src/NetworkManagerDevice.c
17140                 - (nm_device_wireless_scan): Fix leak of scan results in some
17141                         instances
17142
17143 2005-03-29  Dan Williams <dcbw@redhat.com>
17144
17145         * src/NetworkManager.c
17146                 - (nm_poll_and_update_wireless_link_state): make code less indented
17147
17148         Patch from Bill Moss:
17149         * src/NetworkManager.c
17150                 - (nm_device_update_link_state): Update signal strength on wireless
17151                         devices every time we update link state too.
17152
17153 2005-03-29  Dan Williams <dcbw@redhat.com>
17154
17155         * src/NetworkManagerDevice.c
17156                 - (nm_device_set_essid): Work around Orinoco cards which need
17157                         extra time after setting the ESSID
17158
17159 2005-03-29  Dan Williams <dcbw@redhat.com>
17160
17161         * src/NetworkManagerDevice.c
17162                 - Merge one more bit of Peter Jones' completion patch
17163
17164 2005-03-29  Dan Williams <dcbw@redhat.com>
17165
17166         * src/NetworkManagerDevice.c
17167                 - (nm_device_force_use): Fix possible segfault
17168
17169 2005-03-29  Dan Williams <dcbw@redhat.com>
17170
17171         * src/NetworkManagerDevice.c
17172                 - Use iw_get_ext() where we should rather than iw_set_ext()
17173
17174 2005-03-29  Dan Williams <dcbw@redhat.com>
17175
17176         * src/NetworkManagerDevice.c
17177                 - (nm_device_set_up_down): remove check for unsupported devices
17178                         that caused NM to not bring devices up when they were
17179                         added to the device list.
17180
17181 2005-03-28  Dan Williams <dcbw@redhat.com>
17182
17183         * src/NetworkManagerDevice.c
17184                 - (mdio_read): Fix two bugs that caused all devices to fail
17185                         the MII carrier detection support checks
17186
17187 2005-03-26  Dan Williams <dcbw@redhat.com>
17188
17189         * src/NetworkManagerDevice.c
17190                 - (nm_device_wireless_scan): Remove duplicated scanning code
17191
17192 2005-03-25  Dan Williams <dcbw@redhat.com>
17193
17194         * panel-applet/NMWirelessApplet.c
17195                 - (nmwa_about_cb): Add some more contributors
17196                 - (nmwa_update_state): show the applet when there's no connection
17197                 - Enable the "Stop/Resume all wireless devices" option in the
17198                         context menu
17199                 - New "no connection" icon
17200
17201         * src/NetworkManager.c
17202                 - (nm_poll_and_update_wireless_link_state): don't do anything if
17203                         wireless is disabled or we're asleep
17204
17205         * src/NetworkManagerDHCP.c
17206                 - Remove trailing "\n" on debug messages
17207
17208         * src/NetworkManagerDbus.c
17209                 - (nm_dbus_network_status_from_data): new state "asleep"
17210
17211         * src/NetworkManagerDevice.c
17212                 - Merge most of Peter Jones' "completion" patch that greatly reduces
17213                         latency and wait times for most operations
17214                 - (nm_device_wireless_scan): Don't scan when asleep
17215
17216         * src/NetworkManagerPolicy.c
17217                 - (nm_policy_get_best_device): return no device when asleep
17218                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
17219                         for all wireless devices on update, not just active device
17220
17221         * src/NetworkManagerUtils.c
17222                 - Merge Peter Jones' "completion" patch
17223
17224         * src/nm-dbus-nm.c
17225                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
17226                         we're told to disable them
17227                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
17228
17229         * utils/nm-utils.h
17230                 - New variants of the warn/info/error/debug print functions that can take
17231                         variables rather than static strings
17232
17233 2005-03-24  Dan Williams <dcbw@redhat.com>
17234
17235         * src/NetworkManagerUtils.c
17236                 - (nm_get_device_driver_name): driver names are now on the parents of
17237                         "Network Interface" objects, so look for them there
17238
17239 2005-03-24  Dan Williams <dcbw@redhat.com>
17240
17241         * test/nmtest.c
17242                 - Escape some forgotten object paths before we shove them through dbus
17243
17244 2005-03-24  Dan Williams <dcbw@redhat.com>
17245
17246         * dhcpcd/dhcpcd.[ch]
17247           src/NetworkManagerDHCP.c
17248                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
17249                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
17250
17251         * src/NetworkManagerDbus.c
17252                 - spacing cleanups
17253
17254         * src/nm-dbus-dhcp.c
17255                 - Make the API suck less.  There is now only 1 type of each function,
17256                         ie only "getInteger" and no longer also "getIntegerv".  All types
17257                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
17258                         that will never have more than 1 element.  This should simplify
17259                         things greatly.
17260
17261         * test/nm-dhcp-opt-test.c
17262                 - Make the tool not segfault
17263                 - adapt to new DHCP Options API
17264
17265 2005-03-22  Dan Williams <dcbw@redhat.com>
17266
17267         * src/NetworkManager.c
17268                 - (nm_wired_link_deactivated): actually ignore netlink events from
17269                         wireless devices.
17270
17271 2005-03-22  Dan Williams <dcbw@redhat.com>
17272
17273         * src/NetworkManager.c
17274                 - (nm_wired_link_activated): actually ignore netlink events from
17275                         wireless devices.
17276
17277 2005-03-17  Dan Williams <dcbw@redhat.com>
17278
17279         Patch from Tom Parker:
17280         * src/nm-netlink-monitor.c
17281                 - Include unistd.h
17282         * info-daemon/NetworkManagerInfoDbus.c
17283                 - (nmi_dbus_update_network_auth_method): free GConf values
17284
17285         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
17286         * src/NetworkManagerDevice.c
17287                 - (nm_device_set_wireless_config): wait for successful
17288                         association longer for some cards (Atheros a/b/g)
17289
17290 2005-03-15  Ray Strode  <rstrode@redhat.com>
17291
17292         * src/NetworkManager.c:
17293         (sigterm_pipe_handler):
17294         remove bogus FIXME
17295
17296 2005-03-15  Ray Strode  <rstrode@redhat.com>
17297
17298         * src/NetworkManagerDbus.c:
17299         Fix some sign weirdness that gcc4 doesn't like,
17300         and add a header file so PPC can hopefully find
17301         SIGTRAP
17302
17303 2005-03-14  Ray Strode  <rstrode@redhat.com>
17304         
17305         Fourth (probably working) cut at porting to
17306         dbus 0.30 api and new hal. This cut adds
17307         some new logging macros to make debugging
17308         easier.
17309
17310         * dispatcher-daemon/NetworkManagerDispatcher.c:
17311         * info-daemon/NetworkmanagerInfo.c:
17312         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
17313         * info-daemon/NetworkManagerInfoVPN.c:
17314         * src/NetworkManager.c:
17315         * src/NetworkManagerAP.c:
17316         * src/NetworkManagerAPList.c:
17317         * src/NetworkManagerDHCP.c:
17318         * src/NetworkManagerDbus.c:
17319         * src/NetworkManagerDevice.c:
17320         * src/NetworkManagerPolicy.c:
17321         * src/NetworkManagerSystem.c:
17322         * src/NetworkManagerUtils.c:
17323         * src/NetworkManagerWireless.c:
17324         * src/autoip.c:
17325         * src/nm-dbus-nm.c:
17326         * src/backends/NetworkManagerDebian.c:
17327         * src/backends/NetworkManagerGentoo.c:
17328         * src/backends/NetworkManagerRedHat.c:
17329         * src/backends/NetworkManagerSlackware.c:
17330         use new logging macros.
17331
17332         * dispatcher-daemon/NetworkManagerDispatcher.c:
17333         (nmd_dbus_filter): s/dbus_free/g_free/
17334
17335         * info-daemon/Makefile.am: link in utils library.
17336         * info-daemon/NetworkmanagerInfo.c: use new logging 
17337         macros.
17338         (nmi_dbus_get_network): don't assume enumerations
17339         are 32-bit.
17340         (nmi_dbus_nmi_message_handler): don't free what 
17341         doesn't belong to us.
17342
17343         * libnm_glib/libnm_glib.c:
17344         (libnm_glib_get_nm_status): 
17345         (libnm_glib_init): don't free what doesn't
17346         belong to us.
17347         (libnm_glib_dbus): strdup result, so it doesn't get
17348         lost when message is unref'd.
17349
17350         * panel-applet/NMWirelessAppletDbus.c:
17351         (nmwa_dbus_update_devices): s/dbus_free/g_free/
17352
17353         * src/NetworkManager.c:
17354         (nm_monitor_wired_link_state): request initial status 
17355         dump of all cards when we start up, instead of relying
17356         on /sys/.../carrier.
17357         (nm_info_handler), (nm_set_up_log_handlers): 
17358         log handlers to specify what syslog priorites 
17359         the logging macros default to.
17360
17361         * src/NetworkManagerAPList.c: 
17362         (nm_ap_list_populate_from_nmi):
17363         s/dbus_free_string_array/g_strfreev/
17364
17365         * src/NetworkManagerDbus.c:
17366         (nm_dbus_get_network_object):
17367         validate d-bus message argument types.
17368         Advance message iterator after reading argument,
17369         prepend instead of append to GSList.
17370
17371         * src/NetworkManagerDevice.c:
17372         (nm_device_probe_wired_link_status):
17373         remove redundant /sys in /sys path. remove wrong
17374         contents == NULL means has carrier assumption.
17375
17376         * src/nm-netlink-monitor.c 
17377         (nm_netlink_monitor_request_status): implement
17378         function to ask kernel to dump interface link
17379         status over netlink socket.
17380
17381         * test/*.c: s/dbus_free/g_free/
17382
17383         * utils/nm-utils.h:
17384         (nm_print_backtrace): new macro to print backtrace.
17385         (nm_get_timestamp): new macro to get sub-second precise
17386         unix timestamp.
17387         (nm_info), (nm_debug), (nm_warning), (nm_error):
17388         new logging functions. nm_info just prints,
17389         nm_debug includes timestamp and function,
17390         nm_warning includes function, nm_error includes
17391         backtrace and sigtrap.
17392
17393 2005-03-11  Ray Strode  <rstrode@redhat.com>
17394
17395         Third (unfinished, partially working) cut at porting to 
17396         dbus 0.30 api and new hal.
17397
17398         * info-daemon/NetworkManagerInfoDbus.c:
17399                 don't free null arrays.
17400
17401         * panel-applet/NMWirelessAppletDbus.c: 
17402         * src/nm-dbus-device.c:
17403         * src/nm-dbus-net.c: 
17404         * src/NetworkManagerDbus.c: more 
17405         STRING -> OBJECT_PATH fun
17406         * src/NetworkManagerDevice.c:
17407         * src/NetworkManagerDevice.h:
17408         (rename nm_device_get_link_active): rename to 
17409         nm_device_has_active_link
17410         (nm_device_wireless_link_active): rename to
17411         nm_device_probe_wireless_link_state
17412         (nm_device_wired_link_active): rename to
17413         nm_device_probe_wired_link_state.  Rewrite to
17414         use carrier file since hal doesn't maintain
17415         link state anymore.
17416         (nm_device_update_link_active): rename to
17417         nm_device_update_link_state
17418         * src/NetworkManagerPolicy.c 
17419           (nm_policy_activation_finish): check for NULL
17420           MAC address.
17421
17422         * src/Makefile.am:
17423         * src/NetworkManagerMain.h: 
17424         * src/NetworkManager.c:
17425         * src/nm-netlink-monitor.c:
17426         * src/nm-netlink-monitor.h: New class to support
17427         monitoring wired ethernet link status, since HAL
17428         doesn't export that information anymore.
17429
17430 2005-03-09  Ray Strode  <rstrode@redhat.com>
17431
17432         Second (unfinished, unworking) cut at porting to 
17433         dbus 0.30 api.
17434
17435         * dispatcher-daemon/NetworkManagerDispatcher.c:
17436         * info-daemon/NetworkManagerInfoDbus.c:
17437         * panel-applet/NMWirelessAppletDbus.c:
17438         * src/NetworkManagerDbusUtils.c:
17439         * src/NetworkManagerDbusUtils.h:
17440         * src/nm-dbus-device.c:
17441         * src/nm-dbus-nm.c:
17442         * test/nmtest.c: support dbus "object path" type
17443
17444         * configure.in: 
17445         * Makefile.am:
17446         * info-daemon/Makefile.am:
17447         * libnm_glib/Makefile.am:
17448         * panel-applet/Makefile.am:
17449         * dispatcher-daemon/Makefile.am
17450         * src/Makefile.am:
17451         * test/Makefile.am:
17452         * utils/Makefile.am: 
17453         * utils/nm-utils.c: 
17454         * utils/nm-utils.h: new utils static lib
17455
17456 2005-03-07  Ray Strode  <rstrode@redhat.com>
17457
17458         * info-daemon/NetworkManagerInfoDbus.c:
17459         * libnm_glib/libnm_glib.c:
17460         * panel-applet/NMWirelessAppletDbus.c:
17461         * src/NetworkManager.c:
17462         * src/NetworkManagerDbus.c:
17463         * src/NetworkManagerDevice.c:
17464         * src/NetworkManagerUtils.c:
17465         * src/nm-dbus-device.c:
17466         * src/nm-dbus-dhcp.c:
17467         * src/nm-dbus-net.c:
17468         * src/nm-dbus-nm.c:
17469         * test/nminfotest.c:
17470         First (unfinished, unworking) cut at porting to dbus 0.30 api.
17471
17472 2005-03-04  Dan Williams  <dcbw@redhat.com>
17473
17474         * configure.in
17475                 - Mark HEAD as 0.4
17476
17477 2005-03-04  Dan Williams  <dcbw@redhat.com>
17478
17479         Patch from Peter Jones:
17480         - Make stuff work with gcc 4.0
17481
17482 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
17483
17484         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
17485
17486 2005-02-27  Jim Huang  <jserv@kaffe.org>
17487
17488         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
17489
17490 2005-02-27  Dan Williams  <dcbw@redhat.com>
17491
17492         Patch from Bill Moss:
17493         * panel-applet/NMWirelessAppletDbus.c
17494                 - Make sure strength for current access point is up-to-date when we
17495                         update the gui data model
17496
17497 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
17498
17499         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
17500
17501 2005-02-27  Dan Williams  <dcbw@redhat.com>
17502
17503         * src/backends/NetworkManagerRedHat.c
17504                 - (nm_system_init): Kill any dhclient processes lying around as well
17505                         as stopping 'nifd' if its already been started.  NetworkManager
17506                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
17507
17508 2005-02-27  Dan Williams  <dcbw@redhat.com>
17509
17510         * panel-applet/NMWirelessApplet.c
17511                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
17512                         dbus data model, not the GUI data model twice.
17513
17514 2005-02-27  Dan Williams  <dcbw@redhat.com>
17515
17516         * panel-applet/NMWirelessApplet.[ch]
17517           panel-applet/NMWirelessAppletDbus.[ch]
17518                 - Move to incremental network updates.  Instead of blowing away our list
17519                         of devices every time we get a signal from NetworkManager, we now
17520                         incrementally add/remove networks when NetworkManager notifies us that
17521                         a new network has appeared or disappered.  Strength updates now happen
17522                         on-the-fly for each access point as well.  There are now two copies of
17523                         data from NetworkManager: one for the dbus side, and one for the gui side.
17524                         When the dbus side data is modified, it is copied over to the gui side
17525                         so we don't have to hold the data_mutex for long periods of time (and
17526                         therefore block animation of the applet's icon).
17527                 - Clean up some memleaks too
17528
17529         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17530                 - Minor code beautification
17531
17532         * src/NetworkManagerAPList.c
17533                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
17534                         completely new and whether or not an existing one's strength was updated.
17535                         Try to fix multiple access points and signal strength by using the highest
17536                         signal strength in each scan for any given ESSID.
17537
17538         * src/NetworkManagerDbus.[ch]
17539                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
17540                         wireless networks; now we have only WirelessNetworkUpdate which includes
17541                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
17542                 - Kill usage of DbusMessageIter
17543
17544         * src/NetworkManagerDevice.c
17545                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
17546                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
17547                         AP rather than all-at-once.  Also don't ever remove the AP a card is
17548                         currently associated with from the network list.
17549                 - Update for new signals during scan, send out Appeared, Disappeared, or
17550                         StrengthChanged when necessary.
17551
17552 2005-02-25  Dan Williams  <dcbw@redhat.com>
17553
17554         * README
17555                 - Line break the README
17556
17557 2005-02-25  Dan Williams  <dcbw@redhat.com>
17558
17559         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17560                 - Remove usage of gtk_window_set_default_size()
17561
17562         * panel-applet/essid.glade
17563                 - Stick default size here
17564                 - Add in random crap that current glade wants to add in now
17565
17566 2005-02-25  Dan Williams  <dcbw@redhat.com>
17567
17568         * src/backends/NetworkManagerRedHat.c
17569                 - For non-caching-nameserver/non-named case, ensure that nscd is running
17570                         and that we actually tell nscd to reload the hosts cache when it changes
17571
17572 2005-02-25  Dan Williams  <dcbw@redhat.com>
17573
17574         * info-daemon/NetworkManagerInfoDbus.c
17575                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
17576
17577         * test/nminfotest.c
17578                 - Whack usage of DbusMessageIter
17579                 - Clean up DbusError and DbusMessage handling and freeing
17580                 - Remove unused unregister handler
17581
17582         * test/nmtest.c
17583                 - Whack usage of DbusMessageIter
17584
17585         * test/nmtestdevices.c
17586                 - Whack usage of DbusMessageIter
17587
17588 2005-02-25  Dan Williams  <dcbw@redhat.com>
17589
17590         * NetworkManager.h
17591                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
17592                         signal
17593
17594 2005-02-25  Dan Williams  <dcbw@redhat.com>
17595
17596         * named/nm-named-manager.c
17597                 - Ensure that pid and watch variables for child named process get cleared out
17598                         when the child goes away.
17599
17600 2005-02-22  Dan Williams  <dcbw@redhat.com>
17601
17602         * src/NetworkManagerPolicy.c
17603                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
17604                         and NULL out data->active_device so that we have to choose another one.
17605                         This may make NetworkManager keep attempting to connect to a wired network
17606                         if it fails, but if it keeps failing the wired network has more problems than
17607                         just NetworkManager.
17608
17609         * src/backends/NetworkManagerRedHat.c
17610                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
17611                         is already running
17612
17613         * named/nm-named-manager.c
17614                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
17615                         named so that the distro can flush whatever name service caching
17616                         daemon it uses
17617
17618 2005-02-21  Dan Williams  <dcbw@redhat.com>
17619
17620         * src/NetworkManagerDHCP.[ch]
17621                 - (nm_device_dhcp_remove_timeouts): new function
17622
17623         * src/NetworkManagerDevice.c
17624                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
17625                         remove the DHCP timeouts.
17626
17627 2005-02-21  Dan Williams  <dcbw@redhat.com>
17628
17629         * panel-applet/NMWirelessApplet.[ch]
17630           panel-applet/menu-info.[ch]
17631                 - Give the panel applet some major love: menu items are no longer
17632                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
17633                         This allows the applet to actually reflect theme changes correctly,
17634                         since themeing of subclassed items in GTK _sucks_.
17635
17636 2005-02-18  Dan Williams  <dcbw@redhat.com>
17637
17638         * libnm_glib/libnm_glib.[ch]
17639           test/libnm_glib_test.c
17640                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
17641                         and its data, and doesn't have to free the callback data anymore
17642
17643 2005-02-18  Dan Williams  <dcbw@redhat.com>
17644
17645         * panel-applet/NMWirelessApplet.c
17646                 - Revert 2005-02-18 William Jon McCann fix for standard
17647                         copyright string until it passes 'make distcheck'.
17648                         With standard copyright string, xgettext complains
17649                         about "Non-ASCII string at ...".
17650
17651 2005-02-18  Dan Williams  <dcbw@redhat.com>
17652
17653         * panel-applet/essid.glade
17654           panel-applet/NMWirelessAppletOtherNetworksDialog.c
17655                 - Correct spelling of "adaptor"->"adapter"
17656
17657 2005-02-18  William Jon McCann  <mccann@jhu.edu>
17658
17659         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
17660         (nmwa_about_cb): Use standard copyright string.  Update comment
17661         text to reflect that it is a notification area applet.  Remove
17662         leading newline in authors list.
17663         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
17664         instead of on parent menu item activation.  Fixes #167550.
17665
17666 2005-02-18  William Jon McCann  <mccann@jhu.edu>
17667
17668         * panel-applet/essid.glade: Capitalize items as per HIG.
17669           Fixes #167632
17670
17671 2005-02-16  William Jon McCann  <mccann@jhu.edu>
17672
17673         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
17674         files for GTK 2.4 or lower, since now public in GTK 2.6.
17675
17676         * panel-applet/essid.glade: Don't specify window size.
17677         
17678 2005-02-17  Dan Williams  <dcbw@redhat.com>
17679
17680         Caught by Bill Moss:
17681         * dhcpcd/client.c
17682                 - Time remaining for DHCP transaction calculation was incorrectly
17683                         inside a #ifdef DEBUG
17684
17685 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
17686
17687         * configure.in: Added fr (French) to ALL_LINGUAS.
17688
17689 2005-02-14  Dan Williams  <dcbw@redhat.com>
17690
17691         * src/NetworkManagerDHCP.c
17692                 - (set_domain_searches): Fix free of invalid pointer
17693
17694 2005-02-14  Dan Williams  <dcbw@redhat.com>
17695
17696         Patch from Peter Jones:
17697         * dhcpcd/client.c
17698                 - Ensure we return RET_DHCP_CEASED everywhere we should
17699         * dhcpcd/udpipgen.c
17700                 - Use faster TOS for IP packets
17701                 - Don't set ip_id since we're UDP
17702
17703         Patch from Tomislav Vujec:
17704         * src/nm-dbus-dhcp.c
17705           test/nm-dhcp-opt-test.c
17706                 - Clean up warnings to enable cvs tree compilation.
17707
17708 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
17709
17710         * configure.in
17711           po/hr.po
17712                 - Add the Croatian locale.
17713
17714 2005-02-14  Colin Walters  <walters@verbum.org>
17715
17716         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
17717         list of domains to search.
17718         
17719         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
17720
17721 2005-02-13  Dan Williams  <dcbw@redhat.com>
17722
17723         * dhcpcd/client.c
17724                 - Debug output cleanups of DHCP option printing and parsing.
17725
17726 2005-02-13  Dan Williams  <dcbw@redhat.com>
17727
17728         Patch from Dan Reed:  DHCP options D-BUS API
17729                 Exposes the DHCP options that a device receives to clients over D-BUS.
17730
17731         * configure.in
17732                 - A few cleanups
17733
17734         * dhcpcd/client.h
17735                 - Correct names, option length, and types for DHCP options
17736
17737         * dhcpcd/dhcpcd.[ch]
17738                 - Clarify function names that access DHCP options & data
17739
17740         * src/NetworkManagerDHCP.c
17741                 - Use new DHCP data access functions
17742
17743         * src/NetworkManagerDbus.c
17744                 - Message handler for DHCP functions
17745
17746         * src/nm-dbus-dhcp.[ch] (new)
17747                 - DHCP dbus methods
17748
17749         * test/nm-dhcp-opt-test.c
17750                 - Test DHCP D-BUS API and return all present DHCP options
17751
17752 2005-02-12  Dan Williams  <dcbw@redhat.com>
17753
17754         * test/Makefile.am
17755           test/nmclienttest.c
17756           test/nmtest.c
17757                 - Move nmclienttest.c -> nmtest.c
17758
17759 2005-02-12  Dan Williams  <dcbw@redhat.com>
17760
17761         * dhcpcd/buildmsg.c
17762                 - Pad DHCP packets until they are at least 300 bytes in size.
17763
17764 2005-02-11  Dan Williams  <dcbw@redhat.com>
17765
17766         * dhcpcd/client.c
17767                 - (dhcp_init): only print out client ID and class ID if they are specified
17768
17769         * src/NetworkManagerDbus.[ch]
17770           src/nm-dbus-nm.[ch]
17771           src/nm-dbus-device.[ch]
17772           src/nm-dbus-net.[ch]
17773                 - Move NM, Device, and Net functions to separate files and use the
17774                         dbus method list stuff in NetworkManagerDbusUtils.c to do
17775                         method dispatching
17776
17777         * src/NetworkManagerDbusUtils.c
17778                 - Add new validate_method called before each dispatch (if present)
17779                         that can validate the method call
17780
17781         * src/NetworkManagerWireless.c
17782                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
17783                         levels never to be evaluated
17784
17785         Patch from j@bootlab.org
17786         * src/NetworkManagerDevice.c
17787                 - Add typedef for "u64"
17788
17789         * src/backends/NetworkManagerDebian.c
17790                 - Copy in Dave Woodhouse's fixes for IPv6
17791
17792 2005-02-11  Dan Williams  <dcbw@redhat.com>
17793
17794         Patch from Dave Woodhouse for IPv6:
17795         * src/NetworkManagerUtils.c
17796                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
17797                         and multicast addresses
17798
17799         * src/NetworkManagerDevice.c
17800                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
17801                         after bringing up a card.
17802
17803 2005-02-10  Dan Williams  <dcbw@redhat.com>
17804
17805         Patch from Dave Woodhouse:
17806         * src/NetworkManagerSystem.h
17807           src/backends/NetworkManagerDebian.c
17808           src/backends/NetworkManagerGentoo.c
17809           src/backends/NetworkManagerSlackware.c
17810                 - New nm_system_device_add_ip6_link_address() function to add link-local
17811                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
17812
17813         * src/backends/NetworkManagerRedHat.c
17814                 - (nm_system_device_add_ip6_link_address): implement
17815                 - (nm_system_device_flush_addresses): revert to previous behavior of
17816                         flushing all addresses
17817
17818 2005-02-10  Dan Williams  <dcbw@redhat.com>
17819
17820         Patch from Tom Parker:
17821         * src/NetworkManagerDevice.c
17822                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
17823                         mii.h headers are broken, and instead use our own typedefs
17824
17825 2005-02-10  Dan Williams  <dcbw@redhat.com>
17826
17827         * dhcpcd/buildmsg.c
17828                 - (fill_host_and_class_id): only fill in client and class IDs if
17829                         they are set by callers.
17830
17831         * dhcpcd/client.c
17832                 - (class_id_setup): don't autogenerate a class ID, only use one
17833                         we're given, if any.
17834                 - (client_id_setup): don't autogenerate a client ID, only use one
17835                         we're given, if any.
17836
17837         * dhcpcd/dhcpcd.c
17838                 - (dhcp_interface_init): ensure that client options are correctly
17839                         NULL terminated
17840
17841         * src/NetworkManagerDHCP.c
17842                 - (nm_device_dhcp_request): pass hostname to dhcp library
17843
17844 2005-02-10  Dan Williams  <dcbw@redhat.com>
17845
17846         * dhcpcd/client.c
17847                 - #rh147661# Don't send kernel version in DHCP requests
17848
17849         * src/NetworkManagerSystem.h
17850           src/backends/NetworkManagerDebian.c
17851           src/backends/NetworkManagerGentoo.c
17852           src/backends/NetworkManagerRedHat.c
17853           src/backends/NetworkManagerSlackware.c
17854                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
17855                         functions, they are no longer used anyway
17856
17857         * src/backends/NetworkManagerRedHat.c
17858                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
17859                         addresses in an attempt to keep IPv6 local-scope addresses around
17860
17861 2005-02-10  Dan Williams  <dcbw@redhat.com>
17862
17863         * src/NetworkManager.c
17864                 - (nm_create_device_and_add_to_list): change the add message slightly
17865
17866         * src/NetworkManagerUtils.c
17867                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
17868                         Return driver name to calling function
17869                 - (nm_get_driver_support_level): print out the driver a device is using
17870                         during the support check
17871
17872         Patch from Dave Woodhouse:
17873         * dhcpcd/udpipgen.c
17874                 - (in_cksum): copy last byte of odd-sized packets into a
17875                         'u_short' rather than a 'u_char', should fix wrong checksums
17876                         on big-endian platforms
17877
17878 2005-02-09  Dan Williams  <dcbw@redhat.com>
17879
17880         * Clean up usage of GSList objects and looping through their members
17881         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
17882                 now.
17883         * Fix problem where even if scanning was turned off, card would still
17884                 cycle through frequencies.
17885
17886 2005-02-08  Dan Williams  <dcbw@redhat.com>
17887
17888         * panel-applet/NMWirelessApplet.c
17889                 - Fix for gtk 2.4
17890
17891 2005-02-08  Dan Williams  <dcbw@redhat.com>
17892
17893         Patch from Bill Moss
17894         * panel-applet/NMWirelessApplet.c
17895                 - Restore correct ESSID in tooltips
17896
17897 2005-02-07  Dan Williams  <dcbw@redhat.com>
17898
17899         * panel-applet/NMWirelessApplet.[ch]
17900                 - Add a context menu that contains:
17901                         Pause/Resume Wireless Scanning
17902                         Stop/Start All Wireless Devices
17903                         About...
17904                 - Grab active device strength off active device,
17905                         not its network
17906
17907         * panel-applet/NMWirelessAppletDbus.[ch]
17908                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
17909                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
17910                 - Update active device strength every 2 seconds, not every 1 second
17911
17912         * panel-applet/menu-info.c
17913                 - Only disable wired devices in the menu when they support carrier detection,
17914                         and don't currently have a link.  Non-carrier-detect devices will always
17915                         remain choosable
17916
17917         * src/Makefile.am
17918           src/NetworkManagerDbusUtils.[ch]
17919                 - Add new new dbus utils sources
17920
17921         * src/NetworkManager.c
17922                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
17923                         with the boolean parameter
17924                 - Set scanning_enabled & wireless_enabled to TRUE
17925
17926         * src/NetworkManagerDbus.c
17927                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
17928                 - Implement scanning & wireless enable/disable calls
17929                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
17930
17931         * src/NetworkManagerDevice.c
17932                 - New link detection stuff again...
17933                         o  Create device's mainloop earlier (but don't run it earlier)
17934                         o  Hook up new carrier-detect support stuff
17935                         o  Add in the ethtool & mii support detection code
17936                 - Don't scan if scanning is disabled
17937
17938         * src/NetworkManagerPolicy.c
17939                 - Never automatically choose a device that doesn't support carrier detection
17940                 - Don't automatically choose a wireless device if wireless is disabled
17941
17942 2005-02-07  Dan Williams  <dcbw@redhat.com>
17943
17944         * libnm_glib/libnm_glib.c
17945                 - Small cleanup in element list iteration
17946
17947 2005-02-07  Dan Williams  <dcbw@redhat.com>
17948
17949         * src/NetworkManagerWireless.c
17950                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
17951                         to be in line with the WEXT quality specification
17952
17953 2005-02-02  Dan Williams  <dcbw@redhat.com>
17954
17955         Patch from Nathan Fredrickson <nathan@silverorange.com>
17956         * Fix up compile for deprecation of libgnomeui
17957                 - Switch to <glib/gi18n.h> from <libintl.h>
17958                 - Remove <libgnomeui/libgnomeui.h> includes
17959                 - Use gtk_window_set_default_icon_from_file() rather than
17960                         gnome_window_set_default_icon_from_file()
17961
17962         * named/nm-named-manager.c
17963                 - (generate_named_conf): Fix return-nothing in non-void
17964                         function
17965
17966 2005-02-02  Dan Williams  <dcbw@redhat.com>
17967
17968         * Clean up unused variables and the like
17969
17970 2005-02-02  Dan Williams  <dcbw@redhat.com>
17971
17972         * src/NetworkManagerAPList.c
17973                 - (nm_ap_list_merge_scanned_ap): merge strength too
17974
17975         * src/NetworkManagerUtils.c
17976                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
17977                         of locking issues by printing out prettier information than g_mutex_lock
17978                 - Print out names of mutexes registered with nm_register_mutex_desc()
17979                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
17980                         us to seemingly block here for too long
17981
17982         * src/NetworkManager.c
17983           src/NetworkManagerAPList.c
17984           src/NetworkManagerDevice.c
17985                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
17986                         so we get better debug information printed
17987
17988         * src/NetworkManagerDbus.c
17989                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
17990                         since it sometimes has locking side effects
17991                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
17992                         from 10s
17993                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
17994                         we don't need a switch.  This gets called often enough that we can't block
17995                         until the scan mutex is acquired, because we'll block on device activation
17996                         and a few other things, which hangs main thread for too long.
17997
17998         * src/NetworkManagerPolicy.c
17999                 - (nm_policy_auto_get_best_device): reduce the possiblity that
18000                         nm_device_need_ap_switch() will be called               
18001
18002 2005-02-02  Dan Williams  <dcbw@redhat.com>
18003
18004         * panel-applet/NMWirelessApplet.c
18005                 - Display name of wireless network we are connecting to or connected to
18006                         in the tooltip of the applet
18007
18008 2005-02-02  Dan Williams  <dcbw@redhat.com>
18009
18010         * src/NetworkManagerDHCP.c
18011                 - Hopefully fix double-default-route problem by cleaning up the default
18012                         route added by DHCP code right before the DHCP transaction begins
18013
18014 2005-02-02  Dan Williams  <dcbw@redhat.com>
18015
18016         * named/nm-named-manager.c
18017                 - Write out valid resolv.conf when we exit
18018
18019 2005-02-01  Dan Williams  <dcbw@redhat.com>
18020
18021         Patch from Colin Walters:
18022         * named/nm-named-manager.c
18023                 - Make multi-domain search options work
18024
18025 2005-01-31  Dan Williams  <dcbw@redhat.com>
18026
18027         * info-daemon/NetworkManagerInfoDbus.c
18028                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
18029
18030         * src/NetworkManagerDevice.c
18031                 - (nm_device_new): Don't store the entire range struct, use only what we need
18032                         (which is currently avg_quality, max_quality, and frequencies).  Also
18033                         zero device structure when we've free'd it to maybe expose errors down
18034                         the line.
18035                 - (nm_device_update_signal_strength): grab the scan mutex before getting
18036                         quality data from the card since quality will be useless during a scan.
18037                         Call updated wireless qual-to-percent function with values stored in
18038                         nm_device_new() earlier.
18039                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
18040                         nm_device_get_bad_crypt_packets())
18041                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
18042                         nm_device_new()
18043                 - (get_initial_auth_method): always use the Auth method that's in the allowed
18044                         list if available.  Problem was this: when the WEP key is wrong, NM will
18045                         try OS then SK modes, and then get stuck in SK mode after that.  This
18046                         should reset it.
18047                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
18048                         function
18049
18050         * src/NetworkManagerWireless.c
18051                 - (nm_wireless_qual_to_percent): try to make this function actually work and
18052                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
18053                         if that's all present, otherwise fall back to signal-to-noise ratios.
18054
18055 2005-01-29  Dan Williams  <dcbw@redhat.com>
18056
18057         * initscript/RedHat/NetworkManager
18058                 - Don't spit out sysctl stuff to console
18059
18060         * libnm_glib/libnm_glib.c
18061                 - (libnm_glib_init): call dbus_g_thread_init()
18062
18063         * panel-applet/NMWirelessAppletDbus.c
18064                 - (nmwa_dbus_worker): call dbus_g_thread_init()
18065
18066         * src/NetworkManager.c
18067                 - (main): call dbus_g_thread_init()
18068
18069         * src/NetworkManagerAPList.c
18070                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
18071                         so we can actually see what's there in a normal syslog
18072
18073         * src/NetworkManagerDevice.c
18074                 - (nm_device_activate_wireless): print out the "waiting for access point"
18075                         message only once, then say what access point we actually got after
18076                         the wait.
18077                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
18078                         function, wait until the scan is done.  Scans may change the ESSID of
18079                         the card, making this function think we need to switch access points
18080                 - (nm_device_wireless_process_scan_results): for artificial access points
18081                         don't check against the card's ESSID, but the best_ap's ESSID.  This
18082                         prevents collisions with the scanning code, which may change the card's
18083                         ESSID and cause the access point to get dropped from the device's AP
18084                         list.  Also increase the keep-around time to 2m from 60s since the max
18085                         scan interval could be 60s in some cases.
18086
18087         * src/NetworkManagerPolicy.c
18088                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
18089                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
18090                         the new properties and ESSIDs to the device's AP list.  Fixes some races
18091                         between NM and NMI.
18092
18093 2005-01-27  Dan Williams  <dcbw@redhat.com>
18094
18095         * info-daemon/NetworkManagerInfoDbus.c
18096                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
18097                         GConf, make a minimal entry for it (essid & timestamp)
18098
18099         * src/NetworkManagerAPList.c
18100                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
18101                         NetworkManagerInfo isn't running
18102
18103         * src/NetworkManagerDbus.[ch]
18104                 - (nm_dbus_nmi_is_running): new function
18105
18106         * src/NetworkManagerDevice.c
18107                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
18108                         address to garbage.
18109
18110         * src/NetworkManagerPolicy.c
18111                 - (nm_policy_activation_finish): On successful activation, make sure
18112                         the "best" AP has a MAC address, and don't tell NMI to add the
18113                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
18114                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
18115                         access point after refreshing our allowed list if it doesn't already
18116                         have a "best" access point.
18117
18118 2005-01-25  Dan Williams  <dcbw@redhat.com>
18119
18120         * panel-applet/NMWirelessAppletDbus.c
18121                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
18122                         so we check for NM_DBUS_SERVICE rather than not for it
18123
18124         * libnm_glib/libnm_glib.c
18125                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
18126                         ServiceOwnerChanged signal
18127
18128 2005-01-25  Dan Williams  <dcbw@redhat.com>
18129
18130         * configure.in
18131                 - Check DBUS version in configure, and set the C macros
18132                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
18133
18134         * info-daemon/NetworkManagerInfoDbus.c
18135                 - Remove #if 0-d section of code that quit NMI if NM went away.
18136
18137         * panel-applet/NMWirelessAppletDbus.c
18138                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18139
18140         * src/NetworkManager.c
18141           src/NetworkManagerMain.h
18142           src/NetworkManagerDbus.c
18143                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18144                 - Make updating of our Allowed Wireless Network lists from NMI
18145                         an idle function in the main thread now, with a high priority.
18146
18147 2005-01-24  Dan Williams  <dcbw@redhat.com>
18148
18149         * panel-applet/gtkcellview.[ch]
18150           panel-applet/menu-info.c
18151                 - Fix GTK version checks to be <= rather than <
18152
18153         * test/Makefile.am
18154                 - Include the libtool archive of libnm_glib rather than
18155                         trying to pull in the .so
18156
18157 2005-01-24  Dan Williams  <dcbw@redhat.com>
18158
18159         * src/NetworkManagerDevice.c
18160           src/NetworkManagerDevicePrivate.h
18161                 - Block nm_device_new() until our device's worker thread has had a
18162                         chance to start up.  Fixes a race between main thread and worker
18163                         thread starting that caused activation requests to get lost.
18164
18165 2005-01-24  Dan Williams  <dcbw@redhat.com>
18166
18167         * initscript/RedHat/NetworkManager
18168                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18169                         to add the NM startup script at priority 50, which was
18170                         way too early
18171
18172 2005-01-24  Colin Walters  <walters@redhat.com>
18173
18174         * named/named.conf: Use any port for query source instead of
18175         restricting to port 53.
18176
18177 2005-01-24  Dan Williams  <dcbw@redhat.com>
18178
18179         * initscript/RedHat/NetworkManager
18180                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18181                         to add the NM startup script at priority 50, which was
18182                         way too early
18183
18184 2005-01-24  Dan Williams  <dcbw@redhat.com>
18185
18186         Patch from Tom Parker <palfrey@tevp.net>
18187         * Fix up compile warnings & errors in the wireless applet
18188
18189 2005-01-24  Dan Williams  <dcbw@redhat.com>
18190
18191         * panel-applet/NMWirelessApplet.c
18192                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18193
18194 2005-01-24  Dan Williams  <dcbw@redhat.com>
18195
18196         * panel-applet/gtkcellview.[ch]
18197                 - Only compile these files for GTK 2.4 or lower, since 
18198                         GtkCellView is now public in GTK 2.6.  Fixes crasher
18199                         when choosing "Other Wireless Networks" from the panel
18200                         applet menu
18201
18202 2005-01-21  Dan Williams  <dcbw@redhat.com>
18203
18204         * src/NetworkManager.c
18205                 - Daemonize earlier so that glib doesn't get confused (?)
18206
18207 2005-01-21  Dan Williams  <dcbw@redhat.com>
18208
18209         * panel-applet/NMWirelessApplet.[ch]
18210           panel-applet/NMWirelessAppletDbus.c
18211           panel-applet/menu-info.c
18212           src/NetworkManagerDevice.c
18213                 - Disable wired devices in the menu when they have no link.
18214
18215 2005-01-21  Dan Williams  <dcbw@redhat.com>
18216
18217         * Cache last-known-good wireless authentication method in
18218                 NetworkManagerInfo, and use that method first during
18219                 wireless device activation.  Should speed up devices that
18220                 need Shared Key authentication method since Open System is
18221                 now the default.
18222
18223         * Remove the hack to not do full activation on wired connections
18224                 that are active when we launch, it causes too many problems
18225                 with name resolution and was a hack in the first place.
18226
18227         * Re-work wireless device activation again somewhat to have a
18228                 clearer chain of events and to use last-known-good
18229                 authentication method of the access point.  Also provide
18230                 better status throughout activation to ensure the applet
18231                 can tell the user exactly what's going on.
18232
18233         * Remove the "find wireless network" code and now simply attempt
18234                 to activate with that access point.  This reduces the delay
18235                 between selecting "Other wireless Network" and actually
18236                 connecting to that network.
18237
18238         * Correctly stop the device's worker thread when its removed.
18239
18240 2005-01-21  Dan Williams  <dcbw@redhat.com>
18241
18242         * dhcpcd/client.c
18243                 - Clean up some of the debug messages
18244
18245 2005-01-21  Dan Williams  <dcbw@redhat.com>
18246
18247         * Add new icons, more frames of animation
18248         * Remove some hacks to get the panel applet to display correct
18249                 status, an NM update will soon follow that will fix the
18250                 real issue.
18251
18252 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
18253
18254         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
18255         the first include for working i18n. Also, don't include it in .h files
18256         * panel-applet/NMWirelessApplet.h: Same
18257         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
18258         * panel-applet/menu-info.c: Same
18259
18260 2005-01-18  Dan Williams <dcbw@redhat.com>
18261
18262         * dhcpcd/client.c
18263                 - Remove some debug messages
18264                 - Wrap others in #ifdef DEBUG/#endif
18265
18266         * src/NetworkManager.c
18267                 - Remove some debug messages
18268                 - Clarify some debug messages
18269                 - Remove code related to old single-thread wireless scanning
18270
18271         * src/NetworkManagerAP.[ch]
18272                 - New AP property "last_seen" to track how recently an AP was
18273                         found in a scan
18274                 - Start using 'const' more in function arguments
18275
18276         * src/NetworkManagerAPList.[ch]
18277                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
18278                         of an AP found in an AP list from a source AP, or if not found
18279                         in the list add the source AP
18280                 - (nm_ap_list_combine): remove, no longer needed
18281
18282         * src/NetworkManagerDevice.c
18283                 - Each device now has a "worker" thread from start to end of its life.
18284                         Scanning for wireless devices now happens in that thread,
18285                         not in a single "wireless scanning thread" for all devices as
18286                         previously.  Activation consists of adding an idle handler to the
18287                         thread's main loop/context, which gets run at the next available
18288                         opportunity.
18289                 - Wireless scanning is also simplified, there is now only one list of
18290                         access points per wireless device, and APs older than 60s are
18291                         removed from the list.  Previously, we kept results for the last
18292                         3 scans and merged whole lists, which was complicated.
18293                 - Cleaned up activation debug messages.
18294                 - Wireless activation and access-point search routines now use Open System
18295                         authentication before trying Shared Key.
18296                 - Removed some code in nm_device_update_best_ap() that could cause cards
18297                         to loose their link to the access point.
18298                 - Scanning now uses a backoff algorithm, where the inverval becomes
18299                         progressively longer between scans when the list of scanned access
18300                         points doesn't change.  A change will revert to the shortest scan
18301                         interval (20s).
18302
18303         * src/NetworkManagerWireless.[ch]
18304                 - Remove code related to old single-thread wireless scanning
18305
18306 2005-01-18  Colin Walters  <walters@redhat.com>
18307
18308         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
18309         of older nameservers.
18310
18311 2005-01-18  Colin Walters  <walters@redhat.com>
18312
18313         * named/nm-named-manager.c (generate_named_conf): Many fixes
18314         to config file generation.
18315         (safer_kill): Remove, was too much trouble for little gain.
18316         (nm_named_manager_start): Run named as NM_NAMED_USER.
18317
18318         * configure.in: Add option --with-named-user.
18319
18320 2005-01-14  Colin Walters  <walters@redhat.com>
18321
18322         Patch from ed@catmur.co.uk (Ed Catmur)
18323
18324         * named/nm-named-manager.c: Add "context" property.
18325         Use it to add child watch source in specific GMainContext.
18326
18327         * src/NetworkManager.c (nm_data_new): Initialize
18328         named with correct main context.  Start named only
18329         after forking.
18330
18331 2005-01-14  Colin Walters  <walters@redhat.com>
18332
18333         * named/nm-named-manager.c (generate_named_conf): Write config
18334         and pid files into NM_NAMED_DATA_DIR; this allows things to
18335         work better with FC3 named SELinux policy.  Also fix up silly
18336         format error.
18337
18338         * configure.in: Add --with-named-dir option.
18339
18340 2005-01-14  Colin Walters  <walters@redhat.com>
18341
18342         * configure.in: Make named support require passing --with-named.
18343
18344         * named/nm-named-manager.c: Support writing resolv.conf directly
18345         without running named.
18346
18347 2005-01-13  Dan Williams <dcbw@redhat.com>
18348
18349         * named/nm-named-manager.c
18350                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
18351
18352         * src/NetworkManagerDevice.c
18353                 - Rework wireless link detection code to be more reliable
18354
18355 2005-01-12  Dan Williams <dcbw@redhat.com>
18356
18357         * initscripts/RedHat/NetworkManager
18358                 - Change initial level to "-" rather than "345" so that
18359                         we don't activate ourselves by default on install
18360
18361 2005-01-12  Dan Williams <dcbw@redhat.com>
18362
18363         * libnm_glib/
18364                 - Client library for applications using glib
18365
18366         * configure.in
18367           various Makefiles
18368                 - Split NM_CFLAGS and NM_LIBS into separate variables
18369                         like DBUS_*, HAL_* and GLIB_*
18370
18371         * src/NetworkManager.c
18372           src/NetworkManagerMain.h
18373                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
18374                         broadcast a status changed signal over DBUS from the main thread.
18375                         Still unused anywhere for the moment.
18376
18377         Patch from j@bootlab.org
18378         * panel_applet/NMWirelessAppletDbus.c
18379           src/NetworkManagerDbus.c
18380                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
18381                         for the "getMode" method call
18382
18383 2005-01-10  Dan Williams <dcbw@redhat.com>
18384
18385         * src/NetworkManagerDevice.c
18386                 - Minor fixups & corrections to "auto" frequency mode, make it
18387                         less chatty with syslog
18388
18389 2005-01-10  Dan Williams <dcbw@redhat.com>
18390
18391         * src/NetworkManagerDevice.c
18392                 - Implement "auto" frequency/channel support, since cards like Atheros
18393                         can't use other frequencies at all when you've told it to use a
18394                         specific one, even for scanning.
18395                 - Grab the scan mutex around places where we can't tolerate wireless
18396                         settings changing underneath us, like nm_device_wireless_network_exists()
18397                         and nm_device_activate_wireless()
18398
18399         * src/NetworkManagerWireless.c
18400                 - Back scan interval off to 20s instead of 14s
18401
18402 2005-01-09  Dan Williams <dcbw@redhat.com>
18403
18404         * src/NetworkManagerDevice.c
18405                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
18406                         already set.  Stops some drivers like Atmel from continually
18407                         reloading the firmware, which they do upon every configuration
18408                         change.
18409
18410 2005-01-09  Dan Williams <dcbw@redhat.com>
18411
18412         * dhcpcd/client.c
18413                 - Use correct timeout value
18414
18415         * info-daemon/NetworkManagerInfoDbus.c
18416           src/NetworkManagerDbus.c
18417                 - Consolidate communication between NM and NMI by doing only 1 dbus
18418                         method call to get Wireless Network info from NMI instead of 6
18419
18420         * src/NetworkManager.c
18421                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
18422                         when we didn't have an AP to use, we'd wait for one forever without
18423                         quitting
18424
18425         * src/NetworkManagerDevice.c
18426                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
18427                         activation, dhcp might not have started yet but we don't quit activation
18428                         before starting it, so the quit signal gets lost
18429
18430 2005-01-07  Dan Williams <dcbw@redhat.com>
18431
18432         * dhcpcd/client.c
18433                 - Rework the DHCP client code to be much less chatty when
18434                         it receives non-DHCP UDP packets during the DHCP run
18435                         (reported by and preliminary patches from Bill Moss)
18436
18437         * Move wireless scanning to a separate thread.  This thread forwards the
18438                 results to the main thread when done where they are integrated into
18439                 the device's access point lists.  This keeps the main thread (which
18440                 does all the DBUS communication) from being blocked for long periods
18441                 of time by wireless scanning.
18442
18443         * Make state modification an idle routine in the main loop, and trigger
18444                 state changes rather than polling for them.
18445
18446         * src/backends/NetworkManagerGentoo.c
18447                 - Fix up invalid C90 code (reported by Christoph Ruessler)
18448
18449         * src/NetworkManagerDevice.c
18450                 - Revert IPv6 patch for wired devices from 2004-12-22 for
18451                         router advertisements, causing problems and infinite loop
18452                         during "best" device determination due to link going up/down
18453                         (reported by Bill Moss)
18454
18455         Apply patch from Peter Jones
18456         * src/NetworkManagerDevice.c
18457                 - Shortcut for link-checking for ipw2x00 cards
18458                 - Split out association check into separate routine
18459
18460 2004-01-05  Colin Walters  <walters@redhat.com>
18461
18462         * named/named.conf: Add PID_FILE.
18463
18464         * named/nm-named-manager.c: Always generate a pid
18465         file, since older BIND versions don't support
18466         "pid-file none".
18467
18468 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
18469
18470         * configure.in (ALL_LINGUAS): Added ja (Japanese).
18471
18472 2004-12-22  Dan Williams <dcbw@redhat.com>
18473
18474         * src/NetworkManagerDevice.c
18475                 - Silently fail when setting bitrate doesn't work
18476
18477
18478         Patches from j@bootlab.org:
18479         * src/backends/NetworkManagerDebian
18480                 - Update backend to match functionality in RedHat backend
18481         * src/NetworkManagerDevice.c
18482                 - Take down then bring up wired devices after connection so
18483                 they send out ipv6 router advertisements
18484
18485 2004-12-21  Colin Walters  <walters@verbum.org>
18486
18487         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
18488         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
18489
18490 2004-12-21  Colin Walters  <walters@redhat.com>
18491
18492         * configure.in: Correct named detection.
18493
18494 2004-12-21  Colin Walters  <walters@redhat.com>
18495
18496         * src/NetworkManager.c (nm_data_new): Initialize named.
18497         Also, set up a signal handler for SIGINT/SIGTERM, and exit
18498         the mainloop when these signals are received.
18499         (nm_data_free): Unref named.
18500         (sigterm_handler, sigterm_pipe_handler): New functions for
18501         exiting mainloop.
18502         
18503         * src/NetworkManagerMain.h (NMData): Add signal handling and
18504         nameserver bits.
18505
18506         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
18507         unref.
18508
18509         * src/NetworkManagerDHCP.c (set_nameservers): New function;
18510         set nameservers from DHCP response data.
18511         (set_domain_search): Set domain search from DHCP response.
18512         (nm_device_dhcp_configure): Invoke them.
18513
18514         * src/NetworkManagerSystem.c
18515         (nm_system_device_update_resolv_conf): Delete.  Deleting
18516         code is totally sweet.
18517
18518         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
18519
18520         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
18521         implements an object which controls a nameserver.  Currently
18522         uses bind 9.
18523
18524         * configure.in: Check for named.
18525
18526         * Makefile.am (SUBDIRS): Add named dir.
18527
18528         * named/named.conf: New template config file.
18529
18530 2004-12-20  Colin Walters  <walters@redhat.com>
18531
18532         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
18533         instead of '='.
18534
18535 2004-12-17  Dan Williams  <dcbw@redhat.com>
18536
18537         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
18538                 link-local addresses instead of doing DHCP.
18539
18540         * In the panel applet, there's a new "Create new Wireless Network..." item
18541
18542         * The panel applet also sticks around now even if NetworkManager dies, but
18543                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
18544                 a bug, I'll fix that later.
18545
18546         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
18547                 lookups after a switch rather than actually doing them.
18548
18549         * Clean up some of those warnings in nm_ap_list_* functions
18550
18551         * Delay between scans changed to 15s instead of 10s
18552
18553 2004-12-15  Dan Williams  <dcbw@redhat.com>
18554
18555         Patch from Tom Parker
18556         * Add autoip/Link Local Addressing support when we fail to get a DHCP
18557                 address
18558
18559         * Longer pause after setting ESSID on cards that support a larger number
18560                 of channels to give the card time to find the right channel
18561
18562         * Add system hook to restart mDNSResponder (or whatever the local implementation
18563                 of Multicast DNS is) when we activate interfaces
18564
18565 2004-12-15  Dan Williams  <dcbw@redhat.com>
18566
18567         * Rework the DHCP code again to revert to sending full ethernet frames
18568                 rather then relying on the kernel to do the right thing with our
18569                 packets.
18570
18571 2004-12-06  Dan Williams  <dcbw@redhat.com>
18572
18573         * dhcpcd/client.c
18574                 - Fix some minor errors in dhcp_handle_transaction() that caused
18575                         unexpected early timeouts of DHCP transactions
18576
18577         * dhcpcd/client.h
18578                 - DHCP retransmit time from 4s -> 5s
18579
18580 2004-12-05  Dan Williams  <dcbw@redhat.com>
18581
18582         * Major rework of the DHCP code, taking some cues from pump.  We don't
18583                 write raw Ethernet packets anymore, which simplifies the code quite
18584                 a bit.  The new code should be more robust, not hang in recvfrom()
18585                 as much, and generally work better.  This also means that we need
18586                 to force HAL/dbus to use a created GMainContext rather than the
18587                 default context, since having the DHCP renew/rebind thread using
18588                 its own GMainContext seemed to give dbus a fit.  There is also more
18589                 debugging information printed from the DHCP loop to help with future
18590                 problems.
18591
18592         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
18593                 assume that the default gateway should be the DHCP server.
18594
18595         Patch from Matthew Schick <matt oss-institute org>
18596         * src/backends/NetworkManagerGentoo.c
18597                 - Fix compilation error due to missing "ip4_broadcast"
18598
18599 2004-12-03  Dan Williams  <dcbw@redhat.com>
18600
18601         * initscript/Makefile.am
18602         * initscript/Debian/NetworkManager
18603         * initscript/Gentoo/NetworkManager
18604         * initscript/RedHat/NetworkManager
18605         * initscript/NMLaunchHelper.c
18606                 - Remove NMLaunchHelper, if you need to wait until the network
18607                         comes up, use the dead code from CVS.
18608
18609 2004-12-01  Colin Walters  <walters@redhat.com>
18610         
18611         * configure.in: Suck in gcc warnings code from Rhythmbox,
18612         but use fewer default flags, and in particular add -Wno-unused,
18613         since the codebase has a lot of unused variables.
18614
18615         * test/nmtestdevices.c (create_device): 
18616         * test/nminfotest.c (get_network_string_property) 
18617         (get_networks_of_type): 
18618         * test/nmclienttest.c (main): 
18619         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
18620         * initscript/NMLaunchHelper.c (get_nm_status): 
18621         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
18622         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
18623         Fix declarations after statements.
18624
18625 2004-12-01  Colin Walters  <walters@redhat.com>
18626
18627         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
18628         (nmi_dbus_get_vpn_userpass): New method.
18629         (nmi_dbus_nmi_message_handler): Invoke it.
18630
18631         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
18632
18633         * info-daemon/NetworkManagerInfoVPN.h,
18634         info-daemon/NetworkManagerInfoVPN.c: New files; responds
18635         to requests for VPN passwords.
18636
18637         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
18638
18639 2004-12-01  Colin Walters  <walters@redhat.com>
18640
18641         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
18642         includes.
18643
18644 2004-12-01  Colin Walters  <walters@redhat.com>
18645
18646         * panel-applet/NMWirelessAppletDbus.c
18647         (nmwa_dbus_update_active_device_strength): Fix missing
18648         return value.
18649
18650 2004-12-01  Colin Walters  <walters@redhat.com>
18651
18652         * panel-applet/NMWirelessApplet.c: Add missing include.
18653
18654 2004-12-01  Colin Walters  <walters@redhat.com>
18655
18656         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
18657         Remove useless CLAMP (); the value is unsigned, and the case tests
18658         qual->qual < 100, so the value must always be between 0 and 100.
18659
18660 2004-12-01  Colin Walters  <walters@redhat.com>
18661
18662         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
18663
18664 2004-11-22  Colin Walters  <walters@verbum.org>
18665
18666         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
18667         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
18668         which is essentially a noop since nscd caches hosts on disk too.
18669         
18670 2004-11-22  Colin Walters  <walters@redhat.com>
18671
18672         * src/Makefile.am (NetworkManager_SOURCES): Add
18673         NetworkManagerDevicePrivate.h.
18674
18675 2004-11-22  Dan Williams <dcbw@redhat.com>
18676
18677         * src/NetworkManagerDevicePrivate.h
18678                 - Split out the NMDevice struct to a different file so that stuff like
18679                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
18680
18681         * dhcpcd/client.c
18682                 - fprintf->syslog
18683                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
18684                         need to cancel the dhcp request during the send and recv
18685
18686         * dhcpcd/client.h
18687                 - Move the DHCP option enum to dhcpcd.h
18688
18689         * src/NetworkManagerDHCP.c
18690                 - Split out the actual IP/netmask/etc setting code
18691                 - New Renew/Rebind functions
18692                 - New timer setup function for renew/rebind operations
18693
18694         * src/NetworkManagerDevice.c
18695                 - For device activation, if we are using DHCP then keep the activation thread
18696                         alive until device deactivation.  We need to renew/rebind the DHCP address
18697                         after the T1 (renew) and T2 (rebind) times have expired.
18698                 - Increase some timeouts after bringing wireless cards up/down
18699
18700 2004-11-17  Dan Williams <dcbw@redhat.com>
18701
18702         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
18703                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
18704                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
18705                 show known access points that don't broadcast their ESSID in the menus without
18706                 any user intervention whatsoever.
18707
18708         * info-daemon/NetworkManagerInfoDbus.c
18709                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
18710                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
18711
18712         * src/NetworkManagerAP.[ch]
18713                 - Add a "user_addresses" data member to the NMAccessPoint structure
18714                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
18715                         the user_addresses data member
18716
18717         * src/NetworkManagerAPList.c
18718                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
18719                         the AP's reported address
18720                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
18721
18722         * src/NetworkManagerDHCP.c
18723                 - Increase DHCP timeout from 25s -> 30s
18724
18725         * src/NetworkManagerDbus.[ch]
18726                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
18727                         user addresses
18728
18729         * src/NetworkManagerDevice.c
18730                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
18731                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
18732                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
18733                         So, we take the card down to clear it out.
18734                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
18735                         too, since that's where the user_addresses are
18736
18737         * src/NetworkManagerPolicy.c
18738                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
18739                         that wireless networks' user_addresses list upon successful activation
18740
18741 2004-11-16  Dan Williams <dcbw@redhat.com>
18742
18743         * src/NetworkManagerDevice.[ch]
18744                 - (nm_device_clear_activation_fail): new function
18745
18746         * src/NetworkManagerPolicy.c
18747                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
18748                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
18749
18750 2004-11-16  Dan Williams <dcbw@redhat.com>
18751
18752         * src/NetworkManagerDevice.c
18753                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
18754                         leak the structure, better updating of now_scanning status
18755                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
18756
18757 2004-11-15  Dan Williams <dcbw@redhat.com>
18758
18759         Major rework of link detection code.  We now use DHCP
18760         as part of the link detection which proves to be much more robust,
18761         and also supports Open System authentication for wireless networks.
18762
18763         We no longer use external DHCP client programs.  Instead, we use 
18764         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
18765         which was written by:
18766                 Yoichi Hariguchi <yoichi@fore.com>
18767                 Sergei Viznyuk <sv@phystech.com>
18768                 http://www.phystech.com/download/
18769         It resides in the "dhcpcd" directory and was refactored into a general
18770         purpose DHCP client library by me.
18771
18772         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
18773         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
18774
18775 2004-11-15  Dan Williams <dcbw@redhat.com>
18776
18777         Patch from Tom Parker <palfrey@tevp.net>:
18778
18779         * src/NetworkManagerDevice.c
18780                 - Less output to console when no access
18781                         points are found during a scan
18782
18783 2004-11-15  Dan Williams <dcbw@redhat.com>
18784
18785         Patch from Tom Parker <palfrey@tevp.net>:
18786
18787         * src/backends/interface_parser.c
18788                 - Use g_strdup ()
18789                 - Check for inp == NULL
18790                 - use syslog ()
18791
18792 2004-11-13  Colin Walters  <walters@redhat.com>
18793
18794         Patch from Tom Parker <palfrey@tevp.net>:
18795
18796         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
18797         
18798         * src/backends/NetworkManagerRedHat.c: Switch to
18799         including shvar.h instead of shvar.c.
18800
18801         * src/backends/NetworkManagerDebian.c: Don't include
18802         interface_parser.c in source file.
18803
18804         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
18805         and interface_parser.[ch].
18806         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
18807         Include shvar.c and shvar.h here.
18808         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
18809         interface_parser.c and interface_parser.h here.
18810
18811 2004-11-12  Colin Walters  <walters@redhat.com>
18812
18813         * configure.in: Strip out TARGET_DISTRO and
18814         SYSTEM_BACKEND_FILE variables.  Switch to Automake
18815         conditionals.
18816
18817         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
18818         (libnmbackend_la_SOURCES): Use Automake conditionals
18819         to add distro-specific files.
18820
18821         * initscript/Makefile.am (SUBDIRS): Update to
18822         use conditionals.
18823
18824 2004-11-12  Colin Walters  <walters@redhat.com>
18825
18826         Patches from j bootlab org
18827
18828         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
18829         Add interface_parser.[ch].
18830
18831         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
18832         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
18833
18834 2004-11-12  Colin Walters  <walters@redhat.com>
18835
18836         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
18837         call to nmi_dbus_is_running too, not necessary anymore.
18838         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
18839         pick up exit().
18840
18841 2004-11-11  Colin Walters  <walters@verbum.org>
18842
18843         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
18844         Delete.
18845         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
18846         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
18847         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
18848         This avoids a race condition that made it pretty easily
18849         possible to get two NetworkManagerInfo daemons running.
18850
18851 2004-11-11  Colin Walters  <walters@verbum.org>
18852         
18853         * src/NetworkManager.c (main): Use daemon(3).
18854
18855         * info-daemon/NetworkManagerInfo.c (main): Ditto.
18856
18857         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
18858
18859 2004-11-10 Dan Williams <dcbw@redhat.com>
18860
18861         Patches from j bootlab org
18862         * src/NetworkManagerDevice.c
18863                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
18864                         whether the card has a link or not, some cards are slow
18865                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
18866
18867         * info-daemon/NetworkManagerInfoPassphraseDialog.c
18868                 - Disable the "Login" button on the passphrase dialog until the user
18869                         enters a valid passphrase or key
18870
18871         Patches from Tom Parker <palfrey tevp net>
18872         * src/backends/NetworkManagerDebian.c
18873                 - Add static IP support to the debian backend
18874
18875         * src/backends/interface_parser.[ch]
18876                 - Parse debian interface config files
18877
18878 2004-11-08 Dan Williams <dcbw@redhat.com>
18879
18880         * src/NetworkManagerDevice.c
18881                 - Some random fprintf->syslog conversions
18882                 - (nm_device_wireless_network_exists): double-check for network
18883                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
18884
18885         * src/NetworkManagerWireless.[ch]
18886                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
18887                         so that the binary->ascii conversion works (if unsigned, the bitshift
18888                         will fill with zeros, which is what's required).  Also mask bitshift
18889                         result with 0xF for futher assurance.
18890
18891 2004-11-06 Dan Williams <dcbw@redhat.com>
18892
18893         * src/NetworkManagerUtils.c
18894                 - (nm_get_wireless_driver_support_level): default to
18895                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
18896                         flip this when changing from whitelist->blacklist of
18897                         wireless drivers
18898
18899 2004-11-05 Dan Williams <dcbw@redhat.com>
18900
18901         Patch from Robert Paskowitz:
18902         * src/backends/NetworkManagerGentoo.c
18903                 - Update static IP config code
18904
18905 2004-11-05 Dan Williams <dcbw@redhat.com>
18906
18907         * info-daemon/NetworkManagerInfoDbus.c
18908           src/NetworkManagerDbus.[ch]
18909           src/NetworkManagerDevice.c
18910                 - Keep track of the # of attempts to get the WEP key
18911                         from the user and pass that along to the info daemon
18912
18913 2004-11-05 Dan Williams <dcbw@redhat.com>
18914
18915         * src/NetworkManagerUtils.c
18916                 - Blacklist wireless cards rather than whitelisting them.
18917                 - Grab driver name from HAL rather than trying to find it
18918                         ourselves.
18919
18920 2004-11-03 Dan Williams <dcbw@redhat.com>
18921
18922         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
18923                 - Disable OK button until valid data is entered
18924                         for encryption stuff too
18925
18926         * panel-applet/NMWirelessApplet.c
18927                 - Report card strength for current AP if the card
18928                         doesn't report strength data for scanned access
18929                         points
18930
18931         * src/NetworkManagerDevice.c
18932                 - Smooth out cards reported quality, Atmel card was
18933                         intermittently reporting no quality data but soon
18934                         recovers
18935
18936         * src/NetworkManagerWireless.c
18937                 - Better quality data percentage calculation.  Atmel
18938                         cards (mine at least) seem to report the quality
18939                         in percentage format already, so honor that
18940
18941         Patch from <j@bootlab.org>
18942         * NetworkManager.h
18943           info-daemon/NetworkManagerInfoPassphraseDialog.c
18944           info-daemon/passphrase.glade
18945           panel-applet/NMWirelessAppletOtherNetworkDialog.c
18946           panel-applet/essid.glade
18947           src/NetworkManagerAP.c
18948           src/NetworkManagerDevice.c
18949           src/NetworkManagerWireless.[ch]
18950                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
18951
18952 2004-11-03 Dan Williams <dcbw@redhat.com>
18953
18954         * src/NetworkManagerDevice.[ch]
18955                 - (nm_device_set_enc_key): Add parameter to set Authentication
18956                         Mode (Open System, Shared Key, or None).  We're still using
18957                         Shared Key for now though.
18958
18959 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
18960
18961         * panel-applet/menu-info.c: change from bold text to light
18962         colored, may cause problems with some themes, i've tested a lot
18963         and they seem fine. 
18964
18965         * panel-applet/NMWirelessApplet.c: fix strength tooltip
18966
18967 2004-11-01  Colin Walters  <walters@verbum.org>
18968
18969         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
18970         (nm_wireless_128bit_key_from_passphrase): Add const.
18971
18972         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
18973         (nm_ap_set_enc_key_source): Add const.
18974         
18975 2004-11-01  Colin Walters  <walters@verbum.org>
18976
18977         * .cvsignore: Update.
18978
18979 2004-10-29 Dan Williams <dcbw@redhat.com>
18980
18981         * src/NetworkManagerDevice.c
18982                 - (nm_device_wireless_network_exists): Actually use the encryption
18983                         key we got from the applet when attempting to find a wireless network
18984                 - Don't bring devices down so much since on some cards it triggers
18985                         firmware hotplugs each time
18986
18987         * src/NetworkManagerDbus.c
18988                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
18989                         from the caller
18990
18991 2004-10-29 Dan Williams <dcbw@redhat.com>
18992
18993         * src/NetworkManager.c
18994                 - (nm_hal_device_property_modified): unlock a locked active
18995                         wireless device when a wired connection gets a link.
18996                         (Means you'll switch to wired whenever you plug in no
18997                         matter what).
18998
18999 2004-10-29 Dan Williams <dcbw@redhat.com>
19000
19001         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
19002                 - New files, implement the "Other wireless network" dialog
19003
19004         * panel-applet/NMWirelessApplet.c
19005                 - Move "other wireless network" dialog to separate file
19006
19007         * panel-applet/NMWirelessAppletDbus.[ch]
19008                 - Take key and key_type paramaters for the set_device function
19009
19010         * panel-applet/essid.glade
19011                 - Add UI bits for encryption settings
19012
19013         * src/NetworkManagerDbus.c
19014                 - Retrieve key and key_type params for "setActiveDevice" method call
19015                         and pass them on
19016                 - unref AP returned from nm_device_get_best_ap() when needed
19017
19018         * src/NetworkManagerDevice.c
19019                 - (nm_device_get_best_ap): ref the ap before returning it
19020                 - unref AP returned from nm_device_get_best_ap() when needed
19021                 - (nm_device_activate_wireless): add "ap" parameter so we don't
19022                         need to call nm_device_get_best_ap() here, it was pretty much
19023                         redundant anyway
19024                 - (AP_NEED_KEY): break second link check condition out into separate
19025                         function, and fix segfault when ap->enc_key_source was NULL
19026                 - (nm_device_find_and_use_essid): take key and key_type parameters and
19027                         pass them along to nm_device_wireless_network_exists().  If the
19028                         network does exist, set the passed-in key+key_type on the AP
19029
19030         * src/NetworkManagerPolicy.c
19031                 - unref AP returned from nm_device_get_best_ap() when needed
19032
19033 2004-10-28 Dan Williams <dcbw@redhat.com>
19034
19035         * src/NetworkManagerUtils.c
19036                 - (nm_spawn_process): Fix a potential dereference of NULL
19037
19038         Patches from Peter Jones:
19039
19040         * src/NetworkManagerDevice.c
19041                 - (nm_device_test_wireless_extensions): Better check for
19042                         wireless devices
19043
19044         * src/NetworkManagerUtils.c
19045                 - (nm_spawn_process): Pass in valid stdout and stderr so
19046                         executed programs don't randomly SIGPIPE and fail
19047                 - (nm_get_wired_driver_support_level): quash hal warning
19048                         when checking for USB ethernet device
19049
19050 2004-10-27 Dan Williams <dcbw@redhat.com>
19051
19052         * info-daemon/NetworkManagerInfo.c
19053           info-daemon/NetworkManagerInfoDbus.c
19054           info-daemon/NetworkManagerInfoPassphraseDialog.c
19055           panel-applet/NMWirelessApplet.c
19056                 - Properly escape gconf keys
19057
19058         * src/NetworkManager.c
19059                 - remove unused variables
19060
19061         * src/NetworkManagerAP.c
19062                 - (nm_ap_new_from_ap): Don't redundantly set new APs
19063                         refcount since it got set in nm_ap_new()
19064
19065         * src/NetworkManagerAPList.c
19066                 - (nm_ap_list_combine): Give up ownership of newly created
19067                         access points to the ap list, fixes memleak
19068
19069         * src/NetworkManagerDevice.c
19070                 - Remove cached_ap_list4 member since its not really needed
19071                 - (nm_device_wireless_network_exists): Try to get correct
19072                         encryption status of a found AP if its already in our
19073                         device list
19074                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
19075                         memory allocs/deallocs a bit clearer and shorter-lived
19076
19077 2004-10-26 Ray Strode <rstrode@redhat.com>
19078
19079         * panel-applet/NMWirelessApplet.c:
19080           (custom_essid_item_selected):  kill some compiler
19081         warnings 
19082
19083 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
19084
19085         * info-daemon/NetworkManagerInfoDbus.c
19086                 - (nmi_dbus_is_running): New function for determining if nmi is already running
19087                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
19088
19089 2004-10-23 Dan Williams <dcbw@redhat.com>
19090
19091         * info-daemon/NetworkManagerInfoDbus.c
19092                 - Trap the "DeviceActivationFailed" signal
19093
19094         * docs/NetworkManager DBUS API.txt
19095                 - Add "DeviceActivationFailed" signal
19096
19097         * panel-applet/NMWirelessAppletDbus.c
19098                 - Quash the "NetworkManager service not available" message
19099
19100         * src/NetworkManagerDbus.[ch]
19101                 - Add the "DeviceActivationFailed" signal
19102
19103         * src/NetworkManagerDevice.c
19104                 - Add support for activation_failed flag
19105                 - Fix deadlock where activation thread didn't clean itself up, making
19106                         main thread still believe it was alive forever (didn't reset activation
19107                         flags like activating, just_activated, etc when IP configuration
19108                         failed)
19109
19110         * src/NetworkManagerPolicy.c
19111                 - Implement logic for DeviceActivationFailed signal, and when activation fails
19112                         for wireless networks, try to fall back to some other access point
19113
19114 2004-10-23 Dan Williams <dcbw@redhat.com>
19115
19116         * panel-applet/NMWirelessApplet.[ch]
19117                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
19118                         to the applet object, so we can get tooltips
19119                 - Add tooltips (RH #136866)
19120
19121         * src/NetworkManagerDevice.c
19122                 - When trying to find a wireless network, try to connect with encryption
19123                         turned on first, so that we can more accurately detect whether or not
19124                         we need to use encryption for the actual association later on
19125
19126 2004-10-21 Dan Williams <dcbw@redhat.com>
19127
19128         * Add some support for telling NetworkManagerInfo to tell the user
19129                 that they are using a device that's not fully supported
19130
19131         * Fix some assertions in debug messages due to null access point args
19132
19133 2004-10-21 Dan Williams <dcbw@redhat.com>
19134
19135         * src/NetworkManagerDevice.c
19136                 - Don't try to activate/bring up/down unsupported
19137                         devices
19138
19139         * src/NetworkManagerUtils.c
19140                 - Fix case of PCI ID checks for driver support levels
19141
19142 2004-10-21 Dan Williams <dcbw@redhat.com>
19143
19144         * NetworkManager.h
19145                 - New file, now contains commonly used structures and bits
19146                         for the dbus API of NetworkManager
19147
19148         * Makefile.am
19149                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
19150
19151         * src/NetworkManager.h
19152                 - Rename -> src/NetworkManagerMain.c
19153
19154         * Various fixups all around to use NetworkManager.h and new
19155                 src/NetworkManagerMain.h, remove redundant bits that got
19156                 moved into NetworkManager.h
19157
19158         * src/NetworkManagerDevice.[ch]
19159           src/NetworkManagerUtils.[ch]
19160           src/NetworkManagerPolicy.c
19161           src/NetworkManagerDbus.c
19162                 - Whitelist wireless drivers, and blacklist some wired
19163                         drivers.  Also blacklist cipsec and ethernet-over-usb
19164                         devices at this time (RH #135722, RH #135648)
19165                 - Don't leak unsupported devices out over dbus, or allow
19166                         them to be set as the active device.  Skip over them
19167                         during automatic device picking
19168
19169         * test/nmclienttest.c
19170                 - Clean up the dbus code a lot
19171
19172 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
19173
19174         * configure.in: post release bump.
19175
19176 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
19177
19178         * configure.in:
19179         * NEWS: Released NetworkManager-0.3.1
19180
19181 2004-10-18 Dan Williams <dcbw@redhat.com>
19182
19183         Patches from Thom May:
19184         * test/nmtestdevices.c
19185                 - Include <string.h>
19186         * src/backends/NetworkManagerDebian.c:
19187                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19188                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19189                         Move to using g_strdup_printf rather than arbitrary buffers
19190                 - (nm_system_device_setup_static_ip4_config) Implement function.
19191                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19192
19193 2004-10-17 Dan Williams <dcbw@redhat.com>
19194
19195         * info-daemon/NetworkManagerInfoDbus.c
19196                 - Display name of network in the "network not found" dialog
19197
19198         * panel-applet/NMWirelessAppletDbus.c
19199                 - (nmwa_dbus_call_nm_method): new function replaces all other
19200                         nmwa_dbus_get_[string|string_array|int|boolean] methods
19201                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
19202                         consolidated into nmwa_dbus_get_object_name()
19203
19204 2004-10-15 Dan Williams <dcbw@redhat.com>
19205
19206         * src/NetworkManagerDbus.c
19207           info-daemon/NetworkManagerInfoDbus.c
19208                 - Display an error dialog when the user tries to use an
19209                         "Other wireless network" that's not found.
19210
19211 2004-10-15 Dan Williams <dcbw@redhat.com>
19212
19213         * panel-applet/NMWirelessApplet.[ch]
19214                 - Fix up corner cases in applet state, making it
19215                         look more responsive.  Change state to "connecting" when
19216                         the user is forcing a device too.
19217
19218 2004-10-15 Dan Williams <dcbw@redhat.com>
19219
19220         * src/NetworkManagerAPList.c
19221                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
19222
19223         * src/NetworkManagerDbus.c
19224                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
19225
19226         * src/NetworkManagerDevice.c
19227                 - Disown APs after the device's AP list takes ownership
19228
19229 2004-10-15 Dan Williams <dcbw@redhat.com>
19230
19231         * panel-applet/NMWirelessApplet.c
19232                 - Update our applet state from the GUI thread
19233
19234         * panel-applet/NMWirelessAppletDbus.c
19235                 - Greatly simplify the locking to make the GUI thread
19236                         smoother.  Update a private copy of the device list
19237                         and active device and only when done talking to
19238                         NetworkManager turn it over to the GUI thread.
19239
19240 2004-10-15 Dan Williams <dcbw@redhat.com>
19241
19242         * src/NetworkManagerAP.[ch]
19243                 - Add "artificial" get/set functions, set for APs that
19244                         aren't discovered as part of a scan but instead
19245                         discovered by force-setting the ESSID
19246
19247         * src/NetworkManagerDevice.[ch]
19248                 - (nm_device_wireless_network_exists): pass back whether
19249                         or not the discovered AP was encrypted.  Also, try
19250                         falling back to encrypted mode on the card if unencrypted
19251                         association doesn't work
19252                 - (nm_device_find_and_use_essid): If the network requested
19253                         did in fact exists, but it wasn't in our scan list, add
19254                         an "artificial" entry for it.  Some Cisco cards don't
19255                         see non-ESSID-broadcasting APs in their scan but can still
19256                         associate with them if you know the ESSID, this works around
19257                         that behavior
19258                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
19259                         to scan if the card is currently associated with that AP
19260
19261 2004-10-15 Dan Williams <dcbw@redhat.com>
19262
19263         ---- We have a website ----
19264         http://people.redhat.com/dcbw/NetworkManager
19265
19266         Patch from Robert Paskowitz:
19267         * src/NetworkManager.c
19268                 - (main): Make sure we are run as root
19269         * src/NetworkManagerDevice.c
19270                 - Fix type in ad-hoc setting function
19271
19272         Patch from Thom May:
19273         * src/backends/NetworkManagerDebian.c
19274                 - Make Debian backend compile again
19275
19276 2004-10-14 Dan Williams <dcbw@redhat.com>
19277
19278         * Tagged NetworkManager-0_3
19279
19280 2004-10-14 Dan Williams <dcbw@redhat.com>
19281
19282         Patch from Robert Paskowitz:
19283         * NEWS
19284           src/NetworkManagerDevice.[ch]
19285           src/backends/NetworkManagerDebian.c
19286           src/backends/NetworkManagerGentoo.c
19287           src/backends/NetworkManagerRedHat.c
19288           src/backends/NetworkManagerSlackware.c
19289                 - Add support for grabbing and using a broadcast address
19290                         from system config files
19291                 - Some Gentoo backend fixes for grabbing network config
19292                 - Fix LOG_WARN->LOG_WARNING
19293
19294 2004-10-14 Dan Williams <dcbw@redhat.com>
19295
19296         * NEWS: a few small fixes in the credits
19297
19298 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
19299
19300         * NEWS: prep for release.
19301
19302 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
19303
19304         * panel-applet/NMWirelessAppletDbus.c
19305         (nmwa_dbus_update_device_wireless_networks): remove warnings.
19306
19307 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
19308
19309         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
19310         applet->state == APPLET_STATE_NO_NM animation.
19311
19312         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
19313         set the text correctly.
19314
19315 2004-10-14 Dan Williams <dcbw@redhat.com>
19316
19317         * src/NetworkManager.c
19318                 - Only accept and manager 802.3 and 802.11 devices
19319
19320         * src/NetworkManagerDbus.[ch]
19321                 - (nm_dbus_nm_set_active_device): move most of the actual activation
19322                         logic into NetworkManagerDevice.c
19323                 - (nm_dbus_network_status_from_data): new function
19324                 - (nm_dbus_signal_network_status_change): new function, unused for now
19325                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
19326
19327         * src/NetworkManagerDevice.[ch]
19328                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
19329                         a random ESSID.
19330
19331 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
19332
19333         * info-daemon/NetworkManagerInfo.c 
19334                 - (main): Added session management
19335
19336 2004-10-14 Dan Williams <dcbw@redhat.com>
19337
19338         * panel-applet/NMWirelessAppletDbus.[ch]
19339                 - Expose network_device_[un]ref()
19340                 - Expose wireless_network_[un]ref()
19341                 - (wireless_network_new_with_essid): new function, create and return
19342                         a wireless network with a particular essid
19343
19344         * panel-applet/NMWirelessApplet.c
19345                 - Hook up the "other network" dialog to do something
19346
19347 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
19348
19349         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
19350         doesn't work yet, but it looks okay.
19351
19352         * panel-applet/icons/*png: Resize to 22x22 and install in the
19353         right place.
19354
19355 2004-10-13 Dan Williams <dcbw@redhat.com>
19356
19357         * panel-applet/NMWirelessApplet.c
19358                 - Add function to print out applet_state in a readable
19359                         manner
19360
19361         * src/NetworkManager.c
19362                 - (main): Don't segfault when nm_dbus_init() fails, we had
19363                         a left-over call to hal_shutdown() into which we passed NULL
19364
19365         * src/NetworkManagerAP.c
19366                 - (nm_ap_set_essid): Allow NULL essids
19367
19368         * src/NetworkManagerAPList.[ch]
19369                 - More use of nm_ap_list_[un]lock ()
19370                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
19371                         network/essid, just return nothing.  Also skip over NULL
19372                         essid access points in the list when searching
19373                 - (nm_ap_list_get_ap_by_address): new function
19374                 - (nm_ap_list_update_network): set the access point's key source to
19375                         NULL when the key returned from NetworkManagerInfo is NULL or
19376                         of 0 length
19377                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
19378                         copy timestamp over too
19379                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
19380                         find the correct ESSID for a blank-essid access point by searching
19381                         through another list and matching access point MAC addresses
19382                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
19383
19384         * src/NetworkManagerDbus.c
19385                 - (nm_dbus_nm_set_active_device): deal with random networks the user
19386                         may specify.  This is mainly for access points that don't
19387                         broadcast their essid.  So if the user tells us to associate with
19388                         some random ESSID that's not in our access point list, we find
19389                         out if the access point does in fact exist (by attempting association
19390                         and then matching that access point's MAC address with the essid the
19391                         user gave us) and then we switch to it.
19392                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
19393                         to the returned list of networks for the "getNetworks" method
19394
19395         * src/NetworkManagerDevice.[ch]
19396                 - Extra debugging info for link detection
19397                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
19398                         based on MAC address
19399                 - (nm_device_get_path_for_ap): ignore blank-essid access points
19400                 - (nm_device_wireless_network_exists): new function, find out whether
19401                         a random ESSID exists by attempting to associate with it
19402                 - (nm_device_do_normal_scan): allow blank-essid access points in our
19403                         device list as long as they have an AP MAC address we can use.
19404                         Also send WirelessNetwork[Dis]Appeared signals for non-active
19405                         devices too.  Lets the applet update more frequently.
19406
19407         * src/backends/NetworkManagerGentoo.c
19408                 - Patch from: Robert Paskowitz
19409                         - Update backend code for Gentoo
19410                         - Implement nm_system_device_update_config_info ()
19411
19412         * test/nmclienttest.c
19413                 - (set_network_device): new function, takes a command-line argument
19414                         and tells NetworkManager to use that wireless network
19415
19416 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
19417
19418         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
19419         if the notification icon crashes 5 times within 5 seconds of each respawn 
19420
19421 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
19422
19423         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
19424         g_print.
19425
19426 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
19427
19428         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
19429
19430         * panel-applet/NMWirelessApplet.c: (animation_timeout),
19431         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
19432         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
19433         Change the name of the icons.
19434
19435         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
19436         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
19437         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
19438         (nm_menu_wireless_expose_event): Really bad hack to get the style
19439         to draw in the right color.
19440
19441 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
19442
19443         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
19444         Notification if it crashes
19445
19446 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
19447
19448         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
19449         (nmwa_dbus_get_string): remove unused functions
19450
19451         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
19452         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
19453         remove unused functions
19454
19455         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
19456
19457 2004-10-12 Dan Williams <dcbw@redhat.com>
19458
19459         * panel-applet/NMWirelessAppletDbus.c
19460                 - New functions:
19461                         wireless_network_new
19462                         wireless_network_copy
19463                         network_device_new
19464                         network_device_copy
19465
19466         * src/NetworkManagerDevice.[ch]
19467                 - New functions:
19468                         nm_device_set_mode_managed
19469                         nm_device_set_mode_adhoc
19470                 - Use these functions where appropriate
19471                 - When creating a new wireless device, force the card
19472                         to managed/Infrastructure mode as soon as possible
19473
19474 2004-10-12 Dan Williams <dcbw@redhat.com>
19475
19476         * src/NetworkManagerDevice.c
19477                 - Force wireless cards into Infrastructure mode before we use them
19478
19479 2004-10-12 Dan Williams <dcbw@redhat.com>
19480
19481         * TODO
19482                 - Remove bit about static IP address support
19483
19484         * src/NetworkManagerUtils.c
19485                 - (nm_spawn_process): Add some error reporting
19486
19487         * src/NetworkManagerDevice.c
19488                 - (nm_device_activation_configure_ip): hook up to the static config
19489                         routines in the backends
19490
19491         * src/backends/NetworkManagerRedHat.c
19492                 - (nm_system_device_update_config_info): use shvar.c routines to
19493                         parse the config file iformation, not our own
19494                 - (nm_system_device_setup_static_ip4_config): new function, based
19495                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
19496                         with a static IP address and gateway
19497
19498         * src/backends/shvar.[ch]
19499                 - Parser (filched from initscripts package) for ifcfg-* files
19500
19501         * src/backends/NetworkManagerSystem.h
19502           src/backends/NetworkManagerGentoo.c
19503           src/backends/NetworkManagerDebian.c
19504           src/backends/NetworkManagerSlackware.c
19505                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
19506
19507 2004-10-11 Dan Williams <dcbw@redhat.com>
19508
19509         * TODO
19510                 - Remove bit about more robust AP diffing since I just implemented it
19511
19512 2004-10-11 Dan Williams <dcbw@redhat.com>
19513
19514         * src/NetworkManagerAP.c
19515                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
19516                         enough RAM to allocate new AP structures, but return NULL instead
19517
19518         * src/NetworkManagerAPList.[ch]
19519                 - (nm_ap_list_is_empty): new function
19520                 - (nm_ap_list_combine): new function, combine two access point lists
19521                 - (nm_ap_list_copy_keys): new function, copy keys from one list
19522                         into another
19523
19524         * src/NetworkManagerDevice.[ch]
19525                 - Rename some functions to be clearer:
19526                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
19527                         nm_device_just_activated     -> nm_device_is_just_activated
19528                         nm_device_activating         -> nm_device_is_activating
19529                         nm_device_now_scanning       -> nm_device_is_scanning
19530                 - Cache the last 4 scans so that the access point list is more stable.
19531                         We combine the lastest two scans and use that as the AP list,
19532                         and diff that combined list against the combination of the earliest
19533                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
19534
19535 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19536
19537         * info-daemon/NWManagerInfo.h
19538                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
19539
19540         * info-daemon/NWManagerInfoDbus.c
19541                 - (shutdown_callback): new function
19542                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
19543                         if NetworkManager goes away.  Kill the timeout
19544                         if NetworkManager restarts before the 30 seconds
19545                         are up.
19546                 - (nmi_dbus_service_init): 
19547                         - call gtk_main_quit if NetworkManager is not running
19548                         - add filters to monitor dbus service creations and
19549                                 deletions
19550         
19551 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19552
19553         * panel-applet/NMWirelessApplet.c
19554                 - (nmwa_update_state): Hide notification icon if we are only
19555                         showing one wired card and no wireless interfaces 
19556                         (Red Hat Bug #134895)
19557
19558         * panel-applet/NMWirelessAppletDbus.c
19559                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
19560
19561         * info-daemon/NWManagerInfo.c
19562                 - (main): Terminated the notification_icon_cmd array with a NULL
19563
19564 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
19565
19566         * configure.in (ALL_LINGUAS): Added de (German).
19567
19568 2004-10-08 Dan Williams <dcbw@redaht.com>
19569
19570         * src/NetworkManagerDevice.c
19571                 - Be a bit more robust about link checking, ie make sure that
19572                         the WEP key we were given actually has some data in it
19573
19574 2004-10-08 Dan Williams <dcbw@redhat.com>
19575
19576         * info-daemon/NetworkManagerInfo.c (main):
19577                 - Initialize GError object to NULL
19578
19579 2004-10-08 Dan Williams <dcbw@redhat.com>
19580
19581         * panel-applet/NMWirelessAppletDbus.c
19582                 - Die if NetworkManagerInfo dies, since it manages our lifetime
19583
19584 2004-10-08 Dan Williams <dcbw@redhat.com>
19585
19586         * info-daemon/NetworkManagerInfo.[ch]
19587           info-dameon/NetworkManagerInfoDbus.[ch]
19588           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
19589                 - Preserve original label text in the passphrase dialog so that
19590                         it actually gets updated with the new network name the next
19591                         time around.  Previously, we were overwriting it so you'd get
19592                         the wrong network name to enter a key for
19593                 - Add a "Key Type" combo to the passphrase dialog, user selects
19594                         encryption key type now, type is stored in GConf too
19595                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
19596
19597         * src/NetworkManagerAP.[ch]
19598                 - Remove all the encyption method magic.  It's now set by the user
19599                         and NetworkManager retrieves the type of encryption key from
19600                         NetworkManagerInfo
19601
19602         * src/NetworkManagerAPList.[ch]
19603           src/NetworkManagerDbus.[ch]
19604                 - Adjust to new way of setting encryption key and method
19605                 - Pull encryption method down from NMI along with key
19606
19607         * src/NetworkManagerDevice.[ch]
19608                 - Removed encryption method fallback magic as the method is now
19609                         determined by the user.  This greatly simplifies the connection
19610                         logic.
19611                 - More robust connection/link logic.  Besides removing the encryption
19612                         method fallback magic, check whether or not the card is receiving
19613                         invalidly encrypted packets, which usually indicates that we have
19614                         a bad WEP key set.
19615                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
19616
19617         * test/nminfotest.c
19618                 - Test out new "Key Type" stuff in the NMI passphrase dialog
19619
19620 2004-10-07 Dan Williams <dcbw@redhat.com>
19621
19622         * info-daemon/NetworkManagerInfo.conf
19623                 - Allow root user to run NMI too
19624
19625 2004-10-06 Dan Williams <dcbw@redhat.com>
19626
19627         * src/NetworkManagerDevice.[ch]
19628           src/NetworkManagerDbus.c
19629           doc/NetworkManager DBUS API.txt
19630                 - Add a new status tag "scanning", which is set when there
19631                         is no active network connection, but NetworkManager is
19632                         looking for an access point to associate with
19633
19634         * panel-applet/main.c
19635                 - Cast the applet appropriately for gtk_widget_show_all ()
19636
19637 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
19638
19639         * panel-applet/eggtrayicon.[ch]:
19640         * panel-applet/main.c: Add missing file
19641
19642 2004-10-04 Dan Williams <dcbw@redhat.com>
19643
19644         * src/NetworkManagerDevice.[ch]
19645                 - Add a slightly more robust method of determining if the WEP key
19646                         is correct or not, by checking the WEP-discarded packet count
19647                         on the card
19648
19649         * info-daemon/NetworkManagerInfo.c
19650                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
19651                         un-escape values we pull out rather than escaping them
19652
19653 2004-10-03  Marcel Telka  <marcel@telka.sk>
19654
19655         * configure.in (ALL_LINGUAS): Added sk.
19656
19657 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
19658
19659         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
19660         and feel.  We should be back to working, and have a good, clean
19661         look.
19662
19663 2004-09-30 Dan Williams <dcbw@redhat.com>
19664
19665         * info-daemon/NetworkManagerInfo.c
19666           info-daemon/NetworkManagerInfoDbus.c
19667           test/nminfotest.c
19668                 - Escape ESSIDs in gconf
19669
19670         * src/NetworkManagerDevice.c
19671                 - Fix pseudo-scanning to use netowrk list from info daemon
19672
19673 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
19674
19675         * configure.in: Add a temporary --enable-notification-icon.  This
19676         will prolly go away.
19677
19678         * info-daemon/Makefile.am:
19679         * info-daemon/NetworkManagerInfo.c:
19680         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
19681
19682         * panel-applet/Makefile.am:
19683         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
19684         * panel-applet/NMWirelessApplet.h:
19685
19686 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
19687
19688         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
19689         before 'select custom ESSID'.
19690
19691         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
19692         fully complete, but syncing in prep for merge.
19693
19694         * panel-applet/icons/*png: New images
19695
19696 2004-09-28 Dan Williams <dcbw@redhat.com>
19697
19698         * src/NetworkManager.c
19699           src/NetworkManagerDevice.c
19700           src/NetworkManagerPolicy.c
19701                 - Don't blow away an active wired connection on startup
19702
19703 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
19704
19705         Changes from J5
19706         
19707         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
19708
19709         * info-daemon/NetworkManagerInfoDbus.c: added service name to
19710         syslog output
19711
19712 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
19713
19714         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
19715         have a wireless card.
19716
19717 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
19718
19719         * panel-applet/NMWirelessApplet.c: move the custom essid item.
19720         Also, get the right device strings.
19721
19722 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
19723
19724         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
19725         the logic to make this right.
19726
19727         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
19728         devices so that wired networks are always first.
19729
19730 2004-09-22    <clarkbw@cvs.gnome.org>
19731
19732         * initscript/Debian/.cvsignore:
19733         * initscript/Slackware/.cvsignore:
19734         Added new cvsignores for Makefile, Makefile.in
19735         
19736         * test/.cvsignore:
19737         Added nmtestdevices
19738         
19739         * src/NetworkManagerDevice.c: 
19740         * src/NetworkManager.c: 
19741         Updated the wireless/wired HAL device strings from net.ethernet to
19742         net.80203 or net.80211 depending on wired or wireless respectively
19743         
19744         * examples/python/NetworkManager.py: 
19745         s/Quality/Strength/
19746
19747         * examples/python/systray/network_tray.py:
19748         Lots of little changes and fixes.  been rotting for a while so I
19749         figured I'd finally sync them all with CVS
19750
19751 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
19752
19753         * configure.in: Add graphics
19754
19755         * panel-applet/Makefile.am: Add graphics
19756
19757         * panel-applet/icons/*: Add graphics
19758
19759         * panel-applet/NMWirelessApplet.c: Use new menu times to display
19760         the icons fully lined up.
19761
19762         * panel-applet/menu-info.c: 
19763         * panel-applet/menu-info.h: Add another menu type.
19764
19765 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
19766
19767         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
19768
19769         * panel-applet/menu-item.[ch]: Wireless menu item.
19770
19771 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
19772
19773         * info-daemon/NetworkManagerInfo.conf
19774                 - Created a more robust security policy for the DBus service
19775                         - everything is denied by default
19776                         - root can own and send to the service
19777                         - users logged in at the console can send to the service
19778
19779 2004-09-13  Dan Williams <dcbw@redhat.com>
19780
19781         * src/NetworkManagerDevice.c
19782                 - (nm_device_get_essid): use iw_get_basic_config() rather than
19783                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
19784                         the latter
19785
19786 2004-09-13  Dan Williams <dcbw@redhat.com>
19787
19788         * TODO: fix typo
19789
19790         * docs/NetworkManager DBUS API.txt
19791                 - Update for new signal strength changes
19792
19793         * panel-applet/NMWirelessApplet.c
19794                 - Make panel icon show strength of the current connection
19795                 - Cleanups and memleak fixes
19796
19797         * panel-applet/NMWirelessApplet.h
19798                 - Add data members for signal strength on devices and networks
19799
19800         * panel-applet/NMWirelessAppletDbus.c
19801                 - Free more DBusErrors
19802                 - Update for new signal strength changes
19803                 - Make devices and networks more like real objects, use ref/unref methods
19804                 - Actually unlock the mutex when updating the active device
19805
19806         * src/NetworkManagerAP.c
19807                 - Change AP functions and data members from "quality"->"strength"
19808
19809         * src/NetworkManagerDbus.c
19810                 - Kill "getMaxQuality" and "getQuality" methods
19811                 - Add "getStrength" methods for Networks and Devices
19812
19813         * src/NetworkManagerDevice.[ch]
19814                 - Add accessors for device strength
19815                 - Add functions to update strength for a device.  Note that not all drivers
19816                         actually support signal strength for scanned access points (Atmel drivers
19817                         being one)
19818                 - Calculate signal strength for each AP during scan
19819
19820         * src/NetworkManagerWireless.[ch]
19821                 - Add function to return signal strength % from a device and a raw quality struct
19822
19823         * test/nmclienttest.c
19824                 - Update for new signal strength changes
19825
19826 2004-09-11  Dan Williams <dcbw@redhat.com>
19827
19828         * src/NetworkManager.c
19829                 - Fix race condition between initscripts and NM on card insertion
19830                         which could cause a card to keep an IP address and routes around
19831                         even when it was not the active device
19832
19833         * src/NetworkManagerDbus.c
19834                 - Fix compile errors, free more DBusErrors
19835
19836 2004-09-11  Dan Williams <dcbw@redhat.com>
19837
19838         * docs/NetworkManager DBUS API.txt
19839                 - Add an explanation of NM's API
19840
19841         * src/NetworkManagerDbus.c
19842                 - Free some more DBusErrors if needed
19843
19844 2004-09-11  Dan Williams <dcbw@redhat.com>
19845
19846         * panel-applet/NMWirelessApplet.c
19847           panel-applet/NMWirelessAppletDbus.c
19848                 - Start using NetworkDevice/WirelessNetwork structures in more places
19849                 - Update for unified device/network forcing in NetworkManager
19850
19851         * src/NetworkManager.c
19852                 - some code consolidation
19853
19854         * src/NetworkManagerDbus.c
19855                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
19856                         or two arguments:  the first is the NM ID of the device to switch to,
19857                         and the second (optional) argument is the ESSID of a wireless network
19858                         to use as well.
19859                 - Get rid of "setNetwork" method due to above change
19860
19861         * src/NetworkManagerDevice.c
19862                 - (nm_device_new): perform scan and update best AP on device creation
19863                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
19864                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
19865                         spin waiting for cancellation to finish before returning
19866
19867         * src/NetworkManagerPolicy.c
19868                 - Changes here clarify the situations in which a device switch occurs, and 
19869                         make sure to keep using a forced device and network if the user gives
19870                         us one
19871                 - Remove old unused code
19872
19873 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
19874
19875         * configure.in: Added Danish (da) to ALL_LINGUAS.
19876
19877 2004-09-09  Dan Williams <dcbw@redhat.com>
19878
19879         * panel-applet/NMWirelessAppletDbus.c
19880                 - Pull fresh devices and networks from NM when wireless networks
19881                         change.  Provides faster feedback of a forced wireless network
19882
19883         * src/NetworkManagerDbus.c
19884                 - Return error when "getMaxQuality" is called on a wired device
19885                 - Make best_ap freezing actually work again, and signal cancellation
19886                         of activation if there's already a device activation when the user
19887                         freezes the best_ap
19888
19889         * src/NetworkManagerDevice.c
19890                 - Don't clear out the best_ap for wireless devices when the link goes
19891                         down, that's done elsewhere
19892                 - Kill any dhcp daemons when cancelling device activation since they
19893                         may be stuck waiting for a DHCP address, and since we're cancelling
19894                         activation we don't care about that anymore
19895
19896         * src/NetworkManagerPolicy.c
19897                 - Make sure to unref the device we ref earlier (we refed it to make sure
19898                         it stuck around during device activation and such)
19899                 - If we were going to change the best device, but its activating currently
19900                         (and therefore the change didn't occur due to the check earlier)
19901                         we mark the state changed to we come back to it later when device
19902                         activation has canceled and its no longer activating
19903
19904         * src/backends/NetworkManagerRedHat.c
19905                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
19906
19907 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
19908
19909         * info-daemon/passphrase.glade: 
19910         set passphrase input to activates_default : True
19911
19912         * examples/python/systray/network_tray.py
19913         (network_tray.sort_networks):
19914
19915         Added support for having wireless always scanning
19916
19917 2004-09-09  Dan Williams <dcbw@redhat.com>
19918
19919         NOTE: this commit changes the behavior of wireless devices in
19920         NetworkManager.  They are now up all the time, scanning all
19921         the time.  Only the active device has an IP address and routing
19922         information set up however.  Also, NetworkManager will no longer
19923         opportunistically switch wireless networks when a better one
19924         comes in range, it will remain associated with one wireless network
19925         until that one drops out.
19926
19927         * panel-applet/NMWirelessApplet.c
19928           panel-applet/NMWirelessAppletDbus.c
19929                 - List all wireless cards and their respective networks
19930
19931         * src/NMLoadModules
19932                 - Use full path to /sbin/ip
19933
19934         * src/NetworkManager.c
19935                 - Keep wireless devices up all the time so they can scan
19936
19937         * src/NetworkManagerDbus.c
19938                 - On a WirelessNetworkUpdate signal from NMI, don't update
19939                         the "best" AP
19940
19941         * src/NetworkManagerDevice.c
19942                 - (nm_device_set_link_active): clear out the best ap for
19943                         wireless devices when the link is set to FALSE
19944                 - Scan on all wireless cards, all the time
19945                 - (nm_device_activation_worker): split out the wireless card
19946                         link-waiting code to a separate function
19947                 - Keep wireless cards up even if device activation fails
19948                 - Don't update the "best" ap as much
19949
19950         * src/NetworkManagerPolicy.c
19951                 - Don't update the best ap when checking if its frozen,
19952                         let link checking clear out a frozen best ap for us
19953
19954         * src/NetworkManagerWireless.c
19955                 - Scan on all wireless cards, all the time
19956
19957 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
19958
19959         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
19960
19961 2004-09-09  Ankit Patel <ankit@redhat.com>
19962
19963         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
19964
19965 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
19966
19967         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
19968
19969 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
19970
19971         * examples/python/NetworkManager.py: 
19972         added CONNECTED, CONNECTING, and DISCONNECTED states
19973         added methods to return number of devices of a single type
19974
19975         * examples/python/systray/network_tray.py: 
19976         did some tweaks to get the menu looking near what it is supposed
19977         to look like.  Also did a Airo card hack to make it show the
19978         correct AP quality
19979
19980 2004-09-08  Dan Williams <dcbw@redhat.com>
19981
19982         * panel-applet/no-networkmanager.png
19983           panel-applet/Makefile.am
19984           panel-applet/NMWirelessApplet.c
19985                 - Add a "NetworkManager not running" icon and use it
19986                 - Use new consolidated GConf keys rather than Preferred/Trusted
19987
19988         * TODO: update
19989
19990         * info-daemon/NetworkManagerInfo.c
19991           info-daemon/NetworkManagerInfoDbus.[ch]
19992           info-daemon/NetworkManagerInfoPassphraseDialog.c
19993                 - There are now no longer two separate lists of wireless networks,
19994                         but one list where each network is "trusted" or not trusted
19995                 - Add a "getNetworkTrusted" dbus method
19996                 - "WirelessNetworkUpdate" signal now sent rather than
19997                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
19998                 - Start freeing some dbus errors (not completed yet)
19999
20000         * info-daemon/passphrase.glade
20001                 - Remove the "don't show" hints for pager and taskbar
20002                 - Add a title since its going to be in the taskbar
20003
20004         * src/NetworkManager.[ch]
20005           src/NetworkManagerAPList.[ch]
20006                 - There are now no longer two separate lists of wireless networks,
20007                         but one list where each network is "trusted" or not trusted
20008
20009         * src/NetworkManagerAP.[ch]
20010                 - Add get/set "trusted" accessors and data bit
20011
20012         * src/NetworkManagerDbus.[ch]
20013                 - Add function to get "trusted" status of a network from NetworkManagerInfo
20014                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
20015
20016         * src/NetworkManagerDevice.[ch]
20017                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
20018                 - (nm_device_new): Get device config from backend when initializing devices
20019                 - (nm_device_activation_worker): Split out device configuration on
20020                         activation to deal with static/dynamic IP differences, and try encryption
20021                         fallbacks on a device if the encryption method for the best AP is not good
20022                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
20023                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
20024
20025         * src/NetworkManagerWireless.c
20026                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
20027
20028         * src/backends/NetworkManagerRedHat.c
20029           src/backends/NetworkManagerSystem.h
20030                 - (nm_system_device_update_config_info): Add function to get device configuration
20031                         from system data in ifcfg-* files
20032
20033         * src/backends/NetworkManagerDebian.c
20034           src/backends/NetworkManagerGentoo.c
20035           src/backends/NetworkManagerSlackware.c
20036                 - Add stub functions for getting device configuration
20037
20038 2004-09-07  Dan Williams <dcbw@redhat.com>
20039
20040         * src/backends/NetworkManagerRedhat.c
20041           src/backends/NetworkManagerSlackware.c
20042                 - Use full path to /sbin/ip everywhere
20043
20044 2004-09-07  Dan Williams <dcbw@redhat.com>
20045
20046         Patch from: Narayan Newton <narayan_newton@yahoo.com>
20047
20048         * configure.in
20049           initscript/Makefile.am
20050           initscript/Slackware/Makfile.am
20051           initscript/Slackware/rc.networkmanager
20052           src/Makefile.am
20053           src/backends/NetworkManagerSlackware.c
20054                 - Add Slackware support
20055
20056 2004-09-07  Dan Williams <dcbw@redhat.com>
20057
20058         Patches below from:
20059                 <j@bootlab.org>
20060                 Mark Roach <mrroach@okmaybe.com>
20061                 Thom May <thom@debian.org>
20062
20063         * configure.in
20064           initscript/Debian/NetworkManager
20065           initscript/Debian/Makefile.am
20066                 - Initscript for Debian
20067
20068         * src/backends/NetworkManagerDebian.c
20069                 - Add missing system init function to allow compilation
20070                         on Debian
20071
20072 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
20073
20074         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
20075
20076 2004-09-03  Akagic Amila <bono@linux.org.ba>
20077
20078         * configure.in: Added 'bs' to ALL_LINGUAS.
20079
20080 2004-09-02  Colin Walters  <walters@verbum.org>
20081
20082         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
20083         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
20084         g_strdup_printf instead of arbitrarily sized buffers.
20085
20086 2004-09-01  Colin Walters  <walters@verbum.org>
20087
20088         * NetworkManager.pc.in: New file.
20089
20090         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
20091
20092 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
20093         
20094         * configure.in: Punjabi(pa) is added to po/.
20095
20096 2004-08-31  Dan Williams <dcbw@redhat.com>
20097
20098         * Remove 'debug' extern global from all files since we now
20099                 use syslog()
20100
20101         * src/NetworkManager.[ch]
20102                 - Break out routine that get the net.interface property from HAL,
20103                         removing that logic from nm_create_device_and_add_to_list()
20104                 - (nm_create_device_and_add_to_list): make this a bit more general so
20105                         it doesn't do the talking to HAL.  Also add arguments to facilitate
20106                         the create of test devices.
20107                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
20108                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
20109                         which makes NetworkManager listen for dbus commands to create test
20110                         devices, which have no backing hardware.  Use when you're on a plane
20111                         for example, and/or forgot your wireless card at home.  Test devices
20112                         _cannot_ be created unless NM is started with --enable-test-devices.
20113
20114         * src/NetworkManagerDbus.[ch]
20115                 - New "getLinkActive" method for devices
20116                 - New "setLinkActive" method for devices (only works on test devices)
20117                 - New "createTestDevice" method on NetworkManager object to create a test
20118                         device of a specified type (ie wired, wireless).  UDI is created from
20119                         scratch, as is the interface name.  Only works when NM is started with
20120                         --enable-test-devices switch.
20121                 - New "removeTestDevice" method on NetworkManager object which removes a
20122                         test device.  Only works when NM is started with --enable-test-devices
20123
20124         * src/NetworkManagerDevice.[ch]
20125                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
20126                         whether a device is a test device or not, and what its link status is.
20127                 - Deal with test devices in most functions.  For those that work directly on hardware
20128                         special-case test devices.
20129                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
20130                         command-line.
20131                 - (nm_device_update_link_active): split out logic for wired and wireless device link
20132                         checking to separate functions to facilitate test device link checking.
20133                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
20134                         don't make a distinction between System Authentication and Encryption
20135                         (namely Cisco aironet), we use Open System auth when setting a WEP key
20136                         on the card.  We don't deal with Shared Key auth yet.
20137                 - (nm_device_activation_worker): split the activation cancel check logic out into
20138                         a separate routine nm_device_activation_cancel_if_needed()
20139                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
20140                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
20141                         a list of fake access points that they can "see"
20142                 - (nm_device_is_test_device): return whether or not a device is a test device
20143
20144         * src/NetworkManagerPolicy.c
20145                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
20146                         previously if you "locked"/forced NM to use a wireless device but then
20147                         selected a wireless network for NM to use, it would switch to a wired device.
20148                         So, if the active device is wireless and it has a "forced" best AP, use it
20149                         if the "forced" best AP is still valid
20150                 - (nm_state_modification_monitor): deal with NULL best devices, for example
20151                         there were no usable network devices, or the last one was removed
20152
20153         * src/backends/NetworkManager*.c
20154                 - Deal with test devices, mostly just return success for operations like getting
20155                         a DHCP address
20156
20157         * test/nmtestdevices.c
20158                 - Test tool to create/remove/link-switch test devices
20159
20160 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
20161
20162         * examples/python/NetworkManager.py: 
20163         added convience functions has_wired_device and has_wireless_device
20164
20165         * examples/python/systray/network_tray.py: 
20166         cleaned up a bunch of cruft, added support for listing wireless
20167         networks just like the real applet.  This is probably all I'm
20168         going to work on this applet from now on.
20169         TODO: add support for actually changing networks and devices
20170
20171         * examples/python/NetworkManager.py (NetworkManager.get_device): 
20172         changed "nm.networks" into a dict from a list so I can store all
20173         the cool information about networks in there
20174
20175         * examples/python/systray/network_tray.py: 
20176         Added nice message when you try to run without running make first
20177
20178         * examples/python/NetworkManager.py: 
20179         Bug fixes to the code so we get all the device information
20180         that we need in get_device()
20181         
20182         * examples/python/NMTester.py: 
20183         Fixed _print_device_list to print_device_list
20184
20185 2004-08-29  Seth Nickell  <seth@gnome.org>
20186
20187         * configure.in:
20188
20189         Actually properly setup the Debian backend in configure.
20190         
20191 2004-08-29  Colin Walters  <walters@verbum.org>
20192
20193         * test/nminfotest.c: Include string.h and stdlib.h.
20194         (get_network_string_property, get_networks_of_type): Return NULL.
20195
20196         * test/nmclienttest.c (get_device_name, get_active_device): Return
20197         NULL.
20198
20199         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
20200         use strlen, fgets always NULL-terminates the string.
20201
20202         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
20203         dbus_message_get_member): Remove /* in comment.
20204
20205         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
20206
20207         * src/NetworkManager.c (quit): Unused, delete.
20208         (nm_data_free): Cast arg to GFunc.
20209
20210         * panel-applet/NMWirelessAppletDbus.c: Need to include
20211         string.h, and dbus-glib-lowlevel.h (the latter is needed
20212         for dbus_connection_setup_with_g_main at present).
20213         (nmwa_dbus_update_wireless_network_list): Parenthesize
20214         assignment in conditional.
20215         (nmwa_dbus_worker): Return NULL.
20216
20217         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
20218         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
20219         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
20220         (nmwa_populate_menu): Return NULL on failure, instead of just
20221         return;
20222
20223         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
20224
20225         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
20226         variables.
20227
20228         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
20229         delete.
20230         
20231 2004-08-29  Colin Walters  <walters@verbum.org>
20232
20233         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
20234         a GTimeVal instead of time_t.  This is easier to work with,
20235         since time_t may be a long or double, we don't know.
20236
20237         * src/NetworkManagerDbus.h: Update prototype.
20238         
20239         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
20240         instead of time_t.
20241         (nm_ap_get_timestamp): Update to return GTimeVal.
20242         (nm_ap_set_timestamp): Update to take GTimeVal.
20243         
20244         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
20245         to handle GTimeVal.
20246
20247         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
20248         GTimeVal change.
20249         (nm_ap_list_print_members): Fix warnings in printf format.
20250
20251 2004-08-29  Colin Walters  <walters@verbum.org>
20252         
20253         * panel-applet/NMWirelessApplet.c: Include config.h.
20254
20255 2004-08-29  Colin Walters  <walters@verbum.org>
20256
20257         * configure.in: Generate config.h.
20258
20259         * configure.in: Dump dependency on OpenSSL; we can't
20260         use it since this package is GPL:
20261         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
20262         Instead, check for libgcrypt, use it if available,
20263         otherwise use included MD5 code.
20264
20265         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
20266         Suck in from gnome-keyring, munge a bit.
20267         
20268         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
20269         gnome-keyring-md5.h gnome-keyring-md5.c.
20270         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
20271
20272         * src/NetworkManagerWireless.c (nm_md5): New function, uses
20273         libgcrypt or included gnome-keyring md5 bits.
20274         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
20275
20276 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
20277
20278         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
20279
20280 2004-08-27  Bryan Clark  <bclark@redhat.com>
20281
20282         * examples/python/systray/Makefile: 
20283
20284         Updated the clean section
20285         
20286         * examples/python/systray/trayiconmodule.c: 
20287         * examples/python/systray/trayicon.override: 
20288         * examples/python/systray/network_tray.py: 
20289         * examples/python/systray/eggtrayicon.h: 
20290         * examples/python/systray/eggtrayicon.c: 
20291         * examples/python/systray/Makefile: 
20292         * examples/python/README: 
20293         * examples/python/NetworkManager.py: 
20294         * examples/python/NMTester.py: 
20295
20296         Initial commit of these python example files
20297
20298 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
20299
20300         * panel-applet/NMWirelessApplet.c
20301                 - Make current device bold
20302                 - Show more user-friendly device name if we got one from hal
20303
20304         * panel-applet/NMWirelessAppletDbus.c
20305                 - Grab "info.product" key from hal for network devices
20306                 - Cache the current active device
20307
20308 2004-08-27  Adam Weinberger  <adamw@gnome.org>
20309
20310         * configure.in: Added en_CA to ALL_LINGUAS.
20311
20312 2004-08-27  Christian Rose  <menthos@menthos.com>
20313
20314         * configure.in: Added "sv" to ALL_LINGUAS.
20315
20316 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20317
20318         * Tag NetworkManager-0.2
20319
20320 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
20321
20322         * initscripts/Makefile.am
20323         * configure.in: Make pass distcheck
20324
20325         * po/ChangeLog: added
20326
20327 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20328
20329         * panel-applet/NMWirelessApplet.c
20330                 - Remove debugging code
20331                 - Enable device switching from menus
20332
20333         * panel-applet/NMWirelessAppletDbus.[ch]
20334                 - Method for asking NM to switch devices
20335
20336         * src/NetworkManagerDevice.c
20337                 - Set dev->activating earlier, avoids race between
20338                         the dbus signal of "DeviceActivating" and setting
20339                         dev->activating (which is what NM's "status" method call
20340                         looks at)
20341
20342 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20343
20344         * panel-applet/NMWirelessApplet.[ch]
20345                 - Rework menu code to add devices to menu, and to show
20346                         signal strength for each access point.  Code cleanups
20347                         too.
20348
20349         * panel-applet/NMWirelessAppletDbus.c
20350                 - Grab network devices from NetworkManager too
20351                 - Grab quality information from NM for wireless networks
20352
20353         * src/NetworkManagerDbus.[ch]
20354                 - Add dbus methods for getting the HAL UDI from a device and
20355                         for getting its base quality, if its wireless
20356                 - Consolidate some functions (wireless network notifications,
20357                         device notifications)
20358                 - Add method for requesting NM to use a particular device
20359
20360         * src/NetworkManager.c
20361                 - Change for function consolidations from NetworkManagerDbus.c
20362                 - Implement active device locking and user-requested devices
20363                         (ie, tell NM to use a particular device instead of the one
20364                         it autochose)
20365
20366         * src/NetworkManagerDevice.c
20367                 - Add method for getting the base quality of a device, if its
20368                         wireless
20369                 - Grab device base quailty info from iwlib during scans
20370
20371         * src/NetworkManagerPolicy.c
20372                 - Use a user-requested device rather than the auto-chosen device
20373                         if we are told to
20374
20375 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
20376
20377         * Makefile.am: add po as a supdir
20378
20379         * autogen.sh: use gnome-autogen.sh
20380
20381         * initscript/Gentoo/.cvsignore:
20382         * initscript/RedHat/.cvsignore: Shut up cvs
20383
20384         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
20385
20386         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
20387         (nmwa_fill): Use gettext.
20388
20389         * configure.in: add gettext support
20390         * po/.cvsignore:
20391         * po/NetworkManager.pot:
20392         * po/POTFILES.in:
20393
20394 2004-08-26  Seth Nickell  <seth@gnome.org>
20395
20396         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
20397         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
20398         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
20399         (nmwa_dispose_menu_items), (nmwa_populate_menu),
20400         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
20401         * panel-applet/NMWirelessApplet.h:
20402
20403         Use a menu bar instead of a button for the main clickable
20404         thingy.
20405         
20406 2004-08-25  Dan Williams <dcbw@redhat.com>
20407
20408         * src/NetworkManagerDevice.c
20409                 - (nm_device_set_enc_key): always set device to "open" mode instead of
20410                         turning encryption off, because the Cisco driver doesn't associate
20411                         with WEP-enabled access points unless we are in "open"
20412
20413 2004-08-25  Dan Williams <dcbw@redhat.com>
20414
20415         * src/NetworkManagerWireless.c
20416                 - Don't try to defererence blank passphrases
20417
20418 2004-08-25  Dan Williams <dcbw@redhat.com>
20419
20420         * panel-applet/NMWirelessApplet.c
20421                 - Rebuild the menu whenever a user clicks
20422
20423 2004-08-25  Dan Williams <dcbw@redhat.com>
20424
20425         * panel-applet/NMWirelessApplet.c
20426                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
20427                         when NM isn't around or when its not connected
20428
20429         * src/NetworkManagerDevice.c
20430                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
20431                         canceled.
20432
20433 2004-08-25  Dan Williams <dcbw@redhat.com>
20434
20435         * panel-applet/NMWirelessAppletDbus.c
20436                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
20437                         for getting encryption, and don't stop on "val" once we've gotten it
20438                         from NetworkManager.  Short form:  encryption should now show up.
20439
20440 2004-08-25  Dan Williams <dcbw@redhat.com>
20441
20442         * panel-applet/NMWirelessApplet.c
20443                 - Set ESSID on a gconf trusted network too when force-setting the wireless
20444                         network to associate with
20445
20446 2004-08-25  Dan Williams <dcbw@redhat.com>
20447
20448         * panel-applet/*
20449                 - Rework the panel applet to do all DBUS communication in a separate
20450                         thread
20451
20452 2004-08-25  Dan Williams <dcbw@redhat.com>
20453
20454         * info-daemon/NetworkManagerInfo.[ch]
20455                 - Remove "get_next_priority" function
20456
20457         * info-daemon/NetworkManagerInfoDbus.[ch]
20458                 - Convert "priority" functions to "timestamp"
20459
20460 2004-08-25  Dan Williams <dcbw@redhat.com>
20461
20462         * src/NetworkManagerAP.[ch]
20463                 - Add a "enc_method_good" member and accessors to an Access Point
20464                         to signal when we've found the correct encryption method
20465                         for an access point
20466                 - Add a "timestamp" member and accessors, remove "priority" member
20467                         and accessors (use timestamps instead)
20468                 - Rename "wep_key"->"enc_key"
20469                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
20470                         for a specified encryption method using the access points
20471                         source encryption key/passphrase
20472
20473         * src/NetworkManagerAPList.c
20474                 - When updating a network with dbus, grab timestamp now instead of
20475                         priority
20476
20477         * src/NetworkManagerDBus.[ch]
20478                 - Add signal for "DeviceActivating"
20479                 - Switch priority->timestamp
20480
20481         * src/NetworkManagerDevice.c
20482                 - Change references of "wep_key" -> "enc_key" or "key"
20483                 - Signal DeviceActivating when starting activation
20484                 - When activating a wireless device, if the access point we are connecting
20485                         to is encrypted, and we have a source key, try to generate a mangled
20486                         key and use that (ie, generate real WEP key from a passphrase)
20487                 - Rework device activation to fallback to other encryption methods if
20488                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
20489                         first, then if that doesn't work fall back to direct hex key).
20490                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
20491                         priority.  We now prefer the latest access point used, rather than using
20492                         a priority scheme
20493                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
20494                         points we've just discovered, and merge in correct info from the global
20495                         access point lists
20496
20497 2004-08-25  Seth Nickell  <seth@gnome.org>
20498
20499         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
20500         Debian support.
20501         
20502         * src/Makefile.am:
20503         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
20504         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
20505         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
20506         (nm_system_delete_default_route),
20507         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
20508         (nm_system_load_device_modules):
20509
20510 2004-08-24  Dan Willemsen <dan@willemsen.us>
20511
20512         * src/NetworkManager.c
20513           src/backends/NetworkManagerGentoo.c
20514           src/backends/NetworkManagerRedHat.c
20515           src/backends/NetworkManagerSystem.h
20516                 - Implement preliminary Gentoo support, adding a
20517                         nm_system_init function to the backend specification
20518
20519         * configure.in
20520                 - Distribution auto-detection, lowercase any user-fed
20521                         distribution names
20522
20523         * initscript/.cvsignore
20524           initscript/Makefile.am
20525           initscript/RedHat/Makefile.am
20526           initscript/RedHat/NetworkManager
20527           initscript/Gentoo/Makefile.am
20528           initscript/Gentoo/NetworkManager
20529                 - Refactored initscript code separately for each
20530                         distribution
20531
20532 2004-08-23  Dan Williams <dcbw@redhat.com>
20533
20534         * configure.in
20535           src/Makefile.am
20536           src/NetworkManagerDevice.c
20537           src/NetworkManager.c
20538           src/NetworkManagerUtils.[ch]
20539           src/backends/NetworkManagerSystem.h
20540           src/backends/NetworkManagerRedHat.c
20541           src/backends/NetworkManagerGentoo.c
20542                 - Refactor system-specific code into separate backends for
20543                         each distribution
20544
20545 2004-08-23  Dan Willemsen <dan@willemsen.us>
20546
20547         * dispatcher-daemon/NetworkManagerDispatcher.c
20548           info-daemon/NetworkManagerInfo.[ch]
20549           info-daemon/NetworkManagerInfoDbus.c
20550           info-daemon/NetworkManagerInfoPassphraseDialog.c
20551           src/NetworkManager.c
20552           src/NetworkManagerAP.c
20553           src/NetworkManagerAPList.c
20554           src/NetworkManagerDbus.c
20555           src/NetworkManagerDevice.c
20556           src/NetworkManagerPolicy.c
20557           src/NetworkManagerUtils.[ch]
20558           src/NetworkManagerWireless.c
20559                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
20560
20561         * src/NetworkManager.c
20562                 - Fixed usage wording for --no-daemon
20563
20564 2004-08-23  Dan Williams <dcbw@redhat.com>
20565
20566         * panel-applet/NMWirelessApplet.c
20567                 - Update our state every second to get more responsive panel icon
20568                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
20569                         was causing our marching ants status blips to never move when
20570                         looking for a wireless network
20571
20572         * src/NetworkManagerDevice.c
20573                 - (nm_device_activation_begin): return if activation has already begun
20574                 - (nm_device_do_normal_scan): merge WEP key and priority from the
20575                         trusted/preferred network into the device's access point when the
20576                         scan list is processed
20577
20578 2004-08-23  Dan Williams <dcbw@redhat.com>
20579
20580         * initscript/NetworkManager
20581                 - Use NMLaunchHelper rather than sleeping
20582
20583         * initscript/NMLaunchHelper.c
20584           Makefile.am
20585                 - Add helper program that exits only when NM activates a device,
20586                         or 10 seconds have passed, whichever happens first.  This
20587                         stops the boot processes until we have a network connection,
20588                         which NM can't do because it daemonizes and brings the connection
20589                         up in the background.  Allows stuff like NFS to not die.
20590
20591 2004-08-20  Dan Williams <dcbw@redhat.com>
20592
20593         * info-daemon/NetworkManagerInfoPassphraseDialog.c
20594                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
20595                         for a network, set the essid as well since it may not exist yet
20596                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
20597                         since WEP keys/passphrases are long and prone to entry-error
20598
20599         * panel-applet/Makefile.am
20600           panel-applet/wired.png
20601                 - Add (pulled from system-config-network temporarily)
20602
20603         * panel-applet/NMWirelessApplet.[ch]
20604                 - Show wired picture when a wired connection is used
20605                 - Rename wireless icon enums, adding WIRELESS
20606
20607         * src/NetworkManagerDevice.c
20608                 - (nm_device_activate_wireless): unset encryption before bringing
20609                         down the card and setting the essid
20610                 - (nm_device_activatin_worker): request a key from the user if the
20611                         AP we are connecting to is encrypted but we don't have a key
20612                         for it yet
20613                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
20614                         strcmp() that prevented a user-entered key from actually getting
20615                         used
20616
20617 2004-08-16  Dan Williams <dcbw@redhat.com>
20618
20619         * initscript/NetworkManager
20620                 - Check for /sbin/ip
20621                 - Do sysctl magic that network service does
20622                 - sleep 4s after start to allow network time to come up [hack]
20623
20624         * src/Makefile.am
20625           src/NMLoadModules
20626                 - Load all network device kernel modules (hal doesn't know devices
20627                         are ethernet until the module is loaded, and therefore we don't know)
20628
20629         * src/NetworkManager.c
20630                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
20631                         network devices, and bring up the loopback device explicitly
20632
20633         * src/NetworkManagerUtils.[ch]
20634                 - (nm_enable_loopback): new function
20635
20636 2004-08-13  Dan Williams <dcbw@redhat.com>
20637
20638         * configure.in
20639           panel-applet/Makefile.am
20640                 - Fix up cleanfiles and server_DATA/server_in_files
20641
20642         * README
20643                 - Update with some comments on theory of operation
20644
20645         * CONTRIBUTING
20646           Makefile.am
20647                 - Add CONTRIBUTING
20648
20649 2004-08-12  Dan Williams <dcbw@redhat.com>
20650
20651         * info-daemon/passphrase.glade
20652                 - Set window title to " "
20653
20654         * panel-applet/Makefile.am
20655           panel-applet/keyring.png
20656                 - Deliver to correct place
20657
20658         * panel-applet/NMWirelessApplet.[ch]
20659                 - Add comments
20660                 - Remove applet->have_active_device as its no longer used
20661                 - (nmwa_load_theme): load keyring.png too
20662                 - (error_dialog): remove
20663                 - (show_warning_dialog): subsume functionality of error dialog too
20664                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
20665                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
20666                         the networks menu
20667                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
20668                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
20669                         and when we get broadcasts of changed wireless access points only, not when the
20670                         user clicks on the button to display the menu (too long of a wait)
20671                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
20672                         networks that are encrypted
20673                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
20674                         menu item with g_object_set_data()
20675
20676         * panel-applet/NMWirelessAppletDbus.[ch]
20677                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
20678                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
20679                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
20680                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
20681                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
20682                         activation/deactivation signals and rebuild the menu when they happen
20683
20684         * src/NetworkManager.c
20685                 - (main): use new nm_spawn_process() rather than system()
20686
20687         * src/NetworkManagerDbus.c
20688                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
20689                         instead.  Since we can now force best_aps to stick around, the AP structure to which
20690                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
20691                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
20692                         to freeze the best_ap.
20693
20694         * src/NetworkManagerDevice.[ch]
20695                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
20696                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
20697                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
20698                         ap list
20699
20700         * src/NetworkManagerUtils.[ch]
20701                 - (nm_spawn_process): add replacement for system() usage
20702
20703 2004-08-11  Dan Williams <dcbw@redhat.com>
20704
20705         * panel-applet/NMWirelessApplet.[ch]
20706                 - Fix up copyright and credits to include Bastien and Eskil,
20707                         who created the gnome-applets wireless applet, from whose
20708                         skeleton this one was created
20709                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
20710                         pixmap to draw is computed during nmwa_update_state()
20711                 - Applet now shows itself all the time due to panel packing issues
20712                         which caused the applet to previously never come back after hiding.
20713                         When a wired device is the active device, the applet shows "not connected"
20714
20715         * panel-applet/NMWirelessAppletDbus.[ch]
20716                 - Clean up error messages and show what function they are from
20717                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
20718                 - Add new device type getters, and a status getter
20719
20720         * src/NetworkManagerDbus.c
20721                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
20722                         network is actually in the device's ap list
20723                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
20724
20725         * src/NetworkManagerDevice.c
20726                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
20727                         card
20728
20729         * test/nmclienttest.c
20730                 - Report status of NetworkManager too
20731
20732 2004-08-11  Dan Williams <dcbw@redhat.com>
20733
20734         * info-daemon/NetworkManagerInfo.c:
20735                 - (main): clean up Seth's code style
20736
20737         * info-daemon/NetworkManagerInfoDbus.c:
20738                 - Use the more aptly-named path/service/interface constants from NetworkManager
20739                 - Don't return empty strings ("") as object paths ever, instead return errors
20740
20741         * panel-applet/NMWirelessApplet.c:
20742                 - Clean up Seth's code style
20743
20744         * src/NetworkManager.[ch]
20745                 - (nm_remove_device_from_list): remove anything having to do with pending_device
20746                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
20747
20748         * src/NetworkManagerAPList.[ch]
20749                 - Move Iter struct right above the iter functions to preserve opacity
20750                 - (nm_ap_list_remove_ap): implement
20751                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
20752                         remove AP if NetworkManagerInfo doesn't know anything about it
20753                 - (nm_ap_list_diff): user NMAPList iterators
20754                 - (nm_ap_list_print_members): implement debugging function
20755
20756         * src/NetworkManagerDbus.[ch]
20757                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
20758                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
20759                         and move the actual key setting stuff into NetworkManagerDevice.c
20760                 - (nm_dbus_get_network_priority): return -1 now on errors
20761                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
20762                         get lost, and force the active device to update its "best" ap when AP lists change
20763                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
20764                         method call due to pending_device member removal
20765
20766         * src/NetworkManagerDevice.[ch]
20767                 - Move NMDevice structure to the top
20768                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
20769                 - Remove Pending Action stuff from everywhere
20770                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
20771                         activation for us.  This thread blocks until all conditions for activation have
20772                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
20773                         then setup up the interface and runs dhclient.  We have to do this because there
20774                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
20775                         run our main loop and respond to dbus method calls or HAL device removals/inserts
20776                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
20777                         can tell nm_device_activation_worker() that we've got a key
20778                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
20779                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
20780                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
20781                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
20782
20783         * src/NetworkManagerPolicy.c
20784                 - Remove anything to do with pending_device
20785                 - Adjust device activation to deal with activation-in-worker-thread
20786
20787         * src/NetworkManagerUtils.c
20788                 - Clean up locking debugging a bit
20789
20790         * src/NetworkManagerWireless.[ch]
20791                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
20792                         was badly named and is better as a device function
20793
20794         * panel-applet/.cvsignore: add
20795
20796 2004-08-09  Seth Nickell  <seth@gnome.org>
20797
20798         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
20799         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
20800         (nmwa_new):
20801         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
20802
20803         Don't load the menus until clicked on (also removes a call outside
20804         normal code paths at first load).
20805
20806         Hide applet when NM is not present.
20807         
20808         Improve printf debugging stuff.
20809         
20810 2004-08-09  Dan Williams <dcbw@redhat.com>
20811
20812         * dispatcher-daemon/NetworkManagerDispatcher.c:
20813                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
20814                 - Use constants for NetworkManager interface, service, and path
20815
20816 2004-08-09  Dan Williams <dcbw@redhat.com>
20817
20818         * src/NetworkManagerDbus.c:
20819                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
20820                         instead return an error message
20821                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
20822                         on a wired device.  Also never return an empty object path, instead return an error message
20823
20824 2004-08-06  Seth Nickell  <seth@gnome.org>
20825
20826         * panel-applet/NMWirelessApplet.c: (nmwa_new):
20827
20828         Check the error code when getting a connection.
20829         
20830         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
20831
20832         Check if the NM service exists when initializing (rather than
20833         assuming it does not).
20834         
20835         * src/NetworkManagerDbus.c: (nm_dbus_init):
20836
20837         Don't acquire the well-known service name until we have
20838         registered object/path handlers and can actually receive
20839         calls.
20840         
20841 2004-08-06  Dan Williams <dcbw@redhat.com>
20842
20843         * panel-applet/*
20844                 - Add panel applet
20845
20846         * src/NetworkManagerPolicy.c
20847           src/NetworkManager.c
20848                 - Get access point lists from NetworkManagerInfo on-demand,
20849                         and look for ServiceCreate/ServiceDeleted signals to see when
20850                         we should query NMI for lists
20851         * src/NetworkManagerAPList.c
20852                 - Make sure to init the list's mutex
20853                 - Convert traversals of the list over to the list iter functions
20854
20855         * src/NetworkManagerDbus.[ch]
20856                 - Use more aptly-named path/service/interface constants
20857                 - Treat both active and pending devices the same for "getActiveDevice"
20858                 - Add a "status" method returning "connected", "connecting", or "disconnected"
20859
20860         * src/NetworkManagerDevice.c
20861                 - Honor "ignored" network list when picking best ap to use
20862
20863 2004-08-06  Seth Nickell  <seth@gnome.org>
20864
20865         * aclocal.m4:
20866
20867         Autogenerated, remove from CVS.
20868         
20869         * autogen.sh:
20870
20871         Don't hardcode automake version.
20872         
20873         * configure.in:
20874         * info-daemon/Makefile.am:
20875         * info-daemon/NetworkManagerInfo.c: (main):
20876
20877         Use GnomeProgram et al. for doing session management.
20878         Use popt stuff for argument parsing rather than doing
20879         it manugally.
20880         
20881 2004-08-05  Dan Williams <dcbw@redhat.com>
20882
20883         * test/nminfotest.c
20884                 - Update to new NMI dbus API, check different network types
20885
20886         * info-daemon/NetworkManagerInfoDbus.c
20887                 - Update to new NM dbus API, ie network type sent in query message
20888
20889 2004-08-05  Dan Williams <dcbw@redhat.com>
20890
20891         * An assload of changes
20892
20893 2004-08-02  Dan Williams <dcbw@redhat.com>
20894
20895         * TODO
20896                 - new task: proper logging support
20897
20898         * info-daemon/NetworkManagerInfo.c
20899                 - Correct spelling of "canceled"
20900                 - Correct casting of objects for g_signal_connect()
20901
20902         * info-daemon/NetworkManagerInfoDbus.c
20903                 - Add defines for NetworkManager namespace and object path, and use them
20904                 - Add filter function to trap new signals from NetworkManager:
20905                         WirelessNetworkAppeared, WirelessNetworkDisappeared
20906
20907         * info-daemon/passphrase.glade
20908                 - Change name of "ok" button to "Login to Network..."
20909                 - Mark invisible
20910
20911         * src/NetworkManager.c
20912                 - Code and debug message cleanups
20913                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
20914                 - (nm_add_initial_devices) Check returned string array of devices
20915                         and don't try to add devices if array is NULL
20916                 - (main) Initialize libhal a bit later, make code a bit clearer
20917
20918         * src/NetworkManagerAP.[ch]
20919                 - New accessor and data member "matched": used to speed up AP list
20920                         diffing
20921                 - New accessor and data member "enc_method": will be used during key
20922                         fallback to cache which passphrase->key conversion actually works
20923                         so we don't have to do it every time
20924
20925         * src/NetworkManagerAPList.[ch]
20926                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
20927                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
20928                         between them, and send WirelessNetworkAppeared/Disappeared signals over
20929                         dbus in response to those differences
20930
20931         * src/NetworkManagerDbus.[ch]
20932                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
20933                         make an object path for that access point (NOTE that we don't yet check to
20934                         make sure that access point is actually in the device's AP list yet)
20935                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
20936                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
20937                         New: signal appearance/disappearance of wireless networks
20938                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
20939                         key entry
20940
20941         * src/NetworkManagerDevice.[ch]
20942                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
20943                 - (nm_device_ap_list_get) New: return the AP list (static function)
20944                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
20945                         new one resulting from the scan with the old one
20946
20947         * src/NetworkManagerWireless.c
20948                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
20949
20950         * test/nminfotest.c
20951                 - #define object paths and namespaces and use the #defines rather than static strings
20952                 - Test out user-key functionality of NetworkManagerInfo too
20953
20954 2004-07-29  Dan Williams <dcbw@redhat.com>
20955
20956         * info-daemon/NetworkManagerInfoDbus.c
20957           src/NetworkManagerDbus.c
20958                 - Update to current DBus (ie don't use decomposed paths when registering
20959                         object paths/fallbacks)
20960
20961 2004-07-27  Dan Williams <dcbw@redhat.com>
20962
20963         * Remove various Makefile.in files
20964
20965         * TODO
20966                 - Add some more items
20967
20968         * configure.in
20969                 - Add checks for OpenSSL/md5 headers and libs
20970
20971         * src/Makefile.am
20972                 - Use OpenSSL CFLAGS
20973
20974         * src/NetworkManagerAP.[ch]
20975                 - Remove 'stamp' functions, replace with 'invalid' functions
20976                         to support user cancelling WEP key entry
20977
20978         * src/NetworkManagerDbus.c
20979                 - Remove 'stamp' return functions
20980                 - Treat returned user key as a passphrase and convert to a WEP key,
20981                         but don't actually use the WEP key yet.  We use the returned user
20982                         key as a hexadecimal WEP key until we can figure out a UI for
20983                         passphrase-vs-hex key
20984
20985         * src/NetworkManagerWireless.[ch]
20986                 - Add passphrase-to-128bit-key function
20987
20988 2004-07-27  Dan Williams <dcbw@redhat.com>
20989
20990         * TODO
20991                 - Add a couple of items
20992
20993 2004-07-27  Dan Williams <dcbw@redhat.com>
20994
20995         * info-daemon/NetworkManagerInfo.c
20996                 - Update allowed network's GConf key when user enters a WEP key explicitly
20997
20998         * info-daemon/NetworkManagerDbus.c
20999                 - Fix some comments
21000                 - nmi_dbus_get_allowed_networks(): kill warning
21001
21002 2004-07-27  Dan Williams <dcbw@redhat.com>
21003
21004         * initscript/Makefile.in
21005                 - Remove
21006
21007         * initscript/Makefile.am
21008                 - Add correct rules to install the init.d initscript
21009
21010         * info-daemon/NetworkManagerInfoDbus.c
21011                 - Remove debug fprintf
21012
21013         * src/NetworkManagerDbus.[ch]
21014                 - Remove debug fprintfs
21015                 - Add macros for NetworkManagerInfo object path/namespace
21016                 - Use said macros instead of constant strings
21017
21018 2004-07-27  Dan Williams <dcbw@redhat.com>
21019
21020         * initscript/.cvsignore
21021                 - Add
21022
21023         * info-daemon/Makefile.am
21024                 - Install .glade files and keyring.png
21025                 - Fix stupid omission of a \ that caused half the flags not to be
21026                         passed to gcc
21027
21028         * info-daemon/NetworkManagerInfo.c
21029                 - gtk_signal_connect->g_signal_connect
21030                 - Alert NetworkManagerInfo to new glade file location
21031
21032 2004-07-27  Dan Williams <dcbw@redhat.com>
21033
21034         * test/nmclienttest.c
21035           test/nminfotest.c
21036                 - Add missing <dbus/dbus.h> headers
21037                 - Add GPL message at top
21038
21039 2004-07-27  Dan Williams <dcbw@redhat.com>
21040
21041         * src/NetworkManagerAPList.[ch]
21042           src/Makefile.am
21043                 - Add.  Deal with allowed network list additions, deletions, and updates
21044
21045         * dispatcher-daemon/NetworkManagerDispatcher.c
21046                 - Add missing <dbus/dbus.h> header
21047
21048         * info-daemon/NetworkManagerInfo.[ch]
21049                 - Add missing <dbus/dbus.h> header
21050                 - Implement the GConf notify callback to signal NetworkManager of an allowed
21051                         network change
21052                 - Better error checking
21053
21054         * info-daemon/NetworkManagerInfoDbus.[ch]
21055                 - Add missing <dbus/dbus.h> header
21056                 - Convert to using dbus_message_append_args/dbus_message_get_args
21057                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
21058                         that an allowed network changed.  We don't want to signal on individual
21059                         keys _inside_ an allowed network really, just want NM to query the info
21060                         daemon for updated info on all keys.
21061                 - Better error checking
21062
21063         * src/NetworkManager.[ch]
21064                 - Add missing <dbus/dbus.h> header
21065                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
21066                 - Zero out NMData structure on free
21067                 - No longer use a thread for allowed_ap_list updating, instead its now done
21068                         through dbus queries against NetworkManagerInfo
21069                 - Populate allowed_ap_list initially before adding existing network devices
21070                         to the device list, so wireless devices can get their "best" AP
21071
21072         * src/NetworkManagerDbus.[ch]
21073                 - Convert to using dbus_message_append_args/dbus_message_get_args
21074                 - Better error checking
21075                 - Implement Allowed Network info functions to request allowed network
21076                         info from NetworkManagerInfo
21077                 - Implement the filter function to process signals from NetworkManagerInfo
21078                         about changing allowed networks
21079
21080         * src/NetworkManagerDevice.c
21081                 - Fix file descriptor leak in nm_device_update_ip4_address()
21082
21083 2004-07-27  Dan Williams <dcbw@redhat.com>
21084
21085         * .cvsignore
21086           src/.cvsignore
21087           test/.cvsignore
21088           dispatcher-daemon/.cvsignore
21089           info-daemon/.cvsignore
21090                 - Add .cvsignore files to reduce noise when diffing
21091
21092 2004-07-24  Dan Williams <dcbw@redhat.com>
21093
21094         * src/NetworkManager.[ch]
21095           src/NetworkManagerDbus.[ch]
21096           src/NetworkManagerDevice.[ch]
21097           src/NetworkManagerPolicy.c
21098           src/NetworkManagerWireless.[ch]
21099                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
21100                 - Pass the NMData application data structure through all calls
21101                         that need it so we can get rid of nm_get_global_data()
21102                 - Change deallocation of the allowed_ap_list GSList in preparation
21103                         for not completely clearing it every time we get an update,
21104                         but instead getting incremental updates via GConf/dbus
21105
21106 2004-07-22  Dan Williams <dcbw@redhat.com>
21107
21108         * configure.in
21109                 - Add checks for GConf libs & headers & flags
21110
21111         * info-daemon/Makefile.am
21112                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
21113
21114         * info-daemon/NetworkManagerInfo.[ch]
21115                 - Don't use gquarks for data storage, just use normal data storage
21116                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
21117
21118         * info-daemon/NetworkManagerDbus.[ch]
21119                 - Add method call for getting allowed networks
21120                 - Add method calls for getting an allowed network's essid, priority, and key
21121                 - Hook the method calls up to GConf
21122                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
21123                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
21124                 
21125         * src/NetworkManagerDbus.[ch]
21126                 - Switch for enumeration of networks to using essid instead
21127
21128         * test/Makefile.am
21129           test/nminfotest.c
21130                 - Add test program for NetworkManagerInfo
21131
21132 2004-07-19  Dan Williams <dcbw@redhat.com>
21133
21134         * src/NetworkManagerDbus.c
21135                 - Switch from indexed device paths to names.  Less code, more efficient.
21136                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
21137
21138 2004-07-19  Dan Williams <dcbw@redhat.com>
21139
21140         * dispatcher-daemon/NetworkManagerDispatcher.c
21141                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
21142
21143 2004-07-19  Dan Williams <dcbw@redhat.com>
21144
21145         * Makefile.am
21146                 - Add info-daemon directory
21147
21148         * configure.in
21149                 - Check for glade libs and headers
21150                 - Add info-daemon directory
21151
21152         * src/NetworkManagerAP.c
21153                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
21154                         copied over to the new AP.
21155
21156         * src/NetworkManagerDbus.c
21157           src/NetworkManagerDbus.h
21158                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
21159                 - Remove nm_dbus_signal_need_key_for_network()
21160                 - Add disabled code for asynchronous user wep key callbacks
21161                 - Add functions for getting, setting, and cancelling user key operations
21162                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
21163                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
21164
21165         * src/NetworkManagerDevice.c
21166           src/NetworkManagerDevice.h
21167                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
21168                         logic is in device activation now
21169                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
21170                         key is wrong) trigger get-user-key pending action
21171                 - Implement get-user-key pending action stuff, tie to dbus messages
21172                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
21173                 - Add nm_device_ap_list_get_ap_by_essid()
21174                 - Instead of copying "best" access points, ref them instead so that the key we set
21175                         sticks around
21176
21177         * src/NetworkManagerPolicy.c
21178                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
21179                 - Don't cancel pending actions on a device if its the same device as last iteration
21180                 - Only promote pending_device->active_device if activation was successfull
21181
21182         * src/Makefile.am
21183                 - Rename nmclienttest->nmtest
21184
21185         * info-daemon/Makefile.am
21186           info-daemon/NetworkManagerInfo.c
21187           info-daemon/NetworkManagerInfo.h
21188           info-daemon/NetworkManagerInfoDbus.c
21189           info-daemon/NetworkManagerInfoDbus.h
21190           info-daemon/passphrase.glade
21191           info-daemon/NetworkManagerInfo.conf
21192           info-daemon/keyring.png
21193                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21194                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21195                         lists to NetworkManager by proxying user's GConf
21196           
21197
21198 2004-07-15  Dan Williams <dcbw@redhat.com>
21199
21200         * src/Makefile.am
21201                 - Turn on warnings
21202
21203         * src/NetworkManager.c
21204                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
21205                         that doing the deactivation ourselves
21206                 - Cancel an pending actions on a device if its being removed
21207                 - Break up link state checking a bit, make non-active wireless cards
21208                         deactivated to save power
21209                 - Remove unused variables
21210
21211         * src/NetworkManager.h
21212                 - Add support for "pending" device
21213
21214         * src/NetworkManagerAP.h
21215           src/NetworkManagerAP.c
21216                 - Add support for determining whether and AP has encryption enabled or not
21217                 - AP address is now "struct ether_addr" rather than a string
21218
21219         * src/NetworkManagerDbus.h
21220           src/NetworkManagerDbus.c
21221                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
21222                 - Changes for AP address from struct ether_addr->string
21223
21224         * src/NetworkManagerDevice.h
21225           src/NetworkManagerDevice.c
21226                 - Remove unused variables, fix warnings
21227                 - Add support for Pending Actions (things that block a device from being "active"
21228                         until they are completed).
21229                 - First pending action:  Get a WEP key from the user
21230                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
21231                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
21232                 - Update wireless link checking to try to determine if the AP we are associated
21233                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
21234                         trigger the GetUserKey pending action on the device
21235                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
21236                         up in that case, otherwise we can't scan or link-check on it
21237                 - Add IP address change notifications at appropriate points (still needs some work)
21238                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
21239
21240         * src/NetworkManagerPolicy.h
21241           src/NetworkManagerPolicy.c
21242                 - Split out "best" access point determiniation into separate function
21243                 - Make device activation 2-stage:  first the device is pending, then
21244                         in the next iteration through it becomes "active" unless it has
21245                         pending actions
21246
21247         * src/NetworkManagerUtils.h
21248           src/NetworkManagerUtils.c
21249                 - Clean up unused variables and warnings
21250                 - Wrap our debug macros in {} to prevent possible confusion
21251
21252         * src/NetworkManagerWireless.c
21253                 - Forgot to return current best priority, which lead to last available AP always
21254                         being chosen no matter what its priority was.  Corrected.
21255
21256 2004-07-15  Dan Williams <dcbw@redhat.com>
21257
21258         * dispatcher-daemon/Makefile.am
21259                 - Turn on warnings
21260
21261         * dispatcher-daemon/NetworkManagerDispatcher.c
21262                 - Remove unused variables due to warnings
21263                 - Fix some comments
21264                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
21265
21266 2004-07-06  Dan Williams <dcbw@redhat.com>
21267
21268         * src/NetworkManager.c
21269                 - Add IPv4 address update for active device during link state check
21270                 - Don't allow wireless cards to be powered up when they are not the
21271                         active device
21272
21273         * src/NetworkManagerDbus.c
21274           src/NetworkManagerDbus.h
21275                 - Add DBUS IPv4 address change signal
21276                 - Add DBUS IPv4 address get method for devices
21277
21278         * src/NetworkManagerDevice.c
21279                 - Make setting the WEP key actually work
21280                 - Move IP address get/set/update stuff here, per-device
21281                 - Power down/bring down wireless device when deactivated
21282                 - For scanning wireless devices, if first scan returned ENODATA, try again
21283
21284         * src/NetworkManagerPolicy.c
21285                 - Only set the WEP key for an allowed access point if there is one.
21286                         We were setting it to be blank if one wasn't specified.
21287
21288         * src/NetworkManagerUtils.h
21289           src/NetworkManagerUtils.c
21290                 - Move the IP address stuff to NetworkManagerDevice.c
21291
21292         * dispatcher-daemon/NetworkManagerDispatcher.c
21293                 - Add device IPv4 address change notification stuff
21294
21295 2004-07-05  Dan Williams <dcbw@redhat.com>
21296
21297         * dispatcher-daemon/NetworkManagerDispatcher.c
21298                 - A bit more descriptive state message
21299                 - Don't segfault when reading directory
21300
21301         * src/NetworkManager.h
21302                 - Remove NMData desired_ap member, its now
21303                         per-device rather than global
21304
21305         * src/NetworkManager.c
21306                 - Remove references to desired_ap
21307                 - Move the allowed AP list refresh stuff into a thread
21308
21309         * src/NetworkManagerDevice.c
21310           src/NetworkManagerDevice.h
21311                 - Each wireless device now has a "best ap"
21312                 - Make device activate/deactivate functions per-device
21313                 - Make wireless scanning per-device
21314                 - Add IPv4 address discover functions, stub IPv6 ones
21315                 - Move ethernet address validation functions to NetworkManagerUtils.c
21316                 - Add wireless access point accessor function
21317                 - Get/Set functions for "best ap"
21318
21319         * src/NetworkManagerPolicy.c
21320                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
21321                 - Deal with per-device "best ap" rather than data->desired_apa
21322                 - Implement allowed access point worker thread
21323                 - Add nm_policy_essid_is_allowed() function
21324
21325         * src/NetworkManagerUtils.c
21326           src/NetworkManagerUtils.h
21327                 - Add nm_ethernet_address_is_valid() function
21328                 - Add IPv4/IPv6 address get functions
21329
21330         * src/NetworkManagerWireless.c
21331           src/NetworkManagerWireless.h
21332                 - Move scanning stuff into NetworkManagerDevice.c, per-device
21333
21334 2004-06-29  Dan Williams <dcbw@redhat.com>
21335
21336         * dispatcher-daemon/NetworkManagerDispatcher.c
21337                 - Implement script callout functionality
21338
21339 2004-06-24  Dan Williams <dcbw@redhat.com>
21340
21341         * NetworkManager.c
21342             - Spacing cleanups
21343             - Flush device routes and ip addresses when added to the device list
21344
21345         * NetworkManagerDbus.c
21346             - Spacing cleanups
21347             - Add missing returns in the two signal functions
21348         
21349         * NetworkManagerPolicy.c
21350             - Spacing and variable cleanups
21351
21352 2004-06-24  Dan Williams <dcbw@redhat.com>
21353
21354         * Makefile.am
21355           Makefile.in
21356           configure.in
21357           dispatcher-daemon/Makefile.am
21358           dispatcher-daemon/Makefile.in
21359           dispatcher-daemon/NetworkManagerDispatcher.c
21360             - Add a daemon that receives signals from NetworkManager
21361                         and will (eventually) call scripts in /etc/somewhere
21362                         when devices go up or down.
21363         
21364         * NetworkManager.c
21365             - Spacing cleanups
21366             - Flush device routes and ip addresses when added to the device list
21367
21368         * NetworkManagerDbus.c
21369             - Spacing cleanups
21370             - Add missing returns in the two signal functions
21371         
21372         * NetworkManagerPolicy.c
21373             - Spacing and variable cleanups
21374             - Rename nm_policy_switch_interface->nm_policy_switch_device
21375             - nm_policy_switch_device():
21376                                 Use kill (pid) instead of system ("kill <pid>")
21377             - nm_state_modification_monitor():
21378                                 Add wireless essid to output of debug statements
21379                                 Correct typo in device compare to switch or not (should be !=)
21380                                 Don't sleep after sending "no longer active" signal, was useless
21381
21382 2004-06-24  Dan Williams <dcbw@redhat.com>
21383
21384         * Initial import